summaryrefslogtreecommitdiffstats
path: root/src/printsupport/kernel/qprinter.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Change copyrights from Nokia to DigiaIikka Eklund2012-09-221-24/+24
| | | | | | | | Change copyrights and license headers from Nokia to Digia Change-Id: If1cc974286d29fd01ec6c19dd4719a67f4c3f00e Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
* printsupport: Include own headers firstSergio Ahumada2012-09-191-1/+1
| | | | | | | | cpp files should include their own headers first (but below config.h) Change-Id: I32a2c76a39d03f543c3eb8393b5e3015276f0622 Reviewed-by: Caroline Chao <caroline.chao@digia.com> Reviewed-by: Sergey Hambardzumyan <sergey.hambardzumyan@digia.com>
* Fix QPrinter documentation errors.Mitch Curtis2012-09-131-76/+3
| | | | | | | | | Removed documentation for non-existent functions and added external-resources.qdoc. Change-Id: I5159540d8304dd6e2e452be11404d40fc599a2a7 Reviewed-by: Qt Doc Bot <qt_docbot@qt-project.org> Reviewed-by: Jerome Pasion <jerome.pasion@nokia.com>
* QtPrintSupport: set QPrinter margins also to QPagedPaintDeviceTeemu Katajisto2012-09-111-0/+3
| | | | | | | | | | | | | QPagedPaintDevice::setMargins() is virtual method and reimplemented in QPrinter but super class margins were not set in reimplemented method. This fixes problem where QTextDocument::print() checked the margins using QPagedPaintDevice::margins() and overrided the margins set in QPrinter::setMargins(). Change-Id: I3bdcc33b8f6b5a9cbcb04a21484fdd1612dd7d58 Reviewed-by: Lars Knoll <lars.knoll@nokia.com> Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
* Fix qdoc tag.Frederik Gladhorn2012-09-111-1/+1
| | | | | | Change-Id: I683ee205945f4b3febff6ba9ec9e419a017f24b6 Reviewed-by: Qt Doc Bot <qt_docbot@qt-project.org> Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
* QtPrintSupport: Replace remaining Q_WS_ conditionals by name checks.Friedemann Kleint2012-07-211-11/+1
| | | | | Change-Id: Ic772e2187b3c93c5e0cdee6681289ab81e2c2f65 Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* QtPrintSupport: Add CUPS printsupport pluginJohn Layt2012-05-311-48/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Move CUPS code around to create a new CUPS printsupport plugin, this fixes QPrinterInfo for CUPS which depends on the plugin to work. It QT_NO_CUPS is defined then the plugin is not built and only Print to PDF is supported under Linux. * Move unused genericiunixprintersupport plugin to start new CUPS printsupport plugin * Split QPdfPrintEngine to create QCupsPrintEngine * Remove LPR related code from QPdfPrintEngine * Move CUPS specific code from plugin base class to derived CUPS class * Remove forcing CUPS print engine to use PDF mode as PDF is now Native * Move qt_getCupsPrinterPaperSizes from qprinterinfo_unix to QCUPSSupport * Remove qprinterinfo_unix as no longer used * Remove all QT_NO_LPR uses There is now no CUPS specific code left in printsupport/kernel except QCUPSSupport which is needed for the dialogs. Task-number: QTBUG-23060 Change-Id: Ie8fa4512a2424edc8943068e0fa9fb714cc42db9 Reviewed-by: Teemu Katajisto <teemu.katajisto@digia.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com> Reviewed-by: John Layt <jlayt@kde.org>
* Doc: Fix \sa usageMarius Storm-Olsen2012-05-111-6/+6
| | | | | | | | | Ensure comma between elements (757 missing), single space and curly- braces around title elements, etc. Change-Id: Id16c3fda7fc47a12a0682f8720214f4990609a97 Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com> Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
* Merge branch 'docs-refactoring' into masterMarius Storm-Olsen2012-05-101-1/+1
|\ | | | | | | Change-Id: Iebd1966abace3cdf7f9428dcfc1ded5b124ab113
| * Doc: Modularize QtPrintSupport documentation.Casper van Donderen2012-05-091-1/+1
| | | | | | | | | | | | | | | | This change moves the snippets and images to the modularized directories. Change-Id: Ib8f8556bcef13593ee40ac1122d765ed307ecb93 Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
* | Revert "QtPrintSupport: Remove remaining LPR specific code"Rohan McGovern2012-05-081-6/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This doesn't compile with a typical cross-compilation setup, which generally won't include cups headers. The commit should have been rejected, but wasn't, due to a bug in the Qt Project CI. Since it now causes all other modules depending on qtbase to fail their CI, it must be reverted to minimize disruption while the commit can be amended and/or the test toolchain updated to include cups headers. This reverts commit 80f7a388906f94f58bf765a32b9abbb16f967db2. Change-Id: I315ae275b37de358a74af28ab7bd691c9849acba Reviewed-by: Sergio Ahumada <sergio.ahumada@nokia.com> Reviewed-by: Toby Tomkins <toby.tomkins@nokia.com>
* | QtPrintSupport: Remove remaining LPR specific codeJohn Layt2012-05-071-5/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | CUPS is the only supported print system on UNIX, LPR/PS support has already been dropped but some LPR specific code still remains. * Move qt_getCupsPrinterPaperSizes from qprinterinfo_unix to QCUPSSupport * Remove qprinterinfo_unix as no longer used * Remove LPR related code from QPdfPrintEngine * Remove all QT_NO_LPR uses * Remove most QT_NO_CUPS uses, use QT_NO_PRINTER where necessary Some QT_NO_CUPS uses remain in QPdfPrintEngine, these will be removed in a following change implementing a CUPS plugin. Change-Id: I439b6fad9cf88c3d24aa48e49475f49ad310dbad Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* | Expose QPA API under qpa/*Girish Ramakrishnan2012-05-071-2/+2
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The main reasons for doing this are: 1. _qpa.h end up in the master QtGui include file. QtGui is meant for userland applications. qpa code is neither binary nor source compatible. Inadvertant use of QPA api makes the user code binary-incompatible. 2. syncqt creates forwarding headers for non-private header files. This gives people the impression that this is public API. As discussed on the mailing list, even though QPA api is internal and subject to change, it needs to treated differently from private headers since they will be used by in-qtbase and out-of-qtbase plugins. This commit does the following: 1. The _qpa in QPA header files is dropped. 2. syncqt now treats any file with qplatform prefix as a special file and moves it to qpa/ directory. The recommended way of using QPA API in plugins is: #include <qpa/qplatformfoo.h>. This allows the user include QPA API from multiple modules (for example, qplatformfoo might be in QtPrintSupport) 3. The user needs to explicitly add QT += <module>-private to get access to the qpa api. 4. Creates compat headers for the olden style qplatformfoo_qpa.h and QPlatformFoo includes. This commit does not change the cpp filenames. This requires a more careful merging of existing non qpa cpp files and existing cpp files on a case by case basis. This can be done at anytime. The following files are not renamed as part of this changed but will be fixed as part of a future change: src/gui/kernel/qgenericpluginfactory_qpa.h src/gui/kernel/qgenericplugin_qpa.h src/gui/kernel/qwindowsysteminterface_qpa.h files were renamed using for x in `find . -name "qplatform*_qpa.h"`; do git mv $x "${x/_qpa.h/.h}"; done for x in `find . -name "qplatform*_qpa_p.h"`; do git mv $x "${x/_qpa_p.h/_p.h}"; done includes were renamed using script for file in `find . -name "*.h" -or -name "*.cpp" -or -name "*.mm"`; do sed -i -e 's,.*#.*include.*<\(Qt.*/\)\?\(QPlatform.*\)>,#include <qpa/\L\2.h>,g' \ -e 's,.*#.*include.*"\(Qt.*/\)\?\(QPlatform.*\)",#include <qpa/\L\2.h>,g' \ -e 's,.*#.*include.* "\(qplatform.*\)_qpa.h",#include <qpa/\L\1.h>,g' \ -e 's,.*#.*include.*"\(qplatform.*\)_qpa_p.h",#include <qpa/\L\1_p.h>,g' \ -e 's,.*#.*include.*<\(Qt.*/\|Qt.*/private/\|private/\)\?\(qplatform.*\)_qpa\(.*\)>,#include <qpa/\2\3>,g' \ -e 's,.*#.*include.*"\(Qt.*/\|Qt.*/private/\|private/\)\?\(qplatform.*\)_qpa\(.*\)",#include <qpa/\2\3>,g' \ $file done Change-Id: I04a350314a45746e3911f54b3b21ad03315afb67 Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com> Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com> Reviewed-by: Sean Harmer <sean.harmer@kdab.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com> Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
* Documentation cleanupDebao Zhang2012-03-311-27/+0
| | | | | | | They are comments of Qt3 support members which have been removed already. Change-Id: I4b3dfaac1e5e1c3c13b83e41d0505dd16a4b6a8e Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* Fix QPrinter test in WindowsMiikka Heikkinen2012-03-231-37/+5
| | | | | | | | | | | | | | | | | | | | | | | | Fixed Q_WS_WIN flagging to Q_OS_WIN in QPrinter API and related implementation to make API match the documentation and Qt 4.8. Also Removed the unused internal HDC related functions from the API, that were previously behind Q_WS_WIN flag. Some of the properties tested are documented to be valid for native print engine only in X11 environment, so skipped testing those in non-xcb environments. Copy collation is also apparently not supported in Windows native print engine, though this seems to be undocumented, so skipped that only in Windows. At least one of the test blocks in tst_QPrinter::valuePreservation() failed due to default printer not getting set properly, so fixed that, too. Task-number: QTBUG-24191 Task-number: QTBUG-22927 Change-Id: I44a5e3d647a1279fcc7f1e99de6881f9be330246 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* Re-enable native print/pagesetup dialogs on Mac OS XBradley T. Hughes2012-03-151-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | Since QtPrintSupport does not have access to the internals of the print engine on Mac OS X (it lives in the platform plugin). We instead use the NSPrintInfoFromPrintEngine() invokable method in QPlatformNativeInterface to return an NSPrintInfo* that we can use where needed, or we use QPrintEngine::property()/setProperty() to communicate with the engine. This commit disables the generic UNIX dialogs and CUPS support on Mac OS X, ensuring that the default format on Mac OS X is the QPrinter::NativeFormat (previously qprinter.cpp would force PdfFormat as default on Q_OS_UNIX which is also defined on Mac OS X). The rest of the changes are straight forward porting. The methods: extern void macStartInterceptWindowTitle(QWidget *window); extern void macStopInterceptWindowTitle(); don't exist anymore, so don't use them. QMacCocoaAutoReleasePool also doens't work, so use NSAutoreleasePool directly. Change-Id: I341609e5efa53cadf8d174e4b282cbcae93e39e8 Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
* Remove stale references to QtopiaDonald Carr2012-03-121-2/+0
| | | | | | | | | Change-Id: Idd9b5fae8f6a0273636a878325e82e5664a40d43 Reviewed-by: Donald Carr <donald.carr@nokia.com> Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com> Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com> Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
* Remove #ifdef Q_WS_MAC code from QPrinterBradley T. Hughes2012-03-051-7/+0
| | | | | | | | We have a QPlatformPrinterSupportPlugin on Mac OS X to return the QPrintEngine/QPaintEngine, no need to keep this code. Change-Id: Ie24dcfd157810ede69790fc7b27c12e24766efce Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
* Remove the usage of deprecated qdoc macros.Casper van Donderen2012-03-021-5/+5
| | | | | | | | | | | QDoc now has support for Doxygen style commands for italics, bold and list items. This change applies that change in QDoc to the actual documentation. Task-number: QTBUG-24578 Change-Id: I519bf9c29b14092e3ab6067612f42bf749eeedf5 Reviewed-by: Shane Kearns <shane.kearns@accenture.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Remove "All rights reserved" line from license headers.Jason McDonald2012-01-301-1/+1
| | | | | | | | | | As in the past, to avoid rewriting various autotests that contain line-number information, an extra blank line has been inserted at the end of the license text to ensure that this commit does not change the total number of lines in the license header. Change-Id: I311e001373776812699d6efc045b5f742890c689 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Update contact information in license headers.Jason McDonald2012-01-231-1/+1
| | | | | | | Replace Nokia contact email address with Qt Project website. Change-Id: I431bbbf76d7c27d8b502f87947675c116994c415 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Update copyright year in license headers.Jason McDonald2012-01-051-1/+1
| | | | | Change-Id: I02f2c620296fcd91d4967d58767ea33fc4e1e7dc Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Add "see also" links for QPrinter::{get|set}PageMarginsDavid Faure2011-12-071-0/+4
| | | | | | Change-Id: Ie1ec9cf3740818c71a7afbdec2c99f5fa0e81337 Reviewed-by: Richard J. Moore <rich@kde.org> Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* Move QPrinter::init() to QPrinterPrivate::init()Bradley T. Hughes2011-10-311-12/+11
| | | | | | | | | | | | | | | | | | | | | | | This method is private, and only called from the QPrinter constructor. This also removes warnings about overloading the virtual QPaintDevice::init() method interitted form QWidget: ../../include/QtPrintSupport/../../src/printsupport/kernel/qprinter.h:259:10: warning: 'QPrinter::init' hides overloaded virtual function [-Woverloaded- void init(PrinterMode mode); ^ ../../include/QtGui/../../src/gui/painting/qpaintdevice.h:93:18: note: hidden overloaded virtual function 'QPaintDevice::init' declared here virtual void init(QPainter *painter) const; ^ Change-Id: I7c5203a1264b0ad825ed4075b66017fef22a40fb Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com> Reviewed-by: David Faure <faure@kde.org> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Olivier Goffart <ogoffart@kde.org>
* QtPrintSupport: Remove Q_WS_QPA, qpa sections from .pro files.Friedemann Kleint2011-10-261-9/+2
| | | | | | | Compile without -qpa. Change-Id: Icfbf733964a7d6db80f8ec706a4b6fe84cd71b4d Reviewed-by: Oliver Wolff <oliver.wolff@nokia.com>
* Move the documentation for the classes to their modules.Casper van Donderen2011-10-031-0/+2
| | | | | | | | | | | All documented classes under src/widgets should now be under the QtWidgets module in the documentation. The QtPrintSupport classes should now be under the QtPrintSupport module in the documentation. Change-Id: I236b15443b8b93a61578a1d10f52b64dba938f29 Reviewed-on: http://codereview.qt-project.org/5520 Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
* Fix build.Friedemann Kleint2011-08-191-2/+2
| | | | | | | | | | | - Introduced EXPORT definition for new QPrintSupport library. - Fixed dependencies in src.pro - Fixed some includes. Change-Id: I9863233ca2767928b37cf3fd1fdec31351b5da6b Reviewed-on: http://codereview.qt.nokia.com/3253 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* Restore feature compatibility with QPrinter in QTextDocument::printLars Knoll2011-08-191-11/+20
| | | | | | | | | | | | Add a margin method to QPagedPaintDevice. The other variables required are stored in QPagedPaintDevicePrivate without a public API for now. This needs cleaning up once we have a new printing system. Change-Id: Id3f2d7ac7f3cbce8619072a897d91f3a588add64 Reviewed-on: http://codereview.qt.nokia.com/3211 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
* Move the printer support backend into it's own pluginLars Knoll2011-08-191-9/+10
| | | | | | | | | | | QPlatformIntegration can't have a dependency onto printing anymore now that printing lives in it's own library. Move it into a plugin of it's own. Change-Id: I3ec4b38f4336eb96d92ea799544d17af359c83e1 Reviewed-on: http://codereview.qt.nokia.com/3210 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
* Move printing into it's own libraryLars Knoll2011-08-191-0/+2254
Create a libQtPrintSupport library that contains our current printing infrastructure. Long term this will get replaced with a libQtPrint, as the current architecture is not really maintainable. Change-Id: I7362fff6786b58c5b4e9213c23eda36d15048aa2 Reviewed-on: http://codereview.qt.nokia.com/3209 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>