summaryrefslogtreecommitdiffabout
Unidiff
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--bin/kdepim/korganizer/germantranslation.txt14
-rw-r--r--korganizer/calendarview.cpp7
-rw-r--r--korganizer/kodaymatrix.cpp6
-rw-r--r--korganizer/koprefs.cpp2
-rw-r--r--korganizer/koprefs.h2
-rw-r--r--korganizer/koprefsdialog.cpp13
6 files changed, 40 insertions, 4 deletions
diff --git a/bin/kdepim/korganizer/germantranslation.txt b/bin/kdepim/korganizer/germantranslation.txt
index fbd262c..2c0d626 100644
--- a/bin/kdepim/korganizer/germantranslation.txt
+++ b/bin/kdepim/korganizer/germantranslation.txt
@@ -1454,109 +1454,119 @@
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 detected","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{ "Enable conflict detection","Schalte Konflikterkennung an" }, 1549{ "Enable conflict detection","Schalte Konflikterkennung an" },
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{ "Filter for the edited event","Filter für den bearbeiteten Termin" }, 1550{ "Filter for the edited event","Filter für den bearbeiteten Termin" },
1552{ "Filter for other existing events","Filter für die anderen Termine" }, 1551{ "Filter for other events","Filter für die anderen Termine" },
1553{ "Check Allday with Allday","Prüfe GanzTag mit GanzTag" }, 1552{ "Check Allday with Allday","Prüfe GanzTag mit GanzTag" },
1554{ "Check Allday with NonAllday","Prüfe GanzTag mit NichtGanzTag" }, 1553{ "Check Allday with NonAllday","Prüfe GanzTag mit NichtGanzTag" },
1555{ "Check NonAllday with Allday","Prüfe NichtGanzTag mit GanzTag" }, 1554{ "Check NonAllday with Allday","Prüfe NichtGanzTag mit GanzTag" },
1556{ "Check NonAllday with NonAllday","Prüfe NichtGanzTag mit NichtGanzTag" }, 1555{ "Check NonAllday with NonAllday","Prüfe NichtGanzTag mit NichtGanzTag" },
1557{ "Conflict detection","Konflikterkennung" }, 1556{ "Conflict detection","Konflikterkennung" },
1558{ "Loading calendar files ... please wait","Lade Kalenderdateien ... bitte warten" }, 1557{ "Loading calendar files ... please wait","Lade Kalenderdateien ... bitte warten" },
1558{ "Show multiday allday ev. in date nav.","Zeige Multi-Ganzt.Term.in Datums Nav." },
1559{ "Include events which "show as free"","Inklusive Termine mit "Zeige Zeit als frei"" },
1560{ "Conflict detection checks an <b>edited event</b> with <b>other events</b> for overlapping.","Konflikterkennung prüft einen <b>bearbeiteten Termin</b> auf Überschneidungen mit <b>anderen Terminen</b>." },
1561{ "","" },
1562{ "","" },
1563{ "","" },
1564{ "","" },
1565{ "","" },
1566{ "","" },
1567{ "","" },
1568{ "","" },
1559{ "","" }, 1569{ "","" },
1560{ "","" }, 1570{ "","" },
1561{ "","" }, 1571{ "","" },
1562{ "","" }, 1572{ "","" },
diff --git a/korganizer/calendarview.cpp b/korganizer/calendarview.cpp
index 9928b48..14094bb 100644
--- a/korganizer/calendarview.cpp
+++ b/korganizer/calendarview.cpp
@@ -2951,243 +2951,250 @@ void CalendarView::goPreviousMonth()
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 && KOPrefs::instance()->mDetectConflicts ) { 3033 if ( action != KOGlobals::EVENTDELETED && KOPrefs::instance()->mDetectConflicts ) {
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 bool checkC = false; 3039 bool checkC = false;
3040 if ( mConflictingEvent->doesFloat() ) { 3040 if ( mConflictingEvent->doesFloat() ) {
3041 checkC = KOPrefs::instance()->mCheckConflictsAllDayAllDay 3041 checkC = KOPrefs::instance()->mCheckConflictsAllDayAllDay
3042 || KOPrefs::instance()->mCheckConflictsAllDayNonAD; 3042 || KOPrefs::instance()->mCheckConflictsAllDayNonAD;
3043 } else { 3043 } else {
3044 checkC = KOPrefs::instance()->mCheckConflictsNonADAllDay 3044 checkC = KOPrefs::instance()->mCheckConflictsNonADAllDay
3045 || KOPrefs::instance()->mCheckConflictsNonADNonAD; 3045 || KOPrefs::instance()->mCheckConflictsNonADNonAD;
3046 } 3046 }
3047 if ( !KOPrefs::instance()->mIncludeFree && mConflictingEvent->transparency() == KCal::Event::Transparent )
3048 checkC = false;
3047 if ( checkC ) 3049 if ( checkC )
3048 QTimer::singleShot( time, this, SLOT ( checkConflictForEvent() ) ); 3050 QTimer::singleShot( time, this, SLOT ( checkConflictForEvent() ) );
3049 } 3051 }
3050 // } 3052 // }
3051 } else { 3053 } else {
3052 mViewManager->currentView()->updateView(); 3054 mViewManager->currentView()->updateView();
3053 } 3055 }
3054} 3056}
3055void CalendarView::checkConflictForEvent() 3057void CalendarView::checkConflictForEvent()
3056{ 3058{
3057 3059
3058 if (!KOPrefs::instance()->mConfirm) 3060 if (!KOPrefs::instance()->mConfirm)
3059 return; 3061 return;
3060 if ( ! mConflictingEvent ) return; 3062 if ( ! mConflictingEvent ) return;
3061 Event * conflictingEvent = mConflictingEvent; 3063 Event * conflictingEvent = mConflictingEvent;
3062 mConflictingEvent = 0; 3064 mConflictingEvent = 0;
3063 QDateTime current = QDateTime::currentDateTime(); 3065 QDateTime current = QDateTime::currentDateTime();
3064 if ( ! conflictingEvent->matchTime( &current, 0 ) ) { 3066 if ( ! conflictingEvent->matchTime( &current, 0 ) ) {
3065 return; 3067 return;
3066 } 3068 }
3067 CalFilter *filterIN = 0; 3069 CalFilter *filterIN = 0;
3068 CalFilter *filterALL = 0; 3070 CalFilter *filterALL = 0;
3069 CalFilter *filter = mFilters.first(); 3071 CalFilter *filter = mFilters.first();
3070 while(filter) { 3072 while(filter) {
3071 if ( filter->name() == KOPrefs::instance()->mFilterConflictEditItem) 3073 if ( filter->name() == KOPrefs::instance()->mFilterConflictEditItem)
3072 filterIN = filter; 3074 filterIN = filter;
3073 if ( filter->name() == KOPrefs::instance()->mFilterConflictAllItem ) 3075 if ( filter->name() == KOPrefs::instance()->mFilterConflictAllItem )
3074 filterALL = filter; 3076 filterALL = filter;
3075 filter = mFilters.next(); 3077 filter = mFilters.next();
3076 } 3078 }
3077 if ( filterIN ) { 3079 if ( filterIN ) {
3078 if ( !filterIN->filterCalendarItem( conflictingEvent ) ) { 3080 if ( !filterIN->filterCalendarItem( conflictingEvent ) ) {
3079 return; 3081 return;
3080 } 3082 }
3081 } 3083 }
3082 QPtrList<Event> testlist = mCalendar->events(); 3084 QPtrList<Event> testlist = mCalendar->events();
3083 Event * test = testlist.first(); 3085 Event * test = testlist.first();
3084 QDateTime conflict; 3086 QDateTime conflict;
3085 QDateTime retVal; 3087 QDateTime retVal;
3086 bool found = false; 3088 bool found = false;
3087 Event * cE = 0; 3089 Event * cE = 0;
3088 bool chAD = KOPrefs::instance()->mCheckConflictsAllDayAllDay; 3090 bool chAD = KOPrefs::instance()->mCheckConflictsAllDayAllDay;
3089 bool chNad = KOPrefs::instance()->mCheckConflictsAllDayNonAD; 3091 bool chNad = KOPrefs::instance()->mCheckConflictsAllDayNonAD;
3090 if ( !conflictingEvent->doesFloat() ) { 3092 if ( !conflictingEvent->doesFloat() ) {
3091 chAD = KOPrefs::instance()->mCheckConflictsNonADAllDay; 3093 chAD = KOPrefs::instance()->mCheckConflictsNonADAllDay;
3092 chNad = KOPrefs::instance()->mCheckConflictsNonADNonAD; 3094 chNad = KOPrefs::instance()->mCheckConflictsNonADNonAD;
3093 } 3095 }
3094 topLevelWidget()->setCaption( i18n("Checking conflicts ... please wait") ); 3096 topLevelWidget()->setCaption( i18n("Checking conflicts ... please wait") );
3095 while ( test ) { 3097 while ( test ) {
3096 qApp->processEvents(); 3098 qApp->processEvents();
3097 bool skip = ( test->doesFloat() && !chAD ) || ( !test->doesFloat() && !chNad ); 3099 bool skip = ( test->doesFloat() && !chAD ) || ( !test->doesFloat() && !chNad );
3100
3101 if ( !skip ) {
3102 if ( !KOPrefs::instance()->mIncludeFree && test->transparency() == KCal::Event::Transparent )
3103 skip = true;
3104 }
3098 if ( !skip ) { 3105 if ( !skip ) {
3099 if ( filterALL ) { 3106 if ( filterALL ) {
3100 if ( !filterALL->filterCalendarItem( test ) ) { 3107 if ( !filterALL->filterCalendarItem( test ) ) {
3101 skip = true; 3108 skip = true;
3102 } 3109 }
3103 } 3110 }
3104 if ( !skip ) { 3111 if ( !skip ) {
3105 if ( found ) 3112 if ( found )
3106 skip = !test->matchTime( &current, &conflict ); 3113 skip = !test->matchTime( &current, &conflict );
3107 else 3114 else
3108 skip = !test->matchTime( &current, 0 ); 3115 skip = !test->matchTime( &current, 0 );
3109 if ( !skip ) { 3116 if ( !skip ) {
3110 if ( conflictingEvent->isOverlapping ( test, &retVal, &current ) ) { 3117 if ( conflictingEvent->isOverlapping ( test, &retVal, &current ) ) {
3111 if ( ! found ) { 3118 if ( ! found ) {
3112 conflict = retVal; 3119 conflict = retVal;
3113 cE = test; 3120 cE = test;
3114 } else { 3121 } else {
3115 if ( retVal < conflict ) { 3122 if ( retVal < conflict ) {
3116 conflict = retVal; 3123 conflict = retVal;
3117 cE = test; 3124 cE = test;
3118 } 3125 }
3119 } 3126 }
3120 found = true; 3127 found = true;
3121 } 3128 }
3122 } 3129 }
3123 } 3130 }
3124 } 3131 }
3125 test = testlist.next(); 3132 test = testlist.next();
3126 } 3133 }
3127 topLevelWidget()->setCaption( i18n("KO/Pi") ); 3134 topLevelWidget()->setCaption( i18n("KO/Pi") );
3128 if ( found ) { 3135 if ( found ) {
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()) ) ; 3136 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()) ) ;
3130 qApp->processEvents(); 3137 qApp->processEvents();
3131 int km = KMessageBox::warningContinueCancel(this,mess, 3138 int km = KMessageBox::warningContinueCancel(this,mess,
3132 i18n("KO/Pi Conflict detected"),i18n("Show date"),i18n("No problem!")); 3139 i18n("KO/Pi Conflict detected"),i18n("Show date"),i18n("No problem!"));
3133 if ( km != KMessageBox::Continue ) { 3140 if ( km != KMessageBox::Continue ) {
3134 return; 3141 return;
3135 } 3142 }
3136 if ( mViewManager->currentView() != mViewManager->agendaView() || mNavigator->selectedDates().count() > 1 ) 3143 if ( mViewManager->currentView() != mViewManager->agendaView() || mNavigator->selectedDates().count() > 1 )
3137 mViewManager->showDayView(); 3144 mViewManager->showDayView();
3138 mNavigator->slotDaySelect( conflict.date() ); 3145 mNavigator->slotDaySelect( conflict.date() );
3139 int hour = conflict.time().hour(); 3146 int hour = conflict.time().hour();
3140 mViewManager->agendaView()->setStartHour( hour ); 3147 mViewManager->agendaView()->setStartHour( hour );
3141 topLevelWidget()->setCaption( i18n("Conflict %1 <-> %2"). arg( conflictingEvent->summary().left( 20 ) ).arg( cE->summary().left( 20 ) ) ); 3148 topLevelWidget()->setCaption( i18n("Conflict %1 <-> %2"). arg( conflictingEvent->summary().left( 20 ) ).arg( cE->summary().left( 20 ) ) );
3142 } else 3149 } else
3143 topLevelWidget()->setCaption( i18n("No conflict found") ); 3150 topLevelWidget()->setCaption( i18n("No conflict found") );
3144 return; 3151 return;
3145 3152
3146} 3153}
3147 3154
3148void CalendarView::updateTodoViews() 3155void CalendarView::updateTodoViews()
3149{ 3156{
3150 mTodoList->updateView(); 3157 mTodoList->updateView();
3151 mViewManager->currentView()->updateView(); 3158 mViewManager->currentView()->updateView();
3152 3159
3153} 3160}
3154 3161
3155 3162
3156 3163
3157void CalendarView::clearAllViews() 3164void CalendarView::clearAllViews()
3158{ 3165{
3159 mTodoList->clearList(); 3166 mTodoList->clearList();
3160 mViewManager->clearAllViews(); 3167 mViewManager->clearAllViews();
3161 SearchDialog * sd = mDialogManager->getSearchDialog(); 3168 SearchDialog * sd = mDialogManager->getSearchDialog();
3162 if ( sd ) { 3169 if ( sd ) {
3163 KOListView* kol = sd->listview(); 3170 KOListView* kol = sd->listview();
3164 if ( kol ) 3171 if ( kol )
3165 kol->clearList(); 3172 kol->clearList();
3166 } 3173 }
3167} 3174}
3168void CalendarView::updateView() 3175void CalendarView::updateView()
3169{ 3176{
3170 static bool clearallviews = false; 3177 static bool clearallviews = false;
3171 if ( KOPrefs::instance()->mGlobalUpdateDisabled ) { 3178 if ( KOPrefs::instance()->mGlobalUpdateDisabled ) {
3172 if ( clearallviews ) { 3179 if ( clearallviews ) {
3173 clearAllViews(); 3180 clearAllViews();
3174 clearallviews = false; 3181 clearallviews = false;
3175 } 3182 }
3176 return; 3183 return;
3177 } 3184 }
3178 clearallviews = true; 3185 clearallviews = true;
3179 DateList tmpList = mNavigator->selectedDates(); 3186 DateList tmpList = mNavigator->selectedDates();
3180 3187
3181 if ( KOPrefs::instance()->mHideNonStartedTodos ) 3188 if ( KOPrefs::instance()->mHideNonStartedTodos )
3182 mTodoList->updateView(); 3189 mTodoList->updateView();
3183 // We assume that the navigator only selects consecutive days. 3190 // We assume that the navigator only selects consecutive days.
3184 updateView( tmpList.first(), tmpList.last() ); 3191 updateView( tmpList.first(), tmpList.last() );
3185} 3192}
3186 3193
3187void CalendarView::updateUnmanagedViews() 3194void CalendarView::updateUnmanagedViews()
3188{ 3195{
3189 mDateNavigator->updateDayMatrix(); 3196 mDateNavigator->updateDayMatrix();
3190} 3197}
3191 3198
3192int CalendarView::msgItemDelete(const QString name) 3199int CalendarView::msgItemDelete(const QString name)
3193{ 3200{
diff --git a/korganizer/kodaymatrix.cpp b/korganizer/kodaymatrix.cpp
index 057df0d..7076e05 100644
--- a/korganizer/kodaymatrix.cpp
+++ b/korganizer/kodaymatrix.cpp
@@ -365,192 +365,195 @@ void KODayMatrix::recalculateToday()
365{ 365{
366 today = -1; 366 today = -1;
367 for (int i=0; i<NUMDAYS; i++) { 367 for (int i=0; i<NUMDAYS; i++) {
368 //events[i] = 0; 368 //events[i] = 0;
369 days[i] = startdate.addDays(i); 369 days[i] = startdate.addDays(i);
370 daylbls[i] = QString::number( KOGlobals::self()->calendarSystem()->day( days[i] )); 370 daylbls[i] = QString::number( KOGlobals::self()->calendarSystem()->day( days[i] ));
371 371
372 // if today is in the currently displayed month, hilight today 372 // if today is in the currently displayed month, hilight today
373 if (days[i].year() == QDate::currentDate().year() && 373 if (days[i].year() == QDate::currentDate().year() &&
374 days[i].month() == QDate::currentDate().month() && 374 days[i].month() == QDate::currentDate().month() &&
375 days[i].day() == QDate::currentDate().day()) { 375 days[i].day() == QDate::currentDate().day()) {
376 today = i; 376 today = i;
377 } 377 }
378 } 378 }
379 // qDebug(QString("Today is visible at %1.").arg(today)); 379 // qDebug(QString("Today is visible at %1.").arg(today));
380} 380}
381 381
382void KODayMatrix::updateView() 382void KODayMatrix::updateView()
383{ 383{
384 updateView(startdate); 384 updateView(startdate);
385} 385}
386void KODayMatrix::repaintViewTimed() 386void KODayMatrix::repaintViewTimed()
387{ 387{
388 mRedrawNeeded = true; 388 mRedrawNeeded = true;
389 // bDays.fill( false); 389 // bDays.fill( false);
390 //pDays.fill( false); 390 //pDays.fill( false);
391 //hDays.fill( false); 391 //hDays.fill( false);
392 //eDays.fill( false); 392 //eDays.fill( false);
393 mRepaintTimer->stop(); 393 mRepaintTimer->stop();
394 int startDay = days[0].dayOfWeek(); // 1...7 7 = sunday 394 int startDay = days[0].dayOfWeek(); // 1...7 7 = sunday
395 int i; 395 int i;
396 for(i = 0; i < NUMDAYS; i++) { 396 for(i = 0; i < NUMDAYS; i++) {
397 if ( ( (i+startDay) % 7 == 0 ) ) { 397 if ( ( (i+startDay) % 7 == 0 ) ) {
398 pDays.setBit(i); 398 pDays.setBit(i);
399 } 399 }
400 } 400 }
401 repaint(false); 401 repaint(false);
402} 402}
403void KODayMatrix::computeEvent(Event *event, int i ) 403void KODayMatrix::computeEvent(Event *event, int i )
404{ 404{
405 QString holiStr = mHolidays[i]; 405 QString holiStr = mHolidays[i];
406 if ( event->isHoliday()) { 406 if ( event->isHoliday()) {
407 pDays.setBit(i); 407 pDays.setBit(i);
408 hDays.setBit(i); 408 hDays.setBit(i);
409 if ( !holiStr.isEmpty() ) 409 if ( !holiStr.isEmpty() )
410 holiStr += "\n"; 410 holiStr += "\n";
411 holiStr += event->summary(); 411 holiStr += event->summary();
412 if ( !event->location().isEmpty() ) 412 if ( !event->location().isEmpty() )
413 holiStr += " (" + event->location() + ")"; 413 holiStr += " (" + event->location() + ")";
414 mHolidays[i] =holiStr ; 414 mHolidays[i] =holiStr ;
415 eDays.setBit(i); 415 eDays.setBit(i);
416 } 416 }
417 if ( KOPrefs::instance()->mCurrentDisplayedView != VIEW_T_VIEW && KOPrefs::instance()->mCurrentDisplayedView != VIEW_J_VIEW ) { 417 if ( KOPrefs::instance()->mCurrentDisplayedView != VIEW_T_VIEW && KOPrefs::instance()->mCurrentDisplayedView != VIEW_J_VIEW ) {
418 if ( event->isBirthday()) { 418 if ( event->isBirthday()) {
419 pDays.setBit(i); 419 pDays.setBit(i);
420 if ( !holiStr.isEmpty() ) 420 if ( !holiStr.isEmpty() )
421 holiStr += "\n"; 421 holiStr += "\n";
422 holiStr += i18n("Birthday") + ": "+event->summary(); 422 holiStr += i18n("Birthday") + ": "+event->summary();
423 if ( !event->location().isEmpty() ) 423 if ( !event->location().isEmpty() )
424 holiStr += " (" + event->location() + ")"; 424 holiStr += " (" + event->location() + ")";
425 bDays.setBit(i); 425 bDays.setBit(i);
426 mHolidays[i] =holiStr ; 426 mHolidays[i] =holiStr ;
427 } 427 }
428 } 428 }
429 if ( KOPrefs::instance()->mCurrentDisplayedView != VIEW_J_VIEW ) 429 if ( KOPrefs::instance()->mCurrentDisplayedView != VIEW_J_VIEW )
430 eDays.setBit(i); 430 eDays.setBit(i);
431} 431}
432void KODayMatrix::updateViewTimed() 432void KODayMatrix::updateViewTimed()
433{ 433{
434 mUpdateTimer->stop(); 434 mUpdateTimer->stop();
435 if ( !mCalendar ) { 435 if ( !mCalendar ) {
436 qDebug("NOT CAL "); 436 qDebug("NOT CAL ");
437 return; 437 return;
438 } 438 }
439#if 1 439#if 1
440 440
441 441
442 int i; 442 int i;
443 int timeSpan = NUMDAYS-1; 443 int timeSpan = NUMDAYS-1;
444 QPtrList<Event> events = mCalendar->events(); 444 QPtrList<Event> events = mCalendar->events();
445 Event *event; 445 Event *event;
446 QDateTime dt; 446 QDateTime dt;
447 bool ok; 447 bool ok;
448 bDays.fill( false); 448 bDays.fill( false);
449 pDays.fill( false); 449 pDays.fill( false);
450 hDays.fill( false); 450 hDays.fill( false);
451 eDays.fill( false); 451 eDays.fill( false);
452 mHolidays.clear(); 452 mHolidays.clear();
453 QDate mStartDate = days[0]; 453 QDate mStartDate = days[0];
454 QDate endDate = mStartDate.addDays( timeSpan ); 454 QDate endDate = mStartDate.addDays( timeSpan );
455 for( event = events.first(); event; event = events.next() ) { // for event 455 for( event = events.first(); event; event = events.next() ) { // for event
456 ushort recurType = event->doesRecur(); 456 ushort recurType = event->doesRecur();
457 if ((recurType == Recurrence::rDaily && !KOPrefs::instance()->mDailyRecur) || 457 if ((recurType == Recurrence::rDaily && !KOPrefs::instance()->mDailyRecur) ||
458 (recurType == Recurrence::rWeekly && !KOPrefs::instance()->mWeeklyRecur)) { 458 (recurType == Recurrence::rWeekly && !KOPrefs::instance()->mWeeklyRecur)) {
459 continue; 459 continue;
460 } 460 }
461 if ( !KOPrefs::instance()->mLongAllday && event->doesFloat()&& event->isMultiDay() ) {
462 continue;
463 }
461 if ( event->doesRecur() ) { 464 if ( event->doesRecur() ) {
462 bool last; 465 bool last;
463 QDateTime incidenceStart = event->recurrence()->getPreviousDateTime( QDateTime( mStartDate ) , &last ); 466 QDateTime incidenceStart = event->recurrence()->getPreviousDateTime( QDateTime( mStartDate ) , &last );
464 QDateTime incidenceEnd; 467 QDateTime incidenceEnd;
465 int eventlen = event->dtStart().date().daysTo ( event->dtEnd().date() ); 468 int eventlen = event->dtStart().date().daysTo ( event->dtEnd().date() );
466 bool invalid = false; 469 bool invalid = false;
467 while( true ) { 470 while( true ) {
468 if ( incidenceStart.isValid() ) { 471 if ( incidenceStart.isValid() ) {
469 incidenceEnd = incidenceStart.addDays( eventlen ); 472 incidenceEnd = incidenceStart.addDays( eventlen );
470 int st = incidenceStart.date().daysTo( endDate ); 473 int st = incidenceStart.date().daysTo( endDate );
471 if ( st >= 0 ) { // start before timeend 474 if ( st >= 0 ) { // start before timeend
472 int end = mStartDate.daysTo( incidenceEnd.date() ); 475 int end = mStartDate.daysTo( incidenceEnd.date() );
473 if ( end >= 0 ) { // end after timestart --- got one! 476 if ( end >= 0 ) { // end after timestart --- got one!
474 //normalize 477 //normalize
475 st = timeSpan - st; 478 st = timeSpan - st;
476 if ( st < 0 ) st = 0; 479 if ( st < 0 ) st = 0;
477 if ( end > timeSpan ) end = timeSpan; 480 if ( end > timeSpan ) end = timeSpan;
478 int iii; 481 int iii;
479 //qDebug("found %s %d %d ",event->summary().latin1(), st, end ); 482 //qDebug("found %s %d %d ",event->summary().latin1(), st, end );
480 for ( iii = st;iii<= end;++iii) { 483 for ( iii = st;iii<= end;++iii) {
481 computeEvent( event, iii ); 484 computeEvent( event, iii );
482 } 485 }
483 } 486 }
484 } 487 }
485 } else { 488 } else {
486 if ( invalid ) 489 if ( invalid )
487 break; 490 break;
488 invalid = true; 491 invalid = true;
489 //qDebug("invalid %s", event->summary().latin1()); 492 //qDebug("invalid %s", event->summary().latin1());
490 incidenceStart = QDateTime( mStartDate ).addSecs( -2 );; 493 incidenceStart = QDateTime( mStartDate ).addSecs( -2 );;
491 } 494 }
492 if ( last ) 495 if ( last )
493 break; 496 break;
494 bool ok; 497 bool ok;
495 incidenceStart = event->getNextOccurence( incidenceStart.addSecs( 1 ) ,&ok ); 498 incidenceStart = event->getNextOccurence( incidenceStart.addSecs( 1 ) ,&ok );
496 if ( ! ok ) 499 if ( ! ok )
497 break; 500 break;
498 if ( incidenceStart.date() > endDate ) 501 if ( incidenceStart.date() > endDate )
499 break; 502 break;
500 } 503 }
501 } else { // no recur 504 } else { // no recur
502 int st = event->dtStart().date().daysTo( endDate ); 505 int st = event->dtStart().date().daysTo( endDate );
503 if ( st >= 0 ) { // start before timeend 506 if ( st >= 0 ) { // start before timeend
504 int end = mStartDate.daysTo( event->dtEnd().date() ); 507 int end = mStartDate.daysTo( event->dtEnd().date() );
505 if ( end >= 0 ) { // end after timestart --- got one! 508 if ( end >= 0 ) { // end after timestart --- got one!
506 //normalize 509 //normalize
507 st = timeSpan - st; 510 st = timeSpan - st;
508 if ( st < 0 ) st = 0; 511 if ( st < 0 ) st = 0;
509 if ( end > timeSpan ) end = timeSpan; 512 if ( end > timeSpan ) end = timeSpan;
510 int iii; 513 int iii;
511 for ( iii = st;iii<= end;++iii) 514 for ( iii = st;iii<= end;++iii)
512 computeEvent( event, iii ); 515 computeEvent( event, iii );
513 } 516 }
514 } 517 }
515 } 518 }
516 } 519 }
517 int startDay = days[0].dayOfWeek(); // 1...7 7 = sunday 520 int startDay = days[0].dayOfWeek(); // 1...7 7 = sunday
518 for(i = 0; i < NUMDAYS; i++) { 521 for(i = 0; i < NUMDAYS; i++) {
519 if ( ( (i+startDay) % 7 == 0 ) ) { 522 if ( ( (i+startDay) % 7 == 0 ) ) {
520 pDays.setBit(i); 523 pDays.setBit(i);
521 } 524 }
522 } 525 }
523 if ( KOPrefs::instance()->mCurrentDisplayedView == VIEW_T_VIEW ) { 526 if ( KOPrefs::instance()->mCurrentDisplayedView == VIEW_T_VIEW ) {
524 bDays.fill( false); 527 bDays.fill( false);
525 // insert due todos 528 // insert due todos
526 QPtrList<Todo> todos = mCalendar->todos( ); 529 QPtrList<Todo> todos = mCalendar->todos( );
527 Todo *todo; 530 Todo *todo;
528 for(todo = todos.first(); todo; todo = todos.next()) { 531 for(todo = todos.first(); todo; todo = todos.next()) {
529 //insertTodo( todo ); 532 //insertTodo( todo );
530 if ( todo->hasDueDate() ) { 533 if ( todo->hasDueDate() ) {
531 int day = mStartDate.daysTo( todo->dtDue().date() ); 534 int day = mStartDate.daysTo( todo->dtDue().date() );
532 if ( day >= 0 && day < timeSpan + 1) { 535 if ( day >= 0 && day < timeSpan + 1) {
533 int i = day; 536 int i = day;
534 QString holiStr = mHolidays[i]; 537 QString holiStr = mHolidays[i];
535 pDays.setBit(i); 538 pDays.setBit(i);
536 if ( !holiStr.isEmpty() ) 539 if ( !holiStr.isEmpty() )
537 holiStr += "\n"; 540 holiStr += "\n";
538 holiStr += i18n("Todo") + ": "+todo->summary(); 541 holiStr += i18n("Todo") + ": "+todo->summary();
539 if ( !todo->location().isEmpty() ) 542 if ( !todo->location().isEmpty() )
540 holiStr += " (" + todo->location() + ")"; 543 holiStr += " (" + todo->location() + ")";
541 bDays.setBit(i); 544 bDays.setBit(i);
542 mHolidays[i] =holiStr ; 545 mHolidays[i] =holiStr ;
543 eDays.setBit(i); 546 eDays.setBit(i);
544 } 547 }
545 } 548 }
546 } 549 }
547 } 550 }
548 if ( KOPrefs::instance()->mCurrentDisplayedView == VIEW_J_VIEW ) { 551 if ( KOPrefs::instance()->mCurrentDisplayedView == VIEW_J_VIEW ) {
549 bDays.fill( false); 552 bDays.fill( false);
550 // insert due todos 553 // insert due todos
551 QPtrList<Journal> todos = mCalendar->journals( ); 554 QPtrList<Journal> todos = mCalendar->journals( );
552 Journal *todo; 555 Journal *todo;
553 for(todo = todos.first(); todo; todo = todos.next()) { 556 for(todo = todos.first(); todo; todo = todos.next()) {
554 int day = mStartDate.daysTo( todo->dtStart().date() ); 557 int day = mStartDate.daysTo( todo->dtStart().date() );
555 if ( day >= 0 && day < timeSpan + 1) { 558 if ( day >= 0 && day < timeSpan + 1) {
556 int i = day; 559 int i = day;
@@ -591,192 +594,195 @@ void KODayMatrix::updateViewTimed()
591 holiStr += "\n"; 594 holiStr += "\n";
592 holiStr += event->summary(); 595 holiStr += event->summary();
593 if ( !event->location().isEmpty() ) 596 if ( !event->location().isEmpty() )
594 holiStr += " (" + event->location() + ")"; 597 holiStr += " (" + event->location() + ")";
595 } 598 }
596 if ( event->isBirthday()) { 599 if ( event->isBirthday()) {
597 if ( !holiStr.isEmpty() ) 600 if ( !holiStr.isEmpty() )
598 holiStr += "\n"; 601 holiStr += "\n";
599 holiStr += i18n("Birthday") + ": "+event->summary(); 602 holiStr += i18n("Birthday") + ": "+event->summary();
600 if ( !event->location().isEmpty() ) 603 if ( !event->location().isEmpty() )
601 holiStr += " (" + event->location() + ")"; 604 holiStr += " (" + event->location() + ")";
602 bDays.setBit(i); 605 bDays.setBit(i);
603 } 606 }
604 } 607 }
605 if ( numEvents ) 608 if ( numEvents )
606 eDays.setBit(i); 609 eDays.setBit(i);
607 //if it is a holy day then draw it red. Sundays are consider holidays, too 610 //if it is a holy day then draw it red. Sundays are consider holidays, too
608 if ( (KOGlobals::self()->calendarSystem()->dayOfWeek(days[i]) == KOGlobals::self()->calendarSystem()->weekDayOfPray()) || 611 if ( (KOGlobals::self()->calendarSystem()->dayOfWeek(days[i]) == KOGlobals::self()->calendarSystem()->weekDayOfPray()) ||
609 !holiStr.isEmpty()) { 612 !holiStr.isEmpty()) {
610 mHolidays[i] = holiStr; 613 mHolidays[i] = holiStr;
611 } else { 614 } else {
612 mHolidays[i] = QString::null; 615 mHolidays[i] = QString::null;
613 } 616 }
614 } 617 }
615#endif 618#endif
616 mRedrawNeeded = true; 619 mRedrawNeeded = true;
617 if ( ! mPendingUpdateBeforeRepaint ) 620 if ( ! mPendingUpdateBeforeRepaint )
618 repaint(false); 621 repaint(false);
619} 622}
620void KODayMatrix::updateView(QDate actdate) 623void KODayMatrix::updateView(QDate actdate)
621{ 624{
622 if ( mLastView != KOPrefs::instance()->mCurrentDisplayedView ) 625 if ( mLastView != KOPrefs::instance()->mCurrentDisplayedView )
623 mRedrawNeeded = true; 626 mRedrawNeeded = true;
624 mLastView = KOPrefs::instance()->mCurrentDisplayedView; 627 mLastView = KOPrefs::instance()->mCurrentDisplayedView;
625 if ( ! actdate.isValid() ) { 628 if ( ! actdate.isValid() ) {
626 //qDebug("date not valid "); 629 //qDebug("date not valid ");
627 return; 630 return;
628 } 631 }
629 mDayChanged = false; 632 mDayChanged = false;
630 //flag to indicate if the starting day of the matrix has changed by this call 633 //flag to indicate if the starting day of the matrix has changed by this call
631 //mDayChanged = false; 634 //mDayChanged = false;
632 // if a new startdate is to be set then apply Cornelius's calculation 635 // if a new startdate is to be set then apply Cornelius's calculation
633 // of the first day to be shown 636 // of the first day to be shown
634 if (actdate != startdate) { 637 if (actdate != startdate) {
635 // reset index of selection according to shift of starting date from startdate to actdate 638 // reset index of selection according to shift of starting date from startdate to actdate
636 if (mSelStart != NOSELECTION) { 639 if (mSelStart != NOSELECTION) {
637 int tmp = actdate.daysTo(startdate); 640 int tmp = actdate.daysTo(startdate);
638 //kdDebug() << "Shift of Selection1: " << mSelStart << " - " << mSelEnd << " -> " << tmp << "(" << offset << ")" << endl; 641 //kdDebug() << "Shift of Selection1: " << mSelStart << " - " << mSelEnd << " -> " << tmp << "(" << offset << ")" << endl;
639 // shift selection if new one would be visible at least partly ! 642 // shift selection if new one would be visible at least partly !
640 643
641 if (mSelStart+tmp < NUMDAYS && mSelEnd+tmp >= 0) { 644 if (mSelStart+tmp < NUMDAYS && mSelEnd+tmp >= 0) {
642 // nested if is required for next X display pushed from a different month - correction required 645 // nested if is required for next X display pushed from a different month - correction required
643 // otherwise, for month forward and backward, it must be avoided 646 // otherwise, for month forward and backward, it must be avoided
644 if( mSelStart > NUMDAYS || mSelStart < 0 ) 647 if( mSelStart > NUMDAYS || mSelStart < 0 )
645 mSelStart = mSelStart + tmp; 648 mSelStart = mSelStart + tmp;
646 if( mSelEnd > NUMDAYS || mSelEnd < 0 ) 649 if( mSelEnd > NUMDAYS || mSelEnd < 0 )
647 mSelEnd = mSelEnd + tmp; 650 mSelEnd = mSelEnd + tmp;
648 } 651 }
649 } 652 }
650 startdate = actdate; 653 startdate = actdate;
651 mDayChanged = true; 654 mDayChanged = true;
652 recalculateToday(); 655 recalculateToday();
653 mRedrawNeeded = true; 656 mRedrawNeeded = true;
654 } 657 }
655 //qDebug("restart Timer %d vis: %d", mDayChanged, isVisible() ); 658 //qDebug("restart Timer %d vis: %d", mDayChanged, isVisible() );
656 if ( !isVisible() ) { 659 if ( !isVisible() ) {
657 mPendingUpdateBeforeRepaint = true; 660 mPendingUpdateBeforeRepaint = true;
658 } else { 661 } else {
659#ifdef DESKTOP_VERSION 662#ifdef DESKTOP_VERSION
660 //mRepaintTimer->start( 100 ); 663 //mRepaintTimer->start( 100 );
661 //updateViewTimed(); 664 //updateViewTimed();
662 mUpdateTimer->start( 50 ); 665 mUpdateTimer->start( 50 );
663#else 666#else
664 mRepaintTimer->start( 350 ); 667 mRepaintTimer->start( 350 );
665 mUpdateTimer->start( 800 ); 668 mUpdateTimer->start( 800 );
666#endif 669#endif
667 } 670 }
668} 671}
669void KODayMatrix::updateEvents() 672void KODayMatrix::updateEvents()
670{ 673{
671 if ( !mCalendar ) return; 674 if ( !mCalendar ) return;
672 675
673 for( int i = 0; i < NUMDAYS; i++ ) { 676 for( int i = 0; i < NUMDAYS; i++ ) {
674 // if events are set for the day then remember to draw it bold 677 // if events are set for the day then remember to draw it bold
675 QPtrList<Event> eventlist = mCalendar->events( days[ i ] ); 678 QPtrList<Event> eventlist = mCalendar->events( days[ i ] );
676 int numEvents = eventlist.count(); 679 int numEvents = eventlist.count();
677 Event *event; 680 Event *event;
678 for( event = eventlist.first(); event != 0;event=eventlist.next()) { 681 for( event = eventlist.first(); event != 0;event=eventlist.next()) {
679 ushort recurType = event->doesRecur(); 682 ushort recurType = event->doesRecur();
680 683
681 if ( ( recurType == Recurrence::rDaily && 684 if ( ( recurType == Recurrence::rDaily &&
682 !KOPrefs::instance()->mDailyRecur ) || 685 !KOPrefs::instance()->mDailyRecur ) ||
683 ( recurType == Recurrence::rWeekly && 686 ( recurType == Recurrence::rWeekly &&
684 !KOPrefs::instance()->mWeeklyRecur ) ) { 687 !KOPrefs::instance()->mWeeklyRecur ) ) {
685 numEvents--; 688 numEvents--;
686 } 689 }
690 if ( !KOPrefs::instance()->mLongAllday && event->doesFloat()&& event->isMultiDay() ) {
691 numEvents--;
692 }
687 } 693 }
688 if ( numEvents ) 694 if ( numEvents )
689 eDays.setBit(i); 695 eDays.setBit(i);
690 else 696 else
691 eDays.clearBit(i); 697 eDays.clearBit(i);
692 } 698 }
693} 699}
694 700
695const QDate& KODayMatrix::getDate(int offset) 701const QDate& KODayMatrix::getDate(int offset)
696{ 702{
697 if (offset < 0 || offset > NUMDAYS-1) { 703 if (offset < 0 || offset > NUMDAYS-1) {
698 qDebug("Wrong offset2 %d", offset); 704 qDebug("Wrong offset2 %d", offset);
699 return days[0]; 705 return days[0];
700 } 706 }
701 return days[offset]; 707 return days[offset];
702} 708}
703 709
704QString KODayMatrix::getHolidayLabel(int offset) 710QString KODayMatrix::getHolidayLabel(int offset)
705{ 711{
706 if (offset < 0 || offset > NUMDAYS-1) { 712 if (offset < 0 || offset > NUMDAYS-1) {
707 qDebug("Wrong offset1 %d", offset); 713 qDebug("Wrong offset1 %d", offset);
708 return QString(); 714 return QString();
709 } 715 }
710 return mHolidays[offset]; 716 return mHolidays[offset];
711} 717}
712 718
713int KODayMatrix::getDayIndexFrom(int x, int y) 719int KODayMatrix::getDayIndexFrom(int x, int y)
714{ 720{
715 int colModulo = (width()-2) % 7; 721 int colModulo = (width()-2) % 7;
716 int rowModulo = (height()-2) % 6; 722 int rowModulo = (height()-2) % 6;
717#if 0 723#if 0
718 return 7*(y/daysize.height()) + (KOGlobals::self()->reverseLayout() ? 724 return 7*(y/daysize.height()) + (KOGlobals::self()->reverseLayout() ?
719 6 - x/daysize.width() : x/daysize.width()); 725 6 - x/daysize.width() : x/daysize.width());
720#endif 726#endif
721 int xVal = (x-colModulo/2-2)/daysize.width(); 727 int xVal = (x-colModulo/2-2)/daysize.width();
722 int yVal = (y-rowModulo/2-2)/daysize.height(); 728 int yVal = (y-rowModulo/2-2)/daysize.height();
723 729
724 730
725 return 7*(yVal) + xVal; 731 return 7*(yVal) + xVal;
726 732
727} 733}
728 734
729// ---------------------------------------------------------------------------- 735// ----------------------------------------------------------------------------
730// M O U S E E V E N T H A N D L I N G 736// M O U S E E V E N T H A N D L I N G
731// ---------------------------------------------------------------------------- 737// ----------------------------------------------------------------------------
732 738
733void KODayMatrix::mousePressEvent (QMouseEvent* e) 739void KODayMatrix::mousePressEvent (QMouseEvent* e)
734{ 740{
735 741
736 if ( e->button() == LeftButton ) 742 if ( e->button() == LeftButton )
737 mouseDown = true; 743 mouseDown = true;
738 mSelStart = getDayIndexFrom(e->x(), e->y()); 744 mSelStart = getDayIndexFrom(e->x(), e->y());
739 if (mSelStart > NUMDAYS-1) mSelStart=NUMDAYS-1; 745 if (mSelStart > NUMDAYS-1) mSelStart=NUMDAYS-1;
740 mSelInit = mSelStart; 746 mSelInit = mSelStart;
741 mSelEnd = mSelStart; 747 mSelEnd = mSelStart;
742 mRedrawNeeded = true; 748 mRedrawNeeded = true;
743 repaint(false); 749 repaint(false);
744} 750}
745 751
746void KODayMatrix::mouseReleaseEvent (QMouseEvent* e) 752void KODayMatrix::mouseReleaseEvent (QMouseEvent* e)
747{ 753{
748 mRedrawNeeded = true; 754 mRedrawNeeded = true;
749 if ( e->button() == LeftButton ) 755 if ( e->button() == LeftButton )
750 if ( ! mouseDown ) { 756 if ( ! mouseDown ) {
751 return; 757 return;
752 } 758 }
753 else 759 else
754 mouseDown = false; 760 mouseDown = false;
755 int tmp = getDayIndexFrom(e->x(), e->y()); 761 int tmp = getDayIndexFrom(e->x(), e->y());
756 if (tmp > NUMDAYS-1) tmp=NUMDAYS-1; 762 if (tmp > NUMDAYS-1) tmp=NUMDAYS-1;
757 763
758 if (mSelInit > tmp) { 764 if (mSelInit > tmp) {
759 mSelEnd = mSelInit; 765 mSelEnd = mSelInit;
760 if (tmp != mSelStart) { 766 if (tmp != mSelStart) {
761 mSelStart = tmp; 767 mSelStart = tmp;
762 repaint(false); 768 repaint(false);
763 } 769 }
764 } else { 770 } else {
765 mSelStart = mSelInit; 771 mSelStart = mSelInit;
766 772
767 //repaint only if selection has changed 773 //repaint only if selection has changed
768 if (tmp != mSelEnd) { 774 if (tmp != mSelEnd) {
769 mSelEnd = tmp; 775 mSelEnd = tmp;
770 repaint(false); 776 repaint(false);
771 } 777 }
772 } 778 }
773 779
774 DateList daylist; 780 DateList daylist;
775 if ( mSelStart < 0 ) 781 if ( mSelStart < 0 )
776 mSelStart = 0; 782 mSelStart = 0;
777 for (int i = mSelStart; i <= mSelEnd; i++) { 783 for (int i = mSelStart; i <= mSelEnd; i++) {
778 daylist.append(days[i]); 784 daylist.append(days[i]);
779 } 785 }
780 emit selected((const DateList)daylist); 786 emit selected((const DateList)daylist);
781 787
782} 788}
diff --git a/korganizer/koprefs.cpp b/korganizer/koprefs.cpp
index 571ca11..1b0e5f4 100644
--- a/korganizer/koprefs.cpp
+++ b/korganizer/koprefs.cpp
@@ -139,204 +139,206 @@ KOPrefs::KOPrefs() :
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 KPrefs::setCurrentGroup("Conflicts"); 233 KPrefs::setCurrentGroup("Conflicts");
234 addItemBool("EnableAutoDetect",&mDetectConflicts,true); 234 addItemBool("EnableAutoDetect",&mDetectConflicts,true);
235 addItemBool("CheckConflictsFree",&mIncludeFree,true);
235 addItemBool("CheckConflictsAllDayAllDay",&mCheckConflictsAllDayAllDay,false); 236 addItemBool("CheckConflictsAllDayAllDay",&mCheckConflictsAllDayAllDay,false);
236 addItemBool("CheckConflictsAllDayNonAD",&mCheckConflictsAllDayNonAD,false); 237 addItemBool("CheckConflictsAllDayNonAD",&mCheckConflictsAllDayNonAD,false);
237 addItemBool("CheckConflictsNonADAllDay",&mCheckConflictsNonADAllDay,false); 238 addItemBool("CheckConflictsNonADAllDay",&mCheckConflictsNonADAllDay,false);
238 addItemBool("CheckConflictsNonADNonAD",&mCheckConflictsNonADNonAD,true); 239 addItemBool("CheckConflictsNonADNonAD",&mCheckConflictsNonADNonAD,true);
239 addItemString("FilterConflictEditItem", &mFilterConflictEditItem ,"nofilter" ); 240 addItemString("FilterConflictEditItem", &mFilterConflictEditItem ,"nofilter" );
240 addItemString("FilterConflictAllItem", &mFilterConflictAllItem ,"nofilter" ); 241 addItemString("FilterConflictAllItem", &mFilterConflictAllItem ,"nofilter" );
241 242
242 KPrefs::setCurrentGroup("Views"); 243 KPrefs::setCurrentGroup("Views");
243 addItemBool("Block Popup Menu",&mBlockPopupMenu,false); 244 addItemBool("Block Popup Menu",&mBlockPopupMenu,false);
244 addItemBool("Show Date Navigator",&mShowDateNavigator,true); 245 addItemBool("Show Date Navigator",&mShowDateNavigator,true);
245 addItemInt("Hour Size",&mHourSize,8); 246 addItemInt("Hour Size",&mHourSize,8);
246 addItemBool("Show Daily Recurrences",&mDailyRecur,true); 247 addItemBool("Show Daily Recurrences",&mDailyRecur,true);
248 addItemBool("ShowLongAllday",&mLongAllday,true);
247 addItemBool("Show Weekly Recurrences",&mWeeklyRecur,true); 249 addItemBool("Show Weekly Recurrences",&mWeeklyRecur,true);
248 addItemBool("Show Month Daily Recurrences",&mMonthDailyRecur,true); 250 addItemBool("Show Month Daily Recurrences",&mMonthDailyRecur,true);
249 addItemBool("Show Month Weekly Recurrences",&mMonthWeeklyRecur,true); 251 addItemBool("Show Month Weekly Recurrences",&mMonthWeeklyRecur,true);
250 addItemBool("ShowShortMonthName",&mMonthShowShort,false); 252 addItemBool("ShowShortMonthName",&mMonthShowShort,false);
251 addItemBool("ShowIconsInMonthCell",&mMonthShowIcons,true); 253 addItemBool("ShowIconsInMonthCell",&mMonthShowIcons,true);
252 addItemBool("ShowTimesInMonthCell",&mMonthShowTimes,true); 254 addItemBool("ShowTimesInMonthCell",&mMonthShowTimes,true);
253#ifdef DESKTOP_VERION 255#ifdef DESKTOP_VERION
254 addItemBool("Enable ToolTips",&mEnableToolTips,true); 256 addItemBool("Enable ToolTips",&mEnableToolTips,true);
255#else 257#else
256 addItemBool("Enable ToolTips",&mEnableToolTips,false); 258 addItemBool("Enable ToolTips",&mEnableToolTips,false);
257#endif 259#endif
258 addItemBool("Enable MonthView ScrollBars",&mEnableMonthScroll,false); 260 addItemBool("Enable MonthView ScrollBars",&mEnableMonthScroll,false);
259 addItemBool("Marcus Bains shows seconds",&mMarcusBainsShowSeconds,false); 261 addItemBool("Marcus Bains shows seconds",&mMarcusBainsShowSeconds,false);
260 addItemBool("Show Marcus Bains",&mMarcusBainsEnabled,true); 262 addItemBool("Show Marcus Bains",&mMarcusBainsEnabled,true);
261 addItemBool("EditOnDoubleClick",&mEditOnDoubleClick,true); 263 addItemBool("EditOnDoubleClick",&mEditOnDoubleClick,true);
262 addItemBool("ViewChangeHoldFullscreen",&mViewChangeHoldFullscreen,true); 264 addItemBool("ViewChangeHoldFullscreen",&mViewChangeHoldFullscreen,true);
263 addItemBool("ViewChangeHoldNonFullscreen",&mViewChangeHoldNonFullscreen,false); 265 addItemBool("ViewChangeHoldNonFullscreen",&mViewChangeHoldNonFullscreen,false);
264 addItemBool("CenterOnCurrentTime",&mCenterOnCurrentTime,false); 266 addItemBool("CenterOnCurrentTime",&mCenterOnCurrentTime,false);
265 addItemBool("SetTimeToDayStartAt",&mSetTimeToDayStartAt,true); 267 addItemBool("SetTimeToDayStartAt",&mSetTimeToDayStartAt,true);
266 addItemBool("HighlightCurrentDay",&mHighlightCurrentDay,true); 268 addItemBool("HighlightCurrentDay",&mHighlightCurrentDay,true);
267 addItemBool("WNViewShowsParents",&mWNViewShowsParents,true);; 269 addItemBool("WNViewShowsParents",&mWNViewShowsParents,true);;
268 addItemBool("WNViewShowsPast",&mWNViewShowsPast,true); 270 addItemBool("WNViewShowsPast",&mWNViewShowsPast,true);
269 addItemBool("WNViewShowLocation",&mWNViewShowLocation,false); 271 addItemBool("WNViewShowLocation",&mWNViewShowLocation,false);
270 addItemBool("UseHighlightLightColor",&mUseHighlightLightColor,false); 272 addItemBool("UseHighlightLightColor",&mUseHighlightLightColor,false);
271 addItemBool("ListViewMonthTimespan",&mListViewMonthTimespan,true); 273 addItemBool("ListViewMonthTimespan",&mListViewMonthTimespan,true);
272 addItemBool("TodoViewUsesCatColors",&mTodoViewUsesCatColors,false); 274 addItemBool("TodoViewUsesCatColors",&mTodoViewUsesCatColors,false);
273 addItemBool("TodoViewShowsPercentage",&mTodoViewShowsPercentage,false); 275 addItemBool("TodoViewShowsPercentage",&mTodoViewShowsPercentage,false);
274 addItemBool("TodoViewUsesSmallFont",&mTodoViewUsesSmallFont,true); 276 addItemBool("TodoViewUsesSmallFont",&mTodoViewUsesSmallFont,true);
275 addItemBool("MonthViewUsesBigFont",&mMonthViewUsesBigFont,true); 277 addItemBool("MonthViewUsesBigFont",&mMonthViewUsesBigFont,true);
276 addItemBool("MonthViewWeekRowlayout",&mMonthViewWeekRowlayout,false); 278 addItemBool("MonthViewWeekRowlayout",&mMonthViewWeekRowlayout,false);
277 addItemBool("TodoViewUsesForegroundColor",&mTodoViewUsesForegroundColor,false); 279 addItemBool("TodoViewUsesForegroundColor",&mTodoViewUsesForegroundColor,false);
278 addItemBool("MonthViewUsesForegroundColor",&mMonthViewUsesForegroundColor,false); 280 addItemBool("MonthViewUsesForegroundColor",&mMonthViewUsesForegroundColor,false);
279#ifdef DESKTOP_VERSION 281#ifdef DESKTOP_VERSION
280 addItemBool("UseInternalAlarmNotification",&mUseInternalAlarmNotification,true); 282 addItemBool("UseInternalAlarmNotification",&mUseInternalAlarmNotification,true);
281#else 283#else
282 addItemBool("UseInternalAlarmNotification",&mUseInternalAlarmNotification,false); 284 addItemBool("UseInternalAlarmNotification",&mUseInternalAlarmNotification,false);
283#endif 285#endif
284 addItemInt("Day Begins",&mDayBegins,7); 286 addItemInt("Day Begins",&mDayBegins,7);
285 addItemInt("Working Hours Start",&mWorkingHoursStart,8); 287 addItemInt("Working Hours Start",&mWorkingHoursStart,8);
286 addItemInt("Working Hours End",&mWorkingHoursEnd,17); 288 addItemInt("Working Hours End",&mWorkingHoursEnd,17);
287 addItemBool("Exclude Holidays",&mExcludeHolidays,true); 289 addItemBool("Exclude Holidays",&mExcludeHolidays,true);
288 addItemBool("Exclude Saturdays",&mExcludeSaturdays,true); 290 addItemBool("Exclude Saturdays",&mExcludeSaturdays,true);
289 291
290 addItemBool("Month View Uses Category Color",&mMonthViewUsesCategoryColor,false); 292 addItemBool("Month View Uses Category Color",&mMonthViewUsesCategoryColor,false);
291 addItemBool("Full View Month",&mFullViewMonth,true); 293 addItemBool("Full View Month",&mFullViewMonth,true);
292 addItemBool("Full View Todo",&mFullViewTodo,true); 294 addItemBool("Full View Todo",&mFullViewTodo,true);
293 addItemBool("Quick Todo",&mEnableQuickTodo,false); 295 addItemBool("Quick Todo",&mEnableQuickTodo,false);
294 296
295 addItemInt("Next X Days",&mNextXDays,3); 297 addItemInt("Next X Days",&mNextXDays,3);
296 298
297 KPrefs::setCurrentGroup("Printer"); 299 KPrefs::setCurrentGroup("Printer");
298 300
299 KPrefs::setCurrentGroup("Layout"); 301 KPrefs::setCurrentGroup("Layout");
300 302
301 addItemBool("CompactDialogs",&mCompactDialogs,false); 303 addItemBool("CompactDialogs",&mCompactDialogs,false);
302 addItemBool("VerticalScreen",&mVerticalScreen,true); 304 addItemBool("VerticalScreen",&mVerticalScreen,true);
303 305
304 KPrefs::setCurrentGroup("KOrganizer Plugins"); 306 KPrefs::setCurrentGroup("KOrganizer Plugins");
305 307
306 addItemStringList("SelectedPlugins",&mSelectedPlugins,"holidays"); 308 addItemStringList("SelectedPlugins",&mSelectedPlugins,"holidays");
307 309
308 KPrefs::setCurrentGroup("Group Scheduling"); 310 KPrefs::setCurrentGroup("Group Scheduling");
309 311
310 addItemInt("IMIPScheduler",&mIMIPScheduler,IMIPKMail); 312 addItemInt("IMIPScheduler",&mIMIPScheduler,IMIPKMail);
311 addItemInt("IMIPSend",&mIMIPSend,IMIPdirectsend); 313 addItemInt("IMIPSend",&mIMIPSend,IMIPdirectsend);
312 addItemStringList("AdditionalMails",&mAdditionalMails,""); 314 addItemStringList("AdditionalMails",&mAdditionalMails,"");
313 addItemInt("IMIP auto refresh",&mIMIPAutoRefresh,neverAuto); 315 addItemInt("IMIP auto refresh",&mIMIPAutoRefresh,neverAuto);
314 addItemInt("IMIP auto insert request",&mIMIPAutoInsertRequest,neverAuto); 316 addItemInt("IMIP auto insert request",&mIMIPAutoInsertRequest,neverAuto);
315 addItemInt("IMIP auto insert reply",&mIMIPAutoInsertReply,neverAuto); 317 addItemInt("IMIP auto insert reply",&mIMIPAutoInsertReply,neverAuto);
316 addItemInt("IMIP auto FreeBusy",&mIMIPAutoFreeBusy,neverAuto); 318 addItemInt("IMIP auto FreeBusy",&mIMIPAutoFreeBusy,neverAuto);
317 addItemInt("IMIP auto save FreeBusy",&mIMIPAutoFreeBusyReply,neverAuto); 319 addItemInt("IMIP auto save FreeBusy",&mIMIPAutoFreeBusyReply,neverAuto);
318 320
319 KPrefs::setCurrentGroup( "Editors" ); 321 KPrefs::setCurrentGroup( "Editors" );
320 322
321 addItemStringList( "EventTemplates", &mEventTemplates ); 323 addItemStringList( "EventTemplates", &mEventTemplates );
322 addItemStringList( "TodoTemplates", &mTodoTemplates ); 324 addItemStringList( "TodoTemplates", &mTodoTemplates );
323 325
324 addItemInt("DestinationPolicy",&mDestination,standardDestination); 326 addItemInt("DestinationPolicy",&mDestination,standardDestination);
325 327
326 KPrefs::setCurrentGroup( "ViewOptions" ); 328 KPrefs::setCurrentGroup( "ViewOptions" );
327 addItemBool("EVshowDetails",&mEVshowDetails,true); 329 addItemBool("EVshowDetails",&mEVshowDetails,true);
328 addItemBool("EVshowCreated",&mEVshowCreated,true); 330 addItemBool("EVshowCreated",&mEVshowCreated,true);
329 addItemBool("EVshowChanged",&mEVshowChanged,true); 331 addItemBool("EVshowChanged",&mEVshowChanged,true);
330 addItemBool("WTshowDetails",&mWTshowDetails,false); 332 addItemBool("WTshowDetails",&mWTshowDetails,false);
331 addItemBool("WTshowCreated",&mWTshowCreated,false); 333 addItemBool("WTshowCreated",&mWTshowCreated,false);
332 addItemBool("WTshowChanged",&mWTshowChanged,false); 334 addItemBool("WTshowChanged",&mWTshowChanged,false);
333 mCalendars.setAutoDelete( true ); 335 mCalendars.setAutoDelete( true );
334} 336}
335 337
336 338
337KOPrefs::~KOPrefs() 339KOPrefs::~KOPrefs()
338{ 340{
339 if (mInstance == this) 341 if (mInstance == this)
340 mInstance = insd.setObject(0); 342 mInstance = insd.setObject(0);
341 mCalendars.setAutoDelete( true ); 343 mCalendars.setAutoDelete( true );
342 mCalendars.clear(); 344 mCalendars.clear();
diff --git a/korganizer/koprefs.h b/korganizer/koprefs.h
index 576edf9..bac8010 100644
--- a/korganizer/koprefs.h
+++ b/korganizer/koprefs.h
@@ -101,274 +101,276 @@ class KOPrefs : public KPimPrefs
101 void setAllDefaults(); 101 void setAllDefaults();
102 KopiCalendarFile * getNewCalendar(); 102 KopiCalendarFile * getNewCalendar();
103 KopiCalendarFile * getCalendar( int ); 103 KopiCalendarFile * getCalendar( int );
104 void deleteCalendar( int ); 104 void deleteCalendar( int );
105 QColor defaultColor( int ) const; 105 QColor defaultColor( int ) const;
106 QString calName( int ) const; 106 QString calName( int ) const;
107 int getCalendarID( const QString & name ); 107 int getCalendarID( const QString & name );
108 protected: 108 protected:
109 void setTimeZoneIdDefault(); 109 void setTimeZoneIdDefault();
110 110
111 /** Fill empty mail fields with default values. */ 111 /** Fill empty mail fields with default values. */
112 void fillMailDefaults(); 112 void fillMailDefaults();
113 113
114 private: 114 private:
115 /** Constructor disabled for public. Use instance() to create a KOPrefs 115 /** Constructor disabled for public. Use instance() to create a KOPrefs
116 object. */ 116 object. */
117 KOPrefs(); 117 KOPrefs();
118 118
119 static KOPrefs *mInstance; 119 static KOPrefs *mInstance;
120 QStringList getDefaultList(); 120 QStringList getDefaultList();
121 QStringList getLocationDefaultList(); 121 QStringList getLocationDefaultList();
122 public: 122 public:
123 // preferences data 123 // preferences data
124 KConfig* getConfig(); 124 KConfig* getConfig();
125 void setFullName(const QString &); 125 void setFullName(const QString &);
126 QString fullName(); 126 QString fullName();
127 void setEmail(const QString &); 127 void setEmail(const QString &);
128 QString email(); 128 QString email();
129 129
130 QString mAdditional; 130 QString mAdditional;
131 131
132 bool mEmailControlCenter; 132 bool mEmailControlCenter;
133 133
134 bool mBcc; 134 bool mBcc;
135 bool mAutoSave; 135 bool mAutoSave;
136 int mAutoSaveInterval; 136 int mAutoSaveInterval;
137 bool mConfirm; 137 bool mConfirm;
138 138
139 bool mEnableGroupScheduling; 139 bool mEnableGroupScheduling;
140 bool mEnableProjectView; 140 bool mEnableProjectView;
141 141
142 int mDefaultFormat; 142 int mDefaultFormat;
143 int mMailClient; 143 int mMailClient;
144 144
145 int mStartTime; 145 int mStartTime;
146 int mDefaultDuration; 146 int mDefaultDuration;
147 int mAlarmTime; 147 int mAlarmTime;
148 148
149 int mWorkingHoursStart; 149 int mWorkingHoursStart;
150 int mWorkingHoursEnd; 150 int mWorkingHoursEnd;
151 bool mExcludeHolidays; 151 bool mExcludeHolidays;
152 bool mExcludeSaturdays; 152 bool mExcludeSaturdays;
153 bool mMarcusBainsShowSeconds; 153 bool mMarcusBainsShowSeconds;
154 154
155 QFont mTimeBarFont; 155 QFont mTimeBarFont;
156 QFont mMonthViewFont; 156 QFont mMonthViewFont;
157 QFont mAgendaViewFont; 157 QFont mAgendaViewFont;
158 QFont mMarcusBainsFont; 158 QFont mMarcusBainsFont;
159 QFont mTimeLabelsFont; 159 QFont mTimeLabelsFont;
160 QFont mTodoViewFont; 160 QFont mTodoViewFont;
161 QFont mListViewFont; 161 QFont mListViewFont;
162 QFont mDateNavigatorFont; 162 QFont mDateNavigatorFont;
163 QFont mEditBoxFont; 163 QFont mEditBoxFont;
164 QFont mJornalViewFont; 164 QFont mJornalViewFont;
165 QFont mWhatsNextFont; 165 QFont mWhatsNextFont;
166 QFont mEventViewFont; 166 QFont mEventViewFont;
167 167
168 168
169 169
170 170
171 QColor mHolidayColor; 171 QColor mHolidayColor;
172 QColor mHighlightColor; 172 QColor mHighlightColor;
173 QColor mEventColor; 173 QColor mEventColor;
174 QColor mTodoDoneColor; 174 QColor mTodoDoneColor;
175 QColor mAgendaBgColor; 175 QColor mAgendaBgColor;
176 QColor mWorkingHoursColor; 176 QColor mWorkingHoursColor;
177 QColor mTodoDueTodayColor; 177 QColor mTodoDueTodayColor;
178 QColor mTodoOverdueColor; 178 QColor mTodoOverdueColor;
179 QColor mTodoRunColor; 179 QColor mTodoRunColor;
180 QColor mMonthViewEvenColor; 180 QColor mMonthViewEvenColor;
181 QColor mMonthViewOddColor; 181 QColor mMonthViewOddColor;
182 QColor mMonthViewHolidayColor; 182 QColor mMonthViewHolidayColor;
183 bool mMonthViewUsesDayColors; 183 bool mMonthViewUsesDayColors;
184 bool mMonthViewSatSunTog; 184 bool mMonthViewSatSunTog;
185 bool mMonthViewWeek; 185 bool mMonthViewWeek;
186 bool mMonthViewWeekRowlayout; 186 bool mMonthViewWeekRowlayout;
187 QColor mAppColor1; 187 QColor mAppColor1;
188 QColor mAppColor2; 188 QColor mAppColor2;
189 bool mUseAppColors; 189 bool mUseAppColors;
190 190
191 int mDayBegins; 191 int mDayBegins;
192 int mHourSize; 192 int mHourSize;
193 int mAllDaySize; 193 int mAllDaySize;
194 bool mShowFullMenu; 194 bool mShowFullMenu;
195 bool mDailyRecur; 195 bool mDailyRecur;
196 bool mWeeklyRecur; 196 bool mWeeklyRecur;
197 bool mLongAllday;
197 bool mMonthDailyRecur; 198 bool mMonthDailyRecur;
198 bool mMonthWeeklyRecur; 199 bool mMonthWeeklyRecur;
199 bool mMonthShowIcons; 200 bool mMonthShowIcons;
200 bool mMonthShowTimes; 201 bool mMonthShowTimes;
201 bool mMonthShowShort; 202 bool mMonthShowShort;
202 bool mEnableToolTips; 203 bool mEnableToolTips;
203 bool mEnableMonthScroll; 204 bool mEnableMonthScroll;
204 bool mFullViewMonth; 205 bool mFullViewMonth;
205 bool mMonthViewUsesCategoryColor; 206 bool mMonthViewUsesCategoryColor;
206 bool mFullViewTodo; 207 bool mFullViewTodo;
207 bool mShowCompletedTodo; 208 bool mShowCompletedTodo;
208 bool mMarcusBainsEnabled; 209 bool mMarcusBainsEnabled;
209 int mNextXDays; 210 int mNextXDays;
210 int mWhatsNextDays; 211 int mWhatsNextDays;
211 bool mWhatsNextTime2Lines; 212 bool mWhatsNextTime2Lines;
212 int mWhatsNextPrios; 213 int mWhatsNextPrios;
213 bool mEnableQuickTodo; 214 bool mEnableQuickTodo;
214 215
215 bool mCompactDialogs; 216 bool mCompactDialogs;
216 bool mVerticalScreen; 217 bool mVerticalScreen;
217 218
218 bool mShowIconNewTodo; 219 bool mShowIconNewTodo;
219 bool mShowIconNewEvent; 220 bool mShowIconNewEvent;
220 bool mShowIconSearch; 221 bool mShowIconSearch;
221 bool mShowIconList; 222 bool mShowIconList;
222 bool mShowIconDay1; 223 bool mShowIconDay1;
223 bool mShowIconDay5; 224 bool mShowIconDay5;
224 bool mShowIconDay6; 225 bool mShowIconDay6;
225 bool mShowIconDay7; 226 bool mShowIconDay7;
226 bool mShowIconMonth; 227 bool mShowIconMonth;
227 bool mShowIconTodoview; 228 bool mShowIconTodoview;
228 bool mShowIconBackFast; 229 bool mShowIconBackFast;
229 bool mShowIconBack; 230 bool mShowIconBack;
230 bool mShowIconToday; 231 bool mShowIconToday;
231 bool mShowIconForward; 232 bool mShowIconForward;
232 bool mShowIconForwardFast; 233 bool mShowIconForwardFast;
233 bool mShowIconWhatsThis; 234 bool mShowIconWhatsThis;
234 bool mShowIconWeekNum; 235 bool mShowIconWeekNum;
235 bool mShowIconNextDays; 236 bool mShowIconNextDays;
236 bool mShowIconNext; 237 bool mShowIconNext;
237 bool mShowIconJournal; 238 bool mShowIconJournal;
238 bool mShowIconFilter; 239 bool mShowIconFilter;
239 bool mShowIconOnetoolbar; 240 bool mShowIconOnetoolbar;
240 bool mShowIconNavigator; 241 bool mShowIconNavigator;
241 bool mShowIconAllday; 242 bool mShowIconAllday;
242 bool mShowIconFilterview; 243 bool mShowIconFilterview;
243 bool mShowIconToggleFull; 244 bool mShowIconToggleFull;
244 245
245 bool mShowIconStretch; 246 bool mShowIconStretch;
246 247
247 bool mToolBarHor; 248 bool mToolBarHor;
248 bool mToolBarUp; 249 bool mToolBarUp;
249 bool mToolBarHorV; 250 bool mToolBarHorV;
250 bool mToolBarUpV; 251 bool mToolBarUpV;
251 bool mToolBarHorN; 252 bool mToolBarHorN;
252 bool mToolBarUpN; 253 bool mToolBarUpN;
253 bool mToolBarHorF; 254 bool mToolBarHorF;
254 bool mToolBarUpF; 255 bool mToolBarUpF;
255 bool mToolBarMiniIcons; 256 bool mToolBarMiniIcons;
256 257
257 bool mAskForQuit; 258 bool mAskForQuit;
258 bool mUsePassWd; 259 bool mUsePassWd;
259 bool mShowSyncEvents; 260 bool mShowSyncEvents;
260 bool mShowTodoInAgenda; 261 bool mShowTodoInAgenda;
261 bool mShowCompletedTodoInAgenda; 262 bool mShowCompletedTodoInAgenda;
262 bool mShowTimeInAgenda; 263 bool mShowTimeInAgenda;
263 bool mHideNonStartedTodos; 264 bool mHideNonStartedTodos;
264 265
265 bool mBlockPopupMenu; 266 bool mBlockPopupMenu;
266 267
267 int mLastSyncTime; 268 int mLastSyncTime;
268 void setCategoryColor(QString cat,const QColor & color); 269 void setCategoryColor(QString cat,const QColor & color);
269 QColor *categoryColor(QString cat); 270 QColor *categoryColor(QString cat);
270 271
271 QString mArchiveFile; 272 QString mArchiveFile;
272 QString mHtmlExportFile; 273 QString mHtmlExportFile;
273 bool mHtmlWithSave; 274 bool mHtmlWithSave;
274 275
275 QStringList mSelectedPlugins; 276 QStringList mSelectedPlugins;
276 277
277 QString mLastImportFile; 278 QString mLastImportFile;
278 QString mLastVcalFile; 279 QString mLastVcalFile;
279 QString mLastSaveFile; 280 QString mLastSaveFile;
280 QString mLastLoadFile; 281 QString mLastLoadFile;
281 282
282 283
283 QString mDefaultAlarmFile; 284 QString mDefaultAlarmFile;
284 int mIMIPScheduler; 285 int mIMIPScheduler;
285 int mIMIPSend; 286 int mIMIPSend;
286 QStringList mAdditionalMails; 287 QStringList mAdditionalMails;
287 int mIMIPAutoRefresh; 288 int mIMIPAutoRefresh;
288 int mIMIPAutoInsertReply; 289 int mIMIPAutoInsertReply;
289 int mIMIPAutoInsertRequest; 290 int mIMIPAutoInsertRequest;
290 int mIMIPAutoFreeBusy; 291 int mIMIPAutoFreeBusy;
291 int mIMIPAutoFreeBusyReply; 292 int mIMIPAutoFreeBusyReply;
292 293
293 QStringList mTodoTemplates; 294 QStringList mTodoTemplates;
294 QStringList mEventTemplates; 295 QStringList mEventTemplates;
295 296
296 int mDestination; 297 int mDestination;
297 298
298 299
299 bool mEditOnDoubleClick; 300 bool mEditOnDoubleClick;
300 bool mViewChangeHoldFullscreen; 301 bool mViewChangeHoldFullscreen;
301 bool mViewChangeHoldNonFullscreen; 302 bool mViewChangeHoldNonFullscreen;
302 bool mCenterOnCurrentTime; 303 bool mCenterOnCurrentTime;
303 bool mSetTimeToDayStartAt; 304 bool mSetTimeToDayStartAt;
304 bool mHighlightCurrentDay; 305 bool mHighlightCurrentDay;
305 bool mUseHighlightLightColor; 306 bool mUseHighlightLightColor;
306 bool mListViewMonthTimespan; 307 bool mListViewMonthTimespan;
307 bool mWNViewShowsParents; 308 bool mWNViewShowsParents;
308 bool mWNViewShowsPast; 309 bool mWNViewShowsPast;
309 bool mWNViewShowLocation; 310 bool mWNViewShowLocation;
310 bool mTodoViewShowsPercentage; 311 bool mTodoViewShowsPercentage;
311 bool mTodoViewUsesCatColors; 312 bool mTodoViewUsesCatColors;
312 bool mMonthViewUsesBigFont; 313 bool mMonthViewUsesBigFont;
313 bool mTodoViewUsesSmallFont; 314 bool mTodoViewUsesSmallFont;
314 bool mTodoViewUsesForegroundColor; 315 bool mTodoViewUsesForegroundColor;
315 bool mMonthViewUsesForegroundColor; 316 bool mMonthViewUsesForegroundColor;
316 317
317 bool mHightlightDateTimeEdit; 318 bool mHightlightDateTimeEdit;
318 bool mShortDateInViewer; 319 bool mShortDateInViewer;
319 320
320 bool mShowDateNavigator; 321 bool mShowDateNavigator;
321 322
322 QStringList mLocationDefaults; 323 QStringList mLocationDefaults;
323 QStringList mEventSummaryUser; 324 QStringList mEventSummaryUser;
324 QStringList mTodoSummaryUser; 325 QStringList mTodoSummaryUser;
325 QStringList mJournalSummaryUser; 326 QStringList mJournalSummaryUser;
326 327
327 bool mUseInternalAlarmNotification; 328 bool mUseInternalAlarmNotification;
328 int mAlarmPlayBeeps; 329 int mAlarmPlayBeeps;
329 int mAlarmSuspendTime; 330 int mAlarmSuspendTime;
330 int mAlarmSuspendCount; 331 int mAlarmSuspendCount;
331 int mAlarmBeepInterval; 332 int mAlarmBeepInterval;
332 int mOldLanguage; 333 int mOldLanguage;
333 int mOldLoadedLanguage; 334 int mOldLoadedLanguage;
334 335
335 336
336 QString mActiveSyncPort; 337 QString mActiveSyncPort;
337 QString mActiveSyncIP; 338 QString mActiveSyncIP;
338 339
339 // settings for eventviewer 340 // settings for eventviewer
340 bool mEVshowDetails; 341 bool mEVshowDetails;
341 bool mEVshowCreated; 342 bool mEVshowCreated;
342 bool mEVshowChanged; 343 bool mEVshowChanged;
343 bool mWTshowDetails; 344 bool mWTshowDetails;
344 bool mWTshowCreated; 345 bool mWTshowCreated;
345 bool mWTshowChanged; 346 bool mWTshowChanged;
346 347
347 int mCurrentDisplayedView; 348 int mCurrentDisplayedView;
348 QPtrList<KopiCalendarFile> mCalendars; 349 QPtrList<KopiCalendarFile> mCalendars;
349 int mNextAvailableCalendar; 350 int mNextAvailableCalendar;
350 bool mGlobalUpdateDisabled; 351 bool mGlobalUpdateDisabled;
351 352
352 353
353 bool mDetectConflicts; 354 bool mDetectConflicts;
355 bool mIncludeFree;
354 bool mCheckConflictsAllDayAllDay; 356 bool mCheckConflictsAllDayAllDay;
355 bool mCheckConflictsAllDayNonAD; 357 bool mCheckConflictsAllDayNonAD;
356 bool mCheckConflictsNonADAllDay; 358 bool mCheckConflictsNonADAllDay;
357 bool mCheckConflictsNonADNonAD; 359 bool mCheckConflictsNonADNonAD;
358 QString mFilterConflictEditItem; 360 QString mFilterConflictEditItem;
359 QString mFilterConflictAllItem; 361 QString mFilterConflictAllItem;
360 362
361 private: 363 private:
362 QDict<QColor> mCategoryColors; 364 QDict<QColor> mCategoryColors;
363 QArray<KopiCalendarFile*> mDefCalColors; 365 QArray<KopiCalendarFile*> mDefCalColors;
364 QColor mDefaultCategoryColor; 366 QColor mDefaultCategoryColor;
365 367
366 QFont mDefaultTimeBarFont; 368 QFont mDefaultTimeBarFont;
367 QFont mDefaultViewFont; 369 QFont mDefaultViewFont;
368 QFont mDefaultMonthViewFont; 370 QFont mDefaultMonthViewFont;
369 371
370 QString mName; 372 QString mName;
371 QString mEmail; 373 QString mEmail;
372}; 374};
373 375
374#endif 376#endif
diff --git a/korganizer/koprefsdialog.cpp b/korganizer/koprefsdialog.cpp
index bbdf508..f1a6c3d 100644
--- a/korganizer/koprefsdialog.cpp
+++ b/korganizer/koprefsdialog.cpp
@@ -485,192 +485,197 @@ void KOPrefsDialog::setupViewsTab()
485 QFrame *topFrame = addPage(i18n("Views"),0,0); 485 QFrame *topFrame = addPage(i18n("Views"),0,0);
486 // DesktopIcon("viewmag",KIcon::SizeMedium)); 486 // DesktopIcon("viewmag",KIcon::SizeMedium));
487 487
488 QGridLayout *topLayout = new QGridLayout(topFrame,6,1); 488 QGridLayout *topLayout = new QGridLayout(topFrame,6,1);
489 topLayout->setSpacing(mSpacingHint); 489 topLayout->setSpacing(mSpacingHint);
490 topLayout->setMargin(mMarginHint); 490 topLayout->setMargin(mMarginHint);
491 491
492// QBoxLayout *dayBeginsLayout = new QHBoxLayout; 492// QBoxLayout *dayBeginsLayout = new QHBoxLayout;
493// topLayout->addLayout(dayBeginsLayout,0,0); 493// topLayout->addLayout(dayBeginsLayout,0,0);
494 494
495// KPrefsDialogWidTime *dayBegins = 495// KPrefsDialogWidTime *dayBegins =
496// addWidTime(i18n("Day begins at:"),&(KOPrefs::instance()->mDayBegins), 496// addWidTime(i18n("Day begins at:"),&(KOPrefs::instance()->mDayBegins),
497// topFrame); 497// topFrame);
498// dayBeginsLayout->addWidget(dayBegins->label()); 498// dayBeginsLayout->addWidget(dayBegins->label());
499// dayBeginsLayout->addStretch(1); 499// dayBeginsLayout->addStretch(1);
500// dayBeginsLayout->addWidget(dayBegins->spinBox()); 500// dayBeginsLayout->addWidget(dayBegins->spinBox());
501 501
502// QBoxLayout *nextDaysLayout = new QHBoxLayout; 502// QBoxLayout *nextDaysLayout = new QHBoxLayout;
503// topLayout->addLayout(nextDaysLayout,1,0); 503// topLayout->addLayout(nextDaysLayout,1,0);
504// nextDaysLayout->addWidget(new QLabel(i18n("Days to show in Next-X-Days view:"),topFrame)); 504// nextDaysLayout->addWidget(new QLabel(i18n("Days to show in Next-X-Days view:"),topFrame));
505// mNextXDaysSpin = new QSpinBox(2,14,1,topFrame); 505// mNextXDaysSpin = new QSpinBox(2,14,1,topFrame);
506// nextDaysLayout->addStretch(1); 506// nextDaysLayout->addStretch(1);
507// nextDaysLayout->addWidget(mNextXDaysSpin); 507// nextDaysLayout->addWidget(mNextXDaysSpin);
508 508
509 509
510 int ii = 0; 510 int ii = 0;
511 KPrefsDialogWidBool *dummy = 511 KPrefsDialogWidBool *dummy =
512 addWidBool(i18n("Edit item on doubleclick (if not, show)"), 512 addWidBool(i18n("Edit item on doubleclick (if not, show)"),
513 &(KOPrefs::instance()->mEditOnDoubleClick),topFrame); 513 &(KOPrefs::instance()->mEditOnDoubleClick),topFrame);
514 topLayout->addWidget(dummy->checkBox(),ii++,0); 514 topLayout->addWidget(dummy->checkBox(),ii++,0);
515 515
516 516
517 517
518 518
519 519
520 520
521 // topLayout->addWidget(hourSizeGroup,ii++,0); 521 // topLayout->addWidget(hourSizeGroup,ii++,0);
522 // topLayout->addMultiCellWidget(hourSizeGroup,ii,ii,0,0); 522 // topLayout->addMultiCellWidget(hourSizeGroup,ii,ii,0,0);
523 //topLayout->setRowStretch(11,1); 523 //topLayout->setRowStretch(11,1);
524 524
525 525
526 526
527 527
528#if 0 528#if 0
529 529
530 topFrame = addPage(i18n("ViewChange"),0,0); 530 topFrame = addPage(i18n("ViewChange"),0,0);
531 // DesktopIcon("viewmag",KIcon::SizeMedium)); 531 // DesktopIcon("viewmag",KIcon::SizeMedium));
532 532
533 topLayout = new QGridLayout(topFrame,6,1); 533 topLayout = new QGridLayout(topFrame,6,1);
534 topLayout->setSpacing(mSpacingHint); 534 topLayout->setSpacing(mSpacingHint);
535 topLayout->setMargin(mMarginHint); 535 topLayout->setMargin(mMarginHint);
536 ii = 0; 536 ii = 0;
537 537
538#endif 538#endif
539 539
540 dummy = 540 dummy =
541 addWidBool(i18n("Hold fullscreen on view change"), 541 addWidBool(i18n("Hold fullscreen on view change"),
542 &(KOPrefs::instance()->mViewChangeHoldFullscreen),topFrame); 542 &(KOPrefs::instance()->mViewChangeHoldFullscreen),topFrame);
543 topLayout->addWidget(dummy->checkBox(),ii++,0); 543 topLayout->addWidget(dummy->checkBox(),ii++,0);
544 544
545 dummy = 545 dummy =
546 addWidBool(i18n("Hold non-fullscreen on view change"), 546 addWidBool(i18n("Hold non-fullscreen on view change"),
547 &(KOPrefs::instance()->mViewChangeHoldNonFullscreen),topFrame); 547 &(KOPrefs::instance()->mViewChangeHoldNonFullscreen),topFrame);
548 topLayout->addWidget(dummy->checkBox(),ii++,0); 548 topLayout->addWidget(dummy->checkBox(),ii++,0);
549 549
550 550
551 551
552 KPrefsDialogWidBool *fullViewMonth = 552 KPrefsDialogWidBool *fullViewMonth =
553 addWidBool(i18n("Next days view uses full window"), 553 addWidBool(i18n("Next days view uses full window"),
554 &(KOPrefs::instance()->mFullViewMonth),topFrame); 554 &(KOPrefs::instance()->mFullViewMonth),topFrame);
555 topLayout->addWidget(fullViewMonth->checkBox(),ii++,0); 555 topLayout->addWidget(fullViewMonth->checkBox(),ii++,0);
556 556
557 557
558 KPrefsDialogWidBool *fullViewTodo = 558 KPrefsDialogWidBool *fullViewTodo =
559 addWidBool(i18n("Event list view uses full window"), 559 addWidBool(i18n("Event list view uses full window"),
560 &(KOPrefs::instance()->mFullViewTodo),topFrame); 560 &(KOPrefs::instance()->mFullViewTodo),topFrame);
561 topLayout->addWidget(fullViewTodo->checkBox(),ii++,0); 561 topLayout->addWidget(fullViewTodo->checkBox(),ii++,0);
562 dummy = 562 dummy =
563 addWidBool(i18n("Listview uses monthly timespan"), 563 addWidBool(i18n("Listview uses monthly timespan"),
564 &(KOPrefs::instance()->mListViewMonthTimespan),topFrame); 564 &(KOPrefs::instance()->mListViewMonthTimespan),topFrame);
565 topLayout->addWidget(dummy->checkBox(),ii++,0); 565 topLayout->addWidget(dummy->checkBox(),ii++,0);
566 dummy = 566 dummy =
567 addWidBool(i18n("Highlight selection in Time Edit"), 567 addWidBool(i18n("Highlight selection in Time Edit"),
568 &(KOPrefs::instance()->mHightlightDateTimeEdit),topFrame); 568 &(KOPrefs::instance()->mHightlightDateTimeEdit),topFrame);
569 topLayout->addWidget( dummy->checkBox(), ii++,0); 569 topLayout->addWidget( dummy->checkBox(), ii++,0);
570 570
571 KPrefsDialogWidBool *dailyRecur = 571 KPrefsDialogWidBool *dailyRecur =
572 addWidBool(i18n("Show events that recur daily in date nav."), 572 addWidBool(i18n("Show events that recur daily in date nav."),
573 &(KOPrefs::instance()->mDailyRecur),topFrame); 573 &(KOPrefs::instance()->mDailyRecur),topFrame);
574 topLayout->addWidget(dailyRecur->checkBox(),ii++,0); 574 topLayout->addWidget(dailyRecur->checkBox(),ii++,0);
575 575
576 KPrefsDialogWidBool *weeklyRecur = 576 KPrefsDialogWidBool *weeklyRecur =
577 addWidBool(i18n("Show ev. that recur weekly in date nav."), 577 addWidBool(i18n("Show ev. that recur weekly in date nav."),
578 &(KOPrefs::instance()->mWeeklyRecur),topFrame); 578 &(KOPrefs::instance()->mWeeklyRecur),topFrame);
579 topLayout->addWidget(weeklyRecur->checkBox(),ii++,0); 579 topLayout->addWidget(weeklyRecur->checkBox(),ii++,0);
580 580
581 weeklyRecur =
582 addWidBool(i18n("Show multiday allday ev. in date nav."),
583 &(KOPrefs::instance()->mLongAllday),topFrame);
584 topLayout->addWidget(weeklyRecur->checkBox(),ii++,0);
585
581#ifdef DESKTOP_VERSION 586#ifdef DESKTOP_VERSION
582 KPrefsDialogWidBool *enableToolTips = 587 KPrefsDialogWidBool *enableToolTips =
583 addWidBool(i18n("Enable tooltips displaying summary of ev."), 588 addWidBool(i18n("Enable tooltips displaying summary of ev."),
584 &(KOPrefs::instance()->mEnableToolTips),topFrame); 589 &(KOPrefs::instance()->mEnableToolTips),topFrame);
585 topLayout->addWidget(enableToolTips->checkBox(),ii++,0); 590 topLayout->addWidget(enableToolTips->checkBox(),ii++,0);
586#endif 591#endif
587 // ********************************************************* 592 // *********************************************************
588 593
589 topFrame = addPage(i18n("Agenda View"),0,0); 594 topFrame = addPage(i18n("Agenda View"),0,0);
590 // DesktopIcon("viewmag",KIcon::SizeMedium)); 595 // DesktopIcon("viewmag",KIcon::SizeMedium));
591 596
592 topLayout = new QGridLayout(topFrame,5,1); 597 topLayout = new QGridLayout(topFrame,5,1);
593 topLayout->setSpacing(mSpacingHint); 598 topLayout->setSpacing(mSpacingHint);
594 topLayout->setMargin(mMarginHint); 599 topLayout->setMargin(mMarginHint);
595 ii = 0; 600 ii = 0;
596 601
597 602
598 dummy = 603 dummy =
599 addWidBool(i18n("Show time in agenda items"), 604 addWidBool(i18n("Show time in agenda items"),
600 &(KOPrefs::instance()->mShowTimeInAgenda),topFrame); 605 &(KOPrefs::instance()->mShowTimeInAgenda),topFrame);
601 topLayout->addWidget(dummy->checkBox(),ii++,0); 606 topLayout->addWidget(dummy->checkBox(),ii++,0);
602 607
603 dummy = 608 dummy =
604 addWidBool(i18n("Highlight current day in agenda"), 609 addWidBool(i18n("Highlight current day in agenda"),
605 &(KOPrefs::instance()->mHighlightCurrentDay),topFrame); 610 &(KOPrefs::instance()->mHighlightCurrentDay),topFrame);
606 topLayout->addWidget(dummy->checkBox(),ii++,0); 611 topLayout->addWidget(dummy->checkBox(),ii++,0);
607 612
608 dummy = 613 dummy =
609 addWidBool(i18n("Use light color for highlight current day"), 614 addWidBool(i18n("Use light color for highlight current day"),
610 &(KOPrefs::instance()->mUseHighlightLightColor),topFrame); 615 &(KOPrefs::instance()->mUseHighlightLightColor),topFrame);
611 topLayout->addWidget(dummy->checkBox(),ii++,0); 616 topLayout->addWidget(dummy->checkBox(),ii++,0);
612 617
613 618
614 KPrefsDialogWidBool *marcusBainsEnabled = 619 KPrefsDialogWidBool *marcusBainsEnabled =
615 addWidBool(i18n("Show current time"), 620 addWidBool(i18n("Show current time"),
616 &(KOPrefs::instance()->mMarcusBainsEnabled),topFrame); 621 &(KOPrefs::instance()->mMarcusBainsEnabled),topFrame);
617 topLayout->addWidget(marcusBainsEnabled->checkBox(),ii++,0); 622 topLayout->addWidget(marcusBainsEnabled->checkBox(),ii++,0);
618 623
619 624
620 dummy = 625 dummy =
621 addWidBool(i18n("Set agenda to DayBeginsAt on change"), 626 addWidBool(i18n("Set agenda to DayBeginsAt on change"),
622 &(KOPrefs::instance()->mSetTimeToDayStartAt),topFrame); 627 &(KOPrefs::instance()->mSetTimeToDayStartAt),topFrame);
623 topLayout->addWidget(dummy->checkBox(),ii++,0); 628 topLayout->addWidget(dummy->checkBox(),ii++,0);
624 629
625 dummy = 630 dummy =
626 addWidBool(i18n("Set agenda to current time on change"), 631 addWidBool(i18n("Set agenda to current time on change"),
627 &(KOPrefs::instance()->mCenterOnCurrentTime),topFrame); 632 &(KOPrefs::instance()->mCenterOnCurrentTime),topFrame);
628 topLayout->addWidget(dummy->checkBox(),ii++,0); 633 topLayout->addWidget(dummy->checkBox(),ii++,0);
629 634
630 635
631 dummy = 636 dummy =
632 addWidBool(i18n("Allday Agenda view shows todos"), 637 addWidBool(i18n("Allday Agenda view shows todos"),
633 &(KOPrefs::instance()->mShowTodoInAgenda),topFrame); 638 &(KOPrefs::instance()->mShowTodoInAgenda),topFrame);
634 topLayout->addWidget(dummy->checkBox(),ii++,0); 639 topLayout->addWidget(dummy->checkBox(),ii++,0);
635 640
636 641
637 642
638 dummy = 643 dummy =
639 addWidBool(i18n("Agenda view shows completed todos"), 644 addWidBool(i18n("Agenda view shows completed todos"),
640 &(KOPrefs::instance()->mShowCompletedTodoInAgenda),topFrame); 645 &(KOPrefs::instance()->mShowCompletedTodoInAgenda),topFrame);
641 topLayout->addWidget(dummy->checkBox(),ii++,0); 646 topLayout->addWidget(dummy->checkBox(),ii++,0);
642 647
643 648
644 649
645 650
646 651
647 topFrame = addPage(i18n("Month View"),0,0); 652 topFrame = addPage(i18n("Month View"),0,0);
648 // DesktopIcon("viewmag",KIcon::SizeMedium)); 653 // DesktopIcon("viewmag",KIcon::SizeMedium));
649 654
650 topLayout = new QGridLayout(topFrame,5,1); 655 topLayout = new QGridLayout(topFrame,5,1);
651 topLayout->setSpacing(mSpacingHint); 656 topLayout->setSpacing(mSpacingHint);
652 topLayout->setMargin(mMarginHint); 657 topLayout->setMargin(mMarginHint);
653 ii = 0; 658 ii = 0;
654 QLabel *lab; 659 QLabel *lab;
655 QHBox *habo = new QHBox( topFrame ); 660 QHBox *habo = new QHBox( topFrame );
656 if ( QApplication::desktop()->width() <= 480 ) { 661 if ( QApplication::desktop()->width() <= 480 ) {
657 lab = new QLabel ( i18n("Show events that recur "), topFrame ); 662 lab = new QLabel ( i18n("Show events that recur "), topFrame );
658 topLayout->addMultiCellWidget(lab,ii, ii,0,1); 663 topLayout->addMultiCellWidget(lab,ii, ii,0,1);
659 ii++; 664 ii++;
660 } else { 665 } else {
661 new QLabel ( i18n("Show events that recur "), habo ); 666 new QLabel ( i18n("Show events that recur "), habo );
662 } 667 }
663 dailyRecur = 668 dailyRecur =
664 addWidBool(i18n("daily"), 669 addWidBool(i18n("daily"),
665 &(KOPrefs::instance()->mMonthDailyRecur),habo); 670 &(KOPrefs::instance()->mMonthDailyRecur),habo);
666 // topLayout->addWidget(dailyRecur->checkBox(),ii++,0); 671 // topLayout->addWidget(dailyRecur->checkBox(),ii++,0);
667 672
668 weeklyRecur = 673 weeklyRecur =
669 addWidBool(i18n("weekly"), 674 addWidBool(i18n("weekly"),
670 &(KOPrefs::instance()->mMonthWeeklyRecur),habo); 675 &(KOPrefs::instance()->mMonthWeeklyRecur),habo);
671 topLayout->addMultiCellWidget(habo,ii, ii,0,1); 676 topLayout->addMultiCellWidget(habo,ii, ii,0,1);
672 ii++; 677 ii++;
673 678
674 679
675 habo = new QHBox( topFrame ); 680 habo = new QHBox( topFrame );
676 if ( QApplication::desktop()->width() <= 480 ) { 681 if ( QApplication::desktop()->width() <= 480 ) {
@@ -842,197 +847,201 @@ dummy =
842 dummy = 847 dummy =
843 addWidBool(i18n("Todo view uses category colors"), 848 addWidBool(i18n("Todo view uses category colors"),
844 &(KOPrefs::instance()->mTodoViewUsesCatColors),topFrame); 849 &(KOPrefs::instance()->mTodoViewUsesCatColors),topFrame);
845 topLayout->addWidget(dummy->checkBox(),ii++,0); 850 topLayout->addWidget(dummy->checkBox(),ii++,0);
846 851
847 852
848 QWidget* wid = new QWidget( topFrame ); 853 QWidget* wid = new QWidget( topFrame );
849 // Todo run today color 854 // Todo run today color
850 KPrefsDialogWidColor *todoRunColor = 855 KPrefsDialogWidColor *todoRunColor =
851 addWidColor(i18n("Color for running todos:"), 856 addWidColor(i18n("Color for running todos:"),
852 &(KOPrefs::instance()->mTodoRunColor),wid); 857 &(KOPrefs::instance()->mTodoRunColor),wid);
853 QHBoxLayout *widLayout = new QHBoxLayout(wid); 858 QHBoxLayout *widLayout = new QHBoxLayout(wid);
854 widLayout->addWidget( todoRunColor->label() ); 859 widLayout->addWidget( todoRunColor->label() );
855 widLayout->addWidget( todoRunColor->button() ); 860 widLayout->addWidget( todoRunColor->button() );
856 topLayout->addWidget(wid,ii++,0); 861 topLayout->addWidget(wid,ii++,0);
857 862
858 wid = new QWidget( topFrame ); 863 wid = new QWidget( topFrame );
859 // Todo due today color 864 // Todo due today color
860 KPrefsDialogWidColor *todoDueTodayColor = 865 KPrefsDialogWidColor *todoDueTodayColor =
861 addWidColor(i18n("Todo due today color:"), 866 addWidColor(i18n("Todo due today color:"),
862 &(KOPrefs::instance()->mTodoDueTodayColor),wid); 867 &(KOPrefs::instance()->mTodoDueTodayColor),wid);
863 widLayout = new QHBoxLayout(wid); 868 widLayout = new QHBoxLayout(wid);
864 widLayout->addWidget( todoDueTodayColor->label() ); 869 widLayout->addWidget( todoDueTodayColor->label() );
865 widLayout->addWidget( todoDueTodayColor->button() ); 870 widLayout->addWidget( todoDueTodayColor->button() );
866 topLayout->addWidget(wid,ii++,0); 871 topLayout->addWidget(wid,ii++,0);
867 //topLayout->addWidget(todoDueTodayColor->button(),ii++,1); 872 //topLayout->addWidget(todoDueTodayColor->button(),ii++,1);
868 873
869 // Todo overdue color 874 // Todo overdue color
870 wid = new QWidget( topFrame ); 875 wid = new QWidget( topFrame );
871 widLayout = new QHBoxLayout(wid); 876 widLayout = new QHBoxLayout(wid);
872 KPrefsDialogWidColor *todoOverdueColor = 877 KPrefsDialogWidColor *todoOverdueColor =
873 addWidColor(i18n("Todo overdue color:"), 878 addWidColor(i18n("Todo overdue color:"),
874 &(KOPrefs::instance()->mTodoOverdueColor),wid); 879 &(KOPrefs::instance()->mTodoOverdueColor),wid);
875 widLayout->addWidget(todoOverdueColor->label()); 880 widLayout->addWidget(todoOverdueColor->label());
876 widLayout->addWidget(todoOverdueColor->button()); 881 widLayout->addWidget(todoOverdueColor->button());
877 topLayout->addWidget(wid,ii++,0); 882 topLayout->addWidget(wid,ii++,0);
878 883
879 dummy = 884 dummy =
880 addWidBool(i18n("Colors are applied to text"), 885 addWidBool(i18n("Colors are applied to text"),
881 &(KOPrefs::instance()->mTodoViewUsesForegroundColor),topFrame); 886 &(KOPrefs::instance()->mTodoViewUsesForegroundColor),topFrame);
882 topLayout->addWidget(dummy->checkBox(),ii++,0); 887 topLayout->addWidget(dummy->checkBox(),ii++,0);
883 888
884 889
885 890
886 topFrame = addPage(i18n("View Options"),0,0); 891 topFrame = addPage(i18n("View Options"),0,0);
887 892
888 topLayout = new QGridLayout(topFrame,4,1); 893 topLayout = new QGridLayout(topFrame,4,1);
889 topLayout->setSpacing(mSpacingHint); 894 topLayout->setSpacing(mSpacingHint);
890 topLayout->setMargin(mMarginHint); 895 topLayout->setMargin(mMarginHint);
891 ii = 0; 896 ii = 0;
892 897
893 dummy = 898 dummy =
894 addWidBool(i18n("Show Sync Events"), 899 addWidBool(i18n("Show Sync Events"),
895 &(KOPrefs::instance()->mShowSyncEvents),topFrame); 900 &(KOPrefs::instance()->mShowSyncEvents),topFrame);
896 topLayout->addWidget(dummy->checkBox(), ii++,0); 901 topLayout->addWidget(dummy->checkBox(), ii++,0);
897 902
898 lab = new QLabel( i18n("Show in todo/event viewer:"), topFrame); 903 lab = new QLabel( i18n("Show in todo/event viewer:"), topFrame);
899 topLayout->addWidget(lab ,ii++,0); 904 topLayout->addWidget(lab ,ii++,0);
900 905
901 dummy = addWidBool(i18n("Details"), 906 dummy = addWidBool(i18n("Details"),
902 &(KOPrefs::instance()->mEVshowDetails),topFrame); 907 &(KOPrefs::instance()->mEVshowDetails),topFrame);
903 topLayout->addWidget(dummy->checkBox(),ii++,0); 908 topLayout->addWidget(dummy->checkBox(),ii++,0);
904 dummy = addWidBool(i18n("Created time"), 909 dummy = addWidBool(i18n("Created time"),
905 &(KOPrefs::instance()->mEVshowCreated),topFrame); 910 &(KOPrefs::instance()->mEVshowCreated),topFrame);
906 topLayout->addWidget(dummy->checkBox(),ii++,0); 911 topLayout->addWidget(dummy->checkBox(),ii++,0);
907 dummy = addWidBool(i18n("Last modified time"), 912 dummy = addWidBool(i18n("Last modified time"),
908 &(KOPrefs::instance()->mEVshowChanged),topFrame); 913 &(KOPrefs::instance()->mEVshowChanged),topFrame);
909 topLayout->addWidget(dummy->checkBox(),ii++,0); 914 topLayout->addWidget(dummy->checkBox(),ii++,0);
910 915
911 916
912 lab = new QLabel( i18n("Show in What'sThis quick overview:"), topFrame); 917 lab = new QLabel( i18n("Show in What'sThis quick overview:"), topFrame);
913 topLayout->addWidget(lab ,ii++,0); 918 topLayout->addWidget(lab ,ii++,0);
914 919
915 dummy = addWidBool(i18n("Details"), 920 dummy = addWidBool(i18n("Details"),
916 &(KOPrefs::instance()->mWTshowDetails),topFrame); 921 &(KOPrefs::instance()->mWTshowDetails),topFrame);
917 topLayout->addWidget(dummy->checkBox(),ii++,0); 922 topLayout->addWidget(dummy->checkBox(),ii++,0);
918 dummy = addWidBool(i18n("Created time"), 923 dummy = addWidBool(i18n("Created time"),
919 &(KOPrefs::instance()->mWTshowCreated),topFrame); 924 &(KOPrefs::instance()->mWTshowCreated),topFrame);
920 topLayout->addWidget(dummy->checkBox(),ii++,0); 925 topLayout->addWidget(dummy->checkBox(),ii++,0);
921 dummy = addWidBool(i18n("Last modified time"), 926 dummy = addWidBool(i18n("Last modified time"),
922 &(KOPrefs::instance()->mWTshowChanged),topFrame); 927 &(KOPrefs::instance()->mWTshowChanged),topFrame);
923 topLayout->addWidget(dummy->checkBox(),ii++,0); 928 topLayout->addWidget(dummy->checkBox(),ii++,0);
924 929
925 topFrame = addPage(i18n("Conflict detection"),0,0); 930 topFrame = addPage(i18n("Conflict detection"),0,0);
926 931
927 topLayout = new QGridLayout(topFrame,2,1); 932 topLayout = new QGridLayout(topFrame,2,1);
928 topLayout->setSpacing(mSpacingHint); 933 topLayout->setSpacing(mSpacingHint);
929 topLayout->setMargin(mMarginHint); 934 topLayout->setMargin(mMarginHint);
930 ii = 0; 935 ii = 0;
931 dummy = addWidBool(i18n("Enable conflict detection"), 936 dummy = addWidBool(i18n("Enable conflict detection"),
932 &(KOPrefs::instance()->mDetectConflicts),topFrame); 937 &(KOPrefs::instance()->mDetectConflicts),topFrame);
933 topLayout->addWidget(dummy->checkBox(), ii++,0); 938 topLayout->addWidget(dummy->checkBox(), ii++,0);
934 topFrame = new QFrame( topFrame ); 939 topFrame = new QFrame( topFrame );
935 topLayout->addWidget(topFrame ,ii++,0); 940 topLayout->addWidget(topFrame ,ii++,0);
936 topLayout = new QGridLayout(topFrame,4,1); 941 topLayout = new QGridLayout(topFrame,4,1);
937 connect ( dummy->checkBox(), SIGNAL( toggled( bool ) ), topFrame, SLOT ( setEnabled( bool ) ) ); 942 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); 943 dummy = addWidBool(i18n("Include events which \"show as free\""),
944 &(KOPrefs::instance()->mIncludeFree),topFrame);
945 topLayout->addWidget(dummy->checkBox(), ii++,0);
946 topLayout->addWidget( new QLabel ( i18n("Conflict detection checks an <b>edited event</b> with <b>other events</b> for overlapping."), topFrame ) , ii++,0);
947
939 topLayout->addWidget( new QLabel ( i18n("Filter for the edited event"), topFrame ) , ii++,0); 948 topLayout->addWidget( new QLabel ( i18n("Filter for the edited event"), topFrame ) , ii++,0);
940 mFilterEditItem = new QComboBox( topFrame ); 949 mFilterEditItem = new QComboBox( topFrame );
941 topLayout->addWidget(mFilterEditItem,ii++,0); 950 topLayout->addWidget(mFilterEditItem,ii++,0);
942 topLayout->addWidget( new QLabel ( i18n("Filter for other existing events"), topFrame ) , ii++,0); 951 topLayout->addWidget( new QLabel ( i18n("Filter for other events"), topFrame ) , ii++,0);
943 mFilterAllItem = new QComboBox( topFrame ); 952 mFilterAllItem = new QComboBox( topFrame );
944 topLayout->addWidget(mFilterAllItem,ii++,0); 953 topLayout->addWidget(mFilterAllItem,ii++,0);
945 dummy = addWidBool(i18n("Check Allday with Allday"), 954 dummy = addWidBool(i18n("Check Allday with Allday"),
946 &(KOPrefs::instance()->mCheckConflictsAllDayAllDay),topFrame); 955 &(KOPrefs::instance()->mCheckConflictsAllDayAllDay),topFrame);
947 topLayout->addWidget(dummy->checkBox(), ii++,0); 956 topLayout->addWidget(dummy->checkBox(), ii++,0);
948 dummy = addWidBool(i18n("Check Allday with NonAllday"), 957 dummy = addWidBool(i18n("Check Allday with NonAllday"),
949 &(KOPrefs::instance()->mCheckConflictsAllDayNonAD),topFrame); 958 &(KOPrefs::instance()->mCheckConflictsAllDayNonAD),topFrame);
950 topLayout->addWidget(dummy->checkBox(), ii++,0); 959 topLayout->addWidget(dummy->checkBox(), ii++,0);
951 dummy = addWidBool(i18n("Check NonAllday with Allday"), 960 dummy = addWidBool(i18n("Check NonAllday with Allday"),
952 &(KOPrefs::instance()->mCheckConflictsNonADAllDay),topFrame); 961 &(KOPrefs::instance()->mCheckConflictsNonADAllDay),topFrame);
953 topLayout->addWidget(dummy->checkBox(), ii++,0); 962 topLayout->addWidget(dummy->checkBox(), ii++,0);
954 dummy = addWidBool(i18n("Check NonAllday with NonAllday"), 963 dummy = addWidBool(i18n("Check NonAllday with NonAllday"),
955 &(KOPrefs::instance()->mCheckConflictsNonADNonAD),topFrame); 964 &(KOPrefs::instance()->mCheckConflictsNonADNonAD),topFrame);
956 topLayout->addWidget(dummy->checkBox(), ii++,0); 965 topLayout->addWidget(dummy->checkBox(), ii++,0);
957 966
958 967
959 968
960 969
961 topFrame = addPage(i18n("Alarm"),0,0); 970 topFrame = addPage(i18n("Alarm"),0,0);
962 // DesktopIcon("viewmag",KIcon::SizeMedium)); 971 // DesktopIcon("viewmag",KIcon::SizeMedium));
963 972
964 topLayout = new QGridLayout(topFrame,2,1); 973 topLayout = new QGridLayout(topFrame,2,1);
965 topLayout->setSpacing(mSpacingHint); 974 topLayout->setSpacing(mSpacingHint);
966 topLayout->setMargin(mMarginHint); 975 topLayout->setMargin(mMarginHint);
967 int iii = 0; 976 int iii = 0;
968 977
969 dummy = 978 dummy =
970 addWidBool(i18n("Use internal alarm notification"), 979 addWidBool(i18n("Use internal alarm notification"),
971 &(KOPrefs::instance()->mUseInternalAlarmNotification),topFrame); 980 &(KOPrefs::instance()->mUseInternalAlarmNotification),topFrame);
972 topLayout->addWidget(dummy->checkBox(),iii++,0); 981 topLayout->addWidget(dummy->checkBox(),iii++,0);
973 982
974 if ( QApplication::desktop()->height() > 240 ) { 983 if ( QApplication::desktop()->height() > 240 ) {
975 984
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); 985 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);
977 986
978 topLayout->addWidget(lab ,iii++,0); 987 topLayout->addWidget(lab ,iii++,0);
979 } 988 }
980#ifndef DESKTOP_VERSION 989#ifndef DESKTOP_VERSION
981 lab->setAlignment( AlignLeft|WordBreak|AlignTop); 990 lab->setAlignment( AlignLeft|WordBreak|AlignTop);
982#else 991#else
983 lab->setAlignment( AlignLeft|BreakAnywhere|WordBreak|AlignTop); 992 lab->setAlignment( AlignLeft|BreakAnywhere|WordBreak|AlignTop);
984 lab->setSizePolicy( QSizePolicy( QSizePolicy::Ignored , QSizePolicy::Ignored,true) ); 993 lab->setSizePolicy( QSizePolicy( QSizePolicy::Ignored , QSizePolicy::Ignored,true) );
985#endif 994#endif
986 995
987 QHBox* dummyBox = new QHBox(topFrame); 996 QHBox* dummyBox = new QHBox(topFrame);
988 new QLabel(i18n("Play beeps count:"),dummyBox); 997 new QLabel(i18n("Play beeps count:"),dummyBox);
989 mAlarmPlayBeeps = new QSpinBox(0,500,1,dummyBox); 998 mAlarmPlayBeeps = new QSpinBox(0,500,1,dummyBox);
990 topLayout->addWidget(dummyBox,iii++,0); 999 topLayout->addWidget(dummyBox,iii++,0);
991 1000
992 dummyBox = new QHBox(topFrame); 1001 dummyBox = new QHBox(topFrame);
993 new QLabel(i18n("Beeps interval in sec:"),dummyBox); 1002 new QLabel(i18n("Beeps interval in sec:"),dummyBox);
994 mAlarmBeepInterval = new QSpinBox(1,600,1,dummyBox); 1003 mAlarmBeepInterval = new QSpinBox(1,600,1,dummyBox);
995 topLayout->addWidget(dummyBox,iii++,0); 1004 topLayout->addWidget(dummyBox,iii++,0);
996 1005
997 dummyBox = new QHBox(topFrame); 1006 dummyBox = new QHBox(topFrame);
998 new QLabel(i18n("Default suspend time in min:"),dummyBox); 1007 new QLabel(i18n("Default suspend time in min:"),dummyBox);
999 mAlarmSuspendTime = new QSpinBox(1,600,1,dummyBox); 1008 mAlarmSuspendTime = new QSpinBox(1,600,1,dummyBox);
1000 topLayout->addWidget(dummyBox,iii++,0); 1009 topLayout->addWidget(dummyBox,iii++,0);
1001 1010
1002 dummyBox = new QHBox(topFrame); 1011 dummyBox = new QHBox(topFrame);
1003 new QLabel(i18n("Auto suspend count:"),dummyBox); 1012 new QLabel(i18n("Auto suspend count:"),dummyBox);
1004 mAlarmSuspendCount = new QSpinBox(0,60,1,dummyBox); 1013 mAlarmSuspendCount = new QSpinBox(0,60,1,dummyBox);
1005 topLayout->addWidget(dummyBox,iii++,0); 1014 topLayout->addWidget(dummyBox,iii++,0);
1006 1015
1007 1016
1008 1017
1009 QHBox* hbo = new QHBox ( topFrame ); 1018 QHBox* hbo = new QHBox ( topFrame );
1010 mDefaultAlarmFile = new QLineEdit(hbo); 1019 mDefaultAlarmFile = new QLineEdit(hbo);
1011 QPushButton * loadTemplate = new QPushButton(hbo); 1020 QPushButton * loadTemplate = new QPushButton(hbo);
1012 QPixmap icon; 1021 QPixmap icon;
1013 if ( QApplication::desktop()->width() < 321 ) 1022 if ( QApplication::desktop()->width() < 321 )
1014 icon = SmallIcon("fileimport16"); 1023 icon = SmallIcon("fileimport16");
1015 else 1024 else
1016 icon = SmallIcon("fileimport"); 1025 icon = SmallIcon("fileimport");
1017 loadTemplate->setIconSet (icon ) ; 1026 loadTemplate->setIconSet (icon ) ;
1018 connect( loadTemplate, SIGNAL( clicked() ), this , SLOT( selectSoundFile() ) ); 1027 connect( loadTemplate, SIGNAL( clicked() ), this , SLOT( selectSoundFile() ) );
1019 int size = loadTemplate->sizeHint().height(); 1028 int size = loadTemplate->sizeHint().height();
1020 loadTemplate->setFixedSize( size, size ); 1029 loadTemplate->setFixedSize( size, size );
1021 //lab = new QLabel( i18n("This setting is useless for 5500 user!"), topFrame); 1030 //lab = new QLabel( i18n("This setting is useless for 5500 user!"), topFrame);
1022 // topLayout->addWidget(lab ,iii++,0); 1031 // topLayout->addWidget(lab ,iii++,0);
1023 lab = new QLabel( i18n("Alarm *.wav file for newly created alarm:"), topFrame); 1032 lab = new QLabel( i18n("Alarm *.wav file for newly created alarm:"), topFrame);
1024 topLayout->addWidget(lab ,iii++,0); 1033 topLayout->addWidget(lab ,iii++,0);
1025 topLayout->addWidget(hbo,iii++,0); 1034 topLayout->addWidget(hbo,iii++,0);
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); 1035 // 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);
1027 1036
1028// topLayout->addWidget(lab ,iii++,0); 1037// topLayout->addWidget(lab ,iii++,0);
1029// #ifndef DESKTOP_VERSION 1038// #ifndef DESKTOP_VERSION
1030// lab->setAlignment( AlignLeft|WordBreak|AlignTop); 1039// lab->setAlignment( AlignLeft|WordBreak|AlignTop);
1031// #else 1040// #else
1032// lab->setAlignment( AlignLeft|BreakAnywhere|WordBreak|AlignTop); 1041// lab->setAlignment( AlignLeft|BreakAnywhere|WordBreak|AlignTop);
1033// lab->setSizePolicy( QSizePolicy( QSizePolicy::Ignored , QSizePolicy::Ignored,true) ); 1042// lab->setSizePolicy( QSizePolicy( QSizePolicy::Ignored , QSizePolicy::Ignored,true) );
1034// #endif 1043// #endif
1035 1044
1036 1045
1037} 1046}
1038 1047