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 |
enum | PageSelectionType |
enum | ApplicationType |
enum | PageSetType |
enum | CollateType |
enum | ColorMode |
enum | Orientation |
enum | PageOrder |
enum | PageSize |
Public Methods | |
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 |
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 Methods | |
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 Methods | |
virtual bool | cmd (int, QPainter *, QPDevCmdParam *) |
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 87 of file kprinter.h.
Member Enumeration Documentation
|
Defines the standard pages available for the print dialog:
Definition at line 101 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 115 of file kprinter.h. Referenced by pageSelection(). |
|
Defines the type of the application, this affects the GUI of the print dialog:
Definition at line 125 of file kprinter.h. Referenced by applicationType(). |
|
Defines the page set to print:
Definition at line 136 of file kprinter.h. Referenced by pageSet(). |
|
Defines the collate property of the printer (if supported by the print system):
Definition at line 144 of file kprinter.h. Referenced by collate(). |
|
Defines the color mode of the printer.
Definition at line 151 of file kprinter.h. Referenced by colorMode(). |
|
Defines the orientation of the paper.
Definition at line 156 of file kprinter.h. Referenced by orientation(). |
|
Defines the page order of the print job.
Definition at line 161 of file kprinter.h. Referenced by pageOrder(). |
|
Defines the paper size to use.
Definition at line 166 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. |
|
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 899 of file kprinter.cpp. |
|
See QPrinter::abort().
Definition at line 925 of file kprinter.cpp. |
|
See QPrinter::aborted(.).
Definition at line 928 of file kprinter.cpp. |
|
Definition at line 912 of file kprinter.cpp. References QString::isEmpty(), and option(). Referenced by printFiles(). |
|
See QPrinter::setOutputToFile().
Definition at line 915 of file kprinter.cpp. References setOption(). Referenced by setOutputFileName(). |
|
See QPrinter::outputFileName().
Definition at line 906 of file kprinter.cpp. References option(). |
|
See QPrinter::setOutputFileName().
Definition at line 909 of file kprinter.cpp. References QString::isEmpty(), setOption(), and setOutputToFile(). |
|
See QPrinter::docName().
Definition at line 785 of file kprinter.cpp. References option(). |
|
Definition at line 788 of file kprinter.cpp. References setOption(). |
|
See QPrinter::creator().
Definition at line 791 of file kprinter.cpp. References option(). |
|
Definition at line 794 of file kprinter.cpp. References setOption(). |
|
See QPrinter::fullPage().
Definition at line 797 of file kprinter.cpp. References option(). |
|
Definition at line 800 of file kprinter.cpp. References setOption(). |
|
Definition at line 803 of file kprinter.cpp. |
|
Definition at line 806 of file kprinter.cpp. References setOption(). |
|
Definition at line 537 of file kprinter.cpp. References option(), and QString::toInt(). |
|
Definition at line 809 of file kprinter.cpp. References QString::number(), and setOption(). |
|
Definition at line 812 of file kprinter.cpp. References option(), and Orientation. |
|
See QPrinter::setOrientation().
Definition at line 594 of file kprinter.cpp. References setOption(). |
|
Definition at line 815 of file kprinter.cpp. References option(), and PageOrder. Referenced by pageList(). |
|
Definition at line 818 of file kprinter.cpp. References setOption(). |
|
Returns the collate status of the current KPrinter.
Definition at line 821 of file kprinter.cpp. References CollateType, and option(). |
|
Sets the collate status for the current KPrinter to
Definition at line 824 of file kprinter.cpp. References setOption(). |
|
See QPrinter::minPage().
Definition at line 827 of file kprinter.cpp. References QString::isEmpty(), option(), and QString::toInt(). Referenced by pageList(). |
|
See QPrinter::maxPage().
Definition at line 830 of file kprinter.cpp. References QString::isEmpty(), option(), and QString::toInt(). Referenced by pageList(). |
|
Definition at line 833 of file kprinter.cpp. References QString::number(), and setOption(). |
|
Returns the first page to be printed.
Definition at line 836 of file kprinter.cpp. References QString::isEmpty(), option(), and QString::toInt(). |
|
Returns the last page to be printed.
Definition at line 839 of file kprinter.cpp. References QString::isEmpty(), option(), and QString::toInt(). |
|
Sets the first and last page to be printed. Definition at line 842 of file kprinter.cpp. References QString::fromLatin1(), QString::number(), and setOption(). |
|
See QPrinter::pageSize().
Definition at line 846 of file kprinter.cpp. References QString::isEmpty(), option(), PageSize, and QString::toInt(). |
|
Definition at line 609 of file kprinter.cpp. References QString::number(), and setOption(). |
|
Definition at line 858 of file kprinter.cpp. Referenced by printFiles(). |
|
See QPrinter::setPrinterName().
Definition at line 861 of file kprinter.cpp. |
|
Returns the print program as set by setPrintProgram() or by the print dialog if a special printer has been selected.
Definition at line 864 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 867 of file kprinter.cpp. References QString::append(), QString::find(), QString::isNull(), and setOption(). |
|
See QPrinter::printerSelectionOption(). Unused. Definition at line 884 of file kprinter.cpp. References QString::fromLatin1(). |
|
See QPrinter::setPrinterSelectionOption(). Unused Definition at line 887 of file kprinter.cpp. |
|
Returns the current page number.
Definition at line 852 of file kprinter.cpp. References QString::isEmpty(), option(), and QString::toInt(). 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: MyClass::MyClass() { // declares my application able to do page selection KPrinter::setPageSelection( KPrinter::ApplicationSide ); } void MyClass::doPrint() { KPrinter printer; printer.setCurrentPage( mycurrentpage ); if ( printer.setup( this ) ) { QValueList<int> pages = printer.pageList(); // print the pages ... } }
Definition at line 855 of file kprinter.cpp. References QString::number(), and setOption(). |
|
Returns the page set of the current KPrinter object.
Definition at line 849 of file kprinter.cpp. References QString::isEmpty(), option(), PageSetType, and QString::toInt(). 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 QWidget::winId(). |
|
See QPrinter::margins().
Definition at line 544 of file kprinter.cpp. |
|
Not used yet.
Definition at line 931 of file kprinter.cpp. References QSize::height(), and QSize::width(). |
|
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 946 of file kprinter.cpp. |
|
DO NOT USE, WILL BE REMOVED.
Definition at line 979 of file kprinter.cpp. |
|
DO NOT USE, WILL BE REMOVED.
Definition at line 985 of file kprinter.cpp. |
|
DO NOT USE, WILL BE REMOVED.
Definition at line 991 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 457 of file kprinter.cpp. References QValueList::append(), QValueList::begin(), QMap::begin(), QValueList::count(), currentPage(), QValueList::end(), QMap::end(), QString::isEmpty(), maxPage(), minPage(), option(), pageOrder(), pageSet(), QValueList::remove(), and QStringList::split(). |
|
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: void MyClass:doPreview() { // use a "clean" KPrinter object (independent from previous print jobs), // this is not necessary, it depends on the application KPrinter prt( false ); prt.setPreviewOnly( true ); QPainter painter( &prt ); doPrint( &painter ); }
Definition at line 1010 of file kprinter.cpp. |
|
Returns the preview-only state for this KPrinter object.
Definition at line 1013 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 1028 of file kprinter.cpp. |
|
Resturns the resolution of the current KPrinter object. The resolution is given in DPI.
Definition at line 1034 of file kprinter.cpp. |
|
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 1037 of file kprinter.cpp. |
|
For internal use only.
Definition at line 776 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 345 of file kprinter.cpp. References option(), outputToFile(), printerName(), and QFile::remove(). |
|
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. |
|
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. |
|
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. |
|
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. |
|
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. |
|
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". void MyClass::doPrint() { KPrinter prt; // add my custom page prt.addDialogPage( new MyDialogPage() ); // open print dialog if ( prt.setup( this ) ) { QString fntname = prt.option( "kde-myapp-fontname" ); ... do_something; ... } }
Definition at line 779 of file kprinter.cpp. Referenced by collate(), colorMode(), creator(), currentPage(), docName(), fromPage(), fullPage(), maxPage(), minPage(), numCopies(), orientation(), outputFileName(), outputToFile(), pageList(), pageOrder(), pageSet(), pageSize(), printFiles(), printProgram(), and toPage(). |
|
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 782 of file kprinter.cpp. Referenced by initOptions(), setCollate(), setColorMode(), setCreator(), setCurrentPage(), setDocName(), setFromTo(), setFullPage(), setMinMax(), setNumCopies(), setOrientation(), setOutputFileName(), setOutputToFile(), setPageOrder(), setPageSize(), and setPrintProgram(). |
|
Returns the complete set of print options from the KPrinter object. For internal use.
Definition at line 890 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 616 of file kprinter.cpp. References QMap::begin(), QMap::end(), and QMap::remove(). |
|
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 639 of file kprinter.cpp. References QMap::begin(), QMap::end(), and setOption(). |
|
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 893 of file kprinter.cpp. |
|
Sets the search name of the KPrinter object. For internal use.
Definition at line 896 of file kprinter.cpp. |
|
Returns the last error message issued by the print system. Unimplemented yet.
Definition at line 1000 of file kprinter.cpp. |
|
Sets the last error message. For internal use.
Definition at line 1003 of file kprinter.cpp. |
|
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 661 of file kprinter.cpp. References QString::isEmpty(). Referenced by 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 1016 of file kprinter.cpp. |
|
Get the default document filename, that is the default basename used for the output file.
Definition at line 1019 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 1022 of file kprinter.cpp. |
|
Get the default document directory, that is the directory used for any output file. By default, it is the $HOME directory.
Definition at line 1025 of file kprinter.cpp. References QDir::homeDirPath(). |
The documentation for this class was generated from the following files: