summaryrefslogtreecommitdiffstats
path: root/src/printsupport/widgets
diff options
context:
space:
mode:
authorMartin Klapetek <mklapetek@kde.org>2013-09-11 21:02:42 +0200
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-09-11 21:52:50 +0200
commitea3f8ff6d0d1551a44b0c1a892470d9d48ebb858 (patch)
tree48dbfb80ee5477884d5a2b536b91d91e6f780af1 /src/printsupport/widgets
parent8a425026820cab9ea4b4e8bb05afde9f1092edd3 (diff)
Add CUPS Banner Pages options to print support
Adds a way to set standard CUPS Banner Pages. This widget is part of the Job Options widget/tab in Properties dialog. [ChangeLog][QtPrintSupport][QPrintDialog] Added support for setting CUPS Banner pages in the print dialog. Change-Id: Ia7a22b7a0f51c12d170986caee61af7109e781e9 Reviewed-by: John Layt <jlayt@kde.org>
Diffstat (limited to 'src/printsupport/widgets')
-rw-r--r--src/printsupport/widgets/qcupsjobwidget.cpp44
-rw-r--r--src/printsupport/widgets/qcupsjobwidget.ui42
-rw-r--r--src/printsupport/widgets/qcupsjobwidget_p.h7
3 files changed, 80 insertions, 13 deletions
diff --git a/src/printsupport/widgets/qcupsjobwidget.cpp b/src/printsupport/widgets/qcupsjobwidget.cpp
index 28fb8e859b..9940e6a1af 100644
--- a/src/printsupport/widgets/qcupsjobwidget.cpp
+++ b/src/printsupport/widgets/qcupsjobwidget.cpp
@@ -75,6 +75,7 @@ QCupsJobWidget::QCupsJobWidget(QWidget *parent)
initJobHold();
initJobBilling();
initJobPriority();
+ initBannerPages();
}
QCupsJobWidget::~QCupsJobWidget()
@@ -91,6 +92,7 @@ void QCupsJobWidget::setupPrinter()
QCUPSSupport::setJobHold(m_printer, jobHold(), jobHoldTime());
QCUPSSupport::setJobBilling(m_printer, jobBilling());
QCUPSSupport::setJobPriority(m_printer, jobPriority());
+ QCUPSSupport::setBannerPages(m_printer, startBannerPage(), endBannerPage());
}
void QCupsJobWidget::initJobHold()
@@ -168,4 +170,46 @@ int QCupsJobWidget::jobPriority() const
return m_ui.jobPrioritySpinBox->value();
}
+void QCupsJobWidget::initBannerPages()
+{
+ m_ui.startBannerPageCombo->addItem(tr("None", "CUPS Banner page"), QVariant::fromValue(QCUPSSupport::NoBanner));
+ m_ui.startBannerPageCombo->addItem(tr("Standard", "CUPS Banner page"), QVariant::fromValue(QCUPSSupport::Standard));
+ m_ui.startBannerPageCombo->addItem(tr("Unclassified", "CUPS Banner page"), QVariant::fromValue(QCUPSSupport::Unclassified));
+ m_ui.startBannerPageCombo->addItem(tr("Confidential", "CUPS Banner page"), QVariant::fromValue(QCUPSSupport::Confidential));
+ m_ui.startBannerPageCombo->addItem(tr("Classified", "CUPS Banner page"), QVariant::fromValue(QCUPSSupport::Classified));
+ m_ui.startBannerPageCombo->addItem(tr("Secret", "CUPS Banner page"), QVariant::fromValue(QCUPSSupport::Secret));
+ m_ui.startBannerPageCombo->addItem(tr("Top Secret", "CUPS Banner page"), QVariant::fromValue(QCUPSSupport::TopSecret));
+
+ m_ui.endBannerPageCombo->addItem(tr("None", "CUPS Banner page"), QVariant::fromValue(QCUPSSupport::NoBanner));
+ m_ui.endBannerPageCombo->addItem(tr("Standard", "CUPS Banner page"), QVariant::fromValue(QCUPSSupport::Standard));
+ m_ui.endBannerPageCombo->addItem(tr("Unclassified", "CUPS Banner page"), QVariant::fromValue(QCUPSSupport::Unclassified));
+ m_ui.endBannerPageCombo->addItem(tr("Confidential", "CUPS Banner page"), QVariant::fromValue(QCUPSSupport::Confidential));
+ m_ui.endBannerPageCombo->addItem(tr("Classified", "CUPS Banner page"), QVariant::fromValue(QCUPSSupport::Classified));
+ m_ui.endBannerPageCombo->addItem(tr("Secret", "CUPS Banner page"), QVariant::fromValue(QCUPSSupport::Secret));
+ m_ui.endBannerPageCombo->addItem(tr("Top Secret", "CUPS Banner page"), QVariant::fromValue(QCUPSSupport::TopSecret));
+
+ setStartBannerPage(QCUPSSupport::NoBanner);
+ setEndBannerPage(QCUPSSupport::NoBanner);
+}
+
+void QCupsJobWidget::setStartBannerPage(const QCUPSSupport::BannerPage bannerPage)
+{
+ m_ui.startBannerPageCombo->setCurrentIndex(m_ui.startBannerPageCombo->findData(QVariant::fromValue(bannerPage)));
+}
+
+QCUPSSupport::BannerPage QCupsJobWidget::startBannerPage() const
+{
+ return m_ui.startBannerPageCombo->itemData(m_ui.startBannerPageCombo->currentIndex()).value<QCUPSSupport::BannerPage>();
+}
+
+void QCupsJobWidget::setEndBannerPage(const QCUPSSupport::BannerPage bannerPage)
+{
+ m_ui.endBannerPageCombo->setCurrentIndex(m_ui.endBannerPageCombo->findData(QVariant::fromValue(bannerPage)));
+}
+
+QCUPSSupport::BannerPage QCupsJobWidget::endBannerPage() const
+{
+ return m_ui.endBannerPageCombo->itemData(m_ui.endBannerPageCombo->currentIndex()).value<QCUPSSupport::BannerPage>();
+}
+
QT_END_NAMESPACE
diff --git a/src/printsupport/widgets/qcupsjobwidget.ui b/src/printsupport/widgets/qcupsjobwidget.ui
index 2c03ef843a..7450c0629f 100644
--- a/src/printsupport/widgets/qcupsjobwidget.ui
+++ b/src/printsupport/widgets/qcupsjobwidget.ui
@@ -12,8 +12,8 @@
<property name="windowTitle" >
<string>Job</string>
</property>
- <layout class="QGridLayout" name="gridLayout_3" >
- <item row="0" column="0" >
+ <layout class="QGridLayout" name="gridLayout_2">
+ <item row="0" column="0" colspan="2">
<widget class="QGroupBox" name="jobControlGroupBox" >
<property name="title" >
<string>Job Control</string>
@@ -72,23 +72,39 @@
</property>
</spacer>
</item>
- <item row="3" column="1" >
- <spacer name="verticalSpacer" >
- <property name="orientation" >
- <enum>Qt::Vertical</enum>
+ </layout>
+ </widget>
+ </item>
+ <item row="1" column="0" rowspan="2" colspan="2">
+ <widget class="QGroupBox" name="bannerPagesGroupBox">
+ <property name="title">
+ <string>Banner Pages</string>
+ </property>
+ <layout class="QGridLayout" name="gridLayout_3">
+ <item row="1" column="1">
+ <widget class="QComboBox" name="endBannerPageCombo"/>
+ </item>
+ <item row="0" column="1">
+ <widget class="QComboBox" name="startBannerPageCombo"/>
+ </item>
+ <item row="1" column="0">
+ <widget class="QLabel" name="endBannerLabel">
+ <property name="text">
+ <string comment="Banner page at end">End:</string>
</property>
- <property name="sizeHint" stdset="0" >
- <size>
- <width>20</width>
- <height>35</height>
- </size>
+ </widget>
+ </item>
+ <item row="0" column="0">
+ <widget class="QLabel" name="startBannerLabel">
+ <property name="text">
+ <string comment="Banner page at start">Start:</string>
</property>
- </spacer>
+ </widget>
</item>
</layout>
</widget>
</item>
- <item row="2" column="0" >
+ <item row="3" column="0">
<spacer name="verticalSpacer_3" >
<property name="orientation" >
<enum>Qt::Vertical</enum>
diff --git a/src/printsupport/widgets/qcupsjobwidget_p.h b/src/printsupport/widgets/qcupsjobwidget_p.h
index b0f276b251..a5e2bf8083 100644
--- a/src/printsupport/widgets/qcupsjobwidget_p.h
+++ b/src/printsupport/widgets/qcupsjobwidget_p.h
@@ -89,9 +89,16 @@ private:
void setJobPriority(int priority = 50);
int jobPriority() const;
+ void setStartBannerPage(const QCUPSSupport::BannerPage bannerPage = QCUPSSupport::NoBanner);
+ QCUPSSupport::BannerPage startBannerPage() const;
+
+ void setEndBannerPage(const QCUPSSupport::BannerPage bannerPage = QCUPSSupport::NoBanner);
+ QCUPSSupport::BannerPage endBannerPage() const;
+
void initJobHold();
void initJobBilling();
void initJobPriority();
+ void initBannerPages();
QPrinter *m_printer;
Ui::QCupsJobWidget m_ui;