summaryrefslogtreecommitdiffabout
path: root/libkdepim/ksyncprefsdialog.cpp
Unidiff
Diffstat (limited to 'libkdepim/ksyncprefsdialog.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--libkdepim/ksyncprefsdialog.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/libkdepim/ksyncprefsdialog.cpp b/libkdepim/ksyncprefsdialog.cpp
index 857ceac..a1eebec 100644
--- a/libkdepim/ksyncprefsdialog.cpp
+++ b/libkdepim/ksyncprefsdialog.cpp
@@ -101,469 +101,473 @@ void KSyncPrefsDialog::setupSyncAlgTab()
101 //sl->addWidget ( sv ); 101 //sl->addWidget ( sv );
102 sv->setResizePolicy ( QScrollView::AutoOneFit ); 102 sv->setResizePolicy ( QScrollView::AutoOneFit );
103 QFrame *topFrame = new QFrame ( sv ); 103 QFrame *topFrame = new QFrame ( sv );
104 sv->addChild( topFrame ); 104 sv->addChild( topFrame );
105 mSetupSyncAlgTab = topFrame; 105 mSetupSyncAlgTab = topFrame;
106 QGridLayout *topLayout = new QGridLayout(topFrame,6,2); 106 QGridLayout *topLayout = new QGridLayout(topFrame,6,2);
107 topLayout->setSpacing(spacingHint()); 107 topLayout->setSpacing(spacingHint());
108 topLayout->setMargin(marginHint()); 108 topLayout->setMargin(marginHint());
109 109
110 //lab = new QLabel(i18n("Sync settings not yet implemented. DO NOT USE!"), topFrame); 110 //lab = new QLabel(i18n("Sync settings not yet implemented. DO NOT USE!"), topFrame);
111 int iii = 0; 111 int iii = 0;
112 //topLayout->addMultiCellWidget(lab , iii,iii,0,1); 112 //topLayout->addMultiCellWidget(lab , iii,iii,0,1);
113 //++iii; 113 //++iii;
114 114
115 mMyMachineName = new QLineEdit(topFrame); 115 mMyMachineName = new QLineEdit(topFrame);
116 lab = new QLabel(mMyMachineName, i18n("Local device name:"), topFrame); 116 lab = new QLabel(mMyMachineName, i18n("Local device name:"), topFrame);
117 topLayout->addWidget(lab ,iii,0); 117 topLayout->addWidget(lab ,iii,0);
118 topLayout->addWidget(mMyMachineName,iii,1); 118 topLayout->addWidget(mMyMachineName,iii,1);
119 ++iii; 119 ++iii;
120 120
121 QHBox* buttonbox = new QHBox( topFrame); 121 QHBox* buttonbox = new QHBox( topFrame);
122 topLayout->addMultiCellWidget(buttonbox, iii,iii,0,1); 122 topLayout->addMultiCellWidget(buttonbox, iii,iii,0,1);
123 ++iii; 123 ++iii;
124 button = new QPushButton( i18n("New profile"), buttonbox ); 124 button = new QPushButton( i18n("New profile"), buttonbox );
125 connect ( button, SIGNAL( clicked()), this, SLOT (newProfile() ) ); 125 connect ( button, SIGNAL( clicked()), this, SLOT (newProfile() ) );
126 126
127 button = new QPushButton( i18n("Clone profile"), buttonbox ); 127 button = new QPushButton( i18n("Clone profile"), buttonbox );
128 connect ( button, SIGNAL( clicked()), this, SLOT ( cloneProfile() ) ); 128 connect ( button, SIGNAL( clicked()), this, SLOT ( cloneProfile() ) );
129 129
130 button = new QPushButton( i18n("Delete profile"), buttonbox ); 130 button = new QPushButton( i18n("Delete profile"), buttonbox );
131 connect ( button, SIGNAL( clicked()), this, SLOT (deleteProfile() ) ); 131 connect ( button, SIGNAL( clicked()), this, SLOT (deleteProfile() ) );
132 132
133 mProfileBox = new QComboBox(topFrame); 133 mProfileBox = new QComboBox(topFrame);
134 mProfileBox->setEditable ( true ); 134 mProfileBox->setEditable ( true );
135 connect ( mProfileBox, SIGNAL(activated ( int ) ), this, SLOT (profileChanged( int ) ) ); 135 connect ( mProfileBox, SIGNAL(activated ( int ) ), this, SLOT (profileChanged( int ) ) );
136 connect ( mProfileBox, SIGNAL( textChanged ( const QString & ) ), this, SLOT (textChanged( const QString & ) ) ); 136 connect ( mProfileBox, SIGNAL( textChanged ( const QString & ) ), this, SLOT (textChanged( const QString & ) ) );
137 137
138 lab = new QLabel(mProfileBox, i18n("Profile:"), topFrame); 138 lab = new QLabel(mProfileBox, i18n("Profile:"), topFrame);
139 topLayout->addWidget(lab ,iii,0); 139 topLayout->addWidget(lab ,iii,0);
140 topLayout->addWidget(mProfileBox, iii,1); 140 topLayout->addWidget(mProfileBox, iii,1);
141 ++iii; 141 ++iii;
142 142
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 ); 191 mIsPhone = new QRadioButton ( i18n("Mobile device (cell phone)"), gr );
192 connect (mIsPhone, SIGNAL( toggled(bool)), this, SLOT (kindChanged(bool) ) ); 192 connect (mIsPhone, SIGNAL( toggled(bool)), this, SLOT (kindChanged(bool) ) );
193 193
194 194
195 phoneWidget = new QVBox( topFrame); 195 phoneWidget = new QVBox( topFrame);
196 topLayout->addMultiCellWidget(phoneWidget, iii,iii,0,1); 196 topLayout->addMultiCellWidget(phoneWidget, iii,iii,0,1);
197 ++iii; 197 ++iii;
198 mWriteContactToSIM= new QCheckBox( i18n("Sync contacts with phone SIM card (If not, sync with phone memory)"), phoneWidget );
198 QHBox* temphb = new QHBox( phoneWidget ); 199 QHBox* temphb = new QHBox( phoneWidget );
199 new QLabel( i18n("I/O device: "), temphb ); 200 new QLabel( i18n("I/O device: "), temphb );
200 mPhoneDevice = new QLineEdit( temphb); 201 mPhoneDevice = new QLineEdit( temphb);
201 button = new QPushButton( i18n("Help..."), temphb ); 202 button = new QPushButton( i18n("Help..."), temphb );
202 connect ( button, SIGNAL( clicked()), this, SLOT ( helpDevice() ) ); 203 connect ( button, SIGNAL( clicked()), this, SLOT ( helpDevice() ) );
203 204
204 205
205 temphb = new QHBox( phoneWidget ); 206 temphb = new QHBox( phoneWidget );
206 new QLabel( i18n("Connection: "), temphb ); 207 new QLabel( i18n("Connection: "), temphb );
207 mPhoneConnection = new QLineEdit( temphb); 208 mPhoneConnection = new QLineEdit( temphb);
208 button = new QPushButton( i18n("Help..."), temphb ); 209 button = new QPushButton( i18n("Help..."), temphb );
209 connect ( button, SIGNAL( clicked()), this, SLOT ( helpConnection() ) ); 210 connect ( button, SIGNAL( clicked()), this, SLOT ( helpConnection() ) );
210 211
211 212
212 temphb = new QHBox( phoneWidget ); 213 temphb = new QHBox( phoneWidget );
213 new QLabel( i18n("Model(opt.): "), temphb ); 214 new QLabel( i18n("Model(opt.): "), temphb );
214 mPhoneModel = new QLineEdit( temphb); 215 mPhoneModel = new QLineEdit( temphb);
215 button = new QPushButton( i18n("Help..."), temphb ); 216 button = new QPushButton( i18n("Help..."), temphb );
216 connect ( button, SIGNAL( clicked()), this, SLOT ( helpModel() ) ); 217 connect ( button, SIGNAL( clicked()), this, SLOT ( helpModel() ) );
217 218
218 // *** local 219 // *** local
219 localFileWidget = new QVBox( topFrame); 220 localFileWidget = new QVBox( topFrame);
220 topLayout->addMultiCellWidget(localFileWidget, iii,iii,0,1); 221 topLayout->addMultiCellWidget(localFileWidget, iii,iii,0,1);
221 ++iii; 222 ++iii;
222 temphb = new QHBox( localFileWidget ); 223 temphb = new QHBox( localFileWidget );
223 224
224 lab = new QLabel( i18n("Local file Cal:"), temphb ); 225 lab = new QLabel( i18n("Local file Cal:"), temphb );
225 lab = new QLabel( i18n("Local file ABook:"), temphb ); 226 lab = new QLabel( i18n("Local file ABook:"), temphb );
226 temphb = new QHBox( localFileWidget ); 227 temphb = new QHBox( localFileWidget );
227 button = new QPushButton( i18n("Choose..."), temphb ); 228 button = new QPushButton( i18n("Choose..."), temphb );
228 connect ( button, SIGNAL( clicked()), this, SLOT ( chooseFile() ) ); 229 connect ( button, SIGNAL( clicked()), this, SLOT ( chooseFile() ) );
229 button = new QPushButton( i18n("Choose..."), temphb ); 230 button = new QPushButton( i18n("Choose..."), temphb );
230 connect ( button, SIGNAL( clicked()), this, SLOT ( chooseFileAB() ) ); 231 connect ( button, SIGNAL( clicked()), this, SLOT ( chooseFileAB() ) );
231 temphb = new QHBox( localFileWidget ); 232 temphb = new QHBox( localFileWidget );
232 233
233 mRemoteFile = new QLineEdit( temphb); 234 mRemoteFile = new QLineEdit( temphb);
234 mRemoteFileAB = new QLineEdit( temphb); 235 mRemoteFileAB = new QLineEdit( temphb);
235 236
236 // *** remote 237 // *** remote
237 remoteFileWidget = new QVBox( topFrame); 238 remoteFileWidget = new QVBox( topFrame);
238 topLayout->addMultiCellWidget(remoteFileWidget, iii,iii,0,1); 239 topLayout->addMultiCellWidget(remoteFileWidget, iii,iii,0,1);
239 ++iii; 240 ++iii;
240 temphb = new QHBox( remoteFileWidget ); 241 temphb = new QHBox( remoteFileWidget );
241 new QLabel( i18n("Calendar:"), temphb); 242 new QLabel( i18n("Calendar:"), temphb);
242 new QLabel( i18n("AddressBook:"), temphb); 243 new QLabel( i18n("AddressBook:"), temphb);
243 244
244 lab = new QLabel( i18n("Pre sync (download) command:"), remoteFileWidget); 245 lab = new QLabel( i18n("Pre sync (download) command:"), remoteFileWidget);
245 temphb = new QHBox( remoteFileWidget ); 246 temphb = new QHBox( remoteFileWidget );
246 mRemotePrecommand = new QLineEdit(temphb); 247 mRemotePrecommand = new QLineEdit(temphb);
247 mRemotePrecommandAB = new QLineEdit(temphb); 248 mRemotePrecommandAB = new QLineEdit(temphb);
248 249
249 lab = new QLabel( i18n("Local temp file:"), remoteFileWidget); 250 lab = new QLabel( i18n("Local temp file:"), remoteFileWidget);
250 temphb = new QHBox( remoteFileWidget ); 251 temphb = new QHBox( remoteFileWidget );
251 mLocalTempFile = new QLineEdit(temphb); 252 mLocalTempFile = new QLineEdit(temphb);
252 mLocalTempFileAB = new QLineEdit(temphb); 253 mLocalTempFileAB = new QLineEdit(temphb);
253 254
254 lab = new QLabel( i18n("Post sync (upload) command:"), remoteFileWidget); 255 lab = new QLabel( i18n("Post sync (upload) command:"), remoteFileWidget);
255 temphb = new QHBox( remoteFileWidget ); 256 temphb = new QHBox( remoteFileWidget );
256 mRemotePostcommand = new QLineEdit(temphb ); 257 mRemotePostcommand = new QLineEdit(temphb );
257 mRemotePostcommandAB = new QLineEdit(temphb ); 258 mRemotePostcommandAB = new QLineEdit(temphb );
258 259
259 lab = new QLabel( i18n("Fill in default values for:"), remoteFileWidget); 260 lab = new QLabel( i18n("Fill in default values for:"), remoteFileWidget);
260 temphb = new QHBox( remoteFileWidget ); 261 temphb = new QHBox( remoteFileWidget );
261 button = new QPushButton( i18n("ssh/scp"), temphb ); 262 button = new QPushButton( i18n("ssh/scp"), temphb );
262 connect ( button, SIGNAL( clicked()), this, SLOT (fillSSH() ) ); 263 connect ( button, SIGNAL( clicked()), this, SLOT (fillSSH() ) );
263 button = new QPushButton( i18n("ftp"), temphb ); 264 button = new QPushButton( i18n("ftp"), temphb );
264 connect ( button, SIGNAL( clicked()), this, SLOT (fillFTP() ) ); 265 connect ( button, SIGNAL( clicked()), this, SLOT (fillFTP() ) );
265 lab = new QLabel( i18n("Hint: Use $PWD$ for placeholder of password!"), remoteFileWidget); 266 lab = new QLabel( i18n("Hint: Use $PWD$ for placeholder of password!"), remoteFileWidget);
266 267
267 268
268} 269}
269void KSyncPrefsDialog::slotOK() 270void KSyncPrefsDialog::slotOK()
270{ 271{
271 if ( mMyMachineName->text() == "undefined" ) { 272 if ( mMyMachineName->text() == "undefined" ) {
272 KMessageBox::error(this,i18n("Local device name undefined!\nPlease define device name!"),i18n("KO/Pi config error")); 273 KMessageBox::error(this,i18n("Local device name undefined!\nPlease define device name!"),i18n("KO/Pi config error"));
273 return; 274 return;
274 } 275 }
275 int i; 276 int i;
276 for (i = 0; i < mSyncProfileNames.count(); ++ i) { 277 for (i = 0; i < mSyncProfileNames.count(); ++ i) {
277 if ( mSyncProfileNames.contains( mSyncProfileNames[i]) > 1 ) { 278 if ( mSyncProfileNames.contains( mSyncProfileNames[i]) > 1 ) {
278 KMessageBox::error(this,i18n("Multiple profiles with same name!\nPlease use unique profile names!"),i18n("KO/Pi config error")); 279 KMessageBox::error(this,i18n("Multiple profiles with same name!\nPlease use unique profile names!"),i18n("KO/Pi config error"));
279 return; 280 return;
280 } 281 }
281 } 282 }
282 usrWriteConfig(); 283 usrWriteConfig();
283 QDialog::accept(); 284 QDialog::accept();
284} 285}
285void KSyncPrefsDialog::accept() 286void KSyncPrefsDialog::accept()
286{ 287{
287 slotOK(); 288 slotOK();
288} 289}
289void KSyncPrefsDialog::chooseFile() 290void KSyncPrefsDialog::chooseFile()
290{ 291{
291 QString fn = QDir::homeDirPath(); 292 QString fn = QDir::homeDirPath();
292 293
293 fn =KFileDialog:: getOpenFileName( fn, i18n("Sync filename(*.ics/*.vcs)"), this ); 294 fn =KFileDialog:: getOpenFileName( fn, i18n("Sync filename(*.ics/*.vcs)"), this );
294 if ( fn == "" ) 295 if ( fn == "" )
295 return; 296 return;
296 mRemoteFile->setText( fn ); 297 mRemoteFile->setText( fn );
297} 298}
298 299
299void KSyncPrefsDialog::chooseFileAB() 300void KSyncPrefsDialog::chooseFileAB()
300{ 301{
301 QString fn = QDir::homeDirPath(); 302 QString fn = QDir::homeDirPath();
302 303
303 fn =KFileDialog:: getOpenFileName( fn, i18n("Sync filename(*.ics/*.vcs)"), this ); 304 fn =KFileDialog:: getOpenFileName( fn, i18n("Sync filename(*.ics/*.vcs)"), this );
304 if ( fn == "" ) 305 if ( fn == "" )
305 return; 306 return;
306 mRemoteFileAB->setText( fn ); 307 mRemoteFileAB->setText( fn );
307} 308}
308 309
309void KSyncPrefsDialog::textChanged( const QString & s ) 310void KSyncPrefsDialog::textChanged( const QString & s )
310{ 311{
311 if ( mProfileBox->count() == 0 ) 312 if ( mProfileBox->count() == 0 )
312 return; 313 return;
313 if ( currentSelection < 3 ) { 314 if ( currentSelection < 3 ) {
314 //KMessageBox::error(this,i18n("This profil name\ncannot be edited!\n"),i18n("KO/Pi config error")); 315 //KMessageBox::error(this,i18n("This profil name\ncannot be edited!\n"),i18n("KO/Pi config error"));
315 mProfileBox->blockSignals( true ); 316 mProfileBox->blockSignals( true );
316 mProfileBox->setCurrentItem(mProfileBox-> currentItem ()); 317 mProfileBox->setCurrentItem(mProfileBox-> currentItem ());
317 mProfileBox->blockSignals( false ); 318 mProfileBox->blockSignals( false );
318 return; 319 return;
319 } 320 }
320 //qDebug("cur i %d ",mProfileBox-> currentItem () ); 321 //qDebug("cur i %d ",mProfileBox-> currentItem () );
321 mProfileBox->changeItem ( s, mProfileBox-> currentItem () ) ; 322 mProfileBox->changeItem ( s, mProfileBox-> currentItem () ) ;
322 KSyncProfile* prof = mSyncProfiles.at(mProfileBox-> currentItem ()) ; 323 KSyncProfile* prof = mSyncProfiles.at(mProfileBox-> currentItem ()) ;
323 prof->setName( s ); 324 prof->setName( s );
324 mSyncProfileNames[mProfileBox-> currentItem ()] = s; 325 mSyncProfileNames[mProfileBox-> currentItem ()] = s;
325} 326}
326void KSyncPrefsDialog::profileChanged( int item ) 327void KSyncPrefsDialog::profileChanged( int item )
327{ 328{
328 //qDebug("KSyncPrefsDialog::profileChanged %d ", item ); 329 //qDebug("KSyncPrefsDialog::profileChanged %d ", item );
329 KSyncProfile* prof; 330 KSyncProfile* prof;
330 saveProfile(); 331 saveProfile();
331 currentSelection = item; 332 currentSelection = item;
332 prof = mSyncProfiles.at(item) ; 333 prof = mSyncProfiles.at(item) ;
333 mRemotePrecommand->setText(prof->getPreSyncCommand()); 334 mRemotePrecommand->setText(prof->getPreSyncCommand());
334 mRemotePostcommand->setText(prof->getPostSyncCommand()); 335 mRemotePostcommand->setText(prof->getPostSyncCommand());
335 mLocalTempFile->setText(prof->getLocalTempFile()); 336 mLocalTempFile->setText(prof->getLocalTempFile());
336 mRemoteFile->setText(prof->getRemoteFileName()) ; 337 mRemoteFile->setText(prof->getRemoteFileName()) ;
337 338
338 mRemotePrecommandAB->setText(prof->getPreSyncCommandAB()); 339 mRemotePrecommandAB->setText(prof->getPreSyncCommandAB());
339 mRemotePostcommandAB->setText(prof->getPostSyncCommandAB()); 340 mRemotePostcommandAB->setText(prof->getPostSyncCommandAB());
340 mLocalTempFileAB->setText(prof->getLocalTempFileAB()); 341 mLocalTempFileAB->setText(prof->getLocalTempFileAB());
341 mRemoteFileAB->setText(prof->getRemoteFileNameAB()) ; 342 mRemoteFileAB->setText(prof->getRemoteFileNameAB()) ;
342 343
344 mWriteContactToSIM->setChecked( prof->getWriteContactToSIM());
343 mPhoneDevice->setText(prof->getPhoneDevice()); 345 mPhoneDevice->setText(prof->getPhoneDevice());
344 mPhoneConnection->setText(prof->getPhoneConnection()); 346 mPhoneConnection->setText(prof->getPhoneConnection());
345 mPhoneModel->setText(prof->getPhoneModel()); 347 mPhoneModel->setText(prof->getPhoneModel());
346 348
347 mShowSummaryAfterSync->setChecked( prof->getShowSummaryAfterSync()); 349 mShowSummaryAfterSync->setChecked( prof->getShowSummaryAfterSync());
348 mAskForPreferences->setChecked( prof->getAskForPreferences()); 350 mAskForPreferences->setChecked( prof->getAskForPreferences());
349 mWriteBackExisting->setChecked( prof->getWriteBackExisting() ); 351 mWriteBackExisting->setChecked( prof->getWriteBackExisting() );
350 mWriteBackFile->setChecked( prof->getWriteBackFile()); 352 mWriteBackFile->setChecked( prof->getWriteBackFile());
351 mIncludeInRing->setChecked( prof->getIncludeInRingSync() ); 353 mIncludeInRing->setChecked( prof->getIncludeInRingSync() );
352 mIncludeInRingAB->setChecked( prof->getIncludeInRingSyncAB() ); 354 mIncludeInRingAB->setChecked( prof->getIncludeInRingSyncAB() );
353 mWriteBackFuture->setChecked( prof->getWriteBackFuture()); 355 mWriteBackFuture->setChecked( prof->getWriteBackFuture());
354 mWriteBackFutureWeeks->setValue( prof->getWriteBackFutureWeeks() ); 356 mWriteBackFutureWeeks->setValue( prof->getWriteBackFutureWeeks() );
355 357
356 switch ( prof->getSyncPrefs() ) { 358 switch ( prof->getSyncPrefs() ) {
357 case 0: 359 case 0:
358 loc->setChecked( true); 360 loc->setChecked( true);
359 break; 361 break;
360 case 1: 362 case 1:
361 rem->setChecked( true ); 363 rem->setChecked( true );
362 break; 364 break;
363 case 2: 365 case 2:
364 newest->setChecked( true); 366 newest->setChecked( true);
365 break; 367 break;
366 case 3: 368 case 3:
367 ask->setChecked( true); 369 ask->setChecked( true);
368 break; 370 break;
369 case 4: 371 case 4:
370 f_loc->setChecked( true); 372 f_loc->setChecked( true);
371 break; 373 break;
372 case 5: 374 case 5:
373 f_rem->setChecked( true); 375 f_rem->setChecked( true);
374 break; 376 break;
375 case 6: 377 case 6:
376 //both->setChecked( true); 378 //both->setChecked( true);
377 break; 379 break;
378 default: 380 default:
379 break; 381 break;
380 } 382 }
381 mIsLocal->setChecked(prof->getIsLocalFileSync()) ; 383 mIsLocal->setChecked(prof->getIsLocalFileSync()) ;
382 mIsPhone->setChecked(prof->getIsPhoneSync()) ; 384 mIsPhone->setChecked(prof->getIsPhoneSync()) ;
383 mIsNotLocal->setChecked(!prof->getIsLocalFileSync() && !prof->getIsPhoneSync() ); 385 mIsNotLocal->setChecked(!prof->getIsLocalFileSync() && !prof->getIsPhoneSync() );
384 proGr->setEnabled( item > 2 ); 386 proGr->setEnabled( item > 2 );
385 if ( item < 3 ) { 387 if ( item < 3 ) {
386 localFileWidget->hide(); 388 localFileWidget->hide();
387 remoteFileWidget->hide(); 389 remoteFileWidget->hide();
388 phoneWidget->hide(); 390 phoneWidget->hide();
389 391
390 } else 392 } else
391 kindChanged( prof->getIsLocalFileSync() ); 393 kindChanged( prof->getIsLocalFileSync() );
392} 394}
393 395
394void KSyncPrefsDialog::fillSSH() 396void KSyncPrefsDialog::fillSSH()
395{ 397{
396 mRemotePrecommand->setText("scp zaurus@192.168.0.65:/home/zaurus/kdepim/apps/korganizer/mycalendar.ics /tmp/mycalendar.ics" ); 398 mRemotePrecommand->setText("scp zaurus@192.168.0.65:/home/zaurus/kdepim/apps/korganizer/mycalendar.ics /tmp/mycalendar.ics" );
397 mLocalTempFile->setText("/tmp/mycalendar.ics" ); 399 mLocalTempFile->setText("/tmp/mycalendar.ics" );
398 mRemotePostcommand->setText("scp /tmp/mycalendar.ics zaurus@192.168.0.65:/home/zaurus/kdepim/apps/korganizer/mycalendar.ics" ); 400 mRemotePostcommand->setText("scp /tmp/mycalendar.ics zaurus@192.168.0.65:/home/zaurus/kdepim/apps/korganizer/mycalendar.ics" );
399 mRemotePrecommandAB->setText("scp zaurus@192.168.0.65:/home/zaurus/kdepim/apps/kabc/std.vcf /tmp/std.vcf" ); 401 mRemotePrecommandAB->setText("scp zaurus@192.168.0.65:/home/zaurus/kdepim/apps/kabc/std.vcf /tmp/std.vcf" );
400 mLocalTempFileAB->setText("/tmp/std.vcf" ); 402 mLocalTempFileAB->setText("/tmp/std.vcf" );
401 mRemotePostcommandAB->setText("scp /tmp/std.vcf zaurus@192.168.0.65:/home/zaurus/kdepim/apps/kabc/std.vcf" ); 403 mRemotePostcommandAB->setText("scp /tmp/std.vcf zaurus@192.168.0.65:/home/zaurus/kdepim/apps/kabc/std.vcf" );
402} 404}
403void KSyncPrefsDialog::fillFTP() 405void KSyncPrefsDialog::fillFTP()
404{ 406{
405 mRemotePrecommand->setText("cd /tmp;ftp ftp://zaurus:a@192.168.0.65/kdepim/apps/korganizer/mycalendar.ics" ); 407 mRemotePrecommand->setText("cd /tmp;ftp ftp://zaurus:a@192.168.0.65/kdepim/apps/korganizer/mycalendar.ics" );
406 mLocalTempFile->setText("/tmp/mycalendar.ics" ); 408 mLocalTempFile->setText("/tmp/mycalendar.ics" );
407 mRemotePostcommand->setText("ftp -u ftp://zaurus:a@192.168.0.65/kdepim/apps/korganizer/mycalendar.ics /tmp/mycalendar.ics" ); 409 mRemotePostcommand->setText("ftp -u ftp://zaurus:a@192.168.0.65/kdepim/apps/korganizer/mycalendar.ics /tmp/mycalendar.ics" );
408 mRemotePrecommandAB->setText("cd /tmp;ftp ftp://zaurus:a@192.168.0.65/kdepim/apps/kabc/std.vcf" ); 410 mRemotePrecommandAB->setText("cd /tmp;ftp ftp://zaurus:a@192.168.0.65/kdepim/apps/kabc/std.vcf" );
409 mLocalTempFileAB->setText("/tmp/std.vcf" ); 411 mLocalTempFileAB->setText("/tmp/std.vcf" );
410 mRemotePostcommandAB->setText("ftp -u ftp://zaurus:a@192.168.0.65/kdepim/apps/kabc/std.vcf /tmp/std.vcf" ); 412 mRemotePostcommandAB->setText("ftp -u ftp://zaurus:a@192.168.0.65/kdepim/apps/kabc/std.vcf /tmp/std.vcf" );
411 413
412} 414}
413void KSyncPrefsDialog::kindChanged( bool b ) 415void KSyncPrefsDialog::kindChanged( bool b )
414{ 416{
415 417
416 if ( mIsLocal->isChecked () ) 418 if ( mIsLocal->isChecked () )
417 localFileWidget->show(); 419 localFileWidget->show();
418 else 420 else
419 localFileWidget->hide(); 421 localFileWidget->hide();
420 422
421 if ( mIsNotLocal->isChecked () ) 423 if ( mIsNotLocal->isChecked () )
422 remoteFileWidget->show(); 424 remoteFileWidget->show();
423 else 425 else
424 remoteFileWidget->hide(); 426 remoteFileWidget->hide();
425 427
426 if ( mIsPhone->isChecked () ) { 428 if ( mIsPhone->isChecked () ) {
427 phoneWidget->show(); 429 phoneWidget->show();
428 } 430 }
429 else { 431 else {
430 phoneWidget->hide(); 432 phoneWidget->hide();
431 } 433 }
432 434
433} 435}
434void KSyncPrefsDialog::deleteProfile() 436void KSyncPrefsDialog::deleteProfile()
435{ 437{
436 //qDebug("KSyncPrefsDialog::deleteProfile() "); 438 //qDebug("KSyncPrefsDialog::deleteProfile() ");
437 if ( currentSelection >= 0 ) { 439 if ( currentSelection >= 0 ) {
438 if ( currentSelection < 3 ) { 440 if ( currentSelection < 3 ) {
439 KMessageBox::error(this,i18n("This profil cannot be deleted!\n"),i18n("KO/Pi config error")); 441 KMessageBox::error(this,i18n("This profil cannot be deleted!\n"),i18n("KO/Pi config error"));
440 return; 442 return;
441 } 443 }
442 KSyncProfile* temp = mSyncProfiles.at(currentSelection); 444 KSyncProfile* temp = mSyncProfiles.at(currentSelection);
443 mSyncProfiles.remove( temp ); 445 mSyncProfiles.remove( temp );
444 mSyncProfileNames.remove( mSyncProfileNames.at( currentSelection )); 446 mSyncProfileNames.remove( mSyncProfileNames.at( currentSelection ));
445 insertProfiles(); 447 insertProfiles();
446 } 448 }
447} 449}
448 450
449void KSyncPrefsDialog::saveProfile() 451void KSyncPrefsDialog::saveProfile()
450{ 452{
451 KSyncProfile* prof; 453 KSyncProfile* prof;
452 if ( currentSelection >= 0 ) { 454 if ( currentSelection >= 0 ) {
453 prof = mSyncProfiles.at(currentSelection) ; 455 prof = mSyncProfiles.at(currentSelection) ;
454 prof->setPreSyncCommand( mRemotePrecommand->text()); 456 prof->setPreSyncCommand( mRemotePrecommand->text());
455 prof->setPostSyncCommand( mRemotePostcommand->text() ); 457 prof->setPostSyncCommand( mRemotePostcommand->text() );
456 prof->setLocalTempFile( mLocalTempFile->text()); 458 prof->setLocalTempFile( mLocalTempFile->text());
457 prof->setRemoteFileName( mRemoteFile->text() ); 459 prof->setRemoteFileName( mRemoteFile->text() );
458 prof->setPreSyncCommandAB( mRemotePrecommandAB->text()); 460 prof->setPreSyncCommandAB( mRemotePrecommandAB->text());
459 prof->setPostSyncCommandAB( mRemotePostcommandAB->text() ); 461 prof->setPostSyncCommandAB( mRemotePostcommandAB->text() );
460 prof->setLocalTempFileAB( mLocalTempFileAB->text()); 462 prof->setLocalTempFileAB( mLocalTempFileAB->text());
461 prof->setRemoteFileNameAB( mRemoteFileAB->text() ); 463 prof->setRemoteFileNameAB( mRemoteFileAB->text() );
462 prof->setShowSummaryAfterSync( mShowSummaryAfterSync->isChecked() ); 464 prof->setShowSummaryAfterSync( mShowSummaryAfterSync->isChecked() );
463 prof->setAskForPreferences( mAskForPreferences->isChecked()); 465 prof->setAskForPreferences( mAskForPreferences->isChecked());
464 prof->setWriteBackExisting(mWriteBackExisting->isChecked() ); 466 prof->setWriteBackExisting(mWriteBackExisting->isChecked() );
465 prof->setWriteBackFile( mWriteBackFile->isChecked()); 467 prof->setWriteBackFile( mWriteBackFile->isChecked());
466 prof->setIncludeInRingSync( mIncludeInRing->isChecked() ); 468 prof->setIncludeInRingSync( mIncludeInRing->isChecked() );
467 prof->setIncludeInRingSyncAB( mIncludeInRingAB->isChecked() ); 469 prof->setIncludeInRingSyncAB( mIncludeInRingAB->isChecked() );
468 int syncprefs = rem->isChecked()*1+newest->isChecked()*2+ ask->isChecked()*3+ f_loc->isChecked()*4+ f_rem->isChecked()*5 ;//+ both->isChecked()*6 ; 470 int syncprefs = rem->isChecked()*1+newest->isChecked()*2+ ask->isChecked()*3+ f_loc->isChecked()*4+ f_rem->isChecked()*5 ;//+ both->isChecked()*6 ;
469 prof->setSyncPrefs( syncprefs); 471 prof->setSyncPrefs( syncprefs);
470 prof->setIsLocalFileSync( mIsLocal->isChecked() ); 472 prof->setIsLocalFileSync( mIsLocal->isChecked() );
471 prof->setIsPhoneSync( mIsPhone->isChecked() ); 473 prof->setIsPhoneSync( mIsPhone->isChecked() );
472 prof->setWriteBackFuture(mWriteBackFuture->isChecked()); 474 prof->setWriteBackFuture(mWriteBackFuture->isChecked());
473 prof->setWriteBackFutureWeeks(mWriteBackFutureWeeks->value()); 475 prof->setWriteBackFutureWeeks(mWriteBackFutureWeeks->value());
476
477 prof->setWriteContactToSIM(mWriteContactToSIM->isChecked());
474 prof->setPhoneDevice( mPhoneDevice->text() ); 478 prof->setPhoneDevice( mPhoneDevice->text() );
475 prof->setPhoneConnection( mPhoneConnection->text() ); 479 prof->setPhoneConnection( mPhoneConnection->text() );
476 prof->setPhoneModel( mPhoneModel->text() ); 480 prof->setPhoneModel( mPhoneModel->text() );
477 481
478 } 482 }
479 483
480} 484}
481 485
482void KSyncPrefsDialog::insertProfiles() 486void KSyncPrefsDialog::insertProfiles()
483{ 487{
484 int curItem = mProfileBox->currentItem(); 488 int curItem = mProfileBox->currentItem();
485 mProfileBox->blockSignals( true ); 489 mProfileBox->blockSignals( true );
486 mProfileBox->clear(); 490 mProfileBox->clear();
487 mProfileBox->insertStringList (mSyncProfileNames ); 491 mProfileBox->insertStringList (mSyncProfileNames );
488 int item = mSyncProfileNames.count() -1; 492 int item = mSyncProfileNames.count() -1;
489 if ( curItem >= 0 && mSyncProfileNames.count() > 0 && curItem < mSyncProfileNames.count() ) 493 if ( curItem >= 0 && mSyncProfileNames.count() > 0 && curItem < mSyncProfileNames.count() )
490 mProfileBox->setCurrentItem( curItem ); 494 mProfileBox->setCurrentItem( curItem );
491 else if ( item >= 0 ) { 495 else if ( item >= 0 ) {
492 mProfileBox->setCurrentItem( item ); 496 mProfileBox->setCurrentItem( item );
493 } 497 }
494 currentSelection = -1; 498 currentSelection = -1;
495 if ( mSyncProfileNames.count() > 0 ) { 499 if ( mSyncProfileNames.count() > 0 ) {
496 //qDebug(" profileChanged( mProfileBox->currentItem() "); 500 //qDebug(" profileChanged( mProfileBox->currentItem() ");
497 profileChanged( mProfileBox->currentItem() ); 501 profileChanged( mProfileBox->currentItem() );
498 currentSelection = mProfileBox->currentItem(); 502 currentSelection = mProfileBox->currentItem();
499 } 503 }
500 mProfileBox->blockSignals( false ); 504 mProfileBox->blockSignals( false );
501} 505}
502 506
503void KSyncPrefsDialog::addProfile ( KSyncProfile* temp ) 507void KSyncPrefsDialog::addProfile ( KSyncProfile* temp )
504{ 508{
505 saveProfile(); 509 saveProfile();
506 mSyncProfiles.append( temp ); 510 mSyncProfiles.append( temp );
507 mSyncProfileNames << temp->getName(); 511 mSyncProfileNames << temp->getName();
508 insertProfiles(); 512 insertProfiles();
509 int last = mProfileBox->count() -1; 513 int last = mProfileBox->count() -1;
510 mProfileBox->blockSignals( true ); 514 mProfileBox->blockSignals( true );
511 mProfileBox->setCurrentItem( last ); 515 mProfileBox->setCurrentItem( last );
512 mProfileBox->blockSignals( false ); 516 mProfileBox->blockSignals( false );
513 profileChanged(last); 517 profileChanged(last);
514} 518}
515void KSyncPrefsDialog::newProfile() 519void KSyncPrefsDialog::newProfile()
516{ 520{
517 addProfile ( new KSyncProfile () ); 521 addProfile ( new KSyncProfile () );
518} 522}
519 523
520void KSyncPrefsDialog::cloneProfile() 524void KSyncPrefsDialog::cloneProfile()
521{ 525{
522 if ( currentSelection >= 0 ) 526 if ( currentSelection >= 0 )
523 addProfile (mSyncProfiles.at(currentSelection)->clone()) ; 527 addProfile (mSyncProfiles.at(currentSelection)->clone()) ;
524 else 528 else
525 newProfile(); 529 newProfile();
526} 530}
527 531
528void KSyncPrefsDialog::setLocalMachineName ( const QString& name ) 532void KSyncPrefsDialog::setLocalMachineName ( const QString& name )
529{ 533{
530 mMyMachineName->setText( name ); 534 mMyMachineName->setText( name );
531 535
532} 536}
533QString KSyncPrefsDialog::getLocalMachineName ( ) 537QString KSyncPrefsDialog::getLocalMachineName ( )
534{ 538{
535 return mMyMachineName->text(); 539 return mMyMachineName->text();
536} 540}
537 541
538QStringList KSyncPrefsDialog::getSyncProfileNames() 542QStringList KSyncPrefsDialog::getSyncProfileNames()
539{ 543{
540 return mSyncProfileNames; 544 return mSyncProfileNames;
541} 545}
542void KSyncPrefsDialog::usrReadConfig() 546void KSyncPrefsDialog::usrReadConfig()
543{ 547{
544 //KConfig *config = KOGlobals::config(); 548 //KConfig *config = KOGlobals::config();
545 KConfig config ( locateLocal( "config","ksyncprofilesrc" ) ); 549 KConfig config ( locateLocal( "config","ksyncprofilesrc" ) );
546 config.setGroup("General"); 550 config.setGroup("General");
547 mSyncProfileNames =config.readListEntry("SyncProfileNames"); 551 mSyncProfileNames =config.readListEntry("SyncProfileNames");
548 mMyMachineName->setText(config.readEntry("LocalMachineName","undefined")); 552 mMyMachineName->setText(config.readEntry("LocalMachineName","undefined"));
549 int i; 553 int i;
550 KSyncProfile* temp ; 554 KSyncProfile* temp ;
551 mSyncProfiles.clear(); 555 mSyncProfiles.clear();
552 for ( i = 0; i < mSyncProfileNames.count();++i ) { 556 for ( i = 0; i < mSyncProfileNames.count();++i ) {
553 temp = new KSyncProfile (); 557 temp = new KSyncProfile ();
554 temp->setName( mSyncProfileNames[i] ); 558 temp->setName( mSyncProfileNames[i] );
555 temp->readConfig( &config ); 559 temp->readConfig( &config );
556 mSyncProfiles.append( temp ); 560 mSyncProfiles.append( temp );
557 } 561 }
558 insertProfiles(); 562 insertProfiles();
559 //mMyMachineName->setText(KOPrefs::instance()->mLocalMachineName ); 563 //mMyMachineName->setText(KOPrefs::instance()->mLocalMachineName );
560} 564}
561 565
562 566
563void KSyncPrefsDialog::usrWriteConfig() 567void KSyncPrefsDialog::usrWriteConfig()
564{ 568{
565 saveProfile(); 569 saveProfile();
566 if ( currentSelection >= 0 ) 570 if ( currentSelection >= 0 )
567 profileChanged(currentSelection); 571 profileChanged(currentSelection);
568 //KConfig *config = KOGlobals::config(); 572 //KConfig *config = KOGlobals::config();
569 KConfig config ( locateLocal( "config","ksyncprofilesrc" ) ); 573 KConfig config ( locateLocal( "config","ksyncprofilesrc" ) );