Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Leap:15.5:Update
libqt5-qtbase.18762
0002-CUPS-Use-default-cups-job-priority-instead...
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File 0002-CUPS-Use-default-cups-job-priority-instead-of-50.patch of Package libqt5-qtbase.18762
From ad77a2447e8cc828dadd268c72428556e3cc8a84 Mon Sep 17 00:00:00 2001 From: Albert Astals Cid <albert.astals.cid@kdab.com> Date: Wed, 6 Dec 2017 10:19:13 +0100 Subject: [PATCH 1/1] CUPS: Use default cups job-priority instead of 50 This also reads the job-priority from lpoptions if set there for the particular printer Change-Id: I75d983c377d2135a0b0d3e028829a7384a5e1897 Reviewed-by: Laurent Montel <laurent.montel@kdab.com> Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io> --- src/plugins/printsupport/cups/qppdprintdevice.cpp | 2 ++ src/printsupport/dialogs/qprintdialog_unix.cpp | 2 +- src/printsupport/kernel/qcups_p.h | 5 +++-- src/printsupport/widgets/qcupsjobwidget.cpp | 20 +++++++++++++++++--- src/printsupport/widgets/qcupsjobwidget_p.h | 4 +++- 5 files changed, 26 insertions(+), 7 deletions(-) diff --git a/src/plugins/printsupport/cups/qppdprintdevice.cpp b/src/plugins/printsupport/cups/qppdprintdevice.cpp index 021d040..56976a6 100644 --- a/src/plugins/printsupport/cups/qppdprintdevice.cpp +++ b/src/plugins/printsupport/cups/qppdprintdevice.cpp @@ -427,6 +427,8 @@ QVariant QPpdPrintDevice::property(QPrintDevice::PrintDevicePropertyKey key) con { if (key == PDPK_PpdFile) return QVariant::fromValue<ppd_file_t *>(m_ppd); + else if (key == PDPK_CupsJobPriority) + return printerOption(QStringLiteral("job-priority")); return QVariant(); } diff --git a/src/printsupport/dialogs/qprintdialog_unix.cpp b/src/printsupport/dialogs/qprintdialog_unix.cpp index 9ad9fa3..020894c 100644 --- a/src/printsupport/dialogs/qprintdialog_unix.cpp +++ b/src/printsupport/dialogs/qprintdialog_unix.cpp @@ -333,7 +333,7 @@ QPrintPropertiesDialog::QPrintPropertiesDialog(QPrinter *printer, QPrintDevice * widget.pageSetup->setPrinter(printer, outputFormat, printerName); #if QT_CONFIG(cupsjobwidget) - m_jobOptions = new QCupsJobWidget(printer); + m_jobOptions = new QCupsJobWidget(printer, currentPrintDevice); widget.tabs->insertTab(1, m_jobOptions, tr("Job Options")); #endif diff --git a/src/printsupport/kernel/qcups_p.h b/src/printsupport/kernel/qcups_p.h index b67390c..3abccf2 100644 --- a/src/printsupport/kernel/qcups_p.h +++ b/src/printsupport/kernel/qcups_p.h @@ -67,8 +67,9 @@ QT_BEGIN_NAMESPACE // removed from the dialogs. #define PPK_CupsOptions QPrintEngine::PrintEnginePropertyKey(0xfe00) -#define PDPK_PpdFile QPrintDevice::PrintDevicePropertyKey(QPrintDevice::PDPK_CustomBase) -#define PDPK_PpdOption QPrintDevice::PrintDevicePropertyKey(QPrintDevice::PDPK_CustomBase + 1) +#define PDPK_PpdFile QPrintDevice::PrintDevicePropertyKey(QPrintDevice::PDPK_CustomBase) +#define PDPK_PpdOption QPrintDevice::PrintDevicePropertyKey(QPrintDevice::PDPK_CustomBase + 1) +#define PDPK_CupsJobPriority QPrintDevice::PrintDevicePropertyKey(QPrintDevice::PDPK_CustomBase + 2) class Q_PRINTSUPPORT_EXPORT QCUPSSupport { diff --git a/src/printsupport/widgets/qcupsjobwidget.cpp b/src/printsupport/widgets/qcupsjobwidget.cpp index 8fb07c8..f21e229 100644 --- a/src/printsupport/widgets/qcupsjobwidget.cpp +++ b/src/printsupport/widgets/qcupsjobwidget.cpp @@ -52,6 +52,8 @@ #include <QPrinter> #include <QPrintEngine> +#include <kernel/qprintdevice_p.h> + QT_BEGIN_NAMESPACE /*! @@ -64,9 +66,10 @@ QT_BEGIN_NAMESPACE \inmodule QtPrintSupport */ -QCupsJobWidget::QCupsJobWidget(QPrinter *printer, QWidget *parent) +QCupsJobWidget::QCupsJobWidget(QPrinter *printer, QPrintDevice *printDevice, QWidget *parent) : QWidget(parent), - m_printer(printer) + m_printer(printer), + m_printDevice(printDevice) { m_ui.setupUi(this); //set all the default values @@ -151,7 +154,18 @@ QString QCupsJobWidget::jobBilling() const void QCupsJobWidget::initJobPriority() { - setJobPriority(50); + int priority = -1; + if (m_printDevice) { + bool ok; + priority = m_printDevice->property(PDPK_CupsJobPriority).toInt(&ok); + if (!ok) + priority = -1; + } + + if (priority < 0 || priority > 100) + priority = 50; + + setJobPriority(priority); } void QCupsJobWidget::setJobPriority(int jobPriority) diff --git a/src/printsupport/widgets/qcupsjobwidget_p.h b/src/printsupport/widgets/qcupsjobwidget_p.h index 2aca6bc..dcec27a 100644 --- a/src/printsupport/widgets/qcupsjobwidget_p.h +++ b/src/printsupport/widgets/qcupsjobwidget_p.h @@ -65,13 +65,14 @@ QT_BEGIN_NAMESPACE class QString; class QTime; class QPrinter; +class QPrintDevice; class QCupsJobWidget : public QWidget { Q_OBJECT public: - explicit QCupsJobWidget(QPrinter *printer, QWidget *parent = nullptr); + explicit QCupsJobWidget(QPrinter *printer, QPrintDevice *printDevice, QWidget *parent = nullptr); ~QCupsJobWidget(); void setupPrinter(); @@ -102,6 +103,7 @@ private: void initBannerPages(); QPrinter *m_printer; + QPrintDevice *m_printDevice; Ui::QCupsJobWidget m_ui; Q_DISABLE_COPY(QCupsJobWidget) -- 2.7.4
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor