summaryrefslogtreecommitdiffabout
authorzautrix <zautrix>2005-02-06 16:21:57 (UTC)
committer zautrix <zautrix>2005-02-06 16:21:57 (UTC)
commit5fd7b1cc63dc52c15e0666e023cea60700e9fdcf (patch) (unidiff)
treeb0bf4d7d3054679970e2ff672e50149d1089bcb1
parent38898c49275bf27fb8c2df96d145f2a5abb62331 (diff)
downloadkdepimpi-5fd7b1cc63dc52c15e0666e023cea60700e9fdcf.zip
kdepimpi-5fd7b1cc63dc52c15e0666e023cea60700e9fdcf.tar.gz
kdepimpi-5fd7b1cc63dc52c15e0666e023cea60700e9fdcf.tar.bz2
fix
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--korganizer/koprefs.cpp65
-rw-r--r--korganizer/koprefs.h2
-rw-r--r--korganizer/mainwindow.cpp8
3 files changed, 45 insertions, 30 deletions
diff --git a/korganizer/koprefs.cpp b/korganizer/koprefs.cpp
index 9366c11..8f37793 100644
--- a/korganizer/koprefs.cpp
+++ b/korganizer/koprefs.cpp
@@ -243,237 +243,248 @@ KOPrefs::KOPrefs() :
243 addItemBool("WNViewShowLocation",&mWNViewShowLocation,false); 243 addItemBool("WNViewShowLocation",&mWNViewShowLocation,false);
244 addItemBool("UseHighlightLightColor",&mUseHighlightLightColor,false); 244 addItemBool("UseHighlightLightColor",&mUseHighlightLightColor,false);
245 addItemBool("ListViewMonthTimespan",&mListViewMonthTimespan,true); 245 addItemBool("ListViewMonthTimespan",&mListViewMonthTimespan,true);
246 addItemBool("TodoViewUsesCatColors",&mTodoViewUsesCatColors,false); 246 addItemBool("TodoViewUsesCatColors",&mTodoViewUsesCatColors,false);
247 addItemBool("TodoViewShowsPercentage",&mTodoViewShowsPercentage,false); 247 addItemBool("TodoViewShowsPercentage",&mTodoViewShowsPercentage,false);
248 addItemBool("TodoViewUsesSmallFont",&mTodoViewUsesSmallFont,true); 248 addItemBool("TodoViewUsesSmallFont",&mTodoViewUsesSmallFont,true);
249 addItemBool("MonthViewUsesBigFont",&mMonthViewUsesBigFont,true); 249 addItemBool("MonthViewUsesBigFont",&mMonthViewUsesBigFont,true);
250 addItemBool("TodoViewUsesForegroundColor",&mTodoViewUsesForegroundColor,false); 250 addItemBool("TodoViewUsesForegroundColor",&mTodoViewUsesForegroundColor,false);
251 addItemBool("MonthViewUsesForegroundColor",&mMonthViewUsesForegroundColor,false); 251 addItemBool("MonthViewUsesForegroundColor",&mMonthViewUsesForegroundColor,false);
252#ifdef DESKTOP_VERSION 252#ifdef DESKTOP_VERSION
253 addItemBool("UseInternalAlarmNotification",&mUseInternalAlarmNotification,true); 253 addItemBool("UseInternalAlarmNotification",&mUseInternalAlarmNotification,true);
254#else 254#else
255 addItemBool("UseInternalAlarmNotification",&mUseInternalAlarmNotification,false); 255 addItemBool("UseInternalAlarmNotification",&mUseInternalAlarmNotification,false);
256#endif 256#endif
257 addItemInt("Day Begins",&mDayBegins,7); 257 addItemInt("Day Begins",&mDayBegins,7);
258 addItemInt("Working Hours Start",&mWorkingHoursStart,8); 258 addItemInt("Working Hours Start",&mWorkingHoursStart,8);
259 addItemInt("Working Hours End",&mWorkingHoursEnd,17); 259 addItemInt("Working Hours End",&mWorkingHoursEnd,17);
260 addItemBool("Exclude Holidays",&mExcludeHolidays,true); 260 addItemBool("Exclude Holidays",&mExcludeHolidays,true);
261 addItemBool("Exclude Saturdays",&mExcludeSaturdays,true); 261 addItemBool("Exclude Saturdays",&mExcludeSaturdays,true);
262 262
263 addItemBool("Month View Uses Category Color",&mMonthViewUsesCategoryColor,false); 263 addItemBool("Month View Uses Category Color",&mMonthViewUsesCategoryColor,false);
264 addItemBool("Full View Month",&mFullViewMonth,true); 264 addItemBool("Full View Month",&mFullViewMonth,true);
265 addItemBool("Full View Todo",&mFullViewTodo,true); 265 addItemBool("Full View Todo",&mFullViewTodo,true);
266 addItemBool("Quick Todo",&mEnableQuickTodo,false); 266 addItemBool("Quick Todo",&mEnableQuickTodo,false);
267 267
268 addItemInt("Next X Days",&mNextXDays,3); 268 addItemInt("Next X Days",&mNextXDays,3);
269 269
270 KPrefs::setCurrentGroup("Printer"); 270 KPrefs::setCurrentGroup("Printer");
271 271
272 KPrefs::setCurrentGroup("Layout"); 272 KPrefs::setCurrentGroup("Layout");
273 273
274 addItemBool("CompactDialogs",&mCompactDialogs,false); 274 addItemBool("CompactDialogs",&mCompactDialogs,false);
275 addItemBool("VerticalScreen",&mVerticalScreen,true); 275 addItemBool("VerticalScreen",&mVerticalScreen,true);
276 276
277 KPrefs::setCurrentGroup("KOrganizer Plugins"); 277 KPrefs::setCurrentGroup("KOrganizer Plugins");
278 278
279 addItemStringList("SelectedPlugins",&mSelectedPlugins,"holidays"); 279 addItemStringList("SelectedPlugins",&mSelectedPlugins,"holidays");
280 280
281 KPrefs::setCurrentGroup("Group Scheduling"); 281 KPrefs::setCurrentGroup("Group Scheduling");
282 282
283 addItemInt("IMIPScheduler",&mIMIPScheduler,IMIPKMail); 283 addItemInt("IMIPScheduler",&mIMIPScheduler,IMIPKMail);
284 addItemInt("IMIPSend",&mIMIPSend,IMIPdirectsend); 284 addItemInt("IMIPSend",&mIMIPSend,IMIPdirectsend);
285 addItemStringList("AdditionalMails",&mAdditionalMails,""); 285 addItemStringList("AdditionalMails",&mAdditionalMails,"");
286 addItemInt("IMIP auto refresh",&mIMIPAutoRefresh,neverAuto); 286 addItemInt("IMIP auto refresh",&mIMIPAutoRefresh,neverAuto);
287 addItemInt("IMIP auto insert request",&mIMIPAutoInsertRequest,neverAuto); 287 addItemInt("IMIP auto insert request",&mIMIPAutoInsertRequest,neverAuto);
288 addItemInt("IMIP auto insert reply",&mIMIPAutoInsertReply,neverAuto); 288 addItemInt("IMIP auto insert reply",&mIMIPAutoInsertReply,neverAuto);
289 addItemInt("IMIP auto FreeBusy",&mIMIPAutoFreeBusy,neverAuto); 289 addItemInt("IMIP auto FreeBusy",&mIMIPAutoFreeBusy,neverAuto);
290 addItemInt("IMIP auto save FreeBusy",&mIMIPAutoFreeBusyReply,neverAuto); 290 addItemInt("IMIP auto save FreeBusy",&mIMIPAutoFreeBusyReply,neverAuto);
291 291
292 KPrefs::setCurrentGroup( "Editors" ); 292 KPrefs::setCurrentGroup( "Editors" );
293 293
294 addItemStringList( "EventTemplates", &mEventTemplates ); 294 addItemStringList( "EventTemplates", &mEventTemplates );
295 addItemStringList( "TodoTemplates", &mTodoTemplates ); 295 addItemStringList( "TodoTemplates", &mTodoTemplates );
296 296
297 addItemInt("DestinationPolicy",&mDestination,standardDestination); 297 addItemInt("DestinationPolicy",&mDestination,standardDestination);
298 298
299 299
300 300
301} 301}
302 302
303 303
304KOPrefs::~KOPrefs() 304KOPrefs::~KOPrefs()
305{ 305{
306 if (mInstance == this) 306 if (mInstance == this)
307 mInstance = insd.setObject(0); 307 mInstance = insd.setObject(0);
308 308
309 //qDebug("KOPrefs::~KOPrefs() "); 309 //qDebug("KOPrefs::~KOPrefs() ");
310} 310}
311 311
312 312
313KOPrefs *KOPrefs::instance() 313KOPrefs *KOPrefs::instance()
314{ 314{
315 if (!mInstance) { 315 if (!mInstance) {
316 mInstance = insd.setObject(new KOPrefs()); 316 mInstance = insd.setObject(new KOPrefs());
317 mInstance->readConfig(); 317 mInstance->readConfig();
318 } 318 }
319 319
320 return mInstance; 320 return mInstance;
321} 321}
322 322
323void KOPrefs::usrSetDefaults() 323void KOPrefs::usrSetDefaults()
324{ 324{
325 325
326} 326}
327 327
328void KOPrefs::fillMailDefaults() 328void KOPrefs::fillMailDefaults()
329{ 329{
330 if (mName.isEmpty()) mName = i18n("Anonymous"); 330 if (mName.isEmpty()) mName = i18n("Anonymous");
331 if (mEmail.isEmpty()) mEmail = i18n("nobody@nowhere"); 331 if (mEmail.isEmpty()) mEmail = i18n("nobody@nowhere");
332} 332}
333 333
334void KOPrefs::setTimeZoneIdDefault() 334void KOPrefs::setTimeZoneIdDefault()
335{ 335{
336 ; 336 ;
337} 337}
338 338
339void KOPrefs::setAllDefaults()
340{
341 setCategoryDefaults();
342 mEventSummaryUser = getDefaultList() ;
343 mTodoSummaryUser = getDefaultList() ;
344 mLocationDefaults = getLocationDefaultList();
345}
346
339void KOPrefs::setCategoryDefaults() 347void KOPrefs::setCategoryDefaults()
340{ 348{
341 mCustomCategories.clear(); 349 mCustomCategories.clear();
342 mCustomCategories = getDefaultList(); 350 mCustomCategories = getDefaultList();
343 351
344 QStringList::Iterator it; 352 QStringList::Iterator it;
345 for (it = mCustomCategories.begin();it != mCustomCategories.end();++it ) { 353 for (it = mCustomCategories.begin();it != mCustomCategories.end();++it ) {
346 setCategoryColor(*it,mDefaultCategoryColor); 354 setCategoryColor(*it,mDefaultCategoryColor);
347 } 355 }
348} 356}
357QStringList KOPrefs::getLocationDefaultList()
358{
359 QStringList retval ;
360 retval << i18n("Home") << i18n("Office") << i18n("Library") << i18n("School") << i18n("Doctor") << i18n("Beach")
361 << i18n("University") << i18n("Restaurant") << i18n("Bar") << i18n("Conference room")
362 << i18n("Cinema") << i18n("Lake") << i18n("Kindergarten")
363 << i18n("Germany") << i18n("Sweden") << i18n("Forest") << i18n("Desert") << i18n("Kitchen") ;
364 // << i18n("") << i18n("") << i18n("") << i18n("") << i18n("") << i18n("") << i18n("") << i18n("")
349 365
366 retval.sort();
367 return retval;
368}
350QStringList KOPrefs::getDefaultList() 369QStringList KOPrefs::getDefaultList()
351{ 370{
352 QStringList retval ; 371 QStringList retval ;
353 retval << i18n("Anniversary") << i18n("Appointment") << i18n("Birthday") << i18n("Business") << i18n("Business Travel") << i18n("Cinema") << i18n("Customer") 372 retval << i18n("Anniversary") << i18n("Appointment") << i18n("Birthday") << i18n("Business") << i18n("Business Travel") << i18n("Cinema") << i18n("Customer")
354 << i18n("Break")<< i18n("Breakfast")<< i18n("Competition")<< i18n("Dinner") 373 << i18n("Break")<< i18n("Breakfast")<< i18n("Competition")<< i18n("Dinner")
355 << i18n("Education")<< i18n("Family") << i18n("Favorites") << i18n("Festival")<< i18n("Fishing")<< i18n("Flight") << i18n("Gifts") 374 << i18n("Education")<< i18n("Family") << i18n("Favorites") << i18n("Festival")<< i18n("Fishing")<< i18n("Flight") << i18n("Gifts")
356 << i18n("Holiday") << i18n("Holiday Cards")<< i18n("Hot Contacts") << i18n("Hiking") << i18n("Hunting") << i18n("Key Customer") << i18n("Kids") 375 << i18n("Holiday") << i18n("Holiday Cards")<< i18n("Hot Contacts") << i18n("Hiking") << i18n("Hunting") << i18n("Key Customer") << i18n("Kids")
357 << i18n("Lunch") << i18n("Meeting") << i18n("Miscellaneous") << i18n("Partner")<< i18n("Party") << i18n("Personal") << i18n("Personal Travel") 376 << i18n("Lunch") << i18n("Meeting") << i18n("Miscellaneous") << i18n("Partner")<< i18n("Party") << i18n("Personal") << i18n("Personal Travel")
358 << i18n("PHB") << i18n("Phone Calls") << i18n("Projects") << i18n("Recurring") << i18n("School") << i18n("Shopping") 377 << i18n("PHB") << i18n("Phone Calls") << i18n("Projects") << i18n("Recurring") << i18n("School") << i18n("Shopping")
359 << i18n("Speach") << i18n("Special Occasion") << i18n("Sports") << i18n("Talk") << i18n("Travel") << i18n("TV")<< i18n("University") 378 << i18n("Speach") << i18n("Special Occasion") << i18n("Sports") << i18n("Talk") << i18n("Travel") << i18n("TV")<< i18n("University")
360 << i18n("Vacation") << i18n("VIP") << i18n("SyncEvent") ; 379 << i18n("Vacation") << i18n("VIP") << i18n("SyncEvent") ;
361 retval.sort(); 380 retval.sort();
362 //qDebug("cat %s ", retval.join("-").latin1()); 381 qDebug("cat %s ", retval.join("-").latin1());
363 return retval; 382 return retval;
364} 383}
365 384
366void KOPrefs::usrReadConfig() 385void KOPrefs::usrReadConfig()
367{ 386{
368 config()->setGroup("General"); 387 config()->setGroup("General");
369 388
389 //qDebug("KOPrefs::usrReadConfig() ");
370 mCustomCategories = config()->readListEntry("Custom Categories"); 390 mCustomCategories = config()->readListEntry("Custom Categories");
371 if ( KPimGlobalPrefs::instance()->mPreferredLanguage != mOldLanguage ) {
372 mLocationDefaults.clear();
373 mEventSummaryUser.clear();
374 mTodoSummaryUser.clear();
375 }
376 mOldLoadedLanguage = mOldLanguage ; 391 mOldLoadedLanguage = mOldLanguage ;
377 mOldLanguage = KPimGlobalPrefs::instance()->mPreferredLanguage; 392 mOldLanguage = KPimGlobalPrefs::instance()->mPreferredLanguage;
378 if (mLocationDefaults.isEmpty()) { 393 if (mLocationDefaults.isEmpty()) {
379 mLocationDefaults << i18n("Home") << i18n("Office") << i18n("Library") << i18n("School") << i18n("Doctor") << i18n("Beach") 394 mLocationDefaults = getLocationDefaultList();
380 << i18n("University") << i18n("Restaurant") << i18n("Bar") << i18n("Conference room") << i18n("Cinema") << i18n("Lake") << i18n("Kindergarten")
381 << i18n("Germany") << i18n("Sweden") << i18n("Forest") << i18n("Desert") << i18n("Kitchen") ;
382 // << i18n("") << i18n("") << i18n("") << i18n("") << i18n("") << i18n("") << i18n("") << i18n("")
383 mLocationDefaults.sort();
384 } 395 }
385 396
386 if (mEventSummaryUser.isEmpty()) { 397 if (mEventSummaryUser.isEmpty()) {
387 mEventSummaryUser = getDefaultList() ; 398 mEventSummaryUser = getDefaultList() ;
388 } 399 }
389 if (mTodoSummaryUser.isEmpty()) { 400 if (mTodoSummaryUser.isEmpty()) {
390 mTodoSummaryUser = getDefaultList() ; 401 mTodoSummaryUser = getDefaultList() ;
391 } 402 }
392 403
393 if (mCustomCategories.isEmpty()) setCategoryDefaults(); 404 if (mCustomCategories.isEmpty()) setCategoryDefaults();
394 405
395 config()->setGroup("Personal Settings"); 406 config()->setGroup("Personal Settings");
396 mName = config()->readEntry("user_name",""); 407 mName = config()->readEntry("user_name","");
397 mEmail = config()->readEntry("user_email",""); 408 mEmail = config()->readEntry("user_email","");
398 fillMailDefaults(); 409 fillMailDefaults();
399 410
400 config()->setGroup("Category Colors"); 411 config()->setGroup("Category Colors");
401 QStringList::Iterator it; 412 QStringList::Iterator it;
402 for (it = mCustomCategories.begin();it != mCustomCategories.end();++it ) { 413 for (it = mCustomCategories.begin();it != mCustomCategories.end();++it ) {
403 setCategoryColor(*it,config()->readColorEntry(*it,&mDefaultCategoryColor)); 414 setCategoryColor(*it,config()->readColorEntry(*it,&mDefaultCategoryColor));
404 415
405 } 416 }
406 417
407 KPimPrefs::usrReadConfig(); 418 KPimPrefs::usrReadConfig();
408} 419}
409 420
410 421
411void KOPrefs::usrWriteConfig() 422void KOPrefs::usrWriteConfig()
412{ 423{
413 config()->setGroup("General"); 424 config()->setGroup("General");
414 config()->writeEntry("Custom Categories",mCustomCategories); 425 config()->writeEntry("Custom Categories",mCustomCategories);
415 426
416 config()->setGroup("Personal Settings"); 427 config()->setGroup("Personal Settings");
417 config()->writeEntry("user_name",mName); 428 config()->writeEntry("user_name",mName);
418 config()->writeEntry("user_email",mEmail); 429 config()->writeEntry("user_email",mEmail);
419 430
420 config()->setGroup("Category Colors"); 431 config()->setGroup("Category Colors");
421 QDictIterator<QColor> it(mCategoryColors); 432 QDictIterator<QColor> it(mCategoryColors);
422 while (it.current()) { 433 while (it.current()) {
423 config()->writeEntry(it.currentKey(),*(it.current())); 434 config()->writeEntry(it.currentKey(),*(it.current()));
424 ++it; 435 ++it;
425 } 436 }
426 437
427 438
428 KPimPrefs::usrWriteConfig(); 439 KPimPrefs::usrWriteConfig();
429} 440}
430 441
431void KOPrefs::setCategoryColor(QString cat,const QColor & color) 442void KOPrefs::setCategoryColor(QString cat,const QColor & color)
432{ 443{
433 mCategoryColors.replace(cat,new QColor(color)); 444 mCategoryColors.replace(cat,new QColor(color));
434} 445}
435 446
436QColor *KOPrefs::categoryColor(QString cat) 447QColor *KOPrefs::categoryColor(QString cat)
437{ 448{
438 QColor *color = 0; 449 QColor *color = 0;
439 450
440 if (!cat.isEmpty()) color = mCategoryColors[cat]; 451 if (!cat.isEmpty()) color = mCategoryColors[cat];
441 452
442 if (color) return color; 453 if (color) return color;
443 else return &mDefaultCategoryColor; 454 else return &mDefaultCategoryColor;
444} 455}
445 456
446void KOPrefs::setFullName(const QString &name) 457void KOPrefs::setFullName(const QString &name)
447{ 458{
448 mName = name; 459 mName = name;
449} 460}
450 461
451void KOPrefs::setEmail(const QString &email) 462void KOPrefs::setEmail(const QString &email)
452{ 463{
453 //qDebug(" KOPrefs::setEmai*********** %s",email.latin1() ); 464 //qDebug(" KOPrefs::setEmai*********** %s",email.latin1() );
454 mEmail = email; 465 mEmail = email;
455} 466}
456 467
457QString KOPrefs::fullName() 468QString KOPrefs::fullName()
458{ 469{
459 if (mEmailControlCenter) { 470 if (mEmailControlCenter) {
460 KEMailSettings settings; 471 KEMailSettings settings;
461 return settings.getSetting(KEMailSettings::RealName); 472 return settings.getSetting(KEMailSettings::RealName);
462 } else { 473 } else {
463 return mName; 474 return mName;
464 } 475 }
465} 476}
466 477
467QString KOPrefs::email() 478QString KOPrefs::email()
468{ 479{
469 if (mEmailControlCenter) { 480 if (mEmailControlCenter) {
470 KEMailSettings settings; 481 KEMailSettings settings;
471 return settings.getSetting(KEMailSettings::EmailAddress); 482 return settings.getSetting(KEMailSettings::EmailAddress);
472 } else { 483 } else {
473 return mEmail; 484 return mEmail;
474 } 485 }
475} 486}
476KConfig* KOPrefs::getConfig() 487KConfig* KOPrefs::getConfig()
477{ 488{
478 return config(); 489 return config();
479} 490}
diff --git a/korganizer/koprefs.h b/korganizer/koprefs.h
index dddcdca..fa69d52 100644
--- a/korganizer/koprefs.h
+++ b/korganizer/koprefs.h
@@ -1,169 +1,171 @@
1/* 1/*
2 This file is part of KOrganizer. 2 This file is part of KOrganizer.
3 Copyright (c) 2000,2001 Cornelius Schumacher <schumacher@kde.org> 3 Copyright (c) 2000,2001 Cornelius Schumacher <schumacher@kde.org>
4 4
5 This program is free software; you can redistribute it and/or modify 5 This program is free software; you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by 6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation; either version 2 of the License, or 7 the Free Software Foundation; either version 2 of the License, or
8 (at your option) any later version. 8 (at your option) any later version.
9 9
10 This program is distributed in the hope that it will be useful, 10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of 11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details. 13 GNU General Public License for more details.
14 14
15 You should have received a copy of the GNU General Public License 15 You should have received a copy of the GNU General Public License
16 along with this program; if not, write to the Free Software 16 along with this program; if not, write to the Free Software
17 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 17 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
18 18
19 As a special exception, permission is given to link this program 19 As a special exception, permission is given to link this program
20 with any edition of Qt, and distribute the resulting executable, 20 with any edition of Qt, and distribute the resulting executable,
21 without including the source code for Qt in the source distribution. 21 without including the source code for Qt in the source distribution.
22*/ 22*/
23#ifndef KOPREFS_H 23#ifndef KOPREFS_H
24#define KOPREFS_H 24#define KOPREFS_H
25 25
26 26
27#include <libkdepim/kpimprefs.h> 27#include <libkdepim/kpimprefs.h>
28#include <qdict.h> 28#include <qdict.h>
29 29
30class KConfig; 30class KConfig;
31class QFont; 31class QFont;
32class QColor; 32class QColor;
33class QStringList; 33class QStringList;
34 34
35class KOPrefs : public KPimPrefs 35class KOPrefs : public KPimPrefs
36{ 36{
37 public: 37 public:
38 enum { FormatVCalendar, FormatICalendar }; 38 enum { FormatVCalendar, FormatICalendar };
39 enum { MailClientKMail, MailClientSendmail }; 39 enum { MailClientKMail, MailClientSendmail };
40 enum { IMIPDummy, IMIPKMail }; 40 enum { IMIPDummy, IMIPKMail };
41 enum { IMIPOutbox, IMIPdirectsend }; 41 enum { IMIPOutbox, IMIPdirectsend };
42 enum { neverAuto, addressbookAuto, selectedAuto }; 42 enum { neverAuto, addressbookAuto, selectedAuto };
43 enum { standardDestination, askDestination }; 43 enum { standardDestination, askDestination };
44 44
45 virtual ~KOPrefs(); 45 virtual ~KOPrefs();
46 46
47 /** Get instance of KOPrefs. It is made sure that there is only one 47 /** Get instance of KOPrefs. It is made sure that there is only one
48 instance. */ 48 instance. */
49 static KOPrefs *instance(); 49 static KOPrefs *instance();
50 50
51 /** Set preferences to default values */ 51 /** Set preferences to default values */
52 void usrSetDefaults(); 52 void usrSetDefaults();
53 53
54 /** Read preferences from config file */ 54 /** Read preferences from config file */
55 void usrReadConfig(); 55 void usrReadConfig();
56 56
57 /** Write preferences to config file */ 57 /** Write preferences to config file */
58 void usrWriteConfig(); 58 void usrWriteConfig();
59 void setCategoryDefaults(); 59 void setCategoryDefaults();
60 void setAllDefaults();
60 61
61 protected: 62 protected:
62 void setTimeZoneIdDefault(); 63 void setTimeZoneIdDefault();
63 64
64 /** Fill empty mail fields with default values. */ 65 /** Fill empty mail fields with default values. */
65 void fillMailDefaults(); 66 void fillMailDefaults();
66 67
67 private: 68 private:
68 /** Constructor disabled for public. Use instance() to create a KOPrefs 69 /** Constructor disabled for public. Use instance() to create a KOPrefs
69 object. */ 70 object. */
70 KOPrefs(); 71 KOPrefs();
71 72
72 static KOPrefs *mInstance; 73 static KOPrefs *mInstance;
73 QStringList getDefaultList(); 74 QStringList getDefaultList();
75 QStringList getLocationDefaultList();
74 public: 76 public:
75 // preferences data 77 // preferences data
76 KConfig* getConfig(); 78 KConfig* getConfig();
77 void setFullName(const QString &); 79 void setFullName(const QString &);
78 QString fullName(); 80 QString fullName();
79 void setEmail(const QString &); 81 void setEmail(const QString &);
80 QString email(); 82 QString email();
81 83
82 QString mAdditional; 84 QString mAdditional;
83 85
84 bool mEmailControlCenter; 86 bool mEmailControlCenter;
85 87
86 bool mBcc; 88 bool mBcc;
87 bool mAutoSave; 89 bool mAutoSave;
88 int mAutoSaveInterval; 90 int mAutoSaveInterval;
89 bool mConfirm; 91 bool mConfirm;
90 92
91 bool mEnableGroupScheduling; 93 bool mEnableGroupScheduling;
92 bool mEnableProjectView; 94 bool mEnableProjectView;
93 95
94 int mDefaultFormat; 96 int mDefaultFormat;
95 int mMailClient; 97 int mMailClient;
96 98
97 int mStartTime; 99 int mStartTime;
98 int mDefaultDuration; 100 int mDefaultDuration;
99 int mAlarmTime; 101 int mAlarmTime;
100 102
101 int mWorkingHoursStart; 103 int mWorkingHoursStart;
102 int mWorkingHoursEnd; 104 int mWorkingHoursEnd;
103 bool mExcludeHolidays; 105 bool mExcludeHolidays;
104 bool mExcludeSaturdays; 106 bool mExcludeSaturdays;
105 bool mMarcusBainsShowSeconds; 107 bool mMarcusBainsShowSeconds;
106 108
107 QFont mTimeBarFont; 109 QFont mTimeBarFont;
108 QFont mMonthViewFont; 110 QFont mMonthViewFont;
109 QFont mAgendaViewFont; 111 QFont mAgendaViewFont;
110 QFont mMarcusBainsFont; 112 QFont mMarcusBainsFont;
111 QFont mTimeLabelsFont; 113 QFont mTimeLabelsFont;
112 QFont mTodoViewFont; 114 QFont mTodoViewFont;
113 QFont mListViewFont; 115 QFont mListViewFont;
114 QFont mDateNavigatorFont; 116 QFont mDateNavigatorFont;
115 QFont mEditBoxFont; 117 QFont mEditBoxFont;
116 QFont mJornalViewFont; 118 QFont mJornalViewFont;
117 QFont mWhatsNextFont; 119 QFont mWhatsNextFont;
118 QFont mEventViewFont; 120 QFont mEventViewFont;
119 121
120 122
121 123
122 124
123 QColor mHolidayColor; 125 QColor mHolidayColor;
124 QColor mHighlightColor; 126 QColor mHighlightColor;
125 QColor mEventColor; 127 QColor mEventColor;
126 QColor mTodoDoneColor; 128 QColor mTodoDoneColor;
127 QColor mAgendaBgColor; 129 QColor mAgendaBgColor;
128 QColor mWorkingHoursColor; 130 QColor mWorkingHoursColor;
129 QColor mTodoDueTodayColor; 131 QColor mTodoDueTodayColor;
130 QColor mTodoOverdueColor; 132 QColor mTodoOverdueColor;
131 QColor mMonthViewEvenColor; 133 QColor mMonthViewEvenColor;
132 QColor mMonthViewOddColor; 134 QColor mMonthViewOddColor;
133 QColor mMonthViewHolidayColor; 135 QColor mMonthViewHolidayColor;
134 bool mMonthViewUsesDayColors; 136 bool mMonthViewUsesDayColors;
135 bool mMonthViewSatSunTog; 137 bool mMonthViewSatSunTog;
136 bool mMonthViewWeek; 138 bool mMonthViewWeek;
137 QColor mAppColor1; 139 QColor mAppColor1;
138 QColor mAppColor2; 140 QColor mAppColor2;
139 bool mUseAppColors; 141 bool mUseAppColors;
140 142
141 int mDayBegins; 143 int mDayBegins;
142 int mHourSize; 144 int mHourSize;
143 int mAllDaySize; 145 int mAllDaySize;
144 bool mShowFullMenu; 146 bool mShowFullMenu;
145 bool mDailyRecur; 147 bool mDailyRecur;
146 bool mWeeklyRecur; 148 bool mWeeklyRecur;
147 bool mMonthDailyRecur; 149 bool mMonthDailyRecur;
148 bool mMonthWeeklyRecur; 150 bool mMonthWeeklyRecur;
149 bool mMonthShowIcons; 151 bool mMonthShowIcons;
150 bool mMonthShowShort; 152 bool mMonthShowShort;
151 bool mEnableToolTips; 153 bool mEnableToolTips;
152 bool mEnableMonthScroll; 154 bool mEnableMonthScroll;
153 bool mFullViewMonth; 155 bool mFullViewMonth;
154 bool mMonthViewUsesCategoryColor; 156 bool mMonthViewUsesCategoryColor;
155 bool mFullViewTodo; 157 bool mFullViewTodo;
156 bool mShowCompletedTodo; 158 bool mShowCompletedTodo;
157 bool mMarcusBainsEnabled; 159 bool mMarcusBainsEnabled;
158 int mNextXDays; 160 int mNextXDays;
159 int mWhatsNextDays; 161 int mWhatsNextDays;
160 int mWhatsNextPrios; 162 int mWhatsNextPrios;
161 bool mEnableQuickTodo; 163 bool mEnableQuickTodo;
162 164
163 bool mCompactDialogs; 165 bool mCompactDialogs;
164 bool mVerticalScreen; 166 bool mVerticalScreen;
165 167
166 bool mShowIconNewTodo; 168 bool mShowIconNewTodo;
167 bool mShowIconNewEvent; 169 bool mShowIconNewEvent;
168 bool mShowIconSearch; 170 bool mShowIconSearch;
169 bool mShowIconList; 171 bool mShowIconList;
diff --git a/korganizer/mainwindow.cpp b/korganizer/mainwindow.cpp
index 1c74307..348dd5e 100644
--- a/korganizer/mainwindow.cpp
+++ b/korganizer/mainwindow.cpp
@@ -39,292 +39,294 @@
39#include <libkcal/todo.h> 39#include <libkcal/todo.h>
40#include <libkcal/phoneformat.h> 40#include <libkcal/phoneformat.h>
41#include <libkdepim/ksyncprofile.h> 41#include <libkdepim/ksyncprofile.h>
42#include <libkdepim/phoneaccess.h> 42#include <libkdepim/phoneaccess.h>
43#include <libkcal/kincidenceformatter.h> 43#include <libkcal/kincidenceformatter.h>
44#include <libkdepim/kpimglobalprefs.h> 44#include <libkdepim/kpimglobalprefs.h>
45 45
46#include "calendarview.h" 46#include "calendarview.h"
47#include "koviewmanager.h" 47#include "koviewmanager.h"
48#include "datenavigator.h" 48#include "datenavigator.h"
49#include "koagendaview.h" 49#include "koagendaview.h"
50#include "koagenda.h" 50#include "koagenda.h"
51#include "kodialogmanager.h" 51#include "kodialogmanager.h"
52#include "kdialogbase.h" 52#include "kdialogbase.h"
53#include "kapplication.h" 53#include "kapplication.h"
54#include "kofilterview.h" 54#include "kofilterview.h"
55#include "kstandarddirs.h" 55#include "kstandarddirs.h"
56#include "koprefs.h" 56#include "koprefs.h"
57#include "kfiledialog.h" 57#include "kfiledialog.h"
58#include "koglobals.h" 58#include "koglobals.h"
59#include "kglobal.h" 59#include "kglobal.h"
60#include "klocale.h" 60#include "klocale.h"
61#include "kconfig.h" 61#include "kconfig.h"
62#include "simplealarmclient.h" 62#include "simplealarmclient.h"
63#include "externalapphandler.h" 63#include "externalapphandler.h"
64 64
65using namespace KCal; 65using namespace KCal;
66#ifndef _WIN32_ 66#ifndef _WIN32_
67#include <unistd.h> 67#include <unistd.h>
68#else 68#else
69#ifdef _OL_IMPORT_ 69#ifdef _OL_IMPORT_
70#include "koimportoldialog.h" 70#include "koimportoldialog.h"
71#endif 71#endif
72#endif 72#endif
73#include "mainwindow.h" 73#include "mainwindow.h"
74 74
75class KOex2phonePrefs : public QDialog 75class KOex2phonePrefs : public QDialog
76{ 76{
77 public: 77 public:
78 KOex2phonePrefs( QWidget *parent=0, const char *name=0 ) : 78 KOex2phonePrefs( QWidget *parent=0, const char *name=0 ) :
79 QDialog( parent, name, true ) 79 QDialog( parent, name, true )
80 { 80 {
81 setCaption( i18n("Export to phone options") ); 81 setCaption( i18n("Export to phone options") );
82 QVBoxLayout* lay = new QVBoxLayout( this ); 82 QVBoxLayout* lay = new QVBoxLayout( this );
83 lay->setSpacing( 3 ); 83 lay->setSpacing( 3 );
84 lay->setMargin( 3 ); 84 lay->setMargin( 3 );
85 QLabel *lab; 85 QLabel *lab;
86 lay->addWidget(lab = new QLabel( i18n("Please read Help-Sync Howto\nto know what settings to use."), this ) ); 86 lay->addWidget(lab = new QLabel( i18n("Please read Help-Sync Howto\nto know what settings to use."), this ) );
87 lab->setAlignment (AlignHCenter ); 87 lab->setAlignment (AlignHCenter );
88 QHBox* temphb; 88 QHBox* temphb;
89 temphb = new QHBox( this ); 89 temphb = new QHBox( this );
90 new QLabel( i18n("I/O device: "), temphb ); 90 new QLabel( i18n("I/O device: "), temphb );
91 mPhoneDevice = new QLineEdit( temphb); 91 mPhoneDevice = new QLineEdit( temphb);
92 lay->addWidget( temphb ); 92 lay->addWidget( temphb );
93 temphb = new QHBox( this ); 93 temphb = new QHBox( this );
94 new QLabel( i18n("Connection: "), temphb ); 94 new QLabel( i18n("Connection: "), temphb );
95 mPhoneConnection = new QLineEdit( temphb); 95 mPhoneConnection = new QLineEdit( temphb);
96 lay->addWidget( temphb ); 96 lay->addWidget( temphb );
97 temphb = new QHBox( this ); 97 temphb = new QHBox( this );
98 new QLabel( i18n("Model(opt.): "), temphb ); 98 new QLabel( i18n("Model(opt.): "), temphb );
99 mPhoneModel = new QLineEdit( temphb); 99 mPhoneModel = new QLineEdit( temphb);
100 lay->addWidget( temphb ); 100 lay->addWidget( temphb );
101 mWriteBackFuture= new QCheckBox( i18n("Write back events in future only"), this ); 101 mWriteBackFuture= new QCheckBox( i18n("Write back events in future only"), this );
102 mWriteBackFuture->setChecked( true ); 102 mWriteBackFuture->setChecked( true );
103 lay->addWidget( mWriteBackFuture ); 103 lay->addWidget( mWriteBackFuture );
104 temphb = new QHBox( this ); 104 temphb = new QHBox( this );
105 new QLabel( i18n("Max. weeks in future: ") , temphb ); 105 new QLabel( i18n("Max. weeks in future: ") , temphb );
106 mWriteBackFutureWeeks= new QSpinBox(1,104, 1, temphb); 106 mWriteBackFutureWeeks= new QSpinBox(1,104, 1, temphb);
107 mWriteBackFutureWeeks->setValue( 8 ); 107 mWriteBackFutureWeeks->setValue( 8 );
108 lay->addWidget( temphb ); 108 lay->addWidget( temphb );
109 lay->addWidget(lab = new QLabel( i18n("NOTE: This will remove all old\ntodo/calendar data on phone!"), this ) ); 109 lay->addWidget(lab = new QLabel( i18n("NOTE: This will remove all old\ntodo/calendar data on phone!"), this ) );
110 lab->setAlignment (AlignHCenter ); 110 lab->setAlignment (AlignHCenter );
111 QPushButton * ok = new QPushButton( i18n("Export to mobile phone!"), this ); 111 QPushButton * ok = new QPushButton( i18n("Export to mobile phone!"), this );
112 lay->addWidget( ok ); 112 lay->addWidget( ok );
113 QPushButton * cancel = new QPushButton( i18n("Cancel"), this ); 113 QPushButton * cancel = new QPushButton( i18n("Cancel"), this );
114 lay->addWidget( cancel ); 114 lay->addWidget( cancel );
115 connect ( ok,SIGNAL(clicked() ),this , SLOT ( accept() ) ); 115 connect ( ok,SIGNAL(clicked() ),this , SLOT ( accept() ) );
116 connect (cancel, SIGNAL(clicked() ), this, SLOT ( reject()) ); 116 connect (cancel, SIGNAL(clicked() ), this, SLOT ( reject()) );
117 resize( 220, 240 ); 117 resize( 220, 240 );
118 qApp->processEvents(); 118 qApp->processEvents();
119 int dw = QApplication::desktop()->width(); 119 int dw = QApplication::desktop()->width();
120 int dh = QApplication::desktop()->height(); 120 int dh = QApplication::desktop()->height();
121 move( (dw-width())/2, (dh - height() )/2 ); 121 move( (dw-width())/2, (dh - height() )/2 );
122 } 122 }
123 123
124public: 124public:
125 QLineEdit* mPhoneConnection, *mPhoneDevice, *mPhoneModel; 125 QLineEdit* mPhoneConnection, *mPhoneDevice, *mPhoneModel;
126 QCheckBox* mWriteBackFuture; 126 QCheckBox* mWriteBackFuture;
127 QSpinBox* mWriteBackFutureWeeks; 127 QSpinBox* mWriteBackFutureWeeks;
128}; 128};
129 129
130int globalFlagBlockStartup; 130int globalFlagBlockStartup;
131MainWindow::MainWindow( QWidget *parent, const char *name, QString msg) : 131MainWindow::MainWindow( QWidget *parent, const char *name, QString msg) :
132 QMainWindow( parent, name ) 132 QMainWindow( parent, name )
133{ 133{
134 134
135
135#ifdef DESKTOP_VERSION 136#ifdef DESKTOP_VERSION
136 setFont( QFont("Arial"), 14 ); 137 setFont( QFont("Arial"), 14 );
137#endif 138#endif
138 mClosed = false; 139 mClosed = false;
139 //QString confFile = KStandardDirs::appDir() + "config/korganizerrc"; 140 //QString confFile = KStandardDirs::appDir() + "config/korganizerrc";
140 QString confFile = locateLocal("config","korganizerrc"); 141 QString confFile = locateLocal("config","korganizerrc");
141 QFileInfo finf ( confFile ); 142 QFileInfo finf ( confFile );
142 bool showWarning = !finf.exists(); 143 bool showWarning = !finf.exists();
143 setIcon(SmallIcon( "ko24" ) ); 144 setIcon(SmallIcon( "ko24" ) );
144 mBlockAtStartup = true; 145 mBlockAtStartup = true;
145 mFlagKeyPressed = false; 146 mFlagKeyPressed = false;
146 setCaption("KOrganizer/Pi");
147 KPimGlobalPrefs::instance()->setGlobalConfig();
148 KOPrefs *p = KOPrefs::instance(); 147 KOPrefs *p = KOPrefs::instance();
148 KPimGlobalPrefs::instance()->setGlobalConfig();
149 if ( p->mHourSize > 18 ) 149 if ( p->mHourSize > 18 )
150 p->mHourSize = 18; 150 p->mHourSize = 18;
151 QMainWindow::ToolBarDock tbd; 151 QMainWindow::ToolBarDock tbd;
152 if ( p->mToolBarHor ) { 152 if ( p->mToolBarHor ) {
153 if ( p->mToolBarUp ) 153 if ( p->mToolBarUp )
154 tbd = Bottom; 154 tbd = Bottom;
155 else 155 else
156 tbd = Top; 156 tbd = Top;
157 } 157 }
158 else { 158 else {
159 if ( p->mToolBarUp ) 159 if ( p->mToolBarUp )
160 tbd = Right; 160 tbd = Right;
161 else 161 else
162 tbd = Left; 162 tbd = Left;
163 } 163 }
164 if ( KOPrefs::instance()->mUseAppColors ) 164 if ( KOPrefs::instance()->mUseAppColors )
165 QApplication::setPalette( QPalette (KOPrefs::instance()->mAppColor1, KOPrefs::instance()->mAppColor2), true ); 165 QApplication::setPalette( QPalette (KOPrefs::instance()->mAppColor1, KOPrefs::instance()->mAppColor2), true );
166 globalFlagBlockStartup = 1; 166 globalFlagBlockStartup = 1;
167 iconToolBar = new QPEToolBar( this ); 167 iconToolBar = new QPEToolBar( this );
168 addToolBar (iconToolBar , tbd ); 168 addToolBar (iconToolBar , tbd );
169 mCalendarModifiedFlag = false; 169 mCalendarModifiedFlag = false;
170 170
171 setCaption("KOrganizer/Pi");
171 QLabel* splash = new QLabel(i18n("KO/Pi is starting ... "), this ); 172 QLabel* splash = new QLabel(i18n("KO/Pi is starting ... "), this );
172 splash->setAlignment ( AlignCenter ); 173 splash->setAlignment ( AlignCenter );
173 setCentralWidget( splash ); 174 setCentralWidget( splash );
174#ifndef DESKTOP_VERSION 175#ifndef DESKTOP_VERSION
175 showMaximized(); 176 showMaximized();
176#endif 177#endif
178
177 //qDebug("Mainwidget x %d y %d w %d h %d", x(), y(), width(), height ()); 179 //qDebug("Mainwidget x %d y %d w %d h %d", x(), y(), width(), height ());
178 setDefaultPreferences(); 180 setDefaultPreferences();
179 mCalendar = new CalendarLocal(); 181 mCalendar = new CalendarLocal();
180 mView = new CalendarView( mCalendar, this,"mCalendar " ); 182 mView = new CalendarView( mCalendar, this,"mCalendar " );
181 mView->hide(); 183 mView->hide();
182 //mView->resize(splash->size() ); 184 //mView->resize(splash->size() );
183 initActions(); 185 initActions();
184 mSyncManager = new KSyncManager((QWidget*)this, (KSyncInterface*)mView, KSyncManager::KOPI, KOPrefs::instance(), syncMenu); 186 mSyncManager = new KSyncManager((QWidget*)this, (KSyncInterface*)mView, KSyncManager::KOPI, KOPrefs::instance(), syncMenu);
185 mSyncManager->setBlockSave(false); 187 mSyncManager->setBlockSave(false);
186 mView->setSyncManager(mSyncManager); 188 mView->setSyncManager(mSyncManager);
187#ifndef DESKTOP_VERSION 189#ifndef DESKTOP_VERSION
188 iconToolBar->show(); 190 iconToolBar->show();
189 qApp->processEvents(); 191 qApp->processEvents();
190#endif 192#endif
191 //qDebug("Splashwidget x %d y %d w %d h %d", splash-> x(), splash->y(), splash->width(),splash-> height ()); 193 //qDebug("Splashwidget x %d y %d w %d h %d", splash-> x(), splash->y(), splash->width(),splash-> height ());
192 int vh = height() ; 194 int vh = height() ;
193 int vw = width(); 195 int vw = width();
194 //qDebug("Toolbar hei %d ",iconToolBar->height() ); 196 //qDebug("Toolbar hei %d ",iconToolBar->height() );
195 if ( iconToolBar->orientation () == Qt:: Horizontal ) { 197 if ( iconToolBar->orientation () == Qt:: Horizontal ) {
196 vh -= iconToolBar->height(); 198 vh -= iconToolBar->height();
197 } else { 199 } else {
198 vw -= iconToolBar->height(); 200 vw -= iconToolBar->height();
199 } 201 }
200 //mView->setMaximumSize( splash->size() ); 202 //mView->setMaximumSize( splash->size() );
201 //mView->resize( splash->size() ); 203 //mView->resize( splash->size() );
202 //qDebug("MainView x %d y %d w %d h %d", mView->x(),mView-> y(), mView->width(), mView->height ()); 204 //qDebug("MainView x %d y %d w %d h %d", mView->x(),mView-> y(), mView->width(), mView->height ());
203 mView->readSettings(); 205 mView->readSettings();
204 bool newFile = false; 206 bool newFile = false;
205 if( !QFile::exists( defaultFileName() ) ) { 207 if( !QFile::exists( defaultFileName() ) ) {
206 QFileInfo finfo ( defaultFileName() ); 208 QFileInfo finfo ( defaultFileName() );
207 QString oldFile = QDir::convertSeparators( QDir::homeDirPath()+"/Applications/korganizer/mycalendar.ics"); 209 QString oldFile = QDir::convertSeparators( QDir::homeDirPath()+"/Applications/korganizer/mycalendar.ics");
208 qDebug("oldfile %s ", oldFile.latin1()); 210 qDebug("oldfile %s ", oldFile.latin1());
209 QString message = "You are starting KO/Pi for the\nfirst time after updating to a\nversion >= 1.9.1. The location of the\ndefault calendar file has changed.\nA mycalendar.ics file was detected\nat the old location.\nThis file will be loaded now\nand stored at the new location!\n(Config file location has changed, too!)\nPlease read menu Help-What's New!\n"; 211 QString message = "You are starting KO/Pi for the\nfirst time after updating to a\nversion >= 1.9.1. The location of the\ndefault calendar file has changed.\nA mycalendar.ics file was detected\nat the old location.\nThis file will be loaded now\nand stored at the new location!\n(Config file location has changed, too!)\nPlease read menu Help-What's New!\n";
210 finfo.setFile( oldFile ); 212 finfo.setFile( oldFile );
211 if (finfo.exists() ) { 213 if (finfo.exists() ) {
212 KMessageBox::information( this, message); 214 KMessageBox::information( this, message);
213 mView->openCalendar( oldFile ); 215 mView->openCalendar( oldFile );
214 qApp->processEvents(); 216 qApp->processEvents();
215 } else { 217 } else {
216 oldFile = QDir::convertSeparators( QDir::homeDirPath()+"/korganizer/mycalendar.ics"); 218 oldFile = QDir::convertSeparators( QDir::homeDirPath()+"/korganizer/mycalendar.ics");
217 finfo.setFile( oldFile ); 219 finfo.setFile( oldFile );
218 if (finfo.exists() ) { 220 if (finfo.exists() ) {
219 KMessageBox::information( this, message); 221 KMessageBox::information( this, message);
220 mView->openCalendar( oldFile ); 222 mView->openCalendar( oldFile );
221 qApp->processEvents(); 223 qApp->processEvents();
222 } 224 }
223 } 225 }
224 mView->saveCalendar( defaultFileName() ); 226 mView->saveCalendar( defaultFileName() );
225 newFile = true; 227 newFile = true;
226 } 228 }
227 229
228 QTime neededSaveTime = QDateTime::currentDateTime().time(); 230 QTime neededSaveTime = QDateTime::currentDateTime().time();
229 mView->openCalendar( defaultFileName() ); 231 mView->openCalendar( defaultFileName() );
230 int msNeeded = neededSaveTime.msecsTo( QDateTime::currentDateTime().time() ); 232 int msNeeded = neededSaveTime.msecsTo( QDateTime::currentDateTime().time() );
231 qDebug("KO: Calendar loading time: %d ms",msNeeded ); 233 qDebug("KO: Calendar loading time: %d ms",msNeeded );
232 234
233 if ( KPimGlobalPrefs::instance()->mPreferredLanguage != KOPrefs::instance()->mOldLoadedLanguage ) { 235 if ( KPimGlobalPrefs::instance()->mPreferredLanguage != KOPrefs::instance()->mOldLoadedLanguage ) {
234 KOPrefs::instance()->setCategoryDefaults(); 236 KOPrefs::instance()->setAllDefaults();
235 int count = mView->addCategories(); 237 int count = mView->addCategories();
236 } 238 }
237 processIncidenceSelection( 0 ); 239 processIncidenceSelection( 0 );
238 connect( mView, SIGNAL( incidenceSelected( Incidence * ) ), 240 connect( mView, SIGNAL( incidenceSelected( Incidence * ) ),
239 SLOT( processIncidenceSelection( Incidence * ) ) ); 241 SLOT( processIncidenceSelection( Incidence * ) ) );
240 connect( mView, SIGNAL( modifiedChanged( bool ) ), 242 connect( mView, SIGNAL( modifiedChanged( bool ) ),
241 SLOT( slotModifiedChanged( bool ) ) ); 243 SLOT( slotModifiedChanged( bool ) ) );
242 244
243 245
244 connect( mView, SIGNAL( tempDisableBR(bool) ), 246 connect( mView, SIGNAL( tempDisableBR(bool) ),
245 SLOT( disableBR(bool) ) ); 247 SLOT( disableBR(bool) ) );
246 connect( &mSaveTimer, SIGNAL( timeout() ), SLOT( save() ) ); 248 connect( &mSaveTimer, SIGNAL( timeout() ), SLOT( save() ) );
247 mView->setModified( false ); 249 mView->setModified( false );
248 mBlockAtStartup = false; 250 mBlockAtStartup = false;
249 mView->setModified( false ); 251 mView->setModified( false );
250 setCentralWidget( mView ); 252 setCentralWidget( mView );
251 globalFlagBlockStartup = 0; 253 globalFlagBlockStartup = 0;
252 mView->show(); 254 mView->show();
253 delete splash; 255 delete splash;
254 if ( newFile ) 256 if ( newFile )
255 mView->updateConfig(); 257 mView->updateConfig();
256 // qApp->processEvents(); 258 // qApp->processEvents();
257 //qDebug("MainView x %d y %d w %d h %d", mView->x(),mView-> y(), mView->width(), mView->height ()); 259 //qDebug("MainView x %d y %d w %d h %d", mView->x(),mView-> y(), mView->width(), mView->height ());
258 //fillSyncMenu(); 260 //fillSyncMenu();
259 261
260 262
261 connect(mSyncManager , SIGNAL( save() ), this, SLOT( save() ) ); 263 connect(mSyncManager , SIGNAL( save() ), this, SLOT( save() ) );
262 connect(mView , SIGNAL( save() ), this, SLOT( save() ) ); 264 connect(mView , SIGNAL( save() ), this, SLOT( save() ) );
263 connect(mView , SIGNAL( saveStopTimer() ), this, SLOT( saveStopTimer() ) ); 265 connect(mView , SIGNAL( saveStopTimer() ), this, SLOT( saveStopTimer() ) );
264 connect(mSyncManager , SIGNAL( request_file() ), this, SLOT( syncFileRequest() ) ); 266 connect(mSyncManager , SIGNAL( request_file() ), this, SLOT( syncFileRequest() ) );
265 connect(mSyncManager , SIGNAL( getFile( bool )), this, SLOT(getFile( bool ) ) ); 267 connect(mSyncManager , SIGNAL( getFile( bool )), this, SLOT(getFile( bool ) ) );
266 mSyncManager->setDefaultFileName( defaultFileName()); 268 mSyncManager->setDefaultFileName( defaultFileName());
267 connect ( syncMenu, SIGNAL( activated ( int ) ), mSyncManager, SLOT (slotSyncMenu( int ) ) ); 269 connect ( syncMenu, SIGNAL( activated ( int ) ), mSyncManager, SLOT (slotSyncMenu( int ) ) );
268 mSyncManager->fillSyncMenu(); 270 mSyncManager->fillSyncMenu();
269 271
270 272
271 273
272 mView->viewManager()->agendaView()->setStartHour( KOPrefs::instance()->mDayBegins ); 274 mView->viewManager()->agendaView()->setStartHour( KOPrefs::instance()->mDayBegins );
273 if ( showWarning ) { 275 if ( showWarning ) {
274 KMessageBox::information( this, 276 KMessageBox::information( this,
275 "You are starting KO/Pi for the first time.\nPlease read menu: Help-What's New,\nif you did an update!\nPlease choose your timezone in the \nConfigure Dialog TAB Time Zone!\nPlease choose your language\nin the TAB Locale!\nYou get the Configure Dialog\nvia Menu: Actions - Configure....\nClick OK to show the Configure Dialog!\n", "KO/Pi information"); 277 "You are starting KO/Pi for the first time.\nPlease read menu: Help-What's New,\nif you did an update!\nPlease choose your timezone in the \nConfigure Dialog TAB Time Zone!\nPlease choose your language\nin the TAB Locale!\nYou get the Configure Dialog\nvia Menu: Actions - Configure....\nClick OK to show the Configure Dialog!\n", "KO/Pi information");
276 qApp->processEvents(); 278 qApp->processEvents();
277 mView->dialogManager()->showSyncOptions(); 279 mView->dialogManager()->showSyncOptions();
278 } 280 }
279 281
280 //US listen for result adressed from Ka/Pi 282 //US listen for result adressed from Ka/Pi
281#ifndef DESKTOP_VERSION 283#ifndef DESKTOP_VERSION
282 connect(qApp, SIGNAL (appMessage ( const QCString &, const QByteArray & )), ExternalAppHandler::instance(), SLOT (appMessage ( const QCString &, const QByteArray & ))); 284 connect(qApp, SIGNAL (appMessage ( const QCString &, const QByteArray & )), ExternalAppHandler::instance(), SLOT (appMessage ( const QCString &, const QByteArray & )));
283#endif 285#endif
284#ifndef DESKTOP_VERSION 286#ifndef DESKTOP_VERSION
285 infrared = 0; 287 infrared = 0;
286#endif 288#endif
287 updateWeek( mView->startDate() ); 289 updateWeek( mView->startDate() );
288 connect( mView->dateNavigator(), SIGNAL( datesSelected( const KCal::DateList & ) ), 290 connect( mView->dateNavigator(), SIGNAL( datesSelected( const KCal::DateList & ) ),
289 SLOT( updateWeekNum( const KCal::DateList & ) ) ); 291 SLOT( updateWeekNum( const KCal::DateList & ) ) );
290 mBRdisabled = false; 292 mBRdisabled = false;
291 //toggleBeamReceive(); 293 //toggleBeamReceive();
292} 294}
293MainWindow::~MainWindow() 295MainWindow::~MainWindow()
294{ 296{
295 //qDebug("MainWindow::~MainWindow() "); 297 //qDebug("MainWindow::~MainWindow() ");
296 //save toolbar location 298 //save toolbar location
297 delete mCalendar; 299 delete mCalendar;
298 delete mSyncManager; 300 delete mSyncManager;
299#ifndef DESKTOP_VERSION 301#ifndef DESKTOP_VERSION
300 if ( infrared ) 302 if ( infrared )
301 delete infrared; 303 delete infrared;
302#endif 304#endif
303 305
304 306
305} 307}
306 308
307void MainWindow::disableBR(bool b) 309void MainWindow::disableBR(bool b)
308{ 310{
309#ifndef DESKTOP_VERSION 311#ifndef DESKTOP_VERSION
310 if ( b ) { 312 if ( b ) {
311 if ( infrared ) { 313 if ( infrared ) {
312 toggleBeamReceive(); 314 toggleBeamReceive();
313 mBRdisabled = true; 315 mBRdisabled = true;
314 } 316 }
315 mBRdisabled = true; 317 mBRdisabled = true;
316 } else { 318 } else {
317 if ( mBRdisabled ) { 319 if ( mBRdisabled ) {
318 mBRdisabled = false; 320 mBRdisabled = false;
319 //makes no sense,because other cal ap is probably running 321 //makes no sense,because other cal ap is probably running
320 // toggleBeamReceive(); 322 // toggleBeamReceive();
321 } 323 }
322 } 324 }
323#endif 325#endif
324 326
325} 327}
326bool MainWindow::beamReceiveEnabled() 328bool MainWindow::beamReceiveEnabled()
327{ 329{
328#ifndef DESKTOP_VERSION 330#ifndef DESKTOP_VERSION
329 return ( infrared != 0 ); 331 return ( infrared != 0 );
330#endif 332#endif