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 | |||
@@ -29,13 +29,14 @@ using namespace Opie; | |||
29 | 29 | ||
30 | 30 | ||
31 | /** | 31 | /** |
32 | * UserDialog constructor. Setup the dialog, fill the groupComboBox & groupsListView with all groups. | 32 | * UserDialog constructor. Setup the dialog, fill the groupComboBox & groupsListView with all groups. |
33 | * | 33 | * |
34 | */ | 34 | */ |
35 | UserDialog::UserDialog(QWidget* parent, const char* name, bool modal, WFlags fl) : QDialog(parent, name, modal, fl) { | 35 | UserDialog::UserDialog(int viewmode, QWidget* parent, const char* name, bool modal, WFlags fl) : QDialog(parent, name, modal, fl) { |
36 | vm=viewmode; | ||
36 | QVBoxLayout *layout = new QVBoxLayout(this); | 37 | QVBoxLayout *layout = new QVBoxLayout(this); |
37 | myTabWidget=new QTabWidget(this,"User Tab Widget"); | 38 | myTabWidget=new QTabWidget(this,"User Tab Widget"); |
38 | layout->addWidget(myTabWidget); | 39 | layout->addWidget(myTabWidget); |
39 | setupTab1(); | 40 | setupTab1(); |
40 | setupTab2(); | 41 | setupTab2(); |
41 | 42 | ||
@@ -106,19 +107,19 @@ void UserDialog::setupTab1() { | |||
106 | 107 | ||
107 | // Primary Group | 108 | // Primary Group |
108 | QLabel *groupLabel=new QLabel(tabpage,"group"); | 109 | QLabel *groupLabel=new QLabel(tabpage,"group"); |
109 | groupLabel->setText("Primary group: "); | 110 | groupLabel->setText("Primary group: "); |
110 | groupComboBox=new QComboBox(tabpage,"PrimaryGroup"); | 111 | groupComboBox=new QComboBox(tabpage,"PrimaryGroup"); |
111 | 112 | ||
112 | // Copy /etc/skel | 113 | if(vm==VIEWMODE_NEW) { |
113 | QLabel *skelLabel=new QLabel(tabpage,"skel"); | 114 | // Copy /etc/skel |
114 | skelLabel->setText("Copy /etc/skel: "); | 115 | skelLabel=new QLabel(tabpage,"skel"); |
115 | skelCheckBox=new QCheckBox(tabpage); | 116 | skelLabel->setText("Copy /etc/skel: "); |
116 | skelCheckBox->setChecked(true); | 117 | skelCheckBox=new QCheckBox(tabpage); |
117 | //skelLabel->setDisabled(true); | 118 | skelCheckBox->setChecked(true); |
118 | //skelCheckBox->setDisabled(true); | 119 | } |
119 | 120 | ||
120 | // Widget layout | 121 | // Widget layout |
121 | QHBoxLayout *hlayout=new QHBoxLayout(-1,"hlayout"); | 122 | QHBoxLayout *hlayout=new QHBoxLayout(-1,"hlayout"); |
122 | layout->addWidget(picturePushButton); | 123 | layout->addWidget(picturePushButton); |
123 | layout->addSpacing(5); | 124 | layout->addSpacing(5); |
124 | layout->addLayout(hlayout); | 125 | layout->addLayout(hlayout); |
@@ -133,28 +134,32 @@ void UserDialog::setupTab1() { | |||
133 | vlayout1->addSpacing(5); | 134 | vlayout1->addSpacing(5); |
134 | vlayout1->addWidget(passwordLabel); | 135 | vlayout1->addWidget(passwordLabel); |
135 | vlayout1->addSpacing(5); | 136 | vlayout1->addSpacing(5); |
136 | vlayout1->addWidget(shellLabel); | 137 | vlayout1->addWidget(shellLabel); |
137 | vlayout1->addSpacing(5); | 138 | vlayout1->addSpacing(5); |
138 | vlayout1->addWidget(groupLabel); | 139 | vlayout1->addWidget(groupLabel); |
139 | vlayout1->addSpacing(5); | 140 | if(vm==VIEWMODE_NEW) { |
140 | vlayout1->addWidget(skelLabel); | 141 | vlayout1->addSpacing(5); |
142 | vlayout1->addWidget(skelLabel); | ||
143 | } | ||
141 | // Second column, data | 144 | // Second column, data |
142 | vlayout2->addWidget(loginLineEdit); | 145 | vlayout2->addWidget(loginLineEdit); |
143 | vlayout2->addSpacing(5); | 146 | vlayout2->addSpacing(5); |
144 | vlayout2->addWidget(uidLineEdit); | 147 | vlayout2->addWidget(uidLineEdit); |
145 | vlayout2->addSpacing(5); | 148 | vlayout2->addSpacing(5); |
146 | vlayout2->addWidget(gecosLineEdit); | 149 | vlayout2->addWidget(gecosLineEdit); |
147 | vlayout2->addSpacing(5); | 150 | vlayout2->addSpacing(5); |
148 | vlayout2->addWidget(passwordLineEdit); | 151 | vlayout2->addWidget(passwordLineEdit); |
149 | vlayout2->addSpacing(5); | 152 | vlayout2->addSpacing(5); |
150 | vlayout2->addWidget(shellComboBox); | 153 | vlayout2->addWidget(shellComboBox); |
151 | vlayout2->addSpacing(5); | 154 | vlayout2->addSpacing(5); |
152 | vlayout2->addWidget(groupComboBox); | 155 | vlayout2->addWidget(groupComboBox); |
153 | vlayout2->addSpacing(5); | 156 | if(vm==VIEWMODE_NEW) { |
154 | vlayout2->addWidget(skelCheckBox); | 157 | vlayout2->addSpacing(5); |
158 | vlayout2->addWidget(skelCheckBox); | ||
159 | } | ||
155 | hlayout->addLayout(vlayout1); | 160 | hlayout->addLayout(vlayout1); |
156 | hlayout->addLayout(vlayout2); | 161 | hlayout->addLayout(vlayout2); |
157 | 162 | ||
158 | myTabWidget->addTab(tabpage,"User Info"); | 163 | myTabWidget->addTab(tabpage,"User Info"); |
159 | } | 164 | } |
160 | 165 | ||
@@ -193,13 +198,14 @@ void UserDialog::setupTab2() { | |||
193 | */ | 198 | */ |
194 | bool UserDialog::addUser(int uid, int gid) { | 199 | bool UserDialog::addUser(int uid, int gid) { |
195 | QCheckListItem *temp; | 200 | QCheckListItem *temp; |
196 | QFile ozTest; | 201 | QFile ozTest; |
197 | int oz=false; | 202 | int oz=false; |
198 | if(ODevice::inst()->system()==System_OpenZaurus) oz=true; | 203 | if(ODevice::inst()->system()==System_OpenZaurus) oz=true; |
199 | UserDialog *adduserDialog=new UserDialog(); | 204 | // viewmode is a workaround for a bug in qte-2.3.4 that gives bus error on manipulating adduserDialog's widgets here. |
205 | UserDialog *adduserDialog=new UserDialog(VIEWMODE_NEW); | ||
200 | adduserDialog->setCaption(tr("Add User")); | 206 | adduserDialog->setCaption(tr("Add User")); |
201 | adduserDialog->userID=uid;// Set next available UID as default uid. | 207 | adduserDialog->userID=uid;// Set next available UID as default uid. |
202 | adduserDialog->groupID=gid;// Set next available GID as default gid. | 208 | adduserDialog->groupID=gid;// Set next available GID as default gid. |
203 | // Insert default group into groupComboBox | 209 | // Insert default group into groupComboBox |
204 | adduserDialog->groupComboBox->insertItem("<create new group>",0); | 210 | adduserDialog->groupComboBox->insertItem("<create new group>",0); |
205 | adduserDialog->uidLineEdit->setText(QString::number(uid)); | 211 | adduserDialog->uidLineEdit->setText(QString::number(uid)); |
@@ -295,13 +301,14 @@ bool UserDialog::delUser(const char *username) { | |||
295 | * | 301 | * |
296 | * @return <code>true</code> if the user was successfully deleted, otherwise <code>false</code>. | 302 | * @return <code>true</code> if the user was successfully deleted, otherwise <code>false</code>. |
297 | * | 303 | * |
298 | */ | 304 | */ |
299 | bool UserDialog::editUser(const char *username) { | 305 | bool UserDialog::editUser(const char *username) { |
300 | int invalid_group=0; | 306 | int invalid_group=0; |
301 | UserDialog *edituserDialog=new UserDialog();// Create Dialog | 307 | // viewmode is a workaround for a bug in qte-2.3.4 that gives bus error on manipulating edituserDialog's widgets here. |
308 | UserDialog *edituserDialog=new UserDialog(VIEWMODE_EDIT);// Create Dialog | ||
302 | edituserDialog->setCaption(tr("Edit User")); | 309 | edituserDialog->setCaption(tr("Edit User")); |
303 | accounts->findUser(username);// Locate user in database and fill variables in 'accounts' object. | 310 | accounts->findUser(username);// Locate user in database and fill variables in 'accounts' object. |
304 | if(!(accounts->findGroup(accounts->pw_gid))) {// Locate the user's primary group, and fill group variables in 'accounts' object. | 311 | if(!(accounts->findGroup(accounts->pw_gid))) {// Locate the user's primary group, and fill group variables in 'accounts' object. |
305 | invalid_group=1; | 312 | invalid_group=1; |
306 | } | 313 | } |
307 | // Fill widgets with userinfo. | 314 | // Fill widgets with userinfo. |