Commit Graph

215 Commits (ed5d04fcfc4e00ce92b04d442e1e69cebb01bc9c)

Author SHA1 Message Date
John Layt c6cf7520ec QPrinter - Simplify setting manual properties
Change from a list to a set and define a utility method to both set the
property and store that we have set it.

Change-Id: I0cf13f1b0e90942424744316d0d3f699b9ead144
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2013-11-29 15:59:08 +01:00
John Layt e8a45152b5 QPrinter - Fix OutputFormat when no printers
Currently the QPrinter constructor, setOutputFormat() and
setPrinterName() make bad assumptions about the availability of printers
when configuring NativeFormat which can lead to inconsistent print
engine set-ups leading to crashes in the print dialog, especially on
Windows where a valid DEVMODE is needed.

This change cleans up the init and methods to ensure NativeFormat can
only ever be set if we have both a valid plugin and a valid printer,
if not the PdfFormat is used.  One side-effect of this is that it is
now impossible to set an invalid printer name via QPrinter (but still
able to be done via QPrintEngine if really needed).  Also if no
default printer is set then use the first available one.

This also fixes a bug where setting a new printer name on Windows
reset all the saved settings.

[ChangeLog][Important Behavior Changes] QPrinter no longer allows you
to set an invalid printer name.

Task-number: QTBUG-34345
Task-number: QTBUG-26008
Task-number: QTBUG-26430
Change-Id: I19737e4209d8c8df5817ea83246b3dd0c483ee85
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2013-11-29 15:59:00 +01:00
John Layt 73ef64fb5f QPrinter - Make PDF support required for QPrinter
Most of QPrinter assumes that QPdf is available as the fall back engine
in case either the plugin fails to load or there are no real printers
configured. Make this assumption explicit in the feature configure and
remove the two places where QT_NO_PDF is actually checked.

Change-Id: Ibb1bdf3bafa5809fbc844c84d7127911a1685506
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2013-11-27 21:06:30 +01:00
John Layt db4afbef7d QPrinterInfo - Fix isNull() by fixing constructors
The QPrinterInfo copy and QPrinter constructors and the assignment
operator were not taking the shared_null into account, and so any use
of them resulted in a new null QPrinterInfo different to shared_null,
which lead to isNull() always returning true in anything other than
the simplest use case. While fixing this also make the shared_null a
Q_GLOBAL_STATIC.

Task-number: QTBUG-21087

Change-Id: I0beb24088208e9ed58d21ca26b0c8d00b02e5b8f
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2013-11-26 18:45:10 +01:00
Andy Shaw 3396ba5612 Match up the specified paper size to an existing one if possible
When EnumForms was used then the dmPaperSize was not always correct for
the custom paper sizes available on some printers. By using
DeviceCapabilities we can be sure that the information is correct in this
respect.

This also fixes respecting of the custom paper size if one is given and
there is no corresponding existing paper size for it.

Task-number: QTBUG-34276

Change-Id: I9924d5be8527027fc434261e37f6c7aae66210c3
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-11-14 21:15:35 +01:00
Stephen Kelly 215e525a5c Make error messages a bit better.
Change-Id: I83b5852abfbb3437c03516bc4b36eff385ddb983
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
2013-11-05 09:07:53 +01:00
Oswald Buddenhagen 43684a20d0 use private linkage where possible
Change-Id: Ie8eaa71bee87654c21218a23efd7e9d65b71f022
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-10-31 19:49:32 +01:00
Paul Olav Tvete f4d85c6548 Remove compiler warning when QT_NO_PRINTER is defined
This broke the build on Android with warnings-are-errors.

Change-Id: I9edb9539c4a6f7286ff46cbaa53bcfef4cf5280f
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-10-31 14:22:25 +01:00
Friedemann Kleint e00a961732 Clean up QPlatformPrinterSupport via post routine.
Change-Id: I5aff587f0186f15c9fa65d236e5ebe9a7901dd86
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2013-10-31 05:53:38 +01:00
Martin Klapetek fcedf4073a Set currently selected printer to QCUPSSupport in PageSetupWidget
Also adds new method to allows setting a printer in QCUPSSupport by
printer name.

Change-Id: Iff7a88d95eab9de2c96872c45b12e708207bda16
Reviewed-by: John Layt <jlayt@kde.org>
2013-10-18 18:01:54 +02:00
Martin Klapetek 229d92dc1e If CUPS has no default printer, set up the first one in list
Otherwise QCUPSSupport is instantiated without any printer being set up,
which leads to bugs and/or crashes in other parts using QCUPSSupport.

Change-Id: I1f4ddde5a28d6448d78aed856104ce8448e213c7
Reviewed-by: John Layt <jlayt@kde.org>
2013-10-18 18:01:54 +02:00
Jerome Pasion 4533cc9944 Doc: Adding mark-up to boolean default values.
Default values should have mark-up to denote that they are code.
This commit changes:
-"property is true" to "property is \c true".
-"Returns true" to "Returns \c true".
-"property is false" to "property is \c false".
-"returns true" to "returns \c true".
-"returns false" to "returns \c false".

src/3rdparty and non-documentation instances were ignored.

Task-number: QTBUG-33360
Change-Id: Ie87eaa57af947caa1230602b61c5c46292a4cf4e
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-10-08 00:46:27 +02:00
Andy Shaw be8999038f When calling setPageSizeMM then the size needs to be passed as MM
This simplifies the code a bit and ensures that it is respecting what
the relevant function expects the size to be as.

