Diffstat (limited to 'noncore/settings/usermanager/userdialog.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | noncore/settings/usermanager/userdialog.cpp | 35 |
1 files changed, 21 insertions, 14 deletions
diff --git a/noncore/settings/usermanager/userdialog.cpp b/noncore/settings/usermanager/userdialog.cpp index 36bcf86..c82cc9d 100644 --- a/noncore/settings/usermanager/userdialog.cpp +++ b/noncore/settings/usermanager/userdialog.cpp @@ -33,5 +33,6 @@ using namespace Opie; * */ -UserDialog::UserDialog(QWidget* parent, const char* name, bool modal, WFlags fl) : QDialog(parent, name, modal, fl) { +UserDialog::UserDialog(int viewmode, QWidget* parent, const char* name, bool modal, WFlags fl) : QDialog(parent, name, modal, fl) { + vm=viewmode; QVBoxLayout *layout = new QVBoxLayout(this); myTabWidget=new QTabWidget(this,"User Tab Widget"); @@ -110,11 +111,11 @@ void UserDialog::setupTab1() { groupComboBox=new QComboBox(tabpage,"PrimaryGroup"); - // Copy /etc/skel - QLabel *skelLabel=new QLabel(tabpage,"skel"); - skelLabel->setText("Copy /etc/skel: "); - skelCheckBox=new QCheckBox(tabpage); - skelCheckBox->setChecked(true); -// skelLabel->setDisabled(true); -// skelCheckBox->setDisabled(true); + if(vm==VIEWMODE_NEW) { + // Copy /etc/skel + skelLabel=new QLabel(tabpage,"skel"); + skelLabel->setText("Copy /etc/skel: "); + skelCheckBox=new QCheckBox(tabpage); + skelCheckBox->setChecked(true); + } // Widget layout @@ -137,6 +138,8 @@ void UserDialog::setupTab1() { vlayout1->addSpacing(5); vlayout1->addWidget(groupLabel); - vlayout1->addSpacing(5); - vlayout1->addWidget(skelLabel); + if(vm==VIEWMODE_NEW) { + vlayout1->addSpacing(5); + vlayout1->addWidget(skelLabel); + } // Second column, data vlayout2->addWidget(loginLineEdit); @@ -151,6 +154,8 @@ void UserDialog::setupTab1() { vlayout2->addSpacing(5); vlayout2->addWidget(groupComboBox); - vlayout2->addSpacing(5); - vlayout2->addWidget(skelCheckBox); + if(vm==VIEWMODE_NEW) { + vlayout2->addSpacing(5); + vlayout2->addWidget(skelCheckBox); + } hlayout->addLayout(vlayout1); hlayout->addLayout(vlayout2); @@ -197,5 +202,6 @@ bool UserDialog::addUser(int uid, int gid) { int oz=false; if(ODevice::inst()->system()==System_OpenZaurus) oz=true; - UserDialog *adduserDialog=new UserDialog(); + // viewmode is a workaround for a bug in qte-2.3.4 that gives bus error on manipulating adduserDialog's widgets here. + UserDialog *adduserDialog=new UserDialog(VIEWMODE_NEW); adduserDialog->setCaption(tr("Add User")); adduserDialog->userID=uid; // Set next available UID as default uid. @@ -299,5 +305,6 @@ bool UserDialog::delUser(const char *username) { bool UserDialog::editUser(const char *username) { int invalid_group=0; - UserDialog *edituserDialog=new UserDialog(); // Create Dialog + // viewmode is a workaround for a bug in qte-2.3.4 that gives bus error on manipulating edituserDialog's widgets here. + UserDialog *edituserDialog=new UserDialog(VIEWMODE_EDIT); // Create Dialog edituserDialog->setCaption(tr("Edit User")); accounts->findUser(username); // Locate user in database and fill variables in 'accounts' object. |