diff options
Diffstat (limited to 'kuser/propdlg.h')
-rw-r--r-- | kuser/propdlg.h | 151 |
1 files changed, 151 insertions, 0 deletions
diff --git a/kuser/propdlg.h b/kuser/propdlg.h new file mode 100644 index 0000000..2832574 --- /dev/null +++ b/kuser/propdlg.h @@ -0,0 +1,151 @@ +/* + * Copyright (c) 1998 Denis Perchine <dyp@perchine.com> + * Copyright (c) 2004 Szombathelyi György <gyurco@freemail.hu> + * Maintained by Adriaan de Groot <groot@kde.org> + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public + * License version 2 as published by the Free Software Foundation. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public License + * along with this library; see the file COPYING.LIB. If not, write to + * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301, USA. + **/ + +#ifndef _KU_PROPDLG_H_ +#define _KU_PROPDLG_H_ + +#include <qlabel.h> +#include <qpushbutton.h> +#include <qwidget.h> +#include <qlistbox.h> +#include <qtooltip.h> +#include <qcheckbox.h> +#include <qlayout.h> +#include <qmap.h> + +#include <klineedit.h> +#include <kdatetimewidget.h> +#include <knuminput.h> +#include <kdialogbase.h> +#include <klistview.h> +#include <kcombobox.h> + +#include "kuser.h" + +class propdlg : public KDialogBase +{ + Q_OBJECT + +public: + propdlg( const QPtrList<KU::KUser> &users, + QWidget *parent = 0, const char *name = 0 ); + propdlg( KU::KUser *AUser, bool fixedprivgroup, + QWidget *parent = 0, const char *name = 0 ); + ~propdlg(); + + void mergeUser( KU::KUser *user, KU::KUser *newuser ); + +protected slots: + virtual void slotOk(); + void setpwd(); + void changed(); // Change to misc settings + void cbposixChanged(); // Change to diaable POSIX account info + void cbsambaChanged(); // Change to diaable POSIX account info + void gchanged(); // Change to group settings + void setpgroup(); // Change in primary group + +protected: + void initDlg(); + void selectuser(); + void save(); + bool saveg(); + bool check(); + void loadgroups( bool fixedprivgroup ); + bool checkShell(const QString &shell); + void addRow( QWidget *parent, QGridLayout *layout, int row, + QWidget *widget, const QString &label, const QString &what, + bool two_column=true, bool nochange=true ); + void setLE( KLineEdit *le, const QString &val, bool first ); + void setCB( QCheckBox *cb, bool val, bool first ); + void setSB( KIntSpinBox *sb, int val, bool first ); + QString mergeLE( KLineEdit *le, const QString &val, bool one ); + int mergeSB( KIntSpinBox *sb, int val, bool one ); + + KIntSpinBox *addDaysGroup( QWidget *parent, QGridLayout *layout, int row, + const QString &title, bool never=true ); + + QFrame *frontpage; + QGridLayout *frontlayout; + int frontrow; + + QPtrList<KU::KUser> mUsers; + QMap<QWidget*, QCheckBox*> mNoChanges; + bool ismoreshells; + bool ischanged; + bool isgchanged; + uid_t olduid; + uint oldrid; + QString oldshell; + QString primaryGroup; + bool primaryGroupWasOn; + bool ro; + + QString newpass; + time_t lstchg; + + KListView *lstgrp; + + QPushButton *pbsetpwd; + + QLabel *lbuser; + KLineEdit *leid; + KLineEdit *lefname; + KLineEdit *lesurname; + KLineEdit *lemail; + + KComboBox *leshell; + KLineEdit *lehome; + + KLineEdit *leoffice; + KLineEdit *leophone; + KLineEdit *lehphone; + KLineEdit *leclass; + + KLineEdit *leoffice1; + KLineEdit *leoffice2; + KLineEdit *leaddress; + + QCheckBox *cbdisabled; + QCheckBox *cbposix; + QCheckBox *cbsamba; + QLabel *leprigr; + QPushButton *pbprigr; + + QLabel *leslstchg; + KIntSpinBox *lesmin; + KIntSpinBox *lesmax; + KIntSpinBox *leswarn; + KIntSpinBox *lesinact; + KDateTimeWidget *lesexpire; + QCheckBox *cbexpire; + +//samba specific: + KLineEdit *lerid; + KLineEdit *leliscript; + KLineEdit *leprofile; + KLineEdit *lehomedrive; + KLineEdit *lehomepath; + KLineEdit *leworkstations; + KLineEdit *ledomain; + KLineEdit *ledomsid; +}; + +#endif // _KU_PROPDLG_H_ + |