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
@@ -1,620 +1,624 @@
1/* 1/*
2 This file is part of KOrganizer. 2 This file is part of KOrganizer.
3 Copyright (c) 2004 Lutz Rogowski <rogowski@kde.org> 3 Copyright (c) 2004 Lutz Rogowski <rogowski@kde.org>
4 4
5 This program is free software; you can redistribute it and/or modify 5 This program is free software; you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by 6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation; either version 2 of the License, or 7 the Free Software Foundation; either version 2 of the License, or
8 (at your option) any later version. 8 (at your option) any later version.
9 9
10 This program is distributed in the hope that it will be useful, 10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of 11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details. 13 GNU General Public License for more details.
14 14
15 You should have received a copy of the GNU General Public License 15 You should have received a copy of the GNU General Public License
16 along with this program; if not, write to the Free Software 16 along with this program; if not, write to the Free Software
17 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 17 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
18 18
19 As a special exception, permission is given to link this program 19 As a special exception, permission is given to link this program
20 with any edition of Qt, and distribute the resulting executable, 20 with any edition of Qt, and distribute the resulting executable,
21 without including the source code for Qt in the source distribution. 21 without including the source code for Qt in the source distribution.
22*/ 22*/
23 23
24#include <qlayout.h> 24#include <qlayout.h>
25#include <qlabel.h> 25#include <qlabel.h>
26#include <qgroupbox.h> 26#include <qgroupbox.h>
27#include <qbuttongroup.h> 27#include <qbuttongroup.h>
28#include <qlineedit.h> 28#include <qlineedit.h>
29#include <qfont.h> 29#include <qfont.h>
30#include <qslider.h> 30#include <qslider.h>
31#include <qfile.h> 31#include <qfile.h>
32#include <qdir.h> 32#include <qdir.h>
33#include <qtextstream.h> 33#include <qtextstream.h>
34#include <qcombobox.h> 34#include <qcombobox.h>
35#include <qvbox.h> 35#include <qvbox.h>
36#include <qhbox.h> 36#include <qhbox.h>
37#include <qspinbox.h> 37#include <qspinbox.h>
38#include <qdatetime.h> 38#include <qdatetime.h>
39#include <qcheckbox.h> 39#include <qcheckbox.h>
40#include <qradiobutton.h> 40#include <qradiobutton.h>
41#include <qpushbutton.h> 41#include <qpushbutton.h>
42#include <qstrlist.h> 42#include <qstrlist.h>
43#include <qapplication.h> 43#include <qapplication.h>
44#include <qlayout.h> 44#include <qlayout.h>
45#include <qscrollview.h> 45#include <qscrollview.h>
46 46
47#include <kcolorbutton.h> 47#include <kcolorbutton.h>
48#include <kdebug.h> 48#include <kdebug.h>
49#include <klocale.h> 49#include <klocale.h>
50#include <kglobal.h> 50#include <kglobal.h>
51#include <kfontdialog.h> 51#include <kfontdialog.h>
52#include <kmessagebox.h> 52#include <kmessagebox.h>
53#include <kcolordialog.h> 53#include <kcolordialog.h>
54#include <kiconloader.h> 54#include <kiconloader.h>
55#include <kemailsettings.h> 55#include <kemailsettings.h>
56#include <kstandarddirs.h> 56#include <kstandarddirs.h>
57#include <kfiledialog.h> 57#include <kfiledialog.h>
58#include <kmessagebox.h> 58#include <kmessagebox.h>
59 59
60//#include <kurlrequester.h> 60//#include <kurlrequester.h>
61#include <klineedit.h> 61#include <klineedit.h>
62#include "ksyncprofile.h" 62#include "ksyncprofile.h"
63 63
64 64
65//#include "koprefs.h" 65//#include "koprefs.h"
66 66
67#include "ksyncprefsdialog.h" 67#include "ksyncprefsdialog.h"
68//#include "koglobals.h" 68//#include "koglobals.h"
69 69
70 70
71KSyncPrefsDialog::KSyncPrefsDialog(QWidget *parent, char *name, bool modal) : 71KSyncPrefsDialog::KSyncPrefsDialog(QWidget *parent, char *name, bool modal) :
72 KDialog(parent,name,true) 72 KDialog(parent,name,true)
73{ 73{
74 74
75 setCaption( i18n("Synchronization Preferences")); 75 setCaption( i18n("Synchronization Preferences"));
76 76
77 mSyncProfiles.setAutoDelete( true ); 77 mSyncProfiles.setAutoDelete( true );
78 setupSyncAlgTab(); 78 setupSyncAlgTab();
79} 79}
80 80
81 81
82KSyncPrefsDialog::~KSyncPrefsDialog() 82KSyncPrefsDialog::~KSyncPrefsDialog()
83{ 83{
84} 84}
85 85
86void KSyncPrefsDialog::setupSyncAlgTab() 86void KSyncPrefsDialog::setupSyncAlgTab()
87{ 87{
88 QLabel * lab; 88 QLabel * lab;
89 //QFrame *page = addPage(i18n("Sync Prefs"),0,0); 89 //QFrame *page = addPage(i18n("Sync Prefs"),0,0);
90 QVBox * mainbox = new QVBox( this ); 90 QVBox * mainbox = new QVBox( this );
91 QScrollView* sv = new QScrollView( mainbox ); 91 QScrollView* sv = new QScrollView( mainbox );
92 QHBoxLayout * lay = new QHBoxLayout( this ); 92 QHBoxLayout * lay = new QHBoxLayout( this );
93 lay->addWidget( mainbox ); 93 lay->addWidget( mainbox );
94 QHBox * b_box = new QHBox( mainbox ); 94 QHBox * b_box = new QHBox( mainbox );
95 95
96 QPushButton* button = new QPushButton( i18n("Ok"), b_box ); 96 QPushButton* button = new QPushButton( i18n("Ok"), b_box );
97 connect ( button, SIGNAL( clicked()), this, SLOT (slotOK() ) ); 97 connect ( button, SIGNAL( clicked()), this, SLOT (slotOK() ) );
98 button = new QPushButton( i18n("Cancel"), b_box ); 98 button = new QPushButton( i18n("Cancel"), b_box );
99 connect ( button, SIGNAL( clicked()), this, SLOT (reject() ) ); 99 connect ( button, SIGNAL( clicked()), this, SLOT (reject() ) );
100 //QBoxLayout * sl = new QVBoxLayout(this ); 100 //QBoxLayout * sl = new QVBoxLayout(this );
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" ) );
570 KSyncProfile* prof = mSyncProfiles.first(); 574 KSyncProfile* prof = mSyncProfiles.first();
571 QStringList externalSyncProfileNames; 575 QStringList externalSyncProfileNames;
572 externalSyncProfileNames.append("Sharp_DTM");; 576 externalSyncProfileNames.append("Sharp_DTM");;
573 while ( prof ) { 577 while ( prof ) {
574 prof->writeConfig(&config); 578 prof->writeConfig(&config);
575 if ( prof->getIsPhoneSync( ) ) 579 if ( prof->getIsPhoneSync( ) )
576 externalSyncProfileNames.append(prof->getName( ) ); 580 externalSyncProfileNames.append(prof->getName( ) );
577 prof = mSyncProfiles.next(); 581 prof = mSyncProfiles.next();
578 } 582 }
579 //KOPrefs::instance()->mSyncProfileNames = mSyncProfileNames; 583 //KOPrefs::instance()->mSyncProfileNames = mSyncProfileNames;
580 //KOPrefs::instance()->mLocalMachineName = mMyMachineName->text(); 584 //KOPrefs::instance()->mLocalMachineName = mMyMachineName->text();
581 config.setGroup("General"); 585 config.setGroup("General");
582 config.writeEntry("SyncProfileNames",mSyncProfileNames); 586 config.writeEntry("SyncProfileNames",mSyncProfileNames);
583 config.writeEntry("ExternSyncProfiles",externalSyncProfileNames); 587 config.writeEntry("ExternSyncProfiles",externalSyncProfileNames);
584 config.writeEntry("LocalMachineName",mMyMachineName->text()); 588 config.writeEntry("LocalMachineName",mMyMachineName->text());
585 config.sync(); 589 config.sync();
586} 590}
587 591
588void KSyncPrefsDialog::helpDevice() 592void KSyncPrefsDialog::helpDevice()
589{ 593{
590 QString hint = i18n("Insert device where\nphone is connected. E.g.:\n"); 594 QString hint = i18n("Insert device where\nphone is connected. E.g.:\n");
591#ifdef _WIN32_ 595#ifdef _WIN32_
592 hint += "Leave empty for Irda.\n" 596 hint += "Leave empty for Irda.\n"
593 "com1:\n(first serial port)\n" 597 "com1:\n(first serial port)\n"
594 "usb not supported\n" 598 "usb not supported\n"
595 "???\n(bluetooth device address)\n"; 599 "???\n(bluetooth device address)\n";
596 600
597#else 601#else
598 hint += "/dev/ircomm\n(Irda)\n" 602 hint += "/dev/ircomm\n(Irda)\n"
599 "/dev/ttyS0\n(first serial port)\n" 603 "/dev/ttyS0\n(first serial port)\n"
600 "/dev/ttyUSB0\n(first device usb port)\n" 604 "/dev/ttyUSB0\n(first device usb port)\n"
601 "???\n(bluetooth device address)\n"; 605 "???\n(bluetooth device address)\n";
602#endif 606#endif
603 KMessageBox::information(this,hint,i18n("KDE-Pim sync config")); 607 KMessageBox::information(this,hint,i18n("KDE-Pim sync config"));
604} 608}
605void KSyncPrefsDialog::helpModel() 609void KSyncPrefsDialog::helpModel()
606{ 610{
607 QString hint = i18n("Leave empty or\ninsert name of phone model:\n"); 611 QString hint = i18n("Leave empty or\ninsert name of phone model:\n");
608 hint += "E.g. for Nokia 6310i:\n6310i\nAlso possible:\nobex\nfor Obex connection"; 612 hint += "E.g. for Nokia 6310i:\n6310i\nAlso possible:\nobex\nfor Obex connection";
609 KMessageBox::information(this,hint,i18n("KDE-Pim sync config")); 613 KMessageBox::information(this,hint,i18n("KDE-Pim sync config"));
610 614
611} 615}
612void KSyncPrefsDialog::helpConnection() 616void KSyncPrefsDialog::helpConnection()
613{ 617{
614 QString hint = i18n("Insert kind of connection,e.g.:\n"); 618 QString hint = i18n("Insert kind of connection,e.g.:\n");
615 hint += "irda | Nokia FBUS over infrared\n" 619 hint += "irda | Nokia FBUS over infrared\n"
616 "irdaat | AT commands infrared\n(for Siemens/Sony-Erricsson)\n" 620 "irdaat | AT commands infrared\n(for Siemens/Sony-Erricsson)\n"
617 "irdaobex | set also model as obex\n" 621 "irdaobex | set also model as obex\n"
618 "fbus | Nokia FBUS2 serial\n"; 622 "fbus | Nokia FBUS2 serial\n";
619 KMessageBox::information(this,hint,i18n("KDE-Pim sync config")); 623 KMessageBox::information(this,hint,i18n("KDE-Pim sync config"));
620} 624}