summaryrefslogtreecommitdiffabout
Unidiff
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
@@ -291,165 +291,176 @@ KOPrefs::KOPrefs() :
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}
diff --git a/korganizer/koprefs.h b/korganizer/koprefs.h
index dddcdca..fa69d52 100644
--- a/korganizer/koprefs.h
+++ b/korganizer/koprefs.h
@@ -12,110 +12,112 @@
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
diff --git a/korganizer/mainwindow.cpp b/korganizer/mainwindow.cpp
index 1c74307..348dd5e 100644
--- a/korganizer/mainwindow.cpp
+++ b/korganizer/mainwindow.cpp
@@ -87,196 +87,198 @@ class KOex2phonePrefs : public QDialog
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 & )));