Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 282995 Details for
Bug 323257
x11-libs/qt-gui-4.[67]: QT print dialog ignores duplex default print setting from cups
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
patch copying cups default settings to QPrinterDialog
qt-gui-4.7.3-cups.patch (text/plain), 3.22 KB, created by
Andreas K. Hüttel
on 2011-08-12 08:20:08 UTC
(
hide
)
Description:
patch copying cups default settings to QPrinterDialog
Filename:
MIME Type:
Creator:
Andreas K. Hüttel
Created:
2011-08-12 08:20:08 UTC
Size:
3.22 KB
patch
obsolete
>diff -ur qt-everywhere-opensource-src-4.6.2/src/gui/dialogs/qprintdialog_unix.cpp qt-everywhere-opensource-src-4.6.2-cups/src/gui/dialogs/qprintdialog_unix.cpp >--- qt-everywhere-opensource-src-4.6.2/src/gui/dialogs/qprintdialog_unix.cpp 2010-02-11 16:55:22.000000000 +0100 >+++ qt-everywhere-opensource-src-4.6.2-cups/src/gui/dialogs/qprintdialog_unix.cpp 2010-02-28 04:34:16.000000000 +0100 >@@ -569,6 +569,32 @@ > void QPrintDialogPrivate::selectPrinter(QCUPSSupport *cups) > { > options.duplex->setEnabled(cups && cups->ppdOption("Duplex")); >+ >+ if (cups) { >+ const ppd_option_t* duplex = cups->ppdOption("Duplex"); >+ if (duplex) { >+ // copy default ppd duplex to qt dialog >+ if (qstrcmp(duplex->defchoice, "DuplexTumble") == 0) >+ options.duplexShort->setChecked(true); >+ else if (qstrcmp(duplex->defchoice, "DuplexNoTumble") == 0) >+ options.duplexLong->setChecked(true); >+ else >+ options.noDuplex->setChecked(true); >+ } >+ >+ if (cups->currentPPD()) { >+ // set default color >+ if (cups->currentPPD()->color_device) >+ options.color->setChecked(true); >+ else >+ options.grayscale->setChecked(true); >+ } >+ >+ // set collation >+ const ppd_option_t *collate = cups->ppdOption("Collate"); >+ if (collate) >+ options.collate->setChecked(qstrcmp(collate->defchoice, "True")==0); >+ } > } > #endif > >diff -ur qt-everywhere-opensource-src-4.6.2/src/gui/painting/qprinter.cpp qt-everywhere-opensource-src-4.6.2-cups/src/gui/painting/qprinter.cpp >--- qt-everywhere-opensource-src-4.6.2/src/gui/painting/qprinter.cpp 2010-02-11 16:55:22.000000000 +0100 >+++ qt-everywhere-opensource-src-4.6.2-cups/src/gui/painting/qprinter.cpp 2010-02-28 04:55:15.000000000 +0100 >@@ -627,6 +627,44 @@ > && d_ptr->paintEngine->type() != QPaintEngine::MacPrinter) { > setOutputFormat(QPrinter::PdfFormat); > } >+ >+#if !defined(QT_NO_CUPS) && !defined(QT_NO_LIBRARY) >+ // fill in defaults from ppd file >+ QCUPSSupport cups; >+ >+ int printernum = -1; >+ for (int i = 0; i < cups.availablePrintersCount(); i++) { >+ if (printerName().toLocal8Bit() == cups.availablePrinters()[i].name) >+ printernum = i; >+ } >+ if (printernum >= 0) { >+ cups.setCurrentPrinter(printernum); >+ >+ const ppd_option_t* duplex = cups.ppdOption("Duplex"); >+ if (duplex) { >+ // copy default ppd duplex to qt dialog >+ if (qstrcmp(duplex->defchoice, "DuplexTumble") == 0) >+ setDuplex(DuplexShortSide); >+ else if (qstrcmp(duplex->defchoice, "DuplexNoTumble") == 0) >+ setDuplex(DuplexLongSide); >+ else >+ setDuplex(DuplexNone); >+ } >+ >+ if (cups.currentPPD()) { >+ // set default color >+ if (cups.currentPPD()->color_device) >+ setColorMode(Color); >+ else >+ setColorMode(GrayScale); >+ } >+ >+ // set collation >+ const ppd_option_t *collate = cups.ppdOption("Collate"); >+ if (collate) >+ setCollateCopies(qstrcmp(collate->defchoice, "True")==0); >+ } >+#endif > } > > /*!
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 323257
: 282995