1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
diff -Nur kdeadmin-3.4.0.orig/kuser/propdlg.cpp kdeadmin-3.4.0/kuser/propdlg.cpp
--- kdeadmin-3.4.0.orig/kuser/propdlg.cpp 2004-11-29 01:03:48.000000000 +0100
+++ kdeadmin-3.4.0/kuser/propdlg.cpp 2005-04-08 14:05:03.000000000 +0200
@@ -210,6 +210,8 @@
connect(cbposix, SIGNAL(stateChanged(int)), this, SLOT(changed()));
connect(cbposix, SIGNAL(stateChanged(int)), this, SLOT(cbposixChanged()));
addRow(frame, layout, row++, cbposix, i18n("Disable &POSIX account information"), whatstr);
+ } else {
+ cbposix = 0;
}
frontrow = row;
}
@@ -706,7 +708,8 @@
bool posix, samba = false;
newuser->copy( user );
- if ( cbposix->state() != QButton::NoChange ) {
+
+ if ( kug->getUsers().getCaps() & KUsers::Cap_Disable_POSIX && cbposix->state() != QButton::NoChange ) {
if ( cbposix->isChecked() )
newuser->setCaps( newuser->getCaps() & ~KUser::Cap_POSIX );
else
@@ -873,7 +876,7 @@
bool propdlg::check()
{
bool one = ( mUsers.getFirst() == mUsers.getLast() );
- bool posix = !( cbposix->isChecked() );
+ bool posix = !( kug->getUsers().getCaps() & KUsers::Cap_Disable_POSIX ) || !( cbposix->isChecked() );
if ( one && posix && leid->text().isEmpty() ) {
KMessageBox::sorry( 0, i18n("You need to specify an UID.") );
@@ -928,7 +931,8 @@
uid_t newuid = leid->text().toULong();
- if ( one && !cbposix->isChecked() && olduid != newuid )
+ if ( one && ( !( kug->getUsers().getCaps() & KUsers::Cap_Disable_POSIX ) || !cbposix->isChecked() )
+ && olduid != newuid )
{
if (kug->getUsers().lookup(newuid)) {
KMessageBox::sorry( 0,
|