00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
#include "cupsdjobspage.h"
00021
#include "cupsdconf.h"
00022
00023
#include <qlabel.h>
00024
#include <qcheckbox.h>
00025
#include <qlayout.h>
00026
#include <qwhatsthis.h>
00027
00028
#include <klocale.h>
00029
#include <knuminput.h>
00030
00031 CupsdJobsPage::CupsdJobsPage(
QWidget *parent,
const char *name)
00032 : CupsdPage(parent, name)
00033 {
00034 setPageLabel(i18n(
"Jobs"));
00035 setHeader(i18n(
"Print Jobs Settings"));
00036 setPixmap(
"fileprint");
00037
00038 keepjobhistory_ =
new QCheckBox(i18n(
"Preserve job history"),
this);
00039 keepjobfiles_ =
new QCheckBox(i18n(
"Preserve job files"),
this);
00040 autopurgejobs_ =
new QCheckBox(i18n(
"Auto purge jobs"),
this);
00041 maxjobs_ =
new KIntNumInput(
this);
00042 maxjobsperprinter_ =
new KIntNumInput(
this);
00043 maxjobsperuser_ =
new KIntNumInput(
this);
00044
00045 maxjobs_->setRange(0, 1000, 1,
true);
00046 maxjobs_->setSteps(1, 10);
00047 maxjobs_->setSpecialValueText(i18n(
"Unlimited"));
00048 maxjobsperprinter_->setRange(0, 1000, 1,
true);
00049 maxjobsperprinter_->setSpecialValueText(i18n(
"Unlimited"));
00050 maxjobsperprinter_->setSteps(1, 10);
00051 maxjobsperuser_->setRange(0, 1000, 1,
true);
00052 maxjobsperuser_->setSpecialValueText(i18n(
"Unlimited"));
00053 maxjobsperuser_->setSteps(1, 10);
00054
00055
QLabel *l1 =
new QLabel(i18n(
"Max jobs:"),
this);
00056 QLabel *l2 =
new QLabel(i18n(
"Max jobs per printer:"),
this);
00057 QLabel *l3 =
new QLabel(i18n(
"Max jobs per user:"),
this);
00058
00059
QGridLayout *m1 =
new QGridLayout(
this, 7, 2, 10, 7);
00060 m1->
setRowStretch(6, 1);
00061 m1->
setColStretch(1, 1);
00062 m1->
addWidget(keepjobhistory_, 0, 1);
00063 m1->
addWidget(keepjobfiles_, 1, 1);
00064 m1->
addWidget(autopurgejobs_, 2, 1);
00065 m1->
addWidget(l1, 3, 0, Qt::AlignRight);
00066 m1->
addWidget(l2, 4, 0, Qt::AlignRight);
00067 m1->
addWidget(l3, 5, 0, Qt::AlignRight);
00068 m1->
addWidget(maxjobs_, 3, 1);
00069 m1->
addWidget(maxjobsperprinter_, 4, 1);
00070 m1->
addWidget(maxjobsperuser_, 5, 1);
00071
00072 connect(keepjobhistory_, SIGNAL(toggled(
bool)), SLOT(historyChanged(
bool)));
00073 keepjobhistory_->setChecked(
true);
00074 }
00075
00076
bool CupsdJobsPage::loadConfig(CupsdConf *conf,
QString&)
00077 {
00078 conf_ = conf;
00079 keepjobhistory_->setChecked(conf_->keepjobhistory_);
00080
if (conf_->keepjobhistory_)
00081 {
00082 keepjobfiles_->setChecked(conf_->keepjobfiles_);
00083 autopurgejobs_->setChecked(conf_->autopurgejobs_);
00084 }
00085 maxjobs_->setValue(conf_->maxjobs_);
00086 maxjobsperprinter_->setValue(conf_->maxjobsperprinter_);
00087 maxjobsperuser_->setValue(conf_->maxjobsperuser_);
00088
00089
return true;
00090 }
00091
00092
bool CupsdJobsPage::saveConfig(CupsdConf *conf,
QString&)
00093 {
00094 conf->keepjobhistory_ = keepjobhistory_->isChecked();
00095
if (conf->keepjobhistory_)
00096 {
00097 conf->keepjobfiles_ = keepjobfiles_->isChecked();
00098 conf->autopurgejobs_ = autopurgejobs_->isChecked();
00099 }
00100 conf->maxjobs_ = maxjobs_->value();
00101 conf->maxjobsperprinter_ = maxjobsperprinter_->value();
00102 conf->maxjobsperuser_ = maxjobsperuser_->value();
00103
00104
return true;
00105 }
00106
00107
void CupsdJobsPage::setInfos(CupsdConf *conf)
00108 {
00109
QWhatsThis::add(keepjobhistory_, conf->comments_.toolTip(
"preservejobhistory"));
00110
QWhatsThis::add(keepjobfiles_, conf->comments_.toolTip(
"preservejobfiles"));
00111
QWhatsThis::add(autopurgejobs_, conf->comments_.toolTip(
"autopurgejobs"));
00112
QWhatsThis::add(maxjobs_, conf->comments_.toolTip(
"maxjobs"));
00113
QWhatsThis::add(maxjobsperprinter_, conf->comments_.toolTip(
"maxjobsperprinter"));
00114
QWhatsThis::add(maxjobsperuser_, conf->comments_.toolTip(
"maxjobsperuser"));
00115 }
00116
00117
void CupsdJobsPage::historyChanged(
bool on)
00118 {
00119 keepjobfiles_->setEnabled(on);
00120 autopurgejobs_->setEnabled(on);
00121 }
00122
00123
#include "cupsdjobspage.moc"