Change-Id: Iec88fab84c27a33d6f1a9e9413ea6beb0a39c68d
Reviewed-by: John Layt <jlayt@kde.org>
2013-09-23 23:17:35 +02:00
Giuseppe D'Angelo 7a6a902e2d Remove some qBinaryFind usages from the CUPS printing code
This is done per the mailing list discussion at
http://www.mail-archive.com/development@qt-project.org/msg01603.html

Change-Id: I0f9c8db3ede32570a1fd6cc43a31e2fc76ab2a0a
Reviewed-by: John Layt <jlayt@kde.org>
2013-09-23 21:20:47 +02:00
Thiago Macieira e43174755c Fix warnings about conversion from const char* to QString.
Change-Id: I6d3dca0688a94eb34b55efc841a75e4ebd3a2bd7
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
Reviewed-by: John Layt <jlayt@kde.org>
2013-09-23 19:38:12 +02:00
Martin Klapetek 99f9bf9af6 Offer Page Range option for apps that can't do it themselves
Some apps may not support printing only a particular page range, but
with CUPS we can do "server-side print range", ie. we can select the
page range for the application.

If CUPS is available, the Page Range widget is now displayed if app
advertises no such capability and page range is selected on the server
instead.

[ChangeLog][QtPrintSupport][QPrintDialog] Added CUPS server-side print
range support for apps that can't support print range option themselves

Change-Id: Ia7784065ba5a8b53bb05ae46e982c718ef672fa5
Reviewed-by: John Layt <jlayt@kde.org>
2013-09-20 23:45:06 +02:00
Martin Klapetek 00e50fb97c Expose more CUPS options via the 'Properties' dialog
On systems with CUPS support users can now choose how many pages from
a document are to be printed on paper. This can vary from 1 page per
document to 16 pages per document.

The page preview changes upon the users selection.

Also included in the patch is an option to choose the flow for text.
Users
can now print documents in the "Right to Left" order or "Bottom to Top",
including many other options.

[ChangeLog][QtPrintSupport][QPrintDialog] Added support for setting CUPS
Pages Per Sheet and Pages Per Sheet Layout options

Change-Id: I4e60a4523c6e06d4c15fe9ee9590248fa7ae2038
Reviewed-by: John Layt <jlayt@kde.org>
2013-09-20 00:50:04 +02:00
Martin Klapetek 75ffb131ed Add CUPS Page Set options to print support
Adds combobox to select CUPS Page Set option (even/odd pages) into the
Unix print dialog

[ChangeLog][QtPrintSupport][QPrintDialog] Added support for setting CUPS
Page Set (even/odd pages only) in the print dialog.

Change-Id: I27dd846f58c164039fe2759064aafdf726a1287e
Reviewed-by: John Layt <jlayt@kde.org>
2013-09-17 14:24:48 +02:00
Martin Klapetek ea3f8ff6d0 Add CUPS Banner Pages options to print support
Adds a way to set standard CUPS Banner Pages. This widget is part of the
Job Options widget/tab in Properties dialog.

[ChangeLog][QtPrintSupport][QPrintDialog] Added support for setting CUPS
Banner pages in the print dialog.

Change-Id: Ia7a22b7a0f51c12d170986caee61af7109e781e9
Reviewed-by: John Layt <jlayt@kde.org>
2013-09-11 21:52:50 +02:00
Martin Klapetek ad46d5b82b Add CUPS options widget to print support
This adds new tab 'Job Options' into Properties dialog in print dialog.
In this tab it's possible to set some advanced printing job options such
as print schedule, job priority or job billing.

Patch also adds new utility methods into QCUPSSupport, which are used to
set particular CUPS job options.

[ChangeLog][QtPrintSupport][QPrintDialog] Added support for setting CUPS
job options in the print dialog.

Change-Id: If2640eedb3d83f50cbb20491f7ec50b325f54f22
Reviewed-by: John Layt <jlayt@kde.org>
2013-09-10 16:11:15 +02:00
Konstantin Ritt 106843ad1a Make QFontEngine not derive from QObject
Whilst having the objectName set for each engine is
somewhat handy when debugging, deriving from QObject just for that
is a wasting of memory in all other cases.
This also broke the font engine abstraction by allowing qobject_cast()
to access some private data; the only sane way to distinguish
engines is querying their Type value.

Change-Id: Ib1d195692859eb39089f6d8d9016cb8f9dcc0400
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2013-09-10 01:56:20 +02:00
Andy Shaw 74a0cb417f Make sure QPrinter::Folio maps to the right paper size on Windows
Since there are two different Folio specifications (Adobe and Microsoft)
then we need to ensure we consistently use the same one across all
platforms. Therefore we change the one on Windows to match the
corresponding standard paper and add a note explaining how to get the
DMPAPER_FOLIO size.

Change-Id: I0f20ba5598ef8f680125fcd33dbc6924bd521d75
Reviewed-by: John Layt <jlayt@kde.org>
2013-09-02 16:26:21 +02:00
Michael Brüning 3693ada1a6 Fix text being cut off at the right side in print preview.
This patch now also copies the state of the QPainter returned from
QPaintEngine::painter for the first page of a print preview, as it is
done for all other pages of a preview in QPreviewPaintEngine::newPage().

Task-number: QTBUG-30621
Change-Id: I50001231c4006b9627ff80504618cbe0fa6d9f65
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2013-07-29 15:38:51 +02:00
Thiago Macieira 64a7ac344e Deal with unused functions, as found by the Intel compiler
Use Q_DECL_UNUSED for the one that is possibly unused (we have two overloads so that one gets selected):
qglobal.cpp(2069): warning #177: function "<unnamed>::fromstrerror_helper(int, const QByteArray &)" was declared but never referenced

