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
@@ -1316,42 +1316,42 @@
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
@@ -360,75 +360,76 @@ void KOAgenda::changeColumns(int columns)
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 }
diff --git a/korganizer/koprefs.cpp b/korganizer/koprefs.cpp
index e8c7c76..a571ed4 100644
--- a/korganizer/koprefs.cpp
+++ b/korganizer/koprefs.cpp
@@ -199,64 +199,65 @@ KOPrefs::KOPrefs() :
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);
diff --git a/korganizer/koprefs.h b/korganizer/koprefs.h
index d511faa..2a0ee64 100644
--- a/korganizer/koprefs.h
+++ b/korganizer/koprefs.h
@@ -192,64 +192,66 @@ class KOPrefs : public KPimPrefs
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
diff --git a/korganizer/koprefsdialog.cpp b/korganizer/koprefsdialog.cpp
index a8943de..ad3c61c 100644
--- a/korganizer/koprefsdialog.cpp
+++ b/korganizer/koprefsdialog.cpp
@@ -352,106 +352,114 @@ void KOPrefsDialog::setupMainTab()
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);
diff --git a/korganizer/kotodoview.cpp b/korganizer/kotodoview.cpp
index 9b5d4ce..7817a75 100644
--- a/korganizer/kotodoview.cpp
+++ b/korganizer/kotodoview.cpp
@@ -1066,76 +1066,77 @@ QPopupMenu * KOTodoView::getCategoryPopupMenu (KOTodoViewItem *todoItem)
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)