summaryrefslogtreecommitdiff
path: root/noncore/settings/usermanager/userdialog.cpp
authordrw <drw>2004-02-22 00:50:59 (UTC)
committer drw <drw>2004-02-22 00:50:59 (UTC)
commit9ab4aa3df617519bdf4309303725abc802fbc704 (patch) (unidiff)
tree42f80b5b426c9c2dfeeee0d758a81a15f8031a1c /noncore/settings/usermanager/userdialog.cpp
parentb7f37da2a6266326102cda0dc4569033e3d3f9d0 (diff)
downloadopie-9ab4aa3df617519bdf4309303725abc802fbc704.zip
opie-9ab4aa3df617519bdf4309303725abc802fbc704.tar.gz
opie-9ab4aa3df617519bdf4309303725abc802fbc704.tar.bz2
User Manager: libopie->libopie2
Diffstat (limited to 'noncore/settings/usermanager/userdialog.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/settings/usermanager/userdialog.cpp60
1 files changed, 30 insertions, 30 deletions
diff --git a/noncore/settings/usermanager/userdialog.cpp b/noncore/settings/usermanager/userdialog.cpp
index 08de352..eb9a289 100644
--- a/noncore/settings/usermanager/userdialog.cpp
+++ b/noncore/settings/usermanager/userdialog.cpp
@@ -11,7 +11,7 @@
11#include "passwd.h" 11#include "passwd.h"
12 12
13/* OPIE */ 13/* OPIE */
14#include <opie/odevice.h> 14#include <opie2/odevice.h>
15#include <qpe/qpeapplication.h> 15#include <qpe/qpeapplication.h>
16 16
17/* QT */ 17/* QT */
@@ -49,7 +49,7 @@ UserDialog::UserDialog(int viewmode, QWidget* parent, const char* name, bool mod
49 { 49 {
50 accounts->splitGroupEntry(*it); 50 accounts->splitGroupEntry(*it);
51 if(accounts->gr_name.find(QRegExp("^#"),0)) 51 if(accounts->gr_name.find(QRegExp("^#"),0))
52 {// Skip commented lines. 52 { // Skip commented lines.
53 new QCheckListItem(groupsListView,accounts->gr_name,QCheckListItem::CheckBox); 53 new QCheckListItem(groupsListView,accounts->gr_name,QCheckListItem::CheckBox);
54 groupComboBox->insertItem(accounts->gr_name); 54 groupComboBox->insertItem(accounts->gr_name);
55 } 55 }
@@ -79,8 +79,8 @@ void UserDialog::setupTab1()
79 picturePushButton = new QPushButton(tabpage,"Label"); 79 picturePushButton = new QPushButton(tabpage,"Label");
80 picturePushButton->setMinimumSize(48,48); 80 picturePushButton->setMinimumSize(48,48);
81 picturePushButton->setMaximumSize(48,48); 81 picturePushButton->setMaximumSize(48,48);
82 picturePushButton->setPixmap(Resource::loadPixmap("usermanager/usericon"));// Load default usericon. 82 picturePushButton->setPixmap(Resource::loadPixmap("usermanager/usericon")); // Load default usericon.
83 connect(picturePushButton,SIGNAL(clicked()),this,SLOT(clickedPicture()));// Clicking the picture should invoke pictureselector. 83 connect(picturePushButton,SIGNAL(clicked()),this,SLOT(clickedPicture())); // Clicking the picture should invoke pictureselector.
84 84
85 // Login 85 // Login
86 QLabel *loginLabel=new QLabel(tabpage,"Login: "); 86 QLabel *loginLabel=new QLabel(tabpage,"Login: ");
@@ -200,7 +200,7 @@ void UserDialog::setupTab2()
200 200
201/** 201/**
202 * Static function that creates the userinfo dialog. 202 * Static function that creates the userinfo dialog.
203 * The user will be prompted to add a user. 203 * The user will be prompted to add a user.
204 * 204 *
205 * @param uid This is a suggested available UID. 205 * @param uid This is a suggested available UID.
206 * @param gid This is a suggested available GID. 206 * @param gid This is a suggested available GID.
@@ -217,8 +217,8 @@ bool UserDialog::addUser(int uid, int gid)
217 // viewmode is a workaround for a bug in qte-2.3.4 that gives bus error on manipulating adduserDialog's widgets here. 217 // viewmode is a workaround for a bug in qte-2.3.4 that gives bus error on manipulating adduserDialog's widgets here.
218 UserDialog *adduserDialog=new UserDialog(VIEWMODE_NEW); 218 UserDialog *adduserDialog=new UserDialog(VIEWMODE_NEW);
219 adduserDialog->setCaption(tr("Add User")); 219 adduserDialog->setCaption(tr("Add User"));
220 adduserDialog->userID=uid;// Set next available UID as default uid. 220 adduserDialog->userID=uid; // Set next available UID as default uid.
221 adduserDialog->groupID=gid;// Set next available GID as default gid. 221 adduserDialog->groupID=gid; // Set next available GID as default gid.
222 // Insert default group into groupComboBox 222 // Insert default group into groupComboBox
223 adduserDialog->groupComboBox->insertItem("<create new group>",0); 223 adduserDialog->groupComboBox->insertItem("<create new group>",0);
224 adduserDialog->uidLineEdit->setText(QString::number(uid)); 224 adduserDialog->uidLineEdit->setText(QString::number(uid));
@@ -271,7 +271,7 @@ bool UserDialog::addUser(int uid, int gid)
271 d.mkdir("/opt/QtPalmtop/pics/users"); 271 d.mkdir("/opt/QtPalmtop/pics/users");
272 } 272 }
273 QString filename="/opt/QtPalmtop/pics/users/"+accounts->pw_name+".png"; 273 QString filename="/opt/QtPalmtop/pics/users/"+accounts->pw_name+".png";
274 // adduserDialog->userImage=adduserDialog->userImage.smoothScale(48,48); 274 // adduserDialog->userImage=adduserDialog->userImage.smoothScale(48,48);
275 adduserDialog->userImage.save(filename,"PNG"); 275 adduserDialog->userImage.save(filename,"PNG");
276 } 276 }
277 277
@@ -284,7 +284,7 @@ bool UserDialog::addUser(int uid, int gid)
284 command_cp.sprintf("cp -a /etc/skel/* %s/",accounts->pw_dir.latin1()); 284 command_cp.sprintf("cp -a /etc/skel/* %s/",accounts->pw_dir.latin1());
285 system(command_cp); 285 system(command_cp);
286 286
287 command_cp.sprintf("cp -a /etc/skel/.[!.]* %s/",accounts->pw_dir.latin1());// Bug in busybox, ".*" includes parent directory, does this work as a workaround? 287 command_cp.sprintf("cp -a /etc/skel/.[!.]* %s/",accounts->pw_dir.latin1()); // Bug in busybox, ".*" includes parent directory, does this work as a workaround?
288 system(command_cp); 288 system(command_cp);
289 289
290 command_chown.sprintf("chown -R %d:%d %s",accounts->pw_uid,accounts->pw_gid,accounts->pw_dir.latin1()); 290 command_chown.sprintf("chown -R %d:%d %s",accounts->pw_uid,accounts->pw_gid,accounts->pw_dir.latin1());
@@ -305,9 +305,9 @@ bool UserDialog::addUser(int uid, int gid)
305bool UserDialog::delUser(const char *username) 305bool UserDialog::delUser(const char *username)
306{ 306{
307 if((accounts->findUser(username))) 307 if((accounts->findUser(username)))
308 {// Does that user exist? 308 { // Does that user exist?
309 if(!(accounts->delUser(username))) 309 if(!(accounts->delUser(username)))
310 {// Delete the user. 310 { // Delete the user.
311 QMessageBox::information(0,"Ooops!","Something went wrong\nUnable to delete user: "+QString(username)+"."); 311 QMessageBox::information(0,"Ooops!","Something went wrong\nUnable to delete user: "+QString(username)+".");
312 } 312 }
313 } 313 }
@@ -332,11 +332,11 @@ bool UserDialog::editUser(const char *username)
332{ 332{
333 int invalid_group=0; 333 int invalid_group=0;
334 // viewmode is a workaround for a bug in qte-2.3.4 that gives bus error on manipulating edituserDialog's widgets here. 334 // viewmode is a workaround for a bug in qte-2.3.4 that gives bus error on manipulating edituserDialog's widgets here.
335 UserDialog *edituserDialog=new UserDialog(VIEWMODE_EDIT);// Create Dialog 335 UserDialog *edituserDialog=new UserDialog(VIEWMODE_EDIT); // Create Dialog
336 edituserDialog->setCaption(tr("Edit User")); 336 edituserDialog->setCaption(tr("Edit User"));
337 accounts->findUser(username);// Locate user in database and fill variables in 'accounts' object. 337 accounts->findUser(username); // Locate user in database and fill variables in 'accounts' object.
338 if(!(accounts->findGroup(accounts->pw_gid))) 338 if(!(accounts->findGroup(accounts->pw_gid)))
339 {// Locate the user's primary group, and fill group variables in 'accounts' object. 339 { // Locate the user's primary group, and fill group variables in 'accounts' object.
340 invalid_group=1; 340 invalid_group=1;
341 } 341 }
342 // Fill widgets with userinfo. 342 // Fill widgets with userinfo.
@@ -369,40 +369,40 @@ bool UserDialog::editUser(const char *username)
369 // Select the groups in the listview, to which the user belongs. 369 // Select the groups in the listview, to which the user belongs.
370 QCheckListItem *temp; 370 QCheckListItem *temp;
371 // BAH!!! QRegExp in qt2 sucks... or maybe I do... can't figure out how to check for EITHER end of input ($) OR a comma, so here we do two different QRegExps instead. 371 // BAH!!! QRegExp in qt2 sucks... or maybe I do... can't figure out how to check for EITHER end of input ($) OR a comma, so here we do two different QRegExps instead.
372 QRegExp userRegExp(QString("[:,]%1$").arg(username));// The end of line variant. 372 QRegExp userRegExp(QString("[:,]%1$").arg(username)); // The end of line variant.
373 QStringList tempList=accounts->groupStringList.grep(userRegExp);// Find all entries in the group database, that the user is a member of. 373 QStringList tempList=accounts->groupStringList.grep(userRegExp); // Find all entries in the group database, that the user is a member of.
374 for(QStringList::Iterator it=tempList.begin(); it!=tempList.end(); ++it) 374 for(QStringList::Iterator it=tempList.begin(); it!=tempList.end(); ++it)
375 {// Iterate over all of them. 375 { // Iterate over all of them.
376 qWarning(*it); 376 qWarning(*it);
377 QListViewItemIterator lvit( edituserDialog->groupsListView );// Compare to all groups. 377 QListViewItemIterator lvit( edituserDialog->groupsListView ); // Compare to all groups.
378 for ( ; lvit.current(); ++lvit ) 378 for ( ; lvit.current(); ++lvit )
379 { 379 {
380 if(lvit.current()->text(0)==(*it).left((*it).find(":"))) 380 if(lvit.current()->text(0)==(*it).left((*it).find(":")))
381 { 381 {
382 temp=(QCheckListItem*)lvit.current(); 382 temp=(QCheckListItem*)lvit.current();
383 temp->setOn(true);// If we find a line with that groupname, select it.; 383 temp->setOn(true); // If we find a line with that groupname, select it.;
384 } 384 }
385 } 385 }
386 } 386 }
387 userRegExp=QRegExp(QString("[:,]%1,").arg(username));// And the other one. (not end of line.) 387 userRegExp=QRegExp(QString("[:,]%1,").arg(username)); // And the other one. (not end of line.)
388 tempList=accounts->groupStringList.grep(userRegExp);// Find all entries in the group database, that the user is a member of. 388 tempList=accounts->groupStringList.grep(userRegExp); // Find all entries in the group database, that the user is a member of.
389 for(QStringList::Iterator it=tempList.begin(); it!=tempList.end(); ++it) 389 for(QStringList::Iterator it=tempList.begin(); it!=tempList.end(); ++it)
390 {// Iterate over all of them. 390 { // Iterate over all of them.
391 qWarning(*it); 391 qWarning(*it);
392 QListViewItemIterator lvit( edituserDialog->groupsListView );// Compare to all groups. 392 QListViewItemIterator lvit( edituserDialog->groupsListView ); // Compare to all groups.
393 for ( ; lvit.current(); ++lvit ) 393 for ( ; lvit.current(); ++lvit )
394 { 394 {
395 if(lvit.current()->text(0)==(*it).left((*it).find(":"))) 395 if(lvit.current()->text(0)==(*it).left((*it).find(":")))
396 { 396 {
397 temp=(QCheckListItem*)lvit.current(); 397 temp=(QCheckListItem*)lvit.current();
398 temp->setOn(true);// If we find a line with that groupname, select it.; 398 temp->setOn(true); // If we find a line with that groupname, select it.;
399 } 399 }
400 } 400 }
401 } 401 }
402 402
403 if(!(edituserDialog->exec())) return false;// SHOW THE DIALOG! 403 if(!(edituserDialog->exec())) return false; // SHOW THE DIALOG!
404 404
405 accounts->findUser(username);// Fill user variables in 'acccounts' object. 405 accounts->findUser(username); // Fill user variables in 'acccounts' object.
406 accounts->pw_name=edituserDialog->loginLineEdit->text(); 406 accounts->pw_name=edituserDialog->loginLineEdit->text();
407 // Has the password been changed ? Make a new "crypt":ed password. 407 // Has the password been changed ? Make a new "crypt":ed password.
408 if(edituserDialog->passwordLineEdit->text()!="........") accounts->pw_passwd=crypt(edituserDialog->passwordLineEdit->text(), accounts->crypt_make_salt()); 408 if(edituserDialog->passwordLineEdit->text()!="........") accounts->pw_passwd=crypt(edituserDialog->passwordLineEdit->text(), accounts->crypt_make_salt());
@@ -410,8 +410,8 @@ bool UserDialog::editUser(const char *username)
410 // Set all variables in accounts object, that will be used when calling 'updateUser()' 410 // Set all variables in accounts object, that will be used when calling 'updateUser()'
411 accounts->pw_uid=edituserDialog->uidLineEdit->text().toInt(); 411 accounts->pw_uid=edituserDialog->uidLineEdit->text().toInt();
412 if(accounts->findGroup(edituserDialog->groupComboBox->currentText())) 412 if(accounts->findGroup(edituserDialog->groupComboBox->currentText()))
413 {// Fill all group variables in 'accounts' object. 413 { // Fill all group variables in 'accounts' object.
414 accounts->pw_gid=accounts->gr_gid;// Only do this if the group is a valid group (ie. "<Undefined group>"), otherwise keep the old group. 414 accounts->pw_gid=accounts->gr_gid; // Only do this if the group is a valid group (ie. "<Undefined group>"), otherwise keep the old group.
415 } 415 }
416 accounts->pw_gecos=edituserDialog->gecosLineEdit->text(); 416 accounts->pw_gecos=edituserDialog->gecosLineEdit->text();
417 accounts->pw_shell=edituserDialog->shellComboBox->currentText(); 417 accounts->pw_shell=edituserDialog->shellComboBox->currentText();
@@ -442,7 +442,7 @@ bool UserDialog::editUser(const char *username)
442 d.mkdir("/opt/QtPalmtop/pics/users"); 442 d.mkdir("/opt/QtPalmtop/pics/users");
443 } 443 }
444 QString filename="/opt/QtPalmtop/pics/users/"+accounts->pw_name+".png"; 444 QString filename="/opt/QtPalmtop/pics/users/"+accounts->pw_name+".png";
445 // edituserDialog->userImage=edituserDialog->userImage.smoothScale(48,48); 445 // edituserDialog->userImage=edituserDialog->userImage.smoothScale(48,48);
446 edituserDialog->userImage.save(filename,"PNG"); 446 edituserDialog->userImage.save(filename,"PNG");
447 } 447 }
448 return true; 448 return true;
@@ -479,7 +479,7 @@ void UserDialog::clickedPicture()
479 } 479 }
480 else 480 else
481 { 481 {
482 // userImage=userImage.smoothScale(48,48); 482 // userImage=userImage.smoothScale(48,48);
483 QPixmap *picture; 483 QPixmap *picture;
484 picture=(QPixmap *)picturePushButton->pixmap(); 484 picture=(QPixmap *)picturePushButton->pixmap();
485 picture->convertFromImage(userImage,0); 485 picture->convertFromImage(userImage,0);