Remove functions really not used:
qbezier.cpp(153): warning #177: function "findInflections" was declared but never referenced
qbezier.cpp(534): warning #177: function "splitBezierAt" was declared but never referenced
qpathclipper.cpp(1039): warning #177: function "midPoint" was declared but never referenced
qpainter.cpp(119): warning #177: function "check_gradient" was declared but never referenced
qdockarealayout.cpp(2580): warning #177: function "qMin(int, int, int)" was declared but never referenced
qmainwindowlayout.cpp(1019): warning #177: function "validateDockWidgetArea" was declared but never referenced
qgraphicsanchorlayout_p.cpp(670): warning #177: function "checkAdd" was declared but never referenced
qcups.cpp(481): warning #177: function "paperSize2String" was declared but never referenced
complexwidgets.cpp(373): warning #177: function "removeInvisibleWidgetsFromList" was declared but never referenced

Change-Id: I1e5558e206b04edea381442030dc69536198d966
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
2013-07-01 02:02:17 +02:00
John Layt 61d0f728ae QPrinter - Fix doc errors
Fix doc errors.

Task-number: QTBUG-27143
Change-Id: I59376bdb48ce03eb61f38b7dd7eb58f0d517a873
Reviewed-by: Casper van Donderen <casper.vandonderen@gmail.com>
2013-04-12 11:46:01 +02:00
Thiago Macieira d1b4857d17 Make sure that we #include qconfig.h before testing for features.
This is mandatory in public headers (qiodevice.h, qopengl*, etc.), but
it's a good idea even in private headers, in case someone includes
that header first somewhere. In particular, all platformsupport API is
private.

Change-Id: If287baa5d9ed14e93c1666efa0e6332c4c1cd9a4
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-03-19 07:02:57 +01:00
Andy Shaw 39a902c008 Add support for setting/getting the paper name on the QPrinter
This adds support for specifying a paper name which will be set on
the printer if it is available for the driver.

Change-Id: Id7fd0c8cf68745db3d7a8de7e2ac98d3e2ba9b79
Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
2013-03-12 09:16:42 +01:00
Thiago Macieira 7b2d98d906 Fix some warnings that have crept up since I last fixed warnings
qgtkstyle.cpp:3177:103: error: suggest parentheses around ‘&&’ within ‘||’ [-Werror=parentheses]
qcups.cpp:517:66: error: ‘QString::QString(const char*)’ is deprecated
itemviews.cpp:795:13: error: unused parameter ‘actionName’ [-Werror=unused-parameter]
qeglconvenience.cpp:268:9: error: ‘cfg’ may be used uninitialized in this function [-Werror=maybe-uninitialized]

Change-Id: I9b8a175ff1c2ddc443363e08b92e09cf7c2f91cf
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
Reviewed-by: John Layt <jlayt@kde.org>
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2013-02-27 07:09:24 +01:00
Konstantin Ritt 7729d89e15 QWin32PrintEngine: Fix build on MinGW + avoid dummy allocations
Don't use wcscpy_s() which is not available on MinGW but determine the utf-16
string length and pass that value to QString::fromWCharArray() instead.

Change-Id: I45d1b1969fe03255fdb6353fa9f52417af530e40
Reviewed-by: Laszlo Papp <lpapp@kde.org>
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
2013-02-26 22:01:27 +01:00
Frederik Gladhorn e65cd6f379 Merge remote-tracking branch 'origin/stable' into dev
Conflicts:
	src/concurrent/doc/qtconcurrent.qdocconf
	src/corelib/doc/qtcore.qdocconf
	src/corelib/global/qglobal.h
	src/dbus/doc/qtdbus.qdocconf
	src/dbus/qdbusmessage.h
	src/gui/doc/qtgui.qdocconf
	src/gui/image/qimagereader.cpp
	src/network/doc/qtnetwork.qdocconf
	src/opengl/doc/qtopengl.qdocconf
	src/opengl/qgl.h
	src/plugins/platforms/windows/qwindowswindow.cpp
	src/printsupport/doc/qtprintsupport.qdocconf
	src/sql/doc/qtsql.qdocconf
	src/testlib/doc/qttestlib.qdocconf
	src/tools/qdoc/doc/config/qt-cpp-ignore.qdocconf
	src/widgets/doc/qtwidgets.qdocconf
	src/xml/doc/qtxml.qdocconf

Change-Id: Ie9a1fa2cc44bec22a0b942e817a1095ca3414629
2013-02-14 14:24:57 +01:00
Andy Shaw 83e6d1fe60 Add support for getting the paper names available for the printer
Task-number: QTBUG-27714

Change-Id: I9bc6f1188f262e43f581add058d7895e1b5bd9e3
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2013-02-11 17:50:56 +01:00
Sergio Ahumada 6239af6f0f Merge branch 'release' into stable
Change-Id: If3aa1b7ed75082eff6e9761ad82c83691135ed60
2013-01-31 18:55:53 +01:00
Sergio Ahumada 07e3bcdc10 Remove QT_{BEGIN,END}_HEADER macro usage
The macro was made empty in ba3dc5f3b5
and is no longer necessary or used.

Discussed-on: http://lists.qt-project.org/pipermail/development/2013-January/009284.html
Change-Id: Id2bb2e2cabde059305d4af5f12593344ba30f001
Reviewed-by: Laszlo Papp <lpapp@kde.org>
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-01-29 01:06:04 +01:00
Peter Kümmel b67a98afc8 Printer support needs user32.lib and gdi32.lib on Windows
Task-number: QTBUG-28765

