summaryrefslogtreecommitdiffabout
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--bin/kdepim/korganizer/germantranslation.txt14
-rw-r--r--korganizer/calendarview.cpp73
-rw-r--r--korganizer/koprefs.cpp10
-rw-r--r--korganizer/koprefs.h9
-rw-r--r--korganizer/koprefsdialog.cpp52
-rw-r--r--korganizer/koprefsdialog.h2
6 files changed, 138 insertions, 22 deletions
diff --git a/bin/kdepim/korganizer/germantranslation.txt b/bin/kdepim/korganizer/germantranslation.txt
index 1a1fd0e..fcfa282 100644
--- a/bin/kdepim/korganizer/germantranslation.txt
+++ b/bin/kdepim/korganizer/germantranslation.txt
@@ -1408,149 +1408,155 @@
1408{ "Backup","Backup" }, 1408{ "Backup","Backup" },
1409{ "KDE-Pim Global Settings","KDE-Pim Globale Einstellungen" }, 1409{ "KDE-Pim Global Settings","KDE-Pim Globale Einstellungen" },
1410{ "Sorry, the calendar name \n%1\nalready exists!\nPlease choose another name!","Sorry, der Kalendername \n%1\nist schon in Benutzung!\nBitte wählen Sie einen anderen!" }, 1410{ "Sorry, the calendar name \n%1\nalready exists!\nPlease choose another name!","Sorry, der Kalendername \n%1\nist schon in Benutzung!\nBitte wählen Sie einen anderen!" },
1411{ "Sorry, the file \n%1\nis already loaded!\nPlease choose another file!","Sorry, die Datei \n%1\nist schon geladen!\nBitte wählen Sie eine andere!" }, 1411{ "Sorry, the file \n%1\nis already loaded!\nPlease choose another file!","Sorry, die Datei \n%1\nist schon geladen!\nBitte wählen Sie eine andere!" },
1412{ "Choose Color","Wähle Farbe" }, 1412{ "Choose Color","Wähle Farbe" },
1413{ " OK "," OK " }, 1413{ " OK "," OK " },
1414{ " Cancel "," Abbrechen " }, 1414{ " Cancel "," Abbrechen " },
1415{ "Matching items will be added to list","Passende werden zur Liste hinzugefügt" }, 1415{ "Matching items will be added to list","Passende werden zur Liste hinzugefügt" },
1416{ "Matching items will be removed from list","Passende werden von der Liste entfernt" }, 1416{ "Matching items will be removed from list","Passende werden von der Liste entfernt" },
1417{ "Search on displayed list only","Suche auf der dargestellten Liste" }, 1417{ "Search on displayed list only","Suche auf der dargestellten Liste" },
1418{ "List will be cleared before search","Liste wird vor der Suche gelöscht" }, 1418{ "List will be cleared before search","Liste wird vor der Suche gelöscht" },
1419{ "<center>%1</center> <center>is not running. Do you want to set\nthe state to running?</center>","<center>%1</center> <center>ist nicht am Laufen. Möchten Sie den Zustand auf "laufend" setzen?</center>" }, 1419{ "<center>%1</center> <center>is not running. Do you want to set\nthe state to running?</center>","<center>%1</center> <center>ist nicht am Laufen. Möchten Sie den Zustand auf "laufend" setzen?</center>" },
1420{ "%1\nis running!","%1\nist am Laufen!" }, 1420{ "%1\nis running!","%1\nist am Laufen!" },
1421{ "Additional Comment:","Zusätzlicher Kommentar:" }, 1421{ "Additional Comment:","Zusätzlicher Kommentar:" },
1422{ "Stop and save","Stopp und Speichern" }, 1422{ "Stop and save","Stopp und Speichern" },
1423{ "Continue running","Weiter laufen lassen" }, 1423{ "Continue running","Weiter laufen lassen" },
1424{ "Stop - do not save","Stopp - nicht Speichern" }, 1424{ "Stop - do not save","Stopp - nicht Speichern" },
1425{ "Do you really want to set\nthe state to stopped\nwithout saving the data?","Möchten sie den Zustand\nwirklich auf gestoppt setzen\nohne die Daten abzuspeichern?" }, 1425{ "Do you really want to set\nthe state to stopped\nwithout saving the data?","Möchten sie den Zustand\nwirklich auf gestoppt setzen\nohne die Daten abzuspeichern?" },
1426{ "Time mismatch!","Zeiten stimmen nicht!" }, 1426{ "Time mismatch!","Zeiten stimmen nicht!" },
1427{ "The start time is\nafter the end time!","Die Startzeit ist\nhinter der Endzeit!" }, 1427{ "The start time is\nafter the end time!","Die Startzeit ist\nhinter der Endzeit!" },
1428{ "Yes, stop todo","Ja, stoppe Todo" }, 1428{ "Yes, stop todo","Ja, stoppe Todo" },
1429{ "Todo stopped - no data saved because runtime was < 15 sec!","Todo gestoppt - nichts gespeichert da Laufzeit < 15 sec!" }, 1429{ "Todo stopped - no data saved because runtime was < 15 sec!","Todo gestoppt - nichts gespeichert da Laufzeit < 15 sec!" },
1430{ "Todo started! Double click again to stop!","Todo gestartet! Doppelklicke um es zu stoppen!" }, 1430{ "Todo started! Double click again to stop!","Todo gestartet! Doppelklicke um es zu stoppen!" },
1431{ "Please choose the <b>default calendar</b> in this column. Newly created or imported items are added to the default calendar.","Bitte wählen Sie den <b>Default-Kalender</b> in dieser Spalte. Neu angelegte oder importierte Einträge werden dem Default-Kalender hinzugefügt." }, 1431{ "Please choose the <b>default calendar</b> in this column. Newly created or imported items are added to the default calendar.","Bitte wählen Sie den <b>Default-Kalender</b> in dieser Spalte. Neu angelegte oder importierte Einträge werden dem Default-Kalender hinzugefügt." },
1432{ "Spouse","Ehegatte" }, 1432{ "Spouse","Ehegatte" },
1433{ "Notes","Notizen" }, 1433{ "Notes","Notizen" },
1434{ "Messanger","Messanger" }, 1434{ "Messanger","Messanger" },
1435{ "Assistant","Assistent" }, 1435{ "Assistant","Assistent" },
1436{ "Manager","Manager" }, 1436{ "Manager","Manager" },
1437{ "Secrecy","Sichtbar" }, 1437{ "Secrecy","Sichtbar" },
1438{ "male","männlich" }, 1438{ "male","männlich" },
1439{ "female","weiblich" }, 1439{ "female","weiblich" },
1440{ "Hide!","Verbergen!" }, 1440{ "Hide!","Verbergen!" },
1441{ "Show!","Anzeigen!" }, 1441{ "Show!","Anzeigen!" },
1442{ "Details","Details" }, 1442{ "Details","Details" },
1443{ "Profession","Beruf" }, 1443{ "Profession","Beruf" },
1444{ "Children","Kinder" }, 1444{ "Children","Kinder" },
1445{ "Department","Abteilung" }, 1445{ "Department","Abteilung" },
1446{ "Backup cancelled","Backup abgebrochen" }, 1446{ "Backup cancelled","Backup abgebrochen" },
1447{ "Backup globally disabled","Backup global abgeschaltet" }, 1447{ "Backup globally disabled","Backup global abgeschaltet" },
1448{ "Backup succesfully finished","Backup erfolgreich beendet" }, 1448{ "Backup succesfully finished","Backup erfolgreich beendet" },
1449{ "(Hint: You can enable automatic backup in the global settings!)","(Hinweis: Sie können ein automatisches Backup in den globalen Einstellungen konfigurieren!)" }, 1449{ "(Hint: You can enable automatic backup in the global settings!)","(Hinweis: Sie können ein automatisches Backup in den globalen Einstellungen konfigurieren!)" },
1450{ "This will <b>backup all calendar files</b> to the directory %1 %2","Das schreibt ein <b>Backup aller Kalenderdateien</b> in das Verzeichnis %1 %2" }, 1450{ "This will <b>backup all calendar files</b> to the directory %1 %2","Das schreibt ein <b>Backup aller Kalenderdateien</b> in das Verzeichnis %1 %2" },
1451{ "Birthdays","Geburtstage" }, 1451{ "Birthdays","Geburtstage" },
1452{ "KO/Pi import information!","KO/Pi Import Information!" }, 1452{ "KO/Pi import information!","KO/Pi Import Information!" },
1453{ "Start this todo\nand stop all running","Starte dieses Todo\nund stoppe alle Laufenden" }, 1453{ "Start this todo\nand stop all running","Starte dieses Todo\nund stoppe alle Laufenden" },
1454{ "Cancel - do not start"," Abbrechen - Todo nicht starten" }, 1454{ "Cancel - do not start"," Abbrechen - Todo nicht starten" },
1455{ "The timezone has changed!\nShould the calendar be reloaded\nto shift the time of the events?\nPlease read Menu: Help->FAQ:\n"How do I change the timezone?"\nas well!","Die Zeitzone wurde geändert!\nSollen die Kalender neu geladen\nwerden num die Zeiten\nder Termine zu ändern?\nBitte lesen Sie auch\nMenu: Help->FAQ:\n"How do I change the timezone?"" }, 1455{ "The timezone has changed!\nShould the calendar be reloaded\nto shift the time of the events?\nPlease read Menu: Help->FAQ:\n"How do I change the timezone?"\nas well!","Die Zeitzone wurde geändert!\nSollen die Kalender neu geladen\nwerden num die Zeiten\nder Termine zu ändern?\nBitte lesen Sie auch\nMenu: Help->FAQ:\n"How do I change the timezone?"" },
1456{ "Reload","Neu laden" }, 1456{ "Reload","Neu laden" },
1457{ "Timezone settings","Zeitzoneneinstellung" }, 1457{ "Timezone settings","Zeitzoneneinstellung" },
1458{ "Title: ","Titel: " }, 1458{ "Title: ","Titel: " },
1459{ "Journal from: ","Journal vom: " }, 1459{ "Journal from: ","Journal vom: " },
1460{ "Journal: %1 from ","Journal: %1 vom " }, 1460{ "Journal: %1 from ","Journal: %1 vom " },
1461{ "<b>Click here to edit categories: </b>","<b>Klicke hier um Kategorien zu ändern: </b>" }, 1461{ "<b>Click here to edit categories: </b>","<b>Klicke hier um Kategorien zu ändern: </b>" },
1462{ "Selected Item","Ausgewähltes Item" }, 1462{ "Selected Item","Ausgewähltes Item" },
1463{ "Select Date...","Wähle Datum..." }, 1463{ "Select Date...","Wähle Datum..." },
1464{ "After importing/loading/syncing there may be new categories in events or todos which are not added automatically to the category list. Please choose what to do <b>now</b>:","Nach dem Importieren/Laden/Syncen kann es neue Kategorien in den Terminen oder Todos geben, die nicht automatisch der Kategorieliste hinzugefügt werden. Bitte wählen Sie, was <b>jetzt</b> passieren soll:" }, 1464{ "After importing/loading/syncing there may be new categories in events or todos which are not added automatically to the category list. Please choose what to do <b>now</b>:","Nach dem Importieren/Laden/Syncen kann es neue Kategorien in den Terminen oder Todos geben, die nicht automatisch der Kategorieliste hinzugefügt werden. Bitte wählen Sie, was <b>jetzt</b> passieren soll:" },
1465{ "Change category list now!","Ändere Kategorieliste jetzt!" }, 1465{ "Change category list now!","Ändere Kategorieliste jetzt!" },
1466{ "Edit category list...","Ändere Kategorieliste..." }, 1466{ "Edit category list...","Ändere Kategorieliste..." },
1467{ "Toolbar changes needs a restart!","Neustart benötigt für Toolbaränderungen!" }, 1467{ "Toolbar changes needs a restart!","Neustart benötigt für Toolbaränderungen!" },
1468{ "Filepath: ","Dateipfad: " }, 1468{ "Filepath: ","Dateipfad: " },
1469{ "You can try to reload the calendar in the Resource View!","In der Resourcenansicht können Sie erneut versuchen den Kalender zu laden!" }, 1469{ "You can try to reload the calendar in the Resource View!","In der Resourcenansicht können Sie erneut versuchen den Kalender zu laden!" },
1470{ "<b>WARNING:</b> There is a pending suspended alarm!","<b>WARNUNG:</b> Es gibt einen laufenden Suspendalarm!" }, 1470{ "<b>WARNING:</b> There is a pending suspended alarm!","<b>WARNUNG:</b> Es gibt einen laufenden Suspendalarm!" },
1471{ "Pending Suspend Alarm","Laufender Suspend Alarm" }, 1471{ "Pending Suspend Alarm","Laufender Suspend Alarm" },
1472{ "Error loading calendar %1","Fehler beim Laden von Kalender %1" }, 1472{ "Error loading calendar %1","Fehler beim Laden von Kalender %1" },
1473{ "Calendar(s) not loaded:","Nicht geladene(r) Kalender:" }, 1473{ "Calendar(s) not loaded:","Nicht geladene(r) Kalender:" },
1474{ "Loading of calendar(s) failed","Laden von Kalendern fehlgeschlagen" }, 1474{ "Loading of calendar(s) failed","Laden von Kalendern fehlgeschlagen" },
1475{ "Alarm Options","Alarm Einstellungen" }, 1475{ "Alarm Options","Alarm Einstellungen" },
1476{ "Delete selected...","Lösche Ausgewählte..." }, 1476{ "Delete selected...","Lösche Ausgewählte..." },
1477{ "None","Nichts" }, 1477{ "None","Nichts" },
1478{ "Selection","Auswahl" }, 1478{ "Selection","Auswahl" },
1479{ "Set categories","Setze Kategorien" }, 1479{ "Set categories","Setze Kategorien" },
1480{ "This adds the selected\nitems to the calendar\n%1\nand removes them from\ntheir current calendar!","Das fügt die ausgewählten\nEinträge dem Kalender\n%1\nhinzu und entfernt sie von\nihrem aktuellen Kalender!" }, 1480{ "This adds the selected\nitems to the calendar\n%1\nand removes them from\ntheir current calendar!","Das fügt die ausgewählten\nEinträge dem Kalender\n%1\nhinzu und entfernt sie von\nihrem aktuellen Kalender!" },
1481{ "Reset","Neu setzen" }, 1481{ "Reset","Neu setzen" },
1482{ "Do you want to <b>add</b> categories to the selected items or <b>reset</b> the list (i.e. remove current categories)?","Möchten Sie Kategorien zu den ausgewählten Einträgen <b>hinzufügen</b> oder die Liste <b>neu setzen</b> (d.h. vorhandene Kategorien löschen)?" }, 1482{ "Do you want to <b>add</b> categories to the selected items or <b>reset</b> the list (i.e. remove current categories)?","Möchten Sie Kategorien zu den ausgewählten Einträgen <b>hinzufügen</b> oder die Liste <b>neu setzen</b> (d.h. vorhandene Kategorien löschen)?" },
1483{ "The file\n%1\ndoes not exist!\nShall I create it for you?","Die Datei\n%1\nexistiert nicht!\nSoll sie neu angelegt werden?" }, 1483{ "The file\n%1\ndoes not exist!\nShall I create it for you?","Die Datei\n%1\nexistiert nicht!\nSoll sie neu angelegt werden?" },
1484{ "Sorry, cannot create the file\n%1!\nNo calendar added!","Kann leider die Datei\n%1\nnicht anlegen!\nKein Kalender hinzugefügt!" }, 1484{ "Sorry, cannot create the file\n%1!\nNo calendar added!","Kann leider die Datei\n%1\nnicht anlegen!\nKein Kalender hinzugefügt!" },
1485{ "\nNO\n WRITEABLE\n CALENDAR\n FOUND!\n\nPlease fix your calendar settings!\n","\nKEIN\n SCHREIBBARER\n KALENDER\n GEFUNDEN!\n\nBitte korrigieren Sie\nihre Kalendereinstellungen!\n" }, 1485{ "\nNO\n WRITEABLE\n CALENDAR\n FOUND!\n\nPlease fix your calendar settings!\n","\nKEIN\n SCHREIBBARER\n KALENDER\n GEFUNDEN!\n\nBitte korrigieren Sie\nihre Kalendereinstellungen!\n" },
1486{ "\nThe file\n%1\non disk has changed!\nFile size: %2 bytes.\nLast modified: %3\nDo you want to:\n\n - Save and overwrite file?\n - Sync with file, then save?\n - Cancel without saving? \n","\nDie Datei\n%1\nwurde verändert!\nDatei Grösse: %2 Bytes.\nZuletzt geändert: %3\nMöchten Sie:\n\n - Speichern und die Datei überschreiben?\n - Mit Datei Synchronisieren, dann speichern?\n - Abbrechen ohne zu speichern? \n" }, 1486{ "\nThe file\n%1\non disk has changed!\nFile size: %2 bytes.\nLast modified: %3\nDo you want to:\n\n - Save and overwrite file?\n - Sync with file, then save?\n - Cancel without saving? \n","\nDie Datei\n%1\nwurde verändert!\nDatei Grösse: %2 Bytes.\nZuletzt geändert: %3\nMöchten Sie:\n\n - Speichern und die Datei überschreiben?\n - Mit Datei Synchronisieren, dann speichern?\n - Abbrechen ohne zu speichern? \n" },
1487{ "Edit","Edit" }, 1487{ "Edit","Edit" },
1488{ "Last Modified","Zuletzt geändert" }, 1488{ "Last Modified","Zuletzt geändert" },
1489{ "Journal viewer","Journal Anzeige" }, 1489{ "Journal viewer","Journal Anzeige" },
1490{ "Configure Calendar Files...","Konfiguriere Kalenderdateien..." }, 1490{ "Configure Calendar Files...","Konfiguriere Kalenderdateien..." },
1491{ "You can use and display <b>more than one</b> calendar file in KO/Pi. A calendar file is called a <b>resource</b>. To add a calendar or change calendar settings please use menu: <b>View -> Toggle Resource View</b>.","Sie können <b>mehr als eine</b> Kalenderdatei in KO/Pi darstellen und benutzen. Eine Kalenderdatei wird <b>Resource</b> genannt. Um einen Kalender hinzuzufügen oder die Kalendereinstellungen zu ändern benutzen Sie bitte das Menu: <b>Ansicht -> Resourcenansicht umschalten</b>." }, 1491{ "You can use and display <b>more than one</b> calendar file in KO/Pi. A calendar file is called a <b>resource</b>. To add a calendar or change calendar settings please use menu: <b>View -> Toggle Resource View</b>.","Sie können <b>mehr als eine</b> Kalenderdatei in KO/Pi darstellen und benutzen. Eine Kalenderdatei wird <b>Resource</b> genannt. Um einen Kalender hinzuzufügen oder die Kalendereinstellungen zu ändern benutzen Sie bitte das Menu: <b>Ansicht -> Resourcenansicht umschalten</b>." },
1492{ "Hide Completed","Verstecke erledigte Todos" }, 1492{ "Hide Completed","Verstecke erledigte Todos" },
1493{ "Show not Running","Zeige nicht Laufende" }, 1493{ "Show not Running","Zeige nicht Laufende" },
1494{ "Click to add new Todo","Klick für neues Todo!" }, 1494{ "Click to add new Todo","Klick für neues Todo!" },
1495{ "Show next conflict for","Zeige nächsten Konflikt für" }, 1495{ "Show next conflict for","Zeige nächsten Konflikt für" },
1496{ "All events","Alle Termine" }, 1496{ "All events","Alle Termine" },
1497{ "Allday events","Ganztagestermine" }, 1497{ "Allday events","Ganztagestermine" },
1498{ "Events with time","Termine mit Zeit" }, 1498{ "Events with time","Termine mit Zeit" },
1499{ "No conflict found","Kein Konflikt gefunden" }, 1499{ "No conflict found","Kein Konflikt gefunden" },
1500{ "Conflict %1 <-> %2","Konflikt %1 <-> %2" }, 1500{ "Conflict %1 <-> %2","Konflikt %1 <-> %2" },
1501{ "<p><b>Q</b>: Show next date with conflicting events\n ","<p><b>Q</b>: Zeige nächstes Datum mit Terminen im Konflikt\n " }, 1501{ "<p><b>Q</b>: Show next date with conflicting events\n ","<p><b>Q</b>: Zeige nächstes Datum mit Terminen im Konflikt\n " },
1502{ "Week view mode uses row layout","Wochenansicht Modus nutzt Reihenlayout" }, 1502{ "Week view mode uses row layout","Wochenansicht Modus nutzt Reihenlayout" },
1503{ "The event\n%1\nconflicts with event\n%2\nat date\n%3.\n","Der Termin\n%1\nist im Konflikt mit Termin\n%2\nam Datum\n%3.\n" }, 1503{ "The event\n%1\nconflicts with event\n%2\nat date\n%3.\n","Der Termin\n%1\nist im Konflikt mit Termin\n%2\nam Datum\n%3.\n" },
1504{ "KO/Pi Conflict delected","KO/Pi Konflikt erkannt" }, 1504{ "KO/Pi Conflict detected","KO/Pi Konflikt erkannt" },
1505{ "Show date","Zeige Datum" }, 1505{ "Show date","Zeige Datum" },
1506{ "No problem!","Null Problemo!" }, 1506{ "No problem!","Null Problemo!" },
1507{ "Automatically sync with KDE-Desktop\nwhen receiving sync request","Synce automatisch mit KDE-Desktop\nwenn eine Sync-Anforderung kommt" }, 1507{ "Automatically sync with KDE-Desktop\nwhen receiving sync request","Synce automatisch mit KDE-Desktop\nwenn eine Sync-Anforderung kommt" },
1508{ "Pi-Sync Port Error","Pi-Sync Port Fehler" }, 1508{ "Pi-Sync Port Error","Pi-Sync Port Fehler" },
1509{ "<b>Enabling Pi-Sync failed!</b> Failed to bind or listen to the port %1! Is another instance already listening to that port?","<b>Anschalten von Pi-Sync fehlgeschlagen!</b> Fehler beim Ansprechen des Ports %1! Ist bereits eine andere Anwendung dabei diesen Port zu nutzen?" }, 1509{ "<b>Enabling Pi-Sync failed!</b> Failed to bind or listen to the port %1! Is another instance already listening to that port?","<b>Anschalten von Pi-Sync fehlgeschlagen!</b> Fehler beim Ansprechen des Ports %1! Ist bereits eine andere Anwendung dabei diesen Port zu nutzen?" },
1510{ "No valid port number:\n%1","Keine gültige Port Nummer:\n%1" }, 1510{ "No valid port number:\n%1","Keine gültige Port Nummer:\n%1" },
1511{ "Port number (Default: %1)\nValid range from 1 to 65535","Port Nummer (Standard: %1)\nGültiger Bereich von 1 bis 65535" }, 1511{ "Port number (Default: %1)\nValid range from 1 to 65535","Port Nummer (Standard: %1)\nGültiger Bereich von 1 bis 65535" },
1512{ "Pi-Sync Error","Pi-Sync Fehler" }, 1512{ "Pi-Sync Error","Pi-Sync Fehler" },
1513{ "Got send file request\nwith invalid password","Erhielt "sende Datei" Anfrage\nmit ungültigem Passwort" }, 1513{ "Got send file request\nwith invalid password","Erhielt "sende Datei" Anfrage\nmit ungültigem Passwort" },
1514{ "Got receive file request\nwith invalid password","Erhielt "empfange Datei" Anfrage\nmit ungültigem Passwort" }, 1514{ "Got receive file request\nwith invalid password","Erhielt "empfange Datei" Anfrage\nmit ungültigem Passwort" },
1515{ "Wrong password: Receiving remote file failed.","Falsches Passwort: Empfangen von entfernter Datei fehlgeschlagen." }, 1515{ "Wrong password: Receiving remote file failed.","Falsches Passwort: Empfangen von entfernter Datei fehlgeschlagen." },
1516{ "Please close error dialog on remote.","Bitte schließe Fehler-Dialog am entfernten Rechner" }, 1516{ "Please close error dialog on remote.","Bitte schließe Fehler-Dialog am entfernten Rechner" },
1517{ "Unknown error on remote.","Unbekannter Fehler am entfernten Rechner" }, 1517{ "Unknown error on remote.","Unbekannter Fehler am entfernten Rechner" },
1518{ "Pi-Sync: Connected!","Pi-Sync: Verbunden!" }, 1518{ "Pi-Sync: Connected!","Pi-Sync: Verbunden!" },
1519{ "Receiving file from remote...","Empfange entfernte Datei..." }, 1519{ "Receiving file from remote...","Empfange entfernte Datei..." },
1520{ "Sending back synced file...","Sende synchronisierte Datei zurück..." }, 1520{ "Sending back synced file...","Sende synchronisierte Datei zurück..." },
1521{ "Do you want to\nclear all sync info\nof all profiles?","Möchten Sie wirklich\ndie Sync-Info\nfür alle Profile\nlöschen?" }, 1521{ "Do you want to\nclear all sync info\nof all profiles?","Möchten Sie wirklich\ndie Sync-Info\nfür alle Profile\nlöschen?" },
1522{ "Do you want to\nclear the sync\ninfo of profile\n%1?\n","Möchten Sie wirklich\ndie Sync-Info für Profil\n%1?\nlöschen" }, 1522{ "Do you want to\nclear the sync\ninfo of profile\n%1?\n","Möchten Sie wirklich\ndie Sync-Info für Profil\n%1?\nlöschen" },
1523{ "Sorry, no valid port.Syncing cancelled.","Sorry, kein gültiger Port. Syncing abgebrochen." }, 1523{ "Sorry, no valid port.Syncing cancelled.","Sorry, kein gültiger Port. Syncing abgebrochen." },
1524{ "Remote port number:\n(May be: 1 - 65535)","Ferne Port Nummer:\n(Darf sein: 1 - 65535)" }, 1524{ "Remote port number:\n(May be: 1 - 65535)","Ferne Port Nummer:\n(Darf sein: 1 - 65535)" },
1525{ "Writing back file ...","Schreibe Datei zurück..." }, 1525{ "Writing back file ...","Schreibe Datei zurück..." },
1526{ "Sending back file ...","Sende Datei zurück..." }, 1526{ "Sending back file ...","Sende Datei zurück..." },
1527{ "Eeek, there I am ticklish!","Hihi, da bin ich kitzlig!" }, 1527{ "Eeek, there I am ticklish!","Hihi, da bin ich kitzlig!" },
1528{ "Created","Angelegt" }, 1528{ "Created","Angelegt" },
1529{ "Last Modified Sub","Zuletzt geändertes Sub" }, 1529{ "Last Modified Sub","Zuletzt geändertes Sub" },
1530{ "Checking conflicts ... please wait","Überprüfe Konflikte ... bitte warten" }, 1530{ "Checking conflicts ... please wait","Überprüfe Konflikte ... bitte warten" },
1531{ "Show times on two lines","Zeige Zeiten auf zwei Zeilen" }, 1531{ "Show times on two lines","Zeige Zeiten auf zwei Zeilen" },
1532{ "Save using LOCAL storage","Speichere nutze LOCAL Pfad" }, 1532{ "Save using LOCAL storage","Speichere nutze LOCAL Pfad" },
1533{ "Duration","Dauer" }, 1533{ "Duration","Dauer" },
1534{ " day"," Tag" }, 1534{ " day"," Tag" },
1535{ "Click this button to display all todos in a <b>flat</b> hierarchy","Klicke diesen Knopf um alle Todos in einer <b>flachen</b> Hierarchie darzustellen" }, 1535{ "Click this button to display all todos in a <b>flat</b> hierarchy","Klicke diesen Knopf um alle Todos in einer <b>flachen</b> Hierarchie darzustellen" },
1536{ "Click this button to display all todos <b>openend</b>","Klicke diesen Knopf um alle Todos <b>geöffnet</b> darzustellen" }, 1536{ "Click this button to display all todos <b>openend</b>","Klicke diesen Knopf um alle Todos <b>geöffnet</b> darzustellen" },
1537{ "Click this button to display all todos <b>closed</b>","Klicke diesen Knopf um alle Todos <b>geschlossen</b> darzustellen" }, 1537{ "Click this button to display all todos <b>closed</b>","Klicke diesen Knopf um alle Todos <b>geschlossen</b> darzustellen" },
1538{ "Click this button to toggle show/hide <b>running</b> todos","Klicke diesen Knopf um <b>zeige Laufende</b> umzuschalten" }, 1538{ "Click this button to toggle show/hide <b>running</b> todos","Klicke diesen Knopf um <b>zeige Laufende</b> umzuschalten" },
1539{ "Click this button to toggle show/hide <b>completed</b> todos","Klicke diesen Knopf um <b>zeige Erledigte</b> umzuschalten" }, 1539{ "Click this button to toggle show/hide <b>completed</b> todos","Klicke diesen Knopf um <b>zeige Erledigte</b> umzuschalten" },
1540{ "Click this button to add a new subtodo to the currently selected todo","Klicke diesen Knopf um ein Untertodo zu dem gerade selektierten Todo hinzuzufügen" }, 1540{ "Click this button to add a new subtodo to the currently selected todo","Klicke diesen Knopf um ein Untertodo zu dem gerade selektierten Todo hinzuzufügen" },
1541{ "In this column you can <b>set a calendar to be visible</b>. If a calendar is not visible its entries are not displayed in the views. You can add items to it and it is loaded/saved as usual.","In dieser Spalte kann man einen <b>Kalender auf sichtbar schalten</b>. Wenn ein Kalender nicht sichtbar ist werden seine Einträge nicht in den Ansichten angezeigt. Man kann Einträge hinzufügen und laden/speichern wie gewöhnlich." }, 1541{ "In this column you can <b>set a calendar to be visible</b>. If a calendar is not visible its entries are not displayed in the views. You can add items to it and it is loaded/saved as usual.","In dieser Spalte kann man einen <b>Kalender auf sichtbar schalten</b>. Wenn ein Kalender nicht sichtbar ist werden seine Einträge nicht in den Ansichten angezeigt. Man kann Einträge hinzufügen und laden/speichern wie gewöhnlich." },
1542{ "In this column you can see the <b>name of the calendar</b>. If you click on the name button you will get an information box about the loaded calendar file. If the file was not loaded at startup you can try to load it here again.","In dieser Spalte wird der <b>Name des Kalenders</b> angezeigt. Wenn Sie auf den Namen klicken wird Information über die Kalenderdatei angezeigt. Wenn die Datei beim Start nicht geladen wurde können Sie hier erneut versuchen sie zu laden." }, 1542{ "In this column you can see the <b>name of the calendar</b>. If you click on the name button you will get an information box about the loaded calendar file. If the file was not loaded at startup you can try to load it here again.","In dieser Spalte wird der <b>Name des Kalenders</b> angezeigt. Wenn Sie auf den Namen klicken wird Information über die Kalenderdatei angezeigt. Wenn die Datei beim Start nicht geladen wurde können Sie hier erneut versuchen sie zu laden." },
1543{ "In this column you can <b>disable the alarms of a calendar all together</b>. The alarm data in the calendar itself is not changed, the alarms are marked internally as "do not use". Useful if you load a calendar of another person but do not want to get notified about alarms of that person.","In dieser Spalte können die <b>Alarme eines Kalenders alle zusammen abgeschaltet werden</b>. Die Alarmdaten im Kalender selbst werden nicht verändert, es werde die Alarme intern als "nicht beachten" markiert. Nützlich wenn Sie den Kalender einer anderen Person laden aber nicht über dessen Alarme unterrichtet werden wollen." }, 1543{ "In this column you can <b>disable the alarms of a calendar all together</b>. The alarm data in the calendar itself is not changed, the alarms are marked internally as "do not use". Useful if you load a calendar of another person but do not want to get notified about alarms of that person.","In dieser Spalte können die <b>Alarme eines Kalenders alle zusammen abgeschaltet werden</b>. Die Alarmdaten im Kalender selbst werden nicht verändert, es werde die Alarme intern als "nicht beachten" markiert. Nützlich wenn Sie den Kalender einer anderen Person laden aber nicht über dessen Alarme unterrichtet werden wollen." },
1544{ "In this column you can <b>set a calendar and all entries of the calendar to read only</b>. If a calendar is readonly the entries cannot be edited and no items can be added to the calendar. If you change a setting of a calendar to readonly in this column all data will be saved because the data of a readonly calendar is not saved later.","In dieser Spalte können Sie einen <b>Kalender und alle Einträge auf schreibgeschützt setzen</b>. Einträge eines schreibgeschützten Kalenders können nicht verändert werden und es können keine Einträge zum Kalender hinzugefügt werden. Wenn Sie die Einstellung eines Kalenders in dieser Spalte auf schreibgeschützt setzen werden alle Daten automatisch abgespeichert, da die Daten eines schreibgeschützten Kalenders später nicht mehr gespeichert werden." }, 1544{ "In this column you can <b>set a calendar and all entries of the calendar to read only</b>. If a calendar is readonly the entries cannot be edited and no items can be added to the calendar. If you change a setting of a calendar to readonly in this column all data will be saved because the data of a readonly calendar is not saved later.","In dieser Spalte können Sie einen <b>Kalender und alle Einträge auf schreibgeschützt setzen</b>. Einträge eines schreibgeschützten Kalenders können nicht verändert werden und es können keine Einträge zum Kalender hinzugefügt werden. Wenn Sie die Einstellung eines Kalenders in dieser Spalte auf schreibgeschützt setzen werden alle Daten automatisch abgespeichert, da die Daten eines schreibgeschützten Kalenders später nicht mehr gespeichert werden." },
1545{ "Click this button to <b>add a calendar</b>. You can add an existing calendar file or you can add a new calendar and KO/Pi creates a new empty calendar file for you.","Klicken Sie diesen Knopf <b>um einen Kalender hinzuzufügen</b>. Sie können eine existierende Kalenderdatei hinzufügen oder einen neuen Kalender und KO/Pi legt dann eine neue leere Kalenderdatei für Sie an." }, 1545{ "Click this button to <b>add a calendar</b>. You can add an existing calendar file or you can add a new calendar and KO/Pi creates a new empty calendar file for you.","Klicken Sie diesen Knopf <b>um einen Kalender hinzuzufügen</b>. Sie können eine existierende Kalenderdatei hinzufügen oder einen neuen Kalender und KO/Pi legt dann eine neue leere Kalenderdatei für Sie an." },
1546{ "<b>iCal (*.ics) file on disk:</b><br>(will be created, if not existing)","<b>iCal (*.ics) Datei:</b><br>(Datei wird angelegt, wenn sie nicht existiert)" }, 1546{ "<b>iCal (*.ics) file on disk:</b><br>(will be created, if not existing)","<b>iCal (*.ics) Datei:</b><br>(Datei wird angelegt, wenn sie nicht existiert)" },
1547{ "Error saving data","Fehler beim Abspeichern" }, 1547{ "Error saving data","Fehler beim Abspeichern" },
1548{ "Calendar(s) not saved:","Nicht gespeicherte Kalender:" }, 1548{ "Calendar(s) not saved:","Nicht gespeicherte Kalender:" },
1549{ "","" }, 1549{ "Enable conflict detection","Schalte Konflikterkennung an" },
1550{ "","" }, 1550{ "Conflict detection checks an <b>edited event</b> with other <b>existing events</b> for overlapping. You can define which events are checked:","Konflikterkennung prüft einen <b>bearbeiteten Termin</b> auf Überschneidungen mit <b>anderen Terminen</b>. Sie können einstellen welche Termine überprüft werden:" },
1551{ "","" }, 1551{ "Filter for the edited event","Filter für den bearbeiteten Termin" },
1552{ "Filter for other existing events","Filter für die anderen Termine" },
1553{ "Check Allday with Allday","Prüfe GanzTag mit GanzTag" },
1554{ "Check Allday with NonAllday","Prüfe GanzTag mit NichtGanzTag" },
1555{ "Check NonAllday with Allday","Prüfe NichtGanzTag mit GanzTag" },
1556{ "Check NonAllday with NonAllday","Prüfe NichtGanzTag mit NichtGanzTag" },
1557{ "Conflict detection","Konflikterkennung" },
1552{ "","" }, 1558{ "","" },
1553{ "","" }, 1559{ "","" },
1554{ "","" }, 1560{ "","" },
1555{ "","" }, 1561{ "","" },
1556{ "","" }, 1562{ "","" },
diff --git a/korganizer/calendarview.cpp b/korganizer/calendarview.cpp
index 26323b1..898da6c 100644
--- a/korganizer/calendarview.cpp
+++ b/korganizer/calendarview.cpp
@@ -2943,247 +2943,286 @@ void CalendarView::goNextMonth()
2943 mNavigator->selectNextMonth(); 2943 mNavigator->selectNextMonth();
2944} 2944}
2945 2945
2946void CalendarView::goPreviousMonth() 2946void CalendarView::goPreviousMonth()
2947{ 2947{
2948 mNavigator->selectPreviousMonth(); 2948 mNavigator->selectPreviousMonth();
2949} 2949}
2950 2950
2951void CalendarView::updateConfig() 2951void CalendarView::updateConfig()
2952{ 2952{
2953 if ( KOPrefs::instance()->mUseAppColors ) 2953 if ( KOPrefs::instance()->mUseAppColors )
2954 QApplication::setPalette( QPalette (KOPrefs::instance()->mAppColor1, KOPrefs::instance()->mAppColor2), true ); 2954 QApplication::setPalette( QPalette (KOPrefs::instance()->mAppColor1, KOPrefs::instance()->mAppColor2), true );
2955 emit configChanged(); 2955 emit configChanged();
2956 mTodoList->updateConfig(); 2956 mTodoList->updateConfig();
2957 // mDateNavigator->setFont ( KOPrefs::instance()->mDateNavigatorFont); 2957 // mDateNavigator->setFont ( KOPrefs::instance()->mDateNavigatorFont);
2958 mCalendar->setTimeZoneId(KPimGlobalPrefs::instance()->mTimeZoneId); 2958 mCalendar->setTimeZoneId(KPimGlobalPrefs::instance()->mTimeZoneId);
2959 // To make the "fill window" configurations work 2959 // To make the "fill window" configurations work
2960 //mViewManager->raiseCurrentView(); 2960 //mViewManager->raiseCurrentView();
2961} 2961}
2962 2962
2963 2963
2964void CalendarView::eventChanged(Event *event) 2964void CalendarView::eventChanged(Event *event)
2965{ 2965{
2966 changeEventDisplay(event,KOGlobals::EVENTEDITED); 2966 changeEventDisplay(event,KOGlobals::EVENTEDITED);
2967 //updateUnmanagedViews(); 2967 //updateUnmanagedViews();
2968} 2968}
2969 2969
2970void CalendarView::eventAdded(Event *event) 2970void CalendarView::eventAdded(Event *event)
2971{ 2971{
2972 changeEventDisplay(event,KOGlobals::EVENTADDED); 2972 changeEventDisplay(event,KOGlobals::EVENTADDED);
2973} 2973}
2974 2974
2975void CalendarView::eventToBeDeleted(Event *) 2975void CalendarView::eventToBeDeleted(Event *)
2976{ 2976{
2977 kdDebug() << "CalendarView::eventToBeDeleted(): to be implemented" << endl; 2977 kdDebug() << "CalendarView::eventToBeDeleted(): to be implemented" << endl;
2978} 2978}
2979 2979
2980void CalendarView::eventDeleted() 2980void CalendarView::eventDeleted()
2981{ 2981{
2982 changeEventDisplay(0,KOGlobals::EVENTDELETED); 2982 changeEventDisplay(0,KOGlobals::EVENTDELETED);
2983} 2983}
2984void CalendarView::changeTodoDisplay(Todo *which, int action) 2984void CalendarView::changeTodoDisplay(Todo *which, int action)
2985{ 2985{
2986 changeIncidenceDisplay((Incidence *)which, action); 2986 changeIncidenceDisplay((Incidence *)which, action);
2987 mDateNavigator->updateView(); //LR 2987 mDateNavigator->updateView(); //LR
2988 //mDialogManager->updateSearchDialog(); 2988 //mDialogManager->updateSearchDialog();
2989 2989
2990 if (which) { 2990 if (which) {
2991 mViewManager->updateWNview(); 2991 mViewManager->updateWNview();
2992 //mTodoList->updateView(); 2992 //mTodoList->updateView();
2993 } 2993 }
2994 2994
2995} 2995}
2996 2996
2997void CalendarView::changeIncidenceDisplay(Incidence *which, int action) 2997void CalendarView::changeIncidenceDisplay(Incidence *which, int action)
2998{ 2998{
2999 updateUnmanagedViews(); 2999 updateUnmanagedViews();
3000 //qDebug(" CalendarView::changeIncidenceDisplay++++++++++++++++++++++++++ %d %d ",which, action ); 3000 //qDebug(" CalendarView::changeIncidenceDisplay++++++++++++++++++++++++++ %d %d ",which, action );
3001 if ( action == KOGlobals::EVENTDELETED ) { //delete 3001 if ( action == KOGlobals::EVENTDELETED ) { //delete
3002 mCalendar->checkAlarmForIncidence( 0, true ); 3002 mCalendar->checkAlarmForIncidence( 0, true );
3003 if ( mEventViewerDialog ) 3003 if ( mEventViewerDialog )
3004 mEventViewerDialog->hide(); 3004 mEventViewerDialog->hide();
3005 } 3005 }
3006 else 3006 else
3007 mCalendar->checkAlarmForIncidence( which , false ); 3007 mCalendar->checkAlarmForIncidence( which , false );
3008} 3008}
3009 3009
3010// most of the changeEventDisplays() right now just call the view's 3010// most of the changeEventDisplays() right now just call the view's
3011// total update mode, but they SHOULD be recoded to be more refresh-efficient. 3011// total update mode, but they SHOULD be recoded to be more refresh-efficient.
3012void CalendarView::changeEventDisplay(Event *which, int action) 3012void CalendarView::changeEventDisplay(Event *which, int action)
3013{ 3013{
3014 // kdDebug() << "CalendarView::changeEventDisplay" << endl; 3014 // kdDebug() << "CalendarView::changeEventDisplay" << endl;
3015 changeIncidenceDisplay((Incidence *)which, action); 3015 changeIncidenceDisplay((Incidence *)which, action);
3016 static bool clearallviews = false; 3016 static bool clearallviews = false;
3017 if ( KOPrefs::instance()->mGlobalUpdateDisabled ) { 3017 if ( KOPrefs::instance()->mGlobalUpdateDisabled ) {
3018 if ( clearallviews ) { 3018 if ( clearallviews ) {
3019 clearAllViews(); 3019 clearAllViews();
3020 clearallviews = false; 3020 clearallviews = false;
3021 } 3021 }
3022 return; 3022 return;
3023 } 3023 }
3024 clearallviews = true; 3024 clearallviews = true;
3025 mDateNavigator->updateView(); 3025 mDateNavigator->updateView();
3026 //mDialogManager->updateSearchDialog(); 3026 //mDialogManager->updateSearchDialog();
3027 if (which) { 3027 if (which) {
3028 // If there is an event view visible update the display 3028 // If there is an event view visible update the display
3029 mViewManager->currentView()->changeEventDisplay(which,action); 3029 mViewManager->currentView()->changeEventDisplay(which,action);
3030 // TODO: check, if update needed 3030 // TODO: check, if update needed
3031 // if (which->getTodoStatus()) { 3031 // if (which->getTodoStatus()) {
3032 mTodoList->updateView(); 3032 mTodoList->updateView();
3033 if ( action != KOGlobals::EVENTDELETED ) { 3033 if ( action != KOGlobals::EVENTDELETED ) {
3034 mConflictingEvent = which ; 3034 mConflictingEvent = which ;
3035 int time = 1000; 3035 int time = 1000;
3036#ifdef DESKTOP_VERSION 3036#ifdef DESKTOP_VERSION
3037 time = 500; 3037 time = 500;
3038#endif 3038#endif
3039 QTimer::singleShot( time, this, SLOT ( checkConflictForEvent() ) ); 3039 bool checkC = false;
3040 if ( mConflictingEvent->doesFloat() ) {
3041 checkC = KOPrefs::instance()->mCheckConflictsAllDayAllDay
3042 || KOPrefs::instance()->mCheckConflictsAllDayNonAD;
3043 } else {
3044 checkC = KOPrefs::instance()->mCheckConflictsNonADAllDay
3045 || KOPrefs::instance()->mCheckConflictsNonADNonAD;
3046 }
3047 if ( checkC )
3048 QTimer::singleShot( time, this, SLOT ( checkConflictForEvent() ) );
3040 } 3049 }
3041 // } 3050 // }
3042 } else { 3051 } else {
3043 mViewManager->currentView()->updateView(); 3052 mViewManager->currentView()->updateView();
3044 } 3053 }
3045} 3054}
3046void CalendarView::checkConflictForEvent() 3055void CalendarView::checkConflictForEvent()
3047{ 3056{
3048 3057
3049 if (!KOPrefs::instance()->mConfirm) 3058 if (!KOPrefs::instance()->mConfirm)
3050 return; 3059 return;
3051 if ( ! mConflictingEvent ) return; 3060 if ( ! mConflictingEvent ) return;
3052 Event * conflictingEvent = mConflictingEvent; 3061 Event * conflictingEvent = mConflictingEvent;
3053 mConflictingEvent = 0; 3062 mConflictingEvent = 0;
3054 QDateTime current = QDateTime::currentDateTime(); 3063 QDateTime current = QDateTime::currentDateTime();
3055 if ( ! conflictingEvent->matchTime( &current, 0 ) ) { 3064 if ( ! conflictingEvent->matchTime( &current, 0 ) ) {
3056 return; 3065 return;
3057 } 3066 }
3067 CalFilter *filterIN = 0;
3068 CalFilter *filterALL = 0;
3069 CalFilter *filter = mFilters.first();
3070 while(filter) {
3071 if ( filter->name() == KOPrefs::instance()->mFilterConflictEditItem)
3072 filterIN = filter;
3073 if ( filter->name() == KOPrefs::instance()->mFilterConflictAllItem )
3074 filterALL = filter;
3075 filter = mFilters.next();
3076 }
3077 if ( filterIN ) {
3078 if ( !filterIN->filterCalendarItem( conflictingEvent ) ) {
3079 return;
3080 }
3081 }
3058 QPtrList<Event> testlist = mCalendar->events(); 3082 QPtrList<Event> testlist = mCalendar->events();
3059 Event * test = testlist.first(); 3083 Event * test = testlist.first();
3060 QDateTime conflict; 3084 QDateTime conflict;
3061 QDateTime retVal; 3085 QDateTime retVal;
3062 bool found = false; 3086 bool found = false;
3063 Event * cE = 0; 3087 Event * cE = 0;
3088 bool chAD = KOPrefs::instance()->mCheckConflictsAllDayAllDay;
3089 bool chNad = KOPrefs::instance()->mCheckConflictsAllDayNonAD;
3090 if ( !conflictingEvent->doesFloat() ) {
3091 chAD = KOPrefs::instance()->mCheckConflictsNonADAllDay;
3092 chNad = KOPrefs::instance()->mCheckConflictsNonADNonAD;
3093 }
3064 topLevelWidget()->setCaption( i18n("Checking conflicts ... please wait") ); 3094 topLevelWidget()->setCaption( i18n("Checking conflicts ... please wait") );
3065 while ( test ) { 3095 while ( test ) {
3066 qApp->processEvents(); 3096 qApp->processEvents();
3067 bool skip = false; 3097 bool skip = ( test->doesFloat() && !chAD ) || ( !test->doesFloat() && !chNad );
3068 if ( found ) 3098 if ( !skip ) {
3069 skip = !test->matchTime( &current, &conflict ); 3099 if ( filterALL ) {
3070 else 3100 if ( !filterALL->filterCalendarItem( test ) ) {
3071 skip = !test->matchTime( &current, 0 ); 3101 skip = true;
3072 if ( !skip && !test->doesFloat() ) { 3102 }
3073 if ( conflictingEvent->isOverlapping ( test, &retVal, &current ) ) { 3103 }
3074 if ( ! found ) { 3104 if ( !skip ) {
3075 conflict = retVal; 3105 if ( found )
3076 cE = test; 3106 skip = !test->matchTime( &current, &conflict );
3077 } else { 3107 else
3078 if ( retVal < conflict ) { 3108 skip = !test->matchTime( &current, 0 );
3079 conflict = retVal; 3109 if ( !skip ) {
3080 cE = test; 3110 if ( conflictingEvent->isOverlapping ( test, &retVal, &current ) ) {
3111 if ( ! found ) {
3112 conflict = retVal;
3113 cE = test;
3114 } else {
3115 if ( retVal < conflict ) {
3116 conflict = retVal;
3117 cE = test;
3118 }
3119 }
3120 found = true;
3081 } 3121 }
3082 } 3122 }
3083 found = true;
3084 } 3123 }
3085 } 3124 }
3086 test = testlist.next(); 3125 test = testlist.next();
3087 } 3126 }
3088 topLevelWidget()->setCaption( i18n("KO/Pi") ); 3127 topLevelWidget()->setCaption( i18n("KO/Pi") );
3089 if ( found ) { 3128 if ( found ) {
3090 QString mess = i18n("The event\n%1\nconflicts with event\n%2\nat date\n%3.\n").arg(KGlobal::formatMessage ( conflictingEvent->summary(),0 ) ).arg( KGlobal::formatMessage ( cE->summary(),0 )).arg(KGlobal::locale()->formatDate(conflict.date()) ) ; 3129 QString mess = i18n("The event\n%1\nconflicts with event\n%2\nat date\n%3.\n").arg(KGlobal::formatMessage ( conflictingEvent->summary(),0 ) ).arg( KGlobal::formatMessage ( cE->summary(),0 )).arg(KGlobal::locale()->formatDate(conflict.date()) ) ;
3091 qApp->processEvents(); 3130 qApp->processEvents();
3092 int km = KMessageBox::warningContinueCancel(this,mess, 3131 int km = KMessageBox::warningContinueCancel(this,mess,
3093 i18n("KO/Pi Conflict delected"),i18n("Show date"),i18n("No problem!")); 3132 i18n("KO/Pi Conflict detected"),i18n("Show date"),i18n("No problem!"));
3094 if ( km != KMessageBox::Continue ) { 3133 if ( km != KMessageBox::Continue ) {
3095 return; 3134 return;
3096 } 3135 }
3097 if ( mViewManager->currentView() != mViewManager->agendaView() || mNavigator->selectedDates().count() > 1 ) 3136 if ( mViewManager->currentView() != mViewManager->agendaView() || mNavigator->selectedDates().count() > 1 )
3098 mViewManager->showDayView(); 3137 mViewManager->showDayView();
3099 mNavigator->slotDaySelect( conflict.date() ); 3138 mNavigator->slotDaySelect( conflict.date() );
3100 int hour = conflict.time().hour(); 3139 int hour = conflict.time().hour();
3101 mViewManager->agendaView()->setStartHour( hour ); 3140 mViewManager->agendaView()->setStartHour( hour );
3102 topLevelWidget()->setCaption( i18n("Conflict %1 <-> %2"). arg( conflictingEvent->summary().left( 20 ) ).arg( cE->summary().left( 20 ) ) ); 3141 topLevelWidget()->setCaption( i18n("Conflict %1 <-> %2"). arg( conflictingEvent->summary().left( 20 ) ).arg( cE->summary().left( 20 ) ) );
3103 } else 3142 } else
3104 topLevelWidget()->setCaption( i18n("No conflict found") ); 3143 topLevelWidget()->setCaption( i18n("No conflict found") );
3105 return; 3144 return;
3106 3145
3107} 3146}
3108 3147
3109void CalendarView::updateTodoViews() 3148void CalendarView::updateTodoViews()
3110{ 3149{
3111 mTodoList->updateView(); 3150 mTodoList->updateView();
3112 mViewManager->currentView()->updateView(); 3151 mViewManager->currentView()->updateView();
3113 3152
3114} 3153}
3115 3154
3116 3155
3117 3156
3118void CalendarView::clearAllViews() 3157void CalendarView::clearAllViews()
3119{ 3158{
3120 mTodoList->clearList(); 3159 mTodoList->clearList();
3121 mViewManager->clearAllViews(); 3160 mViewManager->clearAllViews();
3122 SearchDialog * sd = mDialogManager->getSearchDialog(); 3161 SearchDialog * sd = mDialogManager->getSearchDialog();
3123 if ( sd ) { 3162 if ( sd ) {
3124 KOListView* kol = sd->listview(); 3163 KOListView* kol = sd->listview();
3125 if ( kol ) 3164 if ( kol )
3126 kol->clearList(); 3165 kol->clearList();
3127 } 3166 }
3128} 3167}
3129void CalendarView::updateView() 3168void CalendarView::updateView()
3130{ 3169{
3131 static bool clearallviews = false; 3170 static bool clearallviews = false;
3132 if ( KOPrefs::instance()->mGlobalUpdateDisabled ) { 3171 if ( KOPrefs::instance()->mGlobalUpdateDisabled ) {
3133 if ( clearallviews ) { 3172 if ( clearallviews ) {
3134 clearAllViews(); 3173 clearAllViews();
3135 clearallviews = false; 3174 clearallviews = false;
3136 } 3175 }
3137 return; 3176 return;
3138 } 3177 }
3139 clearallviews = true; 3178 clearallviews = true;
3140 DateList tmpList = mNavigator->selectedDates(); 3179 DateList tmpList = mNavigator->selectedDates();
3141 3180
3142 if ( KOPrefs::instance()->mHideNonStartedTodos ) 3181 if ( KOPrefs::instance()->mHideNonStartedTodos )
3143 mTodoList->updateView(); 3182 mTodoList->updateView();
3144 // We assume that the navigator only selects consecutive days. 3183 // We assume that the navigator only selects consecutive days.
3145 updateView( tmpList.first(), tmpList.last() ); 3184 updateView( tmpList.first(), tmpList.last() );
3146} 3185}
3147 3186
3148void CalendarView::updateUnmanagedViews() 3187void CalendarView::updateUnmanagedViews()
3149{ 3188{
3150 mDateNavigator->updateDayMatrix(); 3189 mDateNavigator->updateDayMatrix();
3151} 3190}
3152 3191
3153int CalendarView::msgItemDelete(const QString name) 3192int CalendarView::msgItemDelete(const QString name)
3154{ 3193{
3155 return KMessageBox::warningContinueCancel(this,name +"\n\n"+ 3194 return KMessageBox::warningContinueCancel(this,name +"\n\n"+
3156 i18n("This item will be\npermanently deleted."), 3195 i18n("This item will be\npermanently deleted."),
3157 i18n("KO/Pi Confirmation"),i18n("Delete")); 3196 i18n("KO/Pi Confirmation"),i18n("Delete"));
3158} 3197}
3159 3198
3160 3199
3161void CalendarView::edit_cut() 3200void CalendarView::edit_cut()
3162{ 3201{
3163 Event *anEvent=0; 3202 Event *anEvent=0;
3164 3203
3165 Incidence *incidence = mViewManager->currentView()->selectedIncidences().first(); 3204 Incidence *incidence = mViewManager->currentView()->selectedIncidences().first();
3166 3205
3167 if (mViewManager->currentView()->isEventView()) { 3206 if (mViewManager->currentView()->isEventView()) {
3168 if ( incidence && incidence->typeID() == eventID ) { 3207 if ( incidence && incidence->typeID() == eventID ) {
3169 anEvent = static_cast<Event *>(incidence); 3208 anEvent = static_cast<Event *>(incidence);
3170 } 3209 }
3171 } 3210 }
3172 3211
3173 if (!anEvent) { 3212 if (!anEvent) {
3174 KNotifyClient::beep(); 3213 KNotifyClient::beep();
3175 return; 3214 return;
3176 } 3215 }
3177 DndFactory factory( mCalendar ); 3216 DndFactory factory( mCalendar );
3178 factory.cutIncidence(anEvent); 3217 factory.cutIncidence(anEvent);
3179 changeEventDisplay(anEvent, KOGlobals::EVENTDELETED); 3218 changeEventDisplay(anEvent, KOGlobals::EVENTDELETED);
3180} 3219}
3181 3220
3182void CalendarView::edit_copy() 3221void CalendarView::edit_copy()
3183{ 3222{
3184 Event *anEvent=0; 3223 Event *anEvent=0;
3185 3224
3186 Incidence *incidence = mViewManager->currentView()->selectedIncidences().first(); 3225 Incidence *incidence = mViewManager->currentView()->selectedIncidences().first();
3187 3226
3188 if (mViewManager->currentView()->isEventView()) { 3227 if (mViewManager->currentView()->isEventView()) {
3189 if ( incidence && incidence->typeID() == eventID ) { 3228 if ( incidence && incidence->typeID() == eventID ) {
diff --git a/korganizer/koprefs.cpp b/korganizer/koprefs.cpp
index 77f572c..571ca11 100644
--- a/korganizer/koprefs.cpp
+++ b/korganizer/koprefs.cpp
@@ -137,193 +137,201 @@ KOPrefs::KOPrefs() :
137 137
138 addItemBool("Enable Group Scheduling",&mEnableGroupScheduling,false); 138 addItemBool("Enable Group Scheduling",&mEnableGroupScheduling,false);
139 addItemBool("Enable Project View",&mEnableProjectView,false); 139 addItemBool("Enable Project View",&mEnableProjectView,false);
140 addItemBool("Auto Save",&mAutoSave,false); 140 addItemBool("Auto Save",&mAutoSave,false);
141 addItemInt("Auto Save Interval",&mAutoSaveInterval,3); 141 addItemInt("Auto Save Interval",&mAutoSaveInterval,3);
142 addItemBool("Confirm Deletes",&mConfirm,true); 142 addItemBool("Confirm Deletes",&mConfirm,true);
143 addItemString("Archive File",&mArchiveFile); 143 addItemString("Archive File",&mArchiveFile);
144 addItemString("Html Export File",&mHtmlExportFile, 144 addItemString("Html Export File",&mHtmlExportFile,
145 QDir::homeDirPath() + "/" + i18n("Default export file", "calendar.html")); 145 QDir::homeDirPath() + "/" + i18n("Default export file", "calendar.html"));
146 addItemBool("Html With Save",&mHtmlWithSave,false); 146 addItemBool("Html With Save",&mHtmlWithSave,false);
147 147
148 KPrefs::setCurrentGroup("Personal Settings"); 148 KPrefs::setCurrentGroup("Personal Settings");
149 149
150 addItemInt("Mail Client",&mMailClient,MailClientKMail); 150 addItemInt("Mail Client",&mMailClient,MailClientKMail);
151 addItemBool("Use Control Center Email",&mEmailControlCenter,false); 151 addItemBool("Use Control Center Email",&mEmailControlCenter,false);
152 addItemBool("Bcc",&mBcc,false); 152 addItemBool("Bcc",&mBcc,false);
153 153
154 KPrefs::setCurrentGroup("Time & Date"); 154 KPrefs::setCurrentGroup("Time & Date");
155 155
156 156
157 addItemInt("Default Start Time",&mStartTime,10); 157 addItemInt("Default Start Time",&mStartTime,10);
158 addItemInt("Default Duration",&mDefaultDuration,2); 158 addItemInt("Default Duration",&mDefaultDuration,2);
159 addItemInt("Default Alarm Time",&mAlarmTime,3); 159 addItemInt("Default Alarm Time",&mAlarmTime,3);
160 KPrefs::setCurrentGroup("AlarmSettings"); 160 KPrefs::setCurrentGroup("AlarmSettings");
161 addItemInt("AlarmPlayBeeps",&mAlarmPlayBeeps,20); 161 addItemInt("AlarmPlayBeeps",&mAlarmPlayBeeps,20);
162 addItemInt("AlarmSuspendTime",&mAlarmSuspendTime,7); 162 addItemInt("AlarmSuspendTime",&mAlarmSuspendTime,7);
163 addItemInt("AlarmSuspendCount",&mAlarmSuspendCount,5); 163 addItemInt("AlarmSuspendCount",&mAlarmSuspendCount,5);
164 addItemInt("AlarmBeepInterval",&mAlarmBeepInterval,3); 164 addItemInt("AlarmBeepInterval",&mAlarmBeepInterval,3);
165 165
166 166
167 KPrefs::setCurrentGroup("Calendar"); 167 KPrefs::setCurrentGroup("Calendar");
168 168
169 addItemInt("Default Calendar Format",&mDefaultFormat,FormatICalendar); 169 addItemInt("Default Calendar Format",&mDefaultFormat,FormatICalendar);
170 170
171 KPrefs::setCurrentGroup("Fonts"); 171 KPrefs::setCurrentGroup("Fonts");
172 // qDebug(" KPrefs::setCurrentGroup(Fonts); "); 172 // qDebug(" KPrefs::setCurrentGroup(Fonts); ");
173 QFont fon = KGlobalSettings::generalFont(); 173 QFont fon = KGlobalSettings::generalFont();
174 addItemFont("TimeBar Font",&mTimeBarFont,fon ); 174 addItemFont("TimeBar Font",&mTimeBarFont,fon );
175 addItemFont("MonthView Font",&mMonthViewFont,fon); 175 addItemFont("MonthView Font",&mMonthViewFont,fon);
176 addItemFont("AgendaView Font",&mAgendaViewFont,fon); 176 addItemFont("AgendaView Font",&mAgendaViewFont,fon);
177 addItemFont("MarcusBains Font",&mMarcusBainsFont,fon); 177 addItemFont("MarcusBains Font",&mMarcusBainsFont,fon);
178 addItemFont("TimeLabels Font",&mTimeLabelsFont,fon); 178 addItemFont("TimeLabels Font",&mTimeLabelsFont,fon);
179 addItemFont("TodoView Font",&mTodoViewFont,fon); 179 addItemFont("TodoView Font",&mTodoViewFont,fon);
180 addItemFont("ListView Font",&mListViewFont,fon); 180 addItemFont("ListView Font",&mListViewFont,fon);
181 addItemFont("DateNavigator Font",&mDateNavigatorFont,fon); 181 addItemFont("DateNavigator Font",&mDateNavigatorFont,fon);
182 addItemFont("EditBox Font",&mEditBoxFont,fon); 182 addItemFont("EditBox Font",&mEditBoxFont,fon);
183 addItemFont("JournalView Font",&mJornalViewFont,fon); 183 addItemFont("JournalView Font",&mJornalViewFont,fon);
184 addItemFont("WhatsNextView Font",&mWhatsNextFont,fon); 184 addItemFont("WhatsNextView Font",&mWhatsNextFont,fon);
185 addItemFont("EventView Font",&mEventViewFont,fon); 185 addItemFont("EventView Font",&mEventViewFont,fon);
186 186
187 KPrefs::setCurrentGroup("RemoteSyncing"); 187 KPrefs::setCurrentGroup("RemoteSyncing");
188 addItemString("ActiveSyncPort",&mActiveSyncPort,"9197" ); 188 addItemString("ActiveSyncPort",&mActiveSyncPort,"9197" );
189 addItemString("ActiveSyncIP",&mActiveSyncIP,"192.168.0.40" ); 189 addItemString("ActiveSyncIP",&mActiveSyncIP,"192.168.0.40" );
190 addItemBool("ShowSyncEvents",&mShowSyncEvents,false); 190 addItemBool("ShowSyncEvents",&mShowSyncEvents,false);
191 addItemInt("LastSyncTime",&mLastSyncTime,0); 191 addItemInt("LastSyncTime",&mLastSyncTime,0);
192 192
193#ifdef _WIN32_ 193#ifdef _WIN32_
194 QString hdp= locateLocal("data","korganizer")+"\\\\"; 194 QString hdp= locateLocal("data","korganizer")+"\\\\";
195#else 195#else
196 QString hdp= locateLocal("data","korganizer")+"/"; 196 QString hdp= locateLocal("data","korganizer")+"/";
197#endif 197#endif
198 198
199 KPrefs::setCurrentGroup("LoadSaveFileNames"); 199 KPrefs::setCurrentGroup("LoadSaveFileNames");
200 200
201 addItemString("LastImportFile", &mLastImportFile ,hdp +"import.ics" ); 201 addItemString("LastImportFile", &mLastImportFile ,hdp +"import.ics" );
202 addItemString("LastVcalFile", &mLastVcalFile ,hdp +"export.vcs" ); 202 addItemString("LastVcalFile", &mLastVcalFile ,hdp +"export.vcs" );
203 addItemString("LastSaveFile", &mLastSaveFile ,hdp +"mybackup.ics" ); 203 addItemString("LastSaveFile", &mLastSaveFile ,hdp +"mybackup.ics" );
204 addItemString("LastLoadFile", &mLastLoadFile ,hdp +"mybackup.ics" ); 204 addItemString("LastLoadFile", &mLastLoadFile ,hdp +"mybackup.ics" );
205 205
206 206
207 KPrefs::setCurrentGroup("Locale"); 207 KPrefs::setCurrentGroup("Locale");
208 addItemBool("ShortDateInViewer",&mShortDateInViewer,false); 208 addItemBool("ShortDateInViewer",&mShortDateInViewer,false);
209 209
210 210
211 KPrefs::setCurrentGroup("Colors"); 211 KPrefs::setCurrentGroup("Colors");
212 addItemColor("Holiday Color",&mHolidayColor,defaultHolidayColor); 212 addItemColor("Holiday Color",&mHolidayColor,defaultHolidayColor);
213 addItemColor("Highlight Color",&mHighlightColor,defaultHighlightColor); 213 addItemColor("Highlight Color",&mHighlightColor,defaultHighlightColor);
214 addItemColor("Event Color",&mEventColor,mDefaultCategoryColor); 214 addItemColor("Event Color",&mEventColor,mDefaultCategoryColor);
215 addItemColor("Todo done Color",&mTodoDoneColor,QColor(111,255,115) ); 215 addItemColor("Todo done Color",&mTodoDoneColor,QColor(111,255,115) );
216 addItemColor("Agenda Background Color",&mAgendaBgColor,defaultAgendaBgColor); 216 addItemColor("Agenda Background Color",&mAgendaBgColor,defaultAgendaBgColor);
217 addItemColor("WorkingHours Color",&mWorkingHoursColor,defaultWorkingHoursColor); 217 addItemColor("WorkingHours Color",&mWorkingHoursColor,defaultWorkingHoursColor);
218 addItemColor("Todo due today Color",&mTodoDueTodayColor,defaultTodoDueTodayColor); 218 addItemColor("Todo due today Color",&mTodoDueTodayColor,defaultTodoDueTodayColor);
219 addItemColor("Todo overdue Color",&mTodoOverdueColor,defaultTodoOverdueColor); 219 addItemColor("Todo overdue Color",&mTodoOverdueColor,defaultTodoOverdueColor);
220 addItemColor("Todo running Color",&mTodoRunColor,defaultTodoRunColor); 220 addItemColor("Todo running Color",&mTodoRunColor,defaultTodoRunColor);
221 addItemColor("MonthViewEvenColor",&mMonthViewEvenColor,QColor( 160,160,255 )); 221 addItemColor("MonthViewEvenColor",&mMonthViewEvenColor,QColor( 160,160,255 ));
222 addItemColor("MonthViewOddColor",&mMonthViewOddColor,QColor( 160,255,160 )); 222 addItemColor("MonthViewOddColor",&mMonthViewOddColor,QColor( 160,255,160 ));
223 addItemColor("MonthViewHolidayColor",&mMonthViewHolidayColor,QColor( 255,160,160 )); 223 addItemColor("MonthViewHolidayColor",&mMonthViewHolidayColor,QColor( 255,160,160 ));
224 addItemBool("MonthViewUsesDayColors",&mMonthViewUsesDayColors,true); 224 addItemBool("MonthViewUsesDayColors",&mMonthViewUsesDayColors,true);
225 addItemBool("MonthViewSatSunTog",&mMonthViewSatSunTog,true); 225 addItemBool("MonthViewSatSunTog",&mMonthViewSatSunTog,true);
226 addItemBool("MonthViewWeek",&mMonthViewWeek,false); 226 addItemBool("MonthViewWeek",&mMonthViewWeek,false);
227 addItemBool("HightlightDateTimeEdit",&mHightlightDateTimeEdit,false); 227 addItemBool("HightlightDateTimeEdit",&mHightlightDateTimeEdit,false);
228 addItemColor("AppColor1",&mAppColor1,QColor( 130,170,255 )); 228 addItemColor("AppColor1",&mAppColor1,QColor( 130,170,255 ));
229 addItemColor("AppColor2",&mAppColor2,QColor( 174,216,255 )); 229 addItemColor("AppColor2",&mAppColor2,QColor( 174,216,255 ));
230 addItemBool("UseAppColors",&mUseAppColors,false); 230 addItemBool("UseAppColors",&mUseAppColors,false);
231 231
232 232
233 233 KPrefs::setCurrentGroup("Conflicts");
234 addItemBool("EnableAutoDetect",&mDetectConflicts,true);
235 addItemBool("CheckConflictsAllDayAllDay",&mCheckConflictsAllDayAllDay,false);
236 addItemBool("CheckConflictsAllDayNonAD",&mCheckConflictsAllDayNonAD,false);
237 addItemBool("CheckConflictsNonADAllDay",&mCheckConflictsNonADAllDay,false);
238 addItemBool("CheckConflictsNonADNonAD",&mCheckConflictsNonADNonAD,true);
239 addItemString("FilterConflictEditItem", &mFilterConflictEditItem ,"nofilter" );
240 addItemString("FilterConflictAllItem", &mFilterConflictAllItem ,"nofilter" );
241
234 KPrefs::setCurrentGroup("Views"); 242 KPrefs::setCurrentGroup("Views");
235 addItemBool("Block Popup Menu",&mBlockPopupMenu,false); 243 addItemBool("Block Popup Menu",&mBlockPopupMenu,false);
236 addItemBool("Show Date Navigator",&mShowDateNavigator,true); 244 addItemBool("Show Date Navigator",&mShowDateNavigator,true);
237 addItemInt("Hour Size",&mHourSize,8); 245 addItemInt("Hour Size",&mHourSize,8);
238 addItemBool("Show Daily Recurrences",&mDailyRecur,true); 246 addItemBool("Show Daily Recurrences",&mDailyRecur,true);
239 addItemBool("Show Weekly Recurrences",&mWeeklyRecur,true); 247 addItemBool("Show Weekly Recurrences",&mWeeklyRecur,true);
240 addItemBool("Show Month Daily Recurrences",&mMonthDailyRecur,true); 248 addItemBool("Show Month Daily Recurrences",&mMonthDailyRecur,true);
241 addItemBool("Show Month Weekly Recurrences",&mMonthWeeklyRecur,true); 249 addItemBool("Show Month Weekly Recurrences",&mMonthWeeklyRecur,true);
242 addItemBool("ShowShortMonthName",&mMonthShowShort,false); 250 addItemBool("ShowShortMonthName",&mMonthShowShort,false);
243 addItemBool("ShowIconsInMonthCell",&mMonthShowIcons,true); 251 addItemBool("ShowIconsInMonthCell",&mMonthShowIcons,true);
244 addItemBool("ShowTimesInMonthCell",&mMonthShowTimes,true); 252 addItemBool("ShowTimesInMonthCell",&mMonthShowTimes,true);
245#ifdef DESKTOP_VERION 253#ifdef DESKTOP_VERION
246 addItemBool("Enable ToolTips",&mEnableToolTips,true); 254 addItemBool("Enable ToolTips",&mEnableToolTips,true);
247#else 255#else
248 addItemBool("Enable ToolTips",&mEnableToolTips,false); 256 addItemBool("Enable ToolTips",&mEnableToolTips,false);
249#endif 257#endif
250 addItemBool("Enable MonthView ScrollBars",&mEnableMonthScroll,false); 258 addItemBool("Enable MonthView ScrollBars",&mEnableMonthScroll,false);
251 addItemBool("Marcus Bains shows seconds",&mMarcusBainsShowSeconds,false); 259 addItemBool("Marcus Bains shows seconds",&mMarcusBainsShowSeconds,false);
252 addItemBool("Show Marcus Bains",&mMarcusBainsEnabled,true); 260 addItemBool("Show Marcus Bains",&mMarcusBainsEnabled,true);
253 addItemBool("EditOnDoubleClick",&mEditOnDoubleClick,true); 261 addItemBool("EditOnDoubleClick",&mEditOnDoubleClick,true);
254 addItemBool("ViewChangeHoldFullscreen",&mViewChangeHoldFullscreen,true); 262 addItemBool("ViewChangeHoldFullscreen",&mViewChangeHoldFullscreen,true);
255 addItemBool("ViewChangeHoldNonFullscreen",&mViewChangeHoldNonFullscreen,false); 263 addItemBool("ViewChangeHoldNonFullscreen",&mViewChangeHoldNonFullscreen,false);
256 addItemBool("CenterOnCurrentTime",&mCenterOnCurrentTime,false); 264 addItemBool("CenterOnCurrentTime",&mCenterOnCurrentTime,false);
257 addItemBool("SetTimeToDayStartAt",&mSetTimeToDayStartAt,true); 265 addItemBool("SetTimeToDayStartAt",&mSetTimeToDayStartAt,true);
258 addItemBool("HighlightCurrentDay",&mHighlightCurrentDay,true); 266 addItemBool("HighlightCurrentDay",&mHighlightCurrentDay,true);
259 addItemBool("WNViewShowsParents",&mWNViewShowsParents,true);; 267 addItemBool("WNViewShowsParents",&mWNViewShowsParents,true);;
260 addItemBool("WNViewShowsPast",&mWNViewShowsPast,true); 268 addItemBool("WNViewShowsPast",&mWNViewShowsPast,true);
261 addItemBool("WNViewShowLocation",&mWNViewShowLocation,false); 269 addItemBool("WNViewShowLocation",&mWNViewShowLocation,false);
262 addItemBool("UseHighlightLightColor",&mUseHighlightLightColor,false); 270 addItemBool("UseHighlightLightColor",&mUseHighlightLightColor,false);
263 addItemBool("ListViewMonthTimespan",&mListViewMonthTimespan,true); 271 addItemBool("ListViewMonthTimespan",&mListViewMonthTimespan,true);
264 addItemBool("TodoViewUsesCatColors",&mTodoViewUsesCatColors,false); 272 addItemBool("TodoViewUsesCatColors",&mTodoViewUsesCatColors,false);
265 addItemBool("TodoViewShowsPercentage",&mTodoViewShowsPercentage,false); 273 addItemBool("TodoViewShowsPercentage",&mTodoViewShowsPercentage,false);
266 addItemBool("TodoViewUsesSmallFont",&mTodoViewUsesSmallFont,true); 274 addItemBool("TodoViewUsesSmallFont",&mTodoViewUsesSmallFont,true);
267 addItemBool("MonthViewUsesBigFont",&mMonthViewUsesBigFont,true); 275 addItemBool("MonthViewUsesBigFont",&mMonthViewUsesBigFont,true);
268 addItemBool("MonthViewWeekRowlayout",&mMonthViewWeekRowlayout,false); 276 addItemBool("MonthViewWeekRowlayout",&mMonthViewWeekRowlayout,false);
269 addItemBool("TodoViewUsesForegroundColor",&mTodoViewUsesForegroundColor,false); 277 addItemBool("TodoViewUsesForegroundColor",&mTodoViewUsesForegroundColor,false);
270 addItemBool("MonthViewUsesForegroundColor",&mMonthViewUsesForegroundColor,false); 278 addItemBool("MonthViewUsesForegroundColor",&mMonthViewUsesForegroundColor,false);
271#ifdef DESKTOP_VERSION 279#ifdef DESKTOP_VERSION
272 addItemBool("UseInternalAlarmNotification",&mUseInternalAlarmNotification,true); 280 addItemBool("UseInternalAlarmNotification",&mUseInternalAlarmNotification,true);
273#else 281#else
274 addItemBool("UseInternalAlarmNotification",&mUseInternalAlarmNotification,false); 282 addItemBool("UseInternalAlarmNotification",&mUseInternalAlarmNotification,false);
275#endif 283#endif
276 addItemInt("Day Begins",&mDayBegins,7); 284 addItemInt("Day Begins",&mDayBegins,7);
277 addItemInt("Working Hours Start",&mWorkingHoursStart,8); 285 addItemInt("Working Hours Start",&mWorkingHoursStart,8);
278 addItemInt("Working Hours End",&mWorkingHoursEnd,17); 286 addItemInt("Working Hours End",&mWorkingHoursEnd,17);
279 addItemBool("Exclude Holidays",&mExcludeHolidays,true); 287 addItemBool("Exclude Holidays",&mExcludeHolidays,true);
280 addItemBool("Exclude Saturdays",&mExcludeSaturdays,true); 288 addItemBool("Exclude Saturdays",&mExcludeSaturdays,true);
281 289
282 addItemBool("Month View Uses Category Color",&mMonthViewUsesCategoryColor,false); 290 addItemBool("Month View Uses Category Color",&mMonthViewUsesCategoryColor,false);
283 addItemBool("Full View Month",&mFullViewMonth,true); 291 addItemBool("Full View Month",&mFullViewMonth,true);
284 addItemBool("Full View Todo",&mFullViewTodo,true); 292 addItemBool("Full View Todo",&mFullViewTodo,true);
285 addItemBool("Quick Todo",&mEnableQuickTodo,false); 293 addItemBool("Quick Todo",&mEnableQuickTodo,false);
286 294
287 addItemInt("Next X Days",&mNextXDays,3); 295 addItemInt("Next X Days",&mNextXDays,3);
288 296
289 KPrefs::setCurrentGroup("Printer"); 297 KPrefs::setCurrentGroup("Printer");
290 298
291 KPrefs::setCurrentGroup("Layout"); 299 KPrefs::setCurrentGroup("Layout");
292 300
293 addItemBool("CompactDialogs",&mCompactDialogs,false); 301 addItemBool("CompactDialogs",&mCompactDialogs,false);
294 addItemBool("VerticalScreen",&mVerticalScreen,true); 302 addItemBool("VerticalScreen",&mVerticalScreen,true);
295 303
296 KPrefs::setCurrentGroup("KOrganizer Plugins"); 304 KPrefs::setCurrentGroup("KOrganizer Plugins");
297 305
298 addItemStringList("SelectedPlugins",&mSelectedPlugins,"holidays"); 306 addItemStringList("SelectedPlugins",&mSelectedPlugins,"holidays");
299 307
300 KPrefs::setCurrentGroup("Group Scheduling"); 308 KPrefs::setCurrentGroup("Group Scheduling");
301 309
302 addItemInt("IMIPScheduler",&mIMIPScheduler,IMIPKMail); 310 addItemInt("IMIPScheduler",&mIMIPScheduler,IMIPKMail);
303 addItemInt("IMIPSend",&mIMIPSend,IMIPdirectsend); 311 addItemInt("IMIPSend",&mIMIPSend,IMIPdirectsend);
304 addItemStringList("AdditionalMails",&mAdditionalMails,""); 312 addItemStringList("AdditionalMails",&mAdditionalMails,"");
305 addItemInt("IMIP auto refresh",&mIMIPAutoRefresh,neverAuto); 313 addItemInt("IMIP auto refresh",&mIMIPAutoRefresh,neverAuto);
306 addItemInt("IMIP auto insert request",&mIMIPAutoInsertRequest,neverAuto); 314 addItemInt("IMIP auto insert request",&mIMIPAutoInsertRequest,neverAuto);
307 addItemInt("IMIP auto insert reply",&mIMIPAutoInsertReply,neverAuto); 315 addItemInt("IMIP auto insert reply",&mIMIPAutoInsertReply,neverAuto);
308 addItemInt("IMIP auto FreeBusy",&mIMIPAutoFreeBusy,neverAuto); 316 addItemInt("IMIP auto FreeBusy",&mIMIPAutoFreeBusy,neverAuto);
309 addItemInt("IMIP auto save FreeBusy",&mIMIPAutoFreeBusyReply,neverAuto); 317 addItemInt("IMIP auto save FreeBusy",&mIMIPAutoFreeBusyReply,neverAuto);
310 318
311 KPrefs::setCurrentGroup( "Editors" ); 319 KPrefs::setCurrentGroup( "Editors" );
312 320
313 addItemStringList( "EventTemplates", &mEventTemplates ); 321 addItemStringList( "EventTemplates", &mEventTemplates );
314 addItemStringList( "TodoTemplates", &mTodoTemplates ); 322 addItemStringList( "TodoTemplates", &mTodoTemplates );
315 323
316 addItemInt("DestinationPolicy",&mDestination,standardDestination); 324 addItemInt("DestinationPolicy",&mDestination,standardDestination);
317 325
318 KPrefs::setCurrentGroup( "ViewOptions" ); 326 KPrefs::setCurrentGroup( "ViewOptions" );
319 addItemBool("EVshowDetails",&mEVshowDetails,true); 327 addItemBool("EVshowDetails",&mEVshowDetails,true);
320 addItemBool("EVshowCreated",&mEVshowCreated,true); 328 addItemBool("EVshowCreated",&mEVshowCreated,true);
321 addItemBool("EVshowChanged",&mEVshowChanged,true); 329 addItemBool("EVshowChanged",&mEVshowChanged,true);
322 addItemBool("WTshowDetails",&mWTshowDetails,false); 330 addItemBool("WTshowDetails",&mWTshowDetails,false);
323 addItemBool("WTshowCreated",&mWTshowCreated,false); 331 addItemBool("WTshowCreated",&mWTshowCreated,false);
324 addItemBool("WTshowChanged",&mWTshowChanged,false); 332 addItemBool("WTshowChanged",&mWTshowChanged,false);
325 mCalendars.setAutoDelete( true ); 333 mCalendars.setAutoDelete( true );
326} 334}
327 335
328 336
329KOPrefs::~KOPrefs() 337KOPrefs::~KOPrefs()
diff --git a/korganizer/koprefs.h b/korganizer/koprefs.h
index 9749ba3..576edf9 100644
--- a/korganizer/koprefs.h
+++ b/korganizer/koprefs.h
@@ -256,110 +256,119 @@ class KOPrefs : public KPimPrefs
256 256
257 bool mAskForQuit; 257 bool mAskForQuit;
258 bool mUsePassWd; 258 bool mUsePassWd;
259 bool mShowSyncEvents; 259 bool mShowSyncEvents;
260 bool mShowTodoInAgenda; 260 bool mShowTodoInAgenda;
261 bool mShowCompletedTodoInAgenda; 261 bool mShowCompletedTodoInAgenda;
262 bool mShowTimeInAgenda; 262 bool mShowTimeInAgenda;
263 bool mHideNonStartedTodos; 263 bool mHideNonStartedTodos;
264 264
265 bool mBlockPopupMenu; 265 bool mBlockPopupMenu;
266 266
267 int mLastSyncTime; 267 int mLastSyncTime;
268 void setCategoryColor(QString cat,const QColor & color); 268 void setCategoryColor(QString cat,const QColor & color);
269 QColor *categoryColor(QString cat); 269 QColor *categoryColor(QString cat);
270 270
271 QString mArchiveFile; 271 QString mArchiveFile;
272 QString mHtmlExportFile; 272 QString mHtmlExportFile;
273 bool mHtmlWithSave; 273 bool mHtmlWithSave;
274 274
275 QStringList mSelectedPlugins; 275 QStringList mSelectedPlugins;
276 276
277 QString mLastImportFile; 277 QString mLastImportFile;
278 QString mLastVcalFile; 278 QString mLastVcalFile;
279 QString mLastSaveFile; 279 QString mLastSaveFile;
280 QString mLastLoadFile; 280 QString mLastLoadFile;
281 281
282 282
283 QString mDefaultAlarmFile; 283 QString mDefaultAlarmFile;
284 int mIMIPScheduler; 284 int mIMIPScheduler;
285 int mIMIPSend; 285 int mIMIPSend;
286 QStringList mAdditionalMails; 286 QStringList mAdditionalMails;
287 int mIMIPAutoRefresh; 287 int mIMIPAutoRefresh;
288 int mIMIPAutoInsertReply; 288 int mIMIPAutoInsertReply;
289 int mIMIPAutoInsertRequest; 289 int mIMIPAutoInsertRequest;
290 int mIMIPAutoFreeBusy; 290 int mIMIPAutoFreeBusy;
291 int mIMIPAutoFreeBusyReply; 291 int mIMIPAutoFreeBusyReply;
292 292
293 QStringList mTodoTemplates; 293 QStringList mTodoTemplates;
294 QStringList mEventTemplates; 294 QStringList mEventTemplates;
295 295
296 int mDestination; 296 int mDestination;
297 297
298 298
299 bool mEditOnDoubleClick; 299 bool mEditOnDoubleClick;
300 bool mViewChangeHoldFullscreen; 300 bool mViewChangeHoldFullscreen;
301 bool mViewChangeHoldNonFullscreen; 301 bool mViewChangeHoldNonFullscreen;
302 bool mCenterOnCurrentTime; 302 bool mCenterOnCurrentTime;
303 bool mSetTimeToDayStartAt; 303 bool mSetTimeToDayStartAt;
304 bool mHighlightCurrentDay; 304 bool mHighlightCurrentDay;
305 bool mUseHighlightLightColor; 305 bool mUseHighlightLightColor;
306 bool mListViewMonthTimespan; 306 bool mListViewMonthTimespan;
307 bool mWNViewShowsParents; 307 bool mWNViewShowsParents;
308 bool mWNViewShowsPast; 308 bool mWNViewShowsPast;
309 bool mWNViewShowLocation; 309 bool mWNViewShowLocation;
310 bool mTodoViewShowsPercentage; 310 bool mTodoViewShowsPercentage;
311 bool mTodoViewUsesCatColors; 311 bool mTodoViewUsesCatColors;
312 bool mMonthViewUsesBigFont; 312 bool mMonthViewUsesBigFont;
313 bool mTodoViewUsesSmallFont; 313 bool mTodoViewUsesSmallFont;
314 bool mTodoViewUsesForegroundColor; 314 bool mTodoViewUsesForegroundColor;
315 bool mMonthViewUsesForegroundColor; 315 bool mMonthViewUsesForegroundColor;
316 316
317 bool mHightlightDateTimeEdit; 317 bool mHightlightDateTimeEdit;
318 bool mShortDateInViewer; 318 bool mShortDateInViewer;
319 319
320 bool mShowDateNavigator; 320 bool mShowDateNavigator;
321 321
322 QStringList mLocationDefaults; 322 QStringList mLocationDefaults;
323 QStringList mEventSummaryUser; 323 QStringList mEventSummaryUser;
324 QStringList mTodoSummaryUser; 324 QStringList mTodoSummaryUser;
325 QStringList mJournalSummaryUser; 325 QStringList mJournalSummaryUser;
326 326
327 bool mUseInternalAlarmNotification; 327 bool mUseInternalAlarmNotification;
328 int mAlarmPlayBeeps; 328 int mAlarmPlayBeeps;
329 int mAlarmSuspendTime; 329 int mAlarmSuspendTime;
330 int mAlarmSuspendCount; 330 int mAlarmSuspendCount;
331 int mAlarmBeepInterval; 331 int mAlarmBeepInterval;
332 int mOldLanguage; 332 int mOldLanguage;
333 int mOldLoadedLanguage; 333 int mOldLoadedLanguage;
334 334
335 335
336 QString mActiveSyncPort; 336 QString mActiveSyncPort;
337 QString mActiveSyncIP; 337 QString mActiveSyncIP;
338 338
339 // settings for eventviewer 339 // settings for eventviewer
340 bool mEVshowDetails; 340 bool mEVshowDetails;
341 bool mEVshowCreated; 341 bool mEVshowCreated;
342 bool mEVshowChanged; 342 bool mEVshowChanged;
343 bool mWTshowDetails; 343 bool mWTshowDetails;
344 bool mWTshowCreated; 344 bool mWTshowCreated;
345 bool mWTshowChanged; 345 bool mWTshowChanged;
346 346
347 int mCurrentDisplayedView; 347 int mCurrentDisplayedView;
348 QPtrList<KopiCalendarFile> mCalendars; 348 QPtrList<KopiCalendarFile> mCalendars;
349 int mNextAvailableCalendar; 349 int mNextAvailableCalendar;
350 bool mGlobalUpdateDisabled; 350 bool mGlobalUpdateDisabled;
351 351
352
353 bool mDetectConflicts;
354 bool mCheckConflictsAllDayAllDay;
355 bool mCheckConflictsAllDayNonAD;
356 bool mCheckConflictsNonADAllDay;
357 bool mCheckConflictsNonADNonAD;
358 QString mFilterConflictEditItem;
359 QString mFilterConflictAllItem;
360
352 private: 361 private:
353 QDict<QColor> mCategoryColors; 362 QDict<QColor> mCategoryColors;
354 QArray<KopiCalendarFile*> mDefCalColors; 363 QArray<KopiCalendarFile*> mDefCalColors;
355 QColor mDefaultCategoryColor; 364 QColor mDefaultCategoryColor;
356 365
357 QFont mDefaultTimeBarFont; 366 QFont mDefaultTimeBarFont;
358 QFont mDefaultViewFont; 367 QFont mDefaultViewFont;
359 QFont mDefaultMonthViewFont; 368 QFont mDefaultMonthViewFont;
360 369
361 QString mName; 370 QString mName;
362 QString mEmail; 371 QString mEmail;
363}; 372};
364 373
365#endif 374#endif
diff --git a/korganizer/koprefsdialog.cpp b/korganizer/koprefsdialog.cpp
index 9e2378a..bbdf508 100644
--- a/korganizer/koprefsdialog.cpp
+++ b/korganizer/koprefsdialog.cpp
@@ -829,192 +829,227 @@ dummy =
829 topLayout->addWidget(showCompletedTodo->checkBox(),ii++,0); 829 topLayout->addWidget(showCompletedTodo->checkBox(),ii++,0);
830 dummy = 830 dummy =
831 addWidBool(i18n("To-do view shows complete as 'xx %'"), 831 addWidBool(i18n("To-do view shows complete as 'xx %'"),
832 &(KOPrefs::instance()->mTodoViewShowsPercentage),topFrame); 832 &(KOPrefs::instance()->mTodoViewShowsPercentage),topFrame);
833 topLayout->addWidget(dummy->checkBox(),ii++,0); 833 topLayout->addWidget(dummy->checkBox(),ii++,0);
834 834
835 dummy = 835 dummy =
836 addWidBool(i18n("Small To-do view uses smaller font"), 836 addWidBool(i18n("Small To-do view uses smaller font"),
837 &(KOPrefs::instance()->mTodoViewUsesSmallFont),topFrame); 837 &(KOPrefs::instance()->mTodoViewUsesSmallFont),topFrame);
838 topLayout->addWidget(dummy->checkBox(),ii++,0); 838 topLayout->addWidget(dummy->checkBox(),ii++,0);
839 839
840 840
841 841
842 dummy = 842 dummy =
843 addWidBool(i18n("Todo view uses category colors"), 843 addWidBool(i18n("Todo view uses category colors"),
844 &(KOPrefs::instance()->mTodoViewUsesCatColors),topFrame); 844 &(KOPrefs::instance()->mTodoViewUsesCatColors),topFrame);
845 topLayout->addWidget(dummy->checkBox(),ii++,0); 845 topLayout->addWidget(dummy->checkBox(),ii++,0);
846 846
847 847
848 QWidget* wid = new QWidget( topFrame ); 848 QWidget* wid = new QWidget( topFrame );
849 // Todo run today color 849 // Todo run today color
850 KPrefsDialogWidColor *todoRunColor = 850 KPrefsDialogWidColor *todoRunColor =
851 addWidColor(i18n("Color for running todos:"), 851 addWidColor(i18n("Color for running todos:"),
852 &(KOPrefs::instance()->mTodoRunColor),wid); 852 &(KOPrefs::instance()->mTodoRunColor),wid);
853 QHBoxLayout *widLayout = new QHBoxLayout(wid); 853 QHBoxLayout *widLayout = new QHBoxLayout(wid);
854 widLayout->addWidget( todoRunColor->label() ); 854 widLayout->addWidget( todoRunColor->label() );
855 widLayout->addWidget( todoRunColor->button() ); 855 widLayout->addWidget( todoRunColor->button() );
856 topLayout->addWidget(wid,ii++,0); 856 topLayout->addWidget(wid,ii++,0);
857 857
858 wid = new QWidget( topFrame ); 858 wid = new QWidget( topFrame );
859 // Todo due today color 859 // Todo due today color
860 KPrefsDialogWidColor *todoDueTodayColor = 860 KPrefsDialogWidColor *todoDueTodayColor =
861 addWidColor(i18n("Todo due today color:"), 861 addWidColor(i18n("Todo due today color:"),
862 &(KOPrefs::instance()->mTodoDueTodayColor),wid); 862 &(KOPrefs::instance()->mTodoDueTodayColor),wid);
863 widLayout = new QHBoxLayout(wid); 863 widLayout = new QHBoxLayout(wid);
864 widLayout->addWidget( todoDueTodayColor->label() ); 864 widLayout->addWidget( todoDueTodayColor->label() );
865 widLayout->addWidget( todoDueTodayColor->button() ); 865 widLayout->addWidget( todoDueTodayColor->button() );
866 topLayout->addWidget(wid,ii++,0); 866 topLayout->addWidget(wid,ii++,0);
867 //topLayout->addWidget(todoDueTodayColor->button(),ii++,1); 867 //topLayout->addWidget(todoDueTodayColor->button(),ii++,1);
868 868
869 // Todo overdue color 869 // Todo overdue color
870 wid = new QWidget( topFrame ); 870 wid = new QWidget( topFrame );
871 widLayout = new QHBoxLayout(wid); 871 widLayout = new QHBoxLayout(wid);
872 KPrefsDialogWidColor *todoOverdueColor = 872 KPrefsDialogWidColor *todoOverdueColor =
873 addWidColor(i18n("Todo overdue color:"), 873 addWidColor(i18n("Todo overdue color:"),
874 &(KOPrefs::instance()->mTodoOverdueColor),wid); 874 &(KOPrefs::instance()->mTodoOverdueColor),wid);
875 widLayout->addWidget(todoOverdueColor->label()); 875 widLayout->addWidget(todoOverdueColor->label());
876 widLayout->addWidget(todoOverdueColor->button()); 876 widLayout->addWidget(todoOverdueColor->button());
877 topLayout->addWidget(wid,ii++,0); 877 topLayout->addWidget(wid,ii++,0);
878 878
879 dummy = 879 dummy =
880 addWidBool(i18n("Colors are applied to text"), 880 addWidBool(i18n("Colors are applied to text"),
881 &(KOPrefs::instance()->mTodoViewUsesForegroundColor),topFrame); 881 &(KOPrefs::instance()->mTodoViewUsesForegroundColor),topFrame);
882 topLayout->addWidget(dummy->checkBox(),ii++,0); 882 topLayout->addWidget(dummy->checkBox(),ii++,0);
883 883
884 884
885 885
886 topFrame = addPage(i18n("View Options"),0,0); 886 topFrame = addPage(i18n("View Options"),0,0);
887 887
888 topLayout = new QGridLayout(topFrame,4,1); 888 topLayout = new QGridLayout(topFrame,4,1);
889 topLayout->setSpacing(mSpacingHint); 889 topLayout->setSpacing(mSpacingHint);
890 topLayout->setMargin(mMarginHint); 890 topLayout->setMargin(mMarginHint);
891 ii = 0; 891 ii = 0;
892 892
893 dummy = 893 dummy =
894 addWidBool(i18n("Show Sync Events"), 894 addWidBool(i18n("Show Sync Events"),
895 &(KOPrefs::instance()->mShowSyncEvents),topFrame); 895 &(KOPrefs::instance()->mShowSyncEvents),topFrame);
896 topLayout->addWidget(dummy->checkBox(), ii++,0); 896 topLayout->addWidget(dummy->checkBox(), ii++,0);
897 897
898 lab = new QLabel( i18n("Show in todo/event viewer:"), topFrame); 898 lab = new QLabel( i18n("Show in todo/event viewer:"), topFrame);
899 topLayout->addWidget(lab ,ii++,0); 899 topLayout->addWidget(lab ,ii++,0);
900 900
901 dummy = addWidBool(i18n("Details"), 901 dummy = addWidBool(i18n("Details"),
902 &(KOPrefs::instance()->mEVshowDetails),topFrame); 902 &(KOPrefs::instance()->mEVshowDetails),topFrame);
903 topLayout->addWidget(dummy->checkBox(),ii++,0); 903 topLayout->addWidget(dummy->checkBox(),ii++,0);
904 dummy = addWidBool(i18n("Created time"), 904 dummy = addWidBool(i18n("Created time"),
905 &(KOPrefs::instance()->mEVshowCreated),topFrame); 905 &(KOPrefs::instance()->mEVshowCreated),topFrame);
906 topLayout->addWidget(dummy->checkBox(),ii++,0); 906 topLayout->addWidget(dummy->checkBox(),ii++,0);
907 dummy = addWidBool(i18n("Last modified time"), 907 dummy = addWidBool(i18n("Last modified time"),
908 &(KOPrefs::instance()->mEVshowChanged),topFrame); 908 &(KOPrefs::instance()->mEVshowChanged),topFrame);
909 topLayout->addWidget(dummy->checkBox(),ii++,0); 909 topLayout->addWidget(dummy->checkBox(),ii++,0);
910 910
911 911
912 lab = new QLabel( i18n("Show in What'sThis quick overview:"), topFrame); 912 lab = new QLabel( i18n("Show in What'sThis quick overview:"), topFrame);
913 topLayout->addWidget(lab ,ii++,0); 913 topLayout->addWidget(lab ,ii++,0);
914 914
915 dummy = addWidBool(i18n("Details"), 915 dummy = addWidBool(i18n("Details"),
916 &(KOPrefs::instance()->mWTshowDetails),topFrame); 916 &(KOPrefs::instance()->mWTshowDetails),topFrame);
917 topLayout->addWidget(dummy->checkBox(),ii++,0); 917 topLayout->addWidget(dummy->checkBox(),ii++,0);
918 dummy = addWidBool(i18n("Created time"), 918 dummy = addWidBool(i18n("Created time"),
919 &(KOPrefs::instance()->mWTshowCreated),topFrame); 919 &(KOPrefs::instance()->mWTshowCreated),topFrame);
920 topLayout->addWidget(dummy->checkBox(),ii++,0); 920 topLayout->addWidget(dummy->checkBox(),ii++,0);
921 dummy = addWidBool(i18n("Last modified time"), 921 dummy = addWidBool(i18n("Last modified time"),
922 &(KOPrefs::instance()->mWTshowChanged),topFrame); 922 &(KOPrefs::instance()->mWTshowChanged),topFrame);
923 topLayout->addWidget(dummy->checkBox(),ii++,0); 923 topLayout->addWidget(dummy->checkBox(),ii++,0);
924 924
925 topFrame = addPage(i18n("Conflict detection"),0,0);
926
927 topLayout = new QGridLayout(topFrame,2,1);
928 topLayout->setSpacing(mSpacingHint);
929 topLayout->setMargin(mMarginHint);
930 ii = 0;
931 dummy = addWidBool(i18n("Enable conflict detection"),
932 &(KOPrefs::instance()->mDetectConflicts),topFrame);
933 topLayout->addWidget(dummy->checkBox(), ii++,0);
934 topFrame = new QFrame( topFrame );
935 topLayout->addWidget(topFrame ,ii++,0);
936 topLayout = new QGridLayout(topFrame,4,1);
937 connect ( dummy->checkBox(), SIGNAL( toggled( bool ) ), topFrame, SLOT ( setEnabled( bool ) ) );
938 topLayout->addWidget( new QLabel ( i18n("Conflict detection checks an <b>edited event</b> with other <b>existing events</b> for overlapping. You can define which events are checked:"), topFrame ) , ii++,0);
939 topLayout->addWidget( new QLabel ( i18n("Filter for the edited event"), topFrame ) , ii++,0);
940 mFilterEditItem = new QComboBox( topFrame );
941 topLayout->addWidget(mFilterEditItem,ii++,0);
942 topLayout->addWidget( new QLabel ( i18n("Filter for other existing events"), topFrame ) , ii++,0);
943 mFilterAllItem = new QComboBox( topFrame );
944 topLayout->addWidget(mFilterAllItem,ii++,0);
945 dummy = addWidBool(i18n("Check Allday with Allday"),
946 &(KOPrefs::instance()->mCheckConflictsAllDayAllDay),topFrame);
947 topLayout->addWidget(dummy->checkBox(), ii++,0);
948 dummy = addWidBool(i18n("Check Allday with NonAllday"),
949 &(KOPrefs::instance()->mCheckConflictsAllDayNonAD),topFrame);
950 topLayout->addWidget(dummy->checkBox(), ii++,0);
951 dummy = addWidBool(i18n("Check NonAllday with Allday"),
952 &(KOPrefs::instance()->mCheckConflictsNonADAllDay),topFrame);
953 topLayout->addWidget(dummy->checkBox(), ii++,0);
954 dummy = addWidBool(i18n("Check NonAllday with NonAllday"),
955 &(KOPrefs::instance()->mCheckConflictsNonADNonAD),topFrame);
956 topLayout->addWidget(dummy->checkBox(), ii++,0);
957
958
959
925 960
926 topFrame = addPage(i18n("Alarm"),0,0); 961 topFrame = addPage(i18n("Alarm"),0,0);
927 // DesktopIcon("viewmag",KIcon::SizeMedium)); 962 // DesktopIcon("viewmag",KIcon::SizeMedium));
928 963
929 topLayout = new QGridLayout(topFrame,2,1); 964 topLayout = new QGridLayout(topFrame,2,1);
930 topLayout->setSpacing(mSpacingHint); 965 topLayout->setSpacing(mSpacingHint);
931 topLayout->setMargin(mMarginHint); 966 topLayout->setMargin(mMarginHint);
932 int iii = 0; 967 int iii = 0;
933 968
934 dummy = 969 dummy =
935 addWidBool(i18n("Use internal alarm notification"), 970 addWidBool(i18n("Use internal alarm notification"),
936 &(KOPrefs::instance()->mUseInternalAlarmNotification),topFrame); 971 &(KOPrefs::instance()->mUseInternalAlarmNotification),topFrame);
937 topLayout->addWidget(dummy->checkBox(),iii++,0); 972 topLayout->addWidget(dummy->checkBox(),iii++,0);
938 973
939 if ( QApplication::desktop()->height() > 240 ) { 974 if ( QApplication::desktop()->height() > 240 ) {
940 975
941 lab = new QLabel( i18n("Note: KO/Pi must be running to notify you about an alarm. Recommended for use on Zaurus: Disable this option and install KO/Pi alarm applet.\n"), topFrame); 976 lab = new QLabel( i18n("Note: KO/Pi must be running to notify you about an alarm. Recommended for use on Zaurus: Disable this option and install KO/Pi alarm applet.\n"), topFrame);
942 977
943 topLayout->addWidget(lab ,iii++,0); 978 topLayout->addWidget(lab ,iii++,0);
944 } 979 }
945#ifndef DESKTOP_VERSION 980#ifndef DESKTOP_VERSION
946 lab->setAlignment( AlignLeft|WordBreak|AlignTop); 981 lab->setAlignment( AlignLeft|WordBreak|AlignTop);
947#else 982#else
948 lab->setAlignment( AlignLeft|BreakAnywhere|WordBreak|AlignTop); 983 lab->setAlignment( AlignLeft|BreakAnywhere|WordBreak|AlignTop);
949 lab->setSizePolicy( QSizePolicy( QSizePolicy::Ignored , QSizePolicy::Ignored,true) ); 984 lab->setSizePolicy( QSizePolicy( QSizePolicy::Ignored , QSizePolicy::Ignored,true) );
950#endif 985#endif
951 986
952 QHBox* dummyBox = new QHBox(topFrame); 987 QHBox* dummyBox = new QHBox(topFrame);
953 new QLabel(i18n("Play beeps count:"),dummyBox); 988 new QLabel(i18n("Play beeps count:"),dummyBox);
954 mAlarmPlayBeeps = new QSpinBox(0,500,1,dummyBox); 989 mAlarmPlayBeeps = new QSpinBox(0,500,1,dummyBox);
955 topLayout->addWidget(dummyBox,iii++,0); 990 topLayout->addWidget(dummyBox,iii++,0);
956 991
957 dummyBox = new QHBox(topFrame); 992 dummyBox = new QHBox(topFrame);
958 new QLabel(i18n("Beeps interval in sec:"),dummyBox); 993 new QLabel(i18n("Beeps interval in sec:"),dummyBox);
959 mAlarmBeepInterval = new QSpinBox(1,600,1,dummyBox); 994 mAlarmBeepInterval = new QSpinBox(1,600,1,dummyBox);
960 topLayout->addWidget(dummyBox,iii++,0); 995 topLayout->addWidget(dummyBox,iii++,0);
961 996
962 dummyBox = new QHBox(topFrame); 997 dummyBox = new QHBox(topFrame);
963 new QLabel(i18n("Default suspend time in min:"),dummyBox); 998 new QLabel(i18n("Default suspend time in min:"),dummyBox);
964 mAlarmSuspendTime = new QSpinBox(1,600,1,dummyBox); 999 mAlarmSuspendTime = new QSpinBox(1,600,1,dummyBox);
965 topLayout->addWidget(dummyBox,iii++,0); 1000 topLayout->addWidget(dummyBox,iii++,0);
966 1001
967 dummyBox = new QHBox(topFrame); 1002 dummyBox = new QHBox(topFrame);
968 new QLabel(i18n("Auto suspend count:"),dummyBox); 1003 new QLabel(i18n("Auto suspend count:"),dummyBox);
969 mAlarmSuspendCount = new QSpinBox(0,60,1,dummyBox); 1004 mAlarmSuspendCount = new QSpinBox(0,60,1,dummyBox);
970 topLayout->addWidget(dummyBox,iii++,0); 1005 topLayout->addWidget(dummyBox,iii++,0);
971 1006
972 1007
973 1008
974 QHBox* hbo = new QHBox ( topFrame ); 1009 QHBox* hbo = new QHBox ( topFrame );
975 mDefaultAlarmFile = new QLineEdit(hbo); 1010 mDefaultAlarmFile = new QLineEdit(hbo);
976 QPushButton * loadTemplate = new QPushButton(hbo); 1011 QPushButton * loadTemplate = new QPushButton(hbo);
977 QPixmap icon; 1012 QPixmap icon;
978 if ( QApplication::desktop()->width() < 321 ) 1013 if ( QApplication::desktop()->width() < 321 )
979 icon = SmallIcon("fileimport16"); 1014 icon = SmallIcon("fileimport16");
980 else 1015 else
981 icon = SmallIcon("fileimport"); 1016 icon = SmallIcon("fileimport");
982 loadTemplate->setIconSet (icon ) ; 1017 loadTemplate->setIconSet (icon ) ;
983 connect( loadTemplate, SIGNAL( clicked() ), this , SLOT( selectSoundFile() ) ); 1018 connect( loadTemplate, SIGNAL( clicked() ), this , SLOT( selectSoundFile() ) );
984 int size = loadTemplate->sizeHint().height(); 1019 int size = loadTemplate->sizeHint().height();
985 loadTemplate->setFixedSize( size, size ); 1020 loadTemplate->setFixedSize( size, size );
986 //lab = new QLabel( i18n("This setting is useless for 5500 user!"), topFrame); 1021 //lab = new QLabel( i18n("This setting is useless for 5500 user!"), topFrame);
987 // topLayout->addWidget(lab ,iii++,0); 1022 // topLayout->addWidget(lab ,iii++,0);
988 lab = new QLabel( i18n("Alarm *.wav file for newly created alarm:"), topFrame); 1023 lab = new QLabel( i18n("Alarm *.wav file for newly created alarm:"), topFrame);
989 topLayout->addWidget(lab ,iii++,0); 1024 topLayout->addWidget(lab ,iii++,0);
990 topLayout->addWidget(hbo,iii++,0); 1025 topLayout->addWidget(hbo,iii++,0);
991 // lab = new QLabel( i18n("Note: This does not mean, that for every alarm this file is replayed. This file here is associated with a newly created alarm."), topFrame); 1026 // lab = new QLabel( i18n("Note: This does not mean, that for every alarm this file is replayed. This file here is associated with a newly created alarm."), topFrame);
992 1027
993// topLayout->addWidget(lab ,iii++,0); 1028// topLayout->addWidget(lab ,iii++,0);
994// #ifndef DESKTOP_VERSION 1029// #ifndef DESKTOP_VERSION
995// lab->setAlignment( AlignLeft|WordBreak|AlignTop); 1030// lab->setAlignment( AlignLeft|WordBreak|AlignTop);
996// #else 1031// #else
997// lab->setAlignment( AlignLeft|BreakAnywhere|WordBreak|AlignTop); 1032// lab->setAlignment( AlignLeft|BreakAnywhere|WordBreak|AlignTop);
998// lab->setSizePolicy( QSizePolicy( QSizePolicy::Ignored , QSizePolicy::Ignored,true) ); 1033// lab->setSizePolicy( QSizePolicy( QSizePolicy::Ignored , QSizePolicy::Ignored,true) );
999// #endif 1034// #endif
1000 1035
1001 1036
1002} 1037}
1003 1038
1004void KOPrefsDialog::selectSoundFile() 1039void KOPrefsDialog::selectSoundFile()
1005{ 1040{
1006 QString fileName = mDefaultAlarmFile->text(); 1041 QString fileName = mDefaultAlarmFile->text();
1007 fileName = KFileDialog::getSaveFileName( mDefaultAlarmFile->text() , "Choose default alarm file", this ); 1042 fileName = KFileDialog::getSaveFileName( mDefaultAlarmFile->text() , "Choose default alarm file", this );
1008 if ( fileName.length() > 0 ) 1043 if ( fileName.length() > 0 )
1009 mDefaultAlarmFile->setText( fileName ); 1044 mDefaultAlarmFile->setText( fileName );
1010} 1045}
1011void KOPrefsDialog::setupFontsTab() 1046void KOPrefsDialog::setupFontsTab()
1012{ 1047{
1013 1048
1014 QFrame *topFrame = addPage(i18n("Fonts"),0,0); 1049 QFrame *topFrame = addPage(i18n("Fonts"),0,0);
1015 // DesktopIcon("fonts",KIcon::SizeMedium)); 1050 // DesktopIcon("fonts",KIcon::SizeMedium));
1016 1051
1017 QGridLayout *topLayout = new QGridLayout(topFrame,7,3); 1052 QGridLayout *topLayout = new QGridLayout(topFrame,7,3);
1018 topLayout->setSpacing(1); 1053 topLayout->setSpacing(1);
1019 topLayout->setMargin(3); 1054 topLayout->setMargin(3);
1020 KPrefsDialogWidFont * tVFont; 1055 KPrefsDialogWidFont * tVFont;
@@ -1342,211 +1377,228 @@ void KOPrefsDialog::setupGroupAutomationTab()
1342 topLayout->setMargin(mMarginHint); 1377 topLayout->setMargin(mMarginHint);
1343 1378
1344 KPrefsDialogWidRadios *autoRefreshGroup = 1379 KPrefsDialogWidRadios *autoRefreshGroup =
1345 addWidRadios(i18n("Auto Send Refresh"), 1380 addWidRadios(i18n("Auto Send Refresh"),
1346 &(KOPrefs::instance()->mIMIPAutoRefresh),topFrame); 1381 &(KOPrefs::instance()->mIMIPAutoRefresh),topFrame);
1347 autoRefreshGroup->addRadio(i18n("Never")); 1382 autoRefreshGroup->addRadio(i18n("Never"));
1348 autoRefreshGroup->addRadio(i18n("If attendee is in addressbook")); 1383 autoRefreshGroup->addRadio(i18n("If attendee is in addressbook"));
1349 //autoRefreshGroup->addRadio(i18n("selected emails")); 1384 //autoRefreshGroup->addRadio(i18n("selected emails"));
1350 topLayout->addMultiCellWidget(autoRefreshGroup->groupBox(),0,0,0,0); 1385 topLayout->addMultiCellWidget(autoRefreshGroup->groupBox(),0,0,0,0);
1351 1386
1352 KPrefsDialogWidRadios *autoInsertGroup = 1387 KPrefsDialogWidRadios *autoInsertGroup =
1353 addWidRadios(i18n("Auto Insert IMIP Replies"), 1388 addWidRadios(i18n("Auto Insert IMIP Replies"),
1354 &(KOPrefs::instance()->mIMIPAutoInsertReply),topFrame); 1389 &(KOPrefs::instance()->mIMIPAutoInsertReply),topFrame);
1355 autoInsertGroup->addRadio(i18n("Never")); 1390 autoInsertGroup->addRadio(i18n("Never"));
1356 autoInsertGroup->addRadio(i18n("If attendee is in addressbook")); 1391 autoInsertGroup->addRadio(i18n("If attendee is in addressbook"));
1357 //autoInsertGroup->addRadio(i18n("selected emails")); 1392 //autoInsertGroup->addRadio(i18n("selected emails"));
1358 topLayout->addMultiCellWidget(autoInsertGroup->groupBox(),1,1,0,0); 1393 topLayout->addMultiCellWidget(autoInsertGroup->groupBox(),1,1,0,0);
1359 1394
1360 KPrefsDialogWidRadios *autoRequestGroup = 1395 KPrefsDialogWidRadios *autoRequestGroup =
1361 addWidRadios(i18n("Auto Insert IMIP Requests"), 1396 addWidRadios(i18n("Auto Insert IMIP Requests"),
1362 &(KOPrefs::instance()->mIMIPAutoInsertRequest),topFrame); 1397 &(KOPrefs::instance()->mIMIPAutoInsertRequest),topFrame);
1363 autoRequestGroup->addRadio(i18n("Never")); 1398 autoRequestGroup->addRadio(i18n("Never"));
1364 autoRequestGroup->addRadio(i18n("If organizer is in addressbook")); 1399 autoRequestGroup->addRadio(i18n("If organizer is in addressbook"));
1365 //autoInsertGroup->addRadio(i18n("selected emails")); 1400 //autoInsertGroup->addRadio(i18n("selected emails"));
1366 topLayout->addMultiCellWidget(autoRequestGroup->groupBox(),2,2,0,0); 1401 topLayout->addMultiCellWidget(autoRequestGroup->groupBox(),2,2,0,0);
1367 1402
1368 KPrefsDialogWidRadios *autoFreeBusyGroup = 1403 KPrefsDialogWidRadios *autoFreeBusyGroup =
1369 addWidRadios(i18n("Auto Send FreeBusy Information"), 1404 addWidRadios(i18n("Auto Send FreeBusy Information"),
1370 &(KOPrefs::instance()->mIMIPAutoFreeBusy),topFrame); 1405 &(KOPrefs::instance()->mIMIPAutoFreeBusy),topFrame);
1371 autoFreeBusyGroup->addRadio(i18n("Never")); 1406 autoFreeBusyGroup->addRadio(i18n("Never"));
1372 autoFreeBusyGroup->addRadio(i18n("If requested from an email in addressbook")); 1407 autoFreeBusyGroup->addRadio(i18n("If requested from an email in addressbook"));
1373 //autoFreeBusyGroup->addRadio(i18n("selected emails")); 1408 //autoFreeBusyGroup->addRadio(i18n("selected emails"));
1374 topLayout->addMultiCellWidget(autoFreeBusyGroup->groupBox(),3,3,0,0); 1409 topLayout->addMultiCellWidget(autoFreeBusyGroup->groupBox(),3,3,0,0);
1375 1410
1376 KPrefsDialogWidRadios *autoFreeBusyReplyGroup = 1411 KPrefsDialogWidRadios *autoFreeBusyReplyGroup =
1377 addWidRadios(i18n("Auto Save FreeBusy Replies"), 1412 addWidRadios(i18n("Auto Save FreeBusy Replies"),
1378 &(KOPrefs::instance()->mIMIPAutoFreeBusyReply),topFrame); 1413 &(KOPrefs::instance()->mIMIPAutoFreeBusyReply),topFrame);
1379 autoFreeBusyReplyGroup->addRadio(i18n("Never")); 1414 autoFreeBusyReplyGroup->addRadio(i18n("Never"));
1380 autoFreeBusyReplyGroup->addRadio(i18n("If attendee is in addressbook")); 1415 autoFreeBusyReplyGroup->addRadio(i18n("If attendee is in addressbook"));
1381 //autoFreeBusyGroup->addRadio(i18n("selected emails")); 1416 //autoFreeBusyGroup->addRadio(i18n("selected emails"));
1382 topLayout->addMultiCellWidget(autoFreeBusyReplyGroup->groupBox(),4,4,0,0); 1417 topLayout->addMultiCellWidget(autoFreeBusyReplyGroup->groupBox(),4,4,0,0);
1383} 1418}
1384 1419
1385void KOPrefsDialog::showPrinterTab() 1420void KOPrefsDialog::showPrinterTab()
1386{ 1421{
1387 showPage(pageIndex(mPrinterTab)); 1422 showPage(pageIndex(mPrinterTab));
1388} 1423}
1389 1424
1390 1425
1391void KOPrefsDialog::setCombo(QComboBox *combo, const QString & text, 1426void KOPrefsDialog::setCombo(QComboBox *combo, const QString & text,
1392 const QStringList *tags) 1427 const QStringList *tags)
1393{ 1428{
1394 if (tags) { 1429 if (tags) {
1395 int i = tags->findIndex(text); 1430 int i = tags->findIndex(text);
1396 if (i > 0) combo->setCurrentItem(i); 1431 if (i > 0) combo->setCurrentItem(i);
1397 } else { 1432 } else {
1398 for(int i=0;i<combo->count();++i) { 1433 for(int i=0;i<combo->count();++i) {
1399 if (combo->text(i) == text) { 1434 if (combo->text(i) == text) {
1400 combo->setCurrentItem(i); 1435 combo->setCurrentItem(i);
1401 break; 1436 break;
1402 } 1437 }
1403 } 1438 }
1404 } 1439 }
1405} 1440}
1406 1441
1407void KOPrefsDialog::usrReadConfig() 1442void KOPrefsDialog::usrReadConfig()
1408{ 1443{
1409 1444
1410 mNameEdit->setText(KOPrefs::instance()->fullName()); 1445 mNameEdit->setText(KOPrefs::instance()->fullName());
1411 mEmailEdit->setText(KOPrefs::instance()->email()); 1446 mEmailEdit->setText(KOPrefs::instance()->email());
1412 1447
1413 mAutoSaveIntervalSpin->setValue(KOPrefs::instance()->mAutoSaveInterval); 1448 mAutoSaveIntervalSpin->setValue(KOPrefs::instance()->mAutoSaveInterval);
1414 1449
1415 mStartTimeSpin->setValue(KOPrefs::instance()->mStartTime); 1450 mStartTimeSpin->setValue(KOPrefs::instance()->mStartTime);
1416 mDefaultDurationSpin->setValue(KOPrefs::instance()->mDefaultDuration); 1451 mDefaultDurationSpin->setValue(KOPrefs::instance()->mDefaultDuration);
1417 mAlarmTimeCombo->setCurrentItem(KOPrefs::instance()->mAlarmTime); 1452 mAlarmTimeCombo->setCurrentItem(KOPrefs::instance()->mAlarmTime);
1418 1453
1419 mNextXDaysSpin->setValue(KOPrefs::instance()->mNextXDays); 1454 mNextXDaysSpin->setValue(KOPrefs::instance()->mNextXDays);
1420 mWhatsNextSpin->setValue(KOPrefs::instance()->mWhatsNextDays); 1455 mWhatsNextSpin->setValue(KOPrefs::instance()->mWhatsNextDays);
1421 mPrioSpin->setValue(KOPrefs::instance()->mWhatsNextPrios); 1456 mPrioSpin->setValue(KOPrefs::instance()->mWhatsNextPrios);
1422 // mAMails->clear(); 1457 // mAMails->clear();
1423 // for ( QStringList::Iterator it = KOPrefs::instance()->mAdditionalMails.begin(); 1458 // for ( QStringList::Iterator it = KOPrefs::instance()->mAdditionalMails.begin();
1424// it != KOPrefs::instance()->mAdditionalMails.end(); ++it ) { 1459// it != KOPrefs::instance()->mAdditionalMails.end(); ++it ) {
1425// QListViewItem *item = new QListViewItem(mAMails); 1460// QListViewItem *item = new QListViewItem(mAMails);
1426// item->setText(0,*it); 1461// item->setText(0,*it);
1427// mAMails->insertItem(item); 1462// mAMails->insertItem(item);
1428// } 1463// }
1429 1464
1430 //that soundmLocalTempFile->setText(KOPrefs::instance()->mLocalTempFile); 1465 //that soundmLocalTempFile->setText(KOPrefs::instance()->mLocalTempFile);
1431 mDefaultAlarmFile->setText(KOPrefs::instance()->mDefaultAlarmFile); 1466 mDefaultAlarmFile->setText(KOPrefs::instance()->mDefaultAlarmFile);
1432 updateCategories(); 1467 updateCategories();
1433 mAlarmPlayBeeps->setValue(KOPrefs::instance()->mAlarmPlayBeeps ); 1468 mAlarmPlayBeeps->setValue(KOPrefs::instance()->mAlarmPlayBeeps );
1434 mAlarmSuspendTime->setValue(KOPrefs::instance()->mAlarmSuspendTime ); 1469 mAlarmSuspendTime->setValue(KOPrefs::instance()->mAlarmSuspendTime );
1435 mAlarmSuspendCount->setValue(KOPrefs::instance()->mAlarmSuspendCount ); 1470 mAlarmSuspendCount->setValue(KOPrefs::instance()->mAlarmSuspendCount );
1436 mAlarmBeepInterval->setValue(KOPrefs::instance()->mAlarmBeepInterval ); 1471 mAlarmBeepInterval->setValue(KOPrefs::instance()->mAlarmBeepInterval );
1437 mCatDefaultColor = KOPrefs::instance()->mEventColor; 1472 mCatDefaultColor = KOPrefs::instance()->mEventColor;
1473
1474
1475 KConfig cfgko(locateLocal("config","korganizerrc"));
1476 cfgko.setGroup("General");
1477 QStringList temp = cfgko.readListEntry("CalendarFilters");
1478 temp.prepend(i18n("No Filter") );
1479 mFilterEditItem->insertStringList( temp );
1480 mFilterAllItem->insertStringList( temp );
1481 int index = temp.findIndex( KOPrefs::instance()->mFilterConflictEditItem );
1482 if ( index >= 0 )
1483 mFilterEditItem->setCurrentItem( index );
1484 index = temp.findIndex( KOPrefs::instance()->mFilterConflictAllItem );
1485 if ( index >= 0 )
1486 mFilterAllItem->setCurrentItem( index );
1438} 1487}
1439 1488
1440 1489
1441void KOPrefsDialog::usrWriteConfig() 1490void KOPrefsDialog::usrWriteConfig()
1442{ 1491{
1443 KOPrefs::instance()->mDefaultAlarmFile =mDefaultAlarmFile->text(); 1492 KOPrefs::instance()->mDefaultAlarmFile =mDefaultAlarmFile->text();
1444 KOPrefs::instance()->setFullName(mNameEdit->text()); 1493 KOPrefs::instance()->setFullName(mNameEdit->text());
1445 KOPrefs::instance()->setEmail(mEmailEdit->text()); 1494 KOPrefs::instance()->setEmail(mEmailEdit->text());
1446 1495
1447 KOPrefs::instance()->mAutoSaveInterval = mAutoSaveIntervalSpin->value(); 1496 KOPrefs::instance()->mAutoSaveInterval = mAutoSaveIntervalSpin->value();
1448 KOPrefs::instance()->mStartTime = mStartTimeSpin->value(); 1497 KOPrefs::instance()->mStartTime = mStartTimeSpin->value();
1449 KOPrefs::instance()->mDefaultDuration = mDefaultDurationSpin->value(); 1498 KOPrefs::instance()->mDefaultDuration = mDefaultDurationSpin->value();
1450 KOPrefs::instance()->mAlarmTime = mAlarmTimeCombo->currentItem(); 1499 KOPrefs::instance()->mAlarmTime = mAlarmTimeCombo->currentItem();
1451 if ( mCatDefaultColor != KOPrefs::instance()->mEventColor ) { 1500 if ( mCatDefaultColor != KOPrefs::instance()->mEventColor ) {
1452 QStringList cat = KOPrefs::instance()->mCustomCategories; 1501 QStringList cat = KOPrefs::instance()->mCustomCategories;
1453 int iii = 0; 1502 int iii = 0;
1454 while ( iii < cat.count() ) { 1503 while ( iii < cat.count() ) {
1455 if ( *KOPrefs::instance()->categoryColor( cat[ iii ] ) == mCatDefaultColor ) 1504 if ( *KOPrefs::instance()->categoryColor( cat[ iii ] ) == mCatDefaultColor )
1456 KOPrefs::instance()->setCategoryColor( cat[ iii ], KOPrefs::instance()->mEventColor ); 1505 KOPrefs::instance()->setCategoryColor( cat[ iii ], KOPrefs::instance()->mEventColor );
1457 ++iii; 1506 ++iii;
1458 } 1507 }
1459 } 1508 }
1460 QDictIterator<QColor> it(mCategoryDict); 1509 QDictIterator<QColor> it(mCategoryDict);
1461 while (it.current()) { 1510 while (it.current()) {
1462 KOPrefs::instance()->setCategoryColor(it.currentKey(),*it.current()); 1511 KOPrefs::instance()->setCategoryColor(it.currentKey(),*it.current());
1463 ++it; 1512 ++it;
1464 } 1513 }
1465 1514
1466 KOPrefs::instance()->mNextXDays = mNextXDaysSpin->value(); 1515 KOPrefs::instance()->mNextXDays = mNextXDaysSpin->value();
1467 KOPrefs::instance()->mWhatsNextDays = mWhatsNextSpin->value(); 1516 KOPrefs::instance()->mWhatsNextDays = mWhatsNextSpin->value();
1468 KOPrefs::instance()->mWhatsNextPrios = mPrioSpin->value(); 1517 KOPrefs::instance()->mWhatsNextPrios = mPrioSpin->value();
1469 1518
1470 KOPrefs::instance()->mAdditionalMails.clear(); 1519 KOPrefs::instance()->mAdditionalMails.clear();
1471 // QListViewItem *item; 1520 // QListViewItem *item;
1472 // item = mAMails->firstChild(); 1521 // item = mAMails->firstChild();
1473 // while (item) 1522 // while (item)
1474 // { 1523 // {
1475 // KOPrefs::instance()->mAdditionalMails.append( item->text(0) ); 1524 // KOPrefs::instance()->mAdditionalMails.append( item->text(0) );
1476 // item = item->nextSibling(); 1525 // item = item->nextSibling();
1477 // } 1526 // }
1478 KOPrefs::instance()->mAlarmPlayBeeps = mAlarmPlayBeeps->value(); 1527 KOPrefs::instance()->mAlarmPlayBeeps = mAlarmPlayBeeps->value();
1479 KOPrefs::instance()->mAlarmSuspendTime = mAlarmSuspendTime->value() ; 1528 KOPrefs::instance()->mAlarmSuspendTime = mAlarmSuspendTime->value() ;
1480 KOPrefs::instance()->mAlarmSuspendCount= mAlarmSuspendCount->value() ; 1529 KOPrefs::instance()->mAlarmSuspendCount= mAlarmSuspendCount->value() ;
1481 KOPrefs::instance()->mAlarmBeepInterval= mAlarmBeepInterval->value() ; 1530 KOPrefs::instance()->mAlarmBeepInterval= mAlarmBeepInterval->value() ;
1531
1532 KOPrefs::instance()->mFilterConflictEditItem = mFilterEditItem->currentText();
1533 KOPrefs::instance()->mFilterConflictAllItem = mFilterAllItem->currentText();
1482} 1534}
1483 1535
1484void KOPrefsDialog::updateCategories() 1536void KOPrefsDialog::updateCategories()
1485{ 1537{
1486 mCategoryCombo->clear(); 1538 mCategoryCombo->clear();
1487 mCategoryDict.clear(); 1539 mCategoryDict.clear();
1488 mCategoryCombo->insertStringList(KOPrefs::instance()->mCustomCategories); 1540 mCategoryCombo->insertStringList(KOPrefs::instance()->mCustomCategories);
1489 updateCategoryColor(); 1541 updateCategoryColor();
1490} 1542}
1491 1543
1492void KOPrefsDialog::toggleEmailSettings(bool on) 1544void KOPrefsDialog::toggleEmailSettings(bool on)
1493{ 1545{
1494 if (on) { 1546 if (on) {
1495 mEmailEdit->setEnabled(false); 1547 mEmailEdit->setEnabled(false);
1496 mNameEdit->setEnabled(false); 1548 mNameEdit->setEnabled(false);
1497 mEmailLabel->setEnabled(false); 1549 mEmailLabel->setEnabled(false);
1498 mNameLabel->setEnabled(false); 1550 mNameLabel->setEnabled(false);
1499 1551
1500 KEMailSettings settings; 1552 KEMailSettings settings;
1501 mNameEdit->setText(settings.getSetting(KEMailSettings::RealName)); 1553 mNameEdit->setText(settings.getSetting(KEMailSettings::RealName));
1502 mEmailEdit->setText(settings.getSetting(KEMailSettings::EmailAddress)); 1554 mEmailEdit->setText(settings.getSetting(KEMailSettings::EmailAddress));
1503 } else { 1555 } else {
1504 mEmailEdit->setEnabled(true); 1556 mEmailEdit->setEnabled(true);
1505 mNameEdit->setEnabled(true); 1557 mNameEdit->setEnabled(true);
1506 mEmailLabel->setEnabled(true); 1558 mEmailLabel->setEnabled(true);
1507 mNameLabel->setEnabled(true); 1559 mNameLabel->setEnabled(true);
1508 } 1560 }
1509} 1561}
1510 1562
1511void KOPrefsDialog::addItem() 1563void KOPrefsDialog::addItem()
1512{ 1564{
1513 // aEmailsEdit->setEnabled(true); 1565 // aEmailsEdit->setEnabled(true);
1514// QListViewItem *item = new QListViewItem(mAMails); 1566// QListViewItem *item = new QListViewItem(mAMails);
1515// mAMails->insertItem(item); 1567// mAMails->insertItem(item);
1516// mAMails->setSelected(item,true); 1568// mAMails->setSelected(item,true);
1517// aEmailsEdit->setText(i18n("(EmptyEmail)")); 1569// aEmailsEdit->setText(i18n("(EmptyEmail)"));
1518} 1570}
1519 1571
1520void KOPrefsDialog::removeItem() 1572void KOPrefsDialog::removeItem()
1521{ 1573{
1522// QListViewItem *item; 1574// QListViewItem *item;
1523// item = mAMails->selectedItem(); 1575// item = mAMails->selectedItem();
1524// if (!item) return; 1576// if (!item) return;
1525// mAMails->takeItem(item); 1577// mAMails->takeItem(item);
1526// item = mAMails->selectedItem(); 1578// item = mAMails->selectedItem();
1527// if (!item) { 1579// if (!item) {
1528// aEmailsEdit->setText(""); 1580// aEmailsEdit->setText("");
1529// aEmailsEdit->setEnabled(false); 1581// aEmailsEdit->setEnabled(false);
1530// } 1582// }
1531// if (mAMails->childCount() == 0) { 1583// if (mAMails->childCount() == 0) {
1532// aEmailsEdit->setEnabled(false); 1584// aEmailsEdit->setEnabled(false);
1533// } 1585// }
1534} 1586}
1535 1587
1536void KOPrefsDialog::updateItem() 1588void KOPrefsDialog::updateItem()
1537{ 1589{
1538 // QListViewItem *item; 1590 // QListViewItem *item;
1539// item = mAMails->selectedItem(); 1591// item = mAMails->selectedItem();
1540// if (!item) return; 1592// if (!item) return;
1541// item->setText(0,aEmailsEdit->text()); 1593// item->setText(0,aEmailsEdit->text());
1542} 1594}
1543 1595
1544void KOPrefsDialog::updateInput() 1596void KOPrefsDialog::updateInput()
1545{ 1597{
1546// QListViewItem *item; 1598// QListViewItem *item;
1547// item = mAMails->selectedItem(); 1599// item = mAMails->selectedItem();
1548// if (!item) return; 1600// if (!item) return;
1549// aEmailsEdit->setEnabled(true); 1601// aEmailsEdit->setEnabled(true);
1550// aEmailsEdit->setText(item->text(0)); 1602// aEmailsEdit->setText(item->text(0));
1551} 1603}
1552 1604
diff --git a/korganizer/koprefsdialog.h b/korganizer/koprefsdialog.h
index baa6cf9..ee7a7aa 100644
--- a/korganizer/koprefsdialog.h
+++ b/korganizer/koprefsdialog.h
@@ -54,102 +54,104 @@ class KOPrefsDialog : public KPrefsDialog
54 54
55 public slots: 55 public slots:
56 void showPrinterTab(); 56 void showPrinterTab();
57 57
58 /** Update controls for categories */ 58 /** Update controls for categories */
59 void updateCategories(); 59 void updateCategories();
60 protected slots: 60 protected slots:
61 void selectSoundFile(); 61 void selectSoundFile();
62 void setCategoryColor(); 62 void setCategoryColor();
63 void updateCategoryColor(); 63 void updateCategoryColor();
64 void toggleEmailSettings(bool); 64 void toggleEmailSettings(bool);
65 65
66 //additional emails 66 //additional emails
67 void addItem(); 67 void addItem();
68 void removeItem(); 68 void removeItem();
69 void updateItem(); 69 void updateItem();
70 void updateInput(); 70 void updateInput();
71 71
72 protected: 72 protected:
73 void usrReadConfig(); 73 void usrReadConfig();
74 void usrWriteConfig(); 74 void usrWriteConfig();
75 void setupGlobalTab(); 75 void setupGlobalTab();
76 76
77 void setupMainTab(); 77 void setupMainTab();
78 void setupTimeTab(); 78 void setupTimeTab();
79 void setupLocaleTab(); 79 void setupLocaleTab();
80 void setupLocaleDateTab(); 80 void setupLocaleDateTab();
81 void setupFontsTab(); 81 void setupFontsTab();
82 void setupColorsTab(); 82 void setupColorsTab();
83 void setupViewsTab(); 83 void setupViewsTab();
84 void setupDisplayTab(); 84 void setupDisplayTab();
85 void setupPrinterTab(); 85 void setupPrinterTab();
86 void setupGroupSchedulingTab(); 86 void setupGroupSchedulingTab();
87 void setupGroupAutomationTab(); 87 void setupGroupAutomationTab();
88 88
89 void setCombo(QComboBox *combo,const QString & text, const QStringList *tags = 0); 89 void setCombo(QComboBox *combo,const QString & text, const QStringList *tags = 0);
90 90
91 91
92 private: 92 private:
93 QColor mCatDefaultColor; 93 QColor mCatDefaultColor;
94 KPrefsDialogWidBool *mEnableGroupScheduling; 94 KPrefsDialogWidBool *mEnableGroupScheduling;
95 KPrefsDialogWidBool *mEnableProjectView; 95 KPrefsDialogWidBool *mEnableProjectView;
96 96
97 QFrame *mPrinterTab; 97 QFrame *mPrinterTab;
98 98
99 QLineEdit *nameEdit; 99 QLineEdit *nameEdit;
100 QLineEdit *emailEdit; 100 QLineEdit *emailEdit;
101 101
102 QComboBox *timeCombo; 102 QComboBox *timeCombo;
103 QComboBox *tzCombo; 103 QComboBox *tzCombo;
104 104
105 // widgets holding preferences data 105 // widgets holding preferences data
106 QLineEdit *mNameEdit; 106 QLineEdit *mNameEdit;
107 QLineEdit *mEmailEdit; 107 QLineEdit *mEmailEdit;
108 QLabel *mNameLabel; 108 QLabel *mNameLabel;
109 QLabel *mEmailLabel; 109 QLabel *mEmailLabel;
110 QLineEdit *mAdditionalEdit; 110 QLineEdit *mAdditionalEdit;
111 QSpinBox *mAutoSaveIntervalSpin; 111 QSpinBox *mAutoSaveIntervalSpin;
112 QSpinBox *mPrioSpin; 112 QSpinBox *mPrioSpin;
113 // QListView *mAMails; 113 // QListView *mAMails;
114 QLineEdit *aEmailsEdit; 114 QLineEdit *aEmailsEdit;
115 115
116 QComboBox *mTimeZoneCombo; 116 QComboBox *mTimeZoneCombo;
117 QStringList tzonenames; 117 QStringList tzonenames;
118 QSpinBox *mStartTimeSpin; 118 QSpinBox *mStartTimeSpin;
119 QSpinBox *mDefaultDurationSpin; 119 QSpinBox *mDefaultDurationSpin;
120 QComboBox *mAlarmTimeCombo; 120 QComboBox *mAlarmTimeCombo;
121 121
122 QComboBox *mCategoryCombo; 122 QComboBox *mCategoryCombo;
123 KColorButton *mCategoryButton; 123 KColorButton *mCategoryButton;
124 QDict<QColor> mCategoryDict; 124 QDict<QColor> mCategoryDict;
125 125
126 QSlider *mHourSizeSlider; 126 QSlider *mHourSizeSlider;
127 127
128 QSpinBox *mNextXDaysSpin; 128 QSpinBox *mNextXDaysSpin;
129 QSpinBox *mWhatsNextSpin; 129 QSpinBox *mWhatsNextSpin;
130 130
131 QLineEdit * mRemoteIPEdit; 131 QLineEdit * mRemoteIPEdit;
132 QLineEdit * mRemoteUser; 132 QLineEdit * mRemoteUser;
133 QLineEdit * mRemotePassWd; 133 QLineEdit * mRemotePassWd;
134 QLineEdit * mRemoteFile; 134 QLineEdit * mRemoteFile;
135 QLineEdit * mLocalTempFile; 135 QLineEdit * mLocalTempFile;
136 QWidget* mSetupSyncAlgTab; 136 QWidget* mSetupSyncAlgTab;
137 QLineEdit * mUserDateFormatLong; 137 QLineEdit * mUserDateFormatLong;
138 QLineEdit * mUserDateFormatShort; 138 QLineEdit * mUserDateFormatShort;
139 139
140 QSpinBox *mTimezoneOffsetSpin; 140 QSpinBox *mTimezoneOffsetSpin;
141 QSpinBox *mDaylightsavingStart; 141 QSpinBox *mDaylightsavingStart;
142 QSpinBox *mDaylightsavingEnd; 142 QSpinBox *mDaylightsavingEnd;
143 KDateEdit* mStartDateSavingEdit; 143 KDateEdit* mStartDateSavingEdit;
144 KDateEdit* mEndDateSavingEdit; 144 KDateEdit* mEndDateSavingEdit;
145 QSpinBox * mAlarmPlayBeeps; 145 QSpinBox * mAlarmPlayBeeps;
146 QSpinBox * mAlarmSuspendTime; 146 QSpinBox * mAlarmSuspendTime;
147 QSpinBox * mAlarmSuspendCount; 147 QSpinBox * mAlarmSuspendCount;
148 QSpinBox * mAlarmBeepInterval; 148 QSpinBox * mAlarmBeepInterval;
149 149
150 QComboBox * mFilterEditItem, *mFilterAllItem;
151
150 QLineEdit * mDefaultAlarmFile; 152 QLineEdit * mDefaultAlarmFile;
151 int mSpacingHint; 153 int mSpacingHint;
152 int mMarginHint; 154 int mMarginHint;
153}; 155};
154 156
155#endif 157#endif