diff options
author | Renato Araujo Oliveira Filho <renato.araujo@kdab.com> | 2017-12-20 16:51:37 -0300 |
---|---|---|
committer | Albert Astals Cid <albert.astals.cid@kdab.com> | 2018-01-09 15:42:17 +0000 |
commit | f6fd3f18d301cde311420bfffeb027b40e33dafb (patch) | |
tree | 93c0dd23f88d17160dc2c8dada70e52bc6e79321 /src/printsupport/dialogs | |
parent | ca4a76350a288589d7caf54548ee08f9d4ab46c1 (diff) |
Validate printer duplex mode
Disable unavailable duplex options
Remove redundant option on advanced tab
Change-Id: Ie09c9ffd637b521210e3d7d4f15300792f910996
Reviewed-by: Milian Wolff <milian.wolff@kdab.com>
Diffstat (limited to 'src/printsupport/dialogs')
-rw-r--r-- | src/printsupport/dialogs/qprintdialog_unix.cpp | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/printsupport/dialogs/qprintdialog_unix.cpp b/src/printsupport/dialogs/qprintdialog_unix.cpp index 02d69030ba..d66a7f4be7 100644 --- a/src/printsupport/dialogs/qprintdialog_unix.cpp +++ b/src/printsupport/dialogs/qprintdialog_unix.cpp @@ -520,6 +520,11 @@ void QPrintDialogPrivate::selectPrinter(const QPrinter::OutputFormat outputForma QPrinter *p = q->printer(); printerOutputFormat = outputFormat; + // printer supports duplex mode? + const auto supportedDuplexMode = top->d->m_currentPrintDevice.supportedDuplexModes(); + options.duplexLong->setEnabled(supportedDuplexMode.contains(QPrint::DuplexLongSide)); + options.duplexShort->setEnabled(supportedDuplexMode.contains(QPrint::DuplexShortSide)); + if (p->colorMode() == QPrinter::Color) options.color->setChecked(true); else @@ -1319,7 +1324,8 @@ static bool isBlacklistedOption(const char *keyword) Q_DECL_NOTHROW "Copies", "OutputOrder", "PageRegion", - "PageSize" + "PageSize", + "Duplex" // handled by the main dialog }; auto equals = [](const char *keyword) { return [keyword](const char *candidate) { |