summaryrefslogtreecommitdiffabout
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--bin/kdepim/korganizer/germantranslation.txt4
-rw-r--r--korganizer/calendarview.cpp10
-rw-r--r--korganizer/calendarview.h1
-rw-r--r--korganizer/kodialogmanager.cpp28
-rw-r--r--korganizer/kodialogmanager.h1
-rw-r--r--korganizer/koprefsdialog.cpp28
-rw-r--r--korganizer/mainwindow.cpp9
7 files changed, 56 insertions, 25 deletions
diff --git a/bin/kdepim/korganizer/germantranslation.txt b/bin/kdepim/korganizer/germantranslation.txt
index 6b62d4e..bb3a00d 100644
--- a/bin/kdepim/korganizer/germantranslation.txt
+++ b/bin/kdepim/korganizer/germantranslation.txt
@@ -1317,75 +1317,75 @@
1317{ "Print scaled down to fit one page","Drucke runterskaliert um auf eine Seite zu passen." }, 1317{ "Print scaled down to fit one page","Drucke runterskaliert um auf eine Seite zu passen." },
1318{ "Print scaled up/down to fit one page","Drucke hoch/runterskaliert um genau auf eine Seite zu passen." }, 1318{ "Print scaled up/down to fit one page","Drucke hoch/runterskaliert um genau auf eine Seite zu passen." },
1319{ "Printout Mode","Druck Modus" }, 1319{ "Printout Mode","Druck Modus" },
1320{ "Filter menu icon","Filtermenu Icon" }, 1320{ "Filter menu icon","Filtermenu Icon" },
1321{ "<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" }, 1321{ "<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" },
1322{ "<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" }, 1322{ "<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" },
1323{ "%1d","%1t" }, 1323{ "%1d","%1t" },
1324{ "%1h","%1std" }, 1324{ "%1h","%1std" },
1325{ "%1min","%1min" }, 1325{ "%1min","%1min" },
1326{ "( %1 before )","( %1 vorher )" }, 1326{ "( %1 before )","( %1 vorher )" },
1327{ "The next alarm is in\nless than one minute!","Der nächste Alarm kommt in\nweniger als einer Minute!" }, 1327{ "The next alarm is in\nless than one minute!","Der nächste Alarm kommt in\nweniger als einer Minute!" },
1328{ "\nThe internal alarm notification is disabled!\n","\nDie interne Alarmbenachrichtigung ist ausgeschaltet!\n" }, 1328{ "\nThe internal alarm notification is disabled!\n","\nDie interne Alarmbenachrichtigung ist ausgeschaltet!\n" },
1329{ "Enable it in the settings menu, TAB alarm.","Schalten Sie sie an im Menu Einstellungen, TAB Alarm." }, 1329{ "Enable it in the settings menu, TAB alarm.","Schalten Sie sie an im Menu Einstellungen, TAB Alarm." },
1330{ "Show Sync Events","Zeige Sync-Ereignisse" }, 1330{ "Show Sync Events","Zeige Sync-Ereignisse" },
1331{ "Use short date in WN+Event view","Zeige Kurzdatum in WN+Terminanzeige" }, 1331{ "Use short date in WN+Event view","Zeige Kurzdatum in WN+Terminanzeige" },
1332{ "Number of max.displayed todo prios:","Anzahl max.angezeigter Todo-Prios:" }, 1332{ "Number of max.displayed todo prios:","Anzahl max.angezeigter Todo-Prios:" },
1333{ " on "," am " }, 1333{ " on "," am " },
1334{ "On: ","Am: " }, 1334{ "On: ","Am: " },
1335{ "<i>The recurrence is computed from the start datetime!</i>","<i>Die Wiederholung wird vom Startwert aus berechnet!</i>" }, 1335{ "<i>The recurrence is computed from the start datetime!</i>","<i>Die Wiederholung wird vom Startwert aus berechnet!</i>" },
1336{ "Start/Stop todo...","Starte/Stoppe Todo..." }, 1336{ "Start/Stop todo...","Starte/Stoppe Todo..." },
1337{ "Color for running todos:","Farbe für laufende Todos:" }, 1337{ "Color for running todos:","Farbe für laufende Todos:" },
1338{ "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?" }, 1338{ "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?" },
1339{ "Todo is started","Todo ist gestartet" }, 1339{ "Todo is started","Todo ist gestartet" },
1340{ "Stop todo","Stoppe Todo" }, 1340{ "Stop todo","Stoppe Todo" },
1341{ "Todo is stopped","Todo ist gestoppt" }, 1341{ "Todo is stopped","Todo ist gestoppt" },
1342{ "Start todo","Starte Todo" }, 1342{ "Start todo","Starte Todo" },
1343{ "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?" }, 1343{ "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?" },
1344{ "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 alle\nUntertodos auch klonen?" }, 1344{ "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 alle\nUntertodos auch klonen?" },
1345{ "Todo has subtodos","Todo hat Untertodos" }, 1345{ "Todo has subtodos","Todo hat Untertodos" },
1346{ "Block popup until mouse button release","Sperre Popup bis Mausknopf losgelassen" }, 1346{ "Block popup until mouse button release","Sperre Popup bis Mausknopf losgelassen" },
1347{ "Colors","Farben" }, 1347{ "Colors","Farben" },
1348{ "Click on new parent item","Klicke auf neues Übertodo" }, 1348{ "Click on new parent item","Klicke auf neues Übertodo" },
1349{ "Reparenting aborted!","Übertodo setzen abgebrochen" }, 1349{ "Reparenting aborted!","Übertodo setzen abgebrochen" },
1350{ "Cannot move Todo to itself\nor a child of itself","Kann nicht Todo auf\nsich selbst oder\nein Untertodo verschieben" }, 1350{ "Cannot move Todo to itself\nor a child of itself","Kann nicht Todo auf\nsich selbst oder\nein Untertodo verschieben" },
1351{ "Recursive reparenting not possible!","Rekursives Verschieben nicht möglich" }, 1351{ "Recursive reparenting not possible!","Rekursives Verschieben nicht möglich" },
1352{ "Delete all completed todos?\n(Completed recurring todos\nwill not be deleted!)","Entferne alle erledigten Todos?\n(Erledigte wiederholende Todos\nwerden nicht gelöscht!)" }, 1352{ "Delete all completed todos?\n(Completed recurring todos\nwill not be deleted!)","Entferne alle erledigten Todos?\n(Erledigte wiederholende Todos\nwerden nicht gelöscht!)" },
1353{ "Alternating background of list views","Abwechselnder Hintergrund für Listen" }, 1353{ "Alternating background of list views","Abwechselnder Hintergrund für Listen" },
1354{ "times","Zeiten" }, 1354{ "times","Zeiten" },
1355{ "The todo\n%1\nhas subtodos!\nDo you want to set\nthe categories for\nall subtodos as well?","Das Todo\n%1\nhat Untertodos!\nMöchten Sie die Kategorien\nauch für alle Untertodos setzen?" }, 1355{ "The todo\n%1\nhas subtodos!\nDo you want to set\nthe categories for\nall subtodos as well?","Das Todo\n%1\nhat Untertodos!\nMöchten Sie die Kategorien\nauch für alle Untertodos setzen?" },
1356{ "Backup enabled","Backup angeschaltet" }, 1356{ "Backup enabled","Backup angeschaltet" },
1357{ "Use standard backup dir","Standard Backupverzeichnis" }, 1357{ "Use standard backup dir","Standard Backupverzeichnis" },
1358{ "Number of Backups:","Anzahl der Backups" }, 1358{ "Number of Backups:","Anzahl der Backups" },
1359{ "Make backup every ","Mache ein Backup alle " }, 1359{ "Make backup every ","Mache ein Backup alle " },
1360{ " days"," Tage" }, 1360{ " days"," Tage" },
1361{ "Creating backup ... please wait ...","Erzeuge Backup ... bitte warten ..." }, 1361{ "Creating backup ... please wait ...","Erzeuge Backup ... bitte warten ..." },
1362{ "Backup Failed!","Backup Problem!" }, 1362{ "Backup Failed!","Backup Problem!" },
1363{ "Try again now","Versuche jetzt nochmal" }, 1363{ "Try again now","Versuche jetzt nochmal" },
1364{ "Try again later","Versuche später nochmal" }, 1364{ "Try again later","Versuche später nochmal" },
1365{ "Try again tomorrow","Versuche morgen nochmal" }, 1365{ "Try again tomorrow","Versuche morgen nochmal" },
1366{ "Disable backup","Schalte Backup ab" }, 1366{ "Disable backup","Schalte Backup ab" },
1367{ "<b>Backup directory does not exist: </b>","<b>Backup Verzeichnis existiert nicht: </b>" }, 1367{ "<b>Backup directory does not exist: </b>","<b>Backup Verzeichnis existiert nicht: </b>" },
1368{ "<b>The backup copy command failed!</b>","<b>Das Backup Kopierkommando is fehlgeschlagen!</b>" }, 1368{ "<b>The backup copy command failed!</b>","<b>Das Backup Kopierkommando is fehlgeschlagen!</b>" },
1369{ "Choose action","Wähle Aktion" }, 1369{ "Choose action","Wähle Aktion" },
1370{ "Comment for todo:","Kommentar zum Todo:" }, 1370{ "Comment for todo:","Kommentar zum Todo:" },
1371{ "Stop+note","Stop+Notiz" }, 1371{ "Stop+note","Stop+Notiz" },
1372{ "Agenda view shows completed todos","Agenda Ansicht zeigt erledigte Todos" }, 1372{ "Agenda view shows completed todos","Agenda Ansicht zeigt erledigte Todos" },
1373{ "KO/Pi: Missing alarms!","KO/Pi: Verpasste Alarme!" }, 1373{ "KO/Pi: Missing alarms!","KO/Pi: Verpasste Alarme!" },
1374{ "You missed the alarms for the following events or todos:","Sie verpassten die Alarme für folgende Termine oder Todos:" }, 1374{ "You missed the alarms for the following events or todos:","Sie verpassten die Alarme für folgende Termine oder Todos:" },
1375{ "Print complete list","Drucke komplette Liste" }, 1375{ "Print complete list","Drucke komplette Liste" },
1376{ "Hide all selected","Verstecke Selektierte" }, 1376{ "Hide all selected","Verstecke Selektierte" },
1377{ "Add items","hinzufügen" }, 1377{ "Add items","hinzufügen" },
1378{ "One (or more) selected\ntodo has subtodos!\nDo you want to select\nall subtodos of all\nselected todos as well?","Ein (oder mehrere) ausgewähltes\nTodo hat Untertodos!\nMöchten Sie der Auswahlliste\nalle Untertodos von allen\nausgewählten Todos hinzufügen?" }, 1378{ "One (or more) selected\ntodo has subtodos!\nDo you want to select\nall subtodos of all\nselected todos as well?","Ein (oder mehrere) ausgewähltes\nTodo hat Untertodos!\nMöchten Sie der Auswahlliste\nalle Untertodos von allen\nausgewählten Todos hinzufügen?" },
1379{ "Print List View...","Drucke Listenansicht..." }, 1379{ "Print List View...","Drucke Listenansicht..." },
1380{ "You can make a printout of the <b>List View</b> and the list view in the <b>Search Dialog</b>! To do this, please go to the <b>List View/Search Dialog</b>. Right click on the list. Select in the popup menu the entry <b>Print complete list</b>. That prints the list as you see it. You can remove items from the list before printing without deleting the corresponding event/todo! Simply select all items you do not want to print out. Then right click on one of the items and choose <b>Hide selected items</b>. After that you can print the list without these items.","Sie können die <b>Listenansicht</b> und die Listenansicht im <b>Suchdialog</b> ausdrucken! Um das zu machen gehen Sie bitte zur <b>Listenansicht</b> oder zum <b>Suchdialog</b>. Rechtsklicken Sie auf die Liste. Wählen Sie im Popupmenu den Eintrag <b>Drucke komplette Liste</b>. Das druckt die Liste so, wie man sie sieht. Sie können Listeneinträge entfernen ohne die korrespondierenden Ereignisse/Todos zu löschen! Selektieren sie einfach alle Einträge, die sie nicht ausdrucken möchten. Dann Rechtsklicken Sie auf einen Eintrag und wählen <b>Verstecke Selektierte</b>. Danach können Sie die Liste ohne diese Einträge ausdrucken." }, 1380{ "You can make a printout of the <b>List View</b> and the list view in the <b>Search Dialog</b>! To do this, please go to the <b>List View/Search Dialog</b>. Right click on the list. Select in the popup menu the entry <b>Print complete list</b>. That prints the list as you see it. You can remove items from the list before printing without deleting the corresponding event/todo! Simply select all items you do not want to print out. Then right click on one of the items and choose <b>Hide selected items</b>. After that you can print the list without these items.","Sie können die <b>Listenansicht</b> und die Listenansicht im <b>Suchdialog</b> ausdrucken! Um das zu machen gehen Sie bitte zur <b>Listenansicht</b> oder zum <b>Suchdialog</b>. Rechtsklicken Sie auf die Liste. Wählen Sie im Popupmenu den Eintrag <b>Drucke komplette Liste</b>. Das druckt die Liste so, wie man sie sieht. Sie können Listeneinträge entfernen ohne die korrespondierenden Ereignisse/Todos zu löschen! Selektieren sie einfach alle Einträge, die sie nicht ausdrucken möchten. Dann Rechtsklicken Sie auf einen Eintrag und wählen <b>Verstecke Selektierte</b>. Danach können Sie die Liste ohne diese Einträge ausdrucken." },
1381{ "","" }, 1381{ "Configure KO/Pi...","Konfiguriere KO/Pi..." },
1382{ "","" }, 1382{ "Global Settings...","Globale Einstellungen..." },
1383{ "","" }, 1383{ "","" },
1384{ "","" }, 1384{ "","" },
1385{ "","" }, 1385{ "","" },
1386{ "","" }, 1386{ "","" },
1387{ "","" }, 1387{ "","" },
1388{ "","" }, 1388{ "","" },
1389{ "","" }, 1389{ "","" },
1390{ "","" }, 1390{ "","" },
1391{ "","" }, \ No newline at end of file 1391{ "","" }, \ No newline at end of file
diff --git a/korganizer/calendarview.cpp b/korganizer/calendarview.cpp
index 7c7466b..4794414 100644
--- a/korganizer/calendarview.cpp
+++ b/korganizer/calendarview.cpp
@@ -2459,149 +2459,151 @@ void CalendarView::updateView()
2459 2459
2460void CalendarView::updateUnmanagedViews() 2460void CalendarView::updateUnmanagedViews()
2461{ 2461{
2462 mDateNavigator->updateDayMatrix(); 2462 mDateNavigator->updateDayMatrix();
2463} 2463}
2464 2464
2465int CalendarView::msgItemDelete(const QString name) 2465int CalendarView::msgItemDelete(const QString name)
2466{ 2466{
2467 return KMessageBox::warningContinueCancel(this,name +"\n\n"+ 2467 return KMessageBox::warningContinueCancel(this,name +"\n\n"+
2468 i18n("This item will be\npermanently deleted."), 2468 i18n("This item will be\npermanently deleted."),
2469 i18n("KO/Pi Confirmation"),i18n("Delete")); 2469 i18n("KO/Pi Confirmation"),i18n("Delete"));
2470} 2470}
2471 2471
2472 2472
2473void CalendarView::edit_cut() 2473void CalendarView::edit_cut()
2474{ 2474{
2475 Event *anEvent=0; 2475 Event *anEvent=0;
2476 2476
2477 Incidence *incidence = mViewManager->currentView()->selectedIncidences().first(); 2477 Incidence *incidence = mViewManager->currentView()->selectedIncidences().first();
2478 2478
2479 if (mViewManager->currentView()->isEventView()) { 2479 if (mViewManager->currentView()->isEventView()) {
2480 if ( incidence && incidence->typeID() == eventID ) { 2480 if ( incidence && incidence->typeID() == eventID ) {
2481 anEvent = static_cast<Event *>(incidence); 2481 anEvent = static_cast<Event *>(incidence);
2482 } 2482 }
2483 } 2483 }
2484 2484
2485 if (!anEvent) { 2485 if (!anEvent) {
2486 KNotifyClient::beep(); 2486 KNotifyClient::beep();
2487 return; 2487 return;
2488 } 2488 }
2489 DndFactory factory( mCalendar ); 2489 DndFactory factory( mCalendar );
2490 factory.cutIncidence(anEvent); 2490 factory.cutIncidence(anEvent);
2491 changeEventDisplay(anEvent, KOGlobals::EVENTDELETED); 2491 changeEventDisplay(anEvent, KOGlobals::EVENTDELETED);
2492} 2492}
2493 2493
2494void CalendarView::edit_copy() 2494void CalendarView::edit_copy()
2495{ 2495{
2496 Event *anEvent=0; 2496 Event *anEvent=0;
2497 2497
2498 Incidence *incidence = mViewManager->currentView()->selectedIncidences().first(); 2498 Incidence *incidence = mViewManager->currentView()->selectedIncidences().first();
2499 2499
2500 if (mViewManager->currentView()->isEventView()) { 2500 if (mViewManager->currentView()->isEventView()) {
2501 if ( incidence && incidence->typeID() == eventID ) { 2501 if ( incidence && incidence->typeID() == eventID ) {
2502 anEvent = static_cast<Event *>(incidence); 2502 anEvent = static_cast<Event *>(incidence);
2503 } 2503 }
2504 } 2504 }
2505 2505
2506 if (!anEvent) { 2506 if (!anEvent) {
2507 KNotifyClient::beep(); 2507 KNotifyClient::beep();
2508 return; 2508 return;
2509 } 2509 }
2510 DndFactory factory( mCalendar ); 2510 DndFactory factory( mCalendar );
2511 factory.copyIncidence(anEvent); 2511 factory.copyIncidence(anEvent);
2512} 2512}
2513 2513
2514void CalendarView::edit_paste() 2514void CalendarView::edit_paste()
2515{ 2515{
2516 QDate date = mNavigator->selectedDates().first(); 2516 QDate date = mNavigator->selectedDates().first();
2517 2517
2518 DndFactory factory( mCalendar ); 2518 DndFactory factory( mCalendar );
2519 Event *pastedEvent = (Event *)factory.pasteIncidence( date ); 2519 Event *pastedEvent = (Event *)factory.pasteIncidence( date );
2520 2520
2521 changeEventDisplay( pastedEvent, KOGlobals::EVENTADDED ); 2521 changeEventDisplay( pastedEvent, KOGlobals::EVENTADDED );
2522} 2522}
2523 2523void CalendarView::edit_global_options()
2524void CalendarView::edit_options()
2525{ 2524{
2526 QString tz = KPimGlobalPrefs::instance()->mTimeZoneId; 2525 QString tz = KPimGlobalPrefs::instance()->mTimeZoneId;
2527 emit save(); 2526 emit save();
2528 emit saveStopTimer(); 2527 emit saveStopTimer();
2529 mDialogManager->showOptionsDialog(); 2528 mDialogManager->showGlobalOptionsDialog();
2530 if ( tz != KPimGlobalPrefs::instance()->mTimeZoneId) { 2529 if ( tz != KPimGlobalPrefs::instance()->mTimeZoneId) {
2531 emit saveStopTimer(); 2530 emit saveStopTimer();
2532 if ( KMessageBox::Cancel == KMessageBox::warningContinueCancel(this, i18n("The timezone has changed!\nShould the calendar be reloaded\nto apply timezone changes?\nPlease read Menu: Help->FAQ:\n\"How do I change the timezone?\"\nas well!"), 2531 if ( KMessageBox::Cancel == KMessageBox::warningContinueCancel(this, i18n("The timezone has changed!\nShould the calendar be reloaded\nto apply timezone changes?\nPlease read Menu: Help->FAQ:\n\"How do I change the timezone?\"\nas well!"),
2533 i18n("Timezone settings"),i18n("Reload"))) { 2532 i18n("Timezone settings"),i18n("Reload"))) {
2534 qDebug("KO: TZ reload cancelled "); 2533 qDebug("KO: TZ reload cancelled ");
2535 return; 2534 return;
2536 } 2535 }
2537 qDebug("KO: Timezone change "); 2536 qDebug("KO: Timezone change ");
2538 openCalendar( MainWindow::defaultFileName() ); 2537 openCalendar( MainWindow::defaultFileName() );
2539 setModified(true); 2538 setModified(true);
2540 } 2539 }
2541 else 2540 else
2542 qDebug("KO: No tz change "); 2541 qDebug("KO: No tz change ");
2543 2542}
2543void CalendarView::edit_options()
2544{
2545 mDialogManager->showOptionsDialog();
2544} 2546}
2545 2547
2546 2548
2547void CalendarView::slotSelectPickerDate( QDate d) 2549void CalendarView::slotSelectPickerDate( QDate d)
2548{ 2550{
2549 mDateFrame->hide(); 2551 mDateFrame->hide();
2550 if ( mDatePickerMode == 1 ) { 2552 if ( mDatePickerMode == 1 ) {
2551 mNavigator->slotDaySelect( d ); 2553 mNavigator->slotDaySelect( d );
2552 } else if ( mDatePickerMode == 2 ) { 2554 } else if ( mDatePickerMode == 2 ) {
2553 if ( mMoveIncidence->typeID() == todoID ) { 2555 if ( mMoveIncidence->typeID() == todoID ) {
2554 Todo * to = (Todo *) mMoveIncidence; 2556 Todo * to = (Todo *) mMoveIncidence;
2555 QTime tim; 2557 QTime tim;
2556 int len = 0; 2558 int len = 0;
2557 if ( to->hasStartDate() && to->hasDueDate() ) 2559 if ( to->hasStartDate() && to->hasDueDate() )
2558 len = to->dtStart().secsTo( to->dtDue()); 2560 len = to->dtStart().secsTo( to->dtDue());
2559 if ( to->hasDueDate() ) 2561 if ( to->hasDueDate() )
2560 tim = to->dtDue().time(); 2562 tim = to->dtDue().time();
2561 else { 2563 else {
2562 tim = QTime ( 0,0,0 ); 2564 tim = QTime ( 0,0,0 );
2563 to->setFloats( true ); 2565 to->setFloats( true );
2564 to->setHasDueDate( true ); 2566 to->setHasDueDate( true );
2565 } 2567 }
2566 QDateTime dt ( d,tim ); 2568 QDateTime dt ( d,tim );
2567 to->setDtDue( dt ); 2569 to->setDtDue( dt );
2568 2570
2569 if ( to->hasStartDate() ) { 2571 if ( to->hasStartDate() ) {
2570 if ( len>0 ) 2572 if ( len>0 )
2571 to->setDtStart(to->dtDue().addSecs( -len )); 2573 to->setDtStart(to->dtDue().addSecs( -len ));
2572 else 2574 else
2573 if (to->dtStart() > to->dtDue() ) 2575 if (to->dtStart() > to->dtDue() )
2574 to->setDtStart(to->dtDue().addDays( -3 )); 2576 to->setDtStart(to->dtDue().addDays( -3 ));
2575 } 2577 }
2576 2578
2577 todoChanged( to ); 2579 todoChanged( to );
2578 } else { 2580 } else {
2579 if ( mMoveIncidence->doesRecur() ) { 2581 if ( mMoveIncidence->doesRecur() ) {
2580#if 0 2582#if 0
2581 // PENDING implement this 2583 // PENDING implement this
2582 Incidence* newInc = mMoveIncidence->recreateCloneException( mMoveIncidenceOldDate ); 2584 Incidence* newInc = mMoveIncidence->recreateCloneException( mMoveIncidenceOldDate );
2583 mCalendar()->addIncidence( newInc ); 2585 mCalendar()->addIncidence( newInc );
2584 if ( mMoveIncidence->typeID() == todoID ) 2586 if ( mMoveIncidence->typeID() == todoID )
2585 emit todoMoved((Todo*)mMoveIncidence, KOGlobals::EVENTEDITED ); 2587 emit todoMoved((Todo*)mMoveIncidence, KOGlobals::EVENTEDITED );
2586 else 2588 else
2587 emit incidenceChanged(mMoveIncidence, KOGlobals::EVENTEDITED); 2589 emit incidenceChanged(mMoveIncidence, KOGlobals::EVENTEDITED);
2588 mMoveIncidence = newInc; 2590 mMoveIncidence = newInc;
2589 2591
2590#endif 2592#endif
2591 } 2593 }
2592 QTime tim = mMoveIncidence->dtStart().time(); 2594 QTime tim = mMoveIncidence->dtStart().time();
2593 int secs = mMoveIncidence->dtStart().secsTo( mMoveIncidence->dtEnd()); 2595 int secs = mMoveIncidence->dtStart().secsTo( mMoveIncidence->dtEnd());
2594 QDateTime dt ( d,tim ); 2596 QDateTime dt ( d,tim );
2595 mMoveIncidence->setDtStart( dt ); 2597 mMoveIncidence->setDtStart( dt );
2596 ((Event*)mMoveIncidence)->setDtEnd( dt.addSecs( secs ) ); 2598 ((Event*)mMoveIncidence)->setDtEnd( dt.addSecs( secs ) );
2597 changeEventDisplay((Event*)mMoveIncidence, KOGlobals::EVENTEDITED); 2599 changeEventDisplay((Event*)mMoveIncidence, KOGlobals::EVENTEDITED);
2598 } 2600 }
2599 2601
2600 mMoveIncidence->setRevision( mMoveIncidence->revision()+1 ); 2602 mMoveIncidence->setRevision( mMoveIncidence->revision()+1 );
2601 } 2603 }
2602} 2604}
2603 2605
2604void CalendarView::removeCategories() 2606void CalendarView::removeCategories()
2605{ 2607{
2606 QPtrList<Incidence> incList = mCalendar->rawIncidences(); 2608 QPtrList<Incidence> incList = mCalendar->rawIncidences();
2607 QStringList catList = KOPrefs::instance()->mCustomCategories; 2609 QStringList catList = KOPrefs::instance()->mCustomCategories;
diff --git a/korganizer/calendarview.h b/korganizer/calendarview.h
index 4600090..1215a99 100644
--- a/korganizer/calendarview.h
+++ b/korganizer/calendarview.h
@@ -288,128 +288,129 @@ class CalendarView : public KOrg::CalendarViewBase, public KCal::Calendar::Obser
288 void newTodo(); 288 void newTodo();
289 void newTodoDateTime(QDateTime, bool allday); 289 void newTodoDateTime(QDateTime, bool allday);
290 /** create new todo with a parent todo */ 290 /** create new todo with a parent todo */
291 void newSubTodo(); 291 void newSubTodo();
292 /** create new todo with a parent todo */ 292 /** create new todo with a parent todo */
293 void newSubTodo(Todo *); 293 void newSubTodo(Todo *);
294 /** Delete todo */ 294 /** Delete todo */
295 void deleteTodo(Todo *); 295 void deleteTodo(Todo *);
296 296
297 297
298 /** Check if clipboard contains vCalendar event. The signal pasteEnabled() is 298 /** Check if clipboard contains vCalendar event. The signal pasteEnabled() is
299 * emitted as result. */ 299 * emitted as result. */
300 void checkClipboard(); 300 void checkClipboard();
301 301
302 /** using the KConfig associated with the kapp variable, read in the 302 /** using the KConfig associated with the kapp variable, read in the
303 * settings from the config file. 303 * settings from the config file.
304 */ 304 */
305 void readSettings(); 305 void readSettings();
306 306
307 /** write current state to config file. */ 307 /** write current state to config file. */
308 void writeSettings(); 308 void writeSettings();
309 309
310 /** read settings for calendar filters */ 310 /** read settings for calendar filters */
311 void readFilterSettings(KConfig *config); 311 void readFilterSettings(KConfig *config);
312 312
313 /** write settings for calendar filters */ 313 /** write settings for calendar filters */
314 void writeFilterSettings(KConfig *config); 314 void writeFilterSettings(KConfig *config);
315 315
316 /** passes on the message that an event has changed to the currently 316 /** passes on the message that an event has changed to the currently
317 * activated view so that it can make appropriate display changes. */ 317 * activated view so that it can make appropriate display changes. */
318 void changeEventDisplay(Event *, int); 318 void changeEventDisplay(Event *, int);
319 void changeIncidenceDisplay(Incidence *, int); 319 void changeIncidenceDisplay(Incidence *, int);
320 void changeTodoDisplay(Todo *, int); 320 void changeTodoDisplay(Todo *, int);
321 321
322 void eventAdded(Event *); 322 void eventAdded(Event *);
323 void eventChanged(Event *); 323 void eventChanged(Event *);
324 void eventToBeDeleted(Event *); 324 void eventToBeDeleted(Event *);
325 void eventDeleted(); 325 void eventDeleted();
326 326
327 void todoAdded(Todo *); 327 void todoAdded(Todo *);
328 void todoChanged(Todo *); 328 void todoChanged(Todo *);
329 void todoToBeDeleted(Todo *); 329 void todoToBeDeleted(Todo *);
330 void todoDeleted(); 330 void todoDeleted();
331 331
332 void updateView(const QDate &start, const QDate &end); 332 void updateView(const QDate &start, const QDate &end);
333 void updateView(); 333 void updateView();
334 void clearAllViews(); 334 void clearAllViews();
335 335
336 /** Full update of visible todo views */ 336 /** Full update of visible todo views */
337 void updateTodoViews(); 337 void updateTodoViews();
338 338
339 void updateUnmanagedViews(); 339 void updateUnmanagedViews();
340 340
341 /** cut the current appointment to the clipboard */ 341 /** cut the current appointment to the clipboard */
342 void edit_cut(); 342 void edit_cut();
343 343
344 /** copy the current appointment(s) to the clipboard */ 344 /** copy the current appointment(s) to the clipboard */
345 void edit_copy(); 345 void edit_copy();
346 346
347 /** paste the current vobject(s) in the clipboard buffer into calendar */ 347 /** paste the current vobject(s) in the clipboard buffer into calendar */
348 void edit_paste(); 348 void edit_paste();
349 349
350 /** edit viewing and configuration options. */ 350 /** edit viewing and configuration options. */
351 void edit_options(); 351 void edit_options();
352 void edit_global_options();
352 /** 353 /**
353 Functions for printing, previewing a print, and setting up printing 354 Functions for printing, previewing a print, and setting up printing
354 parameters. 355 parameters.
355 */ 356 */
356 void print(); 357 void print();
357 void printSetup(); 358 void printSetup();
358 void printPreview(); 359 void printPreview();
359 360
360 /** Export as iCalendar file */ 361 /** Export as iCalendar file */
361 void exportICalendar(); 362 void exportICalendar();
362 363
363 /** Export as vCalendar file */ 364 /** Export as vCalendar file */
364 bool exportVCalendar( QString fn); 365 bool exportVCalendar( QString fn);
365 366
366 /** pop up a dialog to show an existing appointment. */ 367 /** pop up a dialog to show an existing appointment. */
367 void appointment_show(); 368 void appointment_show();
368 /** 369 /**
369 * pop up an Appointment Dialog to edit an existing appointment.Get 370 * pop up an Appointment Dialog to edit an existing appointment.Get
370 * information on the appointment from the list of unique IDs that is 371 * information on the appointment from the list of unique IDs that is
371 * currently in the View, called currIds. 372 * currently in the View, called currIds.
372 */ 373 */
373 void appointment_edit(); 374 void appointment_edit();
374 /** 375 /**
375 * pop up dialog confirming deletion of currently selected event in the 376 * pop up dialog confirming deletion of currently selected event in the
376 * View. 377 * View.
377 */ 378 */
378 void appointment_delete(); 379 void appointment_delete();
379 380
380 /** mails the currently selected event to a particular user as a vCalendar 381 /** mails the currently selected event to a particular user as a vCalendar
381 attachment. */ 382 attachment. */
382 void action_mail(); 383 void action_mail();
383 384
384 /* frees a subtodo from it's relation */ 385 /* frees a subtodo from it's relation */
385 void todo_unsub( Todo * ); 386 void todo_unsub( Todo * );
386 void todo_resub( Todo * parent, Todo * sub ); 387 void todo_resub( Todo * parent, Todo * sub );
387 388
388 /** Take ownership of selected event. */ 389 /** Take ownership of selected event. */
389 void takeOverEvent(); 390 void takeOverEvent();
390 391
391 /** Take ownership of all events in calendar. */ 392 /** Take ownership of all events in calendar. */
392 void takeOverCalendar(); 393 void takeOverCalendar();
393 394
394 /** query whether or not the calendar is "dirty". */ 395 /** query whether or not the calendar is "dirty". */
395 bool isModified(); 396 bool isModified();
396 /** set the state of calendar. Modified means "dirty", i.e. needing a save. */ 397 /** set the state of calendar. Modified means "dirty", i.e. needing a save. */
397 void setModified(bool modified=true); 398 void setModified(bool modified=true);
398 399
399 /** query if the calendar is read-only. */ 400 /** query if the calendar is read-only. */
400 bool isReadOnly(); 401 bool isReadOnly();
401 /** set state of calendar to read-only */ 402 /** set state of calendar to read-only */
402 void setReadOnly(bool readOnly=true); 403 void setReadOnly(bool readOnly=true);
403 404
404 void eventUpdated(Incidence *); 405 void eventUpdated(Incidence *);
405 406
406 /* iTIP scheduling actions */ 407 /* iTIP scheduling actions */
407 void schedule_publish(Incidence *incidence = 0); 408 void schedule_publish(Incidence *incidence = 0);
408 void schedule_request(Incidence *incidence = 0); 409 void schedule_request(Incidence *incidence = 0);
409 void schedule_refresh(Incidence *incidence = 0); 410 void schedule_refresh(Incidence *incidence = 0);
410 void schedule_cancel(Incidence *incidence = 0); 411 void schedule_cancel(Incidence *incidence = 0);
411 void schedule_add(Incidence *incidence = 0); 412 void schedule_add(Incidence *incidence = 0);
412 void schedule_reply(Incidence *incidence = 0); 413 void schedule_reply(Incidence *incidence = 0);
413 void schedule_counter(Incidence *incidence = 0); 414 void schedule_counter(Incidence *incidence = 0);
414 void schedule_declinecounter(Incidence *incidence = 0); 415 void schedule_declinecounter(Incidence *incidence = 0);
415 void schedule_publish_freebusy(int daysToPublish = 30); 416 void schedule_publish_freebusy(int daysToPublish = 30);
diff --git a/korganizer/kodialogmanager.cpp b/korganizer/kodialogmanager.cpp
index c927b37..aa30c52 100644
--- a/korganizer/kodialogmanager.cpp
+++ b/korganizer/kodialogmanager.cpp
@@ -27,154 +27,170 @@
27#include "koprefsdialog.h" 27#include "koprefsdialog.h"
28#include "koeventeditor.h" 28#include "koeventeditor.h"
29#include "koprefs.h" 29#include "koprefs.h"
30#include "datenavigator.h" 30#include "datenavigator.h"
31#include "kotodoeditor.h" 31#include "kotodoeditor.h"
32#include "searchdialog.h" 32#include "searchdialog.h"
33#include "filtereditdialog.h" 33#include "filtereditdialog.h"
34#ifndef KORG_NOPLUGINS 34#ifndef KORG_NOPLUGINS
35#include "plugindialog.h" 35#include "plugindialog.h"
36#endif 36#endif
37#ifndef KORG_NOARCHIVE 37#ifndef KORG_NOARCHIVE
38#include "archivedialog.h" 38#include "archivedialog.h"
39#endif 39#endif
40 40
41#include "kconfig.h" 41#include "kconfig.h"
42#include "kodialogmanager.h" 42#include "kodialogmanager.h"
43#include <kapplication.h> 43#include <kapplication.h>
44 44
45KODialogManager::KODialogManager( CalendarView *mainView ) : 45KODialogManager::KODialogManager( CalendarView *mainView ) :
46 QObject(), mMainView( mainView ) 46 QObject(), mMainView( mainView )
47{ 47{
48 mOutgoingDialog = 0; 48 mOutgoingDialog = 0;
49 mIncomingDialog = 0; 49 mIncomingDialog = 0;
50 mOptionsDialog = 0; 50 mOptionsDialog = 0;
51 mSearchDialog = 0; 51 mSearchDialog = 0;
52 mArchiveDialog = 0; 52 mArchiveDialog = 0;
53 mFilterEditDialog = 0; 53 mFilterEditDialog = 0;
54 mPluginDialog = 0; 54 mPluginDialog = 0;
55 55
56 // mCategoryEditDialog = new KPIM::CategoryEditDialog(KOPrefs::instance(),mMainView); 56 // mCategoryEditDialog = new KPIM::CategoryEditDialog(KOPrefs::instance(),mMainView);
57 //KOGlobals::fitDialogToScreen( mCategoryEditDialog ); 57 //KOGlobals::fitDialogToScreen( mCategoryEditDialog );
58} 58}
59 59
60KODialogManager::~KODialogManager() 60KODialogManager::~KODialogManager()
61{ 61{
62 delete mOutgoingDialog; 62 delete mOutgoingDialog;
63 delete mIncomingDialog; 63 delete mIncomingDialog;
64 delete mOptionsDialog; 64 delete mOptionsDialog;
65 delete mSearchDialog; 65 delete mSearchDialog;
66#ifndef KORG_NOARCHIVE 66#ifndef KORG_NOARCHIVE
67 delete mArchiveDialog; 67 delete mArchiveDialog;
68#endif 68#endif
69 delete mFilterEditDialog; 69 delete mFilterEditDialog;
70#ifndef KORG_NOPLUGINS 70#ifndef KORG_NOPLUGINS
71 delete mPluginDialog; 71 delete mPluginDialog;
72#endif 72#endif
73} 73}
74 74
75OutgoingDialog *KODialogManager::outgoingDialog() 75OutgoingDialog *KODialogManager::outgoingDialog()
76{ 76{
77 createOutgoingDialog(); 77 createOutgoingDialog();
78 return mOutgoingDialog; 78 return mOutgoingDialog;
79} 79}
80 80
81void KODialogManager::createOutgoingDialog() 81void KODialogManager::createOutgoingDialog()
82{ 82{
83 if (!mOutgoingDialog) { 83 if (!mOutgoingDialog) {
84 mOutgoingDialog = new OutgoingDialog(mMainView->calendar(),mMainView); 84 mOutgoingDialog = new OutgoingDialog(mMainView->calendar(),mMainView);
85 if (mIncomingDialog) mIncomingDialog->setOutgoingDialog(mOutgoingDialog); 85 if (mIncomingDialog) mIncomingDialog->setOutgoingDialog(mOutgoingDialog);
86 connect(mOutgoingDialog,SIGNAL(numMessagesChanged(int)), 86 connect(mOutgoingDialog,SIGNAL(numMessagesChanged(int)),
87 mMainView,SIGNAL(numOutgoingChanged(int))); 87 mMainView,SIGNAL(numOutgoingChanged(int)));
88 } 88 }
89} 89}
90 90
91void KODialogManager::showGlobalOptionsDialog( bool showSync )
92{
93 if (!mOptionsDialog) {
94 mOptionsDialog = new KOPrefsDialog(0);
95 connect(mOptionsDialog,SIGNAL(configChanged()),
96 mMainView,SLOT(updateConfig()));
97 }
98 mOptionsDialog->readConfig();
99#ifndef DESKTOP_VERSION
100 mOptionsDialog->showMaximized();
101#else
102 mOptionsDialog->show();
103#endif
104 if ( showSync )
105 mOptionsDialog->showSyncPage();
106 mOptionsDialog->exec();
107 delete mOptionsDialog;
108 mOptionsDialog = 0;
109}
91void KODialogManager::showOptionsDialog( bool showSync ) 110void KODialogManager::showOptionsDialog( bool showSync )
92{ 111{
93 112
94 if (!mOptionsDialog) { 113 if (!mOptionsDialog) {
95 mOptionsDialog = new KOPrefsDialog(mMainView); 114 mOptionsDialog = new KOPrefsDialog(mMainView);
96 //mOptionsDialog->readConfig();
97 connect(mOptionsDialog,SIGNAL(configChanged()), 115 connect(mOptionsDialog,SIGNAL(configChanged()),
98 mMainView,SLOT(updateConfig())); 116 mMainView,SLOT(updateConfig()));
99 //connect(mCategoryEditDialog,SIGNAL(categoryConfigChanged()),
100 // mOptionsDialog,SLOT(updateCategories()));
101
102 } 117 }
103 mOptionsDialog->readConfig(); 118 mOptionsDialog->readConfig();
104#ifndef DESKTOP_VERSION 119#ifndef DESKTOP_VERSION
105 mOptionsDialog->showMaximized(); 120 mOptionsDialog->showMaximized();
106#else 121#else
107 mOptionsDialog->show(); 122 mOptionsDialog->show();
108#endif 123#endif
109 if ( showSync ) 124 if ( showSync )
110 mOptionsDialog->showSyncPage(); 125 mOptionsDialog->showSyncPage();
111 mOptionsDialog->exec(); 126 mOptionsDialog->exec();
112 127 delete mOptionsDialog;
128 mOptionsDialog = 0;
113} 129}
114void KODialogManager::showSyncOptions() 130void KODialogManager::showSyncOptions()
115{ 131{
116 showOptionsDialog( true ); 132 showGlobalOptionsDialog( true );
117 133
118} 134}
119void KODialogManager::showOutgoingDialog() 135void KODialogManager::showOutgoingDialog()
120{ 136{
121 createOutgoingDialog(); 137 createOutgoingDialog();
122 mOutgoingDialog->show(); 138 mOutgoingDialog->show();
123 mOutgoingDialog->raise(); 139 mOutgoingDialog->raise();
124} 140}
125 141
126IncomingDialog *KODialogManager::incomingDialog() 142IncomingDialog *KODialogManager::incomingDialog()
127{ 143{
128 createOutgoingDialog(); 144 createOutgoingDialog();
129 if (!mIncomingDialog) { 145 if (!mIncomingDialog) {
130 mIncomingDialog = new IncomingDialog(mMainView->calendar(),mOutgoingDialog,mMainView); 146 mIncomingDialog = new IncomingDialog(mMainView->calendar(),mOutgoingDialog,mMainView);
131 connect(mIncomingDialog,SIGNAL(numMessagesChanged(int)), 147 connect(mIncomingDialog,SIGNAL(numMessagesChanged(int)),
132 mMainView,SIGNAL(numIncomingChanged(int))); 148 mMainView,SIGNAL(numIncomingChanged(int)));
133 connect(mIncomingDialog,SIGNAL(calendarUpdated()), 149 connect(mIncomingDialog,SIGNAL(calendarUpdated()),
134 mMainView,SLOT(updateView())); 150 mMainView,SLOT(updateView()));
135 } 151 }
136 return mIncomingDialog; 152 return mIncomingDialog;
137} 153}
138 154
139void KODialogManager::createIncomingDialog() 155void KODialogManager::createIncomingDialog()
140{ 156{
141 createOutgoingDialog(); 157 createOutgoingDialog();
142 if (!mIncomingDialog) { 158 if (!mIncomingDialog) {
143 mIncomingDialog = new IncomingDialog(mMainView->calendar(),mOutgoingDialog,mMainView); 159 mIncomingDialog = new IncomingDialog(mMainView->calendar(),mOutgoingDialog,mMainView);
144 connect(mIncomingDialog,SIGNAL(numMessagesChanged(int)), 160 connect(mIncomingDialog,SIGNAL(numMessagesChanged(int)),
145 mMainView,SIGNAL(numIncomingChanged(int))); 161 mMainView,SIGNAL(numIncomingChanged(int)));
146 connect(mIncomingDialog,SIGNAL(calendarUpdated()), 162 connect(mIncomingDialog,SIGNAL(calendarUpdated()),
147 mMainView,SLOT(updateView())); 163 mMainView,SLOT(updateView()));
148 } 164 }
149} 165}
150 166
151void KODialogManager::showIncomingDialog() 167void KODialogManager::showIncomingDialog()
152{ 168{
153 createIncomingDialog(); 169 createIncomingDialog();
154 mIncomingDialog->show(); 170 mIncomingDialog->show();
155 mIncomingDialog->raise(); 171 mIncomingDialog->raise();
156} 172}
157/* 173/*
158void KODialogManager::showCategoryEditDialog() 174void KODialogManager::showCategoryEditDialog()
159{ 175{
160 mCategoryEditDialog->show(); 176 mCategoryEditDialog->show();
161} 177}
162*/ 178*/
163void KODialogManager::hideSearchDialog() 179void KODialogManager::hideSearchDialog()
164{ 180{
165 if (mSearchDialog) 181 if (mSearchDialog)
166 mSearchDialog->hide(); 182 mSearchDialog->hide();
167} 183}
168 184
169void KODialogManager::showSearchDialog() 185void KODialogManager::showSearchDialog()
170{ 186{
171 if (!mSearchDialog) { 187 if (!mSearchDialog) {
172 mSearchDialog = new SearchDialog(mMainView->calendar(),mMainView); 188 mSearchDialog = new SearchDialog(mMainView->calendar(),mMainView);
173 KOListView * lview = mSearchDialog->listview(); 189 KOListView * lview = mSearchDialog->listview();
174 190
175 connect(lview, SIGNAL(showIncidenceSignal(Incidence *)), 191 connect(lview, SIGNAL(showIncidenceSignal(Incidence *)),
176 mMainView, SLOT(showIncidence(Incidence *))); 192 mMainView, SLOT(showIncidence(Incidence *)));
177 connect(lview, SIGNAL(editIncidenceSignal(Incidence *)), 193 connect(lview, SIGNAL(editIncidenceSignal(Incidence *)),
178 mMainView, SLOT(editIncidence(Incidence *))); 194 mMainView, SLOT(editIncidence(Incidence *)));
179 connect(lview, SIGNAL(deleteIncidenceSignal(Incidence *)), 195 connect(lview, SIGNAL(deleteIncidenceSignal(Incidence *)),
180 mMainView, SLOT(deleteIncidence(Incidence *))); 196 mMainView, SLOT(deleteIncidence(Incidence *)));
diff --git a/korganizer/kodialogmanager.h b/korganizer/kodialogmanager.h
index a6cc621..b68ddc2 100644
--- a/korganizer/kodialogmanager.h
+++ b/korganizer/kodialogmanager.h
@@ -10,91 +10,92 @@
10 10
11 This program is distributed in the hope that it will be useful, 11 This program is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of 12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.See the 13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.See the
14 GNU General Public License for more details. 14 GNU General Public License for more details.
15 15
16 You should have received a copy of the GNU General Public License 16 You should have received a copy of the GNU General Public License
17 along with this program; if not, write to the Free Software 17 along with this program; if not, write to the Free Software
18 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 18 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
19 19
20 As a special exception, permission is given to link this program 20 As a special exception, permission is given to link this program
21 with any edition of Qt, and distribute the resulting executable, 21 with any edition of Qt, and distribute the resulting executable,
22 without including the source code for Qt in the source distribution. 22 without including the source code for Qt in the source distribution.
23*/ 23*/
24#ifndef KODIALOGMANAGER_H 24#ifndef KODIALOGMANAGER_H
25#define KODIALOGMANAGER_H 25#define KODIALOGMANAGER_H
26 26
27#include <qobject.h> 27#include <qobject.h>
28#include <qptrlist.h> 28#include <qptrlist.h>
29 29
30#include <libkcal/calfilter.h> 30#include <libkcal/calfilter.h>
31 31
32class CalendarView; 32class CalendarView;
33class OutgoingDialog; 33class OutgoingDialog;
34class IncomingDialog; 34class IncomingDialog;
35class KOPrefsDialog; 35class KOPrefsDialog;
36//namespace KPIM { class CategoryEditDialog; } 36//namespace KPIM { class CategoryEditDialog; }
37class KOEventEditor; 37class KOEventEditor;
38class KOTodoEditor; 38class KOTodoEditor;
39class SearchDialog; 39class SearchDialog;
40class ArchiveDialog; 40class ArchiveDialog;
41class PluginDialog; 41class PluginDialog;
42class KConfig; 42class KConfig;
43class FilterEditDialog; 43class FilterEditDialog;
44 44
45using namespace KCal; 45using namespace KCal;
46 46
47/** 47/**
48 This class manages the dialogs used by the calendar view. It owns the objects 48 This class manages the dialogs used by the calendar view. It owns the objects
49 and handles creation and selection. 49 and handles creation and selection.
50*/ 50*/
51class KODialogManager : public QObject 51class KODialogManager : public QObject
52{ 52{
53 Q_OBJECT 53 Q_OBJECT
54 public: 54 public:
55 KODialogManager( CalendarView * ); 55 KODialogManager( CalendarView * );
56 virtual ~KODialogManager(); 56 virtual ~KODialogManager();
57 57
58 /** Get an editor dialog for an Event. */ 58 /** Get an editor dialog for an Event. */
59 KOEventEditor *getEventEditor(); 59 KOEventEditor *getEventEditor();
60 60
61 /** Get an editor dialog for a Todo. */ 61 /** Get an editor dialog for a Todo. */
62 KOTodoEditor *getTodoEditor(); 62 KOTodoEditor *getTodoEditor();
63 63
64 OutgoingDialog *outgoingDialog(); 64 OutgoingDialog *outgoingDialog();
65 65
66 IncomingDialog *incomingDialog(); 66 IncomingDialog *incomingDialog();
67 void writeSettings( KConfig *config); 67 void writeSettings( KConfig *config);
68 void updateSearchDialog(); 68 void updateSearchDialog();
69 SearchDialog * getSearchDialog(); 69 SearchDialog * getSearchDialog();
70 void setDocumentId( const QString &id ); 70 void setDocumentId( const QString &id );
71 71
72 public slots: 72 public slots:
73 void showOptionsDialog( bool showSync = false); 73 void showOptionsDialog( bool showSync = false);
74 void showGlobalOptionsDialog(bool showSync = false);
74 void showSyncOptions(); 75 void showSyncOptions();
75 void showIncomingDialog(); 76 void showIncomingDialog();
76 void showOutgoingDialog(); 77 void showOutgoingDialog();
77 // void showCategoryEditDialog(); 78 // void showCategoryEditDialog();
78 void showSearchDialog(); 79 void showSearchDialog();
79 void showArchiveDialog(); 80 void showArchiveDialog();
80 void showFilterEditDialog(QPtrList<CalFilter> *filters); 81 void showFilterEditDialog(QPtrList<CalFilter> *filters);
81 void showPluginDialog(); 82 void showPluginDialog();
82 void hideSearchDialog(); 83 void hideSearchDialog();
83 84
84 private: 85 private:
85 void createOutgoingDialog(); 86 void createOutgoingDialog();
86 void createIncomingDialog(); 87 void createIncomingDialog();
87 88
88 CalendarView *mMainView; 89 CalendarView *mMainView;
89 90
90 OutgoingDialog *mOutgoingDialog; 91 OutgoingDialog *mOutgoingDialog;
91 IncomingDialog *mIncomingDialog; 92 IncomingDialog *mIncomingDialog;
92 KOPrefsDialog *mOptionsDialog; 93 KOPrefsDialog *mOptionsDialog;
93 // KPIM::CategoryEditDialog *mCategoryEditDialog; 94 // KPIM::CategoryEditDialog *mCategoryEditDialog;
94 SearchDialog *mSearchDialog; 95 SearchDialog *mSearchDialog;
95 ArchiveDialog *mArchiveDialog; 96 ArchiveDialog *mArchiveDialog;
96 FilterEditDialog *mFilterEditDialog; 97 FilterEditDialog *mFilterEditDialog;
97 PluginDialog *mPluginDialog; 98 PluginDialog *mPluginDialog;
98}; 99};
99 100
100#endif 101#endif
diff --git a/korganizer/koprefsdialog.cpp b/korganizer/koprefsdialog.cpp
index c9477e3..4b5b66a 100644
--- a/korganizer/koprefsdialog.cpp
+++ b/korganizer/koprefsdialog.cpp
@@ -25,283 +25,285 @@
25#include <qlabel.h> 25#include <qlabel.h>
26#include <qgroupbox.h> 26#include <qgroupbox.h>
27#include <qbuttongroup.h> 27#include <qbuttongroup.h>
28#include <qlineedit.h> 28#include <qlineedit.h>
29#include <qfont.h> 29#include <qfont.h>
30#include <qslider.h> 30#include <qslider.h>
31#include <qfile.h> 31#include <qfile.h>
32#include <qtextstream.h> 32#include <qtextstream.h>
33#include <qcombobox.h> 33#include <qcombobox.h>
34#include <qvbox.h> 34#include <qvbox.h>
35#include <qhbox.h> 35#include <qhbox.h>
36#include <qregexp.h> 36#include <qregexp.h>
37#include <qspinbox.h> 37#include <qspinbox.h>
38#include <qdatetime.h> 38#include <qdatetime.h>
39#include <qcheckbox.h> 39#include <qcheckbox.h>
40#include <qradiobutton.h> 40#include <qradiobutton.h>
41#include <qpushbutton.h> 41#include <qpushbutton.h>
42#include <qstrlist.h> 42#include <qstrlist.h>
43#include <qapplication.h> 43#include <qapplication.h>
44 44
45#include <kcolorbutton.h> 45#include <kcolorbutton.h>
46#include <kdebug.h> 46#include <kdebug.h>
47#include <klocale.h> 47#include <klocale.h>
48#include <kglobal.h> 48#include <kglobal.h>
49#include <kfontdialog.h> 49#include <kfontdialog.h>
50#include <kfiledialog.h> 50#include <kfiledialog.h>
51#include <kmessagebox.h> 51#include <kmessagebox.h>
52#include <kcolordialog.h> 52#include <kcolordialog.h>
53#include <kiconloader.h> 53#include <kiconloader.h>
54#include <kemailsettings.h> 54#include <kemailsettings.h>
55#include <kstandarddirs.h> 55#include <kstandarddirs.h>
56#include <kglobalsettings.h> 56#include <kglobalsettings.h>
57 57
58#include <kurlrequester.h> 58#include <kurlrequester.h>
59#include <klineedit.h> 59#include <klineedit.h>
60 60
61#if defined(USE_SOLARIS) 61#if defined(USE_SOLARIS)
62#include <sys/param.h> 62#include <sys/param.h>
63 63
64#define ZONEINFODIR "/usr/share/lib/zoneinfo" 64#define ZONEINFODIR "/usr/share/lib/zoneinfo"
65#define INITFILE "/etc/default/init" 65#define INITFILE "/etc/default/init"
66#endif 66#endif
67 67
68#include "koprefs.h" 68#include "koprefs.h"
69 69
70#include "koprefsdialog.h" 70#include "koprefsdialog.h"
71#include "kpimglobalprefs.h" 71#include "kpimglobalprefs.h"
72 72
73 73
74KOPrefsDialog::KOPrefsDialog(QWidget *parent, char *name, bool modal) : 74KOPrefsDialog::KOPrefsDialog(QWidget *parent, char *name, bool modal) :
75 KPrefsDialog(KOPrefs::instance(),parent,name,true) 75 KPrefsDialog(KOPrefs::instance(),parent,name,true)
76{ 76{
77 77
78 setFont( KGlobalSettings::generalMaxFont() ); 78 setFont( KGlobalSettings::generalMaxFont() );
79 setCaption( i18n("Preferences - some settings need a restart (nr)")); 79 setCaption( i18n("Preferences - some settings need a restart (nr)"));
80 mCategoryDict.setAutoDelete(true); 80 mCategoryDict.setAutoDelete(true);
81 81
82 KGlobal::locale()->insertCatalogue("timezones"); 82 KGlobal::locale()->insertCatalogue("timezones");
83 mSpacingHint = spacingHintSmall(); 83 mSpacingHint = spacingHintSmall();
84 mMarginHint = marginHintSmall(); 84 mMarginHint = marginHintSmall();
85#ifndef DESKTOP_VERSION 85#ifndef DESKTOP_VERSION
86 if ( QApplication::desktop()->height() == 480 ) 86 if ( QApplication::desktop()->height() == 480 )
87 hideButtons(); 87 hideButtons();
88#endif 88#endif
89 89 kdelibcfg = 0;
90 if ( !parent )
90 setupGlobalTab(); 91 setupGlobalTab();
92 else {
91 setupMainTab(); 93 setupMainTab();
92 // setupLocaleTab(); 94 // setupLocaleTab();
93 //setupTimeZoneTab(); 95 //setupTimeZoneTab();
94 setupTimeTab(); 96 setupTimeTab();
95 //setupLocaleDateTab(); 97 //setupLocaleDateTab();
96 setupFontsTab(); 98 setupFontsTab();
97 setupColorsTab(); 99 setupColorsTab();
98 setupViewsTab(); 100 setupViewsTab();
99 //setupSyncTab(); 101 //setupSyncTab();
100 //setupSyncAlgTab(); 102 //setupSyncAlgTab();
101 //setupPrinterTab(); 103 //setupPrinterTab();
102 //setupGroupSchedulingTab(); 104 //setupGroupSchedulingTab();
103 //setupGroupAutomationTab(); 105 //setupGroupAutomationTab();
104 106 }
105 107
106} 108}
107 109
108 110
109KOPrefsDialog::~KOPrefsDialog() 111KOPrefsDialog::~KOPrefsDialog()
110{ 112{
111} 113}
112void KOPrefsDialog::setupGlobalTab() 114void KOPrefsDialog::setupGlobalTab()
113{ 115{
114 QFrame *topFrame = addPage(i18n("Global"),0,0); 116 //QFrame *topFrame = addPage(i18n("Global"),0,0);
115 kdelibcfg = new KDEPIMConfigWidget( KPimGlobalPrefs::instance(), topFrame, "KCMKdeLibConfig" ); 117 kdelibcfg = new KDEPIMConfigWidget( KPimGlobalPrefs::instance(), this, "KCMKdeLibConfig" );
116 QVBoxLayout *topLayout = new QVBoxLayout(topFrame); 118 setMainWidget( kdelibcfg );
117 topLayout->addWidget( kdelibcfg ); 119 setCaption( i18n("KDE-Pim Global Settings"));
118 120
119 121
120} 122}
121void KOPrefsDialog::setupLocaleDateTab() 123void KOPrefsDialog::setupLocaleDateTab()
122{ 124{
123#if 0 125#if 0
124QFrame *topFrame = addPage(i18n("Date Format"),0,0); 126QFrame *topFrame = addPage(i18n("Date Format"),0,0);
125 QGridLayout *topLayout = new QGridLayout(topFrame,3,2); 127 QGridLayout *topLayout = new QGridLayout(topFrame,3,2);
126 topLayout->setSpacing(mSpacingHint); 128 topLayout->setSpacing(mSpacingHint);
127 topLayout->setMargin(mMarginHint); 129 topLayout->setMargin(mMarginHint);
128 int iii = 0; 130 int iii = 0;
129 131
130 132
131 KPrefsDialogWidRadios *syncPrefsGroup = 133 KPrefsDialogWidRadios *syncPrefsGroup =
132 addWidRadios(i18n("Date Format:"),&(KOPrefs::instance()->mPreferredDate),topFrame); 134 addWidRadios(i18n("Date Format:"),&(KOPrefs::instance()->mPreferredDate),topFrame);
133 QString format; 135 QString format;
134 if ( QApplication::desktop()->width() < 480 ) 136 if ( QApplication::desktop()->width() < 480 )
135 format = "(%d.%m.%Y)"; 137 format = "(%d.%m.%Y)";
136 else 138 else
137 format = "(%d.%m.%Y|%A %d %B %Y)"; 139 format = "(%d.%m.%Y|%A %d %B %Y)";
138 syncPrefsGroup->addRadio(i18n("24.03.2004 "+format)); 140 syncPrefsGroup->addRadio(i18n("24.03.2004 "+format));
139 if ( QApplication::desktop()->width() < 480 ) 141 if ( QApplication::desktop()->width() < 480 )
140 format = "(%m.%d.%Y)"; 142 format = "(%m.%d.%Y)";
141 else 143 else
142 format = "(%m.%d.%Y|%A %B %d %Y)"; 144 format = "(%m.%d.%Y|%A %B %d %Y)";
143 syncPrefsGroup->addRadio(i18n("03.24.2004 "+format)); 145 syncPrefsGroup->addRadio(i18n("03.24.2004 "+format));
144 if ( QApplication::desktop()->width() < 480 ) 146 if ( QApplication::desktop()->width() < 480 )
145 format = "(%Y-%m-%d)"; 147 format = "(%Y-%m-%d)";
146 else 148 else
147 format = "(%Y-%m-%d|%A %Y %B %d)"; 149 format = "(%Y-%m-%d|%A %Y %B %d)";
148 syncPrefsGroup->addRadio(i18n("2004-03-24 "+format)); 150 syncPrefsGroup->addRadio(i18n("2004-03-24 "+format));
149 syncPrefsGroup->addRadio(i18n("User defined")); 151 syncPrefsGroup->addRadio(i18n("User defined"));
150 topLayout->addMultiCellWidget( syncPrefsGroup->groupBox(),iii,iii,0,1); 152 topLayout->addMultiCellWidget( syncPrefsGroup->groupBox(),iii,iii,0,1);
151 ++iii; 153 ++iii;
152 ++iii; 154 ++iii;
153 QLabel * lab; 155 QLabel * lab;
154 mUserDateFormatLong = new QLineEdit(topFrame); 156 mUserDateFormatLong = new QLineEdit(topFrame);
155 lab = new QLabel(mUserDateFormatLong, i18n("User long date:"), topFrame); 157 lab = new QLabel(mUserDateFormatLong, i18n("User long date:"), topFrame);
156 topLayout->addWidget(lab ,iii,0); 158 topLayout->addWidget(lab ,iii,0);
157 topLayout->addWidget(mUserDateFormatLong,iii,1); 159 topLayout->addWidget(mUserDateFormatLong,iii,1);
158 ++iii; 160 ++iii;
159 mUserDateFormatShort = new QLineEdit(topFrame); 161 mUserDateFormatShort = new QLineEdit(topFrame);
160 lab = new QLabel(mUserDateFormatShort, i18n("User short date:"), topFrame); 162 lab = new QLabel(mUserDateFormatShort, i18n("User short date:"), topFrame);
161 topLayout->addWidget(lab ,iii,0); 163 topLayout->addWidget(lab ,iii,0);
162 topLayout->addWidget(mUserDateFormatShort,iii,1); 164 topLayout->addWidget(mUserDateFormatShort,iii,1);
163 ++iii; 165 ++iii;
164 lab = new QLabel( i18n("Monday 19 April 2004: %A %d %B %Y"), topFrame); 166 lab = new QLabel( i18n("Monday 19 April 2004: %A %d %B %Y"), topFrame);
165 topLayout->addMultiCellWidget(lab ,iii,iii,0,1); 167 topLayout->addMultiCellWidget(lab ,iii,iii,0,1);
166 ++iii; 168 ++iii;
167 lab = new QLabel( i18n("Mon 19.04.04: %a %d.%m.%y"), topFrame); 169 lab = new QLabel( i18n("Mon 19.04.04: %a %d.%m.%y"), topFrame);
168 topLayout->addMultiCellWidget(lab ,iii,iii,0,1); 170 topLayout->addMultiCellWidget(lab ,iii,iii,0,1);
169 ++iii; 171 ++iii;
170 lab = new QLabel( i18n("Mon, 19.Apr.04: %a, %d.%b.%y"), topFrame); 172 lab = new QLabel( i18n("Mon, 19.Apr.04: %a, %d.%b.%y"), topFrame);
171 topLayout->addMultiCellWidget(lab ,iii,iii,0,1); 173 topLayout->addMultiCellWidget(lab ,iii,iii,0,1);
172 ++iii; 174 ++iii;
173#endif 175#endif
174 176
175} 177}
176 178
177void KOPrefsDialog::setupLocaleTab() 179void KOPrefsDialog::setupLocaleTab()
178{ 180{
179#if 0 181#if 0
180 QFrame *topFrame = addPage(i18n("Locale"),0,0); 182 QFrame *topFrame = addPage(i18n("Locale"),0,0);
181 QGridLayout *topLayout = new QGridLayout(topFrame,4,2); 183 QGridLayout *topLayout = new QGridLayout(topFrame,4,2);
182 topLayout->setSpacing(mSpacingHint); 184 topLayout->setSpacing(mSpacingHint);
183 topLayout->setMargin(mMarginHint); 185 topLayout->setMargin(mMarginHint);
184 int iii = 0; 186 int iii = 0;
185 KPrefsDialogWidRadios *syncPrefsGroup = 187 KPrefsDialogWidRadios *syncPrefsGroup =
186 addWidRadios(i18n("Language:(needs restart)"),&(KOPrefs::instance()->mPreferredLanguage),topFrame); 188 addWidRadios(i18n("Language:(needs restart)"),&(KOPrefs::instance()->mPreferredLanguage),topFrame);
187 syncPrefsGroup->addRadio(i18n("English")); 189 syncPrefsGroup->addRadio(i18n("English"));
188 syncPrefsGroup->addRadio(i18n("German")); 190 syncPrefsGroup->addRadio(i18n("German"));
189 syncPrefsGroup->addRadio(i18n("French")); 191 syncPrefsGroup->addRadio(i18n("French"));
190 syncPrefsGroup->addRadio(i18n("User defined (usertranslation.txt)")); 192 syncPrefsGroup->addRadio(i18n("User defined (usertranslation.txt)"));
191 if ( QApplication::desktop()->width() < 300 ) 193 if ( QApplication::desktop()->width() < 300 )
192 ;// syncPrefsGroup->groupBox()-> setOrientation (Qt::Vertical); 194 ;// syncPrefsGroup->groupBox()-> setOrientation (Qt::Vertical);
193 topLayout->addMultiCellWidget( syncPrefsGroup->groupBox(),iii,iii,0,1); 195 topLayout->addMultiCellWidget( syncPrefsGroup->groupBox(),iii,iii,0,1);
194 ++iii; 196 ++iii;
195 197
196 syncPrefsGroup = 198 syncPrefsGroup =
197 addWidRadios(i18n("Time Format(nr):"),&(KOPrefs::instance()->mPreferredTime),topFrame); 199 addWidRadios(i18n("Time Format(nr):"),&(KOPrefs::instance()->mPreferredTime),topFrame);
198 if ( QApplication::desktop()->width() > 300 ) 200 if ( QApplication::desktop()->width() > 300 )
199 syncPrefsGroup->groupBox()-> setOrientation (Qt::Vertical); 201 syncPrefsGroup->groupBox()-> setOrientation (Qt::Vertical);
200 syncPrefsGroup->addRadio(i18n("24:00")); 202 syncPrefsGroup->addRadio(i18n("24:00"));
201 syncPrefsGroup->addRadio(i18n("12:00am")); 203 syncPrefsGroup->addRadio(i18n("12:00am"));
202 syncPrefsGroup->groupBox()-> setOrientation (Qt::Vertical); 204 syncPrefsGroup->groupBox()-> setOrientation (Qt::Vertical);
203 topLayout->addMultiCellWidget( syncPrefsGroup->groupBox(),iii,iii,0,1); 205 topLayout->addMultiCellWidget( syncPrefsGroup->groupBox(),iii,iii,0,1);
204 ++iii; 206 ++iii;
205 KPrefsDialogWidBool *sb; 207 KPrefsDialogWidBool *sb;
206 if ( QApplication::desktop()->width() < 300 ) { 208 if ( QApplication::desktop()->width() < 300 ) {
207 sb = 209 sb =
208 addWidBool(i18n("Week starts on Sunday"), 210 addWidBool(i18n("Week starts on Sunday"),
209 &(KOPrefs::instance()->mWeekStartsOnSunday),topFrame); 211 &(KOPrefs::instance()->mWeekStartsOnSunday),topFrame);
210 topLayout->addMultiCellWidget(sb->checkBox(), iii,iii,0,1); 212 topLayout->addMultiCellWidget(sb->checkBox(), iii,iii,0,1);
211 ++iii; 213 ++iii;
212 sb = 214 sb =
213 addWidBool(i18n("Use short date in (WN/E) view"), 215 addWidBool(i18n("Use short date in (WN/E) view"),
214 &(KOPrefs::instance()->mShortDateInViewer),topFrame); 216 &(KOPrefs::instance()->mShortDateInViewer),topFrame);
215 topLayout->addMultiCellWidget(sb->checkBox(), iii,iii,0,1); 217 topLayout->addMultiCellWidget(sb->checkBox(), iii,iii,0,1);
216 } 218 }
217 else { 219 else {
218 QWidget * hb = new QWidget( topFrame ); 220 QWidget * hb = new QWidget( topFrame );
219 QHBoxLayout *hbLayout = new QHBoxLayout(hb); 221 QHBoxLayout *hbLayout = new QHBoxLayout(hb);
220 sb = 222 sb =
221 addWidBool(i18n("Week starts on Sunday"), 223 addWidBool(i18n("Week starts on Sunday"),
222 &(KOPrefs::instance()->mWeekStartsOnSunday),hb); 224 &(KOPrefs::instance()->mWeekStartsOnSunday),hb);
223 hbLayout->addWidget(sb->checkBox() ); 225 hbLayout->addWidget(sb->checkBox() );
224 sb = 226 sb =
225 addWidBool(i18n("Use short date in (WN/E) view"), 227 addWidBool(i18n("Use short date in (WN/E) view"),
226 &(KOPrefs::instance()->mShortDateInViewer),hb); 228 &(KOPrefs::instance()->mShortDateInViewer),hb);
227 hbLayout->addWidget(sb->checkBox() ); 229 hbLayout->addWidget(sb->checkBox() );
228 topLayout->addMultiCellWidget(hb, iii,iii,0,1); 230 topLayout->addMultiCellWidget(hb, iii,iii,0,1);
229 231
230 } 232 }
231 // KPrefsDialogWidBool *sb; //#ifndef DESKTOP_VERSION 233 // KPrefsDialogWidBool *sb; //#ifndef DESKTOP_VERSION
232#if 0 234#if 0
233 ++iii; 235 ++iii;
234 sb = 236 sb =
235 addWidBool(i18n("Quick load/save (w/o Unicode)"), 237 addWidBool(i18n("Quick load/save (w/o Unicode)"),
236 &(KOPrefs::instance()->mUseQuicksave),topFrame); 238 &(KOPrefs::instance()->mUseQuicksave),topFrame);
237 topLayout->addMultiCellWidget(sb->checkBox(), iii,iii,0,1); 239 topLayout->addMultiCellWidget(sb->checkBox(), iii,iii,0,1);
238#endif 240#endif
239#endif 241#endif
240} 242}
241void KOPrefsDialog::showSyncPage() 243void KOPrefsDialog::showSyncPage()
242{ 244{
243 showPage ( 0 ) ; 245 // showPage ( 0 ) ;
244 kdelibcfg->showTimeZoneTab() ; 246 kdelibcfg->showTimeZoneTab() ;
245 247
246} 248}
247void KOPrefsDialog::setupSyncAlgTab() 249void KOPrefsDialog::setupSyncAlgTab()
248{ 250{
249#if 0 251#if 0
250 QLabel * lab; 252 QLabel * lab;
251 QFrame *topFrame = addPage(i18n("Sync Prefs"),0,0); 253 QFrame *topFrame = addPage(i18n("Sync Prefs"),0,0);
252 mSetupSyncAlgTab = topFrame; 254 mSetupSyncAlgTab = topFrame;
253 QGridLayout *topLayout = new QGridLayout(topFrame,6,2); 255 QGridLayout *topLayout = new QGridLayout(topFrame,6,2);
254 topLayout->setSpacing(mSpacingHint); 256 topLayout->setSpacing(mSpacingHint);
255 topLayout->setMargin(mMarginHint); 257 topLayout->setMargin(mMarginHint);
256 int iii = 0; 258 int iii = 0;
257 259
258 KPrefsDialogWidBool *sb = 260 KPrefsDialogWidBool *sb =
259 addWidBool(i18n("Ask for preferences before syncing"), 261 addWidBool(i18n("Ask for preferences before syncing"),
260 &(KOPrefs::instance()->mAskForPreferences),topFrame); 262 &(KOPrefs::instance()->mAskForPreferences),topFrame);
261 topLayout->addMultiCellWidget(sb->checkBox(), iii,iii,0,1); 263 topLayout->addMultiCellWidget(sb->checkBox(), iii,iii,0,1);
262 264
263 ++iii; 265 ++iii;
264 266
265 KPrefsDialogWidRadios *syncPrefsGroup = 267 KPrefsDialogWidRadios *syncPrefsGroup =
266 addWidRadios(i18n("Sync preferences:"),&(KOPrefs::instance()->mSyncAlgoPrefs), 268 addWidRadios(i18n("Sync preferences:"),&(KOPrefs::instance()->mSyncAlgoPrefs),
267 topFrame); 269 topFrame);
268 syncPrefsGroup->addRadio(i18n("Take local entry on conflict")); 270 syncPrefsGroup->addRadio(i18n("Take local entry on conflict"));
269 syncPrefsGroup->addRadio(i18n("Take remote entry on conflict")); 271 syncPrefsGroup->addRadio(i18n("Take remote entry on conflict"));
270 syncPrefsGroup->addRadio(i18n("Take newest entry on conflict")); 272 syncPrefsGroup->addRadio(i18n("Take newest entry on conflict"));
271 syncPrefsGroup->addRadio(i18n("Ask for every entry on conflict")); 273 syncPrefsGroup->addRadio(i18n("Ask for every entry on conflict"));
272 syncPrefsGroup->addRadio(i18n("Force take local entry always")); 274 syncPrefsGroup->addRadio(i18n("Force take local entry always"));
273 syncPrefsGroup->addRadio(i18n("Force take remote entry always")); 275 syncPrefsGroup->addRadio(i18n("Force take remote entry always"));
274 topLayout->addMultiCellWidget( syncPrefsGroup->groupBox(),iii,iii,0,1); 276 topLayout->addMultiCellWidget( syncPrefsGroup->groupBox(),iii,iii,0,1);
275 ++iii; 277 ++iii;
276 sb = 278 sb =
277 addWidBool(i18n("Show summary after syncing"), 279 addWidBool(i18n("Show summary after syncing"),
278 &(KOPrefs::instance()->mShowSyncSummary),topFrame); 280 &(KOPrefs::instance()->mShowSyncSummary),topFrame);
279 topLayout->addMultiCellWidget(sb->checkBox(), iii,iii,0,1); 281 topLayout->addMultiCellWidget(sb->checkBox(), iii,iii,0,1);
280 282
281 ++iii; 283 ++iii;
282#endif 284#endif
283 285
284 286
285 287
286} 288}
287 289
288 290
289void KOPrefsDialog::setupSyncTab() 291void KOPrefsDialog::setupSyncTab()
290{ 292{
291#if 0 293#if 0
292 QLabel * lab; 294 QLabel * lab;
293 QFrame *topFrame = addPage(i18n("Sync Network"),0,0); 295 QFrame *topFrame = addPage(i18n("Sync Network"),0,0);
294 QGridLayout *topLayout = new QGridLayout(topFrame,6,2); 296 QGridLayout *topLayout = new QGridLayout(topFrame,6,2);
295 topLayout->setSpacing(mSpacingHint); 297 topLayout->setSpacing(mSpacingHint);
296 topLayout->setMargin(mMarginHint); 298 topLayout->setMargin(mMarginHint);
297 lab = new QLabel(i18n("Remote syncing (via ssh/scp)\nnetwork settings "), topFrame); 299 lab = new QLabel(i18n("Remote syncing (via ssh/scp)\nnetwork settings "), topFrame);
298 int iii = 0; 300 int iii = 0;
299 topLayout->addMultiCellWidget(lab , iii,iii,0,1); 301 topLayout->addMultiCellWidget(lab , iii,iii,0,1);
300 ++iii; 302 ++iii;
301 303
302 mRemoteIPEdit = new QLineEdit(topFrame); 304 mRemoteIPEdit = new QLineEdit(topFrame);
303 lab = new QLabel(mRemoteIPEdit, i18n("Remote IP:"), topFrame); 305 lab = new QLabel(mRemoteIPEdit, i18n("Remote IP:"), topFrame);
304 topLayout->addWidget(lab ,iii,0); 306 topLayout->addWidget(lab ,iii,0);
305 topLayout->addWidget(mRemoteIPEdit,iii,1); 307 topLayout->addWidget(mRemoteIPEdit,iii,1);
306 ++iii; 308 ++iii;
307 mRemoteUser = new QLineEdit(topFrame); 309 mRemoteUser = new QLineEdit(topFrame);
@@ -1397,237 +1399,241 @@ void KOPrefsDialog::setupGroupAutomationTab()
1397 addWidRadios(i18n("Auto Send Refresh"), 1399 addWidRadios(i18n("Auto Send Refresh"),
1398 &(KOPrefs::instance()->mIMIPAutoRefresh),topFrame); 1400 &(KOPrefs::instance()->mIMIPAutoRefresh),topFrame);
1399 autoRefreshGroup->addRadio(i18n("Never")); 1401 autoRefreshGroup->addRadio(i18n("Never"));
1400 autoRefreshGroup->addRadio(i18n("If attendee is in addressbook")); 1402 autoRefreshGroup->addRadio(i18n("If attendee is in addressbook"));
1401 //autoRefreshGroup->addRadio(i18n("selected emails")); 1403 //autoRefreshGroup->addRadio(i18n("selected emails"));
1402 topLayout->addMultiCellWidget(autoRefreshGroup->groupBox(),0,0,0,0); 1404 topLayout->addMultiCellWidget(autoRefreshGroup->groupBox(),0,0,0,0);
1403 1405
1404 KPrefsDialogWidRadios *autoInsertGroup = 1406 KPrefsDialogWidRadios *autoInsertGroup =
1405 addWidRadios(i18n("Auto Insert IMIP Replies"), 1407 addWidRadios(i18n("Auto Insert IMIP Replies"),
1406 &(KOPrefs::instance()->mIMIPAutoInsertReply),topFrame); 1408 &(KOPrefs::instance()->mIMIPAutoInsertReply),topFrame);
1407 autoInsertGroup->addRadio(i18n("Never")); 1409 autoInsertGroup->addRadio(i18n("Never"));
1408 autoInsertGroup->addRadio(i18n("If attendee is in addressbook")); 1410 autoInsertGroup->addRadio(i18n("If attendee is in addressbook"));
1409 //autoInsertGroup->addRadio(i18n("selected emails")); 1411 //autoInsertGroup->addRadio(i18n("selected emails"));
1410 topLayout->addMultiCellWidget(autoInsertGroup->groupBox(),1,1,0,0); 1412 topLayout->addMultiCellWidget(autoInsertGroup->groupBox(),1,1,0,0);
1411 1413
1412 KPrefsDialogWidRadios *autoRequestGroup = 1414 KPrefsDialogWidRadios *autoRequestGroup =
1413 addWidRadios(i18n("Auto Insert IMIP Requests"), 1415 addWidRadios(i18n("Auto Insert IMIP Requests"),
1414 &(KOPrefs::instance()->mIMIPAutoInsertRequest),topFrame); 1416 &(KOPrefs::instance()->mIMIPAutoInsertRequest),topFrame);
1415 autoRequestGroup->addRadio(i18n("Never")); 1417 autoRequestGroup->addRadio(i18n("Never"));
1416 autoRequestGroup->addRadio(i18n("If organizer is in addressbook")); 1418 autoRequestGroup->addRadio(i18n("If organizer is in addressbook"));
1417 //autoInsertGroup->addRadio(i18n("selected emails")); 1419 //autoInsertGroup->addRadio(i18n("selected emails"));
1418 topLayout->addMultiCellWidget(autoRequestGroup->groupBox(),2,2,0,0); 1420 topLayout->addMultiCellWidget(autoRequestGroup->groupBox(),2,2,0,0);
1419 1421
1420 KPrefsDialogWidRadios *autoFreeBusyGroup = 1422 KPrefsDialogWidRadios *autoFreeBusyGroup =
1421 addWidRadios(i18n("Auto Send FreeBusy Information"), 1423 addWidRadios(i18n("Auto Send FreeBusy Information"),
1422 &(KOPrefs::instance()->mIMIPAutoFreeBusy),topFrame); 1424 &(KOPrefs::instance()->mIMIPAutoFreeBusy),topFrame);
1423 autoFreeBusyGroup->addRadio(i18n("Never")); 1425 autoFreeBusyGroup->addRadio(i18n("Never"));
1424 autoFreeBusyGroup->addRadio(i18n("If requested from an email in addressbook")); 1426 autoFreeBusyGroup->addRadio(i18n("If requested from an email in addressbook"));
1425 //autoFreeBusyGroup->addRadio(i18n("selected emails")); 1427 //autoFreeBusyGroup->addRadio(i18n("selected emails"));
1426 topLayout->addMultiCellWidget(autoFreeBusyGroup->groupBox(),3,3,0,0); 1428 topLayout->addMultiCellWidget(autoFreeBusyGroup->groupBox(),3,3,0,0);
1427 1429
1428 KPrefsDialogWidRadios *autoFreeBusyReplyGroup = 1430 KPrefsDialogWidRadios *autoFreeBusyReplyGroup =
1429 addWidRadios(i18n("Auto Save FreeBusy Replies"), 1431 addWidRadios(i18n("Auto Save FreeBusy Replies"),
1430 &(KOPrefs::instance()->mIMIPAutoFreeBusyReply),topFrame); 1432 &(KOPrefs::instance()->mIMIPAutoFreeBusyReply),topFrame);
1431 autoFreeBusyReplyGroup->addRadio(i18n("Never")); 1433 autoFreeBusyReplyGroup->addRadio(i18n("Never"));
1432 autoFreeBusyReplyGroup->addRadio(i18n("If attendee is in addressbook")); 1434 autoFreeBusyReplyGroup->addRadio(i18n("If attendee is in addressbook"));
1433 //autoFreeBusyGroup->addRadio(i18n("selected emails")); 1435 //autoFreeBusyGroup->addRadio(i18n("selected emails"));
1434 topLayout->addMultiCellWidget(autoFreeBusyReplyGroup->groupBox(),4,4,0,0); 1436 topLayout->addMultiCellWidget(autoFreeBusyReplyGroup->groupBox(),4,4,0,0);
1435} 1437}
1436 1438
1437void KOPrefsDialog::showPrinterTab() 1439void KOPrefsDialog::showPrinterTab()
1438{ 1440{
1439 showPage(pageIndex(mPrinterTab)); 1441 showPage(pageIndex(mPrinterTab));
1440} 1442}
1441 1443
1442 1444
1443void KOPrefsDialog::setCombo(QComboBox *combo, const QString & text, 1445void KOPrefsDialog::setCombo(QComboBox *combo, const QString & text,
1444 const QStringList *tags) 1446 const QStringList *tags)
1445{ 1447{
1446 if (tags) { 1448 if (tags) {
1447 int i = tags->findIndex(text); 1449 int i = tags->findIndex(text);
1448 if (i > 0) combo->setCurrentItem(i); 1450 if (i > 0) combo->setCurrentItem(i);
1449 } else { 1451 } else {
1450 for(int i=0;i<combo->count();++i) { 1452 for(int i=0;i<combo->count();++i) {
1451 if (combo->text(i) == text) { 1453 if (combo->text(i) == text) {
1452 combo->setCurrentItem(i); 1454 combo->setCurrentItem(i);
1453 break; 1455 break;
1454 } 1456 }
1455 } 1457 }
1456 } 1458 }
1457} 1459}
1458 1460
1459void KOPrefsDialog::usrReadConfig() 1461void KOPrefsDialog::usrReadConfig()
1460{ 1462{
1461 kdelibcfg->readConfig(); 1463 if ( kdelibcfg )
1464 kdelibcfg->readConfig();
1465 else {
1462 mNameEdit->setText(KOPrefs::instance()->fullName()); 1466 mNameEdit->setText(KOPrefs::instance()->fullName());
1463 mEmailEdit->setText(KOPrefs::instance()->email()); 1467 mEmailEdit->setText(KOPrefs::instance()->email());
1464 1468
1465 mAutoSaveIntervalSpin->setValue(KOPrefs::instance()->mAutoSaveInterval); 1469 mAutoSaveIntervalSpin->setValue(KOPrefs::instance()->mAutoSaveInterval);
1466 // QDate current ( 2001, 1,1); 1470 // QDate current ( 2001, 1,1);
1467 //mStartDateSavingEdit->setDate(current.addDays(KOPrefs::instance()->mDaylightsavingStart-1)); 1471 //mStartDateSavingEdit->setDate(current.addDays(KOPrefs::instance()->mDaylightsavingStart-1));
1468 //mEndDateSavingEdit->setDate(current.addDays(KOPrefs::instance()->mDaylightsavingEnd-1)); 1472 //mEndDateSavingEdit->setDate(current.addDays(KOPrefs::instance()->mDaylightsavingEnd-1));
1469 //setCombo(mTimeZoneCombo,i18n(KOPrefs::instance()->mTimeZoneId)); 1473 //setCombo(mTimeZoneCombo,i18n(KOPrefs::instance()->mTimeZoneId));
1470 //mTimezoneOffsetSpin->setValue( KOPrefs::instance()->mTimeZoneOffset); 1474 //mTimezoneOffsetSpin->setValue( KOPrefs::instance()->mTimeZoneOffset);
1471 mStartTimeSpin->setValue(KOPrefs::instance()->mStartTime); 1475 mStartTimeSpin->setValue(KOPrefs::instance()->mStartTime);
1472 mDefaultDurationSpin->setValue(KOPrefs::instance()->mDefaultDuration); 1476 mDefaultDurationSpin->setValue(KOPrefs::instance()->mDefaultDuration);
1473 mAlarmTimeCombo->setCurrentItem(KOPrefs::instance()->mAlarmTime); 1477 mAlarmTimeCombo->setCurrentItem(KOPrefs::instance()->mAlarmTime);
1474 // if (KOPrefs::instance()->mAllDaySize > 47 ) 1478 // if (KOPrefs::instance()->mAllDaySize > 47 )
1475 // KOPrefs::instance()->mAllDaySize = KOPrefs::instance()->mAllDaySize/2; 1479 // KOPrefs::instance()->mAllDaySize = KOPrefs::instance()->mAllDaySize/2;
1476 //mHourSizeSlider->setValue(KOPrefs::instance()->mAllDaySize); 1480 //mHourSizeSlider->setValue(KOPrefs::instance()->mAllDaySize);
1477 1481
1478 mNextXDaysSpin->setValue(KOPrefs::instance()->mNextXDays); 1482 mNextXDaysSpin->setValue(KOPrefs::instance()->mNextXDays);
1479 mWhatsNextSpin->setValue(KOPrefs::instance()->mWhatsNextDays); 1483 mWhatsNextSpin->setValue(KOPrefs::instance()->mWhatsNextDays);
1480 mPrioSpin->setValue(KOPrefs::instance()->mWhatsNextPrios); 1484 mPrioSpin->setValue(KOPrefs::instance()->mWhatsNextPrios);
1481 // mAMails->clear(); 1485 // mAMails->clear();
1482 // for ( QStringList::Iterator it = KOPrefs::instance()->mAdditionalMails.begin(); 1486 // for ( QStringList::Iterator it = KOPrefs::instance()->mAdditionalMails.begin();
1483// it != KOPrefs::instance()->mAdditionalMails.end(); ++it ) { 1487// it != KOPrefs::instance()->mAdditionalMails.end(); ++it ) {
1484// QListViewItem *item = new QListViewItem(mAMails); 1488// QListViewItem *item = new QListViewItem(mAMails);
1485// item->setText(0,*it); 1489// item->setText(0,*it);
1486// mAMails->insertItem(item); 1490// mAMails->insertItem(item);
1487// } 1491// }
1488 1492
1489 // mRemoteIPEdit->setText(KOPrefs::instance()->mRemoteIP); 1493 // mRemoteIPEdit->setText(KOPrefs::instance()->mRemoteIP);
1490 //mRemoteUser->setText(KOPrefs::instance()->mRemoteUser); 1494 //mRemoteUser->setText(KOPrefs::instance()->mRemoteUser);
1491 //mRemotePassWd->setText(KOPrefs::instance()->mRemotePassWd); 1495 //mRemotePassWd->setText(KOPrefs::instance()->mRemotePassWd);
1492 //mRemoteFile->setText(KOPrefs::instance()->mRemoteFile); 1496 //mRemoteFile->setText(KOPrefs::instance()->mRemoteFile);
1493 1497
1494 //that soundmLocalTempFile->setText(KOPrefs::instance()->mLocalTempFile); 1498 //that soundmLocalTempFile->setText(KOPrefs::instance()->mLocalTempFile);
1495 mDefaultAlarmFile->setText(KOPrefs::instance()->mDefaultAlarmFile); 1499 mDefaultAlarmFile->setText(KOPrefs::instance()->mDefaultAlarmFile);
1496 //QString dummy = KOPrefs::instance()->mUserDateFormatLong; 1500 //QString dummy = KOPrefs::instance()->mUserDateFormatLong;
1497 //mUserDateFormatLong->setText(dummy.replace( QRegExp("K"), QString(",") )); 1501 //mUserDateFormatLong->setText(dummy.replace( QRegExp("K"), QString(",") ));
1498 //dummy = KOPrefs::instance()->mUserDateFormatShort; 1502 //dummy = KOPrefs::instance()->mUserDateFormatShort;
1499 //mUserDateFormatShort->setText(dummy.replace( QRegExp("K"), QString(",") )); 1503 //mUserDateFormatShort->setText(dummy.replace( QRegExp("K"), QString(",") ));
1500 updateCategories(); 1504 updateCategories();
1501 mAlarmPlayBeeps->setValue(KOPrefs::instance()->mAlarmPlayBeeps ); 1505 mAlarmPlayBeeps->setValue(KOPrefs::instance()->mAlarmPlayBeeps );
1502 mAlarmSuspendTime->setValue(KOPrefs::instance()->mAlarmSuspendTime ); 1506 mAlarmSuspendTime->setValue(KOPrefs::instance()->mAlarmSuspendTime );
1503 mAlarmSuspendCount->setValue(KOPrefs::instance()->mAlarmSuspendCount ); 1507 mAlarmSuspendCount->setValue(KOPrefs::instance()->mAlarmSuspendCount );
1504 mAlarmBeepInterval->setValue(KOPrefs::instance()->mAlarmBeepInterval ); 1508 mAlarmBeepInterval->setValue(KOPrefs::instance()->mAlarmBeepInterval );
1509 }
1505} 1510}
1506 1511
1507 1512
1508void KOPrefsDialog::usrWriteConfig() 1513void KOPrefsDialog::usrWriteConfig()
1509{ 1514{
1510 1515 if ( kdelibcfg )
1511 kdelibcfg->writeConfig(); 1516 kdelibcfg->writeConfig();
1517 else {
1512 // KOPrefs::instance()->mRemoteIP = mRemoteIPEdit->text(); 1518 // KOPrefs::instance()->mRemoteIP = mRemoteIPEdit->text();
1513 //KOPrefs::instance()->mRemoteUser = mRemoteUser->text(); 1519 //KOPrefs::instance()->mRemoteUser = mRemoteUser->text();
1514 //KOPrefs::instance()->mRemotePassWd = mRemotePassWd->text(); 1520 //KOPrefs::instance()->mRemotePassWd = mRemotePassWd->text();
1515 //KOPrefs::instance()->mRemoteFile= mRemoteFile->text(); 1521 //KOPrefs::instance()->mRemoteFile= mRemoteFile->text();
1516 //KOPrefs::instance()->mLocalTempFile =mLocalTempFile->text(); 1522 //KOPrefs::instance()->mLocalTempFile =mLocalTempFile->text();
1517 KOPrefs::instance()->mDefaultAlarmFile =mDefaultAlarmFile->text(); 1523 KOPrefs::instance()->mDefaultAlarmFile =mDefaultAlarmFile->text();
1518 1524
1519 //KOPrefs::instance()->mUserDateFormatShort = mUserDateFormatShort->text().replace( QRegExp(","), QString("K") ); 1525 //KOPrefs::instance()->mUserDateFormatShort = mUserDateFormatShort->text().replace( QRegExp(","), QString("K") );
1520 //KOPrefs::instance()->mUserDateFormatLong = mUserDateFormatLong->text().replace( QRegExp(","), QString("K") ); 1526 //KOPrefs::instance()->mUserDateFormatLong = mUserDateFormatLong->text().replace( QRegExp(","), QString("K") );
1521 KOPrefs::instance()->setFullName(mNameEdit->text()); 1527 KOPrefs::instance()->setFullName(mNameEdit->text());
1522 KOPrefs::instance()->setEmail(mEmailEdit->text()); 1528 KOPrefs::instance()->setEmail(mEmailEdit->text());
1523 1529
1524 KOPrefs::instance()->mAutoSaveInterval = mAutoSaveIntervalSpin->value(); 1530 KOPrefs::instance()->mAutoSaveInterval = mAutoSaveIntervalSpin->value();
1525 1531
1526 // KOPrefs::instance()->mTimeZoneId = mTimeZoneCombo->currentText(); 1532 // KOPrefs::instance()->mTimeZoneId = mTimeZoneCombo->currentText();
1527 //QDate date; 1533 //QDate date;
1528 //date = mStartDateSavingEdit->date(); 1534 //date = mStartDateSavingEdit->date();
1529 //int sub = 0; 1535 //int sub = 0;
1530 //if ( QDate::leapYear( date.year() ) && date.dayOfYear() > 59 ) 1536 //if ( QDate::leapYear( date.year() ) && date.dayOfYear() > 59 )
1531 // sub = 1; 1537 // sub = 1;
1532// KOPrefs::instance()->mDaylightsavingStart = date.dayOfYear()-sub; 1538// KOPrefs::instance()->mDaylightsavingStart = date.dayOfYear()-sub;
1533// date = mEndDateSavingEdit->date(); 1539// date = mEndDateSavingEdit->date();
1534// if ( QDate::leapYear( date.year() ) && date.dayOfYear() > 59 ) 1540// if ( QDate::leapYear( date.year() ) && date.dayOfYear() > 59 )
1535// sub = 1; 1541// sub = 1;
1536// else 1542// else
1537// sub = 0; 1543// sub = 0;
1538// KOPrefs::instance()->mDaylightsavingEnd = date.dayOfYear()-sub; 1544// KOPrefs::instance()->mDaylightsavingEnd = date.dayOfYear()-sub;
1539// // KOPrefs::instance()->mTimeZoneOffset = mTimezoneOffsetSpin->value(); 1545// // KOPrefs::instance()->mTimeZoneOffset = mTimezoneOffsetSpin->value();
1540 1546
1541 KOPrefs::instance()->mStartTime = mStartTimeSpin->value(); 1547 KOPrefs::instance()->mStartTime = mStartTimeSpin->value();
1542 KOPrefs::instance()->mDefaultDuration = mDefaultDurationSpin->value(); 1548 KOPrefs::instance()->mDefaultDuration = mDefaultDurationSpin->value();
1543 KOPrefs::instance()->mAlarmTime = mAlarmTimeCombo->currentItem(); 1549 KOPrefs::instance()->mAlarmTime = mAlarmTimeCombo->currentItem();
1544 1550
1545 //KOPrefs::instance()->mAllDaySize = mHourSizeSlider->value(); 1551 //KOPrefs::instance()->mAllDaySize = mHourSizeSlider->value();
1546 1552
1547 QDictIterator<QColor> it(mCategoryDict); 1553 QDictIterator<QColor> it(mCategoryDict);
1548 while (it.current()) { 1554 while (it.current()) {
1549 KOPrefs::instance()->setCategoryColor(it.currentKey(),*it.current()); 1555 KOPrefs::instance()->setCategoryColor(it.currentKey(),*it.current());
1550 ++it; 1556 ++it;
1551 } 1557 }
1552 1558
1553 KOPrefs::instance()->mNextXDays = mNextXDaysSpin->value(); 1559 KOPrefs::instance()->mNextXDays = mNextXDaysSpin->value();
1554 KOPrefs::instance()->mWhatsNextDays = mWhatsNextSpin->value(); 1560 KOPrefs::instance()->mWhatsNextDays = mWhatsNextSpin->value();
1555 KOPrefs::instance()->mWhatsNextPrios = mPrioSpin->value(); 1561 KOPrefs::instance()->mWhatsNextPrios = mPrioSpin->value();
1556 1562
1557 KOPrefs::instance()->mAdditionalMails.clear(); 1563 KOPrefs::instance()->mAdditionalMails.clear();
1558 // QListViewItem *item; 1564 // QListViewItem *item;
1559 // item = mAMails->firstChild(); 1565 // item = mAMails->firstChild();
1560 // while (item) 1566 // while (item)
1561 // { 1567 // {
1562 // KOPrefs::instance()->mAdditionalMails.append( item->text(0) ); 1568 // KOPrefs::instance()->mAdditionalMails.append( item->text(0) );
1563 // item = item->nextSibling(); 1569 // item = item->nextSibling();
1564 // } 1570 // }
1565 KOPrefs::instance()->mAlarmPlayBeeps = mAlarmPlayBeeps->value(); 1571 KOPrefs::instance()->mAlarmPlayBeeps = mAlarmPlayBeeps->value();
1566 KOPrefs::instance()->mAlarmSuspendTime = mAlarmSuspendTime->value() ; 1572 KOPrefs::instance()->mAlarmSuspendTime = mAlarmSuspendTime->value() ;
1567 KOPrefs::instance()->mAlarmSuspendCount= mAlarmSuspendCount->value() ; 1573 KOPrefs::instance()->mAlarmSuspendCount= mAlarmSuspendCount->value() ;
1568 KOPrefs::instance()->mAlarmBeepInterval= mAlarmBeepInterval->value() ; 1574 KOPrefs::instance()->mAlarmBeepInterval= mAlarmBeepInterval->value() ;
1569 1575 }
1570} 1576}
1571 1577
1572void KOPrefsDialog::updateCategories() 1578void KOPrefsDialog::updateCategories()
1573{ 1579{
1574 mCategoryCombo->clear(); 1580 mCategoryCombo->clear();
1575 mCategoryDict.clear(); 1581 mCategoryDict.clear();
1576 mCategoryCombo->insertStringList(KOPrefs::instance()->mCustomCategories); 1582 mCategoryCombo->insertStringList(KOPrefs::instance()->mCustomCategories);
1577 updateCategoryColor(); 1583 updateCategoryColor();
1578} 1584}
1579 1585
1580void KOPrefsDialog::warningGroupScheduling() 1586void KOPrefsDialog::warningGroupScheduling()
1581{ 1587{
1582 warningExperimental(mEnableGroupScheduling->checkBox()->isChecked()); 1588 warningExperimental(mEnableGroupScheduling->checkBox()->isChecked());
1583} 1589}
1584 1590
1585void KOPrefsDialog::warningProjectView() 1591void KOPrefsDialog::warningProjectView()
1586{ 1592{
1587 warningExperimental(mEnableProjectView->checkBox()->isChecked()); 1593 warningExperimental(mEnableProjectView->checkBox()->isChecked());
1588} 1594}
1589 1595
1590void KOPrefsDialog::warningExperimental(bool on) 1596void KOPrefsDialog::warningExperimental(bool on)
1591{ 1597{
1592 if (on) { 1598 if (on) {
1593 KMessageBox::information(this,i18n("This is an experimental feature. " 1599 KMessageBox::information(this,i18n("This is an experimental feature. "
1594 "It may not work, it may do nothing useful and it may cause data loss. " 1600 "It may not work, it may do nothing useful and it may cause data loss. "
1595 "Use with care.\n" 1601 "Use with care.\n"
1596 "You have to restart KOrganizer for this setting to take effect.")); 1602 "You have to restart KOrganizer for this setting to take effect."));
1597 } else { 1603 } else {
1598 KMessageBox::information(this, 1604 KMessageBox::information(this,
1599 i18n("You have to restart KOrganizer for this setting to take effect.")); 1605 i18n("You have to restart KOrganizer for this setting to take effect."));
1600 } 1606 }
1601} 1607}
1602 1608
1603void KOPrefsDialog::toggleEmailSettings(bool on) 1609void KOPrefsDialog::toggleEmailSettings(bool on)
1604{ 1610{
1605 if (on) { 1611 if (on) {
1606 mEmailEdit->setEnabled(false); 1612 mEmailEdit->setEnabled(false);
1607 mNameEdit->setEnabled(false); 1613 mNameEdit->setEnabled(false);
1608 mEmailLabel->setEnabled(false); 1614 mEmailLabel->setEnabled(false);
1609 mNameLabel->setEnabled(false); 1615 mNameLabel->setEnabled(false);
1610 1616
1611 KEMailSettings settings; 1617 KEMailSettings settings;
1612 mNameEdit->setText(settings.getSetting(KEMailSettings::RealName)); 1618 mNameEdit->setText(settings.getSetting(KEMailSettings::RealName));
1613 mEmailEdit->setText(settings.getSetting(KEMailSettings::EmailAddress)); 1619 mEmailEdit->setText(settings.getSetting(KEMailSettings::EmailAddress));
1614 } else { 1620 } else {
1615 mEmailEdit->setEnabled(true); 1621 mEmailEdit->setEnabled(true);
1616 mNameEdit->setEnabled(true); 1622 mNameEdit->setEnabled(true);
1617 mEmailLabel->setEnabled(true); 1623 mEmailLabel->setEnabled(true);
1618 mNameLabel->setEnabled(true); 1624 mNameLabel->setEnabled(true);
1619 } 1625 }
1620} 1626}
1621 1627
1622void KOPrefsDialog::addItem() 1628void KOPrefsDialog::addItem()
1623{ 1629{
1624 // aEmailsEdit->setEnabled(true); 1630 // aEmailsEdit->setEnabled(true);
1625// QListViewItem *item = new QListViewItem(mAMails); 1631// QListViewItem *item = new QListViewItem(mAMails);
1626// mAMails->insertItem(item); 1632// mAMails->insertItem(item);
1627// mAMails->setSelected(item,true); 1633// mAMails->setSelected(item,true);
1628// aEmailsEdit->setText(i18n("(EmptyEmail)")); 1634// aEmailsEdit->setText(i18n("(EmptyEmail)"));
1629} 1635}
1630 1636
1631void KOPrefsDialog::removeItem() 1637void KOPrefsDialog::removeItem()
1632{ 1638{
1633// QListViewItem *item; 1639// QListViewItem *item;
diff --git a/korganizer/mainwindow.cpp b/korganizer/mainwindow.cpp
index 25e76ee..2c04852 100644
--- a/korganizer/mainwindow.cpp
+++ b/korganizer/mainwindow.cpp
@@ -663,132 +663,137 @@ void MainWindow::initActions()
663 menuBar->insertItem( i18n("AgendaSize"),configureAgendaMenu ); 663 menuBar->insertItem( i18n("AgendaSize"),configureAgendaMenu );
664 menuBar->insertItem( i18n("Toolbar"),configureToolBarMenu ); 664 menuBar->insertItem( i18n("Toolbar"),configureToolBarMenu );
665 menuBar->insertItem( i18n("Filter"),selectFilterMenu ); 665 menuBar->insertItem( i18n("Filter"),selectFilterMenu );
666 menuBar->insertItem( i18n("Help"), helpMenu ); 666 menuBar->insertItem( i18n("Help"), helpMenu );
667 //menuBar1->setMaximumWidth( menuBar1->sizeHint().width() ); 667 //menuBar1->setMaximumWidth( menuBar1->sizeHint().width() );
668 menuBar1->setMaximumSize( menuBar1->sizeHint( )); 668 menuBar1->setMaximumSize( menuBar1->sizeHint( ));
669 } 669 }
670 connect ( selectFilterMenu, SIGNAL( activated ( int ) ), this, SLOT (selectFilter( int ) ) ); 670 connect ( selectFilterMenu, SIGNAL( activated ( int ) ), this, SLOT (selectFilter( int ) ) );
671 connect ( selectFilterMenu, SIGNAL( aboutToShow() ), this, SLOT (fillFilterMenu() ) ); 671 connect ( selectFilterMenu, SIGNAL( aboutToShow() ), this, SLOT (fillFilterMenu() ) );
672 672
673 673
674 mWeekBgColor = iconToolBar->backgroundColor(); 674 mWeekBgColor = iconToolBar->backgroundColor();
675 mWeekPixmap.resize( pixWid , pixHei ); 675 mWeekPixmap.resize( pixWid , pixHei );
676 mWeekPixmap.fill( mWeekBgColor ); 676 mWeekPixmap.fill( mWeekBgColor );
677 icon = mWeekPixmap; 677 icon = mWeekPixmap;
678 mWeekAction = new QAction( i18n("Select week number"),icon, i18n("Select week number"), 0, this ); 678 mWeekAction = new QAction( i18n("Select week number"),icon, i18n("Select week number"), 0, this );
679 if ( p-> mShowIconWeekNum ) 679 if ( p-> mShowIconWeekNum )
680 mWeekAction->addTo( iconToolBar ); 680 mWeekAction->addTo( iconToolBar );
681 mWeekFont = font(); 681 mWeekFont = font();
682 682
683 int fontPoint = mWeekFont.pointSize(); 683 int fontPoint = mWeekFont.pointSize();
684 QFontMetrics f( mWeekFont ); 684 QFontMetrics f( mWeekFont );
685 int fontWid = f.width( "30" ); 685 int fontWid = f.width( "30" );
686 while ( fontWid > pixWid ) { 686 while ( fontWid > pixWid ) {
687 --fontPoint; 687 --fontPoint;
688 mWeekFont.setPointSize( fontPoint ); 688 mWeekFont.setPointSize( fontPoint );
689 QFontMetrics f( mWeekFont ); 689 QFontMetrics f( mWeekFont );
690 fontWid = f.width( "30" ); 690 fontWid = f.width( "30" );
691 //qDebug("dec-- "); 691 //qDebug("dec-- ");
692 } 692 }
693 693
694 connect( mWeekAction, SIGNAL( activated() ), 694 connect( mWeekAction, SIGNAL( activated() ),
695 this, SLOT( weekAction() ) ); 695 this, SLOT( weekAction() ) );
696 696
697 connect( this, SIGNAL( selectWeek ( int ) ), mView->dateNavigator(), SLOT( selectWeek ( int ) ) ); 697 connect( this, SIGNAL( selectWeek ( int ) ), mView->dateNavigator(), SLOT( selectWeek ( int ) ) );
698 if ( p->mShowIconFilterview ) { 698 if ( p->mShowIconFilterview ) {
699 icon = loadPixmap( pathString + "filter" ); 699 icon = loadPixmap( pathString + "filter" );
700 actionFilterMenuTB = new QAction( i18n("Filter selector"), icon, i18n("Filter selector"), 0, this ); 700 actionFilterMenuTB = new QAction( i18n("Filter selector"), icon, i18n("Filter selector"), 0, this );
701 connect( actionFilterMenuTB, SIGNAL( activated() ), 701 connect( actionFilterMenuTB, SIGNAL( activated() ),
702 this, SLOT( fillFilterMenuTB() ) ); 702 this, SLOT( fillFilterMenuTB() ) );
703 actionFilterMenuTB->addTo( iconToolBar ); 703 actionFilterMenuTB->addTo( iconToolBar );
704 selectFilterMenuTB = new QPopupMenu( this ); 704 selectFilterMenuTB = new QPopupMenu( this );
705 selectFilterMenuTB->setCheckable( true ); 705 selectFilterMenuTB->setCheckable( true );
706 connect ( selectFilterMenuTB, SIGNAL( activated ( int ) ), this, SLOT (selectFilter( int ) ) ); 706 connect ( selectFilterMenuTB, SIGNAL( activated ( int ) ), this, SLOT (selectFilter( int ) ) );
707 } 707 }
708 708
709 //#endif 709 //#endif
710 // ****************** 710 // ******************
711 QAction *action; 711 QAction *action;
712 // QPopupMenu *configureMenu= new QPopupMenu( menuBar ); 712 // QPopupMenu *configureMenu= new QPopupMenu( menuBar );
713 configureToolBarMenu->setCheckable( true ); 713 configureToolBarMenu->setCheckable( true );
714 714
715 715
716 configureAgendaMenu->setCheckable( true ); 716 configureAgendaMenu->setCheckable( true );
717 int iii ; 717 int iii ;
718 for ( iii = 1;iii<= 10 ;++iii ){ 718 for ( iii = 1;iii<= 10 ;++iii ){
719 configureAgendaMenu->insertItem(i18n("Size %1").arg(iii), (iii+1)*2 ); 719 configureAgendaMenu->insertItem(i18n("Size %1").arg(iii), (iii+1)*2 );
720 } 720 }
721 //configureMenu->insertItem( "AgendaSize",configureAgendaMenu ); 721 //configureMenu->insertItem( "AgendaSize",configureAgendaMenu );
722 722
723 connect( configureAgendaMenu, SIGNAL( aboutToShow()), 723 connect( configureAgendaMenu, SIGNAL( aboutToShow()),
724 this, SLOT( showConfigureAgenda( ) ) ); 724 this, SLOT( showConfigureAgenda( ) ) );
725 725
726 icon = loadPixmap( pathString + "configure" ); 726 icon = loadPixmap( pathString + "configure" );
727 action = new QAction( i18n("Configure"),icon, i18n("Configure..."), 0, this ); 727 action = new QAction( i18n("Configure"),icon, i18n("Configure KO/Pi..."), 0, this );
728 action->addTo( actionMenu ); 728 action->addTo( actionMenu );
729 connect( action, SIGNAL( activated() ), 729 connect( action, SIGNAL( activated() ),
730 mView, SLOT( edit_options() ) ); 730 mView, SLOT( edit_options() ) );
731 icon = loadPixmap( pathString + "configure" );
732 action = new QAction( i18n("Configure"),icon, i18n("Global Settings..."), 0, this );
733 action->addTo( actionMenu );
734 connect( action, SIGNAL( activated() ),
735 mView, SLOT( edit_global_options() ) );
731 actionMenu->insertSeparator(); 736 actionMenu->insertSeparator();
732 737
733 action = new QAction( i18n("Undo Delete"), i18n("Undo Delete..."), 0, this ); 738 action = new QAction( i18n("Undo Delete"), i18n("Undo Delete..."), 0, this );
734 action->addTo( actionMenu ); 739 action->addTo( actionMenu );
735 connect( action, SIGNAL( activated() ), 740 connect( action, SIGNAL( activated() ),
736 mView, SLOT( undo_delete() ) ); 741 mView, SLOT( undo_delete() ) );
737 actionMenu->insertSeparator(); 742 actionMenu->insertSeparator();
738 743
739 icon = loadPixmap( pathString + "newevent" ); 744 icon = loadPixmap( pathString + "newevent" );
740 configureToolBarMenu->insertItem(i18n("Stretched TB"), 5 ); 745 configureToolBarMenu->insertItem(i18n("Stretched TB"), 5 );
741 configureToolBarMenu->insertItem(i18n("Only one toolbar"), 6 ); 746 configureToolBarMenu->insertItem(i18n("Only one toolbar"), 6 );
742 configureToolBarMenu->insertSeparator(); 747 configureToolBarMenu->insertSeparator();
743 configureToolBarMenu->insertItem(i18n("Filtermenu"), 7 ); 748 configureToolBarMenu->insertItem(i18n("Filtermenu"), 7 );
744 configureToolBarMenu->insertSeparator(); 749 configureToolBarMenu->insertSeparator();
745 configureToolBarMenu->insertItem(i18n("Week Number"), 400); 750 configureToolBarMenu->insertItem(i18n("Week Number"), 400);
746 configureToolBarMenu->insertItem(icon, i18n("New Event..."), 10 ); 751 configureToolBarMenu->insertItem(icon, i18n("New Event..."), 10 );
747 QAction* ne_action = new QAction( i18n("New Event..."), icon, i18n("New Event..."), 0, this ); 752 QAction* ne_action = new QAction( i18n("New Event..."), icon, i18n("New Event..."), 0, this );
748 ne_action->addTo( actionMenu ); 753 ne_action->addTo( actionMenu );
749 connect( ne_action, SIGNAL( activated() ), 754 connect( ne_action, SIGNAL( activated() ),
750 mView, SLOT( newEvent() ) ); 755 mView, SLOT( newEvent() ) );
751 icon = loadPixmap( pathString + "newtodo" ); 756 icon = loadPixmap( pathString + "newtodo" );
752 configureToolBarMenu->insertItem(icon, i18n("New Todo..."), 20 ); 757 configureToolBarMenu->insertItem(icon, i18n("New Todo..."), 20 );
753 QAction* nt_action = new QAction( i18n("New Todo..."), icon, i18n("New Todo..."), 0, this ); 758 QAction* nt_action = new QAction( i18n("New Todo..."), icon, i18n("New Todo..."), 0, this );
754 nt_action->addTo( actionMenu ); 759 nt_action->addTo( actionMenu );
755 connect( nt_action, SIGNAL( activated() ), 760 connect( nt_action, SIGNAL( activated() ),
756 mView, SLOT( newTodo() ) ); 761 mView, SLOT( newTodo() ) );
757 762
758 icon = loadPixmap( pathString + "today" ); 763 icon = loadPixmap( pathString + "today" );
759 QAction* today_action = new QAction( i18n("Go to Today"), icon, i18n("Go to Today"), 0, this ); 764 QAction* today_action = new QAction( i18n("Go to Today"), icon, i18n("Go to Today"), 0, this );
760 today_action->addTo( viewMenu ); 765 today_action->addTo( viewMenu );
761 connect( today_action, SIGNAL( activated() ), 766 connect( today_action, SIGNAL( activated() ),
762 mView, SLOT( goToday() ) ); 767 mView, SLOT( goToday() ) );
763 viewMenu->insertSeparator(); 768 viewMenu->insertSeparator();
764 769
765 // *********************** 770 // ***********************
766 if ( KOPrefs::instance()->mVerticalScreen ) { 771 if ( KOPrefs::instance()->mVerticalScreen ) {
767 icon = SmallIcon( "1updownarrow" ); 772 icon = SmallIcon( "1updownarrow" );
768 } else { 773 } else {
769 icon = SmallIcon("1leftrightarrow" ); 774 icon = SmallIcon("1leftrightarrow" );
770 } 775 }
771 configureToolBarMenu->insertItem(icon, i18n("Toggle Fullscreen"), 28 ); 776 configureToolBarMenu->insertItem(icon, i18n("Toggle Fullscreen"), 28 );
772 QAction* FSaction = new QAction( i18n("Toggle Fullscreen"), icon, i18n("Toggle Fullscreen"), 0, this ); 777 QAction* FSaction = new QAction( i18n("Toggle Fullscreen"), icon, i18n("Toggle Fullscreen"), 0, this );
773 FSaction->addTo( viewMenu ); 778 FSaction->addTo( viewMenu );
774 connect( FSaction, SIGNAL( activated() ), mView, SLOT( toggleExpand() )); 779 connect( FSaction, SIGNAL( activated() ), mView, SLOT( toggleExpand() ));
775 780
776 icon = loadPixmap( pathString + "navi" ); 781 icon = loadPixmap( pathString + "navi" );
777 configureToolBarMenu->insertItem(icon, i18n("Toggle DateNavigator"), 22 ); 782 configureToolBarMenu->insertItem(icon, i18n("Toggle DateNavigator"), 22 );
778 action = new QAction( i18n("Toggle DateNavigator"), icon, i18n("Toggle DateNavigator"), 0, this ); 783 action = new QAction( i18n("Toggle DateNavigator"), icon, i18n("Toggle DateNavigator"), 0, this );
779 action->addTo( viewMenu ); 784 action->addTo( viewMenu );
780 connect( action, SIGNAL( activated() ), 785 connect( action, SIGNAL( activated() ),
781 mView, SLOT( toggleDateNavigatorWidget() ) ); 786 mView, SLOT( toggleDateNavigatorWidget() ) );
782 mToggleNav = action ; 787 mToggleNav = action ;
783 icon = loadPixmap( pathString + "filter" ); 788 icon = loadPixmap( pathString + "filter" );
784 configureToolBarMenu->insertItem(icon, i18n("Filter menu icon"), 26 ); 789 configureToolBarMenu->insertItem(icon, i18n("Filter menu icon"), 26 );
785 action = new QAction( i18n("Toggle FilterView"), icon, i18n("Toggle FilterView"), 0, this ); 790 action = new QAction( i18n("Toggle FilterView"), icon, i18n("Toggle FilterView"), 0, this );
786 action->addTo( viewMenu ); 791 action->addTo( viewMenu );
787 connect( action, SIGNAL( activated() ), 792 connect( action, SIGNAL( activated() ),
788 mView, SLOT( toggleFilter() ) ); 793 mView, SLOT( toggleFilter() ) );
789 mToggleFilter = action; 794 mToggleFilter = action;
790 icon = loadPixmap( pathString + "allday" ); 795 icon = loadPixmap( pathString + "allday" );
791 configureToolBarMenu->insertItem(icon, i18n("Toggle Allday"), 24 ); 796 configureToolBarMenu->insertItem(icon, i18n("Toggle Allday"), 24 );
792 action = new QAction( i18n("Toggle Allday"), icon,i18n("Toggle Allday"), 0, this ); 797 action = new QAction( i18n("Toggle Allday"), icon,i18n("Toggle Allday"), 0, this );
793 action->addTo( viewMenu ); 798 action->addTo( viewMenu );
794 connect( action, SIGNAL( activated() ), 799 connect( action, SIGNAL( activated() ),