KPrinter Class Reference
This class is the main interface to access the KDE print framework. The central interface class to access the KDE print system. More...
#include <kprinter.h>
Inheritance diagram for KPrinter:


Public Types | |
enum | StandardPageType { CopiesPage = 0x01, FilesPage = 0x02, Custom = 0x10 } |
enum | PageSelectionType { ApplicationSide = 0x01, SystemSide = 0x02 } |
enum | ApplicationType { Dialog = 0x00, StandAlone = 0x01, StandAlonePersistent = 0x02 } |
enum | PageSetType { AllPages = 0x00, OddPages = 0x01, EvenPages = 0x02 } |
enum | CollateType { Collate = 0x00, Uncollate = 0x01 } |
enum | ColorMode { GrayScale = QPrinter::GrayScale, Color = QPrinter::Color } |
enum | Orientation { Portrait = QPrinter::Portrait, Landscape = QPrinter::Landscape } |
enum | PageOrder { FirstPageFirst = QPrinter::FirstPageFirst, LastPageFirst = QPrinter::LastPageFirst } |
enum | PageSize { A4 = QPrinter::A4, B5 = QPrinter::B5, Letter = QPrinter::Letter, Legal = QPrinter::Legal, Executive = QPrinter::Executive, A0 = QPrinter::A0, A1 = QPrinter::A1, A2 = QPrinter::A2, A3 = QPrinter::A3, A5 = QPrinter::A5, A6 = QPrinter::A6, A7 = QPrinter::A7, A8 = QPrinter::A8, A9 = QPrinter::A9, B0 = QPrinter::B0, B1 = QPrinter::B1, B10 = QPrinter::B10, B2 = QPrinter::B2, B3 = QPrinter::B3, B4 = QPrinter::B4, B6 = QPrinter::B6, B7 = QPrinter::B7, B8 = QPrinter::B8, B9 = QPrinter::B9, C5E = QPrinter::C5E, Comm10E = QPrinter::Comm10E, DLE = QPrinter::DLE, Folio = QPrinter::Folio, Ledger = QPrinter::Ledger, Tabloid = QPrinter::Tabloid, NPageSize = QPrinter::NPageSize } |
Public Member Functions | |
KPrinter (bool restore=true, QPrinter::PrinterMode m=QPrinter::ScreenResolution) | |
~KPrinter () | |
bool | newPage () |
bool | abort () |
bool | aborted () const |
bool | outputToFile () const |
void | setOutputToFile (bool) |
QString | outputFileName () const |
void | setOutputFileName (const QString &) |
QString | docName () const |
void | setDocName (const QString &) |
QString | creator () const |
void | setCreator (const QString &) |
bool | fullPage () const |
void | setFullPage (bool) |
ColorMode | colorMode () const |
void | setColorMode (ColorMode) |
int | numCopies () const |
void | setNumCopies (int n) |
Orientation | orientation () const |
void | setOrientation (Orientation) |
PageOrder | pageOrder () const |
void | setPageOrder (PageOrder) |
CollateType | collate () const |
void | setCollate (CollateType type) |
int | minPage () const |
int | maxPage () const |
void | setMinMax (int, int) |
int | fromPage () const KDE_DEPRECATED |
int | toPage () const |
void | setFromTo (int, int) |
PageSize | pageSize () const |
void | setPageSize (PageSize) |
QString | printerName () const |
void | setPrinterName (const QString &) |
QString | printProgram () const |
void | setPrintProgram (const QString &cmd) |
QString | printerSelectionOption () const |
void | setPrinterSelectionOption (const QString &) |
int | currentPage () const |
void | setCurrentPage (int p=0) |
PageSetType | pageSet () const |
bool | setup (QWidget *parent=0, const QString &caption=QString::null, bool forceExpand=false) |
QSize | margins () const |
void | setMargins (QSize m) |
QSize | realPageSize () const |
void | setRealPageSize (QSize p) |
void | setRealDrawableArea (const QRect &r) |
QRect | realDrawableArea () const |
void | margins (uint *top, uint *left, uint *bottom, uint *right) const |
void | setMargins (uint top, uint left, uint bottom, uint right) |
QValueList< int > | pageList () const |
void | setPreviewOnly (bool on) |
bool | previewOnly () const |
void | setResolution (int dpi) |
int | resolution () const |
void | setUsePrinterResolution (bool on) |
KPrinterImpl * | implementation () const |
bool | printFiles (const QStringList &files, bool removeafter=false, bool startviewer=true) |
const QString & | option (const QString &key) const |
void | setOption (const QString &key, const QString &value) |
const QMap< QString, QString > & | options () const |
void | setOptions (const QMap< QString, QString > &opts) |
void | initOptions (const QMap< QString, QString > &opts) |
QString | searchName () const |
void | setSearchName (const QString &n) |
QString | errorMessage () const |
void | setErrorMessage (const QString &msg) |
bool | autoConfigure (const QString &prname=QString::null, QWidget *parent=0) |
void | setDocFileName (const QString &filename) |
QString | docFileName () const |
void | setDocDirectory (const QString &dir) |
QString | docDirectory () const |
Static Public Member Functions | |
void | addDialogPage (KPrintDialogPage *_page) |
void | setPageSelection (PageSelectionType _mode) |
PageSelectionType | pageSelection () |
void | setApplicationType (ApplicationType type) |
ApplicationType | applicationType () |
void | addStandardPage (int p) |
void | removeStandardPage (int p) |
Protected Member Functions | |
virtual bool | cmd (int, QPainter *, QPDevCmdParam *) |
virtual int | metric (int) const |
void | translateQtOptions () |
void | loadSettings () |
void | saveSettings () |
void | preparePrinting () |
void | finishPrinting () |
void | reload () |
void | init (bool restore=true, QPrinter::PrinterMode m=QPrinter::ScreenResolution) |
bool | doPreview (const QString &file) |
void | setRealPageSize (DrPageSize *p) |
void | setOption (const QString &key, const QString &value, bool broadcast) |
Protected Attributes | |
KPrinterPrivate * | d |
Detailed Description
This class is the main interface to access the KDE print framework. The central interface class to access the KDE print system.It allows KDE applications to easily access the print system, through an interface that is compatible with QPrinter. So that the porting of an existing application should be as easy as replacing any occurrence of QPrinter by KPrinter. However applications that explicitly used the QPrintDialog class must be changed to the standard KPrinter way of accessing the print dialog.
Basically, a KDE application will use the KPrinter object as a paint device, and will draw on it using QPainter. In a standard application, the use of the KPrinter class will look like this:
#include <kprinter.h> #include <qpainter.h> void MyClass::doPrint() { KPrinter printer; // do some printer initialization printer.setFullPage( true ); // initialize the printer using the print dialog if ( printer.setup( this ) ) { // create a painter to paint on the printer object QPainter painter; // start painting painter.begin( &printer ); <do something> // stop painting, this will automatically send the print data to the printer painter.end(); } }
The KPrinter interface also allows some more advanced possibilities, like the customization of the print dialog to integrate application specific print options. This is done by subclassing KPrintDialogPage and adding the page using addDialogPage().
When compiling an application that uses KPrinter, you must link to -lkdeprint, which when using the standard KDE build framework can be done by adding to _LDADD.
- Author:
- Michael Goffioul
- See also:
- QPrinter, KPrintDialogPage
Definition at line 88 of file kprinter.h.
Member Enumeration Documentation
|
Defines the standard pages available for the print dialog:
Definition at line 102 of file kprinter.h. |
|
Defines whether the application can perform page selection itself or not. Some print systems (like CUPS) can do page selection, in this case the page selection will be enabled in the print dialog, otherwise it will be disabled. However some applications (word processor) can do page selection themselves, then it will be enabled in the print dialog, whatever the print system used. But such an application has to tell kdeprint about its feature:
Definition at line 116 of file kprinter.h. Referenced by pageSelection(). |
|
Defines the type of the application, this affects the GUI of the print dialog:
Definition at line 126 of file kprinter.h. Referenced by applicationType(). |
|
Defines the page set to print:
Definition at line 137 of file kprinter.h. Referenced by pageSet(). |
|
Defines the collate property of the printer (if supported by the print system):
Definition at line 145 of file kprinter.h. Referenced by collate(). |
|
Defines the color mode of the printer.
Definition at line 152 of file kprinter.h. Referenced by colorMode(). |
|
Defines the orientation of the paper.
Definition at line 157 of file kprinter.h. Referenced by orientation(). |
|
Defines the page order of the print job.
Definition at line 162 of file kprinter.h. Referenced by pageOrder(). |
|
Defines the paper size to use.
Definition at line 167 of file kprinter.h. Referenced by pageSize(). |
Constructor & Destructor Documentation
|
Constructor.
This also restores/saves the state from a previous KPrinter object created within the same application run, if
Definition at line 123 of file kprinter.cpp. References KPrinter(). Referenced by KPrinter(). |
|
Destructor. This also saves the current KPrinter state for future printing. Definition at line 129 of file kprinter.cpp. |
Member Function Documentation
|
See QPrinter::newPage().
Definition at line 906 of file kprinter.cpp. |
|
See QPrinter::abort().
Definition at line 932 of file kprinter.cpp. |
|
See QPrinter::aborted(.).
Definition at line 935 of file kprinter.cpp. |
|
See QPrinter::outputToFile().
Definition at line 919 of file kprinter.cpp. References option(). |
|
See QPrinter::setOutputToFile().
Definition at line 922 of file kprinter.cpp. References setOption(), and setOutputToFile(). Referenced by setOutputFileName(), setOutputToFile(), and setPrintProgram(). |
|
See QPrinter::outputFileName().
Definition at line 913 of file kprinter.cpp. References option(). |
|
See QPrinter::setOutputFileName().
Definition at line 916 of file kprinter.cpp. References setOption(), setOutputFileName(), and setOutputToFile(). Referenced by setOutputFileName(). |
|
See QPrinter::docName().
Definition at line 791 of file kprinter.cpp. References option(). Referenced by translateQtOptions(). |
|
See QPrinter::setDocName().
Definition at line 794 of file kprinter.cpp. References setDocName(), and setOption(). Referenced by setDocName(). |
|
See QPrinter::creator().
Definition at line 797 of file kprinter.cpp. References option(). Referenced by translateQtOptions(). |
|
See QPrinter::setCreator().
Definition at line 800 of file kprinter.cpp. References setCreator(), and setOption(). Referenced by setCreator(). |
|
See QPrinter::fullPage().
Definition at line 803 of file kprinter.cpp. References option(). Referenced by translateQtOptions(). |
|
Definition at line 806 of file kprinter.cpp. References setFullPage(), and setOption(). Referenced by setFullPage(). |
|
See QPrinter::colorMode().
Definition at line 809 of file kprinter.cpp. References ColorMode, and option(). Referenced by translateQtOptions(). |
|
See QPrinter::setColorMode().
Definition at line 812 of file kprinter.cpp. References setColorMode(), and setOption(). Referenced by setColorMode(). |
|
See QPrinter::numCopies().
Definition at line 543 of file kprinter.cpp. References option(). Referenced by translateQtOptions(). |
|
Definition at line 815 of file kprinter.cpp. References setNumCopies(), and setOption(). Referenced by setNumCopies(). |
|
See QPrinter::orientation().
Definition at line 818 of file kprinter.cpp. References option(), and Orientation. Referenced by translateQtOptions(). |
|
See QPrinter::setOrientation().
Definition at line 600 of file kprinter.cpp. References setOption(), and setOrientation(). Referenced by setOrientation(). |
|
See QPrinter::pageOrder().
Definition at line 821 of file kprinter.cpp. References option(), and PageOrder. Referenced by pageList(). |
|
See QPrinter::setPageOrder().
Definition at line 824 of file kprinter.cpp. References setOption(), and setPageOrder(). Referenced by setPageOrder(). |
|
Returns the collate status of the current KPrinter.
Definition at line 827 of file kprinter.cpp. References CollateType, and option(). |
|
Sets the collate status for the current KPrinter to
Definition at line 830 of file kprinter.cpp. References setCollate(), and setOption(). Referenced by setCollate(). |
|
See QPrinter::minPage().
Definition at line 833 of file kprinter.cpp. References option(). Referenced by pageList(). |
|
See QPrinter::maxPage().
Definition at line 836 of file kprinter.cpp. References option(). Referenced by pageList(). |
|
Definition at line 839 of file kprinter.cpp. References setMinMax(), and setOption(). Referenced by setMinMax(). |
|
Returns the first page to be printed.
Definition at line 842 of file kprinter.cpp. References option(). |
|
Returns the last page to be printed.
Definition at line 845 of file kprinter.cpp. References option(). |
|
Sets the first and last page to be printed. See QPrinter::setFromTo(). Definition at line 848 of file kprinter.cpp. References setFromTo(), and setOption(). Referenced by setFromTo(). |
|
See QPrinter::pageSize().
Definition at line 852 of file kprinter.cpp. References option(), and PageSize. Referenced by translateQtOptions(). |
|
Definition at line 615 of file kprinter.cpp. References setOption(), and setPageSize(). Referenced by setPageSize(). |
|
See QPrinter::printerName().
Definition at line 864 of file kprinter.cpp. Referenced by printFiles(). |
|
See QPrinter::setPrinterName().
Definition at line 867 of file kprinter.cpp. References setPrinterName(). Referenced by setPrinterName(). |
|
Returns the print program as set by setPrintProgram() or by the print dialog if a special printer has been selected.
Definition at line 870 of file kprinter.cpp. References option(). |
|
Sets the command line to use when printing. This function is useful when using a KPrinter object without the print dialog, to control what to print and how to do it. The command line may contain the following tags:
Definition at line 873 of file kprinter.cpp. References setOption(), setOutputToFile(), and setPrintProgram(). Referenced by setPrintProgram(). |
|
See QPrinter::printerSelectionOption(). Unused. Definition at line 891 of file kprinter.cpp. |
|
See QPrinter::setPrinterSelectionOption(). Unused Definition at line 894 of file kprinter.cpp. References setPrinterSelectionOption(). Referenced by setPrinterSelectionOption(). |
|
Returns the current page number.
Definition at line 858 of file kprinter.cpp. References option(). Referenced by pageList(). |
|
Sets the current page number. This page number will be used if the user selected "current page" in the print dialog. This option will only be enabled if the application does page selection itself and the application has called setCurrentPage() before opening the print dialog:
Definition at line 861 of file kprinter.cpp. References setCurrentPage(), and setOption(). Referenced by setCurrentPage(). |
|
Returns the page set of the current KPrinter object.
Definition at line 855 of file kprinter.cpp. References option(), and PageSetType. Referenced by pageList(). |
|
Sets up the KPrinter object using the print dialog, returns true if the user clicked OK.
Definition at line 219 of file kprinter.cpp. References autoConfigure(), and setup(). Referenced by setup(). |
|
See QPrinter::margins().
Definition at line 550 of file kprinter.cpp. |
|
Not used yet.
Definition at line 938 of file kprinter.cpp. References setMargins(). Referenced by setMargins(). |
|
Returns the page size in dot unit ( 1 dot = 1/72th in ). This method is intended for internal use, if you want to access actual page size, use a QPaintDeviceMetrics object instead. Note that the size returned by this method does not take resolution into account, and that it can returns invalid size if no page metric was found in the printer driver. DO NOT USE, WILL BE REMOVED.
Definition at line 953 of file kprinter.cpp. |
|
DO NOT USE, WILL BE REMOVED.
Definition at line 986 of file kprinter.cpp. References setRealPageSize(). Referenced by setRealPageSize(). |
|
DO NOT USE, WILL BE REMOVED.
Definition at line 992 of file kprinter.cpp. References setRealDrawableArea(). Referenced by setRealDrawableArea(). |
|
DO NOT USE, WILL BE REMOVED.
Definition at line 998 of file kprinter.cpp. |
|
Returns the page list to be printed, correpsonding to the options selected by the user. This takes into account collate, page order, page set, ranges, ... This is useful when the application does page selection itself.
Definition at line 470 of file kprinter.cpp. References currentPage(), maxPage(), minPage(), option(), pageOrder(), and pageSet(). |
|
Sets the KPrinter object to preview mode if In this mode, nothing will be printed but only a preview dialog will be popped up with the single "Close" action. Using this mode, any application can easily implement a preview action:
Definition at line 1017 of file kprinter.cpp. References setPreviewOnly(). Referenced by setPreviewOnly(). |
|
Returns the preview-only state for this KPrinter object.
Definition at line 1020 of file kprinter.cpp. |
|
Set the resolution of the current KPrinter object. The resolution is given in DPI. This resolution mainly affects the accuracy for object positionning on the paint device, and does not influence the real resolution that will be used by the printer (this should be set in the driver settings). The resolution is usually defined in the constructor.
Definition at line 1035 of file kprinter.cpp. References setResolution(). Referenced by setResolution(). |
|
Resturns the resolution of the current KPrinter object. The resolution is given in DPI.
Definition at line 1041 of file kprinter.cpp. Referenced by translateQtOptions(). |
|
Define the KPrinter object to use the actual printer resolution.
Under some print systems (CUPS, Foomatic, PostScript printers), it is possible to know the actual resolution that is used by the printer, as selected by the user in the driver settings. If
Definition at line 1044 of file kprinter.cpp. References setUsePrinterResolution(). Referenced by setUsePrinterResolution(). |
|
For internal use only.
Definition at line 782 of file kprinter.cpp. |
|
Prints the files given in argument. This will first filter the files accorsing to the filtering options selected by the user in the print dialog, then send the filtered files to the printer with the print options selected. This function is called automatically when calling QPainter::end() for a painter object constructed on KPrinter. In normal use, you don't need this use this function explicitly. Definition at line 358 of file kprinter.cpp. References option(), printerName(), and printFiles(). Referenced by printFiles(). |
|
Adds a customized page to the print dialog. The pages will appear in a tab widget in the bottom half of the dialog, along with the standard "Copies" page. The page must be created and added each time you want open a print dialog with setup(). If you correctly reimplemented KPrintDialogPage::setOptions(), the settings will be restored from call to call, you don't have to worry about state saving/restoration.
Definition at line 250 of file kprinter.cpp. References addDialogPage(). Referenced by addDialogPage(). |
|
Sets the page selection mode of the application.
If needed, call this method somewhere at the beginning of your code. The default value is
Definition at line 255 of file kprinter.cpp. References setPageSelection(). Referenced by setPageSelection(). |
|
Returns the page selection mode of the current application.
Definition at line 260 of file kprinter.cpp. References PageSelectionType. |
|
Sets the application type concerning the print dialog. You probably don't want to use it. For internal use only.
Definition at line 265 of file kprinter.cpp. References setApplicationType(). Referenced by setApplicationType(). |
|
Returns the application type concerning the print dialog. For internal use only.
Definition at line 270 of file kprinter.cpp. References ApplicationType. |
|
Adds a standard page to the print dialog.
This is not useful yet as there's only one standard page defines
Definition at line 240 of file kprinter.cpp. References addStandardPage(). Referenced by addStandardPage(). |
|
Removes a standard page from the print dialog.
If your application doesn't want a standard page in the dialog, simply call this method with the correct identifier. By default, the print dialog includes the
Definition at line 245 of file kprinter.cpp. References removeStandardPage(). Referenced by removeStandardPage(). |
|
The KPrinter object stores all its settings in an internal QMap structure on QString. This allows to store any property. This method allows an application to access any print option from the KPrinter object, using the option name. For example if your application add a customized page to the print dialog, this page will saves its settings into the KPrinter object using this QMap<QString,QString> structure. After showing the print dialog, your application can then access these options using this method. The custom option name should follow the form "kde-appname-optionname".
Definition at line 785 of file kprinter.cpp. References option(). Referenced by collate(), colorMode(), creator(), currentPage(), docName(), fromPage(), fullPage(), maxPage(), minPage(), numCopies(), option(), orientation(), outputFileName(), outputToFile(), pageList(), pageOrder(), pageSet(), pageSize(), printFiles(), printProgram(), toPage(), and translateQtOptions(). |
|
Adds or modifies an option in the KPrinter object. You probably don't need to use this function explicitly. This will be done implicitely for example when reimplementing KPrintDialogPage::getOptions().
Definition at line 788 of file kprinter.cpp. References setOption(). Referenced by initOptions(), setCollate(), setColorMode(), setCreator(), setCurrentPage(), setDocName(), setFromTo(), setFullPage(), setMinMax(), setNumCopies(), setOption(), setOrientation(), setOutputFileName(), setOutputToFile(), setPageOrder(), setPageSize(), and setPrintProgram(). |
|
Returns the complete set of print options from the KPrinter object. For internal use.
Definition at line 897 of file kprinter.cpp. |
|
Sets the option set in one operation. This method has some side effects like merging the internal map with the one given in argument, but only for option in the form "kde-...". For internal use only.
Definition at line 622 of file kprinter.cpp. References setOptions(). Referenced by setOptions(). |
|
For internal use only. Does a similar job as setOption(), except that all possible internal printers are initialized with the option if it has the form "kde-...".
Definition at line 645 of file kprinter.cpp. References initOptions(), and setOption(). Referenced by initOptions(). |
|
Returns the search name of the printer selected by the user. Each printer is identified by a unique name. This method is mainly used for state restoration. For internal use.
Definition at line 900 of file kprinter.cpp. |
|
Sets the search name of the KPrinter object. For internal use.
Definition at line 903 of file kprinter.cpp. References setSearchName(). Referenced by setSearchName(). |
|
Returns the last error message issued by the print system. Unimplemented yet.
Definition at line 1007 of file kprinter.cpp. |
|
Sets the last error message. For internal use.
Definition at line 1010 of file kprinter.cpp. References setErrorMessage(). Referenced by setErrorMessage(). |
|
Configure the KPrinter object to be used with the printer named
After the call, the KPrinter object can be used without the need to call the print dialog. If
Definition at line 667 of file kprinter.cpp. References autoConfigure(). Referenced by autoConfigure(), and setup(). |
|
Set the default document filename. This filename will be used as the default basename for the output file, instead of the default "print". For example, by using setDocFileName("my_document"), the default output file will be $HOME/my_document.ps.
Definition at line 1023 of file kprinter.cpp. References setDocFileName(). Referenced by setDocFileName(). |
|
Get the default document filename, that is the default basename used for the output file.
Definition at line 1026 of file kprinter.cpp. |
|
Set the default document directory. This directory will be used as the default location for any output file. If not set, $HOME directory is used instead.
Definition at line 1029 of file kprinter.cpp. References setDocDirectory(). Referenced by setDocDirectory(). |
|
Get the default document directory, that is the directory used for any output file. By default, it is the $HOME directory.
Definition at line 1032 of file kprinter.cpp. |
|
Definition at line 296 of file kprinter.cpp. References colorMode(), creator(), docName(), fullPage(), numCopies(), option(), orientation(), pageSize(), and resolution(). |
The documentation for this class was generated from the following files: