summaryrefslogtreecommitdiff
path: root/noncore/settings/usermanager/userdialog.cpp
Unidiff
Diffstat (limited to 'noncore/settings/usermanager/userdialog.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/settings/usermanager/userdialog.cpp32
1 files changed, 26 insertions, 6 deletions
diff --git a/noncore/settings/usermanager/userdialog.cpp b/noncore/settings/usermanager/userdialog.cpp
index b7827a4..90e27d5 100644
--- a/noncore/settings/usermanager/userdialog.cpp
+++ b/noncore/settings/usermanager/userdialog.cpp
@@ -36,2 +36,3 @@ UserDialog::UserDialog(QWidget* parent, const char* name, bool modal, WFlags fl)
36 36
37 accounts->groupStringList.sort();
37 // And also fill the listview & the combobox with all available groups. 38 // And also fill the listview & the combobox with all available groups.
@@ -39,3 +40,2 @@ UserDialog::UserDialog(QWidget* parent, const char* name, bool modal, WFlags fl)
39 accounts->splitGroupEntry(*it); 40 accounts->splitGroupEntry(*it);
40 //new QListViewItem(groupsListView,accounts->gr_name);
41 new QCheckListItem(groupsListView,accounts->gr_name,QCheckListItem::CheckBox); 41 new QCheckListItem(groupsListView,accounts->gr_name,QCheckListItem::CheckBox);
@@ -43,3 +43,2 @@ UserDialog::UserDialog(QWidget* parent, const char* name, bool modal, WFlags fl)
43 } 43 }
44
45 showMaximized(); 44 showMaximized();
@@ -107,3 +106,11 @@ void UserDialog::setupTab1() {
107 106
108 // Widget layout 107 // Copy /etc/skel
108 QLabel *skelLabel=new QLabel(tabpage,"skel");
109 skelLabel->setText("Copy /etc/skel: ");
110 skelCheckBox=new QCheckBox(tabpage);
111 skelCheckBox->setChecked(true);
112 skelLabel->setDisabled(true);
113 skelCheckBox->setDisabled(true);
114
115 // Widget layout
109 QHBoxLayout *hlayout=new QHBoxLayout(-1,"hlayout"); 116 QHBoxLayout *hlayout=new QHBoxLayout(-1,"hlayout");
@@ -126,2 +133,4 @@ void UserDialog::setupTab1() {
126 vlayout1->addWidget(groupLabel); 133 vlayout1->addWidget(groupLabel);
134 vlayout1->addSpacing(5);
135 vlayout1->addWidget(skelLabel);
127 // Second column, data 136 // Second column, data
@@ -138,2 +147,4 @@ void UserDialog::setupTab1() {
138 vlayout2->addWidget(groupComboBox); 147 vlayout2->addWidget(groupComboBox);
148 vlayout2->addSpacing(5);
149 vlayout2->addWidget(skelCheckBox);
139 hlayout->addLayout(vlayout1); 150 hlayout->addLayout(vlayout1);
@@ -250,2 +261,3 @@ bool UserDialog::delUser(const char *username) {
250bool UserDialog::editUser(const char *username) { 261bool UserDialog::editUser(const char *username) {
262 int invalid_group=0;
251 UserDialog *edituserDialog=new UserDialog();// Create Dialog 263 UserDialog *edituserDialog=new UserDialog();// Create Dialog
@@ -253,3 +265,5 @@ bool UserDialog::editUser(const char *username) {
253 accounts->findUser(username);// Locate user in database and fill variables in 'accounts' object. 265 accounts->findUser(username);// Locate user in database and fill variables in 'accounts' object.
254 accounts->findGroup(accounts->pw_gid);// Locate the user's primary group, and fill group variables in 'accounts' object. 266 if(!(accounts->findGroup(accounts->pw_gid))) {// Locate the user's primary group, and fill group variables in 'accounts' object.
267 invalid_group=1;
268 }
255 // Fill widgets with userinfo. 269 // Fill widgets with userinfo.
@@ -269,4 +283,9 @@ bool UserDialog::editUser(const char *username) {
269 edituserDialog->groupComboBox->setCurrentItem(i); 283 edituserDialog->groupComboBox->setCurrentItem(i);
284 break;
270 } 285 }
271 } 286 }
287 if(invalid_group) {
288 edituserDialog->groupComboBox->insertItem("<Undefined group>",0);
289 edituserDialog->groupComboBox->setCurrentItem(0);
290 }
272 // Select the groups in the listview, to which the user belongs. 291 // Select the groups in the listview, to which the user belongs.
@@ -294,4 +313,5 @@ bool UserDialog::editUser(const char *username) {
294 accounts->pw_uid=edituserDialog->uidLineEdit->text().toInt(); 313 accounts->pw_uid=edituserDialog->uidLineEdit->text().toInt();
295 accounts->findGroup(edituserDialog->groupComboBox->currentText());// Fill all group variables in 'accounts' object. 314 if(accounts->findGroup(edituserDialog->groupComboBox->currentText())) {// Fill all group variables in 'accounts' object.
296 accounts->pw_gid=accounts->gr_gid; 315 accounts->pw_gid=accounts->gr_gid;// Only do this if the group is a valid group (ie. "<Undefined group>"), otherwise keep the old group.
316 }
297 accounts->pw_gecos=edituserDialog->gecosLineEdit->text(); 317 accounts->pw_gecos=edituserDialog->gecosLineEdit->text();