summaryrefslogtreecommitdiff
path: root/noncore/settings/usermanager
authorumopapisdn <umopapisdn>2002-09-29 19:17:07 (UTC)
committer umopapisdn <umopapisdn>2002-09-29 19:17:07 (UTC)
commitd61d575feac628fe4afb3cc9bf4fc8f24fc8616a (patch) (side-by-side diff)
tree147ded7eb7f3cc2b42bd6b731b93b5c9a108d9ad /noncore/settings/usermanager
parent84a7530b51f537552ea03776c9d8ade88254dc51 (diff)
downloadopie-d61d575feac628fe4afb3cc9bf4fc8f24fc8616a.zip
opie-d61d575feac628fe4afb3cc9bf4fc8f24fc8616a.tar.gz
opie-d61d575feac628fe4afb3cc9bf4fc8f24fc8616a.tar.bz2
Icon selection now works. User listing lists 1 user per row now. (moved from qiconlist to qlistview)
Diffstat (limited to 'noncore/settings/usermanager') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/settings/usermanager/userdialog.cpp19
-rw-r--r--noncore/settings/usermanager/usermanager.cpp21
-rw-r--r--noncore/settings/usermanager/usermanager.h4
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
@@ -155,7 +155,7 @@ void UserDialog::setupTab2() {
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);
@@ -198,9 +198,11 @@ bool UserDialog::addUser(int uid, int gid) {
}
// 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/
@@ -210,7 +212,7 @@ bool UserDialog::addUser(int uid, int gid) {
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;
@@ -268,13 +270,15 @@ bool UserDialog::editUser(const char *username) {
}
}
// 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.;
}
}
}
@@ -303,7 +307,8 @@ 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());
}
@@ -314,7 +319,7 @@ bool UserDialog::editUser(const char *username) {
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;
@@ -344,7 +349,7 @@ void UserDialog::clickedPicture() {
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);
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
@@ -71,9 +71,10 @@ void UserConfig::setupTabAccounts() {
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");
@@ -112,7 +113,8 @@ void UserConfig::setupTabAllGroups() {
void UserConfig::getUsers() {
QString mytext;
QPixmap mypixmap;
-
+ QListViewItem *listviewitem;
+
// Empty the iconview & the listview.
usersIconView->clear();
usersListView->clear();
@@ -124,12 +126,11 @@ void UserConfig::getUsers() {
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.
}
@@ -147,7 +148,7 @@ 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.
@@ -177,7 +178,7 @@ void UserConfig::delUser() {
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.
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
@@ -13,7 +13,7 @@
#include <qmainwindow.h>
#include <qtabwidget.h>
#include <qlistview.h>
-#include <qiconview.h>
+//#include <qiconview.h>
#include <qpe/qpemenubar.h>
#include <qpopupmenu.h>
@@ -40,7 +40,7 @@ private:
QToolButton *editgroupToolButton;
QToolButton *deletegroupToolButton;
QTabWidget *myTabWidget;
- QIconView *usersIconView;
+ QListView *usersIconView;
QListView *usersListView;
QListView *groupsListView;
int availableUID;