author | zautrix <zautrix> | 2004-09-15 06:15:59 (UTC) |
---|---|---|
committer | zautrix <zautrix> | 2004-09-15 06:15:59 (UTC) |
commit | 35b8948c6c203473866c74f1d13185a848454e04 (patch) (unidiff) | |
tree | b6d8eca9863cbca8e24d474d8c895065faa17458 /kmicromail/koprefsdialog.cpp~ | |
parent | f1f43030eefa765950cb501aece6cc71fb4e9859 (diff) | |
download | kdepimpi-35b8948c6c203473866c74f1d13185a848454e04.zip kdepimpi-35b8948c6c203473866c74f1d13185a848454e04.tar.gz kdepimpi-35b8948c6c203473866c74f1d13185a848454e04.tar.bz2 |
Mail config added
Diffstat (limited to 'kmicromail/koprefsdialog.cpp~') (more/less context) (ignore whitespace changes)
-rw-r--r-- | kmicromail/koprefsdialog.cpp~ | 1609 |
1 files changed, 1609 insertions, 0 deletions
diff --git a/kmicromail/koprefsdialog.cpp~ b/kmicromail/koprefsdialog.cpp~ new file mode 100644 index 0000000..5ba4817 --- a/dev/null +++ b/kmicromail/koprefsdialog.cpp~ | |||
@@ -0,0 +1,1609 @@ | |||
1 | /* | ||
2 | This file is part of KOrganizer. | ||
3 | Copyright (c) 2000,2001 Cornelius Schumacher <schumacher@kde.org> | ||
4 | |||
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 | ||
7 | the Free Software Foundation; either version 2 of the License, or | ||
8 | (at your option) any later version. | ||
9 | |||
10 | This program is distributed in the hope that it will be useful, | ||
11 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
13 | GNU General Public License for more details. | ||
14 | |||
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 | ||
17 | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | ||
18 | |||
19 | As a special exception, permission is given to link this program | ||
20 | with any edition of Qt, and distribute the resulting executable, | ||
21 | without including the source code for Qt in the source distribution. | ||
22 | */ | ||
23 | |||
24 | #include <qlayout.h> | ||
25 | #include <qlabel.h> | ||
26 | #include <qgroupbox.h> | ||
27 | #include <qbuttongroup.h> | ||
28 | #include <qlineedit.h> | ||
29 | #include <qfont.h> | ||
30 | #include <qslider.h> | ||
31 | #include <qfile.h> | ||
32 | #include <qtextstream.h> | ||
33 | #include <qcombobox.h> | ||
34 | #include <qvbox.h> | ||
35 | #include <qhbox.h> | ||
36 | #include <qregexp.h> | ||
37 | #include <qspinbox.h> | ||
38 | #include <qdatetime.h> | ||
39 | #include <qcheckbox.h> | ||
40 | #include <qradiobutton.h> | ||
41 | #include <qpushbutton.h> | ||
42 | #include <qstrlist.h> | ||
43 | #include <qapplication.h> | ||
44 | |||
45 | #include <kcolorbutton.h> | ||
46 | #include <kdebug.h> | ||
47 | #include <klocale.h> | ||
48 | #include <kglobal.h> | ||
49 | #include <kfontdialog.h> | ||
50 | #include <kfiledialog.h> | ||
51 | #include <kmessagebox.h> | ||
52 | #include <kcolordialog.h> | ||
53 | #include <kiconloader.h> | ||
54 | #include <kemailsettings.h> | ||
55 | #include <kstandarddirs.h> | ||
56 | |||
57 | #include <kurlrequester.h> | ||
58 | #include <klineedit.h> | ||
59 | |||
60 | #if defined(USE_SOLARIS) | ||
61 | #include <sys/param.h> | ||
62 | |||
63 | #define ZONEINFODIR "/usr/share/lib/zoneinfo" | ||
64 | #define INITFILE "/etc/default/init" | ||
65 | #endif | ||
66 | |||
67 | #include "koprefs.h" | ||
68 | |||
69 | #include "koprefsdialog.h" | ||
70 | |||
71 | |||
72 | KOPrefsDialog::KOPrefsDialog(QWidget *parent, char *name, bool modal) : | ||
73 | KPrefsDialog(KOPrefs::instance(),parent,name,true) | ||
74 | { | ||
75 | |||
76 | setCaption( i18n("Preferences - some settings need a restart (nr)")); | ||
77 | mCategoryDict.setAutoDelete(true); | ||
78 | |||
79 | KGlobal::locale()->insertCatalogue("timezones"); | ||
80 | |||
81 | setupMainTab(); | ||
82 | setupLocaleTab(); | ||
83 | setupTimeZoneTab(); | ||
84 | setupTimeTab(); | ||
85 | setupLocaleDateTab(); | ||
86 | setupFontsTab(); | ||
87 | setupColorsTab(); | ||
88 | setupViewsTab(); | ||
89 | //setupSyncTab(); | ||
90 | //setupSyncAlgTab(); | ||
91 | //setupPrinterTab(); | ||
92 | //setupGroupSchedulingTab(); | ||
93 | //setupGroupAutomationTab(); | ||
94 | } | ||
95 | |||
96 | |||
97 | KOPrefsDialog::~KOPrefsDialog() | ||
98 | { | ||
99 | } | ||
100 | |||
101 | void KOPrefsDialog::setupLocaleDateTab() | ||
102 | { | ||
103 | QFrame *topFrame = addPage(i18n("Date Format"),0,0); | ||
104 | QGridLayout *topLayout = new QGridLayout(topFrame,3,2); | ||
105 | topLayout->setSpacing(spacingHint()); | ||
106 | topLayout->setMargin(marginHint()); | ||
107 | int iii = 0; | ||
108 | |||
109 | |||
110 | KPrefsWidRadios *syncPrefsGroup = | ||
111 | addWidRadios(i18n("Date Format:"),&(KOPrefs::instance()->mPreferredDate),topFrame); | ||
112 | QString format; | ||
113 | if ( QApplication::desktop()->width() < 480 ) | ||
114 | format = "(%d.%m.%Y)"; | ||
115 | else | ||
116 | format = "(%d.%m.%Y|%A %d %B %Y)"; | ||
117 | syncPrefsGroup->addRadio(i18n("24.03.2004 "+format)); | ||
118 | if ( QApplication::desktop()->width() < 480 ) | ||
119 | format = "(%m.%d.%Y)"; | ||
120 | else | ||
121 | format = "(%m.%d.%Y|%A %B %d %Y)"; | ||
122 | syncPrefsGroup->addRadio(i18n("03.24.2004 "+format)); | ||
123 | if ( QApplication::desktop()->width() < 480 ) | ||
124 | format = "(%Y-%m-%d)"; | ||
125 | else | ||
126 | format = "(%Y-%m-%d|%A %Y %B %d)"; | ||
127 | syncPrefsGroup->addRadio(i18n("2004-03-24 "+format)); | ||
128 | syncPrefsGroup->addRadio(i18n("User defined")); | ||
129 | topLayout->addMultiCellWidget( syncPrefsGroup->groupBox(),iii,iii,0,1); | ||
130 | ++iii; | ||
131 | ++iii; | ||
132 | QLabel * lab; | ||
133 | mUserDateFormatLong = new QLineEdit(topFrame); | ||
134 | lab = new QLabel(mUserDateFormatLong, i18n("User long date:"), topFrame); | ||
135 | topLayout->addWidget(lab ,iii,0); | ||
136 | topLayout->addWidget(mUserDateFormatLong,iii,1); | ||
137 | ++iii; | ||
138 | mUserDateFormatShort = new QLineEdit(topFrame); | ||
139 | lab = new QLabel(mUserDateFormatShort, i18n("User short date:"), topFrame); | ||
140 | topLayout->addWidget(lab ,iii,0); | ||
141 | topLayout->addWidget(mUserDateFormatShort,iii,1); | ||
142 | ++iii; | ||
143 | lab = new QLabel( i18n("Monday 19 April 2004: %A %d %B %Y"), topFrame); | ||
144 | topLayout->addMultiCellWidget(lab ,iii,iii,0,1); | ||
145 | ++iii; | ||
146 | lab = new QLabel( i18n("Mon 19.04.04: %a %d.%m.%y"), topFrame); | ||
147 | topLayout->addMultiCellWidget(lab ,iii,iii,0,1); | ||
148 | ++iii; | ||
149 | lab = new QLabel( i18n("Mon, 19.Apr.04: %a, %d.%b.%y"), topFrame); | ||
150 | topLayout->addMultiCellWidget(lab ,iii,iii,0,1); | ||
151 | ++iii; | ||
152 | |||
153 | } | ||
154 | |||
155 | void KOPrefsDialog::setupLocaleTab() | ||
156 | { | ||
157 | QFrame *topFrame = addPage(i18n("Locale"),0,0); | ||
158 | QGridLayout *topLayout = new QGridLayout(topFrame,4,2); | ||
159 | topLayout->setSpacing(spacingHint()); | ||
160 | topLayout->setMargin(marginHint()); | ||
161 | int iii = 0; | ||
162 | KPrefsWidRadios *syncPrefsGroup = | ||
163 | addWidRadios(i18n("Language:(needs restart)"),&(KOPrefs::instance()->mPreferredLanguage),topFrame); | ||
164 | syncPrefsGroup->addRadio(i18n("English")); | ||
165 | syncPrefsGroup->addRadio(i18n("German")); | ||
166 | syncPrefsGroup->addRadio(i18n("French")); | ||
167 | syncPrefsGroup->addRadio(i18n("User defined (usertranslation.txt)")); | ||
168 | if ( QApplication::desktop()->width() < 300 ) | ||
169 | ;// syncPrefsGroup->groupBox()-> setOrientation (Qt::Vertical); | ||
170 | topLayout->addMultiCellWidget( syncPrefsGroup->groupBox(),iii,iii,0,1); | ||
171 | ++iii; | ||
172 | |||
173 | syncPrefsGroup = | ||
174 | addWidRadios(i18n("Time Format(nr):"),&(KOPrefs::instance()->mPreferredTime),topFrame); | ||
175 | if ( QApplication::desktop()->width() > 300 ) | ||
176 | syncPrefsGroup->groupBox()-> setOrientation (Qt::Vertical); | ||
177 | syncPrefsGroup->addRadio(i18n("24:00")); | ||
178 | syncPrefsGroup->addRadio(i18n("12:00am")); | ||
179 | syncPrefsGroup->groupBox()-> setOrientation (Qt::Vertical); | ||
180 | topLayout->addMultiCellWidget( syncPrefsGroup->groupBox(),iii,iii,0,1); | ||
181 | ++iii; | ||
182 | KPrefsWidBool *sb; | ||
183 | if ( QApplication::desktop()->width() < 300 ) { | ||
184 | sb = | ||
185 | addWidBool(i18n("Week starts on Sunday"), | ||
186 | &(KOPrefs::instance()->mWeekStartsOnSunday),topFrame); | ||
187 | topLayout->addMultiCellWidget(sb->checkBox(), iii,iii,0,1); | ||
188 | ++iii; | ||
189 | sb = | ||
190 | addWidBool(i18n("Use short date in (WN/E) view"), | ||
191 | &(KOPrefs::instance()->mShortDateInViewer),topFrame); | ||
192 | topLayout->addMultiCellWidget(sb->checkBox(), iii,iii,0,1); | ||
193 | } | ||
194 | else { | ||
195 | QWidget * hb = new QWidget( topFrame ); | ||
196 | QHBoxLayout *hbLayout = new QHBoxLayout(hb); | ||
197 | sb = | ||
198 | addWidBool(i18n("Week starts on Sunday"), | ||
199 | &(KOPrefs::instance()->mWeekStartsOnSunday),hb); | ||
200 | hbLayout->addWidget(sb->checkBox() ); | ||
201 | sb = | ||
202 | addWidBool(i18n("Use short date in (WN/E) view"), | ||
203 | &(KOPrefs::instance()->mShortDateInViewer),hb); | ||
204 | hbLayout->addWidget(sb->checkBox() ); | ||
205 | topLayout->addMultiCellWidget(hb, iii,iii,0,1); | ||
206 | |||
207 | } | ||
208 | //#ifndef DESKTOP_VERSION | ||
209 | #if 0 | ||
210 | ++iii; | ||
211 | sb = | ||
212 | addWidBool(i18n("Quick load/save (w/o Unicode)"), | ||
213 | &(KOPrefs::instance()->mUseQuicksave),topFrame); | ||
214 | topLayout->addMultiCellWidget(sb->checkBox(), iii,iii,0,1); | ||
215 | #endif | ||
216 | } | ||
217 | void KOPrefsDialog::showSyncPage() | ||
218 | { | ||
219 | showPage ( 2 ) ; | ||
220 | |||
221 | } | ||
222 | void KOPrefsDialog::setupSyncAlgTab() | ||
223 | { | ||
224 | #if 0 | ||
225 | QLabel * lab; | ||
226 | QFrame *topFrame = addPage(i18n("Sync Prefs"),0,0); | ||
227 | mSetupSyncAlgTab = topFrame; | ||
228 | QGridLayout *topLayout = new QGridLayout(topFrame,6,2); | ||
229 | topLayout->setSpacing(spacingHint()); | ||
230 | topLayout->setMargin(marginHint()); | ||
231 | int iii = 0; | ||
232 | |||
233 | KPrefsWidBool *sb = | ||
234 | addWidBool(i18n("Ask for preferences before syncing"), | ||
235 | &(KOPrefs::instance()->mAskForPreferences),topFrame); | ||
236 | topLayout->addMultiCellWidget(sb->checkBox(), iii,iii,0,1); | ||
237 | |||
238 | ++iii; | ||
239 | |||
240 | KPrefsWidRadios *syncPrefsGroup = | ||
241 | addWidRadios(i18n("Sync preferences:"),&(KOPrefs::instance()->mSyncAlgoPrefs), | ||
242 | topFrame); | ||
243 | syncPrefsGroup->addRadio(i18n("Take local entry on conflict")); | ||
244 | syncPrefsGroup->addRadio(i18n("Take remote entry on conflict")); | ||
245 | syncPrefsGroup->addRadio(i18n("Take newest entry on conflict")); | ||
246 | syncPrefsGroup->addRadio(i18n("Ask for every entry on conflict")); | ||
247 | syncPrefsGroup->addRadio(i18n("Force take local entry always")); | ||
248 | syncPrefsGroup->addRadio(i18n("Force take remote entry always")); | ||
249 | topLayout->addMultiCellWidget( syncPrefsGroup->groupBox(),iii,iii,0,1); | ||
250 | ++iii; | ||
251 | sb = | ||
252 | addWidBool(i18n("Show summary after syncing"), | ||
253 | &(KOPrefs::instance()->mShowSyncSummary),topFrame); | ||
254 | topLayout->addMultiCellWidget(sb->checkBox(), iii,iii,0,1); | ||
255 | |||
256 | ++iii; | ||
257 | #endif | ||
258 | |||
259 | |||
260 | |||
261 | } | ||
262 | |||
263 | |||
264 | void KOPrefsDialog::setupSyncTab() | ||
265 | { | ||
266 | #if 0 | ||
267 | QLabel * lab; | ||
268 | QFrame *topFrame = addPage(i18n("Sync Network"),0,0); | ||
269 | QGridLayout *topLayout = new QGridLayout(topFrame,6,2); | ||
270 | topLayout->setSpacing(spacingHint()); | ||
271 | topLayout->setMargin(marginHint()); | ||
272 | lab = new QLabel(i18n("Remote syncing (via ssh/scp)\nnetwork settings "), topFrame); | ||
273 | int iii = 0; | ||
274 | topLayout->addMultiCellWidget(lab , iii,iii,0,1); | ||
275 | ++iii; | ||
276 | |||
277 | mRemoteIPEdit = new QLineEdit(topFrame); | ||
278 | lab = new QLabel(mRemoteIPEdit, i18n("Remote IP:"), topFrame); | ||
279 | topLayout->addWidget(lab ,iii,0); | ||
280 | topLayout->addWidget(mRemoteIPEdit,iii,1); | ||
281 | ++iii; | ||
282 | mRemoteUser = new QLineEdit(topFrame); | ||
283 | lab = new QLabel(mRemoteUser, i18n("Remote user:"), topFrame); | ||
284 | topLayout->addWidget(lab ,iii,0); | ||
285 | topLayout->addWidget(mRemoteUser, iii,1); | ||
286 | ++iii; | ||
287 | |||
288 | mRemoteFile = new QLineEdit(topFrame); | ||
289 | lab = new QLabel(mRemoteFile, i18n("Remote file:"), topFrame); | ||
290 | topLayout->addWidget(lab ,iii,0); | ||
291 | topLayout->addWidget(mRemoteFile,iii,1); | ||
292 | ++iii; | ||
293 | |||
294 | mLocalTempFile = new QLineEdit(topFrame); | ||
295 | lab = new QLabel(mLocalTempFile, i18n("Local temp file:"), topFrame); | ||
296 | topLayout->addWidget(lab ,iii,0); | ||
297 | topLayout->addWidget(mLocalTempFile,iii,1); | ||
298 | ++iii; | ||
299 | |||
300 | KPrefsWidBool *wb = | ||
301 | addWidBool(i18n("Write back synced file"), | ||
302 | &(KOPrefs::instance()->mWriteBackFile),topFrame); | ||
303 | topLayout->addMultiCellWidget(wb->checkBox(), iii,iii,0,1); | ||
304 | ++iii; | ||
305 | wb = | ||
306 | addWidBool(i18n("Write back existing entries only"), | ||
307 | &(KOPrefs::instance()->mWriteBackExistingOnly),topFrame); | ||
308 | topLayout->addMultiCellWidget(wb->checkBox(), iii,iii,0,1); | ||
309 | ++iii; | ||
310 | |||
311 | #endif | ||
312 | } | ||
313 | |||
314 | void KOPrefsDialog::setupMainTab() | ||
315 | { | ||
316 | QFrame *topFrame = addPage(i18n("General"),0,0); | ||
317 | // DesktopIcon("identity",KIcon::SizeMedium)); | ||
318 | |||
319 | QGridLayout *topLayout = new QGridLayout(topFrame,6,2); | ||
320 | topLayout->setSpacing(spacingHint()); | ||
321 | topLayout->setMargin(marginHint()); | ||
322 | |||
323 | // KPrefsWidBool *emailControlCenter = | ||
324 | // addWidBool(i18n("&Use email settings from Control Center"), | ||
325 | // &(KOPrefs::instance()->mEmailControlCenter),topFrame); | ||
326 | // topLayout->addMultiCellWidget(emailControlCenter->checkBox(),0,0,0,1); | ||
327 | // connect(emailControlCenter->checkBox(),SIGNAL(toggled(bool)), | ||
328 | // SLOT(toggleEmailSettings(bool))); | ||
329 | |||
330 | mNameEdit = new QLineEdit(topFrame); | ||
331 | mNameLabel = new QLabel(mNameEdit, i18n("Full &name:"), topFrame); | ||
332 | topLayout->addWidget(mNameLabel,0,0); | ||
333 | topLayout->addWidget(mNameEdit,0,1); | ||
334 | |||
335 | mEmailEdit = new QLineEdit(topFrame); | ||
336 | mEmailLabel = new QLabel(mEmailEdit, i18n("E&mail address:"),topFrame); | ||
337 | topLayout->addWidget(mEmailLabel,1,0); | ||
338 | topLayout->addWidget(mEmailEdit,1,1); | ||
339 | KPrefsWidBool *wb; | ||
340 | QHBox *dummy; | ||
341 | if ( QApplication::desktop()->width() > 480 ) { | ||
342 | dummy = new QHBox(topFrame); | ||
343 | } else { | ||
344 | dummy = new QVBox(topFrame); | ||
345 | } | ||
346 | |||
347 | topLayout->addMultiCellWidget(dummy, 2,2,0,1); | ||
348 | addWidBool(i18n("Full menu bar(nr)"), | ||
349 | &(KOPrefs::instance()->mShowFullMenu),dummy); | ||
350 | |||
351 | |||
352 | addWidBool(i18n("Mini icons in toolbar(nr)"), | ||
353 | &(KOPrefs::instance()->mToolBarMiniIcons),dummy); | ||
354 | |||
355 | |||
356 | dummy = new QHBox(topFrame); | ||
357 | new QLabel(i18n("Days in What's Next:"),dummy); | ||
358 | mWhatsNextSpin = new QSpinBox(1,14,1,dummy); | ||
359 | |||
360 | topLayout->addMultiCellWidget(dummy,3,3,0,1); | ||
361 | |||
362 | |||
363 | |||
364 | dummy = new QHBox(topFrame); | ||
365 | new QLabel(i18n("Days in Next-X-Days:"),dummy); | ||
366 | mNextXDaysSpin = new QSpinBox(2,14,1,dummy); | ||
367 | |||
368 | topLayout->addMultiCellWidget(dummy,4,4,0,1); | ||
369 | |||
370 | QHBox *prioBox = new QHBox(topFrame); | ||
371 | // intervalBox->setSpacing(spacingHint()); | ||
372 | topLayout->addMultiCellWidget(prioBox,5,5,0,1); | ||
373 | QString messa = i18n("Show topmost todo prios in What's Next:"); | ||
374 | |||
375 | if ( QApplication::desktop()->width() < 300 ) | ||
376 | messa = i18n("Show topmost todo prios in What's N.:"); | ||
377 | QLabel *prioLabel = new QLabel(messa, prioBox); | ||
378 | mPrioSpin = new QSpinBox(0,5,1,prioBox); | ||
379 | if ( QApplication::desktop()->width() < 300 ) | ||
380 | mPrioSpin->setFixedWidth( 40 ); | ||
381 | |||
382 | // KPrefsWidBool *bcc = | ||
383 | // addWidBool(i18n("Send copy to owner when mailing events"), | ||
384 | // &(KOPrefs::instance()->mBcc),topFrame); | ||
385 | // topLayout->addMultiCellWidget(bcc->checkBox(),4,4,0,1); | ||
386 | |||
387 | |||
388 | // QGroupBox *autoSaveGroup = new QGroupBox(1,Horizontal,i18n("Auto-Save"), topFrame); | ||
389 | //topLayout->addMultiCellWidget(autoSaveGroup,6,6,0,1); | ||
390 | |||
391 | // addWidBool(i18n("Enable automatic saving of calendar"), | ||
392 | // &(KOPrefs::instance()->mAutoSave),autoSaveGroup); | ||
393 | |||
394 | QHBox *intervalBox = new QHBox(topFrame); | ||
395 | // intervalBox->setSpacing(spacingHint()); | ||
396 | topLayout->addMultiCellWidget(intervalBox,6,6,0,1); | ||
397 | QLabel *autoSaveIntervalLabel = new QLabel(i18n("Auto save delay in minutes:"),intervalBox); | ||
398 | mAutoSaveIntervalSpin = new QSpinBox(0,500,1,intervalBox); | ||
399 | autoSaveIntervalLabel->setBuddy(mAutoSaveIntervalSpin); | ||
400 | /* | ||
401 | QHBox * agendasize = new QHBox ( topFrame ); | ||
402 | |||
403 | new QLabel (i18n("AllDayAgenda Height:"), agendasize ); | ||
404 | |||
405 | |||
406 | mHourSizeSlider = new QSlider(24,47,1,24,Horizontal,agendasize); | ||
407 | topLayout->addMultiCellWidget(agendasize,7,7,0,1); | ||
408 | */ | ||
409 | KPrefsWidBool *verticalScreen = | ||
410 | addWidBool(i18n("Show vertical screen (Needs restart)"), | ||
411 | &(KOPrefs::instance()->mVerticalScreen),topFrame); | ||
412 | //topLayout->addWidget(verticalScreen->checkBox(),ii++,0); | ||
413 | topLayout->addMultiCellWidget(verticalScreen->checkBox(),7,7,0,1); | ||
414 | |||
415 | KPrefsWidBool *ask = | ||
416 | addWidBool(i18n("Ask for quit when closing KO/Pi"), | ||
417 | &(KOPrefs::instance()->mAskForQuit),topFrame); | ||
418 | topLayout->addMultiCellWidget(ask->checkBox(),8,8,0,1); | ||
419 | |||
420 | |||
421 | /* | ||
422 | KPrefsWidBool *confirmCheck = | ||
423 | addWidBool(i18n("Confirm &deletes"),&(KOPrefs::instance()->mConfirm), | ||
424 | topFrame); | ||
425 | topLayout->addMultiCellWidget(confirmCheck->checkBox(),7,7,0,1); | ||
426 | |||
427 | |||
428 | mEnableGroupScheduling = | ||
429 | addWidBool(i18n("Enable group scheduling"), | ||
430 | &(KOPrefs::instance()->mEnableGroupScheduling),topFrame); | ||
431 | topLayout->addWidget(mEnableGroupScheduling->checkBox(),8,0); | ||
432 | connect(mEnableGroupScheduling->checkBox(),SIGNAL(clicked()), | ||
433 | SLOT(warningGroupScheduling())); | ||
434 | |||
435 | mEnableProjectView = | ||
436 | addWidBool(i18n("Enable project view"), | ||
437 | &(KOPrefs::instance()->mEnableProjectView),topFrame); | ||
438 | topLayout->addWidget(mEnableProjectView->checkBox(),9,0); | ||
439 | connect(mEnableProjectView->checkBox(),SIGNAL(clicked()), | ||
440 | SLOT(warningProjectView())); | ||
441 | |||
442 | // Can't be disabled anymore | ||
443 | mEnableGroupScheduling->checkBox()->hide(); | ||
444 | |||
445 | // Disable setting, because this feature now becomes stable | ||
446 | mEnableProjectView->checkBox()->hide(); | ||
447 | |||
448 | KPrefsWidRadios *defaultFormatGroup = | ||
449 | addWidRadios(i18n("Default Calendar Format"), | ||
450 | &(KOPrefs::instance()->mDefaultFormat),topFrame); | ||
451 | defaultFormatGroup->addRadio(i18n("vCalendar")); | ||
452 | defaultFormatGroup->addRadio(i18n("iCalendar")); | ||
453 | |||
454 | topLayout->addMultiCellWidget(defaultFormatGroup->groupBox(),10,10,0,1); | ||
455 | |||
456 | // Default format unconditionally is iCalendar | ||
457 | defaultFormatGroup->groupBox()->hide(); | ||
458 | |||
459 | KPrefsWidRadios *mailClientGroup = | ||
460 | addWidRadios(i18n("Mail Client"),&(KOPrefs::instance()->mMailClient), | ||
461 | topFrame); | ||
462 | mailClientGroup->addRadio(i18n("KMail")); | ||
463 | mailClientGroup->addRadio(i18n("Sendmail")); | ||
464 | topLayout->addMultiCellWidget(mailClientGroup->groupBox(),11,11,0,1); | ||
465 | |||
466 | KPrefsWidBool *htmlsave = | ||
467 | addWidBool(i18n("Export to HTML with every save"),&(KOPrefs::instance()->mHtmlWithSave), | ||
468 | topFrame); | ||
469 | topLayout->addMultiCellWidget(htmlsave->checkBox(),12,12,0,1); | ||
470 | |||
471 | KPrefsWidRadios *destinationGroup = | ||
472 | addWidRadios(i18n("New Events/Todos should"),&(KOPrefs::instance()->mDestination), | ||
473 | topFrame); | ||
474 | destinationGroup->addRadio(i18n("be added to the standard resource")); | ||
475 | destinationGroup->addRadio(i18n("be asked which resource to use")); | ||
476 | topLayout->addMultiCellWidget(destinationGroup->groupBox(),13,13,0,1); | ||
477 | |||
478 | topLayout->setRowStretch(14,1); | ||
479 | */ | ||
480 | } | ||
481 | |||
482 | |||
483 | void KOPrefsDialog::setupTimeTab() | ||
484 | { | ||
485 | QFrame *topFrame = addPage(i18n("Time"),0,0); | ||
486 | // DesktopIcon("clock",KIcon::SizeMedium)); | ||
487 | |||
488 | QGridLayout *topLayout = new QGridLayout(topFrame,4,2); | ||
489 | topLayout->setSpacing(spacingHint()); | ||
490 | topLayout->setMargin(marginHint()); | ||
491 | |||
492 | QHBox *dummy = new QHBox(topFrame); | ||
493 | KPrefsWidTime *dayBegins = | ||
494 | addWidTime(i18n("Day begins at:"),&(KOPrefs::instance()->mDayBegins), | ||
495 | dummy); | ||
496 | //topLayout->addWidget(dayBegins->label(),2,0); | ||
497 | |||
498 | //topLayout->addWidget(dayBegins->spinBox(),2,1); | ||
499 | topLayout->addMultiCellWidget(dummy,0,0,0,1); | ||
500 | |||
501 | topLayout->addWidget(new QLabel(i18n("Default appointment time:"), | ||
502 | topFrame),1,0); | ||
503 | mStartTimeSpin = new QSpinBox(0,23,1,topFrame); | ||
504 | mStartTimeSpin->setSuffix(":00"); | ||
505 | topLayout->addWidget(mStartTimeSpin,1,1); | ||
506 | |||
507 | topLayout->addWidget(new QLabel(i18n("Def. duration of new app.:"), | ||
508 | topFrame),2,0); | ||
509 | mDefaultDurationSpin = new QSpinBox(0,23,1,topFrame); | ||
510 | mDefaultDurationSpin->setSuffix(":00"); | ||
511 | topLayout->addWidget(mDefaultDurationSpin,2,1); | ||
512 | |||
513 | QStringList alarmList; | ||
514 | alarmList << i18n("1 minute") << i18n("5 minutes") << i18n("10 minutes") | ||
515 | << i18n("15 minutes") << i18n("30 minutes")<< i18n("1 hour")<< i18n("3 hours") << i18n("24 hours") ; | ||
516 | topLayout->addWidget(new QLabel(i18n("Default alarm time:"),topFrame), | ||
517 | 3,0); | ||
518 | mAlarmTimeCombo = new QComboBox(topFrame); | ||
519 | mAlarmTimeCombo->insertStringList(alarmList); | ||
520 | topLayout->addWidget(mAlarmTimeCombo,3,1); | ||
521 | |||
522 | |||
523 | QGroupBox *workingHoursGroup = new QGroupBox(1,Horizontal, | ||
524 | i18n("Working Hours"), | ||
525 | topFrame); | ||
526 | topLayout->addMultiCellWidget(workingHoursGroup,4,4,0,1); | ||
527 | workingHoursGroup->layout()->setSpacing( 0 ); | ||
528 | workingHoursGroup->layout()->setMargin( 4 ); | ||
529 | QHBox *workStartBox = new QHBox(workingHoursGroup); | ||
530 | // workStartBox->setMargin( 0 ); | ||
531 | addWidTime(i18n("Daily starting hour:"), | ||
532 | &(KOPrefs::instance()->mWorkingHoursStart),workStartBox); | ||
533 | |||
534 | QHBox *workEndBox = new QHBox(workingHoursGroup); | ||
535 | //workEndBox->setMargin( 0 ); | ||
536 | addWidTime(i18n("Daily ending hour:"), | ||
537 | &(KOPrefs::instance()->mWorkingHoursEnd),workEndBox); | ||
538 | QVBox *excludeBox = new QVBox(workingHoursGroup); | ||
539 | //excludeBox->setMargin( 0 ); | ||
540 | addWidBool(i18n("Exclude holidays"), | ||
541 | &(KOPrefs::instance()->mExcludeHolidays),excludeBox); | ||
542 | |||
543 | addWidBool(i18n("Exclude Saturdays"), | ||
544 | &(KOPrefs::instance()->mExcludeSaturdays),excludeBox); | ||
545 | |||
546 | // KPrefsWidBool *marcusBainsShowSeconds = addWidBool(i18n("Show seconds on Marcus Bains line"), | ||
547 | // &(KOPrefs::instance()->mMarcusBainsShowSeconds), | ||
548 | // topFrame); | ||
549 | // topLayout->addWidget(marcusBainsShowSeconds->checkBox(),5,0); | ||
550 | |||
551 | // topLayout->setRowStretch(6,1); | ||
552 | } | ||
553 | |||
554 | |||
555 | void KOPrefsDialog::setupViewsTab() | ||
556 | { | ||
557 | |||
558 | QFrame *topFrame = addPage(i18n("Views"),0,0); | ||
559 | // DesktopIcon("viewmag",KIcon::SizeMedium)); | ||
560 | |||
561 | QGridLayout *topLayout = new QGridLayout(topFrame,6,1); | ||
562 | topLayout->setSpacing(spacingHint()); | ||
563 | topLayout->setMargin(marginHint()); | ||
564 | |||
565 | // QBoxLayout *dayBeginsLayout = new QHBoxLayout; | ||
566 | // topLayout->addLayout(dayBeginsLayout,0,0); | ||
567 | |||
568 | // KPrefsWidTime *dayBegins = | ||
569 | // addWidTime(i18n("Day begins at:"),&(KOPrefs::instance()->mDayBegins), | ||
570 | // topFrame); | ||
571 | // dayBeginsLayout->addWidget(dayBegins->label()); | ||
572 | // dayBeginsLayout->addStretch(1); | ||
573 | // dayBeginsLayout->addWidget(dayBegins->spinBox()); | ||
574 | |||
575 | // QBoxLayout *nextDaysLayout = new QHBoxLayout; | ||
576 | // topLayout->addLayout(nextDaysLayout,1,0); | ||
577 | // nextDaysLayout->addWidget(new QLabel(i18n("Days to show in Next-X-Days view:"),topFrame)); | ||
578 | // mNextXDaysSpin = new QSpinBox(2,14,1,topFrame); | ||
579 | // nextDaysLayout->addStretch(1); | ||
580 | // nextDaysLayout->addWidget(mNextXDaysSpin); | ||
581 | |||
582 | |||
583 | int ii = 0; | ||
584 | KPrefsWidBool *dummy = | ||
585 | addWidBool(i18n("Edit item on doubleclick (if not, show)"), | ||
586 | &(KOPrefs::instance()->mEditOnDoubleClick),topFrame); | ||
587 | topLayout->addWidget(dummy->checkBox(),ii++,0); | ||
588 | |||
589 | dummy = | ||
590 | addWidBool(i18n("Highlight current day in agenda"), | ||
591 | &(KOPrefs::instance()->mHighlightCurrentDay),topFrame); | ||
592 | topLayout->addWidget(dummy->checkBox(),ii++,0); | ||
593 | |||
594 | dummy = | ||
595 | addWidBool(i18n("Use light color for highlight current day"), | ||
596 | &(KOPrefs::instance()->mUseHighlightLightColor),topFrame); | ||
597 | topLayout->addWidget(dummy->checkBox(),ii++,0); | ||
598 | |||
599 | KPrefsWidBool *dailyRecur = | ||
600 | addWidBool(i18n("Show events that recur daily in date nav."), | ||
601 | &(KOPrefs::instance()->mDailyRecur),topFrame); | ||
602 | topLayout->addWidget(dailyRecur->checkBox(),ii++,0); | ||
603 | |||
604 | KPrefsWidBool *weeklyRecur = | ||
605 | addWidBool(i18n("Show ev. that recur weekly in date nav."), | ||
606 | &(KOPrefs::instance()->mWeeklyRecur),topFrame); | ||
607 | topLayout->addWidget(weeklyRecur->checkBox(),ii++,0); | ||
608 | if ( QApplication::desktop()->width() > 640 ) { | ||
609 | |||
610 | KPrefsWidBool *enableToolTips = | ||
611 | addWidBool(i18n("Enable tooltips displaying summary of ev."), | ||
612 | &(KOPrefs::instance()->mEnableToolTips),topFrame); | ||
613 | topLayout->addWidget(enableToolTips->checkBox(),ii++,0); | ||
614 | |||
615 | } | ||
616 | KPrefsWidBool *passwdk = | ||
617 | addWidBool(i18n("Show parent To-Do's in What's Next view"), | ||
618 | &(KOPrefs::instance()->mWNViewShowsParents),topFrame); | ||
619 | topLayout->addWidget(passwdk->checkBox(), ii++,0); | ||
620 | |||
621 | passwdk = | ||
622 | addWidBool(i18n("Show location in What's Next view"), | ||
623 | &(KOPrefs::instance()->mWNViewShowLocation),topFrame); | ||
624 | topLayout->addWidget(passwdk->checkBox(), ii++,0); | ||
625 | |||
626 | passwdk = | ||
627 | addWidBool(i18n("Show Sync Events in WN/Agenda view"), | ||
628 | &(KOPrefs::instance()->mShowSyncEvents),topFrame); | ||
629 | topLayout->addWidget(passwdk->checkBox(), ii++,0); | ||
630 | |||
631 | |||
632 | KPrefsWidBool *marcusBainsEnabled = | ||
633 | addWidBool(i18n("Show Marcus Bains line"), | ||
634 | &(KOPrefs::instance()->mMarcusBainsEnabled),topFrame); | ||
635 | topLayout->addWidget(marcusBainsEnabled->checkBox(),ii++,0); | ||
636 | |||
637 | |||
638 | // topLayout->addWidget(hourSizeGroup,ii++,0); | ||
639 | // topLayout->addMultiCellWidget(hourSizeGroup,ii,ii,0,0); | ||
640 | //topLayout->setRowStretch(11,1); | ||
641 | |||
642 | |||
643 | |||
644 | |||
645 | |||
646 | |||
647 | topFrame = addPage(i18n("ViewChange"),0,0); | ||
648 | // DesktopIcon("viewmag",KIcon::SizeMedium)); | ||
649 | |||
650 | topLayout = new QGridLayout(topFrame,6,1); | ||
651 | topLayout->setSpacing(spacingHint()); | ||
652 | topLayout->setMargin(marginHint()); | ||
653 | ii = 0; | ||
654 | |||
655 | |||
656 | dummy = | ||
657 | addWidBool(i18n("Hold fullscreen on view change"), | ||
658 | &(KOPrefs::instance()->mViewChangeHoldFullscreen),topFrame); | ||
659 | topLayout->addWidget(dummy->checkBox(),ii++,0); | ||
660 | |||
661 | dummy = | ||
662 | addWidBool(i18n("Hold non-fullscreen on view change"), | ||
663 | &(KOPrefs::instance()->mViewChangeHoldNonFullscreen),topFrame); | ||
664 | topLayout->addWidget(dummy->checkBox(),ii++,0); | ||
665 | |||
666 | |||
667 | KPrefsWidBool *fullViewTodo = | ||
668 | addWidBool(i18n("Event list view uses full window"), | ||
669 | &(KOPrefs::instance()->mFullViewTodo),topFrame); | ||
670 | topLayout->addWidget(fullViewTodo->checkBox(),ii++,0); | ||
671 | |||
672 | KPrefsWidBool *fullViewMonth = | ||
673 | addWidBool(i18n("Next days view uses full window"), | ||
674 | &(KOPrefs::instance()->mFullViewMonth),topFrame); | ||
675 | topLayout->addWidget(fullViewMonth->checkBox(),ii++,0); | ||
676 | |||
677 | dummy = | ||
678 | addWidBool(i18n("Set agenda to DayBeginsAt on change"), | ||
679 | &(KOPrefs::instance()->mSetTimeToDayStartAt),topFrame); | ||
680 | topLayout->addWidget(dummy->checkBox(),ii++,0); | ||
681 | |||
682 | dummy = | ||
683 | addWidBool(i18n("Set agenda to current time on change"), | ||
684 | &(KOPrefs::instance()->mCenterOnCurrentTime),topFrame); | ||
685 | topLayout->addWidget(dummy->checkBox(),ii++,0); | ||
686 | |||
687 | dummy = | ||
688 | addWidBool(i18n("Listview uses monthly timespan"), | ||
689 | &(KOPrefs::instance()->mListViewMonthTimespan),topFrame); | ||
690 | topLayout->addWidget(dummy->checkBox(),ii++,0); | ||
691 | dummy = | ||
692 | addWidBool(i18n("Highlight selection in Time Edit"), | ||
693 | &(KOPrefs::instance()->mHightlightDateTimeEdit),topFrame); | ||
694 | topLayout->addWidget( dummy->checkBox(), ii++,0); | ||
695 | |||
696 | |||
697 | |||
698 | |||
699 | |||
700 | topFrame = addPage(i18n("Month View"),0,0); | ||
701 | // DesktopIcon("viewmag",KIcon::SizeMedium)); | ||
702 | |||
703 | topLayout = new QGridLayout(topFrame,5,1); | ||
704 | topLayout->setSpacing(spacingHint()); | ||
705 | topLayout->setMargin(marginHint()); | ||
706 | ii = 0; | ||
707 | QLabel *lab; | ||
708 | QHBox *habo = new QHBox( topFrame ); | ||
709 | if ( QApplication::desktop()->width() < 320 ) { | ||
710 | lab = new QLabel ( i18n("Show events that recur "), topFrame ); | ||
711 | topLayout->addMultiCellWidget(lab,ii, ii,0,1); | ||
712 | ii++; | ||
713 | |||
714 | } else { | ||
715 | new QLabel ( i18n("Show events that recur "), habo ); | ||
716 | |||
717 | } | ||
718 | dailyRecur = | ||
719 | addWidBool(i18n("daily"), | ||
720 | &(KOPrefs::instance()->mMonthDailyRecur),habo); | ||
721 | // topLayout->addWidget(dailyRecur->checkBox(),ii++,0); | ||
722 | |||
723 | weeklyRecur = | ||
724 | addWidBool(i18n("weekly"), | ||
725 | &(KOPrefs::instance()->mMonthWeeklyRecur),habo); | ||
726 | topLayout->addMultiCellWidget(habo,ii, ii,0,1); | ||
727 | ii++; | ||
728 | |||
729 | |||
730 | habo = new QHBox( topFrame ); | ||
731 | if ( QApplication::desktop()->width() < 320 ) { | ||
732 | lab = new QLabel (i18n("Show in every cell ") , topFrame ); | ||
733 | topLayout->addMultiCellWidget(lab,ii, ii,0,1); | ||
734 | ii++; | ||
735 | |||
736 | } else { | ||
737 | new QLabel ( i18n("Show in every cell "), habo ); | ||
738 | } | ||
739 | weeklyRecur = | ||
740 | addWidBool(i18n("short month"), | ||
741 | &(KOPrefs::instance()->mMonthShowShort),habo); | ||
742 | weeklyRecur = | ||
743 | addWidBool(i18n("icons"), | ||
744 | &(KOPrefs::instance()->mMonthShowIcons),habo); | ||
745 | |||
746 | topLayout->addMultiCellWidget(habo,ii, ii,0,1); | ||
747 | ii++; | ||
748 | #ifdef DESKTOP_VERSION | ||
749 | KPrefsWidBool *enableMonthScroll = | ||
750 | addWidBool(i18n("Enable scrollbars in month view cells"), | ||
751 | &(KOPrefs::instance()->mEnableMonthScroll),topFrame); | ||
752 | topLayout->addWidget(enableMonthScroll->checkBox(),ii++,0); | ||
753 | #endif | ||
754 | |||
755 | dummy = | ||
756 | addWidBool(i18n("Show Sat/Sun together"), | ||
757 | &(KOPrefs::instance()->mMonthViewSatSunTog),topFrame); | ||
758 | topLayout->addWidget(dummy->checkBox(),ii++,0); | ||
759 | |||
760 | KPrefsWidBool *coloredCategoriesInMonthView = | ||
761 | addWidBool(i18n("Month view uses category colors"), | ||
762 | &(KOPrefs::instance()->mMonthViewUsesCategoryColor),topFrame); | ||
763 | topLayout->addWidget(coloredCategoriesInMonthView->checkBox(),ii++,0); | ||
764 | |||
765 | dummy = | ||
766 | addWidBool(i18n("Categorie colors are applied to text"), | ||
767 | &(KOPrefs::instance()->mMonthViewUsesForegroundColor),topFrame); | ||
768 | topLayout->addWidget(dummy->checkBox(),ii++,0); | ||
769 | coloredCategoriesInMonthView = | ||
770 | addWidBool(i18n("Month view uses day colors"), | ||
771 | &(KOPrefs::instance()->mMonthViewUsesDayColors),topFrame); | ||
772 | topLayout->addWidget(coloredCategoriesInMonthView->checkBox(),ii++,0); | ||
773 | |||
774 | KPrefsWidColor *holidayColor = | ||
775 | addWidColor(i18n("Day color odd months"), | ||
776 | &(KOPrefs::instance()->mMonthViewOddColor),topFrame); | ||
777 | topLayout->addWidget(holidayColor->label(),ii,0); | ||
778 | topLayout->addWidget(holidayColor->button(),ii++,1); | ||
779 | |||
780 | holidayColor = | ||
781 | addWidColor(i18n("Day color even months"), | ||
782 | &(KOPrefs::instance()->mMonthViewEvenColor),topFrame); | ||
783 | topLayout->addWidget(holidayColor->label(),ii,0); | ||
784 | topLayout->addWidget(holidayColor->button(),ii++,1); | ||
785 | |||
786 | |||
787 | holidayColor = | ||
788 | addWidColor(i18n("Color for Sundays + category \"Holiday\""), | ||
789 | &(KOPrefs::instance()->mMonthViewHolidayColor),topFrame); | ||
790 | topLayout->addWidget(holidayColor->label(),ii,0); | ||
791 | topLayout->addWidget(holidayColor->button(),ii++,1); | ||
792 | |||
793 | // *********************** Todo View | ||
794 | |||
795 | topFrame = addPage(i18n("Todo View"),0,0); | ||
796 | // DesktopIcon("viewmag",KIcon::SizeMedium)); | ||
797 | |||
798 | topLayout = new QGridLayout(topFrame,4,1); | ||
799 | topLayout->setSpacing(spacingHint()); | ||
800 | topLayout->setMargin(marginHint()); | ||
801 | ii = 0; | ||
802 | |||
803 | KPrefsWidBool *showCompletedTodo = | ||
804 | addWidBool(i18n("To-do view shows completed Todos"), | ||
805 | &(KOPrefs::instance()->mShowCompletedTodo),topFrame); | ||
806 | topLayout->addWidget(showCompletedTodo->checkBox(),ii++,0); | ||
807 | dummy = | ||
808 | addWidBool(i18n("To-do view shows complete as 'xx %'"), | ||
809 | &(KOPrefs::instance()->mTodoViewShowsPercentage),topFrame); | ||
810 | topLayout->addWidget(dummy->checkBox(),ii++,0); | ||
811 | |||
812 | dummy = | ||
813 | addWidBool(i18n("Small To-do view uses smaller font"), | ||
814 | &(KOPrefs::instance()->mTodoViewUsesSmallFont),topFrame); | ||
815 | topLayout->addWidget(dummy->checkBox(),ii++,0); | ||
816 | |||
817 | |||
818 | |||
819 | dummy = | ||
820 | addWidBool(i18n("Todo view uses category colors"), | ||
821 | &(KOPrefs::instance()->mTodoViewUsesCatColors),topFrame); | ||
822 | topLayout->addWidget(dummy->checkBox(),ii++,0); | ||
823 | |||
824 | |||
825 | QWidget* wid = new QWidget( topFrame ); | ||
826 | // Todo due today color | ||
827 | KPrefsWidColor *todoDueTodayColor = | ||
828 | addWidColor(i18n("Todo due today color:"), | ||
829 | &(KOPrefs::instance()->mTodoDueTodayColor),wid); | ||
830 | QHBoxLayout *widLayout = new QHBoxLayout(wid); | ||
831 | widLayout->addWidget( todoDueTodayColor->label() ); | ||
832 | widLayout->addWidget( todoDueTodayColor->button() ); | ||
833 | topLayout->addWidget(wid,ii++,0); | ||
834 | //topLayout->addWidget(todoDueTodayColor->button(),ii++,1); | ||
835 | |||
836 | // Todo overdue color | ||
837 | wid = new QWidget( topFrame ); | ||
838 | widLayout = new QHBoxLayout(wid); | ||
839 | KPrefsWidColor *todoOverdueColor = | ||
840 | addWidColor(i18n("Todo overdue color:"), | ||
841 | &(KOPrefs::instance()->mTodoOverdueColor),wid); | ||
842 | widLayout->addWidget(todoOverdueColor->label()); | ||
843 | widLayout->addWidget(todoOverdueColor->button()); | ||
844 | topLayout->addWidget(wid,ii++,0); | ||
845 | |||
846 | dummy = | ||
847 | addWidBool(i18n("Colors are applied to text"), | ||
848 | &(KOPrefs::instance()->mTodoViewUsesForegroundColor),topFrame); | ||
849 | topLayout->addWidget(dummy->checkBox(),ii++,0); | ||
850 | |||
851 | dummy = | ||
852 | addWidBool(i18n("Allday Agenda view shows todos"), | ||
853 | &(KOPrefs::instance()->mShowTodoInAgenda),topFrame); | ||
854 | topLayout->addWidget(dummy->checkBox(),ii++,0); | ||
855 | |||
856 | |||
857 | |||
858 | |||
859 | topFrame = addPage(i18n("Alarm"),0,0); | ||
860 | // DesktopIcon("viewmag",KIcon::SizeMedium)); | ||
861 | |||
862 | topLayout = new QGridLayout(topFrame,2,1); | ||
863 | topLayout->setSpacing(spacingHint()); | ||
864 | topLayout->setMargin(marginHint()); | ||
865 | int iii = 0; | ||
866 | |||
867 | dummy = | ||
868 | addWidBool(i18n("Use internal alarm notification"), | ||
869 | &(KOPrefs::instance()->mUseInternalAlarmNotification),topFrame); | ||
870 | topLayout->addWidget(dummy->checkBox(),iii++,0); | ||
871 | lab = new QLabel( i18n("Note: KO/Pi must be running to notify you about an alarm. Recommended for use on Zaurus: Disable this option and install KO/Pi alarm applet.\n"), topFrame); | ||
872 | |||
873 | topLayout->addWidget(lab ,iii++,0); | ||
874 | #ifndef DESKTOP_VERSION | ||
875 | lab->setAlignment( AlignLeft|WordBreak|AlignTop); | ||
876 | #else | ||
877 | lab->setAlignment( AlignLeft|BreakAnywhere|WordBreak|AlignTop); | ||
878 | lab->setSizePolicy( QSizePolicy( QSizePolicy::Ignored , QSizePolicy::Ignored,true) ); | ||
879 | #endif | ||
880 | |||
881 | QHBox* dummyBox = new QHBox(topFrame); | ||
882 | new QLabel(i18n("Play beeps count:"),dummyBox); | ||
883 | mAlarmPlayBeeps = new QSpinBox(0,500,1,dummyBox); | ||
884 | topLayout->addWidget(dummyBox,iii++,0); | ||
885 | |||
886 | dummyBox = new QHBox(topFrame); | ||
887 | new QLabel(i18n("Beeps interval in sec:"),dummyBox); | ||
888 | mAlarmBeepInterval = new QSpinBox(1,600,1,dummyBox); | ||
889 | topLayout->addWidget(dummyBox,iii++,0); | ||
890 | |||
891 | dummyBox = new QHBox(topFrame); | ||
892 | new QLabel(i18n("Default suspend time in min:"),dummyBox); | ||
893 | mAlarmSuspendTime = new QSpinBox(1,600,1,dummyBox); | ||
894 | topLayout->addWidget(dummyBox,iii++,0); | ||
895 | |||
896 | dummyBox = new QHBox(topFrame); | ||
897 | new QLabel(i18n("Auto suspend count:"),dummyBox); | ||
898 | mAlarmSuspendCount = new QSpinBox(0,60,1,dummyBox); | ||
899 | topLayout->addWidget(dummyBox,iii++,0); | ||
900 | |||
901 | |||
902 | |||
903 | |||
904 | |||
905 | |||
906 | |||
907 | QHBox* hbo = new QHBox ( topFrame ); | ||
908 | mDefaultAlarmFile = new QLineEdit(hbo); | ||
909 | QPushButton * loadTemplate = new QPushButton(hbo); | ||
910 | QPixmap icon; | ||
911 | if ( QApplication::desktop()->width() < 321 ) | ||
912 | icon = SmallIcon("fileimport16"); | ||
913 | else | ||
914 | icon = SmallIcon("fileimport"); | ||
915 | loadTemplate->setIconSet (icon ) ; | ||
916 | connect( loadTemplate, SIGNAL( clicked() ), this , SLOT( selectSoundFile() ) ); | ||
917 | int size = loadTemplate->sizeHint().height(); | ||
918 | loadTemplate->setFixedSize( size, size ); | ||
919 | //lab = new QLabel( i18n("This setting is useless for 5500 user!"), topFrame); | ||
920 | // topLayout->addWidget(lab ,iii++,0); | ||
921 | lab = new QLabel( i18n("Alarm *.wav file for newly created alarm:"), topFrame); | ||
922 | topLayout->addWidget(lab ,iii++,0); | ||
923 | topLayout->addWidget(hbo,iii++,0); | ||
924 | // lab = new QLabel( i18n("Note: This does not mean, that for every alarm this file is replayed. This file here is associated with a newly created alarm."), topFrame); | ||
925 | |||
926 | // topLayout->addWidget(lab ,iii++,0); | ||
927 | // #ifndef DESKTOP_VERSION | ||
928 | // lab->setAlignment( AlignLeft|WordBreak|AlignTop); | ||
929 | // #else | ||
930 | // lab->setAlignment( AlignLeft|BreakAnywhere|WordBreak|AlignTop); | ||
931 | // lab->setSizePolicy( QSizePolicy( QSizePolicy::Ignored , QSizePolicy::Ignored,true) ); | ||
932 | // #endif | ||
933 | |||
934 | |||
935 | } | ||
936 | |||
937 | void KOPrefsDialog::selectSoundFile() | ||
938 | { | ||
939 | QString fileName = mDefaultAlarmFile->text(); | ||
940 | fileName = KFileDialog::getSaveFileName( mDefaultAlarmFile->text() , "Choose default alarm file", this ); | ||
941 | if ( fileName.length() > 0 ) | ||
942 | mDefaultAlarmFile->setText( fileName ); | ||
943 | } | ||
944 | void KOPrefsDialog::setupFontsTab() | ||
945 | { | ||
946 | |||
947 | QFrame *topFrame = addPage(i18n("Fonts"),0,0); | ||
948 | // DesktopIcon("fonts",KIcon::SizeMedium)); | ||
949 | |||
950 | QGridLayout *topLayout = new QGridLayout(topFrame,7,3); | ||
951 | topLayout->setSpacing(1); | ||
952 | topLayout->setMargin(3); | ||
953 | KPrefsWidFont * tVFont; | ||
954 | int i = 0; | ||
955 | KPrefsWidFont *timeLabelsFont = | ||
956 | addWidFont(i18n("23"),i18n("DateNavigator:(nr)"), | ||
957 | &(KOPrefs::instance()->mDateNavigatorFont),topFrame); | ||
958 | topLayout->addWidget(timeLabelsFont->label(),i,0); | ||
959 | topLayout->addWidget(timeLabelsFont->preview(),i,1); | ||
960 | topLayout->addWidget(timeLabelsFont->button(),i,2); | ||
961 | ++i; | ||
962 | |||
963 | |||
964 | timeLabelsFont = | ||
965 | addWidFont(i18n("Mon 15"),i18n("Date Labels:"), | ||
966 | &(KOPrefs::instance()->mTimeLabelsFont),topFrame); | ||
967 | topLayout->addWidget(timeLabelsFont->label(),i,0); | ||
968 | topLayout->addWidget(timeLabelsFont->preview(),i,1); | ||
969 | topLayout->addWidget(timeLabelsFont->button(),i,2); | ||
970 | ++i; | ||
971 | |||
972 | KPrefsWidFont *timeBarFont = | ||
973 | addWidFont(KGlobal::locale()->formatTime(QTime(12,34)),i18n("Time bar:"), | ||
974 | &(KOPrefs::instance()->mTimeBarFont),topFrame); | ||
975 | topLayout->addWidget(timeBarFont->label(),i,0); | ||
976 | topLayout->addWidget(timeBarFont->preview(),i,1); | ||
977 | topLayout->addWidget(timeBarFont->button(),i,2); | ||
978 | ++i; | ||
979 | |||
980 | |||
981 | KPrefsWidFont *marcusBainsFont = | ||
982 | addWidFont(KGlobal::locale()->formatTime(QTime(12,34,23)),i18n("M. Bains line:"), | ||
983 | &(KOPrefs::instance()->mMarcusBainsFont),topFrame); | ||
984 | topLayout->addWidget(marcusBainsFont->label(),i,0); | ||
985 | topLayout->addWidget(marcusBainsFont->preview(),i,1); | ||
986 | topLayout->addWidget(marcusBainsFont->button(),i,2); | ||
987 | ++i; | ||
988 | |||
989 | tVFont = | ||
990 | addWidFont(i18n("Summary"),i18n("Event Viewer:"), | ||
991 | &(KOPrefs::instance()->mEventViewFont),topFrame); | ||
992 | topLayout->addWidget(tVFont->label(),i,0); | ||
993 | topLayout->addWidget(tVFont->preview(),i,1); | ||
994 | topLayout->addWidget(tVFont->button(),i,2); | ||
995 | ++i; | ||
996 | |||
997 | |||
998 | |||
999 | tVFont = | ||
1000 | addWidFont(i18n("Details"),i18n("EditorBox:"), | ||
1001 | &(KOPrefs::instance()->mEditBoxFont),topFrame); | ||
1002 | topLayout->addWidget(tVFont->label(),i,0); | ||
1003 | topLayout->addWidget(tVFont->preview(),i,1); | ||
1004 | topLayout->addWidget(tVFont->button(),i,2); | ||
1005 | ++i; | ||
1006 | |||
1007 | |||
1008 | |||
1009 | topLayout->setColStretch(1,1); | ||
1010 | topLayout->setRowStretch(4,1); | ||
1011 | |||
1012 | |||
1013 | i = 0; | ||
1014 | topFrame = addPage(i18n("View Fonts"),0, | ||
1015 | DesktopIcon("fonts",KIcon::SizeMedium)); | ||
1016 | |||
1017 | topLayout = new QGridLayout(topFrame,7,3); | ||
1018 | topLayout->setSpacing(1); | ||
1019 | topLayout->setMargin(3); | ||
1020 | |||
1021 | tVFont = | ||
1022 | addWidFont(i18n("Configure KO"),i18n("What's Next View:"), | ||
1023 | &(KOPrefs::instance()->mWhatsNextFont),topFrame); | ||
1024 | topLayout->addWidget(tVFont->label(),i,0); | ||
1025 | topLayout->addWidget(tVFont->preview(),i,1); | ||
1026 | topLayout->addWidget(tVFont->button(),i,2); | ||
1027 | ++i; | ||
1028 | KPrefsWidFont *agendaViewFont = | ||
1029 | addWidFont(i18n("Event text"),i18n("Agenda view:"), | ||
1030 | &(KOPrefs::instance()->mAgendaViewFont),topFrame); | ||
1031 | topLayout->addWidget(agendaViewFont->label(),i,0); | ||
1032 | topLayout->addWidget(agendaViewFont->preview(),i,1); | ||
1033 | topLayout->addWidget(agendaViewFont->button(),i,2); | ||
1034 | ++i; | ||
1035 | |||
1036 | |||
1037 | KPrefsWidFont *monthViewFont = | ||
1038 | addWidFont(KGlobal::locale()->formatTime(QTime(12,34)) + " " + i18n("Event"), | ||
1039 | i18n("Month view:"),&(KOPrefs::instance()->mMonthViewFont),topFrame); | ||
1040 | topLayout->addWidget(monthViewFont->label(),i,0); | ||
1041 | topLayout->addWidget(monthViewFont->preview(),i,1); | ||
1042 | topLayout->addWidget(monthViewFont->button(),i,2); | ||
1043 | ++i; | ||
1044 | |||
1045 | |||
1046 | KPrefsWidFont *lVFont = | ||
1047 | addWidFont(i18n("Event"),i18n("List View:"), | ||
1048 | &(KOPrefs::instance()->mListViewFont),topFrame); | ||
1049 | topLayout->addWidget(lVFont->label(),i,0); | ||
1050 | topLayout->addWidget(lVFont->preview(),i,1); | ||
1051 | topLayout->addWidget(lVFont->button(),i,2); | ||
1052 | ++i; | ||
1053 | |||
1054 | |||
1055 | tVFont = | ||
1056 | addWidFont(i18n("ToDo"),i18n("ToDoView:"), | ||
1057 | &(KOPrefs::instance()->mTodoViewFont),topFrame); | ||
1058 | topLayout->addWidget(tVFont->label(),i,0); | ||
1059 | topLayout->addWidget(tVFont->preview(),i,1); | ||
1060 | topLayout->addWidget(tVFont->button(),i,2); | ||
1061 | ++i; | ||
1062 | |||
1063 | |||
1064 | tVFont = | ||
1065 | addWidFont(i18n("Today"),i18n("JournalView:"), | ||
1066 | &(KOPrefs::instance()->mJornalViewFont),topFrame); | ||
1067 | topLayout->addWidget(tVFont->label(),i,0); | ||
1068 | topLayout->addWidget(tVFont->preview(),i,1); | ||
1069 | topLayout->addWidget(tVFont->button(),i,2); | ||
1070 | ++i; | ||
1071 | |||
1072 | |||
1073 | |||
1074 | |||
1075 | topLayout->setColStretch(1,1); | ||
1076 | topLayout->setRowStretch(4,1); | ||
1077 | |||
1078 | |||
1079 | |||
1080 | |||
1081 | } | ||
1082 | |||
1083 | void KOPrefsDialog::setupColorsTab() | ||
1084 | { | ||
1085 | QFrame *topFrame = addPage(i18n("Colors"),0,0); | ||
1086 | // DesktopIcon("colorize",KIcon::SizeMedium)); | ||
1087 | |||
1088 | QGridLayout *topLayout = new QGridLayout(topFrame,5,2); | ||
1089 | // topLayout->setSpacing(spacingHint()); | ||
1090 | // topLayout->setMargin(marginHint()); | ||
1091 | |||
1092 | topLayout->setSpacing(2); | ||
1093 | topLayout->setMargin(3); | ||
1094 | |||
1095 | int ii = 1; | ||
1096 | QGroupBox *categoryGroup ; | ||
1097 | |||
1098 | categoryGroup = new QGroupBox(1,Vertical,i18n("Categories"), | ||
1099 | topFrame); | ||
1100 | topLayout->addMultiCellWidget(categoryGroup,0,0,0,1); | ||
1101 | |||
1102 | mCategoryCombo = new QComboBox(categoryGroup); | ||
1103 | mCategoryCombo->insertStringList(KOPrefs::instance()->mCustomCategories); | ||
1104 | connect(mCategoryCombo,SIGNAL(activated(int)),SLOT(updateCategoryColor())); | ||
1105 | |||
1106 | mCategoryButton = new KColorButton(categoryGroup); | ||
1107 | connect(mCategoryButton,SIGNAL(changed(const QColor &)),SLOT(setCategoryColor())); | ||
1108 | updateCategoryColor(); | ||
1109 | |||
1110 | |||
1111 | // Holiday Color | ||
1112 | |||
1113 | KPrefsWidColor *holidayColor = | ||
1114 | addWidColor(i18n("Holiday color:"), | ||
1115 | &(KOPrefs::instance()->mHolidayColor),topFrame); | ||
1116 | topLayout->addWidget(holidayColor->label(),ii,0); | ||
1117 | topLayout->addWidget(holidayColor->button(),ii++,1); | ||
1118 | |||
1119 | // Highlight Color | ||
1120 | KPrefsWidColor *highlightColor = | ||
1121 | addWidColor(i18n("Highlight color:"), | ||
1122 | &(KOPrefs::instance()->mHighlightColor),topFrame); | ||
1123 | topLayout->addWidget(highlightColor->label(),ii,0); | ||
1124 | topLayout->addWidget(highlightColor->button(),ii++,1); | ||
1125 | |||
1126 | // Event color | ||
1127 | KPrefsWidColor *eventColor = | ||
1128 | addWidColor(i18n("Default event color:"), | ||
1129 | &(KOPrefs::instance()->mEventColor),topFrame); | ||
1130 | topLayout->addWidget(eventColor->label(),ii,0); | ||
1131 | topLayout->addWidget(eventColor->button(),ii++,1); | ||
1132 | |||
1133 | // agenda view background color | ||
1134 | KPrefsWidColor *agendaBgColor = | ||
1135 | addWidColor(i18n("Agenda view background color:"), | ||
1136 | &(KOPrefs::instance()->mAgendaBgColor),topFrame); | ||
1137 | topLayout->addWidget(agendaBgColor->label(),ii,0); | ||
1138 | topLayout->addWidget(agendaBgColor->button(),ii++,1); | ||
1139 | |||
1140 | // working hours color | ||
1141 | KPrefsWidColor *workingHoursColor = | ||
1142 | addWidColor(i18n("Working hours color:"), | ||
1143 | &(KOPrefs::instance()->mWorkingHoursColor),topFrame); | ||
1144 | topLayout->addWidget(workingHoursColor->label(),ii,0); | ||
1145 | topLayout->addWidget(workingHoursColor->button(),ii++,1); | ||
1146 | |||
1147 | KPrefsWidBool *sb = | ||
1148 | addWidBool(i18n("Use colors for application:"), | ||
1149 | &(KOPrefs::instance()->mUseAppColors),topFrame); | ||
1150 | topLayout->addMultiCellWidget(sb->checkBox(), ii, ii, 0,1 ); | ||
1151 | |||
1152 | ii++; | ||
1153 | KPrefsWidColor * workingHoursColor1 = | ||
1154 | addWidColor(i18n("Buttons, menus, etc.:"), | ||
1155 | &(KOPrefs::instance()->mAppColor1),topFrame); | ||
1156 | topLayout->addWidget(workingHoursColor1->label(),ii,0); | ||
1157 | topLayout->addWidget(workingHoursColor1->button(),ii++,1); | ||
1158 | |||
1159 | KPrefsWidColor * workingHoursColor2 = | ||
1160 | addWidColor(i18n("Frames, labels, etc.:"), | ||
1161 | &(KOPrefs::instance()->mAppColor2),topFrame); | ||
1162 | topLayout->addWidget(workingHoursColor2->label(),ii,0); | ||
1163 | topLayout->addWidget(workingHoursColor2->button(),ii++,1); | ||
1164 | |||
1165 | |||
1166 | |||
1167 | } | ||
1168 | |||
1169 | void KOPrefsDialog::setCategoryColor() | ||
1170 | { | ||
1171 | mCategoryDict.replace(mCategoryCombo->currentText(), new QColor(mCategoryButton->color())); | ||
1172 | } | ||
1173 | |||
1174 | void KOPrefsDialog::updateCategoryColor() | ||
1175 | { | ||
1176 | QString cat = mCategoryCombo->currentText(); | ||
1177 | QColor *color = mCategoryDict.find(cat); | ||
1178 | if (!color) { | ||
1179 | color = KOPrefs::instance()->categoryColor(cat); | ||
1180 | } | ||
1181 | if (color) { | ||
1182 | mCategoryButton->setColor(*color); | ||
1183 | } | ||
1184 | } | ||
1185 | |||
1186 | void KOPrefsDialog::setupPrinterTab() | ||
1187 | { | ||
1188 | mPrinterTab = addPage(i18n("Printing"),0, | ||
1189 | DesktopIcon("fileprint",KIcon::SizeMedium)); | ||
1190 | |||
1191 | QGridLayout *topLayout = new QGridLayout(mPrinterTab,5,2); | ||
1192 | topLayout->setSpacing(spacingHint()); | ||
1193 | topLayout->setMargin(marginHint()); | ||
1194 | |||
1195 | topLayout->setRowStretch(4,1); | ||
1196 | } | ||
1197 | |||
1198 | void KOPrefsDialog::setupGroupSchedulingTab() | ||
1199 | { | ||
1200 | #if 0 | ||
1201 | QFrame *topFrame = addPage(i18n("Group Scheduling"),0, | ||
1202 | DesktopIcon("personal",KIcon::SizeMedium)); | ||
1203 | |||
1204 | QGridLayout *topLayout = new QGridLayout(topFrame,6,2); | ||
1205 | topLayout->setSpacing(spacingHint()); | ||
1206 | topLayout->setMargin(marginHint()); | ||
1207 | |||
1208 | #if 0 | ||
1209 | KPrefsWidRadios *schedulerGroup = | ||
1210 | addWidRadios(i18n("Scheduler Mail Client"),&(KOPrefs::instance()->mIMIPScheduler), | ||
1211 | topFrame); | ||
1212 | schedulerGroup->addRadio("Dummy"); // Only for debugging | ||
1213 | schedulerGroup->addRadio(i18n("Mail client")); | ||
1214 | |||
1215 | topLayout->addMultiCellWidget(schedulerGroup->groupBox(),0,0,0,1); | ||
1216 | #endif | ||
1217 | |||
1218 | KPrefsWidRadios *sendGroup = | ||
1219 | addWidRadios(i18n("Scheduler Mails Should Be"),&(KOPrefs::instance()->mIMIPSend), | ||
1220 | topFrame); | ||
1221 | sendGroup->addRadio(i18n("Send to outbox")); | ||
1222 | sendGroup->addRadio(i18n("Send directly")); | ||
1223 | |||
1224 | topLayout->addMultiCellWidget(sendGroup->groupBox(),1,1,0,1); | ||
1225 | |||
1226 | topLayout->addMultiCellWidget(new QLabel(i18n("Additional email addresses:"),topFrame),2,2,0,1); | ||
1227 | mAMails = new QListView(topFrame); | ||
1228 | mAMails->addColumn(i18n("Email"),300); | ||
1229 | topLayout->addMultiCellWidget(mAMails,3,3,0,1); | ||
1230 | |||
1231 | topLayout->addWidget(new QLabel(i18n("Additional email address:"),topFrame),4,0); | ||
1232 | aEmailsEdit = new QLineEdit(topFrame); | ||
1233 | aEmailsEdit->setEnabled(false); | ||
1234 | topLayout->addWidget(aEmailsEdit,4,1); | ||
1235 | |||
1236 | QPushButton *add = new QPushButton(i18n("New"),topFrame,"new"); | ||
1237 | topLayout->addWidget(add,5,0); | ||
1238 | QPushButton *del = new QPushButton(i18n("Remove"),topFrame,"remove"); | ||
1239 | topLayout->addWidget(del,5,1); | ||
1240 | |||
1241 | //topLayout->setRowStretch(2,1); | ||
1242 | connect(add, SIGNAL( clicked() ), this, SLOT(addItem()) ); | ||
1243 | connect(del, SIGNAL( clicked() ), this, SLOT(removeItem()) ); | ||
1244 | connect(aEmailsEdit,SIGNAL( textChanged(const QString&) ), this,SLOT(updateItem())); | ||
1245 | connect(mAMails,SIGNAL(selectionChanged(QListViewItem *)),SLOT(updateInput())); | ||
1246 | #endif | ||
1247 | } | ||
1248 | |||
1249 | void KOPrefsDialog::setupGroupAutomationTab() | ||
1250 | { | ||
1251 | return; | ||
1252 | QFrame *topFrame = addPage(i18n("Group Automation"),0, | ||
1253 | DesktopIcon("personal",KIcon::SizeMedium)); | ||
1254 | |||
1255 | QGridLayout *topLayout = new QGridLayout(topFrame,5,1); | ||
1256 | topLayout->setSpacing(spacingHint()); | ||
1257 | topLayout->setMargin(marginHint()); | ||
1258 | |||
1259 | KPrefsWidRadios *autoRefreshGroup = | ||
1260 | addWidRadios(i18n("Auto Send Refresh"), | ||
1261 | &(KOPrefs::instance()->mIMIPAutoRefresh),topFrame); | ||
1262 | autoRefreshGroup->addRadio(i18n("Never")); | ||
1263 | autoRefreshGroup->addRadio(i18n("If attendee is in addressbook")); | ||
1264 | //autoRefreshGroup->addRadio(i18n("selected emails")); | ||
1265 | topLayout->addMultiCellWidget(autoRefreshGroup->groupBox(),0,0,0,0); | ||
1266 | |||
1267 | KPrefsWidRadios *autoInsertGroup = | ||
1268 | addWidRadios(i18n("Auto Insert IMIP Replies"), | ||
1269 | &(KOPrefs::instance()->mIMIPAutoInsertReply),topFrame); | ||
1270 | autoInsertGroup->addRadio(i18n("Never")); | ||
1271 | autoInsertGroup->addRadio(i18n("If attendee is in addressbook")); | ||
1272 | //autoInsertGroup->addRadio(i18n("selected emails")); | ||
1273 | topLayout->addMultiCellWidget(autoInsertGroup->groupBox(),1,1,0,0); | ||
1274 | |||
1275 | KPrefsWidRadios *autoRequestGroup = | ||
1276 | addWidRadios(i18n("Auto Insert IMIP Requests"), | ||
1277 | &(KOPrefs::instance()->mIMIPAutoInsertRequest),topFrame); | ||
1278 | autoRequestGroup->addRadio(i18n("Never")); | ||
1279 | autoRequestGroup->addRadio(i18n("If organizer is in addressbook")); | ||
1280 | //autoInsertGroup->addRadio(i18n("selected emails")); | ||
1281 | topLayout->addMultiCellWidget(autoRequestGroup->groupBox(),2,2,0,0); | ||
1282 | |||
1283 | KPrefsWidRadios *autoFreeBusyGroup = | ||
1284 | addWidRadios(i18n("Auto Send FreeBusy Information"), | ||
1285 | &(KOPrefs::instance()->mIMIPAutoFreeBusy),topFrame); | ||
1286 | autoFreeBusyGroup->addRadio(i18n("Never")); | ||
1287 | autoFreeBusyGroup->addRadio(i18n("If requested from an email in addressbook")); | ||
1288 | //autoFreeBusyGroup->addRadio(i18n("selected emails")); | ||
1289 | topLayout->addMultiCellWidget(autoFreeBusyGroup->groupBox(),3,3,0,0); | ||
1290 | |||
1291 | KPrefsWidRadios *autoFreeBusyReplyGroup = | ||
1292 | addWidRadios(i18n("Auto Save FreeBusy Replies"), | ||
1293 | &(KOPrefs::instance()->mIMIPAutoFreeBusyReply),topFrame); | ||
1294 | autoFreeBusyReplyGroup->addRadio(i18n("Never")); | ||
1295 | autoFreeBusyReplyGroup->addRadio(i18n("If attendee is in addressbook")); | ||
1296 | //autoFreeBusyGroup->addRadio(i18n("selected emails")); | ||
1297 | topLayout->addMultiCellWidget(autoFreeBusyReplyGroup->groupBox(),4,4,0,0); | ||
1298 | } | ||
1299 | |||
1300 | void KOPrefsDialog::showPrinterTab() | ||
1301 | { | ||
1302 | showPage(pageIndex(mPrinterTab)); | ||
1303 | } | ||
1304 | |||
1305 | |||
1306 | void KOPrefsDialog::setCombo(QComboBox *combo, const QString & text, | ||
1307 | const QStringList *tags) | ||
1308 | { | ||
1309 | if (tags) { | ||
1310 | int i = tags->findIndex(text); | ||
1311 | if (i > 0) combo->setCurrentItem(i); | ||
1312 | } else { | ||
1313 | for(int i=0;i<combo->count();++i) { | ||
1314 | if (combo->text(i) == text) { | ||
1315 | combo->setCurrentItem(i); | ||
1316 | break; | ||
1317 | } | ||
1318 | } | ||
1319 | } | ||
1320 | } | ||
1321 | |||
1322 | void KOPrefsDialog::usrReadConfig() | ||
1323 | { | ||
1324 | mNameEdit->setText(KOPrefs::instance()->fullName()); | ||
1325 | mEmailEdit->setText(KOPrefs::instance()->email()); | ||
1326 | |||
1327 | mAutoSaveIntervalSpin->setValue(KOPrefs::instance()->mAutoSaveInterval); | ||
1328 | QDate current ( 2001, 1,1); | ||
1329 | mStartDateSavingEdit->setDate(current.addDays(KOPrefs::instance()->mDaylightsavingStart-1)); | ||
1330 | mEndDateSavingEdit->setDate(current.addDays(KOPrefs::instance()->mDaylightsavingEnd-1)); | ||
1331 | setCombo(mTimeZoneCombo,i18n(KOPrefs::instance()->mTimeZoneId)); | ||
1332 | //mTimezoneOffsetSpin->setValue( KOPrefs::instance()->mTimeZoneOffset); | ||
1333 | mStartTimeSpin->setValue(KOPrefs::instance()->mStartTime); | ||
1334 | mDefaultDurationSpin->setValue(KOPrefs::instance()->mDefaultDuration); | ||
1335 | mAlarmTimeCombo->setCurrentItem(KOPrefs::instance()->mAlarmTime); | ||
1336 | // if (KOPrefs::instance()->mAllDaySize > 47 ) | ||
1337 | // KOPrefs::instance()->mAllDaySize = KOPrefs::instance()->mAllDaySize/2; | ||
1338 | //mHourSizeSlider->setValue(KOPrefs::instance()->mAllDaySize); | ||
1339 | |||
1340 | mNextXDaysSpin->setValue(KOPrefs::instance()->mNextXDays); | ||
1341 | mWhatsNextSpin->setValue(KOPrefs::instance()->mWhatsNextDays); | ||
1342 | mPrioSpin->setValue(KOPrefs::instance()->mWhatsNextPrios); | ||
1343 | // mAMails->clear(); | ||
1344 | // for ( QStringList::Iterator it = KOPrefs::instance()->mAdditionalMails.begin(); | ||
1345 | // it != KOPrefs::instance()->mAdditionalMails.end(); ++it ) { | ||
1346 | // QListViewItem *item = new QListViewItem(mAMails); | ||
1347 | // item->setText(0,*it); | ||
1348 | // mAMails->insertItem(item); | ||
1349 | // } | ||
1350 | |||
1351 | // mRemoteIPEdit->setText(KOPrefs::instance()->mRemoteIP); | ||
1352 | //mRemoteUser->setText(KOPrefs::instance()->mRemoteUser); | ||
1353 | //mRemotePassWd->setText(KOPrefs::instance()->mRemotePassWd); | ||
1354 | //mRemoteFile->setText(KOPrefs::instance()->mRemoteFile); | ||
1355 | |||
1356 | //that soundmLocalTempFile->setText(KOPrefs::instance()->mLocalTempFile); | ||
1357 | mDefaultAlarmFile->setText(KOPrefs::instance()->mDefaultAlarmFile); | ||
1358 | QString dummy = KOPrefs::instance()->mUserDateFormatLong; | ||
1359 | mUserDateFormatLong->setText(dummy.replace( QRegExp("K"), QString(",") )); | ||
1360 | dummy = KOPrefs::instance()->mUserDateFormatShort; | ||
1361 | mUserDateFormatShort->setText(dummy.replace( QRegExp("K"), QString(",") )); | ||
1362 | updateCategories(); | ||
1363 | mAlarmPlayBeeps->setValue(KOPrefs::instance()->mAlarmPlayBeeps ); | ||
1364 | mAlarmSuspendTime->setValue(KOPrefs::instance()->mAlarmSuspendTime ); | ||
1365 | mAlarmSuspendCount->setValue(KOPrefs::instance()->mAlarmSuspendCount ); | ||
1366 | mAlarmBeepInterval->setValue(KOPrefs::instance()->mAlarmBeepInterval ); | ||
1367 | } | ||
1368 | |||
1369 | |||
1370 | void KOPrefsDialog::usrWriteConfig() | ||
1371 | { | ||
1372 | |||
1373 | // KOPrefs::instance()->mRemoteIP = mRemoteIPEdit->text(); | ||
1374 | //KOPrefs::instance()->mRemoteUser = mRemoteUser->text(); | ||
1375 | //KOPrefs::instance()->mRemotePassWd = mRemotePassWd->text(); | ||
1376 | //KOPrefs::instance()->mRemoteFile= mRemoteFile->text(); | ||
1377 | //KOPrefs::instance()->mLocalTempFile =mLocalTempFile->text(); | ||
1378 | KOPrefs::instance()->mDefaultAlarmFile =mDefaultAlarmFile->text(); | ||
1379 | |||
1380 | KOPrefs::instance()->mUserDateFormatShort = mUserDateFormatShort->text().replace( QRegExp(","), QString("K") ); | ||
1381 | KOPrefs::instance()->mUserDateFormatLong = mUserDateFormatLong->text().replace( QRegExp(","), QString("K") ); | ||
1382 | KOPrefs::instance()->setFullName(mNameEdit->text()); | ||
1383 | KOPrefs::instance()->setEmail(mEmailEdit->text()); | ||
1384 | |||
1385 | KOPrefs::instance()->mAutoSaveInterval = mAutoSaveIntervalSpin->value(); | ||
1386 | |||
1387 | KOPrefs::instance()->mTimeZoneId = mTimeZoneCombo->currentText(); | ||
1388 | QDate date; | ||
1389 | date = mStartDateSavingEdit->date(); | ||
1390 | int sub = 0; | ||
1391 | if ( QDate::leapYear( date.year() ) && date.dayOfYear() > 59 ) | ||
1392 | sub = 1; | ||
1393 | KOPrefs::instance()->mDaylightsavingStart = date.dayOfYear()-sub; | ||
1394 | date = mEndDateSavingEdit->date(); | ||
1395 | if ( QDate::leapYear( date.year() ) && date.dayOfYear() > 59 ) | ||
1396 | sub = 1; | ||
1397 | else | ||
1398 | sub = 0; | ||
1399 | KOPrefs::instance()->mDaylightsavingEnd = date.dayOfYear()-sub; | ||
1400 | // KOPrefs::instance()->mTimeZoneOffset = mTimezoneOffsetSpin->value(); | ||
1401 | |||
1402 | KOPrefs::instance()->mStartTime = mStartTimeSpin->value(); | ||
1403 | KOPrefs::instance()->mDefaultDuration = mDefaultDurationSpin->value(); | ||
1404 | KOPrefs::instance()->mAlarmTime = mAlarmTimeCombo->currentItem(); | ||
1405 | |||
1406 | //KOPrefs::instance()->mAllDaySize = mHourSizeSlider->value(); | ||
1407 | |||
1408 | QDictIterator<QColor> it(mCategoryDict); | ||
1409 | while (it.current()) { | ||
1410 | KOPrefs::instance()->setCategoryColor(it.currentKey(),*it.current()); | ||
1411 | ++it; | ||
1412 | } | ||
1413 | |||
1414 | KOPrefs::instance()->mNextXDays = mNextXDaysSpin->value(); | ||
1415 | KOPrefs::instance()->mWhatsNextDays = mWhatsNextSpin->value(); | ||
1416 | KOPrefs::instance()->mWhatsNextPrios = mPrioSpin->value(); | ||
1417 | |||
1418 | KOPrefs::instance()->mAdditionalMails.clear(); | ||
1419 | // QListViewItem *item; | ||
1420 | // item = mAMails->firstChild(); | ||
1421 | // while (item) | ||
1422 | // { | ||
1423 | // KOPrefs::instance()->mAdditionalMails.append( item->text(0) ); | ||
1424 | // item = item->nextSibling(); | ||
1425 | // } | ||
1426 | KOPrefs::instance()->mAlarmPlayBeeps = mAlarmPlayBeeps->value(); | ||
1427 | KOPrefs::instance()->mAlarmSuspendTime = mAlarmSuspendTime->value() ; | ||
1428 | KOPrefs::instance()->mAlarmSuspendCount= mAlarmSuspendCount->value() ; | ||
1429 | KOPrefs::instance()->mAlarmBeepInterval= mAlarmBeepInterval->value() ; | ||
1430 | |||
1431 | } | ||
1432 | |||
1433 | void KOPrefsDialog::updateCategories() | ||
1434 | { | ||
1435 | mCategoryCombo->clear(); | ||
1436 | mCategoryDict.clear(); | ||
1437 | mCategoryCombo->insertStringList(KOPrefs::instance()->mCustomCategories); | ||
1438 | updateCategoryColor(); | ||
1439 | } | ||
1440 | |||
1441 | void KOPrefsDialog::warningGroupScheduling() | ||
1442 | { | ||
1443 | warningExperimental(mEnableGroupScheduling->checkBox()->isChecked()); | ||
1444 | } | ||
1445 | |||
1446 | void KOPrefsDialog::warningProjectView() | ||
1447 | { | ||
1448 | warningExperimental(mEnableProjectView->checkBox()->isChecked()); | ||
1449 | } | ||
1450 | |||
1451 | void KOPrefsDialog::warningExperimental(bool on) | ||
1452 | { | ||
1453 | if (on) { | ||
1454 | KMessageBox::information(this,i18n("This is an experimental feature. " | ||
1455 | "It may not work, it may do nothing useful and it may cause data loss. " | ||
1456 | "Use with care.\n" | ||
1457 | "You have to restart KOrganizer for this setting to take effect.")); | ||
1458 | } else { | ||
1459 | KMessageBox::information(this, | ||
1460 | i18n("You have to restart KOrganizer for this setting to take effect.")); | ||
1461 | } | ||
1462 | } | ||
1463 | |||
1464 | void KOPrefsDialog::toggleEmailSettings(bool on) | ||
1465 | { | ||
1466 | if (on) { | ||
1467 | mEmailEdit->setEnabled(false); | ||
1468 | mNameEdit->setEnabled(false); | ||
1469 | mEmailLabel->setEnabled(false); | ||
1470 | mNameLabel->setEnabled(false); | ||
1471 | |||
1472 | KEMailSettings settings; | ||
1473 | mNameEdit->setText(settings.getSetting(KEMailSettings::RealName)); | ||
1474 | mEmailEdit->setText(settings.getSetting(KEMailSettings::EmailAddress)); | ||
1475 | } else { | ||
1476 | mEmailEdit->setEnabled(true); | ||
1477 | mNameEdit->setEnabled(true); | ||
1478 | mEmailLabel->setEnabled(true); | ||
1479 | mNameLabel->setEnabled(true); | ||
1480 | } | ||
1481 | } | ||
1482 | |||
1483 | void KOPrefsDialog::addItem() | ||
1484 | { | ||
1485 | // aEmailsEdit->setEnabled(true); | ||
1486 | // QListViewItem *item = new QListViewItem(mAMails); | ||
1487 | // mAMails->insertItem(item); | ||
1488 | // mAMails->setSelected(item,true); | ||
1489 | // aEmailsEdit->setText(i18n("(EmptyEmail)")); | ||
1490 | } | ||
1491 | |||
1492 | void KOPrefsDialog::removeItem() | ||
1493 | { | ||
1494 | // QListViewItem *item; | ||
1495 | // item = mAMails->selectedItem(); | ||
1496 | // if (!item) return; | ||
1497 | // mAMails->takeItem(item); | ||
1498 | // item = mAMails->selectedItem(); | ||
1499 | // if (!item) { | ||
1500 | // aEmailsEdit->setText(""); | ||
1501 | // aEmailsEdit->setEnabled(false); | ||
1502 | // } | ||
1503 | // if (mAMails->childCount() == 0) { | ||
1504 | // aEmailsEdit->setEnabled(false); | ||
1505 | // } | ||
1506 | } | ||
1507 | |||
1508 | void KOPrefsDialog::updateItem() | ||
1509 | { | ||
1510 | // QListViewItem *item; | ||
1511 | // item = mAMails->selectedItem(); | ||
1512 | // if (!item) return; | ||
1513 | // item->setText(0,aEmailsEdit->text()); | ||
1514 | } | ||
1515 | |||
1516 | void KOPrefsDialog::updateInput() | ||
1517 | { | ||
1518 | // QListViewItem *item; | ||
1519 | // item = mAMails->selectedItem(); | ||
1520 | // if (!item) return; | ||
1521 | // aEmailsEdit->setEnabled(true); | ||
1522 | // aEmailsEdit->setText(item->text(0)); | ||
1523 | } | ||
1524 | void KOPrefsDialog::updateTimezoneOffset( int index ) | ||
1525 | { | ||
1526 | /* | ||
1527 | qDebug("updateTimezoneOffset %d ", index); | ||
1528 | if ( index < 24 ) { | ||
1529 | mTimezoneOffsetSpin->setEnabled ( false ); | ||
1530 | mTimezoneOffsetSpin->setValue( ( index-11 ) * 60 ); | ||
1531 | |||
1532 | |||
1533 | } else { | ||
1534 | if ( index == 24 ) { | ||
1535 | mTimezoneOffsetSpin->setEnabled ( true ); | ||
1536 | mTimezoneOffsetSpin->setValue( KOPrefs::instance()->mTimeZoneOffset); | ||
1537 | |||
1538 | } else { | ||
1539 | mTimezoneOffsetSpin->setEnabled ( false ); | ||
1540 | mTimezoneOffsetSpin->setValue( 0 ); | ||
1541 | } | ||
1542 | } | ||
1543 | */ | ||
1544 | } | ||
1545 | |||
1546 | void KOPrefsDialog::setupTimeZoneTab() | ||
1547 | { | ||
1548 | QFrame *topFrame = addPage(i18n("Time Zone"),0,0); | ||
1549 | // DesktopIcon("clock",KIcon::SizeMedium)); | ||
1550 | |||
1551 | QGridLayout *topLayout = new QGridLayout(topFrame,5,2); | ||
1552 | topLayout->setSpacing(spacingHint()); | ||
1553 | topLayout->setMargin(marginHint()); | ||
1554 | |||
1555 | QHBox *timeZoneBox = new QHBox( topFrame ); | ||
1556 | topLayout->addMultiCellWidget( timeZoneBox, 0, 0, 0, 1 ); | ||
1557 | |||
1558 | new QLabel( i18n("Timezone:"), timeZoneBox ); | ||
1559 | mTimeZoneCombo = new QComboBox( timeZoneBox ); | ||
1560 | if ( QApplication::desktop()->width() < 300 ) { | ||
1561 | mTimeZoneCombo->setMaximumWidth(150); | ||
1562 | } | ||
1563 | |||
1564 | QStringList list; | ||
1565 | list = KGlobal::locale()->timeZoneList(); | ||
1566 | mTimeZoneCombo->insertStringList(list); | ||
1567 | |||
1568 | // find the currently set time zone and select it | ||
1569 | QString sCurrentlySet = KOPrefs::instance()->mTimeZoneId; | ||
1570 | int nCurrentlySet = 11; | ||
1571 | for (int i = 0; i < mTimeZoneCombo->count(); i++) | ||
1572 | { | ||
1573 | if (mTimeZoneCombo->text(i) == sCurrentlySet) | ||
1574 | { | ||
1575 | nCurrentlySet = i; | ||
1576 | break; | ||
1577 | } | ||
1578 | } | ||
1579 | mTimeZoneCombo->setCurrentItem(nCurrentlySet); | ||
1580 | int iii = 1; | ||
1581 | KPrefsWidBool *sb = | ||
1582 | addWidBool(i18n("Timezone has daylight saving"), | ||
1583 | &(KOPrefs::instance()->mUseDaylightsaving),topFrame); | ||
1584 | topLayout->addMultiCellWidget(sb->checkBox(), iii,iii,0,1); | ||
1585 | ++iii; | ||
1586 | QLabel* lab = new QLabel( i18n("Actual start and end is the\nsunday before this date."), topFrame ); | ||
1587 | topLayout->addMultiCellWidget(lab, iii,iii,0,1); | ||
1588 | ++iii; | ||
1589 | lab = new QLabel( i18n("The year in the date is ignored."), topFrame ); | ||
1590 | topLayout->addMultiCellWidget(lab, iii,iii,0,1); | ||
1591 | ++iii; | ||
1592 | lab = new QLabel( i18n("Daylight start:"), topFrame ); | ||
1593 | topLayout->addWidget(lab, iii,0); | ||
1594 | mStartDateSavingEdit = new KDateEdit(topFrame); | ||
1595 | topLayout->addWidget(mStartDateSavingEdit, iii,1); | ||
1596 | ++iii; | ||
1597 | |||
1598 | lab = new QLabel( i18n("Daylight end:"), topFrame ); | ||
1599 | topLayout->addWidget(lab, iii,0); | ||
1600 | mEndDateSavingEdit = new KDateEdit(topFrame); | ||
1601 | topLayout->addWidget(mEndDateSavingEdit, iii,1); | ||
1602 | ++iii; | ||
1603 | QDate current ( 2001, 1,1); | ||
1604 | mStartDateSavingEdit->setDate(current.addDays(KOPrefs::instance()->mDaylightsavingStart-1)); | ||
1605 | mEndDateSavingEdit->setDate(current.addDays(KOPrefs::instance()->mDaylightsavingEnd-1)); | ||
1606 | |||
1607 | |||
1608 | } | ||
1609 | |||