summaryrefslogtreecommitdiffabout
authorzautrix <zautrix>2005-08-24 18:38:31 (UTC)
committer zautrix <zautrix>2005-08-24 18:38:31 (UTC)
commit2cde25d8061acd536bccd698722952ce8555f5db (patch) (unidiff)
tree70f905e5de57b44c3503883b2f98925d9c92ef8b
parent645ceb7a95dce4716eb87a1b9191d3f3c1657be3 (diff)
downloadkdepimpi-2cde25d8061acd536bccd698722952ce8555f5db.zip
kdepimpi-2cde25d8061acd536bccd698722952ce8555f5db.tar.gz
kdepimpi-2cde25d8061acd536bccd698722952ce8555f5db.tar.bz2
conflict res fix
Diffstat (more/less context) (ignore 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.cpp15
6 files changed, 41 insertions, 5 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
@@ -782,781 +782,791 @@
782{ "Work phone:\n","Telefon Arbeit:\n" }, 782{ "Work phone:\n","Telefon Arbeit:\n" },
783{ "Work mobile phone:\n","Mobiltelefon Arbeit:\n" }, 783{ "Work mobile phone:\n","Mobiltelefon Arbeit:\n" },
784{ "Home phone:\n","Telefon privat:\n" }, 784{ "Home phone:\n","Telefon privat:\n" },
785{ "Mobile home phone:\n","Mobiltelefon privat:\n" }, 785{ "Mobile home phone:\n","Mobiltelefon privat:\n" },
786{ "Email:\n","Email:\n" }, 786{ "Email:\n","Email:\n" },
787{ "Alarm disabled for this item","Alarm deaktiviert für dieses Item" }, 787{ "Alarm disabled for this item","Alarm deaktiviert für dieses Item" },
788{ "Audio Al.: ","Audio Al.: " }, 788{ "Audio Al.: ","Audio Al.: " },
789{ "Proc.Al.: ","Proz.Al.: " }, 789{ "Proc.Al.: ","Proz.Al.: " },
790{ "No sound set","Kein Sound definiert" }, 790{ "No sound set","Kein Sound definiert" },
791{ "*.wav|Wav Files","*.wav|Wav Dateien" }, 791{ "*.wav|Wav Files","*.wav|Wav Dateien" },
792{ "No program set","Kein Programm definiert" }, 792{ "No program set","Kein Programm definiert" },
793{ "Running '%1'","Ausführen '%1'" }, 793{ "Running '%1'","Ausführen '%1'" },
794{ "Playing '%1'","Abspielen '%1'" }, 794{ "Playing '%1'","Abspielen '%1'" },
795{ "User defined (usertranslation.txt)","Benutzerdefiniert (usertranslation.txt)" }, 795{ "User defined (usertranslation.txt)","Benutzerdefiniert (usertranslation.txt)" },
796{ "Load!","Laden!" }, 796{ "Load!","Laden!" },
797{ "Backup file from:\n%1\nLoading backup\nfile will delete\nyour current Data!\n","Backup Datei vom:\n%1\nDas Laden der Backup Datei\nlöscht die aktuellen Daten!\n" }, 797{ "Backup file from:\n%1\nLoading backup\nfile will delete\nyour current Data!\n","Backup Datei vom:\n%1\nDas Laden der Backup Datei\nlöscht die aktuellen Daten!\n" },
798{ "KO/Pi Features and hints","KO/Pi Eigenschaften und Tipps" }, 798{ "KO/Pi Features and hints","KO/Pi Eigenschaften und Tipps" },
799{ "KO/Pi User translation HowTo","KO/Pi Benutzer-Übersetzung HowTo" }, 799{ "KO/Pi User translation HowTo","KO/Pi Benutzer-Übersetzung HowTo" },
800{ "KO/Pi Synchronization HowTo","KO/Pi Synchronisation HowTo" }, 800{ "KO/Pi Synchronization HowTo","KO/Pi Synchronisation HowTo" },
801{ "Features + hints...","Eigenschaften + Tipps..." }, 801{ "Features + hints...","Eigenschaften + Tipps..." },
802{ "User translation...","Benutzer Übersetzung..." }, 802{ "User translation...","Benutzer Übersetzung..." },
803{ "Sync HowTo...","Synchronisation HowTo..." }, 803{ "Sync HowTo...","Synchronisation HowTo..." },
804{ "Print calendar...","Drucke Kalender..." }, 804{ "Print calendar...","Drucke Kalender..." },
805{ "Anniversary","Jahrestag" }, 805{ "Anniversary","Jahrestag" },
806{ "When importing birthdays twice\nduplicated events will be ignored,\nif the event has not been\nchanged in KO/Pi!\n","Wenn Geburtstage mehrfach importiert\nwerden, werden doppelte Einträge ignoriert\nwenn sie nicht verändert wurden.\n" }, 806{ "When importing birthdays twice\nduplicated events will be ignored,\nif the event has not been\nchanged in KO/Pi!\n","Wenn Geburtstage mehrfach importiert\nwerden, werden doppelte Einträge ignoriert\nwenn sie nicht verändert wurden.\n" },
807{ "Import Birthdays (KA/Pi)","Importiere Geburtstage (KA/Pi)" }, 807{ "Import Birthdays (KA/Pi)","Importiere Geburtstage (KA/Pi)" },
808{ "Next recurrence is on: ","Nächste Wiederholung ist am:" }, 808{ "Next recurrence is on: ","Nächste Wiederholung ist am:" },
809{ "<b>Alarm on: </b>","<b>Alarm am: </b>" }, 809{ "<b>Alarm on: </b>","<b>Alarm am: </b>" },
810{ "<b>Access: </b>","<b>Zugriff: </b>" }, 810{ "<b>Access: </b>","<b>Zugriff: </b>" },
811{ "(%1 min before)","(%1 min vorher)" }, 811{ "(%1 min before)","(%1 min vorher)" },
812{ "<b>Categories: </b>","<b>Kategorien: </b>" }, 812{ "<b>Categories: </b>","<b>Kategorien: </b>" },
813{ "Save Journal/Description...","Speichere Journal/Details..." }, 813{ "Save Journal/Description...","Speichere Journal/Details..." },
814{ "This saves the text/details of selected\nJournals and Events/Todos\nto a text file.","Das speichert den Text bzw.\ndie Details von selektierten\nJournalen und Events/Todos\nin eine Textdatei." }, 814{ "This saves the text/details of selected\nJournals and Events/Todos\nto a text file.","Das speichert den Text bzw.\ndie Details von selektierten\nJournalen und Events/Todos\nin eine Textdatei." },
815{ "Continue","Weitermachen" }, 815{ "Continue","Weitermachen" },
816{ " birthdays/anniversaries added!"," Geburts-/Jahrestage hinzugefügt" }, 816{ " birthdays/anniversaries added!"," Geburts-/Jahrestage hinzugefügt" },
817{ "Attendee:","Teilnehmer:" }, 817{ "Attendee:","Teilnehmer:" },
818{ "Click OK to search ->","Klicke zum Suchen auf OK ->" }, 818{ "Click OK to search ->","Klicke zum Suchen auf OK ->" },
819{ "On day ","Am Tag " }, 819{ "On day ","Am Tag " },
820{ "%1 of ","%1 des Monats" }, 820{ "%1 of ","%1 des Monats" },
821{ "%1 of the year","%1 des Jahres" }, 821{ "%1 of the year","%1 des Jahres" },
822{ "Anonymous","Anonymo" }, 822{ "Anonymous","Anonymo" },
823{ "nobody@nowhere","niemand@nirgendwo" }, 823{ "nobody@nowhere","niemand@nirgendwo" },
824{ "calendar.html","calendar.html" }, 824{ "calendar.html","calendar.html" },
825{ " Local Time"," Lokale Zeit" }, 825{ " Local Time"," Lokale Zeit" },
826{ "Unknown Name","Unbekannter Name" }, 826{ "Unknown Name","Unbekannter Name" },
827{ "unknown@nowhere","unbekannt@nirgendwo" }, 827{ "unknown@nowhere","unbekannt@nirgendwo" },
828{ "Beam via IR!","Beam via IR!" }, 828{ "Beam via IR!","Beam via IR!" },
829{ "Next Month","Nächster Monat" }, 829{ "Next Month","Nächster Monat" },
830{ "Prio","Prio" }, 830{ "Prio","Prio" },
831{ "Reparent Todo","Mache Sub-Todo" }, 831{ "Reparent Todo","Mache Sub-Todo" },
832{ "tomorrow","morgen" }, 832{ "tomorrow","morgen" },
833{ "today","heute" }, 833{ "today","heute" },
834{ "yesterday","gestern" }, 834{ "yesterday","gestern" },
835{ "Ok","Ok" }, 835{ "Ok","Ok" },
836{ "Ok+Agenda","Ok+Agenda" }, 836{ "Ok+Agenda","Ok+Agenda" },
837{ "Email","Email" }, 837{ "Email","Email" },
838{ "RSVP","RSVP" }, 838{ "RSVP","RSVP" },
839{ "Email:","Email:" }, 839{ "Email:","Email:" },
840{ "Appointment Time ","Termin Zeit " }, 840{ "Appointment Time ","Termin Zeit " },
841{ "2","2" }, 841{ "2","2" },
842{ "3","3" }, 842{ "3","3" },
843{ "4","4" }, 843{ "4","4" },
844{ " 0 %"," 0 %" }, 844{ " 0 %"," 0 %" },
845{ " 20 %"," 20 %" }, 845{ " 20 %"," 20 %" },
846{ " 40 %"," 40 %" }, 846{ " 40 %"," 40 %" },
847{ " 60 %"," 60 %" }, 847{ " 60 %"," 60 %" },
848{ " 80 %"," 80 %" }, 848{ " 80 %"," 80 %" },
849{ "100 %","100 %" }, 849{ "100 %","100 %" },
850{ "Filter","Filter" }, 850{ "Filter","Filter" },
851{ "Configure","Konfiguriere" }, 851{ "Configure","Konfiguriere" },
852{ "What's Next","What's Next" }, 852{ "What's Next","What's Next" },
853{ "Complete calendar...","Kompletten Kalender..." }, 853{ "Complete calendar...","Kompletten Kalender..." },
854{ "Filtered calendar...","Gefilterten Kalender..." }, 854{ "Filtered calendar...","Gefilterten Kalender..." },
855{ "Export to phone","Exportiere zum Handy" }, 855{ "Export to phone","Exportiere zum Handy" },
856{ "Beam receive enabled","Beam Empfang an" }, 856{ "Beam receive enabled","Beam Empfang an" },
857{ "What's new?","Was ist neu?" }, 857{ "What's new?","Was ist neu?" },
858{ "FAQ...","FAQ..." }, 858{ "FAQ...","FAQ..." },
859{ "Licence...","Licence..." }, 859{ "Licence...","Licence..." },
860{ "What's This?","What's This?" }, 860{ "What's This?","What's This?" },
861{ "&Edit...","Bearbeite..." }, 861{ "&Edit...","Bearbeite..." },
862{ "Oktober","Oktober" }, 862{ "Oktober","Oktober" },
863{ "Title","Titel" }, 863{ "Title","Titel" },
864{ "%1 %","%1 %" }, 864{ "%1 %","%1 %" },
865{ "Enable Pi-Sync","Schalte Pi-Sync an" }, 865{ "Enable Pi-Sync","Schalte Pi-Sync an" },
866{ "Import!","Importiere!" }, 866{ "Import!","Importiere!" },
867{ "inserting birthdays - close to abort!","Burzeltage werden eingefügt - schließe um abzubrechen!" }, 867{ "inserting birthdays - close to abort!","Burzeltage werden eingefügt - schließe um abzubrechen!" },
868{ "Export to phone options","Export ans Handy Optionen" }, 868{ "Export to phone options","Export ans Handy Optionen" },
869{ "Please read Help-Sync Howto\nto know what settings to use.","Bitte lese Hilfe-Sync Howto\num zu erfahren welche Einstellungen\ndie richtigen sind." }, 869{ "Please read Help-Sync Howto\nto know what settings to use.","Bitte lese Hilfe-Sync Howto\num zu erfahren welche Einstellungen\ndie richtigen sind." },
870{ "I/O device: ","I/O device: " }, 870{ "I/O device: ","I/O device: " },
871{ "Connection: ","Connection: " }, 871{ "Connection: ","Connection: " },
872{ "Model(opt.): ","Model(opt.): " }, 872{ "Model(opt.): ","Model(opt.): " },
873{ "Write back events in future only","Schreibe nur zukünftige Termine zurück" }, 873{ "Write back events in future only","Schreibe nur zukünftige Termine zurück" },
874{ "Max. weeks in future: ","Max. Wochen in der Zukunft: " }, 874{ "Max. weeks in future: ","Max. Wochen in der Zukunft: " },
875{ "NOTE: This will remove all old\ntodo/calendar data on phone!","ACHTUNG: Das löscht alle alten\nTodo/Kalender Daten auf dem Handy!" }, 875{ "NOTE: This will remove all old\ntodo/calendar data on phone!","ACHTUNG: Das löscht alle alten\nTodo/Kalender Daten auf dem Handy!" },
876{ "Export to mobile phone!","Exportiere auf das Handy!" }, 876{ "Export to mobile phone!","Exportiere auf das Handy!" },
877{ "Export complete calendar","Exportiere kompletten Kalender" }, 877{ "Export complete calendar","Exportiere kompletten Kalender" },
878{ "Writing to phone...","Sende Daten ans Handy..." }, 878{ "Writing to phone...","Sende Daten ans Handy..." },
879{ " This may take 1-3 minutes!"," Das kann 1-3 Minuten dauern!" }, 879{ " This may take 1-3 minutes!"," Das kann 1-3 Minuten dauern!" },
880{ "Retry","Nochmal versuchen" }, 880{ "Retry","Nochmal versuchen" },
881{ "KDE/Pim phone access","KDE/Pim Handy Zugriff" }, 881{ "KDE/Pim phone access","KDE/Pim Handy Zugriff" },
882{ "Error accessing device!\nPlease turn on connection\nand retry!","Fehler beim Zugriff auf das Gerät!\nBitte die Verbindung aktivieren\nund nochmal versuchen!" }, 882{ "Error accessing device!\nPlease turn on connection\nand retry!","Fehler beim Zugriff auf das Gerät!\nBitte die Verbindung aktivieren\nund nochmal versuchen!" },
883{ "Error exporting to phone!","Fehler beim Export auf das Handy!" }, 883{ "Error exporting to phone!","Fehler beim Export auf das Handy!" },
884{ "Export filtered calendar","Exportiere gefilterten Kalender" }, 884{ "Export filtered calendar","Exportiere gefilterten Kalender" },
885{ "Preferences","Vorlieben" }, 885{ "Preferences","Vorlieben" },
886{ "Global","Global" }, 886{ "Global","Global" },
887{ "Phone","Phone" }, 887{ "Phone","Phone" },
888{ "SMS","SMS" }, 888{ "SMS","SMS" },
889{ "Fax","Fax" }, 889{ "Fax","Fax" },
890{ "Pager","Pager" }, 890{ "Pager","Pager" },
891{ "SIP","SIP" }, 891{ "SIP","SIP" },
892{ "Italian","Italienisch" }, 892{ "Italian","Italienisch" },
893{ "24:00","24:00" }, 893{ "24:00","24:00" },
894{ "12:00am","12:00am" }, 894{ "12:00am","12:00am" },
895{ "24.03.2004 (%d.%m.%Y|%A %d %B %Y)","24.03.2004 (%d.%m.%Y|%A %d %B %Y)" }, 895{ "24.03.2004 (%d.%m.%Y|%A %d %B %Y)","24.03.2004 (%d.%m.%Y|%A %d %B %Y)" },
896{ "03.24.2004 (%m.%d.%Y|%A %B %d %Y)","03.24.2004 (%m.%d.%Y|%A %B %d %Y)" }, 896{ "03.24.2004 (%m.%d.%Y|%A %B %d %Y)","03.24.2004 (%m.%d.%Y|%A %B %d %Y)" },
897{ "2004-03-24 (%Y-%m-%d|%A %Y %B %d)","2004-03-24 (%Y-%m-%d|%A %Y %B %d)" }, 897{ "2004-03-24 (%Y-%m-%d|%A %Y %B %d)","2004-03-24 (%Y-%m-%d|%A %Y %B %d)" },
898{ "Mon 19.04.04: %a %d.%m.%y","Mon 19.04.04: %a %d.%m.%y" }, 898{ "Mon 19.04.04: %a %d.%m.%y","Mon 19.04.04: %a %d.%m.%y" },
899{ "Mon, 19.Apr.04: %a, %d.%b.%y","Mon, 19.Apr.04: %a, %d.%b.%y" }, 899{ "Mon, 19.Apr.04: %a, %d.%b.%y","Mon, 19.Apr.04: %a, %d.%b.%y" },
900{ "Add 30 min to selected Timezone","Addiere 30 min zur Zeitzone" }, 900{ "Add 30 min to selected Timezone","Addiere 30 min zur Zeitzone" },
901{ "Used Mail Client","Benutzter Mail Client" }, 901{ "Used Mail Client","Benutzter Mail Client" },
902{ "Channel:","Channel:" }, 902{ "Channel:","Channel:" },
903{ "Message:","Message:" }, 903{ "Message:","Message:" },
904{ "Parameters:","Parameter:" }, 904{ "Parameters:","Parameter:" },
905{ "HINT: Delimiter=; Name=%1,Email=%2","Hinweis: Begrenzer=; Name=%1,Email=%2" }, 905{ "HINT: Delimiter=; Name=%1,Email=%2","Hinweis: Begrenzer=; Name=%1,Email=%2" },
906{ "extra Message:","extra Message:" }, 906{ "extra Message:","extra Message:" },
907{ "extra Parameters:","extra Parameter:" }, 907{ "extra Parameters:","extra Parameter:" },
908{ "HINT: Emails=%1,Attachments=%2","Hinweis: Emails=%1,Attachments=%2" }, 908{ "HINT: Emails=%1,Attachments=%2","Hinweis: Emails=%1,Attachments=%2" },
909{ "External Apps.","Externe Appl." }, 909{ "External Apps.","Externe Appl." },
910{ "24 hours","24 Std." }, 910{ "24 hours","24 Std." },
911{ "3 hours","3 Std." }, 911{ "3 hours","3 Std." },
912{ "1 hour","1 Std." }, 912{ "1 hour","1 Std." },
913{ "15 minutes","15 Min." }, 913{ "15 minutes","15 Min." },
914{ "5 minutes","5 Min." }, 914{ "5 minutes","5 Min." },
915{ "1 minute","1 Min." }, 915{ "1 minute","1 Min." },
916{ "23","23" }, 916{ "23","23" },
917{ "Mon 15","Mon 15" }, 917{ "Mon 15","Mon 15" },
918{ "Configure KO","Konfiguriere KO" }, 918{ "Configure KO","Konfiguriere KO" },
919{ "Event text","Termin Text" }, 919{ "Event text","Termin Text" },
920{ "ToDo","Todo" }, 920{ "ToDo","Todo" },
921{ "Today","Heute" }, 921{ "Today","Heute" },
922{ "What's Next View","What's Next Ansicht" }, 922{ "What's Next View","What's Next Ansicht" },
923{ "Allday Agenda view shows todos","Ganztag Agenda zeigt Todos" }, 923{ "Allday Agenda view shows todos","Ganztag Agenda zeigt Todos" },
924{ "Alarm","Alarm" }, 924{ "Alarm","Alarm" },
925{ "Used %1 Client","Benutzter %1 Client" }, 925{ "Used %1 Client","Benutzter %1 Client" },
926{ "No email client installed","Kein Email Klient installiert" }, 926{ "No email client installed","Kein Email Klient installiert" },
927{ "Userdefined email client","Benutzerdef. Email Klient" }, 927{ "Userdefined email client","Benutzerdef. Email Klient" },
928{ "OM/Pi email client","OM/Pi Email Klient" }, 928{ "OM/Pi email client","OM/Pi Email Klient" },
929{ "Include in multiple ","Beziehe in multiple " }, 929{ "Include in multiple ","Beziehe in multiple " },
930{ "calendar ","Kalender " }, 930{ "calendar ","Kalender " },
931{ "addressbook ","Adressbuch " }, 931{ "addressbook ","Adressbuch " },
932{ "pwmanager","PWmanager" }, 932{ "pwmanager","PWmanager" },
933{ " sync"," Sync ein" }, 933{ " sync"," Sync ein" },
934{ "Write back synced data","Schreibe gesyncte Daten zurück" }, 934{ "Write back synced data","Schreibe gesyncte Daten zurück" },
935{ "-- Write back (on remote) existing entries only","-- Schreibe nur existierende (entfernte) Einträge zurück" }, 935{ "-- Write back (on remote) existing entries only","-- Schreibe nur existierende (entfernte) Einträge zurück" },
936{ "-- Write back (calendar) entries in future only","-- Schreibe nur zukünftige Kalender-Einträge zurück" }, 936{ "-- Write back (calendar) entries in future only","-- Schreibe nur zukünftige Kalender-Einträge zurück" },
937{ "---- Max. weeks in future: ","---- Max. wochen in der Zukunft: " }, 937{ "---- Max. weeks in future: ","---- Max. wochen in der Zukunft: " },
938{ "Pi-Sync ( direct Kx/Pi to Kx/Pi sync )","Pi-Sync ( direktes Kx/Pi zu Kx/Pi sync )" }, 938{ "Pi-Sync ( direct Kx/Pi to Kx/Pi sync )","Pi-Sync ( direktes Kx/Pi zu Kx/Pi sync )" },
939{ "Mobile device (cell phone)","Mobiles Gerät (Handy)" }, 939{ "Mobile device (cell phone)","Mobiles Gerät (Handy)" },
940{ "Help...","Hilfe..." }, 940{ "Help...","Hilfe..." },
941{ "Local file Cal:","Lokale Datei Kal:" }, 941{ "Local file Cal:","Lokale Datei Kal:" },
942{ "Local file ABook:","Lokale Datei ABuch:" }, 942{ "Local file ABook:","Lokale Datei ABuch:" },
943{ "Local file PWMgr:","Lokale Datei PWMgr:" }, 943{ "Local file PWMgr:","Lokale Datei PWMgr:" },
944{ "Addressbook file (*.vcf) is used by KA/Pi","Adressbuch Datei (*.vcf) wird von KA/Pi genutzt" }, 944{ "Addressbook file (*.vcf) is used by KA/Pi","Adressbuch Datei (*.vcf) wird von KA/Pi genutzt" },
945{ "Calendar:","Kalender:" }, 945{ "Calendar:","Kalender:" },
946{ "AddressBook:","AdressBuch:" }, 946{ "AddressBook:","AdressBuch:" },
947{ "PWManager:","PWManager:" }, 947{ "PWManager:","PWManager:" },
948{ "Addressbook file is used by KA/Pi","Adressbuch Datei wird von KA/Pi genutzt" }, 948{ "Addressbook file is used by KA/Pi","Adressbuch Datei wird von KA/Pi genutzt" },
949{ "ssh/scp","ssh/scp" }, 949{ "ssh/scp","ssh/scp" },
950{ "ftp","ftp" }, 950{ "ftp","ftp" },
951{ "Password for remote access: (could be the same for each)","Passwort für entfernten Zugriff: (kann dasselbe sein für alle)" }, 951{ "Password for remote access: (could be the same for each)","Passwort für entfernten Zugriff: (kann dasselbe sein für alle)" },
952{ "Remote IP address: (could be the same for each)","Entfernte IP Adresse: (kann dasselbe sein für alle)" }, 952{ "Remote IP address: (could be the same for each)","Entfernte IP Adresse: (kann dasselbe sein für alle)" },
953{ "Remote port number: (should be different for each)","Entfernte Port Nummer: (Sollte für alle unterschiedlich sein)" }, 953{ "Remote port number: (should be different for each)","Entfernte Port Nummer: (Sollte für alle unterschiedlich sein)" },
954{ "command for downloading remote file to local device","Kommando zum Download der entfernten Datei zum lokalen Gerät" }, 954{ "command for downloading remote file to local device","Kommando zum Download der entfernten Datei zum lokalen Gerät" },
955{ "command for uploading local temp file to remote device","Kommando zum Upload der lokalen temp. Datei zum entfernten Gerät" }, 955{ "command for uploading local temp file to remote device","Kommando zum Upload der lokalen temp. Datei zum entfernten Gerät" },
956{ "Insert device where\nphone is connected. E.g.:\n","Füge Device ein, an dem\ndas Handy angeschlossen ist. Z.B.:\n" }, 956{ "Insert device where\nphone is connected. E.g.:\n","Füge Device ein, an dem\ndas Handy angeschlossen ist. Z.B.:\n" },
957{ "KDE-Pim sync config","KDE-Pim sync Konfig" }, 957{ "KDE-Pim sync config","KDE-Pim sync Konfig" },
958{ "Insert kind of connection,e.g.:\n","Füge Art der Verbindung ein,z.B.:\n" }, 958{ "Insert kind of connection,e.g.:\n","Füge Art der Verbindung ein,z.B.:\n" },
959{ "Recommended: Leave empty!\n(Such that model can\nbe auto detected)\nOr insert name of model:\n","Empfohlen: Leer lassen!\n(So dass das Model\nautomatisch erkannt\nwerden kann)\nOder füge Model Name ein:\n" }, 959{ "Recommended: Leave empty!\n(Such that model can\nbe auto detected)\nOr insert name of model:\n","Empfohlen: Leer lassen!\n(So dass das Model\nautomatisch erkannt\nwerden kann)\nOder füge Model Name ein:\n" },
960{ "Password to enable\naccess from remote:","Passwort um entfernten\nZugriff zuzulassen:" }, 960{ "Password to enable\naccess from remote:","Passwort um entfernten\nZugriff zuzulassen:" },
961{ "Automatically start\nat application startup","Starte automatisch\nbeim Programmstart" }, 961{ "Automatically start\nat application startup","Starte automatisch\nbeim Programmstart" },
962{ "Automatically sync\nwith KDE-Desktop","Automatischer Sync\nmit dem KDE-Desktop" }, 962{ "Automatically sync\nwith KDE-Desktop","Automatischer Sync\nmit dem KDE-Desktop" },
963{ "Enter port for Pi-Sync","Port Nummer für Pi-Sync" }, 963{ "Enter port for Pi-Sync","Port Nummer für Pi-Sync" },
964{ "Disable Pi-Sync","Schalte Pi-Sync aus" }, 964{ "Disable Pi-Sync","Schalte Pi-Sync aus" },
965{ "Do you really want\nto multiple sync\nwith all checked profiles?\nSyncing takes some\ntime - all profiles\nare synced twice!","Wollen Sie wirklich\nmit allen selektierten\nProfilen "Multi-Syncen"?\nDas Syncen dauert einige Zeit -\nalle Profile werden zweimal gesynct!" }, 965{ "Do you really want\nto multiple sync\nwith all checked profiles?\nSyncing takes some\ntime - all profiles\nare synced twice!","Wollen Sie wirklich\nmit allen selektierten\nProfilen "Multi-Syncen"?\nDas Syncen dauert einige Zeit -\nalle Profile werden zweimal gesynct!" },
966{ "KDE-Pim Sync","KDE-Pim Sync" }, 966{ "KDE-Pim Sync","KDE-Pim Sync" },
967{ "Multiple profiles","Multi-Sync Profile" }, 967{ "Multiple profiles","Multi-Sync Profile" },
968{ "Device: ","Gerät: " }, 968{ "Device: ","Gerät: " },
969{ "Multiple sync started.","Multi-Sync gestartet." }, 969{ "Multiple sync started.","Multi-Sync gestartet." },
970{ "Nothing synced! No profiles defined for multisync!","Nichts gesynct! Keine Profile\nselektiert für Multi-Sync" }, 970{ "Nothing synced! No profiles defined for multisync!","Nichts gesynct! Keine Profile\nselektiert für Multi-Sync" },
971{ "Turn filter on","Schalte Filter an" }, 971{ "Turn filter on","Schalte Filter an" },
972{ "Turn filter off","Schalte Filter aus" }, 972{ "Turn filter off","Schalte Filter aus" },
973{ "Key bindings KOrganizer/Pi","Tastatur Belegung KOrganizer/Pi" }, 973{ "Key bindings KOrganizer/Pi","Tastatur Belegung KOrganizer/Pi" },
974{ "<p><b>White</b>: Item readonly</p>\n","<p><b>Weiss</b>: Eintrag schreibgeschützt</p>\n" }, 974{ "<p><b>White</b>: Item readonly</p>\n","<p><b>Weiss</b>: Eintrag schreibgeschützt</p>\n" },
975{ "<p><b>Dark yellow</b>: Event/todo with attendees.</p>\n","<p><b>Dunkelgelb</b>: Termin/Todo mit Teilnehmern.</p>\n" }, 975{ "<p><b>Dark yellow</b>: Event/todo with attendees.</p>\n","<p><b>Dunkelgelb</b>: Termin/Todo mit Teilnehmern.</p>\n" },
976{ "<p><b>Black</b>: Event/todo with attendees. You are the organizer!</p>\n","<p><b>Schwarz</b>: Termin/Todo mit Teilnehmern. Sie sind der Organisator!</p>\n" }, 976{ "<p><b>Black</b>: Event/todo with attendees. You are the organizer!</p>\n","<p><b>Schwarz</b>: Termin/Todo mit Teilnehmern. Sie sind der Organisator!</p>\n" },
977{ "<p><b>Dark green</b>: Information(description) available.([i] in WN view)</p>\n","<p><b>Dunkelgrün</b>: Information(Beschreibung) verfügbar.([i] in WN Ansicht)</p>\n" }, 977{ "<p><b>Dark green</b>: Information(description) available.([i] in WN view)</p>\n","<p><b>Dunkelgrün</b>: Information(Beschreibung) verfügbar.([i] in WN Ansicht)</p>\n" },
978{ "<p><b>Blue</b>: Recurrent event.([r] in Whats'Next view)</p>\n","<p><b>Blau</b>: Wiederholender Termin.([r] in Whats'Next Ansicht)</p>\n" }, 978{ "<p><b>Blue</b>: Recurrent event.([r] in Whats'Next view)</p>\n","<p><b>Blau</b>: Wiederholender Termin.([r] in Whats'Next Ansicht)</p>\n" },
979{ "<p><b>Red</b>: Alarm set.([a] in Whats'Next view)</p>\n","<p><b>Rot</b>: Alarm gesetzt.([a] in Whats'Next Ansicht)</p>\n" }, 979{ "<p><b>Red</b>: Alarm set.([a] in Whats'Next view)</p>\n","<p><b>Rot</b>: Alarm gesetzt.([a] in Whats'Next Ansicht)</p>\n" },
980{ "<p><b>Cross</b>: Item cancelled.([c] in Whats'Next view)</p>\n","<p><b>Kreuz</b>: Eintrag gecancelt.([c] in Whats'Next Ansicht)</p>\n" }, 980{ "<p><b>Cross</b>: Item cancelled.([c] in Whats'Next view)</p>\n","<p><b>Kreuz</b>: Eintrag gecancelt.([c] in Whats'Next Ansicht)</p>\n" },
981{ "<p><b>(for square icons in agenda and month view)</b></p>\n","<p><b>(für quadratische Icons in Agenda und Monats Ansicht)</b></p>\n" }, 981{ "<p><b>(for square icons in agenda and month view)</b></p>\n","<p><b>(für quadratische Icons in Agenda und Monats Ansicht)</b></p>\n" },
982{ "<p><h2>KO/Pi icon colors:</h2></p>\n","<p><h2>KO/Pi Icon Farben:</h2></p>\n" }, 982{ "<p><h2>KO/Pi icon colors:</h2></p>\n","<p><h2>KO/Pi Icon Farben:</h2></p>\n" },
983{ "<p><b>E</b>: Edit item</p>\n","<p><b>E</b>: Editiere Eintrag</p>\n" }, 983{ "<p><b>E</b>: Edit item</p>\n","<p><b>E</b>: Editiere Eintrag</p>\n" },
984{ "<p><b>A</b>: Show agenda view.</p>\n","<p><b>A</b>: Zeige Agenda Ansicht.</p>\n" }, 984{ "<p><b>A</b>: Show agenda view.</p>\n","<p><b>A</b>: Zeige Agenda Ansicht.</p>\n" },
985{ "<p><b>I,C</b>: Close dialog.</p>\n","<p><b>I,C</b>: Schließe Dialog.</p>\n" }, 985{ "<p><b>I,C</b>: Close dialog.</p>\n","<p><b>I,C</b>: Schließe Dialog.</p>\n" },
986{ "<p><h3>In event/todo viewer:</h3></p>\n","<p><h3>In Termin/Todo Detail-Anzeige:</h3></p>\n" }, 986{ "<p><h3>In event/todo viewer:</h3></p>\n","<p><h3>In Termin/Todo Detail-Anzeige:</h3></p>\n" },
987{ "<p><b>shift+up/down</b>: Goto first/last item</p>\n","<p><b>shift+up/down</b>: Gehe zum ersten/letzten Eintrag</p>\n" }, 987{ "<p><b>shift+up/down</b>: Goto first/last item</p>\n","<p><b>shift+up/down</b>: Gehe zum ersten/letzten Eintrag</p>\n" },
988{ "<p><b>ctrl+up/down</b>: Goto up/down by 20% of items</p>\n","<p><b>ctrl+up/down</b>: Gehe hoch/runter 20% aller Einträge</p>\n" }, 988{ "<p><b>ctrl+up/down</b>: Goto up/down by 20% of items</p>\n","<p><b>ctrl+up/down</b>: Gehe hoch/runter 20% aller Einträge</p>\n" },
989{ "<p><b>up/down</b>: Next/prev item</p>\n","<p><b>up/down</b>: Nächster/vorheriger Eintrag</p>\n" }, 989{ "<p><b>up/down</b>: Next/prev item</p>\n","<p><b>up/down</b>: Nächster/vorheriger Eintrag</p>\n" },
990{ "<p><b>return+shift</b>: Deselect item+one step down</p>\n","<p><b>return+shift</b>: Deselektiere Item+Cursor einen Eintrag runter</p>\n" }, 990{ "<p><b>return+shift</b>: Deselect item+one step down</p>\n","<p><b>return+shift</b>: Deselektiere Item+Cursor einen Eintrag runter</p>\n" },
991{ "<p><b>return</b>: Select item+one step down</p>\n","<p><b>return</b>: Selektiere Item+Cursor einen Eintrag runter</p>\n" }, 991{ "<p><b>return</b>: Select item+one step down</p>\n","<p><b>return</b>: Selektiere Item+Cursor einen Eintrag runter</p>\n" },
992{ "<p><b>I</b>: Show info of current item+one step down.</p>\n","<p><b>I</b>: Zeige Detail-Ansicht vom sel.Eintrag+Cursor einen Eintrag runter.</p>\n" }, 992{ "<p><b>I</b>: Show info of current item+one step down.</p>\n","<p><b>I</b>: Zeige Detail-Ansicht vom sel.Eintrag+Cursor einen Eintrag runter.</p>\n" },
993{ "<p><h3>In list view:</h3></p>\n","<p><h3>In Listen Ansicht:</h3></p>\n" }, 993{ "<p><h3>In list view:</h3></p>\n","<p><h3>In Listen Ansicht:</h3></p>\n" },
994{ "<p><b>return+shift</b>: Mark item as not completed+one step down</p>\n","<p><b>return+shift</b>: Markiere Todo als nicht erledigt+Cursor einen Eintrag runter</p>\n" }, 994{ "<p><b>return+shift</b>: Mark item as not completed+one step down</p>\n","<p><b>return+shift</b>: Markiere Todo als nicht erledigt+Cursor einen Eintrag runter</p>\n" },
995{ "<p><b>return</b>: Mark item as completed+one step down.</p>\n","<p><b>return</b>: Markiere Todo als erledigt+Cursor einen Eintrag runter.</p>\n" }, 995{ "<p><b>return</b>: Mark item as completed+one step down.</p>\n","<p><b>return</b>: Markiere Todo als erledigt+Cursor einen Eintrag runter.</p>\n" },
996{ "<p><b>Q</b>: Toggle quick todo line edit.</p>\n","<p><b>Q</b>: Zeige/verstecke Quick Todo Eingabe Zeile.</p>\n" }, 996{ "<p><b>Q</b>: Toggle quick todo line edit.</p>\n","<p><b>Q</b>: Zeige/verstecke Quick Todo Eingabe Zeile.</p>\n" },
997{ "<p><b>shift+P</b>: Make new <b>P</b>arent for todo selected with shift+S</p>\n","<p><b>shift+P</b>: Mache Todo zum neuen <b>P</b>arent Todo für das Todo, welches mit shift+Sselektiert wurde.</p>\n" }, 997{ "<p><b>shift+P</b>: Make new <b>P</b>arent for todo selected with shift+S</p>\n","<p><b>shift+P</b>: Mache Todo zum neuen <b>P</b>arent Todo für das Todo, welches mit shift+Sselektiert wurde.</p>\n" },
998{ "<p><b>shift+S</b>: Make <b>S</b>ubtodo (reparent todo)</p>\n","<p><b>shift+S</b>: Mache Todo zum <b>S</b>ubtodo</p>\n" }, 998{ "<p><b>shift+S</b>: Make <b>S</b>ubtodo (reparent todo)</p>\n","<p><b>shift+S</b>: Mache Todo zum <b>S</b>ubtodo</p>\n" },
999{ "<p><b>shift+U</b>: <b>U</b>nparent todo (make root todo)</p>\n","<p><b>shift+U</b>: <b>U</b>nparent Todo (Mache Sub-Todo zum Toplevel Todo)</p>\n" }, 999{ "<p><b>shift+U</b>: <b>U</b>nparent todo (make root todo)</p>\n","<p><b>shift+U</b>: <b>U</b>nparent Todo (Mache Sub-Todo zum Toplevel Todo)</p>\n" },
1000{ "<p><h3>In todo view:</h3></p>\n","<p><h3>In Todo Anzige:</h3></p>\n" }, 1000{ "<p><h3>In todo view:</h3></p>\n","<p><h3>In Todo Anzige:</h3></p>\n" },
1001{ "<p><b>ctrl+up/down</b>: Scroll small todo view</p>\n","<p><b>ctrl+up/down</b>: Scrolle kleine Todo Ansicht</p>\n" }, 1001{ "<p><b>ctrl+up/down</b>: Scroll small todo view</p>\n","<p><b>ctrl+up/down</b>: Scrolle kleine Todo Ansicht</p>\n" },
1002{ "<p><b>up/down</b>: Scroll agenda view</p>\n","<p><b>up/down</b>: Scrolle Agenda Ansicht</p>\n" }, 1002{ "<p><b>up/down</b>: Scroll agenda view</p>\n","<p><b>up/down</b>: Scrolle Agenda Ansicht</p>\n" },
1003{ "<p><h3>In agenda view:</h3></p>\n","<p><h3>In Agenda Ansicht:</h3></p>\n" }, 1003{ "<p><h3>In agenda view:</h3></p>\n","<p><h3>In Agenda Ansicht:</h3></p>\n" },
1004{ "<p><b>del,backspace</b>: Delete selected item</p>\n","<p><b>del,backspace</b>: Lösche selektiertes Item</p>\n" }, 1004{ "<p><b>del,backspace</b>: Delete selected item</p>\n","<p><b>del,backspace</b>: Lösche selektiertes Item</p>\n" },
1005{ "<p><b>left</b>: Prev. week | <b>left+ctrl</b>: Prev. month</p>\n","<p><b>left</b>: Vorh. Woche | <b>left+ctrl</b>: Vorh. Monat</p>\n" }, 1005{ "<p><b>left</b>: Prev. week | <b>left+ctrl</b>: Prev. month</p>\n","<p><b>left</b>: Vorh. Woche | <b>left+ctrl</b>: Vorh. Monat</p>\n" },
1006{ "<p><b>right</b>: Next week | <b>right+ctrl</b>: Next month</p>\n","<p><b>right</b>: Nächste Woche | <b>right+ctrl</b>: Nächste Woche</p>\n" }, 1006{ "<p><b>right</b>: Next week | <b>right+ctrl</b>: Next month</p>\n","<p><b>right</b>: Nächste Woche | <b>right+ctrl</b>: Nächste Woche</p>\n" },
1007{ "<p><b>B</b>: Edit description (details) of selected item</p>\n","<p><b>B</b>: Editiere Beschreibung (Details) des selektierten Items</p>\n" }, 1007{ "<p><b>B</b>: Edit description (details) of selected item</p>\n","<p><b>B</b>: Editiere Beschreibung (Details) des selektierten Items</p>\n" },
1008{ "<p><b>C</b>: Show current time in agenda view</p>\n","<p><b>C</b>: Zeige aktuelle Zeit in Agenda Ansicht</p>\n" }, 1008{ "<p><b>C</b>: Show current time in agenda view</p>\n","<p><b>C</b>: Zeige aktuelle Zeit in Agenda Ansicht</p>\n" },
1009{ "<p><b>+,-</b> : Zoom in/out agenda | <b>A</b>: Toggle allday agenda height</p>\n","<p><b>+,-</b> : Zoom rein/raus Agenda | <b>A</b>: Wechsle Ganztag Agenda Höhe</p>\n" }, 1009{ "<p><b>+,-</b> : Zoom in/out agenda | <b>A</b>: Toggle allday agenda height</p>\n","<p><b>+,-</b> : Zoom rein/raus Agenda | <b>A</b>: Wechsle Ganztag Agenda Höhe</p>\n" },
1010{ "<p><b>S+ctrl</b>: Add sub-todo | <b>X+ctrl</b>: Toggle datenavigator</p>\n","<p><b>S+ctrl</b>: Füge Sub-Todo hinzu | <b>X+ctrl</b>: Zeige/verstecke Datumsnavigator</p>\n" }, 1010{ "<p><b>S+ctrl</b>: Add sub-todo | <b>X+ctrl</b>: Toggle datenavigator</p>\n","<p><b>S+ctrl</b>: Füge Sub-Todo hinzu | <b>X+ctrl</b>: Zeige/verstecke Datumsnavigator</p>\n" },
1011{ "<p><b>T</b>: Goto today | <b>T+ctrl</b>: New Todo</p>\n","<p><b>T</b>: Gehe zu Heute | <b>T+ctrl</b>: Neues Todo</p>\n" }, 1011{ "<p><b>T</b>: Goto today | <b>T+ctrl</b>: New Todo</p>\n","<p><b>T</b>: Gehe zu Heute | <b>T+ctrl</b>: Neues Todo</p>\n" },
1012{ "<p><b>E</b>: Edit selected item |<b> E+ctrl</b>: New Event</p>\n","<p><b>E</b>: Editiere selektiertes Item |<b> E+ctrl</b>: Neuer Termin</p>\n" }, 1012{ "<p><b>E</b>: Edit selected item |<b> E+ctrl</b>: New Event</p>\n","<p><b>E</b>: Editiere selektiertes Item |<b> E+ctrl</b>: Neuer Termin</p>\n" },
1013{ "<p><b>D</b>: One day view | <b>M</b>: Month view</p>\n","<p><b>D</b>: Ein-Tages Ansicht | <b>M</b>: Monatsansicht</p>\n" }, 1013{ "<p><b>D</b>: One day view | <b>M</b>: Month view</p>\n","<p><b>D</b>: Ein-Tages Ansicht | <b>M</b>: Monatsansicht</p>\n" },
1014{ "<p><b>Z,Y</b>: Work week view | <b>U</b>: Week view</p>\n","<p><b>Z,Y</b>: Arbeitswochenansicht | <b>U</b>: Wochenansicht</p>\n" }, 1014{ "<p><b>Z,Y</b>: Work week view | <b>U</b>: Week view</p>\n","<p><b>Z,Y</b>: Arbeitswochenansicht | <b>U</b>: Wochenansicht</p>\n" },
1015{ "<p><b>V</b>: Todo view | <b>L</b>: Event list view</p>\n","<p><b>V</b>: Todo Ansicht | <b>L</b>: Termin Listen Ansicht</p>\n" }, 1015{ "<p><b>V</b>: Todo view | <b>L</b>: Event list view</p>\n","<p><b>V</b>: Todo Ansicht | <b>L</b>: Termin Listen Ansicht</p>\n" },
1016{ "<p><b>X</b>: Next X days view| <b>W</b>: What's next view\n ","<p><b>X</b>: Nächste-X-Tage Ansicht | <b>W</b>: What's Next Ansicht\n " }, 1016{ "<p><b>X</b>: Next X days view| <b>W</b>: What's next view\n ","<p><b>X</b>: Nächste-X-Tage Ansicht | <b>W</b>: What's Next Ansicht\n " },
1017{ "<p><b>1-0</b> (+<b>ctrl</b>): Select filter 1-10 (11-20)</p>\n","<p><b>1-0</b> (+<b>ctrl</b>): Selektiere Filter 1-10 (11-20)</p>\n" }, 1017{ "<p><b>1-0</b> (+<b>ctrl</b>): Select filter 1-10 (11-20)</p>\n","<p><b>1-0</b> (+<b>ctrl</b>): Selektiere Filter 1-10 (11-20)</p>\n" },
1018{ "<p><b>O</b>: Filter On/Off | <b>J</b>: Journal view</p>\n","<p><b>O</b>: Filter An/Aus | <b>J</b>: Journal Ansicht</p>\n" }, 1018{ "<p><b>O</b>: Filter On/Off | <b>J</b>: Journal view</p>\n","<p><b>O</b>: Filter An/Aus | <b>J</b>: Journal Ansicht</p>\n" },
1019{ "<p><b>Space</b>: Toggle fullscreen | <b>P</b>: Date picker</p>\n","<p><b>Space</b>: Zeige fullscreen | <b>P</b>: Datums Picker</p>\n" }, 1019{ "<p><b>Space</b>: Toggle fullscreen | <b>P</b>: Date picker</p>\n","<p><b>Space</b>: Zeige fullscreen | <b>P</b>: Datums Picker</p>\n" },
1020{ "<p><b>I</b>: Show info for selected event/todo</p>\n","<p><b>I</b>: Zeige Info (Details) für selektiertes Item</p>\n" }, 1020{ "<p><b>I</b>: Show info for selected event/todo</p>\n","<p><b>I</b>: Zeige Info (Details) für selektiertes Item</p>\n" },
1021{ "<p><b>H</b>: This help dialog | <b>S</b>: Search dialog</p>\n","<p><b>H</b>: Dieser Hilfe Dialog | <b>S</b>: Such Dialog</p>\n" }, 1021{ "<p><b>H</b>: This help dialog | <b>S</b>: Search dialog</p>\n","<p><b>H</b>: Dieser Hilfe Dialog | <b>S</b>: Such Dialog</p>\n" },
1022{ "<p><h2>KO/Pi key shortcuts:</h2></p>\n","<p><h2>KO/Pi Tastatur Kurzbefehle:</h2></p>\n" }, 1022{ "<p><h2>KO/Pi key shortcuts:</h2></p>\n","<p><h2>KO/Pi Tastatur Kurzbefehle:</h2></p>\n" },
1023{ "After changing something, the data is\nautomatically saved to the file\n~/kdepim/apps/korganizer/mycalendar.ics\nafter (configurable) three minutes.\nFor safety reasons there is one autosaving\nafter 10 minutes (of idle time) again. The \ndata is saved automatically when closing KO/Pi\nYou can create a backup file \nwith: File - Save Calendar Backup\n","Nachdem etwas geändert wurde, werden die\nDaten automatisch in die Datei abgespeichert\n~/kdepim/apps/korganizer/mycalendar.ics\nnach (konfigurierbar) drei Minuten.\nAus Sicherheitsgründen wird noch einmal\nnach 10 Min. abgespeichert, wenn keine\nÄnderungen vorgenommen wurden. Die \nDaten werden automatisch gespeichert,\nwenn KO/Pi beendet wird.\nSie können eine Backup-Datei erstellen im\nMenu: Datei - Speichere Kalender Backup\n" }, 1023{ "After changing something, the data is\nautomatically saved to the file\n~/kdepim/apps/korganizer/mycalendar.ics\nafter (configurable) three minutes.\nFor safety reasons there is one autosaving\nafter 10 minutes (of idle time) again. The \ndata is saved automatically when closing KO/Pi\nYou can create a backup file \nwith: File - Save Calendar Backup\n","Nachdem etwas geändert wurde, werden die\nDaten automatisch in die Datei abgespeichert\n~/kdepim/apps/korganizer/mycalendar.ics\nnach (konfigurierbar) drei Minuten.\nAus Sicherheitsgründen wird noch einmal\nnach 10 Min. abgespeichert, wenn keine\nÄnderungen vorgenommen wurden. Die \nDaten werden automatisch gespeichert,\nwenn KO/Pi beendet wird.\nSie können eine Backup-Datei erstellen im\nMenu: Datei - Speichere Kalender Backup\n" },
1024{ "Auto Saving in KOrganizer/Pi","Auto Speichern in KOrganizer/Pi" }, 1024{ "Auto Saving in KOrganizer/Pi","Auto Speichern in KOrganizer/Pi" },
1025{ "\nhttp://sourceforge.net/projects/kdepimpi\n","\nhttp://sourceforge.net/projects/kdepimpi\n" }, 1025{ "\nhttp://sourceforge.net/projects/kdepimpi\n","\nhttp://sourceforge.net/projects/kdepimpi\n" },
1026{ "\nor report them in the bugtracker on\n","\noder trage sie in dem Bugtracker ein auf\n" }, 1026{ "\nor report them in the bugtracker on\n","\noder trage sie in dem Bugtracker ein auf\n" },
1027{ "\nPlease report unexpected behaviour to\nlutz@pi-sync.info\n","\nBitte melde fehlerhaftes Verhalten an\nlutz@pi-sync.info\n" }, 1027{ "\nPlease report unexpected behaviour to\nlutz@pi-sync.info\n","\nBitte melde fehlerhaftes Verhalten an\nlutz@pi-sync.info\n" },
1028{ "2) Audio alarm daemon\nfor Zaurus is available!\nas an additional small application\n","2) Ein Audio Alarm Daemon\nfür den Zaurus ist verfügbar\nals zusätzliche Anwendung\n" }, 1028{ "2) Audio alarm daemon\nfor Zaurus is available!\nas an additional small application\n","2) Ein Audio Alarm Daemon\nfür den Zaurus ist verfügbar\nals zusätzliche Anwendung\n" },
1029{ "1) Importing *.vcs or *.ics files from\nother applications may not work properly,\nif there are events with properties\nKO/Pi does not support.\n","1) Importieren von *.vcs oder *.ics Dateien von\nanderen Anwendungen kann möglicherweise\n nicht richtig funktionieren,\nwenn die Termine Eigenschaften haben,\ndie KO/Pi nicht unterstützt.\n" }, 1029{ "1) Importing *.vcs or *.ics files from\nother applications may not work properly,\nif there are events with properties\nKO/Pi does not support.\n","1) Importieren von *.vcs oder *.ics Dateien von\nanderen Anwendungen kann möglicherweise\n nicht richtig funktionieren,\nwenn die Termine Eigenschaften haben,\ndie KO/Pi nicht unterstützt.\n" },
1030{ "Known Problems in KOrganizer/Pi","Bekannte Probleme in KOrganizer/Pi" }, 1030{ "Known Problems in KOrganizer/Pi","Bekannte Probleme in KOrganizer/Pi" },
1031{ "KO/Pi FAQ","KO/Pi FAQ" }, 1031{ "KO/Pi FAQ","KO/Pi FAQ" },
1032{ "PDA-Edition\nfor: Zaurus 5x00/7x0/860/3000/6000\n","PDA-Edition\nfür: Zaurus 5x00/7x0/860/3000/6000\n" }, 1032{ "PDA-Edition\nfor: Zaurus 5x00/7x0/860/3000/6000\n","PDA-Edition\nfür: Zaurus 5x00/7x0/860/3000/6000\n" },
1033{ "KOrganizer/Platform-independent\n","KOrganizer/Platform-independent\n" }, 1033{ "KOrganizer/Platform-independent\n","KOrganizer/Platform-independent\n" },
1034{ "About KOrganizer/Pi","Über KOrganizer/Pi" }, 1034{ "About KOrganizer/Pi","Über KOrganizer/Pi" },
1035{ "From: ","Von: " }, 1035{ "From: ","Von: " },
1036{ "Remove sync info","Entferne Sync Info" }, 1036{ "Remove sync info","Entferne Sync Info" },
1037{ "For all profiles","Für alle Profile" }, 1037{ "For all profiles","Für alle Profile" },
1038{ "Hide not Running","Verstecke nicht Laufende" }, 1038{ "Hide not Running","Verstecke nicht Laufende" },
1039{ "ME","ME" }, 1039{ "ME","ME" },
1040{ "Toolbar","Toolbar" }, 1040{ "Toolbar","Toolbar" },
1041{ "Undo Delete...","UNDO Löschen..." }, 1041{ "Undo Delete...","UNDO Löschen..." },
1042{ "Undo Delete","Löschen rückgängig machen" }, 1042{ "Undo Delete","Löschen rückgängig machen" },
1043{ "KDE Sync HowTo...","KDE Sync HowTo..." }, 1043{ "KDE Sync HowTo...","KDE Sync HowTo..." },
1044{ "Multi Sync HowTo...","Multi Sync HowTo..." }, 1044{ "Multi Sync HowTo...","Multi Sync HowTo..." },
1045{ "Januar","Januar" }, 1045{ "Januar","Januar" },
1046{ "KO/Pi Keys + Colors","KO/Pi Tasten + Farben" }, 1046{ "KO/Pi Keys + Colors","KO/Pi Tasten + Farben" },
1047{ "No Filter","Kein Filter" }, 1047{ "No Filter","Kein Filter" },
1048{ "Multiple Sync options","Multi Sync Optionen" }, 1048{ "Multiple Sync options","Multi Sync Optionen" },
1049{ "Sync algo options","Sync Ablauf Optionen" }, 1049{ "Sync algo options","Sync Ablauf Optionen" },
1050{ "Apply filter when adding data to local:","Filter für das Hinzufügen von Daten zu Lokal:" }, 1050{ "Apply filter when adding data to local:","Filter für das Hinzufügen von Daten zu Lokal:" },
1051{ "Incoming calendar filter:","Eingehender Kalender Filter:" }, 1051{ "Incoming calendar filter:","Eingehender Kalender Filter:" },
1052{ "Incoming addressbook filter:","Eingehender Adressbuch Filter:" }, 1052{ "Incoming addressbook filter:","Eingehender Adressbuch Filter:" },
1053{ "Write back options","Optionen zum Zurückschreiben" }, 1053{ "Write back options","Optionen zum Zurückschreiben" },
1054{ "Write back (on remote) existing entries only","Schreibe nur existierende (auf Entfernt) Einträge zurück" }, 1054{ "Write back (on remote) existing entries only","Schreibe nur existierende (auf Entfernt) Einträge zurück" },
1055{ "Apply filter when adding data to remote:","Filter für das Hinzufügen von Daten zu Entfernt:" }, 1055{ "Apply filter when adding data to remote:","Filter für das Hinzufügen von Daten zu Entfernt:" },
1056{ "Outgoing calendar filter:","Ausgehender Kalender Filter:" }, 1056{ "Outgoing calendar filter:","Ausgehender Kalender Filter:" },
1057{ "Outgoing addressbook filter:","Ausgehender Adressbuch Filter:" }, 1057{ "Outgoing addressbook filter:","Ausgehender Adressbuch Filter:" },
1058{ "Write back (calendar) entries for time period only","Schreibe nur Kalender Einträge für Zeitspanne zurück" }, 1058{ "Write back (calendar) entries for time period only","Schreibe nur Kalender Einträge für Zeitspanne zurück" },
1059{ "Time period","Zeitspanne" }, 1059{ "Time period","Zeitspanne" },
1060{ "From ","Von " }, 1060{ "From ","Von " },
1061{ " weeks in the past to "," Wochen in der Vergangenheit bis zu " }, 1061{ " weeks in the past to "," Wochen in der Vergangenheit bis zu " },
1062{ " weeks in the future "," Wochen in der Zukunft " }, 1062{ " weeks in the future "," Wochen in der Zukunft " },
1063{ "Profile kind specific settings","Profil Art abhängige Einstellungen" }, 1063{ "Profile kind specific settings","Profil Art abhängige Einstellungen" },
1064{ "Local temp file:","Lokale temp Datei:" }, 1064{ "Local temp file:","Lokale temp Datei:" },
1065{ "Multiple profiles with same name!\nPlease use unique profile names!","Mehrere Profile mit demselben Namen!\nBitte verschiedene Namen benutzen!" }, 1065{ "Multiple profiles with same name!\nPlease use unique profile names!","Mehrere Profile mit demselben Namen!\nBitte verschiedene Namen benutzen!" },
1066{ "Aborted! Nothing synced!","Abgebrochen! Nichts wurde gesynct!" }, 1066{ "Aborted! Nothing synced!","Abgebrochen! Nichts wurde gesynct!" },
1067{ "Language","Sprache" }, 1067{ "Language","Sprache" },
1068{ "Time Format","Zeit Format" }, 1068{ "Time Format","Zeit Format" },
1069{ "Time Zone","Zeit Zone" }, 1069{ "Time Zone","Zeit Zone" },
1070{ "%1 groups subscribed","%1 Guppen abboniert" }, 1070{ "%1 groups subscribed","%1 Guppen abboniert" },
1071{ "Your current storage dir is:\n%1\nYour mail is stored in:\n(storagedir)/apps/kopiemail/localmail","Aktuelles Speicherverzeichnis ist:\n%1\nIhre Mail wird gespeichert in:\n(speicherverz.)/apps/kopiemail/localmail" }, 1071{ "Your current storage dir is:\n%1\nYour mail is stored in:\n(storagedir)/apps/kopiemail/localmail","Aktuelles Speicherverzeichnis ist:\n%1\nIhre Mail wird gespeichert in:\n(speicherverz.)/apps/kopiemail/localmail" },
1072{ "<b>New data storage dir:</b>","<b>Neues Datenspeicherverzeichnis:</b>" }, 1072{ "<b>New data storage dir:</b>","<b>Neues Datenspeicherverzeichnis:</b>" },
1073{ "New dirs are created automatically","Neue Verzeichnisse werden aut. erstellt" }, 1073{ "New dirs are created automatically","Neue Verzeichnisse werden aut. erstellt" },
1074{ "Save settings","Speichere Einstellungen" }, 1074{ "Save settings","Speichere Einstellungen" },
1075{ "Save standard","Speichere Standard" }, 1075{ "Save standard","Speichere Standard" },
1076{ "<b>New settings are used\nafter a restart</b>","<b>Neue Einstellungen werden nach\neinem Neustart genutzt</b>" }, 1076{ "<b>New settings are used\nafter a restart</b>","<b>Neue Einstellungen werden nach\neinem Neustart genutzt</b>" },
1077{ "Settings are stored in\n%1","Einstellungen werden gespeichert in:\n%1" }, 1077{ "Settings are stored in\n%1","Einstellungen werden gespeichert in:\n%1" },
1078{ "Data storage path","Daten Speicherpfad" }, 1078{ "Data storage path","Daten Speicherpfad" },
1079{ "Language","Sprache" }, 1079{ "Language","Sprache" },
1080{ "Show time in agenda items","Zeige Zeit in Agenda Items" }, 1080{ "Show time in agenda items","Zeige Zeit in Agenda Items" },
1081{ "Color for Sundays + category "Holiday"","Farbe für Sonntags + Kategorie "Feiertag"" }, 1081{ "Color for Sundays + category "Holiday"","Farbe für Sonntags + Kategorie "Feiertag"" },
1082{ "Show events that are done","Zeige abgelaufene Termine" }, 1082{ "Show events that are done","Zeige abgelaufene Termine" },
1083{ "Hide not running Todos in To-do view","Verstecke nicht laufende Todos" }, 1083{ "Hide not running Todos in To-do view","Verstecke nicht laufende Todos" },
1084{ "+01:00 Europe/Oslo(CET)","+01:00 Europe/Oslo(CET)" }, 1084{ "+01:00 Europe/Oslo(CET)","+01:00 Europe/Oslo(CET)" },
1085{ "KO/Pi","KO/Pi" }, 1085{ "KO/Pi","KO/Pi" },
1086{ "There is nothing to undo!","Es gibt nichts zum\nRückgängigmachen!" }, 1086{ "There is nothing to undo!","Es gibt nichts zum\nRückgängigmachen!" },
1087{ "Recreating edit dialog. Please wait...","Recreating edit dialog. Please wait..." }, 1087{ "Recreating edit dialog. Please wait...","Recreating edit dialog. Please wait..." },
1088{ "Sound.Al.: ","Sound.Al.: " }, 1088{ "Sound.Al.: ","Sound.Al.: " },
1089{ "From: %1 To: %2 %3","Von: %1 Bis: %2 %3" }, 1089{ "From: %1 To: %2 %3","Von: %1 Bis: %2 %3" },
1090{ "Restore","Wiederherstellen" }, 1090{ "Restore","Wiederherstellen" },
1091{ "\nAre you sure you want\nto restore this?","\nMöchten Sie das wirklich\nwiederherstellen?" }, 1091{ "\nAre you sure you want\nto restore this?","\nMöchten Sie das wirklich\nwiederherstellen?" },
1092{ "% completed","% erledigt" }, 1092{ "% completed","% erledigt" },
1093{ "%d item(s) found.","%d Item(s) gefunden." }, 1093{ "%d item(s) found.","%d Item(s) gefunden." },
1094{ "Set complete","Setze auf erledigt" }, 1094{ "Set complete","Setze auf erledigt" },
1095{ "(cancelled)","(gecancelt)" }, 1095{ "(cancelled)","(gecancelt)" },
1096{ "Click on the week number to\nshow week in agenda view","Klicke auf die Wochennummer\num die Woche in der Agenda anzuzeigen" }, 1096{ "Click on the week number to\nshow week in agenda view","Klicke auf die Wochennummer\num die Woche in der Agenda anzuzeigen" },
1097{ " Local time "," Lokale Zeit " }, 1097{ " Local time "," Lokale Zeit " },
1098{ "Form2","Form2" }, 1098{ "Form2","Form2" },
1099{ "Filter enabled","Filter angeschaltet" }, 1099{ "Filter enabled","Filter angeschaltet" },
1100{ "Edit Filters","Ändere Filter" }, 1100{ "Edit Filters","Ändere Filter" },
1101{ "Print What's Next View...","Drucke What's Next Ansicht..." }, 1101{ "Print What's Next View...","Drucke What's Next Ansicht..." },
1102{ "Agenda","Agenda" }, 1102{ "Agenda","Agenda" },
1103{ " ("," (" }, 1103{ " ("," (" },
1104{ "<p><b>Due on:</b> %1</p>","<p><b>Fällig am:</b> %1</p>" }, 1104{ "<p><b>Due on:</b> %1</p>","<p><b>Fällig am:</b> %1</p>" },
1105{ "Print","Print" }, 1105{ "Print","Print" },
1106{ "&Setup Printer...","Drucker &Setup..." }, 1106{ "&Setup Printer...","Drucker &Setup..." },
1107{ "View Type","Zeige Typ" }, 1107{ "View Type","Zeige Typ" },
1108{ "Page &orientation:","Seiten Ausrichtung:" }, 1108{ "Page &orientation:","Seiten Ausrichtung:" },
1109{ "Use Default of Selected Style","Default des selektierten Stils" }, 1109{ "Use Default of Selected Style","Default des selektierten Stils" },
1110{ "Use Default Setting of Printer","Default Einstellung des Druckers" }, 1110{ "Use Default Setting of Printer","Default Einstellung des Druckers" },
1111{ "Portrait","Portrait" }, 1111{ "Portrait","Portrait" },
1112{ "Landscape","Landschaft" }, 1112{ "Landscape","Landschaft" },
1113{ "Print day","Drucke Tag" }, 1113{ "Print day","Drucke Tag" },
1114{ "CalPrintDay_Base","CalPrintDay_Base" }, 1114{ "CalPrintDay_Base","CalPrintDay_Base" },
1115{ "Date && Time Range","Datum && Zeitspanne" }, 1115{ "Date && Time Range","Datum && Zeitspanne" },
1116{ "&End date:","&Enddatum:" }, 1116{ "&End date:","&Enddatum:" },
1117{ "&Start date:","&Startdatum:" }, 1117{ "&Start date:","&Startdatum:" },
1118{ "Start &time:","Startzeit:" }, 1118{ "Start &time:","Startzeit:" },
1119{ "End ti&me:","Endzeit:" }, 1119{ "End ti&me:","Endzeit:" },
1120{ "E&xtend time range to include all events","Erweitere Zeitspanne um alle Termine einzuschliessen" }, 1120{ "E&xtend time range to include all events","Erweitere Zeitspanne um alle Termine einzuschliessen" },
1121{ "Include to&dos that are due on the printed day(s)","Inclusive To&dos, die an den selektierten Tagen fällig sind" }, 1121{ "Include to&dos that are due on the printed day(s)","Inclusive To&dos, die an den selektierten Tagen fällig sind" },
1122{ "Alt+D","Alt+D" }, 1122{ "Alt+D","Alt+D" },
1123{ "&Use colors","Nutze Farben" }, 1123{ "&Use colors","Nutze Farben" },
1124{ "Alt+U","Alt+U" }, 1124{ "Alt+U","Alt+U" },
1125{ "Print week","Drucke Woche" }, 1125{ "Print week","Drucke Woche" },
1126{ "CalPrintWeek_Base","CalPrintWeek_Base" }, 1126{ "CalPrintWeek_Base","CalPrintWeek_Base" },
1127{ "Use &colors","Nutze Farben" }, 1127{ "Use &colors","Nutze Farben" },
1128{ "Type of View","Typ der Ansicht" }, 1128{ "Type of View","Typ der Ansicht" },
1129{ "Print as &Filofax page","Drucke als &Filofax Seite" }, 1129{ "Print as &Filofax page","Drucke als &Filofax Seite" },
1130{ "Alt+F","Alt+F" }, 1130{ "Alt+F","Alt+F" },
1131{ "Print as &timetable view:","Drucke als Zeittabelle:" }, 1131{ "Print as &timetable view:","Drucke als Zeittabelle:" },
1132{ "Alt+T","Alt+T" }, 1132{ "Alt+T","Alt+T" },
1133{ "Print as split week view","Drucke als gesplittete Wochenansicht" }, 1133{ "Print as split week view","Drucke als gesplittete Wochenansicht" },
1134{ "Print month","Drucke Monat" }, 1134{ "Print month","Drucke Monat" },
1135{ "CalPrintMonth_Base","CalPrintMonth_Base" }, 1135{ "CalPrintMonth_Base","CalPrintMonth_Base" },
1136{ "&Start month:","&Startmonat:" }, 1136{ "&Start month:","&Startmonat:" },
1137{ "&End month:","&Endmonat:" }, 1137{ "&End month:","&Endmonat:" },
1138{ "Print week &numbers","Drucke Wochen Nummer(n)" }, 1138{ "Print week &numbers","Drucke Wochen Nummer(n)" },
1139{ "Print todos","Drucke Todos" }, 1139{ "Print todos","Drucke Todos" },
1140{ "CalPrintTodoConfig_Base","CalPrintTodoConfig_Base" }, 1140{ "CalPrintTodoConfig_Base","CalPrintTodoConfig_Base" },
1141{ "Include &description of the item","Inclusive Itembeschreibung" }, 1141{ "Include &description of the item","Inclusive Itembeschreibung" },
1142{ "Include d&ue date of the item","Inclusive Fälligkeitsdatum des Items" }, 1142{ "Include d&ue date of the item","Inclusive Fälligkeitsdatum des Items" },
1143{ "Include &priority of the item","Inclusive Priorität des Items" }, 1143{ "Include &priority of the item","Inclusive Priorität des Items" },
1144{ "Items to Print","Zu druckende Items" }, 1144{ "Items to Print","Zu druckende Items" },
1145{ "&From:","Von:" }, 1145{ "&From:","Von:" },
1146{ "&To:","Bis:" }, 1146{ "&To:","Bis:" },
1147{ "Print &all todo items","Drucke alle Todo Items" }, 1147{ "Print &all todo items","Drucke alle Todo Items" },
1148{ "Print only &uncompleted items","Drucke nur nicht erledigte Todos" }, 1148{ "Print only &uncompleted items","Drucke nur nicht erledigte Todos" },
1149{ "Only items due in the &range:","Nur Items in dem Zeitraum:" }, 1149{ "Only items due in the &range:","Nur Items in dem Zeitraum:" },
1150{ "Todo List","Todo Liste" }, 1150{ "Todo List","Todo Liste" },
1151{ "&Title:","&Titel:" }, 1151{ "&Title:","&Titel:" },
1152{ "Co&nnect subtodos with its parent","Verbinde Untertodos mit ihren Ober-Todos" }, 1152{ "Co&nnect subtodos with its parent","Verbinde Untertodos mit ihren Ober-Todos" },
1153{ "Todo list","Todo Liste" }, 1153{ "Todo list","Todo Liste" },
1154{ "&Print...","Drucke..." }, 1154{ "&Print...","Drucke..." },
1155{ "<qt>Printing on printer <b>%1</b></qt>","<qt>Drucke auf Drucker <b>%1</b></qt>" }, 1155{ "<qt>Printing on printer <b>%1</b></qt>","<qt>Drucke auf Drucker <b>%1</b></qt>" },
1156{ "[Unconfigured]","[Unkonfiguriert]" }, 1156{ "[Unconfigured]","[Unkonfiguriert]" },
1157{ "OK","OK" }, 1157{ "OK","OK" },
1158{ "FilterEditor","FilterEditor" }, 1158{ "FilterEditor","FilterEditor" },
1159{ "Include","Inclusive" }, 1159{ "Include","Inclusive" },
1160{ "Exclude","Exclusive" }, 1160{ "Exclude","Exclusive" },
1161{ "Edit Selection...","Editiere Auswahl" }, 1161{ "Edit Selection...","Editiere Auswahl" },
1162{ "recurring events","wiederholende Termine" }, 1162{ "recurring events","wiederholende Termine" },
1163{ "recurr. events","wiederh.Termine" }, 1163{ "recurr. events","wiederh.Termine" },
1164{ "completed to-dos","erledigte Todos" }, 1164{ "completed to-dos","erledigte Todos" },
1165{ "events","Termine" }, 1165{ "events","Termine" },
1166{ "todos","Todos" }, 1166{ "todos","Todos" },
1167{ "journals","Journale" }, 1167{ "journals","Journale" },
1168{ "public","öffentl." }, 1168{ "public","öffentl." },
1169{ "private","privat" }, 1169{ "private","privat" },
1170{ "confidential","vertraul." }, 1170{ "confidential","vertraul." },
1171{ "\nhas sub-todos.\nAll completed sub-todos\nwill be deleted as well!","\nhat Untertodos.\nAlle erledigten Untertodos\nwerden auch gelöscht!" }, 1171{ "\nhas sub-todos.\nAll completed sub-todos\nwill be deleted as well!","\nhat Untertodos.\nAlle erledigten Untertodos\nwerden auch gelöscht!" },
1172{ "Yesterday","Gestern" }, 1172{ "Yesterday","Gestern" },
1173{ "Day after tomorrow","Übermorgen" }, 1173{ "Day after tomorrow","Übermorgen" },
1174{ "Tomorrow","Morgen" }, 1174{ "Tomorrow","Morgen" },
1175{ "Day before yesterday","Vorgestern" }, 1175{ "Day before yesterday","Vorgestern" },
1176{ "Size %1","Größe %1" }, 1176{ "Size %1","Größe %1" },
1177{ "New Agendasize: %1","Neue Agendagröße: %1" }, 1177{ "New Agendasize: %1","Neue Agendagröße: %1" },
1178{ " (%1 y.)"," (%1 J.)" }, 1178{ " (%1 y.)"," (%1 J.)" },
1179{ "Allday:","Ganztägig:" }, 1179{ "Allday:","Ganztägig:" },
1180{ "compl.todos","erled.Todos" }, 1180{ "compl.todos","erled.Todos" },
1181{ "Day view","Tagesansicht" }, 1181{ "Day view","Tagesansicht" },
1182{ "Next days","Nächste Tage" }, 1182{ "Next days","Nächste Tage" },
1183{ "Next week","Nächste Woche" }, 1183{ "Next week","Nächste Woche" },
1184{ "Next two weeks","Nächste zwei Wochen" }, 1184{ "Next two weeks","Nächste zwei Wochen" },
1185{ "This month","Dieser Monat" }, 1185{ "This month","Dieser Monat" },
1186{ "Journal view","Journal" }, 1186{ "Journal view","Journal" },
1187{ "Display all opened","Zeige alle geöffnet" }, 1187{ "Display all opened","Zeige alle geöffnet" },
1188{ "Display all closed","Zeige alle geschlossen" }, 1188{ "Display all closed","Zeige alle geschlossen" },
1189{ "Display all flat","Zeige alle flach" }, 1189{ "Display all flat","Zeige alle flach" },
1190{ "<p><i>Completed on %1</i></p>","<p><i>Erledigt am %1</i></p>" }, 1190{ "<p><i>Completed on %1</i></p>","<p><i>Erledigt am %1</i></p>" },
1191{ "Default todo done color:","Standard Todo erledigt Farbe" }, 1191{ "Default todo done color:","Standard Todo erledigt Farbe" },
1192{ "Select week %1-%2","Wähle Woche %1-%2" }, 1192{ "Select week %1-%2","Wähle Woche %1-%2" },
1193{ "Select Week","Wähle Woche" }, 1193{ "Select Week","Wähle Woche" },
1194{ "Set alarm...","Setze Alarm..." }, 1194{ "Set alarm...","Setze Alarm..." },
1195{ "Set Alarm!","Setze Alarm!" }, 1195{ "Set Alarm!","Setze Alarm!" },
1196{ "Changed alarm for %1 items","Alarm für %1 Items geändert" }, 1196{ "Changed alarm for %1 items","Alarm für %1 Items geändert" },
1197{ " and "," und " }, 1197{ " and "," und " },
1198{ "<IMG src="%1"> only )","nur <IMG src="%1"> )" }, 1198{ "<IMG src="%1"> only )","nur <IMG src="%1"> )" },
1199{ "Mail to selected","Mail an Ausgewählte" }, 1199{ "Mail to selected","Mail an Ausgewählte" },
1200{ "Mail to all","Mail an Alle" }, 1200{ "Mail to all","Mail an Alle" },
1201{ "Week view mode uses bigger font","Wochenansicht Modus nutzt größeren Font" }, 1201{ "Week view mode uses bigger font","Wochenansicht Modus nutzt größeren Font" },
1202{ "Set reminder ON with offset to:","Alarm AN mit Offset auf:" }, 1202{ "Set reminder ON with offset to:","Alarm AN mit Offset auf:" },
1203{ " on"," am" }, 1203{ " on"," am" },
1204{ " completed on "," erledigt am " }, 1204{ " completed on "," erledigt am " },
1205{ "Save as Event template","Speichere als Vorlage" }, 1205{ "Save as Event template","Speichere als Vorlage" },
1206{ "Load Event template","Lade Termin Vorlage" }, 1206{ "Load Event template","Lade Termin Vorlage" },
1207{ "Save as Journal template","Speichere als Journal Vorlage" }, 1207{ "Save as Journal template","Speichere als Journal Vorlage" },
1208{ "Insert Journal template","Füge Journal Vorlage ein" }, 1208{ "Insert Journal template","Füge Journal Vorlage ein" },
1209{ "Sub todos:<br>","Unter-Todos:<br>" }, 1209{ "Sub todos:<br>","Unter-Todos:<br>" },
1210{ "Parent todo:<br>","Über-Todo:<br>" }, 1210{ "Parent todo:<br>","Über-Todo:<br>" },
1211{ "Set current as color category","Setze Gewählte als Farbkategorie" }, 1211{ "Set current as color category","Setze Gewählte als Farbkategorie" },
1212{ " completed"," erledigt" }, 1212{ " completed"," erledigt" },
1213{ "(c)2004 Lutz Rogowski (rogowski@kde.org)\nKO/Pi is based on KOrganizer\n(c)2002,2003 Cornelius Schumacher\n(schumacher@kde.org) and the KDE team.\nKOrganizer/Pi is licensed under the GPL.\nKO/Pi can be compiled for\nLinux, Zaurus-PDA and Windows\nwww.pi-sync.info --- www.korganizer.org\nSpecial thanks to Michael and Ben\nfor intensive testing!","(c)2004 Lutz Rogowski (rogowski@kde.org)\nKO/Pi basiert auf KOrganizer\n(c)2002,2003 Cornelius Schumacher\n(schumacher@kde.org) und das KDE Team.\nKOrganizer/Pi ist lizensiert unter der GPL.\nKO/Pi kann kompiliert werden für\nLinux, Zaurus-PDA und Windows\nwww.pi-sync.info --- www.korganizer.org\nBesonderen Dank an Michael und Ben\nfür intensives Testen!" }, 1213{ "(c)2004 Lutz Rogowski (rogowski@kde.org)\nKO/Pi is based on KOrganizer\n(c)2002,2003 Cornelius Schumacher\n(schumacher@kde.org) and the KDE team.\nKOrganizer/Pi is licensed under the GPL.\nKO/Pi can be compiled for\nLinux, Zaurus-PDA and Windows\nwww.pi-sync.info --- www.korganizer.org\nSpecial thanks to Michael and Ben\nfor intensive testing!","(c)2004 Lutz Rogowski (rogowski@kde.org)\nKO/Pi basiert auf KOrganizer\n(c)2002,2003 Cornelius Schumacher\n(schumacher@kde.org) und das KDE Team.\nKOrganizer/Pi ist lizensiert unter der GPL.\nKO/Pi kann kompiliert werden für\nLinux, Zaurus-PDA und Windows\nwww.pi-sync.info --- www.korganizer.org\nBesonderen Dank an Michael und Ben\nfür intensives Testen!" },
1214{ "Syncing aborted. Nothing synced.","Syncing abgebrochen.Nichts wurde gesynct." }, 1214{ "Syncing aborted. Nothing synced.","Syncing abgebrochen.Nichts wurde gesynct." },
1215{ "Connected! Sending request for remote file ...","Verbunden! Sende Daten Anfrage..." }, 1215{ "Connected! Sending request for remote file ...","Verbunden! Sende Daten Anfrage..." },
1216{ "Trying to connect to remote...","Versuche mit Gegenstelle zu verbinden..." }, 1216{ "Trying to connect to remote...","Versuche mit Gegenstelle zu verbinden..." },
1217{ "Connection to remote\nhost timed out!\nDid you forgot to enable\nsyncing on remote host?","Verbindungsversuch wegen\nZeitüberschreitung gescheitert!\nWurde vergessen Pi-Sync auf\nder Gegenstelle anzuschalten?" }, 1217{ "Connection to remote\nhost timed out!\nDid you forgot to enable\nsyncing on remote host?","Verbindungsversuch wegen\nZeitüberschreitung gescheitert!\nWurde vergessen Pi-Sync auf\nder Gegenstelle anzuschalten?" },
1218{ "ERROR: Receiving remote file failed.","FEHLER: Empfang der entfernten Daten fehlgeschlagen." }, 1218{ "ERROR: Receiving remote file failed.","FEHLER: Empfang der entfernten Daten fehlgeschlagen." },
1219{ "Error","Fehler" }, 1219{ "Error","Fehler" },
1220{ ""You entered an invalid date!\n Date changed to current date.","Ungültiges Datum eingegeben.\nSetze heutiges Datum." }, 1220{ ""You entered an invalid date!\n Date changed to current date.","Ungültiges Datum eingegeben.\nSetze heutiges Datum." },
1221{ "You entered an invalid date!\n Will use current date instead.","Ungültiges Datum eingegeben.\nSetze stattdessen heutiges Datum." }, 1221{ "You entered an invalid date!\n Will use current date instead.","Ungültiges Datum eingegeben.\nSetze stattdessen heutiges Datum." },
1222{ "Warning","Warnung" }, 1222{ "Warning","Warnung" },
1223{ "Select week number","Wähle Wochen Nummer" }, 1223{ "Select week number","Wähle Wochen Nummer" },
1224{ "Februar","Februar" }, 1224{ "Februar","Februar" },
1225{ "Click on the week number to\nshow week zoomed","Klicke auf die Wochennummer\num die Woche groß zu zeigen" }, 1225{ "Click on the week number to\nshow week zoomed","Klicke auf die Wochennummer\num die Woche groß zu zeigen" },
1226{ "W","W" }, 1226{ "W","W" },
1227{ "Click on this to\nselect week number","Klicke hierauf um\ndie Woche auszuwählen" }, 1227{ "Click on this to\nselect week number","Klicke hierauf um\ndie Woche auszuwählen" },
1228{ "T: %1","T: %1" }, 1228{ "T: %1","T: %1" },
1229{ "Start: ","Start: " }, 1229{ "Start: ","Start: " },
1230{ "Pi-Sync options for device: ","Pi-Sync Einstellungen für Gerät: " }, 1230{ "Pi-Sync options for device: ","Pi-Sync Einstellungen für Gerät: " },
1231{ "Password for remote access:","Passwort für fernen Zugriff:" }, 1231{ "Password for remote access:","Passwort für fernen Zugriff:" },
1232{ "Remote IP address:","Ferne IP Adresse:" }, 1232{ "Remote IP address:","Ferne IP Adresse:" },
1233{ "Remote port number:","Ferne Port Nummer:" }, 1233{ "Remote port number:","Ferne Port Nummer:" },
1234{ "Remote file saved to temp file.","Ferne Daten in temp Datei gespeichert." }, 1234{ "Remote file saved to temp file.","Ferne Daten in temp Datei gespeichert." },
1235{ "Remote from: ","Fern von: " }, 1235{ "Remote from: ","Fern von: " },
1236{ "Local from: ","Lokal von: " }, 1236{ "Local from: ","Lokal von: " },
1237{ "Synchronization summary:\n\n %d items added to local\n %d items added to remote\n %d items updated on local\n %d items updated on remote\n %d items deleted on local\n %d items deleted on remote\n %d incoming filtered out\n %d outgoing filtered out\n","Synchronisationsübersicht:\n\n %d lokal hinzugefügt\n %d fern hinzugefügt\n %d lokal geändert\n %d fern geändert\n %d lokal gelöscht\n %d fern gelöscht\n %d eingehende ausgefiltert\n %d ausgehende ausgefiltert\n" }, 1237{ "Synchronization summary:\n\n %d items added to local\n %d items added to remote\n %d items updated on local\n %d items updated on remote\n %d items deleted on local\n %d items deleted on remote\n %d incoming filtered out\n %d outgoing filtered out\n","Synchronisationsübersicht:\n\n %d lokal hinzugefügt\n %d fern hinzugefügt\n %d lokal geändert\n %d fern geändert\n %d lokal gelöscht\n %d fern gelöscht\n %d eingehende ausgefiltert\n %d ausgehende ausgefiltert\n" },
1238{ "Local calendar changed!\n","Lokaler Kalender geändert!\n" }, 1238{ "Local calendar changed!\n","Lokaler Kalender geändert!\n" },
1239{ "Write back","Schreibe zurück" }, 1239{ "Write back","Schreibe zurück" },
1240{ "KO/Pi Synchronization","KO/Pi Synchronisation" }, 1240{ "KO/Pi Synchronization","KO/Pi Synchronisation" },
1241{ "Pi-Sync succesful!","Pi-Sync erfolgreich!" }, 1241{ "Pi-Sync succesful!","Pi-Sync erfolgreich!" },
1242{ "Received sync request","Sync Anfrage erhalten" }, 1242{ "Received sync request","Sync Anfrage erhalten" },
1243{ "Synchronizing from remote ...\n\nDo not use this application!\n\nIf syncing fails\nyou can close this dialog.","Ferne Synchronisation ...\n\nBenutze diese Anwendung nicht!\n\nWenn das Syncen fehlschlägt kann\ndieser Dialog geschlossen werden." }, 1243{ "Synchronizing from remote ...\n\nDo not use this application!\n\nIf syncing fails\nyou can close this dialog.","Ferne Synchronisation ...\n\nBenutze diese Anwendung nicht!\n\nWenn das Syncen fehlschlägt kann\ndieser Dialog geschlossen werden." },
1244{ "Saving Data to temp file ...","Speichere Daten in temp Datei..." }, 1244{ "Saving Data to temp file ...","Speichere Daten in temp Datei..." },
1245{ "Data saved to temp file!","Daten in temp Datei gespeichert!" }, 1245{ "Data saved to temp file!","Daten in temp Datei gespeichert!" },
1246{ "Sending file...","Sende Datei..." }, 1246{ "Sending file...","Sende Datei..." },
1247{ "Waiting for synced file...","Warte auf gesyncte Daten..." }, 1247{ "Waiting for synced file...","Warte auf gesyncte Daten..." },
1248{ "Receiving synced file...","Gesyncte Daten erhalten..." }, 1248{ "Receiving synced file...","Gesyncte Daten erhalten..." },
1249{ "Received %1 bytes","%1 Bytes erhalten" }, 1249{ "Received %1 bytes","%1 Bytes erhalten" },
1250{ "Writing file to disk...","Speichere Datei..." }, 1250{ "Writing file to disk...","Speichere Datei..." },
1251{ "Pi-Sync successful!","Pi-Sync erfolgreich!" }, 1251{ "Pi-Sync successful!","Pi-Sync erfolgreich!" },
1252{ "Clock skew of\nsyncing devices\nis %1 seconds!","Uhrzeitunterschied der\nsyncenden Geräte\nist %1 Sekunden!" }, 1252{ "Clock skew of\nsyncing devices\nis %1 seconds!","Uhrzeitunterschied der\nsyncenden Geräte\nist %1 Sekunden!" },
1253{ "Synchronize!","Synchronisiere!" }, 1253{ "Synchronize!","Synchronisiere!" },
1254{ "High clock skew!","Großer Uhrzeitunterschied!" }, 1254{ "High clock skew!","Großer Uhrzeitunterschied!" },
1255{ "ADJUST\nYOUR\nCLOCKS!","JUSTIERE\nDIE\nUHREN!" }, 1255{ "ADJUST\nYOUR\nCLOCKS!","JUSTIERE\nDIE\nUHREN!" },
1256{ "The clocks of the syncing\ndevices have a difference\nof more than 5 minutes.\nPlease adjust your clocks.\nYou may get wrong syncing results!\nPlease confirm synchronization!","Die Uhren der syncenden Geräte\nhaben einen Unterschied von\nmehr als 5 Minuten. Bitte die\nUhrzeiten anpassen. Sie können\nfalsche Sync-Resultate erhalten!\nBitte das Syncen bestätigen!" }, 1256{ "The clocks of the syncing\ndevices have a difference\nof more than 5 minutes.\nPlease adjust your clocks.\nYou may get wrong syncing results!\nPlease confirm synchronization!","Die Uhren der syncenden Geräte\nhaben einen Unterschied von\nmehr als 5 Minuten. Bitte die\nUhrzeiten anpassen. Sie können\nfalsche Sync-Resultate erhalten!\nBitte das Syncen bestätigen!" },
1257{ "This is a %1 recurring todo.","Das ist eine %1 wiederholende Aufgabe." }, 1257{ "This is a %1 recurring todo.","Das ist eine %1 wiederholende Aufgabe." },
1258{ "<p><b>Start on:</b> %1</p>","<p><b>Start am:</b> %1</p>" }, 1258{ "<p><b>Start on:</b> %1</p>","<p><b>Start am:</b> %1</p>" },
1259{ "List week view","Listenwochenansicht" }, 1259{ "List week view","Listenwochenansicht" },
1260{ "List week","Listenwochenansicht" }, 1260{ "List week","Listenwochenansicht" },
1261{ "Next Week","Nächste Woche" }, 1261{ "Next Week","Nächste Woche" },
1262{ "Previous Week","Vorherige Woche" }, 1262{ "Previous Week","Vorherige Woche" },
1263{ "No items were found matching\nyour search expression.\nUse the wildcard characters\n'*' and '?' where needed.","Keine Einträge gefunden die\ndem Suchausdruck entsprechen.\nBenutze Platzhalter Zeichen\n'*' und '?' wo benötigt." }, 1263{ "No items were found matching\nyour search expression.\nUse the wildcard characters\n'*' and '?' where needed.","Keine Einträge gefunden die\ndem Suchausdruck entsprechen.\nBenutze Platzhalter Zeichen\n'*' und '?' wo benötigt." },
1264{ "Show in todo/event viewer:","Zeige in Termin/Todo Anzeige:" }, 1264{ "Show in todo/event viewer:","Zeige in Termin/Todo Anzeige:" },
1265{ "Details","Details" }, 1265{ "Details","Details" },
1266{ "Created time","Erstellt Zeit" }, 1266{ "Created time","Erstellt Zeit" },
1267{ "Last modified time","Geändert Zeit" }, 1267{ "Last modified time","Geändert Zeit" },
1268{ "Show in What'sThis quick overview:","Zeige in What'sThis Schnellübersicht:" }, 1268{ "Show in What'sThis quick overview:","Zeige in What'sThis Schnellübersicht:" },
1269{ "View Options","Anzeige Optionen" }, 1269{ "View Options","Anzeige Optionen" },
1270{ "<b>Created: ","<b>Erstellt am: " }, 1270{ "<b>Created: ","<b>Erstellt am: " },
1271{ "<b>Last modified: ","<b>Zuletzt geändert am: " }, 1271{ "<b>Last modified: ","<b>Zuletzt geändert am: " },
1272{ "Journal: ","Journal: " }, 1272{ "Journal: ","Journal: " },
1273{ "yearly","jährlich" }, 1273{ "yearly","jährlich" },
1274{ "(%1) ","%1-" }, 1274{ "(%1) ","%1-" },
1275{ "<p><b>K</b>: Week view in Month view syle</p>\n","<p><b>K</b>: Wochenansicht in Art der Monatsansicht</p>\n" }, 1275{ "<p><b>K</b>: Week view in Month view syle</p>\n","<p><b>K</b>: Wochenansicht in Art der Monatsansicht</p>\n" },
1276{ "Enable tooltips displaying summary of ev.","Titel-Tooltips anzeigen" }, 1276{ "Enable tooltips displaying summary of ev.","Titel-Tooltips anzeigen" },
1277{ "Enable scrollbars in month view cells","Scrollbar in Zellen anzeigen" }, 1277{ "Enable scrollbars in month view cells","Scrollbar in Zellen anzeigen" },
1278{ "Summary/Loc.","Titel/Ort" }, 1278{ "Summary/Loc.","Titel/Ort" },
1279{ "No items found. Use '*' and '?' where needed.","Nichts gefunden. Benutze '*' and '?' wo benötigt." }, 1279{ "No items found. Use '*' and '?' where needed.","Nichts gefunden. Benutze '*' and '?' wo benötigt." },
1280{ "Week Number","Wochennummer" }, 1280{ "Week Number","Wochennummer" },
1281{ "Import","Importiere" }, 1281{ "Import","Importiere" },
1282{ "Export","Exportiere" }, 1282{ "Export","Exportiere" },
1283{ "Beam","Beame" }, 1283{ "Beam","Beame" },
1284{ "Export","Exportiere" }, 1284{ "Export","Exportiere" },
1285{ "As iCal (ics) file...","Als iCal (ics) Datei..." }, 1285{ "As iCal (ics) file...","Als iCal (ics) Datei..." },
1286{ "As vCal (vcs) file...","Als vCal (vcs) Datei..." }, 1286{ "As vCal (vcs) file...","Als vCal (vcs) Datei..." },
1287{ "Journal/Details...","Journale/Details..." }, 1287{ "Journal/Details...","Journale/Details..." },
1288{ "Agenda View","Agenda Ansicht" }, 1288{ "Agenda View","Agenda Ansicht" },
1289{ "Show current time","Zeige aktuelle Zeit" }, 1289{ "Show current time","Zeige aktuelle Zeit" },
1290{ "Edit new item","Bearbeite neuen Eintrag" }, 1290{ "Edit new item","Bearbeite neuen Eintrag" },
1291{ "Please select at least one\nof the types to search for:\n\nEvents\nTodos\nJournals","Bitte wählen Sie mindestens\neinen dieser Typen\num darin zu suchen:\n\nTermine\nTodos\nJournale" }, 1291{ "Please select at least one\nof the types to search for:\n\nEvents\nTodos\nJournals","Bitte wählen Sie mindestens\neinen dieser Typen\num darin zu suchen:\n\nTermine\nTodos\nJournale" },
1292{ "There is no next alarm.","Es gibt keinen nächsten Alarm." }, 1292{ "There is no next alarm.","Es gibt keinen nächsten Alarm." },
1293{ "%1 %2 - %3 (next event/todo with alarm)","%1 %2 - %3 (nächster Termin/Todo mit Alarm)" }, 1293{ "%1 %2 - %3 (next event/todo with alarm)","%1 %2 - %3 (nächster Termin/Todo mit Alarm)" },
1294{ "The next alarm is in:\n","Der nächste Alarm ist in:\n" }, 1294{ "The next alarm is in:\n","Der nächste Alarm ist in:\n" },
1295{ "%1 days\n","%1 Tagen\n" }, 1295{ "%1 days\n","%1 Tagen\n" },
1296{ "1 day\n","1 Tag\n" }, 1296{ "1 day\n","1 Tag\n" },
1297{ "%1 hours\n","%1 Stunden\n" }, 1297{ "%1 hours\n","%1 Stunden\n" },
1298{ "1 hour\n","1 Stunde\n" }, 1298{ "1 hour\n","1 Stunde\n" },
1299{ "%1 minutes\n","%1 Minuten\n" }, 1299{ "%1 minutes\n","%1 Minuten\n" },
1300{ "1 minute\n","1 Minute\n" }, 1300{ "1 minute\n","1 Minute\n" },
1301{ "Only one toolbar","Nur eine Toolbar" }, 1301{ "Only one toolbar","Nur eine Toolbar" },
1302{ "Print","Drucke" }, 1302{ "Print","Drucke" },
1303{ "Print selected event / todo...","Drucke ausgewählten Termin / Todo..." }, 1303{ "Print selected event / todo...","Drucke ausgewählten Termin / Todo..." },
1304{ "There is nothing selected!","Es ist nichts ausgewählt!" }, 1304{ "There is nothing selected!","Es ist nichts ausgewählt!" },
1305{ "\n\nDo you really want to print this item?","\n\nMöchten Sie wirklich diesen Eintrag ausdrucken? " }, 1305{ "\n\nDo you really want to print this item?","\n\nMöchten Sie wirklich diesen Eintrag ausdrucken? " },
1306{ "KO/Pi Print Confirmation","KO/Pi Druckbestätigung" }, 1306{ "KO/Pi Print Confirmation","KO/Pi Druckbestätigung" },
1307{ "This prints the view as you see it.\n(With the complete content, of course.)\nYou may change the print layout by resizing the view.\nPrint unscaled may print several pages\ndepending on the amount of data.\nPrint scaled down will print all on one page.\nPrint scaled up/down will print all on one page,\nbut will scale up the text to page boundaries,\nif the text is smaller than the page.\nYou can select page geometry setup in the next dialog.\n","Dies druckt die Ansicht wie man sie sieht.\n(Mit dem kompletten Inhalt natürlich.)\nMan kann das Layout ändern durch ändern der Fenstergröße.\nDrucke unskaliert druckt ggf. mehrere Seiten\nabhängig von der Menge der Daten.\nDrucke runterskaliert um auf eine Seite zu passen\ndruckt alles auf eine Seite.\nDrucke hoch/runterskaliert um genau auf eine Seite zu passen\nvergrößert den Text gegebenenfalls.\nDas Seitenlayout kann im nächsten Dialog gewählt werden.\n" }, 1307{ "This prints the view as you see it.\n(With the complete content, of course.)\nYou may change the print layout by resizing the view.\nPrint unscaled may print several pages\ndepending on the amount of data.\nPrint scaled down will print all on one page.\nPrint scaled up/down will print all on one page,\nbut will scale up the text to page boundaries,\nif the text is smaller than the page.\nYou can select page geometry setup in the next dialog.\n","Dies druckt die Ansicht wie man sie sieht.\n(Mit dem kompletten Inhalt natürlich.)\nMan kann das Layout ändern durch ändern der Fenstergröße.\nDrucke unskaliert druckt ggf. mehrere Seiten\nabhängig von der Menge der Daten.\nDrucke runterskaliert um auf eine Seite zu passen\ndruckt alles auf eine Seite.\nDrucke hoch/runterskaliert um genau auf eine Seite zu passen\nvergrößert den Text gegebenenfalls.\nDas Seitenlayout kann im nächsten Dialog gewählt werden.\n" },
1308{ "KO/Pi Printout","KO/Pi Ausdruck" }, 1308{ "KO/Pi Printout","KO/Pi Ausdruck" },
1309{ "Print unscaled","Drucke unskaliert" }, 1309{ "Print unscaled","Drucke unskaliert" },
1310{ "Print scaled down to fit one page","Drucke runterskaliert um auf eine Seite zu passen." }, 1310{ "Print scaled down to fit one page","Drucke runterskaliert um auf eine Seite zu passen." },
1311{ "Print scaled up/down to fit one page","Drucke hoch/runterskaliert um genau auf eine Seite zu passen." }, 1311{ "Print scaled up/down to fit one page","Drucke hoch/runterskaliert um genau auf eine Seite zu passen." },
1312{ "Printout Mode","Druck Modus" }, 1312{ "Printout Mode","Druck Modus" },
1313{ "Filter menu icon","Filtermenu Icon" }, 1313{ "Filter menu icon","Filtermenu Icon" },
1314{ "<p><b>A+(shift or ctrl)</b>: Show occurence of next alarm</p>\n","<p><b>A+(shift oder ctrl)</b>: Zeige Zeit bis zum nächsten Alarm</p>\n" }, 1314{ "<p><b>A+(shift or ctrl)</b>: Show occurence of next alarm</p>\n","<p><b>A+(shift oder ctrl)</b>: Zeige Zeit bis zum nächsten Alarm</p>\n" },
1315{ "<p><b>N</b>: Switch to next view which has a toolbar icon</p>\n","<p><b>N</b>: Wechsle zur nächsten Ansicht, die ein Icon in der Toolbar hat</p>\n" }, 1315{ "<p><b>N</b>: Switch to next view which has a toolbar icon</p>\n","<p><b>N</b>: Wechsle zur nächsten Ansicht, die ein Icon in der Toolbar hat</p>\n" },
1316{ "%1d","%1t" }, 1316{ "%1d","%1t" },
1317{ "%1h","%1std" }, 1317{ "%1h","%1std" },
1318{ "%1min","%1min" }, 1318{ "%1min","%1min" },
1319{ "( %1 before )","( %1 vorher )" }, 1319{ "( %1 before )","( %1 vorher )" },
1320{ "The next alarm is in\nless than one minute!","Der nächste Alarm kommt in\nweniger als einer Minute!" }, 1320{ "The next alarm is in\nless than one minute!","Der nächste Alarm kommt in\nweniger als einer Minute!" },
1321{ "\nThe internal alarm notification is disabled!\n","\nDie interne Alarmbenachrichtigung ist ausgeschaltet!\n" }, 1321{ "\nThe internal alarm notification is disabled!\n","\nDie interne Alarmbenachrichtigung ist ausgeschaltet!\n" },
1322{ "Enable it in the settings menu, TAB alarm.","Schalten Sie sie an im Menu Einstellungen, TAB Alarm." }, 1322{ "Enable it in the settings menu, TAB alarm.","Schalten Sie sie an im Menu Einstellungen, TAB Alarm." },
1323{ "Show Sync Events","Zeige Sync-Ereignisse" }, 1323{ "Show Sync Events","Zeige Sync-Ereignisse" },
1324{ "Use short date in WN+Event view","Zeige Kurzdatum in WN+Terminanzeige" }, 1324{ "Use short date in WN+Event view","Zeige Kurzdatum in WN+Terminanzeige" },
1325{ "Number of max.displayed todo prios:","Anzahl max.angezeigter Todo-Prios:" }, 1325{ "Number of max.displayed todo prios:","Anzahl max.angezeigter Todo-Prios:" },
1326{ " on "," am " }, 1326{ " on "," am " },
1327{ "On: ","Am: " }, 1327{ "On: ","Am: " },
1328{ "<i>The recurrence is computed from the start datetime!</i>","<i>Die Wiederholung wird vom Startwert aus berechnet!</i>" }, 1328{ "<i>The recurrence is computed from the start datetime!</i>","<i>Die Wiederholung wird vom Startwert aus berechnet!</i>" },
1329{ "Start/Stop todo...","Starte/Stoppe Todo..." }, 1329{ "Start/Stop todo...","Starte/Stoppe Todo..." },
1330{ "Color for running todos:","Farbe für laufende Todos:" }, 1330{ "Color for running todos:","Farbe für laufende Todos:" },
1331{ "The todo\n%1\nis started.\nDo you want to set\nthe state to stopped?","Das Todo\n%1\nist gestartet.\nWollen Sie es\nauf gestoppt setzen?" }, 1331{ "The todo\n%1\nis started.\nDo you want to set\nthe state to stopped?","Das Todo\n%1\nist gestartet.\nWollen Sie es\nauf gestoppt setzen?" },
1332{ "Todo is started","Todo ist gestartet" }, 1332{ "Todo is started","Todo ist gestartet" },
1333{ "Stop todo","Stoppe Todo" }, 1333{ "Stop todo","Stoppe Todo" },
1334{ "Todo is stopped","Todo ist gestoppt" }, 1334{ "Todo is stopped","Todo ist gestoppt" },
1335{ "Start todo","Starte Todo" }, 1335{ "Start todo","Starte Todo" },
1336{ "The todo\n%1\nis stopped.\nDo you want to set\nthe state to started?","Das Todo\n%1\nist gestoppt.\nWollen Sie es auf\ngestartet setzen?" }, 1336{ "The todo\n%1\nis stopped.\nDo you want to set\nthe state to started?","Das Todo\n%1\nist gestoppt.\nWollen Sie es auf\ngestartet setzen?" },
1337{ "The todo\n%1\nwill be cloned!\nIt has subtodos!\nDo you want to clone\nall subtodos as well?","Das Todo\n%1\nwird geklont!\nEs hat Untertodos!\nMöchten Sie alle\nUntertodos auch klonen?" }, 1337{ "The todo\n%1\nwill be cloned!\nIt has subtodos!\nDo you want to clone\nall subtodos as well?","Das Todo\n%1\nwird geklont!\nEs hat Untertodos!\nMöchten Sie alle\nUntertodos auch klonen?" },
1338{ "Todo has subtodos","Todo hat Untertodos" }, 1338{ "Todo has subtodos","Todo hat Untertodos" },
1339{ "Block popup until mouse button release","Sperre Popup bis Mausknopf losgelassen" }, 1339{ "Block popup until mouse button release","Sperre Popup bis Mausknopf losgelassen" },
1340{ "Colors","Farben" }, 1340{ "Colors","Farben" },
1341{ "Click on new parent item","Klicke auf neues Übertodo" }, 1341{ "Click on new parent item","Klicke auf neues Übertodo" },
1342{ "Reparenting aborted!","Übertodo setzen abgebrochen" }, 1342{ "Reparenting aborted!","Übertodo setzen abgebrochen" },
1343{ "Cannot move Todo to itself\nor a child of itself","Kann nicht Todo auf\nsich selbst oder\nein Untertodo verschieben" }, 1343{ "Cannot move Todo to itself\nor a child of itself","Kann nicht Todo auf\nsich selbst oder\nein Untertodo verschieben" },
1344{ "Recursive reparenting not possible!","Rekursives Verschieben nicht möglich" }, 1344{ "Recursive reparenting not possible!","Rekursives Verschieben nicht möglich" },
1345{ "Delete all completed todos?\n(Completed recurring todos\nwill not be deleted!)","Entferne alle erledigten Todos?\n(Erledigte wiederholende Todos\nwerden nicht gelöscht!)" }, 1345{ "Delete all completed todos?\n(Completed recurring todos\nwill not be deleted!)","Entferne alle erledigten Todos?\n(Erledigte wiederholende Todos\nwerden nicht gelöscht!)" },
1346{ "Alternating background of list views","Abwechselnder Hintergrund für Listen" }, 1346{ "Alternating background of list views","Abwechselnder Hintergrund für Listen" },
1347{ "times","Zeiten" }, 1347{ "times","Zeiten" },
1348{ "The todo\n%1\nhas subtodos!\nDo you want to set\nthe categories for\nall subtodos as well?","Das Todo\n%1\nhat Untertodos!\nMöchten Sie die Kategorien\nauch für alle Untertodos setzen?" }, 1348{ "The todo\n%1\nhas subtodos!\nDo you want to set\nthe categories for\nall subtodos as well?","Das Todo\n%1\nhat Untertodos!\nMöchten Sie die Kategorien\nauch für alle Untertodos setzen?" },
1349{ "Backup enabled","Backup angeschaltet" }, 1349{ "Backup enabled","Backup angeschaltet" },
1350{ "Use standard backup dir","Standard Backupverzeichnis" }, 1350{ "Use standard backup dir","Standard Backupverzeichnis" },
1351{ "Number of Backups:","Anzahl der Backups" }, 1351{ "Number of Backups:","Anzahl der Backups" },
1352{ "Make backup every ","Mache ein Backup alle " }, 1352{ "Make backup every ","Mache ein Backup alle " },
1353{ " days"," Tage" }, 1353{ " days"," Tage" },
1354{ "Creating backup ... please wait ...","Erstelle Backup ... bitte warten ..." }, 1354{ "Creating backup ... please wait ...","Erstelle Backup ... bitte warten ..." },
1355{ "Backup Failed!","Backup Problem!" }, 1355{ "Backup Failed!","Backup Problem!" },
1356{ "Try again now","Versuche jetzt nochmal" }, 1356{ "Try again now","Versuche jetzt nochmal" },
1357{ "Try again later","Versuche später nochmal" }, 1357{ "Try again later","Versuche später nochmal" },
1358{ "Try again tomorrow","Versuche morgen nochmal" }, 1358{ "Try again tomorrow","Versuche morgen nochmal" },
1359{ "Disable backup","Schalte Backup ab" }, 1359{ "Disable backup","Schalte Backup ab" },
1360{ "<b>Backup directory does not exist: </b>","<b>Backup Verzeichnis existiert nicht: </b>" }, 1360{ "<b>Backup directory does not exist: </b>","<b>Backup Verzeichnis existiert nicht: </b>" },
1361{ "<b>The backup copy command failed!</b>","<b>Das Backup Kopierkommando is fehlgeschlagen!</b>" }, 1361{ "<b>The backup copy command failed!</b>","<b>Das Backup Kopierkommando is fehlgeschlagen!</b>" },
1362{ "Choose action","Wähle Aktion" }, 1362{ "Choose action","Wähle Aktion" },
1363{ "Comment for todo:","Kommentar zum Todo:" }, 1363{ "Comment for todo:","Kommentar zum Todo:" },
1364{ "Stop+note","Stop+Notiz" }, 1364{ "Stop+note","Stop+Notiz" },
1365{ "Agenda view shows completed todos","Agenda Ansicht zeigt erledigte Todos" }, 1365{ "Agenda view shows completed todos","Agenda Ansicht zeigt erledigte Todos" },
1366{ "KO/Pi: Missing alarms!","KO/Pi: Verpasste Alarme!" }, 1366{ "KO/Pi: Missing alarms!","KO/Pi: Verpasste Alarme!" },
1367{ "You missed the alarms for the following events or todos:","Sie verpassten die Alarme für folgende Termine oder Todos:" }, 1367{ "You missed the alarms for the following events or todos:","Sie verpassten die Alarme für folgende Termine oder Todos:" },
1368{ "Print complete list...","Drucke komplette Liste..." }, 1368{ "Print complete list...","Drucke komplette Liste..." },
1369{ "Hide all selected","Verstecke Ausgewählte" }, 1369{ "Hide all selected","Verstecke Ausgewählte" },
1370{ "Add items","hinzufügen" }, 1370{ "Add items","hinzufügen" },
1371{ "One (or more) selected\ntodo has subtodos!\nDo you want to select\nall subtodos of all\nselected todos as well?","Ein (oder mehrere) ausgewähltes\nTodo hat Untertodos!\nMöchten Sie der Auswahlliste\nalle Untertodos von allen\nausgewählten Todos hinzufügen?" }, 1371{ "One (or more) selected\ntodo has subtodos!\nDo you want to select\nall subtodos of all\nselected todos as well?","Ein (oder mehrere) ausgewähltes\nTodo hat Untertodos!\nMöchten Sie der Auswahlliste\nalle Untertodos von allen\nausgewählten Todos hinzufügen?" },
1372{ "Print List View...","Drucke Listenansicht..." }, 1372{ "Print List View...","Drucke Listenansicht..." },
1373{ "You can make a printout of the <b>List View</b> and the list view in the <b>Search Dialog</b>! To do this, please go to the <b>List View/Search Dialog</b>. Right click on the list. Select in the popup menu the entry <b>Print complete list</b>. That prints the list as you see it. You can remove items from the list before printing without deleting the corresponding event/todo! Simply select all items you do not want to print out. Then right click on one of the items and choose <b>Hide selected items</b>. After that you can print the list without these items.","Sie können die <b>Listenansicht</b> und die Listenansicht im <b>Suchdialog</b> ausdrucken! Um das zu machen gehen Sie bitte zur <b>Listenansicht</b> oder zum <b>Suchdialog</b>. Rechtsklicken Sie auf die Liste. Wählen Sie im Popupmenu den Eintrag <b>Drucke komplette Liste</b>. Das druckt die Liste so, wie man sie sieht. Sie können Listeneinträge entfernen ohne die korrespondierenden Ereignisse/Todos zu löschen! Selektieren sie einfach alle Einträge, die sie nicht ausdrucken möchten. Dann Rechtsklicken Sie auf einen Eintrag und wählen <b>Verstecke Selektierte</b>. Danach können Sie die Liste ohne diese Einträge ausdrucken." }, 1373{ "You can make a printout of the <b>List View</b> and the list view in the <b>Search Dialog</b>! To do this, please go to the <b>List View/Search Dialog</b>. Right click on the list. Select in the popup menu the entry <b>Print complete list</b>. That prints the list as you see it. You can remove items from the list before printing without deleting the corresponding event/todo! Simply select all items you do not want to print out. Then right click on one of the items and choose <b>Hide selected items</b>. After that you can print the list without these items.","Sie können die <b>Listenansicht</b> und die Listenansicht im <b>Suchdialog</b> ausdrucken! Um das zu machen gehen Sie bitte zur <b>Listenansicht</b> oder zum <b>Suchdialog</b>. Rechtsklicken Sie auf die Liste. Wählen Sie im Popupmenu den Eintrag <b>Drucke komplette Liste</b>. Das druckt die Liste so, wie man sie sieht. Sie können Listeneinträge entfernen ohne die korrespondierenden Ereignisse/Todos zu löschen! Selektieren sie einfach alle Einträge, die sie nicht ausdrucken möchten. Dann Rechtsklicken Sie auf einen Eintrag und wählen <b>Verstecke Selektierte</b>. Danach können Sie die Liste ohne diese Einträge ausdrucken." },
1374{ "Configure KO/Pi...","Konfiguriere KO/Pi..." }, 1374{ "Configure KO/Pi...","Konfiguriere KO/Pi..." },
1375{ "Global Settings...","Globale Einstellungen..." }, 1375{ "Global Settings...","Globale Einstellungen..." },
1376{ "<p><b>R</b>: Toggle Resource View |<b>F</b>: Edit filter </p>\n","<p><b>R</b>: Zeige Resource Ansicht | <b>F</b>: Editiere Filter </p>\n" }, 1376{ "<p><b>R</b>: Toggle Resource View |<b>F</b>: Edit filter </p>\n","<p><b>R</b>: Zeige Resource Ansicht | <b>F</b>: Editiere Filter </p>\n" },
1377{ "(disabled)","(abgeschaltet)" }, 1377{ "(disabled)","(abgeschaltet)" },
1378{ "New Calendar","Neuer Kalender" }, 1378{ "New Calendar","Neuer Kalender" },
1379{ "Calendar","Kalender" }, 1379{ "Calendar","Kalender" },
1380{ "Filter selector","Filterauswahl" }, 1380{ "Filter selector","Filterauswahl" },
1381{ "Filtermenu","Filtermenu" }, 1381{ "Filtermenu","Filtermenu" },
1382{ "Toggle Fullscreen","Vollbild umschalten" }, 1382{ "Toggle Fullscreen","Vollbild umschalten" },
1383{ "Toggle Resource View","Resourcenansicht umschalten" }, 1383{ "Toggle Resource View","Resourcenansicht umschalten" },
1384{ "Storage HowTo...","Speicherort HowTo..." }, 1384{ "Storage HowTo...","Speicherort HowTo..." },
1385{ "Timetracking HowTo...","Timetracking HowTo..." }, 1385{ "Timetracking HowTo...","Timetracking HowTo..." },
1386{ "Juni","Juni" }, 1386{ "Juni","Juni" },
1387{ "Juli","Juli" }, 1387{ "Juli","Juli" },
1388{ "ToDo:","ToDo:" }, 1388{ "ToDo:","ToDo:" },
1389{ "Set Calendar","Setze Kalender" }, 1389{ "Set Calendar","Setze Kalender" },
1390{ "Todo: %1","Todo: %1" }, 1390{ "Todo: %1","Todo: %1" },
1391{ ": (Prio ",": (Prio " }, 1391{ ": (Prio ",": (Prio " },
1392{ "Todos","Todos" }, 1392{ "Todos","Todos" },
1393{ "Todo Viewer","Todo Anzeige" }, 1393{ "Todo Viewer","Todo Anzeige" },
1394{ "Todo ","Todo " }, 1394{ "Todo ","Todo " },
1395{ " Calendar \n Resource "," Kalender \n Resource " }, 1395{ " Calendar \n Resource "," Kalender \n Resource " },
1396{ " Color "," Farbe " }, 1396{ " Color "," Farbe " },
1397{ "The calendar <b>%1</b> is displaying file <b>%2</b>. Do you want to remove this calendar from KO/Pi? (The file is not removed!)","Der Kalender <b>%1</b> zeigt die Datei <b>%2</b>. Möchten Sie diesen Kalender aus KO/Pi entfernen? (Die Datei wird dabei nicht gelöscht!)" }, 1397{ "The calendar <b>%1</b> is displaying file <b>%2</b>. Do you want to remove this calendar from KO/Pi? (The file is not removed!)","Der Kalender <b>%1</b> zeigt die Datei <b>%2</b>. Möchten Sie diesen Kalender aus KO/Pi entfernen? (Die Datei wird dabei nicht gelöscht!)" },
1398{ "The calendar <b>%1</b> is displaying file <b>%2</b>","Der Kalender <b>%1</b> zeigt die Datei <b>%2</b>" }, 1398{ "The calendar <b>%1</b> is displaying file <b>%2</b>","Der Kalender <b>%1</b> zeigt die Datei <b>%2</b>" },
1399{ "Add new Calendar","Füge Kalender hinzu" }, 1399{ "Add new Calendar","Füge Kalender hinzu" },
1400{ "<b>Name of new calendar:</b>","<b>Name des Kalenders:</b>" }, 1400{ "<b>Name of new calendar:</b>","<b>Name des Kalenders:</b>" },
1401{ "Sorry, the calendar name is empty!","Sorry, der Kalendername ist leer!" }, 1401{ "Sorry, the calendar name is empty!","Sorry, der Kalendername ist leer!" },
1402{ "Sorry, the file name is empty!","Sorry, der Dateiname ist leer!" }, 1402{ "Sorry, the file name is empty!","Sorry, der Dateiname ist leer!" },
1403{ "Error loading calendar file\n%1.","Fehler beim Laden der Kalenderdatei\n%1." }, 1403{ "Error loading calendar file\n%1.","Fehler beim Laden der Kalenderdatei\n%1." },
1404{ "The calendar <b>%1</b> is not loaded! Loading of file <b>%2</b> failed! <b>Try again to load the calendar?</b>","Der Kalender <b>%1</b> ist nicht geladen! Das Laden der Datei <b>%2</b> schlug fehl! <b>Soll erneut versucht werden den Kalender zu laden?</b>" }, 1404{ "The calendar <b>%1</b> is not loaded! Loading of file <b>%2</b> failed! <b>Try again to load the calendar?</b>","Der Kalender <b>%1</b> ist nicht geladen! Das Laden der Datei <b>%2</b> schlug fehl! <b>Soll erneut versucht werden den Kalender zu laden?</b>" },
1405{ "Global application font for all apps:","Globale Schriftart:" }, 1405{ "Global application font for all apps:","Globale Schriftart:" },
1406{ "Application Font","Applikationsschriftart" }, 1406{ "Application Font","Applikationsschriftart" },
1407{ "Kx/Pi","Kx/Pi" }, 1407{ "Kx/Pi","Kx/Pi" },
1408{ "Backup","Backup" }, 1408{ "Backup","Backup" },
1409{ "KDE-Pim Global Settings","KDE-Pim Globale Einstellungen" }, 1409{ "KDE-Pim Global Settings","KDE-Pim Globale Einstellungen" },
1410{ "Sorry, the calendar name \n%1\nalready exists!\nPlease choose another name!","Sorry, der Kalendername \n%1\nist schon in Benutzung!\nBitte wählen Sie einen anderen!" }, 1410{ "Sorry, the calendar name \n%1\nalready exists!\nPlease choose another name!","Sorry, der Kalendername \n%1\nist schon in Benutzung!\nBitte wählen Sie einen anderen!" },
1411{ "Sorry, the file \n%1\nis already loaded!\nPlease choose another file!","Sorry, die Datei \n%1\nist schon geladen!\nBitte wählen Sie eine andere!" }, 1411{ "Sorry, the file \n%1\nis already loaded!\nPlease choose another file!","Sorry, die Datei \n%1\nist schon geladen!\nBitte wählen Sie eine andere!" },
1412{ "Choose Color","Wähle Farbe" }, 1412{ "Choose Color","Wähle Farbe" },
1413{ " OK "," OK " }, 1413{ " OK "," OK " },
1414{ " Cancel "," Abbrechen " }, 1414{ " Cancel "," Abbrechen " },
1415{ "Matching items will be added to list","Passende werden zur Liste hinzugefügt" }, 1415{ "Matching items will be added to list","Passende werden zur Liste hinzugefügt" },
1416{ "Matching items will be removed from list","Passende werden von der Liste entfernt" }, 1416{ "Matching items will be removed from list","Passende werden von der Liste entfernt" },
1417{ "Search on displayed list only","Suche auf der dargestellten Liste" }, 1417{ "Search on displayed list only","Suche auf der dargestellten Liste" },
1418{ "List will be cleared before search","Liste wird vor der Suche gelöscht" }, 1418{ "List will be cleared before search","Liste wird vor der Suche gelöscht" },
1419{ "<center>%1</center> <center>is not running. Do you want to set\nthe state to running?</center>","<center>%1</center> <center>ist nicht am Laufen. Möchten Sie den Zustand auf "laufend" setzen?</center>" }, 1419{ "<center>%1</center> <center>is not running. Do you want to set\nthe state to running?</center>","<center>%1</center> <center>ist nicht am Laufen. Möchten Sie den Zustand auf "laufend" setzen?</center>" },
1420{ "%1\nis running!","%1\nist am Laufen!" }, 1420{ "%1\nis running!","%1\nist am Laufen!" },
1421{ "Additional Comment:","Zusätzlicher Kommentar:" }, 1421{ "Additional Comment:","Zusätzlicher Kommentar:" },
1422{ "Stop and save","Stopp und Speichern" }, 1422{ "Stop and save","Stopp und Speichern" },
1423{ "Continue running","Weiter laufen lassen" }, 1423{ "Continue running","Weiter laufen lassen" },
1424{ "Stop - do not save","Stopp - nicht Speichern" }, 1424{ "Stop - do not save","Stopp - nicht Speichern" },
1425{ "Do you really want to set\nthe state to stopped\nwithout saving the data?","Möchten sie den Zustand\nwirklich auf gestoppt setzen\nohne die Daten abzuspeichern?" }, 1425{ "Do you really want to set\nthe state to stopped\nwithout saving the data?","Möchten sie den Zustand\nwirklich auf gestoppt setzen\nohne die Daten abzuspeichern?" },
1426{ "Time mismatch!","Zeiten stimmen nicht!" }, 1426{ "Time mismatch!","Zeiten stimmen nicht!" },
1427{ "The start time is\nafter the end time!","Die Startzeit ist\nhinter der Endzeit!" }, 1427{ "The start time is\nafter the end time!","Die Startzeit ist\nhinter der Endzeit!" },
1428{ "Yes, stop todo","Ja, stoppe Todo" }, 1428{ "Yes, stop todo","Ja, stoppe Todo" },
1429{ "Todo stopped - no data saved because runtime was < 15 sec!","Todo gestoppt - nichts gespeichert da Laufzeit < 15 sec!" }, 1429{ "Todo stopped - no data saved because runtime was < 15 sec!","Todo gestoppt - nichts gespeichert da Laufzeit < 15 sec!" },
1430{ "Todo started! Double click again to stop!","Todo gestartet! Doppelklicke um es zu stoppen!" }, 1430{ "Todo started! Double click again to stop!","Todo gestartet! Doppelklicke um es zu stoppen!" },
1431{ "Please choose the <b>default calendar</b> in this column. Newly created or imported items are added to the default calendar.","Bitte wählen Sie den <b>Default-Kalender</b> in dieser Spalte. Neu angelegte oder importierte Einträge werden dem Default-Kalender hinzugefügt." }, 1431{ "Please choose the <b>default calendar</b> in this column. Newly created or imported items are added to the default calendar.","Bitte wählen Sie den <b>Default-Kalender</b> in dieser Spalte. Neu angelegte oder importierte Einträge werden dem Default-Kalender hinzugefügt." },
1432{ "Spouse","Ehegatte" }, 1432{ "Spouse","Ehegatte" },
1433{ "Notes","Notizen" }, 1433{ "Notes","Notizen" },
1434{ "Messanger","Messanger" }, 1434{ "Messanger","Messanger" },
1435{ "Assistant","Assistent" }, 1435{ "Assistant","Assistent" },
1436{ "Manager","Manager" }, 1436{ "Manager","Manager" },
1437{ "Secrecy","Sichtbar" }, 1437{ "Secrecy","Sichtbar" },
1438{ "male","männlich" }, 1438{ "male","männlich" },
1439{ "female","weiblich" }, 1439{ "female","weiblich" },
1440{ "Hide!","Verbergen!" }, 1440{ "Hide!","Verbergen!" },
1441{ "Show!","Anzeigen!" }, 1441{ "Show!","Anzeigen!" },
1442{ "Details","Details" }, 1442{ "Details","Details" },
1443{ "Profession","Beruf" }, 1443{ "Profession","Beruf" },
1444{ "Children","Kinder" }, 1444{ "Children","Kinder" },
1445{ "Department","Abteilung" }, 1445{ "Department","Abteilung" },
1446{ "Backup cancelled","Backup abgebrochen" }, 1446{ "Backup cancelled","Backup abgebrochen" },
1447{ "Backup globally disabled","Backup global abgeschaltet" }, 1447{ "Backup globally disabled","Backup global abgeschaltet" },
1448{ "Backup succesfully finished","Backup erfolgreich beendet" }, 1448{ "Backup succesfully finished","Backup erfolgreich beendet" },
1449{ "(Hint: You can enable automatic backup in the global settings!)","(Hinweis: Sie können ein automatisches Backup in den globalen Einstellungen konfigurieren!)" }, 1449{ "(Hint: You can enable automatic backup in the global settings!)","(Hinweis: Sie können ein automatisches Backup in den globalen Einstellungen konfigurieren!)" },
1450{ "This will <b>backup all calendar files</b> to the directory %1 %2","Das schreibt ein <b>Backup aller Kalenderdateien</b> in das Verzeichnis %1 %2" }, 1450{ "This will <b>backup all calendar files</b> to the directory %1 %2","Das schreibt ein <b>Backup aller Kalenderdateien</b> in das Verzeichnis %1 %2" },
1451{ "Birthdays","Geburtstage" }, 1451{ "Birthdays","Geburtstage" },
1452{ "KO/Pi import information!","KO/Pi Import Information!" }, 1452{ "KO/Pi import information!","KO/Pi Import Information!" },
1453{ "Start this todo\nand stop all running","Starte dieses Todo\nund stoppe alle Laufenden" }, 1453{ "Start this todo\nand stop all running","Starte dieses Todo\nund stoppe alle Laufenden" },
1454{ "Cancel - do not start"," Abbrechen - Todo nicht starten" }, 1454{ "Cancel - do not start"," Abbrechen - Todo nicht starten" },
1455{ "The timezone has changed!\nShould the calendar be reloaded\nto shift the time of the events?\nPlease read Menu: Help->FAQ:\n"How do I change the timezone?"\nas well!","Die Zeitzone wurde geändert!\nSollen die Kalender neu geladen\nwerden num die Zeiten\nder Termine zu ändern?\nBitte lesen Sie auch\nMenu: Help->FAQ:\n"How do I change the timezone?"" }, 1455{ "The timezone has changed!\nShould the calendar be reloaded\nto shift the time of the events?\nPlease read Menu: Help->FAQ:\n"How do I change the timezone?"\nas well!","Die Zeitzone wurde geändert!\nSollen die Kalender neu geladen\nwerden num die Zeiten\nder Termine zu ändern?\nBitte lesen Sie auch\nMenu: Help->FAQ:\n"How do I change the timezone?"" },
1456{ "Reload","Neu laden" }, 1456{ "Reload","Neu laden" },
1457{ "Timezone settings","Zeitzoneneinstellung" }, 1457{ "Timezone settings","Zeitzoneneinstellung" },
1458{ "Title: ","Titel: " }, 1458{ "Title: ","Titel: " },
1459{ "Journal from: ","Journal vom: " }, 1459{ "Journal from: ","Journal vom: " },
1460{ "Journal: %1 from ","Journal: %1 vom " }, 1460{ "Journal: %1 from ","Journal: %1 vom " },
1461{ "<b>Click here to edit categories: </b>","<b>Klicke hier um Kategorien zu ändern: </b>" }, 1461{ "<b>Click here to edit categories: </b>","<b>Klicke hier um Kategorien zu ändern: </b>" },
1462{ "Selected Item","Ausgewähltes Item" }, 1462{ "Selected Item","Ausgewähltes Item" },
1463{ "Select Date...","Wähle Datum..." }, 1463{ "Select Date...","Wähle Datum..." },
1464{ "After importing/loading/syncing there may be new categories in events or todos which are not added automatically to the category list. Please choose what to do <b>now</b>:","Nach dem Importieren/Laden/Syncen kann es neue Kategorien in den Terminen oder Todos geben, die nicht automatisch der Kategorieliste hinzugefügt werden. Bitte wählen Sie, was <b>jetzt</b> passieren soll:" }, 1464{ "After importing/loading/syncing there may be new categories in events or todos which are not added automatically to the category list. Please choose what to do <b>now</b>:","Nach dem Importieren/Laden/Syncen kann es neue Kategorien in den Terminen oder Todos geben, die nicht automatisch der Kategorieliste hinzugefügt werden. Bitte wählen Sie, was <b>jetzt</b> passieren soll:" },
1465{ "Change category list now!","Ändere Kategorieliste jetzt!" }, 1465{ "Change category list now!","Ändere Kategorieliste jetzt!" },
1466{ "Edit category list...","Ändere Kategorieliste..." }, 1466{ "Edit category list...","Ändere Kategorieliste..." },
1467{ "Toolbar changes needs a restart!","Neustart benötigt für Toolbaränderungen!" }, 1467{ "Toolbar changes needs a restart!","Neustart benötigt für Toolbaränderungen!" },
1468{ "Filepath: ","Dateipfad: " }, 1468{ "Filepath: ","Dateipfad: " },
1469{ "You can try to reload the calendar in the Resource View!","In der Resourcenansicht können Sie erneut versuchen den Kalender zu laden!" }, 1469{ "You can try to reload the calendar in the Resource View!","In der Resourcenansicht können Sie erneut versuchen den Kalender zu laden!" },
1470{ "<b>WARNING:</b> There is a pending suspended alarm!","<b>WARNUNG:</b> Es gibt einen laufenden Suspendalarm!" }, 1470{ "<b>WARNING:</b> There is a pending suspended alarm!","<b>WARNUNG:</b> Es gibt einen laufenden Suspendalarm!" },
1471{ "Pending Suspend Alarm","Laufender Suspend Alarm" }, 1471{ "Pending Suspend Alarm","Laufender Suspend Alarm" },
1472{ "Error loading calendar %1","Fehler beim Laden von Kalender %1" }, 1472{ "Error loading calendar %1","Fehler beim Laden von Kalender %1" },
1473{ "Calendar(s) not loaded:","Nicht geladene(r) Kalender:" }, 1473{ "Calendar(s) not loaded:","Nicht geladene(r) Kalender:" },
1474{ "Loading of calendar(s) failed","Laden von Kalendern fehlgeschlagen" }, 1474{ "Loading of calendar(s) failed","Laden von Kalendern fehlgeschlagen" },
1475{ "Alarm Options","Alarm Einstellungen" }, 1475{ "Alarm Options","Alarm Einstellungen" },
1476{ "Delete selected...","Lösche Ausgewählte..." }, 1476{ "Delete selected...","Lösche Ausgewählte..." },
1477{ "None","Nichts" }, 1477{ "None","Nichts" },
1478{ "Selection","Auswahl" }, 1478{ "Selection","Auswahl" },
1479{ "Set categories","Setze Kategorien" }, 1479{ "Set categories","Setze Kategorien" },
1480{ "This adds the selected\nitems to the calendar\n%1\nand removes them from\ntheir current calendar!","Das fügt die ausgewählten\nEinträge dem Kalender\n%1\nhinzu und entfernt sie von\nihrem aktuellen Kalender!" }, 1480{ "This adds the selected\nitems to the calendar\n%1\nand removes them from\ntheir current calendar!","Das fügt die ausgewählten\nEinträge dem Kalender\n%1\nhinzu und entfernt sie von\nihrem aktuellen Kalender!" },
1481{ "Reset","Neu setzen" }, 1481{ "Reset","Neu setzen" },
1482{ "Do you want to <b>add</b> categories to the selected items or <b>reset</b> the list (i.e. remove current categories)?","Möchten Sie Kategorien zu den ausgewählten Einträgen <b>hinzufügen</b> oder die Liste <b>neu setzen</b> (d.h. vorhandene Kategorien löschen)?" }, 1482{ "Do you want to <b>add</b> categories to the selected items or <b>reset</b> the list (i.e. remove current categories)?","Möchten Sie Kategorien zu den ausgewählten Einträgen <b>hinzufügen</b> oder die Liste <b>neu setzen</b> (d.h. vorhandene Kategorien löschen)?" },
1483{ "The file\n%1\ndoes not exist!\nShall I create it for you?","Die Datei\n%1\nexistiert nicht!\nSoll sie neu angelegt werden?" }, 1483{ "The file\n%1\ndoes not exist!\nShall I create it for you?","Die Datei\n%1\nexistiert nicht!\nSoll sie neu angelegt werden?" },
1484{ "Sorry, cannot create the file\n%1!\nNo calendar added!","Kann leider die Datei\n%1\nnicht anlegen!\nKein Kalender hinzugefügt!" }, 1484{ "Sorry, cannot create the file\n%1!\nNo calendar added!","Kann leider die Datei\n%1\nnicht anlegen!\nKein Kalender hinzugefügt!" },
1485{ "\nNO\n WRITEABLE\n CALENDAR\n FOUND!\n\nPlease fix your calendar settings!\n","\nKEIN\n SCHREIBBARER\n KALENDER\n GEFUNDEN!\n\nBitte korrigieren Sie\nihre Kalendereinstellungen!\n" }, 1485{ "\nNO\n WRITEABLE\n CALENDAR\n FOUND!\n\nPlease fix your calendar settings!\n","\nKEIN\n SCHREIBBARER\n KALENDER\n GEFUNDEN!\n\nBitte korrigieren Sie\nihre Kalendereinstellungen!\n" },
1486{ "\nThe file\n%1\non disk has changed!\nFile size: %2 bytes.\nLast modified: %3\nDo you want to:\n\n - Save and overwrite file?\n - Sync with file, then save?\n - Cancel without saving? \n","\nDie Datei\n%1\nwurde verändert!\nDatei Grösse: %2 Bytes.\nZuletzt geändert: %3\nMöchten Sie:\n\n - Speichern und die Datei überschreiben?\n - Mit Datei Synchronisieren, dann speichern?\n - Abbrechen ohne zu speichern? \n" }, 1486{ "\nThe file\n%1\non disk has changed!\nFile size: %2 bytes.\nLast modified: %3\nDo you want to:\n\n - Save and overwrite file?\n - Sync with file, then save?\n - Cancel without saving? \n","\nDie Datei\n%1\nwurde verändert!\nDatei Grösse: %2 Bytes.\nZuletzt geändert: %3\nMöchten Sie:\n\n - Speichern und die Datei überschreiben?\n - Mit Datei Synchronisieren, dann speichern?\n - Abbrechen ohne zu speichern? \n" },
1487{ "Edit","Edit" }, 1487{ "Edit","Edit" },
1488{ "Last Modified","Zuletzt geändert" }, 1488{ "Last Modified","Zuletzt geändert" },
1489{ "Journal viewer","Journal Anzeige" }, 1489{ "Journal viewer","Journal Anzeige" },
1490{ "Configure Calendar Files...","Konfiguriere Kalenderdateien..." }, 1490{ "Configure Calendar Files...","Konfiguriere Kalenderdateien..." },
1491{ "You can use and display <b>more than one</b> calendar file in KO/Pi. A calendar file is called a <b>resource</b>. To add a calendar or change calendar settings please use menu: <b>View -> Toggle Resource View</b>.","Sie können <b>mehr als eine</b> Kalenderdatei in KO/Pi darstellen und benutzen. Eine Kalenderdatei wird <b>Resource</b> genannt. Um einen Kalender hinzuzufügen oder die Kalendereinstellungen zu ändern benutzen Sie bitte das Menu: <b>Ansicht -> Resourcenansicht umschalten</b>." }, 1491{ "You can use and display <b>more than one</b> calendar file in KO/Pi. A calendar file is called a <b>resource</b>. To add a calendar or change calendar settings please use menu: <b>View -> Toggle Resource View</b>.","Sie können <b>mehr als eine</b> Kalenderdatei in KO/Pi darstellen und benutzen. Eine Kalenderdatei wird <b>Resource</b> genannt. Um einen Kalender hinzuzufügen oder die Kalendereinstellungen zu ändern benutzen Sie bitte das Menu: <b>Ansicht -> Resourcenansicht umschalten</b>." },
1492{ "Hide Completed","Verstecke erledigte Todos" }, 1492{ "Hide Completed","Verstecke erledigte Todos" },
1493{ "Show not Running","Zeige nicht Laufende" }, 1493{ "Show not Running","Zeige nicht Laufende" },
1494{ "Click to add new Todo","Klick für neues Todo!" }, 1494{ "Click to add new Todo","Klick für neues Todo!" },
1495{ "Show next conflict for","Zeige nächsten Konflikt für" }, 1495{ "Show next conflict for","Zeige nächsten Konflikt für" },
1496{ "All events","Alle Termine" }, 1496{ "All events","Alle Termine" },
1497{ "Allday events","Ganztagestermine" }, 1497{ "Allday events","Ganztagestermine" },
1498{ "Events with time","Termine mit Zeit" }, 1498{ "Events with time","Termine mit Zeit" },
1499{ "No conflict found","Kein Konflikt gefunden" }, 1499{ "No conflict found","Kein Konflikt gefunden" },
1500{ "Conflict %1 <-> %2","Konflikt %1 <-> %2" }, 1500{ "Conflict %1 <-> %2","Konflikt %1 <-> %2" },
1501{ "<p><b>Q</b>: Show next date with conflicting events\n ","<p><b>Q</b>: Zeige nächstes Datum mit Terminen im Konflikt\n " }, 1501{ "<p><b>Q</b>: Show next date with conflicting events\n ","<p><b>Q</b>: Zeige nächstes Datum mit Terminen im Konflikt\n " },
1502{ "Week view mode uses row layout","Wochenansicht Modus nutzt Reihenlayout" }, 1502{ "Week view mode uses row layout","Wochenansicht Modus nutzt Reihenlayout" },
1503{ "The event\n%1\nconflicts with event\n%2\nat date\n%3.\n","Der Termin\n%1\nist im Konflikt mit Termin\n%2\nam Datum\n%3.\n" }, 1503{ "The event\n%1\nconflicts with event\n%2\nat date\n%3.\n","Der Termin\n%1\nist im Konflikt mit Termin\n%2\nam Datum\n%3.\n" },
1504{ "KO/Pi Conflict 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
@@ -2279,1587 +2279,1594 @@ bool CalendarView::importQtopia( const QString &categories,
2279 2279
2280 if ( loadOk ) { 2280 if ( loadOk ) {
2281 getEventViewerDialog()->setSyncMode( true ); 2281 getEventViewerDialog()->setSyncMode( true );
2282 syncOK = synchronizeCalendar( mCalendar, calendar, mSyncManager->mSyncAlgoPrefs ); 2282 syncOK = synchronizeCalendar( mCalendar, calendar, mSyncManager->mSyncAlgoPrefs );
2283 getEventViewerDialog()->setSyncMode( false ); 2283 getEventViewerDialog()->setSyncMode( false );
2284 qApp->processEvents(); 2284 qApp->processEvents();
2285 if ( syncOK ) { 2285 if ( syncOK ) {
2286 if ( mSyncManager->mWriteBackFile ) 2286 if ( mSyncManager->mWriteBackFile )
2287 { 2287 {
2288 // write back XML file 2288 // write back XML file
2289 2289
2290 } 2290 }
2291 setModified( true ); 2291 setModified( true );
2292 } 2292 }
2293 } else { 2293 } else {
2294 QString question = i18n("Sorry, the file loading\ncommand failed!\n\nNothing synced!\n") ; 2294 QString question = i18n("Sorry, the file loading\ncommand failed!\n\nNothing synced!\n") ;
2295 QMessageBox::information( 0, i18n("KO/Pi Sync - ERROR"), 2295 QMessageBox::information( 0, i18n("KO/Pi Sync - ERROR"),
2296 question, i18n("Ok")) ; 2296 question, i18n("Ok")) ;
2297 } 2297 }
2298 delete calendar; 2298 delete calendar;
2299 updateView(); 2299 updateView();
2300 return syncOK; 2300 return syncOK;
2301 2301
2302 2302
2303#endif 2303#endif
2304 2304
2305} 2305}
2306 2306
2307void CalendarView::setSyncEventsReadOnly() 2307void CalendarView::setSyncEventsReadOnly()
2308{ 2308{
2309 mCalendar->setSyncEventsReadOnly(); 2309 mCalendar->setSyncEventsReadOnly();
2310} 2310}
2311 2311
2312bool CalendarView::loadCalendars() 2312bool CalendarView::loadCalendars()
2313{ 2313{
2314 QPtrList<KopiCalendarFile> calendars = KOPrefs::instance()->mCalendars; 2314 QPtrList<KopiCalendarFile> calendars = KOPrefs::instance()->mCalendars;
2315 KopiCalendarFile * cal = calendars.first(); 2315 KopiCalendarFile * cal = calendars.first();
2316 mCalendar->setDefaultCalendar( 1 ); 2316 mCalendar->setDefaultCalendar( 1 );
2317 openCalendar( MainWindow::defaultFileName(), false ); 2317 openCalendar( MainWindow::defaultFileName(), false );
2318 cal = calendars.next(); 2318 cal = calendars.next();
2319 while ( cal ) { 2319 while ( cal ) {
2320 addCalendar( cal ); 2320 addCalendar( cal );
2321 cal = calendars.next(); 2321 cal = calendars.next();
2322 } 2322 }
2323 restoreCalendarSettings(); 2323 restoreCalendarSettings();
2324 return true; 2324 return true;
2325} 2325}
2326bool CalendarView::restoreCalendarSettings() 2326bool CalendarView::restoreCalendarSettings()
2327{ 2327{
2328 QPtrList<KopiCalendarFile> calendars = KOPrefs::instance()->mCalendars; 2328 QPtrList<KopiCalendarFile> calendars = KOPrefs::instance()->mCalendars;
2329 KopiCalendarFile * cal = calendars.first(); 2329 KopiCalendarFile * cal = calendars.first();
2330 while ( cal ) { 2330 while ( cal ) {
2331 mCalendar->setCalendarEnabled( cal->mCalNumber,cal->isEnabled ); 2331 mCalendar->setCalendarEnabled( cal->mCalNumber,cal->isEnabled );
2332 mCalendar->setAlarmEnabled( cal->mCalNumber, cal->isAlarmEnabled ); 2332 mCalendar->setAlarmEnabled( cal->mCalNumber, cal->isAlarmEnabled );
2333 mCalendar->setReadOnly( cal->mCalNumber, cal->isReadOnly ); 2333 mCalendar->setReadOnly( cal->mCalNumber, cal->isReadOnly );
2334 if ( cal->isStandard ) 2334 if ( cal->isStandard )
2335 mCalendar->setDefaultCalendar( cal->mCalNumber ); 2335 mCalendar->setDefaultCalendar( cal->mCalNumber );
2336 cal = calendars.next(); 2336 cal = calendars.next();
2337 } 2337 }
2338 setSyncEventsReadOnly(); 2338 setSyncEventsReadOnly();
2339 mCalendar->reInitAlarmSettings(); 2339 mCalendar->reInitAlarmSettings();
2340 updateUnmanagedViews(); 2340 updateUnmanagedViews();
2341 updateView(); 2341 updateView();
2342 return true; 2342 return true;
2343} 2343}
2344void CalendarView::addCalendarId( int id ) 2344void CalendarView::addCalendarId( int id )
2345{ 2345{
2346 KopiCalendarFile * cal = KOPrefs::instance()->getCalendar( id ); 2346 KopiCalendarFile * cal = KOPrefs::instance()->getCalendar( id );
2347 if ( cal ) 2347 if ( cal )
2348 addCalendar( cal ); 2348 addCalendar( cal );
2349} 2349}
2350bool CalendarView::addCalendar( KopiCalendarFile * cal ) 2350bool CalendarView::addCalendar( KopiCalendarFile * cal )
2351{ 2351{
2352 cal->mErrorOnLoad = false; 2352 cal->mErrorOnLoad = false;
2353 if ( mCalendar->addCalendarFile( cal->mFileName, cal->mCalNumber )) { 2353 if ( mCalendar->addCalendarFile( cal->mFileName, cal->mCalNumber )) {
2354 cal->mLoadDt = QDateTime::currentDateTime(); 2354 cal->mLoadDt = QDateTime::currentDateTime();
2355 return true; 2355 return true;
2356 } 2356 }
2357 qDebug("KO: Error adding calendar file %s ",cal->mFileName.latin1() ); 2357 qDebug("KO: Error adding calendar file %s ",cal->mFileName.latin1() );
2358 cal->mErrorOnLoad = true; 2358 cal->mErrorOnLoad = true;
2359 return false; 2359 return false;
2360} 2360}
2361bool CalendarView::openCalendar(QString filename, bool merge) 2361bool CalendarView::openCalendar(QString filename, bool merge)
2362{ 2362{
2363 2363
2364 if (filename.isEmpty()) { 2364 if (filename.isEmpty()) {
2365 return false; 2365 return false;
2366 } 2366 }
2367 2367
2368 if (!QFile::exists(filename)) { 2368 if (!QFile::exists(filename)) {
2369 KMessageBox::error(this,i18n("File does not exist:\n '%1'.").arg(filename)); 2369 KMessageBox::error(this,i18n("File does not exist:\n '%1'.").arg(filename));
2370 return false; 2370 return false;
2371 } 2371 }
2372 2372
2373 globalFlagBlockAgenda = 1; 2373 globalFlagBlockAgenda = 1;
2374 clearAllViews(); 2374 clearAllViews();
2375 if (!merge) { 2375 if (!merge) {
2376 mViewManager->setDocumentId( filename ); 2376 mViewManager->setDocumentId( filename );
2377 mCalendar->close(); 2377 mCalendar->close();
2378 } 2378 }
2379 mStorage->setFileName( filename ); 2379 mStorage->setFileName( filename );
2380 2380
2381 if ( mStorage->load() ) { 2381 if ( mStorage->load() ) {
2382 if ( merge ) ;//setModified( true ); 2382 if ( merge ) ;//setModified( true );
2383 else { 2383 else {
2384 //setModified( true ); 2384 //setModified( true );
2385 mViewManager->setDocumentId( filename ); 2385 mViewManager->setDocumentId( filename );
2386 mDialogManager->setDocumentId( filename ); 2386 mDialogManager->setDocumentId( filename );
2387 mTodoList->setDocumentId( filename ); 2387 mTodoList->setDocumentId( filename );
2388 } 2388 }
2389 globalFlagBlockAgenda = 2; 2389 globalFlagBlockAgenda = 2;
2390 // if ( getLastSyncEvent() ) 2390 // if ( getLastSyncEvent() )
2391 // getLastSyncEvent()->setReadOnly( true ); 2391 // getLastSyncEvent()->setReadOnly( true );
2392 mCalendar->reInitAlarmSettings(); 2392 mCalendar->reInitAlarmSettings();
2393 setSyncEventsReadOnly(); 2393 setSyncEventsReadOnly();
2394 //updateUnmanagedViews(); 2394 //updateUnmanagedViews();
2395 //updateView(); 2395 //updateView();
2396 if ( filename != MainWindow::defaultFileName() ) { 2396 if ( filename != MainWindow::defaultFileName() ) {
2397 saveCalendar( MainWindow::defaultFileName() ); 2397 saveCalendar( MainWindow::defaultFileName() );
2398 } else { 2398 } else {
2399 QFileInfo finf ( MainWindow::defaultFileName()); 2399 QFileInfo finf ( MainWindow::defaultFileName());
2400 if ( finf.exists() ) { 2400 if ( finf.exists() ) {
2401 setLoadedFileVersion( finf.lastModified () ); 2401 setLoadedFileVersion( finf.lastModified () );
2402 } 2402 }
2403 } 2403 }
2404 return true; 2404 return true;
2405 } else { 2405 } else {
2406 // while failing to load, the calendar object could 2406 // while failing to load, the calendar object could
2407 // have become partially populated. Clear it out. 2407 // have become partially populated. Clear it out.
2408 if ( !merge ) { 2408 if ( !merge ) {
2409 mCalendar->close(); 2409 mCalendar->close();
2410 mViewManager->setDocumentId( filename ); 2410 mViewManager->setDocumentId( filename );
2411 mDialogManager->setDocumentId( filename ); 2411 mDialogManager->setDocumentId( filename );
2412 mTodoList->setDocumentId( filename ); 2412 mTodoList->setDocumentId( filename );
2413 } 2413 }
2414 2414
2415 //KMessageBox::error(this,i18n("Couldn't load calendar\n '%1'.").arg(filename)); 2415 //KMessageBox::error(this,i18n("Couldn't load calendar\n '%1'.").arg(filename));
2416 2416
2417 QTimer::singleShot ( 1, this, SLOT ( showOpenError() ) ); 2417 QTimer::singleShot ( 1, this, SLOT ( showOpenError() ) );
2418 globalFlagBlockAgenda = 2; 2418 globalFlagBlockAgenda = 2;
2419 mCalendar->reInitAlarmSettings(); 2419 mCalendar->reInitAlarmSettings();
2420 setSyncEventsReadOnly(); 2420 setSyncEventsReadOnly();
2421 updateUnmanagedViews(); 2421 updateUnmanagedViews();
2422 updateView(); 2422 updateView();
2423 } 2423 }
2424 return false; 2424 return false;
2425} 2425}
2426void CalendarView::mergeFile( QString fn ) 2426void CalendarView::mergeFile( QString fn )
2427{ 2427{
2428 clearAllViews(); 2428 clearAllViews();
2429 mCalendar->mergeCalendarFile( fn ); 2429 mCalendar->mergeCalendarFile( fn );
2430 mCalendar->reInitAlarmSettings(); 2430 mCalendar->reInitAlarmSettings();
2431 setSyncEventsReadOnly(); 2431 setSyncEventsReadOnly();
2432 updateUnmanagedViews(); 2432 updateUnmanagedViews();
2433 updateView(); 2433 updateView();
2434} 2434}
2435void CalendarView::showOpenError() 2435void CalendarView::showOpenError()
2436{ 2436{
2437 KMessageBox::error(this,i18n("Couldn't load calendar\n.")); 2437 KMessageBox::error(this,i18n("Couldn't load calendar\n."));
2438} 2438}
2439void CalendarView::setLoadedFileVersion(QDateTime dt) 2439void CalendarView::setLoadedFileVersion(QDateTime dt)
2440{ 2440{
2441 loadedFileVersion = dt; 2441 loadedFileVersion = dt;
2442} 2442}
2443bool CalendarView::checkFileChanged(QString fn) 2443bool CalendarView::checkFileChanged(QString fn)
2444{ 2444{
2445 QFileInfo finf ( fn ); 2445 QFileInfo finf ( fn );
2446 if ( !finf.exists() ) 2446 if ( !finf.exists() )
2447 return true; 2447 return true;
2448 QDateTime dt = finf.lastModified (); 2448 QDateTime dt = finf.lastModified ();
2449 if ( dt <= loadedFileVersion ) 2449 if ( dt <= loadedFileVersion )
2450 return false; 2450 return false;
2451 return true; 2451 return true;
2452 2452
2453} 2453}
2454void CalendarView::watchSavedFile() 2454void CalendarView::watchSavedFile()
2455{ 2455{
2456 QFileInfo finf ( MainWindow::defaultFileName()); 2456 QFileInfo finf ( MainWindow::defaultFileName());
2457 if ( !finf.exists() ) 2457 if ( !finf.exists() )
2458 return; 2458 return;
2459 QDateTime dt = finf.lastModified (); 2459 QDateTime dt = finf.lastModified ();
2460 if ( dt < loadedFileVersion ) { 2460 if ( dt < loadedFileVersion ) {
2461 //qDebug("watch %s %s ", dt.toString().latin1(), loadedFileVersion.toString().latin1()); 2461 //qDebug("watch %s %s ", dt.toString().latin1(), loadedFileVersion.toString().latin1());
2462 QTimer::singleShot( 1000 , this, SLOT ( watchSavedFile() ) ); 2462 QTimer::singleShot( 1000 , this, SLOT ( watchSavedFile() ) );
2463 return; 2463 return;
2464 } 2464 }
2465 loadedFileVersion = dt; 2465 loadedFileVersion = dt;
2466} 2466}
2467bool CalendarView::checkAllFileVersions() 2467bool CalendarView::checkAllFileVersions()
2468{ 2468{
2469 QPtrList<KopiCalendarFile> calendars = KOPrefs::instance()->mCalendars; 2469 QPtrList<KopiCalendarFile> calendars = KOPrefs::instance()->mCalendars;
2470 KopiCalendarFile * cal = calendars.first(); 2470 KopiCalendarFile * cal = calendars.first();
2471 mCalendar->setDefaultCalendar( 1 ); 2471 mCalendar->setDefaultCalendar( 1 );
2472 mCalendar->setDefaultCalendarEnabledOnly(); 2472 mCalendar->setDefaultCalendarEnabledOnly();
2473 if ( !cal->isReadOnly && !cal->mErrorOnLoad ) { 2473 if ( !cal->isReadOnly && !cal->mErrorOnLoad ) {
2474 if ( !checkFileVersion(MainWindow::defaultFileName())) { 2474 if ( !checkFileVersion(MainWindow::defaultFileName())) {
2475 restoreCalendarSettings(); 2475 restoreCalendarSettings();
2476 return false; 2476 return false;
2477 } 2477 }
2478 } 2478 }
2479 cal = calendars.next(); 2479 cal = calendars.next();
2480 QDateTime storeTemp = loadedFileVersion; 2480 QDateTime storeTemp = loadedFileVersion;
2481 while ( cal ) { 2481 while ( cal ) {
2482 if ( !cal->isReadOnly && !cal->mErrorOnLoad ) { 2482 if ( !cal->isReadOnly && !cal->mErrorOnLoad ) {
2483 mCalendar->setDefaultCalendar( cal->mCalNumber ); 2483 mCalendar->setDefaultCalendar( cal->mCalNumber );
2484 mCalendar->setDefaultCalendarEnabledOnly(); 2484 mCalendar->setDefaultCalendarEnabledOnly();
2485 loadedFileVersion = cal->mLoadDt.addSecs( 15 ); 2485 loadedFileVersion = cal->mLoadDt.addSecs( 15 );
2486 if ( !checkFileVersion(cal->mFileName )) { 2486 if ( !checkFileVersion(cal->mFileName )) {
2487 loadedFileVersion = storeTemp; 2487 loadedFileVersion = storeTemp;
2488 restoreCalendarSettings(); 2488 restoreCalendarSettings();
2489 return false; 2489 return false;
2490 } 2490 }
2491 } 2491 }
2492 cal = calendars.next(); 2492 cal = calendars.next();
2493 } 2493 }
2494 loadedFileVersion = storeTemp; 2494 loadedFileVersion = storeTemp;
2495 return true; 2495 return true;
2496} 2496}
2497bool CalendarView::checkFileVersion(QString fn) 2497bool CalendarView::checkFileVersion(QString fn)
2498{ 2498{
2499 QFileInfo finf ( fn ); 2499 QFileInfo finf ( fn );
2500 if ( !finf.exists() ) 2500 if ( !finf.exists() )
2501 return true; 2501 return true;
2502 QDateTime dt = finf.lastModified (); 2502 QDateTime dt = finf.lastModified ();
2503 qDebug("loaded file version %s %s", fn.latin1(), loadedFileVersion.toString().latin1()); 2503 qDebug("loaded file version %s %s", fn.latin1(), loadedFileVersion.toString().latin1());
2504 qDebug("file on disk version %s %s", fn.latin1(),dt.toString().latin1()); 2504 qDebug("file on disk version %s %s", fn.latin1(),dt.toString().latin1());
2505 if ( dt <= loadedFileVersion ) 2505 if ( dt <= loadedFileVersion )
2506 return true; 2506 return true;
2507 int km = KMessageBox::warningYesNoCancel(this, i18n("\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").arg(KGlobal::formatMessage(fn,0)).arg( QString::number( finf.size())).arg( KGlobal::locale()->formatDateTime(finf.lastModified (), true, true)) , 2507 int km = KMessageBox::warningYesNoCancel(this, i18n("\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").arg(KGlobal::formatMessage(fn,0)).arg( QString::number( finf.size())).arg( KGlobal::locale()->formatDateTime(finf.lastModified (), true, true)) ,
2508 i18n("KO/Pi Warning"),i18n("Overwrite"), 2508 i18n("KO/Pi Warning"),i18n("Overwrite"),
2509 i18n("Sync+save")); 2509 i18n("Sync+save"));
2510 2510
2511 if ( km == KMessageBox::Cancel ) 2511 if ( km == KMessageBox::Cancel )
2512 return false; 2512 return false;
2513 if ( km == KMessageBox::Yes ) 2513 if ( km == KMessageBox::Yes )
2514 return true; 2514 return true;
2515 2515
2516 setSyncDevice("deleteaftersync" ); 2516 setSyncDevice("deleteaftersync" );
2517 mSyncManager->mAskForPreferences = true; 2517 mSyncManager->mAskForPreferences = true;
2518 mSyncManager->mSyncAlgoPrefs = 3; 2518 mSyncManager->mSyncAlgoPrefs = 3;
2519 mSyncManager->mWriteBackFile = false; 2519 mSyncManager->mWriteBackFile = false;
2520 mSyncManager->mWriteBackExistingOnly = false; 2520 mSyncManager->mWriteBackExistingOnly = false;
2521 mSyncManager->mShowSyncSummary = false; 2521 mSyncManager->mShowSyncSummary = false;
2522 syncCalendar( fn, 3 ); 2522 syncCalendar( fn, 3 );
2523 Event * e = getLastSyncEvent(); 2523 Event * e = getLastSyncEvent();
2524 if ( e ) 2524 if ( e )
2525 mCalendar->deleteEvent( e ); 2525 mCalendar->deleteEvent( e );
2526 return true; 2526 return true;
2527} 2527}
2528bool CalendarView::saveCalendars() 2528bool CalendarView::saveCalendars()
2529{ 2529{
2530 QPtrList<KopiCalendarFile> calendars = KOPrefs::instance()->mCalendars; 2530 QPtrList<KopiCalendarFile> calendars = KOPrefs::instance()->mCalendars;
2531 KopiCalendarFile * cal = calendars.first(); 2531 KopiCalendarFile * cal = calendars.first();
2532 mCalendar->setDefaultCalendar( 1 ); 2532 mCalendar->setDefaultCalendar( 1 );
2533 mCalendar->setDefaultCalendarEnabledOnly(); 2533 mCalendar->setDefaultCalendarEnabledOnly();
2534 QString saveError; 2534 QString saveError;
2535 if ( !saveCalendar( MainWindow::defaultFileName() ) ) 2535 if ( !saveCalendar( MainWindow::defaultFileName() ) )
2536 saveError = cal->mName +"\n"; 2536 saveError = cal->mName +"\n";
2537 cal = calendars.next(); 2537 cal = calendars.next();
2538 while ( cal ) { 2538 while ( cal ) {
2539 if ( !cal->isReadOnly && !cal->mErrorOnLoad ) { 2539 if ( !cal->isReadOnly && !cal->mErrorOnLoad ) {
2540 mCalendar->setDefaultCalendar( cal->mCalNumber ); 2540 mCalendar->setDefaultCalendar( cal->mCalNumber );
2541 mCalendar->setDefaultCalendarEnabledOnly(); 2541 mCalendar->setDefaultCalendarEnabledOnly();
2542 if ( saveCalendar( cal->mFileName ) ) 2542 if ( saveCalendar( cal->mFileName ) )
2543 cal->mLoadDt = QDateTime::currentDateTime(); 2543 cal->mLoadDt = QDateTime::currentDateTime();
2544 else 2544 else
2545 saveError += cal->mName + "\n"; 2545 saveError += cal->mName + "\n";
2546 } 2546 }
2547 cal = calendars.next(); 2547 cal = calendars.next();
2548 } 2548 }
2549 restoreCalendarSettings(); 2549 restoreCalendarSettings();
2550 if ( !saveError.isEmpty() ) { 2550 if ( !saveError.isEmpty() ) {
2551 saveError = KGlobal::formatMessage( i18n("Calendar(s) not saved:"),0 )+"\n" + saveError; 2551 saveError = KGlobal::formatMessage( i18n("Calendar(s) not saved:"),0 )+"\n" + saveError;
2552 KMessageBox::error(this, saveError, i18n("Error saving data")); 2552 KMessageBox::error(this, saveError, i18n("Error saving data"));
2553 return false; 2553 return false;
2554 } 2554 }
2555 return true; 2555 return true;
2556} 2556}
2557bool CalendarView::saveCalendar( QString filename ) 2557bool CalendarView::saveCalendar( QString filename )
2558{ 2558{
2559 2559
2560 // Store back all unsaved data into calendar object 2560 // Store back all unsaved data into calendar object
2561 // qDebug("file %s %d ", filename.latin1() , mViewManager->currentView() ); 2561 // qDebug("file %s %d ", filename.latin1() , mViewManager->currentView() );
2562 if ( mViewManager->currentView() ) 2562 if ( mViewManager->currentView() )
2563 mViewManager->currentView()->flushView(); 2563 mViewManager->currentView()->flushView();
2564 2564
2565 2565
2566 QDateTime lfv = QDateTime::currentDateTime().addSecs( -2); 2566 QDateTime lfv = QDateTime::currentDateTime().addSecs( -2);
2567 mStorage->setSaveFormat( new ICalFormat() ); 2567 mStorage->setSaveFormat( new ICalFormat() );
2568 mStorage->setFileName( filename ); 2568 mStorage->setFileName( filename );
2569 bool success; 2569 bool success;
2570 success = mStorage->save(); 2570 success = mStorage->save();
2571 if ( !success ) { 2571 if ( !success ) {
2572 return false; 2572 return false;
2573 } 2573 }
2574 if ( filename == MainWindow::defaultFileName() ) { 2574 if ( filename == MainWindow::defaultFileName() ) {
2575 setLoadedFileVersion( lfv ); 2575 setLoadedFileVersion( lfv );
2576 watchSavedFile(); 2576 watchSavedFile();
2577 } 2577 }
2578 return true; 2578 return true;
2579} 2579}
2580 2580
2581void CalendarView::closeCalendar() 2581void CalendarView::closeCalendar()
2582{ 2582{
2583 2583
2584 // child windows no longer valid 2584 // child windows no longer valid
2585 clearAllViews(); 2585 clearAllViews();
2586 emit closingDown(); 2586 emit closingDown();
2587 2587
2588 mCalendar->close(); 2588 mCalendar->close();
2589 setModified(false); 2589 setModified(false);
2590 updateView(); 2590 updateView();
2591} 2591}
2592 2592
2593void CalendarView::archiveCalendar() 2593void CalendarView::archiveCalendar()
2594{ 2594{
2595 mDialogManager->showArchiveDialog(); 2595 mDialogManager->showArchiveDialog();
2596} 2596}
2597 2597
2598 2598
2599void CalendarView::readSettings() 2599void CalendarView::readSettings()
2600{ 2600{
2601 2601
2602 2602
2603 // mViewManager->showAgendaView(); 2603 // mViewManager->showAgendaView();
2604 QString str; 2604 QString str;
2605 //qDebug("CalendarView::readSettings() "); 2605 //qDebug("CalendarView::readSettings() ");
2606 // read settings from the KConfig, supplying reasonable 2606 // read settings from the KConfig, supplying reasonable
2607 // defaults where none are to be found 2607 // defaults where none are to be found
2608 KConfig *config = KOGlobals::config(); 2608 KConfig *config = KOGlobals::config();
2609#ifndef KORG_NOSPLITTER 2609#ifndef KORG_NOSPLITTER
2610 config->setGroup("KOrganizer Geometry"); 2610 config->setGroup("KOrganizer Geometry");
2611 2611
2612 QValueList<int> sizes = config->readIntListEntry("Separator1"); 2612 QValueList<int> sizes = config->readIntListEntry("Separator1");
2613 if (sizes.count() != 2) { 2613 if (sizes.count() != 2) {
2614 sizes << mDateNavigator->minimumSizeHint().width(); 2614 sizes << mDateNavigator->minimumSizeHint().width();
2615 sizes << 300; 2615 sizes << 300;
2616 } 2616 }
2617 mPanner->setSizes(sizes); 2617 mPanner->setSizes(sizes);
2618 2618
2619 sizes = config->readIntListEntry("Separator2"); 2619 sizes = config->readIntListEntry("Separator2");
2620 if ( ( mResourceView && sizes.count() == 4 ) || 2620 if ( ( mResourceView && sizes.count() == 4 ) ||
2621 ( !mResourceView && sizes.count() == 3 ) ) { 2621 ( !mResourceView && sizes.count() == 3 ) ) {
2622 mLeftSplitter->setSizes(sizes); 2622 mLeftSplitter->setSizes(sizes);
2623 } 2623 }
2624#endif 2624#endif
2625 globalFlagBlockAgenda = 1; 2625 globalFlagBlockAgenda = 1;
2626 mViewManager->showAgendaView(); 2626 mViewManager->showAgendaView();
2627 //mViewManager->readSettings( config ); 2627 //mViewManager->readSettings( config );
2628 mTodoList->restoreLayout(config,QString("Todo Layout")); 2628 mTodoList->restoreLayout(config,QString("Todo Layout"));
2629 readFilterSettings(config); 2629 readFilterSettings(config);
2630 2630
2631#ifdef DESKTOP_VERSION 2631#ifdef DESKTOP_VERSION
2632 config->setGroup("WidgetLayout"); 2632 config->setGroup("WidgetLayout");
2633 QStringList list; 2633 QStringList list;
2634 list = config->readListEntry("MainLayout"); 2634 list = config->readListEntry("MainLayout");
2635 int x,y,w,h; 2635 int x,y,w,h;
2636 if ( ! list.isEmpty() ) { 2636 if ( ! list.isEmpty() ) {
2637 x = list[0].toInt(); 2637 x = list[0].toInt();
2638 y = list[1].toInt(); 2638 y = list[1].toInt();
2639 w = list[2].toInt(); 2639 w = list[2].toInt();
2640 h = list[3].toInt(); 2640 h = list[3].toInt();
2641 KApplication::testCoords( &x,&y,&w,&h ); 2641 KApplication::testCoords( &x,&y,&w,&h );
2642 topLevelWidget()->setGeometry(x,y,w,h); 2642 topLevelWidget()->setGeometry(x,y,w,h);
2643 2643
2644 } else { 2644 } else {
2645 topLevelWidget()->setGeometry( 40 ,40 , 640, 440); 2645 topLevelWidget()->setGeometry( 40 ,40 , 640, 440);
2646 } 2646 }
2647 list = config->readListEntry("EditEventLayout"); 2647 list = config->readListEntry("EditEventLayout");
2648 if ( ! list.isEmpty() ) { 2648 if ( ! list.isEmpty() ) {
2649 x = list[0].toInt(); 2649 x = list[0].toInt();
2650 y = list[1].toInt(); 2650 y = list[1].toInt();
2651 w = list[2].toInt(); 2651 w = list[2].toInt();
2652 h = list[3].toInt(); 2652 h = list[3].toInt();
2653 KApplication::testCoords( &x,&y,&w,&h ); 2653 KApplication::testCoords( &x,&y,&w,&h );
2654 mEventEditor->setGeometry(x,y,w,h); 2654 mEventEditor->setGeometry(x,y,w,h);
2655 2655
2656 } 2656 }
2657 list = config->readListEntry("EditTodoLayout"); 2657 list = config->readListEntry("EditTodoLayout");
2658 if ( ! list.isEmpty() ) { 2658 if ( ! list.isEmpty() ) {
2659 x = list[0].toInt(); 2659 x = list[0].toInt();
2660 y = list[1].toInt(); 2660 y = list[1].toInt();
2661 w = list[2].toInt(); 2661 w = list[2].toInt();
2662 h = list[3].toInt(); 2662 h = list[3].toInt();
2663 KApplication::testCoords( &x,&y,&w,&h ); 2663 KApplication::testCoords( &x,&y,&w,&h );
2664 mTodoEditor->setGeometry(x,y,w,h); 2664 mTodoEditor->setGeometry(x,y,w,h);
2665 2665
2666 } 2666 }
2667 list = config->readListEntry("ViewerLayout"); 2667 list = config->readListEntry("ViewerLayout");
2668 if ( ! list.isEmpty() ) { 2668 if ( ! list.isEmpty() ) {
2669 x = list[0].toInt(); 2669 x = list[0].toInt();
2670 y = list[1].toInt(); 2670 y = list[1].toInt();
2671 w = list[2].toInt(); 2671 w = list[2].toInt();
2672 h = list[3].toInt(); 2672 h = list[3].toInt();
2673 KApplication::testCoords( &x,&y,&w,&h ); 2673 KApplication::testCoords( &x,&y,&w,&h );
2674 getEventViewerDialog()->setGeometry(x,y,w,h); 2674 getEventViewerDialog()->setGeometry(x,y,w,h);
2675 } 2675 }
2676#endif 2676#endif
2677 config->setGroup( "Views" ); 2677 config->setGroup( "Views" );
2678 int dateCount = config->readNumEntry( "ShownDatesCount", 7 ); 2678 int dateCount = config->readNumEntry( "ShownDatesCount", 7 );
2679 2679
2680 QValueList<int> sizes = config->readIntListEntry("Left Splitter Frame"); 2680 QValueList<int> sizes = config->readIntListEntry("Left Splitter Frame");
2681 2681
2682 int resetval = 0; 2682 int resetval = 0;
2683 int maxVal = 0; 2683 int maxVal = 0;
2684 if (sizes.count() != 3) { 2684 if (sizes.count() != 3) {
2685 if ( KOPrefs::instance()->mVerticalScreen ) { 2685 if ( KOPrefs::instance()->mVerticalScreen ) {
2686 resetval = mDateNavigator->sizeHint().width()+2; 2686 resetval = mDateNavigator->sizeHint().width()+2;
2687 } else { 2687 } else {
2688 resetval = mDateNavigator->sizeHint().height()+2; 2688 resetval = mDateNavigator->sizeHint().height()+2;
2689 } 2689 }
2690 } 2690 }
2691 if ( resetval ) { 2691 if ( resetval ) {
2692 sizes.clear(); 2692 sizes.clear();
2693 if ( KOPrefs::instance()->mVerticalScreen ) { 2693 if ( KOPrefs::instance()->mVerticalScreen ) {
2694 maxVal = QApplication::desktop()->width() -10; 2694 maxVal = QApplication::desktop()->width() -10;
2695 } else { 2695 } else {
2696 maxVal = QApplication::desktop()->height()-10; 2696 maxVal = QApplication::desktop()->height()-10;
2697 } 2697 }
2698 sizes << resetval; 2698 sizes << resetval;
2699 if ( maxVal < resetval + resetval) 2699 if ( maxVal < resetval + resetval)
2700 resetval = maxVal - resetval; 2700 resetval = maxVal - resetval;
2701 sizes << resetval; 2701 sizes << resetval;
2702 sizes << 100; 2702 sizes << 100;
2703 } 2703 }
2704 mLeftFrame->setSizes(sizes); 2704 mLeftFrame->setSizes(sizes);
2705 sizes = config->readIntListEntry("Main Splitter Frame"); 2705 sizes = config->readIntListEntry("Main Splitter Frame");
2706 resetval = 0; 2706 resetval = 0;
2707 maxVal = 0; 2707 maxVal = 0;
2708 if (sizes.count() != 2) { 2708 if (sizes.count() != 2) {
2709 if ( !KOPrefs::instance()->mVerticalScreen ) { 2709 if ( !KOPrefs::instance()->mVerticalScreen ) {
2710 resetval = mDateNavigator->sizeHint().width()+2; 2710 resetval = mDateNavigator->sizeHint().width()+2;
2711 } else { 2711 } else {
2712 resetval = mDateNavigator->sizeHint().height()+2; 2712 resetval = mDateNavigator->sizeHint().height()+2;
2713 } 2713 }
2714 } 2714 }
2715 if ( resetval ) { 2715 if ( resetval ) {
2716 sizes.clear(); 2716 sizes.clear();
2717 if ( !KOPrefs::instance()->mVerticalScreen ) { 2717 if ( !KOPrefs::instance()->mVerticalScreen ) {
2718 maxVal = QApplication::desktop()->width() -10; 2718 maxVal = QApplication::desktop()->width() -10;
2719 } else { 2719 } else {
2720 maxVal = QApplication::desktop()->height()-10; 2720 maxVal = QApplication::desktop()->height()-10;
2721 } 2721 }
2722 sizes << resetval; 2722 sizes << resetval;
2723 if ( maxVal < resetval + resetval) 2723 if ( maxVal < resetval + resetval)
2724 resetval = maxVal - resetval; 2724 resetval = maxVal - resetval;
2725 sizes << resetval; 2725 sizes << resetval;
2726 } 2726 }
2727 mMainFrame->setSizes(sizes); 2727 mMainFrame->setSizes(sizes);
2728 if ( dateCount == 5 ) mNavigator->selectWorkWeek(); 2728 if ( dateCount == 5 ) mNavigator->selectWorkWeek();
2729 else if ( dateCount == 7 ) mNavigator->selectWeek(); 2729 else if ( dateCount == 7 ) mNavigator->selectWeek();
2730 else mNavigator->selectDates( dateCount ); 2730 else mNavigator->selectDates( dateCount );
2731 // mViewManager->readSettings( config ); 2731 // mViewManager->readSettings( config );
2732 updateConfig(); 2732 updateConfig();
2733 globalFlagBlockAgenda = 2; 2733 globalFlagBlockAgenda = 2;
2734 mViewManager->readSettings( config ); 2734 mViewManager->readSettings( config );
2735 QTimer::singleShot( 1, mDateNavigator, SLOT ( setResizeEnabled() ) ); 2735 QTimer::singleShot( 1, mDateNavigator, SLOT ( setResizeEnabled() ) );
2736} 2736}
2737 2737
2738void CalendarView::checkSuspendAlarm() 2738void CalendarView::checkSuspendAlarm()
2739{ 2739{
2740 if ( mSuspendTimer->isActive() ) { 2740 if ( mSuspendTimer->isActive() ) {
2741 KMessageBox::information( this, i18n("<b>WARNING:</b> There is a pending suspended alarm!"), i18n("Pending Suspend Alarm")); 2741 KMessageBox::information( this, i18n("<b>WARNING:</b> There is a pending suspended alarm!"), i18n("Pending Suspend Alarm"));
2742 } 2742 }
2743} 2743}
2744void CalendarView::writeSettings() 2744void CalendarView::writeSettings()
2745{ 2745{
2746 // kdDebug() << "CalendarView::writeSettings" << endl; 2746 // kdDebug() << "CalendarView::writeSettings" << endl;
2747 2747
2748 KConfig *config = KOGlobals::config(); 2748 KConfig *config = KOGlobals::config();
2749 2749
2750 mViewManager->writeSettings( config ); 2750 mViewManager->writeSettings( config );
2751 mTodoList->saveLayout(config,QString("Todo Layout")); 2751 mTodoList->saveLayout(config,QString("Todo Layout"));
2752 mDialogManager->writeSettings( config ); 2752 mDialogManager->writeSettings( config );
2753 //KOPrefs::instance()->usrWriteConfig(); 2753 //KOPrefs::instance()->usrWriteConfig();
2754 KOPrefs::instance()->writeConfig(); 2754 KOPrefs::instance()->writeConfig();
2755 2755
2756 writeFilterSettings(config); 2756 writeFilterSettings(config);
2757 config->setGroup( "AppRun" ); 2757 config->setGroup( "AppRun" );
2758 QDateTime dt ( QDate (2005,1,1), QTime( 0,0,0 ) ); 2758 QDateTime dt ( QDate (2005,1,1), QTime( 0,0,0 ) );
2759 int days = dt.daysTo( QDate::currentDate() ); 2759 int days = dt.daysTo( QDate::currentDate() );
2760 dt = dt.addDays( days ); 2760 dt = dt.addDays( days );
2761 int secs = dt.secsTo( QDateTime::currentDateTime() ); 2761 int secs = dt.secsTo( QDateTime::currentDateTime() );
2762 config->writeEntry( "LatestProgramStopDays", days ); 2762 config->writeEntry( "LatestProgramStopDays", days );
2763 config->writeEntry( "LatestProgramStopSecs", secs ); 2763 config->writeEntry( "LatestProgramStopSecs", secs );
2764 //qDebug("KO: Writing stop time: %d ", secs); 2764 //qDebug("KO: Writing stop time: %d ", secs);
2765 //qDebug("KO: Current Time %s ",QDateTime::currentDateTime().toString().latin1() ); 2765 //qDebug("KO: Current Time %s ",QDateTime::currentDateTime().toString().latin1() );
2766 //QDateTime latest = dt.addSecs ( secs ); 2766 //QDateTime latest = dt.addSecs ( secs );
2767 //qDebug("KO: Termination on %s ", latest.toString().latin1()); 2767 //qDebug("KO: Termination on %s ", latest.toString().latin1());
2768 config->setGroup( "Views" ); 2768 config->setGroup( "Views" );
2769 config->writeEntry( "ShownDatesCount", mNavigator->selectedDates().count() ); 2769 config->writeEntry( "ShownDatesCount", mNavigator->selectedDates().count() );
2770 2770
2771#if 0 2771#if 0
2772 qDebug("********************* "); 2772 qDebug("********************* ");
2773 qDebug("Testcode secsto "); 2773 qDebug("Testcode secsto ");
2774 QDateTime dt_nodaylight ( QDate (2005,3,26), QTime( 0,0,0 ) ); 2774 QDateTime dt_nodaylight ( QDate (2005,3,26), QTime( 0,0,0 ) );
2775 QDateTime dt_daylight ( QDate (2005,3,29), QTime( 0,0,0 ) ); 2775 QDateTime dt_daylight ( QDate (2005,3,29), QTime( 0,0,0 ) );
2776 int secsto = dt_nodaylight.secsTo( dt_daylight ); 2776 int secsto = dt_nodaylight.secsTo( dt_daylight );
2777 QDateTime dt_daylight_wrong = dt_nodaylight.addSecs( secsto ); 2777 QDateTime dt_daylight_wrong = dt_nodaylight.addSecs( secsto );
2778 qDebug("dt nodaylight %s ",dt_nodaylight.toString().latin1() ); 2778 qDebug("dt nodaylight %s ",dt_nodaylight.toString().latin1() );
2779 qDebug("dt daylight %s ",dt_daylight.toString().latin1() ); 2779 qDebug("dt daylight %s ",dt_daylight.toString().latin1() );
2780 qDebug("dt daylight_wrong %s ",dt_daylight_wrong.toString().latin1() ); 2780 qDebug("dt daylight_wrong %s ",dt_daylight_wrong.toString().latin1() );
2781 qDebug("Computed secsTo %d . in minutes: %d . in hours: %d ", secsto, secsto/60, secsto/3600); 2781 qDebug("Computed secsTo %d . in minutes: %d . in hours: %d ", secsto, secsto/60, secsto/3600);
2782 qDebug("********************* testcode end"); 2782 qDebug("********************* testcode end");
2783 2783
2784#endif 2784#endif
2785 2785
2786 QValueList<int> listINT = mLeftFrame->sizes(); 2786 QValueList<int> listINT = mLeftFrame->sizes();
2787 config->writeEntry("Left Splitter Frame",listINT); 2787 config->writeEntry("Left Splitter Frame",listINT);
2788 QValueList<int> listINT2 = mMainFrame->sizes(); 2788 QValueList<int> listINT2 = mMainFrame->sizes();
2789 config->writeEntry("Main Splitter Frame",listINT2); 2789 config->writeEntry("Main Splitter Frame",listINT2);
2790#ifdef DESKTOP_VERSION 2790#ifdef DESKTOP_VERSION
2791 config->setGroup("WidgetLayout"); 2791 config->setGroup("WidgetLayout");
2792 QStringList list ;//= config->readListEntry("MainLayout"); 2792 QStringList list ;//= config->readListEntry("MainLayout");
2793 int x,y,w,h; 2793 int x,y,w,h;
2794 QWidget* wid; 2794 QWidget* wid;
2795 wid = topLevelWidget(); 2795 wid = topLevelWidget();
2796 x = wid->geometry().x(); 2796 x = wid->geometry().x();
2797 y = wid->geometry().y(); 2797 y = wid->geometry().y();
2798 w = wid->width(); 2798 w = wid->width();
2799 h = wid->height(); 2799 h = wid->height();
2800 list.clear(); 2800 list.clear();
2801 list << QString::number( x ); 2801 list << QString::number( x );
2802 list << QString::number( y ); 2802 list << QString::number( y );
2803 list << QString::number( w ); 2803 list << QString::number( w );
2804 list << QString::number( h ); 2804 list << QString::number( h );
2805 config->writeEntry("MainLayout",list ); 2805 config->writeEntry("MainLayout",list );
2806 2806
2807 wid = mEventEditor; 2807 wid = mEventEditor;
2808 x = wid->geometry().x(); 2808 x = wid->geometry().x();
2809 y = wid->geometry().y(); 2809 y = wid->geometry().y();
2810 w = wid->width(); 2810 w = wid->width();
2811 h = wid->height(); 2811 h = wid->height();
2812 list.clear(); 2812 list.clear();
2813 list << QString::number( x ); 2813 list << QString::number( x );
2814 list << QString::number( y ); 2814 list << QString::number( y );
2815 list << QString::number( w ); 2815 list << QString::number( w );
2816 list << QString::number( h ); 2816 list << QString::number( h );
2817 config->writeEntry("EditEventLayout",list ); 2817 config->writeEntry("EditEventLayout",list );
2818 2818
2819 wid = mTodoEditor; 2819 wid = mTodoEditor;
2820 x = wid->geometry().x(); 2820 x = wid->geometry().x();
2821 y = wid->geometry().y(); 2821 y = wid->geometry().y();
2822 w = wid->width(); 2822 w = wid->width();
2823 h = wid->height(); 2823 h = wid->height();
2824 list.clear(); 2824 list.clear();
2825 list << QString::number( x ); 2825 list << QString::number( x );
2826 list << QString::number( y ); 2826 list << QString::number( y );
2827 list << QString::number( w ); 2827 list << QString::number( w );
2828 list << QString::number( h ); 2828 list << QString::number( h );
2829 config->writeEntry("EditTodoLayout",list ); 2829 config->writeEntry("EditTodoLayout",list );
2830 wid = getEventViewerDialog(); 2830 wid = getEventViewerDialog();
2831 x = wid->geometry().x(); 2831 x = wid->geometry().x();
2832 y = wid->geometry().y(); 2832 y = wid->geometry().y();
2833 w = wid->width(); 2833 w = wid->width();
2834 h = wid->height(); 2834 h = wid->height();
2835 list.clear(); 2835 list.clear();
2836 list << QString::number( x ); 2836 list << QString::number( x );
2837 list << QString::number( y ); 2837 list << QString::number( y );
2838 list << QString::number( w ); 2838 list << QString::number( w );
2839 list << QString::number( h ); 2839 list << QString::number( h );
2840 config->writeEntry("ViewerLayout",list ); 2840 config->writeEntry("ViewerLayout",list );
2841 wid = mDialogManager->getSearchDialog(); 2841 wid = mDialogManager->getSearchDialog();
2842 if ( wid ) { 2842 if ( wid ) {
2843 x = wid->geometry().x(); 2843 x = wid->geometry().x();
2844 y = wid->geometry().y(); 2844 y = wid->geometry().y();
2845 w = wid->width(); 2845 w = wid->width();
2846 h = wid->height(); 2846 h = wid->height();
2847 list.clear(); 2847 list.clear();
2848 list << QString::number( x ); 2848 list << QString::number( x );
2849 list << QString::number( y ); 2849 list << QString::number( y );
2850 list << QString::number( w ); 2850 list << QString::number( w );
2851 list << QString::number( h ); 2851 list << QString::number( h );
2852 config->writeEntry("SearchLayout",list ); 2852 config->writeEntry("SearchLayout",list );
2853 } 2853 }
2854#endif 2854#endif
2855 2855
2856 2856
2857 config->sync(); 2857 config->sync();
2858} 2858}
2859 2859
2860void CalendarView::readFilterSettings(KConfig *config) 2860void CalendarView::readFilterSettings(KConfig *config)
2861{ 2861{
2862 // kdDebug() << "CalendarView::readFilterSettings()" << endl; 2862 // kdDebug() << "CalendarView::readFilterSettings()" << endl;
2863 2863
2864 mFilters.clear(); 2864 mFilters.clear();
2865 2865
2866 config->setGroup("General"); 2866 config->setGroup("General");
2867 QStringList filterList = config->readListEntry("CalendarFilters"); 2867 QStringList filterList = config->readListEntry("CalendarFilters");
2868 2868
2869 QStringList::ConstIterator it = filterList.begin(); 2869 QStringList::ConstIterator it = filterList.begin();
2870 QStringList::ConstIterator end = filterList.end(); 2870 QStringList::ConstIterator end = filterList.end();
2871 while(it != end) { 2871 while(it != end) {
2872 // kdDebug() << " filter: " << (*it) << endl; 2872 // kdDebug() << " filter: " << (*it) << endl;
2873 2873
2874 CalFilter *filter; 2874 CalFilter *filter;
2875 filter = new CalFilter(*it); 2875 filter = new CalFilter(*it);
2876 config->setGroup("Filter_" + (*it).utf8()); 2876 config->setGroup("Filter_" + (*it).utf8());
2877 //qDebug("readFilterSettings %d ",config->readNumEntry("Criteria",0) ); 2877 //qDebug("readFilterSettings %d ",config->readNumEntry("Criteria",0) );
2878 filter->setCriteria(config->readNumEntry("Criteria",0)); 2878 filter->setCriteria(config->readNumEntry("Criteria",0));
2879 filter->setCategoryList(config->readListEntry("CategoryList")); 2879 filter->setCategoryList(config->readListEntry("CategoryList"));
2880 mFilters.append(filter); 2880 mFilters.append(filter);
2881 2881
2882 ++it; 2882 ++it;
2883 } 2883 }
2884 2884
2885 if (mFilters.count() == 0) { 2885 if (mFilters.count() == 0) {
2886 CalFilter *filter = new CalFilter(i18n("Default")); 2886 CalFilter *filter = new CalFilter(i18n("Default"));
2887 mFilters.append(filter); 2887 mFilters.append(filter);
2888 } 2888 }
2889 mFilterView->updateFilters(); 2889 mFilterView->updateFilters();
2890 config->setGroup("FilterView"); 2890 config->setGroup("FilterView");
2891 2891
2892 mFilterView->blockSignals(true); 2892 mFilterView->blockSignals(true);
2893 mFilterView->setFiltersEnabled(config->readBoolEntry("FilterEnabled")); 2893 mFilterView->setFiltersEnabled(config->readBoolEntry("FilterEnabled"));
2894 mFilterView->setSelectedFilter(config->readEntry("Current Filter")); 2894 mFilterView->setSelectedFilter(config->readEntry("Current Filter"));
2895 mFilterView->blockSignals(false); 2895 mFilterView->blockSignals(false);
2896 // We do it manually to avoid it being done twice by the above calls 2896 // We do it manually to avoid it being done twice by the above calls
2897 updateFilter(); 2897 updateFilter();
2898} 2898}
2899 2899
2900void CalendarView::writeFilterSettings(KConfig *config) 2900void CalendarView::writeFilterSettings(KConfig *config)
2901{ 2901{
2902 // kdDebug() << "CalendarView::writeFilterSettings()" << endl; 2902 // kdDebug() << "CalendarView::writeFilterSettings()" << endl;
2903 2903
2904 QStringList filterList; 2904 QStringList filterList;
2905 2905
2906 CalFilter *filter = mFilters.first(); 2906 CalFilter *filter = mFilters.first();
2907 while(filter) { 2907 while(filter) {
2908 // kdDebug() << " fn: " << filter->name() << endl; 2908 // kdDebug() << " fn: " << filter->name() << endl;
2909 filterList << filter->name(); 2909 filterList << filter->name();
2910 config->setGroup("Filter_" + filter->name().utf8()); 2910 config->setGroup("Filter_" + filter->name().utf8());
2911 config->writeEntry("Criteria",filter->criteria()); 2911 config->writeEntry("Criteria",filter->criteria());
2912 config->writeEntry("CategoryList",filter->categoryList()); 2912 config->writeEntry("CategoryList",filter->categoryList());
2913 filter = mFilters.next(); 2913 filter = mFilters.next();
2914 } 2914 }
2915 config->setGroup("General"); 2915 config->setGroup("General");
2916 config->writeEntry("CalendarFilters",filterList); 2916 config->writeEntry("CalendarFilters",filterList);
2917 2917
2918 config->setGroup("FilterView"); 2918 config->setGroup("FilterView");
2919 config->writeEntry("FilterEnabled",mFilterView->filtersEnabled()); 2919 config->writeEntry("FilterEnabled",mFilterView->filtersEnabled());
2920 config->writeEntry("Current Filter",mFilterView->selectedFilter()->name()); 2920 config->writeEntry("Current Filter",mFilterView->selectedFilter()->name());
2921} 2921}
2922 2922
2923 2923
2924void CalendarView::goToday() 2924void CalendarView::goToday()
2925{ 2925{
2926 if ( mViewManager->currentView()->isMonthView() ) 2926 if ( mViewManager->currentView()->isMonthView() )
2927 mNavigator->selectTodayMonth(); 2927 mNavigator->selectTodayMonth();
2928 else 2928 else
2929 mNavigator->selectToday(); 2929 mNavigator->selectToday();
2930} 2930}
2931 2931
2932void CalendarView::goNext() 2932void CalendarView::goNext()
2933{ 2933{
2934 mNavigator->selectNext(); 2934 mNavigator->selectNext();
2935} 2935}
2936 2936
2937void CalendarView::goPrevious() 2937void CalendarView::goPrevious()
2938{ 2938{
2939 mNavigator->selectPrevious(); 2939 mNavigator->selectPrevious();
2940} 2940}
2941void CalendarView::goNextMonth() 2941void CalendarView::goNextMonth()
2942{ 2942{
2943 mNavigator->selectNextMonth(); 2943 mNavigator->selectNextMonth();
2944} 2944}
2945 2945
2946void CalendarView::goPreviousMonth() 2946void CalendarView::goPreviousMonth()
2947{ 2947{
2948 mNavigator->selectPreviousMonth(); 2948 mNavigator->selectPreviousMonth();
2949} 2949}
2950 2950
2951void CalendarView::updateConfig() 2951void CalendarView::updateConfig()
2952{ 2952{
2953 if ( KOPrefs::instance()->mUseAppColors ) 2953 if ( KOPrefs::instance()->mUseAppColors )
2954 QApplication::setPalette( QPalette (KOPrefs::instance()->mAppColor1, KOPrefs::instance()->mAppColor2), true ); 2954 QApplication::setPalette( QPalette (KOPrefs::instance()->mAppColor1, KOPrefs::instance()->mAppColor2), true );
2955 emit configChanged(); 2955 emit configChanged();
2956 mTodoList->updateConfig(); 2956 mTodoList->updateConfig();
2957 // mDateNavigator->setFont ( KOPrefs::instance()->mDateNavigatorFont); 2957 // mDateNavigator->setFont ( KOPrefs::instance()->mDateNavigatorFont);
2958 mCalendar->setTimeZoneId(KPimGlobalPrefs::instance()->mTimeZoneId); 2958 mCalendar->setTimeZoneId(KPimGlobalPrefs::instance()->mTimeZoneId);
2959 // To make the "fill window" configurations work 2959 // To make the "fill window" configurations work
2960 //mViewManager->raiseCurrentView(); 2960 //mViewManager->raiseCurrentView();
2961} 2961}
2962 2962
2963 2963
2964void CalendarView::eventChanged(Event *event) 2964void CalendarView::eventChanged(Event *event)
2965{ 2965{
2966 changeEventDisplay(event,KOGlobals::EVENTEDITED); 2966 changeEventDisplay(event,KOGlobals::EVENTEDITED);
2967 //updateUnmanagedViews(); 2967 //updateUnmanagedViews();
2968} 2968}
2969 2969
2970void CalendarView::eventAdded(Event *event) 2970void CalendarView::eventAdded(Event *event)
2971{ 2971{
2972 changeEventDisplay(event,KOGlobals::EVENTADDED); 2972 changeEventDisplay(event,KOGlobals::EVENTADDED);
2973} 2973}
2974 2974
2975void CalendarView::eventToBeDeleted(Event *) 2975void CalendarView::eventToBeDeleted(Event *)
2976{ 2976{
2977 kdDebug() << "CalendarView::eventToBeDeleted(): to be implemented" << endl; 2977 kdDebug() << "CalendarView::eventToBeDeleted(): to be implemented" << endl;
2978} 2978}
2979 2979
2980void CalendarView::eventDeleted() 2980void CalendarView::eventDeleted()
2981{ 2981{
2982 changeEventDisplay(0,KOGlobals::EVENTDELETED); 2982 changeEventDisplay(0,KOGlobals::EVENTDELETED);
2983} 2983}
2984void CalendarView::changeTodoDisplay(Todo *which, int action) 2984void CalendarView::changeTodoDisplay(Todo *which, int action)
2985{ 2985{
2986 changeIncidenceDisplay((Incidence *)which, action); 2986 changeIncidenceDisplay((Incidence *)which, action);
2987 mDateNavigator->updateView(); //LR 2987 mDateNavigator->updateView(); //LR
2988 //mDialogManager->updateSearchDialog(); 2988 //mDialogManager->updateSearchDialog();
2989 2989
2990 if (which) { 2990 if (which) {
2991 mViewManager->updateWNview(); 2991 mViewManager->updateWNview();
2992 //mTodoList->updateView(); 2992 //mTodoList->updateView();
2993 } 2993 }
2994 2994
2995} 2995}
2996 2996
2997void CalendarView::changeIncidenceDisplay(Incidence *which, int action) 2997void CalendarView::changeIncidenceDisplay(Incidence *which, int action)
2998{ 2998{
2999 updateUnmanagedViews(); 2999 updateUnmanagedViews();
3000 //qDebug(" CalendarView::changeIncidenceDisplay++++++++++++++++++++++++++ %d %d ",which, action ); 3000 //qDebug(" CalendarView::changeIncidenceDisplay++++++++++++++++++++++++++ %d %d ",which, action );
3001 if ( action == KOGlobals::EVENTDELETED ) { //delete 3001 if ( action == KOGlobals::EVENTDELETED ) { //delete
3002 mCalendar->checkAlarmForIncidence( 0, true ); 3002 mCalendar->checkAlarmForIncidence( 0, true );
3003 if ( mEventViewerDialog ) 3003 if ( mEventViewerDialog )
3004 mEventViewerDialog->hide(); 3004 mEventViewerDialog->hide();
3005 } 3005 }
3006 else 3006 else
3007 mCalendar->checkAlarmForIncidence( which , false ); 3007 mCalendar->checkAlarmForIncidence( which , false );
3008} 3008}
3009 3009
3010// most of the changeEventDisplays() right now just call the view's 3010// most of the changeEventDisplays() right now just call the view's
3011// total update mode, but they SHOULD be recoded to be more refresh-efficient. 3011// total update mode, but they SHOULD be recoded to be more refresh-efficient.
3012void CalendarView::changeEventDisplay(Event *which, int action) 3012void CalendarView::changeEventDisplay(Event *which, int action)
3013{ 3013{
3014 // kdDebug() << "CalendarView::changeEventDisplay" << endl; 3014 // kdDebug() << "CalendarView::changeEventDisplay" << endl;
3015 changeIncidenceDisplay((Incidence *)which, action); 3015 changeIncidenceDisplay((Incidence *)which, action);
3016 static bool clearallviews = false; 3016 static bool clearallviews = false;
3017 if ( KOPrefs::instance()->mGlobalUpdateDisabled ) { 3017 if ( KOPrefs::instance()->mGlobalUpdateDisabled ) {
3018 if ( clearallviews ) { 3018 if ( clearallviews ) {
3019 clearAllViews(); 3019 clearAllViews();
3020 clearallviews = false; 3020 clearallviews = false;
3021 } 3021 }
3022 return; 3022 return;
3023 } 3023 }
3024 clearallviews = true; 3024 clearallviews = true;
3025 mDateNavigator->updateView(); 3025 mDateNavigator->updateView();
3026 //mDialogManager->updateSearchDialog(); 3026 //mDialogManager->updateSearchDialog();
3027 if (which) { 3027 if (which) {
3028 // If there is an event view visible update the display 3028 // If there is an event view visible update the display
3029 mViewManager->currentView()->changeEventDisplay(which,action); 3029 mViewManager->currentView()->changeEventDisplay(which,action);
3030 // TODO: check, if update needed 3030 // TODO: check, if update needed
3031 // if (which->getTodoStatus()) { 3031 // if (which->getTodoStatus()) {
3032 mTodoList->updateView(); 3032 mTodoList->updateView();
3033 if ( action != KOGlobals::EVENTDELETED && 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{
3194 return KMessageBox::warningContinueCancel(this,name +"\n\n"+ 3201 return KMessageBox::warningContinueCancel(this,name +"\n\n"+
3195 i18n("This item will be\npermanently deleted."), 3202 i18n("This item will be\npermanently deleted."),
3196 i18n("KO/Pi Confirmation"),i18n("Delete")); 3203 i18n("KO/Pi Confirmation"),i18n("Delete"));
3197} 3204}
3198 3205
3199 3206
3200void CalendarView::edit_cut() 3207void CalendarView::edit_cut()
3201{ 3208{
3202 Event *anEvent=0; 3209 Event *anEvent=0;
3203 3210
3204 Incidence *incidence = mViewManager->currentView()->selectedIncidences().first(); 3211 Incidence *incidence = mViewManager->currentView()->selectedIncidences().first();
3205 3212
3206 if (mViewManager->currentView()->isEventView()) { 3213 if (mViewManager->currentView()->isEventView()) {
3207 if ( incidence && incidence->typeID() == eventID ) { 3214 if ( incidence && incidence->typeID() == eventID ) {
3208 anEvent = static_cast<Event *>(incidence); 3215 anEvent = static_cast<Event *>(incidence);
3209 } 3216 }
3210 } 3217 }
3211 3218
3212 if (!anEvent) { 3219 if (!anEvent) {
3213 KNotifyClient::beep(); 3220 KNotifyClient::beep();
3214 return; 3221 return;
3215 } 3222 }
3216 DndFactory factory( mCalendar ); 3223 DndFactory factory( mCalendar );
3217 factory.cutIncidence(anEvent); 3224 factory.cutIncidence(anEvent);
3218 changeEventDisplay(anEvent, KOGlobals::EVENTDELETED); 3225 changeEventDisplay(anEvent, KOGlobals::EVENTDELETED);
3219} 3226}
3220 3227
3221void CalendarView::edit_copy() 3228void CalendarView::edit_copy()
3222{ 3229{
3223 Event *anEvent=0; 3230 Event *anEvent=0;
3224 3231
3225 Incidence *incidence = mViewManager->currentView()->selectedIncidences().first(); 3232 Incidence *incidence = mViewManager->currentView()->selectedIncidences().first();
3226 3233
3227 if (mViewManager->currentView()->isEventView()) { 3234 if (mViewManager->currentView()->isEventView()) {
3228 if ( incidence && incidence->typeID() == eventID ) { 3235 if ( incidence && incidence->typeID() == eventID ) {
3229 anEvent = static_cast<Event *>(incidence); 3236 anEvent = static_cast<Event *>(incidence);
3230 } 3237 }
3231 } 3238 }
3232 3239
3233 if (!anEvent) { 3240 if (!anEvent) {
3234 KNotifyClient::beep(); 3241 KNotifyClient::beep();
3235 return; 3242 return;
3236 } 3243 }
3237 DndFactory factory( mCalendar ); 3244 DndFactory factory( mCalendar );
3238 factory.copyIncidence(anEvent); 3245 factory.copyIncidence(anEvent);
3239} 3246}
3240 3247
3241void CalendarView::edit_paste() 3248void CalendarView::edit_paste()
3242{ 3249{
3243 QDate date = mNavigator->selectedDates().first(); 3250 QDate date = mNavigator->selectedDates().first();
3244 3251
3245 DndFactory factory( mCalendar ); 3252 DndFactory factory( mCalendar );
3246 Event *pastedEvent = (Event *)factory.pasteIncidence( date ); 3253 Event *pastedEvent = (Event *)factory.pasteIncidence( date );
3247 3254
3248 changeEventDisplay( pastedEvent, KOGlobals::EVENTADDED ); 3255 changeEventDisplay( pastedEvent, KOGlobals::EVENTADDED );
3249} 3256}
3250void CalendarView::edit_global_options() 3257void CalendarView::edit_global_options()
3251{ 3258{
3252 QString tz = KPimGlobalPrefs::instance()->mTimeZoneId; 3259 QString tz = KPimGlobalPrefs::instance()->mTimeZoneId;
3253 emit save(); 3260 emit save();
3254 emit saveStopTimer(); 3261 emit saveStopTimer();
3255 mDialogManager->showGlobalOptionsDialog(); 3262 mDialogManager->showGlobalOptionsDialog();
3256 if ( tz != KPimGlobalPrefs::instance()->mTimeZoneId) { 3263 if ( tz != KPimGlobalPrefs::instance()->mTimeZoneId) {
3257 emit saveStopTimer(); 3264 emit saveStopTimer();
3258 if ( KMessageBox::Cancel == KMessageBox::warningContinueCancel(this, i18n("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!"), 3265 if ( KMessageBox::Cancel == KMessageBox::warningContinueCancel(this, i18n("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!"),
3259 i18n("Timezone settings"),i18n("Reload"))) { 3266 i18n("Timezone settings"),i18n("Reload"))) {
3260 qDebug("KO: TZ reload cancelled "); 3267 qDebug("KO: TZ reload cancelled ");
3261 mCalendar->setTimeZoneId(KPimGlobalPrefs::instance()->mTimeZoneId); 3268 mCalendar->setTimeZoneId(KPimGlobalPrefs::instance()->mTimeZoneId);
3262 return; 3269 return;
3263 } 3270 }
3264 qDebug("KO: Timezone change "); 3271 qDebug("KO: Timezone change ");
3265 loadCalendars(); 3272 loadCalendars();
3266 setModified(true); 3273 setModified(true);
3267 } 3274 }
3268 else 3275 else
3269 qDebug("KO: No tz change "); 3276 qDebug("KO: No tz change ");
3270} 3277}
3271void CalendarView::edit_options() 3278void CalendarView::edit_options()
3272{ 3279{
3273 mDialogManager->showOptionsDialog(); 3280 mDialogManager->showOptionsDialog();
3274} 3281}
3275 3282
3276 3283
3277void CalendarView::slotSelectPickerDate( QDate d) 3284void CalendarView::slotSelectPickerDate( QDate d)
3278{ 3285{
3279 mDateFrame->hide(); 3286 mDateFrame->hide();
3280 if ( mDatePickerMode == 1 ) { 3287 if ( mDatePickerMode == 1 ) {
3281 mNavigator->slotDaySelect( d ); 3288 mNavigator->slotDaySelect( d );
3282 } else if ( mDatePickerMode == 2 ) { 3289 } else if ( mDatePickerMode == 2 ) {
3283 if ( mMoveIncidence->typeID() == todoID ) { 3290 if ( mMoveIncidence->typeID() == todoID ) {
3284 Todo * to = (Todo *) mMoveIncidence; 3291 Todo * to = (Todo *) mMoveIncidence;
3285 QTime tim; 3292 QTime tim;
3286 int len = 0; 3293 int len = 0;
3287 if ( to->hasStartDate() && to->hasDueDate() ) 3294 if ( to->hasStartDate() && to->hasDueDate() )
3288 len = to->dtStart().secsTo( to->dtDue()); 3295 len = to->dtStart().secsTo( to->dtDue());
3289 if ( to->hasDueDate() ) 3296 if ( to->hasDueDate() )
3290 tim = to->dtDue().time(); 3297 tim = to->dtDue().time();
3291 else { 3298 else {
3292 tim = QTime ( 0,0,0 ); 3299 tim = QTime ( 0,0,0 );
3293 to->setFloats( true ); 3300 to->setFloats( true );
3294 to->setHasDueDate( true ); 3301 to->setHasDueDate( true );
3295 } 3302 }
3296 QDateTime dt ( d,tim ); 3303 QDateTime dt ( d,tim );
3297 to->setDtDue( dt ); 3304 to->setDtDue( dt );
3298 3305
3299 if ( to->hasStartDate() ) { 3306 if ( to->hasStartDate() ) {
3300 if ( len>0 ) 3307 if ( len>0 )
3301 to->setDtStart(to->dtDue().addSecs( -len )); 3308 to->setDtStart(to->dtDue().addSecs( -len ));
3302 else 3309 else
3303 if (to->dtStart() > to->dtDue() ) 3310 if (to->dtStart() > to->dtDue() )
3304 to->setDtStart(to->dtDue().addDays( -3 )); 3311 to->setDtStart(to->dtDue().addDays( -3 ));
3305 } 3312 }
3306 3313
3307 todoChanged( to ); 3314 todoChanged( to );
3308 } else if ( mMoveIncidence->typeID() == eventID ) { 3315 } else if ( mMoveIncidence->typeID() == eventID ) {
3309 if ( mMoveIncidence->doesRecur() ) { 3316 if ( mMoveIncidence->doesRecur() ) {
3310#if 0 3317#if 0
3311 // PENDING implement this 3318 // PENDING implement this
3312 Incidence* newInc = mMoveIncidence->recreateCloneException( mMoveIncidenceOldDate ); 3319 Incidence* newInc = mMoveIncidence->recreateCloneException( mMoveIncidenceOldDate );
3313 mCalendar()->addIncidence( newInc ); 3320 mCalendar()->addIncidence( newInc );
3314 if ( mMoveIncidence->typeID() == todoID ) 3321 if ( mMoveIncidence->typeID() == todoID )
3315 emit todoMoved((Todo*)mMoveIncidence, KOGlobals::EVENTEDITED ); 3322 emit todoMoved((Todo*)mMoveIncidence, KOGlobals::EVENTEDITED );
3316 else 3323 else
3317 emit incidenceChanged(mMoveIncidence, KOGlobals::EVENTEDITED); 3324 emit incidenceChanged(mMoveIncidence, KOGlobals::EVENTEDITED);
3318 mMoveIncidence = newInc; 3325 mMoveIncidence = newInc;
3319 3326
3320#endif 3327#endif
3321 } 3328 }
3322 QTime tim = mMoveIncidence->dtStart().time(); 3329 QTime tim = mMoveIncidence->dtStart().time();
3323 int secs = mMoveIncidence->dtStart().secsTo( mMoveIncidence->dtEnd()); 3330 int secs = mMoveIncidence->dtStart().secsTo( mMoveIncidence->dtEnd());
3324 QDateTime dt ( d,tim ); 3331 QDateTime dt ( d,tim );
3325 mMoveIncidence->setDtStart( dt ); 3332 mMoveIncidence->setDtStart( dt );
3326 ((Event*)mMoveIncidence)->setDtEnd( dt.addSecs( secs ) ); 3333 ((Event*)mMoveIncidence)->setDtEnd( dt.addSecs( secs ) );
3327 changeEventDisplay((Event*)mMoveIncidence, KOGlobals::EVENTEDITED); 3334 changeEventDisplay((Event*)mMoveIncidence, KOGlobals::EVENTEDITED);
3328 } else if ( mMoveIncidence->typeID() == journalID ) { 3335 } else if ( mMoveIncidence->typeID() == journalID ) {
3329 QTime tim = mMoveIncidence->dtStart().time(); 3336 QTime tim = mMoveIncidence->dtStart().time();
3330 QDateTime dt ( d,tim ); 3337 QDateTime dt ( d,tim );
3331 mMoveIncidence->setDtStart( dt ); 3338 mMoveIncidence->setDtStart( dt );
3332 updateView(); 3339 updateView();
3333 } 3340 }
3334 mMoveIncidence->setRevision( mMoveIncidence->revision()+1 ); 3341 mMoveIncidence->setRevision( mMoveIncidence->revision()+1 );
3335 } 3342 }
3336} 3343}
3337 3344
3338void CalendarView::removeCategories() 3345void CalendarView::removeCategories()
3339{ 3346{
3340 QPtrList<Incidence> incList = mCalendar->rawIncidences(); 3347 QPtrList<Incidence> incList = mCalendar->rawIncidences();
3341 QStringList catList = KOPrefs::instance()->mCustomCategories; 3348 QStringList catList = KOPrefs::instance()->mCustomCategories;
3342 QStringList catIncList; 3349 QStringList catIncList;
3343 QStringList newCatList; 3350 QStringList newCatList;
3344 Incidence* inc = incList.first(); 3351 Incidence* inc = incList.first();
3345 uint i; 3352 uint i;
3346 while ( inc ) { 3353 while ( inc ) {
3347 newCatList.clear(); 3354 newCatList.clear();
3348 catIncList = inc->categories() ; 3355 catIncList = inc->categories() ;
3349 for( i = 0; i< catIncList.count(); ++i ) { 3356 for( i = 0; i< catIncList.count(); ++i ) {
3350 if ( catList.contains (catIncList[i])) 3357 if ( catList.contains (catIncList[i]))
3351 newCatList.append( catIncList[i] ); 3358 newCatList.append( catIncList[i] );
3352 } 3359 }
3353 newCatList.sort(); 3360 newCatList.sort();
3354 inc->setCategories( newCatList.join(",") ); 3361 inc->setCategories( newCatList.join(",") );
3355 inc = incList.next(); 3362 inc = incList.next();
3356 } 3363 }
3357} 3364}
3358 3365
3359int CalendarView::addCategories() 3366int CalendarView::addCategories()
3360{ 3367{
3361 QPtrList<Incidence> incList = mCalendar->rawIncidences(); 3368 QPtrList<Incidence> incList = mCalendar->rawIncidences();
3362 QStringList catList = KOPrefs::instance()->mCustomCategories; 3369 QStringList catList = KOPrefs::instance()->mCustomCategories;
3363 QStringList catIncList; 3370 QStringList catIncList;
3364 Incidence* inc = incList.first(); 3371 Incidence* inc = incList.first();
3365 uint i; 3372 uint i;
3366 int count = 0; 3373 int count = 0;
3367 while ( inc ) { 3374 while ( inc ) {
3368 catIncList = inc->categories() ; 3375 catIncList = inc->categories() ;
3369 for( i = 0; i< catIncList.count(); ++i ) { 3376 for( i = 0; i< catIncList.count(); ++i ) {
3370 if ( !catList.contains (catIncList[i])) { 3377 if ( !catList.contains (catIncList[i])) {
3371 catList.append( catIncList[i] ); 3378 catList.append( catIncList[i] );
3372 //qDebug("add cat %s ", catIncList[i].latin1()); 3379 //qDebug("add cat %s ", catIncList[i].latin1());
3373 ++count; 3380 ++count;
3374 } 3381 }
3375 } 3382 }
3376 inc = incList.next(); 3383 inc = incList.next();
3377 } 3384 }
3378 catList.sort(); 3385 catList.sort();
3379 KOPrefs::instance()->mCustomCategories = catList; 3386 KOPrefs::instance()->mCustomCategories = catList;
3380 return count; 3387 return count;
3381} 3388}
3382 3389
3383void CalendarView::editCategories() 3390void CalendarView::editCategories()
3384{ 3391{
3385 qDebug("CalendarView::editCategories() "); 3392 qDebug("CalendarView::editCategories() ");
3386 KPIM::CategoryEditDialog ced (KOPrefs::instance(),this ); 3393 KPIM::CategoryEditDialog ced (KOPrefs::instance(),this );
3387 ced.exec(); 3394 ced.exec();
3388} 3395}
3389void CalendarView::manageCategories() 3396void CalendarView::manageCategories()
3390{ 3397{
3391 KOCatPrefs* cp = new KOCatPrefs(); 3398 KOCatPrefs* cp = new KOCatPrefs();
3392 cp->show(); 3399 cp->show();
3393 int w =cp->sizeHint().width() ; 3400 int w =cp->sizeHint().width() ;
3394 int h = cp->sizeHint().height() ; 3401 int h = cp->sizeHint().height() ;
3395 int dw = QApplication::desktop()->width(); 3402 int dw = QApplication::desktop()->width();
3396 int dh = QApplication::desktop()->height(); 3403 int dh = QApplication::desktop()->height();
3397 cp->setGeometry( (dw-w)/2, (dh - h )/2 ,w,h ); 3404 cp->setGeometry( (dw-w)/2, (dh - h )/2 ,w,h );
3398 if ( !cp->exec() ) { 3405 if ( !cp->exec() ) {
3399 delete cp; 3406 delete cp;
3400 return; 3407 return;
3401 } 3408 }
3402 int count = 0; 3409 int count = 0;
3403 if ( cp->addCat() ) { 3410 if ( cp->addCat() ) {
3404 count = addCategories(); 3411 count = addCategories();
3405 if ( count ) { 3412 if ( count ) {
3406 topLevelWidget()->setCaption(QString::number( count )+ i18n(" Categories added to list! ")); 3413 topLevelWidget()->setCaption(QString::number( count )+ i18n(" Categories added to list! "));
3407 writeSettings(); 3414 writeSettings();
3408 } else 3415 } else
3409 topLevelWidget()->setCaption(QString::number( 0 )+ i18n(" Categories added to list! ")); 3416 topLevelWidget()->setCaption(QString::number( 0 )+ i18n(" Categories added to list! "));
3410 } else { 3417 } else {
3411 removeCategories(); 3418 removeCategories();
3412 updateView(); 3419 updateView();
3413 } 3420 }
3414 delete cp; 3421 delete cp;
3415} 3422}
3416 3423
3417void CalendarView::beamIncidence(Incidence * Inc) 3424void CalendarView::beamIncidence(Incidence * Inc)
3418{ 3425{
3419 QPtrList<Incidence> delSel ; 3426 QPtrList<Incidence> delSel ;
3420 delSel.append(Inc); 3427 delSel.append(Inc);
3421 beamIncidenceList( delSel ); 3428 beamIncidenceList( delSel );
3422} 3429}
3423void CalendarView::beamCalendar() 3430void CalendarView::beamCalendar()
3424{ 3431{
3425 QPtrList<Incidence> delSel = mCalendar->rawIncidences(); 3432 QPtrList<Incidence> delSel = mCalendar->rawIncidences();
3426 //qDebug("beamCalendar() "); 3433 //qDebug("beamCalendar() ");
3427 beamIncidenceList( delSel ); 3434 beamIncidenceList( delSel );
3428} 3435}
3429void CalendarView::beamFilteredCalendar() 3436void CalendarView::beamFilteredCalendar()
3430{ 3437{
3431 QPtrList<Incidence> delSel = mCalendar->incidences(); 3438 QPtrList<Incidence> delSel = mCalendar->incidences();
3432 //qDebug("beamFilteredCalendar() "); 3439 //qDebug("beamFilteredCalendar() ");
3433 beamIncidenceList( delSel ); 3440 beamIncidenceList( delSel );
3434} 3441}
3435void CalendarView::beamIncidenceList(QPtrList<Incidence> delSel ) 3442void CalendarView::beamIncidenceList(QPtrList<Incidence> delSel )
3436{ 3443{
3437 3444
3438 KOBeamPrefs beamDialog; 3445 KOBeamPrefs beamDialog;
3439 if ( beamDialog.exec () == QDialog::Rejected ) 3446 if ( beamDialog.exec () == QDialog::Rejected )
3440 return; 3447 return;
3441#ifdef DESKTOP_VERSION 3448#ifdef DESKTOP_VERSION
3442 QString fn = locateLocal( "tmp", "kopibeamfile" ); 3449 QString fn = locateLocal( "tmp", "kopibeamfile" );
3443#else 3450#else
3444 QString fn = "/tmp/kopibeamfile"; 3451 QString fn = "/tmp/kopibeamfile";
3445#endif 3452#endif
3446 QString mes; 3453 QString mes;
3447 bool createbup = true; 3454 bool createbup = true;
3448 if ( createbup ) { 3455 if ( createbup ) {
3449 QString description = "\n"; 3456 QString description = "\n";
3450 CalendarLocal* cal = new CalendarLocal(); 3457 CalendarLocal* cal = new CalendarLocal();
3451 if ( beamDialog.beamLocal() ) 3458 if ( beamDialog.beamLocal() )
3452 cal->setLocalTime(); 3459 cal->setLocalTime();
3453 else 3460 else
3454 cal->setTimeZoneId(KPimGlobalPrefs::instance()->mTimeZoneId); 3461 cal->setTimeZoneId(KPimGlobalPrefs::instance()->mTimeZoneId);
3455 Incidence *incidence = delSel.first(); 3462 Incidence *incidence = delSel.first();
3456 bool addText = false; 3463 bool addText = false;
3457 if ( delSel.count() < 10 ) 3464 if ( delSel.count() < 10 )
3458 addText = true; 3465 addText = true;
3459 else { 3466 else {
3460 description.sprintf(i18n(" %d items?"),delSel.count() ); 3467 description.sprintf(i18n(" %d items?"),delSel.count() );
3461 } 3468 }
3462 while ( incidence ) { 3469 while ( incidence ) {
3463 Incidence *in = incidence->clone(); 3470 Incidence *in = incidence->clone();
3464 if ( ! in->summary().isEmpty() ) { 3471 if ( ! in->summary().isEmpty() ) {
3465 in->setDescription(""); 3472 in->setDescription("");
3466 } else { 3473 } else {
3467 in->setSummary( in->description().left(20)); 3474 in->setSummary( in->description().left(20));
3468 in->setDescription(""); 3475 in->setDescription("");
3469 } 3476 }
3470 if ( addText ) 3477 if ( addText )
3471 description += in->summary() + "\n"; 3478 description += in->summary() + "\n";
3472 cal->addIncidence( in ); 3479 cal->addIncidence( in );
3473 incidence = delSel.next(); 3480 incidence = delSel.next();
3474 } 3481 }
3475 if ( beamDialog.beamVcal() ) { 3482 if ( beamDialog.beamVcal() ) {
3476 fn += ".vcs"; 3483 fn += ".vcs";
3477 FileStorage storage( cal, fn, new VCalFormat ); 3484 FileStorage storage( cal, fn, new VCalFormat );
3478 storage.save(); 3485 storage.save();
3479 } else { 3486 } else {
3480 fn += ".ics"; 3487 fn += ".ics";
3481 FileStorage storage( cal, fn, new ICalFormat( ) ); 3488 FileStorage storage( cal, fn, new ICalFormat( ) );
3482 storage.save(); 3489 storage.save();
3483 } 3490 }
3484 delete cal; 3491 delete cal;
3485 mes = i18n("KO/Pi: Ready for beaming"); 3492 mes = i18n("KO/Pi: Ready for beaming");
3486 topLevelWidget()->setCaption(mes); 3493 topLevelWidget()->setCaption(mes);
3487 KApplication::convert2latin1( fn ); 3494 KApplication::convert2latin1( fn );
3488#ifndef DESKTOP_VERSION 3495#ifndef DESKTOP_VERSION
3489 Ir *ir = new Ir( this ); 3496 Ir *ir = new Ir( this );
3490 connect( ir, SIGNAL( done( Ir * ) ), this, SLOT( beamDone( Ir * ) ) ); 3497 connect( ir, SIGNAL( done( Ir * ) ), this, SLOT( beamDone( Ir * ) ) );
3491 ir->send( fn, description, "text/x-vCalendar" ); 3498 ir->send( fn, description, "text/x-vCalendar" );
3492#endif 3499#endif
3493 } 3500 }
3494} 3501}
3495 3502
3496#ifndef DESKTOP_VERSION 3503#ifndef DESKTOP_VERSION
3497void CalendarView::beamDone( Ir *ir ) 3504void CalendarView::beamDone( Ir *ir )
3498{ 3505{
3499 delete ir; 3506 delete ir;
3500 topLevelWidget()->setCaption( i18n("KO/Pi: Beaming done.") ); 3507 topLevelWidget()->setCaption( i18n("KO/Pi: Beaming done.") );
3501 topLevelWidget()->raise(); 3508 topLevelWidget()->raise();
3502} 3509}
3503#else 3510#else
3504void CalendarView::beamDone( Ir *){;} 3511void CalendarView::beamDone( Ir *){;}
3505#endif 3512#endif
3506void CalendarView::moveIncidence(Incidence * inc ) 3513void CalendarView::moveIncidence(Incidence * inc )
3507{ 3514{
3508 if ( !inc ) return; 3515 if ( !inc ) return;
3509 showDatePickerPopup(); 3516 showDatePickerPopup();
3510 mDatePickerMode = 2; 3517 mDatePickerMode = 2;
3511 mMoveIncidence = inc ; 3518 mMoveIncidence = inc ;
3512 QDate da; 3519 QDate da;
3513 if ( mMoveIncidence->typeID() == todoID ) { 3520 if ( mMoveIncidence->typeID() == todoID ) {
3514 Todo * to = (Todo *) mMoveIncidence; 3521 Todo * to = (Todo *) mMoveIncidence;
3515 if ( to->hasDueDate() ) 3522 if ( to->hasDueDate() )
3516 da = to->dtDue().date(); 3523 da = to->dtDue().date();
3517 else 3524 else
3518 da = QDate::currentDate(); 3525 da = QDate::currentDate();
3519 } else { 3526 } else {
3520 da = mMoveIncidence->dtStart().date(); 3527 da = mMoveIncidence->dtStart().date();
3521 } 3528 }
3522 //PENDING set date for recurring incidence to date of recurrence 3529 //PENDING set date for recurring incidence to date of recurrence
3523 //mMoveIncidenceOldDate; 3530 //mMoveIncidenceOldDate;
3524 mDatePicker->setDate( da ); 3531 mDatePicker->setDate( da );
3525} 3532}
3526void CalendarView::showDatePickerPopup() 3533void CalendarView::showDatePickerPopup()
3527{ 3534{
3528 if ( mDateFrame->isVisible() ) 3535 if ( mDateFrame->isVisible() )
3529 mDateFrame->hide(); 3536 mDateFrame->hide();
3530 else { 3537 else {
3531 int offX = 0, offY = 0; 3538 int offX = 0, offY = 0;
3532#ifdef DESKTOP_VERSION 3539#ifdef DESKTOP_VERSION
3533 int w =mDatePicker->sizeHint().width() ; 3540 int w =mDatePicker->sizeHint().width() ;
3534 int h = mDatePicker->sizeHint().height() ; 3541 int h = mDatePicker->sizeHint().height() ;
3535 int dw = topLevelWidget()->width(); 3542 int dw = topLevelWidget()->width();
3536 int dh = topLevelWidget()->height(); 3543 int dh = topLevelWidget()->height();
3537 offX = topLevelWidget()->x(); 3544 offX = topLevelWidget()->x();
3538 offY = topLevelWidget()->y(); 3545 offY = topLevelWidget()->y();
3539#else 3546#else
3540 int w =mDatePicker->sizeHint().width() ; 3547 int w =mDatePicker->sizeHint().width() ;
3541 int h = mDatePicker->sizeHint().height() ; 3548 int h = mDatePicker->sizeHint().height() ;
3542 int dw = QApplication::desktop()->width(); 3549 int dw = QApplication::desktop()->width();
3543 int dh = QApplication::desktop()->height(); 3550 int dh = QApplication::desktop()->height();
3544#endif 3551#endif
3545 mDateFrame->setGeometry( (dw-w)/2+offX, (dh - h )/2+offY ,w,h ); 3552 mDateFrame->setGeometry( (dw-w)/2+offX, (dh - h )/2+offY ,w,h );
3546 mDateFrame->show(); 3553 mDateFrame->show();
3547 } 3554 }
3548} 3555}
3549void CalendarView::showDatePicker( ) 3556void CalendarView::showDatePicker( )
3550{ 3557{
3551 showDatePickerPopup(); 3558 showDatePickerPopup();
3552 mDatePickerMode = 1; 3559 mDatePickerMode = 1;
3553 mDatePicker->setDate( mNavigator->selectedDates().first() ); 3560 mDatePicker->setDate( mNavigator->selectedDates().first() );
3554} 3561}
3555 3562
3556void CalendarView::showEventEditor() 3563void CalendarView::showEventEditor()
3557{ 3564{
3558#ifdef DESKTOP_VERSION 3565#ifdef DESKTOP_VERSION
3559 int x,y,w,h; 3566 int x,y,w,h;
3560 x = mEventEditor->geometry().x(); 3567 x = mEventEditor->geometry().x();
3561 y = mEventEditor->geometry().y(); 3568 y = mEventEditor->geometry().y();
3562 w = mEventEditor->width(); 3569 w = mEventEditor->width();
3563 h = mEventEditor->height(); 3570 h = mEventEditor->height();
3564 mEventEditor->show(); 3571 mEventEditor->show();
3565 mEventEditor->setGeometry(x,y,w,h); 3572 mEventEditor->setGeometry(x,y,w,h);
3566#else 3573#else
3567 if ( mEventEditor->width() < QApplication::desktop()->width() -60 || mEventEditor->width() > QApplication::desktop()->width() ) { 3574 if ( mEventEditor->width() < QApplication::desktop()->width() -60 || mEventEditor->width() > QApplication::desktop()->width() ) {
3568 topLevelWidget()->setCaption( i18n("Recreating edit dialog. Please wait...") ); 3575 topLevelWidget()->setCaption( i18n("Recreating edit dialog. Please wait...") );
3569 qDebug("KO: CalendarView: recreate mEventEditor %d %d", mEventEditor->width(), QApplication::desktop()->width() ); 3576 qDebug("KO: CalendarView: recreate mEventEditor %d %d", mEventEditor->width(), QApplication::desktop()->width() );
3570 qApp->processEvents(); 3577 qApp->processEvents();
3571 delete mEventEditor; 3578 delete mEventEditor;
3572 mEventEditor = mDialogManager->getEventEditor(); 3579 mEventEditor = mDialogManager->getEventEditor();
3573 topLevelWidget()->setCaption( i18n("") ); 3580 topLevelWidget()->setCaption( i18n("") );
3574 } 3581 }
3575 mEventEditor->showMaximized(); 3582 mEventEditor->showMaximized();
3576#endif 3583#endif
3577} 3584}
3578void CalendarView::showTodoEditor() 3585void CalendarView::showTodoEditor()
3579{ 3586{
3580#ifdef DESKTOP_VERSION 3587#ifdef DESKTOP_VERSION
3581 int x,y,w,h; 3588 int x,y,w,h;
3582 x = mTodoEditor->geometry().x(); 3589 x = mTodoEditor->geometry().x();
3583 y = mTodoEditor->geometry().y(); 3590 y = mTodoEditor->geometry().y();
3584 w = mTodoEditor->width(); 3591 w = mTodoEditor->width();
3585 h = mTodoEditor->height(); 3592 h = mTodoEditor->height();
3586 mTodoEditor->show(); 3593 mTodoEditor->show();
3587 mTodoEditor->setGeometry(x,y,w,h); 3594 mTodoEditor->setGeometry(x,y,w,h);
3588#else 3595#else
3589 if ( mTodoEditor->width() < QApplication::desktop()->width() -60|| mTodoEditor->width() > QApplication::desktop()->width() ) { 3596 if ( mTodoEditor->width() < QApplication::desktop()->width() -60|| mTodoEditor->width() > QApplication::desktop()->width() ) {
3590 topLevelWidget()->setCaption( i18n("Recreating edit dialog. Please wait...") ); 3597 topLevelWidget()->setCaption( i18n("Recreating edit dialog. Please wait...") );
3591 qDebug("KO: CalendarView: recreate mTodoEditor %d %d ", mTodoEditor->width() ,QApplication::desktop()->width() ); 3598 qDebug("KO: CalendarView: recreate mTodoEditor %d %d ", mTodoEditor->width() ,QApplication::desktop()->width() );
3592 qApp->processEvents(); 3599 qApp->processEvents();
3593 delete mTodoEditor; 3600 delete mTodoEditor;
3594 mTodoEditor = mDialogManager->getTodoEditor(); 3601 mTodoEditor = mDialogManager->getTodoEditor();
3595 topLevelWidget()->setCaption( i18n("") ); 3602 topLevelWidget()->setCaption( i18n("") );
3596 } 3603 }
3597 mTodoEditor->showMaximized(); 3604 mTodoEditor->showMaximized();
3598#endif 3605#endif
3599} 3606}
3600 3607
3601void CalendarView::cloneIncidence() 3608void CalendarView::cloneIncidence()
3602{ 3609{
3603 Incidence *incidence = currentSelection(); 3610 Incidence *incidence = currentSelection();
3604 if ( !incidence ) incidence = mTodoList->selectedIncidences().first(); 3611 if ( !incidence ) incidence = mTodoList->selectedIncidences().first();
3605 if ( incidence ) { 3612 if ( incidence ) {
3606 cloneIncidence(incidence); 3613 cloneIncidence(incidence);
3607 } 3614 }
3608} 3615}
3609void CalendarView::moveIncidence() 3616void CalendarView::moveIncidence()
3610{ 3617{
3611 Incidence *incidence = currentSelection(); 3618 Incidence *incidence = currentSelection();
3612 if ( !incidence ) incidence = mTodoList->selectedIncidences().first(); 3619 if ( !incidence ) incidence = mTodoList->selectedIncidences().first();
3613 if ( incidence ) { 3620 if ( incidence ) {
3614 moveIncidence(incidence); 3621 moveIncidence(incidence);
3615 } 3622 }
3616} 3623}
3617void CalendarView::beamIncidence() 3624void CalendarView::beamIncidence()
3618{ 3625{
3619 Incidence *incidence = currentSelection(); 3626 Incidence *incidence = currentSelection();
3620 if ( !incidence ) incidence = mTodoList->selectedIncidences().first(); 3627 if ( !incidence ) incidence = mTodoList->selectedIncidences().first();
3621 if ( incidence ) { 3628 if ( incidence ) {
3622 beamIncidence(incidence); 3629 beamIncidence(incidence);
3623 } 3630 }
3624} 3631}
3625void CalendarView::toggleCancelIncidence() 3632void CalendarView::toggleCancelIncidence()
3626{ 3633{
3627 Incidence *incidence = currentSelection(); 3634 Incidence *incidence = currentSelection();
3628 if ( !incidence ) incidence = mTodoList->selectedIncidences().first(); 3635 if ( !incidence ) incidence = mTodoList->selectedIncidences().first();
3629 if ( incidence ) { 3636 if ( incidence ) {
3630 cancelIncidence(incidence); 3637 cancelIncidence(incidence);
3631 } 3638 }
3632} 3639}
3633 3640
3634 3641
3635void CalendarView::cancelIncidence(Incidence * inc ) 3642void CalendarView::cancelIncidence(Incidence * inc )
3636{ 3643{
3637 inc->setCancelled( ! inc->cancelled() ); 3644 inc->setCancelled( ! inc->cancelled() );
3638 changeIncidenceDisplay( inc,KOGlobals::EVENTEDITED ); 3645 changeIncidenceDisplay( inc,KOGlobals::EVENTEDITED );
3639 updateView(); 3646 updateView();
3640} 3647}
3641void CalendarView::cloneIncidence(Incidence * orgInc ) 3648void CalendarView::cloneIncidence(Incidence * orgInc )
3642{ 3649{
3643 Incidence * newInc = orgInc->clone(); 3650 Incidence * newInc = orgInc->clone();
3644 newInc->recreate(); 3651 newInc->recreate();
3645 3652
3646 if ( newInc->typeID() == todoID ) { 3653 if ( newInc->typeID() == todoID ) {
3647 Todo* t = (Todo*) newInc; 3654 Todo* t = (Todo*) newInc;
3648 bool cloneSub = false; 3655 bool cloneSub = false;
3649 if ( orgInc->relations().count() ) { 3656 if ( orgInc->relations().count() ) {
3650 int result = KMessageBox::warningYesNoCancel(this, 3657 int result = KMessageBox::warningYesNoCancel(this,
3651 i18n("The todo\n%1\nwill be cloned!\nIt has subtodos!\nDo you want to clone\nall subtodos as well?").arg( KGlobal::formatMessage ( newInc->summary(),0 ) ), 3658 i18n("The todo\n%1\nwill be cloned!\nIt has subtodos!\nDo you want to clone\nall subtodos as well?").arg( KGlobal::formatMessage ( newInc->summary(),0 ) ),
3652 i18n("Todo has subtodos"), 3659 i18n("Todo has subtodos"),
3653 i18n("Yes"), 3660 i18n("Yes"),
3654 i18n("No")); 3661 i18n("No"));
3655 3662
3656 if ( result == KMessageBox::Cancel ) { 3663 if ( result == KMessageBox::Cancel ) {
3657 delete t; 3664 delete t;
3658 return; 3665 return;
3659 } 3666 }
3660 if (result == KMessageBox::Yes) cloneSub = true; 3667 if (result == KMessageBox::Yes) cloneSub = true;
3661 } 3668 }
3662 showTodoEditor(); 3669 showTodoEditor();
3663 mTodoEditor->editTodo( t ); 3670 mTodoEditor->editTodo( t );
3664 if ( mTodoEditor->exec() ) { 3671 if ( mTodoEditor->exec() ) {
3665 if ( cloneSub ) { 3672 if ( cloneSub ) {
3666 orgInc->cloneRelations( t ); 3673 orgInc->cloneRelations( t );
3667 mCalendar->addIncidenceBranch( t ); 3674 mCalendar->addIncidenceBranch( t );
3668 updateView(); 3675 updateView();
3669 3676
3670 } else { 3677 } else {
3671 mCalendar->addTodo( t ); 3678 mCalendar->addTodo( t );
3672 updateView(); 3679 updateView();
3673 } 3680 }
3674 } else { 3681 } else {
3675 delete t; 3682 delete t;
3676 } 3683 }
3677 } 3684 }
3678 else if ( newInc->typeID() == eventID ) { 3685 else if ( newInc->typeID() == eventID ) {
3679 Event* e = (Event*) newInc; 3686 Event* e = (Event*) newInc;
3680 showEventEditor(); 3687 showEventEditor();
3681 mEventEditor->editEvent( e ); 3688 mEventEditor->editEvent( e );
3682 if ( mEventEditor->exec() ) { 3689 if ( mEventEditor->exec() ) {
3683 mCalendar->addEvent( e ); 3690 mCalendar->addEvent( e );
3684 updateView(); 3691 updateView();
3685 } else { 3692 } else {
3686 delete e; 3693 delete e;
3687 } 3694 }
3688 } else if ( newInc->typeID() == journalID ) { 3695 } else if ( newInc->typeID() == journalID ) {
3689 mCalendar->addJournal( (Journal*) newInc ); 3696 mCalendar->addJournal( (Journal*) newInc );
3690 editJournal( (Journal*) newInc ); 3697 editJournal( (Journal*) newInc );
3691 } 3698 }
3692 setActiveWindow(); 3699 setActiveWindow();
3693} 3700}
3694 3701
3695void CalendarView::newEvent() 3702void CalendarView::newEvent()
3696{ 3703{
3697 // TODO: Replace this code by a common eventDurationHint of KOBaseView. 3704 // TODO: Replace this code by a common eventDurationHint of KOBaseView.
3698 KOAgendaView *aView = mViewManager->agendaView(); 3705 KOAgendaView *aView = mViewManager->agendaView();
3699 if (aView) { 3706 if (aView) {
3700 if (aView->selectionStart().isValid()) { 3707 if (aView->selectionStart().isValid()) {
3701 if (aView->selectedIsAllDay()) { 3708 if (aView->selectedIsAllDay()) {
3702 newEvent(aView->selectionStart(),aView->selectionEnd(),true); 3709 newEvent(aView->selectionStart(),aView->selectionEnd(),true);
3703 } else { 3710 } else {
3704 newEvent(aView->selectionStart(),aView->selectionEnd()); 3711 newEvent(aView->selectionStart(),aView->selectionEnd());
3705 } 3712 }
3706 return; 3713 return;
3707 } 3714 }
3708 } 3715 }
3709 3716
3710 QDate date = mNavigator->selectedDates().first(); 3717 QDate date = mNavigator->selectedDates().first();
3711#if 0 3718#if 0
3712 QDateTime current = QDateTime::currentDateTime(); 3719 QDateTime current = QDateTime::currentDateTime();
3713 if ( date <= current.date() ) { 3720 if ( date <= current.date() ) {
3714 int hour = current.time().hour() +1; 3721 int hour = current.time().hour() +1;
3715 newEvent( QDateTime( current.date(), QTime( hour, 0, 0 ) ), 3722 newEvent( QDateTime( current.date(), QTime( hour, 0, 0 ) ),
3716 QDateTime( current.date(), QTime( hour+ KOPrefs::instance()->mDefaultDuration, 0, 0 ) ) ); 3723 QDateTime( current.date(), QTime( hour+ KOPrefs::instance()->mDefaultDuration, 0, 0 ) ) );
3717 } else 3724 } else
3718#endif 3725#endif
3719 newEvent( QDateTime( date, QTime( KOPrefs::instance()->mStartTime, 0, 0 ) ), 3726 newEvent( QDateTime( date, QTime( KOPrefs::instance()->mStartTime, 0, 0 ) ),
3720 QDateTime( date, QTime( KOPrefs::instance()->mStartTime + 3727 QDateTime( date, QTime( KOPrefs::instance()->mStartTime +
3721 KOPrefs::instance()->mDefaultDuration, 0, 0 ) ) ); 3728 KOPrefs::instance()->mDefaultDuration, 0, 0 ) ) );
3722} 3729}
3723 3730
3724void CalendarView::newEvent(QDateTime fh) 3731void CalendarView::newEvent(QDateTime fh)
3725{ 3732{
3726 newEvent(fh, 3733 newEvent(fh,
3727 QDateTime(fh.addSecs(3600*KOPrefs::instance()->mDefaultDuration))); 3734 QDateTime(fh.addSecs(3600*KOPrefs::instance()->mDefaultDuration)));
3728} 3735}
3729 3736
3730void CalendarView::newEvent(QDate dt) 3737void CalendarView::newEvent(QDate dt)
3731{ 3738{
3732 newEvent(QDateTime(dt, QTime(0,0,0)), 3739 newEvent(QDateTime(dt, QTime(0,0,0)),
3733 QDateTime(dt, QTime(0,0,0)), true); 3740 QDateTime(dt, QTime(0,0,0)), true);
3734} 3741}
3735void CalendarView::newEvent(QDateTime fromHint, QDateTime toHint) 3742void CalendarView::newEvent(QDateTime fromHint, QDateTime toHint)
3736{ 3743{
3737 newEvent(fromHint, toHint, false); 3744 newEvent(fromHint, toHint, false);
3738} 3745}
3739void CalendarView::newEvent(QDateTime fromHint, QDateTime toHint, bool allDay) 3746void CalendarView::newEvent(QDateTime fromHint, QDateTime toHint, bool allDay)
3740{ 3747{
3741 3748
3742 showEventEditor(); 3749 showEventEditor();
3743 mEventEditor->newEvent(fromHint,toHint,allDay); 3750 mEventEditor->newEvent(fromHint,toHint,allDay);
3744 if ( mFilterView->filtersEnabled() ) { 3751 if ( mFilterView->filtersEnabled() ) {
3745 CalFilter *filter = mFilterView->selectedFilter(); 3752 CalFilter *filter = mFilterView->selectedFilter();
3746 if (filter && filter->showCategories()) { 3753 if (filter && filter->showCategories()) {
3747 mEventEditor->setCategories(filter->categoryList().join(",") ); 3754 mEventEditor->setCategories(filter->categoryList().join(",") );
3748 } 3755 }
3749 if ( filter ) 3756 if ( filter )
3750 mEventEditor->setSecrecy( filter->getSecrecy() ); 3757 mEventEditor->setSecrecy( filter->getSecrecy() );
3751 } 3758 }
3752 mEventEditor->exec(); 3759 mEventEditor->exec();
3753 setActiveWindow(); 3760 setActiveWindow();
3754} 3761}
3755void CalendarView::todoAdded(Todo * t) 3762void CalendarView::todoAdded(Todo * t)
3756{ 3763{
3757 3764
3758 changeTodoDisplay ( t ,KOGlobals::EVENTADDED); 3765 changeTodoDisplay ( t ,KOGlobals::EVENTADDED);
3759 updateTodoViews(); 3766 updateTodoViews();
3760} 3767}
3761void CalendarView::todoChanged(Todo * t) 3768void CalendarView::todoChanged(Todo * t)
3762{ 3769{
3763 emit todoModified( t, 4 ); 3770 emit todoModified( t, 4 );
3764 // updateTodoViews(); 3771 // updateTodoViews();
3765} 3772}
3766void CalendarView::todoToBeDeleted(Todo *) 3773void CalendarView::todoToBeDeleted(Todo *)
3767{ 3774{
3768 //qDebug("todoToBeDeleted(Todo *) "); 3775 //qDebug("todoToBeDeleted(Todo *) ");
3769 updateTodoViews(); 3776 updateTodoViews();
3770} 3777}
3771void CalendarView::todoDeleted() 3778void CalendarView::todoDeleted()
3772{ 3779{
3773 //qDebug(" todoDeleted()"); 3780 //qDebug(" todoDeleted()");
3774 updateTodoViews(); 3781 updateTodoViews();
3775} 3782}
3776 3783
3777 3784
3778void CalendarView::newTodoDateTime( QDateTime dt, bool allday ) 3785void CalendarView::newTodoDateTime( QDateTime dt, bool allday )
3779{ 3786{
3780 showTodoEditor(); 3787 showTodoEditor();
3781 mTodoEditor->newTodo(dt,0,allday); 3788 mTodoEditor->newTodo(dt,0,allday);
3782 if ( mFilterView->filtersEnabled() ) { 3789 if ( mFilterView->filtersEnabled() ) {
3783 CalFilter *filter = mFilterView->selectedFilter(); 3790 CalFilter *filter = mFilterView->selectedFilter();
3784 if (filter && filter->showCategories()) { 3791 if (filter && filter->showCategories()) {
3785 mTodoEditor->setCategories(filter->categoryList().join(",") ); 3792 mTodoEditor->setCategories(filter->categoryList().join(",") );
3786 } 3793 }
3787 if ( filter ) 3794 if ( filter )
3788 mTodoEditor->setSecrecy( filter->getSecrecy() ); 3795 mTodoEditor->setSecrecy( filter->getSecrecy() );
3789 } 3796 }
3790 mTodoEditor->exec(); 3797 mTodoEditor->exec();
3791 setActiveWindow(); 3798 setActiveWindow();
3792} 3799}
3793 3800
3794void CalendarView::newTodo() 3801void CalendarView::newTodo()
3795{ 3802{
3796 newTodoDateTime( QDateTime(),true ); 3803 newTodoDateTime( QDateTime(),true );
3797} 3804}
3798 3805
3799void CalendarView::newSubTodo() 3806void CalendarView::newSubTodo()
3800{ 3807{
3801 Todo *todo = selectedTodo(); 3808 Todo *todo = selectedTodo();
3802 if ( todo ) newSubTodo( todo ); 3809 if ( todo ) newSubTodo( todo );
3803} 3810}
3804 3811
3805void CalendarView::newSubTodo(Todo *parentEvent) 3812void CalendarView::newSubTodo(Todo *parentEvent)
3806{ 3813{
3807 3814
3808 showTodoEditor(); 3815 showTodoEditor();
3809 mTodoEditor->newTodo(QDateTime(),parentEvent,true); 3816 mTodoEditor->newTodo(QDateTime(),parentEvent,true);
3810 mTodoEditor->exec(); 3817 mTodoEditor->exec();
3811 setActiveWindow(); 3818 setActiveWindow();
3812} 3819}
3813 3820
3814void CalendarView::newFloatingEvent() 3821void CalendarView::newFloatingEvent()
3815{ 3822{
3816 DateList tmpList = mNavigator->selectedDates(); 3823 DateList tmpList = mNavigator->selectedDates();
3817 QDate date = tmpList.first(); 3824 QDate date = tmpList.first();
3818 3825
3819 newEvent( QDateTime( date, QTime( 12, 0, 0 ) ), 3826 newEvent( QDateTime( date, QTime( 12, 0, 0 ) ),
3820 QDateTime( date, QTime( 12, 0, 0 ) ), true ); 3827 QDateTime( date, QTime( 12, 0, 0 ) ), true );
3821} 3828}
3822 3829
3823 3830
3824void CalendarView::editEvent( Event *event ) 3831void CalendarView::editEvent( Event *event )
3825{ 3832{
3826 3833
3827 if ( !event ) return; 3834 if ( !event ) return;
3828 if ( event->isReadOnly() ) { 3835 if ( event->isReadOnly() ) {
3829 showEvent( event ); 3836 showEvent( event );
3830 return; 3837 return;
3831 } 3838 }
3832 showEventEditor(); 3839 showEventEditor();
3833 mEventEditor->editEvent( event , mFlagEditDescription); 3840 mEventEditor->editEvent( event , mFlagEditDescription);
3834 mEventEditor->exec(); 3841 mEventEditor->exec();
3835 setActiveWindow(); 3842 setActiveWindow();
3836 3843
3837} 3844}
3838void CalendarView::editJournal( Journal *jour ) 3845void CalendarView::editJournal( Journal *jour )
3839{ 3846{
3840 if ( !jour ) return; 3847 if ( !jour ) return;
3841 mDialogManager->hideSearchDialog(); 3848 mDialogManager->hideSearchDialog();
3842 mViewManager->showJournalView(); 3849 mViewManager->showJournalView();
3843 mNavigator->slotDaySelect( jour->dtStart().date() ); 3850 mNavigator->slotDaySelect( jour->dtStart().date() );
3844} 3851}
3845void CalendarView::editTodo( Todo *todo ) 3852void CalendarView::editTodo( Todo *todo )
3846{ 3853{
3847 if ( !todo ) return; 3854 if ( !todo ) return;
3848 3855
3849 if ( todo->isReadOnly() ) { 3856 if ( todo->isReadOnly() ) {
3850 showTodo( todo ); 3857 showTodo( todo );
3851 return; 3858 return;
3852 } 3859 }
3853 showTodoEditor(); 3860 showTodoEditor();
3854 mTodoEditor->editTodo( todo ,mFlagEditDescription); 3861 mTodoEditor->editTodo( todo ,mFlagEditDescription);
3855 mTodoEditor->exec(); 3862 mTodoEditor->exec();
3856 setActiveWindow(); 3863 setActiveWindow();
3857 3864
3858} 3865}
3859 3866
3860KOEventViewerDialog* CalendarView::getEventViewerDialog() 3867KOEventViewerDialog* CalendarView::getEventViewerDialog()
3861{ 3868{
3862 if ( !mEventViewerDialog ) { 3869 if ( !mEventViewerDialog ) {
3863 mEventViewerDialog = new KOEventViewerDialog(0); 3870 mEventViewerDialog = new KOEventViewerDialog(0);
3864 connect( mEventViewerDialog, SIGNAL( editIncidence( Incidence* )), this, SLOT(editIncidence( Incidence* ) ) ); 3871 connect( mEventViewerDialog, SIGNAL( editIncidence( Incidence* )), this, SLOT(editIncidence( Incidence* ) ) );
3865 connect( this, SIGNAL(configChanged()), mEventViewerDialog, SLOT(updateConfig())); 3872 connect( this, SIGNAL(configChanged()), mEventViewerDialog, SLOT(updateConfig()));
diff --git a/korganizer/kodaymatrix.cpp b/korganizer/kodaymatrix.cpp
index 057df0d..7076e05 100644
--- a/korganizer/kodaymatrix.cpp
+++ b/korganizer/kodaymatrix.cpp
@@ -1,1217 +1,1223 @@
1/* 1/*
2 This file is part of KOrganizer. 2 This file is part of KOrganizer.
3 Copyright (c) 2001 Eitzenberger Thomas <thomas.eitzenberger@siemens.at> 3 Copyright (c) 2001 Eitzenberger Thomas <thomas.eitzenberger@siemens.at>
4 Parts of the source code have been copied from kdpdatebutton.cpp 4 Parts of the source code have been copied from kdpdatebutton.cpp
5 5
6 This program is free software; you can redistribute it and/or modify 6 This program is free software; you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by 7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation; either version 2 of the License, or 8 the Free Software Foundation; either version 2 of the License, or
9 (at your option) any later version. 9 (at your option) any later version.
10 10
11 This program is distributed in the hope that it will be useful, 11 This program is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of 12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 GNU General Public License for more details. 14 GNU General Public License for more details.
15 15
16 You should have received a copy of the GNU General Public License 16 You should have received a copy of the GNU General Public License
17 along with this program; if not, write to the Free Software 17 along with this program; if not, write to the Free Software
18 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 18 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
19 19
20 As a special exception, permission is given to link this program 20 As a special exception, permission is given to link this program
21 with any edition of Qt, and distribute the resulting executable, 21 with any edition of Qt, and distribute the resulting executable,
22 without including the source ode for Qt in the source distribution. 22 without including the source ode for Qt in the source distribution.
23*/ 23*/
24 24
25#include <qevent.h> 25#include <qevent.h>
26#include <qpainter.h> 26#include <qpainter.h>
27#include <qptrlist.h> 27#include <qptrlist.h>
28#include <qtimer.h> 28#include <qtimer.h>
29#include <qwhatsthis.h> 29#include <qwhatsthis.h>
30 30
31#include <kglobal.h> 31#include <kglobal.h>
32#include <kdebug.h> 32#include <kdebug.h>
33#include <klocale.h> 33#include <klocale.h>
34 34
35#include <libkcal/vcaldrag.h> 35#include <libkcal/vcaldrag.h>
36#include <libkcal/icaldrag.h> 36#include <libkcal/icaldrag.h>
37#include <libkcal/dndfactory.h> 37#include <libkcal/dndfactory.h>
38#include <libkcal/calendarresources.h> 38#include <libkcal/calendarresources.h>
39#include <libkcal/resourcecalendar.h> 39#include <libkcal/resourcecalendar.h>
40#include <kresources/resourceselectdialog.h> 40#include <kresources/resourceselectdialog.h>
41 41
42#include <kcalendarsystem.h> 42#include <kcalendarsystem.h>
43 43
44#ifndef KORG_NOPLUGINS 44#ifndef KORG_NOPLUGINS
45#include "kocore.h" 45#include "kocore.h"
46#endif 46#endif
47#include "koprefs.h" 47#include "koprefs.h"
48#include "koglobals.h" 48#include "koglobals.h"
49 49
50#include "kodaymatrix.h" 50#include "kodaymatrix.h"
51 51
52// ============================================================================ 52// ============================================================================
53// D Y N A M I C T I P 53// D Y N A M I C T I P
54// ============================================================================ 54// ============================================================================
55 55
56DynamicTip::DynamicTip( QWidget * parent ) 56DynamicTip::DynamicTip( QWidget * parent )
57 : QToolTip( parent ) 57 : QToolTip( parent )
58{ 58{
59 matrix = (KODayMatrix*)parent; 59 matrix = (KODayMatrix*)parent;
60} 60}
61 61
62class KODaymatrixWhatsThis :public QWhatsThis 62class KODaymatrixWhatsThis :public QWhatsThis
63{ 63{
64public: 64public:
65 KODaymatrixWhatsThis( KODayMatrix* view ) : QWhatsThis( view ),_view (view) { ;}; 65 KODaymatrixWhatsThis( KODayMatrix* view ) : QWhatsThis( view ),_view (view) { ;};
66 ~KODaymatrixWhatsThis() { ; }; 66 ~KODaymatrixWhatsThis() { ; };
67 67
68protected: 68protected:
69 virtual QString text( const QPoint& p ) 69 virtual QString text( const QPoint& p )
70 { 70 {
71 return _view->getWhatsThisText( p ) ; 71 return _view->getWhatsThisText( p ) ;
72 } 72 }
73private: 73private:
74 KODayMatrix * _view; 74 KODayMatrix * _view;
75}; 75};
76 76
77void DynamicTip::maybeTip( const QPoint &pos ) 77void DynamicTip::maybeTip( const QPoint &pos )
78{ 78{
79 //calculate which cell of the matrix the mouse is in 79 //calculate which cell of the matrix the mouse is in
80 QRect sz = matrix->frameRect(); 80 QRect sz = matrix->frameRect();
81 int dheight = sz.height()*7 / 42; 81 int dheight = sz.height()*7 / 42;
82 int dwidth = sz.width() / 7; 82 int dwidth = sz.width() / 7;
83 int row = pos.y()/dheight; 83 int row = pos.y()/dheight;
84 int col = pos.x()/dwidth; 84 int col = pos.x()/dwidth;
85 85
86 QRect rct(col*dwidth, row*dheight, dwidth, dheight); 86 QRect rct(col*dwidth, row*dheight, dwidth, dheight);
87 87
88// kdDebug() << "DynamicTip::maybeTip matrix cell index [" << 88// kdDebug() << "DynamicTip::maybeTip matrix cell index [" <<
89// col << "][" << row << "] => " <<(col+row*7) << endl; 89// col << "][" << row << "] => " <<(col+row*7) << endl;
90 90
91 //show holiday names only 91 //show holiday names only
92 QString str = matrix->getHolidayLabel(col+row*7); 92 QString str = matrix->getHolidayLabel(col+row*7);
93 if (str.isEmpty()) return; 93 if (str.isEmpty()) return;
94 tip(rct, str); 94 tip(rct, str);
95} 95}
96 96
97 97
98// ============================================================================ 98// ============================================================================
99// K O D A Y M A T R I X 99// K O D A Y M A T R I X
100// ============================================================================ 100// ============================================================================
101 101
102const int KODayMatrix::NOSELECTION = -1000; 102const int KODayMatrix::NOSELECTION = -1000;
103const int KODayMatrix::NUMDAYS = 42; 103const int KODayMatrix::NUMDAYS = 42;
104 104
105KODayMatrix::KODayMatrix( QWidget *parent, const char *name ) 105KODayMatrix::KODayMatrix( QWidget *parent, const char *name )
106 : QFrame( parent, name , Qt::WRepaintNoErase ), mCalendar( 0 ) 106 : QFrame( parent, name , Qt::WRepaintNoErase ), mCalendar( 0 )
107 107
108 108
109{ 109{
110 mLastView = -1; 110 mLastView = -1;
111 oldW = 0; 111 oldW = 0;
112 oldH = 0; 112 oldH = 0;
113 myPix.resize( 150, 120 ); 113 myPix.resize( 150, 120 );
114 mRedrawNeeded = true; 114 mRedrawNeeded = true;
115 mKODaymatrixWhatsThis = new KODaymatrixWhatsThis(this); 115 mKODaymatrixWhatsThis = new KODaymatrixWhatsThis(this);
116 mPendingUpdateBeforeRepaint = false; 116 mPendingUpdateBeforeRepaint = false;
117 mouseDown = false; 117 mouseDown = false;
118 // initialize dynamic arrays 118 // initialize dynamic arrays
119 bDays.resize ( NUMDAYS ); 119 bDays.resize ( NUMDAYS );
120 pDays.resize ( NUMDAYS ); 120 pDays.resize ( NUMDAYS );
121 hDays.resize ( NUMDAYS ); 121 hDays.resize ( NUMDAYS );
122 eDays.resize ( NUMDAYS ); 122 eDays.resize ( NUMDAYS );
123 days = new QDate[NUMDAYS]; 123 days = new QDate[NUMDAYS];
124 daylbls = new QString[NUMDAYS]; 124 daylbls = new QString[NUMDAYS];
125 //events = new int[NUMDAYS]; 125 //events = new int[NUMDAYS];
126 mToolTip = new DynamicTip(this); 126 mToolTip = new DynamicTip(this);
127 127
128 // set default values used for drawing the matrix 128 // set default values used for drawing the matrix
129 mDefaultBackColor = palette().active().base(); 129 mDefaultBackColor = palette().active().base();
130 mDefaultTextColor = palette().active().foreground(); 130 mDefaultTextColor = palette().active().foreground();
131 mDefaultTextColorShaded = getShadedColor(mDefaultTextColor); 131 mDefaultTextColorShaded = getShadedColor(mDefaultTextColor);
132 mHolidayColorShaded = getShadedColor(KOPrefs::instance()->mHolidayColor); 132 mHolidayColorShaded = getShadedColor(KOPrefs::instance()->mHolidayColor);
133 mSelectedDaysColor = QColor("white"); 133 mSelectedDaysColor = QColor("white");
134 mTodayMarginWidth = 2; 134 mTodayMarginWidth = 2;
135 mSelEnd = mSelStart = NOSELECTION; 135 mSelEnd = mSelStart = NOSELECTION;
136 136
137 setAcceptDrops(true); 137 setAcceptDrops(true);
138 //setFont( QFont("Arial", 10) ); 138 //setFont( QFont("Arial", 10) );
139 139
140 mUpdateTimer = new QTimer( this ); 140 mUpdateTimer = new QTimer( this );
141 connect (mUpdateTimer ,SIGNAL(timeout()), this, SLOT ( updateViewTimed() )); 141 connect (mUpdateTimer ,SIGNAL(timeout()), this, SLOT ( updateViewTimed() ));
142 mRepaintTimer = new QTimer( this ); 142 mRepaintTimer = new QTimer( this );
143 connect (mRepaintTimer ,SIGNAL(timeout()), this, SLOT ( repaintViewTimed() )); 143 connect (mRepaintTimer ,SIGNAL(timeout()), this, SLOT ( repaintViewTimed() ));
144 mDayChanged = false; 144 mDayChanged = false;
145 updateView(); 145 updateView();
146} 146}
147QString KODayMatrix::getWhatsThisText( QPoint p ) 147QString KODayMatrix::getWhatsThisText( QPoint p )
148{ 148{
149 149
150 int tmp = getDayIndexFrom(p.x(), p.y()); 150 int tmp = getDayIndexFrom(p.x(), p.y());
151 if ( tmp < 0 || tmp > NUMDAYS-1 || !mCalendar ) 151 if ( tmp < 0 || tmp > NUMDAYS-1 || !mCalendar )
152 return QString(); 152 return QString();
153 QDate mDate = days[tmp]; 153 QDate mDate = days[tmp];
154 QPtrList<Event> eventlist = mCalendar->events(mDate); 154 QPtrList<Event> eventlist = mCalendar->events(mDate);
155 Event *event; 155 Event *event;
156 QStringList mToolTip; 156 QStringList mToolTip;
157 for(event=eventlist.first();event != 0;event=eventlist.next()) { 157 for(event=eventlist.first();event != 0;event=eventlist.next()) {
158 QString mToolTipText; 158 QString mToolTipText;
159 QString text; 159 QString text;
160 int multiday = 0;// 1 = start, 2 = midddle, 3 = end day 160 int multiday = 0;// 1 = start, 2 = midddle, 3 = end day
161 if (event->isMultiDay()) { 161 if (event->isMultiDay()) {
162 QString prefix = "<->";multiday = 2; 162 QString prefix = "<->";multiday = 2;
163 QString time; 163 QString time;
164 if ( event->doesRecur() ) { 164 if ( event->doesRecur() ) {
165 if ( event->recursOn( mDate) ) { 165 if ( event->recursOn( mDate) ) {
166 prefix ="->" ;multiday = 1; 166 prefix ="->" ;multiday = 1;
167 } 167 }
168 else { 168 else {
169 int days = event->dtStart().date().daysTo ( event->dtEnd().date() ); 169 int days = event->dtStart().date().daysTo ( event->dtEnd().date() );
170 if ( event->recursOn( mDate.addDays( -days)) ) { 170 if ( event->recursOn( mDate.addDays( -days)) ) {
171 prefix ="<-" ;multiday = 3; 171 prefix ="<-" ;multiday = 3;
172 } 172 }
173 } 173 }
174 } else { 174 } else {
175 if (mDate == event->dtStart().date()) { 175 if (mDate == event->dtStart().date()) {
176 prefix ="->" ;multiday = 1; 176 prefix ="->" ;multiday = 1;
177 } else if (mDate == event->dtEnd().date()) { 177 } else if (mDate == event->dtEnd().date()) {
178 prefix ="<-" ;multiday = 3; 178 prefix ="<-" ;multiday = 3;
179 } 179 }
180 } 180 }
181 if ( !event->doesFloat() ) { 181 if ( !event->doesFloat() ) {
182 if ( mDate == event->dtStart().date () ) 182 if ( mDate == event->dtStart().date () )
183 time = KGlobal::locale()->formatTime(event->dtStart().time())+" "; 183 time = KGlobal::locale()->formatTime(event->dtStart().time())+" ";
184 else if ( mDate == event->dtEnd().date () ) 184 else if ( mDate == event->dtEnd().date () )
185 time = KGlobal::locale()->formatTime(event->dtEnd().time())+" "; 185 time = KGlobal::locale()->formatTime(event->dtEnd().time())+" ";
186 186
187 } 187 }
188 text = time + event->summary(); 188 text = time + event->summary();
189 mToolTipText += prefix + text; 189 mToolTipText += prefix + text;
190 } else { 190 } else {
191 if (event->doesFloat()) { 191 if (event->doesFloat()) {
192 text = event->summary(); 192 text = event->summary();
193 mToolTipText += text; 193 mToolTipText += text;
194 } 194 }
195 else { 195 else {
196 text = KGlobal::locale()->formatTime(event->dtStart().time()); 196 text = KGlobal::locale()->formatTime(event->dtStart().time());
197 text += " " + event->summary(); 197 text += " " + event->summary();
198 mToolTipText += KGlobal::locale()->formatTime(event->dtStart().time()) +"-"+KGlobal::locale()->formatTime(event->dtEnd().time())+" " + event->summary(); 198 mToolTipText += KGlobal::locale()->formatTime(event->dtStart().time()) +"-"+KGlobal::locale()->formatTime(event->dtEnd().time())+" " + event->summary();
199 } 199 }
200 } 200 }
201 if ( !event->location().isEmpty() ) 201 if ( !event->location().isEmpty() )
202 mToolTipText += " (" + event->location() + ")"; 202 mToolTipText += " (" + event->location() + ")";
203 //qDebug("TTT: %s ", mToolTipText.latin1()); 203 //qDebug("TTT: %s ", mToolTipText.latin1());
204 mToolTip.append( deTag( mToolTipText ) ); 204 mToolTip.append( deTag( mToolTipText ) );
205 } 205 }
206 mToolTip.sort(); 206 mToolTip.sort();
207 if ( KOPrefs::instance()->mCurrentDisplayedView == VIEW_T_VIEW ) { 207 if ( KOPrefs::instance()->mCurrentDisplayedView == VIEW_T_VIEW ) {
208 QPtrList<Todo> todolist = mCalendar->todos(mDate); 208 QPtrList<Todo> todolist = mCalendar->todos(mDate);
209 Todo *todo; 209 Todo *todo;
210 for(todo=todolist.first();todo != 0;todo=todolist.next()) { 210 for(todo=todolist.first();todo != 0;todo=todolist.next()) {
211 QString mToolTipText; 211 QString mToolTipText;
212 if ( !todo->doesFloat() ) 212 if ( !todo->doesFloat() )
213 mToolTipText += KGlobal::locale()->formatTime(todo->dtDue().time())+" "; 213 mToolTipText += KGlobal::locale()->formatTime(todo->dtDue().time())+" ";
214 mToolTipText += todo->summary(); 214 mToolTipText += todo->summary();
215 if ( !todo->location().isEmpty() ) 215 if ( !todo->location().isEmpty() )
216 mToolTipText += " (" + todo->location() + ")"; 216 mToolTipText += " (" + todo->location() + ")";
217 mToolTipText = deTag( mToolTipText); 217 mToolTipText = deTag( mToolTipText);
218 mToolTipText = "<b>" + i18n("Todo: ") + "</b>"+ mToolTipText; 218 mToolTipText = "<b>" + i18n("Todo: ") + "</b>"+ mToolTipText;
219 mToolTip.append( mToolTipText ); 219 mToolTip.append( mToolTipText );
220 } 220 }
221 } 221 }
222 if (KOPrefs::instance()->mCurrentDisplayedView == VIEW_J_VIEW ) { 222 if (KOPrefs::instance()->mCurrentDisplayedView == VIEW_J_VIEW ) {
223 QPtrList<Journal> j_list = mCalendar->journals4Date( mDate ); 223 QPtrList<Journal> j_list = mCalendar->journals4Date( mDate );
224 Journal *j = j_list.first(); 224 Journal *j = j_list.first();
225 while ( j ) { 225 while ( j ) {
226 QString mToolTipText; 226 QString mToolTipText;
227 if ( !j->summary().isEmpty() ) { 227 if ( !j->summary().isEmpty() ) {
228 mToolTipText = j->summary().left(30); 228 mToolTipText = j->summary().left(30);
229 if ( j->summary().length() > 30 ) 229 if ( j->summary().length() > 30 )
230 mToolTipText += " ..."; 230 mToolTipText += " ...";
231 } else { 231 } else {
232 mToolTipText = j->description().left(25); 232 mToolTipText = j->description().left(25);
233 if ( j->description().length() > 25 ) 233 if ( j->description().length() > 25 )
234 mToolTipText += " ..."; 234 mToolTipText += " ...";
235 mToolTipText = deTag( mToolTipText); 235 mToolTipText = deTag( mToolTipText);
236 } 236 }
237 mToolTipText = "<b>" + i18n("Journal: ") + "</b>"+ mToolTipText; 237 mToolTipText = "<b>" + i18n("Journal: ") + "</b>"+ mToolTipText;
238 mToolTip.append( mToolTipText ); 238 mToolTip.append( mToolTipText );
239 j = j_list.next(); 239 j = j_list.next();
240 } 240 }
241 } 241 }
242 return "<b>"+KGlobal::locale()->formatDate(days[tmp]) + "</b><br>" + mToolTip.join("<br>"); 242 return "<b>"+KGlobal::locale()->formatDate(days[tmp]) + "</b><br>" + mToolTip.join("<br>");
243} 243}
244 244
245 245
246QString KODayMatrix::deTag( QString mToolTipText ) 246QString KODayMatrix::deTag( QString mToolTipText )
247{ 247{
248 248
249#if QT_VERSION >= 0x030000 249#if QT_VERSION >= 0x030000
250 mToolTipText.replace( '<' , "&lt;" ); 250 mToolTipText.replace( '<' , "&lt;" );
251 mToolTipText.replace( '>' , "&gt;" ); 251 mToolTipText.replace( '>' , "&gt;" );
252#else 252#else
253 if ( mToolTipText.find ('<') >= 0 ) { 253 if ( mToolTipText.find ('<') >= 0 ) {
254 mToolTipText.replace( QRegExp("<") , "&lt;" ); 254 mToolTipText.replace( QRegExp("<") , "&lt;" );
255 } 255 }
256 if ( mToolTipText.find ('>') >= 0 ) { 256 if ( mToolTipText.find ('>') >= 0 ) {
257 mToolTipText.replace( QRegExp(">") , "&gt;" ); 257 mToolTipText.replace( QRegExp(">") , "&gt;" );
258 } 258 }
259#endif 259#endif
260 return mToolTipText; 260 return mToolTipText;
261} 261}
262void KODayMatrix::setCalendar( Calendar *cal ) 262void KODayMatrix::setCalendar( Calendar *cal )
263{ 263{
264 mCalendar = cal; 264 mCalendar = cal;
265 265
266 setAcceptDrops( mCalendar ); 266 setAcceptDrops( mCalendar );
267 267
268 updateEvents(); 268 updateEvents();
269} 269}
270 270
271QColor KODayMatrix::getShadedColor(QColor color) 271QColor KODayMatrix::getShadedColor(QColor color)
272{ 272{
273 QColor shaded; 273 QColor shaded;
274 int h=0; 274 int h=0;
275 int s=0; 275 int s=0;
276 int v=0; 276 int v=0;
277 color.hsv(&h,&s,&v); 277 color.hsv(&h,&s,&v);
278 s = s/4; 278 s = s/4;
279 v = 192+v/4; 279 v = 192+v/4;
280 shaded.setHsv(h,s,v); 280 shaded.setHsv(h,s,v);
281 281
282 return shaded; 282 return shaded;
283} 283}
284 284
285KODayMatrix::~KODayMatrix() 285KODayMatrix::~KODayMatrix()
286{ 286{
287#if QT_VERSION >= 0x030000 287#if QT_VERSION >= 0x030000
288 288
289#else 289#else
290 delete mKODaymatrixWhatsThis; 290 delete mKODaymatrixWhatsThis;
291#endif 291#endif
292 292
293 // delete mKODaymatrixWhatsThis; 293 // delete mKODaymatrixWhatsThis;
294 delete [] days; 294 delete [] days;
295 delete [] daylbls; 295 delete [] daylbls;
296 //delete [] events; 296 //delete [] events;
297 delete mToolTip; 297 delete mToolTip;
298} 298}
299 299
300/* 300/*
301void KODayMatrix::setStartDate(QDate start) 301void KODayMatrix::setStartDate(QDate start)
302{ 302{
303 updateView(start); 303 updateView(start);
304} 304}
305*/ 305*/
306 306
307void KODayMatrix::addSelectedDaysTo(DateList& selDays) 307void KODayMatrix::addSelectedDaysTo(DateList& selDays)
308{ 308{
309 309
310 if (mSelStart == NOSELECTION) { 310 if (mSelStart == NOSELECTION) {
311 return; 311 return;
312 } 312 }
313 313
314 //cope with selection being out of matrix limits at top (< 0) 314 //cope with selection being out of matrix limits at top (< 0)
315 int i0 = mSelStart; 315 int i0 = mSelStart;
316 if (i0 < 0) { 316 if (i0 < 0) {
317 for (int i = i0; i < 0; i++) { 317 for (int i = i0; i < 0; i++) {
318 selDays.append(days[0].addDays(i)); 318 selDays.append(days[0].addDays(i));
319 } 319 }
320 i0 = 0; 320 i0 = 0;
321 } 321 }
322 322
323 //cope with selection being out of matrix limits at bottom (> NUMDAYS-1) 323 //cope with selection being out of matrix limits at bottom (> NUMDAYS-1)
324 if (mSelEnd > NUMDAYS-1) { 324 if (mSelEnd > NUMDAYS-1) {
325 for (int i = i0; i <= NUMDAYS-1; i++) { 325 for (int i = i0; i <= NUMDAYS-1; i++) {
326 selDays.append(days[i]); 326 selDays.append(days[i]);
327 } 327 }
328 for (int i = NUMDAYS; i < mSelEnd; i++) { 328 for (int i = NUMDAYS; i < mSelEnd; i++) {
329 selDays.append(days[0].addDays(i)); 329 selDays.append(days[0].addDays(i));
330 } 330 }
331 331
332 // apply normal routine to selection being entirely within matrix limits 332 // apply normal routine to selection being entirely within matrix limits
333 } else { 333 } else {
334 for (int i = i0; i <= mSelEnd; i++) { 334 for (int i = i0; i <= mSelEnd; i++) {
335 selDays.append(days[i]); 335 selDays.append(days[i]);
336 } 336 }
337 } 337 }
338} 338}
339 339
340bool KODayMatrix::setSelectedDaysFrom(const QDate& start, const QDate& end) 340bool KODayMatrix::setSelectedDaysFrom(const QDate& start, const QDate& end)
341{ 341{
342 mRedrawNeeded = true; 342 mRedrawNeeded = true;
343 bool noSel = (mSelEnd == NOSELECTION && mSelStart == NOSELECTION ); 343 bool noSel = (mSelEnd == NOSELECTION && mSelStart == NOSELECTION );
344 mSelStart = startdate.daysTo(start); 344 mSelStart = startdate.daysTo(start);
345 if ( mSelStart < 0 ) 345 if ( mSelStart < 0 )
346 mSelStart = 0; 346 mSelStart = 0;
347 mSelEnd = startdate.daysTo(end); 347 mSelEnd = startdate.daysTo(end);
348 if ( mSelEnd > NUMDAYS-1 ) 348 if ( mSelEnd > NUMDAYS-1 )
349 mSelEnd = NUMDAYS-1; 349 mSelEnd = NUMDAYS-1;
350 if ( mSelEnd < 0 || mSelStart > NUMDAYS-1 ) { 350 if ( mSelEnd < 0 || mSelStart > NUMDAYS-1 ) {
351 clearSelection(); 351 clearSelection();
352 if ( noSel ) 352 if ( noSel )
353 return false; 353 return false;
354 } 354 }
355 355
356 return true; 356 return true;
357} 357}
358void KODayMatrix::clearSelection() 358void KODayMatrix::clearSelection()
359{ 359{
360 mSelEnd = mSelStart = NOSELECTION; 360 mSelEnd = mSelStart = NOSELECTION;
361} 361}
362 362
363 363
364void KODayMatrix::recalculateToday() 364void 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;
557 QString holiStr = mHolidays[i]; 560 QString holiStr = mHolidays[i];
558 pDays.setBit(i); 561 pDays.setBit(i);
559 if ( !holiStr.isEmpty() ) 562 if ( !holiStr.isEmpty() )
560 holiStr += "\n"; 563 holiStr += "\n";
561 holiStr += i18n("Journal: ")+todo->summary().left(25); 564 holiStr += i18n("Journal: ")+todo->summary().left(25);
562 if ( todo->summary().length() > 25 ) 565 if ( todo->summary().length() > 25 )
563 holiStr +="..."; 566 holiStr +="...";
564 bDays.setBit(i); 567 bDays.setBit(i);
565 mHolidays[i] =holiStr ; 568 mHolidays[i] =holiStr ;
566 eDays.setBit(i); 569 eDays.setBit(i);
567 570
568 } 571 }
569 } 572 }
570 } 573 }
571#else 574#else
572 //qDebug("KODayMatrix::updateViewTimed "); 575 //qDebug("KODayMatrix::updateViewTimed ");
573 for(int i = 0; i < NUMDAYS; i++) { 576 for(int i = 0; i < NUMDAYS; i++) {
574 // if events are set for the day then remember to draw it bold 577 // if events are set for the day then remember to draw it bold
575 QPtrList<Event> eventlist = mCalendar->events(days[i]); 578 QPtrList<Event> eventlist = mCalendar->events(days[i]);
576 Event *event; 579 Event *event;
577 int numEvents = eventlist.count(); 580 int numEvents = eventlist.count();
578 QString holiStr = ""; 581 QString holiStr = "";
579 bDays.clearBit(i); 582 bDays.clearBit(i);
580 hDays.clearBit(i); 583 hDays.clearBit(i);
581 eDays.clearBit(i); 584 eDays.clearBit(i);
582 for(event=eventlist.first();event != 0;event=eventlist.next()) { 585 for(event=eventlist.first();event != 0;event=eventlist.next()) {
583 ushort recurType = event->recurrence()->doesRecur(); 586 ushort recurType = event->recurrence()->doesRecur();
584 if ((recurType == Recurrence::rDaily && !KOPrefs::instance()->mDailyRecur) || 587 if ((recurType == Recurrence::rDaily && !KOPrefs::instance()->mDailyRecur) ||
585 (recurType == Recurrence::rWeekly && !KOPrefs::instance()->mWeeklyRecur)) { 588 (recurType == Recurrence::rWeekly && !KOPrefs::instance()->mWeeklyRecur)) {
586 numEvents--; 589 numEvents--;
587 } 590 }
588 if ( event->isHoliday()) { 591 if ( event->isHoliday()) {
589 hDays.setBit(i); 592 hDays.setBit(i);
590 if ( !holiStr.isEmpty() ) 593 if ( !holiStr.isEmpty() )
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}
783 789
784void KODayMatrix::mouseMoveEvent (QMouseEvent* e) 790void KODayMatrix::mouseMoveEvent (QMouseEvent* e)
785{ 791{
786 if ( ! mouseDown ) { 792 if ( ! mouseDown ) {
787 return; 793 return;
788 } 794 }
789 mRedrawNeeded = true; 795 mRedrawNeeded = true;
790 int tmp = getDayIndexFrom(e->x(), e->y()); 796 int tmp = getDayIndexFrom(e->x(), e->y());
791 if (tmp > NUMDAYS-1) tmp=NUMDAYS-1; 797 if (tmp > NUMDAYS-1) tmp=NUMDAYS-1;
792 798
793 if (mSelInit > tmp) { 799 if (mSelInit > tmp) {
794 mSelEnd = mSelInit; 800 mSelEnd = mSelInit;
795 if (tmp != mSelStart) { 801 if (tmp != mSelStart) {
796 mSelStart = tmp; 802 mSelStart = tmp;
797 repaint(false); 803 repaint(false);
798 } 804 }
799 } else { 805 } else {
800 mSelStart = mSelInit; 806 mSelStart = mSelInit;
801 807
802 //repaint only if selection has changed 808 //repaint only if selection has changed
803 if (tmp != mSelEnd) { 809 if (tmp != mSelEnd) {
804 mSelEnd = tmp; 810 mSelEnd = tmp;
805 repaint(false); 811 repaint(false);
806 } 812 }
807 } 813 }
808} 814}
809 815
810// ---------------------------------------------------------------------------- 816// ----------------------------------------------------------------------------
811// D R A G ' N D R O P H A N D L I N G 817// D R A G ' N D R O P H A N D L I N G
812// ---------------------------------------------------------------------------- 818// ----------------------------------------------------------------------------
813 819
814void KODayMatrix::dragEnterEvent(QDragEnterEvent *e) 820void KODayMatrix::dragEnterEvent(QDragEnterEvent *e)
815{ 821{
816#ifndef KORG_NODND 822#ifndef KORG_NODND
817 if ( !ICalDrag::canDecode( e ) && !VCalDrag::canDecode( e ) ) { 823 if ( !ICalDrag::canDecode( e ) && !VCalDrag::canDecode( e ) ) {
818 e->ignore(); 824 e->ignore();
819 return; 825 return;
820 } 826 }
821 827
822 // some visual feedback 828 // some visual feedback
823// oldPalette = palette(); 829// oldPalette = palette();
824// setPalette(my_HilitePalette); 830// setPalette(my_HilitePalette);
825// update(); 831// update();
826#endif 832#endif
827} 833}
828 834
829void KODayMatrix::dragMoveEvent(QDragMoveEvent *e) 835void KODayMatrix::dragMoveEvent(QDragMoveEvent *e)
830{ 836{
831#ifndef KORG_NODND 837#ifndef KORG_NODND
832 if ( !ICalDrag::canDecode( e ) && !VCalDrag::canDecode( e ) ) { 838 if ( !ICalDrag::canDecode( e ) && !VCalDrag::canDecode( e ) ) {
833 e->ignore(); 839 e->ignore();
834 return; 840 return;
835 } 841 }
836 842
837 e->accept(); 843 e->accept();
838#endif 844#endif
839} 845}
840 846
841void KODayMatrix::dragLeaveEvent(QDragLeaveEvent */*dl*/) 847void KODayMatrix::dragLeaveEvent(QDragLeaveEvent */*dl*/)
842{ 848{
843#ifndef KORG_NODND 849#ifndef KORG_NODND
844// setPalette(oldPalette); 850// setPalette(oldPalette);
845// update(); 851// update();
846#endif 852#endif
847} 853}
848 854
849void KODayMatrix::dropEvent(QDropEvent *e) 855void KODayMatrix::dropEvent(QDropEvent *e)
850{ 856{
851#ifndef KORG_NODND 857#ifndef KORG_NODND
852// kdDebug() << "KODayMatrix::dropEvent(e) begin" << endl; 858// kdDebug() << "KODayMatrix::dropEvent(e) begin" << endl;
853 859
854 if (!mCalendar || !ICalDrag::canDecode( e ) && !VCalDrag::canDecode( e ) ) { 860 if (!mCalendar || !ICalDrag::canDecode( e ) && !VCalDrag::canDecode( e ) ) {
855 e->ignore(); 861 e->ignore();
856 return; 862 return;
857 } 863 }
858 864
859 DndFactory factory( mCalendar ); 865 DndFactory factory( mCalendar );
860 Event *event = factory.createDrop(e); 866 Event *event = factory.createDrop(e);
861 867
862 if (event) { 868 if (event) {
863 e->acceptAction(); 869 e->acceptAction();
864 870
865 Event *existingEvent = mCalendar->event(event->uid()); 871 Event *existingEvent = mCalendar->event(event->uid());
866 872
867 if(existingEvent) { 873 if(existingEvent) {
868 // uniquify event 874 // uniquify event
869 event->recreate(); 875 event->recreate();
870/* 876/*
871 KMessageBox::sorry(this, 877 KMessageBox::sorry(this,
872 i18n("Event already exists in this calendar."), 878 i18n("Event already exists in this calendar."),
873 i18n("Drop Event")); 879 i18n("Drop Event"));
874 delete event; 880 delete event;
875 return; 881 return;
876*/ 882*/
877 } 883 }
878// kdDebug() << "Drop new Event" << endl; 884// kdDebug() << "Drop new Event" << endl;
879 // Adjust date 885 // Adjust date
880 QDateTime start = event->dtStart(); 886 QDateTime start = event->dtStart();
881 QDateTime end = event->dtEnd(); 887 QDateTime end = event->dtEnd();
882 int duration = start.daysTo(end); 888 int duration = start.daysTo(end);
883 int idx = getDayIndexFrom(e->pos().x(), e->pos().y()); 889 int idx = getDayIndexFrom(e->pos().x(), e->pos().y());
884 890
885 start.setDate(days[idx]); 891 start.setDate(days[idx]);
886 end.setDate(days[idx].addDays(duration)); 892 end.setDate(days[idx].addDays(duration));
887 893
888 event->setDtStart(start); 894 event->setDtStart(start);
889 event->setDtEnd(end); 895 event->setDtEnd(end);
890 mCalendar->addEvent(event); 896 mCalendar->addEvent(event);
891 897
892 emit eventDropped(event); 898 emit eventDropped(event);
893 } else { 899 } else {
894// kdDebug() << "KODayMatrix::dropEvent(): Event from drop not decodable" << endl; 900// kdDebug() << "KODayMatrix::dropEvent(): Event from drop not decodable" << endl;
895 e->ignore(); 901 e->ignore();
896 } 902 }
897#endif 903#endif
898} 904}
899 905
900// ---------------------------------------------------------------------------- 906// ----------------------------------------------------------------------------
901// P A I N T E V E N T H A N D L I N G 907// P A I N T E V E N T H A N D L I N G
902// ---------------------------------------------------------------------------- 908// ----------------------------------------------------------------------------
903 909
904void KODayMatrix::paintEvent(QPaintEvent * pevent) 910void KODayMatrix::paintEvent(QPaintEvent * pevent)
905{ 911{
906 912
907 if ( width() <= 0 || height() <= 0 ) 913 if ( width() <= 0 || height() <= 0 )
908 return; 914 return;
909 if ( mPendingUpdateBeforeRepaint ) { 915 if ( mPendingUpdateBeforeRepaint ) {
910 updateViewTimed(); 916 updateViewTimed();
911 mPendingUpdateBeforeRepaint = false; 917 mPendingUpdateBeforeRepaint = false;
912 } 918 }
913#if 0 919#if 0
914 if ( myPix.width() != width() || myPix.height()!=height() ) { 920 if ( myPix.width() != width() || myPix.height()!=height() ) {
915 myPix.resize(size() ); 921 myPix.resize(size() );
916 mRedrawNeeded = true; 922 mRedrawNeeded = true;
917 } 923 }
918#endif 924#endif
919 if ( oldW != width() || oldH !=height() ) 925 if ( oldW != width() || oldH !=height() )
920 mRedrawNeeded = true; 926 mRedrawNeeded = true;
921 927
922 oldH = height() ; 928 oldH = height() ;
923 oldW = width(); 929 oldW = width();
924 if ( myPix.width() < width() || myPix.height() < height() ) { 930 if ( myPix.width() < width() || myPix.height() < height() ) {
925 myPix.resize(size() ); 931 myPix.resize(size() );
926 mRedrawNeeded = true; 932 mRedrawNeeded = true;
927 933
928 } 934 }
929 935
930 if ( mRedrawNeeded ) { 936 if ( mRedrawNeeded ) {
931 //qDebug("REDRAW "); 937 //qDebug("REDRAW ");
932 QPainter p(&myPix); 938 QPainter p(&myPix);
933 p.setFont(font()); 939 p.setFont(font());
934 940
935 941
936 int dheight = daysize.height(); 942 int dheight = daysize.height();
937 int dwidth = daysize.width(); 943 int dwidth = daysize.width();
938 int row,col; 944 int row,col;
939 int selw, selh; 945 int selw, selh;
940 int xyOff = frameWidth(); 946 int xyOff = frameWidth();
941 int colModulo = (width()-2) % 7; 947 int colModulo = (width()-2) % 7;
942 int rowModulo = (height()-2) % 6; 948 int rowModulo = (height()-2) % 6;
943 //qDebug("col %d row %d ",colModulo,rowModulo ); 949 //qDebug("col %d row %d ",colModulo,rowModulo );
944 950
945 bool isRTL = KOGlobals::self()->reverseLayout(); 951 bool isRTL = KOGlobals::self()->reverseLayout();
946 952
947 // draw background and topleft frame 953 // draw background and topleft frame
948 p.fillRect(0,0,width(),height(), mDefaultBackColor); 954 p.fillRect(0,0,width(),height(), mDefaultBackColor);
949 //p.setPen(mDefaultTextColor); 955 //p.setPen(mDefaultTextColor);
950 //p.drawRect(0, 0, width(), height()); 956 //p.drawRect(0, 0, width(), height());
951 int mSelStartT = mSelStart; 957 int mSelStartT = mSelStart;
952 int mSelEndT = mSelEnd; 958 int mSelEndT = mSelEnd;
953 if ( mSelEndT >= NUMDAYS ) 959 if ( mSelEndT >= NUMDAYS )
954 mSelEndT = NUMDAYS-1; 960 mSelEndT = NUMDAYS-1;
955 // draw selected days with highlighted background color 961 // draw selected days with highlighted background color
956 if (mSelStart != NOSELECTION) { 962 if (mSelStart != NOSELECTION) {
957 bool skip = false; 963 bool skip = false;
958 if ( ! mouseDown ) { 964 if ( ! mouseDown ) {
959 int mo = days[20].month(); 965 int mo = days[20].month();
960 //qDebug("-- %d %d ", mSelStartT, mSelEndT); 966 //qDebug("-- %d %d ", mSelStartT, mSelEndT);
961 //qDebug("%d %d %d - d %d", mo, days[mSelStartT].month() , days[mSelEndT].month(), days[mSelEndT].day() ); 967 //qDebug("%d %d %d - d %d", mo, days[mSelStartT].month() , days[mSelEndT].month(), days[mSelEndT].day() );
962 int startMo = days[mSelStartT].month(); 968 int startMo = days[mSelStartT].month();
963 int endMo = days[mSelEndT].month(); 969 int endMo = days[mSelEndT].month();
964 if ( startMo == 12 && mo == 1 && endMo <= 2 ) 970 if ( startMo == 12 && mo == 1 && endMo <= 2 )
965 startMo = 1; 971 startMo = 1;
966 if ( endMo == 1 && mo == 12 ) 972 if ( endMo == 1 && mo == 12 )
967 endMo = 12; 973 endMo = 12;
968 if ( mo == 12 && startMo == 1 ) 974 if ( mo == 12 && startMo == 1 )
969 startMo = 13; 975 startMo = 13;
970 if ( (startMo > mo || endMo < mo) ) { 976 if ( (startMo > mo || endMo < mo) ) {
971 skip = true; 977 skip = true;
972 } else { 978 } else {
973 if ( days[mSelStartT].month() != mo ) { 979 if ( days[mSelStartT].month() != mo ) {
974 int add = days[mSelStartT].daysInMonth ()-days[mSelStartT].day(); 980 int add = days[mSelStartT].daysInMonth ()-days[mSelStartT].day();
975 mSelStartT += add +1; 981 mSelStartT += add +1;
976 } 982 }
977 if ( days[mSelEndT].month() != mo ) { 983 if ( days[mSelEndT].month() != mo ) {
978 int sub = days[mSelEndT].day(); 984 int sub = days[mSelEndT].day();
979 mSelEndT -= sub ; 985 mSelEndT -= sub ;
980 } 986 }
981 } 987 }
982 } 988 }
983 //qDebug("SKIP %d ", skip); 989 //qDebug("SKIP %d ", skip);
984 if ( ! skip ) { 990 if ( ! skip ) {
985 row = mSelStartT/7; 991 row = mSelStartT/7;
986 col = mSelStartT -row*7; 992 col = mSelStartT -row*7;
987 QColor selcol = KOPrefs::instance()->mHighlightColor; 993 QColor selcol = KOPrefs::instance()->mHighlightColor;
988 int addCol = 0; 994 int addCol = 0;
989 int addRow = 0; 995 int addRow = 0;
990 int addRow2 = 0; 996 int addRow2 = 0;
991 int addCol2 = 0; 997 int addCol2 = 0;
992 if (row == mSelEndT/7) { 998 if (row == mSelEndT/7) {
993 if ( rowModulo ) { 999 if ( rowModulo ) {
994 if ( row >= 6 - rowModulo ) 1000 if ( row >= 6 - rowModulo )
995 addRow = row - 5 + rowModulo; 1001 addRow = row - 5 + rowModulo;
996 } 1002 }
997 if ( colModulo ) { 1003 if ( colModulo ) {
998 int colt1 = mSelEndT%7; 1004 int colt1 = mSelEndT%7;
999 //qDebug("colt1 %d ", colt1 ); 1005 //qDebug("colt1 %d ", colt1 );
1000 if ( colt1 >= 7 - colModulo ) 1006 if ( colt1 >= 7 - colModulo )
1001 addCol = colt1 - 7 + colModulo+1; 1007 addCol = colt1 - 7 + colModulo+1;
1002 int colt = mSelStartT%7; 1008 int colt = mSelStartT%7;
1003 if ( colt >= 7 - colModulo ) 1009 if ( colt >= 7 - colModulo )
1004 addCol2 = colt - 7 + colModulo; 1010 addCol2 = colt - 7 + colModulo;
1005 addCol -= addCol2; 1011 addCol -= addCol2;
1006 //qDebug("COL %d %d %d %d ",col , colt1 ,addCol ,addCol2 ); 1012 //qDebug("COL %d %d %d %d ",col , colt1 ,addCol ,addCol2 );
1007 } 1013 }
1008 // Single row selection 1014 // Single row selection
1009 //if ( row == 0) 1015 //if ( row == 0)
1010 // addRow = 1; 1016 // addRow = 1;
1011 p.fillRect(isRTL ? (7 - (mSelEndT-mSelStartT+1) - col)*dwidth : col*dwidth+1+addCol2, 1017 p.fillRect(isRTL ? (7 - (mSelEndT-mSelStartT+1) - col)*dwidth : col*dwidth+1+addCol2,
1012 row*dheight+addRow, (mSelEndT-mSelStartT+1)*dwidth+addCol, dheight+1, selcol); 1018 row*dheight+addRow, (mSelEndT-mSelStartT+1)*dwidth+addCol, dheight+1, selcol);
1013 } else { 1019 } else {
1014 // draw first row to the right 1020 // draw first row to the right
1015 if ( colModulo ) { 1021 if ( colModulo ) {
1016 if ( col >= 7 - colModulo ) 1022 if ( col >= 7 - colModulo )
1017 addCol2 = col - 7 + colModulo; 1023 addCol2 = col - 7 + colModulo;
1018 } 1024 }
1019 if ( rowModulo ) { 1025 if ( rowModulo ) {
1020 if ( row >= 6 - rowModulo ) 1026 if ( row >= 6 - rowModulo )
1021 addRow = row - 5 + rowModulo; 1027 addRow = row - 5 + rowModulo;
1022 } 1028 }
1023 //if ( row == 0) 1029 //if ( row == 0)
1024 // addRow = 1; 1030 // addRow = 1;
1025 int drawWid = width()-(col*dwidth+1+addCol2)-1; 1031 int drawWid = width()-(col*dwidth+1+addCol2)-1;
1026 p.fillRect(isRTL ? 0 : col*dwidth+1+addCol2, row*dheight+addRow, drawWid, 1032 p.fillRect(isRTL ? 0 : col*dwidth+1+addCol2, row*dheight+addRow, drawWid,
1027 dheight+1, selcol); 1033 dheight+1, selcol);
1028 // draw full block till last line 1034 // draw full block till last line
1029 selh = mSelEndT/7-row; 1035 selh = mSelEndT/7-row;
1030 addRow = 0; 1036 addRow = 0;
1031 if ( rowModulo ) { 1037 if ( rowModulo ) {
1032 if ( mSelEndT/7 >= 6 - rowModulo ) 1038 if ( mSelEndT/7 >= 6 - rowModulo )
1033 addRow = mSelEndT/7 - 5 + rowModulo; 1039 addRow = mSelEndT/7 - 5 + rowModulo;
1034 } 1040 }
1035 //qDebug("%d %d %d ",selh, row, addRow ); 1041 //qDebug("%d %d %d ",selh, row, addRow );
1036 int addrow2 = addRow-selh+1; 1042 int addrow2 = addRow-selh+1;
1037 if ( addrow2 < 0 ) 1043 if ( addrow2 < 0 )
1038 addrow2 = 0; 1044 addrow2 = 0;
1039 if (selh > 1) { 1045 if (selh > 1) {
1040 p.fillRect(1, (row+1)*dheight+addrow2, 7*dwidth+colModulo, (selh-1)*dheight+addRow,selcol); 1046 p.fillRect(1, (row+1)*dheight+addrow2, 7*dwidth+colModulo, (selh-1)*dheight+addRow,selcol);
1041 } 1047 }
1042 // draw last block from left to mSelEndT 1048 // draw last block from left to mSelEndT
1043 selw = mSelEndT-7*(mSelEndT/7)+1; 1049 selw = mSelEndT-7*(mSelEndT/7)+1;
1044 //qDebug("esl %d ",selw ); 1050 //qDebug("esl %d ",selw );
1045 int add = 0; 1051 int add = 0;
1046 if ( colModulo ) { 1052 if ( colModulo ) {
1047 add = 7 - colModulo; 1053 add = 7 - colModulo;
1048 if ( selw > add ) 1054 if ( selw > add )
1049 add = selw - add; 1055 add = selw - add;
1050 else 1056 else
1051 add = 0; 1057 add = 0;
1052 } 1058 }
1053 //qDebug("add %d ", add); 1059 //qDebug("add %d ", add);
1054 p.fillRect(isRTL ? (7-selw)*dwidth : 1, (row+selh)*dheight+addRow, 1060 p.fillRect(isRTL ? (7-selw)*dwidth : 1, (row+selh)*dheight+addRow,
1055 selw*dwidth+add, dheight+1, selcol); 1061 selw*dwidth+add, dheight+1, selcol);
1056 } 1062 }
1057 } 1063 }
1058 } 1064 }
1059 1065
1060 // iterate over all days in the matrix and draw the day label in appropriate colors 1066 // iterate over all days in the matrix and draw the day label in appropriate colors
1061 QColor actcol = mDefaultTextColorShaded; 1067 QColor actcol = mDefaultTextColorShaded;
1062 p.setPen(actcol); 1068 p.setPen(actcol);
1063 QPen tmppen; 1069 QPen tmppen;
1064 for(int i = 0; i < NUMDAYS; i++) { 1070 for(int i = 0; i < NUMDAYS; i++) {
1065 row = i/7; 1071 row = i/7;
1066 col = isRTL ? 6-(i-row*7) : i-row*7; 1072 col = isRTL ? 6-(i-row*7) : i-row*7;
1067 1073
1068 // if it is the first day of a month switch color from normal to shaded and vice versa 1074 // if it is the first day of a month switch color from normal to shaded and vice versa
1069 if ( KOGlobals::self()->calendarSystem()->day( days[i] ) == 1) { 1075 if ( KOGlobals::self()->calendarSystem()->day( days[i] ) == 1) {
1070 if (actcol == mDefaultTextColorShaded) { 1076 if (actcol == mDefaultTextColorShaded) {
1071 actcol = mDefaultTextColor; 1077 actcol = mDefaultTextColor;
1072 } else { 1078 } else {
1073 actcol = mDefaultTextColorShaded; 1079 actcol = mDefaultTextColorShaded;
1074 } 1080 }
1075 p.setPen(actcol); 1081 p.setPen(actcol);
1076 } 1082 }
1077 if (actcol == mDefaultTextColorShaded) { 1083 if (actcol == mDefaultTextColorShaded) {
1078 if ( ! mouseDown ) { 1084 if ( ! mouseDown ) {
1079 continue; 1085 continue;
1080 } 1086 }
1081 } 1087 }
1082 //Reset pen color after selected days block 1088 //Reset pen color after selected days block
1083 if (i == mSelEndT+1) { 1089 if (i == mSelEndT+1) {
1084 p.setPen(actcol); 1090 p.setPen(actcol);
1085 } 1091 }
1086 1092
1087 // if today then draw rectangle around day 1093 // if today then draw rectangle around day
1088 if (today == i) { 1094 if (today == i) {
1089 tmppen = p.pen(); 1095 tmppen = p.pen();
1090 QPen mTodayPen(p.pen()); 1096 QPen mTodayPen(p.pen());
1091 if ( daysize.width() < 20 ) 1097 if ( daysize.width() < 20 )
1092 mTodayPen.setWidth(1); 1098 mTodayPen.setWidth(1);
1093 else 1099 else
1094 mTodayPen.setWidth(mTodayMarginWidth); 1100 mTodayPen.setWidth(mTodayMarginWidth);
1095 //draw red rectangle for holidays 1101 //draw red rectangle for holidays
1096 if (pDays.testBit(i)) { 1102 if (pDays.testBit(i)) {
1097 if (actcol == mDefaultTextColor) { 1103 if (actcol == mDefaultTextColor) {
1098 mTodayPen.setColor(KOPrefs::instance()->mHolidayColor); 1104 mTodayPen.setColor(KOPrefs::instance()->mHolidayColor);
1099 } else { 1105 } else {
1100 mTodayPen.setColor(mHolidayColorShaded); 1106 mTodayPen.setColor(mHolidayColorShaded);
1101 } 1107 }
1102 } 1108 }
1103 //draw gray rectangle for today if in selection 1109 //draw gray rectangle for today if in selection
1104 if (i >= mSelStartT && i <= mSelEndT) { 1110 if (i >= mSelStartT && i <= mSelEndT) {
1105 QColor grey("grey"); 1111 QColor grey("grey");
1106 mTodayPen.setColor(grey); 1112 mTodayPen.setColor(grey);
1107 } 1113 }
1108 p.setPen(mTodayPen); 1114 p.setPen(mTodayPen);
1109 1115
1110 1116
1111 int addCol = 0; 1117 int addCol = 0;
1112 int addRow = 0; 1118 int addRow = 0;
1113 if (rowModulo) { 1119 if (rowModulo) {
1114 if ( row >= 6 - rowModulo ) 1120 if ( row >= 6 - rowModulo )
1115 addRow = row - 5 + rowModulo; 1121 addRow = row - 5 + rowModulo;
1116 } 1122 }
1117 if ( colModulo ) { 1123 if ( colModulo ) {
1118 if ( col >= 7 - colModulo ) 1124 if ( col >= 7 - colModulo )
1119 addCol = col - 6 + colModulo-1; 1125 addCol = col - 6 + colModulo-1;
1120 } 1126 }
1121 1127
1122 addCol += 1; 1128 addCol += 1;
1123 if ( row == 0 ) 1129 if ( row == 0 )
1124 addRow = 1; 1130 addRow = 1;
1125 p.drawRect(col*dwidth+addCol, row*dheight+addRow, dwidth+1, dheight+1); 1131 p.drawRect(col*dwidth+addCol, row*dheight+addRow, dwidth+1, dheight+1);
1126 p.setPen(tmppen); 1132 p.setPen(tmppen);
1127 } 1133 }
1128 1134
1129 // if any events are on that day then draw it using a bold font 1135 // if any events are on that day then draw it using a bold font
1130 if ( eDays.testBit(i) ) { 1136 if ( eDays.testBit(i) ) {
1131 QFont myFont = font(); 1137 QFont myFont = font();
1132 myFont.setBold(true); 1138 myFont.setBold(true);
1133 p.setFont(myFont); 1139 p.setFont(myFont);
1134 } 1140 }
1135 1141
1136 // if it is a holiday then use the default holiday color 1142 // if it is a holiday then use the default holiday color
1137 if ( pDays.testBit(i)) { 1143 if ( pDays.testBit(i)) {
1138 if ( bDays.testBit(i) ) { 1144 if ( bDays.testBit(i) ) {
1139 if ( hDays.testBit(i) ) 1145 if ( hDays.testBit(i) )
1140 p.setPen(QColor(0,200,0)); 1146 p.setPen(QColor(0,200,0));
1141 else 1147 else
1142 p.setPen(QColor(Qt::blue)); 1148 p.setPen(QColor(Qt::blue));
1143 } else { 1149 } else {
1144 if (actcol == mDefaultTextColor ) { 1150 if (actcol == mDefaultTextColor ) {
1145 p.setPen(KOPrefs::instance()->mHolidayColor); 1151 p.setPen(KOPrefs::instance()->mHolidayColor);
1146 } else { 1152 } else {
1147 p.setPen(mHolidayColorShaded); 1153 p.setPen(mHolidayColorShaded);
1148 } 1154 }
1149 } 1155 }
1150 } 1156 }
1151 1157
1152 // draw selected days with special color 1158 // draw selected days with special color
1153 // DO NOT specially highlight holidays in selection ! 1159 // DO NOT specially highlight holidays in selection !
1154 if (i >= mSelStartT && i <= mSelEndT) { 1160 if (i >= mSelStartT && i <= mSelEndT) {
1155 ;//p.setPen(mSelectedDaysColor); 1161 ;//p.setPen(mSelectedDaysColor);
1156 } 1162 }
1157 1163
1158 int addCol = 0; 1164 int addCol = 0;
1159 int addRow = 0; 1165 int addRow = 0;
1160 if ( colModulo ) { 1166 if ( colModulo ) {
1161 if ( col >= 7 - colModulo ) 1167 if ( col >= 7 - colModulo )
1162 addCol = col - 7 + colModulo; 1168 addCol = col - 7 + colModulo;
1163 } 1169 }
1164 if ( rowModulo ) { 1170 if ( rowModulo ) {
1165 if ( row >= 6 - rowModulo ) 1171 if ( row >= 6 - rowModulo )
1166 addRow = row - 5 + rowModulo; 1172 addRow = row - 5 + rowModulo;
1167 } 1173 }
1168 //qDebug("add %d %d -- %d %d ", col, addCol, row, addRow); 1174 //qDebug("add %d %d -- %d %d ", col, addCol, row, addRow);
1169 ++addCol;//++addCol; 1175 ++addCol;//++addCol;
1170 if ( row == 0) 1176 if ( row == 0)
1171 addRow = 1; 1177 addRow = 1;
1172 p.drawText(col*dwidth+addCol, row*dheight+addRow, dwidth, dheight, 1178 p.drawText(col*dwidth+addCol, row*dheight+addRow, dwidth, dheight,
1173 Qt::AlignHCenter | Qt::AlignVCenter, daylbls[i]); 1179 Qt::AlignHCenter | Qt::AlignVCenter, daylbls[i]);
1174 1180
1175 // reset color to actual color 1181 // reset color to actual color
1176 if (pDays.testBit(i)) { 1182 if (pDays.testBit(i)) {
1177 p.setPen(actcol); 1183 p.setPen(actcol);
1178 } 1184 }
1179 // reset bold font to plain font 1185 // reset bold font to plain font
1180 if ( eDays.testBit(i)) { 1186 if ( eDays.testBit(i)) {
1181 QFont myFont = font(); 1187 QFont myFont = font();
1182 myFont.setBold(false); 1188 myFont.setBold(false);
1183 p.setFont(myFont); 1189 p.setFont(myFont);
1184 } 1190 }
1185 } 1191 }
1186 p.setPen(mDefaultTextColor); 1192 p.setPen(mDefaultTextColor);
1187 p.drawRect(0, 0, width(), height()); 1193 p.drawRect(0, 0, width(), height());
1188 } else { 1194 } else {
1189 //qDebug("NO redraw "); 1195 //qDebug("NO redraw ");
1190 } 1196 }
1191 1197
1192 bitBlt (this, pevent->rect().topLeft(), &myPix , pevent->rect() ,CopyROP); 1198 bitBlt (this, pevent->rect().topLeft(), &myPix , pevent->rect() ,CopyROP);
1193 mRedrawNeeded = false; 1199 mRedrawNeeded = false;
1194} 1200}
1195 1201
1196// ---------------------------------------------------------------------------- 1202// ----------------------------------------------------------------------------
1197// R E SI Z E E V E N T H A N D L I N G 1203// R E SI Z E E V E N T H A N D L I N G
1198// ---------------------------------------------------------------------------- 1204// ----------------------------------------------------------------------------
1199 1205
1200void KODayMatrix::resizeEvent(QResizeEvent * e) 1206void KODayMatrix::resizeEvent(QResizeEvent * e)
1201{ 1207{
1202 QRect sz = frameRect(); 1208 QRect sz = frameRect();
1203 daysize.setHeight(sz.height()*7 / NUMDAYS); 1209 daysize.setHeight(sz.height()*7 / NUMDAYS);
1204 daysize.setWidth(sz.width() / 7); 1210 daysize.setWidth(sz.width() / 7);
1205 QFrame::resizeEvent( e ); 1211 QFrame::resizeEvent( e );
1206} 1212}
1207 1213
1208QSize KODayMatrix::sizeHint() const 1214QSize KODayMatrix::sizeHint() const
1209{ 1215{
1210 1216
1211 QFontMetrics fm ( font() ); 1217 QFontMetrics fm ( font() );
1212 int wid = fm.width( "30") *7+3; 1218 int wid = fm.width( "30") *7+3;
1213 int hei = fm.height() * 6+3; 1219 int hei = fm.height() * 6+3;
1214 //qDebug("KODayMatrix::sizeHint()********************* %d %d", wid , hei); 1220 //qDebug("KODayMatrix::sizeHint()********************* %d %d", wid , hei);
1215 return QSize ( wid, hei ); 1221 return QSize ( wid, hei );
1216 1222
1217} 1223}
diff --git a/korganizer/koprefs.cpp b/korganizer/koprefs.cpp
index 571ca11..1b0e5f4 100644
--- a/korganizer/koprefs.cpp
+++ b/korganizer/koprefs.cpp
@@ -1,634 +1,636 @@
1/* 1/*
2 This file is part of KOrganizer. 2 This file is part of KOrganizer.
3 Copyright (c) 2001 Cornelius Schumacher <schumacher@kde.org> 3 Copyright (c) 2001 Cornelius Schumacher <schumacher@kde.org>
4 4
5 This program is free software; you can redistribute it and/or modify 5 This program is free software; you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by 6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation; either version 2 of the License, or 7 the Free Software Foundation; either version 2 of the License, or
8 (at your option) any later version. 8 (at your option) any later version.
9 9
10 This program is distributed in the hope that it will be useful, 10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of 11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details. 13 GNU General Public License for more details.
14 14
15 You should have received a copy of the GNU General Public License 15 You should have received a copy of the GNU General Public License
16 along with this program; if not, write to the Free Software 16 along with this program; if not, write to the Free Software
17 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 17 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
18 18
19 As a special exception, permission is given to link this program 19 As a special exception, permission is given to link this program
20 with any edition of Qt, and distribute the resulting executable, 20 with any edition of Qt, and distribute the resulting executable,
21 without including the source code for Qt in the source distribution. 21 without including the source code for Qt in the source distribution.
22*/ 22*/
23 23
24#include <time.h> 24#include <time.h>
25#ifndef _WIN32_ 25#ifndef _WIN32_
26#include <unistd.h> 26#include <unistd.h>
27#endif 27#endif
28#include <qdir.h> 28#include <qdir.h>
29#include <qtextstream.h> 29#include <qtextstream.h>
30#include <qtextcodec.h> 30#include <qtextcodec.h>
31#include <qstring.h> 31#include <qstring.h>
32#include <qregexp.h> 32#include <qregexp.h>
33#include <qfont.h> 33#include <qfont.h>
34#include <qcolor.h> 34#include <qcolor.h>
35#include <qstringlist.h> 35#include <qstringlist.h>
36#include <stdlib.h> 36#include <stdlib.h>
37 37
38#include <kglobal.h> 38#include <kglobal.h>
39#include <kglobalsettings.h> 39#include <kglobalsettings.h>
40#include <kconfig.h> 40#include <kconfig.h>
41#include <klocale.h> 41#include <klocale.h>
42#include <kdebug.h> 42#include <kdebug.h>
43#include <kemailsettings.h> 43#include <kemailsettings.h>
44#include <kstaticdeleter.h> 44#include <kstaticdeleter.h>
45#include <libkdepim/kpimglobalprefs.h> 45#include <libkdepim/kpimglobalprefs.h>
46 46
47#include "koprefs.h" 47#include "koprefs.h"
48#include "mainwindow.h" 48#include "mainwindow.h"
49 49
50KOPrefs *KOPrefs::mInstance = 0; 50KOPrefs *KOPrefs::mInstance = 0;
51static KStaticDeleter<KOPrefs> insd; 51static KStaticDeleter<KOPrefs> insd;
52 52
53KOPrefs::KOPrefs() : 53KOPrefs::KOPrefs() :
54 KPimPrefs("korganizerrc") 54 KPimPrefs("korganizerrc")
55{ 55{
56 mGlobalUpdateDisabled = false; 56 mGlobalUpdateDisabled = false;
57 mCategoryColors.setAutoDelete(true); 57 mCategoryColors.setAutoDelete(true);
58 fillMailDefaults(); 58 fillMailDefaults();
59 mDefaultCategoryColor = QColor(175,210,255);//196,196,196); 59 mDefaultCategoryColor = QColor(175,210,255);//196,196,196);
60 QColor defaultHolidayColor = QColor(255,0,0); 60 QColor defaultHolidayColor = QColor(255,0,0);
61 QColor defaultHighlightColor = QColor(129,112,255);//64,64,255); 61 QColor defaultHighlightColor = QColor(129,112,255);//64,64,255);
62 QColor defaultAgendaBgColor = QColor(239,241,169);//128,128,128); 62 QColor defaultAgendaBgColor = QColor(239,241,169);//128,128,128);
63 QColor defaultWorkingHoursColor = QColor(170,223,150);//160,160,160); 63 QColor defaultWorkingHoursColor = QColor(170,223,150);//160,160,160);
64 QColor defaultTodoDueTodayColor = QColor(255,220,100); 64 QColor defaultTodoDueTodayColor = QColor(255,220,100);
65 QColor defaultTodoOverdueColor = QColor(255,153,125); 65 QColor defaultTodoOverdueColor = QColor(255,153,125);
66 QColor defaultTodoRunColor = QColor(99,194,30); 66 QColor defaultTodoRunColor = QColor(99,194,30);
67 KPrefs::setCurrentGroup("General"); 67 KPrefs::setCurrentGroup("General");
68 addItemBool("Enable Group Scheduling",&mEnableGroupScheduling,false); 68 addItemBool("Enable Group Scheduling",&mEnableGroupScheduling,false);
69 addItemBool("ShowIconNewTodo",&mShowIconNewTodo,true); 69 addItemBool("ShowIconNewTodo",&mShowIconNewTodo,true);
70 addItemBool("ShowIconNewEvent",&mShowIconNewEvent,true); 70 addItemBool("ShowIconNewEvent",&mShowIconNewEvent,true);
71 addItemBool("ShowIconSearch",&mShowIconSearch,true); 71 addItemBool("ShowIconSearch",&mShowIconSearch,true);
72 addItemBool("ShowIconList",&mShowIconList,true); 72 addItemBool("ShowIconList",&mShowIconList,true);
73 addItemBool("ShowIconDay1",&mShowIconDay1,true); 73 addItemBool("ShowIconDay1",&mShowIconDay1,true);
74 addItemBool("ShowIconDay5",&mShowIconDay5,true); 74 addItemBool("ShowIconDay5",&mShowIconDay5,true);
75 addItemBool("ShowIconDay6",&mShowIconDay6,true); 75 addItemBool("ShowIconDay6",&mShowIconDay6,true);
76 addItemBool("ShowIconDay7",&mShowIconDay7,true); 76 addItemBool("ShowIconDay7",&mShowIconDay7,true);
77 addItemBool("ShowIconMonth",&mShowIconMonth,true); 77 addItemBool("ShowIconMonth",&mShowIconMonth,true);
78 addItemBool("ShowIconTodoview",&mShowIconTodoview,true); 78 addItemBool("ShowIconTodoview",&mShowIconTodoview,true);
79 addItemBool("ShowIconBackFast",&mShowIconBackFast,true); 79 addItemBool("ShowIconBackFast",&mShowIconBackFast,true);
80 addItemBool("ShowIconBack",&mShowIconBack,true); 80 addItemBool("ShowIconBack",&mShowIconBack,true);
81 addItemBool("ShowIconToday",&mShowIconToday,true); 81 addItemBool("ShowIconToday",&mShowIconToday,true);
82 addItemBool("ShowIconForward",&mShowIconForward,true); 82 addItemBool("ShowIconForward",&mShowIconForward,true);
83 addItemBool("ShowIconForwardFast",&mShowIconForwardFast,true); 83 addItemBool("ShowIconForwardFast",&mShowIconForwardFast,true);
84 addItemBool("ShowIconWhatsThis",&mShowIconWhatsThis,true); 84 addItemBool("ShowIconWhatsThis",&mShowIconWhatsThis,true);
85 addItemBool("ShowIconWeekNum",&mShowIconWeekNum,true); 85 addItemBool("ShowIconWeekNum",&mShowIconWeekNum,true);
86 addItemBool("ShowIconNextDays",&mShowIconNextDays,true); 86 addItemBool("ShowIconNextDays",&mShowIconNextDays,true);
87 addItemBool("ShowIconNext",&mShowIconNext,true); 87 addItemBool("ShowIconNext",&mShowIconNext,true);
88 addItemBool("ShowIconJournal",&mShowIconJournal,true); 88 addItemBool("ShowIconJournal",&mShowIconJournal,true);
89 addItemBool("ShowIconStretch",&mShowIconStretch,true); 89 addItemBool("ShowIconStretch",&mShowIconStretch,true);
90 addItemBool("ShowIconFilter",&mShowIconFilter,false); 90 addItemBool("ShowIconFilter",&mShowIconFilter,false);
91 addItemBool("ShowIconOnetoolbar",&mShowIconOnetoolbar,true); 91 addItemBool("ShowIconOnetoolbar",&mShowIconOnetoolbar,true);
92 92
93 bool addIcons = false; 93 bool addIcons = false;
94#ifdef DESKTOP_VERSION 94#ifdef DESKTOP_VERSION
95 addIcons = true; 95 addIcons = true;
96#endif 96#endif
97 addItemBool("ShowIconNavigator",&mShowIconNavigator,addIcons); 97 addItemBool("ShowIconNavigator",&mShowIconNavigator,addIcons);
98 addItemBool("ShowIconAllday",&mShowIconAllday,addIcons); 98 addItemBool("ShowIconAllday",&mShowIconAllday,addIcons);
99 addItemBool("ShowIconFilterview",&mShowIconFilterview,addIcons); 99 addItemBool("ShowIconFilterview",&mShowIconFilterview,addIcons);
100 addItemBool("ShowIconToggleFull",&mShowIconToggleFull,addIcons); 100 addItemBool("ShowIconToggleFull",&mShowIconToggleFull,addIcons);
101 101
102 addItemInt("LastLoadedLanguage",&mOldLanguage,0); 102 addItemInt("LastLoadedLanguage",&mOldLanguage,0);
103 103
104 addItemBool("AskForQuit",&mAskForQuit,false); 104 addItemBool("AskForQuit",&mAskForQuit,false);
105 105
106#ifndef DESKTOP_VERSION 106#ifndef DESKTOP_VERSION
107 addItemBool("ShowFullMenu",&mShowFullMenu,false); 107 addItemBool("ShowFullMenu",&mShowFullMenu,false);
108#else 108#else
109 addItemBool("ShowFullMenu",&mShowFullMenu,true); 109 addItemBool("ShowFullMenu",&mShowFullMenu,true);
110#endif 110#endif
111 addItemBool("ToolBarHor",&mToolBarHor, true ); 111 addItemBool("ToolBarHor",&mToolBarHor, true );
112 addItemBool("ToolBarUp",&mToolBarUp, false ); 112 addItemBool("ToolBarUp",&mToolBarUp, false );
113 addItemBool("ToolBarHorV",&mToolBarHorV, true ); 113 addItemBool("ToolBarHorV",&mToolBarHorV, true );
114 addItemBool("ToolBarUpV",&mToolBarUpV, false ); 114 addItemBool("ToolBarUpV",&mToolBarUpV, false );
115 addItemBool("ToolBarHorN",&mToolBarHorN, true ); 115 addItemBool("ToolBarHorN",&mToolBarHorN, true );
116 addItemBool("ToolBarUpN",&mToolBarUpN, false ); 116 addItemBool("ToolBarUpN",&mToolBarUpN, false );
117 addItemBool("ToolBarHorF",&mToolBarHorF, true ); 117 addItemBool("ToolBarHorF",&mToolBarHorF, true );
118 addItemBool("ToolBarUpF",&mToolBarUpF, false ); 118 addItemBool("ToolBarUpF",&mToolBarUpF, false );
119 addItemBool("ToolBarMiniIcons",&mToolBarMiniIcons, false ); 119 addItemBool("ToolBarMiniIcons",&mToolBarMiniIcons, false );
120 addItemBool("WhatsNextTime2Lines",&mWhatsNextTime2Lines, false ); 120 addItemBool("WhatsNextTime2Lines",&mWhatsNextTime2Lines, false );
121 addItemInt("Whats Next Days",&mWhatsNextDays,3); 121 addItemInt("Whats Next Days",&mWhatsNextDays,3);
122 addItemInt("Whats Next Prios",&mWhatsNextPrios,1); 122 addItemInt("Whats Next Prios",&mWhatsNextPrios,1);
123 123
124 addItemBool("ShowTodoInAgenda",&mShowTodoInAgenda,true); 124 addItemBool("ShowTodoInAgenda",&mShowTodoInAgenda,true);
125 addItemBool("ShowCompletedTodoInAgenda",&mShowCompletedTodoInAgenda,true); 125 addItemBool("ShowCompletedTodoInAgenda",&mShowCompletedTodoInAgenda,true);
126 addItemBool("ShowTimeInAgenda",&mShowTimeInAgenda,true); 126 addItemBool("ShowTimeInAgenda",&mShowTimeInAgenda,true);
127 addItemBool("HideNonStartedTodos",&mHideNonStartedTodos,false); 127 addItemBool("HideNonStartedTodos",&mHideNonStartedTodos,false);
128 addItemBool("ShowCompletedTodo",&mShowCompletedTodo,true); 128 addItemBool("ShowCompletedTodo",&mShowCompletedTodo,true);
129 addItemInt("AllDay Size",&mAllDaySize,28); 129 addItemInt("AllDay Size",&mAllDaySize,28);
130 QString defAlarm = KGlobal::iconLoader()->iconPath()+"koalarm.wav"; 130 QString defAlarm = KGlobal::iconLoader()->iconPath()+"koalarm.wav";
131 addItemString("DefaultAlarmFile",&mDefaultAlarmFile,defAlarm ); 131 addItemString("DefaultAlarmFile",&mDefaultAlarmFile,defAlarm );
132 132
133 addItemStringList("LocationDefaults",&mLocationDefaults ); 133 addItemStringList("LocationDefaults",&mLocationDefaults );
134 addItemStringList("EventSummary User",&mEventSummaryUser); 134 addItemStringList("EventSummary User",&mEventSummaryUser);
135 addItemStringList("TodoSummary User",&mTodoSummaryUser); 135 addItemStringList("TodoSummary User",&mTodoSummaryUser);
136 addItemStringList("JournalSummary User",&mJournalSummaryUser); 136 addItemStringList("JournalSummary User",&mJournalSummaryUser);
137 137
138 addItemBool("Enable Group Scheduling",&mEnableGroupScheduling,false); 138 addItemBool("Enable Group Scheduling",&mEnableGroupScheduling,false);
139 addItemBool("Enable Project View",&mEnableProjectView,false); 139 addItemBool("Enable Project View",&mEnableProjectView,false);
140 addItemBool("Auto Save",&mAutoSave,false); 140 addItemBool("Auto Save",&mAutoSave,false);
141 addItemInt("Auto Save Interval",&mAutoSaveInterval,3); 141 addItemInt("Auto Save Interval",&mAutoSaveInterval,3);
142 addItemBool("Confirm Deletes",&mConfirm,true); 142 addItemBool("Confirm Deletes",&mConfirm,true);
143 addItemString("Archive File",&mArchiveFile); 143 addItemString("Archive File",&mArchiveFile);
144 addItemString("Html Export File",&mHtmlExportFile, 144 addItemString("Html Export File",&mHtmlExportFile,
145 QDir::homeDirPath() + "/" + i18n("Default export file", "calendar.html")); 145 QDir::homeDirPath() + "/" + i18n("Default export file", "calendar.html"));
146 addItemBool("Html With Save",&mHtmlWithSave,false); 146 addItemBool("Html With Save",&mHtmlWithSave,false);
147 147
148 KPrefs::setCurrentGroup("Personal Settings"); 148 KPrefs::setCurrentGroup("Personal Settings");
149 149
150 addItemInt("Mail Client",&mMailClient,MailClientKMail); 150 addItemInt("Mail Client",&mMailClient,MailClientKMail);
151 addItemBool("Use Control Center Email",&mEmailControlCenter,false); 151 addItemBool("Use Control Center Email",&mEmailControlCenter,false);
152 addItemBool("Bcc",&mBcc,false); 152 addItemBool("Bcc",&mBcc,false);
153 153
154 KPrefs::setCurrentGroup("Time & Date"); 154 KPrefs::setCurrentGroup("Time & Date");
155 155
156 156
157 addItemInt("Default Start Time",&mStartTime,10); 157 addItemInt("Default Start Time",&mStartTime,10);
158 addItemInt("Default Duration",&mDefaultDuration,2); 158 addItemInt("Default Duration",&mDefaultDuration,2);
159 addItemInt("Default Alarm Time",&mAlarmTime,3); 159 addItemInt("Default Alarm Time",&mAlarmTime,3);
160 KPrefs::setCurrentGroup("AlarmSettings"); 160 KPrefs::setCurrentGroup("AlarmSettings");
161 addItemInt("AlarmPlayBeeps",&mAlarmPlayBeeps,20); 161 addItemInt("AlarmPlayBeeps",&mAlarmPlayBeeps,20);
162 addItemInt("AlarmSuspendTime",&mAlarmSuspendTime,7); 162 addItemInt("AlarmSuspendTime",&mAlarmSuspendTime,7);
163 addItemInt("AlarmSuspendCount",&mAlarmSuspendCount,5); 163 addItemInt("AlarmSuspendCount",&mAlarmSuspendCount,5);
164 addItemInt("AlarmBeepInterval",&mAlarmBeepInterval,3); 164 addItemInt("AlarmBeepInterval",&mAlarmBeepInterval,3);
165 165
166 166
167 KPrefs::setCurrentGroup("Calendar"); 167 KPrefs::setCurrentGroup("Calendar");
168 168
169 addItemInt("Default Calendar Format",&mDefaultFormat,FormatICalendar); 169 addItemInt("Default Calendar Format",&mDefaultFormat,FormatICalendar);
170 170
171 KPrefs::setCurrentGroup("Fonts"); 171 KPrefs::setCurrentGroup("Fonts");
172 // qDebug(" KPrefs::setCurrentGroup(Fonts); "); 172 // qDebug(" KPrefs::setCurrentGroup(Fonts); ");
173 QFont fon = KGlobalSettings::generalFont(); 173 QFont fon = KGlobalSettings::generalFont();
174 addItemFont("TimeBar Font",&mTimeBarFont,fon ); 174 addItemFont("TimeBar Font",&mTimeBarFont,fon );
175 addItemFont("MonthView Font",&mMonthViewFont,fon); 175 addItemFont("MonthView Font",&mMonthViewFont,fon);
176 addItemFont("AgendaView Font",&mAgendaViewFont,fon); 176 addItemFont("AgendaView Font",&mAgendaViewFont,fon);
177 addItemFont("MarcusBains Font",&mMarcusBainsFont,fon); 177 addItemFont("MarcusBains Font",&mMarcusBainsFont,fon);
178 addItemFont("TimeLabels Font",&mTimeLabelsFont,fon); 178 addItemFont("TimeLabels Font",&mTimeLabelsFont,fon);
179 addItemFont("TodoView Font",&mTodoViewFont,fon); 179 addItemFont("TodoView Font",&mTodoViewFont,fon);
180 addItemFont("ListView Font",&mListViewFont,fon); 180 addItemFont("ListView Font",&mListViewFont,fon);
181 addItemFont("DateNavigator Font",&mDateNavigatorFont,fon); 181 addItemFont("DateNavigator Font",&mDateNavigatorFont,fon);
182 addItemFont("EditBox Font",&mEditBoxFont,fon); 182 addItemFont("EditBox Font",&mEditBoxFont,fon);
183 addItemFont("JournalView Font",&mJornalViewFont,fon); 183 addItemFont("JournalView Font",&mJornalViewFont,fon);
184 addItemFont("WhatsNextView Font",&mWhatsNextFont,fon); 184 addItemFont("WhatsNextView Font",&mWhatsNextFont,fon);
185 addItemFont("EventView Font",&mEventViewFont,fon); 185 addItemFont("EventView Font",&mEventViewFont,fon);
186 186
187 KPrefs::setCurrentGroup("RemoteSyncing"); 187 KPrefs::setCurrentGroup("RemoteSyncing");
188 addItemString("ActiveSyncPort",&mActiveSyncPort,"9197" ); 188 addItemString("ActiveSyncPort",&mActiveSyncPort,"9197" );
189 addItemString("ActiveSyncIP",&mActiveSyncIP,"192.168.0.40" ); 189 addItemString("ActiveSyncIP",&mActiveSyncIP,"192.168.0.40" );
190 addItemBool("ShowSyncEvents",&mShowSyncEvents,false); 190 addItemBool("ShowSyncEvents",&mShowSyncEvents,false);
191 addItemInt("LastSyncTime",&mLastSyncTime,0); 191 addItemInt("LastSyncTime",&mLastSyncTime,0);
192 192
193#ifdef _WIN32_ 193#ifdef _WIN32_
194 QString hdp= locateLocal("data","korganizer")+"\\\\"; 194 QString hdp= locateLocal("data","korganizer")+"\\\\";
195#else 195#else
196 QString hdp= locateLocal("data","korganizer")+"/"; 196 QString hdp= locateLocal("data","korganizer")+"/";
197#endif 197#endif
198 198
199 KPrefs::setCurrentGroup("LoadSaveFileNames"); 199 KPrefs::setCurrentGroup("LoadSaveFileNames");
200 200
201 addItemString("LastImportFile", &mLastImportFile ,hdp +"import.ics" ); 201 addItemString("LastImportFile", &mLastImportFile ,hdp +"import.ics" );
202 addItemString("LastVcalFile", &mLastVcalFile ,hdp +"export.vcs" ); 202 addItemString("LastVcalFile", &mLastVcalFile ,hdp +"export.vcs" );
203 addItemString("LastSaveFile", &mLastSaveFile ,hdp +"mybackup.ics" ); 203 addItemString("LastSaveFile", &mLastSaveFile ,hdp +"mybackup.ics" );
204 addItemString("LastLoadFile", &mLastLoadFile ,hdp +"mybackup.ics" ); 204 addItemString("LastLoadFile", &mLastLoadFile ,hdp +"mybackup.ics" );
205 205
206 206
207 KPrefs::setCurrentGroup("Locale"); 207 KPrefs::setCurrentGroup("Locale");
208 addItemBool("ShortDateInViewer",&mShortDateInViewer,false); 208 addItemBool("ShortDateInViewer",&mShortDateInViewer,false);
209 209
210 210
211 KPrefs::setCurrentGroup("Colors"); 211 KPrefs::setCurrentGroup("Colors");
212 addItemColor("Holiday Color",&mHolidayColor,defaultHolidayColor); 212 addItemColor("Holiday Color",&mHolidayColor,defaultHolidayColor);
213 addItemColor("Highlight Color",&mHighlightColor,defaultHighlightColor); 213 addItemColor("Highlight Color",&mHighlightColor,defaultHighlightColor);
214 addItemColor("Event Color",&mEventColor,mDefaultCategoryColor); 214 addItemColor("Event Color",&mEventColor,mDefaultCategoryColor);
215 addItemColor("Todo done Color",&mTodoDoneColor,QColor(111,255,115) ); 215 addItemColor("Todo done Color",&mTodoDoneColor,QColor(111,255,115) );
216 addItemColor("Agenda Background Color",&mAgendaBgColor,defaultAgendaBgColor); 216 addItemColor("Agenda Background Color",&mAgendaBgColor,defaultAgendaBgColor);
217 addItemColor("WorkingHours Color",&mWorkingHoursColor,defaultWorkingHoursColor); 217 addItemColor("WorkingHours Color",&mWorkingHoursColor,defaultWorkingHoursColor);
218 addItemColor("Todo due today Color",&mTodoDueTodayColor,defaultTodoDueTodayColor); 218 addItemColor("Todo due today Color",&mTodoDueTodayColor,defaultTodoDueTodayColor);
219 addItemColor("Todo overdue Color",&mTodoOverdueColor,defaultTodoOverdueColor); 219 addItemColor("Todo overdue Color",&mTodoOverdueColor,defaultTodoOverdueColor);
220 addItemColor("Todo running Color",&mTodoRunColor,defaultTodoRunColor); 220 addItemColor("Todo running Color",&mTodoRunColor,defaultTodoRunColor);
221 addItemColor("MonthViewEvenColor",&mMonthViewEvenColor,QColor( 160,160,255 )); 221 addItemColor("MonthViewEvenColor",&mMonthViewEvenColor,QColor( 160,160,255 ));
222 addItemColor("MonthViewOddColor",&mMonthViewOddColor,QColor( 160,255,160 )); 222 addItemColor("MonthViewOddColor",&mMonthViewOddColor,QColor( 160,255,160 ));
223 addItemColor("MonthViewHolidayColor",&mMonthViewHolidayColor,QColor( 255,160,160 )); 223 addItemColor("MonthViewHolidayColor",&mMonthViewHolidayColor,QColor( 255,160,160 ));
224 addItemBool("MonthViewUsesDayColors",&mMonthViewUsesDayColors,true); 224 addItemBool("MonthViewUsesDayColors",&mMonthViewUsesDayColors,true);
225 addItemBool("MonthViewSatSunTog",&mMonthViewSatSunTog,true); 225 addItemBool("MonthViewSatSunTog",&mMonthViewSatSunTog,true);
226 addItemBool("MonthViewWeek",&mMonthViewWeek,false); 226 addItemBool("MonthViewWeek",&mMonthViewWeek,false);
227 addItemBool("HightlightDateTimeEdit",&mHightlightDateTimeEdit,false); 227 addItemBool("HightlightDateTimeEdit",&mHightlightDateTimeEdit,false);
228 addItemColor("AppColor1",&mAppColor1,QColor( 130,170,255 )); 228 addItemColor("AppColor1",&mAppColor1,QColor( 130,170,255 ));
229 addItemColor("AppColor2",&mAppColor2,QColor( 174,216,255 )); 229 addItemColor("AppColor2",&mAppColor2,QColor( 174,216,255 ));
230 addItemBool("UseAppColors",&mUseAppColors,false); 230 addItemBool("UseAppColors",&mUseAppColors,false);
231 231
232 232
233 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();
343 //qDebug("KOPrefs::~KOPrefs() "); 345 //qDebug("KOPrefs::~KOPrefs() ");
344} 346}
345 347
346 348
347KOPrefs *KOPrefs::instance() 349KOPrefs *KOPrefs::instance()
348{ 350{
349 if (!mInstance) { 351 if (!mInstance) {
350 mInstance = insd.setObject(new KOPrefs()); 352 mInstance = insd.setObject(new KOPrefs());
351 mInstance->readConfig(); 353 mInstance->readConfig();
352 } 354 }
353 355
354 return mInstance; 356 return mInstance;
355} 357}
356 358
357void KOPrefs::usrSetDefaults() 359void KOPrefs::usrSetDefaults()
358{ 360{
359 361
360} 362}
361 363
362void KOPrefs::fillMailDefaults() 364void KOPrefs::fillMailDefaults()
363{ 365{
364 if (mName.isEmpty()) mName = i18n("Anonymous"); 366 if (mName.isEmpty()) mName = i18n("Anonymous");
365 if (mEmail.isEmpty()) mEmail = i18n("nobody@nowhere"); 367 if (mEmail.isEmpty()) mEmail = i18n("nobody@nowhere");
366} 368}
367 369
368void KOPrefs::setTimeZoneIdDefault() 370void KOPrefs::setTimeZoneIdDefault()
369{ 371{
370 ; 372 ;
371} 373}
372 374
373void KOPrefs::setAllDefaults() 375void KOPrefs::setAllDefaults()
374{ 376{
375 setCategoryDefaults(); 377 setCategoryDefaults();
376 mEventSummaryUser = getDefaultList() ; 378 mEventSummaryUser = getDefaultList() ;
377 mTodoSummaryUser = getDefaultList() ; 379 mTodoSummaryUser = getDefaultList() ;
378 mJournalSummaryUser = getDefaultList() ; 380 mJournalSummaryUser = getDefaultList() ;
379 mLocationDefaults = getLocationDefaultList(); 381 mLocationDefaults = getLocationDefaultList();
380} 382}
381 383
382void KOPrefs::setCategoryDefaults() 384void KOPrefs::setCategoryDefaults()
383{ 385{
384 mCustomCategories.clear(); 386 mCustomCategories.clear();
385 mCustomCategories = getDefaultList(); 387 mCustomCategories = getDefaultList();
386 388
387 QStringList::Iterator it; 389 QStringList::Iterator it;
388 for (it = mCustomCategories.begin();it != mCustomCategories.end();++it ) { 390 for (it = mCustomCategories.begin();it != mCustomCategories.end();++it ) {
389 setCategoryColor(*it,mDefaultCategoryColor); 391 setCategoryColor(*it,mDefaultCategoryColor);
390 } 392 }
391} 393}
392QStringList KOPrefs::getLocationDefaultList() 394QStringList KOPrefs::getLocationDefaultList()
393{ 395{
394 QStringList retval ; 396 QStringList retval ;
395 retval << i18n("Home") << i18n("Office") << i18n("Library") << i18n("School") << i18n("Doctor") << i18n("Beach") 397 retval << i18n("Home") << i18n("Office") << i18n("Library") << i18n("School") << i18n("Doctor") << i18n("Beach")
396 << i18n("University") << i18n("Restaurant") << i18n("Bar") << i18n("Conference room") 398 << i18n("University") << i18n("Restaurant") << i18n("Bar") << i18n("Conference room")
397 << i18n("Cinema") << i18n("Lake") << i18n("Kindergarten") 399 << i18n("Cinema") << i18n("Lake") << i18n("Kindergarten")
398 << i18n("Germany") << i18n("Sweden") << i18n("Forest") << i18n("Desert") << i18n("Kitchen") ; 400 << i18n("Germany") << i18n("Sweden") << i18n("Forest") << i18n("Desert") << i18n("Kitchen") ;
399 // << i18n("") << i18n("") << i18n("") << i18n("") << i18n("") << i18n("") << i18n("") << i18n("") 401 // << i18n("") << i18n("") << i18n("") << i18n("") << i18n("") << i18n("") << i18n("") << i18n("")
400 402
401 retval.sort(); 403 retval.sort();
402 return retval; 404 return retval;
403} 405}
404QStringList KOPrefs::getDefaultList() 406QStringList KOPrefs::getDefaultList()
405{ 407{
406 QStringList retval ; 408 QStringList retval ;
407 retval << i18n("Anniversary") << i18n("Appointment") << i18n("Birthday") << i18n("Business") << i18n("Customer") 409 retval << i18n("Anniversary") << i18n("Appointment") << i18n("Birthday") << i18n("Business") << i18n("Customer")
408 << i18n("Break") 410 << i18n("Break")
409 << i18n("Family") << i18n("Favorites") << i18n("Fishing") << i18n("Gifts") 411 << i18n("Family") << i18n("Favorites") << i18n("Fishing") << i18n("Gifts")
410 << i18n("Holiday") << i18n("Holiday Cards")<< i18n("Hot Contacts") 412 << i18n("Holiday") << i18n("Holiday Cards")<< i18n("Hot Contacts")
411 << i18n("Meeting") << i18n("Miscellaneous") << i18n("Partner") << i18n("Personal") 413 << i18n("Meeting") << i18n("Miscellaneous") << i18n("Partner") << i18n("Personal")
412 << i18n("PHB") << i18n("Phone Calls") << i18n("Shopping") 414 << i18n("PHB") << i18n("Phone Calls") << i18n("Shopping")
413 << i18n("Sports") << i18n("Talk") << i18n("Travel") << i18n("TV") 415 << i18n("Sports") << i18n("Talk") << i18n("Travel") << i18n("TV")
414 << i18n("Vacation") ; 416 << i18n("Vacation") ;
415 retval.sort(); 417 retval.sort();
416 //qDebug("cat %s ", retval.join("-").latin1()); 418 //qDebug("cat %s ", retval.join("-").latin1());
417 return retval; 419 return retval;
418} 420}
419// << i18n("Business Travel") << i18n("Education") << i18n("Hiking") << i18n("Hunting") << i18n("Recurring") << i18n("Personal Travel") << i18n("Speach") << i18n("Festival") << i18n("Competition")<< i18n("Party")<< i18n("Projects")<< i18n("Kids") << i18n("Special Occasion")<< i18n("Breakfast")<< i18n("Dinner") << i18n("Lunch")<< i18n("University")<< i18n("School")<< i18n("Flight")<< i18n("Key Customer") << i18n("VIP") << i18n("SyncEvent") << i18n("Cinema") 421// << i18n("Business Travel") << i18n("Education") << i18n("Hiking") << i18n("Hunting") << i18n("Recurring") << i18n("Personal Travel") << i18n("Speach") << i18n("Festival") << i18n("Competition")<< i18n("Party")<< i18n("Projects")<< i18n("Kids") << i18n("Special Occasion")<< i18n("Breakfast")<< i18n("Dinner") << i18n("Lunch")<< i18n("University")<< i18n("School")<< i18n("Flight")<< i18n("Key Customer") << i18n("VIP") << i18n("SyncEvent") << i18n("Cinema")
420void KOPrefs::usrReadConfig() 422void KOPrefs::usrReadConfig()
421{ 423{
422 config()->setGroup("General"); 424 config()->setGroup("General");
423 425
424 //qDebug("KOPrefs::usrReadConfig() "); 426 //qDebug("KOPrefs::usrReadConfig() ");
425 mCustomCategories = config()->readListEntry("Custom Categories"); 427 mCustomCategories = config()->readListEntry("Custom Categories");
426 mOldLoadedLanguage = mOldLanguage ; 428 mOldLoadedLanguage = mOldLanguage ;
427 mOldLanguage = KPimGlobalPrefs::instance()->mPreferredLanguage; 429 mOldLanguage = KPimGlobalPrefs::instance()->mPreferredLanguage;
428 if (mLocationDefaults.isEmpty()) { 430 if (mLocationDefaults.isEmpty()) {
429 mLocationDefaults = getLocationDefaultList(); 431 mLocationDefaults = getLocationDefaultList();
430 } 432 }
431 433
432 if (mEventSummaryUser.isEmpty()) { 434 if (mEventSummaryUser.isEmpty()) {
433 mEventSummaryUser = getDefaultList() ; 435 mEventSummaryUser = getDefaultList() ;
434 } 436 }
435 if (mTodoSummaryUser.isEmpty()) { 437 if (mTodoSummaryUser.isEmpty()) {
436 mTodoSummaryUser = getDefaultList() ; 438 mTodoSummaryUser = getDefaultList() ;
437 } 439 }
438 440
439 if (mCustomCategories.isEmpty()) setCategoryDefaults(); 441 if (mCustomCategories.isEmpty()) setCategoryDefaults();
440 442
441 config()->setGroup("Personal Settings"); 443 config()->setGroup("Personal Settings");
442 mName = config()->readEntry("user_name",""); 444 mName = config()->readEntry("user_name","");
443 mEmail = config()->readEntry("user_email",""); 445 mEmail = config()->readEntry("user_email","");
444 fillMailDefaults(); 446 fillMailDefaults();
445 447
446 config()->setGroup("Category Colors"); 448 config()->setGroup("Category Colors");
447 QStringList::Iterator it; 449 QStringList::Iterator it;
448 for (it = mCustomCategories.begin();it != mCustomCategories.end();++it ) { 450 for (it = mCustomCategories.begin();it != mCustomCategories.end();++it ) {
449 setCategoryColor(*it,config()->readColorEntry(*it,&mDefaultCategoryColor)); 451 setCategoryColor(*it,config()->readColorEntry(*it,&mDefaultCategoryColor));
450 452
451 } 453 }
452 KConfig fc (locateLocal("config","kopicalendarrc")); 454 KConfig fc (locateLocal("config","kopicalendarrc"));
453 fc.setGroup("CC"); 455 fc.setGroup("CC");
454 int numCals = fc.readNumEntry("NumberCalendars",0 ); 456 int numCals = fc.readNumEntry("NumberCalendars",0 );
455 mNextAvailableCalendar = 1; 457 mNextAvailableCalendar = 1;
456 if ( numCals == 0 ) { 458 if ( numCals == 0 ) {
457 KopiCalendarFile *kkf = getNewCalendar(); 459 KopiCalendarFile *kkf = getNewCalendar();
458 kkf->isStandard = true; 460 kkf->isStandard = true;
459 kkf->mName = i18n("Standard"); 461 kkf->mName = i18n("Standard");
460 kkf->mFileName = QDir::convertSeparators( locateLocal( "data", "korganizer/mycalendar.ics" ) ); 462 kkf->mFileName = QDir::convertSeparators( locateLocal( "data", "korganizer/mycalendar.ics" ) );
461 } 463 }
462 while ( mNextAvailableCalendar <= numCals ) { 464 while ( mNextAvailableCalendar <= numCals ) {
463 //qDebug("Read cal #%d ", mNextAvailableCalendar ); 465 //qDebug("Read cal #%d ", mNextAvailableCalendar );
464 QString prefix = "Cal_" +QString::number( mNextAvailableCalendar ); 466 QString prefix = "Cal_" +QString::number( mNextAvailableCalendar );
465 KopiCalendarFile *kkf = getNewCalendar(); 467 KopiCalendarFile *kkf = getNewCalendar();
466 kkf->isStandard = fc.readBoolEntry( prefix+"_isStandard", false ); 468 kkf->isStandard = fc.readBoolEntry( prefix+"_isStandard", false );
467 kkf->isEnabled = fc.readBoolEntry( prefix+"_isEnabled", true); 469 kkf->isEnabled = fc.readBoolEntry( prefix+"_isEnabled", true);
468 kkf->isRelative = fc.readBoolEntry( prefix+"_isRelative", false ); 470 kkf->isRelative = fc.readBoolEntry( prefix+"_isRelative", false );
469 kkf->isAlarmEnabled = fc.readBoolEntry( prefix+"_isAlarmEnabled", true); 471 kkf->isAlarmEnabled = fc.readBoolEntry( prefix+"_isAlarmEnabled", true);
470 kkf->isReadOnly = fc.readBoolEntry( prefix+"_isReadOnly", false); 472 kkf->isReadOnly = fc.readBoolEntry( prefix+"_isReadOnly", false);
471 kkf->mName = fc.readEntry( prefix+"_Name", "Calendar"); 473 kkf->mName = fc.readEntry( prefix+"_Name", "Calendar");
472 kkf->mFileName = QDir::convertSeparators( fc.readEntry( prefix+"_FileName", kkf->mFileName) ); 474 kkf->mFileName = QDir::convertSeparators( fc.readEntry( prefix+"_FileName", kkf->mFileName) );
473 kkf->mSavedFileName = QDir::convertSeparators( fc.readEntry( prefix+"_SavedFileName", kkf->mFileName) ); 475 kkf->mSavedFileName = QDir::convertSeparators( fc.readEntry( prefix+"_SavedFileName", kkf->mFileName) );
474 kkf->mDefaultColor = fc.readColorEntry( prefix+"_Color",&mEventColor); 476 kkf->mDefaultColor = fc.readColorEntry( prefix+"_Color",&mEventColor);
475 if ( kkf->mCalNumber == 1 ) { 477 if ( kkf->mCalNumber == 1 ) {
476 kkf->mFileName = locateLocal( "data", "korganizer/mycalendar.ics" ); 478 kkf->mFileName = locateLocal( "data", "korganizer/mycalendar.ics" );
477 } 479 }
478 //qDebug("NAME %s %s", kkf->mName.latin1(), i18n("Birthdays").latin1() ); 480 //qDebug("NAME %s %s", kkf->mName.latin1(), i18n("Birthdays").latin1() );
479 if ( kkf->mName == i18n("Birthdays") ) { 481 if ( kkf->mName == i18n("Birthdays") ) {
480 kkf->mFileName = locateLocal( "data", "korganizer/birthdays.ics" ); 482 kkf->mFileName = locateLocal( "data", "korganizer/birthdays.ics" );
481 } 483 }
482 if ( kkf->isRelative ) 484 if ( kkf->isRelative )
483 kkf->mFileName = QDir::convertSeparators( KGlobalSettings::calendarDir() + kkf->mSavedFileName ); 485 kkf->mFileName = QDir::convertSeparators( KGlobalSettings::calendarDir() + kkf->mSavedFileName );
484 } 486 }
485 487
486 KPimPrefs::usrReadConfig(); 488 KPimPrefs::usrReadConfig();
487} 489}
488 490
489KopiCalendarFile * KOPrefs::getCalendar( int num ) 491KopiCalendarFile * KOPrefs::getCalendar( int num )
490{ 492{
491 return mDefCalColors[num-1]; 493 return mDefCalColors[num-1];
492} 494}
493 495
494KopiCalendarFile * KOPrefs::getNewCalendar() 496KopiCalendarFile * KOPrefs::getNewCalendar()
495{ 497{
496 KopiCalendarFile * kkf = new KopiCalendarFile(); 498 KopiCalendarFile * kkf = new KopiCalendarFile();
497 kkf->mCalNumber = mNextAvailableCalendar; 499 kkf->mCalNumber = mNextAvailableCalendar;
498 mDefCalColors.resize( mNextAvailableCalendar ); 500 mDefCalColors.resize( mNextAvailableCalendar );
499 mDefCalColors[mNextAvailableCalendar-1] = kkf; 501 mDefCalColors[mNextAvailableCalendar-1] = kkf;
500 ++mNextAvailableCalendar; 502 ++mNextAvailableCalendar;
501 kkf->mDefaultColor = mEventColor; 503 kkf->mDefaultColor = mEventColor;
502 kkf->mName = i18n("New Calendar"); 504 kkf->mName = i18n("New Calendar");
503 mCalendars.append( kkf ); 505 mCalendars.append( kkf );
504 return kkf; 506 return kkf;
505} 507}
506void KOPrefs::deleteCalendar( int num ) 508void KOPrefs::deleteCalendar( int num )
507{ 509{
508 KopiCalendarFile * kkf = mCalendars.first(); 510 KopiCalendarFile * kkf = mCalendars.first();
509 while ( kkf ) { 511 while ( kkf ) {
510 if ( kkf->mCalNumber == num ) { 512 if ( kkf->mCalNumber == num ) {
511 qDebug("KOPrefs::deleteCalendar %d ", num ); 513 qDebug("KOPrefs::deleteCalendar %d ", num );
512 mCalendars.remove( kkf ); 514 mCalendars.remove( kkf );
513 delete kkf; 515 delete kkf;
514 return; 516 return;
515 } 517 }
516 kkf = mCalendars.next(); 518 kkf = mCalendars.next();
517 } 519 }
518} 520}
519int KOPrefs::getCalendarID( const QString & name ) 521int KOPrefs::getCalendarID( const QString & name )
520{ 522{
521 KopiCalendarFile * kkf = mCalendars.first(); 523 KopiCalendarFile * kkf = mCalendars.first();
522 while ( kkf ) { 524 while ( kkf ) {
523 if ( name == kkf->mName) 525 if ( name == kkf->mName)
524 return kkf->mCalNumber; 526 return kkf->mCalNumber;
525 kkf = mCalendars.next(); 527 kkf = mCalendars.next();
526 } 528 }
527 return 1; 529 return 1;
528} 530}
529QString KOPrefs::calName( int calNum) const 531QString KOPrefs::calName( int calNum) const
530{ 532{
531 return (mDefCalColors[calNum-1])->mName; 533 return (mDefCalColors[calNum-1])->mName;
532} 534}
533QColor KOPrefs::defaultColor( int calNum ) const 535QColor KOPrefs::defaultColor( int calNum ) const
534{ 536{
535 if ( calNum == 1 ) return mEventColor; 537 if ( calNum == 1 ) return mEventColor;
536 return (mDefCalColors[calNum-1])->mDefaultColor; 538 return (mDefCalColors[calNum-1])->mDefaultColor;
537} 539}
538void KOPrefs::usrWriteConfig() 540void KOPrefs::usrWriteConfig()
539{ 541{
540 config()->setGroup("General"); 542 config()->setGroup("General");
541 config()->writeEntry("Custom Categories",mCustomCategories); 543 config()->writeEntry("Custom Categories",mCustomCategories);
542 544
543 config()->setGroup("Personal Settings"); 545 config()->setGroup("Personal Settings");
544 config()->writeEntry("user_name",mName); 546 config()->writeEntry("user_name",mName);
545 config()->writeEntry("user_email",mEmail); 547 config()->writeEntry("user_email",mEmail);
546 548
547 config()->setGroup("Category Colors"); 549 config()->setGroup("Category Colors");
548 QDictIterator<QColor> it(mCategoryColors); 550 QDictIterator<QColor> it(mCategoryColors);
549 while (it.current()) { 551 while (it.current()) {
550 config()->writeEntry(it.currentKey(),*(it.current())); 552 config()->writeEntry(it.currentKey(),*(it.current()));
551 ++it; 553 ++it;
552 } 554 }
553 KConfig fc (locateLocal("config","kopicalendarrc")); 555 KConfig fc (locateLocal("config","kopicalendarrc"));
554 fc.setGroup("CC"); 556 fc.setGroup("CC");
555 fc.deleteGroup( "CC"); 557 fc.deleteGroup( "CC");
556 fc.setGroup("CC"); 558 fc.setGroup("CC");
557 fc.writeEntry("NumberCalendars",mCalendars.count()); 559 fc.writeEntry("NumberCalendars",mCalendars.count());
558 int numCal = 1; 560 int numCal = 1;
559 int writeCal = 0; 561 int writeCal = 0;
560 while ( numCal < mNextAvailableCalendar ) { 562 while ( numCal < mNextAvailableCalendar ) {
561 KopiCalendarFile * kkf = mCalendars.first(); 563 KopiCalendarFile * kkf = mCalendars.first();
562 while ( kkf ) { 564 while ( kkf ) {
563 //qDebug("cal num %d %d ", kkf->mCalNumber, numCal); 565 //qDebug("cal num %d %d ", kkf->mCalNumber, numCal);
564 if ( kkf->mCalNumber == numCal ) { 566 if ( kkf->mCalNumber == numCal ) {
565 ++writeCal; 567 ++writeCal;
566 //qDebug("Write calendar %d %d ", numCal , writeCal); 568 //qDebug("Write calendar %d %d ", numCal , writeCal);
567 QString prefix = "Cal_" + QString::number( writeCal ); 569 QString prefix = "Cal_" + QString::number( writeCal );
568 fc.writeEntry( prefix+"_isStandard", kkf->isStandard ); 570 fc.writeEntry( prefix+"_isStandard", kkf->isStandard );
569 fc.writeEntry( prefix+"_isEnabled", kkf->isEnabled ); 571 fc.writeEntry( prefix+"_isEnabled", kkf->isEnabled );
570 fc.writeEntry( prefix+"_isAlarmEnabled", kkf->isAlarmEnabled ); 572 fc.writeEntry( prefix+"_isAlarmEnabled", kkf->isAlarmEnabled );
571 fc.writeEntry( prefix+"_isReadOnly", kkf->isReadOnly ); 573 fc.writeEntry( prefix+"_isReadOnly", kkf->isReadOnly );
572 fc.writeEntry( prefix+"_isRelative", kkf->isRelative ); 574 fc.writeEntry( prefix+"_isRelative", kkf->isRelative );
573 fc.writeEntry( prefix+"_Name", kkf->mName); 575 fc.writeEntry( prefix+"_Name", kkf->mName);
574 fc.writeEntry( prefix+"_FileName", kkf->mFileName); 576 fc.writeEntry( prefix+"_FileName", kkf->mFileName);
575 fc.writeEntry( prefix+"_SavedFileName", kkf->mSavedFileName); 577 fc.writeEntry( prefix+"_SavedFileName", kkf->mSavedFileName);
576 fc.writeEntry( prefix+"_Color",kkf->mDefaultColor); 578 fc.writeEntry( prefix+"_Color",kkf->mDefaultColor);
577 } 579 }
578 kkf = mCalendars.next(); 580 kkf = mCalendars.next();
579 } 581 }
580 ++numCal; 582 ++numCal;
581 } 583 }
582 fc.sync(); 584 fc.sync();
583 KPimPrefs::usrWriteConfig(); 585 KPimPrefs::usrWriteConfig();
584} 586}
585 587
586void KOPrefs::setCategoryColor(QString cat,const QColor & color) 588void KOPrefs::setCategoryColor(QString cat,const QColor & color)
587{ 589{
588 mCategoryColors.replace(cat,new QColor(color)); 590 mCategoryColors.replace(cat,new QColor(color));
589} 591}
590 592
591QColor *KOPrefs::categoryColor(QString cat) 593QColor *KOPrefs::categoryColor(QString cat)
592{ 594{
593 QColor *color = 0; 595 QColor *color = 0;
594 596
595 if (!cat.isEmpty()) color = mCategoryColors[cat]; 597 if (!cat.isEmpty()) color = mCategoryColors[cat];
596 598
597 if (color) return color; 599 if (color) return color;
598 else return &mDefaultCategoryColor; 600 else return &mDefaultCategoryColor;
599} 601}
600 602
601void KOPrefs::setFullName(const QString &name) 603void KOPrefs::setFullName(const QString &name)
602{ 604{
603 mName = name; 605 mName = name;
604} 606}
605 607
606void KOPrefs::setEmail(const QString &email) 608void KOPrefs::setEmail(const QString &email)
607{ 609{
608 //qDebug(" KOPrefs::setEmai*********** %s",email.latin1() ); 610 //qDebug(" KOPrefs::setEmai*********** %s",email.latin1() );
609 mEmail = email; 611 mEmail = email;
610} 612}
611 613
612QString KOPrefs::fullName() 614QString KOPrefs::fullName()
613{ 615{
614 if (mEmailControlCenter) { 616 if (mEmailControlCenter) {
615 KEMailSettings settings; 617 KEMailSettings settings;
616 return settings.getSetting(KEMailSettings::RealName); 618 return settings.getSetting(KEMailSettings::RealName);
617 } else { 619 } else {
618 return mName; 620 return mName;
619 } 621 }
620} 622}
621 623
622QString KOPrefs::email() 624QString KOPrefs::email()
623{ 625{
624 if (mEmailControlCenter) { 626 if (mEmailControlCenter) {
625 KEMailSettings settings; 627 KEMailSettings settings;
626 return settings.getSetting(KEMailSettings::EmailAddress); 628 return settings.getSetting(KEMailSettings::EmailAddress);
627 } else { 629 } else {
628 return mEmail; 630 return mEmail;
629 } 631 }
630} 632}
631KConfig* KOPrefs::getConfig() 633KConfig* KOPrefs::getConfig()
632{ 634{
633 return config(); 635 return config();
634} 636}
diff --git a/korganizer/koprefs.h b/korganizer/koprefs.h
index 576edf9..bac8010 100644
--- a/korganizer/koprefs.h
+++ b/korganizer/koprefs.h
@@ -1,374 +1,376 @@
1/* 1/*
2 This file is part of KOrganizer. 2 This file is part of KOrganizer.
3 Copyright (c) 2000,2001 Cornelius Schumacher <schumacher@kde.org> 3 Copyright (c) 2000,2001 Cornelius Schumacher <schumacher@kde.org>
4 4
5 This program is free software; you can redistribute it and/or modify 5 This program is free software; you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by 6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation; either version 2 of the License, or 7 the Free Software Foundation; either version 2 of the License, or
8 (at your option) any later version. 8 (at your option) any later version.
9 9
10 This program is distributed in the hope that it will be useful, 10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of 11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details. 13 GNU General Public License for more details.
14 14
15 You should have received a copy of the GNU General Public License 15 You should have received a copy of the GNU General Public License
16 along with this program; if not, write to the Free Software 16 along with this program; if not, write to the Free Software
17 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 17 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
18 18
19 As a special exception, permission is given to link this program 19 As a special exception, permission is given to link this program
20 with any edition of Qt, and distribute the resulting executable, 20 with any edition of Qt, and distribute the resulting executable,
21 without including the source code for Qt in the source distribution. 21 without including the source code for Qt in the source distribution.
22*/ 22*/
23#ifndef KOPREFS_H 23#ifndef KOPREFS_H
24#define KOPREFS_H 24#define KOPREFS_H
25 25
26 26
27#include <libkdepim/kpimprefs.h> 27#include <libkdepim/kpimprefs.h>
28#include <qdict.h> 28#include <qdict.h>
29#include <qdir.h> 29#include <qdir.h>
30#include <qobject.h> 30#include <qobject.h>
31 31
32class KConfig; 32class KConfig;
33class QFont; 33class QFont;
34class QColor; 34class QColor;
35class QStringList; 35class QStringList;
36 36
37#define VIEW_WN_VIEW 1 37#define VIEW_WN_VIEW 1
38#define VIEW_NX_VIEW 2 38#define VIEW_NX_VIEW 2
39#define VIEW_J_VIEW 3 39#define VIEW_J_VIEW 3
40#define VIEW_A_VIEW 4 40#define VIEW_A_VIEW 4
41#define VIEW_ML_VIEW 5 41#define VIEW_ML_VIEW 5
42#define VIEW_M_VIEW 6 42#define VIEW_M_VIEW 6
43#define VIEW_L_VIEW 7 43#define VIEW_L_VIEW 7
44#define VIEW_T_VIEW 8 44#define VIEW_T_VIEW 8
45 45
46class KopiCalendarFile : public QObject 46class KopiCalendarFile : public QObject
47{ 47{
48 public: 48 public:
49 KopiCalendarFile( ) : QObject( ) 49 KopiCalendarFile( ) : QObject( )
50 { 50 {
51 isStandard = false; 51 isStandard = false;
52 isEnabled = true; 52 isEnabled = true;
53 isAlarmEnabled = true; 53 isAlarmEnabled = true;
54 isReadOnly = false; 54 isReadOnly = false;
55 mName = "Calendar"; 55 mName = "Calendar";
56 mFileName = QDir::homeDirPath() + "/icalfile.ics"; 56 mFileName = QDir::homeDirPath() + "/icalfile.ics";
57 mSavedFileName = "icalfile.ics"; 57 mSavedFileName = "icalfile.ics";
58 mCalNumber = 0; 58 mCalNumber = 0;
59 mDefaultColor = Qt::red; 59 mDefaultColor = Qt::red;
60 mErrorOnLoad = false; 60 mErrorOnLoad = false;
61 isRelative = false; 61 isRelative = false;
62 } 62 }
63 bool isStandard; 63 bool isStandard;
64 bool isEnabled; 64 bool isEnabled;
65 bool isAlarmEnabled; 65 bool isAlarmEnabled;
66 bool isReadOnly; 66 bool isReadOnly;
67 bool mErrorOnLoad; 67 bool mErrorOnLoad;
68 QString mName; 68 QString mName;
69 QString mFileName; 69 QString mFileName;
70 QString mSavedFileName; 70 QString mSavedFileName;
71 bool isRelative; 71 bool isRelative;
72 int mCalNumber; 72 int mCalNumber;
73 QColor mDefaultColor; 73 QColor mDefaultColor;
74 QDateTime mLoadDt; 74 QDateTime mLoadDt;
75}; 75};
76class KOPrefs : public KPimPrefs 76class KOPrefs : public KPimPrefs
77{ 77{
78 public: 78 public:
79 enum { FormatVCalendar, FormatICalendar }; 79 enum { FormatVCalendar, FormatICalendar };
80 enum { MailClientKMail, MailClientSendmail }; 80 enum { MailClientKMail, MailClientSendmail };
81 enum { IMIPDummy, IMIPKMail }; 81 enum { IMIPDummy, IMIPKMail };
82 enum { IMIPOutbox, IMIPdirectsend }; 82 enum { IMIPOutbox, IMIPdirectsend };
83 enum { neverAuto, addressbookAuto, selectedAuto }; 83 enum { neverAuto, addressbookAuto, selectedAuto };
84 enum { standardDestination, askDestination }; 84 enum { standardDestination, askDestination };
85 85
86 virtual ~KOPrefs(); 86 virtual ~KOPrefs();
87 87
88 /** Get instance of KOPrefs. It is made sure that there is only one 88 /** Get instance of KOPrefs. It is made sure that there is only one
89 instance. */ 89 instance. */
90 static KOPrefs *instance(); 90 static KOPrefs *instance();
91 91
92 /** Set preferences to default values */ 92 /** Set preferences to default values */
93 void usrSetDefaults(); 93 void usrSetDefaults();
94 94
95 /** Read preferences from config file */ 95 /** Read preferences from config file */
96 void usrReadConfig(); 96 void usrReadConfig();
97 97
98 /** Write preferences to config file */ 98 /** Write preferences to config file */
99 void usrWriteConfig(); 99 void usrWriteConfig();
100 void setCategoryDefaults(); 100 void setCategoryDefaults();
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
@@ -1,1604 +1,1613 @@
1/* 1/*
2 This file is part of KOrganizer. 2 This file is part of KOrganizer.
3 Copyright (c) 2000,2001 Cornelius Schumacher <schumacher@kde.org> 3 Copyright (c) 2000,2001 Cornelius Schumacher <schumacher@kde.org>
4 4
5 This program is free software; you can redistribute it and/or modify 5 This program is free software; you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by 6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation; either version 2 of the License, or 7 the Free Software Foundation; either version 2 of the License, or
8 (at your option) any later version. 8 (at your option) any later version.
9 9
10 This program is distributed in the hope that it will be useful, 10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of 11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details. 13 GNU General Public License for more details.
14 14
15 You should have received a copy of the GNU General Public License 15 You should have received a copy of the GNU General Public License
16 along with this program; if not, write to the Free Software 16 along with this program; if not, write to the Free Software
17 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 17 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
18 18
19 As a special exception, permission is given to link this program 19 As a special exception, permission is given to link this program
20 with any edition of Qt, and distribute the resulting executable, 20 with any edition of Qt, and distribute the resulting executable,
21 without including the source code for Qt in the source distribution. 21 without including the source code for Qt in the source distribution.
22*/ 22*/
23 23
24#include <qlayout.h> 24#include <qlayout.h>
25#include <qlabel.h> 25#include <qlabel.h>
26#include <qgroupbox.h> 26#include <qgroupbox.h>
27#include <qbuttongroup.h> 27#include <qbuttongroup.h>
28#include <qlineedit.h> 28#include <qlineedit.h>
29#include <qfont.h> 29#include <qfont.h>
30#include <qslider.h> 30#include <qslider.h>
31#include <qfile.h> 31#include <qfile.h>
32#include <qtextstream.h> 32#include <qtextstream.h>
33#include <qcombobox.h> 33#include <qcombobox.h>
34#include <qvbox.h> 34#include <qvbox.h>
35#include <qhbox.h> 35#include <qhbox.h>
36#include <qregexp.h> 36#include <qregexp.h>
37#include <qspinbox.h> 37#include <qspinbox.h>
38#include <qdatetime.h> 38#include <qdatetime.h>
39#include <qcheckbox.h> 39#include <qcheckbox.h>
40#include <qradiobutton.h> 40#include <qradiobutton.h>
41#include <qpushbutton.h> 41#include <qpushbutton.h>
42#include <qstrlist.h> 42#include <qstrlist.h>
43#include <qapplication.h> 43#include <qapplication.h>
44 44
45#include <kcolorbutton.h> 45#include <kcolorbutton.h>
46#include <kdebug.h> 46#include <kdebug.h>
47#include <klocale.h> 47#include <klocale.h>
48#include <kglobal.h> 48#include <kglobal.h>
49#include <kfontdialog.h> 49#include <kfontdialog.h>
50#include <kfiledialog.h> 50#include <kfiledialog.h>
51#include <kmessagebox.h> 51#include <kmessagebox.h>
52#include <kcolordialog.h> 52#include <kcolordialog.h>
53#include <kiconloader.h> 53#include <kiconloader.h>
54#include <kemailsettings.h> 54#include <kemailsettings.h>
55#include <kstandarddirs.h> 55#include <kstandarddirs.h>
56#include <kglobalsettings.h> 56#include <kglobalsettings.h>
57 57
58#include <kurlrequester.h> 58#include <kurlrequester.h>
59#include <klineedit.h> 59#include <klineedit.h>
60 60
61#if defined(USE_SOLARIS) 61#if defined(USE_SOLARIS)
62#include <sys/param.h> 62#include <sys/param.h>
63 63
64#define ZONEINFODIR "/usr/share/lib/zoneinfo" 64#define ZONEINFODIR "/usr/share/lib/zoneinfo"
65#define INITFILE "/etc/default/init" 65#define INITFILE "/etc/default/init"
66#endif 66#endif
67 67
68#include "koprefs.h" 68#include "koprefs.h"
69 69
70#include "koprefsdialog.h" 70#include "koprefsdialog.h"
71#include "kpimglobalprefs.h" 71#include "kpimglobalprefs.h"
72 72
73 73
74KOPrefsDialog::KOPrefsDialog(QWidget *parent, char *name, bool modal) : 74KOPrefsDialog::KOPrefsDialog(QWidget *parent, char *name, bool modal) :
75 KPrefsDialog(KOPrefs::instance(),parent,name,true) 75 KPrefsDialog(KOPrefs::instance(),parent,name,true)
76{ 76{
77 77
78 setFont( KGlobalSettings::generalMaxFont() ); 78 setFont( KGlobalSettings::generalMaxFont() );
79 setCaption( i18n("Preferences - some settings need a restart (nr)")); 79 setCaption( i18n("Preferences - some settings need a restart (nr)"));
80 mCategoryDict.setAutoDelete(true); 80 mCategoryDict.setAutoDelete(true);
81 81
82 KGlobal::locale()->insertCatalogue("timezones"); 82 KGlobal::locale()->insertCatalogue("timezones");
83 mSpacingHint = spacingHintSmall(); 83 mSpacingHint = spacingHintSmall();
84 mMarginHint = marginHintSmall(); 84 mMarginHint = marginHintSmall();
85#ifndef DESKTOP_VERSION 85#ifndef DESKTOP_VERSION
86 if ( QApplication::desktop()->height() == 480 ) 86 if ( QApplication::desktop()->height() == 480 )
87 hideButtons(); 87 hideButtons();
88#endif 88#endif
89 89
90 setupMainTab(); 90 setupMainTab();
91 // setupLocaleTab(); 91 // setupLocaleTab();
92 //setupTimeZoneTab(); 92 //setupTimeZoneTab();
93 setupTimeTab(); 93 setupTimeTab();
94 //setupLocaleDateTab(); 94 //setupLocaleDateTab();
95 setupFontsTab(); 95 setupFontsTab();
96 setupColorsTab(); 96 setupColorsTab();
97 setupViewsTab(); 97 setupViewsTab();
98 //setupSyncTab(); 98 //setupSyncTab();
99 //setupSyncAlgTab(); 99 //setupSyncAlgTab();
100 //setupPrinterTab(); 100 //setupPrinterTab();
101 //setupGroupSchedulingTab(); 101 //setupGroupSchedulingTab();
102 //setupGroupAutomationTab(); 102 //setupGroupAutomationTab();
103 103
104 104
105} 105}
106 106
107 107
108KOPrefsDialog::~KOPrefsDialog() 108KOPrefsDialog::~KOPrefsDialog()
109{ 109{
110} 110}
111void KOPrefsDialog::setupGlobalTab() 111void KOPrefsDialog::setupGlobalTab()
112{ 112{
113 113
114 114
115} 115}
116void KOPrefsDialog::setupLocaleDateTab() 116void KOPrefsDialog::setupLocaleDateTab()
117{ 117{
118#if 0 118#if 0
119QFrame *topFrame = addPage(i18n("Date Format"),0,0); 119QFrame *topFrame = addPage(i18n("Date Format"),0,0);
120 QGridLayout *topLayout = new QGridLayout(topFrame,3,2); 120 QGridLayout *topLayout = new QGridLayout(topFrame,3,2);
121 topLayout->setSpacing(mSpacingHint); 121 topLayout->setSpacing(mSpacingHint);
122 topLayout->setMargin(mMarginHint); 122 topLayout->setMargin(mMarginHint);
123 int iii = 0; 123 int iii = 0;
124 124
125 125
126 KPrefsDialogWidRadios *syncPrefsGroup = 126 KPrefsDialogWidRadios *syncPrefsGroup =
127 addWidRadios(i18n("Date Format:"),&(KOPrefs::instance()->mPreferredDate),topFrame); 127 addWidRadios(i18n("Date Format:"),&(KOPrefs::instance()->mPreferredDate),topFrame);
128 QString format; 128 QString format;
129 if ( QApplication::desktop()->width() < 480 ) 129 if ( QApplication::desktop()->width() < 480 )
130 format = "(%d.%m.%Y)"; 130 format = "(%d.%m.%Y)";
131 else 131 else
132 format = "(%d.%m.%Y|%A %d %B %Y)"; 132 format = "(%d.%m.%Y|%A %d %B %Y)";
133 syncPrefsGroup->addRadio(i18n("24.03.2004 "+format)); 133 syncPrefsGroup->addRadio(i18n("24.03.2004 "+format));
134 if ( QApplication::desktop()->width() < 480 ) 134 if ( QApplication::desktop()->width() < 480 )
135 format = "(%m.%d.%Y)"; 135 format = "(%m.%d.%Y)";
136 else 136 else
137 format = "(%m.%d.%Y|%A %B %d %Y)"; 137 format = "(%m.%d.%Y|%A %B %d %Y)";
138 syncPrefsGroup->addRadio(i18n("03.24.2004 "+format)); 138 syncPrefsGroup->addRadio(i18n("03.24.2004 "+format));
139 if ( QApplication::desktop()->width() < 480 ) 139 if ( QApplication::desktop()->width() < 480 )
140 format = "(%Y-%m-%d)"; 140 format = "(%Y-%m-%d)";
141 else 141 else
142 format = "(%Y-%m-%d|%A %Y %B %d)"; 142 format = "(%Y-%m-%d|%A %Y %B %d)";
143 syncPrefsGroup->addRadio(i18n("2004-03-24 "+format)); 143 syncPrefsGroup->addRadio(i18n("2004-03-24 "+format));
144 syncPrefsGroup->addRadio(i18n("User defined")); 144 syncPrefsGroup->addRadio(i18n("User defined"));
145 topLayout->addMultiCellWidget( syncPrefsGroup->groupBox(),iii,iii,0,1); 145 topLayout->addMultiCellWidget( syncPrefsGroup->groupBox(),iii,iii,0,1);
146 ++iii; 146 ++iii;
147 ++iii; 147 ++iii;
148 QLabel * lab; 148 QLabel * lab;
149 mUserDateFormatLong = new QLineEdit(topFrame); 149 mUserDateFormatLong = new QLineEdit(topFrame);
150 lab = new QLabel(mUserDateFormatLong, i18n("User long date:"), topFrame); 150 lab = new QLabel(mUserDateFormatLong, i18n("User long date:"), topFrame);
151 topLayout->addWidget(lab ,iii,0); 151 topLayout->addWidget(lab ,iii,0);
152 topLayout->addWidget(mUserDateFormatLong,iii,1); 152 topLayout->addWidget(mUserDateFormatLong,iii,1);
153 ++iii; 153 ++iii;
154 mUserDateFormatShort = new QLineEdit(topFrame); 154 mUserDateFormatShort = new QLineEdit(topFrame);
155 lab = new QLabel(mUserDateFormatShort, i18n("User short date:"), topFrame); 155 lab = new QLabel(mUserDateFormatShort, i18n("User short date:"), topFrame);
156 topLayout->addWidget(lab ,iii,0); 156 topLayout->addWidget(lab ,iii,0);
157 topLayout->addWidget(mUserDateFormatShort,iii,1); 157 topLayout->addWidget(mUserDateFormatShort,iii,1);
158 ++iii; 158 ++iii;
159 lab = new QLabel( i18n("Monday 19 April 2004: %A %d %B %Y"), topFrame); 159 lab = new QLabel( i18n("Monday 19 April 2004: %A %d %B %Y"), topFrame);
160 topLayout->addMultiCellWidget(lab ,iii,iii,0,1); 160 topLayout->addMultiCellWidget(lab ,iii,iii,0,1);
161 ++iii; 161 ++iii;
162 lab = new QLabel( i18n("Mon 19.04.04: %a %d.%m.%y"), topFrame); 162 lab = new QLabel( i18n("Mon 19.04.04: %a %d.%m.%y"), topFrame);
163 topLayout->addMultiCellWidget(lab ,iii,iii,0,1); 163 topLayout->addMultiCellWidget(lab ,iii,iii,0,1);
164 ++iii; 164 ++iii;
165 lab = new QLabel( i18n("Mon, 19.Apr.04: %a, %d.%b.%y"), topFrame); 165 lab = new QLabel( i18n("Mon, 19.Apr.04: %a, %d.%b.%y"), topFrame);
166 topLayout->addMultiCellWidget(lab ,iii,iii,0,1); 166 topLayout->addMultiCellWidget(lab ,iii,iii,0,1);
167 ++iii; 167 ++iii;
168#endif 168#endif
169 169
170} 170}
171 171
172void KOPrefsDialog::setupLocaleTab() 172void KOPrefsDialog::setupLocaleTab()
173{ 173{
174#if 0 174#if 0
175 QFrame *topFrame = addPage(i18n("Locale"),0,0); 175 QFrame *topFrame = addPage(i18n("Locale"),0,0);
176 QGridLayout *topLayout = new QGridLayout(topFrame,4,2); 176 QGridLayout *topLayout = new QGridLayout(topFrame,4,2);
177 topLayout->setSpacing(mSpacingHint); 177 topLayout->setSpacing(mSpacingHint);
178 topLayout->setMargin(mMarginHint); 178 topLayout->setMargin(mMarginHint);
179 int iii = 0; 179 int iii = 0;
180 KPrefsDialogWidRadios *syncPrefsGroup = 180 KPrefsDialogWidRadios *syncPrefsGroup =
181 addWidRadios(i18n("Language:(needs restart)"),&(KOPrefs::instance()->mPreferredLanguage),topFrame); 181 addWidRadios(i18n("Language:(needs restart)"),&(KOPrefs::instance()->mPreferredLanguage),topFrame);
182 syncPrefsGroup->addRadio(i18n("English")); 182 syncPrefsGroup->addRadio(i18n("English"));
183 syncPrefsGroup->addRadio(i18n("German")); 183 syncPrefsGroup->addRadio(i18n("German"));
184 syncPrefsGroup->addRadio(i18n("French")); 184 syncPrefsGroup->addRadio(i18n("French"));
185 syncPrefsGroup->addRadio(i18n("User defined (usertranslation.txt)")); 185 syncPrefsGroup->addRadio(i18n("User defined (usertranslation.txt)"));
186 if ( QApplication::desktop()->width() < 300 ) 186 if ( QApplication::desktop()->width() < 300 )
187 ;// syncPrefsGroup->groupBox()-> setOrientation (Qt::Vertical); 187 ;// syncPrefsGroup->groupBox()-> setOrientation (Qt::Vertical);
188 topLayout->addMultiCellWidget( syncPrefsGroup->groupBox(),iii,iii,0,1); 188 topLayout->addMultiCellWidget( syncPrefsGroup->groupBox(),iii,iii,0,1);
189 ++iii; 189 ++iii;
190 190
191 syncPrefsGroup = 191 syncPrefsGroup =
192 addWidRadios(i18n("Time Format(nr):"),&(KOPrefs::instance()->mPreferredTime),topFrame); 192 addWidRadios(i18n("Time Format(nr):"),&(KOPrefs::instance()->mPreferredTime),topFrame);
193 if ( QApplication::desktop()->width() > 300 ) 193 if ( QApplication::desktop()->width() > 300 )
194 syncPrefsGroup->groupBox()-> setOrientation (Qt::Vertical); 194 syncPrefsGroup->groupBox()-> setOrientation (Qt::Vertical);
195 syncPrefsGroup->addRadio(i18n("24:00")); 195 syncPrefsGroup->addRadio(i18n("24:00"));
196 syncPrefsGroup->addRadio(i18n("12:00am")); 196 syncPrefsGroup->addRadio(i18n("12:00am"));
197 syncPrefsGroup->groupBox()-> setOrientation (Qt::Vertical); 197 syncPrefsGroup->groupBox()-> setOrientation (Qt::Vertical);
198 topLayout->addMultiCellWidget( syncPrefsGroup->groupBox(),iii,iii,0,1); 198 topLayout->addMultiCellWidget( syncPrefsGroup->groupBox(),iii,iii,0,1);
199 ++iii; 199 ++iii;
200 KPrefsDialogWidBool *sb; 200 KPrefsDialogWidBool *sb;
201 if ( QApplication::desktop()->width() < 300 ) { 201 if ( QApplication::desktop()->width() < 300 ) {
202 sb = 202 sb =
203 addWidBool(i18n("Week starts on Sunday"), 203 addWidBool(i18n("Week starts on Sunday"),
204 &(KOPrefs::instance()->mWeekStartsOnSunday),topFrame); 204 &(KOPrefs::instance()->mWeekStartsOnSunday),topFrame);
205 topLayout->addMultiCellWidget(sb->checkBox(), iii,iii,0,1); 205 topLayout->addMultiCellWidget(sb->checkBox(), iii,iii,0,1);
206 ++iii; 206 ++iii;
207 sb = 207 sb =
208 addWidBool(i18n("Use short date in (WN/E) view"), 208 addWidBool(i18n("Use short date in (WN/E) view"),
209 &(KOPrefs::instance()->mShortDateInViewer),topFrame); 209 &(KOPrefs::instance()->mShortDateInViewer),topFrame);
210 topLayout->addMultiCellWidget(sb->checkBox(), iii,iii,0,1); 210 topLayout->addMultiCellWidget(sb->checkBox(), iii,iii,0,1);
211 } 211 }
212 else { 212 else {
213 QWidget * hb = new QWidget( topFrame ); 213 QWidget * hb = new QWidget( topFrame );
214 QHBoxLayout *hbLayout = new QHBoxLayout(hb); 214 QHBoxLayout *hbLayout = new QHBoxLayout(hb);
215 sb = 215 sb =
216 addWidBool(i18n("Week starts on Sunday"), 216 addWidBool(i18n("Week starts on Sunday"),
217 &(KOPrefs::instance()->mWeekStartsOnSunday),hb); 217 &(KOPrefs::instance()->mWeekStartsOnSunday),hb);
218 hbLayout->addWidget(sb->checkBox() ); 218 hbLayout->addWidget(sb->checkBox() );
219 sb = 219 sb =
220 addWidBool(i18n("Use short date in (WN/E) view"), 220 addWidBool(i18n("Use short date in (WN/E) view"),
221 &(KOPrefs::instance()->mShortDateInViewer),hb); 221 &(KOPrefs::instance()->mShortDateInViewer),hb);
222 hbLayout->addWidget(sb->checkBox() ); 222 hbLayout->addWidget(sb->checkBox() );
223 topLayout->addMultiCellWidget(hb, iii,iii,0,1); 223 topLayout->addMultiCellWidget(hb, iii,iii,0,1);
224 224
225 } 225 }
226 // KPrefsDialogWidBool *sb; //#ifndef DESKTOP_VERSION 226 // KPrefsDialogWidBool *sb; //#ifndef DESKTOP_VERSION
227#if 0 227#if 0
228 ++iii; 228 ++iii;
229 sb = 229 sb =
230 addWidBool(i18n("Quick load/save (w/o Unicode)"), 230 addWidBool(i18n("Quick load/save (w/o Unicode)"),
231 &(KOPrefs::instance()->mUseQuicksave),topFrame); 231 &(KOPrefs::instance()->mUseQuicksave),topFrame);
232 topLayout->addMultiCellWidget(sb->checkBox(), iii,iii,0,1); 232 topLayout->addMultiCellWidget(sb->checkBox(), iii,iii,0,1);
233#endif 233#endif
234#endif 234#endif
235} 235}
236 236
237void KOPrefsDialog::setupMainTab() 237void KOPrefsDialog::setupMainTab()
238{ 238{
239 QFrame *topFrame = addPage(i18n("General"),0,0); 239 QFrame *topFrame = addPage(i18n("General"),0,0);
240 // DesktopIcon("identity",KIcon::SizeMedium)); 240 // DesktopIcon("identity",KIcon::SizeMedium));
241 241
242 QGridLayout *topLayout = new QGridLayout(topFrame,5,2); 242 QGridLayout *topLayout = new QGridLayout(topFrame,5,2);
243 topLayout->setSpacing(mSpacingHint); 243 topLayout->setSpacing(mSpacingHint);
244 topLayout->setMargin(mMarginHint); 244 topLayout->setMargin(mMarginHint);
245 245
246 // KPrefsDialogWidBool *emailControlCenter = 246 // KPrefsDialogWidBool *emailControlCenter =
247// addWidBool(i18n("&Use email settings from Control Center"), 247// addWidBool(i18n("&Use email settings from Control Center"),
248// &(KOPrefs::instance()->mEmailControlCenter),topFrame); 248// &(KOPrefs::instance()->mEmailControlCenter),topFrame);
249// topLayout->addMultiCellWidget(emailControlCenter->checkBox(),0,0,0,1); 249// topLayout->addMultiCellWidget(emailControlCenter->checkBox(),0,0,0,1);
250 // connect(emailControlCenter->checkBox(),SIGNAL(toggled(bool)), 250 // connect(emailControlCenter->checkBox(),SIGNAL(toggled(bool)),
251 // SLOT(toggleEmailSettings(bool))); 251 // SLOT(toggleEmailSettings(bool)));
252 252
253 mNameEdit = new QLineEdit(topFrame); 253 mNameEdit = new QLineEdit(topFrame);
254 mNameLabel = new QLabel(mNameEdit, i18n("Full &name:"), topFrame); 254 mNameLabel = new QLabel(mNameEdit, i18n("Full &name:"), topFrame);
255 topLayout->addWidget(mNameLabel,0,0); 255 topLayout->addWidget(mNameLabel,0,0);
256 topLayout->addWidget(mNameEdit,0,1); 256 topLayout->addWidget(mNameEdit,0,1);
257 257
258 mEmailEdit = new QLineEdit(topFrame); 258 mEmailEdit = new QLineEdit(topFrame);
259 mEmailLabel = new QLabel(mEmailEdit, i18n("E&mail address:"),topFrame); 259 mEmailLabel = new QLabel(mEmailEdit, i18n("E&mail address:"),topFrame);
260 topLayout->addWidget(mEmailLabel,1,0); 260 topLayout->addWidget(mEmailLabel,1,0);
261 topLayout->addWidget(mEmailEdit,1,1); 261 topLayout->addWidget(mEmailEdit,1,1);
262 KPrefsDialogWidBool *wb; 262 KPrefsDialogWidBool *wb;
263 263
264 264
265 265
266 KPrefsDialogWidBool *widbool = addWidBool(i18n("Full menu bar(nr)"), 266 KPrefsDialogWidBool *widbool = addWidBool(i18n("Full menu bar(nr)"),
267 &(KOPrefs::instance()->mShowFullMenu),topFrame); 267 &(KOPrefs::instance()->mShowFullMenu),topFrame);
268 topLayout->addMultiCellWidget( widbool->checkBox(), 2,2,0,1); 268 topLayout->addMultiCellWidget( widbool->checkBox(), 2,2,0,1);
269 269
270 270
271 widbool = addWidBool(i18n("Mini icons in toolbar(nr)"), 271 widbool = addWidBool(i18n("Mini icons in toolbar(nr)"),
272 &(KOPrefs::instance()->mToolBarMiniIcons),topFrame); 272 &(KOPrefs::instance()->mToolBarMiniIcons),topFrame);
273 topLayout->addMultiCellWidget( widbool->checkBox(), 3,3,0,1); 273 topLayout->addMultiCellWidget( widbool->checkBox(), 3,3,0,1);
274 274
275 275
276 KPrefsDialogWidBool *verticalScreen = 276 KPrefsDialogWidBool *verticalScreen =
277 addWidBool(i18n("Vertical screen layout(Needs restart)"), 277 addWidBool(i18n("Vertical screen layout(Needs restart)"),
278 &(KOPrefs::instance()->mVerticalScreen),topFrame); 278 &(KOPrefs::instance()->mVerticalScreen),topFrame);
279 //topLayout->addWidget(verticalScreen->checkBox(),ii++,0); 279 //topLayout->addWidget(verticalScreen->checkBox(),ii++,0);
280 topLayout->addMultiCellWidget(verticalScreen->checkBox(),4,4,0,1); 280 topLayout->addMultiCellWidget(verticalScreen->checkBox(),4,4,0,1);
281 281
282 282
283 int iii = 5; 283 int iii = 5;
284 widbool = addWidBool(i18n("Block popup until mouse button release"), 284 widbool = addWidBool(i18n("Block popup until mouse button release"),
285 &(KOPrefs::instance()->mBlockPopupMenu),topFrame); 285 &(KOPrefs::instance()->mBlockPopupMenu),topFrame);
286 topLayout->addMultiCellWidget( widbool->checkBox(), iii,iii,0,1); 286 topLayout->addMultiCellWidget( widbool->checkBox(), iii,iii,0,1);
287 ++iii; 287 ++iii;
288 if ( QApplication::desktop()->height() <= 240 ) { 288 if ( QApplication::desktop()->height() <= 240 ) {
289 topFrame = addPage(i18n("General") +" 2",0,0); 289 topFrame = addPage(i18n("General") +" 2",0,0);
290 topLayout = new QGridLayout(topFrame,4,2); 290 topLayout = new QGridLayout(topFrame,4,2);
291 topLayout->setSpacing(2); 291 topLayout->setSpacing(2);
292 topLayout->setMargin(3); 292 topLayout->setMargin(3);
293 iii = 0; 293 iii = 0;
294 } 294 }
295 QHBox *dummy = new QHBox(topFrame); 295 QHBox *dummy = new QHBox(topFrame);
296 new QLabel(i18n("Days in Next-X-Days:"),dummy); 296 new QLabel(i18n("Days in Next-X-Days:"),dummy);
297 mNextXDaysSpin = new QSpinBox(2,14,1,dummy); 297 mNextXDaysSpin = new QSpinBox(2,14,1,dummy);
298 298
299 topLayout->addMultiCellWidget(dummy,iii,iii,0,1); 299 topLayout->addMultiCellWidget(dummy,iii,iii,0,1);
300 300
301 ++iii; 301 ++iii;
302 302
303 303
304 // KPrefsDialogWidBool *bcc = 304 // KPrefsDialogWidBool *bcc =
305// addWidBool(i18n("Send copy to owner when mailing events"), 305// addWidBool(i18n("Send copy to owner when mailing events"),
306// &(KOPrefs::instance()->mBcc),topFrame); 306// &(KOPrefs::instance()->mBcc),topFrame);
307// topLayout->addMultiCellWidget(bcc->checkBox(),4,4,0,1); 307// topLayout->addMultiCellWidget(bcc->checkBox(),4,4,0,1);
308 308
309 309
310 // QGroupBox *autoSaveGroup = new QGroupBox(1,Horizontal,i18n("Auto-Save"), topFrame); 310 // QGroupBox *autoSaveGroup = new QGroupBox(1,Horizontal,i18n("Auto-Save"), topFrame);
311 //topLayout->addMultiCellWidget(autoSaveGroup,6,6,0,1); 311 //topLayout->addMultiCellWidget(autoSaveGroup,6,6,0,1);
312 312
313 // addWidBool(i18n("Enable automatic saving of calendar"), 313 // addWidBool(i18n("Enable automatic saving of calendar"),
314 // &(KOPrefs::instance()->mAutoSave),autoSaveGroup); 314 // &(KOPrefs::instance()->mAutoSave),autoSaveGroup);
315 315
316 QHBox *intervalBox = new QHBox(topFrame); 316 QHBox *intervalBox = new QHBox(topFrame);
317 // intervalBox->setSpacing(mSpacingHint); 317 // intervalBox->setSpacing(mSpacingHint);
318 topLayout->addMultiCellWidget(intervalBox,iii,iii,0,1); 318 topLayout->addMultiCellWidget(intervalBox,iii,iii,0,1);
319 ++iii; 319 ++iii;
320 QLabel *autoSaveIntervalLabel = new QLabel(i18n("Auto save delay in minutes:"),intervalBox); 320 QLabel *autoSaveIntervalLabel = new QLabel(i18n("Auto save delay in minutes:"),intervalBox);
321 mAutoSaveIntervalSpin = new QSpinBox(0,500,1,intervalBox); 321 mAutoSaveIntervalSpin = new QSpinBox(0,500,1,intervalBox);
322 autoSaveIntervalLabel->setBuddy(mAutoSaveIntervalSpin); 322 autoSaveIntervalLabel->setBuddy(mAutoSaveIntervalSpin);
323 /* 323 /*
324 QHBox * agendasize = new QHBox ( topFrame ); 324 QHBox * agendasize = new QHBox ( topFrame );
325 325
326 new QLabel (i18n("AllDayAgenda Height:"), agendasize ); 326 new QLabel (i18n("AllDayAgenda Height:"), agendasize );
327 327
328 328
329 mHourSizeSlider = new QSlider(24,47,1,24,Horizontal,agendasize); 329 mHourSizeSlider = new QSlider(24,47,1,24,Horizontal,agendasize);
330 topLayout->addMultiCellWidget(agendasize,7,7,0,1); 330 topLayout->addMultiCellWidget(agendasize,7,7,0,1);
331 */ 331 */
332 332
333 333
334 KPrefsDialogWidBool *ask = 334 KPrefsDialogWidBool *ask =
335 addWidBool(i18n("Ask for quit when closing KO/Pi"), 335 addWidBool(i18n("Ask for quit when closing KO/Pi"),
336 &(KOPrefs::instance()->mAskForQuit),topFrame); 336 &(KOPrefs::instance()->mAskForQuit),topFrame);
337 topLayout->addMultiCellWidget(ask->checkBox(),iii,iii,0,1); 337 topLayout->addMultiCellWidget(ask->checkBox(),iii,iii,0,1);
338 ++iii; 338 ++iii;
339 339
340 340
341 /* 341 /*
342 KPrefsDialogWidBool *confirmCheck = 342 KPrefsDialogWidBool *confirmCheck =
343 addWidBool(i18n("Confirm &deletes"),&(KOPrefs::instance()->mConfirm), 343 addWidBool(i18n("Confirm &deletes"),&(KOPrefs::instance()->mConfirm),
344 topFrame); 344 topFrame);
345 topLayout->addMultiCellWidget(confirmCheck->checkBox(),7,7,0,1); 345 topLayout->addMultiCellWidget(confirmCheck->checkBox(),7,7,0,1);
346 346
347 347
348 mEnableGroupScheduling = 348 mEnableGroupScheduling =
349 addWidBool(i18n("Enable group scheduling"), 349 addWidBool(i18n("Enable group scheduling"),
350 &(KOPrefs::instance()->mEnableGroupScheduling),topFrame); 350 &(KOPrefs::instance()->mEnableGroupScheduling),topFrame);
351 topLayout->addWidget(mEnableGroupScheduling->checkBox(),8,0); 351 topLayout->addWidget(mEnableGroupScheduling->checkBox(),8,0);
352 connect(mEnableGroupScheduling->checkBox(),SIGNAL(clicked()), 352 connect(mEnableGroupScheduling->checkBox(),SIGNAL(clicked()),
353 SLOT(warningGroupScheduling())); 353 SLOT(warningGroupScheduling()));
354 354
355 mEnableProjectView = 355 mEnableProjectView =
356 addWidBool(i18n("Enable project view"), 356 addWidBool(i18n("Enable project view"),
357 &(KOPrefs::instance()->mEnableProjectView),topFrame); 357 &(KOPrefs::instance()->mEnableProjectView),topFrame);
358 topLayout->addWidget(mEnableProjectView->checkBox(),9,0); 358 topLayout->addWidget(mEnableProjectView->checkBox(),9,0);
359 connect(mEnableProjectView->checkBox(),SIGNAL(clicked()), 359 connect(mEnableProjectView->checkBox(),SIGNAL(clicked()),
360 SLOT(warningProjectView())); 360 SLOT(warningProjectView()));
361 361
362 // Can't be disabled anymore 362 // Can't be disabled anymore
363 mEnableGroupScheduling->checkBox()->hide(); 363 mEnableGroupScheduling->checkBox()->hide();
364 364
365 // Disable setting, because this feature now becomes stable 365 // Disable setting, because this feature now becomes stable
366 mEnableProjectView->checkBox()->hide(); 366 mEnableProjectView->checkBox()->hide();
367 367
368 KPrefsDialogWidRadios *defaultFormatGroup = 368 KPrefsDialogWidRadios *defaultFormatGroup =
369 addWidRadios(i18n("Default Calendar Format"), 369 addWidRadios(i18n("Default Calendar Format"),
370 &(KOPrefs::instance()->mDefaultFormat),topFrame); 370 &(KOPrefs::instance()->mDefaultFormat),topFrame);
371 defaultFormatGroup->addRadio(i18n("vCalendar")); 371 defaultFormatGroup->addRadio(i18n("vCalendar"));
372 defaultFormatGroup->addRadio(i18n("iCalendar")); 372 defaultFormatGroup->addRadio(i18n("iCalendar"));
373 373
374 topLayout->addMultiCellWidget(defaultFormatGroup->groupBox(),10,10,0,1); 374 topLayout->addMultiCellWidget(defaultFormatGroup->groupBox(),10,10,0,1);
375 375
376 // Default format unconditionally is iCalendar 376 // Default format unconditionally is iCalendar
377 defaultFormatGroup->groupBox()->hide(); 377 defaultFormatGroup->groupBox()->hide();
378 378
379 KPrefsDialogWidRadios *mailClientGroup = 379 KPrefsDialogWidRadios *mailClientGroup =
380 addWidRadios(i18n("Mail Client"),&(KOPrefs::instance()->mMailClient), 380 addWidRadios(i18n("Mail Client"),&(KOPrefs::instance()->mMailClient),
381 topFrame); 381 topFrame);
382 mailClientGroup->addRadio(i18n("KMail")); 382 mailClientGroup->addRadio(i18n("KMail"));
383 mailClientGroup->addRadio(i18n("Sendmail")); 383 mailClientGroup->addRadio(i18n("Sendmail"));
384 topLayout->addMultiCellWidget(mailClientGroup->groupBox(),11,11,0,1); 384 topLayout->addMultiCellWidget(mailClientGroup->groupBox(),11,11,0,1);
385 385
386 KPrefsDialogWidBool *htmlsave = 386 KPrefsDialogWidBool *htmlsave =
387 addWidBool(i18n("Export to HTML with every save"),&(KOPrefs::instance()->mHtmlWithSave), 387 addWidBool(i18n("Export to HTML with every save"),&(KOPrefs::instance()->mHtmlWithSave),
388 topFrame); 388 topFrame);
389 topLayout->addMultiCellWidget(htmlsave->checkBox(),12,12,0,1); 389 topLayout->addMultiCellWidget(htmlsave->checkBox(),12,12,0,1);
390 390
391 KPrefsDialogWidRadios *destinationGroup = 391 KPrefsDialogWidRadios *destinationGroup =
392 addWidRadios(i18n("New Events/Todos should"),&(KOPrefs::instance()->mDestination), 392 addWidRadios(i18n("New Events/Todos should"),&(KOPrefs::instance()->mDestination),
393 topFrame); 393 topFrame);
394 destinationGroup->addRadio(i18n("be added to the standard resource")); 394 destinationGroup->addRadio(i18n("be added to the standard resource"));
395 destinationGroup->addRadio(i18n("be asked which resource to use")); 395 destinationGroup->addRadio(i18n("be asked which resource to use"));
396 topLayout->addMultiCellWidget(destinationGroup->groupBox(),13,13,0,1); 396 topLayout->addMultiCellWidget(destinationGroup->groupBox(),13,13,0,1);
397 397
398 topLayout->setRowStretch(14,1); 398 topLayout->setRowStretch(14,1);
399 */ 399 */
400} 400}
401 401
402 402
403void KOPrefsDialog::setupTimeTab() 403void KOPrefsDialog::setupTimeTab()
404{ 404{
405 QFrame *topFrame = addPage(i18n("Time"),0,0); 405 QFrame *topFrame = addPage(i18n("Time"),0,0);
406 // DesktopIcon("clock",KIcon::SizeMedium)); 406 // DesktopIcon("clock",KIcon::SizeMedium));
407 407
408 QGridLayout *topLayout = new QGridLayout(topFrame,4,2); 408 QGridLayout *topLayout = new QGridLayout(topFrame,4,2);
409 topLayout->setSpacing(mSpacingHint); 409 topLayout->setSpacing(mSpacingHint);
410 topLayout->setMargin(mMarginHint); 410 topLayout->setMargin(mMarginHint);
411 411
412 QHBox *dummy = new QHBox(topFrame); 412 QHBox *dummy = new QHBox(topFrame);
413 KPrefsDialogWidTime *dayBegins = 413 KPrefsDialogWidTime *dayBegins =
414 addWidTime(i18n("Day begins at:"),&(KOPrefs::instance()->mDayBegins), 414 addWidTime(i18n("Day begins at:"),&(KOPrefs::instance()->mDayBegins),
415 dummy); 415 dummy);
416 //topLayout->addWidget(dayBegins->label(),2,0); 416 //topLayout->addWidget(dayBegins->label(),2,0);
417 417
418 //topLayout->addWidget(dayBegins->spinBox(),2,1); 418 //topLayout->addWidget(dayBegins->spinBox(),2,1);
419 topLayout->addMultiCellWidget(dummy,0,0,0,1); 419 topLayout->addMultiCellWidget(dummy,0,0,0,1);
420 420
421 topLayout->addWidget(new QLabel(i18n("Default appointment time:"), 421 topLayout->addWidget(new QLabel(i18n("Default appointment time:"),
422 topFrame),1,0); 422 topFrame),1,0);
423 mStartTimeSpin = new QSpinBox(0,23,1,topFrame); 423 mStartTimeSpin = new QSpinBox(0,23,1,topFrame);
424 mStartTimeSpin->setSuffix(":00"); 424 mStartTimeSpin->setSuffix(":00");
425 topLayout->addWidget(mStartTimeSpin,1,1); 425 topLayout->addWidget(mStartTimeSpin,1,1);
426 426
427 topLayout->addWidget(new QLabel(i18n("Def. duration of new app.:"), 427 topLayout->addWidget(new QLabel(i18n("Def. duration of new app.:"),
428 topFrame),2,0); 428 topFrame),2,0);
429 mDefaultDurationSpin = new QSpinBox(0,23,1,topFrame); 429 mDefaultDurationSpin = new QSpinBox(0,23,1,topFrame);
430 mDefaultDurationSpin->setSuffix(":00"); 430 mDefaultDurationSpin->setSuffix(":00");
431 topLayout->addWidget(mDefaultDurationSpin,2,1); 431 topLayout->addWidget(mDefaultDurationSpin,2,1);
432 432
433 QStringList alarmList; 433 QStringList alarmList;
434 alarmList << i18n("1 minute") << i18n("5 minutes") << i18n("10 minutes") 434 alarmList << i18n("1 minute") << i18n("5 minutes") << i18n("10 minutes")
435 << i18n("15 minutes") << i18n("30 minutes")<< i18n("1 hour")<< i18n("3 hours") << i18n("24 hours") ; 435 << i18n("15 minutes") << i18n("30 minutes")<< i18n("1 hour")<< i18n("3 hours") << i18n("24 hours") ;
436 topLayout->addWidget(new QLabel(i18n("Default alarm time:"),topFrame), 436 topLayout->addWidget(new QLabel(i18n("Default alarm time:"),topFrame),
437 3,0); 437 3,0);
438 mAlarmTimeCombo = new QComboBox(topFrame); 438 mAlarmTimeCombo = new QComboBox(topFrame);
439 mAlarmTimeCombo->insertStringList(alarmList); 439 mAlarmTimeCombo->insertStringList(alarmList);
440 topLayout->addWidget(mAlarmTimeCombo,3,1); 440 topLayout->addWidget(mAlarmTimeCombo,3,1);
441 int iii = 4; 441 int iii = 4;
442 if ( QApplication::desktop()->height() <= 240 ) { 442 if ( QApplication::desktop()->height() <= 240 ) {
443 topFrame = addPage(i18n("Time") +" 2",0,0); 443 topFrame = addPage(i18n("Time") +" 2",0,0);
444 topLayout = new QGridLayout(topFrame,1,2); 444 topLayout = new QGridLayout(topFrame,1,2);
445 topLayout->setSpacing(2); 445 topLayout->setSpacing(2);
446 topLayout->setMargin(3); 446 topLayout->setMargin(3);
447 iii = 0; 447 iii = 0;
448 } 448 }
449 449
450 QGroupBox *workingHoursGroup = new QGroupBox(1,Horizontal, 450 QGroupBox *workingHoursGroup = new QGroupBox(1,Horizontal,
451 i18n("Working Hours"), 451 i18n("Working Hours"),
452 topFrame); 452 topFrame);
453 topLayout->addMultiCellWidget(workingHoursGroup,iii,iii,0,1); 453 topLayout->addMultiCellWidget(workingHoursGroup,iii,iii,0,1);
454 workingHoursGroup->layout()->setSpacing( 0 ); 454 workingHoursGroup->layout()->setSpacing( 0 );
455 workingHoursGroup->layout()->setMargin( 4 ); 455 workingHoursGroup->layout()->setMargin( 4 );
456 QHBox *workStartBox = new QHBox(workingHoursGroup); 456 QHBox *workStartBox = new QHBox(workingHoursGroup);
457 // workStartBox->setMargin( 0 ); 457 // workStartBox->setMargin( 0 );
458 addWidTime(i18n("Daily starting hour:"), 458 addWidTime(i18n("Daily starting hour:"),
459 &(KOPrefs::instance()->mWorkingHoursStart),workStartBox); 459 &(KOPrefs::instance()->mWorkingHoursStart),workStartBox);
460 460
461 QHBox *workEndBox = new QHBox(workingHoursGroup); 461 QHBox *workEndBox = new QHBox(workingHoursGroup);
462 //workEndBox->setMargin( 0 ); 462 //workEndBox->setMargin( 0 );
463 addWidTime(i18n("Daily ending hour:"), 463 addWidTime(i18n("Daily ending hour:"),
464 &(KOPrefs::instance()->mWorkingHoursEnd),workEndBox); 464 &(KOPrefs::instance()->mWorkingHoursEnd),workEndBox);
465 QVBox *excludeBox = new QVBox(workingHoursGroup); 465 QVBox *excludeBox = new QVBox(workingHoursGroup);
466 //excludeBox->setMargin( 0 ); 466 //excludeBox->setMargin( 0 );
467 addWidBool(i18n("Exclude holidays"), 467 addWidBool(i18n("Exclude holidays"),
468 &(KOPrefs::instance()->mExcludeHolidays),excludeBox); 468 &(KOPrefs::instance()->mExcludeHolidays),excludeBox);
469 469
470 addWidBool(i18n("Exclude Saturdays"), 470 addWidBool(i18n("Exclude Saturdays"),
471 &(KOPrefs::instance()->mExcludeSaturdays),excludeBox); 471 &(KOPrefs::instance()->mExcludeSaturdays),excludeBox);
472 472
473// KPrefsDialogWidBool *marcusBainsShowSeconds = addWidBool(i18n("Show seconds on Marcus Bains line"), 473// KPrefsDialogWidBool *marcusBainsShowSeconds = addWidBool(i18n("Show seconds on Marcus Bains line"),
474 // &(KOPrefs::instance()->mMarcusBainsShowSeconds), 474 // &(KOPrefs::instance()->mMarcusBainsShowSeconds),
475 // topFrame); 475 // topFrame);
476// topLayout->addWidget(marcusBainsShowSeconds->checkBox(),5,0); 476// topLayout->addWidget(marcusBainsShowSeconds->checkBox(),5,0);
477 477
478 // topLayout->setRowStretch(6,1); 478 // topLayout->setRowStretch(6,1);
479} 479}
480 480
481 481
482void KOPrefsDialog::setupViewsTab() 482void KOPrefsDialog::setupViewsTab()
483{ 483{
484 484
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 ) {
677 lab = new QLabel (i18n("Show in every cell ") , topFrame ); 682 lab = new QLabel (i18n("Show in every cell ") , topFrame );
678 topLayout->addMultiCellWidget(lab,ii, ii,0,1); 683 topLayout->addMultiCellWidget(lab,ii, ii,0,1);
679 ii++; 684 ii++;
680 685
681 } else { 686 } else {
682 new QLabel ( i18n("Show in every cell "), habo ); 687 new QLabel ( i18n("Show in every cell "), habo );
683 } 688 }
684 weeklyRecur = 689 weeklyRecur =
685 addWidBool(i18n("short month"), 690 addWidBool(i18n("short month"),
686 &(KOPrefs::instance()->mMonthShowShort),habo); 691 &(KOPrefs::instance()->mMonthShowShort),habo);
687 weeklyRecur = 692 weeklyRecur =
688 addWidBool(i18n("icons"), 693 addWidBool(i18n("icons"),
689 &(KOPrefs::instance()->mMonthShowIcons),habo); 694 &(KOPrefs::instance()->mMonthShowIcons),habo);
690 weeklyRecur = 695 weeklyRecur =
691 addWidBool(i18n("times"), 696 addWidBool(i18n("times"),
692 &(KOPrefs::instance()->mMonthShowTimes),habo); 697 &(KOPrefs::instance()->mMonthShowTimes),habo);
693 topLayout->addMultiCellWidget(habo,ii, ii,0,1); 698 topLayout->addMultiCellWidget(habo,ii, ii,0,1);
694 ii++; 699 ii++;
695#ifdef DESKTOP_VERSION 700#ifdef DESKTOP_VERSION
696 KPrefsDialogWidBool *enableMonthScroll = 701 KPrefsDialogWidBool *enableMonthScroll =
697 addWidBool(i18n("Enable scrollbars in month view cells"), 702 addWidBool(i18n("Enable scrollbars in month view cells"),
698 &(KOPrefs::instance()->mEnableMonthScroll),topFrame); 703 &(KOPrefs::instance()->mEnableMonthScroll),topFrame);
699 topLayout->addWidget(enableMonthScroll->checkBox(),ii++,0); 704 topLayout->addWidget(enableMonthScroll->checkBox(),ii++,0);
700#endif 705#endif
701 dummy = 706 dummy =
702 addWidBool(i18n("Week view mode uses bigger font"), 707 addWidBool(i18n("Week view mode uses bigger font"),
703 &(KOPrefs::instance()->mMonthViewUsesBigFont),topFrame); 708 &(KOPrefs::instance()->mMonthViewUsesBigFont),topFrame);
704 topLayout->addWidget(dummy->checkBox(),ii++,0); 709 topLayout->addWidget(dummy->checkBox(),ii++,0);
705 dummy = 710 dummy =
706 addWidBool(i18n("Week view mode uses row layout"), 711 addWidBool(i18n("Week view mode uses row layout"),
707 &(KOPrefs::instance()->mMonthViewWeekRowlayout),topFrame); 712 &(KOPrefs::instance()->mMonthViewWeekRowlayout),topFrame);
708 topLayout->addWidget(dummy->checkBox(),ii++,0); 713 topLayout->addWidget(dummy->checkBox(),ii++,0);
709 dummy = 714 dummy =
710 addWidBool(i18n("Show Sat/Sun together"), 715 addWidBool(i18n("Show Sat/Sun together"),
711 &(KOPrefs::instance()->mMonthViewSatSunTog),topFrame); 716 &(KOPrefs::instance()->mMonthViewSatSunTog),topFrame);
712 topLayout->addWidget(dummy->checkBox(),ii++,0); 717 topLayout->addWidget(dummy->checkBox(),ii++,0);
713 718
714 KPrefsDialogWidBool *coloredCategoriesInMonthView = 719 KPrefsDialogWidBool *coloredCategoriesInMonthView =
715 addWidBool(i18n("Month view uses category colors"), 720 addWidBool(i18n("Month view uses category colors"),
716 &(KOPrefs::instance()->mMonthViewUsesCategoryColor),topFrame); 721 &(KOPrefs::instance()->mMonthViewUsesCategoryColor),topFrame);
717 topLayout->addWidget(coloredCategoriesInMonthView->checkBox(),ii++,0); 722 topLayout->addWidget(coloredCategoriesInMonthView->checkBox(),ii++,0);
718 723
719 dummy = 724 dummy =
720 addWidBool(i18n("Category colors are applied to text"), 725 addWidBool(i18n("Category colors are applied to text"),
721 &(KOPrefs::instance()->mMonthViewUsesForegroundColor),topFrame); 726 &(KOPrefs::instance()->mMonthViewUsesForegroundColor),topFrame);
722 topLayout->addWidget(dummy->checkBox(),ii++,0); 727 topLayout->addWidget(dummy->checkBox(),ii++,0);
723 728
724 729
725 730
726 if ( QApplication::desktop()->height() <= 240 ) { 731 if ( QApplication::desktop()->height() <= 240 ) {
727 topFrame = addPage(i18n("Month View") +" 2",0,0); 732 topFrame = addPage(i18n("Month View") +" 2",0,0);
728 topLayout = new QGridLayout(topFrame,4,1); 733 topLayout = new QGridLayout(topFrame,4,1);
729 topLayout->setSpacing(2); 734 topLayout->setSpacing(2);
730 topLayout->setMargin(1); 735 topLayout->setMargin(1);
731 ii = 0; 736 ii = 0;
732 } 737 }
733 738
734 739
735 coloredCategoriesInMonthView = 740 coloredCategoriesInMonthView =
736 addWidBool(i18n("Month view uses day colors"), 741 addWidBool(i18n("Month view uses day colors"),
737 &(KOPrefs::instance()->mMonthViewUsesDayColors),topFrame); 742 &(KOPrefs::instance()->mMonthViewUsesDayColors),topFrame);
738 topLayout->addWidget(coloredCategoriesInMonthView->checkBox(),ii++,0); 743 topLayout->addWidget(coloredCategoriesInMonthView->checkBox(),ii++,0);
739 744
740 KPrefsDialogWidColor *holidayColor = 745 KPrefsDialogWidColor *holidayColor =
741 addWidColor(i18n("Day color odd months"), 746 addWidColor(i18n("Day color odd months"),
742 &(KOPrefs::instance()->mMonthViewOddColor),topFrame); 747 &(KOPrefs::instance()->mMonthViewOddColor),topFrame);
743 topLayout->addWidget(holidayColor->label(),ii,0); 748 topLayout->addWidget(holidayColor->label(),ii,0);
744 topLayout->addWidget(holidayColor->button(),ii++,1); 749 topLayout->addWidget(holidayColor->button(),ii++,1);
745 750
746 holidayColor = 751 holidayColor =
747 addWidColor(i18n("Day color even months"), 752 addWidColor(i18n("Day color even months"),
748 &(KOPrefs::instance()->mMonthViewEvenColor),topFrame); 753 &(KOPrefs::instance()->mMonthViewEvenColor),topFrame);
749 topLayout->addWidget(holidayColor->label(),ii,0); 754 topLayout->addWidget(holidayColor->label(),ii,0);
750 topLayout->addWidget(holidayColor->button(),ii++,1); 755 topLayout->addWidget(holidayColor->button(),ii++,1);
751 756
752 757
753 holidayColor = 758 holidayColor =
754 addWidColor(i18n("Color for Sundays + category \"Holiday\""), 759 addWidColor(i18n("Color for Sundays + category \"Holiday\""),
755 &(KOPrefs::instance()->mMonthViewHolidayColor),topFrame); 760 &(KOPrefs::instance()->mMonthViewHolidayColor),topFrame);
756 topLayout->addWidget(holidayColor->label(),ii,0); 761 topLayout->addWidget(holidayColor->label(),ii,0);
757 topLayout->addWidget(holidayColor->button(),ii++,1); 762 topLayout->addWidget(holidayColor->button(),ii++,1);
758 // *********************** What'sNext View 763 // *********************** What'sNext View
759 topFrame = addPage(i18n("What's Next View"),0,0); 764 topFrame = addPage(i18n("What's Next View"),0,0);
760 // DesktopIcon("viewmag",KIcon::SizeMedium)); 765 // DesktopIcon("viewmag",KIcon::SizeMedium));
761 766
762 topLayout = new QGridLayout(topFrame,4,1); 767 topLayout = new QGridLayout(topFrame,4,1);
763 topLayout->setSpacing(mSpacingHint); 768 topLayout->setSpacing(mSpacingHint);
764 topLayout->setMargin(mMarginHint); 769 topLayout->setMargin(mMarginHint);
765 ii = 0; 770 ii = 0;
766 771
767 772
768 QHBox* hdummy = new QHBox(topFrame); 773 QHBox* hdummy = new QHBox(topFrame);
769 new QLabel(i18n("Days in What's Next:"),hdummy); 774 new QLabel(i18n("Days in What's Next:"),hdummy);
770 mWhatsNextSpin = new QSpinBox(1,14,1,hdummy); 775 mWhatsNextSpin = new QSpinBox(1,14,1,hdummy);
771 776
772 topLayout->addWidget(hdummy,ii++,0); 777 topLayout->addWidget(hdummy,ii++,0);
773 778
774 QHBox *prioBox = new QHBox(topFrame); 779 QHBox *prioBox = new QHBox(topFrame);
775 // intervalBox->setSpacing(mSpacingHint); 780 // intervalBox->setSpacing(mSpacingHint);
776 topLayout->addWidget(prioBox,ii++,0); 781 topLayout->addWidget(prioBox,ii++,0);
777 782
778 QLabel *prioLabel = new QLabel(i18n("Number of max.displayed todo prios:"), prioBox); 783 QLabel *prioLabel = new QLabel(i18n("Number of max.displayed todo prios:"), prioBox);
779 mPrioSpin = new QSpinBox(0,5,1,prioBox); 784 mPrioSpin = new QSpinBox(0,5,1,prioBox);
780 if ( QApplication::desktop()->width() < 300 ) 785 if ( QApplication::desktop()->width() < 300 )
781 mPrioSpin->setFixedWidth( 40 ); 786 mPrioSpin->setFixedWidth( 40 );
782 KPrefsDialogWidBool *passwdk = 787 KPrefsDialogWidBool *passwdk =
783 788
784 addWidBool(i18n("Show times on two lines"), 789 addWidBool(i18n("Show times on two lines"),
785 &(KOPrefs::instance()->mWhatsNextTime2Lines),topFrame); 790 &(KOPrefs::instance()->mWhatsNextTime2Lines),topFrame);
786 topLayout->addWidget(passwdk->checkBox(), ii++,0); 791 topLayout->addWidget(passwdk->checkBox(), ii++,0);
787 passwdk = 792 passwdk =
788 793
789 addWidBool(i18n("Show events that are done"), 794 addWidBool(i18n("Show events that are done"),
790 &(KOPrefs::instance()->mWNViewShowsPast),topFrame); 795 &(KOPrefs::instance()->mWNViewShowsPast),topFrame);
791 topLayout->addWidget(passwdk->checkBox(), ii++,0); 796 topLayout->addWidget(passwdk->checkBox(), ii++,0);
792 passwdk = 797 passwdk =
793 addWidBool(i18n("Show parent To-Do's"), 798 addWidBool(i18n("Show parent To-Do's"),
794 &(KOPrefs::instance()->mWNViewShowsParents),topFrame); 799 &(KOPrefs::instance()->mWNViewShowsParents),topFrame);
795 topLayout->addWidget(passwdk->checkBox(), ii++,0); 800 topLayout->addWidget(passwdk->checkBox(), ii++,0);
796 801
797 passwdk = 802 passwdk =
798 addWidBool(i18n("Show location"), 803 addWidBool(i18n("Show location"),
799 &(KOPrefs::instance()->mWNViewShowLocation),topFrame); 804 &(KOPrefs::instance()->mWNViewShowLocation),topFrame);
800 topLayout->addWidget(passwdk->checkBox(), ii++,0); 805 topLayout->addWidget(passwdk->checkBox(), ii++,0);
801 806
802 807
803 passwdk = 808 passwdk =
804 addWidBool(i18n("Use short date in WN+Event view"), 809 addWidBool(i18n("Use short date in WN+Event view"),
805 &(KOPrefs::instance()->mShortDateInViewer),topFrame); 810 &(KOPrefs::instance()->mShortDateInViewer),topFrame);
806 topLayout->addWidget(passwdk->checkBox(), ii++,0); 811 topLayout->addWidget(passwdk->checkBox(), ii++,0);
807 812
808 813
809 814
810 815
811 // *********************** Todo View 816 // *********************** Todo View
812 817
813 topFrame = addPage(i18n("Todo View"),0,0); 818 topFrame = addPage(i18n("Todo View"),0,0);
814 // DesktopIcon("viewmag",KIcon::SizeMedium)); 819 // DesktopIcon("viewmag",KIcon::SizeMedium));
815 820
816 topLayout = new QGridLayout(topFrame,4,1); 821 topLayout = new QGridLayout(topFrame,4,1);
817 topLayout->setSpacing(mSpacingHint); 822 topLayout->setSpacing(mSpacingHint);
818 topLayout->setMargin(mMarginHint); 823 topLayout->setMargin(mMarginHint);
819 ii = 0; 824 ii = 0;
820dummy = 825dummy =
821 addWidBool(i18n("Hide not running Todos in To-do view"), 826 addWidBool(i18n("Hide not running Todos in To-do view"),
822 &(KOPrefs::instance()->mHideNonStartedTodos),topFrame); 827 &(KOPrefs::instance()->mHideNonStartedTodos),topFrame);
823 topLayout->addWidget(dummy->checkBox(),ii++,0); 828 topLayout->addWidget(dummy->checkBox(),ii++,0);
824 829
825 830
826 KPrefsDialogWidBool *showCompletedTodo = 831 KPrefsDialogWidBool *showCompletedTodo =
827 addWidBool(i18n("To-do view shows completed Todos"), 832 addWidBool(i18n("To-do view shows completed Todos"),
828 &(KOPrefs::instance()->mShowCompletedTodo),topFrame); 833 &(KOPrefs::instance()->mShowCompletedTodo),topFrame);
829 topLayout->addWidget(showCompletedTodo->checkBox(),ii++,0); 834 topLayout->addWidget(showCompletedTodo->checkBox(),ii++,0);
830 dummy = 835 dummy =
831 addWidBool(i18n("To-do view shows complete as 'xx %'"), 836 addWidBool(i18n("To-do view shows complete as 'xx %'"),
832 &(KOPrefs::instance()->mTodoViewShowsPercentage),topFrame); 837 &(KOPrefs::instance()->mTodoViewShowsPercentage),topFrame);
833 topLayout->addWidget(dummy->checkBox(),ii++,0); 838 topLayout->addWidget(dummy->checkBox(),ii++,0);
834 839
835 dummy = 840 dummy =
836 addWidBool(i18n("Small To-do view uses smaller font"), 841 addWidBool(i18n("Small To-do view uses smaller font"),
837 &(KOPrefs::instance()->mTodoViewUsesSmallFont),topFrame); 842 &(KOPrefs::instance()->mTodoViewUsesSmallFont),topFrame);
838 topLayout->addWidget(dummy->checkBox(),ii++,0); 843 topLayout->addWidget(dummy->checkBox(),ii++,0);
839 844
840 845
841 846
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
1039void KOPrefsDialog::selectSoundFile() 1048void KOPrefsDialog::selectSoundFile()
1040{ 1049{
1041 QString fileName = mDefaultAlarmFile->text(); 1050 QString fileName = mDefaultAlarmFile->text();
1042 fileName = KFileDialog::getSaveFileName( mDefaultAlarmFile->text() , "Choose default alarm file", this ); 1051 fileName = KFileDialog::getSaveFileName( mDefaultAlarmFile->text() , "Choose default alarm file", this );
1043 if ( fileName.length() > 0 ) 1052 if ( fileName.length() > 0 )
1044 mDefaultAlarmFile->setText( fileName ); 1053 mDefaultAlarmFile->setText( fileName );
1045} 1054}
1046void KOPrefsDialog::setupFontsTab() 1055void KOPrefsDialog::setupFontsTab()
1047{ 1056{
1048 1057
1049 QFrame *topFrame = addPage(i18n("Fonts"),0,0); 1058 QFrame *topFrame = addPage(i18n("Fonts"),0,0);
1050 // DesktopIcon("fonts",KIcon::SizeMedium)); 1059 // DesktopIcon("fonts",KIcon::SizeMedium));
1051 1060
1052 QGridLayout *topLayout = new QGridLayout(topFrame,7,3); 1061 QGridLayout *topLayout = new QGridLayout(topFrame,7,3);
1053 topLayout->setSpacing(1); 1062 topLayout->setSpacing(1);
1054 topLayout->setMargin(3); 1063 topLayout->setMargin(3);
1055 KPrefsDialogWidFont * tVFont; 1064 KPrefsDialogWidFont * tVFont;
1056 int i = 0; 1065 int i = 0;
1057 KPrefsDialogWidFont *timeLabelsFont = 1066 KPrefsDialogWidFont *timeLabelsFont =
1058 addWidFont(i18n("23"),i18n("DateNavigator:(nr)"), 1067 addWidFont(i18n("23"),i18n("DateNavigator:(nr)"),
1059 &(KOPrefs::instance()->mDateNavigatorFont),topFrame); 1068 &(KOPrefs::instance()->mDateNavigatorFont),topFrame);
1060 topLayout->addWidget(timeLabelsFont->label(),i,0); 1069 topLayout->addWidget(timeLabelsFont->label(),i,0);
1061 topLayout->addWidget(timeLabelsFont->preview(),i,1); 1070 topLayout->addWidget(timeLabelsFont->preview(),i,1);
1062 topLayout->addWidget(timeLabelsFont->button(),i,2); 1071 topLayout->addWidget(timeLabelsFont->button(),i,2);
1063 ++i; 1072 ++i;
1064 1073
1065 1074
1066 timeLabelsFont = 1075 timeLabelsFont =
1067 addWidFont(i18n("Mon 15"),i18n("Date Labels:"), 1076 addWidFont(i18n("Mon 15"),i18n("Date Labels:"),
1068 &(KOPrefs::instance()->mTimeLabelsFont),topFrame); 1077 &(KOPrefs::instance()->mTimeLabelsFont),topFrame);
1069 topLayout->addWidget(timeLabelsFont->label(),i,0); 1078 topLayout->addWidget(timeLabelsFont->label(),i,0);
1070 topLayout->addWidget(timeLabelsFont->preview(),i,1); 1079 topLayout->addWidget(timeLabelsFont->preview(),i,1);
1071 topLayout->addWidget(timeLabelsFont->button(),i,2); 1080 topLayout->addWidget(timeLabelsFont->button(),i,2);
1072 ++i; 1081 ++i;
1073 1082
1074 KPrefsDialogWidFont *timeBarFont = 1083 KPrefsDialogWidFont *timeBarFont =
1075 addWidFont(KGlobal::locale()->formatTime(QTime(12,34)),i18n("Time bar:"), 1084 addWidFont(KGlobal::locale()->formatTime(QTime(12,34)),i18n("Time bar:"),
1076 &(KOPrefs::instance()->mTimeBarFont),topFrame); 1085 &(KOPrefs::instance()->mTimeBarFont),topFrame);
1077 topLayout->addWidget(timeBarFont->label(),i,0); 1086 topLayout->addWidget(timeBarFont->label(),i,0);
1078 topLayout->addWidget(timeBarFont->preview(),i,1); 1087 topLayout->addWidget(timeBarFont->preview(),i,1);
1079 topLayout->addWidget(timeBarFont->button(),i,2); 1088 topLayout->addWidget(timeBarFont->button(),i,2);
1080 ++i; 1089 ++i;
1081 1090
1082 1091
1083 KPrefsDialogWidFont *marcusBainsFont = 1092 KPrefsDialogWidFont *marcusBainsFont =
1084 addWidFont(KGlobal::locale()->formatTime(QTime(12,34,23)),i18n("M. Bains line:"), 1093 addWidFont(KGlobal::locale()->formatTime(QTime(12,34,23)),i18n("M. Bains line:"),
1085 &(KOPrefs::instance()->mMarcusBainsFont),topFrame); 1094 &(KOPrefs::instance()->mMarcusBainsFont),topFrame);
1086 topLayout->addWidget(marcusBainsFont->label(),i,0); 1095 topLayout->addWidget(marcusBainsFont->label(),i,0);
1087 topLayout->addWidget(marcusBainsFont->preview(),i,1); 1096 topLayout->addWidget(marcusBainsFont->preview(),i,1);
1088 topLayout->addWidget(marcusBainsFont->button(),i,2); 1097 topLayout->addWidget(marcusBainsFont->button(),i,2);
1089 ++i; 1098 ++i;
1090 1099
1091 tVFont = 1100 tVFont =
1092 addWidFont(i18n("Summary"),i18n("Event Viewer:"), 1101 addWidFont(i18n("Summary"),i18n("Event Viewer:"),
1093 &(KOPrefs::instance()->mEventViewFont),topFrame); 1102 &(KOPrefs::instance()->mEventViewFont),topFrame);
1094 topLayout->addWidget(tVFont->label(),i,0); 1103 topLayout->addWidget(tVFont->label(),i,0);
1095 topLayout->addWidget(tVFont->preview(),i,1); 1104 topLayout->addWidget(tVFont->preview(),i,1);
1096 topLayout->addWidget(tVFont->button(),i,2); 1105 topLayout->addWidget(tVFont->button(),i,2);
1097 ++i; 1106 ++i;
1098 1107
1099 1108
1100 1109
1101 tVFont = 1110 tVFont =
1102 addWidFont(i18n("Details"),i18n("EditorBox:"), 1111 addWidFont(i18n("Details"),i18n("EditorBox:"),
1103 &(KOPrefs::instance()->mEditBoxFont),topFrame); 1112 &(KOPrefs::instance()->mEditBoxFont),topFrame);
1104 topLayout->addWidget(tVFont->label(),i,0); 1113 topLayout->addWidget(tVFont->label(),i,0);
1105 topLayout->addWidget(tVFont->preview(),i,1); 1114 topLayout->addWidget(tVFont->preview(),i,1);
1106 topLayout->addWidget(tVFont->button(),i,2); 1115 topLayout->addWidget(tVFont->button(),i,2);
1107 ++i; 1116 ++i;
1108 1117
1109 1118
1110 1119
1111 topLayout->setColStretch(1,1); 1120 topLayout->setColStretch(1,1);
1112 topLayout->setRowStretch(4,1); 1121 topLayout->setRowStretch(4,1);
1113 1122
1114 1123
1115 i = 0; 1124 i = 0;
1116 topFrame = addPage(i18n("View Fonts"),0, 1125 topFrame = addPage(i18n("View Fonts"),0,
1117 DesktopIcon("fonts",KIcon::SizeMedium)); 1126 DesktopIcon("fonts",KIcon::SizeMedium));
1118 1127
1119 topLayout = new QGridLayout(topFrame,7,3); 1128 topLayout = new QGridLayout(topFrame,7,3);
1120 topLayout->setSpacing(1); 1129 topLayout->setSpacing(1);
1121 topLayout->setMargin(3); 1130 topLayout->setMargin(3);
1122 1131
1123 tVFont = 1132 tVFont =
1124 addWidFont(i18n("Configure KO"),i18n("What's Next View:"), 1133 addWidFont(i18n("Configure KO"),i18n("What's Next View:"),
1125 &(KOPrefs::instance()->mWhatsNextFont),topFrame); 1134 &(KOPrefs::instance()->mWhatsNextFont),topFrame);
1126 topLayout->addWidget(tVFont->label(),i,0); 1135 topLayout->addWidget(tVFont->label(),i,0);
1127 topLayout->addWidget(tVFont->preview(),i,1); 1136 topLayout->addWidget(tVFont->preview(),i,1);
1128 topLayout->addWidget(tVFont->button(),i,2); 1137 topLayout->addWidget(tVFont->button(),i,2);
1129 ++i; 1138 ++i;
1130 KPrefsDialogWidFont *agendaViewFont = 1139 KPrefsDialogWidFont *agendaViewFont =
1131 addWidFont(i18n("Event text"),i18n("Agenda view:"), 1140 addWidFont(i18n("Event text"),i18n("Agenda view:"),
1132 &(KOPrefs::instance()->mAgendaViewFont),topFrame); 1141 &(KOPrefs::instance()->mAgendaViewFont),topFrame);
1133 topLayout->addWidget(agendaViewFont->label(),i,0); 1142 topLayout->addWidget(agendaViewFont->label(),i,0);
1134 topLayout->addWidget(agendaViewFont->preview(),i,1); 1143 topLayout->addWidget(agendaViewFont->preview(),i,1);
1135 topLayout->addWidget(agendaViewFont->button(),i,2); 1144 topLayout->addWidget(agendaViewFont->button(),i,2);
1136 ++i; 1145 ++i;
1137 1146
1138 1147
1139 KPrefsDialogWidFont *monthViewFont = 1148 KPrefsDialogWidFont *monthViewFont =
1140 addWidFont(KGlobal::locale()->formatTime(QTime(12,34)) + " " + i18n("Event"), 1149 addWidFont(KGlobal::locale()->formatTime(QTime(12,34)) + " " + i18n("Event"),
1141 i18n("Month view:"),&(KOPrefs::instance()->mMonthViewFont),topFrame); 1150 i18n("Month view:"),&(KOPrefs::instance()->mMonthViewFont),topFrame);
1142 topLayout->addWidget(monthViewFont->label(),i,0); 1151 topLayout->addWidget(monthViewFont->label(),i,0);
1143 topLayout->addWidget(monthViewFont->preview(),i,1); 1152 topLayout->addWidget(monthViewFont->preview(),i,1);
1144 topLayout->addWidget(monthViewFont->button(),i,2); 1153 topLayout->addWidget(monthViewFont->button(),i,2);
1145 ++i; 1154 ++i;
1146 1155
1147 1156
1148 KPrefsDialogWidFont *lVFont = 1157 KPrefsDialogWidFont *lVFont =
1149 addWidFont(i18n("Event"),i18n("List View:"), 1158 addWidFont(i18n("Event"),i18n("List View:"),
1150 &(KOPrefs::instance()->mListViewFont),topFrame); 1159 &(KOPrefs::instance()->mListViewFont),topFrame);
1151 topLayout->addWidget(lVFont->label(),i,0); 1160 topLayout->addWidget(lVFont->label(),i,0);
1152 topLayout->addWidget(lVFont->preview(),i,1); 1161 topLayout->addWidget(lVFont->preview(),i,1);
1153 topLayout->addWidget(lVFont->button(),i,2); 1162 topLayout->addWidget(lVFont->button(),i,2);
1154 ++i; 1163 ++i;
1155 1164
1156 1165
1157 tVFont = 1166 tVFont =
1158 addWidFont(i18n("ToDo"),i18n("ToDoView:"), 1167 addWidFont(i18n("ToDo"),i18n("ToDoView:"),
1159 &(KOPrefs::instance()->mTodoViewFont),topFrame); 1168 &(KOPrefs::instance()->mTodoViewFont),topFrame);
1160 topLayout->addWidget(tVFont->label(),i,0); 1169 topLayout->addWidget(tVFont->label(),i,0);
1161 topLayout->addWidget(tVFont->preview(),i,1); 1170 topLayout->addWidget(tVFont->preview(),i,1);
1162 topLayout->addWidget(tVFont->button(),i,2); 1171 topLayout->addWidget(tVFont->button(),i,2);
1163 ++i; 1172 ++i;
1164 1173
1165 1174
1166 tVFont = 1175 tVFont =
1167 addWidFont(i18n("Today"),i18n("JournalView:"), 1176 addWidFont(i18n("Today"),i18n("JournalView:"),
1168 &(KOPrefs::instance()->mJornalViewFont),topFrame); 1177 &(KOPrefs::instance()->mJornalViewFont),topFrame);
1169 topLayout->addWidget(tVFont->label(),i,0); 1178 topLayout->addWidget(tVFont->label(),i,0);
1170 topLayout->addWidget(tVFont->preview(),i,1); 1179 topLayout->addWidget(tVFont->preview(),i,1);
1171 topLayout->addWidget(tVFont->button(),i,2); 1180 topLayout->addWidget(tVFont->button(),i,2);
1172 ++i; 1181 ++i;
1173 1182
1174 1183
1175 1184
1176 1185
1177 topLayout->setColStretch(1,1); 1186 topLayout->setColStretch(1,1);
1178 topLayout->setRowStretch(4,1); 1187 topLayout->setRowStretch(4,1);
1179 1188
1180 1189
1181 1190
1182 1191
1183} 1192}
1184 1193
1185void KOPrefsDialog::setupColorsTab() 1194void KOPrefsDialog::setupColorsTab()
1186{ 1195{
1187 QFrame *topFrame = addPage(i18n("Colors"),0,0); 1196 QFrame *topFrame = addPage(i18n("Colors"),0,0);
1188 // DesktopIcon("colorize",KIcon::SizeMedium)); 1197 // DesktopIcon("colorize",KIcon::SizeMedium));
1189 1198
1190 QGridLayout *topLayout = new QGridLayout(topFrame,5,2); 1199 QGridLayout *topLayout = new QGridLayout(topFrame,5,2);
1191 // topLayout->setSpacing(mSpacingHint); 1200 // topLayout->setSpacing(mSpacingHint);
1192 // topLayout->setMargin(mMarginHint); 1201 // topLayout->setMargin(mMarginHint);
1193 1202
1194 topLayout->setSpacing(2); 1203 topLayout->setSpacing(2);
1195 topLayout->setMargin(3); 1204 topLayout->setMargin(3);
1196 1205
1197 int ii = 1; 1206 int ii = 1;
1198 QGroupBox *categoryGroup ; 1207 QGroupBox *categoryGroup ;
1199 1208
1200 categoryGroup = new QGroupBox(1,Vertical,i18n("Categories"), 1209 categoryGroup = new QGroupBox(1,Vertical,i18n("Categories"),
1201 topFrame); 1210 topFrame);
1202 topLayout->addMultiCellWidget(categoryGroup,0,0,0,1); 1211 topLayout->addMultiCellWidget(categoryGroup,0,0,0,1);
1203 1212
1204 mCategoryCombo = new QComboBox(categoryGroup); 1213 mCategoryCombo = new QComboBox(categoryGroup);
1205 mCategoryCombo->insertStringList(KOPrefs::instance()->mCustomCategories); 1214 mCategoryCombo->insertStringList(KOPrefs::instance()->mCustomCategories);
1206 connect(mCategoryCombo,SIGNAL(activated(int)),SLOT(updateCategoryColor())); 1215 connect(mCategoryCombo,SIGNAL(activated(int)),SLOT(updateCategoryColor()));
1207 1216
1208 mCategoryButton = new KColorButton(categoryGroup); 1217 mCategoryButton = new KColorButton(categoryGroup);
1209 connect(mCategoryButton,SIGNAL(changed(const QColor &)),SLOT(setCategoryColor())); 1218 connect(mCategoryButton,SIGNAL(changed(const QColor &)),SLOT(setCategoryColor()));
1210 updateCategoryColor(); 1219 updateCategoryColor();
1211 1220
1212 1221
1213 // Holiday Color 1222 // Holiday Color
1214 1223
1215 KPrefsDialogWidColor *holidayColor = 1224 KPrefsDialogWidColor *holidayColor =
1216 addWidColor(i18n("Holiday color:"), 1225 addWidColor(i18n("Holiday color:"),
1217 &(KOPrefs::instance()->mHolidayColor),topFrame); 1226 &(KOPrefs::instance()->mHolidayColor),topFrame);
1218 topLayout->addWidget(holidayColor->label(),ii,0); 1227 topLayout->addWidget(holidayColor->label(),ii,0);
1219 topLayout->addWidget(holidayColor->button(),ii++,1); 1228 topLayout->addWidget(holidayColor->button(),ii++,1);
1220 1229
1221 // Highlight Color 1230 // Highlight Color
1222 KPrefsDialogWidColor *highlightColor = 1231 KPrefsDialogWidColor *highlightColor =
1223 addWidColor(i18n("Highlight color:"), 1232 addWidColor(i18n("Highlight color:"),
1224 &(KOPrefs::instance()->mHighlightColor),topFrame); 1233 &(KOPrefs::instance()->mHighlightColor),topFrame);
1225 topLayout->addWidget(highlightColor->label(),ii,0); 1234 topLayout->addWidget(highlightColor->label(),ii,0);
1226 topLayout->addWidget(highlightColor->button(),ii++,1); 1235 topLayout->addWidget(highlightColor->button(),ii++,1);
1227 1236
1228 // Event color 1237 // Event color
1229 KPrefsDialogWidColor *eventColor = 1238 KPrefsDialogWidColor *eventColor =
1230 addWidColor(i18n("Default event color:"), 1239 addWidColor(i18n("Default event color:"),
1231 &(KOPrefs::instance()->mEventColor),topFrame); 1240 &(KOPrefs::instance()->mEventColor),topFrame);
1232 topLayout->addWidget(eventColor->label(),ii,0); 1241 topLayout->addWidget(eventColor->label(),ii,0);
1233 topLayout->addWidget(eventColor->button(),ii++,1); 1242 topLayout->addWidget(eventColor->button(),ii++,1);
1234 eventColor = 1243 eventColor =
1235 addWidColor(i18n("Default todo done color:"), 1244 addWidColor(i18n("Default todo done color:"),
1236 &(KOPrefs::instance()->mTodoDoneColor),topFrame); 1245 &(KOPrefs::instance()->mTodoDoneColor),topFrame);
1237 topLayout->addWidget(eventColor->label(),ii,0); 1246 topLayout->addWidget(eventColor->label(),ii,0);
1238 topLayout->addWidget(eventColor->button(),ii++,1); 1247 topLayout->addWidget(eventColor->button(),ii++,1);
1239 1248
1240 if ( QApplication::desktop()->height() <= 240 ) { 1249 if ( QApplication::desktop()->height() <= 240 ) {
1241 topFrame = addPage(i18n("Colors") +" 2",0,0); 1250 topFrame = addPage(i18n("Colors") +" 2",0,0);
1242 // DesktopIcon("colorize",KIcon::SizeMedium)); 1251 // DesktopIcon("colorize",KIcon::SizeMedium));
1243 1252
1244 topLayout = new QGridLayout(topFrame,5,2); 1253 topLayout = new QGridLayout(topFrame,5,2);
1245 // topLayout->setSpacing(mSpacingHint); 1254 // topLayout->setSpacing(mSpacingHint);
1246 // topLayout->setMargin(mMarginHint); 1255 // topLayout->setMargin(mMarginHint);
1247 1256
1248 topLayout->setSpacing(2); 1257 topLayout->setSpacing(2);
1249 topLayout->setMargin(3); 1258 topLayout->setMargin(3);
1250 } 1259 }
1251 1260
1252 1261
1253 // agenda view background color 1262 // agenda view background color
1254 KPrefsDialogWidColor *agendaBgColor = 1263 KPrefsDialogWidColor *agendaBgColor =
1255 addWidColor(i18n("Agenda view background color:"), 1264 addWidColor(i18n("Agenda view background color:"),
1256 &(KOPrefs::instance()->mAgendaBgColor),topFrame); 1265 &(KOPrefs::instance()->mAgendaBgColor),topFrame);
1257 topLayout->addWidget(agendaBgColor->label(),ii,0); 1266 topLayout->addWidget(agendaBgColor->label(),ii,0);
1258 topLayout->addWidget(agendaBgColor->button(),ii++,1); 1267 topLayout->addWidget(agendaBgColor->button(),ii++,1);
1259 1268
1260 // working hours color 1269 // working hours color
1261 KPrefsDialogWidColor *workingHoursColor = 1270 KPrefsDialogWidColor *workingHoursColor =
1262 addWidColor(i18n("Working hours color:"), 1271 addWidColor(i18n("Working hours color:"),
1263 &(KOPrefs::instance()->mWorkingHoursColor),topFrame); 1272 &(KOPrefs::instance()->mWorkingHoursColor),topFrame);
1264 topLayout->addWidget(workingHoursColor->label(),ii,0); 1273 topLayout->addWidget(workingHoursColor->label(),ii,0);
1265 topLayout->addWidget(workingHoursColor->button(),ii++,1); 1274 topLayout->addWidget(workingHoursColor->button(),ii++,1);
1266 1275
1267 KPrefsDialogWidBool *sb = 1276 KPrefsDialogWidBool *sb =
1268 addWidBool(i18n("Use colors for application:"), 1277 addWidBool(i18n("Use colors for application:"),
1269 &(KOPrefs::instance()->mUseAppColors),topFrame); 1278 &(KOPrefs::instance()->mUseAppColors),topFrame);
1270 topLayout->addMultiCellWidget(sb->checkBox(), ii, ii, 0,1 ); 1279 topLayout->addMultiCellWidget(sb->checkBox(), ii, ii, 0,1 );
1271 1280
1272 ii++; 1281 ii++;
1273 KPrefsDialogWidColor * workingHoursColor1 = 1282 KPrefsDialogWidColor * workingHoursColor1 =
1274 addWidColor(i18n("Buttons, menus, etc.:"), 1283 addWidColor(i18n("Buttons, menus, etc.:"),
1275 &(KOPrefs::instance()->mAppColor1),topFrame); 1284 &(KOPrefs::instance()->mAppColor1),topFrame);
1276 topLayout->addWidget(workingHoursColor1->label(),ii,0); 1285 topLayout->addWidget(workingHoursColor1->label(),ii,0);
1277 topLayout->addWidget(workingHoursColor1->button(),ii++,1); 1286 topLayout->addWidget(workingHoursColor1->button(),ii++,1);
1278 1287
1279 KPrefsDialogWidColor * workingHoursColor2 = 1288 KPrefsDialogWidColor * workingHoursColor2 =
1280 addWidColor(i18n("Frames, labels, etc.:"), 1289 addWidColor(i18n("Frames, labels, etc.:"),
1281 &(KOPrefs::instance()->mAppColor2),topFrame); 1290 &(KOPrefs::instance()->mAppColor2),topFrame);
1282 topLayout->addWidget(workingHoursColor2->label(),ii,0); 1291 topLayout->addWidget(workingHoursColor2->label(),ii,0);
1283 topLayout->addWidget(workingHoursColor2->button(),ii++,1); 1292 topLayout->addWidget(workingHoursColor2->button(),ii++,1);
1284 1293
1285 1294
1286 1295
1287} 1296}
1288 1297
1289void KOPrefsDialog::setCategoryColor() 1298void KOPrefsDialog::setCategoryColor()
1290{ 1299{
1291 mCategoryDict.replace(mCategoryCombo->currentText(), new QColor(mCategoryButton->color())); 1300 mCategoryDict.replace(mCategoryCombo->currentText(), new QColor(mCategoryButton->color()));
1292} 1301}
1293 1302
1294void KOPrefsDialog::updateCategoryColor() 1303void KOPrefsDialog::updateCategoryColor()
1295{ 1304{
1296 QString cat = mCategoryCombo->currentText(); 1305 QString cat = mCategoryCombo->currentText();
1297 QColor *color = mCategoryDict.find(cat); 1306 QColor *color = mCategoryDict.find(cat);
1298 if (!color) { 1307 if (!color) {
1299 color = KOPrefs::instance()->categoryColor(cat); 1308 color = KOPrefs::instance()->categoryColor(cat);
1300 } 1309 }
1301 if (color) { 1310 if (color) {
1302 mCategoryButton->setColor(*color); 1311 mCategoryButton->setColor(*color);
1303 } 1312 }
1304} 1313}
1305 1314
1306void KOPrefsDialog::setupPrinterTab() 1315void KOPrefsDialog::setupPrinterTab()
1307{ 1316{
1308 mPrinterTab = addPage(i18n("Printing"),0, 1317 mPrinterTab = addPage(i18n("Printing"),0,
1309 DesktopIcon("fileprint",KIcon::SizeMedium)); 1318 DesktopIcon("fileprint",KIcon::SizeMedium));
1310 1319
1311 QGridLayout *topLayout = new QGridLayout(mPrinterTab,5,2); 1320 QGridLayout *topLayout = new QGridLayout(mPrinterTab,5,2);
1312 topLayout->setSpacing(mSpacingHint); 1321 topLayout->setSpacing(mSpacingHint);
1313 topLayout->setMargin(mMarginHint); 1322 topLayout->setMargin(mMarginHint);
1314 1323
1315 topLayout->setRowStretch(4,1); 1324 topLayout->setRowStretch(4,1);
1316} 1325}
1317 1326
1318void KOPrefsDialog::setupGroupSchedulingTab() 1327void KOPrefsDialog::setupGroupSchedulingTab()
1319{ 1328{
1320#if 0 1329#if 0
1321 QFrame *topFrame = addPage(i18n("Group Scheduling"),0, 1330 QFrame *topFrame = addPage(i18n("Group Scheduling"),0,
1322 DesktopIcon("personal",KIcon::SizeMedium)); 1331 DesktopIcon("personal",KIcon::SizeMedium));
1323 1332
1324 QGridLayout *topLayout = new QGridLayout(topFrame,6,2); 1333 QGridLayout *topLayout = new QGridLayout(topFrame,6,2);
1325 topLayout->setSpacing(mSpacingHint); 1334 topLayout->setSpacing(mSpacingHint);
1326 topLayout->setMargin(mMarginHint); 1335 topLayout->setMargin(mMarginHint);
1327 1336
1328#if 0 1337#if 0
1329 KPrefsDialogWidRadios *schedulerGroup = 1338 KPrefsDialogWidRadios *schedulerGroup =
1330 addWidRadios(i18n("Scheduler Mail Client"),&(KOPrefs::instance()->mIMIPScheduler), 1339 addWidRadios(i18n("Scheduler Mail Client"),&(KOPrefs::instance()->mIMIPScheduler),
1331 topFrame); 1340 topFrame);
1332 schedulerGroup->addRadio("Dummy"); // Only for debugging 1341 schedulerGroup->addRadio("Dummy"); // Only for debugging
1333 schedulerGroup->addRadio(i18n("Mail client")); 1342 schedulerGroup->addRadio(i18n("Mail client"));
1334 1343
1335 topLayout->addMultiCellWidget(schedulerGroup->groupBox(),0,0,0,1); 1344 topLayout->addMultiCellWidget(schedulerGroup->groupBox(),0,0,0,1);
1336#endif 1345#endif
1337 1346
1338 KPrefsDialogWidRadios *sendGroup = 1347 KPrefsDialogWidRadios *sendGroup =
1339 addWidRadios(i18n("Scheduler Mails Should Be"),&(KOPrefs::instance()->mIMIPSend), 1348 addWidRadios(i18n("Scheduler Mails Should Be"),&(KOPrefs::instance()->mIMIPSend),
1340 topFrame); 1349 topFrame);
1341 sendGroup->addRadio(i18n("Send to outbox")); 1350 sendGroup->addRadio(i18n("Send to outbox"));
1342 sendGroup->addRadio(i18n("Send directly")); 1351 sendGroup->addRadio(i18n("Send directly"));
1343 1352
1344 topLayout->addMultiCellWidget(sendGroup->groupBox(),1,1,0,1); 1353 topLayout->addMultiCellWidget(sendGroup->groupBox(),1,1,0,1);
1345 1354
1346 topLayout->addMultiCellWidget(new QLabel(i18n("Additional email addresses:"),topFrame),2,2,0,1); 1355 topLayout->addMultiCellWidget(new QLabel(i18n("Additional email addresses:"),topFrame),2,2,0,1);
1347 mAMails = new QListView(topFrame); 1356 mAMails = new QListView(topFrame);
1348 mAMails->addColumn(i18n("Email"),300); 1357 mAMails->addColumn(i18n("Email"),300);
1349 topLayout->addMultiCellWidget(mAMails,3,3,0,1); 1358 topLayout->addMultiCellWidget(mAMails,3,3,0,1);
1350 1359
1351 topLayout->addWidget(new QLabel(i18n("Additional email address:"),topFrame),4,0); 1360 topLayout->addWidget(new QLabel(i18n("Additional email address:"),topFrame),4,0);
1352 aEmailsEdit = new QLineEdit(topFrame); 1361 aEmailsEdit = new QLineEdit(topFrame);
1353 aEmailsEdit->setEnabled(false); 1362 aEmailsEdit->setEnabled(false);
1354 topLayout->addWidget(aEmailsEdit,4,1); 1363 topLayout->addWidget(aEmailsEdit,4,1);
1355 1364
1356 QPushButton *add = new QPushButton(i18n("New"),topFrame,"new"); 1365 QPushButton *add = new QPushButton(i18n("New"),topFrame,"new");
1357 topLayout->addWidget(add,5,0); 1366 topLayout->addWidget(add,5,0);
1358 QPushButton *del = new QPushButton(i18n("Remove"),topFrame,"remove"); 1367 QPushButton *del = new QPushButton(i18n("Remove"),topFrame,"remove");
1359 topLayout->addWidget(del,5,1); 1368 topLayout->addWidget(del,5,1);
1360 1369
1361 //topLayout->setRowStretch(2,1); 1370 //topLayout->setRowStretch(2,1);
1362 connect(add, SIGNAL( clicked() ), this, SLOT(addItem()) ); 1371 connect(add, SIGNAL( clicked() ), this, SLOT(addItem()) );
1363 connect(del, SIGNAL( clicked() ), this, SLOT(removeItem()) ); 1372 connect(del, SIGNAL( clicked() ), this, SLOT(removeItem()) );
1364 connect(aEmailsEdit,SIGNAL( textChanged(const QString&) ), this,SLOT(updateItem())); 1373 connect(aEmailsEdit,SIGNAL( textChanged(const QString&) ), this,SLOT(updateItem()));
1365 connect(mAMails,SIGNAL(selectionChanged(QListViewItem *)),SLOT(updateInput())); 1374 connect(mAMails,SIGNAL(selectionChanged(QListViewItem *)),SLOT(updateInput()));
1366#endif 1375#endif
1367} 1376}
1368 1377
1369void KOPrefsDialog::setupGroupAutomationTab() 1378void KOPrefsDialog::setupGroupAutomationTab()
1370{ 1379{
1371 return; 1380 return;
1372 QFrame *topFrame = addPage(i18n("Group Automation"),0, 1381 QFrame *topFrame = addPage(i18n("Group Automation"),0,
1373 DesktopIcon("personal",KIcon::SizeMedium)); 1382 DesktopIcon("personal",KIcon::SizeMedium));
1374 1383
1375 QGridLayout *topLayout = new QGridLayout(topFrame,5,1); 1384 QGridLayout *topLayout = new QGridLayout(topFrame,5,1);
1376 topLayout->setSpacing(mSpacingHint); 1385 topLayout->setSpacing(mSpacingHint);
1377 topLayout->setMargin(mMarginHint); 1386 topLayout->setMargin(mMarginHint);
1378 1387
1379 KPrefsDialogWidRadios *autoRefreshGroup = 1388 KPrefsDialogWidRadios *autoRefreshGroup =
1380 addWidRadios(i18n("Auto Send Refresh"), 1389 addWidRadios(i18n("Auto Send Refresh"),
1381 &(KOPrefs::instance()->mIMIPAutoRefresh),topFrame); 1390 &(KOPrefs::instance()->mIMIPAutoRefresh),topFrame);
1382 autoRefreshGroup->addRadio(i18n("Never")); 1391 autoRefreshGroup->addRadio(i18n("Never"));
1383 autoRefreshGroup->addRadio(i18n("If attendee is in addressbook")); 1392 autoRefreshGroup->addRadio(i18n("If attendee is in addressbook"));
1384 //autoRefreshGroup->addRadio(i18n("selected emails")); 1393 //autoRefreshGroup->addRadio(i18n("selected emails"));
1385 topLayout->addMultiCellWidget(autoRefreshGroup->groupBox(),0,0,0,0); 1394 topLayout->addMultiCellWidget(autoRefreshGroup->groupBox(),0,0,0,0);
1386 1395
1387 KPrefsDialogWidRadios *autoInsertGroup = 1396 KPrefsDialogWidRadios *autoInsertGroup =
1388 addWidRadios(i18n("Auto Insert IMIP Replies"), 1397 addWidRadios(i18n("Auto Insert IMIP Replies"),
1389 &(KOPrefs::instance()->mIMIPAutoInsertReply),topFrame); 1398 &(KOPrefs::instance()->mIMIPAutoInsertReply),topFrame);
1390 autoInsertGroup->addRadio(i18n("Never")); 1399 autoInsertGroup->addRadio(i18n("Never"));
1391 autoInsertGroup->addRadio(i18n("If attendee is in addressbook")); 1400 autoInsertGroup->addRadio(i18n("If attendee is in addressbook"));
1392 //autoInsertGroup->addRadio(i18n("selected emails")); 1401 //autoInsertGroup->addRadio(i18n("selected emails"));
1393 topLayout->addMultiCellWidget(autoInsertGroup->groupBox(),1,1,0,0); 1402 topLayout->addMultiCellWidget(autoInsertGroup->groupBox(),1,1,0,0);
1394 1403
1395 KPrefsDialogWidRadios *autoRequestGroup = 1404 KPrefsDialogWidRadios *autoRequestGroup =
1396 addWidRadios(i18n("Auto Insert IMIP Requests"), 1405 addWidRadios(i18n("Auto Insert IMIP Requests"),
1397 &(KOPrefs::instance()->mIMIPAutoInsertRequest),topFrame); 1406 &(KOPrefs::instance()->mIMIPAutoInsertRequest),topFrame);
1398 autoRequestGroup->addRadio(i18n("Never")); 1407 autoRequestGroup->addRadio(i18n("Never"));
1399 autoRequestGroup->addRadio(i18n("If organizer is in addressbook")); 1408 autoRequestGroup->addRadio(i18n("If organizer is in addressbook"));
1400 //autoInsertGroup->addRadio(i18n("selected emails")); 1409 //autoInsertGroup->addRadio(i18n("selected emails"));
1401 topLayout->addMultiCellWidget(autoRequestGroup->groupBox(),2,2,0,0); 1410 topLayout->addMultiCellWidget(autoRequestGroup->groupBox(),2,2,0,0);
1402 1411
1403 KPrefsDialogWidRadios *autoFreeBusyGroup = 1412 KPrefsDialogWidRadios *autoFreeBusyGroup =
1404 addWidRadios(i18n("Auto Send FreeBusy Information"), 1413 addWidRadios(i18n("Auto Send FreeBusy Information"),
1405 &(KOPrefs::instance()->mIMIPAutoFreeBusy),topFrame); 1414 &(KOPrefs::instance()->mIMIPAutoFreeBusy),topFrame);
1406 autoFreeBusyGroup->addRadio(i18n("Never")); 1415 autoFreeBusyGroup->addRadio(i18n("Never"));
1407 autoFreeBusyGroup->addRadio(i18n("If requested from an email in addressbook")); 1416 autoFreeBusyGroup->addRadio(i18n("If requested from an email in addressbook"));
1408 //autoFreeBusyGroup->addRadio(i18n("selected emails")); 1417 //autoFreeBusyGroup->addRadio(i18n("selected emails"));
1409 topLayout->addMultiCellWidget(autoFreeBusyGroup->groupBox(),3,3,0,0); 1418 topLayout->addMultiCellWidget(autoFreeBusyGroup->groupBox(),3,3,0,0);
1410 1419
1411 KPrefsDialogWidRadios *autoFreeBusyReplyGroup = 1420 KPrefsDialogWidRadios *autoFreeBusyReplyGroup =
1412 addWidRadios(i18n("Auto Save FreeBusy Replies"), 1421 addWidRadios(i18n("Auto Save FreeBusy Replies"),
1413 &(KOPrefs::instance()->mIMIPAutoFreeBusyReply),topFrame); 1422 &(KOPrefs::instance()->mIMIPAutoFreeBusyReply),topFrame);
1414 autoFreeBusyReplyGroup->addRadio(i18n("Never")); 1423 autoFreeBusyReplyGroup->addRadio(i18n("Never"));
1415 autoFreeBusyReplyGroup->addRadio(i18n("If attendee is in addressbook")); 1424 autoFreeBusyReplyGroup->addRadio(i18n("If attendee is in addressbook"));
1416 //autoFreeBusyGroup->addRadio(i18n("selected emails")); 1425 //autoFreeBusyGroup->addRadio(i18n("selected emails"));
1417 topLayout->addMultiCellWidget(autoFreeBusyReplyGroup->groupBox(),4,4,0,0); 1426 topLayout->addMultiCellWidget(autoFreeBusyReplyGroup->groupBox(),4,4,0,0);
1418} 1427}
1419 1428
1420void KOPrefsDialog::showPrinterTab() 1429void KOPrefsDialog::showPrinterTab()
1421{ 1430{
1422 showPage(pageIndex(mPrinterTab)); 1431 showPage(pageIndex(mPrinterTab));
1423} 1432}
1424 1433
1425 1434
1426void KOPrefsDialog::setCombo(QComboBox *combo, const QString & text, 1435void KOPrefsDialog::setCombo(QComboBox *combo, const QString & text,
1427 const QStringList *tags) 1436 const QStringList *tags)
1428{ 1437{
1429 if (tags) { 1438 if (tags) {
1430 int i = tags->findIndex(text); 1439 int i = tags->findIndex(text);
1431 if (i > 0) combo->setCurrentItem(i); 1440 if (i > 0) combo->setCurrentItem(i);
1432 } else { 1441 } else {
1433 for(int i=0;i<combo->count();++i) { 1442 for(int i=0;i<combo->count();++i) {
1434 if (combo->text(i) == text) { 1443 if (combo->text(i) == text) {
1435 combo->setCurrentItem(i); 1444 combo->setCurrentItem(i);
1436 break; 1445 break;
1437 } 1446 }
1438 } 1447 }
1439 } 1448 }
1440} 1449}
1441 1450
1442void KOPrefsDialog::usrReadConfig() 1451void KOPrefsDialog::usrReadConfig()
1443{ 1452{
1444 1453
1445 mNameEdit->setText(KOPrefs::instance()->fullName()); 1454 mNameEdit->setText(KOPrefs::instance()->fullName());
1446 mEmailEdit->setText(KOPrefs::instance()->email()); 1455 mEmailEdit->setText(KOPrefs::instance()->email());
1447 1456
1448 mAutoSaveIntervalSpin->setValue(KOPrefs::instance()->mAutoSaveInterval); 1457 mAutoSaveIntervalSpin->setValue(KOPrefs::instance()->mAutoSaveInterval);
1449 1458
1450 mStartTimeSpin->setValue(KOPrefs::instance()->mStartTime); 1459 mStartTimeSpin->setValue(KOPrefs::instance()->mStartTime);
1451 mDefaultDurationSpin->setValue(KOPrefs::instance()->mDefaultDuration); 1460 mDefaultDurationSpin->setValue(KOPrefs::instance()->mDefaultDuration);
1452 mAlarmTimeCombo->setCurrentItem(KOPrefs::instance()->mAlarmTime); 1461 mAlarmTimeCombo->setCurrentItem(KOPrefs::instance()->mAlarmTime);
1453 1462
1454 mNextXDaysSpin->setValue(KOPrefs::instance()->mNextXDays); 1463 mNextXDaysSpin->setValue(KOPrefs::instance()->mNextXDays);
1455 mWhatsNextSpin->setValue(KOPrefs::instance()->mWhatsNextDays); 1464 mWhatsNextSpin->setValue(KOPrefs::instance()->mWhatsNextDays);
1456 mPrioSpin->setValue(KOPrefs::instance()->mWhatsNextPrios); 1465 mPrioSpin->setValue(KOPrefs::instance()->mWhatsNextPrios);
1457 // mAMails->clear(); 1466 // mAMails->clear();
1458 // for ( QStringList::Iterator it = KOPrefs::instance()->mAdditionalMails.begin(); 1467 // for ( QStringList::Iterator it = KOPrefs::instance()->mAdditionalMails.begin();
1459// it != KOPrefs::instance()->mAdditionalMails.end(); ++it ) { 1468// it != KOPrefs::instance()->mAdditionalMails.end(); ++it ) {
1460// QListViewItem *item = new QListViewItem(mAMails); 1469// QListViewItem *item = new QListViewItem(mAMails);
1461// item->setText(0,*it); 1470// item->setText(0,*it);
1462// mAMails->insertItem(item); 1471// mAMails->insertItem(item);
1463// } 1472// }
1464 1473
1465 //that soundmLocalTempFile->setText(KOPrefs::instance()->mLocalTempFile); 1474 //that soundmLocalTempFile->setText(KOPrefs::instance()->mLocalTempFile);
1466 mDefaultAlarmFile->setText(KOPrefs::instance()->mDefaultAlarmFile); 1475 mDefaultAlarmFile->setText(KOPrefs::instance()->mDefaultAlarmFile);
1467 updateCategories(); 1476 updateCategories();
1468 mAlarmPlayBeeps->setValue(KOPrefs::instance()->mAlarmPlayBeeps ); 1477 mAlarmPlayBeeps->setValue(KOPrefs::instance()->mAlarmPlayBeeps );
1469 mAlarmSuspendTime->setValue(KOPrefs::instance()->mAlarmSuspendTime ); 1478 mAlarmSuspendTime->setValue(KOPrefs::instance()->mAlarmSuspendTime );
1470 mAlarmSuspendCount->setValue(KOPrefs::instance()->mAlarmSuspendCount ); 1479 mAlarmSuspendCount->setValue(KOPrefs::instance()->mAlarmSuspendCount );
1471 mAlarmBeepInterval->setValue(KOPrefs::instance()->mAlarmBeepInterval ); 1480 mAlarmBeepInterval->setValue(KOPrefs::instance()->mAlarmBeepInterval );
1472 mCatDefaultColor = KOPrefs::instance()->mEventColor; 1481 mCatDefaultColor = KOPrefs::instance()->mEventColor;
1473 1482
1474 1483
1475 KConfig cfgko(locateLocal("config","korganizerrc")); 1484 KConfig cfgko(locateLocal("config","korganizerrc"));
1476 cfgko.setGroup("General"); 1485 cfgko.setGroup("General");
1477 QStringList temp = cfgko.readListEntry("CalendarFilters"); 1486 QStringList temp = cfgko.readListEntry("CalendarFilters");
1478 temp.prepend(i18n("No Filter") ); 1487 temp.prepend(i18n("No Filter") );
1479 mFilterEditItem->insertStringList( temp ); 1488 mFilterEditItem->insertStringList( temp );
1480 mFilterAllItem->insertStringList( temp ); 1489 mFilterAllItem->insertStringList( temp );
1481 int index = temp.findIndex( KOPrefs::instance()->mFilterConflictEditItem ); 1490 int index = temp.findIndex( KOPrefs::instance()->mFilterConflictEditItem );
1482 if ( index >= 0 ) 1491 if ( index >= 0 )
1483 mFilterEditItem->setCurrentItem( index ); 1492 mFilterEditItem->setCurrentItem( index );
1484 index = temp.findIndex( KOPrefs::instance()->mFilterConflictAllItem ); 1493 index = temp.findIndex( KOPrefs::instance()->mFilterConflictAllItem );
1485 if ( index >= 0 ) 1494 if ( index >= 0 )
1486 mFilterAllItem->setCurrentItem( index ); 1495 mFilterAllItem->setCurrentItem( index );
1487} 1496}
1488 1497
1489 1498
1490void KOPrefsDialog::usrWriteConfig() 1499void KOPrefsDialog::usrWriteConfig()
1491{ 1500{
1492 KOPrefs::instance()->mDefaultAlarmFile =mDefaultAlarmFile->text(); 1501 KOPrefs::instance()->mDefaultAlarmFile =mDefaultAlarmFile->text();
1493 KOPrefs::instance()->setFullName(mNameEdit->text()); 1502 KOPrefs::instance()->setFullName(mNameEdit->text());
1494 KOPrefs::instance()->setEmail(mEmailEdit->text()); 1503 KOPrefs::instance()->setEmail(mEmailEdit->text());
1495 1504
1496 KOPrefs::instance()->mAutoSaveInterval = mAutoSaveIntervalSpin->value(); 1505 KOPrefs::instance()->mAutoSaveInterval = mAutoSaveIntervalSpin->value();
1497 KOPrefs::instance()->mStartTime = mStartTimeSpin->value(); 1506 KOPrefs::instance()->mStartTime = mStartTimeSpin->value();
1498 KOPrefs::instance()->mDefaultDuration = mDefaultDurationSpin->value(); 1507 KOPrefs::instance()->mDefaultDuration = mDefaultDurationSpin->value();
1499 KOPrefs::instance()->mAlarmTime = mAlarmTimeCombo->currentItem(); 1508 KOPrefs::instance()->mAlarmTime = mAlarmTimeCombo->currentItem();
1500 if ( mCatDefaultColor != KOPrefs::instance()->mEventColor ) { 1509 if ( mCatDefaultColor != KOPrefs::instance()->mEventColor ) {
1501 QStringList cat = KOPrefs::instance()->mCustomCategories; 1510 QStringList cat = KOPrefs::instance()->mCustomCategories;
1502 int iii = 0; 1511 int iii = 0;
1503 while ( iii < cat.count() ) { 1512 while ( iii < cat.count() ) {
1504 if ( *KOPrefs::instance()->categoryColor( cat[ iii ] ) == mCatDefaultColor ) 1513 if ( *KOPrefs::instance()->categoryColor( cat[ iii ] ) == mCatDefaultColor )
1505 KOPrefs::instance()->setCategoryColor( cat[ iii ], KOPrefs::instance()->mEventColor ); 1514 KOPrefs::instance()->setCategoryColor( cat[ iii ], KOPrefs::instance()->mEventColor );
1506 ++iii; 1515 ++iii;
1507 } 1516 }
1508 } 1517 }
1509 QDictIterator<QColor> it(mCategoryDict); 1518 QDictIterator<QColor> it(mCategoryDict);
1510 while (it.current()) { 1519 while (it.current()) {
1511 KOPrefs::instance()->setCategoryColor(it.currentKey(),*it.current()); 1520 KOPrefs::instance()->setCategoryColor(it.currentKey(),*it.current());
1512 ++it; 1521 ++it;
1513 } 1522 }
1514 1523
1515 KOPrefs::instance()->mNextXDays = mNextXDaysSpin->value(); 1524 KOPrefs::instance()->mNextXDays = mNextXDaysSpin->value();
1516 KOPrefs::instance()->mWhatsNextDays = mWhatsNextSpin->value(); 1525 KOPrefs::instance()->mWhatsNextDays = mWhatsNextSpin->value();
1517 KOPrefs::instance()->mWhatsNextPrios = mPrioSpin->value(); 1526 KOPrefs::instance()->mWhatsNextPrios = mPrioSpin->value();
1518 1527
1519 KOPrefs::instance()->mAdditionalMails.clear(); 1528 KOPrefs::instance()->mAdditionalMails.clear();
1520 // QListViewItem *item; 1529 // QListViewItem *item;
1521 // item = mAMails->firstChild(); 1530 // item = mAMails->firstChild();
1522 // while (item) 1531 // while (item)
1523 // { 1532 // {
1524 // KOPrefs::instance()->mAdditionalMails.append( item->text(0) ); 1533 // KOPrefs::instance()->mAdditionalMails.append( item->text(0) );
1525 // item = item->nextSibling(); 1534 // item = item->nextSibling();
1526 // } 1535 // }
1527 KOPrefs::instance()->mAlarmPlayBeeps = mAlarmPlayBeeps->value(); 1536 KOPrefs::instance()->mAlarmPlayBeeps = mAlarmPlayBeeps->value();
1528 KOPrefs::instance()->mAlarmSuspendTime = mAlarmSuspendTime->value() ; 1537 KOPrefs::instance()->mAlarmSuspendTime = mAlarmSuspendTime->value() ;
1529 KOPrefs::instance()->mAlarmSuspendCount= mAlarmSuspendCount->value() ; 1538 KOPrefs::instance()->mAlarmSuspendCount= mAlarmSuspendCount->value() ;
1530 KOPrefs::instance()->mAlarmBeepInterval= mAlarmBeepInterval->value() ; 1539 KOPrefs::instance()->mAlarmBeepInterval= mAlarmBeepInterval->value() ;
1531 1540
1532 KOPrefs::instance()->mFilterConflictEditItem = mFilterEditItem->currentText(); 1541 KOPrefs::instance()->mFilterConflictEditItem = mFilterEditItem->currentText();
1533 KOPrefs::instance()->mFilterConflictAllItem = mFilterAllItem->currentText(); 1542 KOPrefs::instance()->mFilterConflictAllItem = mFilterAllItem->currentText();
1534} 1543}
1535 1544
1536void KOPrefsDialog::updateCategories() 1545void KOPrefsDialog::updateCategories()
1537{ 1546{
1538 mCategoryCombo->clear(); 1547 mCategoryCombo->clear();
1539 mCategoryDict.clear(); 1548 mCategoryDict.clear();
1540 mCategoryCombo->insertStringList(KOPrefs::instance()->mCustomCategories); 1549 mCategoryCombo->insertStringList(KOPrefs::instance()->mCustomCategories);
1541 updateCategoryColor(); 1550 updateCategoryColor();
1542} 1551}
1543 1552
1544void KOPrefsDialog::toggleEmailSettings(bool on) 1553void KOPrefsDialog::toggleEmailSettings(bool on)
1545{ 1554{
1546 if (on) { 1555 if (on) {
1547 mEmailEdit->setEnabled(false); 1556 mEmailEdit->setEnabled(false);
1548 mNameEdit->setEnabled(false); 1557 mNameEdit->setEnabled(false);
1549 mEmailLabel->setEnabled(false); 1558 mEmailLabel->setEnabled(false);
1550 mNameLabel->setEnabled(false); 1559 mNameLabel->setEnabled(false);
1551 1560
1552 KEMailSettings settings; 1561 KEMailSettings settings;
1553 mNameEdit->setText(settings.getSetting(KEMailSettings::RealName)); 1562 mNameEdit->setText(settings.getSetting(KEMailSettings::RealName));
1554 mEmailEdit->setText(settings.getSetting(KEMailSettings::EmailAddress)); 1563 mEmailEdit->setText(settings.getSetting(KEMailSettings::EmailAddress));
1555 } else { 1564 } else {
1556 mEmailEdit->setEnabled(true); 1565 mEmailEdit->setEnabled(true);
1557 mNameEdit->setEnabled(true); 1566 mNameEdit->setEnabled(true);
1558 mEmailLabel->setEnabled(true); 1567 mEmailLabel->setEnabled(true);
1559 mNameLabel->setEnabled(true); 1568 mNameLabel->setEnabled(true);
1560 } 1569 }
1561} 1570}
1562 1571
1563void KOPrefsDialog::addItem() 1572void KOPrefsDialog::addItem()
1564{ 1573{
1565 // aEmailsEdit->setEnabled(true); 1574 // aEmailsEdit->setEnabled(true);
1566// QListViewItem *item = new QListViewItem(mAMails); 1575// QListViewItem *item = new QListViewItem(mAMails);
1567// mAMails->insertItem(item); 1576// mAMails->insertItem(item);
1568// mAMails->setSelected(item,true); 1577// mAMails->setSelected(item,true);
1569// aEmailsEdit->setText(i18n("(EmptyEmail)")); 1578// aEmailsEdit->setText(i18n("(EmptyEmail)"));
1570} 1579}
1571 1580
1572void KOPrefsDialog::removeItem() 1581void KOPrefsDialog::removeItem()
1573{ 1582{
1574// QListViewItem *item; 1583// QListViewItem *item;
1575// item = mAMails->selectedItem(); 1584// item = mAMails->selectedItem();
1576// if (!item) return; 1585// if (!item) return;
1577// mAMails->takeItem(item); 1586// mAMails->takeItem(item);
1578// item = mAMails->selectedItem(); 1587// item = mAMails->selectedItem();
1579// if (!item) { 1588// if (!item) {
1580// aEmailsEdit->setText(""); 1589// aEmailsEdit->setText("");
1581// aEmailsEdit->setEnabled(false); 1590// aEmailsEdit->setEnabled(false);
1582// } 1591// }
1583// if (mAMails->childCount() == 0) { 1592// if (mAMails->childCount() == 0) {
1584// aEmailsEdit->setEnabled(false); 1593// aEmailsEdit->setEnabled(false);
1585// } 1594// }
1586} 1595}
1587 1596
1588void KOPrefsDialog::updateItem() 1597void KOPrefsDialog::updateItem()
1589{ 1598{
1590 // QListViewItem *item; 1599 // QListViewItem *item;
1591// item = mAMails->selectedItem(); 1600// item = mAMails->selectedItem();
1592// if (!item) return; 1601// if (!item) return;
1593// item->setText(0,aEmailsEdit->text()); 1602// item->setText(0,aEmailsEdit->text());
1594} 1603}
1595 1604
1596void KOPrefsDialog::updateInput() 1605void KOPrefsDialog::updateInput()
1597{ 1606{
1598// QListViewItem *item; 1607// QListViewItem *item;
1599// item = mAMails->selectedItem(); 1608// item = mAMails->selectedItem();
1600// if (!item) return; 1609// if (!item) return;
1601// aEmailsEdit->setEnabled(true); 1610// aEmailsEdit->setEnabled(true);
1602// aEmailsEdit->setText(item->text(0)); 1611// aEmailsEdit->setText(item->text(0));
1603} 1612}
1604 1613