summaryrefslogtreecommitdiffabout
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--bin/kdepim/korganizer/germantranslation.txt2
-rw-r--r--korganizer/koagenda.cpp5
-rw-r--r--korganizer/koprefs.cpp1
-rw-r--r--korganizer/koprefs.h2
-rw-r--r--korganizer/koprefsdialog.cpp16
-rw-r--r--korganizer/kotodoview.cpp9
6 files changed, 24 insertions, 11 deletions
diff --git a/bin/kdepim/korganizer/germantranslation.txt b/bin/kdepim/korganizer/germantranslation.txt
index 9476a89..a688eaf 100644
--- a/bin/kdepim/korganizer/germantranslation.txt
+++ b/bin/kdepim/korganizer/germantranslation.txt
@@ -1300,58 +1300,58 @@
1300{ "Please select at least one\nof the types to search for:\n\nEvents\nTodos\nJournals","Bitte wählen Sie mindestens\neinen dieser Typen\num darin zu suchen:\n\nTermine\nTodos\nJournale" }, 1300{ "Please select at least one\nof the types to search for:\n\nEvents\nTodos\nJournals","Bitte wählen Sie mindestens\neinen dieser Typen\num darin zu suchen:\n\nTermine\nTodos\nJournale" },
1301{ "There is no next alarm.","Es gibt keinen nächsten Alarm." }, 1301{ "There is no next alarm.","Es gibt keinen nächsten Alarm." },
1302{ "%1 %2 - %3 (next event/todo with alarm)","%1 %2 - %3 (nächster Termin/Todo mit Alarm)" }, 1302{ "%1 %2 - %3 (next event/todo with alarm)","%1 %2 - %3 (nächster Termin/Todo mit Alarm)" },
1303{ "The next alarm is in:\n","Der nächste Alarm ist in:\n" }, 1303{ "The next alarm is in:\n","Der nächste Alarm ist in:\n" },
1304{ "%1 days\n","%1 Tagen\n" }, 1304{ "%1 days\n","%1 Tagen\n" },
1305{ "1 day\n","1 Tag\n" }, 1305{ "1 day\n","1 Tag\n" },
1306{ "%1 hours\n","%1 Stunden\n" }, 1306{ "%1 hours\n","%1 Stunden\n" },
1307{ "1 hour\n","1 Stunde\n" }, 1307{ "1 hour\n","1 Stunde\n" },
1308{ "%1 minutes\n","%1 Minuten\n" }, 1308{ "%1 minutes\n","%1 Minuten\n" },
1309{ "1 minute\n","1 Minute\n" }, 1309{ "1 minute\n","1 Minute\n" },
1310{ "Only one toolbar","Nur eine Toolbar" }, 1310{ "Only one toolbar","Nur eine Toolbar" },
1311{ "Print","Drucke" }, 1311{ "Print","Drucke" },
1312{ "Print selected event / todo...","Drucke ausgewählten Termin / Todo..." }, 1312{ "Print selected event / todo...","Drucke ausgewählten Termin / Todo..." },
1313{ "There is nothing selected!","Es ist nichts ausgewählt!" }, 1313{ "There is nothing selected!","Es ist nichts ausgewählt!" },
1314{ "\n\nDo you really want to print this item?","\n\nMöchten Sie wirklich diesen Eintrag ausdrucken? " }, 1314{ "\n\nDo you really want to print this item?","\n\nMöchten Sie wirklich diesen Eintrag ausdrucken? " },
1315{ "KO/Pi Print Confirmation","KO/Pi Druckbestätigung" }, 1315{ "KO/Pi Print Confirmation","KO/Pi Druckbestätigung" },
1316{ "This prints the view as you see it.\n(With the complete content, of course.)\nYou may change the print layout by resizing the view.\nPrint unscaled may print several pages\ndepending on the amount of data.\nPrint scaled down will print all on one page.\nPrint scaled up/down will print all on one page,\nbut will scale up the text to page boundaries,\nif the text is smaller than the page.\nYou can select page geometry setup in the next dialog.\n","Dies druckt die Ansicht wie man sie sieht.\n(Mit dem kompletten Inhalt natürlich.)\nMan kann das Layout ändern durch ändern der Fenstergröße.\nDrucke unskaliert druckt ggf. mehrere Seiten\nabhängig von der Menge der Daten.\nDrucke runterskaliert um auf eine Seite zu passen\ndruckt alles auf eine Seite.\nDrucke hoch/runterskaliert um genau auf eine Seite zu passen\nvergrößert den Text gegebenenfalls.\nDas Seitenlayout kann im nächsten Dialog gewählt werden.\n" }, 1316{ "This prints the view as you see it.\n(With the complete content, of course.)\nYou may change the print layout by resizing the view.\nPrint unscaled may print several pages\ndepending on the amount of data.\nPrint scaled down will print all on one page.\nPrint scaled up/down will print all on one page,\nbut will scale up the text to page boundaries,\nif the text is smaller than the page.\nYou can select page geometry setup in the next dialog.\n","Dies druckt die Ansicht wie man sie sieht.\n(Mit dem kompletten Inhalt natürlich.)\nMan kann das Layout ändern durch ändern der Fenstergröße.\nDrucke unskaliert druckt ggf. mehrere Seiten\nabhängig von der Menge der Daten.\nDrucke runterskaliert um auf eine Seite zu passen\ndruckt alles auf eine Seite.\nDrucke hoch/runterskaliert um genau auf eine Seite zu passen\nvergrößert den Text gegebenenfalls.\nDas Seitenlayout kann im nächsten Dialog gewählt werden.\n" },
1317{ "KO/Pi Printout","KO/Pi Ausdruck" }, 1317{ "KO/Pi Printout","KO/Pi Ausdruck" },
1318{ "Print unscaled","Drucke unskaliert" }, 1318{ "Print unscaled","Drucke unskaliert" },
1319{ "Print scaled down to fit one page","Drucke runterskaliert um auf eine Seite zu passen." }, 1319{ "Print scaled down to fit one page","Drucke runterskaliert um auf eine Seite zu passen." },
1320{ "Print scaled up/down to fit one page","Drucke hoch/runterskaliert um genau auf eine Seite zu passen." }, 1320{ "Print scaled up/down to fit one page","Drucke hoch/runterskaliert um genau auf eine Seite zu passen." },
1321{ "Printout Mode","Druck Modus" }, 1321{ "Printout Mode","Druck Modus" },
1322{ "Filter menu icon","Filtermenu Icon" }, 1322{ "Filter menu icon","Filtermenu Icon" },
1323{ "<p><b>A+(shift or ctrl)</b>: Show occurence of next alarm</p>\n","<p><b>A+(shift oder ctrl)</b>: Zeige Zeit bis zum nächsten Alarm</p>\n" }, 1323{ "<p><b>A+(shift or ctrl)</b>: Show occurence of next alarm</p>\n","<p><b>A+(shift oder ctrl)</b>: Zeige Zeit bis zum nächsten Alarm</p>\n" },
1324{ "<p><b>N</b>: Switch to next view which has a toolbar icon</p>\n","<p><b>N</b>: Wechsle zur nächsten Ansicht, die ein Icon in der Toolbar hat</p>\n" }, 1324{ "<p><b>N</b>: Switch to next view which has a toolbar icon</p>\n","<p><b>N</b>: Wechsle zur nächsten Ansicht, die ein Icon in der Toolbar hat</p>\n" },
1325{ "%1d","%1t" }, 1325{ "%1d","%1t" },
1326{ "%1h","%1std" }, 1326{ "%1h","%1std" },
1327{ "%1min","%1min" }, 1327{ "%1min","%1min" },
1328{ "( %1 before )","( %1 vorher )" }, 1328{ "( %1 before )","( %1 vorher )" },
1329{ "The next alarm is in\nless than one minute!","Der nächste Alarm kommt in\nweniger als einer Minute!" }, 1329{ "The next alarm is in\nless than one minute!","Der nächste Alarm kommt in\nweniger als einer Minute!" },
1330{ "\nThe internal alarm notification is disabled!\n","\nDie interne Alarmbenachrichtigung ist ausgeschaltet!\n" }, 1330{ "\nThe internal alarm notification is disabled!\n","\nDie interne Alarmbenachrichtigung ist ausgeschaltet!\n" },
1331{ "Enable it in the settings menu, TAB alarm.","Schalten Sie sie an im Menu Einstellungen, TAB Alarm." }, 1331{ "Enable it in the settings menu, TAB alarm.","Schalten Sie sie an im Menu Einstellungen, TAB Alarm." },
1332{ "Show Sync Events in WN+Agenda","Zeige Sync-Ereignisse in WN+Agenda" }, 1332{ "Show Sync Events in WN+Agenda","Zeige Sync-Ereignisse in WN+Agenda" },
1333{ "Use short date in WN+Event view","Zeige Kurzdatum in WN+Terminanzeige" }, 1333{ "Use short date in WN+Event view","Zeige Kurzdatum in WN+Terminanzeige" },
1334{ "Number of max.displayed todo prios:","Anzahl max.angezeigter Todo-Prios:" }, 1334{ "Number of max.displayed todo prios:","Anzahl max.angezeigter Todo-Prios:" },
1335{ " on "," am " }, 1335{ " on "," am " },
1336{ "On: ","Am: " }, 1336{ "On: ","Am: " },
1337{ "<i>The recurrence is computed from the start datetime!</i>","<i>Die Wiederholung wird vom Startwert aus berechnet!</i>" }, 1337{ "<i>The recurrence is computed from the start datetime!</i>","<i>Die Wiederholung wird vom Startwert aus berechnet!</i>" },
1338{ "Start/Stop todo...","Starte/Stoppe Todo..." }, 1338{ "Start/Stop todo...","Starte/Stoppe Todo..." },
1339{ "Color for running todos:","Farbe für laufende Todos:" }, 1339{ "Color for running todos:","Farbe für laufende Todos:" },
1340{ "The todo\n%1\nis started.\nDo you want to set\nthe state to stopped?","Das Todo\n%1\nist gestartet.\nWollen Sie es\nauf gestoppt setzen?" }, 1340{ "The todo\n%1\nis started.\nDo you want to set\nthe state to stopped?","Das Todo\n%1\nist gestartet.\nWollen Sie es\nauf gestoppt setzen?" },
1341{ "Todo is started","Todo is gestarted" }, 1341{ "Todo is started","Todo is gestarted" },
1342{ "Stop todo","Stoppe Todo" }, 1342{ "Stop todo","Stoppe Todo" },
1343{ "Todo is stopped","Todo ist gestoppt" }, 1343{ "Todo is stopped","Todo ist gestoppt" },
1344{ "Start todo","Starte Todo" }, 1344{ "Start todo","Starte Todo" },
1345{ "The todo\n%1\nis stopped.\nDo you want to set\nthe state to started?","Das Todo\n%1\nist gestoppt.\nWollen Sie es auf\ngestartet setzen?" }, 1345{ "The todo\n%1\nis stopped.\nDo you want to set\nthe state to started?","Das Todo\n%1\nist gestoppt.\nWollen Sie es auf\ngestartet setzen?" },
1346{ "The todo\n%1\nwill be cloned!\nIt has subtodos!\nDo you want to clone\nall subtodos as well?","Das Todo\n%1\nwird geklont!\nEs hat Untertodos!\nMöchten Sie\nalle Untertodos auch klonen?" }, 1346{ "The todo\n%1\nwill be cloned!\nIt has subtodos!\nDo you want to clone\nall subtodos as well?","Das Todo\n%1\nwird geklont!\nEs hat Untertodos!\nMöchten Sie\nalle Untertodos auch klonen?" },
1347{ "Todo has subtodos","Todo hat Untertodos" }, 1347{ "Todo has subtodos","Todo hat Untertodos" },
1348{ "","" }, 1348{ "Block popup until mouse button release","Sperre Popup bis Mausknopf losgelassen" },
1349{ "","" }, 1349{ "","" },
1350{ "","" }, 1350{ "","" },
1351{ "","" }, 1351{ "","" },
1352{ "","" }, 1352{ "","" },
1353{ "","" }, 1353{ "","" },
1354{ "","" }, 1354{ "","" },
1355{ "","" }, 1355{ "","" },
1356{ "","" }, 1356{ "","" },
1357{ "","" }, 1357{ "","" },
diff --git a/korganizer/koagenda.cpp b/korganizer/koagenda.cpp
index 18c506e..114ed75 100644
--- a/korganizer/koagenda.cpp
+++ b/korganizer/koagenda.cpp
@@ -344,107 +344,108 @@ void KOAgenda::marcus_bains()
344} 344}
345 345
346 346
347void KOAgenda::changeColumns(int columns) 347void KOAgenda::changeColumns(int columns)
348{ 348{
349 if (columns == 0) { 349 if (columns == 0) {
350 qDebug("KOAgenda::changeColumns() called with argument 0 "); 350 qDebug("KOAgenda::changeColumns() called with argument 0 ");
351 return; 351 return;
352 } 352 }
353 clear(); 353 clear();
354 mColumns = columns; 354 mColumns = columns;
355 computeSizes(); 355 computeSizes();
356} 356}
357 357
358/* 358/*
359 This is the eventFilter function, which gets all events from the KOAgendaItems 359 This is the eventFilter function, which gets all events from the KOAgendaItems
360 contained in the agenda. It has to handle moving and resizing for all items. 360 contained in the agenda. It has to handle moving and resizing for all items.
361*/ 361*/
362bool KOAgenda::eventFilter ( QObject *object, QEvent *event ) 362bool KOAgenda::eventFilter ( QObject *object, QEvent *event )
363{ 363{
364 // kdDebug() << "KOAgenda::eventFilter" << endl; 364 // kdDebug() << "KOAgenda::eventFilter" << endl;
365 switch(event->type()) { 365 switch(event->type()) {
366 case QEvent::MouseButtonPress: 366 case QEvent::MouseButtonPress:
367 case QEvent::MouseButtonDblClick: 367 case QEvent::MouseButtonDblClick:
368 case QEvent::MouseButtonRelease: 368 case QEvent::MouseButtonRelease:
369 case QEvent::MouseMove: 369 case QEvent::MouseMove:
370 return eventFilter_mouse(object, static_cast<QMouseEvent *>(event)); 370 return eventFilter_mouse(object, static_cast<QMouseEvent *>(event));
371 371
372 case (QEvent::Leave): 372 case (QEvent::Leave):
373 if (!mActionItem) 373 if (!mActionItem)
374 setCursor(arrowCursor); 374 setCursor(arrowCursor);
375 return true; 375 return true;
376 376
377 default: 377 default:
378 return QScrollView::eventFilter(object,event); 378 return QScrollView::eventFilter(object,event);
379 } 379 }
380} 380}
381void KOAgenda::popupMenu() 381void KOAgenda::popupMenu()
382{ 382{
383 mPopupTimer->stop(); 383 mPopupTimer->stop();
384 if ( mPopupKind == 1 ) { 384 if ( mPopupKind == 1 ) {
385 if (mActionItem ) { 385 if (mActionItem ) {
386 endItemAction(); 386 endItemAction();
387 } 387 }
388 mLeftMouseDown = false; // no more leftMouse computation 388 mLeftMouseDown = false; // no more leftMouse computation
389 if (mPopupItem) { 389 if (mPopupItem) {
390 //mClickedItem = mPopupItem; 390 //mClickedItem = mPopupItem;
391 selectItem(mPopupItem); 391 selectItem(mPopupItem);
392 if ( mAllAgendaPopup ) 392 if ( mAllAgendaPopup && KOPrefs::instance()->mBlockPopupMenu )
393 mAllAgendaPopup->installEventFilter( this ); 393 mAllAgendaPopup->installEventFilter( this );
394 emit showIncidencePopupSignal(mPopupItem->incidence()); 394 emit showIncidencePopupSignal(mPopupItem->incidence());
395 395
396 } 396 }
397 } else if ( mPopupKind == 2 ) { 397 } else if ( mPopupKind == 2 ) {
398 if ( mLeftMouseDown ) { // we have a simulated right click - clear left mouse action 398 if ( mLeftMouseDown ) { // we have a simulated right click - clear left mouse action
399 endSelectAction( false ); // do not emit new event signal 399 endSelectAction( false ); // do not emit new event signal
400 mLeftMouseDown = false; // no more leftMouse computation 400 mLeftMouseDown = false; // no more leftMouse computation
401 } 401 }
402 mNewItemPopup->installEventFilter( this ); 402 if ( KOPrefs::instance()->mBlockPopupMenu )
403 mNewItemPopup->installEventFilter( this );
403 mNewItemPopup->popup( mPopupPos); 404 mNewItemPopup->popup( mPopupPos);
404 405
405 } 406 }
406 mLeftMouseDown = false; 407 mLeftMouseDown = false;
407 mPopupItem = 0; 408 mPopupItem = 0;
408 mPopupKind = 0; 409 mPopupKind = 0;
409} 410}
410 411
411bool KOAgenda::eventFilter_mouse(QObject *object, QMouseEvent *me) 412bool KOAgenda::eventFilter_mouse(QObject *object, QMouseEvent *me)
412{ 413{
413 static int startX = 0; 414 static int startX = 0;
414 static int startY = 0; 415 static int startY = 0;
415 static int blockmoveDist = ( QApplication::desktop()->width() < 480 ? 15 : 20 ); 416 static int blockmoveDist = ( QApplication::desktop()->width() < 480 ? 15 : 20 );
416 static bool blockMoving = true; 417 static bool blockMoving = true;
417 418
418 //qDebug("KOAgenda::eventFilter_mous "); 419 //qDebug("KOAgenda::eventFilter_mous ");
419 if ( object == mNewItemPopup ) { 420 if ( object == mNewItemPopup ) {
420 //qDebug("mNewItemPopup "); 421 //qDebug("mNewItemPopup ");
421 if ( me->type() == QEvent::MouseButtonRelease ) { 422 if ( me->type() == QEvent::MouseButtonRelease ) {
422 mNewItemPopup->removeEventFilter( this ); 423 mNewItemPopup->removeEventFilter( this );
423 int dX = me->globalPos().x() - mPopupPos.x();; 424 int dX = me->globalPos().x() - mPopupPos.x();;
424 if ( dX < 0 ) 425 if ( dX < 0 )
425 dX = -dX; 426 dX = -dX;
426 int dY = me->globalPos().y() - mPopupPos.y(); 427 int dY = me->globalPos().y() - mPopupPos.y();
427 if ( dY < 0 ) 428 if ( dY < 0 )
428 dY = -dY; 429 dY = -dY;
429 if ( dX > blockmoveDist || dY > blockmoveDist ) { 430 if ( dX > blockmoveDist || dY > blockmoveDist ) {
430 mNewItemPopup->hide(); 431 mNewItemPopup->hide();
431 } 432 }
432 } 433 }
433 return true; 434 return true;
434 } 435 }
435 if ( object == mAllAgendaPopup ) { 436 if ( object == mAllAgendaPopup ) {
436 //qDebug(" mAllAgendaPopup "); 437 //qDebug(" mAllAgendaPopup ");
437 if ( me->type() == QEvent::MouseButtonRelease ) { 438 if ( me->type() == QEvent::MouseButtonRelease ) {
438 mAllAgendaPopup->removeEventFilter( this ); 439 mAllAgendaPopup->removeEventFilter( this );
439 int dX = me->globalPos().x() - mPopupPos.x();; 440 int dX = me->globalPos().x() - mPopupPos.x();;
440 if ( dX < 0 ) 441 if ( dX < 0 )
441 dX = -dX; 442 dX = -dX;
442 int dY = me->globalPos().y() - mPopupPos.y(); 443 int dY = me->globalPos().y() - mPopupPos.y();
443 if ( dY < 0 ) 444 if ( dY < 0 )
444 dY = -dY; 445 dY = -dY;
445 if ( dX > blockmoveDist || dY > blockmoveDist ) { 446 if ( dX > blockmoveDist || dY > blockmoveDist ) {
446 mAllAgendaPopup->hide(); 447 mAllAgendaPopup->hide();
447 } 448 }
448 } 449 }
449 return true; 450 return true;
450 } 451 }
diff --git a/korganizer/koprefs.cpp b/korganizer/koprefs.cpp
index e8c7c76..a571ed4 100644
--- a/korganizer/koprefs.cpp
+++ b/korganizer/koprefs.cpp
@@ -183,96 +183,97 @@ KOPrefs::KOPrefs() :
183 KPrefs::setCurrentGroup("RemoteSyncing"); 183 KPrefs::setCurrentGroup("RemoteSyncing");
184 addItemString("ActiveSyncPort",&mActiveSyncPort,"9197" ); 184 addItemString("ActiveSyncPort",&mActiveSyncPort,"9197" );
185 addItemString("ActiveSyncIP",&mActiveSyncIP,"192.168.0.40" ); 185 addItemString("ActiveSyncIP",&mActiveSyncIP,"192.168.0.40" );
186 addItemBool("ShowSyncEvents",&mShowSyncEvents,false); 186 addItemBool("ShowSyncEvents",&mShowSyncEvents,false);
187 addItemInt("LastSyncTime",&mLastSyncTime,0); 187 addItemInt("LastSyncTime",&mLastSyncTime,0);
188 188
189#ifdef _WIN32_ 189#ifdef _WIN32_
190 QString hdp= locateLocal("data","korganizer")+"\\\\"; 190 QString hdp= locateLocal("data","korganizer")+"\\\\";
191#else 191#else
192 QString hdp= locateLocal("data","korganizer")+"/"; 192 QString hdp= locateLocal("data","korganizer")+"/";
193#endif 193#endif
194 194
195 KPrefs::setCurrentGroup("LoadSaveFileNames"); 195 KPrefs::setCurrentGroup("LoadSaveFileNames");
196 196
197 addItemString("LastImportFile", &mLastImportFile ,hdp +"import.ics" ); 197 addItemString("LastImportFile", &mLastImportFile ,hdp +"import.ics" );
198 addItemString("LastVcalFile", &mLastVcalFile ,hdp +"export.vcs" ); 198 addItemString("LastVcalFile", &mLastVcalFile ,hdp +"export.vcs" );
199 addItemString("LastSaveFile", &mLastSaveFile ,hdp +"mybackup.ics" ); 199 addItemString("LastSaveFile", &mLastSaveFile ,hdp +"mybackup.ics" );
200 addItemString("LastLoadFile", &mLastLoadFile ,hdp +"mybackup.ics" ); 200 addItemString("LastLoadFile", &mLastLoadFile ,hdp +"mybackup.ics" );
201 201
202 202
203 KPrefs::setCurrentGroup("Locale"); 203 KPrefs::setCurrentGroup("Locale");
204 addItemBool("ShortDateInViewer",&mShortDateInViewer,false); 204 addItemBool("ShortDateInViewer",&mShortDateInViewer,false);
205 205
206 206
207 KPrefs::setCurrentGroup("Colors"); 207 KPrefs::setCurrentGroup("Colors");
208 addItemColor("Holiday Color",&mHolidayColor,defaultHolidayColor); 208 addItemColor("Holiday Color",&mHolidayColor,defaultHolidayColor);
209 addItemColor("Highlight Color",&mHighlightColor,defaultHighlightColor); 209 addItemColor("Highlight Color",&mHighlightColor,defaultHighlightColor);
210 addItemColor("Event Color",&mEventColor,mDefaultCategoryColor); 210 addItemColor("Event Color",&mEventColor,mDefaultCategoryColor);
211 addItemColor("Todo done Color",&mTodoDoneColor,QColor(111,255,115) ); 211 addItemColor("Todo done Color",&mTodoDoneColor,QColor(111,255,115) );
212 addItemColor("Agenda Background Color",&mAgendaBgColor,defaultAgendaBgColor); 212 addItemColor("Agenda Background Color",&mAgendaBgColor,defaultAgendaBgColor);
213 addItemColor("WorkingHours Color",&mWorkingHoursColor,defaultWorkingHoursColor); 213 addItemColor("WorkingHours Color",&mWorkingHoursColor,defaultWorkingHoursColor);
214 addItemColor("Todo due today Color",&mTodoDueTodayColor,defaultTodoDueTodayColor); 214 addItemColor("Todo due today Color",&mTodoDueTodayColor,defaultTodoDueTodayColor);
215 addItemColor("Todo overdue Color",&mTodoOverdueColor,defaultTodoOverdueColor); 215 addItemColor("Todo overdue Color",&mTodoOverdueColor,defaultTodoOverdueColor);
216 addItemColor("Todo running Color",&mTodoRunColor,defaultTodoRunColor); 216 addItemColor("Todo running Color",&mTodoRunColor,defaultTodoRunColor);
217 addItemColor("MonthViewEvenColor",&mMonthViewEvenColor,QColor( 160,160,255 )); 217 addItemColor("MonthViewEvenColor",&mMonthViewEvenColor,QColor( 160,160,255 ));
218 addItemColor("MonthViewOddColor",&mMonthViewOddColor,QColor( 160,255,160 )); 218 addItemColor("MonthViewOddColor",&mMonthViewOddColor,QColor( 160,255,160 ));
219 addItemColor("MonthViewHolidayColor",&mMonthViewHolidayColor,QColor( 255,160,160 )); 219 addItemColor("MonthViewHolidayColor",&mMonthViewHolidayColor,QColor( 255,160,160 ));
220 addItemBool("MonthViewUsesDayColors",&mMonthViewUsesDayColors,true); 220 addItemBool("MonthViewUsesDayColors",&mMonthViewUsesDayColors,true);
221 addItemBool("MonthViewSatSunTog",&mMonthViewSatSunTog,true); 221 addItemBool("MonthViewSatSunTog",&mMonthViewSatSunTog,true);
222 addItemBool("MonthViewWeek",&mMonthViewWeek,false); 222 addItemBool("MonthViewWeek",&mMonthViewWeek,false);
223 addItemBool("HightlightDateTimeEdit",&mHightlightDateTimeEdit,false); 223 addItemBool("HightlightDateTimeEdit",&mHightlightDateTimeEdit,false);
224 addItemColor("AppColor1",&mAppColor1,QColor( 130,170,255 )); 224 addItemColor("AppColor1",&mAppColor1,QColor( 130,170,255 ));
225 addItemColor("AppColor2",&mAppColor2,QColor( 174,216,255 )); 225 addItemColor("AppColor2",&mAppColor2,QColor( 174,216,255 ));
226 addItemBool("UseAppColors",&mUseAppColors,false); 226 addItemBool("UseAppColors",&mUseAppColors,false);
227 227
228 228
229 229
230 KPrefs::setCurrentGroup("Views"); 230 KPrefs::setCurrentGroup("Views");
231 addItemBool("Block Popup Menu",&mBlockPopupMenu,true);
231 addItemBool("Show Date Navigator",&mShowDateNavigator,true); 232 addItemBool("Show Date Navigator",&mShowDateNavigator,true);
232 addItemInt("Hour Size",&mHourSize,8); 233 addItemInt("Hour Size",&mHourSize,8);
233 addItemBool("Show Daily Recurrences",&mDailyRecur,true); 234 addItemBool("Show Daily Recurrences",&mDailyRecur,true);
234 addItemBool("Show Weekly Recurrences",&mWeeklyRecur,true); 235 addItemBool("Show Weekly Recurrences",&mWeeklyRecur,true);
235 addItemBool("Show Month Daily Recurrences",&mMonthDailyRecur,true); 236 addItemBool("Show Month Daily Recurrences",&mMonthDailyRecur,true);
236 addItemBool("Show Month Weekly Recurrences",&mMonthWeeklyRecur,true); 237 addItemBool("Show Month Weekly Recurrences",&mMonthWeeklyRecur,true);
237 addItemBool("ShowShortMonthName",&mMonthShowShort,false); 238 addItemBool("ShowShortMonthName",&mMonthShowShort,false);
238 addItemBool("ShowIconsInMonthCell",&mMonthShowIcons,true); 239 addItemBool("ShowIconsInMonthCell",&mMonthShowIcons,true);
239#ifdef DESKTOP_VERION 240#ifdef DESKTOP_VERION
240 addItemBool("Enable ToolTips",&mEnableToolTips,true); 241 addItemBool("Enable ToolTips",&mEnableToolTips,true);
241#else 242#else
242 addItemBool("Enable ToolTips",&mEnableToolTips,false); 243 addItemBool("Enable ToolTips",&mEnableToolTips,false);
243#endif 244#endif
244 addItemBool("Enable MonthView ScrollBars",&mEnableMonthScroll,false); 245 addItemBool("Enable MonthView ScrollBars",&mEnableMonthScroll,false);
245 addItemBool("Marcus Bains shows seconds",&mMarcusBainsShowSeconds,false); 246 addItemBool("Marcus Bains shows seconds",&mMarcusBainsShowSeconds,false);
246 addItemBool("Show Marcus Bains",&mMarcusBainsEnabled,true); 247 addItemBool("Show Marcus Bains",&mMarcusBainsEnabled,true);
247 addItemBool("EditOnDoubleClick",&mEditOnDoubleClick,true); 248 addItemBool("EditOnDoubleClick",&mEditOnDoubleClick,true);
248 addItemBool("ViewChangeHoldFullscreen",&mViewChangeHoldFullscreen,true); 249 addItemBool("ViewChangeHoldFullscreen",&mViewChangeHoldFullscreen,true);
249 addItemBool("ViewChangeHoldNonFullscreen",&mViewChangeHoldNonFullscreen,false); 250 addItemBool("ViewChangeHoldNonFullscreen",&mViewChangeHoldNonFullscreen,false);
250 addItemBool("CenterOnCurrentTime",&mCenterOnCurrentTime,false); 251 addItemBool("CenterOnCurrentTime",&mCenterOnCurrentTime,false);
251 addItemBool("SetTimeToDayStartAt",&mSetTimeToDayStartAt,true); 252 addItemBool("SetTimeToDayStartAt",&mSetTimeToDayStartAt,true);
252 addItemBool("HighlightCurrentDay",&mHighlightCurrentDay,true); 253 addItemBool("HighlightCurrentDay",&mHighlightCurrentDay,true);
253 addItemBool("WNViewShowsParents",&mWNViewShowsParents,true);; 254 addItemBool("WNViewShowsParents",&mWNViewShowsParents,true);;
254 addItemBool("WNViewShowsPast",&mWNViewShowsPast,true); 255 addItemBool("WNViewShowsPast",&mWNViewShowsPast,true);
255 addItemBool("WNViewShowLocation",&mWNViewShowLocation,false); 256 addItemBool("WNViewShowLocation",&mWNViewShowLocation,false);
256 addItemBool("UseHighlightLightColor",&mUseHighlightLightColor,false); 257 addItemBool("UseHighlightLightColor",&mUseHighlightLightColor,false);
257 addItemBool("ListViewMonthTimespan",&mListViewMonthTimespan,true); 258 addItemBool("ListViewMonthTimespan",&mListViewMonthTimespan,true);
258 addItemBool("TodoViewUsesCatColors",&mTodoViewUsesCatColors,false); 259 addItemBool("TodoViewUsesCatColors",&mTodoViewUsesCatColors,false);
259 addItemBool("TodoViewShowsPercentage",&mTodoViewShowsPercentage,false); 260 addItemBool("TodoViewShowsPercentage",&mTodoViewShowsPercentage,false);
260 addItemBool("TodoViewUsesSmallFont",&mTodoViewUsesSmallFont,true); 261 addItemBool("TodoViewUsesSmallFont",&mTodoViewUsesSmallFont,true);
261 addItemBool("MonthViewUsesBigFont",&mMonthViewUsesBigFont,true); 262 addItemBool("MonthViewUsesBigFont",&mMonthViewUsesBigFont,true);
262 addItemBool("TodoViewUsesForegroundColor",&mTodoViewUsesForegroundColor,false); 263 addItemBool("TodoViewUsesForegroundColor",&mTodoViewUsesForegroundColor,false);
263 addItemBool("MonthViewUsesForegroundColor",&mMonthViewUsesForegroundColor,false); 264 addItemBool("MonthViewUsesForegroundColor",&mMonthViewUsesForegroundColor,false);
264#ifdef DESKTOP_VERSION 265#ifdef DESKTOP_VERSION
265 addItemBool("UseInternalAlarmNotification",&mUseInternalAlarmNotification,true); 266 addItemBool("UseInternalAlarmNotification",&mUseInternalAlarmNotification,true);
266#else 267#else
267 addItemBool("UseInternalAlarmNotification",&mUseInternalAlarmNotification,false); 268 addItemBool("UseInternalAlarmNotification",&mUseInternalAlarmNotification,false);
268#endif 269#endif
269 addItemInt("Day Begins",&mDayBegins,7); 270 addItemInt("Day Begins",&mDayBegins,7);
270 addItemInt("Working Hours Start",&mWorkingHoursStart,8); 271 addItemInt("Working Hours Start",&mWorkingHoursStart,8);
271 addItemInt("Working Hours End",&mWorkingHoursEnd,17); 272 addItemInt("Working Hours End",&mWorkingHoursEnd,17);
272 addItemBool("Exclude Holidays",&mExcludeHolidays,true); 273 addItemBool("Exclude Holidays",&mExcludeHolidays,true);
273 addItemBool("Exclude Saturdays",&mExcludeSaturdays,true); 274 addItemBool("Exclude Saturdays",&mExcludeSaturdays,true);
274 275
275 addItemBool("Month View Uses Category Color",&mMonthViewUsesCategoryColor,false); 276 addItemBool("Month View Uses Category Color",&mMonthViewUsesCategoryColor,false);
276 addItemBool("Full View Month",&mFullViewMonth,true); 277 addItemBool("Full View Month",&mFullViewMonth,true);
277 addItemBool("Full View Todo",&mFullViewTodo,true); 278 addItemBool("Full View Todo",&mFullViewTodo,true);
278 addItemBool("Quick Todo",&mEnableQuickTodo,false); 279 addItemBool("Quick Todo",&mEnableQuickTodo,false);
diff --git a/korganizer/koprefs.h b/korganizer/koprefs.h
index d511faa..2a0ee64 100644
--- a/korganizer/koprefs.h
+++ b/korganizer/koprefs.h
@@ -176,96 +176,98 @@ class KOPrefs : public KPimPrefs
176 bool mVerticalScreen; 176 bool mVerticalScreen;
177 177
178 bool mShowIconNewTodo; 178 bool mShowIconNewTodo;
179 bool mShowIconNewEvent; 179 bool mShowIconNewEvent;
180 bool mShowIconSearch; 180 bool mShowIconSearch;
181 bool mShowIconList; 181 bool mShowIconList;
182 bool mShowIconDay1; 182 bool mShowIconDay1;
183 bool mShowIconDay5; 183 bool mShowIconDay5;
184 bool mShowIconDay6; 184 bool mShowIconDay6;
185 bool mShowIconDay7; 185 bool mShowIconDay7;
186 bool mShowIconMonth; 186 bool mShowIconMonth;
187 bool mShowIconTodoview; 187 bool mShowIconTodoview;
188 bool mShowIconBackFast; 188 bool mShowIconBackFast;
189 bool mShowIconBack; 189 bool mShowIconBack;
190 bool mShowIconToday; 190 bool mShowIconToday;
191 bool mShowIconForward; 191 bool mShowIconForward;
192 bool mShowIconForwardFast; 192 bool mShowIconForwardFast;
193 bool mShowIconWhatsThis; 193 bool mShowIconWhatsThis;
194 bool mShowIconWeekNum; 194 bool mShowIconWeekNum;
195 bool mShowIconNextDays; 195 bool mShowIconNextDays;
196 bool mShowIconNext; 196 bool mShowIconNext;
197 bool mShowIconJournal; 197 bool mShowIconJournal;
198 bool mShowIconFilter; 198 bool mShowIconFilter;
199 bool mShowIconOnetoolbar; 199 bool mShowIconOnetoolbar;
200 bool mShowIconNavigator; 200 bool mShowIconNavigator;
201 bool mShowIconAllday; 201 bool mShowIconAllday;
202 bool mShowIconFilterview; 202 bool mShowIconFilterview;
203 bool mShowIconToggleFull; 203 bool mShowIconToggleFull;
204 204
205 bool mShowIconStretch; 205 bool mShowIconStretch;
206 206
207 bool mToolBarHor; 207 bool mToolBarHor;
208 bool mToolBarUp; 208 bool mToolBarUp;
209 bool mToolBarHorV; 209 bool mToolBarHorV;
210 bool mToolBarUpV; 210 bool mToolBarUpV;
211 bool mToolBarHorN; 211 bool mToolBarHorN;
212 bool mToolBarUpN; 212 bool mToolBarUpN;
213 bool mToolBarHorF; 213 bool mToolBarHorF;
214 bool mToolBarUpF; 214 bool mToolBarUpF;
215 bool mToolBarMiniIcons; 215 bool mToolBarMiniIcons;
216 216
217 bool mAskForQuit; 217 bool mAskForQuit;
218 bool mUsePassWd; 218 bool mUsePassWd;
219 bool mShowSyncEvents; 219 bool mShowSyncEvents;
220 bool mShowTodoInAgenda; 220 bool mShowTodoInAgenda;
221 bool mShowTimeInAgenda; 221 bool mShowTimeInAgenda;
222 bool mHideNonStartedTodos; 222 bool mHideNonStartedTodos;
223 223
224 bool mBlockPopupMenu;
225
224 int mLastSyncTime; 226 int mLastSyncTime;
225 void setCategoryColor(QString cat,const QColor & color); 227 void setCategoryColor(QString cat,const QColor & color);
226 QColor *categoryColor(QString cat); 228 QColor *categoryColor(QString cat);
227 229
228 QString mArchiveFile; 230 QString mArchiveFile;
229 QString mHtmlExportFile; 231 QString mHtmlExportFile;
230 bool mHtmlWithSave; 232 bool mHtmlWithSave;
231 233
232 QStringList mSelectedPlugins; 234 QStringList mSelectedPlugins;
233 235
234 QString mLastImportFile; 236 QString mLastImportFile;
235 QString mLastVcalFile; 237 QString mLastVcalFile;
236 QString mLastSaveFile; 238 QString mLastSaveFile;
237 QString mLastLoadFile; 239 QString mLastLoadFile;
238 240
239 241
240 QString mDefaultAlarmFile; 242 QString mDefaultAlarmFile;
241 int mIMIPScheduler; 243 int mIMIPScheduler;
242 int mIMIPSend; 244 int mIMIPSend;
243 QStringList mAdditionalMails; 245 QStringList mAdditionalMails;
244 int mIMIPAutoRefresh; 246 int mIMIPAutoRefresh;
245 int mIMIPAutoInsertReply; 247 int mIMIPAutoInsertReply;
246 int mIMIPAutoInsertRequest; 248 int mIMIPAutoInsertRequest;
247 int mIMIPAutoFreeBusy; 249 int mIMIPAutoFreeBusy;
248 int mIMIPAutoFreeBusyReply; 250 int mIMIPAutoFreeBusyReply;
249 251
250 QStringList mTodoTemplates; 252 QStringList mTodoTemplates;
251 QStringList mEventTemplates; 253 QStringList mEventTemplates;
252 254
253 int mDestination; 255 int mDestination;
254 256
255 257
256 bool mEditOnDoubleClick; 258 bool mEditOnDoubleClick;
257 bool mViewChangeHoldFullscreen; 259 bool mViewChangeHoldFullscreen;
258 bool mViewChangeHoldNonFullscreen; 260 bool mViewChangeHoldNonFullscreen;
259 bool mCenterOnCurrentTime; 261 bool mCenterOnCurrentTime;
260 bool mSetTimeToDayStartAt; 262 bool mSetTimeToDayStartAt;
261 bool mHighlightCurrentDay; 263 bool mHighlightCurrentDay;
262 bool mUseHighlightLightColor; 264 bool mUseHighlightLightColor;
263 bool mListViewMonthTimespan; 265 bool mListViewMonthTimespan;
264 bool mWNViewShowsParents; 266 bool mWNViewShowsParents;
265 bool mWNViewShowsPast; 267 bool mWNViewShowsPast;
266 bool mWNViewShowLocation; 268 bool mWNViewShowLocation;
267 bool mTodoViewShowsPercentage; 269 bool mTodoViewShowsPercentage;
268 bool mTodoViewUsesCatColors; 270 bool mTodoViewUsesCatColors;
269 bool mMonthViewUsesBigFont; 271 bool mMonthViewUsesBigFont;
270 bool mTodoViewUsesSmallFont; 272 bool mTodoViewUsesSmallFont;
271 bool mTodoViewUsesForegroundColor; 273 bool mTodoViewUsesForegroundColor;
diff --git a/korganizer/koprefsdialog.cpp b/korganizer/koprefsdialog.cpp
index a8943de..ad3c61c 100644
--- a/korganizer/koprefsdialog.cpp
+++ b/korganizer/koprefsdialog.cpp
@@ -336,138 +336,146 @@ void KOPrefsDialog::setupSyncTab()
336#endif 336#endif
337} 337}
338 338
339void KOPrefsDialog::setupMainTab() 339void KOPrefsDialog::setupMainTab()
340{ 340{
341 QFrame *topFrame = addPage(i18n("General"),0,0); 341 QFrame *topFrame = addPage(i18n("General"),0,0);
342 // DesktopIcon("identity",KIcon::SizeMedium)); 342 // DesktopIcon("identity",KIcon::SizeMedium));
343 343
344 QGridLayout *topLayout = new QGridLayout(topFrame,5,2); 344 QGridLayout *topLayout = new QGridLayout(topFrame,5,2);
345 topLayout->setSpacing(mSpacingHint); 345 topLayout->setSpacing(mSpacingHint);
346 topLayout->setMargin(mMarginHint); 346 topLayout->setMargin(mMarginHint);
347 347
348 // KPrefsDialogWidBool *emailControlCenter = 348 // KPrefsDialogWidBool *emailControlCenter =
349// addWidBool(i18n("&Use email settings from Control Center"), 349// addWidBool(i18n("&Use email settings from Control Center"),
350// &(KOPrefs::instance()->mEmailControlCenter),topFrame); 350// &(KOPrefs::instance()->mEmailControlCenter),topFrame);
351// topLayout->addMultiCellWidget(emailControlCenter->checkBox(),0,0,0,1); 351// topLayout->addMultiCellWidget(emailControlCenter->checkBox(),0,0,0,1);
352 // connect(emailControlCenter->checkBox(),SIGNAL(toggled(bool)), 352 // connect(emailControlCenter->checkBox(),SIGNAL(toggled(bool)),
353 // SLOT(toggleEmailSettings(bool))); 353 // SLOT(toggleEmailSettings(bool)));
354 354
355 mNameEdit = new QLineEdit(topFrame); 355 mNameEdit = new QLineEdit(topFrame);
356 mNameLabel = new QLabel(mNameEdit, i18n("Full &name:"), topFrame); 356 mNameLabel = new QLabel(mNameEdit, i18n("Full &name:"), topFrame);
357 topLayout->addWidget(mNameLabel,0,0); 357 topLayout->addWidget(mNameLabel,0,0);
358 topLayout->addWidget(mNameEdit,0,1); 358 topLayout->addWidget(mNameEdit,0,1);
359 359
360 mEmailEdit = new QLineEdit(topFrame); 360 mEmailEdit = new QLineEdit(topFrame);
361 mEmailLabel = new QLabel(mEmailEdit, i18n("E&mail address:"),topFrame); 361 mEmailLabel = new QLabel(mEmailEdit, i18n("E&mail address:"),topFrame);
362 topLayout->addWidget(mEmailLabel,1,0); 362 topLayout->addWidget(mEmailLabel,1,0);
363 topLayout->addWidget(mEmailEdit,1,1); 363 topLayout->addWidget(mEmailEdit,1,1);
364 KPrefsDialogWidBool *wb; 364 KPrefsDialogWidBool *wb;
365 365
366 366
367 367
368 KPrefsDialogWidBool *widbool = addWidBool(i18n("Full menu bar(nr)"), 368 KPrefsDialogWidBool *widbool = addWidBool(i18n("Full menu bar(nr)"),
369 &(KOPrefs::instance()->mShowFullMenu),topFrame); 369 &(KOPrefs::instance()->mShowFullMenu),topFrame);
370 topLayout->addMultiCellWidget( widbool->checkBox(), 2,2,0,1); 370 topLayout->addMultiCellWidget( widbool->checkBox(), 2,2,0,1);
371 371
372 372
373 widbool = addWidBool(i18n("Mini icons in toolbar(nr)"), 373 widbool = addWidBool(i18n("Mini icons in toolbar(nr)"),
374 &(KOPrefs::instance()->mToolBarMiniIcons),topFrame); 374 &(KOPrefs::instance()->mToolBarMiniIcons),topFrame);
375 topLayout->addMultiCellWidget( widbool->checkBox(), 3,3,0,1); 375 topLayout->addMultiCellWidget( widbool->checkBox(), 3,3,0,1);
376 376
377 377
378 KPrefsDialogWidBool *verticalScreen = 378 KPrefsDialogWidBool *verticalScreen =
379 addWidBool(i18n("Show vertical screen (Needs restart)"), 379 addWidBool(i18n("Show vertical screen (Needs restart)"),
380 &(KOPrefs::instance()->mVerticalScreen),topFrame); 380 &(KOPrefs::instance()->mVerticalScreen),topFrame);
381 //topLayout->addWidget(verticalScreen->checkBox(),ii++,0); 381 //topLayout->addWidget(verticalScreen->checkBox(),ii++,0);
382 topLayout->addMultiCellWidget(verticalScreen->checkBox(),4,4,0,1); 382 topLayout->addMultiCellWidget(verticalScreen->checkBox(),4,4,0,1);
383 383
384 384
385 int iii = 5;
386 widbool = addWidBool(i18n("Block popup until mouse button release"),
387 &(KOPrefs::instance()->mBlockPopupMenu),topFrame);
388 topLayout->addMultiCellWidget( widbool->checkBox(), iii,iii,0,1);
389 ++iii;
385 QHBox *dummy = new QHBox(topFrame); 390 QHBox *dummy = new QHBox(topFrame);
386 new QLabel(i18n("Days in Next-X-Days:"),dummy); 391 new QLabel(i18n("Days in Next-X-Days:"),dummy);
387 mNextXDaysSpin = new QSpinBox(2,14,1,dummy); 392 mNextXDaysSpin = new QSpinBox(2,14,1,dummy);
388 393
389 topLayout->addMultiCellWidget(dummy,5,5,0,1); 394 topLayout->addMultiCellWidget(dummy,iii,iii,0,1);
390 395
396 ++iii;
391 397
392 398
393 // KPrefsDialogWidBool *bcc = 399 // KPrefsDialogWidBool *bcc =
394// addWidBool(i18n("Send copy to owner when mailing events"), 400// addWidBool(i18n("Send copy to owner when mailing events"),
395// &(KOPrefs::instance()->mBcc),topFrame); 401// &(KOPrefs::instance()->mBcc),topFrame);
396// topLayout->addMultiCellWidget(bcc->checkBox(),4,4,0,1); 402// topLayout->addMultiCellWidget(bcc->checkBox(),4,4,0,1);
397 403
398 404
399 // QGroupBox *autoSaveGroup = new QGroupBox(1,Horizontal,i18n("Auto-Save"), topFrame); 405 // QGroupBox *autoSaveGroup = new QGroupBox(1,Horizontal,i18n("Auto-Save"), topFrame);
400 //topLayout->addMultiCellWidget(autoSaveGroup,6,6,0,1); 406 //topLayout->addMultiCellWidget(autoSaveGroup,6,6,0,1);
401 407
402 // addWidBool(i18n("Enable automatic saving of calendar"), 408 // addWidBool(i18n("Enable automatic saving of calendar"),
403 // &(KOPrefs::instance()->mAutoSave),autoSaveGroup); 409 // &(KOPrefs::instance()->mAutoSave),autoSaveGroup);
404 410
405 QHBox *intervalBox = new QHBox(topFrame); 411 QHBox *intervalBox = new QHBox(topFrame);
406 // intervalBox->setSpacing(mSpacingHint); 412 // intervalBox->setSpacing(mSpacingHint);
407 topLayout->addMultiCellWidget(intervalBox,6,6,0,1); 413 topLayout->addMultiCellWidget(intervalBox,iii,iii,0,1);
414 ++iii;
408 QLabel *autoSaveIntervalLabel = new QLabel(i18n("Auto save delay in minutes:"),intervalBox); 415 QLabel *autoSaveIntervalLabel = new QLabel(i18n("Auto save delay in minutes:"),intervalBox);
409 mAutoSaveIntervalSpin = new QSpinBox(0,500,1,intervalBox); 416 mAutoSaveIntervalSpin = new QSpinBox(0,500,1,intervalBox);
410 autoSaveIntervalLabel->setBuddy(mAutoSaveIntervalSpin); 417 autoSaveIntervalLabel->setBuddy(mAutoSaveIntervalSpin);
411 /* 418 /*
412 QHBox * agendasize = new QHBox ( topFrame ); 419 QHBox * agendasize = new QHBox ( topFrame );
413 420
414 new QLabel (i18n("AllDayAgenda Height:"), agendasize ); 421 new QLabel (i18n("AllDayAgenda Height:"), agendasize );
415 422
416 423
417 mHourSizeSlider = new QSlider(24,47,1,24,Horizontal,agendasize); 424 mHourSizeSlider = new QSlider(24,47,1,24,Horizontal,agendasize);
418 topLayout->addMultiCellWidget(agendasize,7,7,0,1); 425 topLayout->addMultiCellWidget(agendasize,7,7,0,1);
419 */ 426 */
420 427
421 428
422 KPrefsDialogWidBool *ask = 429 KPrefsDialogWidBool *ask =
423 addWidBool(i18n("Ask for quit when closing KO/Pi"), 430 addWidBool(i18n("Ask for quit when closing KO/Pi"),
424 &(KOPrefs::instance()->mAskForQuit),topFrame); 431 &(KOPrefs::instance()->mAskForQuit),topFrame);
425 topLayout->addMultiCellWidget(ask->checkBox(),7,7,0,1); 432 topLayout->addMultiCellWidget(ask->checkBox(),iii,iii,0,1);
433 ++iii;
426 434
427 435
428 /* 436 /*
429 KPrefsDialogWidBool *confirmCheck = 437 KPrefsDialogWidBool *confirmCheck =
430 addWidBool(i18n("Confirm &deletes"),&(KOPrefs::instance()->mConfirm), 438 addWidBool(i18n("Confirm &deletes"),&(KOPrefs::instance()->mConfirm),
431 topFrame); 439 topFrame);
432 topLayout->addMultiCellWidget(confirmCheck->checkBox(),7,7,0,1); 440 topLayout->addMultiCellWidget(confirmCheck->checkBox(),7,7,0,1);
433 441
434 442
435 mEnableGroupScheduling = 443 mEnableGroupScheduling =
436 addWidBool(i18n("Enable group scheduling"), 444 addWidBool(i18n("Enable group scheduling"),
437 &(KOPrefs::instance()->mEnableGroupScheduling),topFrame); 445 &(KOPrefs::instance()->mEnableGroupScheduling),topFrame);
438 topLayout->addWidget(mEnableGroupScheduling->checkBox(),8,0); 446 topLayout->addWidget(mEnableGroupScheduling->checkBox(),8,0);
439 connect(mEnableGroupScheduling->checkBox(),SIGNAL(clicked()), 447 connect(mEnableGroupScheduling->checkBox(),SIGNAL(clicked()),
440 SLOT(warningGroupScheduling())); 448 SLOT(warningGroupScheduling()));
441 449
442 mEnableProjectView = 450 mEnableProjectView =
443 addWidBool(i18n("Enable project view"), 451 addWidBool(i18n("Enable project view"),
444 &(KOPrefs::instance()->mEnableProjectView),topFrame); 452 &(KOPrefs::instance()->mEnableProjectView),topFrame);
445 topLayout->addWidget(mEnableProjectView->checkBox(),9,0); 453 topLayout->addWidget(mEnableProjectView->checkBox(),9,0);
446 connect(mEnableProjectView->checkBox(),SIGNAL(clicked()), 454 connect(mEnableProjectView->checkBox(),SIGNAL(clicked()),
447 SLOT(warningProjectView())); 455 SLOT(warningProjectView()));
448 456
449 // Can't be disabled anymore 457 // Can't be disabled anymore
450 mEnableGroupScheduling->checkBox()->hide(); 458 mEnableGroupScheduling->checkBox()->hide();
451 459
452 // Disable setting, because this feature now becomes stable 460 // Disable setting, because this feature now becomes stable
453 mEnableProjectView->checkBox()->hide(); 461 mEnableProjectView->checkBox()->hide();
454 462
455 KPrefsDialogWidRadios *defaultFormatGroup = 463 KPrefsDialogWidRadios *defaultFormatGroup =
456 addWidRadios(i18n("Default Calendar Format"), 464 addWidRadios(i18n("Default Calendar Format"),
457 &(KOPrefs::instance()->mDefaultFormat),topFrame); 465 &(KOPrefs::instance()->mDefaultFormat),topFrame);
458 defaultFormatGroup->addRadio(i18n("vCalendar")); 466 defaultFormatGroup->addRadio(i18n("vCalendar"));
459 defaultFormatGroup->addRadio(i18n("iCalendar")); 467 defaultFormatGroup->addRadio(i18n("iCalendar"));
460 468
461 topLayout->addMultiCellWidget(defaultFormatGroup->groupBox(),10,10,0,1); 469 topLayout->addMultiCellWidget(defaultFormatGroup->groupBox(),10,10,0,1);
462 470
463 // Default format unconditionally is iCalendar 471 // Default format unconditionally is iCalendar
464 defaultFormatGroup->groupBox()->hide(); 472 defaultFormatGroup->groupBox()->hide();
465 473
466 KPrefsDialogWidRadios *mailClientGroup = 474 KPrefsDialogWidRadios *mailClientGroup =
467 addWidRadios(i18n("Mail Client"),&(KOPrefs::instance()->mMailClient), 475 addWidRadios(i18n("Mail Client"),&(KOPrefs::instance()->mMailClient),
468 topFrame); 476 topFrame);
469 mailClientGroup->addRadio(i18n("KMail")); 477 mailClientGroup->addRadio(i18n("KMail"));
470 mailClientGroup->addRadio(i18n("Sendmail")); 478 mailClientGroup->addRadio(i18n("Sendmail"));
471 topLayout->addMultiCellWidget(mailClientGroup->groupBox(),11,11,0,1); 479 topLayout->addMultiCellWidget(mailClientGroup->groupBox(),11,11,0,1);
472 480
473 KPrefsDialogWidBool *htmlsave = 481 KPrefsDialogWidBool *htmlsave =
diff --git a/korganizer/kotodoview.cpp b/korganizer/kotodoview.cpp
index 9b5d4ce..7817a75 100644
--- a/korganizer/kotodoview.cpp
+++ b/korganizer/kotodoview.cpp
@@ -1050,108 +1050,109 @@ void KOTodoView::setNewPercentage(int index)
1050 1050
1051QPopupMenu * KOTodoView::getCategoryPopupMenu (KOTodoViewItem *todoItem) 1051QPopupMenu * KOTodoView::getCategoryPopupMenu (KOTodoViewItem *todoItem)
1052{ 1052{
1053 QPopupMenu* tempMenu = new QPopupMenu (this); 1053 QPopupMenu* tempMenu = new QPopupMenu (this);
1054 QStringList checkedCategories = todoItem->todo()->categories (); 1054 QStringList checkedCategories = todoItem->todo()->categories ();
1055 1055
1056 tempMenu->setCheckable (true); 1056 tempMenu->setCheckable (true);
1057 for (QStringList::Iterator it = KOPrefs::instance()->mCustomCategories.begin (); 1057 for (QStringList::Iterator it = KOPrefs::instance()->mCustomCategories.begin ();
1058 it != KOPrefs::instance()->mCustomCategories.end (); 1058 it != KOPrefs::instance()->mCustomCategories.end ();
1059 ++it) { 1059 ++it) {
1060 int index = tempMenu->insertItem (*it); 1060 int index = tempMenu->insertItem (*it);
1061 mCategory[index] = *it; 1061 mCategory[index] = *it;
1062 if (checkedCategories.find (*it) != checkedCategories.end ()) tempMenu->setItemChecked (index, true); 1062 if (checkedCategories.find (*it) != checkedCategories.end ()) tempMenu->setItemChecked (index, true);
1063 } 1063 }
1064 1064
1065 connect (tempMenu, SIGNAL (activated (int)), SLOT (changedCategories (int))); 1065 connect (tempMenu, SIGNAL (activated (int)), SLOT (changedCategories (int)));
1066 return tempMenu; 1066 return tempMenu;
1067 1067
1068 1068
1069} 1069}
1070void KOTodoView::changedCategories(int index) 1070void KOTodoView::changedCategories(int index)
1071{ 1071{
1072 if (mActiveItem && !mActiveItem->todo()->isReadOnly ()) { 1072 if (mActiveItem && !mActiveItem->todo()->isReadOnly ()) {
1073 QStringList categories = mActiveItem->todo()->categories (); 1073 QStringList categories = mActiveItem->todo()->categories ();
1074 QString colcat = categories.first(); 1074 QString colcat = categories.first();
1075 if (categories.find (mCategory[index]) != categories.end ()) 1075 if (categories.find (mCategory[index]) != categories.end ())
1076 categories.remove (mCategory[index]); 1076 categories.remove (mCategory[index]);
1077 else 1077 else
1078 categories.insert (categories.end(), mCategory[index]); 1078 categories.insert (categories.end(), mCategory[index]);
1079 categories.sort (); 1079 categories.sort ();
1080 if ( !colcat.isEmpty() ) { 1080 if ( !colcat.isEmpty() ) {
1081 if ( categories.find ( colcat ) != categories.end () ) { 1081 if ( categories.find ( colcat ) != categories.end () ) {
1082 categories.remove( colcat ); 1082 categories.remove( colcat );
1083 categories.prepend( colcat ); 1083 categories.prepend( colcat );
1084 } 1084 }
1085 } 1085 }
1086 mActiveItem->todo()->setCategories (categories); 1086 mActiveItem->todo()->setCategories (categories);
1087 mActiveItem->construct(); 1087 mActiveItem->construct();
1088 mActiveItem->todo()->setRevision( mActiveItem->todo()->revision()+1 ); 1088 mActiveItem->todo()->setRevision( mActiveItem->todo()->revision()+1 );
1089 todoModified (mActiveItem->todo (), KOGlobals::CATEGORY_MODIFIED); 1089 todoModified (mActiveItem->todo (), KOGlobals::CATEGORY_MODIFIED);
1090 } 1090 }
1091} 1091}
1092void KOTodoView::itemDoubleClicked(QListViewItem *item) 1092void KOTodoView::itemDoubleClicked(QListViewItem *item)
1093{ 1093{
1094 if ( pendingSubtodo != 0 ) { 1094 if ( pendingSubtodo != 0 ) {
1095 topLevelWidget()->setCaption(i18n("Reparenting aborted!")); 1095 topLevelWidget()->setCaption(i18n("Reparenting aborted!"));
1096 } 1096 }
1097 pendingSubtodo = 0; 1097 pendingSubtodo = 0;
1098 int row = mTodoListView->header()->sectionAt ( mTodoListView->header()->mapFromGlobal( QCursor::pos()).x() ); 1098 //int row = mTodoListView->header()->sectionAt ( mTodoListView->header()->mapFromGlobal( QCursor::pos()).x() );
1099 //qDebug("ROW %d ", row); 1099 int row = mTodoListView->header()->sectionAt ( mTodoListView->viewportToContents(mTodoListView->viewport()->mapFromGlobal( QCursor::pos())) .x() );
1100 qDebug("ROW %d ", row);
1100 if (!item) { 1101 if (!item) {
1101 newTodo(); 1102 newTodo();
1102 return; 1103 return;
1103 } else { 1104 } else {
1104 if ( row == 2 ) { 1105 if ( row == 2 || row == 1 ) {
1105 mActiveItem = (KOTodoViewItem *) item; 1106 mActiveItem = (KOTodoViewItem *) item;
1106 newSubTodo(); 1107 newSubTodo();
1107 return; 1108 return;
1108 } 1109 }
1109 if ( row == 1 ) { 1110 if ( row == 5 || row == 6 ) {
1110 mActiveItem = (KOTodoViewItem *) item; 1111 mActiveItem = (KOTodoViewItem *) item;
1111 toggleRunningItem(); 1112 toggleRunningItem();
1112 return; 1113 return;
1113 } 1114 }
1114 } 1115 }
1115 if ( KOPrefs::instance()->mEditOnDoubleClick ) 1116 if ( KOPrefs::instance()->mEditOnDoubleClick )
1116 editItem( item ); 1117 editItem( item );
1117 else 1118 else
1118 showItem( item , QPoint(), 0 ); 1119 showItem( item , QPoint(), 0 );
1119} 1120}
1120void KOTodoView::toggleRunningItem() 1121void KOTodoView::toggleRunningItem()
1121{ 1122{
1122 // qDebug("KOTodoView::toggleRunning() "); 1123 // qDebug("KOTodoView::toggleRunning() ");
1123 if ( ! mActiveItem ) 1124 if ( ! mActiveItem )
1124 return; 1125 return;
1125 Todo * t = mActiveItem->todo(); 1126 Todo * t = mActiveItem->todo();
1126 if ( t->isRunning() ) { 1127 if ( t->isRunning() ) {
1127 int result = KMessageBox::warningContinueCancel(this, 1128 int result = KMessageBox::warningContinueCancel(this,
1128 i18n("The todo\n%1\nis started.\nDo you want to set\nthe state to stopped?").arg(mActiveItem->text(0).left( 25 ) ),i18n("Todo is started"),i18n("Stop todo"),i18n("Cancel"), true); 1129 i18n("The todo\n%1\nis started.\nDo you want to set\nthe state to stopped?").arg(mActiveItem->text(0).left( 25 ) ),i18n("Todo is started"),i18n("Stop todo"),i18n("Cancel"), true);
1129 if (result != KMessageBox::Continue) return; 1130 if (result != KMessageBox::Continue) return;
1130 t->setRunning( false ); 1131 t->setRunning( false );
1131 mActiveItem->construct(); 1132 mActiveItem->construct();
1132 } else { 1133 } else {
1133 int result = KMessageBox::warningContinueCancel(this, 1134 int result = KMessageBox::warningContinueCancel(this,
1134 i18n("The todo\n%1\nis stopped.\nDo you want to set\nthe state to started?").arg(mActiveItem->text(0).left( 25 ) ),i18n("Todo is stopped"),i18n("Start todo"),i18n("Cancel"), true); 1135 i18n("The todo\n%1\nis stopped.\nDo you want to set\nthe state to started?").arg(mActiveItem->text(0).left( 25 ) ),i18n("Todo is stopped"),i18n("Start todo"),i18n("Cancel"), true);
1135 if (result != KMessageBox::Continue) return; 1136 if (result != KMessageBox::Continue) return;
1136 t->setRunning( true ); 1137 t->setRunning( true );
1137 mActiveItem->construct(); 1138 mActiveItem->construct();
1138 } 1139 }
1139} 1140}
1140 1141
1141void KOTodoView::itemClicked(QListViewItem *item) 1142void KOTodoView::itemClicked(QListViewItem *item)
1142{ 1143{
1143 //qDebug("KOTodoView::itemClicked %d", item); 1144 //qDebug("KOTodoView::itemClicked %d", item);
1144 if (!item) { 1145 if (!item) {
1145 if ( pendingSubtodo != 0 ) { 1146 if ( pendingSubtodo != 0 ) {
1146 topLevelWidget()->setCaption(i18n("Reparenting aborted!")); 1147 topLevelWidget()->setCaption(i18n("Reparenting aborted!"));
1147 } 1148 }
1148 pendingSubtodo = 0; 1149 pendingSubtodo = 0;
1149 return; 1150 return;
1150 } 1151 }
1151 KOTodoViewItem *todoItem = (KOTodoViewItem *)item; 1152 KOTodoViewItem *todoItem = (KOTodoViewItem *)item;
1152 if ( pendingSubtodo != 0 ) { 1153 if ( pendingSubtodo != 0 ) {
1153 bool allowReparent = true; 1154 bool allowReparent = true;
1154 QListViewItem *par = item; 1155 QListViewItem *par = item;
1155 while ( par ) { 1156 while ( par ) {
1156 if ( par == pendingSubtodo ) { 1157 if ( par == pendingSubtodo ) {
1157 allowReparent = false; 1158 allowReparent = false;