/* * Copyright (c) 1998 Denis Perchine * Copyright (c) 2004 Szombathelyi György * Maintained by Adriaan de Groot * * 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 #include #include #include #include #include #include #include #include #include #include #include #include #include #include "kuser.h" class propdlg : public KDialogBase { Q_OBJECT TQ_OBJECT public: propdlg( const TQPtrList &users, TQWidget *tqparent = 0, const char *name = 0 ); propdlg( KU::KUser *AUser, bool fixedprivgroup, TQWidget *tqparent = 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 TQString &shell); void addRow( TQWidget *tqparent, TQGridLayout *tqlayout, int row, TQWidget *widget, const TQString &label, const TQString &what, bool two_column=true, bool nochange=true ); void setLE( KLineEdit *le, const TQString &val, bool first ); void setCB( TQCheckBox *cb, bool val, bool first ); void setSB( KIntSpinBox *sb, int val, bool first ); TQString mergeLE( KLineEdit *le, const TQString &val, bool one ); int mergeSB( KIntSpinBox *sb, int val, bool one ); KIntSpinBox *addDaysGroup( TQWidget *tqparent, TQGridLayout *tqlayout, int row, const TQString &title, bool never=true ); TQFrame *frontpage; TQGridLayout *fronttqlayout; int frontrow; TQPtrList mUsers; TQMap mNoChanges; bool ismoreshells; bool ischanged; bool isgchanged; uid_t olduid; uint oldrid; TQString oldshell; TQString primaryGroup; bool primaryGroupWasOn; bool ro; TQString newpass; time_t lstchg; KListView *lstgrp; TQPushButton *pbsetpwd; TQLabel *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; TQCheckBox *cbdisabled; TQCheckBox *cbposix; TQCheckBox *cbsamba; TQLabel *leprigr; TQPushButton *pbprigr; TQLabel *leslstchg; KIntSpinBox *lesmin; KIntSpinBox *lesmax; KIntSpinBox *leswarn; KIntSpinBox *lesinact; KDateTimeWidget *lesexpire; TQCheckBox *cbexpire; //samba specific: KLineEdit *lerid; KLineEdit *leliscript; KLineEdit *leprofile; KLineEdit *lehomedrive; KLineEdit *lehomepath; KLineEdit *leworkstations; KLineEdit *ledomain; KLineEdit *ledomsid; }; #endif // _KU_PROPDLG_H_