summaryrefslogtreecommitdiffstats
path: root/src/printsupport/dialogs
Commit message (Collapse)AuthorAgeFilesLines
* print: Clamp margins entered by the user in the page setup dialogJarkko Koivikko2024-04-251-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The current functionality discards all margins if any values fall outside the minimum or maximum limits. This can confuse and frustrate users since the Windows native page setup dialog doesn't enforce minimum values. Introduce a new parameter outOfBoundsPolicy for the set margins functions in the QPageLayout: - OutOfBoundsPolicy::Reject The old behavior rejecting out of bounds values. - OutOfBoundsPolicy::Clamp The new behavior for clamping the values. The OutOfBoundsPolicy is applied only in StandardMode to maintain backwards compatibility in FullPageMode, where all margins are accepted. Use the new Clamp policy in the printsupport where the clamping is necessary. Maintain binary compatibility by putting the declaration of the old symbols without policy parameter behind QT_GUI_REMOVED_SINCE, and implement them in removed_api.cpp to call the new versions. Task-number: QTBUG-122410 Change-Id: I06aee292c1daff2863502f471b03798dafbcd81b Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* QWin32PrintEnginePrivate: Properly initialize flags and fields of DEVMODEFriedemann Kleint2023-11-221-0/+1
| | | | | | | | | | | | | | | | | | - Set the respective flags of dmFields in QWin32PrintEngine::setProperty() - Properly initialize newly allocated structs This is merely for completeness, the allocation code paths are not currently hit since the DEVMODE from the current printer is used, which also has most dmFields bits set. Pick-to: 6.6 Task-number: QTBUG-114604 Change-Id: I880d9faef9b1d491db4accd53d0d75b718f7f244 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io> Reviewed-by: Wladimir Leuschner <wladimir.leuschner@qt.io>
* QWin32PrintEnginePrivate: Brush up the codeFriedemann Kleint2023-11-221-6/+7
| | | | | | | | | | | | - Use nullptr - Use member initialization - Remove C-style casts Pick-to: 6.6 Task-number: QTBUG-114604 Change-Id: I6f9519010bfbd7c5afa07d9a8752b40c3b29673e Reviewed-by: Wladimir Leuschner <wladimir.leuschner@qt.io> Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* Use Desktop Handle in case of no valid app HWND for QPrintDialogWladimir Leuschner2023-11-081-1/+6
| | | | | | | | | | | | | The call Win32 API PrintDlgEx needs in the PRINTDLGEX struct a valid window handle for hwndOwner to show up. In case there is no window created, as seen in the example, the call to PrintDlgEx fails with COM error code E_HANDLE. Using the Desktop HWND, in case of no valid app HWND creates a valid call to PrintDlgEx with showing up the dialog. Pick-to: 6.6 Fixes: QTBUG-118899 Change-Id: Ie7009c8e6e8285a0b6312e310b3d065c532f9e17 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* print: Use transient parent for native print dialog if providedJarkko Koivikko2023-10-261-13/+16
| | | | | | Pick-to: 6.6 Change-Id: I6703784d57dab732e5d501cec0d1231b564a065e Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* Include what you need: <QPointer>Marc Mutz2023-10-122-0/+4
| | | | | | | | | | | | | | | | | | | | | | | All these TUs relied on transitive includes of qpointer.h, maybe to a large extent via qevent.h, though, given that qevent.h is more or less the only public QtBase header that includes qpointer.h, something else seems to be at play here. Said qevent.h actually needs QPointer in-name-only, so a forward declaration would suffice. Prepare for qevent.h dropping the include. The algorithm I used was: If the TU mentions 'passiveGrabbers', the name of the QEvent function that returns QPointers, and the TU doesn't have qpointer.h included explicitly, include it. That may produce False Positives, but better safe than sorry. Otherwise, in src/, add an include to all source and header files which mention QPointer. Exception: if foo.h of a foo.cpp already includes it, don't include again. Task-number: QTBUG-117670 Change-Id: I3321cccdb41ce0ba6d8a709cea92427aba398254 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* printsupport: use string view types moreAnton Kudryavtsev2023-09-121-3/+3
| | | | | | | | sizeof(QStringView) == 16 sizeof(QString) == 24 Change-Id: I3edf0d6869e92c47472980e5f99b9bf9c8a3b7cd Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* QPrintDialog on macOS: Don't crash when parent is not a windowVolker Hilsheimer2023-09-051-2/+3
| | | | | | | | | | | The test case is an incomplete version of the test that will be added to verify the fix for the referenced bug report. The test crashes already when showing the dialog without this fix. Task-number: QTBUG-116277 Pick-to: 6.6 6.5 6.2 Change-Id: I969a723157f6453b78bafae5cb24a6b37b1eea50 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* Fix build with -no-feature-messageboxTasuku Suzuki2023-01-171-2/+2
| | | | | | Pick-to: 6.5 Change-Id: I4c34f6aa2106afc528f182d7925442acf82b7000 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* QtPrintSupport: Disambiguate static functionsFriedemann Kleint2023-01-122-4/+4
| | | | | | | | | They cause clashes in CMake Unity (Jumbo) builds. Task-number: QTBUG-109394 Pick-to: 6.5 Change-Id: If3029d5b99499fd0e216fc080ade9842c2d11ea4 Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
* macOS: Stop using the deprecated [NSWorkspace openFile:] APITor Arne Vestbø2023-01-021-1/+1
| | | | | | | | | We can use openURL instead, which also opens local files in the associated application. Pick-to: 6.5 Change-Id: Ieddc6fb68d6b9e64195ed261953b9fffb6b0b73e Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* Port from container.count()/length() to size()Marc Mutz2022-10-041-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is semantic patch using ClangTidyTransformator: auto QtContainerClass = expr(hasType(namedDecl(hasAnyName(<classes>)))).bind(o) makeRule(cxxMemberCallExpr(on(QtContainerClass), callee(cxxMethodDecl(hasAnyName({"count", "length"), parameterCountIs(0))))), changeTo(cat(access(o, cat("size"), "()"))), cat("use 'size()' instead of 'count()/length()'")) a.k.a qt-port-to-std-compatible-api with config Scope: 'Container'. <classes> are: // sequential: "QByteArray", "QList", "QQueue", "QStack", "QString", "QVarLengthArray", "QVector", // associative: "QHash", "QMultiHash", "QMap", "QMultiMap", "QSet", // Qt has no QMultiSet Change-Id: Ibe8837be96e8d30d1846881ecd65180c1bc459af Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Move QMacAutoReleasePool from qglobal.h to qcore_mac_p.hSona Kurazyan2022-09-011-0/+2
| | | | | | | | And include qcore_mac_p.h where needed. Task-number: QTBUG-99313 Change-Id: Idb1b005f1b5938e8cf329ae06ffaf0d249874db2 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* macOS: set print dialog up with page attributes when no printer is installedVolker Hilsheimer2022-06-171-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | When the print dialog is opened without a printer installed, then the printer's output format is PDF rather than native. In this case, we need to set the NSPrintInfo with some page atttributes explicitly, and not default to the application-wide NSPrintInfo.sharedPrintInfo. Otherwise, the print dialog will show the wrong page size and orientation, and the printer will not have the previously set values when the dialog returns. The dialog always shows the wrong values for the page margins (only available through the presets dialog), but the printer's values are not overridden. Also, the print range is taken care of correctly by the code further down in this function, irrespective of the printer's output format. Note: this cannot be unit tested as we need to open the native print dialog on a system without printer installed, and compare the values we set on the printer before opening the dialog with the values after the dialog was successfully finished via PDF->Save as PDF. Fixes: QTBUG-100188 Pick-to: 6.4 6.3 6.2 Change-Id: I8f1561e054f6a867b131111845c9b061778e4eb0 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* Fix typos in docs and commentsKai Köhne2022-06-152-2/+2
| | | | | | | | | Found by codespell Pick-to: 6.4 Change-Id: Ie3e301a23830c773a2e9aff487c702a223d246eb Reviewed-by: Nicholas Bennett <nicholas.bennett@qt.io> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* Use SPDX license identifiersLucie Gérard2022-05-1617-634/+34
| | | | | | | | | | | | | Replace the current license disclaimer in files by a SPDX-License-Identifier. Files that have to be modified by hand are modified. License files are organized under LICENSES directory. Task-number: QTBUG-67283 Change-Id: Id880c92784c40f3bbde861c0d93f58151c18b9f1 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* QtPrintSupport: includemocsMarc Mutz2022-04-292-0/+4
| | | | | | | | | | | Including moc files directly into their classes' TU tends to improve codegen and enables extended compiler warnings, e.g. about unused private functions or fields. Pick-to: 6.3 6.2 5.15 Task-number: QTBUG-102886 Change-Id: Ic8ceebfa270d0831a8598f98aa255acfc17e953b Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* Printsupport: replace remaining uses of QL1String with QL1StringViewSona Kurazyan2022-04-191-1/+1
| | | | | | Task-number: QTBUG-98434 Change-Id: Ibeb9608d3ebc3c0c2e7ea93561e24cb24c601fec Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Printsupport: use _L1 for for creating Latin-1 string literalsSona Kurazyan2022-04-195-32/+42
| | | | | | Task-number: QTBUG-98434 Change-Id: I415132ed381c25313e7fcccd050e522667eb6c22 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Printsupport: stop using QL1Char constructor for creating char literalsSona Kurazyan2022-04-192-10/+9
| | | | | | | | Required for porting away from QLatin1Char/QLatin1String in scope of QTBUG-98434. Change-Id: Ia186ed178239796bdf19db5b35a36ea606baf937 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Unix: Correctly update options pane for PDF printerAlexander Volkov2022-03-151-2/+2
| | | | | | | | | | Update printer and m_currentPrintDevice before calling QPrintDialogPrivate::selectPrinter() to show values for PDF printer instead of the previously selected printer. Pick-to: 6.3 6.2 5.15 Change-Id: Iacc34ca4460ec4de0b4b373cd875628733df01bd Reviewed-by: Albert Astals Cid <albert.astals.cid@kdab.com>
* QPrintDialog/win: Fix use of deprecated QMessageBox::warningMårten Nordheim2022-03-051-3/+3
| | | | | | | | by using the new one Pick-to: 6.3 6.2 Change-Id: I8779107079c4e3d4b1d48c05b6fbfef1b6e98b99 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Fix UI mismatch when QPrinter::setDuplexZhang Hao2022-02-181-3/+4
| | | | | | | | | | | | | | | | | | Amends fa854f214a3c812e5548ff55d179dd07ef99053b. If user call QPrinter::setDuplex method, the QPrintDialog explicitDuplexMode value won't update. Fix this by: 1) handle device-specific default and value set in QPrinter in QCupsPrintEngine(Private) 2) handle the explicitly user-selected value in QPrintDialog(Private) Done-with: Michael Weghorn <m.weghorn@posteo.de> Pick-to: 5.15 6.2 6.3 Fixes: QTBUG-99504 Change-Id: I1a471a8554e83aa4bec8bb95fcc95f9135b0ac8c Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Sync QPrinter orientation when PageSetup Orientation selectedZhang Hao2022-02-181-0/+1
| | | | | | | | | | | | QPrinter orientation will not effect when PageSetup Orientation selected Fix this by sync PageSetup orientation property to QPrinter. Fixes: QTBUG-100261 Pick-to: 5.15 6.2 6.3 Change-Id: I264852ea18317308dfcfb58c880f5e8ad8d299bd Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Remove unused .qrc filesJoerg Bornemann2022-01-171-38/+0
| | | | | | | | Task-number: QTBUG-94446 Change-Id: I136d8b4ab070a832866aa50b5701fc6bd863df8a Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Alexey Edelev <alexey.edelev@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Windows: Read page size and orientation from setup dialogVolker Hilsheimer2021-06-161-3/+28
| | | | | | | | | | | | | | | | | | PAGESETUPDLG's hDevMode reports the page size and orientation selection of the user, so read that data to get accurate results. Otherwise, the page size of a landscape page wouldn't match any known page format, and we'd end up with a custom size that would not be valid for the preview, breaking the preview UI's orientation state. Reuse the helper from QPageSize to map Windows page size ID to our own enum. Fixes: QTBUG-93764 Pick-to: 6.2 6.1 5.15 Change-Id: Ib9a848619e3ba8780264ad76ed43c4fffae6b07f Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Andy Shaw <andy.shaw@qt.io>
* Use icon themes in QPrintPreviewDialog [if they exist]Albert Astals Cid2021-06-0514-19/+19
| | | | | | | | | | | I've renamed a few of the qrc icons to the names most common icon themes use for similar actions (the action themselves are not part of the icon naming spec https://specifications.freedesktop.org/icon-naming-spec/icon-naming-spec-latest.html since it's not been updated in a while). Task-number: QTBUG-85879 Change-Id: I23bb300dbf4e953517516c97b8af118859aeb6fa Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Make sure _q_printerChanged is called even if only pdf printer is availableAlbert Astals Cid2021-05-211-0/+2
| | | | | | | | Otherwise things like the pagesRadioButton don't get properly disabled Change-Id: Idc0693b6747f13da5afb22e2187af310a5b454f8 Pick-to: 6.1 5.15 Reviewed-by: Andy Shaw <andy.shaw@qt.io>
* Silence warning in QPrintDialogSzabolcs David2021-05-013-8/+8
| | | | | | | | | | | | | | | | Selecting "Print all" at page range options and accepting the dialog prints a warning message: "QPageRanges::addRange: 'from' and 'to' must be greater than 0" This happens because QPrintDialog tries to clear the printer's range collection by setting 'from' and 'to' to zero - which is an invalid page number. Avoid the validation method by setting QPageRanges directly to a clean instance. Pick-to: 6.1 Change-Id: I23b66a97b36aa23506904e93688cb60a9d496bfb Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Add nullptr checkOliver Eftevaag2021-03-161-1/+2
| | | | | | | | Adding a nullptr check before dereferencing in case q is null. Pick-to: 6.0 6.1 Change-Id: Ia440e2ed41cbaf06a5919930c2e1615bb3916ff3 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Remove the qmake project filesJoerg Bornemann2021-01-071-46/+0
| | | | | | | | | | | | | | | | Remove the qmake project files for most of Qt. Leave the qmake project files for examples, because we still test those in the CI to ensure qmake does not regress. Also leave the qmake project files for utils and other minor parts that lack CMake project files. Task-number: QTBUG-88742 Change-Id: I6cdf059e6204816f617f9624f3ea9822703f73cc Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* Rename QRangeCollection to QPageRanges, make it a proper value typeVolker Hilsheimer2020-11-081-5/+7
| | | | | | | | | | | | | | | | | | | | | | | The type is specific about printing, so give it a name in line with QPageLayout and QPageSize. As per API review comment, it's not clear why this type should not be a regular, copyable and movable value type. It stores a list of intervals. Give it value-type semantics, as an implicitly shared class. Convert the parse method into a static factory function. Add a Range type and use it instead of the semantic-free QPair. Move QPrinter getter into QPagedPainteDevice, make it return a copy rather than a pointer, and add a setter. Extend test case to cover all members and more merge cases. Fix bugs found that way. Fixes: QTBUG-88113 Change-Id: If17ea4d410d49f16b097e88b7979db5d72add820 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Doc: Fix documentation warnings for Qt Print SupportTopi Reinio2020-10-301-1/+1
| | | | | | Task-number: QTBUG-86295 Change-Id: I8121f7c127896e57ec2e7636828af36bb83acfe3 Reviewed-by: Paul Wicking <paul.wicking@qt.io>
* Windows: Build print support plugin directly into QtPrintSupportFriedemann Kleint2020-09-242-2/+2
| | | | | | Task-number: QTBUG-83259 Change-Id: I23042e1eb89d407692a96bfb2d6c4efdddbfb50f Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* Remove obsolete APIs and comments from QAbstractPrintDialogVolker Hilsheimer2020-09-104-89/+26
| | | | | | | | | | | | | Merging QAbstractPrintDialog with QPrintDialog, as proposed in the removed comment, seems to have little value, given that the platform specific implementations rely on the current abstraction. Adjust examples and tests; with the QAbstractPrintDialog test now testing the QPrintDialog::options API, the corresponding test function can be removed from the QPrinter test. Change-Id: Ia8906627898332e8590ea9b27e3d71dfcc6e8d71 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* Remove deprecated QPrinter and QPagedPaintDevice APIsVolker Hilsheimer2020-09-042-3/+3
| | | | | | | | | | | Adjusting the QPrinter test case - some use cases no longer exist, or are already tested in QPageSize and QPageLayout tests. Adjust examples and manual tests. Change-Id: I01cbc65f3d8031aea2dac86dd942126ba708b111 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* Mark obsolete QPrinter functions as deprecated from 5.15 onVolker Hilsheimer2020-09-031-1/+1
| | | | | | | | | | | Some of the methods are overrides of virtuals in QPagedPaintDevice, so document and mark those as obsolete as well. Adjust code that calls those APIs to use the recommended replacement. Change-Id: I3cd1980609ea20808d17379a5f97ca595e869875 Pick-to: 5.15 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* Move QFileSystemModel into QtGuiVolker Hilsheimer2020-08-251-1/+1
| | | | | | | | | | | | | | This requires a QAbstractFileIconProvider in QtGui, as the standard QFileIconProvider depends on QStyle, and cannot be moved out of QtWidgets. QAbstractFileIconProvider returns strings for file types, but returns no icons yet. Support for a default icon set might be added in a follow-up commit. Change-Id: Ib9d095cd612fdcf04db62f2e40709fcffe3dc2b7 Fixes: QTBUG-66177 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* Automatically register comparison operators in QMetaTypeFabian Kosmale2020-07-081-3/+0
| | | | | | | | | | | | | | | | | This removes the fully manual registration of comparison operators in QMetaType and replaces it with an automatic registration through Q_DECLARE_METATYPE(). [ChangeLog][QMetaType] The QMetaType::registerComparator() and QMetaType::registerEqualsComparator() have been removed. Q_DECLARE_METATYPE() now automatically registers any operator==() and/or operator<() for a type visible where it is used on that type, as part of declaring its meta-type. Change-Id: I3df451b652b735c093533838bf32f3cc785439f8 Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Ulf Hermann <ulf.hermann@qt.io> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* Add ; to Q_UNUSEDLars Schmertmann2020-07-071-1/+1
| | | | | | | | This is required to remove the ; from the macro with Qt 6. Task-number: QTBUG-82978 Change-Id: I3f0b6717956ca8fa486bed9817b89dfa19f5e0e1 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Use QList instead of QVector in printsupportJarek Kobus2020-07-061-1/+1
| | | | | | Task-number: QTBUG-84469 Change-Id: I540b5574e358b100a595eb1676b051dfe25cb640 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Move macOS print support from platform plugin into QtPrintSupportTor Arne Vestbø2020-06-042-14/+6
| | | | | | Task-number: QTBUG-83256 Change-Id: I29044b6c3f952c259f501f94a175c8ef2cbaae55 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* Get rid of QTextCodec in the cups supportLars Knoll2020-05-142-12/+18
| | | | | | | | This should all be utf-8 anyway, but right now simply exchange the text codec with a string converter. Change-Id: If0a230776824598b6378bb402d692c941e371104 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Support multiple page ranges in QPrinterSzabolcs David2020-04-091-85/+5
| | | | | | | | | | | | | | | | Add a new QRangeCollection type to store and manage multiple page ranges. This moves out the parser and validator logic from the platform dependent (UNIX) dialog and makes it publicly available from QPrinter. This improves the usability of QPrinter in those applications which doesn't use print dialog to configure printer. (e.g.: QTextDocument, QWebEnginePage) Change-Id: I0be5a8a64781c411f83b96a24f216605a84958e5 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
* Remove QGuiAction again and split QAction implementation up insteadVolker Hilsheimer2020-03-291-1/+2
| | | | | | | | | | | | | | | | | | | | | | Duplicating the number of classes is a high price to pay to be able to have some QAction functionality behave differently, or be only available in widgets applications. Instead, declare the entire API in QtGui in QAction* classes, and delegate the implementation of QtWidgets specific functionality to the private. The creation of the private is then delegated to the Q(Gui)ApplicationPrivate instance through a virtual factory function. Change some public APIs that are primarily useful for specialized tools such as Designer to operate on QObject* rather than QWidget*. APIs that depend on QtWidgets types have been turned into inline template functions, so that they are instantiated only at the caller side, where we can expect the respective types to be fully defined. This way, we only need to forward declare a few classes in the header, and don't need to generate any additional code for e.g. language bindings. Change-Id: Id0b27f9187652ec531a2e8b1b9837e82dc81625c Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Remove QRegExp usage from Qt PrintSupportLars Knoll2020-03-171-3/+10
| | | | | Change-Id: I32daae8e5028084dd12f0aba4da7920f995d919f Reviewed-by: Samuel Gaist <samuel.gaist@idiap.ch>
* Merge remote-tracking branch 'origin/5.15' into devQt Forward Merge Bot2020-03-111-35/+37
|\ | | | | | | Change-Id: Ibee5acec72a1a1769d4bc5f23f56c7dc8d4cf3cb
| * macOS: Support printing when no printers are installedTor Arne Vestbø2020-03-091-35/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Even if there are no printers installed, we can still show the print dialog, which gives the user feedback about no printers being installed, allows them to install one, or allows them to print to PDF as a fallback. The code for printing to PDF has been re-enabled, and the conditions of QTBUG-38820 have been removed as the problem is no longer present. The code also takes into account the possibility that the user chose to print to PostScript, which we don't yet support, but warn about. We now also support opening the printed document in Preview. This requires a minor assumption about the print operation being done synchronously after the print dialog is accepted, but this is something we can improve in the future with internal APIs if it turns out to be a problem. Printing workflows such as sending the printed document via mail or messenger are not not supported, and will give a warning. Fixes: QTBUG-36112 Change-Id: I8ba9e2c5ce31a5a06542c4a7126d005e4b27f2be Reviewed-by: Andy Shaw <andy.shaw@qt.io>
* | QComboBox: remove currentIndexChanged(const QString&)Vitaly Fanaskov2020-02-192-3/+3
| | | | | | | | | | | | | | Fixes: QTBUG-81913 Task-number: QTBUG-81845 Change-Id: I8f24b858ce4e35b495440001d7734cc8f169cd5f Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* | QSpinBox: remove deprecated signal valueChanged(const QString &)Vitaly Fanaskov2020-02-101-6/+6
| | | | | | | | | | | | Task-number: QTBUG-81845 Change-Id: I91148cac553f63b44968337ccc121e7376ee4465 Reviewed-by: Christian Ehrlicher <ch.ehrlicher@gmx.de>