cupsdnetworkclientspage.cpp
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #include "cupsdnetworkclientspage.h"
00021
00022 #include <qlineedit.h>
00023 #include <klocale.h>
00024 #include <qlayout.h>
00025 #include <qlabel.h>
00026 #include <qcheckbox.h>
00027 #include <qframe.h>
00028 #include <qwhatsthis.h>
00029
00030 #include "cupsdconf.h"
00031 #include "cupsdoption.h"
00032
00033 CupsdNetworkClientsPage::CupsdNetworkClientsPage(QWidget *parent, const char *name)
00034 : CupsdPage(parent, name)
00035 {
00036 path_.append(i18n("Network"));
00037 path_.append(i18n("Clients"));
00038 header_ = i18n("Network Clients Configuration");
00039
00040 for (int i=0;i<3;i++)
00041 opt_[i] = new CupsdOption(this);
00042
00043 keepalive_ = new QCheckBox(i18n("Accept \"Keep Alive\" requests"), opt_[0]);
00044 keepalivetimeout_ = new QLineEdit(opt_[1]);
00045 maxclients_ = new QLineEdit(opt_[2]);
00046
00047 QLabel *l1 = new QLabel(i18n("Keep alive timeout:"), this);
00048 QLabel *l2 = new QLabel(i18n("Max number of clients:"), this);
00049
00050 QGridLayout *main_ = new QGridLayout(this, 6, 2, 10, 10);
00051 main_->addWidget(deflabel_, 0, 1, Qt::AlignRight|Qt::AlignVCenter);
00052 main_->addMultiCellWidget(opt_[0], 1, 1, 0, 1);
00053 main_->addWidget(opt_[1], 2, 1);
00054 main_->addWidget(opt_[2], 4, 1);
00055 main_->addWidget(l1, 2, 0);
00056 main_->addWidget(l2, 4, 0);
00057 main_->setRowStretch(5, 1);
00058 main_->addRowSpacing(3, 20);
00059 }
00060
00061 CupsdNetworkClientsPage::~CupsdNetworkClientsPage()
00062 {
00063 }
00064
00065 bool CupsdNetworkClientsPage::loadConfig(CupsdConf *conf, QString&)
00066 {
00067 conf_ = conf;
00068 if (conf->keepalive_ != -1)
00069 {
00070 opt_[0]->setDefault(false);
00071 keepalive_->setChecked(conf->keepalive_ == 1);
00072 }
00073 if (conf->keepalivetimeout_ != -1)
00074 {
00075 opt_[1]->setDefault(false);
00076 keepalivetimeout_->setText(QString::number(conf->keepalivetimeout_));
00077 }
00078 if (conf->maxclients_ != -1)
00079 {
00080 opt_[2]->setDefault(false);
00081 maxclients_->setText(QString::number(conf->maxclients_));
00082 }
00083 return true;
00084 }
00085
00086 bool CupsdNetworkClientsPage::saveConfig(CupsdConf *conf, QString& msg)
00087 {
00088 bool ok;
00089 int v;
00090 if (!opt_[0]->isDefault()) conf->keepalive_ = (keepalive_->isChecked() ? 1 : 0);
00091 if (!opt_[1]->isDefault() && !keepalivetimeout_->text().isNull())
00092 {
00093 v = keepalivetimeout_->text().toInt(&ok);
00094 if (ok) conf->keepalivetimeout_ = v;
00095 else
00096 {
00097 msg = i18n("%1 wrong argument").arg(i18n("Keep alive timeout:"));
00098 return false;
00099 }
00100 }
00101 if (!opt_[2]->isDefault() && !maxclients_->text().isNull())
00102 {
00103 v = maxclients_->text().toInt(&ok);
00104 if (ok) conf->maxclients_ = v;
00105 else
00106 {
00107 msg = i18n("%1 wrong argument").arg(i18n("Max number of clients:"));
00108 return false;
00109 }
00110 }
00111 return true;
00112 }
00113
00114 void CupsdNetworkClientsPage::setDefaults()
00115 {
00116 keepalive_->setChecked(true);
00117 keepalivetimeout_->setText("60");
00118 maxclients_->setText("100");
00119 }
00120
00121 void CupsdNetworkClientsPage::setInfos(CupsdConf *conf)
00122 {
00123 QWhatsThis::add(keepalive_, conf->comments_.toolTip(KEEPALIVE_COMM));
00124 QWhatsThis::add(keepalivetimeout_, conf->comments_.toolTip(KEEPALIVETIMEOUT_COMM));
00125 QWhatsThis::add(maxclients_, conf->comments_.toolTip(MAXCLIENTS_COMM));
00126 }
This file is part of the documentation for kdeprint Library Version 3.2.0.