summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--core/settings/security/security.cpp17
-rw-r--r--core/settings/security/securitybase.ui27
2 files changed, 38 insertions, 6 deletions
diff --git a/core/settings/security/security.cpp b/core/settings/security/security.cpp
index 75a181b..c4726b3 100644
--- a/core/settings/security/security.cpp
+++ b/core/settings/security/security.cpp
@@ -18,16 +18,17 @@
18 ** 18 **
19 **********************************************************************/ 19 **********************************************************************/
20#include "security.h" 20#include "security.h"
21 21
22#include <qpe/qpeapplication.h> 22#include <qpe/qpeapplication.h>
23#include <qpe/config.h> 23#include <qpe/config.h>
24#include <qpe/password.h> 24#include <qpe/password.h>
25#include <qpe/qpedialog.h> 25#include <qpe/qpedialog.h>
26#include <qpe/qcopenvelope_qws.h>
26 27
27#include <qcheckbox.h> 28#include <qcheckbox.h>
28#include <qpushbutton.h> 29#include <qpushbutton.h>
29#include <qcombobox.h> 30#include <qcombobox.h>
30#include <qmessagebox.h> 31#include <qmessagebox.h>
31#include <qfile.h> 32#include <qfile.h>
32#include <qlistview.h> 33#include <qlistview.h>
33#include <qtextstream.h> 34#include <qtextstream.h>
@@ -67,16 +68,19 @@
67 autoLoginName=loginCfg.readEntry("AutoLogin",""); 68 autoLoginName=loginCfg.readEntry("AutoLogin","");
68 69
69 if (autoLoginName.stripWhiteSpace().isEmpty()) { 70 if (autoLoginName.stripWhiteSpace().isEmpty()) {
70 autoLogin=false; 71 autoLogin=false;
71 } else { 72 } else {
72 autoLogin=true; 73 autoLogin=true;
73 } 74 }
74 75
76 cfg.setGroup("SyncMode");
77 int mode = cfg.readNumEntry("Mode",2); // Default to Sharp
78 syncModeCombo->setCurrentItem( mode - 1 );
75 79
76 connect(autologinToggle, SIGNAL(toggled(bool)), this, SLOT(toggleAutoLogin(bool))); 80 connect(autologinToggle, SIGNAL(toggled(bool)), this, SLOT(toggleAutoLogin(bool)));
77 connect(userlist, SIGNAL(activated(int)), this, SLOT(changeLoginName(int))); 81 connect(userlist, SIGNAL(activated(int)), this, SLOT(changeLoginName(int)));
78 connect(changepasscode,SIGNAL(clicked()), this, SLOT(changePassCode())); 82 connect(changepasscode,SIGNAL(clicked()), this, SLOT(changePassCode()));
79 connect(clearpasscode,SIGNAL(clicked()), this, SLOT(clearPassCode())); 83 connect(clearpasscode,SIGNAL(clicked()), this, SLOT(clearPassCode()));
80 84
81 loadUsers(); 85 loadUsers();
82 updateGUI(); 86 updateGUI();
@@ -127,16 +131,17 @@ void Security::show()
127 setEnabled(TRUE); 131 setEnabled(TRUE);
128 valid=TRUE; 132 valid=TRUE;
129} 133}
130 134
131void Security::accept() 135void Security::accept()
132{ 136{
133 applySecurity(); 137 applySecurity();
134 QDialog::accept(); 138 QDialog::accept();
139 QCopEnvelope env("QPE/System", "securityChanged()" );
135} 140}
136 141
137void Security::done(int r) 142void Security::done(int r)
138{ 143{
139 QDialog::done(r); 144 QDialog::done(r);
140 close(); 145 close();
141} 146}
142 147
@@ -180,44 +185,44 @@ void Security::parseNet(const QString& sn,int& auth_peer,int& auth_peer_bits)
180 auth_peer = (auth_peer<<8)|sn.mid(x,nx-x).toInt(); 185 auth_peer = (auth_peer<<8)|sn.mid(x,nx-x).toInt();
181 x = nx+1; 186 x = nx+1;
182 } 187 }
183 uint n = (uint)sn.find(' ',x)-x; 188 uint n = (uint)sn.find(' ',x)-x;
184 auth_peer_bits = sn.mid(x,n).toInt(); 189 auth_peer_bits = sn.mid(x,n).toInt();
185 } 190 }
186} 191}
187 192
188void Security::loadUsers ( void ) 193void Security::loadUsers ( void )
189{ 194{
190 QFile passwd("/etc/passwd"); 195 QFile passwd("/etc/passwd");
191 if ( passwd.open(IO_ReadOnly) ) { 196 if ( passwd.open(IO_ReadOnly) ) {
192 QTextStream t( &passwd ); 197 QTextStream t( &passwd );
193 QString s; 198 QString s;
194 QStringList account; 199 QStringList account;
195 while ( !t.eof() ) { 200 while ( !t.eof() ) {
196 account = QStringList::split(':',t.readLine()); 201 account = QStringList::split(':',t.readLine());
197 202
198 // Hide disabled accounts 203 // Hide disabled accounts
199 if (*account.at(1)!="*") { 204 if (*account.at(1)!="*") {
200 205
201 userlist->insertItem(*account.at(0)); 206 userlist->insertItem(*account.at(0));
202 // Highlight this item if it is set to autologinToggle 207 // Highlight this item if it is set to autologinToggle
203 if ( *account.at(0) == autoLoginName) 208 if ( *account.at(0) == autoLoginName)
204 userlist->setCurrentItem(userlist->count()-1); 209 userlist->setCurrentItem(userlist->count()-1);
205 } 210 }
206 } 211 }
207 passwd.close(); 212 passwd.close();
208 } 213 }
209 214
210} 215}
211void Security::toggleAutoLogin(bool val) 216void Security::toggleAutoLogin(bool val)
212{ 217{
213 autoLogin=val; 218 autoLogin=val;
214 userlist->setEnabled(val); 219 userlist->setEnabled(val);
215 if (!autoLogin) 220 if (!autoLogin)
216 autoLoginName=userlist->currentText(); 221 autoLoginName=userlist->currentText();
217} 222}
218void Security::setSyncNet(const QString& sn) 223void Security::setSyncNet(const QString& sn)
219{ 224{
220 int auth_peer,auth_peer_bits; 225 int auth_peer,auth_peer_bits;
221 parseNet(sn,auth_peer,auth_peer_bits); 226 parseNet(sn,auth_peer,auth_peer_bits);
222 selectNet(auth_peer,auth_peer_bits); 227 selectNet(auth_peer,auth_peer_bits);
223} 228}
@@ -250,16 +255,18 @@ void Security::applySecurity()
250 loginCfg.setGroup("General"); 255 loginCfg.setGroup("General");
251 256
252 if (autoLogin) { 257 if (autoLogin) {
253 loginCfg.writeEntry("AutoLogin",autoLoginName); 258 loginCfg.writeEntry("AutoLogin",autoLoginName);
254 } else { 259 } else {
255 loginCfg.removeEntry("AutoLogin"); 260 loginCfg.removeEntry("AutoLogin");
256 } 261 }
257 262
263 cfg.setGroup("SyncMode");
264 cfg.writeEntry("Mode", syncModeCombo->currentItem()+1 );
258 } 265 }
259} 266}
260 267
261void Security::changeLoginName( int idx ) 268void Security::changeLoginName( int idx )
262{ 269{
263 autoLoginName = userlist->text(idx);; 270 autoLoginName = userlist->text(idx);;
264 updateGUI(); 271 updateGUI();
265} 272}
diff --git a/core/settings/security/securitybase.ui b/core/settings/security/securitybase.ui
index da25f39..73290e5 100644
--- a/core/settings/security/securitybase.ui
+++ b/core/settings/security/securitybase.ui
@@ -6,17 +6,17 @@
6 <name>name</name> 6 <name>name</name>
7 <cstring>SecurityBase</cstring> 7 <cstring>SecurityBase</cstring>
8 </property> 8 </property>
9 <property stdset="1"> 9 <property stdset="1">
10 <name>geometry</name> 10 <name>geometry</name>
11 <rect> 11 <rect>
12 <x>0</x> 12 <x>0</x>
13 <y>0</y> 13 <y>0</y>
14 <width>329</width> 14 <width>339</width>
15 <height>483</height> 15 <height>483</height>
16 </rect> 16 </rect>
17 </property> 17 </property>
18 <property stdset="1"> 18 <property stdset="1">
19 <name>caption</name> 19 <name>caption</name>
20 <string>Security Settings</string> 20 <string>Security Settings</string>
21 </property> 21 </property>
22 <property> 22 <property>
@@ -376,16 +376,41 @@
376 <name>name</name> 376 <name>name</name>
377 <cstring>syncnet</cstring> 377 <cstring>syncnet</cstring>
378 </property> 378 </property>
379 <property stdset="1"> 379 <property stdset="1">
380 <name>editable</name> 380 <name>editable</name>
381 <bool>true</bool> 381 <bool>true</bool>
382 </property> 382 </property>
383 </widget> 383 </widget>
384 <widget>
385 <class>QComboBox</class>
386 <item>
387 <property>
388 <name>text</name>
389 <string>Qtopia 1.7</string>
390 </property>
391 </item>
392 <item>
393 <property>
394 <name>text</name>
395 <string>Opie 1.0</string>
396 </property>
397 </item>
398 <item>
399 <property>
400 <name>text</name>
401 <string>Both</string>
402 </property>
403 </item>
404 <property stdset="1">
405 <name>name</name>
406 <cstring>syncModeCombo</cstring>
407 </property>
408 </widget>
384 </vbox> 409 </vbox>
385 </widget> 410 </widget>
386 <spacer> 411 <spacer>
387 <property> 412 <property>
388 <name>name</name> 413 <name>name</name>
389 <cstring>Spacer1</cstring> 414 <cstring>Spacer1</cstring>
390 </property> 415 </property>
391 <property stdset="1"> 416 <property stdset="1">