-rw-r--r-- | noncore/settings/usermanager/userdialog.cpp | 19 | ||||
-rw-r--r-- | noncore/settings/usermanager/usermanager.cpp | 21 | ||||
-rw-r--r-- | noncore/settings/usermanager/usermanager.h | 4 |
3 files changed, 25 insertions, 19 deletions
diff --git a/noncore/settings/usermanager/userdialog.cpp b/noncore/settings/usermanager/userdialog.cpp index 719dd1e..b7827a4 100644 --- a/noncore/settings/usermanager/userdialog.cpp +++ b/noncore/settings/usermanager/userdialog.cpp @@ -154,9 +154,9 @@ void UserDialog::setupTab2() { // Additional groups groupsListView=new QListView(tabpage,"groups"); groupsListView->addColumn("Additional groups"); groupsListView->setColumnWidthMode(0,QListView::Maximum); - groupsListView->setMultiSelection(true); + groupsListView->setMultiSelection(false); groupsListView->setAllColumnsShowFocus(false); layout->addSpacing(5); // Grouplist @@ -197,11 +197,13 @@ bool UserDialog::addUser(int uid, int gid) { return false; } // Add User to additional groups. + QCheckListItem *temp; QListViewItemIterator it( adduserDialog->groupsListView ); for ( ; it.current(); ++it ) { - if ( it.current()->isSelected() ) + temp=(QCheckListItem*)it.current(); + if (temp->isOn() ) accounts->addGroupMember(it.current()->text(0),adduserDialog->loginLineEdit->text()); } // Copy image to pics/users/ if(!(adduserDialog->userImage.isNull())) { @@ -209,9 +211,9 @@ bool UserDialog::addUser(int uid, int gid) { if(!(d.exists("/opt/QtPalmtop/pics/users"))) { d.mkdir("/opt/QtPalmtop/pics/users"); } QString filename="/opt/QtPalmtop/pics/users/"+accounts->pw_name+".png"; - adduserDialog->userImage=adduserDialog->userImage.smoothScale(48,48); +// adduserDialog->userImage=adduserDialog->userImage.smoothScale(48,48); adduserDialog->userImage.save(filename,"PNG"); } return true; } @@ -267,15 +269,17 @@ bool UserDialog::editUser(const char *username) { edituserDialog->groupComboBox->setCurrentItem(i); } } // Select the groups in the listview, to which the user belongs. + QCheckListItem *temp; QRegExp userRegExp(QString("[:\\s]%1\\s").arg(username)); QStringList tempList=accounts->groupStringList.grep(userRegExp); // Find all entries in the group database, that the user is a member of. for(QStringList::Iterator it=tempList.begin(); it!=tempList.end(); ++it) { // Iterate over all of them. QListViewItemIterator lvit( edituserDialog->groupsListView ); // Compare to all groups. for ( ; lvit.current(); ++lvit ) { if(lvit.current()->text(0)==(*it).left((*it).find(":"))) { - lvit.current()->setSelected(true); // If we find a line with that groupname, select it.; + temp=(QCheckListItem*)lvit.current(); + temp->setOn(true); // If we find a line with that groupname, select it.; } } } @@ -302,9 +306,10 @@ bool UserDialog::editUser(const char *username) { // Add User to additional groups that he/she is a member of. QListViewItemIterator it( edituserDialog->groupsListView ); for ( ; it.current(); ++it ) { - if ( it.current()->isSelected() ) + temp=(QCheckListItem*)it.current(); + if ( temp->isOn() ) accounts->addGroupMember(it.current()->text(0),edituserDialog->loginLineEdit->text()); } // Copy image to pics/users/ @@ -313,9 +318,9 @@ bool UserDialog::editUser(const char *username) { if(!(d.exists("/opt/QtPalmtop/pics/users"))) { d.mkdir("/opt/QtPalmtop/pics/users"); } QString filename="/opt/QtPalmtop/pics/users/"+accounts->pw_name+".png"; - edituserDialog->userImage=edituserDialog->userImage.smoothScale(48,48); +// edituserDialog->userImage=edituserDialog->userImage.smoothScale(48,48); edituserDialog->userImage.save(filename,"PNG"); } return true; } @@ -343,9 +348,9 @@ void UserDialog::clickedPicture() { userImage.reset(); if(!(userImage.load(filename))) { QMessageBox::information(0,"Sorry!","That icon could not be loaded.\nLoading failed on: "+filename); } else { - userImage=userImage.smoothScale(48,48); +// userImage=userImage.smoothScale(48,48); QPixmap *picture; picture=(QPixmap *)picturePushButton->pixmap(); picture->convertFromImage(userImage,0); picturePushButton->update(); diff --git a/noncore/settings/usermanager/usermanager.cpp b/noncore/settings/usermanager/usermanager.cpp index ed18b7f..2735e6a 100644 --- a/noncore/settings/usermanager/usermanager.cpp +++ b/noncore/settings/usermanager/usermanager.cpp @@ -70,11 +70,12 @@ void UserConfig::setupTabAccounts() { QWidget *tabpage = new QWidget(this); QVBoxLayout *layout = new QVBoxLayout(tabpage); layout->setMargin(5); - usersIconView=new QIconView(tabpage,"users"); - usersIconView->setItemTextPos(QIconView::Right); - usersIconView->setArrangement(QIconView::LeftToRight); + usersIconView=new QListView(tabpage,"users"); + usersIconView->addColumn("Icon"); + usersIconView->addColumn("Username"); + usersIconView->setAllColumnsShowFocus(true); layout->addWidget(usersIconView); myTabWidget->addTab(tabpage,"Users"); } @@ -111,9 +112,10 @@ void UserConfig::setupTabAllGroups() { } void UserConfig::getUsers() { QString mytext; QPixmap mypixmap; - + QListViewItem *listviewitem; + // Empty the iconview & the listview. usersIconView->clear(); usersListView->clear(); @@ -123,14 +125,13 @@ void UserConfig::getUsers() { accounts->splitPasswdEntry(*it); // Split the string into it's components and store in variables in the accounts object. ("pr_name" and so on.) new QListViewItem(usersListView,QString::number(accounts->pw_uid),accounts->pw_name,accounts->pw_gecos); if((accounts->pw_uid>=500) && (accounts->pw_uid<65000)) { // Is this user a "normal" user ? mytext=QString(accounts->pw_name)+" - ("+QString(accounts->pw_gecos)+")"; // The string displayed next to the icon. -// mypixmap=Resource::loadPixmap(QString("users/"+accounts->pw_name)); // Is there an icon for this user? Resource::loadPixmap is caching, doesn't work. - if(!(mypixmap.load("/opt/QtPalmtop/pics/users/"+accounts->pw_name+".png"))) { -// if(mypixmap.isNull()) { + if(!(mypixmap.load("/opt/QtPalmtop/pics/users/"+accounts->pw_name+".png"))) { // Is there an icon for this user? Resource::loadPixmap is caching, doesn't work. mypixmap=Resource::loadPixmap(QString("usermanager/usericon")); // If this user has no icon, load the default icon. } - new QIconViewItem(usersIconView,mytext,mypixmap); // Add the icon+text to the qiconview. + listviewitem=new QListViewItem(usersIconView,"",mytext); // Add the icon+text to the qiconview. + listviewitem->setPixmap(0,mypixmap); } if((accounts->pw_uid>=availableUID) && (accounts->pw_uid<65000)) availableUID=accounts->pw_uid+1; // Increase 1 to the latest know UID to get a free uid. } usersIconView->sort(); @@ -146,9 +147,9 @@ void UserConfig::addUser() { void UserConfig::editUser() { QString username; if(myTabWidget->currentPageIndex()==0) { // Users if(usersIconView->currentItem()) { // Any icon selected? - username=usersIconView->currentItem()->text(); // Get the text associated with the icon. + username=usersIconView->currentItem()->text(1); // Get the text associated with the icon. username=username.left(username.find(" - (",0,true)); // Strip out the username. if(UserDialog::editUser(username)) { // Bring up the userinfo dialog. // If there were any changed also update the views. getUsers(); @@ -176,9 +177,9 @@ void UserConfig::delUser() { QString username; if(myTabWidget->currentPageIndex()==0) { // Users, Iconview. if(usersIconView->currentItem()) { // Anything selected? - username=usersIconView->currentItem()->text(); // Get string associated with icon. + username=usersIconView->currentItem()->text(1); // Get string associated with icon. username=username.left(username.find(" - (",0,true)); // Strip out the username. if(QMessageBox::warning(this,"Delete user","Are you sure you want to\ndelete this user? \""+QString(username)+"\" ?","&No","&Yes",0,0,1)) { if(UserDialog::delUser(username)) { // Delete the user if possible. // Update views. diff --git a/noncore/settings/usermanager/usermanager.h b/noncore/settings/usermanager/usermanager.h index bb5d04f..9909242 100644 --- a/noncore/settings/usermanager/usermanager.h +++ b/noncore/settings/usermanager/usermanager.h @@ -12,9 +12,9 @@ #include <qmainwindow.h> #include <qtabwidget.h> #include <qlistview.h> -#include <qiconview.h> +//#include <qiconview.h> #include <qpe/qpemenubar.h> #include <qpopupmenu.h> #include <qpe/qpetoolbar.h> @@ -39,9 +39,9 @@ private: QToolButton *addgroupToolButton; QToolButton *editgroupToolButton; QToolButton *deletegroupToolButton; QTabWidget *myTabWidget; - QIconView *usersIconView; + QListView *usersIconView; QListView *usersListView; QListView *groupsListView; int availableUID; int availableGID; |