Diffstat (limited to 'libkdepim/ksyncprefsdialog.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | libkdepim/ksyncprefsdialog.cpp | 98 |
1 files changed, 92 insertions, 6 deletions
diff --git a/libkdepim/ksyncprefsdialog.cpp b/libkdepim/ksyncprefsdialog.cpp index 355c05d..c6c5ff8 100644 --- a/libkdepim/ksyncprefsdialog.cpp +++ b/libkdepim/ksyncprefsdialog.cpp | |||
@@ -143,101 +143,128 @@ void KSyncPrefsDialog::setupSyncAlgTab() | |||
143 | mIncludeInRing = new QCheckBox( i18n("Include in multiple calendar sync"), topFrame ); | 143 | mIncludeInRing = new QCheckBox( i18n("Include in multiple calendar sync"), topFrame ); |
144 | topLayout->addMultiCellWidget(mIncludeInRing, iii,iii,0,1); | 144 | topLayout->addMultiCellWidget(mIncludeInRing, iii,iii,0,1); |
145 | ++iii; | 145 | ++iii; |
146 | mIncludeInRingAB = new QCheckBox( i18n("Include in multiple addressbook sync"), topFrame ); | 146 | mIncludeInRingAB = new QCheckBox( i18n("Include in multiple addressbook sync"), topFrame ); |
147 | topLayout->addMultiCellWidget(mIncludeInRingAB, iii,iii,0,1); | 147 | topLayout->addMultiCellWidget(mIncludeInRingAB, iii,iii,0,1); |
148 | ++iii; | 148 | ++iii; |
149 | 149 | ||
150 | mAskForPreferences = new QCheckBox( i18n("Ask for preferences before sync"), topFrame ); | 150 | mAskForPreferences = new QCheckBox( i18n("Ask for preferences before sync"), topFrame ); |
151 | topLayout->addMultiCellWidget(mAskForPreferences, iii,iii,0,1); | 151 | topLayout->addMultiCellWidget(mAskForPreferences, iii,iii,0,1); |
152 | ++iii; | 152 | ++iii; |
153 | QButtonGroup* gr = new QButtonGroup ( 1, Qt::Horizontal, i18n("Sync preferences"), topFrame); | 153 | QButtonGroup* gr = new QButtonGroup ( 1, Qt::Horizontal, i18n("Sync preferences"), topFrame); |
154 | topLayout->addMultiCellWidget(gr, iii,iii,0,1); | 154 | topLayout->addMultiCellWidget(gr, iii,iii,0,1); |
155 | ++iii; | 155 | ++iii; |
156 | loc = new QRadioButton ( i18n("Take local entry on conflict"), gr ); | 156 | loc = new QRadioButton ( i18n("Take local entry on conflict"), gr ); |
157 | rem = new QRadioButton ( i18n("Take remote entry on conflict"), gr ); | 157 | rem = new QRadioButton ( i18n("Take remote entry on conflict"), gr ); |
158 | newest = new QRadioButton ( i18n("Take newest entry on conflict"), gr ); | 158 | newest = new QRadioButton ( i18n("Take newest entry on conflict"), gr ); |
159 | ask = new QRadioButton ( i18n("Ask for every entry on conflict"), gr ); | 159 | ask = new QRadioButton ( i18n("Ask for every entry on conflict"), gr ); |
160 | f_loc= new QRadioButton ( i18n("Force: Take local entry always"), gr ); | 160 | f_loc= new QRadioButton ( i18n("Force: Take local entry always"), gr ); |
161 | f_rem = new QRadioButton ( i18n("Force: Take remote entry always"), gr ); | 161 | f_rem = new QRadioButton ( i18n("Force: Take remote entry always"), gr ); |
162 | // both = new QRadioButton ( i18n("Take both on conflict"), gr ); | 162 | // both = new QRadioButton ( i18n("Take both on conflict"), gr ); |
163 | 163 | ||
164 | mShowSummaryAfterSync = new QCheckBox( i18n("Show summary after sync"), topFrame ); | 164 | mShowSummaryAfterSync = new QCheckBox( i18n("Show summary after sync"), topFrame ); |
165 | topLayout->addMultiCellWidget(mShowSummaryAfterSync, iii,iii,0,1); | 165 | topLayout->addMultiCellWidget(mShowSummaryAfterSync, iii,iii,0,1); |
166 | ++iii; | 166 | ++iii; |
167 | 167 | ||
168 | mWriteBackFile = new QCheckBox( i18n("Write back synced data"), topFrame ); | 168 | mWriteBackFile = new QCheckBox( i18n("Write back synced data"), topFrame ); |
169 | topLayout->addMultiCellWidget(mWriteBackFile, iii,iii,0,1); | 169 | topLayout->addMultiCellWidget(mWriteBackFile, iii,iii,0,1); |
170 | ++iii; | 170 | ++iii; |
171 | 171 | ||
172 | mWriteBackExisting= new QCheckBox( i18n("-- Write back (on remote) existing entries only"), topFrame ); | 172 | mWriteBackExisting= new QCheckBox( i18n("-- Write back (on remote) existing entries only"), topFrame ); |
173 | topLayout->addMultiCellWidget(mWriteBackExisting, iii,iii,0,1); | 173 | topLayout->addMultiCellWidget(mWriteBackExisting, iii,iii,0,1); |
174 | ++iii; | 174 | ++iii; |
175 | 175 | ||
176 | mWriteBackFuture= new QCheckBox( i18n("-- Write back (calendar) entries in future only"), topFrame ); | 176 | mWriteBackFuture= new QCheckBox( i18n("-- Write back (calendar) entries in future only"), topFrame ); |
177 | topLayout->addMultiCellWidget(mWriteBackFuture, iii,iii,0,1); | 177 | topLayout->addMultiCellWidget(mWriteBackFuture, iii,iii,0,1); |
178 | ++iii; | 178 | ++iii; |
179 | topLayout->addMultiCellWidget(new QLabel( i18n("---- Max. weeks in future: ") , topFrame ), iii,iii,0,0); | 179 | topLayout->addMultiCellWidget(new QLabel( i18n("---- Max. weeks in future: ") , topFrame ), iii,iii,0,0); |
180 | mWriteBackFutureWeeks= new QSpinBox(1,104, 1, topFrame); | 180 | mWriteBackFutureWeeks= new QSpinBox(1,104, 1, topFrame); |
181 | topLayout->addMultiCellWidget(mWriteBackFutureWeeks, iii,iii,1,1); | 181 | topLayout->addMultiCellWidget(mWriteBackFutureWeeks, iii,iii,1,1); |
182 | ++iii; | 182 | ++iii; |
183 | 183 | ||
184 | proGr = new QButtonGroup ( 1, Qt::Horizontal, i18n("Profile kind"), topFrame); | 184 | proGr = new QButtonGroup ( 1, Qt::Horizontal, i18n("Profile kind"), topFrame); |
185 | gr = proGr; | 185 | gr = proGr; |
186 | topLayout->addMultiCellWidget(gr, iii,iii,0,1); | 186 | topLayout->addMultiCellWidget(gr, iii,iii,0,1); |
187 | ++iii; | 187 | ++iii; |
188 | mIsLocal = new QRadioButton ( i18n("Local file"), gr ); | 188 | mIsLocal = new QRadioButton ( i18n("Local file"), gr ); |
189 | mIsNotLocal = new QRadioButton ( i18n("Remote file (w down/upload command)"), gr ); | 189 | mIsNotLocal = new QRadioButton ( i18n("Remote file (w down/upload command)"), gr ); |
190 | connect (mIsLocal, SIGNAL( toggled(bool)), this, SLOT (kindChanged(bool) ) ); | 190 | connect (mIsLocal, SIGNAL( toggled(bool)), this, SLOT (kindChanged(bool) ) ); |
191 | mIsPhone = new QRadioButton ( i18n("Mobile device (cell phone)"), gr ); | ||
192 | connect (mIsPhone, SIGNAL( toggled(bool)), this, SLOT (kindChanged(bool) ) ); | ||
193 | |||
194 | |||
195 | phoneWidget = new QVBox( topFrame); | ||
196 | topLayout->addMultiCellWidget(phoneWidget, iii,iii,0,1); | ||
197 | ++iii; | ||
198 | QHBox* temphb = new QHBox( phoneWidget ); | ||
199 | new QLabel( i18n("I/O device: "), temphb ); | ||
200 | mPhoneDevice = new QLineEdit( temphb); | ||
201 | button = new QPushButton( i18n("Help..."), temphb ); | ||
202 | connect ( button, SIGNAL( clicked()), this, SLOT ( helpDevice() ) ); | ||
203 | |||
204 | |||
205 | temphb = new QHBox( phoneWidget ); | ||
206 | new QLabel( i18n("Connection: "), temphb ); | ||
207 | mPhoneConnection = new QLineEdit( temphb); | ||
208 | button = new QPushButton( i18n("Help..."), temphb ); | ||
209 | connect ( button, SIGNAL( clicked()), this, SLOT ( helpConnection() ) ); | ||
210 | |||
211 | |||
212 | temphb = new QHBox( phoneWidget ); | ||
213 | new QLabel( i18n("Model(opt.): "), temphb ); | ||
214 | mPhoneModel = new QLineEdit( temphb); | ||
215 | button = new QPushButton( i18n("Help..."), temphb ); | ||
216 | connect ( button, SIGNAL( clicked()), this, SLOT ( helpModel() ) ); | ||
217 | |||
191 | // *** local | 218 | // *** local |
192 | localFileWidget = new QVBox( topFrame); | 219 | localFileWidget = new QVBox( topFrame); |
193 | topLayout->addMultiCellWidget(localFileWidget, iii,iii,0,1); | 220 | topLayout->addMultiCellWidget(localFileWidget, iii,iii,0,1); |
194 | ++iii; | 221 | ++iii; |
195 | QHBox* temphb = new QHBox( localFileWidget ); | 222 | temphb = new QHBox( localFileWidget ); |
196 | 223 | ||
197 | lab = new QLabel( i18n("Local file Cal:"), temphb ); | 224 | lab = new QLabel( i18n("Local file Cal:"), temphb ); |
198 | lab = new QLabel( i18n("Local file ABook:"), temphb ); | 225 | lab = new QLabel( i18n("Local file ABook:"), temphb ); |
199 | temphb = new QHBox( localFileWidget ); | 226 | temphb = new QHBox( localFileWidget ); |
200 | button = new QPushButton( i18n("Choose..."), temphb ); | 227 | button = new QPushButton( i18n("Choose..."), temphb ); |
201 | connect ( button, SIGNAL( clicked()), this, SLOT ( chooseFile() ) ); | 228 | connect ( button, SIGNAL( clicked()), this, SLOT ( chooseFile() ) ); |
202 | button = new QPushButton( i18n("Choose..."), temphb ); | 229 | button = new QPushButton( i18n("Choose..."), temphb ); |
203 | connect ( button, SIGNAL( clicked()), this, SLOT ( chooseFileAB() ) ); | 230 | connect ( button, SIGNAL( clicked()), this, SLOT ( chooseFileAB() ) ); |
204 | temphb = new QHBox( localFileWidget ); | 231 | temphb = new QHBox( localFileWidget ); |
205 | 232 | ||
206 | mRemoteFile = new QLineEdit( temphb); | 233 | mRemoteFile = new QLineEdit( temphb); |
207 | mRemoteFileAB = new QLineEdit( temphb); | 234 | mRemoteFileAB = new QLineEdit( temphb); |
208 | 235 | ||
209 | // *** remote | 236 | // *** remote |
210 | remoteFileWidget = new QVBox( topFrame); | 237 | remoteFileWidget = new QVBox( topFrame); |
211 | topLayout->addMultiCellWidget(remoteFileWidget, iii,iii,0,1); | 238 | topLayout->addMultiCellWidget(remoteFileWidget, iii,iii,0,1); |
212 | ++iii; | 239 | ++iii; |
213 | temphb = new QHBox( remoteFileWidget ); | 240 | temphb = new QHBox( remoteFileWidget ); |
214 | new QLabel( i18n("Calendar:"), temphb); | 241 | new QLabel( i18n("Calendar:"), temphb); |
215 | new QLabel( i18n("AddressBook:"), temphb); | 242 | new QLabel( i18n("AddressBook:"), temphb); |
216 | 243 | ||
217 | lab = new QLabel( i18n("Pre sync (download) command:"), remoteFileWidget); | 244 | lab = new QLabel( i18n("Pre sync (download) command:"), remoteFileWidget); |
218 | temphb = new QHBox( remoteFileWidget ); | 245 | temphb = new QHBox( remoteFileWidget ); |
219 | mRemotePrecommand = new QLineEdit(temphb); | 246 | mRemotePrecommand = new QLineEdit(temphb); |
220 | mRemotePrecommandAB = new QLineEdit(temphb); | 247 | mRemotePrecommandAB = new QLineEdit(temphb); |
221 | 248 | ||
222 | lab = new QLabel( i18n("Local temp file:"), remoteFileWidget); | 249 | lab = new QLabel( i18n("Local temp file:"), remoteFileWidget); |
223 | temphb = new QHBox( remoteFileWidget ); | 250 | temphb = new QHBox( remoteFileWidget ); |
224 | mLocalTempFile = new QLineEdit(temphb); | 251 | mLocalTempFile = new QLineEdit(temphb); |
225 | mLocalTempFileAB = new QLineEdit(temphb); | 252 | mLocalTempFileAB = new QLineEdit(temphb); |
226 | 253 | ||
227 | lab = new QLabel( i18n("Post sync (upload) command:"), remoteFileWidget); | 254 | lab = new QLabel( i18n("Post sync (upload) command:"), remoteFileWidget); |
228 | temphb = new QHBox( remoteFileWidget ); | 255 | temphb = new QHBox( remoteFileWidget ); |
229 | mRemotePostcommand = new QLineEdit(temphb ); | 256 | mRemotePostcommand = new QLineEdit(temphb ); |
230 | mRemotePostcommandAB = new QLineEdit(temphb ); | 257 | mRemotePostcommandAB = new QLineEdit(temphb ); |
231 | 258 | ||
232 | lab = new QLabel( i18n("Fill in default values for:"), remoteFileWidget); | 259 | lab = new QLabel( i18n("Fill in default values for:"), remoteFileWidget); |
233 | temphb = new QHBox( remoteFileWidget ); | 260 | temphb = new QHBox( remoteFileWidget ); |
234 | button = new QPushButton( i18n("ssh/scp"), temphb ); | 261 | button = new QPushButton( i18n("ssh/scp"), temphb ); |
235 | connect ( button, SIGNAL( clicked()), this, SLOT (fillSSH() ) ); | 262 | connect ( button, SIGNAL( clicked()), this, SLOT (fillSSH() ) ); |
236 | button = new QPushButton( i18n("ftp"), temphb ); | 263 | button = new QPushButton( i18n("ftp"), temphb ); |
237 | connect ( button, SIGNAL( clicked()), this, SLOT (fillFTP() ) ); | 264 | connect ( button, SIGNAL( clicked()), this, SLOT (fillFTP() ) ); |
238 | lab = new QLabel( i18n("Hint: Use $PWD$ for placeholder of password!"), remoteFileWidget); | 265 | lab = new QLabel( i18n("Hint: Use $PWD$ for placeholder of password!"), remoteFileWidget); |
239 | 266 | ||
240 | 267 | ||
241 | } | 268 | } |
242 | void KSyncPrefsDialog::slotOK() | 269 | void KSyncPrefsDialog::slotOK() |
243 | { | 270 | { |
@@ -267,206 +294,232 @@ void KSyncPrefsDialog::chooseFile() | |||
267 | if ( fn == "" ) | 294 | if ( fn == "" ) |
268 | return; | 295 | return; |
269 | mRemoteFile->setText( fn ); | 296 | mRemoteFile->setText( fn ); |
270 | } | 297 | } |
271 | 298 | ||
272 | void KSyncPrefsDialog::chooseFileAB() | 299 | void KSyncPrefsDialog::chooseFileAB() |
273 | { | 300 | { |
274 | QString fn = QDir::homeDirPath(); | 301 | QString fn = QDir::homeDirPath(); |
275 | 302 | ||
276 | fn =KFileDialog:: getOpenFileName( fn, i18n("Sync filename(*.ics/*.vcs)"), this ); | 303 | fn =KFileDialog:: getOpenFileName( fn, i18n("Sync filename(*.ics/*.vcs)"), this ); |
277 | if ( fn == "" ) | 304 | if ( fn == "" ) |
278 | return; | 305 | return; |
279 | mRemoteFileAB->setText( fn ); | 306 | mRemoteFileAB->setText( fn ); |
280 | } | 307 | } |
281 | 308 | ||
282 | void KSyncPrefsDialog::textChanged( const QString & s ) | 309 | void KSyncPrefsDialog::textChanged( const QString & s ) |
283 | { | 310 | { |
284 | if ( mProfileBox->count() == 0 ) | 311 | if ( mProfileBox->count() == 0 ) |
285 | return; | 312 | return; |
286 | if ( currentSelection < 3 ) { | 313 | if ( currentSelection < 3 ) { |
287 | //KMessageBox::error(this,i18n("This profil name\ncannot be edited!\n"),i18n("KO/Pi config error")); | 314 | //KMessageBox::error(this,i18n("This profil name\ncannot be edited!\n"),i18n("KO/Pi config error")); |
288 | mProfileBox->blockSignals( true ); | 315 | mProfileBox->blockSignals( true ); |
289 | mProfileBox->setCurrentItem(mProfileBox-> currentItem ()); | 316 | mProfileBox->setCurrentItem(mProfileBox-> currentItem ()); |
290 | mProfileBox->blockSignals( false ); | 317 | mProfileBox->blockSignals( false ); |
291 | return; | 318 | return; |
292 | } | 319 | } |
293 | //qDebug("cur i %d ",mProfileBox-> currentItem () ); | 320 | //qDebug("cur i %d ",mProfileBox-> currentItem () ); |
294 | mProfileBox->changeItem ( s, mProfileBox-> currentItem () ) ; | 321 | mProfileBox->changeItem ( s, mProfileBox-> currentItem () ) ; |
295 | KSyncProfile* prof = mSyncProfiles.at(mProfileBox-> currentItem ()) ; | 322 | KSyncProfile* prof = mSyncProfiles.at(mProfileBox-> currentItem ()) ; |
296 | prof->setName( s ); | 323 | prof->setName( s ); |
297 | mSyncProfileNames[mProfileBox-> currentItem ()] = s; | 324 | mSyncProfileNames[mProfileBox-> currentItem ()] = s; |
298 | } | 325 | } |
299 | void KSyncPrefsDialog::profileChanged( int item ) | 326 | void KSyncPrefsDialog::profileChanged( int item ) |
300 | { | 327 | { |
301 | //qDebug("KSyncPrefsDialog::profileChanged %d ", item ); | 328 | //qDebug("KSyncPrefsDialog::profileChanged %d ", item ); |
302 | KSyncProfile* prof; | 329 | KSyncProfile* prof; |
303 | saveProfile(); | 330 | saveProfile(); |
304 | currentSelection = item; | 331 | currentSelection = item; |
305 | prof = mSyncProfiles.at(item) ; | 332 | prof = mSyncProfiles.at(item) ; |
306 | mRemotePrecommand->setText(prof->getPreSyncCommand()); | 333 | mRemotePrecommand->setText(prof->getPreSyncCommand()); |
307 | mRemotePostcommand->setText(prof->getPostSyncCommand()); | 334 | mRemotePostcommand->setText(prof->getPostSyncCommand()); |
308 | mLocalTempFile->setText(prof->getLocalTempFile()); | 335 | mLocalTempFile->setText(prof->getLocalTempFile()); |
309 | mRemoteFile->setText(prof->getRemoteFileName()) ; | 336 | mRemoteFile->setText(prof->getRemoteFileName()) ; |
310 | 337 | ||
311 | mRemotePrecommandAB->setText(prof->getPreSyncCommandAB()); | 338 | mRemotePrecommandAB->setText(prof->getPreSyncCommandAB()); |
312 | mRemotePostcommandAB->setText(prof->getPostSyncCommandAB()); | 339 | mRemotePostcommandAB->setText(prof->getPostSyncCommandAB()); |
313 | mLocalTempFileAB->setText(prof->getLocalTempFileAB()); | 340 | mLocalTempFileAB->setText(prof->getLocalTempFileAB()); |
314 | mRemoteFileAB->setText(prof->getRemoteFileNameAB()) ; | 341 | mRemoteFileAB->setText(prof->getRemoteFileNameAB()) ; |
342 | |||
343 | mPhoneDevice->setText(prof->getPhoneDevice()); | ||
344 | mPhoneConnection->setText(prof->getPhoneConnection()); | ||
345 | mPhoneModel->setText(prof->getPhoneModel()); | ||
346 | |||
315 | mShowSummaryAfterSync->setChecked( prof->getShowSummaryAfterSync()); | 347 | mShowSummaryAfterSync->setChecked( prof->getShowSummaryAfterSync()); |
316 | mAskForPreferences->setChecked( prof->getAskForPreferences()); | 348 | mAskForPreferences->setChecked( prof->getAskForPreferences()); |
317 | mWriteBackExisting->setChecked( prof->getWriteBackExisting() ); | 349 | mWriteBackExisting->setChecked( prof->getWriteBackExisting() ); |
318 | mWriteBackFile->setChecked( prof->getWriteBackFile()); | 350 | mWriteBackFile->setChecked( prof->getWriteBackFile()); |
319 | mIncludeInRing->setChecked( prof->getIncludeInRingSync() ); | 351 | mIncludeInRing->setChecked( prof->getIncludeInRingSync() ); |
320 | mIncludeInRingAB->setChecked( prof->getIncludeInRingSyncAB() ); | 352 | mIncludeInRingAB->setChecked( prof->getIncludeInRingSyncAB() ); |
321 | mWriteBackFuture->setChecked( prof->getWriteBackFuture()); | 353 | mWriteBackFuture->setChecked( prof->getWriteBackFuture()); |
322 | mWriteBackFutureWeeks->setValue( prof->getWriteBackFutureWeeks() ); | 354 | mWriteBackFutureWeeks->setValue( prof->getWriteBackFutureWeeks() ); |
323 | 355 | ||
324 | switch ( prof->getSyncPrefs() ) { | 356 | switch ( prof->getSyncPrefs() ) { |
325 | case 0: | 357 | case 0: |
326 | loc->setChecked( true); | 358 | loc->setChecked( true); |
327 | break; | 359 | break; |
328 | case 1: | 360 | case 1: |
329 | rem->setChecked( true ); | 361 | rem->setChecked( true ); |
330 | break; | 362 | break; |
331 | case 2: | 363 | case 2: |
332 | newest->setChecked( true); | 364 | newest->setChecked( true); |
333 | break; | 365 | break; |
334 | case 3: | 366 | case 3: |
335 | ask->setChecked( true); | 367 | ask->setChecked( true); |
336 | break; | 368 | break; |
337 | case 4: | 369 | case 4: |
338 | f_loc->setChecked( true); | 370 | f_loc->setChecked( true); |
339 | break; | 371 | break; |
340 | case 5: | 372 | case 5: |
341 | f_rem->setChecked( true); | 373 | f_rem->setChecked( true); |
342 | break; | 374 | break; |
343 | case 6: | 375 | case 6: |
344 | //both->setChecked( true); | 376 | //both->setChecked( true); |
345 | break; | 377 | break; |
346 | default: | 378 | default: |
347 | break; | 379 | break; |
348 | } | 380 | } |
349 | mIsLocal->setChecked(prof->getIsLocalFileSync()) ; | 381 | mIsLocal->setChecked(prof->getIsLocalFileSync()) ; |
350 | mIsNotLocal->setChecked(!prof->getIsLocalFileSync()); | 382 | mIsPhone->setChecked(prof->getIsPhoneSync()) ; |
383 | mIsNotLocal->setChecked(!prof->getIsLocalFileSync() && !prof->getIsPhoneSync() ); | ||
351 | proGr->setEnabled( item > 2 ); | 384 | proGr->setEnabled( item > 2 ); |
352 | if ( item < 3 ) { | 385 | if ( item < 3 ) { |
353 | localFileWidget->setEnabled(false); | 386 | localFileWidget->hide(); |
354 | remoteFileWidget->setEnabled(false); | 387 | remoteFileWidget->hide(); |
388 | phoneWidget->hide(); | ||
355 | 389 | ||
356 | } else | 390 | } else |
357 | kindChanged( prof->getIsLocalFileSync() ); | 391 | kindChanged( prof->getIsLocalFileSync() ); |
358 | } | 392 | } |
359 | 393 | ||
360 | void KSyncPrefsDialog::fillSSH() | 394 | void KSyncPrefsDialog::fillSSH() |
361 | { | 395 | { |
362 | mRemotePrecommand->setText("scp zaurus@192.168.0.65:/home/zaurus/kdepim/apps/korganizer/mycalendar.ics /tmp/mycalendar.ics" ); | 396 | mRemotePrecommand->setText("scp zaurus@192.168.0.65:/home/zaurus/kdepim/apps/korganizer/mycalendar.ics /tmp/mycalendar.ics" ); |
363 | mLocalTempFile->setText("/tmp/mycalendar.ics" ); | 397 | mLocalTempFile->setText("/tmp/mycalendar.ics" ); |
364 | mRemotePostcommand->setText("scp /tmp/mycalendar.ics zaurus@192.168.0.65:/home/zaurus/kdepim/apps/korganizer/mycalendar.ics" ); | 398 | mRemotePostcommand->setText("scp /tmp/mycalendar.ics zaurus@192.168.0.65:/home/zaurus/kdepim/apps/korganizer/mycalendar.ics" ); |
365 | mRemotePrecommandAB->setText("scp zaurus@192.168.0.65:/home/zaurus/kdepim/apps/kabc/std.vcf /tmp/std.vcf" ); | 399 | mRemotePrecommandAB->setText("scp zaurus@192.168.0.65:/home/zaurus/kdepim/apps/kabc/std.vcf /tmp/std.vcf" ); |
366 | mLocalTempFileAB->setText("/tmp/std.vcf" ); | 400 | mLocalTempFileAB->setText("/tmp/std.vcf" ); |
367 | mRemotePostcommandAB->setText("scp /tmp/std.vcf zaurus@192.168.0.65:/home/zaurus/kdepim/apps/kabc/std.vcf" ); | 401 | mRemotePostcommandAB->setText("scp /tmp/std.vcf zaurus@192.168.0.65:/home/zaurus/kdepim/apps/kabc/std.vcf" ); |
368 | } | 402 | } |
369 | void KSyncPrefsDialog::fillFTP() | 403 | void KSyncPrefsDialog::fillFTP() |
370 | { | 404 | { |
371 | mRemotePrecommand->setText("cd /tmp;ftp ftp://zaurus:a@192.168.0.65/kdepim/apps/korganizer/mycalendar.ics" ); | 405 | mRemotePrecommand->setText("cd /tmp;ftp ftp://zaurus:a@192.168.0.65/kdepim/apps/korganizer/mycalendar.ics" ); |
372 | mLocalTempFile->setText("/tmp/mycalendar.ics" ); | 406 | mLocalTempFile->setText("/tmp/mycalendar.ics" ); |
373 | mRemotePostcommand->setText("ftp -u ftp://zaurus:a@192.168.0.65/kdepim/apps/korganizer/mycalendar.ics /tmp/mycalendar.ics" ); | 407 | mRemotePostcommand->setText("ftp -u ftp://zaurus:a@192.168.0.65/kdepim/apps/korganizer/mycalendar.ics /tmp/mycalendar.ics" ); |
374 | mRemotePrecommandAB->setText("cd /tmp;ftp ftp://zaurus:a@192.168.0.65/kdepim/apps/kabc/std.vcf" ); | 408 | mRemotePrecommandAB->setText("cd /tmp;ftp ftp://zaurus:a@192.168.0.65/kdepim/apps/kabc/std.vcf" ); |
375 | mLocalTempFileAB->setText("/tmp/std.vcf" ); | 409 | mLocalTempFileAB->setText("/tmp/std.vcf" ); |
376 | mRemotePostcommandAB->setText("ftp -u ftp://zaurus:a@192.168.0.65/kdepim/apps/kabc/std.vcf /tmp/std.vcf" ); | 410 | mRemotePostcommandAB->setText("ftp -u ftp://zaurus:a@192.168.0.65/kdepim/apps/kabc/std.vcf /tmp/std.vcf" ); |
377 | 411 | ||
378 | } | 412 | } |
379 | void KSyncPrefsDialog::kindChanged( bool b ) | 413 | void KSyncPrefsDialog::kindChanged( bool b ) |
380 | { | 414 | { |
381 | 415 | ||
382 | localFileWidget->setEnabled(b); | 416 | if ( mIsLocal->isChecked () ) |
383 | remoteFileWidget->setEnabled(!b); | 417 | localFileWidget->show(); |
418 | else | ||
419 | localFileWidget->hide(); | ||
420 | |||
421 | if ( mIsNotLocal->isChecked () ) | ||
422 | remoteFileWidget->show(); | ||
423 | else | ||
424 | remoteFileWidget->hide(); | ||
425 | |||
426 | if ( mIsPhone->isChecked () ) { | ||
427 | phoneWidget->show(); | ||
428 | } | ||
429 | else { | ||
430 | phoneWidget->hide(); | ||
431 | } | ||
384 | 432 | ||
385 | } | 433 | } |
386 | void KSyncPrefsDialog::deleteProfile() | 434 | void KSyncPrefsDialog::deleteProfile() |
387 | { | 435 | { |
388 | //qDebug("KSyncPrefsDialog::deleteProfile() "); | 436 | //qDebug("KSyncPrefsDialog::deleteProfile() "); |
389 | if ( currentSelection >= 0 ) { | 437 | if ( currentSelection >= 0 ) { |
390 | if ( currentSelection < 3 ) { | 438 | if ( currentSelection < 3 ) { |
391 | KMessageBox::error(this,i18n("This profil cannot be deleted!\n"),i18n("KO/Pi config error")); | 439 | KMessageBox::error(this,i18n("This profil cannot be deleted!\n"),i18n("KO/Pi config error")); |
392 | return; | 440 | return; |
393 | } | 441 | } |
394 | KSyncProfile* temp = mSyncProfiles.at(currentSelection); | 442 | KSyncProfile* temp = mSyncProfiles.at(currentSelection); |
395 | mSyncProfiles.remove( temp ); | 443 | mSyncProfiles.remove( temp ); |
396 | mSyncProfileNames.remove( mSyncProfileNames.at( currentSelection )); | 444 | mSyncProfileNames.remove( mSyncProfileNames.at( currentSelection )); |
397 | insertProfiles(); | 445 | insertProfiles(); |
398 | } | 446 | } |
399 | } | 447 | } |
400 | 448 | ||
401 | void KSyncPrefsDialog::saveProfile() | 449 | void KSyncPrefsDialog::saveProfile() |
402 | { | 450 | { |
403 | KSyncProfile* prof; | 451 | KSyncProfile* prof; |
404 | if ( currentSelection >= 0 ) { | 452 | if ( currentSelection >= 0 ) { |
405 | prof = mSyncProfiles.at(currentSelection) ; | 453 | prof = mSyncProfiles.at(currentSelection) ; |
406 | prof->setPreSyncCommand( mRemotePrecommand->text()); | 454 | prof->setPreSyncCommand( mRemotePrecommand->text()); |
407 | prof->setPostSyncCommand( mRemotePostcommand->text() ); | 455 | prof->setPostSyncCommand( mRemotePostcommand->text() ); |
408 | prof->setLocalTempFile( mLocalTempFile->text()); | 456 | prof->setLocalTempFile( mLocalTempFile->text()); |
409 | prof->setRemoteFileName( mRemoteFile->text() ); | 457 | prof->setRemoteFileName( mRemoteFile->text() ); |
410 | prof->setPreSyncCommandAB( mRemotePrecommandAB->text()); | 458 | prof->setPreSyncCommandAB( mRemotePrecommandAB->text()); |
411 | prof->setPostSyncCommandAB( mRemotePostcommandAB->text() ); | 459 | prof->setPostSyncCommandAB( mRemotePostcommandAB->text() ); |
412 | prof->setLocalTempFileAB( mLocalTempFileAB->text()); | 460 | prof->setLocalTempFileAB( mLocalTempFileAB->text()); |
413 | prof->setRemoteFileNameAB( mRemoteFileAB->text() ); | 461 | prof->setRemoteFileNameAB( mRemoteFileAB->text() ); |
414 | prof->setShowSummaryAfterSync( mShowSummaryAfterSync->isChecked() ); | 462 | prof->setShowSummaryAfterSync( mShowSummaryAfterSync->isChecked() ); |
415 | prof->setAskForPreferences( mAskForPreferences->isChecked()); | 463 | prof->setAskForPreferences( mAskForPreferences->isChecked()); |
416 | prof->setWriteBackExisting(mWriteBackExisting->isChecked() ); | 464 | prof->setWriteBackExisting(mWriteBackExisting->isChecked() ); |
417 | prof->setWriteBackFile( mWriteBackFile->isChecked()); | 465 | prof->setWriteBackFile( mWriteBackFile->isChecked()); |
418 | prof->setIncludeInRingSync( mIncludeInRing->isChecked() ); | 466 | prof->setIncludeInRingSync( mIncludeInRing->isChecked() ); |
419 | prof->setIncludeInRingSyncAB( mIncludeInRingAB->isChecked() ); | 467 | prof->setIncludeInRingSyncAB( mIncludeInRingAB->isChecked() ); |
420 | int syncprefs = rem->isChecked()*1+newest->isChecked()*2+ ask->isChecked()*3+ f_loc->isChecked()*4+ f_rem->isChecked()*5 ;//+ both->isChecked()*6 ; | 468 | int syncprefs = rem->isChecked()*1+newest->isChecked()*2+ ask->isChecked()*3+ f_loc->isChecked()*4+ f_rem->isChecked()*5 ;//+ both->isChecked()*6 ; |
421 | prof->setSyncPrefs( syncprefs); | 469 | prof->setSyncPrefs( syncprefs); |
422 | prof->setIsLocalFileSync( mIsLocal->isChecked() ); | 470 | prof->setIsLocalFileSync( mIsLocal->isChecked() ); |
471 | prof->setIsPhoneSync( mIsPhone->isChecked() ); | ||
423 | prof->setWriteBackFuture(mWriteBackFuture->isChecked()); | 472 | prof->setWriteBackFuture(mWriteBackFuture->isChecked()); |
424 | prof->setWriteBackFutureWeeks(mWriteBackFutureWeeks->value()); | 473 | prof->setWriteBackFutureWeeks(mWriteBackFutureWeeks->value()); |
474 | prof->setPhoneDevice( mPhoneDevice->text() ); | ||
475 | prof->setPhoneConnection( mPhoneConnection->text() ); | ||
476 | prof->setPhoneModel( mPhoneModel->text() ); | ||
477 | |||
425 | } | 478 | } |
426 | 479 | ||
427 | } | 480 | } |
428 | 481 | ||
429 | void KSyncPrefsDialog::insertProfiles() | 482 | void KSyncPrefsDialog::insertProfiles() |
430 | { | 483 | { |
431 | int curItem = mProfileBox->currentItem(); | 484 | int curItem = mProfileBox->currentItem(); |
432 | mProfileBox->blockSignals( true ); | 485 | mProfileBox->blockSignals( true ); |
433 | mProfileBox->clear(); | 486 | mProfileBox->clear(); |
434 | mProfileBox->insertStringList (mSyncProfileNames ); | 487 | mProfileBox->insertStringList (mSyncProfileNames ); |
435 | int item = mSyncProfileNames.count() -1; | 488 | int item = mSyncProfileNames.count() -1; |
436 | if ( curItem >= 0 && mSyncProfileNames.count() > 0 && curItem < mSyncProfileNames.count() ) | 489 | if ( curItem >= 0 && mSyncProfileNames.count() > 0 && curItem < mSyncProfileNames.count() ) |
437 | mProfileBox->setCurrentItem( curItem ); | 490 | mProfileBox->setCurrentItem( curItem ); |
438 | else if ( item >= 0 ) { | 491 | else if ( item >= 0 ) { |
439 | mProfileBox->setCurrentItem( item ); | 492 | mProfileBox->setCurrentItem( item ); |
440 | } | 493 | } |
441 | currentSelection = -1; | 494 | currentSelection = -1; |
442 | if ( mSyncProfileNames.count() > 0 ) { | 495 | if ( mSyncProfileNames.count() > 0 ) { |
443 | //qDebug(" profileChanged( mProfileBox->currentItem() "); | 496 | //qDebug(" profileChanged( mProfileBox->currentItem() "); |
444 | profileChanged( mProfileBox->currentItem() ); | 497 | profileChanged( mProfileBox->currentItem() ); |
445 | currentSelection = mProfileBox->currentItem(); | 498 | currentSelection = mProfileBox->currentItem(); |
446 | } | 499 | } |
447 | mProfileBox->blockSignals( false ); | 500 | mProfileBox->blockSignals( false ); |
448 | } | 501 | } |
449 | 502 | ||
450 | void KSyncPrefsDialog::addProfile ( KSyncProfile* temp ) | 503 | void KSyncPrefsDialog::addProfile ( KSyncProfile* temp ) |
451 | { | 504 | { |
452 | saveProfile(); | 505 | saveProfile(); |
453 | mSyncProfiles.append( temp ); | 506 | mSyncProfiles.append( temp ); |
454 | mSyncProfileNames << temp->getName(); | 507 | mSyncProfileNames << temp->getName(); |
455 | insertProfiles(); | 508 | insertProfiles(); |
456 | int last = mProfileBox->count() -1; | 509 | int last = mProfileBox->count() -1; |
457 | mProfileBox->blockSignals( true ); | 510 | mProfileBox->blockSignals( true ); |
458 | mProfileBox->setCurrentItem( last ); | 511 | mProfileBox->setCurrentItem( last ); |
459 | mProfileBox->blockSignals( false ); | 512 | mProfileBox->blockSignals( false ); |
460 | profileChanged(last); | 513 | profileChanged(last); |
461 | } | 514 | } |
462 | void KSyncPrefsDialog::newProfile() | 515 | void KSyncPrefsDialog::newProfile() |
463 | { | 516 | { |
464 | addProfile ( new KSyncProfile () ); | 517 | addProfile ( new KSyncProfile () ); |
465 | } | 518 | } |
466 | 519 | ||
467 | void KSyncPrefsDialog::cloneProfile() | 520 | void KSyncPrefsDialog::cloneProfile() |
468 | { | 521 | { |
469 | if ( currentSelection >= 0 ) | 522 | if ( currentSelection >= 0 ) |
470 | addProfile (mSyncProfiles.at(currentSelection)->clone()) ; | 523 | addProfile (mSyncProfiles.at(currentSelection)->clone()) ; |
471 | else | 524 | else |
472 | newProfile(); | 525 | newProfile(); |
@@ -482,48 +535,81 @@ QString KSyncPrefsDialog::getLocalMachineName ( ) | |||
482 | return mMyMachineName->text(); | 535 | return mMyMachineName->text(); |
483 | } | 536 | } |
484 | 537 | ||
485 | QStringList KSyncPrefsDialog::getSyncProfileNames() | 538 | QStringList KSyncPrefsDialog::getSyncProfileNames() |
486 | { | 539 | { |
487 | return mSyncProfileNames; | 540 | return mSyncProfileNames; |
488 | } | 541 | } |
489 | void KSyncPrefsDialog::usrReadConfig() | 542 | void KSyncPrefsDialog::usrReadConfig() |
490 | { | 543 | { |
491 | //KConfig *config = KOGlobals::config(); | 544 | //KConfig *config = KOGlobals::config(); |
492 | KConfig config ( locateLocal( "config","syncprofilesrc" ) ); | 545 | KConfig config ( locateLocal( "config","syncprofilesrc" ) ); |
493 | config.setGroup("SyncProfiles"); | 546 | config.setGroup("SyncProfiles"); |
494 | mSyncProfileNames =config.readListEntry("SyncProfileNames"); | 547 | mSyncProfileNames =config.readListEntry("SyncProfileNames"); |
495 | mMyMachineName->setText(config.readEntry("LocalMachineName","undefined")); | 548 | mMyMachineName->setText(config.readEntry("LocalMachineName","undefined")); |
496 | int i; | 549 | int i; |
497 | KSyncProfile* temp ; | 550 | KSyncProfile* temp ; |
498 | mSyncProfiles.clear(); | 551 | mSyncProfiles.clear(); |
499 | for ( i = 0; i < mSyncProfileNames.count();++i ) { | 552 | for ( i = 0; i < mSyncProfileNames.count();++i ) { |
500 | temp = new KSyncProfile (); | 553 | temp = new KSyncProfile (); |
501 | temp->setName( mSyncProfileNames[i] ); | 554 | temp->setName( mSyncProfileNames[i] ); |
502 | temp->readConfig( &config ); | 555 | temp->readConfig( &config ); |
503 | mSyncProfiles.append( temp ); | 556 | mSyncProfiles.append( temp ); |
504 | } | 557 | } |
505 | insertProfiles(); | 558 | insertProfiles(); |
506 | //mMyMachineName->setText(KOPrefs::instance()->mLocalMachineName ); | 559 | //mMyMachineName->setText(KOPrefs::instance()->mLocalMachineName ); |
507 | } | 560 | } |
508 | 561 | ||
509 | 562 | ||
510 | void KSyncPrefsDialog::usrWriteConfig() | 563 | void KSyncPrefsDialog::usrWriteConfig() |
511 | { | 564 | { |
512 | saveProfile(); | 565 | saveProfile(); |
513 | if ( currentSelection >= 0 ) | 566 | if ( currentSelection >= 0 ) |
514 | profileChanged(currentSelection); | 567 | profileChanged(currentSelection); |
515 | //KConfig *config = KOGlobals::config(); | 568 | //KConfig *config = KOGlobals::config(); |
516 | KConfig config ( locateLocal( "config","syncprofilesrc" ) ); | 569 | KConfig config ( locateLocal( "config","syncprofilesrc" ) ); |
517 | config.setGroup("SyncProfiles"); | 570 | config.setGroup("SyncProfiles"); |
518 | KSyncProfile* prof = mSyncProfiles.first(); | 571 | KSyncProfile* prof = mSyncProfiles.first(); |
519 | while ( prof ) { | 572 | while ( prof ) { |
520 | prof->writeConfig(&config); | 573 | prof->writeConfig(&config); |
521 | prof = mSyncProfiles.next(); | 574 | prof = mSyncProfiles.next(); |
522 | } | 575 | } |
523 | //KOPrefs::instance()->mSyncProfileNames = mSyncProfileNames; | 576 | //KOPrefs::instance()->mSyncProfileNames = mSyncProfileNames; |
524 | //KOPrefs::instance()->mLocalMachineName = mMyMachineName->text(); | 577 | //KOPrefs::instance()->mLocalMachineName = mMyMachineName->text(); |
525 | config.writeEntry("SyncProfileNames",mSyncProfileNames); | 578 | config.writeEntry("SyncProfileNames",mSyncProfileNames); |
526 | QString name = mMyMachineName->text(); | 579 | QString name = mMyMachineName->text(); |
527 | config.writeEntry("LocalMachineName",name); | 580 | config.writeEntry("LocalMachineName",name); |
528 | } | 581 | } |
529 | 582 | ||
583 | void KSyncPrefsDialog::helpDevice() | ||
584 | { | ||
585 | QString hint = i18n("Insert device where\nphone is connected. E.g.:\n"); | ||
586 | #ifdef _WIN32_ | ||
587 | hint += "leave empty for Irda\n" | ||
588 | "com1:\n(first serial port)\n" | ||
589 | "usb not supported\n" | ||
590 | "???\n(bluetooth device address)\n"; | ||
591 | |||
592 | #else | ||
593 | hint += "/dev/ircomm\n(Irda)\n" | ||
594 | "/dev/ttyS0\n(first serial port)\n" | ||
595 | "/dev/ttyUSB0\n(first device usb port)\n" | ||
596 | "???\n(bluetooth device address)\n"; | ||
597 | #endif | ||
598 | KMessageBox::information(this,hint,i18n("KDE-Pim sync config")); | ||
599 | } | ||
600 | void KSyncPrefsDialog::helpModel() | ||
601 | { | ||
602 | QString hint = i18n("Leave empty or\ninsert name of phone model:\n"); | ||
603 | hint += "E.g. for Nokia 6310i:\n6310i\nAlso possible:\nobex\nfor Obex connection"; | ||
604 | KMessageBox::information(this,hint,i18n("KDE-Pim sync config")); | ||
605 | |||
606 | } | ||
607 | void KSyncPrefsDialog::helpConnection() | ||
608 | { | ||
609 | QString hint = i18n("Insert kind of connection,e.g.:\n"); | ||
610 | hint += "irda | Nokia FBUS over infrared\n" | ||
611 | "irdaat | AT commands infrared\n(Siemens/Sony-Erricsson)\n" | ||
612 | "irdaobex | set model obex\n" | ||
613 | "fbus | Nokia FBUS2 serial\n"; | ||
614 | KMessageBox::information(this,hint,i18n("KDE-Pim sync config")); | ||
615 | } | ||