summaryrefslogtreecommitdiff
path: root/noncore/settings
Unidiff
Diffstat (limited to 'noncore/settings') (more/less context) (show whitespace changes)
-rw-r--r--noncore/settings/usermanager/userdialog.cpp19
1 files changed, 18 insertions, 1 deletions
diff --git a/noncore/settings/usermanager/userdialog.cpp b/noncore/settings/usermanager/userdialog.cpp
index 90e27d5..c43b391 100644
--- a/noncore/settings/usermanager/userdialog.cpp
+++ b/noncore/settings/usermanager/userdialog.cpp
@@ -9,12 +9,13 @@
9 9
10#include "userdialog.h" 10#include "userdialog.h"
11 11
12#include <qlayout.h> 12#include <qlayout.h>
13#include <qlabel.h> 13#include <qlabel.h>
14#include <qmessagebox.h> 14#include <qmessagebox.h>
15#include <qfile.h>
15 16
16#include <stdlib.h> 17#include <stdlib.h>
17 18
18#include <stdio.h> 19#include <stdio.h>
19#include <sys/types.h> 20#include <sys/types.h>
20#include <sys/wait.h> 21#include <sys/wait.h>
@@ -184,19 +185,36 @@ void UserDialog::setupTab2() {
184 * @param gid This is a suggested available GID. 185 * @param gid This is a suggested available GID.
185 * 186 *
186 * @return <code>true</code> if the user was successfully added, otherwise <code>false</code>. 187 * @return <code>true</code> if the user was successfully added, otherwise <code>false</code>.
187 * 188 *
188 */ 189 */
189bool UserDialog::addUser(int uid, int gid) { 190bool UserDialog::addUser(int uid, int gid) {
191 QCheckListItem *temp;
192 QFile ozTest;
193 int oz=ozTest.exists("/etc/oz_version");
190 UserDialog *adduserDialog=new UserDialog(); 194 UserDialog *adduserDialog=new UserDialog();
191 adduserDialog->setCaption(tr("Add User")); 195 adduserDialog->setCaption(tr("Add User"));
192 adduserDialog->userID=uid;// Set next available UID as default uid. 196 adduserDialog->userID=uid;// Set next available UID as default uid.
193 adduserDialog->groupID=gid;// Set next available GID as default gid. 197 adduserDialog->groupID=gid;// Set next available GID as default gid.
194 // Insert default group into groupComboBox 198 // Insert default group into groupComboBox
195 adduserDialog->groupComboBox->insertItem("<create new group>",0); 199 adduserDialog->groupComboBox->insertItem("<create new group>",0);
196 adduserDialog->uidLineEdit->setText(QString::number(uid)); 200 adduserDialog->uidLineEdit->setText(QString::number(uid));
201 // If we're running on OZ, add new users to some default groups.
202 if(oz) {
203 QListViewItemIterator iter( adduserDialog->groupsListView );
204 for ( ; iter.current(); ++iter ) {
205 temp=(QCheckListItem*)iter.current();
206 if (temp->text()=="video") temp->setOn(true);
207 if (temp->text()=="audio") temp->setOn(true);
208 if (temp->text()=="time") temp->setOn(true);
209 if (temp->text()=="power") temp->setOn(true);
210 if (temp->text()=="input") temp->setOn(true);
211 if (temp->text()=="sharp") temp->setOn(true);
212 if (temp->text()=="tty") temp->setOn(true);
213 }
214 }
197 // Show the dialog! 215 // Show the dialog!
198 if(!(adduserDialog->exec())) return false; 216 if(!(adduserDialog->exec())) return false;
199 if((adduserDialog->groupComboBox->currentItem()!=0)) { 217 if((adduserDialog->groupComboBox->currentItem()!=0)) {
200 accounts->findGroup(adduserDialog->groupComboBox->currentText()); 218 accounts->findGroup(adduserDialog->groupComboBox->currentText());
201 adduserDialog->groupID=accounts->gr_gid; 219 adduserDialog->groupID=accounts->gr_gid;
202 qWarning(QString::number(accounts->gr_gid)); 220 qWarning(QString::number(accounts->gr_gid));
@@ -206,13 +224,12 @@ bool UserDialog::addUser(int uid, int gid) {
206 QString("/home/")+adduserDialog->loginLineEdit->text() , adduserDialog->shellComboBox->currentText()))) { 224 QString("/home/")+adduserDialog->loginLineEdit->text() , adduserDialog->shellComboBox->currentText()))) {
207 QMessageBox::information(0,"Ooops!","Something went wrong!\nUnable to add user."); 225 QMessageBox::information(0,"Ooops!","Something went wrong!\nUnable to add user.");
208 return false; 226 return false;
209 } 227 }
210 228
211 // Add User to additional groups. 229 // Add User to additional groups.
212 QCheckListItem *temp;
213 QListViewItemIterator it( adduserDialog->groupsListView ); 230 QListViewItemIterator it( adduserDialog->groupsListView );
214 for ( ; it.current(); ++it ) { 231 for ( ; it.current(); ++it ) {
215 temp=(QCheckListItem*)it.current(); 232 temp=(QCheckListItem*)it.current();
216 if (temp->isOn() ) 233 if (temp->isOn() )
217 accounts->addGroupMember(it.current()->text(0),adduserDialog->loginLineEdit->text()); 234 accounts->addGroupMember(it.current()->text(0),adduserDialog->loginLineEdit->text());
218 } 235 }