okular
fileprinter.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014 #ifndef FILEPRINTER_H
00015 #define FILEPRINTER_H
00016
00017 #include <QtCore/QList>
00018 #include <QtCore/QString>
00019
00020 #include <okular/core/okular_export.h>
00021
00022 class QPrinter;
00023 class QSize;
00024
00025 namespace Okular {
00026
00027 class OKULAR_EXPORT FilePrinter
00028 {
00029 public:
00030
00036 enum FileDeletePolicy { ApplicationDeletesFiles, SystemDeletesFiles };
00037
00048 enum PageSelectPolicy { ApplicationSelectsPages, SystemSelectsPages };
00049
00071 static int printFile( QPrinter &printer, const QString file,
00072 FileDeletePolicy fileDeletePolicy = FilePrinter::ApplicationDeletesFiles,
00073 PageSelectPolicy pageSelectPolicy = FilePrinter::ApplicationSelectsPages,
00074 const QString &pageRange = QString() );
00075
00095 static int printFiles( QPrinter &printer, const QStringList &fileList,
00096 FileDeletePolicy fileDeletePolicy = FilePrinter::ApplicationDeletesFiles );
00097
00105 static QList<int> pageList( QPrinter &printer, int lastPage, const QList<int> &selectedPageList );
00106
00114 static QString pageRange( QPrinter &printer, int lastPage, const QList<int> &selectedPageList );
00115
00121 static QString pageListToPageRange( const QList<int> &pageList );
00122
00127 static bool cupsAvailable();
00128
00133 static QSize psPaperSize( QPrinter &printer );
00134
00135 protected:
00136
00137 bool detectCupsService();
00138 bool detectCupsConfig();
00139
00140 int doPrintFiles( QPrinter &printer, const QStringList fileList,
00141 FileDeletePolicy fileDeletePolicy, PageSelectPolicy pageSelectPolicy,
00142 const QString &pageRange );
00143
00144 QStringList printArguments( QPrinter &printer,
00145 FileDeletePolicy fileDeletePolicy, PageSelectPolicy pageSelectPolicy,
00146 bool useCupsOptions, const QString &pageRange, const QString &version );
00147
00148 QStringList destination( QPrinter &printer, const QString &version );
00149 QStringList copies( QPrinter &printer, const QString &version );
00150 QStringList jobname( QPrinter &printer, const QString &version );
00151 QStringList deleteFile( QPrinter &printer, FileDeletePolicy fileDeletePolicy,
00152 const QString &version );
00153 QStringList pages( QPrinter &printer, PageSelectPolicy pageSelectPolicy,
00154 const QString &pageRange, bool useCupsOptions, const QString &version );
00155
00156 QStringList cupsOptions( QPrinter &printer );
00157 QStringList optionMedia( QPrinter &printer );
00158 QString mediaPageSize( QPrinter &printer );
00159 QString mediaPaperSource( QPrinter &printer );
00160 QStringList optionOrientation( QPrinter &printer );
00161 QStringList optionDoubleSidedPrinting( QPrinter &printer );
00162 QStringList optionPageOrder( QPrinter &printer );
00163 QStringList optionCollateCopies( QPrinter &printer );
00164 };
00165
00166 }
00167
00168 #endif // FILEPRINTER_H