Change-Id: Ia43076e07adee38dfe20f8d25eb223bb6ea6ef51
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-01-24 18:35:06 +01:00
Sergio Ahumada 48e0c4df23 Update copyright year in Digia's license headers
Change-Id: Ic804938fc352291d011800d21e549c10acac66fb
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2013-01-18 09:07:35 +01:00
Debao Zhang 39795b1411 Replace macro qdoc with Q_QDOC
Both qdoc and Q_QDOC are used in source code, which looks not good.

Change-Id: I4f3a71670278b0758d92bfa5db086a07e1b1acfd
Reviewed-by: hjk <qthjk@ovi.com>
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
2013-01-08 10:48:33 +01:00
Lars Knoll afaec998c4 Fix print support docs
Make sure qdoc generates a correct overview for the module.

Change-Id: I6ea95638459201a0bb09f2e645173ade3a36f0e0
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2012-11-30 00:48:50 +01:00
John Layt d48d83a1ac SIC QPrintSupport: Remove unused PPK_SuppressSystemPrintStatus
Print Engine key PPK_SuppressSystemPrintStatus was added in Qt4.1
for Cocoa dialog to suppress the progress dialog.  In Qt5 all cocoa
code has been removed and this key is now unused.

Change-Id: I3a91e9651e16f81611a9a736163f76acf9f20096
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2012-11-21 11:03:48 +01:00
Andy Shaw 50ec06da2c Only use the user set page margins for custom paper
When the QPrinter is initalized then it will set up page margins based
on the default paper size. If the paper size is changed to be a custom
one then it should disregard the margins for the default paper size.

If the page margins are set explicitly beforehand then it will use these
page margins.

Change-Id: Ic535c3a80b8b217dbd5eb5f4fb2cbc0ab1354563
Reviewed-by: Titta Heikkala <titta.heikkala@digia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2012-10-30 12:53:46 +01:00
Samuel Rødal b213d5bfa3 Make QPen default to 1-width non-cosmetic.
Use the Qt4CompatiblePainting render hint when painting with QPainter to
treat default constructed QPens as cosmetic still.

The NonCosmeticDefaultPen render hint gets documented as obsolete, since
it was in any case not respected by the raster nor OpenGL paint engine.

Change-Id: I04d910e9700baf7f13a8aac07a3633014bb9283e
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
2012-10-22 19:36:43 +02:00
Titta Heikkala bdcece7d46 Revert a change to printer orientation
Reverting change: Ia6bc9ae14d79a646e61bfc97652f9f5af90738b3
The previous change does not set the printer correctly. It looks
based on the tests that the correct printer is set, but in reality
the default printer is used (even though printerName() is returning
the printer set).

Updated taskQTBUG4497_reusePrinterOnDifferentFiles() test case
so that it generates PDF instead of PS. Testing the binary output
can't be guaranteed to work in this case.

Change-Id: Iee111f2c2dec84f86344a38816c21e191f5373ea
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
2012-10-15 22:01:47 +02:00
Rafael Roquetto eda0e120e9 Fix number of available printers in CUPS support.
If the number of available printers changes, we want
to update the count. Additionally, if that number has
gone to zero, we want to ensure that the number of
available printers in the static object is reset to
zero.

