10#include <QFontDatabase>
14#include <QTableWidget>
15#include <QTableWidgetItem>
18#include <QPrintEngine>
20#include <kernel/qprintdevice_p.h>
25
26
27
28
29
30
31
32
37 m_printDevice(printDevice)
55 QCUPSSupport::setJobHold(m_printer, jobHold(), jobHoldTime());
56 QCUPSSupport::setJobBilling(m_printer, jobBilling());
57 QCUPSSupport::setJobPriority(m_printer, jobPriority());
58 QCUPSSupport::setBannerPages(m_printer, startBannerPage(), endBannerPage());
63 m_savedJobHoldWithTime = { jobHold(), jobHoldTime() };
64 m_savedJobBilling = jobBilling();
65 m_savedPriority = jobPriority();
66 m_savedJobSheets = { startBannerPage(), endBannerPage() };
71 setJobHold(m_savedJobHoldWithTime.jobHold, m_savedJobHoldWithTime.time);
74 setJobBilling(m_savedJobBilling);
76 setJobPriority(m_savedPriority);
78 setStartBannerPage(m_savedJobSheets.startBannerPage);
79 setEndBannerPage(m_savedJobSheets.endBannerPage);
84 m_ui.jobHoldComboBox->addItem(tr(
"Print Immediately"), QVariant::fromValue(QCUPSSupport::NoHold));
85 m_ui.jobHoldComboBox->addItem(tr(
"Hold Indefinitely"), QVariant::fromValue(QCUPSSupport::Indefinite));
86 m_ui.jobHoldComboBox->addItem(tr(
"Day (06:00 to 17:59)"), QVariant::fromValue(QCUPSSupport::DayTime));
87 m_ui.jobHoldComboBox->addItem(tr(
"Night (18:00 to 05:59)"), QVariant::fromValue(QCUPSSupport::Night));
88 m_ui.jobHoldComboBox->addItem(tr(
"Second Shift (16:00 to 23:59)"), QVariant::fromValue(QCUPSSupport::SecondShift));
89 m_ui.jobHoldComboBox->addItem(tr(
"Third Shift (00:00 to 07:59)"), QVariant::fromValue(QCUPSSupport::ThirdShift));
90 m_ui.jobHoldComboBox->addItem(tr(
"Weekend (Saturday to Sunday)"), QVariant::fromValue(QCUPSSupport::Weekend));
91 m_ui.jobHoldComboBox->addItem(tr(
"Specific Time"), QVariant::fromValue(QCUPSSupport::SpecificTime));
93 connect(m_ui.jobHoldComboBox, &QComboBox::currentIndexChanged,
this, &QCupsJobWidget::toggleJobHoldTime);
95 QCUPSSupport::JobHoldUntilWithTime jobHoldWithTime;
98 const QString jobHoldUntilString = m_printDevice->property(PDPK_CupsJobHoldUntil).toString();
99 jobHoldWithTime = QCUPSSupport::parseJobHoldUntil(jobHoldUntilString);
102 setJobHold(jobHoldWithTime.jobHold, jobHoldWithTime.time);
106void QCupsJobWidget::setJobHold(QCUPSSupport::JobHoldUntil jobHold, QTime holdUntilTime)
108 if (jobHold == QCUPSSupport::SpecificTime && holdUntilTime.isNull()) {
109 jobHold = QCUPSSupport::NoHold;
112 m_ui.jobHoldComboBox->setCurrentIndex(m_ui.jobHoldComboBox->findData(QVariant::fromValue(jobHold)));
113 m_ui.jobHoldTimeEdit->setTime(holdUntilTime);
118 return qvariant_cast<QCUPSSupport::JobHoldUntil>(m_ui.jobHoldComboBox->itemData(m_ui.jobHoldComboBox->currentIndex()));
123 if (jobHold() == QCUPSSupport::SpecificTime)
124 m_ui.jobHoldTimeEdit->setEnabled(
true);
126 m_ui.jobHoldTimeEdit->setEnabled(
false);
131 return m_ui.jobHoldTimeEdit->time();
138 jobBilling = m_printDevice->property(PDPK_CupsJobBilling).toString();
140 setJobBilling(jobBilling);
145 m_ui.jobBillingLineEdit->setText(jobBilling);
150 return m_ui.jobBillingLineEdit->text();
158 priority = m_printDevice->property(PDPK_CupsJobPriority).toInt(&ok);
163 if (priority < 0 || priority > 100)
166 setJobPriority(priority);
171 m_ui.jobPrioritySpinBox->setValue(jobPriority);
176 return m_ui.jobPrioritySpinBox->value();
181 m_ui.startBannerPageCombo->addItem(tr(
"None",
"CUPS Banner page"), QVariant::fromValue(QCUPSSupport::NoBanner));
182 m_ui.startBannerPageCombo->addItem(tr(
"Standard",
"CUPS Banner page"), QVariant::fromValue(QCUPSSupport::Standard));
183 m_ui.startBannerPageCombo->addItem(tr(
"Unclassified",
"CUPS Banner page"), QVariant::fromValue(QCUPSSupport::Unclassified));
184 m_ui.startBannerPageCombo->addItem(tr(
"Confidential",
"CUPS Banner page"), QVariant::fromValue(QCUPSSupport::Confidential));
185 m_ui.startBannerPageCombo->addItem(tr(
"Classified",
"CUPS Banner page"), QVariant::fromValue(QCUPSSupport::Classified));
186 m_ui.startBannerPageCombo->addItem(tr(
"Secret",
"CUPS Banner page"), QVariant::fromValue(QCUPSSupport::Secret));
187 m_ui.startBannerPageCombo->addItem(tr(
"Top Secret",
"CUPS Banner page"), QVariant::fromValue(QCUPSSupport::TopSecret));
189 m_ui.endBannerPageCombo->addItem(tr(
"None",
"CUPS Banner page"), QVariant::fromValue(QCUPSSupport::NoBanner));
190 m_ui.endBannerPageCombo->addItem(tr(
"Standard",
"CUPS Banner page"), QVariant::fromValue(QCUPSSupport::Standard));
191 m_ui.endBannerPageCombo->addItem(tr(
"Unclassified",
"CUPS Banner page"), QVariant::fromValue(QCUPSSupport::Unclassified));
192 m_ui.endBannerPageCombo->addItem(tr(
"Confidential",
"CUPS Banner page"), QVariant::fromValue(QCUPSSupport::Confidential));
193 m_ui.endBannerPageCombo->addItem(tr(
"Classified",
"CUPS Banner page"), QVariant::fromValue(QCUPSSupport::Classified));
194 m_ui.endBannerPageCombo->addItem(tr(
"Secret",
"CUPS Banner page"), QVariant::fromValue(QCUPSSupport::Secret));
195 m_ui.endBannerPageCombo->addItem(tr(
"Top Secret",
"CUPS Banner page"), QVariant::fromValue(QCUPSSupport::TopSecret));
197 QCUPSSupport::JobSheets jobSheets;
200 const QString jobSheetsString = m_printDevice->property(PDPK_CupsJobSheets).toString();
201 jobSheets = QCUPSSupport::parseJobSheets(jobSheetsString);
204 setStartBannerPage(jobSheets.startBannerPage);
205 setEndBannerPage(jobSheets.endBannerPage);
208void QCupsJobWidget::setStartBannerPage(
const QCUPSSupport::BannerPage bannerPage)
210 m_ui.startBannerPageCombo->setCurrentIndex(m_ui.startBannerPageCombo->findData(QVariant::fromValue(bannerPage)));
215 return qvariant_cast<QCUPSSupport::BannerPage>(m_ui.startBannerPageCombo->itemData(m_ui.startBannerPageCombo->currentIndex()));
218void QCupsJobWidget::setEndBannerPage(
const QCUPSSupport::BannerPage bannerPage)
220 m_ui.endBannerPageCombo->setCurrentIndex(m_ui.endBannerPageCombo->findData(QVariant::fromValue(bannerPage)));
225 return qvariant_cast<QCUPSSupport::BannerPage>(m_ui.endBannerPageCombo->itemData(m_ui.endBannerPageCombo->currentIndex()));
230#include "moc_qcupsjobwidget_p.cpp"
Combined button and popup list for selecting options.