|
Lines 16-27
Link Here
|
| 16 |
# # |
16 |
# # |
| 17 |
########################################################################### |
17 |
########################################################################### |
| 18 |
|
18 |
|
|
|
19 |
import sys |
| 20 |
import os.path |
| 21 |
# Trinity-specific paths |
| 22 |
tqt_modules = [] |
| 23 |
for m_path in sys.path: |
| 24 |
if os.path.exists(os.path.join(m_path, 'sip4_tqt')): |
| 25 |
m_sip_dir = os.path.join(m_path, 'sip4_tqt') |
| 26 |
tqt_modules.insert(0, m_sip_dir) |
| 27 |
if os.path.exists(os.path.join(m_path, 'python_tqt')): |
| 28 |
m_pyqt_dir = os.path.join(m_path, 'python_tqt') |
| 29 |
tqt_modules.insert(0, m_pyqt_dir) |
| 30 |
for m_path in tqt_modules: |
| 31 |
sys.path.insert(0, m_path) |
| 19 |
from qt import * |
32 |
from qt import * |
| 20 |
from tdeui import * |
33 |
from tdeui import * |
| 21 |
from tdecore import * |
34 |
from tdecore import * |
| 22 |
from tdefile import * |
35 |
from tdefile import * |
| 23 |
import sys |
|
|
| 24 |
import os.path |
| 25 |
import shutil |
36 |
import shutil |
| 26 |
import unixauthdb |
37 |
import unixauthdb |
| 27 |
import locale |
38 |
import locale |
|
Lines 37-51
Link Here
|
| 37 |
|
48 |
|
| 38 |
########################################################################### |
49 |
########################################################################### |
| 39 |
def SptimeToQDate(sptime): |
50 |
def SptimeToQDate(sptime): |
| 40 |
t = QDateTime() |
51 |
t = TQDateTime() |
| 41 |
t.setTime_t(0) |
52 |
t.setTime_t(0) |
| 42 |
return t.addDays(sptime).date() |
53 |
return t.addDays(sptime).date() |
| 43 |
|
54 |
|
| 44 |
########################################################################### |
55 |
########################################################################### |
| 45 |
def QDateToSptime(qdate): |
56 |
def TQDateToSptime(tqdate): |
| 46 |
x = QDateTime() |
57 |
x = TQDateTime() |
| 47 |
x.setTime_t(0) |
58 |
x.setTime_t(0) |
| 48 |
return x.daysTo(QDateTime(qdate)) |
59 |
return x.daysTo(TQDateTime(tqdate)) |
| 49 |
|
60 |
|
| 50 |
########################################################################### |
61 |
########################################################################### |
| 51 |
# Try translating this code to C++. I dare ya! |
62 |
# Try translating this code to C++. I dare ya! |
|
Lines 68-75
Link Here
|
| 68 |
self.setButtons(0) |
79 |
self.setButtons(0) |
| 69 |
self.aboutdata = MakeAboutData() |
80 |
self.aboutdata = MakeAboutData() |
| 70 |
|
81 |
|
| 71 |
toplayout = QVBoxLayout( self, 0, KDialog.spacingHint() ) |
82 |
toplayout = TQVBoxLayout( self, 0, KDialog.spacingHint() ) |
| 72 |
tabcontrol = QTabWidget(self) |
83 |
tabcontrol = TQTabWidget(self) |
| 73 |
toplayout.addWidget(tabcontrol) |
84 |
toplayout.addWidget(tabcontrol) |
| 74 |
toplayout.setStretchFactor(tabcontrol,1) |
85 |
toplayout.setStretchFactor(tabcontrol,1) |
| 75 |
|
86 |
|
|
Lines 92-113
Link Here
|
| 92 |
# --- User Tab --- |
103 |
# --- User Tab --- |
| 93 |
if standalone: |
104 |
if standalone: |
| 94 |
usershbox = self.addHBoxPage("Users") |
105 |
usershbox = self.addHBoxPage("Users") |
| 95 |
vbox = QVBox(usershbox) |
106 |
vbox = TQVBox(usershbox) |
| 96 |
else: |
107 |
else: |
| 97 |
vbox = QVBox(tabcontrol) |
108 |
vbox = TQVBox(tabcontrol) |
| 98 |
vbox.setMargin(KDialog.marginHint()) |
109 |
vbox.setMargin(KDialog.marginHint()) |
| 99 |
|
110 |
|
| 100 |
vbox.setSpacing(KDialog.spacingHint()) |
111 |
vbox.setSpacing(KDialog.spacingHint()) |
| 101 |
|
112 |
|
| 102 |
hb = QHBox(vbox) |
113 |
hb = TQHBox(vbox) |
| 103 |
hb.setSpacing(KDialog.spacingHint()) |
114 |
hb.setSpacing(KDialog.spacingHint()) |
| 104 |
vbox.setStretchFactor(hb,0) |
115 |
vbox.setStretchFactor(hb,0) |
| 105 |
|
116 |
|
| 106 |
label = QLabel(hb) |
117 |
label = TQLabel(hb) |
| 107 |
label.setPixmap(UserIcon("hi32-user")) |
118 |
label.setPixmap(UserIcon("hi32-user")) |
| 108 |
hb.setStretchFactor(label,0) |
119 |
hb.setStretchFactor(label,0) |
| 109 |
|
120 |
|
| 110 |
label = QLabel(i18n("User Accounts:"),hb) |
121 |
label = TQLabel(i18n("User Accounts:"),hb) |
| 111 |
hb.setStretchFactor(label,1) |
122 |
hb.setStretchFactor(label,1) |
| 112 |
|
123 |
|
| 113 |
self.userlist = TDEListView(vbox) |
124 |
self.userlist = TDEListView(vbox) |
|
Lines 115-132
Link Here
|
| 115 |
self.userlist.addColumn(i18n("Real Name")) |
126 |
self.userlist.addColumn(i18n("Real Name")) |
| 116 |
self.userlist.addColumn(i18n("UID")) |
127 |
self.userlist.addColumn(i18n("UID")) |
| 117 |
self.userlist.setAllColumnsShowFocus(True) |
128 |
self.userlist.setAllColumnsShowFocus(True) |
| 118 |
self.userlist.setSelectionMode(QListView.Single) |
129 |
self.userlist.setSelectionMode(TQListView.Single) |
| 119 |
|
130 |
|
| 120 |
self.connect(self.userlist, SIGNAL("selectionChanged(QListViewItem *)"), self.slotListClicked) |
131 |
self.connect(self.userlist, SIGNAL("selectionChanged(TQListViewItem *)"), self.slotListClicked) |
| 121 |
if isroot: |
132 |
if isroot: |
| 122 |
self.connect(self.userlist, SIGNAL("doubleClicked(QListViewItem *)"), self.slotModifyClicked) |
133 |
self.connect(self.userlist, SIGNAL("doubleClicked(TQListViewItem *)"), self.slotModifyClicked) |
| 123 |
self.connect(self.userlist, SIGNAL("contextMenu(TDEListView*,QListViewItem*,const QPoint&)"), self.slotUserContext) |
134 |
self.connect(self.userlist, SIGNAL("contextMenu(TDEListView*,TQListViewItem*,const TQPoint&)"), self.slotUserContext) |
| 124 |
|
135 |
|
| 125 |
self.showspecialcheckbox = QCheckBox(i18n("Show system accounts"),vbox) |
136 |
self.showspecialcheckbox = TQCheckBox(i18n("Show system accounts"),vbox) |
| 126 |
vbox.setStretchFactor(self.showspecialcheckbox,0) |
137 |
vbox.setStretchFactor(self.showspecialcheckbox,0) |
| 127 |
self.connect(self.showspecialcheckbox,SIGNAL("toggled(bool)"), self.slotShowSystemToggled) |
138 |
self.connect(self.showspecialcheckbox,SIGNAL("toggled(bool)"), self.slotShowSystemToggled) |
| 128 |
|
139 |
|
| 129 |
hbox = QHBox(vbox) |
140 |
hbox = TQHBox(vbox) |
| 130 |
hbox.setSpacing(KDialog.spacingHint()) |
141 |
hbox.setSpacing(KDialog.spacingHint()) |
| 131 |
|
142 |
|
| 132 |
vbox.setStretchFactor(hbox,0) |
143 |
vbox.setStretchFactor(hbox,0) |
|
Lines 143-185
Link Here
|
| 143 |
hbox.setStretchFactor(self.deletebutton,1) |
154 |
hbox.setStretchFactor(self.deletebutton,1) |
| 144 |
self.connect(self.deletebutton,SIGNAL("clicked()"),self.slotDeleteClicked) |
155 |
self.connect(self.deletebutton,SIGNAL("clicked()"),self.slotDeleteClicked) |
| 145 |
|
156 |
|
| 146 |
detailsbox = QVGroupBox(i18n("Details"),vbox) |
157 |
detailsbox = TQVGroupBox(i18n("Details"),vbox) |
| 147 |
userinfovbox = QWidget(detailsbox) |
158 |
userinfovbox = TQWidget(detailsbox) |
| 148 |
|
159 |
|
| 149 |
infogrid = QGridLayout(userinfovbox,3,4) |
160 |
infogrid = TQGridLayout(userinfovbox,3,4) |
| 150 |
infogrid.setSpacing(KDialog.spacingHint()) |
161 |
infogrid.setSpacing(KDialog.spacingHint()) |
| 151 |
|
162 |
|
| 152 |
label = QLabel(i18n("Login Name:"),userinfovbox) |
163 |
label = TQLabel(i18n("Login Name:"),userinfovbox) |
| 153 |
infogrid.addWidget(label,0,0) |
164 |
infogrid.addWidget(label,0,0) |
| 154 |
self.loginnamelabel = KLineEdit("",userinfovbox) |
165 |
self.loginnamelabel = KLineEdit("",userinfovbox) |
| 155 |
self.loginnamelabel.setReadOnly(True) |
166 |
self.loginnamelabel.setReadOnly(True) |
| 156 |
infogrid.addWidget(self.loginnamelabel,0,1) |
167 |
infogrid.addWidget(self.loginnamelabel,0,1) |
| 157 |
|
168 |
|
| 158 |
label = QLabel(i18n("Real Name:"),userinfovbox) |
169 |
label = TQLabel(i18n("Real Name:"),userinfovbox) |
| 159 |
infogrid.addWidget(label,0,2) |
170 |
infogrid.addWidget(label,0,2) |
| 160 |
self.realnamelabel = KLineEdit("",userinfovbox) |
171 |
self.realnamelabel = KLineEdit("",userinfovbox) |
| 161 |
self.realnamelabel.setReadOnly(True) |
172 |
self.realnamelabel.setReadOnly(True) |
| 162 |
infogrid.addWidget(self.realnamelabel,0,3) |
173 |
infogrid.addWidget(self.realnamelabel,0,3) |
| 163 |
|
174 |
|
| 164 |
label = QLabel(i18n("UID:"),userinfovbox) |
175 |
label = TQLabel(i18n("UID:"),userinfovbox) |
| 165 |
infogrid.addWidget(label,1,0) |
176 |
infogrid.addWidget(label,1,0) |
| 166 |
self.uidlabel = KLineEdit("",userinfovbox) |
177 |
self.uidlabel = KLineEdit("",userinfovbox) |
| 167 |
self.uidlabel.setReadOnly(True) |
178 |
self.uidlabel.setReadOnly(True) |
| 168 |
infogrid.addWidget(self.uidlabel,1,1) |
179 |
infogrid.addWidget(self.uidlabel,1,1) |
| 169 |
|
180 |
|
| 170 |
label = QLabel(i18n("Status:"),userinfovbox) |
181 |
label = TQLabel(i18n("Status:"),userinfovbox) |
| 171 |
infogrid.addWidget(label,1,2) |
182 |
infogrid.addWidget(label,1,2) |
| 172 |
self.statuslabel = KLineEdit("",userinfovbox) |
183 |
self.statuslabel = KLineEdit("",userinfovbox) |
| 173 |
self.statuslabel.setReadOnly(True) |
184 |
self.statuslabel.setReadOnly(True) |
| 174 |
infogrid.addWidget(self.statuslabel,1,3) |
185 |
infogrid.addWidget(self.statuslabel,1,3) |
| 175 |
|
186 |
|
| 176 |
label = QLabel(i18n("Primary Group:"),userinfovbox) |
187 |
label = TQLabel(i18n("Primary Group:"),userinfovbox) |
| 177 |
infogrid.addWidget(label,2,0) |
188 |
infogrid.addWidget(label,2,0) |
| 178 |
self.primarygrouplabel = KLineEdit("",userinfovbox) |
189 |
self.primarygrouplabel = KLineEdit("",userinfovbox) |
| 179 |
self.primarygrouplabel.setReadOnly(True) |
190 |
self.primarygrouplabel.setReadOnly(True) |
| 180 |
infogrid.addWidget(self.primarygrouplabel,2,1) |
191 |
infogrid.addWidget(self.primarygrouplabel,2,1) |
| 181 |
|
192 |
|
| 182 |
label = QLabel(i18n("Secondary Groups:"),userinfovbox) |
193 |
label = TQLabel(i18n("Secondary Groups:"),userinfovbox) |
| 183 |
infogrid.addWidget(label,2,2) |
194 |
infogrid.addWidget(label,2,2) |
| 184 |
self.secondarygrouplabel = KLineEdit("",userinfovbox) |
195 |
self.secondarygrouplabel = KLineEdit("",userinfovbox) |
| 185 |
self.secondarygrouplabel.setReadOnly(True) |
196 |
self.secondarygrouplabel.setReadOnly(True) |
|
Lines 191-235
Link Here
|
| 191 |
#--- Groups Tab --- |
202 |
#--- Groups Tab --- |
| 192 |
if standalone: |
203 |
if standalone: |
| 193 |
groupsvbox = self.addVBoxPage(i18n("Groups")) |
204 |
groupsvbox = self.addVBoxPage(i18n("Groups")) |
| 194 |
hb = QHBox(groupsvbox) |
205 |
hb = TQHBox(groupsvbox) |
| 195 |
else: |
206 |
else: |
| 196 |
groupsvbox = QVBox(tabcontrol) |
207 |
groupsvbox = TQVBox(tabcontrol) |
| 197 |
groupsvbox.setMargin(KDialog.marginHint()) |
208 |
groupsvbox.setMargin(KDialog.marginHint()) |
| 198 |
hb = QHBox(groupsvbox) |
209 |
hb = TQHBox(groupsvbox) |
| 199 |
|
210 |
|
| 200 |
topframe = QFrame(groupsvbox) |
211 |
topframe = TQFrame(groupsvbox) |
| 201 |
groupsvbox.setSpacing(KDialog.spacingHint()) |
212 |
groupsvbox.setSpacing(KDialog.spacingHint()) |
| 202 |
hb.setSpacing(KDialog.spacingHint()) |
213 |
hb.setSpacing(KDialog.spacingHint()) |
| 203 |
groupsvbox.setStretchFactor(hb,0) |
214 |
groupsvbox.setStretchFactor(hb,0) |
| 204 |
|
215 |
|
| 205 |
label = QLabel(hb) |
216 |
label = TQLabel(hb) |
| 206 |
label.setPixmap(UserIcon("hi32-group")) |
217 |
label.setPixmap(UserIcon("hi32-group")) |
| 207 |
hb.setStretchFactor(label,0) |
218 |
hb.setStretchFactor(label,0) |
| 208 |
|
219 |
|
| 209 |
label = QLabel(i18n("Groups:"),hb) |
220 |
label = TQLabel(i18n("Groups:"),hb) |
| 210 |
hb.setStretchFactor(label,1) |
221 |
hb.setStretchFactor(label,1) |
| 211 |
|
222 |
|
| 212 |
groupsplitter = QSplitter(Qt.Vertical,groupsvbox) |
223 |
groupsplitter = TQSplitter(TQt.Vertical,groupsvbox) |
| 213 |
|
224 |
|
| 214 |
self.grouplist = TDEListView(groupsplitter) |
225 |
self.grouplist = TDEListView(groupsplitter) |
| 215 |
self.grouplist.addColumn(i18n("Group Name")) |
226 |
self.grouplist.addColumn(i18n("Group Name")) |
| 216 |
self.grouplist.addColumn(i18n("GID")) |
227 |
self.grouplist.addColumn(i18n("GID")) |
| 217 |
self.grouplist.setAllColumnsShowFocus(True) |
228 |
self.grouplist.setAllColumnsShowFocus(True) |
| 218 |
self.connect(self.grouplist, SIGNAL("selectionChanged(QListViewItem *)"), self.slotGroupListClicked) |
229 |
self.connect(self.grouplist, SIGNAL("selectionChanged(TQListViewItem *)"), self.slotGroupListClicked) |
| 219 |
|
230 |
|
| 220 |
if isroot: |
231 |
if isroot: |
| 221 |
self.connect(self.grouplist, SIGNAL("doubleClicked(QListViewItem *)"), self.slotModifyGroupClicked) |
232 |
self.connect(self.grouplist, SIGNAL("doubleClicked(TQListViewItem *)"), self.slotModifyGroupClicked) |
| 222 |
self.connect(self.grouplist, SIGNAL("contextMenu(TDEListView*,QListViewItem*,const QPoint&)"), |
233 |
self.connect(self.grouplist, SIGNAL("contextMenu(TDEListView*,TQListViewItem*,const TQPoint&)"), |
| 223 |
self.slotGroupContext) |
234 |
self.slotGroupContext) |
| 224 |
|
235 |
|
| 225 |
groupbottomvbox = QVBox(groupsplitter) |
236 |
groupbottomvbox = TQVBox(groupsplitter) |
| 226 |
groupbottomvbox.setSizePolicy(QSizePolicy.Expanding,QSizePolicy.Expanding) |
237 |
groupbottomvbox.setSizePolicy(TQSizePolicy.Expanding,TQSizePolicy.Expanding) |
| 227 |
|
238 |
|
| 228 |
self.showspecialgroupscheckbox = QCheckBox(i18n("Show system groups"),groupbottomvbox) |
239 |
self.showspecialgroupscheckbox = TQCheckBox(i18n("Show system groups"),groupbottomvbox) |
| 229 |
vbox.setStretchFactor(self.showspecialgroupscheckbox,0) |
240 |
vbox.setStretchFactor(self.showspecialgroupscheckbox,0) |
| 230 |
self.connect(self.showspecialgroupscheckbox,SIGNAL("toggled(bool)"), self.slotShowSystemGroupsToggled) |
241 |
self.connect(self.showspecialgroupscheckbox,SIGNAL("toggled(bool)"), self.slotShowSystemGroupsToggled) |
| 231 |
|
242 |
|
| 232 |
hbox = QHBox(groupbottomvbox) |
243 |
hbox = TQHBox(groupbottomvbox) |
| 233 |
hbox.setSpacing(KDialog.spacingHint()) |
244 |
hbox.setSpacing(KDialog.spacingHint()) |
| 234 |
|
245 |
|
| 235 |
groupsvbox.setStretchFactor(hbox,0) |
246 |
groupsvbox.setStretchFactor(hbox,0) |
|
Lines 252-258
Link Here
|
| 252 |
for widget in disablebuttons: |
263 |
for widget in disablebuttons: |
| 253 |
widget.setDisabled(True) |
264 |
widget.setDisabled(True) |
| 254 |
|
265 |
|
| 255 |
label = QLabel(i18n("Group Members:"),groupbottomvbox) |
266 |
label = TQLabel(i18n("Group Members:"),groupbottomvbox) |
| 256 |
groupsvbox.setStretchFactor(label,0) |
267 |
groupsvbox.setStretchFactor(label,0) |
| 257 |
|
268 |
|
| 258 |
self.groupmemberlist = TDEListView(groupbottomvbox) |
269 |
self.groupmemberlist = TDEListView(groupbottomvbox) |
|
Lines 461-467
Link Here
|
| 461 |
if userobj.isLocked(): |
472 |
if userobj.isLocked(): |
| 462 |
lvi.setPixmap(0,UserIcon("hi16-encrypted")) |
473 |
lvi.setPixmap(0,UserIcon("hi16-encrypted")) |
| 463 |
else: |
474 |
else: |
| 464 |
lvi.setPixmap(0,QPixmap()) |
475 |
lvi.setPixmap(0,TQPixmap()) |
| 465 |
|
476 |
|
| 466 |
####################################################################### |
477 |
####################################################################### |
| 467 |
def __selectUser(self,userid): |
478 |
def __selectUser(self,userid): |
|
Lines 505-511
Link Here
|
| 505 |
for groupobj in groups: |
516 |
for groupobj in groups: |
| 506 |
gid = groupobj.getGID() |
517 |
gid = groupobj.getGID() |
| 507 |
if self.showsystemgroups or not groupobj.isSystemGroup(): |
518 |
if self.showsystemgroups or not groupobj.isSystemGroup(): |
| 508 |
lvi = QListViewItem(self.grouplist,groupobj.getGroupname(),unicode(gid)) |
519 |
lvi = TQListViewItem(self.grouplist,groupobj.getGroupname(),unicode(gid)) |
| 509 |
self.groupidsToListItems[gid] = lvi |
520 |
self.groupidsToListItems[gid] = lvi |
| 510 |
if self.selectedgroupid==gid: |
521 |
if self.selectedgroupid==gid: |
| 511 |
firstselectedgroupid = gid |
522 |
firstselectedgroupid = gid |
|
Lines 528-534
Link Here
|
| 528 |
self.groupmemberlist.clear() |
539 |
self.groupmemberlist.clear() |
| 529 |
for userobj in members: |
540 |
for userobj in members: |
| 530 |
if userobj!=None: |
541 |
if userobj!=None: |
| 531 |
lvi = QListViewItem(self.groupmemberlist,userobj.getUsername(),userobj.getRealName(),unicode(userobj.getUID())) |
542 |
lvi = TQListViewItem(self.groupmemberlist,userobj.getUsername(),userobj.getRealName(),unicode(userobj.getUID())) |
| 532 |
if isroot: |
543 |
if isroot: |
| 533 |
self.deletegroupbutton.setDisabled(groupobj.getGID()==0) |
544 |
self.deletegroupbutton.setDisabled(groupobj.getGID()==0) |
| 534 |
|
545 |
|
|
Lines 610-641
Link Here
|
| 610 |
self.updatingGUI = True |
621 |
self.updatingGUI = True |
| 611 |
|
622 |
|
| 612 |
detailsvbox = self.addHBoxPage(i18n("Details")) |
623 |
detailsvbox = self.addHBoxPage(i18n("Details")) |
| 613 |
detailspace = QWidget(detailsvbox) |
624 |
detailspace = TQWidget(detailsvbox) |
| 614 |
|
625 |
|
| 615 |
infogrid = QGridLayout(detailspace,9,2) |
626 |
infogrid = TQGridLayout(detailspace,9,2) |
| 616 |
infogrid.setSpacing(self.spacingHint()) |
627 |
infogrid.setSpacing(self.spacingHint()) |
| 617 |
infogrid.setColStretch(0,0) |
628 |
infogrid.setColStretch(0,0) |
| 618 |
infogrid.setColStretch(1,1) |
629 |
infogrid.setColStretch(1,1) |
| 619 |
|
630 |
|
| 620 |
self.enabledradiogroup = QButtonGroup() |
631 |
self.enabledradiogroup = TQButtonGroup() |
| 621 |
self.enabledradiogroup.setRadioButtonExclusive(True) |
632 |
self.enabledradiogroup.setRadioButtonExclusive(True) |
| 622 |
hb = QHBox(detailspace) |
633 |
hb = TQHBox(detailspace) |
| 623 |
hb.setSpacing(self.spacingHint()) |
634 |
hb.setSpacing(self.spacingHint()) |
| 624 |
label = QLabel(hb) |
635 |
label = TQLabel(hb) |
| 625 |
label.setPixmap(UserIcon("hi32-identity")) |
636 |
label.setPixmap(UserIcon("hi32-identity")) |
| 626 |
hb.setStretchFactor(label,0) |
637 |
hb.setStretchFactor(label,0) |
| 627 |
label = QLabel(i18n("Status:"),hb) |
638 |
label = TQLabel(i18n("Status:"),hb) |
| 628 |
hb.setStretchFactor(label,1) |
639 |
hb.setStretchFactor(label,1) |
| 629 |
infogrid.addMultiCellWidget(hb,0,1,0,0) |
640 |
infogrid.addMultiCellWidget(hb,0,1,0,0) |
| 630 |
|
641 |
|
| 631 |
self.enabledradio = QRadioButton(i18n("Enabled"),detailspace) |
642 |
self.enabledradio = TQRadioButton(i18n("Enabled"),detailspace) |
| 632 |
infogrid.addWidget(self.enabledradio,0,1) |
643 |
infogrid.addWidget(self.enabledradio,0,1) |
| 633 |
|
644 |
|
| 634 |
hbox = QHBox(detailspace) |
645 |
hbox = TQHBox(detailspace) |
| 635 |
hbox.setSpacing(self.spacingHint()) |
646 |
hbox.setSpacing(self.spacingHint()) |
| 636 |
self.disabledradio = QRadioButton(i18n("Disabled"),hbox) |
647 |
self.disabledradio = TQRadioButton(i18n("Disabled"),hbox) |
| 637 |
hbox.setStretchFactor(self.disabledradio,0) |
648 |
hbox.setStretchFactor(self.disabledradio,0) |
| 638 |
label = QLabel(hbox) |
649 |
label = TQLabel(hbox) |
| 639 |
label.setPixmap(UserIcon("hi16-encrypted")) |
650 |
label.setPixmap(UserIcon("hi16-encrypted")) |
| 640 |
hbox.setStretchFactor(label,1) |
651 |
hbox.setStretchFactor(label,1) |
| 641 |
infogrid.addWidget(hbox,1,1) |
652 |
infogrid.addWidget(hbox,1,1) |
|
Lines 643-688
Link Here
|
| 643 |
self.enabledradiogroup.insert(self.enabledradio,0) |
654 |
self.enabledradiogroup.insert(self.enabledradio,0) |
| 644 |
self.enabledradiogroup.insert(self.disabledradio,1) |
655 |
self.enabledradiogroup.insert(self.disabledradio,1) |
| 645 |
|
656 |
|
| 646 |
label = QLabel(i18n("Login Name:"),detailspace) |
657 |
label = TQLabel(i18n("Login Name:"),detailspace) |
| 647 |
infogrid.addWidget(label,2,0) |
658 |
infogrid.addWidget(label,2,0) |
| 648 |
self.loginnameedit = KLineEdit("",detailspace) |
659 |
self.loginnameedit = KLineEdit("",detailspace) |
| 649 |
self.loginnameedit.setValidator(LoginNameValidator(self.loginnameedit)) |
660 |
self.loginnameedit.setValidator(LoginNameValidator(self.loginnameedit)) |
| 650 |
|
661 |
|
| 651 |
infogrid.addWidget(self.loginnameedit,2,1) |
662 |
infogrid.addWidget(self.loginnameedit,2,1) |
| 652 |
self.connect(self.loginnameedit, SIGNAL("textChanged(const QString &)"), self.slotLoginChanged) |
663 |
self.connect(self.loginnameedit, SIGNAL("textChanged(const TQString &)"), self.slotLoginChanged) |
| 653 |
|
664 |
|
| 654 |
label = QLabel(i18n("Real Name:"),detailspace) |
665 |
label = TQLabel(i18n("Real Name:"),detailspace) |
| 655 |
infogrid.addWidget(label,3,0) |
666 |
infogrid.addWidget(label,3,0) |
| 656 |
self.realnameedit = KLineEdit("",detailspace) |
667 |
self.realnameedit = KLineEdit("",detailspace) |
| 657 |
self.realnameedit.setValidator(RealUserNameValidator(self.realnameedit)) |
668 |
self.realnameedit.setValidator(RealUserNameValidator(self.realnameedit)) |
| 658 |
|
669 |
|
| 659 |
infogrid.addWidget(self.realnameedit,3,1) |
670 |
infogrid.addWidget(self.realnameedit,3,1) |
| 660 |
|
671 |
|
| 661 |
label = QLabel(i18n("User ID:"),detailspace) |
672 |
label = TQLabel(i18n("User ID:"),detailspace) |
| 662 |
infogrid.addWidget(label,4,0) |
673 |
infogrid.addWidget(label,4,0) |
| 663 |
self.uidedit = KLineEdit("",detailspace) |
674 |
self.uidedit = KLineEdit("",detailspace) |
| 664 |
self.uidedit.setValidator(QIntValidator(0,65535,detailspace)) |
675 |
self.uidedit.setValidator(TQIntValidator(0,65535,detailspace)) |
| 665 |
infogrid.addWidget(self.uidedit,4,1) |
676 |
infogrid.addWidget(self.uidedit,4,1) |
| 666 |
|
677 |
|
| 667 |
label = QLabel(i18n("Primary Group:"),detailspace) |
678 |
label = TQLabel(i18n("Primary Group:"),detailspace) |
| 668 |
infogrid.addWidget(label,5,0) |
679 |
infogrid.addWidget(label,5,0) |
| 669 |
self.primarygroupedit = KComboBox(False,detailspace) |
680 |
self.primarygroupedit = KComboBox(False,detailspace) |
| 670 |
infogrid.addWidget(self.primarygroupedit,5,1) |
681 |
infogrid.addWidget(self.primarygroupedit,5,1) |
| 671 |
|
682 |
|
| 672 |
label = QLabel(i18n("Home Directory:"),detailspace) |
683 |
label = TQLabel(i18n("Home Directory:"),detailspace) |
| 673 |
infogrid.addWidget(label,7,0) |
684 |
infogrid.addWidget(label,7,0) |
| 674 |
|
685 |
|
| 675 |
hbox = QHBox(detailspace) |
686 |
hbox = TQHBox(detailspace) |
| 676 |
hbox.setSpacing(self.spacingHint()) |
687 |
hbox.setSpacing(self.spacingHint()) |
| 677 |
self.homediredit = KLineEdit("",hbox) |
688 |
self.homediredit = KLineEdit("",hbox) |
| 678 |
hbox.setStretchFactor(self.homediredit,1) |
689 |
hbox.setStretchFactor(self.homediredit,1) |
| 679 |
self.connect(self.homediredit, SIGNAL("textChanged(const QString &)"), self.slotHomeDirChanged) |
690 |
self.connect(self.homediredit, SIGNAL("textChanged(const TQString &)"), self.slotHomeDirChanged) |
| 680 |
self.homedirbutton = KPushButton(i18n("Browse..."),hbox) |
691 |
self.homedirbutton = KPushButton(i18n("Browse..."),hbox) |
| 681 |
hbox.setStretchFactor(self.homedirbutton,0) |
692 |
hbox.setStretchFactor(self.homedirbutton,0) |
| 682 |
self.connect(self.homedirbutton,SIGNAL("clicked()"),self.slotBrowseHomeDirClicked) |
693 |
self.connect(self.homedirbutton,SIGNAL("clicked()"),self.slotBrowseHomeDirClicked) |
| 683 |
infogrid.addWidget(hbox,7,1) |
694 |
infogrid.addWidget(hbox,7,1) |
| 684 |
|
695 |
|
| 685 |
label = QLabel(i18n("Shell:"),detailspace) |
696 |
label = TQLabel(i18n("Shell:"),detailspace) |
| 686 |
infogrid.addWidget(label,8,0) |
697 |
infogrid.addWidget(label,8,0) |
| 687 |
|
698 |
|
| 688 |
self.shelledit = KComboBox(True,detailspace) |
699 |
self.shelledit = KComboBox(True,detailspace) |
|
Lines 697-705
Link Here
|
| 697 |
groupsvbox = self.addHBoxPage(i18n("Privileges and groups")) |
708 |
groupsvbox = self.addHBoxPage(i18n("Privileges and groups")) |
| 698 |
|
709 |
|
| 699 |
# Rudd-O now here we create the widget that will hold the group listing, and fill it with the groups. |
710 |
# Rudd-O now here we create the widget that will hold the group listing, and fill it with the groups. |
| 700 |
self.privilegeslistview = QListView(groupsvbox) |
711 |
self.privilegeslistview = TQListView(groupsvbox) |
| 701 |
self.privilegeslistview.addColumn(i18n("Privilege"),-1) |
712 |
self.privilegeslistview.addColumn(i18n("Privilege"),-1) |
| 702 |
self.groupslistview = QListView(groupsvbox) |
713 |
self.groupslistview = TQListView(groupsvbox) |
| 703 |
self.groupslistview.addColumn(i18n("Secondary group"),-1) |
714 |
self.groupslistview.addColumn(i18n("Secondary group"),-1) |
| 704 |
groupsvbox.setStretchFactor(self.privilegeslistview,3) |
715 |
groupsvbox.setStretchFactor(self.privilegeslistview,3) |
| 705 |
groupsvbox.setStretchFactor(self.groupslistview,2) |
716 |
groupsvbox.setStretchFactor(self.groupslistview,2) |
|
Lines 707-726
Link Here
|
| 707 |
# Password and Security Tab. |
718 |
# Password and Security Tab. |
| 708 |
passwordvbox = self.addVBoxPage(i18n("Password && Security")) |
719 |
passwordvbox = self.addVBoxPage(i18n("Password && Security")) |
| 709 |
|
720 |
|
| 710 |
passwordspace = QWidget(passwordvbox) |
721 |
passwordspace = TQWidget(passwordvbox) |
| 711 |
passwordgrid = QGridLayout(passwordspace,8,3) |
722 |
passwordgrid = TQGridLayout(passwordspace,8,3) |
| 712 |
passwordgrid.setSpacing(self.spacingHint()) |
723 |
passwordgrid.setSpacing(self.spacingHint()) |
| 713 |
passwordgrid.setColStretch(0,0) |
724 |
passwordgrid.setColStretch(0,0) |
| 714 |
passwordgrid.setColStretch(1,0) |
725 |
passwordgrid.setColStretch(1,0) |
| 715 |
passwordgrid.setColStretch(2,1) |
726 |
passwordgrid.setColStretch(2,1) |
| 716 |
passwordvbox.setStretchFactor(passwordspace,0) |
727 |
passwordvbox.setStretchFactor(passwordspace,0) |
| 717 |
|
728 |
|
| 718 |
hb = QHBox(passwordspace) |
729 |
hb = TQHBox(passwordspace) |
| 719 |
hb.setSpacing(self.spacingHint()) |
730 |
hb.setSpacing(self.spacingHint()) |
| 720 |
label = QLabel(hb) |
731 |
label = TQLabel(hb) |
| 721 |
label.setPixmap(UserIcon("hi32-password")) |
732 |
label.setPixmap(UserIcon("hi32-password")) |
| 722 |
hb.setStretchFactor(label,0) |
733 |
hb.setStretchFactor(label,0) |
| 723 |
label = QLabel(i18n("Password:"),hb) |
734 |
label = TQLabel(i18n("Password:"),hb) |
| 724 |
hb.setStretchFactor(label,1) |
735 |
hb.setStretchFactor(label,1) |
| 725 |
passwordgrid.addWidget(hb,0,0) |
736 |
passwordgrid.addWidget(hb,0,0) |
| 726 |
|
737 |
|
|
Lines 728-751
Link Here
|
| 728 |
passwordgrid.addWidget(self.passwordedit,0,1) |
739 |
passwordgrid.addWidget(self.passwordedit,0,1) |
| 729 |
|
740 |
|
| 730 |
# Last Change |
741 |
# Last Change |
| 731 |
label = QLabel(i18n("Last changed:"),passwordspace) |
742 |
label = TQLabel(i18n("Last changed:"),passwordspace) |
| 732 |
passwordgrid.addWidget(label,1,0) |
743 |
passwordgrid.addWidget(label,1,0) |
| 733 |
self.lastchangelabel = KLineEdit("",passwordspace) |
744 |
self.lastchangelabel = KLineEdit("",passwordspace) |
| 734 |
self.lastchangelabel.setReadOnly(True) |
745 |
self.lastchangelabel.setReadOnly(True) |
| 735 |
passwordgrid.addWidget(self.lastchangelabel,1,1) |
746 |
passwordgrid.addWidget(self.lastchangelabel,1,1) |
| 736 |
|
747 |
|
| 737 |
self.validradiogroup = QButtonGroup() |
748 |
self.validradiogroup = TQButtonGroup() |
| 738 |
self.validradiogroup.setRadioButtonExclusive(True) |
749 |
self.validradiogroup.setRadioButtonExclusive(True) |
| 739 |
|
750 |
|
| 740 |
# Valid until. |
751 |
# Valid until. |
| 741 |
label = QLabel(i18n("Valid until:"),passwordspace) |
752 |
label = TQLabel(i18n("Valid until:"),passwordspace) |
| 742 |
passwordgrid.addWidget(label,2,0) |
753 |
passwordgrid.addWidget(label,2,0) |
| 743 |
self.validalwaysradio = QRadioButton(i18n("Always"),passwordspace) |
754 |
self.validalwaysradio = TQRadioButton(i18n("Always"),passwordspace) |
| 744 |
passwordgrid.addWidget(self.validalwaysradio,2,1) |
755 |
passwordgrid.addWidget(self.validalwaysradio,2,1) |
| 745 |
|
756 |
|
| 746 |
hbox = QHBox(passwordspace) |
757 |
hbox = TQHBox(passwordspace) |
| 747 |
hbox.setSpacing(self.spacingHint()) |
758 |
hbox.setSpacing(self.spacingHint()) |
| 748 |
self.expireradio = QRadioButton(hbox) |
759 |
self.expireradio = TQRadioButton(hbox) |
| 749 |
hbox.setStretchFactor(self.expireradio,0) |
760 |
hbox.setStretchFactor(self.expireradio,0) |
| 750 |
|
761 |
|
| 751 |
self.expiredate = KDateWidget(hbox) |
762 |
self.expiredate = KDateWidget(hbox) |
|
Lines 757-786
Link Here
|
| 757 |
self.connect(self.validradiogroup,SIGNAL("clicked(int)"),self.slotValidUntilClicked) |
768 |
self.connect(self.validradiogroup,SIGNAL("clicked(int)"),self.slotValidUntilClicked) |
| 758 |
|
769 |
|
| 759 |
# Password Aging & Expiration. |
770 |
# Password Aging & Expiration. |
| 760 |
passwordaginggroup = QVGroupBox(i18n("Password Aging"),passwordvbox) |
771 |
passwordaginggroup = TQVGroupBox(i18n("Password Aging"),passwordvbox) |
| 761 |
passwordaginggroup.setInsideSpacing(self.spacingHint()) |
772 |
passwordaginggroup.setInsideSpacing(self.spacingHint()) |
| 762 |
passwordvbox.setStretchFactor(passwordaginggroup,0) |
773 |
passwordvbox.setStretchFactor(passwordaginggroup,0) |
| 763 |
|
774 |
|
| 764 |
passwordagingwidget = QWidget(passwordaginggroup) |
775 |
passwordagingwidget = TQWidget(passwordaginggroup) |
| 765 |
|
776 |
|
| 766 |
passwordaginggrid = QGridLayout(passwordagingwidget,4,3) |
777 |
passwordaginggrid = TQGridLayout(passwordagingwidget,4,3) |
| 767 |
passwordaginggrid.setSpacing(self.spacingHint()) |
778 |
passwordaginggrid.setSpacing(self.spacingHint()) |
| 768 |
|
779 |
|
| 769 |
# [*] Require new password after: [_____5 days] |
780 |
# [*] Require new password after: [_____5 days] |
| 770 |
self.forcepasswordchangecheckbox = QCheckBox(passwordagingwidget) |
781 |
self.forcepasswordchangecheckbox = TQCheckBox(passwordagingwidget) |
| 771 |
self.connect(self.forcepasswordchangecheckbox,SIGNAL("toggled(bool)"),self.slotForcePasswordChangeToggled) |
782 |
self.connect(self.forcepasswordchangecheckbox,SIGNAL("toggled(bool)"),self.slotForcePasswordChangeToggled) |
| 772 |
passwordaginggrid.addWidget(self.forcepasswordchangecheckbox,0,0) |
783 |
passwordaginggrid.addWidget(self.forcepasswordchangecheckbox,0,0) |
| 773 |
label = QLabel(i18n("Require new password after:"),passwordagingwidget) |
784 |
label = TQLabel(i18n("Require new password after:"),passwordagingwidget) |
| 774 |
passwordaginggrid.addWidget(label,0,1) |
785 |
passwordaginggrid.addWidget(label,0,1) |
| 775 |
self.maximumpasswordedit = QSpinBox(passwordagingwidget) |
786 |
self.maximumpasswordedit = TQSpinBox(passwordagingwidget) |
| 776 |
self.maximumpasswordedit.setSuffix(i18n(" days")) |
787 |
self.maximumpasswordedit.setSuffix(i18n(" days")) |
| 777 |
self.maximumpasswordedit.setMinValue(1) |
788 |
self.maximumpasswordedit.setMinValue(1) |
| 778 |
self.maximumpasswordedit.setMaxValue(365*5) |
789 |
self.maximumpasswordedit.setMaxValue(365*5) |
| 779 |
passwordaginggrid.addWidget(self.maximumpasswordedit,0,2) |
790 |
passwordaginggrid.addWidget(self.maximumpasswordedit,0,2) |
| 780 |
|
791 |
|
| 781 |
label = QLabel(i18n("Warn before password expires:"),passwordagingwidget) |
792 |
label = TQLabel(i18n("Warn before password expires:"),passwordagingwidget) |
| 782 |
passwordaginggrid.addWidget(label,1,1) |
793 |
passwordaginggrid.addWidget(label,1,1) |
| 783 |
self.warningedit = QSpinBox(passwordagingwidget) |
794 |
self.warningedit = TQSpinBox(passwordagingwidget) |
| 784 |
self.warningedit.setPrefix(i18n("After ")) |
795 |
self.warningedit.setPrefix(i18n("After ")) |
| 785 |
self.warningedit.setSuffix(i18n(" days")) |
796 |
self.warningedit.setSuffix(i18n(" days")) |
| 786 |
self.warningedit.setMinValue(0) |
797 |
self.warningedit.setMinValue(0) |
|
Lines 788-796
Link Here
|
| 788 |
self.warningedit.setSpecialValueText(i18n("Never")) |
799 |
self.warningedit.setSpecialValueText(i18n("Never")) |
| 789 |
passwordaginggrid.addWidget(self.warningedit,1,2) |
800 |
passwordaginggrid.addWidget(self.warningedit,1,2) |
| 790 |
|
801 |
|
| 791 |
label = QLabel(i18n("Disable account after password expires:"),passwordagingwidget) |
802 |
label = TQLabel(i18n("Disable account after password expires:"),passwordagingwidget) |
| 792 |
passwordaginggrid.addWidget(label,2,1) |
803 |
passwordaginggrid.addWidget(label,2,1) |
| 793 |
self.disableexpireedit = QSpinBox(passwordagingwidget) |
804 |
self.disableexpireedit = TQSpinBox(passwordagingwidget) |
| 794 |
self.disableexpireedit.setPrefix(i18n("After ")) |
805 |
self.disableexpireedit.setPrefix(i18n("After ")) |
| 795 |
self.disableexpireedit.setSuffix(i18n(" days")) |
806 |
self.disableexpireedit.setSuffix(i18n(" days")) |
| 796 |
self.disableexpireedit.setMinValue(0) |
807 |
self.disableexpireedit.setMinValue(0) |
|
Lines 798-814
Link Here
|
| 798 |
self.disableexpireedit.setSpecialValueText(i18n("Never")) |
809 |
self.disableexpireedit.setSpecialValueText(i18n("Never")) |
| 799 |
passwordaginggrid.addWidget(self.disableexpireedit,2,2) |
810 |
passwordaginggrid.addWidget(self.disableexpireedit,2,2) |
| 800 |
|
811 |
|
| 801 |
self.enforcepasswordminagecheckbox = QCheckBox(passwordagingwidget) |
812 |
self.enforcepasswordminagecheckbox = TQCheckBox(passwordagingwidget) |
| 802 |
self.connect(self.enforcepasswordminagecheckbox,SIGNAL("toggled(bool)"),self.slotEnforePasswordAgeToggled) |
813 |
self.connect(self.enforcepasswordminagecheckbox,SIGNAL("toggled(bool)"),self.slotEnforePasswordAgeToggled) |
| 803 |
passwordaginggrid.addWidget(self.enforcepasswordminagecheckbox,3,0) |
814 |
passwordaginggrid.addWidget(self.enforcepasswordminagecheckbox,3,0) |
| 804 |
|
815 |
|
| 805 |
label = QLabel(i18n("Enforce minimum password age:"),passwordagingwidget) |
816 |
label = TQLabel(i18n("Enforce minimum password age:"),passwordagingwidget) |
| 806 |
passwordaginggrid.addWidget(label,3,1) |
817 |
passwordaginggrid.addWidget(label,3,1) |
| 807 |
self.minimumpasswordedit = QSpinBox(passwordagingwidget) |
818 |
self.minimumpasswordedit = TQSpinBox(passwordagingwidget) |
| 808 |
self.minimumpasswordedit.setSuffix(i18n(" days")) |
819 |
self.minimumpasswordedit.setSuffix(i18n(" days")) |
| 809 |
passwordaginggrid.addWidget(self.minimumpasswordedit,3,2) |
820 |
passwordaginggrid.addWidget(self.minimumpasswordedit,3,2) |
| 810 |
|
821 |
|
| 811 |
spacer = QWidget(passwordvbox) |
822 |
spacer = TQWidget(passwordvbox) |
| 812 |
passwordvbox.setStretchFactor(spacer,1) |
823 |
passwordvbox.setStretchFactor(spacer,1) |
| 813 |
|
824 |
|
| 814 |
self.homedirdialog = KDirSelectDialog("/",True,self,"Select Home Directory",True) |
825 |
self.homedirdialog = KDirSelectDialog("/",True,self,"Select Home Directory",True) |
|
Lines 834-840
Link Here
|
| 834 |
else: |
845 |
else: |
| 835 |
name = unicode(group).encode(locale.getpreferredencoding()) |
846 |
name = unicode(group).encode(locale.getpreferredencoding()) |
| 836 |
wid = self.groupslistview |
847 |
wid = self.groupslistview |
| 837 |
self.secondarygroupcheckboxes[group] = QCheckListItem(wid,name,QCheckListItem.CheckBox) |
848 |
self.secondarygroupcheckboxes[group] = TQCheckListItem(wid,name,TQCheckListItem.CheckBox) |
| 838 |
|
849 |
|
| 839 |
######################################################################## |
850 |
######################################################################## |
| 840 |
def showEditUser(self,userid): |
851 |
def showEditUser(self,userid): |
|
Lines 849-856
Link Here
|
| 849 |
# Rudd-O: now here we tick the appropriate group listing checkbox, and hide the currently active primary group of the user. We are repopulating because if the user to edit changes, we need to hide the user's secondary group. FIXME we should repopulate the groups privileges list when the primary group is changed in the other tab -- that is, on the change slot of the primary group drop down. |
860 |
# Rudd-O: now here we tick the appropriate group listing checkbox, and hide the currently active primary group of the user. We are repopulating because if the user to edit changes, we need to hide the user's secondary group. FIXME we should repopulate the groups privileges list when the primary group is changed in the other tab -- that is, on the change slot of the primary group drop down. |
| 850 |
self._repopulateGroupsPrivileges(excludegroups=[self.userobj.getPrimaryGroup()]) |
861 |
self._repopulateGroupsPrivileges(excludegroups=[self.userobj.getPrimaryGroup()]) |
| 851 |
for group,checkbox in self.secondarygroupcheckboxes.items(): |
862 |
for group,checkbox in self.secondarygroupcheckboxes.items(): |
| 852 |
if group in self.selectedgroups: checkbox.setState(QCheckListItem.On) |
863 |
if group in self.selectedgroups: checkbox.setState(TQCheckListItem.On) |
| 853 |
else: checkbox.setState(QCheckListItem.Off) |
864 |
else: checkbox.setState(TQCheckListItem.Off) |
| 854 |
|
865 |
|
| 855 |
self.originalgroups = self.selectedgroups[:] |
866 |
self.originalgroups = self.selectedgroups[:] |
| 856 |
self.selectedgroups.sort() |
867 |
self.selectedgroups.sort() |
|
Lines 858-864
Link Here
|
| 858 |
self.uidedit.setReadOnly(True) |
869 |
self.uidedit.setReadOnly(True) |
| 859 |
self.updatingGUI = False |
870 |
self.updatingGUI = False |
| 860 |
self.homedirectoryislinked = False |
871 |
self.homedirectoryislinked = False |
| 861 |
if self.exec_loop()==QDialog.Accepted: |
872 |
if self.exec_loop()==TQDialog.Accepted: |
| 862 |
self.__updateObjectFromGUI(self.userobj) |
873 |
self.__updateObjectFromGUI(self.userobj) |
| 863 |
# Set the password. |
874 |
# Set the password. |
| 864 |
if self.passwordedit.password()!="": |
875 |
if self.passwordedit.password()!="": |
|
Lines 896-903
Link Here
|
| 896 |
# Rudd-O FIXME: now here we tick the proper groups that should be allowed. Now it selects what userconfig selected before. FIXME consider adding a drop down that will select the appropriate profile Limited User, Advanced User or Administrator (and see if there is a config file where these profiles can be read). We are repopulating because if the user to edit changes, we need to hide the user's secondary group. FIXME we should repopulate the groups privileges list when the primary group is changed in the other tab -- that is, on the change slot of the primary group drop down. |
907 |
# Rudd-O FIXME: now here we tick the proper groups that should be allowed. Now it selects what userconfig selected before. FIXME consider adding a drop down that will select the appropriate profile Limited User, Advanced User or Administrator (and see if there is a config file where these profiles can be read). We are repopulating because if the user to edit changes, we need to hide the user's secondary group. FIXME we should repopulate the groups privileges list when the primary group is changed in the other tab -- that is, on the change slot of the primary group drop down. |
| 897 |
self._repopulateGroupsPrivileges() |
908 |
self._repopulateGroupsPrivileges() |
| 898 |
for group,checkbox in self.secondarygroupcheckboxes.items(): |
909 |
for group,checkbox in self.secondarygroupcheckboxes.items(): |
| 899 |
if group in self.selectedgroups: checkbox.setState(QCheckListItem.On) |
910 |
if group in self.selectedgroups: checkbox.setState(TQCheckListItem.On) |
| 900 |
else: checkbox.setState(QCheckListItem.Off) |
911 |
else: checkbox.setState(TQCheckListItem.Off) |
| 901 |
|
912 |
|
| 902 |
self.userobj.setHomeDirectory(homedir) |
913 |
self.userobj.setHomeDirectory(homedir) |
| 903 |
self.homediredit.setText(homedir) |
914 |
self.homediredit.setText(homedir) |
|
Lines 919-925
Link Here
|
| 919 |
self.updatingGUI = False |
930 |
self.updatingGUI = False |
| 920 |
self.homedirectoryislinked = True |
931 |
self.homedirectoryislinked = True |
| 921 |
self.passwordedit.erase() |
932 |
self.passwordedit.erase() |
| 922 |
if self.exec_loop()==QDialog.Accepted: |
933 |
if self.exec_loop()==TQDialog.Accepted: |
| 923 |
self.__updateObjectFromGUI(self.userobj) |
934 |
self.__updateObjectFromGUI(self.userobj) |
| 924 |
|
935 |
|
| 925 |
makehomedir = True |
936 |
makehomedir = True |
|
Lines 1114-1120
Link Here
|
| 1114 |
userobj.setExpirationDate(None) |
1125 |
userobj.setExpirationDate(None) |
| 1115 |
else: |
1126 |
else: |
| 1116 |
# Password will expire at... |
1127 |
# Password will expire at... |
| 1117 |
userobj.setExpirationDate(QDateToSptime(self.expiredate.date())) |
1128 |
userobj.setExpirationDate(TQDateToSptime(self.expiredate.date())) |
| 1118 |
|
1129 |
|
| 1119 |
if self.forcepasswordchangecheckbox.isChecked(): |
1130 |
if self.forcepasswordchangecheckbox.isChecked(): |
| 1120 |
userobj.setMaximumPasswordAge(self.maximumpasswordedit.value()) |
1131 |
userobj.setMaximumPasswordAge(self.maximumpasswordedit.value()) |
|
Lines 1138-1144
Link Here
|
| 1138 |
fileurl = KURL() |
1149 |
fileurl = KURL() |
| 1139 |
fileurl.setPath(self.homediredit.text()) |
1150 |
fileurl.setPath(self.homediredit.text()) |
| 1140 |
self.homedirdialog.setCurrentURL(fileurl) |
1151 |
self.homedirdialog.setCurrentURL(fileurl) |
| 1141 |
if self.homedirdialog.exec_loop()==QDialog.Accepted: |
1152 |
if self.homedirdialog.exec_loop()==TQDialog.Accepted: |
| 1142 |
self.homediredit.setText(self.homedirdialog.url().path()) |
1153 |
self.homediredit.setText(self.homedirdialog.url().path()) |
| 1143 |
self.homedirectoryislinked = False |
1154 |
self.homedirectoryislinked = False |
| 1144 |
|
1155 |
|
|
Lines 1194-1220
Link Here
|
| 1194 |
|
1205 |
|
| 1195 |
|
1206 |
|
| 1196 |
########################################################################### |
1207 |
########################################################################### |
| 1197 |
class LoginNameValidator(QValidator): |
1208 |
class LoginNameValidator(TQValidator): |
| 1198 |
def __init__(self,parent): |
1209 |
def __init__(self,parent): |
| 1199 |
QValidator.__init__(self,parent) |
1210 |
TQValidator.__init__(self,parent) |
| 1200 |
|
1211 |
|
| 1201 |
####################################################################### |
1212 |
####################################################################### |
| 1202 |
def validate(self,inputstr,pos): |
1213 |
def validate(self,inputstr,pos): |
| 1203 |
instr = unicode(inputstr) |
1214 |
instr = unicode(inputstr) |
| 1204 |
if len(instr)==0: |
1215 |
if len(instr)==0: |
| 1205 |
return (QValidator.Intermediate,pos) |
1216 |
return (TQValidator.Intermediate,pos) |
| 1206 |
for c in instr: |
1217 |
for c in instr: |
| 1207 |
if ord(c)<0x20 or ord(c)>0x7f or c.isspace() or c==":" or c=="," or c==".": |
1218 |
if ord(c)<0x20 or ord(c)>0x7f or c.isspace() or c==":" or c=="," or c==".": |
| 1208 |
return (QValidator.Invalid,pos) |
1219 |
return (TQValidator.Invalid,pos) |
| 1209 |
|
1220 |
|
| 1210 |
# Try to encode this string in the system encoding. |
1221 |
# Try to encode this string in the system encoding. |
| 1211 |
try: |
1222 |
try: |
| 1212 |
instr.encode(locale.getpreferredencoding()) |
1223 |
instr.encode(locale.getpreferredencoding()) |
| 1213 |
except UnicodeEncodeError: |
1224 |
except UnicodeEncodeError: |
| 1214 |
# won't encode -> reject it. |
1225 |
# won't encode -> reject it. |
| 1215 |
return (QValidator.Invalid,pos) |
1226 |
return (TQValidator.Invalid,pos) |
| 1216 |
|
1227 |
|
| 1217 |
return (QValidator.Acceptable,pos) |
1228 |
return (TQValidator.Acceptable,pos) |
| 1218 |
|
1229 |
|
| 1219 |
####################################################################### |
1230 |
####################################################################### |
| 1220 |
def fixup(self,inputstr): |
1231 |
def fixup(self,inputstr): |
|
Lines 1230-1254
Link Here
|
| 1230 |
return newstr |
1241 |
return newstr |
| 1231 |
|
1242 |
|
| 1232 |
########################################################################### |
1243 |
########################################################################### |
| 1233 |
class RealUserNameValidator(QValidator): |
1244 |
class RealUserNameValidator(TQValidator): |
| 1234 |
def __init__(self,parent): |
1245 |
def __init__(self,parent): |
| 1235 |
QValidator.__init__(self,parent) |
1246 |
TQValidator.__init__(self,parent) |
| 1236 |
|
1247 |
|
| 1237 |
####################################################################### |
1248 |
####################################################################### |
| 1238 |
def validate(self,inputstr,pos): |
1249 |
def validate(self,inputstr,pos): |
| 1239 |
instr = unicode(inputstr) |
1250 |
instr = unicode(inputstr) |
| 1240 |
for c in instr: |
1251 |
for c in instr: |
| 1241 |
if c==":": |
1252 |
if c==":": |
| 1242 |
return (QValidator.Invalid,pos) |
1253 |
return (TQValidator.Invalid,pos) |
| 1243 |
|
1254 |
|
| 1244 |
# Try to encode this string in the system encoding. |
1255 |
# Try to encode this string in the system encoding. |
| 1245 |
try: |
1256 |
try: |
| 1246 |
instr.encode(locale.getpreferredencoding()) |
1257 |
instr.encode(locale.getpreferredencoding()) |
| 1247 |
except UnicodeEncodeError: |
1258 |
except UnicodeEncodeError: |
| 1248 |
# won't encode -> reject it. |
1259 |
# won't encode -> reject it. |
| 1249 |
return (QValidator.Invalid,pos) |
1260 |
return (TQValidator.Invalid,pos) |
| 1250 |
|
1261 |
|
| 1251 |
return (QValidator.Acceptable,pos) |
1262 |
return (TQValidator.Acceptable,pos) |
| 1252 |
|
1263 |
|
| 1253 |
####################################################################### |
1264 |
####################################################################### |
| 1254 |
def fixup(self,inputstr): |
1265 |
def fixup(self,inputstr): |
|
Lines 1259-1279
Link Here
|
| 1259 |
def __init__(self,parent,caption,leftlabel,rightlabel): |
1270 |
def __init__(self,parent,caption,leftlabel,rightlabel): |
| 1260 |
KDialogBase.__init__(self,parent,None,True,caption,KDialogBase.Ok|KDialogBase.Cancel, KDialogBase.Cancel) |
1271 |
KDialogBase.__init__(self,parent,None,True,caption,KDialogBase.Ok|KDialogBase.Cancel, KDialogBase.Cancel) |
| 1261 |
|
1272 |
|
| 1262 |
self.tophbox = QHBox(self) |
1273 |
self.tophbox = TQHBox(self) |
| 1263 |
self.setMainWidget(self.tophbox) |
1274 |
self.setMainWidget(self.tophbox) |
| 1264 |
self.tophbox.setSpacing(self.spacingHint()) |
1275 |
self.tophbox.setSpacing(self.spacingHint()) |
| 1265 |
# Available Groups |
1276 |
# Available Groups |
| 1266 |
vbox = QVBox(self.tophbox) |
1277 |
vbox = TQVBox(self.tophbox) |
| 1267 |
self.tophbox.setStretchFactor(vbox,1) |
1278 |
self.tophbox.setStretchFactor(vbox,1) |
| 1268 |
label = QLabel(leftlabel,vbox) |
1279 |
label = TQLabel(leftlabel,vbox) |
| 1269 |
vbox.setStretchFactor(label,0) |
1280 |
vbox.setStretchFactor(label,0) |
| 1270 |
self.availablelist = TDEListBox(vbox) |
1281 |
self.availablelist = TDEListBox(vbox) |
| 1271 |
vbox.setStretchFactor(self.availablelist,1) |
1282 |
vbox.setStretchFactor(self.availablelist,1) |
| 1272 |
|
1283 |
|
| 1273 |
# ->, <- Buttons |
1284 |
# ->, <- Buttons |
| 1274 |
vbox = QVBox(self.tophbox) |
1285 |
vbox = TQVBox(self.tophbox) |
| 1275 |
self.tophbox.setStretchFactor(vbox,0) |
1286 |
self.tophbox.setStretchFactor(vbox,0) |
| 1276 |
spacer = QWidget(vbox); |
1287 |
spacer = TQWidget(vbox); |
| 1277 |
vbox.setStretchFactor(spacer,1) |
1288 |
vbox.setStretchFactor(spacer,1) |
| 1278 |
self.addbutton = KPushButton(i18n("Add ->"),vbox) |
1289 |
self.addbutton = KPushButton(i18n("Add ->"),vbox) |
| 1279 |
self.connect(self.addbutton,SIGNAL("clicked()"),self.slotAddClicked) |
1290 |
self.connect(self.addbutton,SIGNAL("clicked()"),self.slotAddClicked) |
|
Lines 1281-1293
Link Here
|
| 1281 |
self.removebutton = KPushButton(i18n("<- Remove"),vbox) |
1292 |
self.removebutton = KPushButton(i18n("<- Remove"),vbox) |
| 1282 |
self.connect(self.removebutton,SIGNAL("clicked()"),self.slotRemoveClicked) |
1293 |
self.connect(self.removebutton,SIGNAL("clicked()"),self.slotRemoveClicked) |
| 1283 |
vbox.setStretchFactor(self.removebutton,0) |
1294 |
vbox.setStretchFactor(self.removebutton,0) |
| 1284 |
spacer = QWidget(vbox); |
1295 |
spacer = TQWidget(vbox); |
| 1285 |
vbox.setStretchFactor(spacer,1) |
1296 |
vbox.setStretchFactor(spacer,1) |
| 1286 |
|
1297 |
|
| 1287 |
# Selected Groups |
1298 |
# Selected Groups |
| 1288 |
vbox = QVBox(self.tophbox) |
1299 |
vbox = TQVBox(self.tophbox) |
| 1289 |
self.tophbox.setStretchFactor(vbox,1) |
1300 |
self.tophbox.setStretchFactor(vbox,1) |
| 1290 |
label = QLabel(rightlabel,vbox) |
1301 |
label = TQLabel(rightlabel,vbox) |
| 1291 |
vbox.setStretchFactor(label,0) |
1302 |
vbox.setStretchFactor(label,0) |
| 1292 |
self.selectedlist = TDEListBox(vbox) |
1303 |
self.selectedlist = TDEListBox(vbox) |
| 1293 |
vbox.setStretchFactor(self.selectedlist,1) |
1304 |
vbox.setStretchFactor(self.selectedlist,1) |
|
Lines 1311-1317
Link Here
|
| 1311 |
self._selectFirstSelected() |
1322 |
self._selectFirstSelected() |
| 1312 |
self.removebutton.setDisabled(self.selectedlist.selectedItem()==None) |
1323 |
self.removebutton.setDisabled(self.selectedlist.selectedItem()==None) |
| 1313 |
|
1324 |
|
| 1314 |
if self.exec_loop()==QDialog.Accepted: |
1325 |
if self.exec_loop()==TQDialog.Accepted: |
| 1315 |
newlist = [] |
1326 |
newlist = [] |
| 1316 |
for i in range(self.selectedlist.count()): |
1327 |
for i in range(self.selectedlist.count()): |
| 1317 |
newlist.append(unicode(self.selectedlist.item(i).text())) |
1328 |
newlist.append(unicode(self.selectedlist.item(i).text())) |
|
Lines 1356-1411
Link Here
|
| 1356 |
########################################################################### |
1367 |
########################################################################### |
| 1357 |
class UserDeleteDialog(KDialog): |
1368 |
class UserDeleteDialog(KDialog): |
| 1358 |
def __init__(self,parent,admincontext): |
1369 |
def __init__(self,parent,admincontext): |
| 1359 |
KDialog.__init__(self,parent,"Delete user dialog",True,Qt.WType_Dialog) |
1370 |
KDialog.__init__(self,parent,"Delete user dialog",True,TQt.WType_Dialog) |
| 1360 |
self.setCaption(i18n("Delete User Account")) |
1371 |
self.setCaption(i18n("Delete User Account")) |
| 1361 |
self.admincontext = admincontext |
1372 |
self.admincontext = admincontext |
| 1362 |
self.updatingGUI = True |
1373 |
self.updatingGUI = True |
| 1363 |
|
1374 |
|
| 1364 |
toplayout = QVBoxLayout(self) |
1375 |
toplayout = TQVBoxLayout(self) |
| 1365 |
toplayout.setSpacing(self.spacingHint()) |
1376 |
toplayout.setSpacing(self.spacingHint()) |
| 1366 |
toplayout.setMargin(self.marginHint()) |
1377 |
toplayout.setMargin(self.marginHint()) |
| 1367 |
|
1378 |
|
| 1368 |
contentbox = QHBox(self) |
1379 |
contentbox = TQHBox(self) |
| 1369 |
contentbox.setSpacing(self.spacingHint()) |
1380 |
contentbox.setSpacing(self.spacingHint()) |
| 1370 |
toplayout.addWidget(contentbox) |
1381 |
toplayout.addWidget(contentbox) |
| 1371 |
toplayout.setStretchFactor(contentbox,1) |
1382 |
toplayout.setStretchFactor(contentbox,1) |
| 1372 |
|
1383 |
|
| 1373 |
label = QLabel(contentbox) |
1384 |
label = TQLabel(contentbox) |
| 1374 |
label.setPixmap(TDEGlobal.iconLoader().loadIcon("messagebox_warning", TDEIcon.NoGroup, TDEIcon.SizeMedium, |
1385 |
label.setPixmap(TDEGlobal.iconLoader().loadIcon("messagebox_warning", TDEIcon.NoGroup, TDEIcon.SizeMedium, |
| 1375 |
TDEIcon.DefaultState, None, True)) |
1386 |
TDEIcon.DefaultState, None, True)) |
| 1376 |
contentbox.setStretchFactor(label,0) |
1387 |
contentbox.setStretchFactor(label,0) |
| 1377 |
|
1388 |
|
| 1378 |
textbox = QVBox(contentbox) |
1389 |
textbox = TQVBox(contentbox) |
| 1379 |
|
1390 |
|
| 1380 |
textbox.setSpacing(self.spacingHint()) |
1391 |
textbox.setSpacing(self.spacingHint()) |
| 1381 |
textbox.setMargin(self.marginHint()) |
1392 |
textbox.setMargin(self.marginHint()) |
| 1382 |
|
1393 |
|
| 1383 |
self.usernamelabel = QLabel("",textbox) |
1394 |
self.usernamelabel = TQLabel("",textbox) |
| 1384 |
textbox.setStretchFactor(self.usernamelabel,0) |
1395 |
textbox.setStretchFactor(self.usernamelabel,0) |
| 1385 |
|
1396 |
|
| 1386 |
# Remove directory checkbox. |
1397 |
# Remove directory checkbox. |
| 1387 |
self.deletedirectorycheckbox = QCheckBox(i18n("Delete home directory ()"),textbox) |
1398 |
self.deletedirectorycheckbox = TQCheckBox(i18n("Delete home directory ()"),textbox) |
| 1388 |
textbox.setStretchFactor(self.deletedirectorycheckbox,0) |
1399 |
textbox.setStretchFactor(self.deletedirectorycheckbox,0) |
| 1389 |
|
1400 |
|
| 1390 |
# Delete the User's private group. |
1401 |
# Delete the User's private group. |
| 1391 |
self.deletegroupcheckbox = QCheckBox(i18n("Delete group ()"),textbox) |
1402 |
self.deletegroupcheckbox = TQCheckBox(i18n("Delete group ()"),textbox) |
| 1392 |
textbox.setStretchFactor(self.deletegroupcheckbox ,0) |
1403 |
textbox.setStretchFactor(self.deletegroupcheckbox ,0) |
| 1393 |
|
1404 |
|
| 1394 |
# Buttons |
1405 |
# Buttons |
| 1395 |
buttonbox = QHBox(self) |
1406 |
buttonbox = TQHBox(self) |
| 1396 |
toplayout.addWidget(buttonbox) |
1407 |
toplayout.addWidget(buttonbox) |
| 1397 |
|
1408 |
|
| 1398 |
buttonbox.setSpacing(self.spacingHint()) |
1409 |
buttonbox.setSpacing(self.spacingHint()) |
| 1399 |
toplayout.setStretchFactor(buttonbox,0) |
1410 |
toplayout.setStretchFactor(buttonbox,0) |
| 1400 |
|
1411 |
|
| 1401 |
spacer = QWidget(buttonbox) |
1412 |
spacer = TQWidget(buttonbox) |
| 1402 |
buttonbox.setStretchFactor(spacer,1) |
1413 |
buttonbox.setStretchFactor(spacer,1) |
| 1403 |
|
1414 |
|
| 1404 |
okbutton = QPushButton(i18n("OK"),buttonbox) |
1415 |
okbutton = TQPushButton(i18n("OK"),buttonbox) |
| 1405 |
buttonbox.setStretchFactor(okbutton,0) |
1416 |
buttonbox.setStretchFactor(okbutton,0) |
| 1406 |
self.connect(okbutton,SIGNAL("clicked()"),self.slotOkClicked) |
1417 |
self.connect(okbutton,SIGNAL("clicked()"),self.slotOkClicked) |
| 1407 |
|
1418 |
|
| 1408 |
cancelbutton = QPushButton(i18n("Cancel"),buttonbox) |
1419 |
cancelbutton = TQPushButton(i18n("Cancel"),buttonbox) |
| 1409 |
cancelbutton.setDefault(True) |
1420 |
cancelbutton.setDefault(True) |
| 1410 |
buttonbox.setStretchFactor(cancelbutton,0) |
1421 |
buttonbox.setStretchFactor(cancelbutton,0) |
| 1411 |
self.connect(cancelbutton,SIGNAL("clicked()"),self.slotCancelClicked) |
1422 |
self.connect(cancelbutton,SIGNAL("clicked()"),self.slotCancelClicked) |
|
Lines 1420-1426
Link Here
|
| 1420 |
primarygroupname = primarygroupobj.getGroupname() |
1431 |
primarygroupname = primarygroupobj.getGroupname() |
| 1421 |
self.deletegroupcheckbox.setText(i18n("Delete group '%1' (%2)").arg(primarygroupname).arg(primarygroupobj.getGID())) |
1432 |
self.deletegroupcheckbox.setText(i18n("Delete group '%1' (%2)").arg(primarygroupname).arg(primarygroupobj.getGID())) |
| 1422 |
self.deletegroupcheckbox.setChecked(len(primarygroupobj.getUsers())==1) |
1433 |
self.deletegroupcheckbox.setChecked(len(primarygroupobj.getUsers())==1) |
| 1423 |
if self.exec_loop()==QDialog.Accepted: |
1434 |
if self.exec_loop()==TQDialog.Accepted: |
| 1424 |
self.admincontext.removeUser(userobj) |
1435 |
self.admincontext.removeUser(userobj) |
| 1425 |
if self.deletedirectorycheckbox.isChecked(): |
1436 |
if self.deletedirectorycheckbox.isChecked(): |
| 1426 |
self.admincontext.removeHomeDirectory(userobj) |
1437 |
self.admincontext.removeHomeDirectory(userobj) |
|
Lines 1446-1507
Link Here
|
| 1446 |
OK_REPLACE = 2 |
1457 |
OK_REPLACE = 2 |
| 1447 |
|
1458 |
|
| 1448 |
def __init__(self,parent): |
1459 |
def __init__(self,parent): |
| 1449 |
KDialog.__init__(self,parent,"Create home directory",True,Qt.WType_Dialog) |
1460 |
KDialog.__init__(self,parent,"Create home directory",True,TQt.WType_Dialog) |
| 1450 |
self.setCaption(i18n("Create home directory")) |
1461 |
self.setCaption(i18n("Create home directory")) |
| 1451 |
self.updatingGUI = True |
1462 |
self.updatingGUI = True |
| 1452 |
|
1463 |
|
| 1453 |
toplayout = QVBoxLayout(self) |
1464 |
toplayout = TQVBoxLayout(self) |
| 1454 |
toplayout.setSpacing(self.spacingHint()) |
1465 |
toplayout.setSpacing(self.spacingHint()) |
| 1455 |
toplayout.setMargin(self.marginHint()) |
1466 |
toplayout.setMargin(self.marginHint()) |
| 1456 |
|
1467 |
|
| 1457 |
contentbox = QHBox(self) |
1468 |
contentbox = TQHBox(self) |
| 1458 |
contentbox.setSpacing(self.spacingHint()) |
1469 |
contentbox.setSpacing(self.spacingHint()) |
| 1459 |
toplayout.addWidget(contentbox) |
1470 |
toplayout.addWidget(contentbox) |
| 1460 |
toplayout.setStretchFactor(contentbox,1) |
1471 |
toplayout.setStretchFactor(contentbox,1) |
| 1461 |
|
1472 |
|
| 1462 |
label = QLabel(contentbox) |
1473 |
label = TQLabel(contentbox) |
| 1463 |
label.setPixmap(TDEGlobal.iconLoader().loadIcon("messagebox_warning", TDEIcon.NoGroup, TDEIcon.SizeMedium, |
1474 |
label.setPixmap(TDEGlobal.iconLoader().loadIcon("messagebox_warning", TDEIcon.NoGroup, TDEIcon.SizeMedium, |
| 1464 |
TDEIcon.DefaultState, None, True)) |
1475 |
TDEIcon.DefaultState, None, True)) |
| 1465 |
contentbox.setStretchFactor(label,0) |
1476 |
contentbox.setStretchFactor(label,0) |
| 1466 |
|
1477 |
|
| 1467 |
textbox = QVBox(contentbox) |
1478 |
textbox = TQVBox(contentbox) |
| 1468 |
|
1479 |
|
| 1469 |
textbox.setSpacing(self.spacingHint()) |
1480 |
textbox.setSpacing(self.spacingHint()) |
| 1470 |
textbox.setMargin(self.marginHint()) |
1481 |
textbox.setMargin(self.marginHint()) |
| 1471 |
|
1482 |
|
| 1472 |
# "%dir was selected as the home directory for %user. This directory already exists. Shall I:." |
1483 |
# "%dir was selected as the home directory for %user. This directory already exists. Shall I:." |
| 1473 |
self.toplabel = QLabel("",textbox) |
1484 |
self.toplabel = TQLabel("",textbox) |
| 1474 |
textbox.setStretchFactor(self.toplabel,0) |
1485 |
textbox.setStretchFactor(self.toplabel,0) |
| 1475 |
|
1486 |
|
| 1476 |
self.radiogroup = QButtonGroup() |
1487 |
self.radiogroup = TQButtonGroup() |
| 1477 |
self.radiogroup.setRadioButtonExclusive(True) |
1488 |
self.radiogroup.setRadioButtonExclusive(True) |
| 1478 |
|
1489 |
|
| 1479 |
# Use Existing home directory radio button. |
1490 |
# Use Existing home directory radio button. |
| 1480 |
self.usehomedirectoryradio = QRadioButton(i18n("Use the existing directory without changing it."),textbox) |
1491 |
self.usehomedirectoryradio = TQRadioButton(i18n("Use the existing directory without changing it."),textbox) |
| 1481 |
textbox.setStretchFactor(self.usehomedirectoryradio,0) |
1492 |
textbox.setStretchFactor(self.usehomedirectoryradio,0) |
| 1482 |
|
1493 |
|
| 1483 |
# Replace home directory radio button |
1494 |
# Replace home directory radio button |
| 1484 |
self.replacehomedirectoryradio = QRadioButton(i18n("Delete the directory and replace it with a new home directory."),textbox) |
1495 |
self.replacehomedirectoryradio = TQRadioButton(i18n("Delete the directory and replace it with a new home directory."),textbox) |
| 1485 |
textbox.setStretchFactor(self.replacehomedirectoryradio ,0) |
1496 |
textbox.setStretchFactor(self.replacehomedirectoryradio ,0) |
| 1486 |
|
1497 |
|
| 1487 |
self.radiogroup.insert(self.usehomedirectoryradio,0) |
1498 |
self.radiogroup.insert(self.usehomedirectoryradio,0) |
| 1488 |
self.radiogroup.insert(self.replacehomedirectoryradio,1) |
1499 |
self.radiogroup.insert(self.replacehomedirectoryradio,1) |
| 1489 |
|
1500 |
|
| 1490 |
# Buttons |
1501 |
# Buttons |
| 1491 |
buttonbox = QHBox(self) |
1502 |
buttonbox = TQHBox(self) |
| 1492 |
toplayout.addWidget(buttonbox) |
1503 |
toplayout.addWidget(buttonbox) |
| 1493 |
|
1504 |
|
| 1494 |
buttonbox.setSpacing(self.spacingHint()) |
1505 |
buttonbox.setSpacing(self.spacingHint()) |
| 1495 |
toplayout.setStretchFactor(buttonbox,0) |
1506 |
toplayout.setStretchFactor(buttonbox,0) |
| 1496 |
|
1507 |
|
| 1497 |
spacer = QWidget(buttonbox) |
1508 |
spacer = TQWidget(buttonbox) |
| 1498 |
buttonbox.setStretchFactor(spacer,1) |
1509 |
buttonbox.setStretchFactor(spacer,1) |
| 1499 |
|
1510 |
|
| 1500 |
okbutton = QPushButton(i18n("OK"),buttonbox) |
1511 |
okbutton = TQPushButton(i18n("OK"),buttonbox) |
| 1501 |
buttonbox.setStretchFactor(okbutton,0) |
1512 |
buttonbox.setStretchFactor(okbutton,0) |
| 1502 |
self.connect(okbutton,SIGNAL("clicked()"),self.slotOkClicked) |
1513 |
self.connect(okbutton,SIGNAL("clicked()"),self.slotOkClicked) |
| 1503 |
|
1514 |
|
| 1504 |
cancelbutton = QPushButton(i18n("Cancel"),buttonbox) |
1515 |
cancelbutton = TQPushButton(i18n("Cancel"),buttonbox) |
| 1505 |
cancelbutton.setDefault(True) |
1516 |
cancelbutton.setDefault(True) |
| 1506 |
buttonbox.setStretchFactor(cancelbutton,0) |
1517 |
buttonbox.setStretchFactor(cancelbutton,0) |
| 1507 |
self.connect(cancelbutton,SIGNAL("clicked()"),self.slotCancelClicked) |
1518 |
self.connect(cancelbutton,SIGNAL("clicked()"),self.slotCancelClicked) |
|
Lines 1512-1518
Link Here
|
| 1512 |
.arg(userobj.getHomeDirectory()).arg(userobj.getUsername()) ) |
1523 |
.arg(userobj.getHomeDirectory()).arg(userobj.getUsername()) ) |
| 1513 |
self.radiogroup.setButton(0) |
1524 |
self.radiogroup.setButton(0) |
| 1514 |
|
1525 |
|
| 1515 |
if self.exec_loop()==QDialog.Accepted: |
1526 |
if self.exec_loop()==TQDialog.Accepted: |
| 1516 |
if self.radiogroup.selectedId()==0: |
1527 |
if self.radiogroup.selectedId()==0: |
| 1517 |
return OverwriteHomeDirectoryDialog.OK_KEEP |
1528 |
return OverwriteHomeDirectoryDialog.OK_KEEP |
| 1518 |
else: |
1529 |
else: |
|
Lines 1534-1580
Link Here
|
| 1534 |
|
1545 |
|
| 1535 |
self.admincontext = admincontext |
1546 |
self.admincontext = admincontext |
| 1536 |
|
1547 |
|
| 1537 |
topvbox = QVBox(self) |
1548 |
topvbox = TQVBox(self) |
| 1538 |
topvbox.setSpacing(self.spacingHint()) |
1549 |
topvbox.setSpacing(self.spacingHint()) |
| 1539 |
self.setMainWidget(topvbox) |
1550 |
self.setMainWidget(topvbox) |
| 1540 |
|
1551 |
|
| 1541 |
detailspace = QWidget(topvbox) |
1552 |
detailspace = TQWidget(topvbox) |
| 1542 |
|
1553 |
|
| 1543 |
# Info about the group. |
1554 |
# Info about the group. |
| 1544 |
editgrid = QGridLayout(detailspace,2,2) |
1555 |
editgrid = TQGridLayout(detailspace,2,2) |
| 1545 |
editgrid.setSpacing(self.spacingHint()) |
1556 |
editgrid.setSpacing(self.spacingHint()) |
| 1546 |
|
1557 |
|
| 1547 |
label = QLabel(i18n("Group Name:"),detailspace) |
1558 |
label = TQLabel(i18n("Group Name:"),detailspace) |
| 1548 |
editgrid.addWidget(label,0,0) |
1559 |
editgrid.addWidget(label,0,0) |
| 1549 |
self.groupnamelabel = KLineEdit("",detailspace) |
1560 |
self.groupnamelabel = KLineEdit("",detailspace) |
| 1550 |
self.groupnamelabel.setReadOnly(True) |
1561 |
self.groupnamelabel.setReadOnly(True) |
| 1551 |
editgrid.addWidget(self.groupnamelabel,0,1) |
1562 |
editgrid.addWidget(self.groupnamelabel,0,1) |
| 1552 |
|
1563 |
|
| 1553 |
label = QLabel(i18n("Group ID:"),detailspace) |
1564 |
label = TQLabel(i18n("Group ID:"),detailspace) |
| 1554 |
editgrid.addWidget(label,1,0) |
1565 |
editgrid.addWidget(label,1,0) |
| 1555 |
self.groupidlabel = KLineEdit("",detailspace) |
1566 |
self.groupidlabel = KLineEdit("",detailspace) |
| 1556 |
self.groupidlabel.setReadOnly(True) |
1567 |
self.groupidlabel.setReadOnly(True) |
| 1557 |
editgrid.addWidget(self.groupidlabel,1,1) |
1568 |
editgrid.addWidget(self.groupidlabel,1,1) |
| 1558 |
|
1569 |
|
| 1559 |
# Available Groups |
1570 |
# Available Groups |
| 1560 |
tophbox = QHBox(topvbox) |
1571 |
tophbox = TQHBox(topvbox) |
| 1561 |
tophbox.setSpacing(self.spacingHint()) |
1572 |
tophbox.setSpacing(self.spacingHint()) |
| 1562 |
|
1573 |
|
| 1563 |
hbox = tophbox |
1574 |
hbox = tophbox |
| 1564 |
|
1575 |
|
| 1565 |
vbox = QVBox(hbox) |
1576 |
vbox = TQVBox(hbox) |
| 1566 |
vbox.setSpacing(self.spacingHint()) |
1577 |
vbox.setSpacing(self.spacingHint()) |
| 1567 |
hbox.setStretchFactor(vbox,1) |
1578 |
hbox.setStretchFactor(vbox,1) |
| 1568 |
label = QLabel(i18n("Available Accounts"),vbox) |
1579 |
label = TQLabel(i18n("Available Accounts"),vbox) |
| 1569 |
vbox.setStretchFactor(label,0) |
1580 |
vbox.setStretchFactor(label,0) |
| 1570 |
self.availablelist = TDEListBox(vbox) |
1581 |
self.availablelist = TDEListBox(vbox) |
| 1571 |
vbox.setStretchFactor(self.availablelist,1) |
1582 |
vbox.setStretchFactor(self.availablelist,1) |
| 1572 |
|
1583 |
|
| 1573 |
# ->, <- Buttons |
1584 |
# ->, <- Buttons |
| 1574 |
vbox = QVBox(hbox) |
1585 |
vbox = TQVBox(hbox) |
| 1575 |
vbox.setSpacing(self.spacingHint()) |
1586 |
vbox.setSpacing(self.spacingHint()) |
| 1576 |
hbox.setStretchFactor(vbox,0) |
1587 |
hbox.setStretchFactor(vbox,0) |
| 1577 |
spacer = QWidget(vbox); |
1588 |
spacer = TQWidget(vbox); |
| 1578 |
vbox.setStretchFactor(spacer,1) |
1589 |
vbox.setStretchFactor(spacer,1) |
| 1579 |
self.addbutton = KPushButton(i18n("Add ->"),vbox) |
1590 |
self.addbutton = KPushButton(i18n("Add ->"),vbox) |
| 1580 |
self.connect(self.addbutton,SIGNAL("clicked()"),self.slotAddClicked) |
1591 |
self.connect(self.addbutton,SIGNAL("clicked()"),self.slotAddClicked) |
|
Lines 1582-1595
Link Here
|
| 1582 |
self.removebutton = KPushButton(i18n("<- Remove"),vbox) |
1593 |
self.removebutton = KPushButton(i18n("<- Remove"),vbox) |
| 1583 |
self.connect(self.removebutton,SIGNAL("clicked()"),self.slotRemoveClicked) |
1594 |
self.connect(self.removebutton,SIGNAL("clicked()"),self.slotRemoveClicked) |
| 1584 |
vbox.setStretchFactor(self.removebutton,0) |
1595 |
vbox.setStretchFactor(self.removebutton,0) |
| 1585 |
spacer = QWidget(vbox); |
1596 |
spacer = TQWidget(vbox); |
| 1586 |
vbox.setStretchFactor(spacer,1) |
1597 |
vbox.setStretchFactor(spacer,1) |
| 1587 |
|
1598 |
|
| 1588 |
# Selected Groups |
1599 |
# Selected Groups |
| 1589 |
vbox = QVBox(hbox) |
1600 |
vbox = TQVBox(hbox) |
| 1590 |
vbox.setSpacing(self.spacingHint()) |
1601 |
vbox.setSpacing(self.spacingHint()) |
| 1591 |
hbox.setStretchFactor(vbox,1) |
1602 |
hbox.setStretchFactor(vbox,1) |
| 1592 |
label = QLabel(i18n("Selected Accounts"),vbox) |
1603 |
label = TQLabel(i18n("Selected Accounts"),vbox) |
| 1593 |
vbox.setStretchFactor(label,0) |
1604 |
vbox.setStretchFactor(label,0) |
| 1594 |
self.selectedlist = TDEListBox(vbox) |
1605 |
self.selectedlist = TDEListBox(vbox) |
| 1595 |
vbox.setStretchFactor(self.selectedlist,1) |
1606 |
vbox.setStretchFactor(self.selectedlist,1) |
|
Lines 1609-1615
Link Here
|
| 1609 |
|
1620 |
|
| 1610 |
self.__updateLists(availablemembers,originalmembers) |
1621 |
self.__updateLists(availablemembers,originalmembers) |
| 1611 |
|
1622 |
|
| 1612 |
if self.exec_loop()==QDialog.Accepted: |
1623 |
if self.exec_loop()==TQDialog.Accepted: |
| 1613 |
newmembers = [] |
1624 |
newmembers = [] |
| 1614 |
for i in range(self.selectedlist.count()): |
1625 |
for i in range(self.selectedlist.count()): |
| 1615 |
newmembers.append(unicode(self.selectedlist.item(i).text())) |
1626 |
newmembers.append(unicode(self.selectedlist.item(i).text())) |
|
Lines 1646-1652
Link Here
|
| 1646 |
|
1657 |
|
| 1647 |
self.__updateLists(availablemembers,[]) |
1658 |
self.__updateLists(availablemembers,[]) |
| 1648 |
|
1659 |
|
| 1649 |
if self.exec_loop()==QDialog.Accepted: |
1660 |
if self.exec_loop()==TQDialog.Accepted: |
| 1650 |
self.groupobj.setGroupname(unicode(self.groupnamelabel.text())) |
1661 |
self.groupobj.setGroupname(unicode(self.groupnamelabel.text())) |
| 1651 |
newgroupid = int(unicode(self.groupidlabel.text())) |
1662 |
newgroupid = int(unicode(self.groupidlabel.text())) |
| 1652 |
self.groupobj.setGID(newgroupid) |
1663 |
self.groupobj.setGID(newgroupid) |