summaryrefslogtreecommitdiff
path: root/noncore
authorumopapisdn <umopapisdn>2002-11-01 21:29:35 (UTC)
committer umopapisdn <umopapisdn>2002-11-01 21:29:35 (UTC)
commit7ccfa11a1ccbb4cfb047bd1fa1eb19402d9c8dd6 (patch) (unidiff)
treebb2d0b7a66a188ffd7ad6f9729b9691aa8452682 /noncore
parent89567519b98853932093e06af4a28f6cc4cc8fd9 (diff)
downloadopie-7ccfa11a1ccbb4cfb047bd1fa1eb19402d9c8dd6.zip
opie-7ccfa11a1ccbb4cfb047bd1fa1eb19402d9c8dd6.tar.gz
opie-7ccfa11a1ccbb4cfb047bd1fa1eb19402d9c8dd6.tar.bz2
* "Copy /etc/skel" option is now only available when adding a user.
* Documented some more of the source code.
Diffstat (limited to 'noncore') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/settings/usermanager/passwd.cpp23
-rw-r--r--noncore/settings/usermanager/userdialog.cpp35
-rw-r--r--noncore/settings/usermanager/userdialog.h9
3 files changed, 51 insertions, 16 deletions
diff --git a/noncore/settings/usermanager/passwd.cpp b/noncore/settings/usermanager/passwd.cpp
index 5063661..0a2bfba 100644
--- a/noncore/settings/usermanager/passwd.cpp
+++ b/noncore/settings/usermanager/passwd.cpp
@@ -53,2 +53,3 @@ char *Passwd::crypt_make_salt() {
53 53
54// opens the files /etc/passwd & /etc/group and loads the contents into passwdStringList & groupStringList
54bool Passwd::open() { 55bool Passwd::open() {
@@ -78,2 +79,3 @@ bool Passwd::open() {
78 79
80// Writes back the contents of passwdStringList to /etc/passwd & groupStringList to /etc/group
79bool Passwd::close() { 81bool Passwd::close() {
@@ -100,2 +102,3 @@ bool Passwd::close() {
100 102
103// Splits a "passwd" line into the components and stores them in the pw_* variables.
101void Passwd::splitPasswdEntry(QString &userString) { 104void Passwd::splitPasswdEntry(QString &userString) {
@@ -112,2 +115,3 @@ void Passwd::splitPasswdEntry(QString &userString) {
112 115
116// Splits a "group" line into the components and stores them in the gr_* variables.
113void Passwd::splitGroupEntry(QString &groupString) { 117void Passwd::splitGroupEntry(QString &groupString) {
@@ -121,2 +125,3 @@ void Passwd::splitGroupEntry(QString &groupString) {
121 125
126// Find a user in the passwdStringList. Return true if found and also fill the pw_* variables.
122bool Passwd::searchUser(QRegExp &userRegExp) { 127bool Passwd::searchUser(QRegExp &userRegExp) {
@@ -132,2 +137,3 @@ bool Passwd::searchUser(QRegExp &userRegExp) {
132 137
138// Find a user by login.
133bool Passwd::findUser(const char *username) { 139bool Passwd::findUser(const char *username) {
@@ -137,2 +143,3 @@ bool Passwd::findUser(const char *username) {
137 143
144// Find a user by uid.
138bool Passwd::findUser(int uid) { 145bool Passwd::findUser(int uid) {
@@ -142,2 +149,3 @@ bool Passwd::findUser(int uid) {
142 149
150// Add a user to the passwdStringList, create home directory, and optionally create a group for the user.
143bool Passwd::addUser(QString pw_name, QString pw_passwd, int pw_uid, int pw_gid, QString pw_gecos,QString pw_dir, QString pw_shell, bool createGroup) { 151bool Passwd::addUser(QString pw_name, QString pw_passwd, int pw_uid, int pw_gid, QString pw_gecos,QString pw_dir, QString pw_shell, bool createGroup) {
@@ -158,2 +166,3 @@ bool Passwd::addUser(QString pw_name, QString pw_passwd, int pw_uid, int pw_gid,
158 166
167// Update info for a user in passwdStringList, take info from the pw_* fields.
159bool Passwd::updateUser(QString login) { 168bool Passwd::updateUser(QString login) {
@@ -169,2 +178,3 @@ bool Passwd::updateUser(QString login) {
169 178
179// Delete a user from passwdStringList.
170bool Passwd::deleteUser(QRegExp &userRegExp, bool delGroup) { 180bool Passwd::deleteUser(QRegExp &userRegExp, bool delGroup) {
@@ -181,2 +191,3 @@ bool Passwd::deleteUser(QRegExp &userRegExp, bool delGroup) {
181 191
192// Delete a user by login, and optionally also delete group.
182bool Passwd::delUser(const char *username, bool delGroup) { 193bool Passwd::delUser(const char *username, bool delGroup) {
@@ -186,2 +197,3 @@ bool Passwd::delUser(const char *username, bool delGroup) {
186 197
198// Delete a user by uid, and optionally also delete group.
187bool Passwd::delUser(int uid, bool delGroup) { 199bool Passwd::delUser(int uid, bool delGroup) {
@@ -191,2 +203,3 @@ bool Passwd::delUser(int uid, bool delGroup) {
191 203
204// Locate a group in the groupStringList, fill out the gr_* variables and return "true" if found.
192bool Passwd::searchGroup(QRegExp &groupRegExp) { 205bool Passwd::searchGroup(QRegExp &groupRegExp) {
@@ -202,2 +215,3 @@ bool Passwd::searchGroup(QRegExp &groupRegExp) {
202 215
216// Find a group by groupname.
203bool Passwd::findGroup(const char *groupname) { 217bool Passwd::findGroup(const char *groupname) {
@@ -207,2 +221,3 @@ bool Passwd::findGroup(const char *groupname) {
207 221
222// Find a group by gid.
208bool Passwd::findGroup(int gid) { 223bool Passwd::findGroup(int gid) {
@@ -212,2 +227,3 @@ bool Passwd::findGroup(int gid) {
212 227
228// Add a group to groupStringList
213bool Passwd::addGroup(QString gr_name, int gr_gid) { 229bool Passwd::addGroup(QString gr_name, int gr_gid) {
@@ -219,2 +235,3 @@ bool Passwd::addGroup(QString gr_name, int gr_gid) {
219 235
236// Update fields for a group in groupStringList, take info from the gr_* variables.
220bool Passwd::updateGroup(int gid) { 237bool Passwd::updateGroup(int gid) {
@@ -234,2 +251,3 @@ bool Passwd::updateGroup(int gid) {
234 251
252// Delete a group from groupStringList.
235bool Passwd::deleteGroup(QRegExp &groupRegExp) { 253bool Passwd::deleteGroup(QRegExp &groupRegExp) {
@@ -244,2 +262,3 @@ bool Passwd::deleteGroup(QRegExp &groupRegExp) {
244 262
263// Delete a group by groupname.
245bool Passwd::delGroup(const char *groupname) { 264bool Passwd::delGroup(const char *groupname) {
@@ -249,2 +268,3 @@ bool Passwd::delGroup(const char *groupname) {
249 268
269// Delete a group by gid.
250bool Passwd::delGroup(int gid) { 270bool Passwd::delGroup(int gid) {
@@ -254,2 +274,3 @@ bool Passwd::delGroup(int gid) {
254 274
275// Add a user as a member to a group in groupStringList.
255bool Passwd::addGroupMember(QString groupname, QString member) { 276bool Passwd::addGroupMember(QString groupname, QString member) {
@@ -261,2 +282,3 @@ bool Passwd::addGroupMember(QString groupname, QString member) {
261 282
283// Delete a user as a groupmember from a group in groupStringList.
262bool Passwd::delGroupMember(QString groupname, QString member) { 284bool Passwd::delGroupMember(QString groupname, QString member) {
@@ -273,2 +295,3 @@ bool Passwd::delGroupMember(QString groupname, QString member) {
273 295
296// Global Object
274Passwd *accounts; 297Passwd *accounts;
diff --git a/noncore/settings/usermanager/userdialog.cpp b/noncore/settings/usermanager/userdialog.cpp
index 36bcf86..c82cc9d 100644
--- a/noncore/settings/usermanager/userdialog.cpp
+++ b/noncore/settings/usermanager/userdialog.cpp
@@ -34,3 +34,4 @@ using namespace Opie;
34 */ 34 */
35UserDialog::UserDialog(QWidget* parent, const char* name, bool modal, WFlags fl) : QDialog(parent, name, modal, fl) { 35UserDialog::UserDialog(int viewmode, QWidget* parent, const char* name, bool modal, WFlags fl) : QDialog(parent, name, modal, fl) {
36 vm=viewmode;
36 QVBoxLayout *layout = new QVBoxLayout(this); 37 QVBoxLayout *layout = new QVBoxLayout(this);
@@ -111,9 +112,9 @@ void UserDialog::setupTab1() {
111 112
112 // Copy /etc/skel 113 if(vm==VIEWMODE_NEW) {
113 QLabel *skelLabel=new QLabel(tabpage,"skel"); 114 // Copy /etc/skel
114 skelLabel->setText("Copy /etc/skel: "); 115 skelLabel=new QLabel(tabpage,"skel");
115 skelCheckBox=new QCheckBox(tabpage); 116 skelLabel->setText("Copy /etc/skel: ");
116 skelCheckBox->setChecked(true); 117 skelCheckBox=new QCheckBox(tabpage);
117 //skelLabel->setDisabled(true); 118 skelCheckBox->setChecked(true);
118 //skelCheckBox->setDisabled(true); 119 }
119 120
@@ -138,4 +139,6 @@ void UserDialog::setupTab1() {
138 vlayout1->addWidget(groupLabel); 139 vlayout1->addWidget(groupLabel);
139 vlayout1->addSpacing(5); 140 if(vm==VIEWMODE_NEW) {
140 vlayout1->addWidget(skelLabel); 141 vlayout1->addSpacing(5);
142 vlayout1->addWidget(skelLabel);
143 }
141 // Second column, data 144 // Second column, data
@@ -152,4 +155,6 @@ void UserDialog::setupTab1() {
152 vlayout2->addWidget(groupComboBox); 155 vlayout2->addWidget(groupComboBox);
153 vlayout2->addSpacing(5); 156 if(vm==VIEWMODE_NEW) {
154 vlayout2->addWidget(skelCheckBox); 157 vlayout2->addSpacing(5);
158 vlayout2->addWidget(skelCheckBox);
159 }
155 hlayout->addLayout(vlayout1); 160 hlayout->addLayout(vlayout1);
@@ -198,3 +203,4 @@ bool UserDialog::addUser(int uid, int gid) {
198 if(ODevice::inst()->system()==System_OpenZaurus) oz=true; 203 if(ODevice::inst()->system()==System_OpenZaurus) oz=true;
199 UserDialog *adduserDialog=new UserDialog(); 204 // viewmode is a workaround for a bug in qte-2.3.4 that gives bus error on manipulating adduserDialog's widgets here.
205 UserDialog *adduserDialog=new UserDialog(VIEWMODE_NEW);
200 adduserDialog->setCaption(tr("Add User")); 206 adduserDialog->setCaption(tr("Add User"));
@@ -300,3 +306,4 @@ bool UserDialog::editUser(const char *username) {
300 int invalid_group=0; 306 int invalid_group=0;
301 UserDialog *edituserDialog=new UserDialog();// Create Dialog 307 // viewmode is a workaround for a bug in qte-2.3.4 that gives bus error on manipulating edituserDialog's widgets here.
308 UserDialog *edituserDialog=new UserDialog(VIEWMODE_EDIT);// Create Dialog
302 edituserDialog->setCaption(tr("Edit User")); 309 edituserDialog->setCaption(tr("Edit User"));
diff --git a/noncore/settings/usermanager/userdialog.h b/noncore/settings/usermanager/userdialog.h
index 133b35d..b7b925d 100644
--- a/noncore/settings/usermanager/userdialog.h
+++ b/noncore/settings/usermanager/userdialog.h
@@ -44,3 +44,8 @@ private:
44 int userID; 44 int userID;
45 45 int vm;
46 enum VIEWMODE {
47 VIEWMODE_NEW,
48 VIEWMODE_EDIT
49 };
50
46 void setupTab1(void); 51 void setupTab1(void);
@@ -53,3 +58,3 @@ private slots:
53public: 58public:
54 UserDialog( QWidget* parent = 0, const char* name = 0, bool modal=true, WFlags fl = 0 ); 59 UserDialog( int viewmode=VIEWMODE_NEW, QWidget* parent = 0, const char* name = 0, bool modal=true, WFlags fl = 0 );
55 ~UserDialog(); 60 ~UserDialog();