author | zecke <zecke> | 2004-02-21 13:08:34 (UTC) |
---|---|---|
committer | zecke <zecke> | 2004-02-21 13:08:34 (UTC) |
commit | aa11789fc4d735a04fac09063851753d8a57027b (patch) (unidiff) | |
tree | 45a4de1ff38a8a5df0838bc5ebb021e297d669d8 | |
parent | 6155f1be5c19fc51a4929c9e173f9e5a24d193e6 (diff) | |
download | opie-aa11789fc4d735a04fac09063851753d8a57027b.zip opie-aa11789fc4d735a04fac09063851753d8a57027b.tar.gz opie-aa11789fc4d735a04fac09063851753d8a57027b.tar.bz2 |
Yeah baby yeah remove IntelliSync support
and add it to the SyncMode... as it should have been done
Keep compatible with the old ored meaning...
Now we can have
IntelliSync plain text transfer, ask for pw less on connect
Opie 1.0 plain text transfer, need pw and allow for syncing
Qtopia 1.7 base64 transter , need pw and allow for syncing
-rw-r--r-- | core/settings/security/security.cpp | 106 | ||||
-rw-r--r-- | core/settings/security/security.h | 5 | ||||
-rw-r--r-- | core/settings/security/securitybase.ui | 39 |
3 files changed, 66 insertions, 84 deletions
diff --git a/core/settings/security/security.cpp b/core/settings/security/security.cpp index 34f7e50..4eddb55 100644 --- a/core/settings/security/security.cpp +++ b/core/settings/security/security.cpp | |||
@@ -39,106 +39,107 @@ | |||
39 | Config cfg("Security"); | 39 | Config cfg("Security"); |
40 | cfg.setGroup("Passcode"); | 40 | cfg.setGroup("Passcode"); |
41 | passcode = cfg.readEntry("passcode"); | 41 | passcode = cfg.readEntry("passcode"); |
42 | passcode_poweron->setChecked(cfg.readBoolEntry("passcode_poweron",FALSE)); | 42 | passcode_poweron->setChecked(cfg.readBoolEntry("passcode_poweron",FALSE)); |
43 | cfg.setGroup("Sync"); | 43 | cfg.setGroup("Sync"); |
44 | int auth_peer = cfg.readNumEntry("auth_peer",0xc0a88100);//new default 192.168.129.0/24 | 44 | int auth_peer = cfg.readNumEntry("auth_peer",0xc0a88100);//new default 192.168.129.0/24 |
45 | int auth_peer_bits = cfg.readNumEntry("auth_peer_bits",24); | 45 | int auth_peer_bits = cfg.readNumEntry("auth_peer_bits",24); |
46 | selectNet(auth_peer,auth_peer_bits,TRUE); | 46 | selectNet(auth_peer,auth_peer_bits,TRUE); |
47 | 47 | ||
48 | connect(syncnet, SIGNAL(textChanged(const QString&)), | 48 | connect(syncnet, SIGNAL(textChanged(const QString&)), |
49 | this, SLOT(setSyncNet(const QString&))); | 49 | this, SLOT(setSyncNet(const QString&))); |
50 | 50 | ||
51 | cfg.setGroup("Sync"); | ||
52 | QString sa = cfg.readEntry("syncapp","Qtopia"); | ||
53 | 51 | ||
54 | for (int i=0; i<syncapp->count(); i++) { | 52 | |
55 | if ( syncapp->text(i) == sa ) { | ||
56 | syncapp->setCurrentItem(i); | ||
57 | } | ||
58 | } | ||
59 | |||
60 | /* | 53 | /* |
61 | cfg.setGroup("Remote"); | 54 | cfg.setGroup("Remote"); |
62 | if ( telnetAvailable() ) | 55 | if ( telnetAvailable() ) |
63 | telnet->setChecked(cfg.readEntry("allow_telnet")); | 56 | telnet->setChecked(cfg.readEntry("allow_telnet")); |
64 | else | 57 | else |
65 | telnet->hide(); | 58 | telnet->hide(); |
66 | 59 | ||
67 | if ( sshAvailable() ) | 60 | if ( sshAvailable() ) |
68 | ssh->setChecked(cfg.readEntry("allow_ssh")); | 61 | ssh->setChecked(cfg.readEntry("allow_ssh")); |
69 | else | 62 | else |
70 | ssh->hide(); | 63 | ssh->hide(); |
71 | */ | 64 | */ |
72 | 65 | ||
73 | QString configFile = QPEApplication::qpeDir() + "/etc/opie-login.conf"; | 66 | QString configFile = QPEApplication::qpeDir() + "/etc/opie-login.conf"; |
74 | Config loginCfg(configFile,Config::File); | 67 | Config loginCfg(configFile,Config::File); |
75 | 68 | ||
76 | loginCfg.setGroup("General"); | 69 | loginCfg.setGroup("General"); |
77 | autoLoginName=loginCfg.readEntry("AutoLogin",""); | 70 | autoLoginName=loginCfg.readEntry("AutoLogin",""); |
78 | 71 | ||
79 | if (autoLoginName.stripWhiteSpace().isEmpty()) { | 72 | if (autoLoginName.stripWhiteSpace().isEmpty()) { |
80 | autoLogin=false; | 73 | autoLogin=false; |
81 | } else { | 74 | } else { |
82 | autoLogin=true; | 75 | autoLogin=true; |
83 | } | 76 | } |
84 | 77 | ||
85 | cfg.setGroup("SyncMode"); | 78 | cfg.setGroup("SyncMode"); |
86 | int mode = cfg.readNumEntry("Mode",2); // Default to Sharp | 79 | int mode = cfg.readNumEntry("Mode",2); // Default to Sharp |
87 | syncModeCombo->setCurrentItem( mode - 1 ); | 80 | switch( mode ) { |
88 | 81 | case 0x01: | |
89 | //since nobody knows what this is and it doesn't do anything, i'll hide it # CoreDump | 82 | syncModeCombo->setCurrentItem( 0 ); |
90 | // is this work-in-progress or can it be removed? | 83 | break; |
91 | syncModeCombo->hide(); | 84 | case 0x02: |
85 | default: | ||
86 | syncModeCombo->setCurrentItem( 1 ); | ||
87 | break; | ||
88 | case 0x04: | ||
89 | syncModeCombo->setCurrentItem( 2 ); | ||
90 | break; | ||
91 | } | ||
92 | |||
92 | 93 | ||
93 | connect(autologinToggle, SIGNAL(toggled(bool)), this, SLOT(toggleAutoLogin(bool))); | 94 | connect(autologinToggle, SIGNAL(toggled(bool)), this, SLOT(toggleAutoLogin(bool))); |
94 | connect(userlist, SIGNAL(activated(int)), this, SLOT(changeLoginName(int))); | 95 | connect(userlist, SIGNAL(activated(int)), this, SLOT(changeLoginName(int))); |
95 | connect(changepasscode,SIGNAL(clicked()), this, SLOT(changePassCode())); | 96 | connect(changepasscode,SIGNAL(clicked()), this, SLOT(changePassCode())); |
96 | connect(clearpasscode,SIGNAL(clicked()), this, SLOT(clearPassCode())); | 97 | connect(clearpasscode,SIGNAL(clicked()), this, SLOT(clearPassCode())); |
97 | connect(syncapp,SIGNAL(activated(int)), this, SLOT(changeSyncApp())); | 98 | connect(restoredefaults,SIGNAL(clicked()), this, SLOT(restoreDefaults())); |
98 | connect(restoredefaults,SIGNAL(clicked()), this, SLOT(restoreDefaults())); | ||
99 | connect(deleteentry,SIGNAL(clicked()), this, SLOT(deleteListEntry())); | 99 | connect(deleteentry,SIGNAL(clicked()), this, SLOT(deleteListEntry())); |
100 | 100 | ||
101 | loadUsers(); | 101 | loadUsers(); |
102 | updateGUI(); | 102 | updateGUI(); |
103 | 103 | ||
104 | dl = new QPEDialogListener(this); | 104 | dl = new QPEDialogListener(this); |
105 | QPEApplication::showDialog( this ); | 105 | QPEApplication::showDialog( this ); |
106 | } | 106 | } |
107 | 107 | ||
108 | Security::~Security() | 108 | Security::~Security() |
109 | { | 109 | { |
110 | } | 110 | } |
111 | 111 | ||
112 | void Security::deleteListEntry() | 112 | void Security::deleteListEntry() |
113 | { | 113 | { |
114 | syncnet->removeItem(syncnet->currentItem()); | 114 | syncnet->removeItem(syncnet->currentItem()); |
115 | } | 115 | } |
116 | 116 | ||
117 | void Security::restoreDefaults() | 117 | void Security::restoreDefaults() |
118 | { | 118 | { |
119 | QMessageBox unrecbox( | 119 | QMessageBox unrecbox( |
120 | tr("Attention"), | 120 | tr("Attention"), |
121 | tr("<p>All user-defined net ranges will be lost."), | 121 | tr("<p>All user-defined net ranges will be lost."), |
122 | QMessageBox::Warning, | 122 | QMessageBox::Warning, |
123 | QMessageBox::Cancel, QMessageBox::Yes, QMessageBox::NoButton, | 123 | QMessageBox::Cancel, QMessageBox::Yes, QMessageBox::NoButton, |
124 | 0, QString::null, TRUE, WStyle_StaysOnTop); | 124 | 0, QString::null, TRUE, WStyle_StaysOnTop); |
125 | unrecbox.setButtonText(QMessageBox::Cancel, tr("Cancel")); | 125 | unrecbox.setButtonText(QMessageBox::Cancel, tr("Cancel")); |
126 | unrecbox.setButtonText(QMessageBox::Yes, tr("Ok")); | 126 | unrecbox.setButtonText(QMessageBox::Yes, tr("Ok")); |
127 | 127 | ||
128 | if ( unrecbox.exec() == QMessageBox::Yes) | 128 | if ( unrecbox.exec() == QMessageBox::Yes) |
129 | { | 129 | { |
130 | syncnet->clear(); | 130 | syncnet->clear(); |
131 | insertDefaultRanges(); | 131 | insertDefaultRanges(); |
132 | } | 132 | } |
133 | syncModeCombo->setCurrentItem( 2 ); | ||
133 | } | 134 | } |
134 | 135 | ||
135 | void Security::insertDefaultRanges() | 136 | void Security::insertDefaultRanges() |
136 | { | 137 | { |
137 | syncnet->insertItem( tr( "192.168.129.0/24" ) ); | 138 | syncnet->insertItem( tr( "192.168.129.0/24" ) ); |
138 | syncnet->insertItem( tr( "192.168.1.0/24" ) ); | 139 | syncnet->insertItem( tr( "192.168.1.0/24" ) ); |
139 | syncnet->insertItem( tr( "192.168.0.0/16" ) ); | 140 | syncnet->insertItem( tr( "192.168.0.0/16" ) ); |
140 | syncnet->insertItem( tr( "172.16.0.0/12" ) ); | 141 | syncnet->insertItem( tr( "172.16.0.0/12" ) ); |
141 | syncnet->insertItem( tr( "10.0.0.0/8" ) ); | 142 | syncnet->insertItem( tr( "10.0.0.0/8" ) ); |
142 | syncnet->insertItem( tr( "1.0.0.0/8" ) ); | 143 | syncnet->insertItem( tr( "1.0.0.0/8" ) ); |
143 | syncnet->insertItem( tr( "Any" ) ); | 144 | syncnet->insertItem( tr( "Any" ) ); |
144 | syncnet->insertItem( tr( "None" ) ); | 145 | syncnet->insertItem( tr( "None" ) ); |
@@ -149,17 +150,17 @@ void Security::updateGUI() | |||
149 | bool empty = passcode.isEmpty(); | 150 | bool empty = passcode.isEmpty(); |
150 | 151 | ||
151 | changepasscode->setText( empty ? tr("Set passcode" ) | 152 | changepasscode->setText( empty ? tr("Set passcode" ) |
152 | : tr("Change passcode" ) ); | 153 | : tr("Change passcode" ) ); |
153 | passcode_poweron->setEnabled( !empty ); | 154 | passcode_poweron->setEnabled( !empty ); |
154 | clearpasscode->setEnabled( !empty ); | 155 | clearpasscode->setEnabled( !empty ); |
155 | 156 | ||
156 | autologinToggle->setChecked(autoLogin); | 157 | autologinToggle->setChecked(autoLogin); |
157 | userlist->setEnabled(autoLogin); | 158 | userlist->setEnabled(autoLogin); |
158 | } | 159 | } |
159 | 160 | ||
160 | 161 | ||
161 | void Security::show() | 162 | void Security::show() |
162 | { | 163 | { |
163 | //valid=FALSE; | 164 | //valid=FALSE; |
164 | setEnabled(FALSE); | 165 | setEnabled(FALSE); |
165 | SecurityBase::show(); | 166 | SecurityBase::show(); |
@@ -232,29 +233,29 @@ void Security::selectNet(int auth_peer,int auth_peer_bits, bool update) | |||
232 | for (int i=0; i<10; i++) { | 233 | for (int i=0; i<10; i++) { |
233 | QString target, netrange; | 234 | QString target, netrange; |
234 | target.sprintf("net%d", i); | 235 | target.sprintf("net%d", i); |
235 | netrange = cfg.readEntry(target,""); | 236 | netrange = cfg.readEntry(target,""); |
236 | if (! netrange.isEmpty()){ | 237 | if (! netrange.isEmpty()){ |
237 | //make sure we have no "twin" entries | 238 | //make sure we have no "twin" entries |
238 | for (int i=0; i<syncnet->count(); i++) { | 239 | for (int i=0; i<syncnet->count(); i++) { |
239 | if ( syncnet->text(i) == netrange ) { | 240 | if ( syncnet->text(i) == netrange ) { |
240 | already_there=TRUE; | 241 | already_there=TRUE; |
241 | } | 242 | } |
242 | } | 243 | } |
243 | if (! already_there) { | 244 | if (! already_there) { |
244 | syncnet->insertItem( tr( netrange ) ); | 245 | syncnet->insertItem( tr( netrange ) ); |
245 | } else { | 246 | } else { |
246 | already_there=FALSE; | 247 | already_there=FALSE; |
247 | } | 248 | } |
248 | } | 249 | } |
249 | } | 250 | } |
250 | } | 251 | } |
251 | } | 252 | } |
252 | 253 | ||
253 | for (int i=0; i<syncnet->count(); i++) { | 254 | for (int i=0; i<syncnet->count(); i++) { |
254 | if ( syncnet->text(i).left(sn.length()) == sn ) { | 255 | if ( syncnet->text(i).left(sn.length()) == sn ) { |
255 | syncnet->setCurrentItem(i); | 256 | syncnet->setCurrentItem(i); |
256 | return; | 257 | return; |
257 | } | 258 | } |
258 | } | 259 | } |
259 | qDebug("No match for \"%s\"",sn.latin1()); | 260 | qDebug("No match for \"%s\"",sn.latin1()); |
260 | } | 261 | } |
@@ -329,30 +330,47 @@ void Security::applySecurity() | |||
329 | cfg.setGroup("Passcode"); | 330 | cfg.setGroup("Passcode"); |
330 | cfg.writeEntry("passcode",passcode); | 331 | cfg.writeEntry("passcode",passcode); |
331 | cfg.writeEntry("passcode_poweron",passcode_poweron->isChecked()); | 332 | cfg.writeEntry("passcode_poweron",passcode_poweron->isChecked()); |
332 | cfg.setGroup("Sync"); | 333 | cfg.setGroup("Sync"); |
333 | int auth_peer=0; | 334 | int auth_peer=0; |
334 | int auth_peer_bits; | 335 | int auth_peer_bits; |
335 | QString sn = syncnet->currentText(); | 336 | QString sn = syncnet->currentText(); |
336 | parseNet(sn,auth_peer,auth_peer_bits); | 337 | parseNet(sn,auth_peer,auth_peer_bits); |
337 | 338 | ||
338 | //this is the *selected* (active) net range | 339 | //this is the *selected* (active) net range |
339 | cfg.writeEntry("auth_peer",auth_peer); | 340 | cfg.writeEntry("auth_peer",auth_peer); |
340 | cfg.writeEntry("auth_peer_bits",auth_peer_bits); | 341 | cfg.writeEntry("auth_peer_bits",auth_peer_bits); |
341 | 342 | ||
342 | //write back all other net ranges in *cleartext* | 343 | //write back all other net ranges in *cleartext* |
343 | for (int i=0; i<10; i++) { | 344 | for (int i=0; i<10; i++) { |
344 | QString target; | 345 | QString target; |
345 | target.sprintf("net%d", i); | 346 | target.sprintf("net%d", i); |
346 | cfg.writeEntry(target,syncnet->text(i)); | 347 | cfg.writeEntry(target,syncnet->text(i)); |
347 | } | 348 | } |
348 | 349 | ||
349 | cfg.writeEntry("syncapp",syncapp->currentText()); | 350 | #ifdef ODP |
350 | 351 | #error "Use 0,1,2 and use Launcher" | |
352 | #endif | ||
353 | /* keep the old code so we don't use currentItem directly */ | ||
354 | int value = 0x02; | ||
355 | switch( syncModeCombo->currentItem() ) { | ||
356 | case 0: | ||
357 | value = 0x01; | ||
358 | break; | ||
359 | case 1: | ||
360 | value = 0x02; | ||
361 | break; | ||
362 | case 2: | ||
363 | value = 0x04; | ||
364 | break; | ||
365 | } | ||
366 | cfg.setGroup("SyncMode"); | ||
367 | cfg.writeEntry( "Mode", value ); | ||
368 | |||
351 | /* | 369 | /* |
352 | cfg.setGroup("Remote"); | 370 | cfg.setGroup("Remote"); |
353 | if ( telnetAvailable() ) | 371 | if ( telnetAvailable() ) |
354 | cfg.writeEntry("allow_telnet",telnet->isChecked()); | 372 | cfg.writeEntry("allow_telnet",telnet->isChecked()); |
355 | if ( sshAvailable() ) | 373 | if ( sshAvailable() ) |
356 | cfg.writeEntry("allow_ssh",ssh->isChecked()); | 374 | cfg.writeEntry("allow_ssh",ssh->isChecked()); |
357 | // ### write ssh/telnet sys config files | 375 | // ### write ssh/telnet sys config files |
358 | */ | 376 | */ |
@@ -364,33 +382,17 @@ void Security::applySecurity() | |||
364 | if (autoLogin) { | 382 | if (autoLogin) { |
365 | loginCfg.writeEntry("AutoLogin",autoLoginName); | 383 | loginCfg.writeEntry("AutoLogin",autoLoginName); |
366 | } else { | 384 | } else { |
367 | loginCfg.removeEntry("AutoLogin"); | 385 | loginCfg.removeEntry("AutoLogin"); |
368 | } | 386 | } |
369 | 387 | ||
370 | } | 388 | } |
371 | } | 389 | } |
372 | void Security::changeSyncApp() | 390 | |
373 | { | ||
374 | // Don't say i didn't tell ya | ||
375 | if (syncapp->currentText() == "IntelliSync") { | ||
376 | QMessageBox attn( | ||
377 | tr("WARNING"), | ||
378 | tr("<p>Selecting IntelliSync here will disable the FTP password." | ||
379 | "<p>Every machine in your netrange will be able to sync with " | ||
380 | "your Zaurus!"), | ||
381 | QMessageBox::Warning, | ||
382 | QMessageBox::Cancel, QMessageBox::NoButton, QMessageBox::NoButton, | ||
383 | 0, QString::null, TRUE, WStyle_StaysOnTop); | ||
384 | attn.setButtonText(QMessageBox::Cancel, tr("Ok")); | ||
385 | attn.exec(); | ||
386 | } | ||
387 | updateGUI(); | ||
388 | } | ||
389 | 391 | ||
390 | 392 | ||
391 | 393 | ||
392 | void Security::changeLoginName( int idx ) | 394 | void Security::changeLoginName( int idx ) |
393 | { | 395 | { |
394 | autoLoginName = userlist->text(idx);; | 396 | autoLoginName = userlist->text(idx);; |
395 | updateGUI(); | 397 | updateGUI(); |
396 | } | 398 | } |
diff --git a/core/settings/security/security.h b/core/settings/security/security.h index 72aa352..ed25ce1 100644 --- a/core/settings/security/security.h +++ b/core/settings/security/security.h | |||
@@ -20,17 +20,17 @@ | |||
20 | #ifndef SECURITY_H | 20 | #ifndef SECURITY_H |
21 | #define SECURITY_H | 21 | #define SECURITY_H |
22 | 22 | ||
23 | #include "securitybase.h" | 23 | #include "securitybase.h" |
24 | 24 | ||
25 | class QPEDialogListener; | 25 | class QPEDialogListener; |
26 | 26 | ||
27 | class Security : public SecurityBase | 27 | class Security : public SecurityBase |
28 | { | 28 | { |
29 | Q_OBJECT | 29 | Q_OBJECT |
30 | 30 | ||
31 | public: | 31 | public: |
32 | static QString appName() { return QString::fromLatin1("security"); } | 32 | static QString appName() { return QString::fromLatin1("security"); } |
33 | Security( QWidget* parent = 0, const char* name = 0, WFlags fl = 0 ); | 33 | Security( QWidget* parent = 0, const char* name = 0, WFlags fl = 0 ); |
34 | ~Security(); | 34 | ~Security(); |
35 | 35 | ||
36 | void show(); | 36 | void show(); |
@@ -41,31 +41,30 @@ protected: | |||
41 | void done(int); | 41 | void done(int); |
42 | 42 | ||
43 | private slots: | 43 | private slots: |
44 | void changePassCode(); | 44 | void changePassCode(); |
45 | void clearPassCode(); | 45 | void clearPassCode(); |
46 | void setSyncNet(const QString&); | 46 | void setSyncNet(const QString&); |
47 | void changeLoginName(int); | 47 | void changeLoginName(int); |
48 | void toggleAutoLogin(bool); | 48 | void toggleAutoLogin(bool); |
49 | void changeSyncApp(); | ||
50 | void restoreDefaults(); | 49 | void restoreDefaults(); |
51 | void insertDefaultRanges(); | 50 | void insertDefaultRanges(); |
52 | void deleteListEntry(); | 51 | void deleteListEntry(); |
53 | 52 | ||
54 | private: | 53 | private: |
55 | void loadUsers(void); | 54 | void loadUsers(void); |
56 | bool telnetAvailable() const; | 55 | bool telnetAvailable() const; |
57 | bool sshAvailable() const; | 56 | bool sshAvailable() const; |
58 | void updateGUI(); | 57 | void updateGUI(); |
59 | 58 | ||
60 | static void parseNet(const QString& sn,int& auth_peer,int& auth_peer_bits); | 59 | static void parseNet(const QString& sn,int& auth_peer,int& auth_peer_bits); |
61 | void selectNet(int auth_peer,int auth_peer_bits,bool update); | 60 | void selectNet(int auth_peer,int auth_peer_bits,bool update); |
62 | 61 | ||
63 | 62 | ||
64 | QString enterPassCode(const QString&); | 63 | QString enterPassCode(const QString&); |
65 | QString passcode; | 64 | QString passcode; |
66 | bool valid; | 65 | bool valid; |
67 | bool autoLogin; | 66 | bool autoLogin; |
68 | QString autoLoginName; | 67 | QString autoLoginName; |
69 | 68 | ||
70 | QPEDialogListener *dl; | 69 | QPEDialogListener *dl; |
71 | }; | 70 | }; |
diff --git a/core/settings/security/securitybase.ui b/core/settings/security/securitybase.ui index 1769ae1..dcf1d6b 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>309</width> | 14 | <width>327</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> |
@@ -461,62 +461,43 @@ Beware that all manually entered net ranges will be lost!</string> | |||
461 | <string>Select your sync software</string> | 461 | <string>Select your sync software</string> |
462 | </property> | 462 | </property> |
463 | </widget> | 463 | </widget> |
464 | <widget> | 464 | <widget> |
465 | <class>QComboBox</class> | 465 | <class>QComboBox</class> |
466 | <item> | 466 | <item> |
467 | <property> | 467 | <property> |
468 | <name>text</name> | 468 | <name>text</name> |
469 | <string>QTopia</string> | ||
470 | </property> | ||
471 | </item> | ||
472 | <item> | ||
473 | <property> | ||
474 | <name>text</name> | ||
475 | <string>IntelliSync</string> | ||
476 | </property> | ||
477 | </item> | ||
478 | <property stdset="1"> | ||
479 | <name>name</name> | ||
480 | <cstring>syncapp</cstring> | ||
481 | </property> | ||
482 | <property> | ||
483 | <name>whatsThis</name> | ||
484 | <string>This option changes the login behaviour of the internal FTP server. | ||
485 | |||
486 | If you have problems syncing, try the "IntelliSync" setting, which will accept any password you throw at the sync (FTP) port. | ||
487 | |||
488 | The default is Qtopia. It will let you log in with username "root" and password "Qtopia". The password is CaSeSeNsItIvE.</string> | ||
489 | </property> | ||
490 | </widget> | ||
491 | <widget> | ||
492 | <class>QComboBox</class> | ||
493 | <item> | ||
494 | <property> | ||
495 | <name>text</name> | ||
496 | <string>Qtopia 1.7</string> | 469 | <string>Qtopia 1.7</string> |
497 | </property> | 470 | </property> |
498 | </item> | 471 | </item> |
499 | <item> | 472 | <item> |
500 | <property> | 473 | <property> |
501 | <name>text</name> | 474 | <name>text</name> |
502 | <string>Opie 1.0</string> | 475 | <string>Opie 1.0</string> |
503 | </property> | 476 | </property> |
504 | </item> | 477 | </item> |
505 | <item> | 478 | <item> |
506 | <property> | 479 | <property> |
507 | <name>text</name> | 480 | <name>text</name> |
508 | <string>Both</string> | 481 | <string>IntelliSync</string> |
509 | </property> | 482 | </property> |
510 | </item> | 483 | </item> |
511 | <property stdset="1"> | 484 | <property stdset="1"> |
512 | <name>name</name> | 485 | <name>name</name> |
513 | <cstring>syncModeCombo</cstring> | 486 | <cstring>syncModeCombo</cstring> |
514 | </property> | 487 | </property> |
488 | <property> | ||
489 | <name>whatsThis</name> | ||
490 | <string>Alter the Sync Protocol to tweak for the different devices. | ||
491 | IntelliSync will disable the password check but you'll be prompted to accept the connection. | ||
492 | Opie1.0 will be compatible with QtopiaDesktop, MultiSync and KitchenSync | ||
493 | Qtopia1.7 will alter the way data is send to the client and will not work with older clients. | ||
494 | </string> | ||
495 | </property> | ||
515 | </widget> | 496 | </widget> |
516 | </vbox> | 497 | </vbox> |
517 | </widget> | 498 | </widget> |
518 | </grid> | 499 | </grid> |
519 | </widget> | 500 | </widget> |
520 | </widget> | 501 | </widget> |
521 | </vbox> | 502 | </vbox> |
522 | </widget> | 503 | </widget> |