diff options
author | Martin Klapetek <mklapetek@kde.org> | 2013-10-18 17:31:46 +0200 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-10-18 18:01:54 +0200 |
commit | fcedf4073aaa8bebf7cd5e12fab737166f1b399f (patch) | |
tree | 9e9c62a3e71f8ae9521a652500afa3632feef658 /src/printsupport | |
parent | 229d92dc1e20cd49ef8235c063df8fa948b3fcda (diff) |
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>
Diffstat (limited to 'src/printsupport')
-rw-r--r-- | src/printsupport/dialogs/qpagesetupdialog_unix.cpp | 1 | ||||
-rw-r--r-- | src/printsupport/kernel/qcups.cpp | 11 | ||||
-rw-r--r-- | src/printsupport/kernel/qcups_p.h | 1 |
3 files changed, 13 insertions, 0 deletions
diff --git a/src/printsupport/dialogs/qpagesetupdialog_unix.cpp b/src/printsupport/dialogs/qpagesetupdialog_unix.cpp index cdb80f96a8..8809b52751 100644 --- a/src/printsupport/dialogs/qpagesetupdialog_unix.cpp +++ b/src/printsupport/dialogs/qpagesetupdialog_unix.cpp @@ -408,6 +408,7 @@ void QPageSetupWidget::selectPrinter() if (QCUPSSupport::isAvailable()) { m_cups = true; QCUPSSupport cups; + cups.setCurrentPrinter(m_printer->printerName()); const ppd_option_t* pageSizes = cups.pageSizes(); const int numChoices = pageSizes ? pageSizes->num_choices : 0; diff --git a/src/printsupport/kernel/qcups.cpp b/src/printsupport/kernel/qcups.cpp index f14d4b8dd3..e237d44dcd 100644 --- a/src/printsupport/kernel/qcups.cpp +++ b/src/printsupport/kernel/qcups.cpp @@ -215,6 +215,17 @@ const ppd_file_t* QCUPSSupport::setCurrentPrinter(int index) return currPPD; } +const ppd_file_t* QCUPSSupport::setCurrentPrinter(const QString &printerName) +{ + Q_FOREACH (const QCUPSSupport::Printer &printer, QCUPSSupport::availableUnixPrinters()) { + if (printer.name == printerName) { + return setCurrentPrinter(printer.cupsPrinterIndex); + } + } + + return 0; +} + int QCUPSSupport::currentPrinterIndex() const { return currPrinterIndex; diff --git a/src/printsupport/kernel/qcups_p.h b/src/printsupport/kernel/qcups_p.h index 726bc7eba6..95ca323c22 100644 --- a/src/printsupport/kernel/qcups_p.h +++ b/src/printsupport/kernel/qcups_p.h @@ -149,6 +149,7 @@ public: const cups_dest_t* availablePrinters() const; int currentPrinterIndex() const; const ppd_file_t* setCurrentPrinter(int index); + const ppd_file_t* setCurrentPrinter(const QString &printerName); const ppd_file_t* currentPPD() const; const ppd_option_t* ppdOption(const char *key) const; |