This fixes a crash that occurs if:
 * You print
 * You kill cupsd (or it crashes because you're porting it and your port is unstable)
 * You try to print again before restarting it.

Change-Id: I6c6069db9d800ce7426e75df760829fea278e56e
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2012-10-13 05:51:19 +02:00
Iikka Eklund be15856f61 Change copyrights from Nokia to Digia
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>
2012-09-22 19:20:11 +02:00
Sergio Ahumada c0bfb3d9b7 printsupport: Include own headers first
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>
2012-09-19 22:27:11 +02:00
Mitch Curtis a3729b82c8 Fix QPrinter documentation errors.
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>
2012-09-13 19:33:08 +02:00
Teemu Katajisto 5d1d313ca7 QtPrintSupport: set QPrinter margins also to QPagedPaintDevice
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>
2012-09-11 12:09:47 +02:00
Frederik Gladhorn a74f83bbc1 Fix qdoc tag.
Change-Id: I683ee205945f4b3febff6ba9ec9e419a017f24b6
Reviewed-by: Qt Doc Bot <qt_docbot@qt-project.org>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
2012-09-11 12:09:47 +02:00
Sergio Ahumada 584acd48e0 printsupport: Fix missing or improper include guard in headers
Use an include guard in headers to ensure the header is not included
more than once. Make the header guard match its file name.

Change-Id: Iefc02181fe235ede51c567fb54997531e5cd08a3
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-09-08 20:29:23 +02:00
Titta Heikkala 1cebd906af Ensure that printer orientation is preserved
After setting the printer name the initialization is no longer done for
a printer with a name. Instead doReinit() method is called to preserve
the orientation (set with setOrientation() method before calling
setPrinterName()). Before the orientation was changed back to default
when setPrinterName() method was called ignoring the orientation set.

Updated also the autotest because the case:
taskQTBUG4497_reusePrinterOnDifferentFiles() is no longer expected to
fail on Windows.

Task-number: QTBUG-26008
Change-Id: Ia6bc9ae14d79a646e61bfc97652f9f5af90738b3
Reviewed-by: Andy Shaw
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2012-08-30 08:54:59 +02:00
Frederik Gladhorn 76420e2123 Fix qdoc errors in PrinterInfo.
Document parameter and associate comment with function by removing newline.

Change-Id: Ib4bb07c325144ef3501aea81d9e49e09b007387d
Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
Reviewed-by: Laszlo Papp <lpapp@kde.org>
2012-08-28 21:07:40 +02:00
Shawn Rutledge 42d712b4ab Misc documentation fixes triggered by qdoc errors/warnings
Change-Id: I6ca3b138114fe957a09e8ec2f22273865635fc8b
Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
2012-08-20 16:57:48 +02:00
Friedemann Kleint 3ef9138efd QtPrintSupport: Replace remaining Q_WS_ conditionals by name checks.
Change-Id: Ic772e2187b3c93c5e0cdee6681289ab81e2c2f65
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2012-07-21 03:17:23 +02:00
Tasuku Suzuki d04e06dc32 Remove Library dependency on Settings
made QLibraryInfo available with QT_NO_SETTINGS.
QKdeTheme is removed when QT_NO_SETTINGS is defined.

Change-Id: I63d619bb305e6c23985d9ea50c72d39a697b7a4b
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-07-09 11:18:17 +02:00
Girish Ramakrishnan f128c1f6d3 Remove _qpa from cpp filenames
36547f4eff removed the _qpa from .h
files and promised to remove it from .cpp files at a later date.

Change-Id: I24a5c3796f6b07dd9a1931b699f3212d315edb12
Reviewed-by: Andrew Stanley-Jones <andrew.stanley-jones@nokia.com>
2012-07-03 08:11:54 +02:00
Thiago Macieira 2b904294a8 Clean up the EXPORT macros in qglobal.h.
QtPlatformSupport is a static library. It should never export
anything, so Q_PLATFORMSUPPORT_EXPORT is unnecessary.

QtSql, QtXml, QtDBus, QtOpenGL and QtPrintSupport now have the macros
on their own source trees. It's possible these modules might be
separated out from qtbase in the future. For QtDBus, the macros are
moving back to where they used to be. This also leaves qglobal.h only
creating the macros for QtCore, QtGui, QtWidgets and QtNetwork, the
core libraries.

Q_CANVAS_EXPORT, Q_OPENVG_EXPORT and Q_COMPAT_EXPORT aren't used
anywhere in the Qt sources, so simply delete them. And the
Q_QUICK1_EXPORT macro in the static section was wrong, so remove it
too.

Change-Id: I50bdf86e783338f814903b25979721f788a7becf
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-06-29 00:27:18 +02:00
John Layt 14f45e535b QtPrintSupport - Add CUPS printer and options queries to plugin
Implement initial support in the CUPS plugin for directly calling CUPS
to obtain printer list and basic printer info rather than QCupsSupport.

Add api to the plugin to return any options for a printer, usually IPP
options as implemented for CUPS, but whatever applies for the host
print system.

Future changes will add support for returning the PPD options.  This
api may eventually be added to QPrinterInfo, but not in 5.0.

Change-Id: I6c8bae4c9295009599e6ab31382f5fff4c93981f
Reviewed-by: Teemu Katajisto <teemu.katajisto@digia.com>
Reviewed-by: John Layt <jlayt@kde.org>
2012-06-09 01:46:36 +02:00
John Layt 20c7fa62ca QtPrintSupport: Move printer list into plugin base class
Move the cached printer list from the Windows plugin into the base
class so the CUPS plugin can also use it in a subsequent commit.

Change-Id: Idf5fb7fc49b1820aad58f16e8854ab9120caa193
Reviewed-by: Teemu Katajisto <teemu.katajisto@digia.com>
Reviewed-by: John Layt <jlayt@kde.org>
2012-06-08 18:44:55 +02:00
John Layt 271b484b00 QtPrintSupport: Move plugin access of QPrinterInfo internals to base
Move all plugin methods requiring access to QPrinterInfo internals
into the plugin base class, and remove the plugin classes as friends
from QPrinterInfo.

Change-Id: Ic527efc681e198abf19e038dd77c36bb8017d049
Reviewed-by: Teemu Katajisto <teemu.katajisto@digia.com>
Reviewed-by: John Layt <jlayt@kde.org>
2012-06-08 13:33:50 +02:00
Lars Knoll 02191b6e4b Remove dependency from QFactoryInterface for the print plugin
Change-Id: Ia35890b72e7797ef655bf97b4a34af2908657c0e
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-06-08 00:12:20 +02:00
John Layt f70924e9cc QtPrintSupport: Add CUPS printsupport plugin
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>
2012-05-31 17:40:55 +02:00
John Layt 44f7df439f QtPrintSupport - Add QPrinterInfo api for more printer details
A previous commit changed the Mac behaviour for printerName()
from returning the CUPS Description to returning the CUPS Name.
In case anyone was relying on this for a human-readable name
add new api to return the CUPS Description.  Also add the
Location and Make and Model which will be used in the Unix
print dialog instead of directly calling CUPS.

Change-Id: I9901bf8d6368466adf111580f5db5a3f01ca9170
Reviewed-by: Teemu Katajisto <teemu.katajisto@digia.com>
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Reviewed-by: John Layt <jlayt@kde.org>
2012-05-29 23:48:15 +02:00
John Layt 5bd5f6ae69 QtPrintSupport: Change QPrinterInfo::defaultPrinter() behaviour
In Qt4 QPrinterInfo::defaultPrinter() has inconsistant behaviour
depending on the platform.  On Mac and Unix if no default printer
is set in the system then the first available printer is returned.
but on Windows it returns a null QPrinterInfo.

Currently Qt5 returns the first printer on all platforms, but this
causes an inconsistency if you call isDefault() on the returned
QPrinterInfo.

The apidox is slightly ambiguous, but does seem to imply no printer
will be returned if no default is set.

The only place in Qt the public api is used is in QPrinter which is
coded expecting that defaultPrinter() may return null but for there
still to be availablePrinters().

Change-Id: I1bbef8cba259b7d51980a0199e9fd6d5466d921f
Reviewed-by: Teemu Katajisto <teemu.katajisto@digia.com>
Reviewed-by: John Layt <jlayt@kde.org>
2012-05-29 00:41:46 +02:00
John Layt 36f469bdb1 QtPrintSupport - Modify Platform Plugin QPrinterInfo api
Change the way the printsupport plugin creates QPrinterInfo
objects, provide platform api to return a named printer, and
expose this as static public api in QPrinterInfo.

Only the Mac plugin used the old api, the other plugins will
have direct support added in separate commits, but will use
the default implementation for now.

Change-Id: I7d6b6556eb39919cfb15bc0e814afbaf13c5712c
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2012-05-24 09:48:27 +02:00
Girish Ramakrishnan 6af65edcb6 qpa api: replace QPA headers with something more benign
The current 'we mean it' headers are considered too aggressive for QPA.

Replaced using the following script.
for file in `find -type f -name "qplatform*.h" -and -not -name "*_p.h"`; do
    LINE_NO_1=`grep -n -m 1 "W A R N I N G" $file | awk -F ':' '{print $1}'`
    LINE_NO_2=`grep -n -m 1 "We mean it." $file | awk -F ':' '{print $1}'`
    if [ -z "$LINE_NO_1" ]; then
        LINE_NO_1=`grep -n -m 1 "#define " $file | awk -F ':' '{print $1}'`
        LINE_NO_2=$((1+$LINE_NO_1))
    else
        LINE_NO_1=$(($LINE_NO_1-2))
        LINE_NO_2=$(($LINE_NO_2+2))
    fi
    head -n $LINE_NO_1 $file > $file.new
    cat >> $file.new <<EOF
//
//  W A R N I N G
//  -------------
//
// This file is part of the QPA API and is not meant to be used
// in applications. Usage of this API may make your code
// source and binary incompatible with future versions of Qt.
//
EOF
    tail -n +$LINE_NO_2 $file >> $file.new
    mv $file.new $file
done

Change-Id: I8a974c9bf8942647b7ad950afb372c1f738aa725
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2012-05-22 20:56:38 +02:00
Teemu Katajisto 385e584926 printsupport: set duplex setting correctly to CUPS printer
If CUPS printer default is not DuplexNone then setting duplex
to None for printer did not have any effect on duplex setting.

Change-Id: Ifdd82241952c9a63cdf9b53fe787f7503b8049bd
Reviewed-by: John Layt <jlayt@kde.org>
2012-05-15 23:03:23 +02:00
Friedemann Kleint 8b4bf5f816 Fix font printing on Windows using the native engine.
- Add HFONT, LOGFONT, trueType as properties of the
  Windows font engine, make it a real Q_OBJECT.
- Query properties in the Windows print engine and use the HFONT,
  LOGFONT there.

Change-Id: I5c35275b32ef6580d7fa15ed83c6e79e33dc3334
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2012-05-15 14:34:04 +02:00
kb cff6e39cd1 Remove capitalization when specifying include-libraries.
MinGW installations on case-sensitive filesystems expect
lowercase names of include-libraries and (usually) include
files.
When crosscompiling on Debian 6 (targeting MS Windows) linking
fails because mingw is looking for non-existent include-libraries.
Using lowercase names solves this.

Change-Id: Id3454f4ed8ba42b6ea93d65d9c0ce567db6712df
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-05-14 21:34:08 +02:00
Marius Storm-Olsen ad97aba452 Doc: Fix \sa usage
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>
2012-05-11 01:42:02 +02:00
Marius Storm-Olsen 9456528aac Merge branch 'docs-refactoring' into master
Change-Id: Iebd1966abace3cdf7f9428dcfc1ded5b124ab113
2012-05-10 09:11:23 +02:00
Friedemann Kleint 4e4403d69c No longer use deprecated methods for plugin loading.
Change-Id: I19c66b1c41ea4dd236726c86d7d071b210ec9244
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2012-05-09 13:40:23 +02:00
Casper van Donderen 1794c3b7a1 Doc: Modularize QtPrintSupport documentation.
This change moves the snippets and images to the modularized
directories.

Change-Id: Ib8f8556bcef13593ee40ac1122d765ed307ecb93
Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
2012-05-09 08:37:10 +02:00
Rohan McGovern de11b9f5a7 Revert "QtPrintSupport: Remove remaining LPR specific code"
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 80f7a38890.

Change-Id: I315ae275b37de358a74af28ab7bd691c9849acba
Reviewed-by: Sergio Ahumada <sergio.ahumada@nokia.com>
Reviewed-by: Toby Tomkins <toby.tomkins@nokia.com>
2012-05-08 06:58:27 +02:00
John Layt 80f7a38890 QtPrintSupport: Remove remaining LPR specific code
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>
2012-05-07 20:26:43 +02:00
Girish Ramakrishnan 36547f4eff Expose QPA API under qpa/*
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>
2012-05-07 20:25:24 +02:00
Thiago Macieira 0ec1b9d162 Use QFile::encodeName to encode a file name on Unix
This usually matches QString::toLocal8Bit, not toAscii.

Change-Id: I7b1c3e500be8265de0710cf36ca407c8b3f31edd
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
2012-05-04 15:24:52 +02:00
Thiago Macieira d9f4b130aa Change remaining uses of {to,from}Ascii to {to,from}Latin1 [QtPrintSupport]
This operation should be a no-op anyway, since at this point in time,
the fromAscii and toAscii functions simply call their fromLatin1 and
toLatin1 counterparts.

Task-number: QTBUG-21872
Change-Id: I73963515a44175cb63251d0508d5f28d78076d76
Reviewed-by: John Layt <jlayt@kde.org>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2012-05-03 11:33:05 +02:00
Rohan McGovern 6b98bf6a14 Fixed QtGui and QtPrintSupport with -qtnamespace and MSVC
With this compiler, external functions declared inside other functions
will end up in the wrong namespace.

Change-Id: Ia37283d632dbc2ee0c269aeffa1f045b3e60148e
Reviewed-by: Toby Tomkins <toby.tomkins@nokia.com>
2012-05-02 03:20:53 +02:00
Lars Knoll 64255ef650 Merge remote-tracking branch 'origin/api_changes'
Change-Id: I964b0a6f5c38351fdfafb8a2a128a349ff8c89d1
2012-04-17 12:58:52 +02:00
Girish Ramakrishnan a718a99438 doc: Mark all qpa classes as internal
All QPA api as marked as so:
    * preliminary - the api is subject to change anytime
    * internal - internal api that shouldn't be used by apps
    * ingroup qpa - "qpa" module. In the long run, qdoc should
      generate documentation for qplatform* API as if it were
      a seperate module.

Change-Id: I4e76c0e0c1805c679cabd52d5006f9fa9bc411c0
Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
2012-04-16 18:31:39 +02:00
Oswald Buddenhagen 143c4d3e13 Merge remote-tracking branch 'origin/master' into api_changes
Conflicts:
	configure
	src/widgets/styles/qwindowsxpstyle.cpp
	tests/auto/gui/kernel/qwindow/qwindow.pro
	tests/auto/gui/kernel/qwindow/tst_qwindow.cpp

Change-Id: I624b6d26abce9874c610c04954c1c45bc074bef3
2012-04-10 15:31:45 +02:00
Debao Zhang 1b29481f3b Documentation cleanup
They are comments of Qt3 support members which have been removed already.

Change-Id: I4b3dfaac1e5e1c3c13b83e41d0505dd16a4b6a8e
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2012-03-31 08:43:34 +02:00
Kent Hansen d236fe2214 Merge master into api_changes
Conflicts:
	src/corelib/global/qisenum.h
	src/dbus/qdbusconnection_p.h
	src/widgets/kernel/qwidget.cpp
	tests/auto/other/qaccessibility/tst_qaccessibility.cpp

Change-Id: I85102515d5fec835832cc20ffdc5c1ba578bd01d
2012-03-27 19:22:48 +02:00
Friedemann Kleint b895dfd641 Fix warnings in qtbase.
Change-Id: I981e08872440e35eb9bfad32b20543cfce8439c9
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2012-03-24 02:46:33 +01:00
Kent Hansen 3b512ae142 Merge master into api_changes
Change-Id: I93551e4d13a1b0815b359b9415060e9089477db1
2012-03-23 14:10:58 +01:00
Miikka Heikkinen b188221fee Fix QPrinter test in Windows
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>
2012-03-23 00:41:34 +01:00
Miikka Heikkinen 4bcd8fc2de Fix infinite recursion crash in QPrinterInfo::supportedPaperSizes()
This function calls platform specific function
QWindowsPrinterSupport::supportedPaperSizes(), which then called back
to QPrinterInfo::supportedPaperSizes(), causing infinite recursion.

Fixed by providing a proper implementation for querying supported
paper sizes in QWin32PrintEngine - the same implementation was used in
Qt 4.8.

Task-number: QTBUG-24190
Change-Id: I64a2773d83596df19818bf2636f1255943d7851d
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2012-03-19 18:02:39 +01:00
Kent Hansen 440f452aa3 Merge master into api_changes
Conflicts:
	src/corelib/kernel/qmetatype.cpp
	src/gui/kernel/qplatformsurface_qpa.cpp
	tests/auto/corelib/tools/qtimeline/qtimeline.pro

Change-Id: Iff3fff34eeeb06f02369767ddfce44cfde505178
2012-03-16 10:01:29 +01:00
Bradley T. Hughes 088ae4ca71 Re-enable native print/pagesetup dialogs on Mac OS X
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>
2012-03-15 09:50:18 +01:00
Lars Knoll d5098f2802 Merge remote-tracking branch 'origin/master' into api_changes
Conflicts:
	tests/auto/corelib/kernel/qmetatype/tst_qmetatype.cpp

Change-Id: I884afc3b6d65c6411733a897a1949e19393573a7
2012-03-12 21:03:49 +01:00
Donald Carr 431eb30e9e Remove stale references to Qtopia
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>
2012-03-12 13:14:05 +01:00
Marc Mutz c614bf25fe QtPrintSupport: make some constructors explicit
This is a semi-automatic search, so I'm
reasonably sure that all the exported ones
have been caught.

Change-Id: Ic65f21e06fb2c5d851390cd025c2a48db51f5930
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2012-03-08 08:36:47 +01:00
Bradley T. Hughes b7ba685150 Don't leak from QPlatformPrinterSupportPlugin::get()
Cache the first QPlatformPrinterSupport returned from the first
QPlatformPrinterSupportPlugin, and treat it as an persistent singelton.

Change-Id: Ic1c83d7c1cdf4a09723a74e0b9fd485e0b0b3acb
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2012-03-05 16:37:16 +01:00
Bradley T. Hughes e1ec8727ea Add API to convert QSizeF<->PaperSize in QPlatformPrinterSupport
These static public functions give printsupport plugins access to the
non-exported qt_paperSizeToQSizeF() and qSizeFTopaperSize() functions in
qprinter.cpp to aid implementing QPrintEngine and
QPlatformPrinterSupport::supportedPaperSizes().

Change-Id: I3ebcdcd17e863b06ceb135e096e630b37882a293
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
2012-03-05 16:37:16 +01:00
Bradley T. Hughes 79e64ede69 Remove #ifdef Q_WS_MAC code from QPrinter
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>
2012-03-05 16:37:16 +01:00
Casper van Donderen 95d83cb1b6 Remove the usage of deprecated qdoc macros.
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>
2012-03-02 23:16:25 +01:00
Marc Mutz 7679fcfeb5 QPrinterInfo: remove unused variable
Change-Id: I1a3db07e7fe25066a6b13ca41854566ccb1298df
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2012-02-26 11:58:16 +01:00
Friedemann Kleint b44e67e1ca Windows: Fix inclusion of <windows.h>
- Always use <qt_windows.h> as the last file to be included.
- Remove it from some headers, use Qt::HANDLE instead of HANDLE.
- Clean up #ifdef, use Q_OS_WIN for Windows/Windows CE.
- Add NOMINMAX to qt_windows.h to avoid problems with the
  min/max macros.
- Remove <windows.h> from qplatformdefs.h (VS2005)

Change-Id: Ic44e2cb3eafce38e1ad645c3bf85745439398e50
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
2012-02-01 11:06:19 +01:00
Jason McDonald 5635823e17 Remove "All rights reserved" line from license headers.
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>
2012-01-30 03:54:59 +01:00
Gunnar Sletta 4ecf82795d Remove use of QT_MODULE from library
These defines were there to aid in the commercial
licensing scheme we used long ago, and are no longer needed.

Keep a QT_MODULE(x) define so other modules continue compiling.

Change-Id: I8fd76cd5270df8f14aee746b6cf32ebf7c23fec7
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2012-01-25 10:19:44 +01:00
Jason McDonald 629d6eda5c Update contact information in license headers.
Replace Nokia contact email address with Qt Project website.

Change-Id: I431bbbf76d7c27d8b502f87947675c116994c415
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
2012-01-23 04:04:33 +01:00
Jason McDonald 1fdfc2abfe Update copyright year in license headers.
Change-Id: I02f2c620296fcd91d4967d58767ea33fc4e1e7dc
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
2012-01-05 06:36:56 +01:00
Sergio Ahumada 78c27380c6 Fix printerPaperSize and some tst_qprinter test failures
Removing QEXPECT_FAIL accordingly.

Task-number: QTBUG-22296
Task-number: QTBUG-22562
Change-Id: I128a78897722cc067168ee50dbcbfc7537abdfcd
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2011-12-29 13:18:20 +01:00
Bradley T. Hughes 14d9a2b06c Remove QAlphaPaintEngine::drawImage()
It was not a proper reimplementation of QPaintEngine::drawImage(), which
takes 4 arguments, not 3 as declared in QAlphaPaintEngine. Remove the
code, since it is not being called.

Change-Id: Ia125a9c7e8a2e05ec2ca11b859c01ccbf4d55af5
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2011-12-14 09:27:04 +01:00
David Faure 2aea665194 Add "see also" links for QPrinter::{get|set}PageMargins
Change-Id: Ie1ec9cf3740818c71a7afbdec2c99f5fa0e81337
Reviewed-by: Richard J. Moore <rich@kde.org>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2011-12-07 18:58:43 +01:00
Friedemann Kleint b8d330904b QtGui: Bring back HBITMAP/HICON conversion functions.
- Move the conversion functions from the Lighthouse plugin
  to QtGui as qt_pixmap/From/To/HBITMAP/HICON().
- Re-enable them in Widgets (QFileIconProvider, QWindowsStyle).
- Use them in QtPrintSupport.

Change-Id: I1436bc604160d94c78ef270ad2b31bf3b20b5c90
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2011-11-28 16:57:58 +01:00
Friedemann Kleint abe5a0a432 qtbase: Warnings fixes.
Change-Id: Ie97e36bc168b3de3cae2d0eb615e777884529a06
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
2011-11-18 10:31:07 +01:00
Bradley T. Hughes fde3b2e93c Move QPrinter::init() to QPrinterPrivate::init()
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>
2011-10-31 20:21:49 +01:00
Friedemann Kleint 264272fb88 QtPrintSupport: Remove Q_WS_QPA, qpa sections from .pro files.
Compile without -qpa.

Change-Id: Icfbf733964a7d6db80f8ec706a4b6fe84cd71b4d
Reviewed-by: Oliver Wolff <oliver.wolff@nokia.com>
2011-10-26 12:29:03 +02:00
Oliver Wolff 318a274381 Readded PrintSupport for Windows
The prepared plugin architecture for
printing support was used as much as
possible but some functionality had to
be done in src/printsupport.

Change-Id: Ic8446cb8018a0970b4da97c1912ba6dc20d2a09f
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2011-10-25 15:55:10 +02:00
Kevin Simons 15fee6e744 Fixed missing return statement in QPrintSupport
Change-Id: I8da63b7d4c5a456b0150b14e089d8f5e69c6a70a
Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
2011-10-19 22:27:09 +02:00
Casper van Donderen e86df8cc4b Move the documentation for the classes to their modules.
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>
2011-10-03 09:56:09 +02:00
Friedemann Kleint 2e95ce7459 Fix build.
- 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>
2011-08-19 10:55:28 +02:00
Lars Knoll 28f1c1b9ef Restore feature compatibility with QPrinter in QTextDocument::print
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>
2011-08-19 09:17:03 +02:00
Lars Knoll 6d2c5d9ffe Move the printer support backend into it's own plugin
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>
2011-08-19 09:16:52 +02:00
Lars Knoll f4f1b53b96 Move printing into it's own library
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>
2011-08-19 09:16:42 +02:00