00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
#include <config.h>
00021
00022
#include "kmwusers.h"
00023
#include "kmwizard.h"
00024
#include "kmprinter.h"
00025
00026
#include <qlabel.h>
00027
#include <qlayout.h>
00028
#include <qcombobox.h>
00029
#include <klocale.h>
00030
#include <keditlistbox.h>
00031
00032 KMWUsers::KMWUsers(
QWidget *parent,
const char *name)
00033 : KMWizardPage(parent, name)
00034 {
00035 m_ID = KMWizard::Custom+4;
00036 m_title = i18n(
"Users Access Settings");
00037 m_nextpage = KMWizard::Name;
00038
00039 m_users =
new KEditListBox(i18n(
"Users"),
this, 0,
false, KEditListBox::Add|KEditListBox::Remove);
00040 m_type =
new QComboBox(
this);
00041 m_type->insertItem(i18n(
"Allowed Users"));
00042 m_type->insertItem(i18n(
"Denied Users"));
00043
00044
QLabel *lab1 =
new QLabel(i18n(
"Define here a group of allowed/denied users for this printer."),
this);
00045
QLabel *lab2 =
new QLabel(i18n(
"&Type:"),
this);
00046
00047 lab2->
setBuddy(m_type);
00048
00049
QVBoxLayout *l0 =
new QVBoxLayout(
this, 0, 10);
00050
QHBoxLayout *l1 =
new QHBoxLayout(0, 0, 10);
00051 l0->addWidget(lab1, 0);
00052 l0->addLayout(l1, 0);
00053 l1->addWidget(lab2, 0);
00054 l1->addWidget(m_type, 1);
00055 l0->addWidget(m_users, 1);
00056 }
00057
00058 KMWUsers::~KMWUsers()
00059 {
00060 }
00061
00062
void KMWUsers::initPrinter(KMPrinter *p)
00063 {
00064
QStringList l;
00065
int i(1);
00066
if (!p->option(
"requesting-user-name-denied").isEmpty())
00067 {
00068 l =
QStringList::split(
",", p->option(
"requesting-user-name-denied"),
false);
00069
if (l.count() == 1 && l[0] ==
"none")
00070 l.clear();
00071 }
00072
else if (!p->option(
"requesting-user-name-allowed").isEmpty())
00073 {
00074 i = 0;
00075 l =
QStringList::split(
",", p->option(
"requesting-user-name-allowed"),
false);
00076
if (l.count() && l[0] ==
"all")
00077 l.clear();
00078 }
00079 m_users->insertStringList(l);
00080 m_type->setCurrentItem(i);
00081 }
00082
00083
void KMWUsers::updatePrinter(KMPrinter *p)
00084 {
00085 p->removeOption(
"requesting-user-name-denied");
00086 p->removeOption(
"requesting-user-name-allowed");
00087
00088
QString str;
00089
if (m_users->count() > 0)
00090 str = m_users->items().join(
",");
00091
else
00092 str = (m_type->currentItem() == 0 ?
"all" :
"none");
00093
QString optname = (m_type->currentItem() == 0 ?
"requesting-user-name-allowed" :
"requesting-user-name-denied");
00094 p->setOption(optname, str);
00095 }
00096
#include "kmwusers.moc"