summaryrefslogtreecommitdiffabout
Unidiff
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--kmicromail/koprefs.cpp~568
-rw-r--r--kmicromail/koprefs.h~304
-rw-r--r--kmicromail/koprefsdialog.cpp~1609
-rw-r--r--kmicromail/koprefsdialog.h~161
4 files changed, 0 insertions, 2642 deletions
diff --git a/kmicromail/koprefs.cpp~ b/kmicromail/koprefs.cpp~
deleted file mode 100644
index dd978bf..0000000
--- a/kmicromail/koprefs.cpp~
+++ b/dev/null
@@ -1,568 +0,0 @@
1/*
2 This file is part of KOrganizer.
3 Copyright (c) 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 <time.h>
25#ifndef _WIN32_
26#include <unistd.h>
27#endif
28#include <qdir.h>
29#include <qtextstream.h>
30#include <qtextcodec.h>
31#include <qstring.h>
32#include <qregexp.h>
33#include <qfont.h>
34#include <qcolor.h>
35#include <qstringlist.h>
36#include <stdlib.h>
37
38#include <kglobal.h>
39#include <kconfig.h>
40#include <klocale.h>
41#include <kdebug.h>
42#include <kemailsettings.h>
43#include <kstaticdeleter.h>
44
45#include "koprefs.h"
46#include "mainwindow.h"
47
48const char *germanwords[][2] = {
49#include "wordsgerman.h"
50 "", ""
51};
52
53KOPrefs *KOPrefs::mInstance = 0;
54static KStaticDeleter<KOPrefs> insd;
55
56KOPrefs::KOPrefs() :
57 KPimPrefs("korganizerrc")
58{
59 mCategoryColors.setAutoDelete(true);
60 mLocaleDict = 0;
61 fillMailDefaults();
62 mDefaultCategoryColor = QColor(175,210,255);//196,196,196);
63 QColor defaultHolidayColor = QColor(255,0,0);
64 QColor defaultHighlightColor = QColor(129,112,255);//64,64,255);
65 QColor defaultAgendaBgColor = QColor(239,241,169);//128,128,128);
66 QColor defaultWorkingHoursColor = QColor(170,223,150);//160,160,160);
67 QColor defaultTodoDueTodayColor = QColor(255,220,100);
68 QColor defaultTodoOverdueColor = QColor(255,153,125);
69
70 mTimeBarFont = QFont("helvetica",10);//,QFont::Bold);
71 mDefaultViewFont = QFont("helvetica",10);
72 mDefaultMonthViewFont = QFont("helvetica",8);
73 mMarcusBainsFont= QFont("helvetica",10);
74 mDateNavigatorFont= QFont("helvetica",10, QFont::Bold);
75 mEditBoxFont = QFont("helvetica",12);
76 mJornalViewFont = QFont("helvetica",12);
77
78 KPrefs::setCurrentGroup("General");
79 addItemBool("Enable Group Scheduling",&mEnableGroupScheduling,false);
80
81 addItemBool("ShowIconNewTodo",&mShowIconNewTodo,true);
82 addItemBool("ShowIconNewEvent",&mShowIconNewEvent,true);
83 addItemBool("ShowIconSearch",&mShowIconSearch,true);
84 addItemBool("ShowIconList",&mShowIconList,true);
85 addItemBool("ShowIconDay1",&mShowIconDay1,true);
86 addItemBool("ShowIconDay5",&mShowIconDay5,true);
87 addItemBool("ShowIconDay7",&mShowIconDay7,true);
88 addItemBool("ShowIconMonth",&mShowIconMonth,true);
89 addItemBool("ShowIconTodoview",&mShowIconTodoview,true);
90 addItemBool("ShowIconBackFast",&mShowIconBackFast,true);
91 addItemBool("ShowIconBack",&mShowIconBack,true);
92 addItemBool("ShowIconToday",&mShowIconToday,true);
93 addItemBool("ShowIconForward",&mShowIconForward,true);
94 addItemBool("ShowIconForwardFast",&mShowIconForwardFast,true);
95 addItemBool("ShowIconWhatsThis",&mShowIconWhatsThis,false);
96 addItemBool("ShowIconNextDays",&mShowIconNextDays,true);
97 addItemBool("ShowIconNext",&mShowIconNext,true);
98 addItemBool("ShowIconJournal",&mShowIconJournal,true);
99 addItemBool("ShowIconStretch",&mShowIconStretch,true);
100 addItemBool("LanguageChanged",&mLanguageChanged,false);
101
102 addItemBool("AskForQuit",&mAskForQuit,false);
103
104#ifndef DESKTOP_VERSION
105 addItemBool("ShowFullMenu",&mShowFullMenu,false);
106#else
107 addItemBool("ShowFullMenu",&mShowFullMenu,true);
108#endif
109 addItemBool("ToolBarHor",&mToolBarHor, true );
110 addItemBool("ToolBarUp",&mToolBarUp, false );
111 addItemBool("ToolBarMiniIcons",&mToolBarMiniIcons, false );
112 addItemInt("Whats Next Days",&mWhatsNextDays,3);
113 addItemInt("Whats Next Prios",&mWhatsNextPrios,1);
114
115 addItemBool("ShowTodoInAgenda",&mShowTodoInAgenda,true);
116 addItemBool("ShowCompletedTodo",&mShowCompletedTodo,true);
117 addItemInt("AllDay Size",&mAllDaySize,28);
118 QString defAlarm = KGlobal::iconLoader()->iconPath()+"koalarm.wav";
119 addItemString("DefaultAlarmFile",&mDefaultAlarmFile,defAlarm );
120
121 addItemStringList("LocationDefaults",&mLocationDefaults );
122 addItemStringList("EventSummary User",&mEventSummaryUser);
123 addItemStringList("TodoSummary User",&mTodoSummaryUser);
124
125 addItemBool("Enable Group Scheduling",&mEnableGroupScheduling,false);
126 addItemBool("Enable Project View",&mEnableProjectView,false);
127 addItemBool("Auto Save",&mAutoSave,false);
128 addItemInt("Auto Save Interval",&mAutoSaveInterval,3);
129 addItemBool("Confirm Deletes",&mConfirm,true);
130 addItemString("Archive File",&mArchiveFile);
131 addItemString("Html Export File",&mHtmlExportFile,
132 QDir::homeDirPath() + "/" + i18n("Default export file", "calendar.html"));
133 addItemBool("Html With Save",&mHtmlWithSave,false);
134
135 KPrefs::setCurrentGroup("Personal Settings");
136
137 addItemInt("Mail Client",&mMailClient,MailClientKMail);
138 addItemBool("Use Control Center Email",&mEmailControlCenter,false);
139 addItemBool("Bcc",&mBcc,false);
140
141 KPrefs::setCurrentGroup("Time & Date");
142
143 // addItemString("Time Zone",&mTimeZone,"+0100");
144 addItemString("TimeZoneName",&mTimeZoneId,i18n ("+01:00 Europe/Oslo(CET)") );
145 // addItemInt("TimeZoneOffset",&mTimeZoneOffset,60);
146 addItemBool("UseDaylightsaving",&mUseDaylightsaving,true);
147 addItemInt("DaylightsavingStart",&mDaylightsavingStart,90);
148 addItemInt("DaylightsavingEnd",&mDaylightsavingEnd,304);
149
150
151 addItemInt("Default Start Time",&mStartTime,10);
152 addItemInt("Default Duration",&mDefaultDuration,2);
153 addItemInt("Default Alarm Time",&mAlarmTime,3);
154 addItemInt("Daylight Savings",&mDaylightSavings,0);
155 KPrefs::setCurrentGroup("AlarmSettings");
156 addItemInt("AlarmPlayBeeps",&mAlarmPlayBeeps,20);
157 addItemInt("AlarmSuspendTime",&mAlarmSuspendTime,7);
158 addItemInt("AlarmSuspendCount",&mAlarmSuspendCount,5);
159 addItemInt("AlarmBeepInterval",&mAlarmBeepInterval,3);
160
161
162 KPrefs::setCurrentGroup("Calendar");
163
164 addItemInt("Default Calendar Format",&mDefaultFormat,FormatICalendar);
165
166 KPrefs::setCurrentGroup("Fonts");
167 // qDebug(" KPrefs::setCurrentGroup(Fonts); ");
168 addItemFont("TimeBar Font",&mTimeBarFont);
169 addItemFont("MonthView Font",&mMonthViewFont);
170 addItemFont("AgendaView Font",&mAgendaViewFont);
171 addItemFont("MarcusBains Font",&mMarcusBainsFont);
172 addItemFont("TimeLabels Font",&mTimeLabelsFont);
173 addItemFont("TodoView Font",&mTodoViewFont);
174 addItemFont("ListView Font",&mListViewFont);
175 addItemFont("DateNavigator Font",&mDateNavigatorFont);
176 addItemFont("EditBox Font",&mEditBoxFont);
177 addItemFont("JournalView Font",&mJornalViewFont);
178 addItemFont("WhatsNextView Font",&mWhatsNextFont);
179 addItemFont("EventView Font",&mEventViewFont);
180
181// KPrefs::setCurrentGroup("SyncProfiles");
182// addItemString("LocalMachineName",&mLocalMachineName, "undefined");
183// addItemStringList("SyncProfileNames",&mSyncProfileNames);
184// addItemStringList("ExternSyncProfiles",&mExternSyncProfileNames);
185
186 KPrefs::setCurrentGroup("RemoteSyncing");
187// addItemBool("UsePasswd",&mUsePassWd,false);
188// addItemBool("WriteBackFile",&mWriteBackFile,true);
189// addItemBool("WriteBackExistingOnly",&mWriteBackExistingOnly,false);
190// addItemBool("AskForPreferences",&mAskForPreferences,true);
191// addItemBool("ShowSyncSummary",&mShowSyncSummary,true);
192 addItemBool("ShowSyncEvents",&mShowSyncEvents,false);
193 addItemInt("LastSyncTime",&mLastSyncTime,0);
194 addItemInt("SyncAlgoPrefs",&mSyncAlgoPrefs,3);
195 addItemInt("RingSyncAlgoPrefs",&mRingSyncAlgoPrefs,3);
196
197#ifdef _WIN32_
198 QString hdp= locateLocal("data","korganizer")+"\\\\";
199#else
200 QString hdp= locateLocal("data","korganizer")+"/";
201#endif
202// addItemString("RemoteIP",&mRemoteIP, "192.168.0.65");
203// addItemString("RemoteUser",&mRemoteUser, "zaurus");
204// addItemString("RemotePassWd",&mRemotePassWd, "");
205// addItemString("RemoteFile", &mRemoteFile, hdp+"mycalendar.ics");
206// addItemString("LocalTempFile",&mLocalTempFile, "/tmp/tempsyncfile.ics" );
207
208
209 KPrefs::setCurrentGroup("LoadSaveFileNames");
210
211 addItemString("LastImportFile", &mLastImportFile ,hdp +"import.ics" );
212 addItemString("LastVcalFile", &mLastVcalFile ,hdp +"export.vcs" );
213 addItemString("LastSaveFile", &mLastSaveFile ,hdp +"mybackup.ics" );
214 addItemString("LastLoadFile", &mLastLoadFile ,hdp +"mybackup.ics" );
215 addItemString("LastSyncedLocalFile", &mLastSyncedLocalFile ,hdp +"lastsync.ics" );
216
217
218 KPrefs::setCurrentGroup("Locale");
219 addItemInt("PreferredLanguage",&mPreferredLanguage,0);
220 addItemInt("PreferredTime",&mPreferredTime,0);
221 addItemInt("PreferredDate",&mPreferredDate,0);
222 addItemBool("WeekStartsOnSunday",&mWeekStartsOnSunday,false);
223 addItemBool("QuickSavingWOUnicode",&mUseQuicksave,false);
224 addItemBool("ShortDateInViewer",&mShortDateInViewer,false);
225 addItemString("UserDateFormatLong", &mUserDateFormatLong, "%A %d %b %y");
226 addItemString("UserDateFormatShort", &mUserDateFormatShort, "%aK %d.%m.%y");
227
228
229 KPrefs::setCurrentGroup("Colors");
230 addItemColor("Holiday Color",&mHolidayColor,defaultHolidayColor);
231 addItemColor("Highlight Color",&mHighlightColor,defaultHighlightColor);
232 addItemColor("Event Color",&mEventColor,mDefaultCategoryColor);
233 addItemColor("Agenda Background Color",&mAgendaBgColor,defaultAgendaBgColor);
234 addItemColor("WorkingHours Color",&mWorkingHoursColor,defaultWorkingHoursColor);
235 addItemColor("Todo due today Color",&mTodoDueTodayColor,defaultTodoDueTodayColor);
236 addItemColor("Todo overdue Color",&mTodoOverdueColor,defaultTodoOverdueColor);
237 addItemColor("MonthViewEvenColor",&mMonthViewEvenColor,QColor( 160,160,255 ));
238 addItemColor("MonthViewOddColor",&mMonthViewOddColor,QColor( 160,255,160 ));
239 addItemColor("MonthViewHolidayColor",&mMonthViewHolidayColor,QColor( 255,160,160 ));
240 addItemBool("MonthViewUsesDayColors",&mMonthViewUsesDayColors,true);
241 addItemBool("MonthViewSatSunTog",&mMonthViewSatSunTog,true);
242 addItemBool("HightlightDateTimeEdit",&mHightlightDateTimeEdit,false);
243 addItemColor("AppColor1",&mAppColor1,QColor( 130,170,255 ));
244 addItemColor("AppColor2",&mAppColor2,QColor( 174,216,255 ));
245 addItemBool("UseAppColors",&mUseAppColors,false);
246
247
248
249 KPrefs::setCurrentGroup("Views");
250 addItemInt("Hour Size",&mHourSize,8);
251 addItemBool("Show Daily Recurrences",&mDailyRecur,true);
252 addItemBool("Show Weekly Recurrences",&mWeeklyRecur,true);
253 addItemBool("Show Month Daily Recurrences",&mMonthDailyRecur,true);
254 addItemBool("Show Month Weekly Recurrences",&mMonthWeeklyRecur,true);
255 addItemBool("ShowShortMonthName",&mMonthShowShort,false);
256 addItemBool("ShowIconsInMonthCell",&mMonthShowIcons,true);
257 addItemBool("Enable ToolTips",&mEnableToolTips,false);
258 addItemBool("Enable MonthView ScrollBars",&mEnableMonthScroll,false);
259 addItemBool("Marcus Bains shows seconds",&mMarcusBainsShowSeconds,false);
260 addItemBool("Show Marcus Bains",&mMarcusBainsEnabled,true);
261 addItemBool("EditOnDoubleClick",&mEditOnDoubleClick,true);
262 addItemBool("ViewChangeHoldFullscreen",&mViewChangeHoldFullscreen,false);
263 addItemBool("ViewChangeHoldNonFullscreen",&mViewChangeHoldNonFullscreen,false);
264 addItemBool("CenterOnCurrentTime",&mCenterOnCurrentTime,false);
265 addItemBool("SetTimeToDayStartAt",&mSetTimeToDayStartAt,true);
266 addItemBool("HighlightCurrentDay",&mHighlightCurrentDay,true);
267 addItemBool("WNViewShowsParents",&mWNViewShowsParents,true);
268 addItemBool("WNViewShowLocation",&mWNViewShowLocation,false);
269 addItemBool("UseHighlightLightColor",&mUseHighlightLightColor,false);
270 addItemBool("ListViewMonthTimespan",&mListViewMonthTimespan,true);
271 addItemBool("TodoViewUsesCatColors",&mTodoViewUsesCatColors,false);
272 addItemBool("TodoViewShowsPercentage",&mTodoViewShowsPercentage,false);
273 addItemBool("TodoViewUsesSmallFont",&mTodoViewUsesSmallFont,false);
274 addItemBool("TodoViewUsesForegroundColor",&mTodoViewUsesForegroundColor,false);
275 addItemBool("MonthViewUsesForegroundColor",&mMonthViewUsesForegroundColor,false);
276#ifdef DESKTOP_VERSION
277 addItemBool("UseInternalAlarmNotification",&mUseInternalAlarmNotification,true);
278#else
279 addItemBool("UseInternalAlarmNotification",&mUseInternalAlarmNotification,false);
280#endif
281 addItemInt("Day Begins",&mDayBegins,7);
282 addItemInt("Working Hours Start",&mWorkingHoursStart,8);
283 addItemInt("Working Hours End",&mWorkingHoursEnd,17);
284 addItemBool("Exclude Holidays",&mExcludeHolidays,true);
285 addItemBool("Exclude Saturdays",&mExcludeSaturdays,true);
286
287 addItemBool("Month View Uses Category Color",&mMonthViewUsesCategoryColor,false);
288 addItemBool("Full View Month",&mFullViewMonth,true);
289 addItemBool("Full View Todo",&mFullViewTodo,true);
290 addItemBool("Quick Todo",&mEnableQuickTodo,false);
291
292 addItemInt("Next X Days",&mNextXDays,3);
293
294 KPrefs::setCurrentGroup("Printer");
295
296 KPrefs::setCurrentGroup("Layout");
297
298 addItemBool("CompactDialogs",&mCompactDialogs,false);
299 addItemBool("VerticalScreen",&mVerticalScreen,true);
300
301 KPrefs::setCurrentGroup("KOrganizer Plugins");
302
303 addItemStringList("SelectedPlugins",&mSelectedPlugins,"holidays");
304
305 KPrefs::setCurrentGroup("Group Scheduling");
306
307 addItemInt("IMIPScheduler",&mIMIPScheduler,IMIPKMail);
308 addItemInt("IMIPSend",&mIMIPSend,IMIPdirectsend);
309 addItemStringList("AdditionalMails",&mAdditionalMails,"");
310 addItemInt("IMIP auto refresh",&mIMIPAutoRefresh,neverAuto);
311 addItemInt("IMIP auto insert request",&mIMIPAutoInsertRequest,neverAuto);
312 addItemInt("IMIP auto insert reply",&mIMIPAutoInsertReply,neverAuto);
313 addItemInt("IMIP auto FreeBusy",&mIMIPAutoFreeBusy,neverAuto);
314 addItemInt("IMIP auto save FreeBusy",&mIMIPAutoFreeBusyReply,neverAuto);
315
316 KPrefs::setCurrentGroup( "Editors" );
317
318 addItemStringList( "EventTemplates", &mEventTemplates );
319 addItemStringList( "TodoTemplates", &mTodoTemplates );
320
321 addItemInt("DestinationPolicy",&mDestination,standardDestination);
322
323
324
325}
326
327
328KOPrefs::~KOPrefs()
329{
330 if (mInstance == this)
331 mInstance = insd.setObject(0);
332 setLocaleDict( 0 );
333 if ( mLocaleDict )
334 delete mLocaleDict;
335 //qDebug("KOPrefs::~KOPrefs() ");
336}
337
338
339KOPrefs *KOPrefs::instance()
340{
341 if (!mInstance) {
342 mInstance = insd.setObject(new KOPrefs());
343 mInstance->readConfig();
344 }
345
346 return mInstance;
347}
348
349void KOPrefs::usrSetDefaults()
350{
351
352}
353
354void KOPrefs::fillMailDefaults()
355{
356 if (mName.isEmpty()) mName = i18n("Anonymous");
357 if (mEmail.isEmpty()) mEmail = i18n("nobody@nowhere");
358}
359
360void KOPrefs::setTimeZoneIdDefault()
361{
362 mTimeZoneId = i18n("+01:00 Europe/Oslo(CET)");
363}
364
365void KOPrefs::setCategoryDefaults()
366{
367 mCustomCategories.clear();
368 mCustomCategories = getDefaultList();
369
370 QStringList::Iterator it;
371 for (it = mCustomCategories.begin();it != mCustomCategories.end();++it ) {
372 setCategoryColor(*it,mDefaultCategoryColor);
373 }
374}
375
376QStringList KOPrefs::getDefaultList()
377{
378 QStringList retval ;
379 retval << i18n("Anniversary") << i18n("Appointment") << i18n("Birthday") << i18n("Business") << i18n("Business Travel") << i18n("Cinema") << i18n("Customer")
380 << i18n("Break")<< i18n("Breakfast")<< i18n("Competition")<< i18n("Dinner")
381 << i18n("Education")<< i18n("Family") << i18n("Favorites") << i18n("Festival")<< i18n("Fishing")<< i18n("Flight") << i18n("Gifts")
382 << i18n("Holiday") << i18n("Holiday Cards")<< i18n("Hot Contacts") << i18n("Hiking") << i18n("Hunting") << i18n("Key Customer") << i18n("Kids")
383 << i18n("Lunch") << i18n("Meeting") << i18n("Miscellaneous") << i18n("Partner")<< i18n("Party") << i18n("Personal") << i18n("Personal Travel")
384 << i18n("PHB") << i18n("Phone Calls") << i18n("Projects") << i18n("Recurring") << i18n("School") << i18n("Shopping")
385 << i18n("Speach") << i18n("Special Occasion") << i18n("Sports") << i18n("Talk") << i18n("Travel") << i18n("TV")<< i18n("University")
386 << i18n("Vacation") << i18n("VIP") << i18n("SyncEvent") ;
387 retval.sort();
388 return retval;
389}
390
391void KOPrefs::usrReadConfig()
392{
393 mLocaleDict = 0;
394 // pending LR fix translation
395 // qDebug("KOPrefs::usrReadConfig() fix translation ");
396 if ( mPreferredLanguage > 0 && mPreferredLanguage < 4 ) {
397 if ( mPreferredLanguage == 1 ) {
398 mLocaleDict = new QDict<QString>;
399 int i = 0;
400 QString fw ( germanwords[i] [0]);
401 while ( !fw.isEmpty() ) {
402 mLocaleDict->insert( fw, new QString (germanwords[i] [1] ));
403 ++i;
404 fw = germanwords[i] [0];
405 }
406
407 setLocaleDict( mLocaleDict );
408 } else {
409 QString fileName ;
410 if ( mPreferredLanguage == 3 )
411 fileName = MainWindow::resourcePath()+"usertranslation.txt";
412 else if ( mPreferredLanguage == 2 )
413 fileName = MainWindow::resourcePath()+"frenchtranslation.txt";
414 QFile file( fileName );
415 if (file.open( IO_ReadOnly ) ) {
416 QTextStream ts( &file );
417 ts.setEncoding( QTextStream::Latin1 );
418 //ts.setCodec( QTextCodec::latin1 );
419 QString text = ts.read();
420 file.close();
421 text.replace( QRegExp("\\\\n"), "\n" );
422 QString line;
423 QString we;
424 QString wt;
425 int br = 0;
426 int nbr;
427 nbr = text.find ( "},", br );
428 line = text.mid( br, nbr - br );
429 br = nbr+1;
430 int se, ee, st, et;
431 mLocaleDict = new QDict<QString>;
432 QString end = "{ \"\",\"\" }";
433 while ( (line != end) && (br > 1) ) {
434 //qDebug("%d *%s* ", br, line.latin1());
435 se = line.find("\"")+1;
436 et = line.findRev("\"",-1);
437 ee = line.find("\",\"");
438 st = ee+3;
439 we = line.mid( se, ee-se );
440 wt = line.mid( st, et-st );
441 //qDebug("*%s* *%s* ", we.latin1(), wt.latin1());
442 mLocaleDict->insert( we, new QString (wt) );
443 nbr = text.find ( "}", br );
444 line = text.mid( br, nbr - br );
445 br = nbr+1;
446 }
447 //qDebug("end *%s* ", end.latin1());
448
449 setLocaleDict( mLocaleDict );
450 } else {
451 qDebug("KO: Cannot find translation file %s",fileName.latin1() );
452 }
453
454 }
455 }
456 config()->setGroup("General");
457
458 mCustomCategories = config()->readListEntry("Custom Categories");
459 if ( KOPrefs::instance()->mLanguageChanged ) {
460 mLocationDefaults.clear();
461 mEventSummaryUser.clear();
462 mTodoSummaryUser.clear();
463 }
464 if (mLocationDefaults.isEmpty()) {
465 mLocationDefaults << i18n("Home") << i18n("Office") << i18n("Library") << i18n("School") << i18n("Doctor") << i18n("Beach")
466 << i18n("University") << i18n("Restaurant") << i18n("Bar") << i18n("Conference room") << i18n("Cinema") << i18n("Lake") << i18n("Kindergarten")
467 << i18n("Germany") << i18n("Sweden") << i18n("Forest") << i18n("Desert") << i18n("Kitchen") ;
468 // << i18n("") << i18n("") << i18n("") << i18n("") << i18n("") << i18n("") << i18n("") << i18n("")
469 mLocationDefaults.sort();
470 }
471
472 if (mEventSummaryUser.isEmpty()) {
473 mEventSummaryUser = getDefaultList() ;
474 }
475 if (mTodoSummaryUser.isEmpty()) {
476 mTodoSummaryUser = getDefaultList() ;
477 }
478
479 if (mCustomCategories.isEmpty()) setCategoryDefaults();
480
481 config()->setGroup("Personal Settings");
482 mName = config()->readEntry("user_name","");
483 mEmail = config()->readEntry("user_email","");
484 fillMailDefaults();
485
486 config()->setGroup("Category Colors");
487 QStringList::Iterator it;
488 for (it = mCustomCategories.begin();it != mCustomCategories.end();++it ) {
489 setCategoryColor(*it,config()->readColorEntry(*it,&mDefaultCategoryColor));
490
491 }
492
493 if (mTimeZoneId.isEmpty()) {
494 setTimeZoneIdDefault();
495 }
496 KPimPrefs::usrReadConfig();
497}
498
499
500void KOPrefs::usrWriteConfig()
501{
502 config()->setGroup("General");
503 config()->writeEntry("Custom Categories",mCustomCategories);
504
505 config()->setGroup("Personal Settings");
506 config()->writeEntry("user_name",mName);
507 config()->writeEntry("user_email",mEmail);
508
509 config()->setGroup("Category Colors");
510 QDictIterator<QColor> it(mCategoryColors);
511 while (it.current()) {
512 config()->writeEntry(it.currentKey(),*(it.current()));
513 ++it;
514 }
515
516
517 KPimPrefs::usrWriteConfig();
518}
519
520void KOPrefs::setCategoryColor(QString cat,const QColor & color)
521{
522 mCategoryColors.replace(cat,new QColor(color));
523}
524
525QColor *KOPrefs::categoryColor(QString cat)
526{
527 QColor *color = 0;
528
529 if (!cat.isEmpty()) color = mCategoryColors[cat];
530
531 if (color) return color;
532 else return &mDefaultCategoryColor;
533}
534
535void KOPrefs::setFullName(const QString &name)
536{
537 mName = name;
538}
539
540void KOPrefs::setEmail(const QString &email)
541{
542 //qDebug(" KOPrefs::setEmai*********** %s",email.latin1() );
543 mEmail = email;
544}
545
546QString KOPrefs::fullName()
547{
548 if (mEmailControlCenter) {
549 KEMailSettings settings;
550 return settings.getSetting(KEMailSettings::RealName);
551 } else {
552 return mName;
553 }
554}
555
556QString KOPrefs::email()
557{
558 if (mEmailControlCenter) {
559 KEMailSettings settings;
560 return settings.getSetting(KEMailSettings::EmailAddress);
561 } else {
562 return mEmail;
563 }
564}
565KConfig* KOPrefs::getConfig()
566{
567 return config();
568}
diff --git a/kmicromail/koprefs.h~ b/kmicromail/koprefs.h~
deleted file mode 100644
index a9ac52f..0000000
--- a/kmicromail/koprefs.h~
+++ b/dev/null
@@ -1,304 +0,0 @@
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#ifndef KOPREFS_H
24#define KOPREFS_H
25
26#include <qdict.h>
27
28#include <libkdepim/kpimprefs.h>
29
30class KConfig;
31class QFont;
32class QColor;
33class QStringList;
34
35class KOPrefs : public KPimPrefs
36{
37 public:
38 enum { FormatVCalendar, FormatICalendar };
39 enum { MailClientKMail, MailClientSendmail };
40 enum { IMIPDummy, IMIPKMail };
41 enum { IMIPOutbox, IMIPdirectsend };
42 enum { neverAuto, addressbookAuto, selectedAuto };
43 enum { standardDestination, askDestination };
44
45 virtual ~KOPrefs();
46
47 /** Get instance of KOPrefs. It is made sure that there is only one
48 instance. */
49 static KOPrefs *instance();
50
51 /** Set preferences to default values */
52 void usrSetDefaults();
53
54 /** Read preferences from config file */
55 void usrReadConfig();
56
57 /** Write preferences to config file */
58 void usrWriteConfig();
59 void setCategoryDefaults();
60
61 protected:
62 void setTimeZoneIdDefault();
63
64 /** Fill empty mail fields with default values. */
65 void fillMailDefaults();
66
67 private:
68 /** Constructor disabled for public. Use instance() to create a KOPrefs
69 object. */
70 KOPrefs();
71
72 static KOPrefs *mInstance;
73 QDict<QString> *mLocaleDict;
74 QStringList getDefaultList();
75 public:
76 // preferences data
77 KConfig* getConfig();
78 void setFullName(const QString &);
79 QString fullName();
80 void setEmail(const QString &);
81 QString email();
82
83 QString mAdditional;
84
85 bool mEmailControlCenter;
86
87 bool mBcc;
88 bool mAutoSave;
89 int mAutoSaveInterval;
90 bool mConfirm;
91
92 bool mEnableGroupScheduling;
93 bool mEnableProjectView;
94
95 int mDefaultFormat;
96 int mMailClient;
97
98 QString mTimeZone;
99 QString mTimeZoneId;
100 //QString mTimeZoneName; // e.g. +00:04:00 Indian/Mauritius
101 //int mTimeZoneOffset; // e.g. -240 min
102 bool mUseDaylightsaving;
103 int mDaylightsavingStart;
104 int mDaylightsavingEnd;
105 int mStartTime;
106 int mDefaultDuration;
107 int mAlarmTime;
108 int mDaylightSavings;
109
110 int mWorkingHoursStart;
111 int mWorkingHoursEnd;
112 bool mExcludeHolidays;
113 bool mExcludeSaturdays;
114 bool mMarcusBainsShowSeconds;
115
116 QFont mTimeBarFont;
117 QFont mMonthViewFont;
118 QFont mAgendaViewFont;
119 QFont mMarcusBainsFont;
120 QFont mTimeLabelsFont;
121 QFont mTodoViewFont;
122 QFont mListViewFont;
123 QFont mDateNavigatorFont;
124 QFont mEditBoxFont;
125 QFont mJornalViewFont;
126 QFont mWhatsNextFont;
127 QFont mEventViewFont;
128
129
130
131
132 QColor mHolidayColor;
133 QColor mHighlightColor;
134 QColor mEventColor;
135 QColor mAgendaBgColor;
136 QColor mWorkingHoursColor;
137 QColor mTodoDueTodayColor;
138 QColor mTodoOverdueColor;
139 QColor mMonthViewEvenColor;
140 QColor mMonthViewOddColor;
141 QColor mMonthViewHolidayColor;
142 bool mMonthViewUsesDayColors;
143 bool mMonthViewSatSunTog;
144 QColor mAppColor1;
145 QColor mAppColor2;
146 bool mUseAppColors;
147
148 int mDayBegins;
149 int mHourSize;
150 int mAllDaySize;
151 bool mShowFullMenu;
152 bool mDailyRecur;
153 bool mWeeklyRecur;
154 bool mMonthDailyRecur;
155 bool mMonthWeeklyRecur;
156 bool mMonthShowIcons;
157 bool mMonthShowShort;
158 bool mEnableToolTips;
159 bool mEnableMonthScroll;
160 bool mFullViewMonth;
161 bool mMonthViewUsesCategoryColor;
162 bool mFullViewTodo;
163 bool mShowCompletedTodo;
164 bool mMarcusBainsEnabled;
165 int mNextXDays;
166 int mWhatsNextDays;
167 int mWhatsNextPrios;
168 bool mEnableQuickTodo;
169 bool mLanguageChanged;
170
171 bool mCompactDialogs;
172 bool mVerticalScreen;
173
174 bool mShowIconNewTodo;
175 bool mShowIconNewEvent;
176 bool mShowIconSearch;
177 bool mShowIconList;
178 bool mShowIconDay1;
179 bool mShowIconDay5;
180 bool mShowIconDay7;
181 bool mShowIconMonth;
182 bool mShowIconTodoview;
183 bool mShowIconBackFast;
184 bool mShowIconBack;
185 bool mShowIconToday;
186 bool mShowIconForward;
187 bool mShowIconForwardFast;
188 bool mShowIconWhatsThis;
189 bool mShowIconNextDays;
190 bool mShowIconNext;
191 bool mShowIconJournal;
192
193 bool mShowIconStretch;
194
195 bool mToolBarHor;
196 bool mToolBarUp;
197 bool mToolBarMiniIcons;
198
199 bool mAskForQuit;
200 bool mUsePassWd;
201 bool mWriteBackFile;
202 int mWriteBackInFuture;
203 bool mAskForPreferences;
204 bool mShowSyncSummary;
205 bool mShowSyncEvents;
206 bool mShowTodoInAgenda;
207 bool mWriteBackExistingOnly;
208
209 QString mRemoteIP;
210 QString mRemoteUser;
211 QString mRemotePassWd;
212 QString mRemoteFile;
213 QString mLocalTempFile;
214 QString mPhoneDevice;
215 QString mPhoneConnection;
216 QString mPhoneModel;
217
218 int mLastSyncTime;
219 int mSyncAlgoPrefs;
220 int mRingSyncAlgoPrefs;
221 QStringList mSyncProfileNames;
222 QStringList mExternSyncProfiles;
223 QString mLocalMachineName;
224 void setCategoryColor(QString cat,const QColor & color);
225 QColor *categoryColor(QString cat);
226
227 QString mArchiveFile;
228 QString mHtmlExportFile;
229 bool mHtmlWithSave;
230
231 QStringList mSelectedPlugins;
232
233 QString mLastImportFile;
234 QString mLastVcalFile;
235 QString mLastSaveFile;
236 QString mLastLoadFile;
237 QString mLastSyncedLocalFile;
238
239
240 QString mDefaultAlarmFile;
241 int mIMIPScheduler;
242 int mIMIPSend;
243 QStringList mAdditionalMails;
244 int mIMIPAutoRefresh;
245 int mIMIPAutoInsertReply;
246 int mIMIPAutoInsertRequest;
247 int mIMIPAutoFreeBusy;
248 int mIMIPAutoFreeBusyReply;
249
250 QStringList mTodoTemplates;
251 QStringList mEventTemplates;
252
253 int mDestination;
254
255
256 bool mEditOnDoubleClick;
257 bool mViewChangeHoldFullscreen;
258 bool mViewChangeHoldNonFullscreen;
259 bool mCenterOnCurrentTime;
260 bool mSetTimeToDayStartAt;
261 bool mHighlightCurrentDay;
262 bool mUseHighlightLightColor;
263 bool mListViewMonthTimespan;
264 bool mWNViewShowsParents;
265 bool mWNViewShowLocation;
266 bool mTodoViewShowsPercentage;
267 bool mTodoViewUsesCatColors;
268 bool mTodoViewUsesSmallFont;
269 bool mTodoViewUsesForegroundColor;
270 bool mMonthViewUsesForegroundColor;
271
272 bool mHightlightDateTimeEdit;
273 int mPreferredLanguage;
274 bool mUseQuicksave;
275 int mPreferredTime;
276 int mPreferredDate;
277 bool mWeekStartsOnSunday;
278 bool mShortDateInViewer;
279 QString mUserDateFormatLong;
280 QString mUserDateFormatShort;
281
282 QStringList mLocationDefaults;
283 QStringList mEventSummaryUser;
284 QStringList mTodoSummaryUser;
285
286 bool mUseInternalAlarmNotification;
287 int mAlarmPlayBeeps;
288 int mAlarmSuspendTime;
289 int mAlarmSuspendCount;
290 int mAlarmBeepInterval;
291
292 private:
293 QDict<QColor> mCategoryColors;
294 QColor mDefaultCategoryColor;
295
296 QFont mDefaultTimeBarFont;
297 QFont mDefaultViewFont;
298 QFont mDefaultMonthViewFont;
299
300 QString mName;
301 QString mEmail;
302};
303
304#endif
diff --git a/kmicromail/koprefsdialog.cpp~ b/kmicromail/koprefsdialog.cpp~
deleted file mode 100644
index 5ba4817..0000000
--- a/kmicromail/koprefsdialog.cpp~
+++ b/dev/null
@@ -1,1609 +0,0 @@
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
72KOPrefsDialog::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
97KOPrefsDialog::~KOPrefsDialog()
98{
99}
100
101void KOPrefsDialog::setupLocaleDateTab()
102{
103QFrame *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
155void 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}
217void KOPrefsDialog::showSyncPage()
218{
219 showPage ( 2 ) ;
220
221}
222void 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
264void 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
314void 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
483void 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
555void 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
937void 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}
944void 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
1083void 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
1169void KOPrefsDialog::setCategoryColor()
1170{
1171 mCategoryDict.replace(mCategoryCombo->currentText(), new QColor(mCategoryButton->color()));
1172}
1173
1174void 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
1186void 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
1198void 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
1249void 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
1300void KOPrefsDialog::showPrinterTab()
1301{
1302 showPage(pageIndex(mPrinterTab));
1303}
1304
1305
1306void 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
1322void 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
1370void 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
1433void KOPrefsDialog::updateCategories()
1434{
1435 mCategoryCombo->clear();
1436 mCategoryDict.clear();
1437 mCategoryCombo->insertStringList(KOPrefs::instance()->mCustomCategories);
1438 updateCategoryColor();
1439}
1440
1441void KOPrefsDialog::warningGroupScheduling()
1442{
1443 warningExperimental(mEnableGroupScheduling->checkBox()->isChecked());
1444}
1445
1446void KOPrefsDialog::warningProjectView()
1447{
1448 warningExperimental(mEnableProjectView->checkBox()->isChecked());
1449}
1450
1451void 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
1464void 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
1483void 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
1492void 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
1508void KOPrefsDialog::updateItem()
1509{
1510 // QListViewItem *item;
1511// item = mAMails->selectedItem();
1512// if (!item) return;
1513// item->setText(0,aEmailsEdit->text());
1514}
1515
1516void 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}
1524void 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
1546void 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
diff --git a/kmicromail/koprefsdialog.h~ b/kmicromail/koprefsdialog.h~
deleted file mode 100644
index fd651d0..0000000
--- a/kmicromail/koprefsdialog.h~
+++ b/dev/null
@@ -1,161 +0,0 @@
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#ifndef _KOPREFSDIALOG_H
24#define _KOPREFSDIALOG_H
25
26#include <qframe.h>
27#include <qdict.h>
28#include <qcolor.h>
29#include <qlistview.h>
30
31#include <kdialogbase.h>
32
33#include <libkdepim/kprefsdialog.h>
34#include <libkdepim/kdateedit.h>
35
36class KColorButton;
37class QSpinBox;
38class QSlider;
39class KURLRequester;
40class QComboBox;
41class QLineEdit;
42class QStringList;
43
44/** Dialog to change the korganizer configuration.
45 */
46class KOPrefsDialog : public KPrefsDialog
47{
48 Q_OBJECT
49 public:
50 /** Initialize dialog and pages */
51 KOPrefsDialog(QWidget *parent=0,char *name=0,bool modal=false);
52 ~KOPrefsDialog();
53
54 public slots:
55 void showPrinterTab();
56
57 /** Update controls for categories */
58 void updateCategories();
59 void showSyncPage();
60 protected slots:
61 void selectSoundFile();
62 void setCategoryColor();
63 void updateCategoryColor();
64 void updateTimezoneOffset( int );
65
66
67 void warningExperimental(bool on);
68 void warningGroupScheduling();
69 void warningProjectView();
70
71 void toggleEmailSettings(bool);
72
73 //additional emails
74 void addItem();
75 void removeItem();
76 void updateItem();
77 void updateInput();
78
79 protected:
80 void usrReadConfig();
81 void usrWriteConfig();
82
83 void setupMainTab();
84 void setupTimeTab();
85 void setupTimeZoneTab();
86 void setupLocaleTab();
87 void setupLocaleDateTab();
88 void setupFontsTab();
89 void setupColorsTab();
90 void setupViewsTab();
91 void setupDisplayTab();
92 void setupPrinterTab();
93 void setupGroupSchedulingTab();
94 void setupGroupAutomationTab();
95 void setupSyncTab();
96 void setupSyncAlgTab();
97
98 void setCombo(QComboBox *combo,const QString & text, const QStringList *tags = 0);
99
100
101 private:
102 KPrefsWidBool *mEnableGroupScheduling;
103 KPrefsWidBool *mEnableProjectView;
104
105 QFrame *mPrinterTab;
106
107 QLineEdit *nameEdit;
108 QLineEdit *emailEdit;
109
110 QComboBox *timeCombo;
111 QComboBox *tzCombo;
112
113 // widgets holding preferences data
114 QLineEdit *mNameEdit;
115 QLineEdit *mEmailEdit;
116 QLabel *mNameLabel;
117 QLabel *mEmailLabel;
118 QLineEdit *mAdditionalEdit;
119 QSpinBox *mAutoSaveIntervalSpin;
120 QSpinBox *mPrioSpin;
121 // QListView *mAMails;
122 QLineEdit *aEmailsEdit;
123
124 QComboBox *mTimeZoneCombo;
125 QStringList tzonenames;
126 QSpinBox *mStartTimeSpin;
127 QSpinBox *mDefaultDurationSpin;
128 QComboBox *mAlarmTimeCombo;
129
130 QComboBox *mCategoryCombo;
131 KColorButton *mCategoryButton;
132 QDict<QColor> mCategoryDict;
133
134 QSlider *mHourSizeSlider;
135
136 QSpinBox *mNextXDaysSpin;
137 QSpinBox *mWhatsNextSpin;
138
139 QLineEdit * mRemoteIPEdit;
140 QLineEdit * mRemoteUser;
141 QLineEdit * mRemotePassWd;
142 QLineEdit * mRemoteFile;
143 QLineEdit * mLocalTempFile;
144 QWidget* mSetupSyncAlgTab;
145 QLineEdit * mUserDateFormatLong;
146 QLineEdit * mUserDateFormatShort;
147
148 QSpinBox *mTimezoneOffsetSpin;
149 QSpinBox *mDaylightsavingStart;
150 QSpinBox *mDaylightsavingEnd;
151 KDateEdit* mStartDateSavingEdit;
152 KDateEdit* mEndDateSavingEdit;
153 QSpinBox * mAlarmPlayBeeps;
154 QSpinBox * mAlarmSuspendTime;
155 QSpinBox * mAlarmSuspendCount;
156 QSpinBox * mAlarmBeepInterval;
157
158 QLineEdit * mDefaultAlarmFile;
159};
160
161#endif