summaryrefslogtreecommitdiffstats
path: root/src/printsupport/dialogs
Commit message (Collapse)AuthorAgeFilesLines
* Merge remote-tracking branch 'origin/5.14' into 5.15Qt Forward Merge Bot2020-01-061-7/+0
|\ | | | | | | | | | | | | Conflicts: src/corelib/kernel/qvariant.h Change-Id: I8f3873e74b9795ac889e7c7ec5de2619bca92160
| * Fix some qdoc warningsFriedemann Kleint2020-01-021-7/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | src/corelib/tools/qhash.cpp:2596: (qdoc) warning: clang found diagnostics parsing \fn template <class Key, class T> template <class InputIterator> QMultiHash::QMultiHash(InputIterator begin, InputIterator end) error: 'QMultiHash' is not a class, namespace, or enumeration src/corelib/kernel/qobject.cpp:4593: (qdoc) warning: Undocumented parameter 'EXPORT_MACRO' in QObject::Q_NAMESPACE_EXPORT src/corelib/global/qfloat16.cpp:129: (qdoc) warning: Cannot tie this documentation to anything src/corelib/text/qlocale.qdoc:1204: (qdoc) warning: Overrides a previous doc src/corelib/text/qlocale.qdoc:1187: (qdoc) warning: (The previous doc is here) src/network/kernel/qhostinfo.cpp:597: (qdoc) warning: clang found diagnostics parsing \fn QHostInfo(QHostInfo &&other) src/printsupport/dialogs/qabstractprintdialog.cpp:346: (qdoc) warning: clang found diagnostics parsing \fn int QAbstractPrintDialog::exec(): error: out-of-line definition of 'exec' does not match any declaration in 'QAbstractPrintDialog' src/testlib/qsignalspy.qdoc:101: (qdoc) warning: clang found diagnostics parsing \fn QSignalSpy(const QObject *obj, const QMetaMethod &signal): error: expected unqualified-id src/testlib/doc/src/qttest-best-practices.qdoc:28: (qdoc) warning: Can't link to 'Q_VERIFY2()' src/widgets/kernel/qactiongroup.cpp:291: (qdoc) warning: Undocumented parameter 'b' in QActionGroup::setExclusive() src/widgets/kernel/qactiongroup.cpp:305: (qdoc) warning: Undocumented return value (hint: use 'return' or 'returns' in the text src/widgets/kernel/qshortcut.cpp:542: (qdoc) warning: No such parameter 'context' in QShortcut::QShortcut() src/widgets/widgets/qdatetimeedit.cpp:632: (qdoc) warning: No such parameter 'minimumTime' in QDateTimeEdit::setTimeRange() src/widgets/widgets/qdatetimeedit.cpp:632: (qdoc) warning: No such parameter 'maximumTime' in QDateTimeEdit::setTimeRange() src/widgets/widgets/qdatetimeedit.cpp:632: (qdoc) warning: No such parameter 'less' in QDateTimeEdit::setTimeRange() Change-Id: I9799b5135e84c4d811674b2d114ef27315bc12df Reviewed-by: Paul Wicking <paul.wicking@qt.io>
* | Merge remote-tracking branch 'origin/5.14' into 5.15Qt Forward Merge Bot2019-12-271-3/+5
|\| | | | | | | | | | | | | | | | | Conflicts: .qmake.conf src/plugins/platforms/xcb/qxcbscreen.cpp src/widgets/accessible/qaccessiblewidget.cpp Change-Id: Ib3138e61ba7981610940509a7ff02ba2dd281bf0
| * QPrintDialog: don't access dangling pointer when cups is disabledChristian Ehrlicher2019-12-231-3/+5
| | | | | | | | | | | | | | | | | | | | When no cups support is available, ui.pagesRadioButton is destroyed in QPrintDialogPrivate::init() but was accessed later on. Fix it by moving the cups check one line above. Fixes: QTBUG-80945 Change-Id: Ieb062b39e1461f39665ef612dfea1d7757274b7e Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* | Replace usages of QVariant::value by qvariant_castOlivier Goffart2019-12-152-16/+16
| | | | | | | | | | | | | | This is done automatically with a clazy check Change-Id: I3b59511d3d36d416c8eda74858ead611d327b116 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | Tidy nullptr usageAllan Sandfeld Jensen2019-12-062-2/+2
| | | | | | | | | | | | | | | | | | | | | | Move away from using 0 as pointer literal. Done using clang-tidy. This is not complete as run-clang-tidy can't handle all of qtbase in one go. Change-Id: I1076a21f32aac0dab078af6f175f7508145eece0 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | Linux print dialog: use simpler terminology for duplexFrederik Gladhorn2019-10-171-4/+4
|/ | | | | | | | | Make the dialog more user-friendly by using simple terms. Fixes: QTBUG-79100 Change-Id: Ie4fa61cd0dc2a7fe5af9fd5834abe9d0e88c55de Reviewed-by: Paul Wicking <paul.wicking@qt.io> Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
* Remove dead code from Qt 4 timesTor Arne Vestbø2019-08-201-2/+0
| | | | | | | | | | The benefit of keeping this code around was to inspire or inform changes in the areas to take into account possibly missing features in Qt 5, but at this point that benefit is questionable. We can always use the history to learn about missing pieces if needed. Change-Id: I87a02dc451e9027be9b97554427bf8a1c6b2c025 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* Merge remote-tracking branch 'origin/5.13' into devQt Forward Merge Bot2019-08-151-0/+5
|\ | | | | | | Change-Id: Icc80dacbca8613f2996be75553ff15d0ad242b7e
| * Unix: Disable complex page ranges widget when printing to pdfAlbert Astals Cid2019-08-131-0/+5
| | | | | | | | | | | | | | | | | | It doesn't work since it relies on cups to do the heavy lifting and cups is not used when printing to PDF Task-number: QTBUG-77351 Change-Id: I1bdda58b50112b9bb3d7991f3cfd860d6b4f4fc4 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* | QFileDialog: mark obsolete enum DontUseSheet as deprecatedChristian Ehrlicher2019-05-171-1/+3
| | | | | | | | | | | | | | | | | | | | QFileDialog::DontUseSheet is obsolete since 4.5 and not used anywhere inside the Qt code base. Mark it as deprecated and remove the last usage in the examples. Change-Id: If3d23fd5906314e6ebc7080efa79da14a2aa2720 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* | QPrintSupport: do not bypass a base class' virtualGiuseppe D'Angelo2019-05-152-3/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QAbstractPrintDialog (a QDialog subclass) has an interesting override of exec(): a pure virtual, without a body. The UNIX subclass was therefore forced to override it, but since it did not need to do anything with it, it had to call QDialog::exec (bypassing the direct base, otherwise it would cause a pure virtual call). Eliminate the pure virtual override. This should be BC; the layout of the vtable does not change, merely its contents. Change-Id: I84ac23c938f1934f699df032ef1bde0d6df77784 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | Remove remaining Q_DECL_NOEXCEPT/Q_DECL_NOTHROW usageAllan Sandfeld Jensen2019-04-041-5/+5
| | | | | | | | | | Change-Id: I91ac9e714a465cab226b211812aa46e8fe5ff2ab Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | QString: mark obsolete functions as deprecatedChristian Ehrlicher2019-03-041-1/+1
| | | | | | | | | | | | | | | | | | | | Mark obsolete functions in QString as deprecated so they can be removed with Qt6: - QString::sprintf() - QString::vsprintf() Change-Id: I9b7748db95291c34b95ff3ad3e3aabc8215aeaae Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@qt.io>
* | Unix: QPageSetupDialog: Use print device default paper sizeAhmad Samir2019-02-262-14/+24
|/ | | | | | | | | | | | | | When invoking QPageSetupDialog from QPrintPreviewDialog, don't construct a new QPageSetupDialog every time the pageSetup action is triggered, instead reuse the dialog if it's already been created. This way setPrinter is called only once. This matches how QPrintDialog invokes QPageSetupDialog. Set the default print device paper size in initPageSizes() instead of setPrinter(). Change-Id: Ic82e6dd47ee00ecdd942c5ba59dbf09fb18ef218 Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io> Reviewed-by: Andy Shaw <andy.shaw@qt.io>
* Replace QWidget::margin() with QWidget::contentsMargins()Christian Ehrlicher2019-02-131-1/+1
| | | | | | | | Replace deprecated QWidget::margin/setMargin() calls with contentsMargin/setContentsMargins(). Change-Id: I7fe8056196d73d1be97446d40a438cd0b1a13817 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Merge remote-tracking branch 'origin/5.12' into devLiang Qi2019-01-041-0/+2
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Also blacklist tst_QRawFont::unsupportedWritingSystem() and tst_QGlyphRun::mixedScripts() on windows for now. Conflicts: qmake/generators/makefile.cpp src/corelib/itemmodels/qstringlistmodel.cpp src/platformsupport/fontdatabases/windows/qwindowsfontengine_p.h tests/auto/corelib/itemmodels/qstringlistmodel/tst_qstringlistmodel.cpp tests/auto/gui/text/qglyphrun/BLACKLIST tests/auto/gui/text/qrawfont/BLACKLIST Task-number: QTBUG-72836 Change-Id: I10fea1493f0ae1a5708e1e48d0a4d7d6b76258b9
| * Windows: Use the ptPaperSize information to set the paper sizeAndy Shaw2018-12-181-0/+2
| | | | | | | | | | | | | | | | | | | | In some cases the DEVMODE structure is not updated with the selected paper size, whereas the ptPaperSize structure is always set to the right paper size. Therefore we set the page size on the printer to this after the page dialog is shown. Change-Id: Ieafd486232aca6e930f73a8131b7196ddecea305 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* | Pass non-trivial types by const-ref in range-loop [-Wclazy-range-loop]Sergio Martins2018-12-051-1/+1
|/ | | | | | | | | | | | | corelib/serialization/qcbormap.h:176:14: warning: Missing reference in range-for with non trivial type (QPair<QCborValue, QCborValue>) corelib/serialization/qjsoncbor.cpp:820:10: warning: Missing reference in range-for with non trivial type (QJsonValue) gui/kernel/qguiapplication.cpp:1171:10: warning: Missing reference in range-for with non trivial type (QString) printsupport/dialogs/qprintdialog_unix.cpp:741:10: warning: Missing reference in range-for with non trivial type (QString) printsupport/kernel/qprinter.cpp:1851:10: warning: Missing reference in range-for with non trivial type (QVariant) tools/qlalr/cppgenerator.cpp:463:8: warning: Missing reference in range-for with non trivial type (Name) Change-Id: I327b0f116e329e55952ed5740a5f5af4b2918392 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Modernize the "thread" featureUlf Hermann2018-08-171-1/+4
| | | | | | | | | | Add it to configure.json and replace all occurrences of QT_NO_THREAD with QT_CONFIG(thread). Add conditions for other features that depend on thread support. Remove conditions where we can use the QMutex and QThreadStorage stubs. Change-Id: I284e5d794fda9a4c6f4a1ab29e55aa686272a0eb Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* Fix clang develop buildAllan Sandfeld Jensen2018-05-311-1/+1
| | | | | | | | A mismatch of enums after a rename. Change-Id: Ib28e4607f20583afcb9210fdef7f52d95c63e3dd Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> Reviewed-by: Andy Shaw <andy.shaw@qt.io>
* Merge remote-tracking branch 'origin/5.11' into devLiang Qi2018-05-241-0/+4
|\ | | | | | | | | | | | | | | | | | | Conflicts: mkspecs/features/qt_common.prf src/corelib/tools/qstring.cpp src/plugins/platforms/windows/qwindowsmousehandler.cpp src/widgets/widgets/qmainwindowlayout_p.h Change-Id: I5df613008f6336f69b257d08e49a133d033a9d65
| * Fix build for Android with android-clangLiang Qi2018-05-161-0/+4
| | | | | | | | | | | | | | | | | | | | dialogs/qprintdialog_unix.cpp:149:15: error: private field 'm_printer' is not used [-Werror,-Wunused-private-field] QPrinter *m_printer; ^ Change-Id: Idce515a3e66019756b6ad2d305072e0a89bb823b Reviewed-by: Albert Astals Cid <albert.astals.cid@kdab.com> Reviewed-by: BogDan Vatra <bogdan@kdab.com>
* | cups: Fix UI mismatch when a default printer option choice is not availableAlbert Astals Cid2018-05-091-14/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It can happen that the user sets a default printer option choice, using lpoptions or similar, and that is a mistake since that choice is not available because it needs an installable option that is not in the printer. We need to check that and set the internal ppd option not to the value the user gave to lpoptions but to something sane Also rename foundMarkedOption to foundMarkedChoice since we're going through all the choices of a given option in that loop Change-Id: Ic9362d9b4fba33025c4d45eed8ddd203c95836bf Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> Reviewed-by: Andy Shaw <andy.shaw@qt.io>
* | Merge "Merge remote-tracking branch 'origin/5.11' into dev" into ↵Liang Qi2018-05-022-14/+10
|\ \ | | | | | | | | | refs/staging/dev
| * | Merge remote-tracking branch 'origin/5.11' into devQt Forward Merge Bot2018-05-022-14/+10
| |\| | | | | | | | | | Change-Id: Ia082e20e2eb4b76afd4c1a1584ff4e5514655d7a
| | * Remove hack that violates ODRThiago Macieira2018-04-261-11/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | GCC with LTO sees through our hack: qprintdialog_unix.cpp:212:7: warning: type ‘struct QPrintDialogPrivate’ violates the C++ One Definition Rule [-Wodr] qabstractprintdialog.cpp:49:7: note: a different type is defined in another translation unit This hack was there so that the QPrintDialog functions in qabstractprintdialog.cpp could use the d pointer. So instead of hacking around the issue, just use the class that this file has access to: QAbstractPrintDialogPrivate. Change-Id: I3840d727dee443318644fffd1528e2e8b814e983 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
| | * Improve padding hole issues in QAbstractPrintDialogPrivateThiago Macieira2018-04-261-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Placing a boolean between two pointers means we'll have a 7-byte padding hole (64-bit). So move it to the bottom of the class, consuming the tail padding that needs to be there anyway on 64-bit systems. On 32-bit Unix systems, the better place would be at the top, as the parent class (QDialogPrivate) has a 3-byte tail padding. But that's fragile, as QDialogPrivate can change, doesn't apply to MSVC's ABI and doesn't gain us anything on 64-bit. Change-Id: I3840d727dee443318644fffd1528e4f05f4142bd Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | | Unix print dialog: Properly initialize duplexMichael Weghorn2018-05-021-5/+26
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In case the user has explicitly selected a value for the duplex mode in the print dialog before, select this one when another printer is selected and the newly selected printer supports it. Otherwise, always set to the default value of the respective device that was selected. This way, default values that the user (or admin) has set for a CUPS printer (or printer instance) are honored, but an explicit user choice made in the dialog takes precedence. Previously, the duplex values was always reset to "None" every time the printer was changed. Change-Id: Id9683a05b10cf7a4b842f8b6c8452e80cdc6ff91 Reviewed-by: Andy Shaw <andy.shaw@qt.io>
* | cups: Support raw printersAlbert Astals Cid2018-04-041-0/+6
| | | | | | | | | | | | | | | | They don't have a ppd but we don't *really* need a ppd to just print Change-Id: Idf6b6dafc19420a511b057194488e2170cae4d70 Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> Reviewed-by: Andy Shaw <andy.shaw@qt.io>
* | cups: Take conflicts for duplex and page size into accountAlbert Astals Cid2018-03-275-53/+219
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Duplex and Page Size are not shown in the "Advanced" options tag since they are more important options, this means we were not taking them into account for ppd conflicts since we never set their values in the ppd, we do use the new-style cups options for them when printing With this patch we add m_pageSizePpdOption and m_duplexPpdOption to set the values to the ppd struct behind the scenes. Change-Id: I48bd9fe93d0c08b7b8dd9620a07c56fc79cce13b Reviewed-by: Andy Shaw <andy.shaw@qt.io>
* | Initialize m_cupsCodecJesus Fernandez2018-03-261-1/+1
| | | | | | | | | | | | | | | | | | | | Ensure initialization of m_cupsCodec to nullptr. The codec is checking the value of m_cupsCodec; but the initialization was conditional before this patch. Change-Id: I81751b7743e9956f31f17cead01dc05e268db7eb Coverity-Id: 188700 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* | Linux/cups: Better advanced options UIAlbert Astals Cid2018-03-192-564/+224
| | | | | | | | | | | | | | | | | | | | Previously we were using a treeview that wasn't very clear it was editable, now we simply use QComboBoxes that are much more clear the user can change the values Change-Id: Ied9bca195f4cb275115213631e21cd6a15544311 Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
* | Clean up our Objective-C usageJake Petroules2018-02-202-17/+13
|/ | | | | | | | | | | | | | | | - Move ivars into @implementation - Use instancetype where applicable - Use dot notation for property access - Use subscript operator for dictionaries and arrays - Format selectors consistently - Use proper style for init methods - Use generics instead of void pointers where possible - Use "range for" loops instead of indexing - Replace or replace IBAction/IBOutlet with void Change-Id: I1667812a51d4dfe44ae80fe337cb1f4bc9699d92 Reviewed-by: Jake Petroules <jake.petroules@qt.io> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* cups: Clear cups options at the start of QPrintPropertiesDialog::setupPrinterAlbert Astals Cid2018-01-241-0/+4
| | | | | | | | | | | | | | | | | | For some reason the cups options are kept globally instead of per printer at QCupsPrintEnginePrivate so when setting the printer options on accepting the print dialog, we first need to clear them and then call the other functions that set them, otherwise, we will "reuse" cups option set on the previous print. How to reproduce: * Open print dialog, set some advanced option to a non default value, easiest one is print in grayscale * Print * Check it prints in grayscale * Open print dialog, check the advanced options are all on default values * Print * Check it incorrectly prints in grayscale Change-Id: I59aacaf30db844ad40887d6b771f9354557852b6 Reviewed-by: Andy Shaw <andy.shaw@qt.io>
* Unix: Fix page size margins when changing page sizeAlbert Astals Cid2018-01-172-5/+9
| | | | | | Change-Id: I55435cf500c656eeec61e6c61bbf195df356ffeb Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> Reviewed-by: Andy Shaw <andy.shaw@qt.io>
* Unix: Fix default printer page size marginsAlbert Astals Cid2018-01-171-2/+7
| | | | | | | | | | | Regressed with ff67dedaaff2dc68571ca9c8c6c6eeaaf084eae4 Before ff67dedaaff2dc68571ca9c8c6c6eeaaf084eae4 the print dialog would not let you select less margin than the minimum printer supported margin, this brings back the old behavior Change-Id: I22f4e8ebf8ffa7c1653d61b7073a9ee582cf453b Reviewed-by: Andy Shaw <andy.shaw@qt.io>
* Cups Print Dialog: Change the message box titles to CapsFriedemann Kleint2018-01-171-2/+2
| | | | | | | | | Amends 608301d4c81ce65804a088aaebbd5433a56d69d7. Task-number: QTBUG-1311 Change-Id: I01cd60f0676f4e0501d411151492b4f867653053 Reviewed-by: Albert Astals Cid <albert.astals.cid@kdab.com> Reviewed-by: Andy Shaw <andy.shaw@qt.io>
* QPrintDialog/Unix: compile with gcc 4.8Christian Ehrlicher2018-01-171-1/+2
| | | | | | | | | Passing parameters via auto to a lambda function is a c++14 extension which is not supported by gcc4.8. Change-Id: I335b2a2f5ba02f5440c2e7ccc81d4156e8b29484 Reviewed-by: Albert Astals Cid <albert.astals.cid@kdab.com> Reviewed-by: Andy Shaw <andy.shaw@qt.io>
* Move color/grayscale option to cups advanced panelRenato Araujo Oliveira Filho2018-01-161-1/+18
| | | | | | | | | | | CUPS has a complex way to configure colors for printers, and this can not be represented only by radio buttons. Because of that all colors related options will be available only in the advanced panel. The color/grayscale option will still be available when printing to a file. Change-Id: I1592e779009bd80b6dfc18dde760db4154e46439 Reviewed-by: Andy Shaw <andy.shaw@qt.io>
* CUPS: Don't show choices that conflict with the printer installed optionsAlbert Astals Cid2018-01-121-16/+30
| | | | | | | | | | Some options only make sense if the printer has installed some extensions, e.g. we should not shown "Staple" options if the Stapler addon is not installed, so with this change we use ppdInstallableConflict to know whether an option should be shown to the user or not. Change-Id: I5733e1ac8b667c26b292aeafc90a10c155b751a4 Reviewed-by: Andy Shaw <andy.shaw@qt.io>
* CUPS: Rework set/clearCupsOption APIAlbert Astals Cid2018-01-121-3/+1
| | | | | | | | | | | | Previously it was a bit awkward to use, you had to do QStringList cupsOptions = QCUPSSupport::cupsOptionsList(printer); QCUPSSupport::setCupsOption(cupsOptions, option, value); QCUPSSupport::setCupsOptions(printer, cupsOptions); now you simply have to do QCUPSSupport::setCupsOption(printer, option, value); Change-Id: Id31583f1ec72644791d82776debbae5583a2be54 Reviewed-by: Andy Shaw <andy.shaw@qt.io>
* CUPS: Enable printing arbitrary pages and page rangesAlbert Astals Cid2018-01-122-13/+181
| | | | | | Task-number: QTBUG-1311 Change-Id: I8e09def0e0d8c1404d3ee86845d98a30c23b6485 Reviewed-by: Andy Shaw <andy.shaw@qt.io>
* cups: Don't show InstallableOptions in the advanced propertiesAlbert Astals Cid2018-01-121-8/+17
| | | | | | | | | | According to CUPS maintainer it is recommended to not show them[1]. GTK and Libreoffice behave like that. [1] https://lists.cups.org/pipermail/cups/2015-September/027124.html Change-Id: I82614003490554d41e38a125d44e3a599c2e7342 Reviewed-by: Andy Shaw <andy.shaw@qt.io>
* Unix: Fix usability of the print properties dialogAlbert Astals Cid2018-01-123-41/+97
| | | | | | | | | | | | | | Previous behavior: * Open, change setting, cancel, open again, setting was as originally (i.e. unchanged) * Open, change setting, accept, open, change setting, cancel, open again, the setting would be as before pressing cancel * Open, change setting, accept, open, press cancel without changing anything, print, the initially changed setting is not applied New behavior: * Pressing cancel just cancels the changes since you opened the dialog, everything you accepted previously stays correctly selected Change-Id: I483647504682f26d3d21c5229cc6530bf14fe519 Reviewed-by: Andy Shaw <andy.shaw@qt.io> Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
* Fix custom page size handling in the Unix print dialogAlbert Astals Cid2018-01-092-11/+20
| | | | | | | | | | | | | | | | | There were several problems that i've fixed in a single commit since they are very interwinded * The dialog used QPageSize::Custom for two things, the custom sizes coming from the printer and the "user can write whatever size they want" size. Now only the printer custom sizes use QPageSize::Custom and we use m_realCustomPageSizeIndex for the "user can write whatever size they want" one. * The dialog stored the QPageSize id as the combo userData, that doesn't work when the printer has multiple custom sizes since they all share QPageSize::Custom so now it stores the QPageSize itself Task-number: QTBUG-58733 Change-Id: Ie640a07bb5e24b753db83c091c836e8af4ff126c Reviewed-by: Andy Shaw <andy.shaw@qt.io>
* QUnixPrintWidgetPrivate::_q_printerChanged: Update state correctlyAlbert Astals Cid2018-01-091-0/+6
| | | | | | | | | We need to update the printer output format and the current print device when changing the printer so that if the user opens the properties dialog for that printer it reflects correctly the selected printer. Change-Id: Ib6767a74b74b8eebe43ff17006b6105c483a08b6 Reviewed-by: Andy Shaw <andy.shaw@qt.io>
* Validate printer duplex modeRenato Araujo Oliveira Filho2018-01-091-1/+7
| | | | | | | | Disable unavailable duplex options Remove redundant option on advanced tab Change-Id: Ie09c9ffd637b521210e3d7d4f15300792f910996 Reviewed-by: Milian Wolff <milian.wolff@kdab.com>
* Fix build due to missing QDebug includeSérgio Martins2018-01-091-0/+1
| | | | | | | The build just passes on Qt CI by chance. Change-Id: I3bfef12b48df22fa64d92af9cd345bfc984c9923 Reviewed-by: David Faure <david.faure@kdab.com>
* CUPS: Fix conflict handlingAlbert Astals Cid2018-01-052-10/+156
| | | | | | | | | | | The previous code assumed that ppdMarkOption returning non zero (i.e. it has conflicts) also meant that the option wasn't applied at the ppd level, but it actually is. What we need to do is after calling ppdMarkOption parse the tree again looking to see if any option is conflicting and mark it as such in the UI. Change-Id: I836f1902d14dc8c176bb06776471cbf4ed11786f Reviewed-by: Andy Shaw <andy.shaw@qt.io>