summaryrefslogtreecommitdiffabout
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--bin/kdepim/korganizer/germantranslation.txt9
-rw-r--r--korganizer/koagendaview.cpp5
-rw-r--r--korganizer/mainwindow.cpp12
-rw-r--r--korganizer/mainwindow.h3
4 files changed, 25 insertions, 4 deletions
diff --git a/bin/kdepim/korganizer/germantranslation.txt b/bin/kdepim/korganizer/germantranslation.txt
index bc5cbb7..a5e2597 100644
--- a/bin/kdepim/korganizer/germantranslation.txt
+++ b/bin/kdepim/korganizer/germantranslation.txt
@@ -1109,388 +1109,397 @@
1109{ "View Type","Zeige Typ" }, 1109{ "View Type","Zeige Typ" },
1110{ "Page &orientation:","Seiten Ausrichtung:" }, 1110{ "Page &orientation:","Seiten Ausrichtung:" },
1111{ "Use Default of Selected Style","Default des selektierten Stils" }, 1111{ "Use Default of Selected Style","Default des selektierten Stils" },
1112{ "Use Default Setting of Printer","Default Einstellung des Druckers" }, 1112{ "Use Default Setting of Printer","Default Einstellung des Druckers" },
1113{ "Portrait","Portrait" }, 1113{ "Portrait","Portrait" },
1114{ "Landscape","Landschaft" }, 1114{ "Landscape","Landschaft" },
1115{ "Print day","Drucke Tag" }, 1115{ "Print day","Drucke Tag" },
1116{ "CalPrintDay_Base","CalPrintDay_Base" }, 1116{ "CalPrintDay_Base","CalPrintDay_Base" },
1117{ "Date && Time Range","Datum && Zeitspanne" }, 1117{ "Date && Time Range","Datum && Zeitspanne" },
1118{ "&End date:","&Enddatum:" }, 1118{ "&End date:","&Enddatum:" },
1119{ "&Start date:","&Startdatum:" }, 1119{ "&Start date:","&Startdatum:" },
1120{ "Start &time:","Startzeit:" }, 1120{ "Start &time:","Startzeit:" },
1121{ "End ti&me:","Endzeit:" }, 1121{ "End ti&me:","Endzeit:" },
1122{ "E&xtend time range to include all events","Erweitere Zeitspanne um alle Termine einzuschliessen" }, 1122{ "E&xtend time range to include all events","Erweitere Zeitspanne um alle Termine einzuschliessen" },
1123{ "Include to&dos that are due on the printed day(s)","Inclusive To&dos, die an den selektierten Tagen fällig sind" }, 1123{ "Include to&dos that are due on the printed day(s)","Inclusive To&dos, die an den selektierten Tagen fällig sind" },
1124{ "Alt+D","Alt+D" }, 1124{ "Alt+D","Alt+D" },
1125{ "&Use colors","Nutze Farben" }, 1125{ "&Use colors","Nutze Farben" },
1126{ "Alt+U","Alt+U" }, 1126{ "Alt+U","Alt+U" },
1127{ "Print week","Drucke Woche" }, 1127{ "Print week","Drucke Woche" },
1128{ "CalPrintWeek_Base","CalPrintWeek_Base" }, 1128{ "CalPrintWeek_Base","CalPrintWeek_Base" },
1129{ "Use &colors","Nutze Farben" }, 1129{ "Use &colors","Nutze Farben" },
1130{ "Type of View","Typ der Ansicht" }, 1130{ "Type of View","Typ der Ansicht" },
1131{ "Print as &Filofax page","Drucke als &Filofax Seite" }, 1131{ "Print as &Filofax page","Drucke als &Filofax Seite" },
1132{ "Alt+F","Alt+F" }, 1132{ "Alt+F","Alt+F" },
1133{ "Print as &timetable view:","Drucke als Zeittabelle:" }, 1133{ "Print as &timetable view:","Drucke als Zeittabelle:" },
1134{ "Alt+T","Alt+T" }, 1134{ "Alt+T","Alt+T" },
1135{ "Print as split week view","Drucke als gesplittete Wochenansicht" }, 1135{ "Print as split week view","Drucke als gesplittete Wochenansicht" },
1136{ "Print month","Drucke Monat" }, 1136{ "Print month","Drucke Monat" },
1137{ "CalPrintMonth_Base","CalPrintMonth_Base" }, 1137{ "CalPrintMonth_Base","CalPrintMonth_Base" },
1138{ "&Start month:","&Startmonat:" }, 1138{ "&Start month:","&Startmonat:" },
1139{ "&End month:","&Endmonat:" }, 1139{ "&End month:","&Endmonat:" },
1140{ "Print week &numbers","Drucke Wochen Nummer(n)" }, 1140{ "Print week &numbers","Drucke Wochen Nummer(n)" },
1141{ "Print todos","Drucke Todos" }, 1141{ "Print todos","Drucke Todos" },
1142{ "CalPrintTodoConfig_Base","CalPrintTodoConfig_Base" }, 1142{ "CalPrintTodoConfig_Base","CalPrintTodoConfig_Base" },
1143{ "Include &description of the item","Inclusive Itembeschreibung" }, 1143{ "Include &description of the item","Inclusive Itembeschreibung" },
1144{ "Include d&ue date of the item","Inclusive Fälligkeitsdatum des Items" }, 1144{ "Include d&ue date of the item","Inclusive Fälligkeitsdatum des Items" },
1145{ "Include &priority of the item","Inclusive Priorität des Items" }, 1145{ "Include &priority of the item","Inclusive Priorität des Items" },
1146{ "Items to Print","Zu druckende Items" }, 1146{ "Items to Print","Zu druckende Items" },
1147{ "&From:","Von:" }, 1147{ "&From:","Von:" },
1148{ "&To:","Bis:" }, 1148{ "&To:","Bis:" },
1149{ "Print &all todo items","Drucke alle Todo Items" }, 1149{ "Print &all todo items","Drucke alle Todo Items" },
1150{ "Print only &uncompleted items","Drucke nur nicht erledigte Todos" }, 1150{ "Print only &uncompleted items","Drucke nur nicht erledigte Todos" },
1151{ "Only items due in the &range:","Nur Items in dem Zeitraum:" }, 1151{ "Only items due in the &range:","Nur Items in dem Zeitraum:" },
1152{ "Todo List","Todo Liste" }, 1152{ "Todo List","Todo Liste" },
1153{ "&Title:","&Titel:" }, 1153{ "&Title:","&Titel:" },
1154{ "Co&nnect subtodos with its parent","Verbinde Untertodos mit ihren Ober-Todos" }, 1154{ "Co&nnect subtodos with its parent","Verbinde Untertodos mit ihren Ober-Todos" },
1155{ "Todo list","Todo Liste" }, 1155{ "Todo list","Todo Liste" },
1156{ "&Print...","Drucke..." }, 1156{ "&Print...","Drucke..." },
1157{ "<qt>Printing on printer <b>%1</b></qt>","<qt>Drucke auf Drucker <b>%1</b></qt>" }, 1157{ "<qt>Printing on printer <b>%1</b></qt>","<qt>Drucke auf Drucker <b>%1</b></qt>" },
1158{ "[Unconfigured]","[Unkonfiguriert]" }, 1158{ "[Unconfigured]","[Unkonfiguriert]" },
1159{ "OK","OK" }, 1159{ "OK","OK" },
1160{ "FilterEditor","FilterEditor" }, 1160{ "FilterEditor","FilterEditor" },
1161{ "Include","Inclusive" }, 1161{ "Include","Inclusive" },
1162{ "Exclude","Exclusive" }, 1162{ "Exclude","Exclusive" },
1163{ "Edit Selection...","Editiere Auswahl" }, 1163{ "Edit Selection...","Editiere Auswahl" },
1164{ "recurring events","wiederholende Termine" }, 1164{ "recurring events","wiederholende Termine" },
1165{ "recurr. events","wiederh.Termine" }, 1165{ "recurr. events","wiederh.Termine" },
1166{ "completed to-dos","erledigte Todos" }, 1166{ "completed to-dos","erledigte Todos" },
1167{ "events","Termine" }, 1167{ "events","Termine" },
1168{ "todos","Todos" }, 1168{ "todos","Todos" },
1169{ "journals","Journale" }, 1169{ "journals","Journale" },
1170{ "public","öffentl." }, 1170{ "public","öffentl." },
1171{ "private","privat" }, 1171{ "private","privat" },
1172{ "confidential","vertraul." }, 1172{ "confidential","vertraul." },
1173{ "\nhas sub-todos.\nAll completed sub-todos\nwill be deleted as well!","\nhat Untertodos.\nAlle erledigten Untertodos\nwerden auch gelöscht!" }, 1173{ "\nhas sub-todos.\nAll completed sub-todos\nwill be deleted as well!","\nhat Untertodos.\nAlle erledigten Untertodos\nwerden auch gelöscht!" },
1174{ "Yesterday","Gestern" }, 1174{ "Yesterday","Gestern" },
1175{ "Day after tomorrow","Übermorgen" }, 1175{ "Day after tomorrow","Übermorgen" },
1176{ "Tomorrow","Morgen" }, 1176{ "Tomorrow","Morgen" },
1177{ "Day before yesterday","Vorgestern" }, 1177{ "Day before yesterday","Vorgestern" },
1178{ "Size %1","Größe %1" }, 1178{ "Size %1","Größe %1" },
1179{ "New Agendasize: %1","Neue Agendagröße: %1" }, 1179{ "New Agendasize: %1","Neue Agendagröße: %1" },
1180{ " (%1 y.)"," (%1 J.)" }, 1180{ " (%1 y.)"," (%1 J.)" },
1181{ "Allday:","Ganztägig:" }, 1181{ "Allday:","Ganztägig:" },
1182{ "compl.todos","erled.Todos" }, 1182{ "compl.todos","erled.Todos" },
1183{ "Day view","Tagesansicht" }, 1183{ "Day view","Tagesansicht" },
1184{ "Next days","Nächste Tage" }, 1184{ "Next days","Nächste Tage" },
1185{ "Next week","Nächste Woche" }, 1185{ "Next week","Nächste Woche" },
1186{ "Next two weeks","Nächste zwei Wochen" }, 1186{ "Next two weeks","Nächste zwei Wochen" },
1187{ "This month","Dieser Monat" }, 1187{ "This month","Dieser Monat" },
1188{ "Journal view","Journal" }, 1188{ "Journal view","Journal" },
1189{ "Display all opened","Zeige alle geöffnet" }, 1189{ "Display all opened","Zeige alle geöffnet" },
1190{ "Display all closed","Zeige alle geschlossen" }, 1190{ "Display all closed","Zeige alle geschlossen" },
1191{ "Display all flat","Zeige alle flach" }, 1191{ "Display all flat","Zeige alle flach" },
1192{ "<p><i>Completed on %1</i></p>","<p><i>Erledigt am %1</i></p>" }, 1192{ "<p><i>Completed on %1</i></p>","<p><i>Erledigt am %1</i></p>" },
1193{ "Default todo done color:","Standard Todo erledigt Farbe" }, 1193{ "Default todo done color:","Standard Todo erledigt Farbe" },
1194{ "Select week %1-%2","Wähle Woche %1-%2" }, 1194{ "Select week %1-%2","Wähle Woche %1-%2" },
1195{ "Select Week","Wähle Woche" }, 1195{ "Select Week","Wähle Woche" },
1196{ "Set alarm...","Setze Alarm..." }, 1196{ "Set alarm...","Setze Alarm..." },
1197{ "Set Alarm!","Setze Alarm!" }, 1197{ "Set Alarm!","Setze Alarm!" },
1198{ "Changed alarm for %1 items","Alarm für %1 Items geändert" }, 1198{ "Changed alarm for %1 items","Alarm für %1 Items geändert" },
1199{ " and "," und " }, 1199{ " and "," und " },
1200{ "<IMG src="%1"> only )","nur <IMG src="%1"> )" }, 1200{ "<IMG src="%1"> only )","nur <IMG src="%1"> )" },
1201{ "Mail to selected","Mail an Ausgewählte" }, 1201{ "Mail to selected","Mail an Ausgewählte" },
1202{ "Mail to all","Mail an Alle" }, 1202{ "Mail to all","Mail an Alle" },
1203{ "Week view mode uses bigger font","Wochenansicht Modus nutzt größeren Font" }, 1203{ "Week view mode uses bigger font","Wochenansicht Modus nutzt größeren Font" },
1204{ "Set reminder ON with offset to:","Alarm AN mit Offset auf:" }, 1204{ "Set reminder ON with offset to:","Alarm AN mit Offset auf:" },
1205{ " on"," am" }, 1205{ " on"," am" },
1206{ " completed on "," erledigt am " }, 1206{ " completed on "," erledigt am " },
1207{ "Save as Event template","Speichere als Vorlage" }, 1207{ "Save as Event template","Speichere als Vorlage" },
1208{ "Load Event template","Lade Termin Vorlage" }, 1208{ "Load Event template","Lade Termin Vorlage" },
1209{ "Save as Journal template","Speichere als Journal Vorlage" }, 1209{ "Save as Journal template","Speichere als Journal Vorlage" },
1210{ "Insert Journal template","Füge Journal Vorlage ein" }, 1210{ "Insert Journal template","Füge Journal Vorlage ein" },
1211{ "Sub todos:<br>","Unter-Todos:<br>" }, 1211{ "Sub todos:<br>","Unter-Todos:<br>" },
1212{ "Parent todo:<br>","Über-Todo:<br>" }, 1212{ "Parent todo:<br>","Über-Todo:<br>" },
1213{ "Set current as color category","Setze Gewählte als Farbkategorie" }, 1213{ "Set current as color category","Setze Gewählte als Farbkategorie" },
1214{ " completed"," erledigt" }, 1214{ " completed"," erledigt" },
1215{ "(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!" }, 1215{ "(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!" },
1216{ "Syncing aborted. Nothing synced.","Syncing abgebrochen.Nichts wurde gesynct." }, 1216{ "Syncing aborted. Nothing synced.","Syncing abgebrochen.Nichts wurde gesynct." },
1217{ "Connected! Sending request for remote file ...","Verbunden! Sende Daten Anfrage..." }, 1217{ "Connected! Sending request for remote file ...","Verbunden! Sende Daten Anfrage..." },
1218{ "Trying to connect to remote...","Versuche mit Gegenstelle zu verbinden..." }, 1218{ "Trying to connect to remote...","Versuche mit Gegenstelle zu verbinden..." },
1219{ "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?" }, 1219{ "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?" },
1220{ "ERROR: Receiving remote file failed.","FEHLER: Empfang der entfernten Daten fehlgeschlagen." }, 1220{ "ERROR: Receiving remote file failed.","FEHLER: Empfang der entfernten Daten fehlgeschlagen." },
1221{ "Error","Fehler" }, 1221{ "Error","Fehler" },
1222{ ""You entered an invalid date!\n Date changed to current date.","Ungültiges Datum eingegeben.\nSetze heutiges Datum." }, 1222{ ""You entered an invalid date!\n Date changed to current date.","Ungültiges Datum eingegeben.\nSetze heutiges Datum." },
1223{ "You entered an invalid date!\n Will use current date instead.","Ungültiges Datum eingegeben.\nSetze stattdessen heutiges Datum." }, 1223{ "You entered an invalid date!\n Will use current date instead.","Ungültiges Datum eingegeben.\nSetze stattdessen heutiges Datum." },
1224{ "Warning","Warnung" }, 1224{ "Warning","Warnung" },
1225{ "Select week number","Wähle Wochen Nummer" }, 1225{ "Select week number","Wähle Wochen Nummer" },
1226{ "Februar","Februar" }, 1226{ "Februar","Februar" },
1227{ "Click on the week number to\nshow week zoomed","Klicke auf die Wochennummer\num die Woche groß zu zeigen" }, 1227{ "Click on the week number to\nshow week zoomed","Klicke auf die Wochennummer\num die Woche groß zu zeigen" },
1228{ "W","W" }, 1228{ "W","W" },
1229{ "Click on this to\nselect week number","Klicke hierauf um\ndie Woche auszuwählen" }, 1229{ "Click on this to\nselect week number","Klicke hierauf um\ndie Woche auszuwählen" },
1230{ "T: %1","T: %1" }, 1230{ "T: %1","T: %1" },
1231{ "Start: ","Start: " }, 1231{ "Start: ","Start: " },
1232{ "Pi-Sync options for device: ","Pi-Sync Einstellungen für Gerät: " }, 1232{ "Pi-Sync options for device: ","Pi-Sync Einstellungen für Gerät: " },
1233{ "Password for remote access:","Passwort für fernen Zugriff:" }, 1233{ "Password for remote access:","Passwort für fernen Zugriff:" },
1234{ "Remote IP address:","Ferne IP Adresse:" }, 1234{ "Remote IP address:","Ferne IP Adresse:" },
1235{ "Remote port number:","Ferne Port Nummer:" }, 1235{ "Remote port number:","Ferne Port Nummer:" },
1236{ "Remote file saved to temp file.","Ferne Daten in temp Datei gespeichert." }, 1236{ "Remote file saved to temp file.","Ferne Daten in temp Datei gespeichert." },
1237{ "Remote from: ","Fern von: " }, 1237{ "Remote from: ","Fern von: " },
1238{ "Local from: ","Lokal von: " }, 1238{ "Local from: ","Lokal von: " },
1239{ "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" }, 1239{ "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" },
1240{ "Local calendar changed!\n","Lokaler Kalender geändert!\n" }, 1240{ "Local calendar changed!\n","Lokaler Kalender geändert!\n" },
1241{ "Write back","Schreibe zurück" }, 1241{ "Write back","Schreibe zurück" },
1242{ "KO/Pi Synchronization","KO/Pi Synchronisation" }, 1242{ "KO/Pi Synchronization","KO/Pi Synchronisation" },
1243{ "Pi-Sync succesful!","Pi-Sync erfolgreich!" }, 1243{ "Pi-Sync succesful!","Pi-Sync erfolgreich!" },
1244{ "Received sync request","Sync Anfrage erhalten" }, 1244{ "Received sync request","Sync Anfrage erhalten" },
1245{ "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." }, 1245{ "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." },
1246{ "Saving Data to temp file ...","Speichere Daten in temp Datei..." }, 1246{ "Saving Data to temp file ...","Speichere Daten in temp Datei..." },
1247{ "Data saved to temp file!","Daten in temp Datei gespeichert!" }, 1247{ "Data saved to temp file!","Daten in temp Datei gespeichert!" },
1248{ "Sending file...","Sende Datei..." }, 1248{ "Sending file...","Sende Datei..." },
1249{ "Waiting for synced file...","Warte auf gesyncte Daten..." }, 1249{ "Waiting for synced file...","Warte auf gesyncte Daten..." },
1250{ "Receiving synced file...","Gesyncte Daten erhalten..." }, 1250{ "Receiving synced file...","Gesyncte Daten erhalten..." },
1251{ "Received %1 bytes","%1 Bytes erhalten" }, 1251{ "Received %1 bytes","%1 Bytes erhalten" },
1252{ "Writing file to disk...","Speichere Datei..." }, 1252{ "Writing file to disk...","Speichere Datei..." },
1253{ "Pi-Sync successful!","Pi-Sync erfolgreich!" }, 1253{ "Pi-Sync successful!","Pi-Sync erfolgreich!" },
1254{ "Clock skew of\nsyncing devices\nis %1 seconds!","Uhrzeitunterschied der\nsyncenden Geräte\nist %1 Sekunden!" }, 1254{ "Clock skew of\nsyncing devices\nis %1 seconds!","Uhrzeitunterschied der\nsyncenden Geräte\nist %1 Sekunden!" },
1255{ "Synchronize!","Synchronisiere!" }, 1255{ "Synchronize!","Synchronisiere!" },
1256{ "High clock skew!","Großer Uhrzeitunterschied!" }, 1256{ "High clock skew!","Großer Uhrzeitunterschied!" },
1257{ "ADJUST\nYOUR\nCLOCKS!","JUSTIERE\nDIE\nUHREN!" }, 1257{ "ADJUST\nYOUR\nCLOCKS!","JUSTIERE\nDIE\nUHREN!" },
1258{ "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!" }, 1258{ "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!" },
1259{ "This is a %1 recurring todo.","Das ist eine %1 wiederholende Aufgabe." }, 1259{ "This is a %1 recurring todo.","Das ist eine %1 wiederholende Aufgabe." },
1260{ "<p><b>Start on:</b> %1</p>","<p><b>Start am:</b> %1</p>" }, 1260{ "<p><b>Start on:</b> %1</p>","<p><b>Start am:</b> %1</p>" },
1261{ "List week view","Listenwochenansicht" }, 1261{ "List week view","Listenwochenansicht" },
1262{ "List week","Listenwochenansicht" }, 1262{ "List week","Listenwochenansicht" },
1263{ "Next Week","Nächste Woche" }, 1263{ "Next Week","Nächste Woche" },
1264{ "Previous Week","Vorherige Woche" }, 1264{ "Previous Week","Vorherige Woche" },
1265{ "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." }, 1265{ "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." },
1266{ "Show in todo/event viewer:","Zeige in Termin/Todo Anzeige:" }, 1266{ "Show in todo/event viewer:","Zeige in Termin/Todo Anzeige:" },
1267{ "Details","Details" }, 1267{ "Details","Details" },
1268{ "Created time","Erstellt Zeit" }, 1268{ "Created time","Erstellt Zeit" },
1269{ "Last modified time","Geändert Zeit" }, 1269{ "Last modified time","Geändert Zeit" },
1270{ "Show in What'sThis quick overview:","Zeige in What'sThis Schnellübersicht:" }, 1270{ "Show in What'sThis quick overview:","Zeige in What'sThis Schnellübersicht:" },
1271{ "View Options","Anzeige Optionen" }, 1271{ "View Options","Anzeige Optionen" },
1272{ "<b>Created: ","<b>Erstellt am: " }, 1272{ "<b>Created: ","<b>Erstellt am: " },
1273{ "<b>Last modified: ","<b>Zuletzt geändert am: " }, 1273{ "<b>Last modified: ","<b>Zuletzt geändert am: " },
1274{ "Journal: ","Journal: " }, 1274{ "Journal: ","Journal: " },
1275{ "yearly","jährlich" }, 1275{ "yearly","jährlich" },
1276{ "(%1) ","%1-" }, 1276{ "(%1) ","%1-" },
1277{ "<p><b>K</b>: Week view in Month view syle</p>\n","<p><b>K</b>: Wochenansicht in Art der Monatsansicht</p>\n" }, 1277{ "<p><b>K</b>: Week view in Month view syle</p>\n","<p><b>K</b>: Wochenansicht in Art der Monatsansicht</p>\n" },
1278{ "Enable tooltips displaying summary of ev.","Titel-Tooltips anzeigen" }, 1278{ "Enable tooltips displaying summary of ev.","Titel-Tooltips anzeigen" },
1279{ "Enable scrollbars in month view cells","Scrollbar in Zellen anzeigen" }, 1279{ "Enable scrollbars in month view cells","Scrollbar in Zellen anzeigen" },
1280{ "Summary/Loc.","Titel/Ort" }, 1280{ "Summary/Loc.","Titel/Ort" },
1281{ "No items found. Use '*' and '?' where needed.","Nichts gefunden. Benutze '*' and '?' wo benötigt." }, 1281{ "No items found. Use '*' and '?' where needed.","Nichts gefunden. Benutze '*' and '?' wo benötigt." },
1282{ "Week Number","Wochennummer" }, 1282{ "Week Number","Wochennummer" },
1283{ "Import","Importiere" }, 1283{ "Import","Importiere" },
1284{ "Export","Exportiere" }, 1284{ "Export","Exportiere" },
1285{ "Beam","Beame" }, 1285{ "Beam","Beame" },
1286{ "Export","Exportiere" }, 1286{ "Export","Exportiere" },
1287{ "As iCal (ics) file...","Als iCal (ics) Datei..." }, 1287{ "As iCal (ics) file...","Als iCal (ics) Datei..." },
1288{ "As vCal (vcs) file...","Als vCal (vcs) Datei..." }, 1288{ "As vCal (vcs) file...","Als vCal (vcs) Datei..." },
1289{ "Journal/Details...","Journale/Details..." }, 1289{ "Journal/Details...","Journale/Details..." },
1290{ "Agenda View","Agenda Ansicht" }, 1290{ "Agenda View","Agenda Ansicht" },
1291{ "Show current time","Zeige aktuelle Zeit" }, 1291{ "Show current time","Zeige aktuelle Zeit" },
1292{ "Edit new item","Bearbeite neuen Eintrag" }, 1292{ "Edit new item","Bearbeite neuen Eintrag" },
1293{ "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" }, 1293{ "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" },
1294{ "There is no next alarm.","Es gibt keinen nächsten Alarm." }, 1294{ "There is no next alarm.","Es gibt keinen nächsten Alarm." },
1295{ "%1 %2 - %3 (next event/todo with alarm)","%1 %2 - %3 (nächster Termin/Todo mit Alarm)" }, 1295{ "%1 %2 - %3 (next event/todo with alarm)","%1 %2 - %3 (nächster Termin/Todo mit Alarm)" },
1296{ "The next alarm is in:\n","Der nächste Alarm ist in:\n" }, 1296{ "The next alarm is in:\n","Der nächste Alarm ist in:\n" },
1297{ "%1 days\n","%1 Tagen\n" }, 1297{ "%1 days\n","%1 Tagen\n" },
1298{ "1 day\n","1 Tag\n" }, 1298{ "1 day\n","1 Tag\n" },
1299{ "%1 hours\n","%1 Stunden\n" }, 1299{ "%1 hours\n","%1 Stunden\n" },
1300{ "1 hour\n","1 Stunde\n" }, 1300{ "1 hour\n","1 Stunde\n" },
1301{ "%1 minutes\n","%1 Minuten\n" }, 1301{ "%1 minutes\n","%1 Minuten\n" },
1302{ "1 minute\n","1 Minute\n" }, 1302{ "1 minute\n","1 Minute\n" },
1303{ "Only one toolbar","Nur eine Toolbar" }, 1303{ "Only one toolbar","Nur eine Toolbar" },
1304{ "Print","Drucke" }, 1304{ "Print","Drucke" },
1305{ "Print selected event / todo...","Drucke ausgewählten Termin / Todo..." }, 1305{ "Print selected event / todo...","Drucke ausgewählten Termin / Todo..." },
1306{ "There is nothing selected!","Es ist nichts ausgewählt!" }, 1306{ "There is nothing selected!","Es ist nichts ausgewählt!" },
1307{ "\n\nDo you really want to print this item?","\n\nMöchten Sie wirklich diesen Eintrag ausdrucken? " }, 1307{ "\n\nDo you really want to print this item?","\n\nMöchten Sie wirklich diesen Eintrag ausdrucken? " },
1308{ "KO/Pi Print Confirmation","KO/Pi Druckbestätigung" }, 1308{ "KO/Pi Print Confirmation","KO/Pi Druckbestätigung" },
1309{ "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" }, 1309{ "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" },
1310{ "KO/Pi Printout","KO/Pi Ausdruck" }, 1310{ "KO/Pi Printout","KO/Pi Ausdruck" },
1311{ "Print unscaled","Drucke unskaliert" }, 1311{ "Print unscaled","Drucke unskaliert" },
1312{ "Print scaled down to fit one page","Drucke runterskaliert um auf eine Seite zu passen." }, 1312{ "Print scaled down to fit one page","Drucke runterskaliert um auf eine Seite zu passen." },
1313{ "Print scaled up/down to fit one page","Drucke hoch/runterskaliert um genau auf eine Seite zu passen." }, 1313{ "Print scaled up/down to fit one page","Drucke hoch/runterskaliert um genau auf eine Seite zu passen." },
1314{ "Printout Mode","Druck Modus" }, 1314{ "Printout Mode","Druck Modus" },
1315{ "Filter menu icon","Filtermenu Icon" }, 1315{ "Filter menu icon","Filtermenu Icon" },
1316{ "<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" }, 1316{ "<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" },
1317{ "<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" }, 1317{ "<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" },
1318{ "%1d","%1t" }, 1318{ "%1d","%1t" },
1319{ "%1h","%1std" }, 1319{ "%1h","%1std" },
1320{ "%1min","%1min" }, 1320{ "%1min","%1min" },
1321{ "( %1 before )","( %1 vorher )" }, 1321{ "( %1 before )","( %1 vorher )" },
1322{ "The next alarm is in\nless than one minute!","Der nächste Alarm kommt in\nweniger als einer Minute!" }, 1322{ "The next alarm is in\nless than one minute!","Der nächste Alarm kommt in\nweniger als einer Minute!" },
1323{ "\nThe internal alarm notification is disabled!\n","\nDie interne Alarmbenachrichtigung ist ausgeschaltet!\n" }, 1323{ "\nThe internal alarm notification is disabled!\n","\nDie interne Alarmbenachrichtigung ist ausgeschaltet!\n" },
1324{ "Enable it in the settings menu, TAB alarm.","Schalten Sie sie an im Menu Einstellungen, TAB Alarm." }, 1324{ "Enable it in the settings menu, TAB alarm.","Schalten Sie sie an im Menu Einstellungen, TAB Alarm." },
1325{ "Show Sync Events","Zeige Sync-Ereignisse" }, 1325{ "Show Sync Events","Zeige Sync-Ereignisse" },
1326{ "Use short date in WN+Event view","Zeige Kurzdatum in WN+Terminanzeige" }, 1326{ "Use short date in WN+Event view","Zeige Kurzdatum in WN+Terminanzeige" },
1327{ "Number of max.displayed todo prios:","Anzahl max.angezeigter Todo-Prios:" }, 1327{ "Number of max.displayed todo prios:","Anzahl max.angezeigter Todo-Prios:" },
1328{ " on "," am " }, 1328{ " on "," am " },
1329{ "On: ","Am: " }, 1329{ "On: ","Am: " },
1330{ "<i>The recurrence is computed from the start datetime!</i>","<i>Die Wiederholung wird vom Startwert aus berechnet!</i>" }, 1330{ "<i>The recurrence is computed from the start datetime!</i>","<i>Die Wiederholung wird vom Startwert aus berechnet!</i>" },
1331{ "Start/Stop todo...","Starte/Stoppe Todo..." }, 1331{ "Start/Stop todo...","Starte/Stoppe Todo..." },
1332{ "Color for running todos:","Farbe für laufende Todos:" }, 1332{ "Color for running todos:","Farbe für laufende Todos:" },
1333{ "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?" }, 1333{ "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?" },
1334{ "Todo is started","Todo ist gestartet" }, 1334{ "Todo is started","Todo ist gestartet" },
1335{ "Stop todo","Stoppe Todo" }, 1335{ "Stop todo","Stoppe Todo" },
1336{ "Todo is stopped","Todo ist gestoppt" }, 1336{ "Todo is stopped","Todo ist gestoppt" },
1337{ "Start todo","Starte Todo" }, 1337{ "Start todo","Starte Todo" },
1338{ "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?" }, 1338{ "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?" },
1339{ "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?" }, 1339{ "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?" },
1340{ "Todo has subtodos","Todo hat Untertodos" }, 1340{ "Todo has subtodos","Todo hat Untertodos" },
1341{ "Block popup until mouse button release","Sperre Popup bis Mausknopf losgelassen" }, 1341{ "Block popup until mouse button release","Sperre Popup bis Mausknopf losgelassen" },
1342{ "Colors","Farben" }, 1342{ "Colors","Farben" },
1343{ "Click on new parent item","Klicke auf neues Übertodo" }, 1343{ "Click on new parent item","Klicke auf neues Übertodo" },
1344{ "Reparenting aborted!","Übertodo setzen abgebrochen" }, 1344{ "Reparenting aborted!","Übertodo setzen abgebrochen" },
1345{ "Cannot move Todo to itself\nor a child of itself","Kann nicht Todo auf\nsich selbst oder\nein Untertodo verschieben" }, 1345{ "Cannot move Todo to itself\nor a child of itself","Kann nicht Todo auf\nsich selbst oder\nein Untertodo verschieben" },
1346{ "Recursive reparenting not possible!","Rekursives Verschieben nicht möglich" }, 1346{ "Recursive reparenting not possible!","Rekursives Verschieben nicht möglich" },
1347{ "Delete all completed todos?\n(Completed recurring todos\nwill not be deleted!)","Entferne alle erledigten Todos?\n(Erledigte wiederholende Todos\nwerden nicht gelöscht!)" }, 1347{ "Delete all completed todos?\n(Completed recurring todos\nwill not be deleted!)","Entferne alle erledigten Todos?\n(Erledigte wiederholende Todos\nwerden nicht gelöscht!)" },
1348{ "Alternating background of list views","Abwechselnder Hintergrund für Listen" }, 1348{ "Alternating background of list views","Abwechselnder Hintergrund für Listen" },
1349{ "times","Zeiten" }, 1349{ "times","Zeiten" },
1350{ "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?" }, 1350{ "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?" },
1351{ "Backup enabled","Backup angeschaltet" }, 1351{ "Backup enabled","Backup angeschaltet" },
1352{ "Use standard backup dir","Standard Backupverzeichnis" }, 1352{ "Use standard backup dir","Standard Backupverzeichnis" },
1353{ "Number of Backups:","Anzahl der Backups" }, 1353{ "Number of Backups:","Anzahl der Backups" },
1354{ "Make backup every ","Mache ein Backup alle " }, 1354{ "Make backup every ","Mache ein Backup alle " },
1355{ " days"," Tage" }, 1355{ " days"," Tage" },
1356{ "Creating backup ... please wait ...","Erstelle Backup ... bitte warten ..." }, 1356{ "Creating backup ... please wait ...","Erstelle Backup ... bitte warten ..." },
1357{ "Backup Failed!","Backup Problem!" }, 1357{ "Backup Failed!","Backup Problem!" },
1358{ "Try again now","Versuche jetzt nochmal" }, 1358{ "Try again now","Versuche jetzt nochmal" },
1359{ "Try again later","Versuche später nochmal" }, 1359{ "Try again later","Versuche später nochmal" },
1360{ "Try again tomorrow","Versuche morgen nochmal" }, 1360{ "Try again tomorrow","Versuche morgen nochmal" },
1361{ "Disable backup","Schalte Backup ab" }, 1361{ "Disable backup","Schalte Backup ab" },
1362{ "<b>Backup directory does not exist: </b>","<b>Backup Verzeichnis existiert nicht: </b>" }, 1362{ "<b>Backup directory does not exist: </b>","<b>Backup Verzeichnis existiert nicht: </b>" },
1363{ "<b>The backup copy command failed!</b>","<b>Das Backup Kopierkommando is fehlgeschlagen!</b>" }, 1363{ "<b>The backup copy command failed!</b>","<b>Das Backup Kopierkommando is fehlgeschlagen!</b>" },
1364{ "Choose action","Wähle Aktion" }, 1364{ "Choose action","Wähle Aktion" },
1365{ "Comment for todo:","Kommentar zum Todo:" }, 1365{ "Comment for todo:","Kommentar zum Todo:" },
1366{ "Stop+note","Stop+Notiz" }, 1366{ "Stop+note","Stop+Notiz" },
1367{ "Agenda view shows completed todos","Agenda Ansicht zeigt erledigte Todos" }, 1367{ "Agenda view shows completed todos","Agenda Ansicht zeigt erledigte Todos" },
1368{ "KO/Pi: Missing alarms!","KO/Pi: Verpasste Alarme!" }, 1368{ "KO/Pi: Missing alarms!","KO/Pi: Verpasste Alarme!" },
1369{ "You missed the alarms for the following events or todos:","Sie verpassten die Alarme für folgende Termine oder Todos:" }, 1369{ "You missed the alarms for the following events or todos:","Sie verpassten die Alarme für folgende Termine oder Todos:" },
1370{ "Print complete list...","Drucke komplette Liste..." }, 1370{ "Print complete list...","Drucke komplette Liste..." },
1371{ "Hide all selected","Verstecke Ausgewählte" }, 1371{ "Hide all selected","Verstecke Ausgewählte" },
1372{ "Add items","hinzufügen" }, 1372{ "Add items","hinzufügen" },
1373{ "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?" }, 1373{ "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?" },
1374{ "Print List View...","Drucke Listenansicht..." }, 1374{ "Print List View...","Drucke Listenansicht..." },
1375{ "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." }, 1375{ "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." },
1376{ "Configure KO/Pi...","Konfiguriere KO/Pi..." }, 1376{ "Configure KO/Pi...","Konfiguriere KO/Pi..." },
1377{ "Global Settings...","Globale Einstellungen..." }, 1377{ "Global Settings...","Globale Einstellungen..." },
1378{ "<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" }, 1378{ "<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" },
1379{ "(disabled)","(abgeschaltet)" }, 1379{ "(disabled)","(abgeschaltet)" },
1380{ "New Calendar","Neuer Kalender" }, 1380{ "New Calendar","Neuer Kalender" },
1381{ "Calendar","Kalender" }, 1381{ "Calendar","Kalender" },
1382{ "Filter selector","Filterauswahl" }, 1382{ "Filter selector","Filterauswahl" },
1383{ "Filtermenu","Filtermenu" }, 1383{ "Filtermenu","Filtermenu" },
1384{ "Toggle Fullscreen","Vollbild umschalten" }, 1384{ "Toggle Fullscreen","Vollbild umschalten" },
1385{ "Toggle Resource View","Resourcenansicht umschalten" }, 1385{ "Toggle Resource View","Resourcenansicht umschalten" },
1386{ "Storage HowTo...","Speicherort HowTo..." }, 1386{ "Storage HowTo...","Speicherort HowTo..." },
1387{ "Timetracking HowTo...","Timetracking HowTo..." }, 1387{ "Timetracking HowTo...","Timetracking HowTo..." },
1388{ "Juni","Juni" }, 1388{ "Juni","Juni" },
1389{ "Juli","Juli" }, 1389{ "Juli","Juli" },
1390{ "ToDo:","ToDo:" }, 1390{ "ToDo:","ToDo:" },
1391{ "Set Calendar","Setze Kalender" }, 1391{ "Set Calendar","Setze Kalender" },
1392{ "Todo: %1","Todo: %1" }, 1392{ "Todo: %1","Todo: %1" },
1393{ ": (Prio ",": (Prio " }, 1393{ ": (Prio ",": (Prio " },
1394{ "Todos","Todos" }, 1394{ "Todos","Todos" },
1395{ "Todo Viewer","Todo Anzeige" }, 1395{ "Todo Viewer","Todo Anzeige" },
1396{ "Todo ","Todo " }, 1396{ "Todo ","Todo " },
1397{ " Calendar \n Resource "," Kalender \n Resource " }, 1397{ " Calendar \n Resource "," Kalender \n Resource " },
1398{ " Color "," Farbe " }, 1398{ " Color "," Farbe " },
1399{ "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!)" }, 1399{ "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!)" },
1400{ "The calendar <b>%1</b> is displaying file <b>%2</b>","Der Kalender <b>%1</b> zeigt die Datei <b>%2</b>" }, 1400{ "The calendar <b>%1</b> is displaying file <b>%2</b>","Der Kalender <b>%1</b> zeigt die Datei <b>%2</b>" },
1401{ "Add new Calendar","Füge Kalender hinzu" }, 1401{ "Add new Calendar","Füge Kalender hinzu" },
1402{ "<b>Name of new calendar:</b>","<b>Name des Kalenders:</b>" }, 1402{ "<b>Name of new calendar:</b>","<b>Name des Kalenders:</b>" },
1403{ "<b>Local ical (*.ics) file:</b>","<b>Lokale ical (*.ics) Datei:</b>" }, 1403{ "<b>Local ical (*.ics) file:</b>","<b>Lokale ical (*.ics) Datei:</b>" },
1404{ "Sorry, the calendar name is empty!","Sorry, der Kalendername ist leer!" }, 1404{ "Sorry, the calendar name is empty!","Sorry, der Kalendername ist leer!" },
1405{ "Sorry, the file name is empty!","Sorry, der Dateiname ist leer!" }, 1405{ "Sorry, the file name is empty!","Sorry, der Dateiname ist leer!" },
1406{ "Error loading calendar file\n%1.","Fehler beim Laden der Kalenderdatei\n%1." }, 1406{ "Error loading calendar file\n%1.","Fehler beim Laden der Kalenderdatei\n%1." },
1407{ "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>" }, 1407{ "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>" },
1408{ "Global application font for all apps:","Globale Schriftart:" }, 1408{ "Global application font for all apps:","Globale Schriftart:" },
1409{ "Application Font","Applikationsschriftart" }, 1409{ "Application Font","Applikationsschriftart" },
1410{ "Kx/Pi","Kx/Pi" }, 1410{ "Kx/Pi","Kx/Pi" },
1411{ "Backup","Backup" }, 1411{ "Backup","Backup" },
1412{ "KDE-Pim Global Settings","KDE-Pim Globale Einstellungen" }, 1412{ "KDE-Pim Global Settings","KDE-Pim Globale Einstellungen" },
1413{ "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!" }, 1413{ "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!" },
1414{ "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!" }, 1414{ "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!" },
1415{ "Choose Color","Wähle Farbe" }, 1415{ "Choose Color","Wähle Farbe" },
1416{ " OK "," OK " }, 1416{ " OK "," OK " },
1417{ " Cancel "," Abbrechen " }, 1417{ " Cancel "," Abbrechen " },
1418{ "Matching items will be added to list","Passende werden zur Liste hinzugefügt" }, 1418{ "Matching items will be added to list","Passende werden zur Liste hinzugefügt" },
1419{ "Matching items will be removed from list","Passende werden von der Liste entfernt" }, 1419{ "Matching items will be removed from list","Passende werden von der Liste entfernt" },
1420{ "Search on displayed list only","Suche auf der dargestellten Liste" }, 1420{ "Search on displayed list only","Suche auf der dargestellten Liste" },
1421{ "List will be cleared before search","Liste wird vor der Suche gelöscht" }, 1421{ "List will be cleared before search","Liste wird vor der Suche gelöscht" },
1422{ "<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>" }, 1422{ "<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>" },
1423{ "%1\nis running!","%1\nist am Laufen!" }, 1423{ "%1\nis running!","%1\nist am Laufen!" },
1424{ "Additional Comment:","Zusätzlicher Kommentar:" }, 1424{ "Additional Comment:","Zusätzlicher Kommentar:" },
1425{ "Stop and save","Stopp und Speichern" }, 1425{ "Stop and save","Stopp und Speichern" },
1426{ "Continue running","Weiter laufen lassen" }, 1426{ "Continue running","Weiter laufen lassen" },
1427{ "Stop - do not save","Stopp - nicht Speichern" }, 1427{ "Stop - do not save","Stopp - nicht Speichern" },
1428{ "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?" }, 1428{ "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?" },
1429{ "Time mismatch!","Zeiten stimmen nicht!" }, 1429{ "Time mismatch!","Zeiten stimmen nicht!" },
1430{ "The start time is\nafter the end time!","Die Startzeit ist\nhinter der Endzeit!" }, 1430{ "The start time is\nafter the end time!","Die Startzeit ist\nhinter der Endzeit!" },
1431{ "Yes, stop todo","Ja, stoppe Todo" }, 1431{ "Yes, stop todo","Ja, stoppe Todo" },
1432{ "Todo stopped - no data saved because runtime was < 15 sec!","Todo gestoppt - nichts gespeichert da Laufzeit < 15 sec!" }, 1432{ "Todo stopped - no data saved because runtime was < 15 sec!","Todo gestoppt - nichts gespeichert da Laufzeit < 15 sec!" },
1433{ "Todo started! Double click again to stop!","Todo gestartet! Doppelklicke um es zu stoppen!" }, 1433{ "Todo started! Double click again to stop!","Todo gestartet! Doppelklicke um es zu stoppen!" },
1434{ "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." }, 1434{ "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." },
1435{ "Spouse","Ehegatte" }, 1435{ "Spouse","Ehegatte" },
1436{ "Notes","Notizen" }, 1436{ "Notes","Notizen" },
1437{ "Messanger","Messanger" }, 1437{ "Messanger","Messanger" },
1438{ "Assistant","Assistent" }, 1438{ "Assistant","Assistent" },
1439{ "Manager","Manager" }, 1439{ "Manager","Manager" },
1440{ "Secrecy","Sichtbar" }, 1440{ "Secrecy","Sichtbar" },
1441{ "male","männlich" }, 1441{ "male","männlich" },
1442{ "female","weiblich" }, 1442{ "female","weiblich" },
1443{ "Hide!","Verbergen!" }, 1443{ "Hide!","Verbergen!" },
1444{ "Show!","Anzeigen!" }, 1444{ "Show!","Anzeigen!" },
1445{ "Details","Details" }, 1445{ "Details","Details" },
1446{ "Profession","Beruf" }, 1446{ "Profession","Beruf" },
1447{ "Children","Kinder" }, 1447{ "Children","Kinder" },
1448{ "Department","Abteilung" }, 1448{ "Department","Abteilung" },
1449{ "Backup cancelled","Backup abgebrochen" }, 1449{ "Backup cancelled","Backup abgebrochen" },
1450{ "Backup globally disabled","Backup global abgeschaltet" }, 1450{ "Backup globally disabled","Backup global abgeschaltet" },
1451{ "Backup succesfully finished","Backup erfolgreich beendet" }, 1451{ "Backup succesfully finished","Backup erfolgreich beendet" },
1452{ "(Hint: You can enable automatic backup in the global settings!)","(Hinweis: Sie können ein automatisches Backup in den globalen Einstellungen konfigurieren!)" }, 1452{ "(Hint: You can enable automatic backup in the global settings!)","(Hinweis: Sie können ein automatisches Backup in den globalen Einstellungen konfigurieren!)" },
1453{ "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" }, 1453{ "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" },
1454{ "Birthdays","Geburtstage" }, 1454{ "Birthdays","Geburtstage" },
1455{ "KO/Pi import information!","KO/Pi Import Information!" }, 1455{ "KO/Pi import information!","KO/Pi Import Information!" },
1456{ "Start this todo\nand stop all running","Starte dieses Todo\nund stoppe alle Laufenden" }, 1456{ "Start this todo\nand stop all running","Starte dieses Todo\nund stoppe alle Laufenden" },
1457{ "Cancel - do not start"," Abbrechen - Todo nicht starten" }, 1457{ "Cancel - do not start"," Abbrechen - Todo nicht starten" },
1458{ "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?"" }, 1458{ "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?"" },
1459{ "Reload","Neu laden" }, 1459{ "Reload","Neu laden" },
1460{ "Timezone settings","Zeitzoneneinstellung" }, 1460{ "Timezone settings","Zeitzoneneinstellung" },
1461{ "Title: ","Titel: " }, 1461{ "Title: ","Titel: " },
1462{ "Journal from: ","Journal vom: " }, 1462{ "Journal from: ","Journal vom: " },
1463{ "Journal: %1 from ","Journal: %1 vom " }, 1463{ "Journal: %1 from ","Journal: %1 vom " },
1464{ "<b>Click here to edit categories: </b>","<b>Klicke hier um Kategorien zu ändern: </b>" }, 1464{ "<b>Click here to edit categories: </b>","<b>Klicke hier um Kategorien zu ändern: </b>" },
1465{ "Selected Item","Ausgewähltes Item" }, 1465{ "Selected Item","Ausgewähltes Item" },
1466{ "Select Date...","Wähle Datum..." }, 1466{ "Select Date...","Wähle Datum..." },
1467{ "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:" }, 1467{ "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:" },
1468{ "Change category list now!","Ändere Kategorieliste jetzt!" }, 1468{ "Change category list now!","Ändere Kategorieliste jetzt!" },
1469{ "Edit category list...","Ändere Kategorieliste..." }, 1469{ "Edit category list...","Ändere Kategorieliste..." },
1470{ "Toolbar changes needs a restart!","Neustart benötigt für Toolbaränderungen!" }, 1470{ "Toolbar changes needs a restart!","Neustart benötigt für Toolbaränderungen!" },
1471{ "Filepath: ","Dateipfad: " }, 1471{ "Filepath: ","Dateipfad: " },
1472{ "You can try to reload the calendar in the Resource View!","In der Resourcenansicht können Sie erneut versuchen den Kalender zu laden!" }, 1472{ "You can try to reload the calendar in the Resource View!","In der Resourcenansicht können Sie erneut versuchen den Kalender zu laden!" },
1473{ "<b>WARNING:</b> There is a pending suspended alarm!","<b>WARNUNG:</b> Es gibt einen laufenden Suspendalarm!" }, 1473{ "<b>WARNING:</b> There is a pending suspended alarm!","<b>WARNUNG:</b> Es gibt einen laufenden Suspendalarm!" },
1474{ "Pending Suspend Alarm","Laufender Suspend Alarm" }, 1474{ "Pending Suspend Alarm","Laufender Suspend Alarm" },
1475{ "Error loading calendar %1","Fehler beim Laden von Kalender %1" }, 1475{ "Error loading calendar %1","Fehler beim Laden von Kalender %1" },
1476{ "Calendar(s) not loaded:","Nicht geladene(r) Kalender:" }, 1476{ "Calendar(s) not loaded:","Nicht geladene(r) Kalender:" },
1477{ "Loding of calendar(s) failed","Laden von Kalendern fehlgeschlagen" }, 1477{ "Loding of calendar(s) failed","Laden von Kalendern fehlgeschlagen" },
1478{ "Alarm Options","Alarm Einstellungen" }, 1478{ "Alarm Options","Alarm Einstellungen" },
1479{ "Delete selected...","Lösche Ausgewählte..." }, 1479{ "Delete selected...","Lösche Ausgewählte..." },
1480{ "None","Nichts" }, 1480{ "None","Nichts" },
1481{ "Selection","Auswahl" }, 1481{ "Selection","Auswahl" },
1482{ "Set categories","Setze Kategorien" }, 1482{ "Set categories","Setze Kategorien" },
1483{ "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!" }, 1483{ "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!" },
1484{ "Reset","Neu setzen" }, 1484{ "Reset","Neu setzen" },
1485{ "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)?" }, 1485{ "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)?" },
1486{ "The file\n%1\ndoes not exist!\nShall I create it for you?","Die Datei\n%1\nexistiert nicht!\nSoll sie neu angelegt werden?" }, 1486{ "The file\n%1\ndoes not exist!\nShall I create it for you?","Die Datei\n%1\nexistiert nicht!\nSoll sie neu angelegt werden?" },
1487{ "Sorry, cannot create the file\n%1!\nNo calendar added!","Kann leider die Datei\n%1\nnicht anlegen!\nKein Kalender hinzugefügt!" }, 1487{ "Sorry, cannot create the file\n%1!\nNo calendar added!","Kann leider die Datei\n%1\nnicht anlegen!\nKein Kalender hinzugefügt!" },
1488{ "\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" }, 1488{ "\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" },
1489{ "\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" }, 1489{ "\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" },
1490{ "Edit","Edit" }, 1490{ "Edit","Edit" },
1491{ "Last Modified","Zuletzt geändert" }, 1491{ "Last Modified","Zuletzt geändert" },
1492{ "Journal viewer","Journal Anzeige" }, 1492{ "Journal viewer","Journal Anzeige" },
1493{ "Configure Calendar Files...","Konfiguriere Kalenderdateien..." },
1494{ "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>." },
1495{ "","" },
1496{ "","" },
1497{ "","" },
1498{ "","" },
1499{ "","" },
1500{ "","" },
1501{ "","" },
1493{ "","" }, 1502{ "","" },
1494{ "","" }, 1503{ "","" },
1495{ "","" }, 1504{ "","" },
1496{ "","" }, 1505{ "","" },
diff --git a/korganizer/koagendaview.cpp b/korganizer/koagendaview.cpp
index ef5c4dd..131a345 100644
--- a/korganizer/koagendaview.cpp
+++ b/korganizer/koagendaview.cpp
@@ -455,769 +455,772 @@ KOAgendaView::KOAgendaView(Calendar *cal,QWidget *parent,const char *name) :
455 connect(mTimeLabels,SIGNAL( scaleChanged()), 455 connect(mTimeLabels,SIGNAL( scaleChanged()),
456 this,SLOT(updateConfig())); 456 this,SLOT(updateConfig()));
457 457
458 // Create agenda 458 // Create agenda
459 mAgenda = new KOAgenda(1,96,KOPrefs::instance()->mHourSize,agendaFrame); 459 mAgenda = new KOAgenda(1,96,KOPrefs::instance()->mHourSize,agendaFrame);
460 agendaLayout->addMultiCellWidget(mAgenda,2,2,1,2); 460 agendaLayout->addMultiCellWidget(mAgenda,2,2,1,2);
461 agendaLayout->setColStretch(1,1); 461 agendaLayout->setColStretch(1,1);
462 mAgenda->setFocusPolicy(NoFocus); 462 mAgenda->setFocusPolicy(NoFocus);
463 // Create event context menu for agenda 463 // Create event context menu for agenda
464 mAllAgendaPopup = eventPopup(); 464 mAllAgendaPopup = eventPopup();
465 465
466#if 0 466#if 0
467 mAllAgendaPopup->addAdditionalItem(QIconSet(SmallIcon("bell")), 467 mAllAgendaPopup->addAdditionalItem(QIconSet(SmallIcon("bell")),
468 i18n("Toggle Alarm"),mAgenda, 468 i18n("Toggle Alarm"),mAgenda,
469 SLOT(popupAlarm()),true); 469 SLOT(popupAlarm()),true);
470 470
471#endif 471#endif
472 connect(mAgenda,SIGNAL(showIncidencePopupSignal(Incidence *)), 472 connect(mAgenda,SIGNAL(showIncidencePopupSignal(Incidence *)),
473 mAllAgendaPopup,SLOT(showIncidencePopup(Incidence *))); 473 mAllAgendaPopup,SLOT(showIncidencePopup(Incidence *)));
474 474
475 connect(mAllDayAgenda,SIGNAL(showIncidencePopupSignal(Incidence *)), 475 connect(mAllDayAgenda,SIGNAL(showIncidencePopupSignal(Incidence *)),
476 mAllAgendaPopup,SLOT(showIncidencePopup(Incidence *))); 476 mAllAgendaPopup,SLOT(showIncidencePopup(Incidence *)));
477 477
478 connect(mAllAgendaPopup,SIGNAL(categoryChanged(Incidence *)), 478 connect(mAllAgendaPopup,SIGNAL(categoryChanged(Incidence *)),
479 this,SLOT(categoryChanged(Incidence *))); 479 this,SLOT(categoryChanged(Incidence *)));
480 480
481 481
482 mAgenda->setPopup( mAllAgendaPopup ); 482 mAgenda->setPopup( mAllAgendaPopup );
483 mAllDayAgenda->setPopup( mAllAgendaPopup ); 483 mAllDayAgenda->setPopup( mAllAgendaPopup );
484 // make connections between dependent widgets 484 // make connections between dependent widgets
485 mTimeLabels->setAgenda(mAgenda); 485 mTimeLabels->setAgenda(mAgenda);
486 486
487 // Update widgets to reflect user preferences 487 // Update widgets to reflect user preferences
488 // updateConfig(); 488 // updateConfig();
489 489
490 // createDayLabels(); 490 // createDayLabels();
491 491
492 // these blank widgets make the All Day Event box line up with the agenda 492 // these blank widgets make the All Day Event box line up with the agenda
493 dummyAllDayRight->setFixedWidth(mAgenda->verticalScrollBar()->width()); 493 dummyAllDayRight->setFixedWidth(mAgenda->verticalScrollBar()->width());
494 dummyAgendaRight->setFixedWidth(mAgenda->verticalScrollBar()->width()); 494 dummyAgendaRight->setFixedWidth(mAgenda->verticalScrollBar()->width());
495 mDummyAllDayLeft->setFixedWidth(mTimeLabels->width()); 495 mDummyAllDayLeft->setFixedWidth(mTimeLabels->width());
496 496
497 // Scrolling 497 // Scrolling
498 connect(mAgenda->verticalScrollBar(),SIGNAL(valueChanged(int)), 498 connect(mAgenda->verticalScrollBar(),SIGNAL(valueChanged(int)),
499 mTimeLabels, SLOT(positionChanged())); 499 mTimeLabels, SLOT(positionChanged()));
500 connect(mTimeLabels->verticalScrollBar(),SIGNAL(valueChanged(int)), 500 connect(mTimeLabels->verticalScrollBar(),SIGNAL(valueChanged(int)),
501 SLOT(setContentsPos(int))); 501 SLOT(setContentsPos(int)));
502 502
503 connect(mAgenda,SIGNAL(showDateView( int, int)),SLOT(slotShowDateView( int, int ))); 503 connect(mAgenda,SIGNAL(showDateView( int, int)),SLOT(slotShowDateView( int, int )));
504 connect(mAllDayAgenda,SIGNAL(showDateView( int, int )), SLOT(slotShowDateView( int, int ) )); 504 connect(mAllDayAgenda,SIGNAL(showDateView( int, int )), SLOT(slotShowDateView( int, int ) ));
505 505
506 // Create/Show/Edit/Delete Event 506 // Create/Show/Edit/Delete Event
507 connect(mAgenda,SIGNAL(newEventSignal(int,int)), 507 connect(mAgenda,SIGNAL(newEventSignal(int,int)),
508 SLOT(newEvent(int,int))); 508 SLOT(newEvent(int,int)));
509 connect(mAgenda,SIGNAL(newTodoSignal(int,int)), 509 connect(mAgenda,SIGNAL(newTodoSignal(int,int)),
510 SLOT(newTodo(int,int))); 510 SLOT(newTodo(int,int)));
511 connect(mAgenda,SIGNAL(newEventSignal(int,int,int,int)), 511 connect(mAgenda,SIGNAL(newEventSignal(int,int,int,int)),
512 SLOT(newEvent(int,int,int,int))); 512 SLOT(newEvent(int,int,int,int)));
513 connect(mAllDayAgenda,SIGNAL(newEventSignal(int,int)), 513 connect(mAllDayAgenda,SIGNAL(newEventSignal(int,int)),
514 SLOT(newEventAllDay(int,int))); 514 SLOT(newEventAllDay(int,int)));
515 connect(mAllDayAgenda,SIGNAL(newTodoSignal(int,int)), 515 connect(mAllDayAgenda,SIGNAL(newTodoSignal(int,int)),
516 SLOT(newTodoAllDay(int,int))); 516 SLOT(newTodoAllDay(int,int)));
517 connect(mAllDayAgenda,SIGNAL(newEventSignal(int,int,int,int)), 517 connect(mAllDayAgenda,SIGNAL(newEventSignal(int,int,int,int)),
518 SLOT(newEventAllDay(int,int))); 518 SLOT(newEventAllDay(int,int)));
519 connect(mAgenda,SIGNAL(newTimeSpanSignal(int,int,int,int)), 519 connect(mAgenda,SIGNAL(newTimeSpanSignal(int,int,int,int)),
520 SLOT(newTimeSpanSelected(int,int,int,int))); 520 SLOT(newTimeSpanSelected(int,int,int,int)));
521 connect(mAllDayAgenda,SIGNAL(newTimeSpanSignal(int,int,int,int)), 521 connect(mAllDayAgenda,SIGNAL(newTimeSpanSignal(int,int,int,int)),
522 SLOT(newTimeSpanSelectedAllDay(int,int,int,int))); 522 SLOT(newTimeSpanSelectedAllDay(int,int,int,int)));
523 connect(mAgenda,SIGNAL(newStartSelectSignal()),SLOT(updateView())); 523 connect(mAgenda,SIGNAL(newStartSelectSignal()),SLOT(updateView()));
524 connect(mAllDayAgenda,SIGNAL(newStartSelectSignal()),SLOT(updateView())); 524 connect(mAllDayAgenda,SIGNAL(newStartSelectSignal()),SLOT(updateView()));
525 525
526 connect(mAgenda,SIGNAL(editIncidenceSignal(Incidence *)), 526 connect(mAgenda,SIGNAL(editIncidenceSignal(Incidence *)),
527 SIGNAL(editIncidenceSignal(Incidence *))); 527 SIGNAL(editIncidenceSignal(Incidence *)));
528 connect(mAllDayAgenda,SIGNAL(editIncidenceSignal(Incidence *)), 528 connect(mAllDayAgenda,SIGNAL(editIncidenceSignal(Incidence *)),
529 SIGNAL(editIncidenceSignal(Incidence *))); 529 SIGNAL(editIncidenceSignal(Incidence *)));
530 connect(mAgenda,SIGNAL(showIncidenceSignal(Incidence *)), 530 connect(mAgenda,SIGNAL(showIncidenceSignal(Incidence *)),
531 SIGNAL(showIncidenceSignal(Incidence *))); 531 SIGNAL(showIncidenceSignal(Incidence *)));
532 connect(mAllDayAgenda,SIGNAL(showIncidenceSignal(Incidence *)), 532 connect(mAllDayAgenda,SIGNAL(showIncidenceSignal(Incidence *)),
533 SIGNAL(showIncidenceSignal(Incidence *))); 533 SIGNAL(showIncidenceSignal(Incidence *)));
534 connect(mAgenda,SIGNAL(deleteIncidenceSignal(Incidence *)), 534 connect(mAgenda,SIGNAL(deleteIncidenceSignal(Incidence *)),
535 SIGNAL(deleteIncidenceSignal(Incidence *))); 535 SIGNAL(deleteIncidenceSignal(Incidence *)));
536 connect(mAllDayAgenda,SIGNAL(deleteIncidenceSignal(Incidence *)), 536 connect(mAllDayAgenda,SIGNAL(deleteIncidenceSignal(Incidence *)),
537 SIGNAL(deleteIncidenceSignal(Incidence *))); 537 SIGNAL(deleteIncidenceSignal(Incidence *)));
538 538
539 connect(mAgenda,SIGNAL(itemModified(KOAgendaItem *, int )), 539 connect(mAgenda,SIGNAL(itemModified(KOAgendaItem *, int )),
540 SLOT(updateEventDates(KOAgendaItem *, int ))); 540 SLOT(updateEventDates(KOAgendaItem *, int )));
541 connect(mAllDayAgenda,SIGNAL(itemModified(KOAgendaItem *, int )), 541 connect(mAllDayAgenda,SIGNAL(itemModified(KOAgendaItem *, int )),
542 SLOT(updateEventDates(KOAgendaItem *, int))); 542 SLOT(updateEventDates(KOAgendaItem *, int)));
543 543
544 // event indicator update 544 // event indicator update
545 connect(mAgenda,SIGNAL(lowerYChanged(int)), 545 connect(mAgenda,SIGNAL(lowerYChanged(int)),
546 SLOT(updateEventIndicatorTop(int))); 546 SLOT(updateEventIndicatorTop(int)));
547 connect(mAgenda,SIGNAL(upperYChanged(int)), 547 connect(mAgenda,SIGNAL(upperYChanged(int)),
548 SLOT(updateEventIndicatorBottom(int))); 548 SLOT(updateEventIndicatorBottom(int)));
549 // drag signals 549 // drag signals
550 /* 550 /*
551 connect(mAgenda,SIGNAL(startDragSignal(Event *)), 551 connect(mAgenda,SIGNAL(startDragSignal(Event *)),
552 SLOT(startDrag(Event *))); 552 SLOT(startDrag(Event *)));
553 connect(mAllDayAgenda,SIGNAL(startDragSignal(Event *)), 553 connect(mAllDayAgenda,SIGNAL(startDragSignal(Event *)),
554 SLOT(startDrag(Event *))); 554 SLOT(startDrag(Event *)));
555 */ 555 */
556 // synchronize selections 556 // synchronize selections
557 connect( mAgenda, SIGNAL( incidenceSelected( Incidence * ) ), 557 connect( mAgenda, SIGNAL( incidenceSelected( Incidence * ) ),
558 mAllDayAgenda, SLOT( deselectItem() ) ); 558 mAllDayAgenda, SLOT( deselectItem() ) );
559 connect( mAllDayAgenda, SIGNAL( incidenceSelected( Incidence * ) ), 559 connect( mAllDayAgenda, SIGNAL( incidenceSelected( Incidence * ) ),
560 mAgenda, SLOT( deselectItem() ) ); 560 mAgenda, SLOT( deselectItem() ) );
561 connect( mAgenda, SIGNAL( incidenceSelected( Incidence * ) ), 561 connect( mAgenda, SIGNAL( incidenceSelected( Incidence * ) ),
562 SIGNAL( incidenceSelected( Incidence * ) ) ); 562 SIGNAL( incidenceSelected( Incidence * ) ) );
563 connect( mAllDayAgenda, SIGNAL( incidenceSelected( Incidence * ) ), 563 connect( mAllDayAgenda, SIGNAL( incidenceSelected( Incidence * ) ),
564 SIGNAL( incidenceSelected( Incidence * ) ) ); 564 SIGNAL( incidenceSelected( Incidence * ) ) );
565 connect( mAgenda, SIGNAL( resizedSignal() ), 565 connect( mAgenda, SIGNAL( resizedSignal() ),
566 SLOT( updateConfig( ) ) ); 566 SLOT( updateConfig( ) ) );
567 connect( mAgenda, SIGNAL( addToCalSignal(Incidence *, Incidence *) ), 567 connect( mAgenda, SIGNAL( addToCalSignal(Incidence *, Incidence *) ),
568 SLOT( addToCalSlot(Incidence *, Incidence * ) ) ); 568 SLOT( addToCalSlot(Incidence *, Incidence * ) ) );
569 connect( mAllDayAgenda, SIGNAL( addToCalSignal(Incidence * ,Incidence *) ), 569 connect( mAllDayAgenda, SIGNAL( addToCalSignal(Incidence * ,Incidence *) ),
570 SLOT( addToCalSlot(Incidence * , Incidence *) ) ); 570 SLOT( addToCalSlot(Incidence * , Incidence *) ) );
571 // connect( mAgenda, SIGNAL( cloneIncidenceSignal(Incidence *) ), SIGNAL( cloneIncidenceSignal(Incidence *) ) ); 571 // connect( mAgenda, SIGNAL( cloneIncidenceSignal(Incidence *) ), SIGNAL( cloneIncidenceSignal(Incidence *) ) );
572 //connect( mAllDayAgenda, SIGNAL( cloneIncidenceSignal(Incidence *) ), SIGNAL( cloneIncidenceSignal(Incidence *) ) ); 572 //connect( mAllDayAgenda, SIGNAL( cloneIncidenceSignal(Incidence *) ), SIGNAL( cloneIncidenceSignal(Incidence *) ) );
573 573
574 connect( mAllDayAgenda, SIGNAL( signalClearSelection() ),mAgenda, SLOT( slotClearSelection()) ); 574 connect( mAllDayAgenda, SIGNAL( signalClearSelection() ),mAgenda, SLOT( slotClearSelection()) );
575 connect( mAgenda, SIGNAL( signalClearSelection() ),mAllDayAgenda, SLOT( slotClearSelection()) ); 575 connect( mAgenda, SIGNAL( signalClearSelection() ),mAllDayAgenda, SLOT( slotClearSelection()) );
576#ifndef DESKTOP_VERSION 576#ifndef DESKTOP_VERSION
577 connect( mAllDayAgenda, SIGNAL( updateViewSignal() ),this, SLOT( fillAgenda()) ); 577 connect( mAllDayAgenda, SIGNAL( updateViewSignal() ),this, SLOT( fillAgenda()) );
578 connect( mAgenda, SIGNAL( updateViewSignal() ), this, SLOT( fillAgenda()) ); 578 connect( mAgenda, SIGNAL( updateViewSignal() ), this, SLOT( fillAgenda()) );
579 connect( mAllDayAgenda, SIGNAL( sendPing() ),this, SLOT( startIdleTimeout()) ); 579 connect( mAllDayAgenda, SIGNAL( sendPing() ),this, SLOT( startIdleTimeout()) );
580 connect( mAgenda, SIGNAL( sendPing() ), this, SLOT( startIdleTimeout()) ); 580 connect( mAgenda, SIGNAL( sendPing() ), this, SLOT( startIdleTimeout()) );
581 mIdleTimer = new QTimer ( this );; 581 mIdleTimer = new QTimer ( this );;
582 connect(mIdleTimer,SIGNAL(timeout()),SLOT(slotIdleTimeout())); 582 connect(mIdleTimer,SIGNAL(timeout()),SLOT(slotIdleTimeout()));
583#endif 583#endif
584} 584}
585void KOAgendaView::startIdleTimeout() 585void KOAgendaView::startIdleTimeout()
586{ 586{
587#ifndef DESKTOP_VERSION 587#ifndef DESKTOP_VERSION
588 mIdleStart = QDateTime::currentDateTime(); 588 mIdleStart = QDateTime::currentDateTime();
589 mIdleTimer->start( IDLETIMEOUT * 1000 ); 589 mIdleTimer->start( IDLETIMEOUT * 1000 );
590#endif 590#endif
591} 591}
592void KOAgendaView::slotIdleTimeout() 592void KOAgendaView::slotIdleTimeout()
593{ 593{
594#ifndef DESKTOP_VERSION 594#ifndef DESKTOP_VERSION
595 //qDebug("SECS TO %d ",mIdleStart.secsTo( QDateTime::currentDateTime() ) ); 595 //qDebug("SECS TO %d ",mIdleStart.secsTo( QDateTime::currentDateTime() ) );
596 int secsfromstart = mIdleStart.secsTo( QDateTime::currentDateTime() ); 596 int secsfromstart = mIdleStart.secsTo( QDateTime::currentDateTime() );
597 mIdleTimer->stop(); 597 mIdleTimer->stop();
598 bool isActice = topLevelWidget()->isActiveWindow(); 598 bool isActice = topLevelWidget()->isActiveWindow();
599 //qDebug("KO: Active Window %d %d", isActice, isVisible()); 599 //qDebug("KO: Active Window %d %d", isActice, isVisible());
600 // we do nothing if we wake up from a suspend 600 // we do nothing if we wake up from a suspend
601 if ( secsfromstart > IDLETIMEOUT + 30 && isActice ) { 601 if ( secsfromstart > IDLETIMEOUT + 30 && isActice ) {
602 qDebug("KO: Wakeup from suspend "); 602 qDebug("KO: Wakeup from suspend ");
603 startIdleTimeout(); 603 startIdleTimeout();
604 return; 604 return;
605 } 605 }
606 qDebug("KO: Downsizing Pixmaps "); 606 qDebug("KO: Downsizing Pixmaps ");
607 mAgenda->shrinkPixmap(); 607 mAgenda->shrinkPixmap();
608 mAllDayAgenda->shrinkPixmap(); 608 mAllDayAgenda->shrinkPixmap();
609 KOAgendaItem::paintPix()->resize( 20,20); 609 KOAgendaItem::paintPix()->resize( 20,20);
610 KOAgendaItem::paintPixAllday()->resize( 20,20); 610 KOAgendaItem::paintPixAllday()->resize( 20,20);
611#endif 611#endif
612 612
613} 613}
614void KOAgendaView::toggleAllDay() 614void KOAgendaView::toggleAllDay()
615{ 615{
616 if ( mSplitterAgenda->firstHandle() ) 616 if ( mSplitterAgenda->firstHandle() )
617 mSplitterAgenda->firstHandle()->toggle(); 617 mSplitterAgenda->firstHandle()->toggle();
618} 618}
619void KOAgendaView::addToCalSlot(Incidence * inc, Incidence * incOld ) 619void KOAgendaView::addToCalSlot(Incidence * inc, Incidence * incOld )
620{ 620{
621 calendar()->addIncidence( inc ); 621 calendar()->addIncidence( inc );
622 622
623 if ( incOld ) { 623 if ( incOld ) {
624 if ( incOld->typeID() == todoID ) 624 if ( incOld->typeID() == todoID )
625 emit todoMoved((Todo*)incOld, KOGlobals::EVENTEDITED ); 625 emit todoMoved((Todo*)incOld, KOGlobals::EVENTEDITED );
626 else 626 else
627 emit incidenceChanged(incOld, KOGlobals::EVENTEDITED); 627 emit incidenceChanged(incOld, KOGlobals::EVENTEDITED);
628 } 628 }
629 629
630} 630}
631void KOAgendaView::categoryChanged(Incidence * inc) 631void KOAgendaView::categoryChanged(Incidence * inc)
632{ 632{
633 mAgenda->categoryChanged( inc ); 633 mAgenda->categoryChanged( inc );
634 mAllDayAgenda->categoryChanged( inc ); 634 mAllDayAgenda->categoryChanged( inc );
635} 635}
636KOAgendaView::~KOAgendaView() 636KOAgendaView::~KOAgendaView()
637{ 637{
638 delete mAllAgendaPopup; 638 delete mAllAgendaPopup;
639 //delete mAllDayAgendaPopup; 639 //delete mAllDayAgendaPopup;
640 delete KOAgendaItem::paintPix(); 640 delete KOAgendaItem::paintPix();
641 delete KOAgendaItem::paintPixAllday(); 641 delete KOAgendaItem::paintPixAllday();
642} 642}
643void KOAgendaView::resizeEvent( QResizeEvent* e ) 643void KOAgendaView::resizeEvent( QResizeEvent* e )
644{ 644{
645 //qDebug("KOAgendaView::resizeEvent( QResizeEvent* e ) %d ", e->size().width()); 645 //qDebug("KOAgendaView::resizeEvent( QResizeEvent* e ) %d ", e->size().width());
646 bool uc = false; 646 bool uc = false;
647 int ow = e->oldSize().width(); 647 int ow = e->oldSize().width();
648 int oh = e->oldSize().height(); 648 int oh = e->oldSize().height();
649 int w = e->size().width(); 649 int w = e->size().width();
650 int h = e->size().height(); 650 int h = e->size().height();
651 if ( (ow > oh && w< h ) || (ow < oh && w > h ) ) { 651 if ( (ow > oh && w< h ) || (ow < oh && w > h ) ) {
652 if ( ! mBlockUpdating && !globalFlagBlockStartup && !globalFlagBlockAgenda ) 652 if ( ! mBlockUpdating && !globalFlagBlockStartup && !globalFlagBlockAgenda )
653 uc = true; 653 uc = true;
654 //qDebug("view changed %d %d %d %d ", ow, oh , w , h); 654 //qDebug("view changed %d %d %d %d ", ow, oh , w , h);
655 } 655 }
656 mUpcomingWidth = e->size().width() ; 656 mUpcomingWidth = e->size().width() ;
657 if ( mBlockUpdating || uc ) { 657 if ( mBlockUpdating || uc ) {
658 mBlockUpdating = false; 658 mBlockUpdating = false;
659 //mAgenda->setMinimumSize(800 , 600 ); 659 //mAgenda->setMinimumSize(800 , 600 );
660 //qDebug("mAgenda->resize+++++++++++++++ "); 660 //qDebug("mAgenda->resize+++++++++++++++ ");
661 updateConfig(); 661 updateConfig();
662 //qDebug("KOAgendaView::Updating now possible "); 662 //qDebug("KOAgendaView::Updating now possible ");
663 } else 663 } else
664 createDayLabels(); 664 createDayLabels();
665 //qDebug("resizeEvent end "); 665 //qDebug("resizeEvent end ");
666 666
667} 667}
668void KOAgendaView::slotDaylabelClicked( int num ) 668void KOAgendaView::slotDaylabelClicked( int num )
669{ 669{
670 670
671 QDate firstDate = mSelectedDates.first(); 671 QDate firstDate = mSelectedDates.first();
672 if ( num == -1 ) 672 if ( num == -1 )
673 emit showDateView( 6, firstDate ); 673 emit showDateView( 6, firstDate );
674 else if (num >= 0 ) { 674 else if (num >= 0 ) {
675 if ( mSelectedDates.count() == 1) 675 if ( mSelectedDates.count() == 1)
676 emit showDateView( 9, firstDate.addDays( num ) ); 676 emit showDateView( 9, firstDate.addDays( num ) );
677 else 677 else
678 emit showDateView( 3, firstDate.addDays( num ) ); 678 emit showDateView( 3, firstDate.addDays( num ) );
679 } 679 }
680 else 680 else
681 showDateView( 10, firstDate.addDays(1) ); 681 showDateView( 10, firstDate.addDays(1) );
682} 682}
683 683
684KOAgendaButton* KOAgendaView::getNewDaylabel() 684KOAgendaButton* KOAgendaView::getNewDaylabel()
685{ 685{
686 686
687 KOAgendaButton * dayLabel = new KOAgendaButton(mDayLabels); 687 KOAgendaButton * dayLabel = new KOAgendaButton(mDayLabels);
688 connect( dayLabel, SIGNAL( numClicked(int) ), this, SLOT ( slotDaylabelClicked(int) ) ); 688 connect( dayLabel, SIGNAL( numClicked(int) ), this, SLOT ( slotDaylabelClicked(int) ) );
689 mDayLabelsList.append( dayLabel ); 689 mDayLabelsList.append( dayLabel );
690 mLayoutDayLabels->addWidget(dayLabel); 690 mLayoutDayLabels->addWidget(dayLabel);
691 return dayLabel ; 691 return dayLabel ;
692} 692}
693 693
694void KOAgendaView::createDayLabels() 694void KOAgendaView::createDayLabels()
695{ 695{
696 696
697 if ( mBlockUpdating || globalFlagBlockLabel == 1) { 697 if ( mBlockUpdating || globalFlagBlockLabel == 1) {
698 // qDebug(" KOAgendaView::createDayLabels() blocked "); 698 // qDebug(" KOAgendaView::createDayLabels() blocked ");
699 return; 699 return;
700 700
701 } 701 }
702 int newHight; 702 int newHight;
703 if ( !mSelectedDates.count()) 703 if ( !mSelectedDates.count())
704 return; 704 return;
705 705
706 // ### Before deleting and recreating we could check if mSelectedDates changed... 706 // ### Before deleting and recreating we could check if mSelectedDates changed...
707 // It would remove some flickering and gain speed (since this is called by 707 // It would remove some flickering and gain speed (since this is called by
708 // each updateView() call) 708 // each updateView() call)
709 709
710 int maxWid = mUpcomingWidth - mTimeLabels->width()- mAgenda->verticalScrollBar()->width() - mAgenda->frameWidth()*2; 710 int maxWid = mUpcomingWidth - mTimeLabels->width()- mAgenda->verticalScrollBar()->width() - mAgenda->frameWidth()*2;
711 mDayLabelsFrame->setMaximumWidth( mUpcomingWidth ); 711 mDayLabelsFrame->setMaximumWidth( mUpcomingWidth );
712 if ( maxWid < 20 ) 712 if ( maxWid < 20 )
713 maxWid = 20; 713 maxWid = 20;
714 714
715 QFont dlf = KOPrefs::instance()->mTimeLabelsFont; 715 QFont dlf = KOPrefs::instance()->mTimeLabelsFont;
716 QFontMetrics fm ( dlf ); 716 QFontMetrics fm ( dlf );
717 dlf.setBold( true ); 717 dlf.setBold( true );
718 int selCount = mSelectedDates.count(); 718 int selCount = mSelectedDates.count();
719 int widModulo = maxWid - (mAgenda->gridSpacingX() * selCount)+1; 719 int widModulo = maxWid - (mAgenda->gridSpacingX() * selCount)+1;
720 QString dayTest = "Mon 20"; 720 QString dayTest = "Mon 20";
721 //QString dayTest = "Mon 20"; 721 //QString dayTest = "Mon 20";
722 int wid = fm.width( dayTest ); 722 int wid = fm.width( dayTest );
723 //maxWid -= ( selCount * 3 ); //working for QLabels 723 //maxWid -= ( selCount * 3 ); //working for QLabels
724 if ( QApplication::desktop()->width() <= 320 ) 724 if ( QApplication::desktop()->width() <= 320 )
725 maxWid -= ( selCount * 3 ); //working for QPushButton 725 maxWid -= ( selCount * 3 ); //working for QPushButton
726 else 726 else
727 maxWid -= ( selCount * 4 ); //working for QPushButton 727 maxWid -= ( selCount * 4 ); //working for QPushButton
728 if ( maxWid < 0 ) 728 if ( maxWid < 0 )
729 maxWid = 20; 729 maxWid = 20;
730 int needWid = wid * selCount; 730 int needWid = wid * selCount;
731 //qDebug("++++++++Needed : %d MaxWidth: %d", needWid, maxWid ); 731 //qDebug("++++++++Needed : %d MaxWidth: %d", needWid, maxWid );
732 //if ( needWid > maxWid ) 732 //if ( needWid > maxWid )
733 // qDebug("DAYLABELS TOOOOOOO BIG "); 733 // qDebug("DAYLABELS TOOOOOOO BIG ");
734 while ( needWid > maxWid ) { 734 while ( needWid > maxWid ) {
735 dayTest = dayTest.left( dayTest.length() - 1 ); 735 dayTest = dayTest.left( dayTest.length() - 1 );
736 wid = fm.width( dayTest ); 736 wid = fm.width( dayTest );
737 needWid = wid * selCount; 737 needWid = wid * selCount;
738 } 738 }
739 int maxLen = dayTest.length(); 739 int maxLen = dayTest.length();
740 int fontPoint = dlf.pointSize(); 740 int fontPoint = dlf.pointSize();
741 if ( maxLen < 2 ) { 741 if ( maxLen < 2 ) {
742 int fontPoint = dlf.pointSize(); 742 int fontPoint = dlf.pointSize();
743 while ( fontPoint > 4 ) { 743 while ( fontPoint > 4 ) {
744 --fontPoint; 744 --fontPoint;
745 dlf.setPointSize( fontPoint ); 745 dlf.setPointSize( fontPoint );
746 QFontMetrics f( dlf ); 746 QFontMetrics f( dlf );
747 wid = f.width( "30" ); 747 wid = f.width( "30" );
748 needWid = wid * selCount; 748 needWid = wid * selCount;
749 if ( needWid < maxWid ) 749 if ( needWid < maxWid )
750 break; 750 break;
751 } 751 }
752 maxLen = 2; 752 maxLen = 2;
753 } 753 }
754 //qDebug("Max len %d ", dayTest.length() ); 754 //qDebug("Max len %d ", dayTest.length() );
755 if ( !KOPrefs::instance()->mTimeLabelsFont.bold() ) 755 if ( !KOPrefs::instance()->mTimeLabelsFont.bold() )
756 dlf.setBold( false ); 756 dlf.setBold( false );
757 QFontMetrics tempF( dlf ); 757 QFontMetrics tempF( dlf );
758 newHight = tempF.height(); 758 newHight = tempF.height();
759 mDayLabels->setFont( dlf ); 759 mDayLabels->setFont( dlf );
760 // mLayoutDayLabels = new QHBoxLayout(mDayLabels);; 760 // mLayoutDayLabels = new QHBoxLayout(mDayLabels);;
761 // mLayoutDayLabels->addSpacing(mTimeLabels->width()); 761 // mLayoutDayLabels->addSpacing(mTimeLabels->width());
762 //mLayoutDayLabels->addSpacing( 2 ); 762 //mLayoutDayLabels->addSpacing( 2 );
763 // QFont lFont = dlf; 763 // QFont lFont = dlf;
764 bool appendLabels = false; 764 bool appendLabels = false;
765 KOAgendaButton *dayLabel; 765 KOAgendaButton *dayLabel;
766 dayLabel = mDayLabelsList.first(); 766 dayLabel = mDayLabelsList.first();
767 if ( !dayLabel ) { 767 if ( !dayLabel ) {
768 appendLabels = true; 768 appendLabels = true;
769 dayLabel = getNewDaylabel(); 769 dayLabel = getNewDaylabel();
770 } 770 }
771 dayLabel->setFixedWidth( mTimeLabels->width()+mAgenda->frameWidth() ); 771 dayLabel->setFixedWidth( mTimeLabels->width()+mAgenda->frameWidth() );
772 dayLabel->setFont( dlf ); 772 dayLabel->setFont( dlf );
773 dayLabel->setNum( -1 ); 773 dayLabel->setNum( -1 );
774 //dayLabel->setAlignment(QLabel::AlignHCenter); 774 //dayLabel->setAlignment(QLabel::AlignHCenter);
775 775
776 dayLabel->setText( KOGlobals::self()->calendarSystem()->monthName( mSelectedDates.first(), true ) ); 776 dayLabel->setText( KOGlobals::self()->calendarSystem()->monthName( mSelectedDates.first(), true ) );
777 dayLabel->show(); 777 dayLabel->show();
778 DateList::ConstIterator dit; 778 DateList::ConstIterator dit;
779 bool oneday = (mSelectedDates.first() == mSelectedDates.last() ); 779 bool oneday = (mSelectedDates.first() == mSelectedDates.last() );
780 int counter = -1; 780 int counter = -1;
781 for( dit = mSelectedDates.begin(); dit != mSelectedDates.end(); ++dit ) { 781 for( dit = mSelectedDates.begin(); dit != mSelectedDates.end(); ++dit ) {
782 ++counter; 782 ++counter;
783 QDate date = *dit; 783 QDate date = *dit;
784 // QBoxLayout *dayLayout = new QVBoxLayout(mLayoutDayLabels); 784 // QBoxLayout *dayLayout = new QVBoxLayout(mLayoutDayLabels);
785 if ( ! appendLabels ) { 785 if ( ! appendLabels ) {
786 dayLabel = mDayLabelsList.next(); 786 dayLabel = mDayLabelsList.next();
787 if ( !dayLabel ) 787 if ( !dayLabel )
788 appendLabels = true; 788 appendLabels = true;
789 } 789 }
790 if ( appendLabels ) { 790 if ( appendLabels ) {
791 dayLabel = getNewDaylabel(); 791 dayLabel = getNewDaylabel();
792 } 792 }
793 dayLabel->setMinimumWidth( 1 ); 793 dayLabel->setMinimumWidth( 1 );
794 dayLabel->setMaximumWidth( 10240 ); 794 dayLabel->setMaximumWidth( 10240 );
795 dayLabel->setFont( dlf ); 795 dayLabel->setFont( dlf );
796 dayLabel->show(); 796 dayLabel->show();
797 dayLabel->setAutoRepeat( false ); 797 dayLabel->setAutoRepeat( false );
798 dayLabel->setNum( counter ); 798 dayLabel->setNum( counter );
799 QString str; 799 QString str;
800 int dW = KOGlobals::self()->calendarSystem()->dayOfWeek(date); 800 int dW = KOGlobals::self()->calendarSystem()->dayOfWeek(date);
801 QString dayName = KOGlobals::self()->calendarSystem()->weekDayName( dW, true ); 801 QString dayName = KOGlobals::self()->calendarSystem()->weekDayName( dW, true );
802 switch ( maxLen ) { 802 switch ( maxLen ) {
803 case 2: 803 case 2:
804 str = QString::number( date.day() ); 804 str = QString::number( date.day() );
805 break; 805 break;
806 806
807 case 3: 807 case 3:
808 str = dayName.left( 1 ) +QString::number( date.day()); 808 str = dayName.left( 1 ) +QString::number( date.day());
809 809
810 break; 810 break;
811 case 4: 811 case 4:
812 str = dayName.left( 1 ) + " " +QString::number( date.day()); 812 str = dayName.left( 1 ) + " " +QString::number( date.day());
813 813
814 break; 814 break;
815 case 5: 815 case 5:
816 str = dayName.left( 2 ) + " " +QString::number( date.day()); 816 str = dayName.left( 2 ) + " " +QString::number( date.day());
817 817
818 break; 818 break;
819 case 6: 819 case 6:
820 str = dayName.left( 3 ) + " " +QString::number( date.day()); 820 str = dayName.left( 3 ) + " " +QString::number( date.day());
821 break; 821 break;
822 822
823 default: 823 default:
824 break; 824 break;
825 } 825 }
826 if ( oneday ) { 826 if ( oneday ) {
827 QString addString; 827 QString addString;
828 if ( mSelectedDates.first() == QDateTime::currentDateTime().date() ) 828 if ( mSelectedDates.first() == QDateTime::currentDateTime().date() )
829 addString = i18n("Today"); 829 addString = i18n("Today");
830 else if ( mSelectedDates.first() == QDateTime::currentDateTime().date().addDays(1) ) 830 else if ( mSelectedDates.first() == QDateTime::currentDateTime().date().addDays(1) )
831 addString = i18n("Tomorrow"); 831 addString = i18n("Tomorrow");
832 else if ( mSelectedDates.first() == QDateTime::currentDateTime().date().addDays(-1) ) 832 else if ( mSelectedDates.first() == QDateTime::currentDateTime().date().addDays(-1) )
833 addString = i18n("Yesterday"); 833 addString = i18n("Yesterday");
834 else if ( mSelectedDates.first() == QDateTime::currentDateTime().date().addDays(-2) ) 834 else if ( mSelectedDates.first() == QDateTime::currentDateTime().date().addDays(-2) )
835 addString = i18n("Day before yesterday"); 835 addString = i18n("Day before yesterday");
836 else if ( mSelectedDates.first() == QDateTime::currentDateTime().date().addDays(2) ) 836 else if ( mSelectedDates.first() == QDateTime::currentDateTime().date().addDays(2) )
837 addString = i18n("Day after tomorrow"); 837 addString = i18n("Day after tomorrow");
838 if ( !addString.isEmpty() ) { 838 if ( !addString.isEmpty() ) {
839 str = addString+", " + str; 839 if ( QApplication::desktop()->width() < 640 )
840 str = addString+", " + str;
841 else
842 str = addString+", "+ KGlobal::locale()->formatDate( date, false);
840 } else { 843 } else {
841 str = KGlobal::locale()->formatDate( date, KOPrefs::instance()->mShortDateInViewer); 844 str = KGlobal::locale()->formatDate( date, KOPrefs::instance()->mShortDateInViewer);
842 } 845 }
843 } 846 }
844 dayLabel->setText(str); 847 dayLabel->setText(str);
845 //dayLabel->setAlignment(QLabel::AlignHCenter); 848 //dayLabel->setAlignment(QLabel::AlignHCenter);
846 if (date == QDate::currentDate()) { 849 if (date == QDate::currentDate()) {
847 QFont bFont = dlf; 850 QFont bFont = dlf;
848 bFont.setBold( true ); 851 bFont.setBold( true );
849 dayLabel->setFont(bFont); 852 dayLabel->setFont(bFont);
850 } 853 }
851 //dayLayout->addWidget(dayLabel); 854 //dayLayout->addWidget(dayLabel);
852 855
853#ifndef KORG_NOPLUGINS 856#ifndef KORG_NOPLUGINS
854 CalendarDecoration::List cds = KOCore::self()->calendarDecorations(); 857 CalendarDecoration::List cds = KOCore::self()->calendarDecorations();
855 CalendarDecoration *it; 858 CalendarDecoration *it;
856 for(it = cds.first(); it; it = cds.next()) { 859 for(it = cds.first(); it; it = cds.next()) {
857 QString text = it->shortText( date ); 860 QString text = it->shortText( date );
858 if ( !text.isEmpty() ) { 861 if ( !text.isEmpty() ) {
859 QLabel *label = new QLabel(text,mDayLabels); 862 QLabel *label = new QLabel(text,mDayLabels);
860 label->setAlignment(AlignCenter); 863 label->setAlignment(AlignCenter);
861 dayLayout->addWidget(label); 864 dayLayout->addWidget(label);
862 } 865 }
863 } 866 }
864 867
865 for(it = cds.first(); it; it = cds.next()) { 868 for(it = cds.first(); it; it = cds.next()) {
866 QWidget *wid = it->smallWidget(mDayLabels,date); 869 QWidget *wid = it->smallWidget(mDayLabels,date);
867 if ( wid ) { 870 if ( wid ) {
868 // wid->setHeight(20); 871 // wid->setHeight(20);
869 dayLayout->addWidget(wid); 872 dayLayout->addWidget(wid);
870 } 873 }
871 } 874 }
872#endif 875#endif
873 } 876 }
874 if ( ! appendLabels ) { 877 if ( ! appendLabels ) {
875 dayLabel = mDayLabelsList.next(); 878 dayLabel = mDayLabelsList.next();
876 if ( !dayLabel ) 879 if ( !dayLabel )
877 appendLabels = true; 880 appendLabels = true;
878 } 881 }
879 if ( appendLabels ) { 882 if ( appendLabels ) {
880 dayLabel = getNewDaylabel(); 883 dayLabel = getNewDaylabel();
881 } 884 }
882 //dayLabel->hide();//test only 885 //dayLabel->hide();//test only
883 886
884 dayLabel->setText(">"); 887 dayLabel->setText(">");
885 dayLabel->setFont( dlf ); 888 dayLabel->setFont( dlf );
886 dayLabel->setAutoRepeat( true ); 889 dayLabel->setAutoRepeat( true );
887 dayLabel->show(); 890 dayLabel->show();
888 dayLabel->setNum( -2 ); 891 dayLabel->setNum( -2 );
889 dayLabel->setFixedWidth( mAgenda->verticalScrollBar()->width()+ widModulo ); 892 dayLabel->setFixedWidth( mAgenda->verticalScrollBar()->width()+ widModulo );
890 893
891 //mLayoutDayLabels->addSpacing(mAgenda->verticalScrollBar()->width()+ offset+2); 894 //mLayoutDayLabels->addSpacing(mAgenda->verticalScrollBar()->width()+ offset+2);
892 if ( !appendLabels ) { 895 if ( !appendLabels ) {
893 dayLabel = mDayLabelsList.next(); 896 dayLabel = mDayLabelsList.next();
894 while ( dayLabel ) { 897 while ( dayLabel ) {
895 //qDebug("!dayLabel %d",dayLabel ); 898 //qDebug("!dayLabel %d",dayLabel );
896 dayLabel->hide(); 899 dayLabel->hide();
897 dayLabel = mDayLabelsList.next(); 900 dayLabel = mDayLabelsList.next();
898 } 901 }
899 } 902 }
900 903
901 mDayLabelsFrame->setFixedHeight( newHight + 4 ); 904 mDayLabelsFrame->setFixedHeight( newHight + 4 );
902} 905}
903 906
904int KOAgendaView::maxDatesHint() 907int KOAgendaView::maxDatesHint()
905{ 908{
906 // Not sure about the max number of events, so return 0 for now. 909 // Not sure about the max number of events, so return 0 for now.
907 return 0; 910 return 0;
908} 911}
909 912
910int KOAgendaView::currentDateCount() 913int KOAgendaView::currentDateCount()
911{ 914{
912 return mSelectedDates.count(); 915 return mSelectedDates.count();
913} 916}
914 917
915QPtrList<Incidence> KOAgendaView::selectedIncidences() 918QPtrList<Incidence> KOAgendaView::selectedIncidences()
916{ 919{
917 QPtrList<Incidence> selected; 920 QPtrList<Incidence> selected;
918 Incidence *incidence; 921 Incidence *incidence;
919 922
920 incidence = mAgenda->selectedIncidence(); 923 incidence = mAgenda->selectedIncidence();
921 if (incidence) selected.append(incidence); 924 if (incidence) selected.append(incidence);
922 925
923 incidence = mAllDayAgenda->selectedIncidence(); 926 incidence = mAllDayAgenda->selectedIncidence();
924 if (incidence) selected.append(incidence); 927 if (incidence) selected.append(incidence);
925 928
926 return selected; 929 return selected;
927} 930}
928 931
929DateList KOAgendaView::selectedDates() 932DateList KOAgendaView::selectedDates()
930{ 933{
931 DateList selected; 934 DateList selected;
932 QDate qd; 935 QDate qd;
933 936
934 qd = mAgenda->selectedIncidenceDate(); 937 qd = mAgenda->selectedIncidenceDate();
935 if (qd.isValid()) selected.append(qd); 938 if (qd.isValid()) selected.append(qd);
936 939
937 qd = mAllDayAgenda->selectedIncidenceDate(); 940 qd = mAllDayAgenda->selectedIncidenceDate();
938 if (qd.isValid()) selected.append(qd); 941 if (qd.isValid()) selected.append(qd);
939 942
940 return selected; 943 return selected;
941} 944}
942 945
943 946
944void KOAgendaView::updateView() 947void KOAgendaView::updateView()
945{ 948{
946 if ( mBlockUpdating ) 949 if ( mBlockUpdating )
947 return; 950 return;
948 // kdDebug() << "KOAgendaView::updateView()" << endl; 951 // kdDebug() << "KOAgendaView::updateView()" << endl;
949 fillAgenda(); 952 fillAgenda();
950 953
951} 954}
952 955
953 956
954/* 957/*
955 Update configuration settings for the agenda view. This method is not 958 Update configuration settings for the agenda view. This method is not
956 complete. 959 complete.
957*/ 960*/
958void KOAgendaView::updateConfig() 961void KOAgendaView::updateConfig()
959{ 962{
960 if ( mBlockUpdating ) 963 if ( mBlockUpdating )
961 return; 964 return;
962 if ( mAgenda->height() > 96 * KOPrefs::instance()->mHourSize ) { 965 if ( mAgenda->height() > 96 * KOPrefs::instance()->mHourSize ) {
963 int old = KOPrefs::instance()->mHourSize; 966 int old = KOPrefs::instance()->mHourSize;
964 KOPrefs::instance()->mHourSize = mAgenda->height()/96 +1; 967 KOPrefs::instance()->mHourSize = mAgenda->height()/96 +1;
965 //qDebug("KOPrefs::instance()->mHourSize adjusted %d to %d ", old,KOPrefs::instance()->mHourSize ); 968 //qDebug("KOPrefs::instance()->mHourSize adjusted %d to %d ", old,KOPrefs::instance()->mHourSize );
966 } 969 }
967 970
968 971
969 // update config for children 972 // update config for children
970 mTimeLabels->updateConfig(); 973 mTimeLabels->updateConfig();
971 mAgenda->storePosition(); 974 mAgenda->storePosition();
972 mAgenda->updateConfig(); 975 mAgenda->updateConfig();
973 mAllDayAgenda->updateConfig(); 976 mAllDayAgenda->updateConfig();
974 // widget synchronization 977 // widget synchronization
975 //TODO: find a better way, maybe signal/slot 978 //TODO: find a better way, maybe signal/slot
976 mTimeLabels->positionChanged(); 979 mTimeLabels->positionChanged();
977 980
978 // for some reason, this needs to be called explicitly 981 // for some reason, this needs to be called explicitly
979 mTimeLabels->repaint(); 982 mTimeLabels->repaint();
980 983
981 mDummyAllDayLeft->setFixedWidth(mTimeLabels->width()); 984 mDummyAllDayLeft->setFixedWidth(mTimeLabels->width());
982 985
983 // ToolTips displaying summary of events 986 // ToolTips displaying summary of events
984 KOAgendaItem::toolTipGroup()->setEnabled(KOPrefs::instance() 987 KOAgendaItem::toolTipGroup()->setEnabled(KOPrefs::instance()
985 ->mEnableToolTips); 988 ->mEnableToolTips);
986 989
987 //setHolidayMasks(); 990 //setHolidayMasks();
988 991
989 //createDayLabels(); called by via updateView(); 992 //createDayLabels(); called by via updateView();
990 mEventIndicatorTop->setXOffset(mTimeLabels->width() + mAgenda->frameWidth()); 993 mEventIndicatorTop->setXOffset(mTimeLabels->width() + mAgenda->frameWidth());
991 updateView(); 994 updateView();
992 mAgenda->restorePosition(); 995 mAgenda->restorePosition();
993} 996}
994 997
995 998
996void KOAgendaView::updateEventDates(KOAgendaItem *item, int type) 999void KOAgendaView::updateEventDates(KOAgendaItem *item, int type)
997{ 1000{
998 1001
999 1002
1000 int xxx = item->cellX(); 1003 int xxx = item->cellX();
1001 //qDebug("KOAgendaView::updateEventDates %d %d %d %d %d", xxx, mMinY.at(xxx),mMaxY.at(xxx),item->cellYTop(),item->cellYBottom() ); 1004 //qDebug("KOAgendaView::updateEventDates %d %d %d %d %d", xxx, mMinY.at(xxx),mMaxY.at(xxx),item->cellYTop(),item->cellYBottom() );
1002 if ( mMinY.at(xxx) > item->cellYTop() ) 1005 if ( mMinY.at(xxx) > item->cellYTop() )
1003 mMinY.at(xxx) = item->cellYTop(); 1006 mMinY.at(xxx) = item->cellYTop();
1004 if ( mMaxY.at(xxx) < item->cellYBottom() ) 1007 if ( mMaxY.at(xxx) < item->cellYBottom() )
1005 mMaxY.at(xxx) = item->cellYBottom(); 1008 mMaxY.at(xxx) = item->cellYBottom();
1006 1009
1007 QDateTime startDt,endDt; 1010 QDateTime startDt,endDt;
1008 QDate startDate; 1011 QDate startDate;
1009 int lenInSecs; 1012 int lenInSecs;
1010 // if ( type == KOAgenda::RESIZETOP ) 1013 // if ( type == KOAgenda::RESIZETOP )
1011 // qDebug("RESIZETOP "); 1014 // qDebug("RESIZETOP ");
1012 // if ( type == KOAgenda::RESIZEBOTTOM ) 1015 // if ( type == KOAgenda::RESIZEBOTTOM )
1013 // qDebug("RESIZEBOTTOM "); 1016 // qDebug("RESIZEBOTTOM ");
1014 // if ( type == KOAgenda::MOVE ) 1017 // if ( type == KOAgenda::MOVE )
1015 // qDebug("MOVE "); 1018 // qDebug("MOVE ");
1016 if ( item->incidence()->typeID() == eventID ) { 1019 if ( item->incidence()->typeID() == eventID ) {
1017 startDt =item->incidence()->dtStart(); 1020 startDt =item->incidence()->dtStart();
1018 endDt = item->incidence()->dtEnd(); 1021 endDt = item->incidence()->dtEnd();
1019 lenInSecs = startDt.secsTo( endDt ); 1022 lenInSecs = startDt.secsTo( endDt );
1020 } 1023 }
1021 1024
1022 // emit incidenceItemChanged( item->incidence(), KOGlobals::EVENTEDITED ); 1025 // emit incidenceItemChanged( item->incidence(), KOGlobals::EVENTEDITED );
1023 1026
1024 if ( item->incidence()->typeID()== todoID && item->mLastMoveXPos > 0 ) { 1027 if ( item->incidence()->typeID()== todoID && item->mLastMoveXPos > 0 ) {
1025 startDate = mSelectedDates[item->mLastMoveXPos]; 1028 startDate = mSelectedDates[item->mLastMoveXPos];
1026 } else { 1029 } else {
1027 if (item->cellX() < 0) { 1030 if (item->cellX() < 0) {
1028 startDate = (mSelectedDates.first()).addDays(item->cellX()); 1031 startDate = (mSelectedDates.first()).addDays(item->cellX());
1029 } else { 1032 } else {
1030 startDate = mSelectedDates[item->cellX()]; 1033 startDate = mSelectedDates[item->cellX()];
1031 } 1034 }
1032 } 1035 }
1033 startDt.setDate(startDate); 1036 startDt.setDate(startDate);
1034 1037
1035 if (item->incidence()->doesFloat()) { 1038 if (item->incidence()->doesFloat()) {
1036 endDt.setDate(startDate.addDays(item->cellWidth() - 1)); 1039 endDt.setDate(startDate.addDays(item->cellWidth() - 1));
1037 } else { 1040 } else {
1038 if ( type == KOAgenda::RESIZETOP || type == KOAgenda::MOVE ) 1041 if ( type == KOAgenda::RESIZETOP || type == KOAgenda::MOVE )
1039 startDt.setTime(mAgenda->gyToTime(item->cellYTop())); 1042 startDt.setTime(mAgenda->gyToTime(item->cellYTop()));
1040 if ( item->incidence()->typeID() == eventID ) { 1043 if ( item->incidence()->typeID() == eventID ) {
1041 if ( type == KOAgenda::MOVE ) { 1044 if ( type == KOAgenda::MOVE ) {
1042 endDt = startDt.addSecs(lenInSecs); 1045 endDt = startDt.addSecs(lenInSecs);
1043 1046
1044 } else if ( type == KOAgenda::RESIZEBOTTOM ) { 1047 } else if ( type == KOAgenda::RESIZEBOTTOM ) {
1045 if (item->lastMultiItem()) { 1048 if (item->lastMultiItem()) {
1046 endDt.setTime(mAgenda->gyToTime(item->lastMultiItem()->cellYBottom()+1)); 1049 endDt.setTime(mAgenda->gyToTime(item->lastMultiItem()->cellYBottom()+1));
1047 endDt.setDate(startDate. 1050 endDt.setDate(startDate.
1048 addDays(item->lastMultiItem()->cellX() - item->cellX())); 1051 addDays(item->lastMultiItem()->cellX() - item->cellX()));
1049 } else { 1052 } else {
1050 endDt.setTime(mAgenda->gyToTime(item->cellYBottom()+1)); 1053 endDt.setTime(mAgenda->gyToTime(item->cellYBottom()+1));
1051 endDt.setDate(startDate); 1054 endDt.setDate(startDate);
1052 } 1055 }
1053 } 1056 }
1054 } else { 1057 } else {
1055 // todo 1058 // todo
1056 if (item->lastMultiItem()) { 1059 if (item->lastMultiItem()) {
1057 endDt.setTime(mAgenda->gyToTime(item->lastMultiItem()->cellYBottom()+1)); 1060 endDt.setTime(mAgenda->gyToTime(item->lastMultiItem()->cellYBottom()+1));
1058 endDt.setDate(startDate. 1061 endDt.setDate(startDate.
1059 addDays(item->lastMultiItem()->cellX() - item->cellX())); 1062 addDays(item->lastMultiItem()->cellX() - item->cellX()));
1060 } else { 1063 } else {
1061 //qDebug("tem->cellYBottom() %d",item->cellYBottom() ); 1064 //qDebug("tem->cellYBottom() %d",item->cellYBottom() );
1062 if ( item->cellYBottom() > 0 ) 1065 if ( item->cellYBottom() > 0 )
1063 endDt.setTime(mAgenda->gyToTime(item->cellYBottom()+1)); 1066 endDt.setTime(mAgenda->gyToTime(item->cellYBottom()+1));
1064 else 1067 else
1065 endDt.setTime((static_cast<Todo*>(item->incidence()))->dtDue().time()); 1068 endDt.setTime((static_cast<Todo*>(item->incidence()))->dtDue().time());
1066 endDt.setDate(startDate); 1069 endDt.setDate(startDate);
1067 } 1070 }
1068 } 1071 }
1069 } 1072 }
1070 if ( item->incidence()->typeID() == eventID ) { 1073 if ( item->incidence()->typeID() == eventID ) {
1071 item->incidence()->setDtStart(startDt); 1074 item->incidence()->setDtStart(startDt);
1072 (static_cast<Event*>(item->incidence()))->setDtEnd(endDt); 1075 (static_cast<Event*>(item->incidence()))->setDtEnd(endDt);
1073 } else if ( item->incidence()->typeID() == todoID ) { 1076 } else if ( item->incidence()->typeID() == todoID ) {
1074 Todo* to = static_cast<Todo*>(item->incidence()); 1077 Todo* to = static_cast<Todo*>(item->incidence());
1075 1078
1076 to->setDtDue(endDt); 1079 to->setDtDue(endDt);
1077 if ( to->hasStartDate() ) { 1080 if ( to->hasStartDate() ) {
1078 if (to->dtStart() >= to->dtDue() ) 1081 if (to->dtStart() >= to->dtDue() )
1079 to->setDtStart(to->dtDue().addDays( -2 )); 1082 to->setDtStart(to->dtDue().addDays( -2 ));
1080 } 1083 }
1081 1084
1082 } 1085 }
1083 //qDebug("KOAgendaView::updateEventDates stsart %s end %s ", startDt.toString().latin1(), endDt.toString().latin1() ); 1086 //qDebug("KOAgendaView::updateEventDates stsart %s end %s ", startDt.toString().latin1(), endDt.toString().latin1() );
1084 item->incidence()->setRevision(item->incidence()->revision()+1); 1087 item->incidence()->setRevision(item->incidence()->revision()+1);
1085 item->setItemDate(startDt.date()); 1088 item->setItemDate(startDt.date());
1086 //item->updateItem(); 1089 //item->updateItem();
1087 if ( item->incidence()->typeID() == todoID ) { 1090 if ( item->incidence()->typeID() == todoID ) {
1088 emit todoMoved((Todo*)item->incidence(), KOGlobals::EVENTEDITED ); 1091 emit todoMoved((Todo*)item->incidence(), KOGlobals::EVENTEDITED );
1089 1092
1090 } 1093 }
1091 else 1094 else
1092 emit incidenceChanged(item->incidence(), KOGlobals::EVENTEDITED); 1095 emit incidenceChanged(item->incidence(), KOGlobals::EVENTEDITED);
1093 item->updateItem(); 1096 item->updateItem();
1094} 1097}
1095 1098
1096void KOAgendaView::showDates( const QDate &start, const QDate &end ) 1099void KOAgendaView::showDates( const QDate &start, const QDate &end )
1097{ 1100{
1098 // kdDebug() << "KOAgendaView::selectDates" << endl; 1101 // kdDebug() << "KOAgendaView::selectDates" << endl;
1099 1102
1100 mSelectedDates.clear(); 1103 mSelectedDates.clear();
1101 // qDebug("KOAgendaView::showDates "); 1104 // qDebug("KOAgendaView::showDates ");
1102 QDate d = start; 1105 QDate d = start;
1103 while (d <= end) { 1106 while (d <= end) {
1104 mSelectedDates.append(d); 1107 mSelectedDates.append(d);
1105 d = d.addDays( 1 ); 1108 d = d.addDays( 1 );
1106 } 1109 }
1107 1110
1108 // and update the view 1111 // and update the view
1109 fillAgenda(); 1112 fillAgenda();
1110} 1113}
1111 1114
1112 1115
1113void KOAgendaView::showEvents(QPtrList<Event>) 1116void KOAgendaView::showEvents(QPtrList<Event>)
1114{ 1117{
1115 kdDebug() << "KOAgendaView::showEvents() is not yet implemented" << endl; 1118 kdDebug() << "KOAgendaView::showEvents() is not yet implemented" << endl;
1116} 1119}
1117 1120
1118void KOAgendaView::changeEventDisplay(Event *, int) 1121void KOAgendaView::changeEventDisplay(Event *, int)
1119{ 1122{
1120 // qDebug("KOAgendaView::changeEventDisplay "); 1123 // qDebug("KOAgendaView::changeEventDisplay ");
1121 // kdDebug() << "KOAgendaView::changeEventDisplay" << endl; 1124 // kdDebug() << "KOAgendaView::changeEventDisplay" << endl;
1122 // this should be re-written to be MUCH smarter. Right now we 1125 // this should be re-written to be MUCH smarter. Right now we
1123 // are just playing dumb. 1126 // are just playing dumb.
1124 fillAgenda(); 1127 fillAgenda();
1125} 1128}
1126 1129
1127void KOAgendaView::fillAgenda(const QDate &) 1130void KOAgendaView::fillAgenda(const QDate &)
1128{ 1131{
1129 // qDebug("KOAgendaView::fillAgenda "); 1132 // qDebug("KOAgendaView::fillAgenda ");
1130 fillAgenda(); 1133 fillAgenda();
1131} 1134}
1132 1135
1133void KOAgendaView::fillAgenda() 1136void KOAgendaView::fillAgenda()
1134{ 1137{
1135 if ( globalFlagBlockStartup ) 1138 if ( globalFlagBlockStartup )
1136 return; 1139 return;
1137 if ( globalFlagBlockAgenda == 1 ) 1140 if ( globalFlagBlockAgenda == 1 )
1138 return; 1141 return;
1139 static bool onlyOne = false; 1142 static bool onlyOne = false;
1140 if ( onlyOne ) 1143 if ( onlyOne )
1141 return; 1144 return;
1142 onlyOne = true; 1145 onlyOne = true;
1143 //if ( globalFlagBlockAgenda == 2 ) 1146 //if ( globalFlagBlockAgenda == 2 )
1144 //globalFlagBlockAgenda = 0; 1147 //globalFlagBlockAgenda = 0;
1145 // globalFlagBlockPainting = false; 1148 // globalFlagBlockPainting = false;
1146 if ( globalFlagBlockAgenda == 0 ) 1149 if ( globalFlagBlockAgenda == 0 )
1147 globalFlagBlockAgenda = 1; 1150 globalFlagBlockAgenda = 1;
1148 // clearView(); 1151 // clearView();
1149 //qDebug("fillAgenda()++++ "); 1152 //qDebug("fillAgenda()++++ ");
1150 globalFlagBlockAgendaItemPaint = 1; 1153 globalFlagBlockAgendaItemPaint = 1;
1151 1154
1152 mAllDayAgenda->changeColumns(mSelectedDates.count()); 1155 mAllDayAgenda->changeColumns(mSelectedDates.count());
1153 mAgenda->changeColumns(mSelectedDates.count()); 1156 mAgenda->changeColumns(mSelectedDates.count());
1154 qApp->processEvents(); 1157 qApp->processEvents();
1155 mEventIndicatorTop->changeColumns(mSelectedDates.count()); 1158 mEventIndicatorTop->changeColumns(mSelectedDates.count());
1156 mEventIndicatorBottom->changeColumns(mSelectedDates.count()); 1159 mEventIndicatorBottom->changeColumns(mSelectedDates.count());
1157 setHolidayMasks(); 1160 setHolidayMasks();
1158 1161
1159 mMinY.resize(mSelectedDates.count()); 1162 mMinY.resize(mSelectedDates.count());
1160 mMaxY.resize(mSelectedDates.count()); 1163 mMaxY.resize(mSelectedDates.count());
1161 1164
1162 QPtrList<Event> dayEvents; 1165 QPtrList<Event> dayEvents;
1163 1166
1164 // ToDo items shall be displayed for the day they are due, but only showed today if they are already overdue. 1167 // ToDo items shall be displayed for the day they are due, but only showed today if they are already overdue.
1165 // Therefore, gtodoset all of them. 1168 // Therefore, gtodoset all of them.
1166 QPtrList<Todo> todos = calendar()->todos(); 1169 QPtrList<Todo> todos = calendar()->todos();
1167 1170
1168 mAgenda->setDateList(mSelectedDates); 1171 mAgenda->setDateList(mSelectedDates);
1169 1172
1170 QDate today = QDate::currentDate(); 1173 QDate today = QDate::currentDate();
1171 1174
1172 DateList::ConstIterator dit; 1175 DateList::ConstIterator dit;
1173 int curCol = 0; 1176 int curCol = 0;
1174 for( dit = mSelectedDates.begin(); dit != mSelectedDates.end(); ++dit ) { 1177 for( dit = mSelectedDates.begin(); dit != mSelectedDates.end(); ++dit ) {
1175 QDate currentDate = *dit; 1178 QDate currentDate = *dit;
1176 // kdDebug() << "KOAgendaView::fillAgenda(): " << currentDate.toString() 1179 // kdDebug() << "KOAgendaView::fillAgenda(): " << currentDate.toString()
1177 // << endl; 1180 // << endl;
1178 1181
1179 dayEvents = calendar()->events(currentDate,false); 1182 dayEvents = calendar()->events(currentDate,false);
1180 1183
1181 // Default values, which can never be reached 1184 // Default values, which can never be reached
1182 mMinY[curCol] = mAgenda->timeToY(QTime(23,59)) + 1; 1185 mMinY[curCol] = mAgenda->timeToY(QTime(23,59)) + 1;
1183 mMaxY[curCol] = mAgenda->timeToY(QTime(0,0)) - 1; 1186 mMaxY[curCol] = mAgenda->timeToY(QTime(0,0)) - 1;
1184 1187
1185 unsigned int numEvent; 1188 unsigned int numEvent;
1186 for(numEvent=0;numEvent<dayEvents.count();++numEvent) { 1189 for(numEvent=0;numEvent<dayEvents.count();++numEvent) {
1187 Event *event = dayEvents.at(numEvent); 1190 Event *event = dayEvents.at(numEvent);
1188 if ( !KOPrefs::instance()->mShowSyncEvents && event->uid().left(2) == QString("la") ) 1191 if ( !KOPrefs::instance()->mShowSyncEvents && event->uid().left(2) == QString("la") )
1189 if ( event->uid().left(15) == QString("last-syncEvent-") ) 1192 if ( event->uid().left(15) == QString("last-syncEvent-") )
1190 continue; 1193 continue;
1191 // kdDebug() << " Event: " << event->summary() << endl; 1194 // kdDebug() << " Event: " << event->summary() << endl;
1192 1195
1193 int beginX = currentDate.daysTo(event->dtStart().date()) + curCol; 1196 int beginX = currentDate.daysTo(event->dtStart().date()) + curCol;
1194 int endX = currentDate.daysTo(event->dtEnd().date()) + curCol; 1197 int endX = currentDate.daysTo(event->dtEnd().date()) + curCol;
1195 1198
1196 // kdDebug() << " beginX: " << beginX << " endX: " << endX << endl; 1199 // kdDebug() << " beginX: " << beginX << " endX: " << endX << endl;
1197 1200
1198 if (event->doesFloat()) { 1201 if (event->doesFloat()) {
1199 if (event->recurrence()->doesRecur()) { 1202 if (event->recurrence()->doesRecur()) {
1200 if (event->isMultiDay() ) { 1203 if (event->isMultiDay() ) {
1201 endX = endX - beginX;// endX is now number of days 1204 endX = endX - beginX;// endX is now number of days
1202 if ( event->recursOn( currentDate ) ) { 1205 if ( event->recursOn( currentDate ) ) {
1203 endX += curCol; 1206 endX += curCol;
1204 beginX = curCol; 1207 beginX = curCol;
1205 mAllDayAgenda->insertAllDayItem(event,currentDate,beginX,endX); 1208 mAllDayAgenda->insertAllDayItem(event,currentDate,beginX,endX);
1206 } else { 1209 } else {
1207 //qDebug("days %d %s",endX , currentDate.toString().latin1()); 1210 //qDebug("days %d %s",endX , currentDate.toString().latin1());
1208 QDate dateit = currentDate.addDays( -endX ); 1211 QDate dateit = currentDate.addDays( -endX );
1209 if ( event->recursOn( dateit ) ) { 1212 if ( event->recursOn( dateit ) ) {
1210 //qDebug("found %d %d %d %s", endX,curCol, curCol-endX ,dateit.toString().latin1() ); 1213 //qDebug("found %d %d %d %s", endX,curCol, curCol-endX ,dateit.toString().latin1() );
1211 if ( curCol-endX < 0 ) { 1214 if ( curCol-endX < 0 ) {
1212 mAllDayAgenda->insertAllDayItem(event,currentDate,0,curCol); 1215 mAllDayAgenda->insertAllDayItem(event,currentDate,0,curCol);
1213 } 1216 }
1214 } 1217 }
1215 } 1218 }
1216 } else { 1219 } else {
1217 mAllDayAgenda->insertAllDayItem(event,currentDate,curCol,curCol); 1220 mAllDayAgenda->insertAllDayItem(event,currentDate,curCol,curCol);
1218 } 1221 }
1219 1222
1220 } else { 1223 } else {
1221 if (beginX <= 0 && curCol == 0) { 1224 if (beginX <= 0 && curCol == 0) {
1222 mAllDayAgenda->insertAllDayItem(event,currentDate,beginX,endX); 1225 mAllDayAgenda->insertAllDayItem(event,currentDate,beginX,endX);
1223 } else if (beginX == curCol) { 1226 } else if (beginX == curCol) {
diff --git a/korganizer/mainwindow.cpp b/korganizer/mainwindow.cpp
index cbf6096..e960424 100644
--- a/korganizer/mainwindow.cpp
+++ b/korganizer/mainwindow.cpp
@@ -638,1110 +638,1118 @@ void MainWindow::setUsesBigPixmaps ( bool b )
638 if ( b ) 638 if ( b )
639 qDebug("KO: BigPixmaps are not supported "); 639 qDebug("KO: BigPixmaps are not supported ");
640} 640}
641void MainWindow::initActions() 641void MainWindow::initActions()
642{ 642{
643 //KOPrefs::instance()->mShowFullMenu 643 //KOPrefs::instance()->mShowFullMenu
644 iconToolBar->clear(); 644 iconToolBar->clear();
645 KOPrefs *p = KOPrefs::instance(); 645 KOPrefs *p = KOPrefs::instance();
646 //QPEMenuBar *menuBar1;// = new QPEMenuBar( iconToolBar ); 646 //QPEMenuBar *menuBar1;// = new QPEMenuBar( iconToolBar );
647 647
648 QPopupMenu *viewMenu = new QPopupMenu( this ); 648 QPopupMenu *viewMenu = new QPopupMenu( this );
649 QPopupMenu *actionMenu = new QPopupMenu( this ); 649 QPopupMenu *actionMenu = new QPopupMenu( this );
650 mCurrentItemMenu = new QPopupMenu ( this ); 650 mCurrentItemMenu = new QPopupMenu ( this );
651 QPopupMenu *importMenu = new QPopupMenu( this ); 651 QPopupMenu *importMenu = new QPopupMenu( this );
652 QPopupMenu *importMenu_X = new QPopupMenu( this ); 652 QPopupMenu *importMenu_X = new QPopupMenu( this );
653 QPopupMenu *exportMenu_X = new QPopupMenu( this ); 653 QPopupMenu *exportMenu_X = new QPopupMenu( this );
654 QPopupMenu *beamMenu_X = new QPopupMenu( this ); 654 QPopupMenu *beamMenu_X = new QPopupMenu( this );
655 selectFilterMenu = new QPopupMenu( this ); 655 selectFilterMenu = new QPopupMenu( this );
656 selectFilterMenu->setCheckable( true ); 656 selectFilterMenu->setCheckable( true );
657 syncMenu = new QPopupMenu( this ); 657 syncMenu = new QPopupMenu( this );
658 configureAgendaMenu = new QPopupMenu( this ); 658 configureAgendaMenu = new QPopupMenu( this );
659 configureToolBarMenu = new QPopupMenu( this ); 659 configureToolBarMenu = new QPopupMenu( this );
660 QPopupMenu *helpMenu = new QPopupMenu( this ); 660 QPopupMenu *helpMenu = new QPopupMenu( this );
661 QIconSet icon; 661 QIconSet icon;
662 int pixWid = 22, pixHei = 22; 662 int pixWid = 22, pixHei = 22;
663 QString pathString = ""; 663 QString pathString = "";
664 if ( !p->mToolBarMiniIcons ) { 664 if ( !p->mToolBarMiniIcons ) {
665 if ( QApplication::desktop()->width() < 480 /*|| QApplication::desktop()->height() < 320*/) { 665 if ( QApplication::desktop()->width() < 480 /*|| QApplication::desktop()->height() < 320*/) {
666 pathString += "icons16/"; 666 pathString += "icons16/";
667 pixWid = 18; pixHei = 16; 667 pixWid = 18; pixHei = 16;
668 } 668 }
669 } else { 669 } else {
670 pathString += "iconsmini/"; 670 pathString += "iconsmini/";
671 pixWid = 18; pixHei = 16; 671 pixWid = 18; pixHei = 16;
672 } 672 }
673 if ( KOPrefs::instance()->mShowFullMenu ) { 673 if ( KOPrefs::instance()->mShowFullMenu ) {
674 QMenuBar *menuBar1; 674 QMenuBar *menuBar1;
675 menuBar1 = menuBar(); 675 menuBar1 = menuBar();
676 menuBar1->insertItem( i18n("File"), importMenu ); 676 menuBar1->insertItem( i18n("File"), importMenu );
677 menuBar1->insertItem( i18n("View"), viewMenu ); 677 menuBar1->insertItem( i18n("View"), viewMenu );
678 menuBar1->insertItem( i18n("Edit"), mCurrentItemMenu ); 678 menuBar1->insertItem( i18n("Edit"), mCurrentItemMenu );
679 menuBar1->insertItem( i18n("Action"), actionMenu ); 679 menuBar1->insertItem( i18n("Action"), actionMenu );
680#ifdef DESKTOP_VERSION 680#ifdef DESKTOP_VERSION
681 menuBar1->insertItem( i18n("Synchronize"), syncMenu ); 681 menuBar1->insertItem( i18n("Synchronize"), syncMenu );
682 menuBar1->insertItem( i18n("AgendaSize"),configureAgendaMenu ); 682 menuBar1->insertItem( i18n("AgendaSize"),configureAgendaMenu );
683#else 683#else
684 menuBar1->insertItem( i18n("Sync"), syncMenu ); 684 menuBar1->insertItem( i18n("Sync"), syncMenu );
685 menuBar1->insertItem( i18n("Agenda"),configureAgendaMenu ); 685 menuBar1->insertItem( i18n("Agenda"),configureAgendaMenu );
686#endif 686#endif
687 //menuBar1->insertItem( i18n("Toolbar"),configureToolBarMenu ); 687 //menuBar1->insertItem( i18n("Toolbar"),configureToolBarMenu );
688 menuBar1->insertItem( i18n("Filter"),selectFilterMenu ); 688 menuBar1->insertItem( i18n("Filter"),selectFilterMenu );
689 menuBar1->insertItem( i18n("Help"), helpMenu ); 689 menuBar1->insertItem( i18n("Help"), helpMenu );
690 } else { 690 } else {
691 QPEMenuBar *menuBar1; 691 QPEMenuBar *menuBar1;
692 menuBar1 = new QPEMenuBar( iconToolBar ); 692 menuBar1 = new QPEMenuBar( iconToolBar );
693 QPopupMenu *menuBar = new QPopupMenu( this ); 693 QPopupMenu *menuBar = new QPopupMenu( this );
694 icon = loadPixmap( pathString + "z_menu" ); 694 icon = loadPixmap( pathString + "z_menu" );
695 menuBar1->insertItem( icon.pixmap(), menuBar); 695 menuBar1->insertItem( icon.pixmap(), menuBar);
696 //menuBar1->insertItem( i18n("ME"), menuBar); 696 //menuBar1->insertItem( i18n("ME"), menuBar);
697 menuBar->insertItem( i18n("File"), importMenu ); 697 menuBar->insertItem( i18n("File"), importMenu );
698 menuBar->insertItem( i18n("View"), viewMenu ); 698 menuBar->insertItem( i18n("View"), viewMenu );
699 menuBar->insertItem( i18n("Edit"), mCurrentItemMenu ); 699 menuBar->insertItem( i18n("Edit"), mCurrentItemMenu );
700 menuBar->insertItem( i18n("Action"), actionMenu ); 700 menuBar->insertItem( i18n("Action"), actionMenu );
701 menuBar->insertItem( i18n("Synchronize"), syncMenu ); 701 menuBar->insertItem( i18n("Synchronize"), syncMenu );
702 menuBar->insertItem( i18n("AgendaSize"),configureAgendaMenu ); 702 menuBar->insertItem( i18n("AgendaSize"),configureAgendaMenu );
703 menuBar->insertItem( i18n("Toolbar"),configureToolBarMenu ); 703 menuBar->insertItem( i18n("Toolbar"),configureToolBarMenu );
704 menuBar->insertItem( i18n("Filter"),selectFilterMenu ); 704 menuBar->insertItem( i18n("Filter"),selectFilterMenu );
705 menuBar->insertItem( i18n("Help"), helpMenu ); 705 menuBar->insertItem( i18n("Help"), helpMenu );
706 //menuBar1->setMaximumWidth( menuBar1->sizeHint().width() ); 706 //menuBar1->setMaximumWidth( menuBar1->sizeHint().width() );
707 menuBar1->setMaximumSize( menuBar1->sizeHint( )); 707 menuBar1->setMaximumSize( menuBar1->sizeHint( ));
708 } 708 }
709 connect ( selectFilterMenu, SIGNAL( activated ( int ) ), this, SLOT (selectFilter( int ) ) ); 709 connect ( selectFilterMenu, SIGNAL( activated ( int ) ), this, SLOT (selectFilter( int ) ) );
710 connect ( selectFilterMenu, SIGNAL( aboutToShow() ), this, SLOT (fillFilterMenu() ) ); 710 connect ( selectFilterMenu, SIGNAL( aboutToShow() ), this, SLOT (fillFilterMenu() ) );
711 711
712 712
713 mWeekBgColor = iconToolBar->backgroundColor(); 713 mWeekBgColor = iconToolBar->backgroundColor();
714 mWeekPixmap.resize( pixWid , pixHei ); 714 mWeekPixmap.resize( pixWid , pixHei );
715 mWeekPixmap.fill( mWeekBgColor ); 715 mWeekPixmap.fill( mWeekBgColor );
716 icon = mWeekPixmap; 716 icon = mWeekPixmap;
717 mWeekAction = new QAction( i18n("Select week number"),icon, i18n("Select week number"), 0, this ); 717 mWeekAction = new QAction( i18n("Select week number"),icon, i18n("Select week number"), 0, this );
718 if ( p-> mShowIconWeekNum ) 718 if ( p-> mShowIconWeekNum )
719 mWeekAction->addTo( iconToolBar ); 719 mWeekAction->addTo( iconToolBar );
720 mWeekFont = font(); 720 mWeekFont = font();
721 721
722 int fontPoint = mWeekFont.pointSize(); 722 int fontPoint = mWeekFont.pointSize();
723 QFontMetrics f( mWeekFont ); 723 QFontMetrics f( mWeekFont );
724 int fontWid = f.width( "30" ); 724 int fontWid = f.width( "30" );
725 while ( fontWid > pixWid ) { 725 while ( fontWid > pixWid ) {
726 --fontPoint; 726 --fontPoint;
727 mWeekFont.setPointSize( fontPoint ); 727 mWeekFont.setPointSize( fontPoint );
728 QFontMetrics f( mWeekFont ); 728 QFontMetrics f( mWeekFont );
729 fontWid = f.width( "30" ); 729 fontWid = f.width( "30" );
730 //qDebug("dec-- "); 730 //qDebug("dec-- ");
731 } 731 }
732 732
733 connect( mWeekAction, SIGNAL( activated() ), 733 connect( mWeekAction, SIGNAL( activated() ),
734 this, SLOT( weekAction() ) ); 734 this, SLOT( weekAction() ) );
735 735
736 connect( this, SIGNAL( selectWeek ( int ) ), mView->dateNavigator(), SLOT( selectWeek ( int ) ) ); 736 connect( this, SIGNAL( selectWeek ( int ) ), mView->dateNavigator(), SLOT( selectWeek ( int ) ) );
737 if ( p->mShowIconFilterview ) { 737 if ( p->mShowIconFilterview ) {
738 icon = loadPixmap( pathString + "filter" ); 738 icon = loadPixmap( pathString + "filter" );
739 actionFilterMenuTB = new QAction( i18n("Filter selector"), icon, i18n("Filter selector"), 0, this ); 739 actionFilterMenuTB = new QAction( i18n("Filter selector"), icon, i18n("Filter selector"), 0, this );
740 connect( actionFilterMenuTB, SIGNAL( activated() ), 740 connect( actionFilterMenuTB, SIGNAL( activated() ),
741 this, SLOT( fillFilterMenuTB() ) ); 741 this, SLOT( fillFilterMenuTB() ) );
742 actionFilterMenuTB->addTo( iconToolBar ); 742 actionFilterMenuTB->addTo( iconToolBar );
743 selectFilterMenuTB = new QPopupMenu( this ); 743 selectFilterMenuTB = new QPopupMenu( this );
744 selectFilterMenuTB->setCheckable( true ); 744 selectFilterMenuTB->setCheckable( true );
745 connect ( selectFilterMenuTB, SIGNAL( activated ( int ) ), this, SLOT (selectFilter( int ) ) ); 745 connect ( selectFilterMenuTB, SIGNAL( activated ( int ) ), this, SLOT (selectFilter( int ) ) );
746 } 746 }
747 747
748 //#endif 748 //#endif
749 // ****************** 749 // ******************
750 QAction *action; 750 QAction *action;
751 // QPopupMenu *configureMenu= new QPopupMenu( menuBar ); 751 // QPopupMenu *configureMenu= new QPopupMenu( menuBar );
752 configureToolBarMenu->setCheckable( true ); 752 configureToolBarMenu->setCheckable( true );
753 753
754 754
755 configureAgendaMenu->setCheckable( true ); 755 configureAgendaMenu->setCheckable( true );
756 int iii ; 756 int iii ;
757 for ( iii = 1;iii<= 10 ;++iii ){ 757 for ( iii = 1;iii<= 10 ;++iii ){
758 configureAgendaMenu->insertItem(i18n("Size %1").arg(iii), (iii+1)*2 ); 758 configureAgendaMenu->insertItem(i18n("Size %1").arg(iii), (iii+1)*2 );
759 } 759 }
760 //configureMenu->insertItem( "AgendaSize",configureAgendaMenu ); 760 //configureMenu->insertItem( "AgendaSize",configureAgendaMenu );
761 761
762 connect( configureAgendaMenu, SIGNAL( aboutToShow()), 762 connect( configureAgendaMenu, SIGNAL( aboutToShow()),
763 this, SLOT( showConfigureAgenda( ) ) ); 763 this, SLOT( showConfigureAgenda( ) ) );
764 icon = loadPixmap( pathString + "today" ); 764 icon = loadPixmap( pathString + "today" );
765 QAction* today_action = new QAction( i18n("Go to Today"), icon, i18n("Go to Today"), 0, this ); 765 QAction* today_action = new QAction( i18n("Go to Today"), icon, i18n("Go to Today"), 0, this );
766 today_action->addTo( actionMenu ); 766 today_action->addTo( actionMenu );
767 connect( today_action, SIGNAL( activated() ), 767 connect( today_action, SIGNAL( activated() ),
768 mView, SLOT( goToday() ) ); 768 mView, SLOT( goToday() ) );
769 769
770 icon = loadPixmap( pathString + "picker" ); 770 icon = loadPixmap( pathString + "picker" );
771 QAction* dPickerAction = new QAction( i18n("Select Date..."), icon, i18n("Select Date..."), 0, this ); 771 QAction* dPickerAction = new QAction( i18n("Select Date..."), icon, i18n("Select Date..."), 0, this );
772 dPickerAction->addTo( actionMenu ); 772 dPickerAction->addTo( actionMenu );
773 connect( dPickerAction, SIGNAL( activated() ), 773 connect( dPickerAction, SIGNAL( activated() ),
774 mView, SLOT( showDatePicker() ) ); 774 mView, SLOT( showDatePicker() ) );
775 775
776 icon = loadPixmap( pathString + "search" ); 776 icon = loadPixmap( pathString + "search" );
777 QAction* search_action = new QAction( i18n("Search"), icon, i18n("Search..."), 0, this ); 777 QAction* search_action = new QAction( i18n("Search"), icon, i18n("Search..."), 0, this );
778 search_action->addTo( actionMenu ); 778 search_action->addTo( actionMenu );
779 connect( search_action, SIGNAL( activated() ), 779 connect( search_action, SIGNAL( activated() ),
780 mView->dialogManager(), SLOT( showSearchDialog() ) ); 780 mView->dialogManager(), SLOT( showSearchDialog() ) );
781 781
782 actionMenu->insertSeparator(); 782 actionMenu->insertSeparator();
783 783
784 784
785 785
786 action = new QAction( i18n("Undo Delete"), i18n("Undo Delete..."), 0, this ); 786 action = new QAction( i18n("Undo Delete"), i18n("Undo Delete..."), 0, this );
787 action->addTo( mCurrentItemMenu ); 787 action->addTo( mCurrentItemMenu );
788 connect( action, SIGNAL( activated() ), 788 connect( action, SIGNAL( activated() ),
789 mView, SLOT( undo_delete() ) ); 789 mView, SLOT( undo_delete() ) );
790 mCurrentItemMenu->insertSeparator(); 790 mCurrentItemMenu->insertSeparator();
791 icon = loadPixmap( pathString + "newevent" ); 791 icon = loadPixmap( pathString + "newevent" );
792 configureToolBarMenu->insertItem(i18n("Stretched TB"), 5 ); 792 configureToolBarMenu->insertItem(i18n("Stretched TB"), 5 );
793 configureToolBarMenu->insertItem(i18n("Only one toolbar"), 6 ); 793 configureToolBarMenu->insertItem(i18n("Only one toolbar"), 6 );
794 configureToolBarMenu->insertSeparator(); 794 configureToolBarMenu->insertSeparator();
795 configureToolBarMenu->insertItem(i18n("Filtermenu"), 7 ); 795 configureToolBarMenu->insertItem(i18n("Filtermenu"), 7 );
796 configureToolBarMenu->insertSeparator(); 796 configureToolBarMenu->insertSeparator();
797 configureToolBarMenu->insertItem(i18n("Week Number"), 400); 797 configureToolBarMenu->insertItem(i18n("Week Number"), 400);
798 configureToolBarMenu->insertItem(icon, i18n("New Event..."), 10 ); 798 configureToolBarMenu->insertItem(icon, i18n("New Event..."), 10 );
799 799
800 //actionMenu->insertItem ( i18n("Selected Item"), mCurrentItemMenu); 800 //actionMenu->insertItem ( i18n("Selected Item"), mCurrentItemMenu);
801 mShowAction = new QAction( "show_incidence", i18n("Show"), 0, this ); 801 mShowAction = new QAction( "show_incidence", i18n("Show"), 0, this );
802 mShowAction->addTo( mCurrentItemMenu ); 802 mShowAction->addTo( mCurrentItemMenu );
803 connect( mShowAction, SIGNAL( activated() ), 803 connect( mShowAction, SIGNAL( activated() ),
804 mView, SLOT( showIncidence() ) ); 804 mView, SLOT( showIncidence() ) );
805 805
806 mEditAction = new QAction( "edit_incidence", i18n("Edit..."), 0, this ); 806 mEditAction = new QAction( "edit_incidence", i18n("Edit..."), 0, this );
807 mEditAction->addTo( mCurrentItemMenu ); 807 mEditAction->addTo( mCurrentItemMenu );
808 connect( mEditAction, SIGNAL( activated() ), 808 connect( mEditAction, SIGNAL( activated() ),
809 mView, SLOT( editIncidence() ) ); 809 mView, SLOT( editIncidence() ) );
810 810
811 mDeleteAction = new QAction( "delete_incidence", i18n("Delete..."), 0, this ); 811 mDeleteAction = new QAction( "delete_incidence", i18n("Delete..."), 0, this );
812 mDeleteAction->addTo( mCurrentItemMenu ); 812 mDeleteAction->addTo( mCurrentItemMenu );
813 connect( mDeleteAction, SIGNAL( activated() ), 813 connect( mDeleteAction, SIGNAL( activated() ),
814 mView, SLOT( deleteIncidence() ) ); 814 mView, SLOT( deleteIncidence() ) );
815 815
816 816
817 mCloneAction = new QAction( "clone_incidence", i18n("Clone..."), 0, this ); 817 mCloneAction = new QAction( "clone_incidence", i18n("Clone..."), 0, this );
818 mCloneAction->addTo( mCurrentItemMenu ); 818 mCloneAction->addTo( mCurrentItemMenu );
819 connect( mCloneAction, SIGNAL( activated() ), 819 connect( mCloneAction, SIGNAL( activated() ),
820 mView, SLOT( cloneIncidence() ) ); 820 mView, SLOT( cloneIncidence() ) );
821 mMoveAction = new QAction( "Move_incidence", i18n("Move..."), 0, this ); 821 mMoveAction = new QAction( "Move_incidence", i18n("Move..."), 0, this );
822 mMoveAction->addTo( mCurrentItemMenu ); 822 mMoveAction->addTo( mCurrentItemMenu );
823 connect( mMoveAction, SIGNAL( activated() ), 823 connect( mMoveAction, SIGNAL( activated() ),
824 mView, SLOT( moveIncidence() ) ); 824 mView, SLOT( moveIncidence() ) );
825#ifndef DESKTOP_VERSION 825#ifndef DESKTOP_VERSION
826 mBeamAction = new QAction( "Beam_incidence", i18n("Beam..."), 0, this ); 826 mBeamAction = new QAction( "Beam_incidence", i18n("Beam..."), 0, this );
827 mBeamAction->addTo(mCurrentItemMenu ); 827 mBeamAction->addTo(mCurrentItemMenu );
828 connect( mBeamAction, SIGNAL( activated() ), 828 connect( mBeamAction, SIGNAL( activated() ),
829 mView, SLOT( beamIncidence() ) ); 829 mView, SLOT( beamIncidence() ) );
830#endif 830#endif
831 mCancelAction = new QAction( "Cancel_incidence", i18n("Toggle Cancel"), 0, this ); 831 mCancelAction = new QAction( "Cancel_incidence", i18n("Toggle Cancel"), 0, this );
832 mCancelAction->addTo( mCurrentItemMenu ); 832 mCancelAction->addTo( mCurrentItemMenu );
833 connect( mCancelAction, SIGNAL( activated() ), 833 connect( mCancelAction, SIGNAL( activated() ),
834 mView, SLOT( toggleCancelIncidence() ) ); 834 mView, SLOT( toggleCancelIncidence() ) );
835 835
836 QAction* ne_action = new QAction( i18n("New Event..."), icon, i18n("New Event..."), 0, this ); 836 QAction* ne_action = new QAction( i18n("New Event..."), icon, i18n("New Event..."), 0, this );
837 ne_action->addTo( actionMenu ); 837 ne_action->addTo( actionMenu );
838 connect( ne_action, SIGNAL( activated() ), 838 connect( ne_action, SIGNAL( activated() ),
839 mView, SLOT( newEvent() ) ); 839 mView, SLOT( newEvent() ) );
840 icon = loadPixmap( pathString + "newtodo" ); 840 icon = loadPixmap( pathString + "newtodo" );
841 configureToolBarMenu->insertItem(icon, i18n("New Todo..."), 20 ); 841 configureToolBarMenu->insertItem(icon, i18n("New Todo..."), 20 );
842 QAction* nt_action = new QAction( i18n("New Todo..."), icon, i18n("New Todo..."), 0, this ); 842 QAction* nt_action = new QAction( i18n("New Todo..."), icon, i18n("New Todo..."), 0, this );
843 nt_action->addTo( actionMenu ); 843 nt_action->addTo( actionMenu );
844 connect( nt_action, SIGNAL( activated() ), 844 connect( nt_action, SIGNAL( activated() ),
845 mView, SLOT( newTodo() ) ); 845 mView, SLOT( newTodo() ) );
846 846
847 847
848 848
849 // *********************** 849 // ***********************
850 if ( KOPrefs::instance()->mVerticalScreen ) { 850 if ( KOPrefs::instance()->mVerticalScreen ) {
851 icon = SmallIcon( "1updownarrow" ); 851 icon = SmallIcon( "1updownarrow" );
852 } else { 852 } else {
853 icon = SmallIcon("1leftrightarrow" ); 853 icon = SmallIcon("1leftrightarrow" );
854 } 854 }
855 configureToolBarMenu->insertItem(icon, i18n("Toggle Fullscreen"), 28 ); 855 configureToolBarMenu->insertItem(icon, i18n("Toggle Fullscreen"), 28 );
856 QAction* FSaction = new QAction( i18n("Toggle Fullscreen"), icon, i18n("Toggle Fullscreen"), 0, this ); 856 QAction* FSaction = new QAction( i18n("Toggle Fullscreen"), icon, i18n("Toggle Fullscreen"), 0, this );
857 FSaction->addTo( viewMenu ); 857 FSaction->addTo( viewMenu );
858 connect( FSaction, SIGNAL( activated() ), mView, SLOT( toggleExpand() )); 858 connect( FSaction, SIGNAL( activated() ), mView, SLOT( toggleExpand() ));
859 859
860 860
861 icon = loadPixmap( pathString + "filter" ); 861 icon = loadPixmap( pathString + "filter" );
862 configureToolBarMenu->insertItem(icon, i18n("Filter menu icon"), 26 ); 862 configureToolBarMenu->insertItem(icon, i18n("Filter menu icon"), 26 );
863 icon = loadPixmap( pathString + "configure" ); 863 icon = loadPixmap( pathString + "configure" );
864 action = new QAction( i18n("Toggle Resource View"), icon, i18n("Toggle Resource View"), 0, this ); 864 action = new QAction( i18n("Toggle Resource View"), icon, i18n("Toggle Resource View"), 0, this );
865 action->addTo( viewMenu ); 865 action->addTo( viewMenu );
866 connect( action, SIGNAL( activated() ), 866 connect( action, SIGNAL( activated() ),
867 mView, SLOT( toggleFilter() ) ); 867 mView, SLOT( toggleFilter() ) );
868 mToggleFilter = action; 868 mToggleFilter = action;
869 icon = loadPixmap( pathString + "navi" ); 869 icon = loadPixmap( pathString + "navi" );
870 configureToolBarMenu->insertItem(icon, i18n("Toggle DateNavigator"), 22 ); 870 configureToolBarMenu->insertItem(icon, i18n("Toggle DateNavigator"), 22 );
871 action = new QAction( i18n("Toggle DateNavigator"), icon, i18n("Toggle DateNavigator"), 0, this ); 871 action = new QAction( i18n("Toggle DateNavigator"), icon, i18n("Toggle DateNavigator"), 0, this );
872 action->addTo( viewMenu ); 872 action->addTo( viewMenu );
873 connect( action, SIGNAL( activated() ), 873 connect( action, SIGNAL( activated() ),
874 mView, SLOT( toggleDateNavigatorWidget() ) ); 874 mView, SLOT( toggleDateNavigatorWidget() ) );
875 mToggleNav = action ; 875 mToggleNav = action ;
876 icon = loadPixmap( pathString + "allday" ); 876 icon = loadPixmap( pathString + "allday" );
877 configureToolBarMenu->insertItem(icon, i18n("Toggle Allday"), 24 ); 877 configureToolBarMenu->insertItem(icon, i18n("Toggle Allday"), 24 );
878 action = new QAction( i18n("Toggle Allday"), icon,i18n("Toggle Allday"), 0, this ); 878 action = new QAction( i18n("Toggle Allday"), icon,i18n("Toggle Allday"), 0, this );
879 action->addTo( viewMenu ); 879 action->addTo( viewMenu );
880 connect( action, SIGNAL( activated() ), 880 connect( action, SIGNAL( activated() ),
881 mView, SLOT( toggleAllDaySize() ) ); 881 mView, SLOT( toggleAllDaySize() ) );
882 mToggleAllday = action; 882 mToggleAllday = action;
883 883
884 884
885 connect( mView->viewManager(), SIGNAL( signalFullScreen( bool ) ), 885 connect( mView->viewManager(), SIGNAL( signalFullScreen( bool ) ),
886 mToggleNav, SLOT( setEnabled ( bool ) ) ); 886 mToggleNav, SLOT( setEnabled ( bool ) ) );
887 //connect( mView->viewManager(), SIGNAL( signalFullScreen( bool ) ), 887 //connect( mView->viewManager(), SIGNAL( signalFullScreen( bool ) ),
888 // mToggleFilter, SLOT( setEnabled ( bool ) ) ); 888 // mToggleFilter, SLOT( setEnabled ( bool ) ) );
889 connect( mView->viewManager(), SIGNAL( signalAgendaView( bool ) ), 889 connect( mView->viewManager(), SIGNAL( signalAgendaView( bool ) ),
890 mToggleAllday, SLOT( setEnabled ( bool ) ) ); 890 mToggleAllday, SLOT( setEnabled ( bool ) ) );
891 // connect( mView->viewManager(), SIGNAL( signalAgendaView( bool ) ), 891 // connect( mView->viewManager(), SIGNAL( signalAgendaView( bool ) ),
892 // configureAgendaMenu, SLOT( setEnabled ( bool ) ) ); 892 // configureAgendaMenu, SLOT( setEnabled ( bool ) ) );
893 893
894 894
895 dPickerAction->addTo( iconToolBar ); 895 dPickerAction->addTo( iconToolBar );
896 viewMenu->insertSeparator(); 896 viewMenu->insertSeparator();
897 897
898 if ( p-> mShowIconToggleFull ) 898 if ( p-> mShowIconToggleFull )
899 FSaction->addTo( iconToolBar ); 899 FSaction->addTo( iconToolBar );
900 if ( p->mShowIconNavigator ) mToggleNav ->addTo( iconToolBar ); 900 if ( p->mShowIconNavigator ) mToggleNav ->addTo( iconToolBar );
901 901
902 //******************** 902 //********************
903 if ( p->mShowIconAllday ) mToggleAllday->addTo( iconToolBar ); 903 if ( p->mShowIconAllday ) mToggleAllday->addTo( iconToolBar );
904 904
905 905
906 icon = loadPixmap( pathString + "whatsnext" ); 906 icon = loadPixmap( pathString + "whatsnext" );
907 configureToolBarMenu->insertItem(icon, i18n("What's Next"), 110 ); 907 configureToolBarMenu->insertItem(icon, i18n("What's Next"), 110 );
908 QAction* whatsnext_action = new QAction( i18n("What's Next"), icon, i18n("What's Next"), 0, this ); 908 QAction* whatsnext_action = new QAction( i18n("What's Next"), icon, i18n("What's Next"), 0, this );
909 whatsnext_action->addTo( viewMenu ); 909 whatsnext_action->addTo( viewMenu );
910 connect( whatsnext_action, SIGNAL( activated() ), 910 connect( whatsnext_action, SIGNAL( activated() ),
911 mView->viewManager(), SLOT( showWhatsNextView() ) ); 911 mView->viewManager(), SLOT( showWhatsNextView() ) );
912 912
913 icon = loadPixmap( pathString + "xdays" ); 913 icon = loadPixmap( pathString + "xdays" );
914 configureToolBarMenu->insertItem(icon, i18n("Next days"), 100 ); 914 configureToolBarMenu->insertItem(icon, i18n("Next days"), 100 );
915 QAction* xdays_action = new QAction( i18n("Next days"), icon, i18n("Next days"), 0, this ); 915 QAction* xdays_action = new QAction( i18n("Next days"), icon, i18n("Next days"), 0, this );
916 xdays_action->addTo( viewMenu ); 916 xdays_action->addTo( viewMenu );
917 connect( xdays_action, SIGNAL( activated() ), 917 connect( xdays_action, SIGNAL( activated() ),
918 mView->viewManager(), SLOT( showNextXView() ) ); 918 mView->viewManager(), SLOT( showNextXView() ) );
919 919
920 920
921 icon = loadPixmap( pathString + "journal" ); 921 icon = loadPixmap( pathString + "journal" );
922 configureToolBarMenu->insertItem(icon, i18n("Journal"), 90 ); 922 configureToolBarMenu->insertItem(icon, i18n("Journal"), 90 );
923 QAction* viewjournal_action = new QAction( i18n("Journal"), icon, i18n("Journal"), 0, this ); 923 QAction* viewjournal_action = new QAction( i18n("Journal"), icon, i18n("Journal"), 0, this );
924 viewjournal_action->addTo( viewMenu ); 924 viewjournal_action->addTo( viewMenu );
925 connect( viewjournal_action, SIGNAL( activated() ), 925 connect( viewjournal_action, SIGNAL( activated() ),
926 mView->viewManager(), SLOT( showJournalView() ) ); 926 mView->viewManager(), SLOT( showJournalView() ) );
927 927
928 928
929 icon = loadPixmap( pathString + "day" ); 929 icon = loadPixmap( pathString + "day" );
930 configureToolBarMenu->insertItem(icon, i18n("Day View"), 40 ); 930 configureToolBarMenu->insertItem(icon, i18n("Day View"), 40 );
931 QAction* day1_action = new QAction( i18n("Day View"), icon, i18n("Day View"), 0, this ); 931 QAction* day1_action = new QAction( i18n("Day View"), icon, i18n("Day View"), 0, this );
932 day1_action->addTo( viewMenu ); 932 day1_action->addTo( viewMenu );
933 // action->addTo( toolBar ); 933 // action->addTo( toolBar );
934 connect( day1_action, SIGNAL( activated() ), 934 connect( day1_action, SIGNAL( activated() ),
935 mView->viewManager(), SLOT( showDayView() ) ); 935 mView->viewManager(), SLOT( showDayView() ) );
936 936
937 icon = loadPixmap( pathString + "workweek" ); 937 icon = loadPixmap( pathString + "workweek" );
938 configureToolBarMenu->insertItem(icon, i18n("Work Week"), 50 ); 938 configureToolBarMenu->insertItem(icon, i18n("Work Week"), 50 );
939 QAction* day5_action = new QAction( i18n("Work Week"), icon, i18n("Work Week"), 0, this ); 939 QAction* day5_action = new QAction( i18n("Work Week"), icon, i18n("Work Week"), 0, this );
940 day5_action->addTo( viewMenu ); 940 day5_action->addTo( viewMenu );
941 connect( day5_action, SIGNAL( activated() ), 941 connect( day5_action, SIGNAL( activated() ),
942 mView->viewManager(), SLOT( showWorkWeekView() ) ); 942 mView->viewManager(), SLOT( showWorkWeekView() ) );
943 943
944 icon = loadPixmap( pathString + "week" ); 944 icon = loadPixmap( pathString + "week" );
945 configureToolBarMenu->insertItem(icon, i18n("Week"), 60 ); 945 configureToolBarMenu->insertItem(icon, i18n("Week"), 60 );
946 QAction* day7_action = new QAction( i18n("Week"), icon, i18n("Week"), 0, this ); 946 QAction* day7_action = new QAction( i18n("Week"), icon, i18n("Week"), 0, this );
947 day7_action->addTo( viewMenu ); 947 day7_action->addTo( viewMenu );
948 connect( day7_action, SIGNAL( activated() ), 948 connect( day7_action, SIGNAL( activated() ),
949 mView->viewManager(), SLOT( showWeekView() ) ); 949 mView->viewManager(), SLOT( showWeekView() ) );
950 950
951 icon = loadPixmap( pathString + "workweek2" ); 951 icon = loadPixmap( pathString + "workweek2" );
952 configureToolBarMenu->insertItem(icon, i18n("List week view"), 75 ); 952 configureToolBarMenu->insertItem(icon, i18n("List week view"), 75 );
953 QAction* day6_action = new QAction( i18n("List week"), icon, i18n("List week"), 0, this ); 953 QAction* day6_action = new QAction( i18n("List week"), icon, i18n("List week"), 0, this );
954 day6_action->addTo( viewMenu ); 954 day6_action->addTo( viewMenu );
955 connect( day6_action, SIGNAL( activated() ), 955 connect( day6_action, SIGNAL( activated() ),
956 mView->viewManager(), SLOT( showMonthViewWeek() ) ); 956 mView->viewManager(), SLOT( showMonthViewWeek() ) );
957 957
958 icon = loadPixmap( pathString + "month" ); 958 icon = loadPixmap( pathString + "month" );
959 configureToolBarMenu->insertItem(icon, i18n("Month"), 70 ); 959 configureToolBarMenu->insertItem(icon, i18n("Month"), 70 );
960 QAction* month_action = new QAction( i18n("Month"), icon, i18n("Month"), 0, this ); 960 QAction* month_action = new QAction( i18n("Month"), icon, i18n("Month"), 0, this );
961 month_action->addTo( viewMenu ); 961 month_action->addTo( viewMenu );
962 connect( month_action, SIGNAL( activated() ), 962 connect( month_action, SIGNAL( activated() ),
963 mView->viewManager(), SLOT( showMonthView() ) ); 963 mView->viewManager(), SLOT( showMonthView() ) );
964 964
965 icon = loadPixmap( pathString + "list" ); 965 icon = loadPixmap( pathString + "list" );
966 configureToolBarMenu->insertItem(icon, i18n("List View"), 30 ); 966 configureToolBarMenu->insertItem(icon, i18n("List View"), 30 );
967 QAction* showlist_action = new QAction( i18n("List View"), icon, i18n("List View"), 0, this ); 967 QAction* showlist_action = new QAction( i18n("List View"), icon, i18n("List View"), 0, this );
968 showlist_action->addTo( viewMenu ); 968 showlist_action->addTo( viewMenu );
969 connect( showlist_action, SIGNAL( activated() ), 969 connect( showlist_action, SIGNAL( activated() ),
970 mView->viewManager(), SLOT( showListView() ) ); 970 mView->viewManager(), SLOT( showListView() ) );
971 971
972 icon = loadPixmap( pathString + "todo" ); 972 icon = loadPixmap( pathString + "todo" );
973 configureToolBarMenu->insertItem(icon, i18n("Todo View"), 80 ); 973 configureToolBarMenu->insertItem(icon, i18n("Todo View"), 80 );
974 QAction* todoview_action = new QAction( i18n("Todo View"), icon, i18n("Todo View"), 0, this ); 974 QAction* todoview_action = new QAction( i18n("Todo View"), icon, i18n("Todo View"), 0, this );
975 todoview_action->addTo( viewMenu ); 975 todoview_action->addTo( viewMenu );
976 connect( todoview_action, SIGNAL( activated() ), 976 connect( todoview_action, SIGNAL( activated() ),
977 mView->viewManager(), SLOT( showTodoView() ) ); 977 mView->viewManager(), SLOT( showTodoView() ) );
978 978
979 979
980 980
981#if 0 981#if 0
982 action = new QAction( "view_timespan", "Time Span", 0, this ); 982 action = new QAction( "view_timespan", "Time Span", 0, this );
983 action->addTo( viewMenu ); 983 action->addTo( viewMenu );
984 connect( action, SIGNAL( activated() ), 984 connect( action, SIGNAL( activated() ),
985 mView->viewManager(), SLOT( showTimeSpanView() ) ); 985 mView->viewManager(), SLOT( showTimeSpanView() ) );
986#endif 986#endif
987 987
988 mNewSubTodoAction = new QAction( "new_subtodo", i18n("New Sub-Todo..."), 0, 988 mNewSubTodoAction = new QAction( "new_subtodo", i18n("New Sub-Todo..."), 0,
989 this ); 989 this );
990 mNewSubTodoAction->addTo( actionMenu ); 990 mNewSubTodoAction->addTo( actionMenu );
991 connect( mNewSubTodoAction, SIGNAL( activated() ), 991 connect( mNewSubTodoAction, SIGNAL( activated() ),
992 mView, SLOT( newSubTodo() ) ); 992 mView, SLOT( newSubTodo() ) );
993 993
994 action = new QAction( "purge_completed", i18n("Purge Completed..."), 0, 994 action = new QAction( "purge_completed", i18n("Purge Completed..."), 0,
995 this ); 995 this );
996 action->addTo( actionMenu ); 996 action->addTo( actionMenu );
997 connect( action, SIGNAL( activated() ), mView, SLOT( purgeCompleted() ) ); 997 connect( action, SIGNAL( activated() ), mView, SLOT( purgeCompleted() ) );
998 998
999 999
1000 configureToolBarMenu->insertItem(icon, i18n("Search"), 120 , 5); 1000 configureToolBarMenu->insertItem(icon, i18n("Search"), 120 , 5);
1001 1001
1002 1002
1003 1003
1004 actionMenu->insertSeparator(); 1004 actionMenu->insertSeparator();
1005 action = new QAction( "manage cat", i18n("Edit category list..."), 0, 1005 action = new QAction( "manage cat", i18n("Edit category list..."), 0,
1006 this ); 1006 this );
1007 action->addTo( actionMenu ); 1007 action->addTo( actionMenu );
1008 connect( action, SIGNAL( activated() ), mView, SLOT( editCategories() ) ); 1008 connect( action, SIGNAL( activated() ), mView, SLOT( editCategories() ) );
1009 1009
1010 action = new QAction( "manage cat", i18n("Manage new categories..."), 0, 1010 action = new QAction( "manage cat", i18n("Manage new categories..."), 0,
1011 this ); 1011 this );
1012 action->addTo( actionMenu ); 1012 action->addTo( actionMenu );
1013 connect( action, SIGNAL( activated() ), mView, SLOT( manageCategories() ) ); 1013 connect( action, SIGNAL( activated() ), mView, SLOT( manageCategories() ) );
1014 1014
1015 1015
1016 actionMenu->insertSeparator(); 1016 actionMenu->insertSeparator();
1017 icon = loadPixmap( pathString + "configure" ); 1017 icon = loadPixmap( pathString + "configure" );
1018 action = new QAction( i18n("Configure"),icon, i18n("Configure KO/Pi..."), 0, this ); 1018 action = new QAction( i18n("Configure"),icon, i18n("Configure KO/Pi..."), 0, this );
1019 action->addTo( actionMenu ); 1019 action->addTo( actionMenu );
1020 connect( action, SIGNAL( activated() ), 1020 connect( action, SIGNAL( activated() ),
1021 mView, SLOT( edit_options() ) ); 1021 mView, SLOT( edit_options() ) );
1022 icon = loadPixmap( pathString + "configure" ); 1022 action = new QAction( i18n("Configure"),icon, i18n("Configure Calendar Files..."), 0, this );
1023 action->addTo( actionMenu );
1024 connect( action, SIGNAL( activated() ),
1025 this, SLOT( calHint() ) );
1023 action = new QAction( i18n("Configure"),icon, i18n("Global Settings..."), 0, this ); 1026 action = new QAction( i18n("Configure"),icon, i18n("Global Settings..."), 0, this );
1024 action->addTo( actionMenu ); 1027 action->addTo( actionMenu );
1025 connect( action, SIGNAL( activated() ), 1028 connect( action, SIGNAL( activated() ),
1026 mView, SLOT( edit_global_options() ) ); 1029 mView, SLOT( edit_global_options() ) );
1027 if ( KOPrefs::instance()->mShowFullMenu ) { 1030 if ( KOPrefs::instance()->mShowFullMenu ) {
1028 actionMenu->insertItem( i18n("Configure Toolbar"),configureToolBarMenu ); 1031 actionMenu->insertItem( i18n("Configure Toolbar"),configureToolBarMenu );
1029 1032
1030 } 1033 }
1031 // actionMenu->insertSeparator(); 1034 // actionMenu->insertSeparator();
1032 action = new QAction( "import_qtopia", i18n("Import (*.ics/*.vcs) file"), 0, 1035 action = new QAction( "import_qtopia", i18n("Import (*.ics/*.vcs) file"), 0,
1033 this ); 1036 this );
1034 action->addTo( importMenu_X ); 1037 action->addTo( importMenu_X );
1035 connect( action, SIGNAL( activated() ), SLOT( importIcal() ) ); 1038 connect( action, SIGNAL( activated() ), SLOT( importIcal() ) );
1036 action = new QAction( "import_quick", i18n("Import last file"), 0, 1039 action = new QAction( "import_quick", i18n("Import last file"), 0,
1037 this ); 1040 this );
1038 action->addTo( importMenu_X ); 1041 action->addTo( importMenu_X );
1039 connect( action, SIGNAL( activated() ), SLOT( quickImportIcal() ) ); 1042 connect( action, SIGNAL( activated() ), SLOT( quickImportIcal() ) );
1040 importMenu_X->insertSeparator(); 1043 importMenu_X->insertSeparator();
1041 action = new QAction( "import_bday", i18n("Import Birthdays (KA/Pi)"), 0, 1044 action = new QAction( "import_bday", i18n("Import Birthdays (KA/Pi)"), 0,
1042 this ); 1045 this );
1043 action->addTo( importMenu_X ); 1046 action->addTo( importMenu_X );
1044 connect( action, SIGNAL( activated() ), SLOT( importBday() ) ); 1047 connect( action, SIGNAL( activated() ), SLOT( importBday() ) );
1045 //#ifndef DESKTOP_VERSION 1048 //#ifndef DESKTOP_VERSION
1046 importMenu_X->insertSeparator(); 1049 importMenu_X->insertSeparator();
1047 action = new QAction( "import_qtopia", i18n("Import Opie/Qtopia Cal."), 0, 1050 action = new QAction( "import_qtopia", i18n("Import Opie/Qtopia Cal."), 0,
1048 this ); 1051 this );
1049 action->addTo( importMenu_X ); 1052 action->addTo( importMenu_X );
1050 connect( action, SIGNAL( activated() ), SLOT( importQtopia() ) ); 1053 connect( action, SIGNAL( activated() ), SLOT( importQtopia() ) );
1051 //#else 1054 //#else
1052#ifdef _OL_IMPORT_ 1055#ifdef _OL_IMPORT_
1053 importMenu_X->insertSeparator(); 1056 importMenu_X->insertSeparator();
1054 action = new QAction( "import_ol", i18n("Import from OL"), 0, 1057 action = new QAction( "import_ol", i18n("Import from OL"), 0,
1055 this ); 1058 this );
1056 action->addTo( importMenu_X ); 1059 action->addTo( importMenu_X );
1057 connect( action, SIGNAL( activated() ), SLOT( importOL() ) ); 1060 connect( action, SIGNAL( activated() ), SLOT( importOL() ) );
1058#endif 1061#endif
1059 //#endif 1062 //#endif
1060 1063
1061 //importMenu->insertSeparator(); 1064 //importMenu->insertSeparator();
1062#if 0 1065#if 0
1063 action = new QAction( "load_cal", i18n("Load Calendar Backup"), 0, 1066 action = new QAction( "load_cal", i18n("Load Calendar Backup"), 0,
1064 this ); 1067 this );
1065 action->addTo( importMenu ); 1068 action->addTo( importMenu );
1066 connect( action, SIGNAL( activated() ), SLOT( loadCalendar() ) ); 1069 connect( action, SIGNAL( activated() ), SLOT( loadCalendar() ) );
1067#endif 1070#endif
1068 action = new QAction( "save_cal", i18n("Save Backup..."), 0, 1071 action = new QAction( "save_cal", i18n("Save Backup..."), 0,
1069 this ); 1072 this );
1070 action->addTo( importMenu ); 1073 action->addTo( importMenu );
1071 connect( action, SIGNAL( activated() ), SLOT( saveCalendar() ) ); 1074 connect( action, SIGNAL( activated() ), SLOT( saveCalendar() ) );
1072 importMenu->insertSeparator(); 1075 importMenu->insertSeparator();
1073 importMenu->insertItem( i18n("Import"), importMenu_X ); 1076 importMenu->insertItem( i18n("Import"), importMenu_X );
1074 //importMenu->insertSeparator(); 1077 //importMenu->insertSeparator();
1075 action = new QAction( "import_qtopia", i18n("Export VCalendar"), 0, 1078 action = new QAction( "import_qtopia", i18n("Export VCalendar"), 0,
1076 this ); 1079 this );
1077 action->addTo( exportMenu_X ); 1080 action->addTo( exportMenu_X );
1078 connect( action, SIGNAL( activated() ), SLOT( exportVCalendar() ) ); 1081 connect( action, SIGNAL( activated() ), SLOT( exportVCalendar() ) );
1079 1082
1080 1083
1081 //LR 1084 //LR
1082 QPopupMenu *ex2phone = new QPopupMenu( this ); 1085 QPopupMenu *ex2phone = new QPopupMenu( this );
1083 ex2phone->insertItem(i18n("Complete calendar..."), 1 ); 1086 ex2phone->insertItem(i18n("Complete calendar..."), 1 );
1084 ex2phone->insertItem(i18n("Filtered calendar..."), 2 ); 1087 ex2phone->insertItem(i18n("Filtered calendar..."), 2 );
1085 connect( ex2phone, SIGNAL( activated(int) ), this, SLOT( exportToPhone( int)) ); 1088 connect( ex2phone, SIGNAL( activated(int) ), this, SLOT( exportToPhone( int)) );
1086 exportMenu_X->insertItem( i18n("Export to phone"), ex2phone ); 1089 exportMenu_X->insertItem( i18n("Export to phone"), ex2phone );
1087 1090
1088 importMenu->insertItem( i18n("Export"), exportMenu_X ); 1091 importMenu->insertItem( i18n("Export"), exportMenu_X );
1089#ifndef DESKTOP_VERSION 1092#ifndef DESKTOP_VERSION
1090 //importMenu->insertSeparator(); 1093 //importMenu->insertSeparator();
1091 brAction = new QAction( "beam toggle", i18n("Beam receive enabled"), 0, 1094 brAction = new QAction( "beam toggle", i18n("Beam receive enabled"), 0,
1092 this ); 1095 this );
1093 brAction->addTo( beamMenu_X ); 1096 brAction->addTo( beamMenu_X );
1094 brAction->setToggleAction (true ) ; 1097 brAction->setToggleAction (true ) ;
1095 connect( brAction, SIGNAL( activated() ), this, SLOT( toggleBeamReceive() ) ); 1098 connect( brAction, SIGNAL( activated() ), this, SLOT( toggleBeamReceive() ) );
1096 1099
1097 action = new QAction( "beam all", i18n("Beam complete calendar..."), 0, 1100 action = new QAction( "beam all", i18n("Beam complete calendar..."), 0,
1098 this ); 1101 this );
1099 action->addTo( beamMenu_X ); 1102 action->addTo( beamMenu_X );
1100 connect( action, SIGNAL( activated() ), mView, SLOT( beamCalendar() ) ); 1103 connect( action, SIGNAL( activated() ), mView, SLOT( beamCalendar() ) );
1101 1104
1102 action = new QAction( "beam all", i18n("Beam filtered calendar..."), 0, 1105 action = new QAction( "beam all", i18n("Beam filtered calendar..."), 0,
1103 this ); 1106 this );
1104 action->addTo( beamMenu_X ); 1107 action->addTo( beamMenu_X );
1105 connect( action, SIGNAL( activated() ), mView, SLOT( beamFilteredCalendar()) ); 1108 connect( action, SIGNAL( activated() ), mView, SLOT( beamFilteredCalendar()) );
1106 importMenu->insertItem( i18n("Beam"), beamMenu_X ); 1109 importMenu->insertItem( i18n("Beam"), beamMenu_X );
1107#else 1110#else
1108 //importMenu->insertSeparator(); 1111 //importMenu->insertSeparator();
1109 icon = loadPixmap( pathString + "print" ); 1112 icon = loadPixmap( pathString + "print" );
1110 action = new QAction( i18n("Print calendar..."),icon,i18n("Print calendar..."), 0, this ); 1113 action = new QAction( i18n("Print calendar..."),icon,i18n("Print calendar..."), 0, this );
1111 action->addTo( beamMenu_X ); 1114 action->addTo( beamMenu_X );
1112 connect( action, SIGNAL( activated() ), 1115 connect( action, SIGNAL( activated() ),
1113 this, SLOT( printCal() ) ); 1116 this, SLOT( printCal() ) );
1114 1117
1115 icon = loadPixmap( pathString + "print" ); 1118 icon = loadPixmap( pathString + "print" );
1116 action = new QAction( i18n("Print agenda selection..."),icon,i18n("Print agenda selection..."), 0, this ); 1119 action = new QAction( i18n("Print agenda selection..."),icon,i18n("Print agenda selection..."), 0, this );
1117 action->addTo( beamMenu_X ); 1120 action->addTo( beamMenu_X );
1118 connect( action, SIGNAL( activated() ), 1121 connect( action, SIGNAL( activated() ),
1119 this, SLOT( printSel() ) ); 1122 this, SLOT( printSel() ) );
1120 action = new QAction( i18n("Print What's Next View..."),icon,i18n("Print What's Next View..."), 0, this ); 1123 action = new QAction( i18n("Print What's Next View..."),icon,i18n("Print What's Next View..."), 0, this );
1121 action->addTo( beamMenu_X ); 1124 action->addTo( beamMenu_X );
1122 connect( action, SIGNAL( activated() ), 1125 connect( action, SIGNAL( activated() ),
1123 mView->viewManager(), SLOT( slotprintWNV() ) ); 1126 mView->viewManager(), SLOT( slotprintWNV() ) );
1124 1127
1125 1128
1126 icon = loadPixmap( pathString + "print" ); 1129 icon = loadPixmap( pathString + "print" );
1127 action = new QAction( i18n("Print List View..."),icon,i18n("Print List View..."), 0, this ); 1130 action = new QAction( i18n("Print List View..."),icon,i18n("Print List View..."), 0, this );
1128 action->addTo( beamMenu_X ); 1131 action->addTo( beamMenu_X );
1129 connect( action, SIGNAL( activated() ), 1132 connect( action, SIGNAL( activated() ),
1130 this, SLOT( printListView() ) ); 1133 this, SLOT( printListView() ) );
1131 1134
1132 action = new QAction( i18n("Print selected event / todo..."),icon,i18n("Print selected event / todo..."), 0, this ); 1135 action = new QAction( i18n("Print selected event / todo..."),icon,i18n("Print selected event / todo..."), 0, this );
1133 action->addTo( beamMenu_X ); 1136 action->addTo( beamMenu_X );
1134 connect( action, SIGNAL( activated() ), 1137 connect( action, SIGNAL( activated() ),
1135 mView, SLOT( slotprintSelInc() ) ); 1138 mView, SLOT( slotprintSelInc() ) );
1136 1139
1137 importMenu->insertItem( i18n("Print"), beamMenu_X ); 1140 importMenu->insertItem( i18n("Print"), beamMenu_X );
1138#endif 1141#endif
1139 1142
1140 importMenu->insertSeparator(); 1143 importMenu->insertSeparator();
1141 action = new QAction( "beam all", i18n("Save"), 0, 1144 action = new QAction( "beam all", i18n("Save"), 0,
1142 this ); 1145 this );
1143 action->addTo( importMenu ); 1146 action->addTo( importMenu );
1144 connect( action, SIGNAL( activated() ), this, SLOT( save() ) ); 1147 connect( action, SIGNAL( activated() ), this, SLOT( save() ) );
1145 action = new QAction( "beam all", i18n("Exit (+save)"), 0, 1148 action = new QAction( "beam all", i18n("Exit (+save)"), 0,
1146 this ); 1149 this );
1147 action->addTo( importMenu ); 1150 action->addTo( importMenu );
1148 connect( action, SIGNAL( activated() ), this, SLOT( close() ) ); 1151 connect( action, SIGNAL( activated() ), this, SLOT( close() ) );
1149 1152
1150 //menuBar->insertItem( "Configure",configureMenu ); 1153 //menuBar->insertItem( "Configure",configureMenu );
1151 //configureMenu->insertItem( "Toolbar",configureToolBarMenu ); 1154 //configureMenu->insertItem( "Toolbar",configureToolBarMenu );
1152 icon = loadPixmap( "korganizer/korganizer" ); 1155 icon = loadPixmap( "korganizer/korganizer" );
1153 1156
1154 action = new QAction( "Whats New", i18n("What's new?"), 0,this ); 1157 action = new QAction( "Whats New", i18n("What's new?"), 0,this );
1155 action->addTo( helpMenu ); 1158 action->addTo( helpMenu );
1156 connect( action, SIGNAL( activated() ), 1159 connect( action, SIGNAL( activated() ),
1157 SLOT( whatsNew() ) ); 1160 SLOT( whatsNew() ) );
1158 action = new QAction( "featureHowto", i18n("Features + hints..."), 0,this ); 1161 action = new QAction( "featureHowto", i18n("Features + hints..."), 0,this );
1159 action->addTo( helpMenu ); 1162 action->addTo( helpMenu );
1160 connect( action, SIGNAL( activated() ), 1163 connect( action, SIGNAL( activated() ),
1161 SLOT( features() ) ); 1164 SLOT( features() ) );
1162 action = new QAction( "Keys + Colors", i18n("Keys + Colors..."), 0, this ); 1165 action = new QAction( "Keys + Colors", i18n("Keys + Colors..."), 0, this );
1163 action->addTo( helpMenu ); 1166 action->addTo( helpMenu );
1164 connect( action, SIGNAL( activated() ), 1167 connect( action, SIGNAL( activated() ),
1165 SLOT( keyBindings() ) ); 1168 SLOT( keyBindings() ) );
1166 action = new QAction( "Storage Howto", i18n("Storage HowTo..."), 0,this ); 1169 action = new QAction( "Storage Howto", i18n("Storage HowTo..."), 0,this );
1167 action->addTo( helpMenu ); 1170 action->addTo( helpMenu );
1168 connect( action, SIGNAL( activated() ), 1171 connect( action, SIGNAL( activated() ),
1169 SLOT( storagehowto() ) ); 1172 SLOT( storagehowto() ) );
1170 action = new QAction( "Timetracking Howto", i18n("Timetracking HowTo..."), 0,this ); 1173 action = new QAction( "Timetracking Howto", i18n("Timetracking HowTo..."), 0,this );
1171 action->addTo( helpMenu ); 1174 action->addTo( helpMenu );
1172 connect( action, SIGNAL( activated() ), 1175 connect( action, SIGNAL( activated() ),
1173 SLOT( timetrackinghowto() ) ); 1176 SLOT( timetrackinghowto() ) );
1174 action = new QAction( "Sync Howto", i18n("Sync HowTo..."), 0,this ); 1177 action = new QAction( "Sync Howto", i18n("Sync HowTo..."), 0,this );
1175 action->addTo( helpMenu ); 1178 action->addTo( helpMenu );
1176 connect( action, SIGNAL( activated() ), 1179 connect( action, SIGNAL( activated() ),
1177 SLOT( synchowto() ) ); 1180 SLOT( synchowto() ) );
1178 action = new QAction( "KDE Sync Howto", i18n("KDE Sync HowTo..."), 0,this ); 1181 action = new QAction( "KDE Sync Howto", i18n("KDE Sync HowTo..."), 0,this );
1179 action->addTo( helpMenu ); 1182 action->addTo( helpMenu );
1180 connect( action, SIGNAL( activated() ), 1183 connect( action, SIGNAL( activated() ),
1181 SLOT( kdesynchowto() ) ); 1184 SLOT( kdesynchowto() ) );
1182 action = new QAction( "Multi Sync Howto", i18n("Multi Sync HowTo..."), 0,this ); 1185 action = new QAction( "Multi Sync Howto", i18n("Multi Sync HowTo..."), 0,this );
1183 action->addTo( helpMenu ); 1186 action->addTo( helpMenu );
1184 connect( action, SIGNAL( activated() ), 1187 connect( action, SIGNAL( activated() ),
1185 SLOT( multisynchowto() ) ); 1188 SLOT( multisynchowto() ) );
1186 action = new QAction( "Auto saving", i18n("Auto saving..."), 0, this ); 1189 action = new QAction( "Auto saving", i18n("Auto saving..."), 0, this );
1187 action->addTo( helpMenu ); 1190 action->addTo( helpMenu );
1188 connect( action, SIGNAL( activated() ), 1191 connect( action, SIGNAL( activated() ),
1189 SLOT( aboutAutoSaving() ) ); 1192 SLOT( aboutAutoSaving() ) );
1190 action = new QAction( "Problemd", i18n("Known Problems..."), 0,this ); 1193 action = new QAction( "Problemd", i18n("Known Problems..."), 0,this );
1191 action->addTo( helpMenu ); 1194 action->addTo( helpMenu );
1192 connect( action, SIGNAL( activated() ), 1195 connect( action, SIGNAL( activated() ),
1193 SLOT( aboutKnownBugs() ) ); 1196 SLOT( aboutKnownBugs() ) );
1194 action = new QAction( "Translate Howto", i18n("User translation..."), 0,this ); 1197 action = new QAction( "Translate Howto", i18n("User translation..."), 0,this );
1195 action->addTo( helpMenu ); 1198 action->addTo( helpMenu );
1196 connect( action, SIGNAL( activated() ), 1199 connect( action, SIGNAL( activated() ),
1197 SLOT( usertrans() ) ); 1200 SLOT( usertrans() ) );
1198 action = new QAction( "Frequently asked questions", i18n("FAQ..."), 0,this ); 1201 action = new QAction( "Frequently asked questions", i18n("FAQ..."), 0,this );
1199 action->addTo( helpMenu ); 1202 action->addTo( helpMenu );
1200 connect( action, SIGNAL( activated() ), 1203 connect( action, SIGNAL( activated() ),
1201 SLOT( faq() ) ); 1204 SLOT( faq() ) );
1202 action = new QAction( "licence", i18n("Licence..."), 0, this ); 1205 action = new QAction( "licence", i18n("Licence..."), 0, this );
1203 action->addTo( helpMenu ); 1206 action->addTo( helpMenu );
1204 connect( action, SIGNAL( activated() ), 1207 connect( action, SIGNAL( activated() ),
1205 SLOT( licence() ) ); 1208 SLOT( licence() ) );
1206 action = new QAction( "about", i18n("About..."), 0, this ); 1209 action = new QAction( "about", i18n("About..."), 0, this );
1207 action->addTo( helpMenu ); 1210 action->addTo( helpMenu );
1208 connect( action, SIGNAL( activated() ), 1211 connect( action, SIGNAL( activated() ),
1209 SLOT( about() ) ); 1212 SLOT( about() ) );
1210 //menuBar->insertSeparator(); 1213 //menuBar->insertSeparator();
1211 1214
1212 // ****************************************************** 1215 // ******************************************************
1213 // menubar icons 1216 // menubar icons
1214 1217
1215 1218
1216 1219
1217 //menuBar->insertItem( iconToolBar ); 1220 //menuBar->insertItem( iconToolBar );
1218 //xdays_action 1221 //xdays_action
1219 if (p-> mShowIconNewEvent) 1222 if (p-> mShowIconNewEvent)
1220 ne_action->addTo( iconToolBar ); 1223 ne_action->addTo( iconToolBar );
1221 if (p->mShowIconNewTodo ) 1224 if (p->mShowIconNewTodo )
1222 nt_action->addTo( iconToolBar ); 1225 nt_action->addTo( iconToolBar );
1223 if (p-> mShowIconSearch) 1226 if (p-> mShowIconSearch)
1224 search_action->addTo( iconToolBar ); 1227 search_action->addTo( iconToolBar );
1225 if (p-> mShowIconWhatsThis) 1228 if (p-> mShowIconWhatsThis)
1226 QWhatsThis::whatsThisButton ( iconToolBar ); 1229 QWhatsThis::whatsThisButton ( iconToolBar );
1227 if (p-> mShowIconNext) 1230 if (p-> mShowIconNext)
1228 whatsnext_action->addTo( viewToolBar ); 1231 whatsnext_action->addTo( viewToolBar );
1229 if (p-> mShowIconNextDays) 1232 if (p-> mShowIconNextDays)
1230 xdays_action->addTo( viewToolBar ); 1233 xdays_action->addTo( viewToolBar );
1231 if (p-> mShowIconJournal) 1234 if (p-> mShowIconJournal)
1232 viewjournal_action->addTo( viewToolBar ); 1235 viewjournal_action->addTo( viewToolBar );
1233 if (p-> mShowIconDay1) 1236 if (p-> mShowIconDay1)
1234 day1_action->addTo( viewToolBar ); 1237 day1_action->addTo( viewToolBar );
1235 if (p-> mShowIconDay5) 1238 if (p-> mShowIconDay5)
1236 day5_action->addTo( viewToolBar ); 1239 day5_action->addTo( viewToolBar );
1237 if (p-> mShowIconDay7) 1240 if (p-> mShowIconDay7)
1238 day7_action->addTo( viewToolBar ); 1241 day7_action->addTo( viewToolBar );
1239 if (p-> mShowIconDay6) 1242 if (p-> mShowIconDay6)
1240 day6_action->addTo( viewToolBar ); 1243 day6_action->addTo( viewToolBar );
1241 if (p-> mShowIconMonth) 1244 if (p-> mShowIconMonth)
1242 month_action->addTo( viewToolBar ); 1245 month_action->addTo( viewToolBar );
1243 if (p-> mShowIconList) 1246 if (p-> mShowIconList)
1244 showlist_action->addTo( viewToolBar ); 1247 showlist_action->addTo( viewToolBar );
1245 if (p-> mShowIconTodoview) 1248 if (p-> mShowIconTodoview)
1246 todoview_action->addTo( viewToolBar ); 1249 todoview_action->addTo( viewToolBar );
1247 1250
1248 icon = loadPixmap( pathString + "2leftarrowB" ); 1251 icon = loadPixmap( pathString + "2leftarrowB" );
1249 configureToolBarMenu->insertItem(icon, i18n("Prev. month"), 200); 1252 configureToolBarMenu->insertItem(icon, i18n("Prev. month"), 200);
1250 if (p-> mShowIconBackFast) { 1253 if (p-> mShowIconBackFast) {
1251 action = new QAction( i18n("Prev. month"), icon, i18n("Prev. month"),0 , this ); 1254 action = new QAction( i18n("Prev. month"), icon, i18n("Prev. month"),0 , this );
1252 connect( action, SIGNAL( activated() ), 1255 connect( action, SIGNAL( activated() ),
1253 mView, SLOT( goPreviousMonth() ) ); 1256 mView, SLOT( goPreviousMonth() ) );
1254 action->addTo( navigatorToolBar ); 1257 action->addTo( navigatorToolBar );
1255 } 1258 }
1256 icon = loadPixmap( pathString + "1leftarrowB" ); 1259 icon = loadPixmap( pathString + "1leftarrowB" );
1257 configureToolBarMenu->insertItem(icon, i18n("Go backward"), 210); 1260 configureToolBarMenu->insertItem(icon, i18n("Go backward"), 210);
1258 if (p-> mShowIconBack) { 1261 if (p-> mShowIconBack) {
1259 action = new QAction( i18n("Go backward"), icon, i18n("Go backward"),0 , this ); 1262 action = new QAction( i18n("Go backward"), icon, i18n("Go backward"),0 , this );
1260 connect( action, SIGNAL( activated() ), 1263 connect( action, SIGNAL( activated() ),
1261 mView, SLOT( goPrevious() ) ); 1264 mView, SLOT( goPrevious() ) );
1262 action->addTo( navigatorToolBar ); 1265 action->addTo( navigatorToolBar );
1263 } 1266 }
1264 icon = loadPixmap( pathString + "today" ); 1267 icon = loadPixmap( pathString + "today" );
1265 configureToolBarMenu->insertItem(icon, i18n("Go to Today"), 130); 1268 configureToolBarMenu->insertItem(icon, i18n("Go to Today"), 130);
1266 if (p-> mShowIconToday) 1269 if (p-> mShowIconToday)
1267 today_action->addTo( navigatorToolBar ); 1270 today_action->addTo( navigatorToolBar );
1268 icon = loadPixmap( pathString + "1rightarrowB" ); 1271 icon = loadPixmap( pathString + "1rightarrowB" );
1269 configureToolBarMenu->insertItem(icon, i18n("Go forward"), 220); 1272 configureToolBarMenu->insertItem(icon, i18n("Go forward"), 220);
1270 if (p-> mShowIconForward) { 1273 if (p-> mShowIconForward) {
1271 action = new QAction( i18n("Go forward"), icon, i18n("Go forward"),0 , this ); 1274 action = new QAction( i18n("Go forward"), icon, i18n("Go forward"),0 , this );
1272 connect( action, SIGNAL( activated() ), 1275 connect( action, SIGNAL( activated() ),
1273 mView, SLOT( goNext() ) ); 1276 mView, SLOT( goNext() ) );
1274 action->addTo( navigatorToolBar ); 1277 action->addTo( navigatorToolBar );
1275 } 1278 }
1276 icon = loadPixmap( pathString + "2rightarrowB" ); 1279 icon = loadPixmap( pathString + "2rightarrowB" );
1277 configureToolBarMenu->insertItem(icon, i18n("Next month"), 230); 1280 configureToolBarMenu->insertItem(icon, i18n("Next month"), 230);
1278 if (p-> mShowIconForwardFast) { 1281 if (p-> mShowIconForwardFast) {
1279 action = new QAction( i18n("Next month"), icon, i18n("Next month"),0 , this ); 1282 action = new QAction( i18n("Next month"), icon, i18n("Next month"),0 , this );
1280 connect( action, SIGNAL( activated() ), 1283 connect( action, SIGNAL( activated() ),
1281 mView, SLOT( goNextMonth() ) ); 1284 mView, SLOT( goNextMonth() ) );
1282 action->addTo( navigatorToolBar ); 1285 action->addTo( navigatorToolBar );
1283 } 1286 }
1284 1287
1285 1288
1286 configureToolBarMenu->insertItem(i18n("What's This?"), 300, 6); 1289 configureToolBarMenu->insertItem(i18n("What's This?"), 300, 6);
1287 1290
1288 1291
1289 if ( p->mShowIconNavigator ) configureToolBarMenu->setItemChecked( 22 , true); 1292 if ( p->mShowIconNavigator ) configureToolBarMenu->setItemChecked( 22 , true);
1290 if ( p->mShowIconAllday ) configureToolBarMenu->setItemChecked( 24 , true); 1293 if ( p->mShowIconAllday ) configureToolBarMenu->setItemChecked( 24 , true);
1291 if ( p->mShowIconFilterview ) configureToolBarMenu->setItemChecked( 26 , true); 1294 if ( p->mShowIconFilterview ) configureToolBarMenu->setItemChecked( 26 , true);
1292 if ( p->mShowIconToggleFull ) configureToolBarMenu->setItemChecked( 28 , true); 1295 if ( p->mShowIconToggleFull ) configureToolBarMenu->setItemChecked( 28 , true);
1293 1296
1294 if (p-> mShowIconNewEvent) 1297 if (p-> mShowIconNewEvent)
1295 configureToolBarMenu->setItemChecked( 10, true ); 1298 configureToolBarMenu->setItemChecked( 10, true );
1296 if (p->mShowIconNewTodo ) 1299 if (p->mShowIconNewTodo )
1297 configureToolBarMenu->setItemChecked( 20, true ); 1300 configureToolBarMenu->setItemChecked( 20, true );
1298 if (p-> mShowIconSearch) 1301 if (p-> mShowIconSearch)
1299 configureToolBarMenu->setItemChecked( 120, true ); 1302 configureToolBarMenu->setItemChecked( 120, true );
1300 if (p-> mShowIconList) 1303 if (p-> mShowIconList)
1301 configureToolBarMenu->setItemChecked( 30, true ); 1304 configureToolBarMenu->setItemChecked( 30, true );
1302 if (p-> mShowIconDay1) 1305 if (p-> mShowIconDay1)
1303 configureToolBarMenu->setItemChecked( 40, true ); 1306 configureToolBarMenu->setItemChecked( 40, true );
1304 if (p-> mShowIconDay5) 1307 if (p-> mShowIconDay5)
1305 configureToolBarMenu->setItemChecked( 50, true ); 1308 configureToolBarMenu->setItemChecked( 50, true );
1306 if (p-> mShowIconDay6) 1309 if (p-> mShowIconDay6)
1307 configureToolBarMenu->setItemChecked( 75, true ); 1310 configureToolBarMenu->setItemChecked( 75, true );
1308 if (p-> mShowIconDay7) 1311 if (p-> mShowIconDay7)
1309 configureToolBarMenu->setItemChecked( 60, true ); 1312 configureToolBarMenu->setItemChecked( 60, true );
1310 if (p-> mShowIconMonth) 1313 if (p-> mShowIconMonth)
1311 configureToolBarMenu->setItemChecked( 70, true ); 1314 configureToolBarMenu->setItemChecked( 70, true );
1312 if (p-> mShowIconTodoview) 1315 if (p-> mShowIconTodoview)
1313 configureToolBarMenu->setItemChecked( 80, true ); 1316 configureToolBarMenu->setItemChecked( 80, true );
1314 if (p-> mShowIconBackFast) 1317 if (p-> mShowIconBackFast)
1315 configureToolBarMenu->setItemChecked( 200, true ); 1318 configureToolBarMenu->setItemChecked( 200, true );
1316 if (p-> mShowIconBack) 1319 if (p-> mShowIconBack)
1317 configureToolBarMenu->setItemChecked( 210, true ); 1320 configureToolBarMenu->setItemChecked( 210, true );
1318 if (p-> mShowIconToday) 1321 if (p-> mShowIconToday)
1319 configureToolBarMenu->setItemChecked( 130, true ); 1322 configureToolBarMenu->setItemChecked( 130, true );
1320 if (p-> mShowIconForward) 1323 if (p-> mShowIconForward)
1321 configureToolBarMenu->setItemChecked( 220, true ); 1324 configureToolBarMenu->setItemChecked( 220, true );
1322 if (p-> mShowIconForwardFast) 1325 if (p-> mShowIconForwardFast)
1323 configureToolBarMenu->setItemChecked( 230, true ); 1326 configureToolBarMenu->setItemChecked( 230, true );
1324 if (p-> mShowIconNextDays) 1327 if (p-> mShowIconNextDays)
1325 configureToolBarMenu->setItemChecked( 100, true ); 1328 configureToolBarMenu->setItemChecked( 100, true );
1326 if (p-> mShowIconNext) 1329 if (p-> mShowIconNext)
1327 configureToolBarMenu->setItemChecked( 110, true ); 1330 configureToolBarMenu->setItemChecked( 110, true );
1328 if (p-> mShowIconJournal) 1331 if (p-> mShowIconJournal)
1329 configureToolBarMenu->setItemChecked( 90, true ); 1332 configureToolBarMenu->setItemChecked( 90, true );
1330 if (p-> mShowIconWhatsThis) 1333 if (p-> mShowIconWhatsThis)
1331 configureToolBarMenu->setItemChecked( 300, true ); 1334 configureToolBarMenu->setItemChecked( 300, true );
1332 if (p-> mShowIconWeekNum) 1335 if (p-> mShowIconWeekNum)
1333 configureToolBarMenu->setItemChecked( 400, true ); 1336 configureToolBarMenu->setItemChecked( 400, true );
1334 if (!p-> mShowIconStretch) { 1337 if (!p-> mShowIconStretch) {
1335 QLabel* dummy = new QLabel( iconToolBar ); 1338 QLabel* dummy = new QLabel( iconToolBar );
1336 dummy->setBackgroundColor( iconToolBar->backgroundColor() ); 1339 dummy->setBackgroundColor( iconToolBar->backgroundColor() );
1337 dummy->setMinimumWidth( 0 ); 1340 dummy->setMinimumWidth( 0 );
1338 iconToolBar->setStretchableWidget ( dummy ) ; 1341 iconToolBar->setStretchableWidget ( dummy ) ;
1339 } 1342 }
1340 else { 1343 else {
1341 iconToolBar->setHorizontalStretchable (true ); 1344 iconToolBar->setHorizontalStretchable (true );
1342 viewToolBar->setHorizontalStretchable (true ); 1345 viewToolBar->setHorizontalStretchable (true );
1343 navigatorToolBar->setHorizontalStretchable (true ); 1346 navigatorToolBar->setHorizontalStretchable (true );
1344 iconToolBar->setVerticalStretchable (true ); 1347 iconToolBar->setVerticalStretchable (true );
1345 viewToolBar->setVerticalStretchable (true ); 1348 viewToolBar->setVerticalStretchable (true );
1346 navigatorToolBar->setVerticalStretchable (true ); 1349 navigatorToolBar->setVerticalStretchable (true );
1347 configureToolBarMenu->setItemChecked( 5, true ); 1350 configureToolBarMenu->setItemChecked( 5, true );
1348 } 1351 }
1349 if (p-> mShowIconFilter) 1352 if (p-> mShowIconFilter)
1350 configureToolBarMenu->setItemChecked( 7, true ); 1353 configureToolBarMenu->setItemChecked( 7, true );
1351 if (p-> mShowIconOnetoolbar) 1354 if (p-> mShowIconOnetoolbar)
1352 configureToolBarMenu->setItemChecked( 6, true ); 1355 configureToolBarMenu->setItemChecked( 6, true );
1353 1356
1354 1357
1355 if ( filterMenubar ) { 1358 if ( filterMenubar ) {
1356 filterMenubar->reparent(filterToolBar,0,QPoint(0,0) ); 1359 filterMenubar->reparent(filterToolBar,0,QPoint(0,0) );
1357 connect( mView, SIGNAL( filtersUpdated() ), SLOT( updateFilterToolbar() ) ); 1360 connect( mView, SIGNAL( filtersUpdated() ), SLOT( updateFilterToolbar() ) );
1358 } 1361 }
1359 connect( configureToolBarMenu, SIGNAL( activated( int ) ),this, SLOT(configureToolBar( int ) ) ); 1362 connect( configureToolBarMenu, SIGNAL( activated( int ) ),this, SLOT(configureToolBar( int ) ) );
1360 configureAgenda( p->mHourSize ); 1363 configureAgenda( p->mHourSize );
1361 connect( configureAgendaMenu, SIGNAL( activated( int ) ),this, SLOT(configureAgenda( int ) ) ); 1364 connect( configureAgendaMenu, SIGNAL( activated( int ) ),this, SLOT(configureAgenda( int ) ) );
1362} 1365}
1363 1366void MainWindow::calHint()
1367{
1368 QString message = i18n("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>.");
1369
1370 KMessageBox::information( this, message);
1371}
1364void MainWindow::exportToPhone( int mode ) 1372void MainWindow::exportToPhone( int mode )
1365{ 1373{
1366 1374
1367 //ex2phone->insertItem(i18n("Complete calendar..."), 1 ); 1375 //ex2phone->insertItem(i18n("Complete calendar..."), 1 );
1368 //ex2phone->insertItem(i18n("Filtered calendar..."), 2 ); 1376 //ex2phone->insertItem(i18n("Filtered calendar..."), 2 );
1369 KOex2phonePrefs ex2phone; 1377 KOex2phonePrefs ex2phone;
1370 1378
1371 ex2phone.mPhoneConnection->setText( KPimGlobalPrefs::instance()->mEx2PhoneConnection ); 1379 ex2phone.mPhoneConnection->setText( KPimGlobalPrefs::instance()->mEx2PhoneConnection );
1372 ex2phone.mPhoneDevice->setText( KPimGlobalPrefs::instance()->mEx2PhoneDevice ); 1380 ex2phone.mPhoneDevice->setText( KPimGlobalPrefs::instance()->mEx2PhoneDevice );
1373 ex2phone.mPhoneModel->setText( KPimGlobalPrefs::instance()->mEx2PhoneModel ); 1381 ex2phone.mPhoneModel->setText( KPimGlobalPrefs::instance()->mEx2PhoneModel );
1374 if ( mode == 1 ) 1382 if ( mode == 1 )
1375 ex2phone.setCaption(i18n("Export complete calendar")); 1383 ex2phone.setCaption(i18n("Export complete calendar"));
1376 if ( mode == 2 ) 1384 if ( mode == 2 )
1377 ex2phone.setCaption(i18n("Export filtered calendar")); 1385 ex2phone.setCaption(i18n("Export filtered calendar"));
1378 1386
1379 if ( !ex2phone.exec() ) { 1387 if ( !ex2phone.exec() ) {
1380 return; 1388 return;
1381 } 1389 }
1382 KPimGlobalPrefs::instance()->mEx2PhoneConnection = ex2phone.mPhoneConnection->text(); 1390 KPimGlobalPrefs::instance()->mEx2PhoneConnection = ex2phone.mPhoneConnection->text();
1383 KPimGlobalPrefs::instance()->mEx2PhoneDevice = ex2phone.mPhoneDevice->text(); 1391 KPimGlobalPrefs::instance()->mEx2PhoneDevice = ex2phone.mPhoneDevice->text();
1384 KPimGlobalPrefs::instance()->mEx2PhoneModel = ex2phone.mPhoneModel->text(); 1392 KPimGlobalPrefs::instance()->mEx2PhoneModel = ex2phone.mPhoneModel->text();
1385 1393
1386 int inFuture = 0; 1394 int inFuture = 0;
1387 if ( ex2phone.mWriteBackFuture->isChecked() ) 1395 if ( ex2phone.mWriteBackFuture->isChecked() )
1388 inFuture = ex2phone.mWriteBackFutureWeeks->value(); 1396 inFuture = ex2phone.mWriteBackFutureWeeks->value();
1389 QPtrList<Incidence> delSel; 1397 QPtrList<Incidence> delSel;
1390 if ( mode == 1 ) 1398 if ( mode == 1 )
1391 delSel = mCalendar->rawIncidences(); 1399 delSel = mCalendar->rawIncidences();
1392 if ( mode == 2 ) 1400 if ( mode == 2 )
1393 delSel = mCalendar->incidences(); 1401 delSel = mCalendar->incidences();
1394 CalendarLocal* cal = new CalendarLocal(); 1402 CalendarLocal* cal = new CalendarLocal();
1395 cal->setLocalTime(); 1403 cal->setLocalTime();
1396 Incidence *incidence = delSel.first(); 1404 Incidence *incidence = delSel.first();
1397 QDateTime cur = QDateTime::currentDateTime().addDays( -7 ); 1405 QDateTime cur = QDateTime::currentDateTime().addDays( -7 );
1398 QDateTime end = cur.addDays( ( inFuture +1 ) *7 ); 1406 QDateTime end = cur.addDays( ( inFuture +1 ) *7 );
1399 while ( incidence ) { 1407 while ( incidence ) {
1400 if ( incidence->typeID() != journalID ) { 1408 if ( incidence->typeID() != journalID ) {
1401 bool add = true; 1409 bool add = true;
1402 if ( inFuture ) { 1410 if ( inFuture ) {
1403 QDateTime dt; 1411 QDateTime dt;
1404 if ( incidence->typeID() == todoID ) { 1412 if ( incidence->typeID() == todoID ) {
1405 Todo * t = (Todo*)incidence; 1413 Todo * t = (Todo*)incidence;
1406 if ( t->hasDueDate() ) 1414 if ( t->hasDueDate() )
1407 dt = t->dtDue(); 1415 dt = t->dtDue();
1408 else 1416 else
1409 dt = cur.addSecs( 62 ); 1417 dt = cur.addSecs( 62 );
1410 } 1418 }
1411 else { 1419 else {
1412 bool ok; 1420 bool ok;
1413 dt = incidence->getNextOccurence( cur, &ok ); 1421 dt = incidence->getNextOccurence( cur, &ok );
1414 if ( !ok ) 1422 if ( !ok )
1415 dt = cur.addSecs( -62 ); 1423 dt = cur.addSecs( -62 );
1416 } 1424 }
1417 if ( dt < cur || dt > end ) { 1425 if ( dt < cur || dt > end ) {
1418 add = false; 1426 add = false;
1419 } 1427 }
1420 } 1428 }
1421 if ( add ) { 1429 if ( add ) {
1422 Incidence *in = incidence->clone(); 1430 Incidence *in = incidence->clone();
1423 cal->addIncidence( in ); 1431 cal->addIncidence( in );
1424 } 1432 }
1425 } 1433 }
1426 incidence = delSel.next(); 1434 incidence = delSel.next();
1427 } 1435 }
1428 PhoneAccess::writeConfig( KPimGlobalPrefs::instance()->mEx2PhoneDevice, 1436 PhoneAccess::writeConfig( KPimGlobalPrefs::instance()->mEx2PhoneDevice,
1429 KPimGlobalPrefs::instance()->mEx2PhoneConnection, 1437 KPimGlobalPrefs::instance()->mEx2PhoneConnection,
1430 KPimGlobalPrefs::instance()->mEx2PhoneModel ); 1438 KPimGlobalPrefs::instance()->mEx2PhoneModel );
1431 1439
1432 setCaption( i18n("Writing to phone...")); 1440 setCaption( i18n("Writing to phone..."));
1433 if ( PhoneFormat::writeToPhone( cal ) ) 1441 if ( PhoneFormat::writeToPhone( cal ) )
1434 setCaption( i18n("Export to phone successful!")); 1442 setCaption( i18n("Export to phone successful!"));
1435 else 1443 else
1436 setCaption( i18n("Error exporting to phone!")); 1444 setCaption( i18n("Error exporting to phone!"));
1437 delete cal; 1445 delete cal;
1438} 1446}
1439 1447
1440 1448
1441void MainWindow::setDefaultPreferences() 1449void MainWindow::setDefaultPreferences()
1442{ 1450{
1443 KOPrefs *p = KOPrefs::instance(); 1451 KOPrefs *p = KOPrefs::instance();
1444 1452
1445 p->mCompactDialogs = true; 1453 p->mCompactDialogs = true;
1446 p->mConfirm = true; 1454 p->mConfirm = true;
1447 // p->mEnableQuickTodo = false; 1455 // p->mEnableQuickTodo = false;
1448 1456
1449} 1457}
1450 1458
1451QString MainWindow::resourcePath() 1459QString MainWindow::resourcePath()
1452{ 1460{
1453 return KGlobal::iconLoader()->iconPath(); 1461 return KGlobal::iconLoader()->iconPath();
1454} 1462}
1455 1463
1456void MainWindow::displayText( QString text ,QString cap ) 1464void MainWindow::displayText( QString text ,QString cap )
1457{ 1465{
1458 QDialog dia( this, "name", true ); ; 1466 QDialog dia( this, "name", true ); ;
1459 dia.setCaption( cap ); 1467 dia.setCaption( cap );
1460 QVBoxLayout* lay = new QVBoxLayout( &dia ); 1468 QVBoxLayout* lay = new QVBoxLayout( &dia );
1461 lay->setSpacing( 3 ); 1469 lay->setSpacing( 3 );
1462 lay->setMargin( 3 ); 1470 lay->setMargin( 3 );
1463 QTextBrowser tb ( &dia ); 1471 QTextBrowser tb ( &dia );
1464 lay->addWidget( &tb ); 1472 lay->addWidget( &tb );
1465 tb.setText( text ); 1473 tb.setText( text );
1466#ifdef DESKTOP_VERSION 1474#ifdef DESKTOP_VERSION
1467 dia.resize( 640, 480); 1475 dia.resize( 640, 480);
1468#else 1476#else
1469 dia.showMaximized(); 1477 dia.showMaximized();
1470#endif 1478#endif
1471 dia.exec(); 1479 dia.exec();
1472} 1480}
1473 1481
1474void MainWindow::features() 1482void MainWindow::features()
1475{ 1483{
1476 1484
1477 KApplication::showFile( i18n("KO/Pi Features and hints"), "kdepim/korganizer/featuresKOPI.txt" ); 1485 KApplication::showFile( i18n("KO/Pi Features and hints"), "kdepim/korganizer/featuresKOPI.txt" );
1478} 1486}
1479 1487
1480void MainWindow::usertrans() 1488void MainWindow::usertrans()
1481{ 1489{
1482 1490
1483 KApplication::showFile( i18n("KO/Pi User translation HowTo"), "kdepim/korganizer/usertranslationHOWTO.txt" ); 1491 KApplication::showFile( i18n("KO/Pi User translation HowTo"), "kdepim/korganizer/usertranslationHOWTO.txt" );
1484} 1492}
1485 1493
1486void MainWindow::storagehowto() 1494void MainWindow::storagehowto()
1487{ 1495{
1488 KApplication::showFile( "KDE-Pim/Pi Storage HowTo", "kdepim/storagehowto.txt" ); 1496 KApplication::showFile( "KDE-Pim/Pi Storage HowTo", "kdepim/storagehowto.txt" );
1489} 1497}
1490void MainWindow::timetrackinghowto() 1498void MainWindow::timetrackinghowto()
1491{ 1499{
1492 KApplication::showFile( "KO/Pi Timetracking HowTo", "kdepim/timetrackerhowto.txt" ); 1500 KApplication::showFile( "KO/Pi Timetracking HowTo", "kdepim/timetrackerhowto.txt" );
1493} 1501}
1494void MainWindow::kdesynchowto() 1502void MainWindow::kdesynchowto()
1495{ 1503{
1496 KApplication::showFile( "KDE-Pim/Pi Synchronization HowTo", "kdepim/Zaurus-KDE_syncHowTo.txt" ); 1504 KApplication::showFile( "KDE-Pim/Pi Synchronization HowTo", "kdepim/Zaurus-KDE_syncHowTo.txt" );
1497} 1505}
1498void MainWindow::multisynchowto() 1506void MainWindow::multisynchowto()
1499{ 1507{
1500 KApplication::showFile( "KDE-Pim/Pi Synchronization HowTo", "kdepim/MultiSyncHowTo.txt" ); 1508 KApplication::showFile( "KDE-Pim/Pi Synchronization HowTo", "kdepim/MultiSyncHowTo.txt" );
1501} 1509}
1502void MainWindow::synchowto() 1510void MainWindow::synchowto()
1503{ 1511{
1504 KApplication::showFile( "KDE-Pim/Pi Synchronization HowTo", "kdepim/SyncHowto.txt" ); 1512 KApplication::showFile( "KDE-Pim/Pi Synchronization HowTo", "kdepim/SyncHowto.txt" );
1505} 1513}
1506void MainWindow::faq() 1514void MainWindow::faq()
1507{ 1515{
1508 KApplication::showFile( i18n("KO/Pi FAQ"), "kdepim/korganizer/kopiFAQ.txt" ); 1516 KApplication::showFile( i18n("KO/Pi FAQ"), "kdepim/korganizer/kopiFAQ.txt" );
1509 1517
1510} 1518}
1511void MainWindow::whatsNew() 1519void MainWindow::whatsNew()
1512{ 1520{
1513 KApplication::showFile( "KDE-Pim/Pi Version Info", "kdepim/WhatsNew.txt" ); 1521 KApplication::showFile( "KDE-Pim/Pi Version Info", "kdepim/WhatsNew.txt" );
1514 1522
1515} 1523}
1516void MainWindow::licence() 1524void MainWindow::licence()
1517{ 1525{
1518 KApplication::showLicence(); 1526 KApplication::showLicence();
1519 1527
1520} 1528}
1521void MainWindow::about() 1529void MainWindow::about()
1522{ 1530{
1523 QString version; 1531 QString version;
1524#include <../version> 1532#include <../version>
1525 QMessageBox::about( this, i18n("About KOrganizer/Pi"), 1533 QMessageBox::about( this, i18n("About KOrganizer/Pi"),
1526 i18n("KOrganizer/Platform-independent\n") + 1534 i18n("KOrganizer/Platform-independent\n") +
1527 "(KO/Pi) " + version + " - " + 1535 "(KO/Pi) " + version + " - " +
1528 1536
1529#ifdef DESKTOP_VERSION 1537#ifdef DESKTOP_VERSION
1530 i18n("Desktop Edition\n") + 1538 i18n("Desktop Edition\n") +
1531#else 1539#else
1532 i18n("PDA-Edition\nfor: Zaurus 5x00/7x0/860/3000/6000\n") + 1540 i18n("PDA-Edition\nfor: Zaurus 5x00/7x0/860/3000/6000\n") +
1533#endif 1541#endif
1534 i18n("(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!") ); 1542 i18n("(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!") );
1535} 1543}
1536void MainWindow::keyBindings() 1544void MainWindow::keyBindings()
1537{ 1545{
1538 QString cap = i18n("KO/Pi Keys + Colors"); 1546 QString cap = i18n("KO/Pi Keys + Colors");
1539 QString text = i18n("<p><h2>KO/Pi key shortcuts:</h2></p>\n") + 1547 QString text = i18n("<p><h2>KO/Pi key shortcuts:</h2></p>\n") +
1540 i18n("<p><b>H</b>: This help dialog | <b>S</b>: Search dialog</p>\n")+ 1548 i18n("<p><b>H</b>: This help dialog | <b>S</b>: Search dialog</p>\n")+
1541 i18n("<p><b>N</b>: Switch to next view which has a toolbar icon</p>\n") + 1549 i18n("<p><b>N</b>: Switch to next view which has a toolbar icon</p>\n") +
1542 i18n("<p><b>A+(shift or ctrl)</b>: Show occurence of next alarm</p>\n") + 1550 i18n("<p><b>A+(shift or ctrl)</b>: Show occurence of next alarm</p>\n") +
1543 i18n("<p><b>I</b>: Show info for selected event/todo</p>\n") + 1551 i18n("<p><b>I</b>: Show info for selected event/todo</p>\n") +
1544 i18n("<p><b>Space</b>: Toggle fullscreen | <b>P</b>: Date picker</p>\n")+ 1552 i18n("<p><b>Space</b>: Toggle fullscreen | <b>P</b>: Date picker</p>\n")+
1545 i18n("<p><b>R</b>: Toggle Resource View |<b>F</b>: Edit filter </p>\n")+ 1553 i18n("<p><b>R</b>: Toggle Resource View |<b>F</b>: Edit filter </p>\n")+
1546 i18n("<p><b>O</b>: Filter On/Off | <b>J</b>: Journal view</p>\n")+ 1554 i18n("<p><b>O</b>: Filter On/Off | <b>J</b>: Journal view</p>\n")+
1547 i18n("<p><b>1-0</b> (+<b>ctrl</b>): Select filter 1-10 (11-20)</p>\n")+ 1555 i18n("<p><b>1-0</b> (+<b>ctrl</b>): Select filter 1-10 (11-20)</p>\n")+
1548 i18n("<p><b>X</b>: Next X days view| <b>W</b>: What's next view\n ")+ 1556 i18n("<p><b>X</b>: Next X days view| <b>W</b>: What's next view\n ")+
1549 i18n("<p><b>V</b>: Todo view | <b>L</b>: Event list view</p>\n")+ 1557 i18n("<p><b>V</b>: Todo view | <b>L</b>: Event list view</p>\n")+
1550 i18n("<p><b>Z,Y</b>: Work week view | <b>U</b>: Week view</p>\n")+ 1558 i18n("<p><b>Z,Y</b>: Work week view | <b>U</b>: Week view</p>\n")+
1551 i18n("<p><b>D</b>: One day view | <b>M</b>: Month view</p>\n")+ 1559 i18n("<p><b>D</b>: One day view | <b>M</b>: Month view</p>\n")+
1552 i18n("<p><b>K</b>: Week view in Month view syle</p>\n")+ 1560 i18n("<p><b>K</b>: Week view in Month view syle</p>\n")+
1553 i18n("<p><b>E</b>: Edit selected item |<b> E+ctrl</b>: New Event</p>\n")+ 1561 i18n("<p><b>E</b>: Edit selected item |<b> E+ctrl</b>: New Event</p>\n")+
1554 i18n("<p><b>T</b>: Goto today | <b>T+ctrl</b>: New Todo</p>\n")+ 1562 i18n("<p><b>T</b>: Goto today | <b>T+ctrl</b>: New Todo</p>\n")+
1555 i18n("<p><b>S+ctrl</b>: Add sub-todo | <b>X+ctrl</b>: Toggle datenavigator</p>\n")+ 1563 i18n("<p><b>S+ctrl</b>: Add sub-todo | <b>X+ctrl</b>: Toggle datenavigator</p>\n")+
1556 i18n("<p><b>+,-</b> : Zoom in/out agenda | <b>A</b>: Toggle allday agenda height</p>\n")+ 1564 i18n("<p><b>+,-</b> : Zoom in/out agenda | <b>A</b>: Toggle allday agenda height</p>\n")+
1557 i18n("<p><b>C</b>: Show current time in agenda view</p>\n")+ 1565 i18n("<p><b>C</b>: Show current time in agenda view</p>\n")+
1558 i18n("<p><b>B</b>: Edit description (details) of selected item</p>\n")+ 1566 i18n("<p><b>B</b>: Edit description (details) of selected item</p>\n")+
1559 i18n("<p><b>right</b>: Next week | <b>right+ctrl</b>: Next month</p>\n")+ 1567 i18n("<p><b>right</b>: Next week | <b>right+ctrl</b>: Next month</p>\n")+
1560 i18n("<p><b>left</b>: Prev. week | <b>left+ctrl</b>: Prev. month</p>\n")+ 1568 i18n("<p><b>left</b>: Prev. week | <b>left+ctrl</b>: Prev. month</p>\n")+
1561 i18n("<p><b>del,backspace</b>: Delete selected item</p>\n")+ 1569 i18n("<p><b>del,backspace</b>: Delete selected item</p>\n")+
1562 i18n("<p><h3>In agenda view:</h3></p>\n") + 1570 i18n("<p><h3>In agenda view:</h3></p>\n") +
1563 i18n("<p><b>up/down</b>: Scroll agenda view</p>\n")+ 1571 i18n("<p><b>up/down</b>: Scroll agenda view</p>\n")+
1564 i18n("<p><b>ctrl+up/down</b>: Scroll small todo view</p>\n")+ 1572 i18n("<p><b>ctrl+up/down</b>: Scroll small todo view</p>\n")+
1565 i18n("<p><h3>In todo view:</h3></p>\n") + 1573 i18n("<p><h3>In todo view:</h3></p>\n") +
1566 i18n("<p><b>shift+U</b>: <b>U</b>nparent todo (make root todo)</p>\n")+ 1574 i18n("<p><b>shift+U</b>: <b>U</b>nparent todo (make root todo)</p>\n")+
1567 i18n("<p><b>shift+S</b>: Make <b>S</b>ubtodo (reparent todo)</p>\n")+ 1575 i18n("<p><b>shift+S</b>: Make <b>S</b>ubtodo (reparent todo)</p>\n")+
1568 i18n("<p><b>shift+P</b>: Make new <b>P</b>arent for todo selected with shift+S</p>\n")+ 1576 i18n("<p><b>shift+P</b>: Make new <b>P</b>arent for todo selected with shift+S</p>\n")+
1569 i18n("<p><b>Q</b>: Toggle quick todo line edit.</p>\n")+ 1577 i18n("<p><b>Q</b>: Toggle quick todo line edit.</p>\n")+
1570 i18n("<p><b>I</b>: Show info of current item+one step down.</p>\n")+ 1578 i18n("<p><b>I</b>: Show info of current item+one step down.</p>\n")+
1571 i18n("<p><b>return</b>: Mark item as completed+one step down.</p>\n")+ 1579 i18n("<p><b>return</b>: Mark item as completed+one step down.</p>\n")+
1572 i18n("<p><b>return+shift</b>: Mark item as not completed+one step down</p>\n")+ 1580 i18n("<p><b>return+shift</b>: Mark item as not completed+one step down</p>\n")+
1573 i18n("<p><h3>In list view:</h3></p>\n") + 1581 i18n("<p><h3>In list view:</h3></p>\n") +
1574 i18n("<p><b>I</b>: Show info of current item+one step down.</p>\n")+ 1582 i18n("<p><b>I</b>: Show info of current item+one step down.</p>\n")+
1575 i18n("<p><b>return</b>: Select item+one step down</p>\n")+ 1583 i18n("<p><b>return</b>: Select item+one step down</p>\n")+
1576 i18n("<p><b>return+shift</b>: Deselect item+one step down</p>\n")+ 1584 i18n("<p><b>return+shift</b>: Deselect item+one step down</p>\n")+
1577 i18n("<p><b>up/down</b>: Next/prev item</p>\n")+ 1585 i18n("<p><b>up/down</b>: Next/prev item</p>\n")+
1578 i18n("<p><b>ctrl+up/down</b>: Goto up/down by 20% of items</p>\n")+ 1586 i18n("<p><b>ctrl+up/down</b>: Goto up/down by 20% of items</p>\n")+
1579 i18n("<p><b>shift+up/down</b>: Goto first/last item</p>\n")+ 1587 i18n("<p><b>shift+up/down</b>: Goto first/last item</p>\n")+
1580 i18n("<p><h3>In event/todo viewer:</h3></p>\n") + 1588 i18n("<p><h3>In event/todo viewer:</h3></p>\n") +
1581 i18n("<p><b>I,C</b>: Close dialog.</p>\n")+ 1589 i18n("<p><b>I,C</b>: Close dialog.</p>\n")+
1582 i18n("<p><b>A</b>: Show agenda view.</p>\n")+ 1590 i18n("<p><b>A</b>: Show agenda view.</p>\n")+
1583 i18n("<p><b>E</b>: Edit item</p>\n") + 1591 i18n("<p><b>E</b>: Edit item</p>\n") +
1584 i18n("<p><h2>KO/Pi icon colors:</h2></p>\n") + 1592 i18n("<p><h2>KO/Pi icon colors:</h2></p>\n") +
1585 i18n("<p><b>(for square icons in agenda and month view)</b></p>\n") + 1593 i18n("<p><b>(for square icons in agenda and month view)</b></p>\n") +
1586 i18n("<p><b>Cross</b>: Item cancelled.([c] in Whats'Next view)</p>\n")+ 1594 i18n("<p><b>Cross</b>: Item cancelled.([c] in Whats'Next view)</p>\n")+
1587 i18n("<p><b>Red</b>: Alarm set.([a] in Whats'Next view)</p>\n")+ 1595 i18n("<p><b>Red</b>: Alarm set.([a] in Whats'Next view)</p>\n")+
1588 i18n("<p><b>Blue</b>: Recurrent event.([r] in Whats'Next view)</p>\n")+ 1596 i18n("<p><b>Blue</b>: Recurrent event.([r] in Whats'Next view)</p>\n")+
1589 i18n("<p><b>Dark green</b>: Information(description) available.([i] in WN view)</p>\n")+ 1597 i18n("<p><b>Dark green</b>: Information(description) available.([i] in WN view)</p>\n")+
1590 i18n("<p><b>Black</b>: Event/todo with attendees. You are the organizer!</p>\n")+ 1598 i18n("<p><b>Black</b>: Event/todo with attendees. You are the organizer!</p>\n")+
1591 i18n("<p><b>Dark yellow</b>: Event/todo with attendees.</p>\n") + 1599 i18n("<p><b>Dark yellow</b>: Event/todo with attendees.</p>\n") +
1592 i18n("<p><b>White</b>: Item readonly</p>\n"); 1600 i18n("<p><b>White</b>: Item readonly</p>\n");
1593 displayText( text, cap); 1601 displayText( text, cap);
1594} 1602}
1595void MainWindow::aboutAutoSaving() 1603void MainWindow::aboutAutoSaving()
1596{ 1604{
1597 QString text = i18n("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"); 1605 QString text = i18n("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");
1598 1606
1599 KApplication::showText( i18n("Auto Saving in KOrganizer/Pi"), text); 1607 KApplication::showText( i18n("Auto Saving in KOrganizer/Pi"), text);
1600 1608
1601} 1609}
1602void MainWindow::aboutKnownBugs() 1610void MainWindow::aboutKnownBugs()
1603{ 1611{
1604 QMessageBox* msg; 1612 QMessageBox* msg;
1605 msg = new QMessageBox( i18n("Known Problems in KOrganizer/Pi"), 1613 msg = new QMessageBox( i18n("Known Problems in KOrganizer/Pi"),
1606 i18n("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")+ 1614 i18n("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")+
1607 i18n("2) Audio alarm daemon\nfor Zaurus is available!\nas an additional small application\n")+ 1615 i18n("2) Audio alarm daemon\nfor Zaurus is available!\nas an additional small application\n")+
1608 i18n("\nPlease report unexpected behaviour to\nlutz@pi-sync.info\n") + 1616 i18n("\nPlease report unexpected behaviour to\nlutz@pi-sync.info\n") +
1609 i18n("\nor report them in the bugtracker on\n") + 1617 i18n("\nor report them in the bugtracker on\n") +
1610 i18n("\nhttp://sourceforge.net/projects/kdepimpi\n"), 1618 i18n("\nhttp://sourceforge.net/projects/kdepimpi\n"),
1611 QMessageBox::NoIcon, 1619 QMessageBox::NoIcon,
1612 QMessageBox::Ok, 1620 QMessageBox::Ok,
1613 QMessageBox::NoButton, 1621 QMessageBox::NoButton,
1614 QMessageBox::NoButton); 1622 QMessageBox::NoButton);
1615 msg->exec(); 1623 msg->exec();
1616 delete msg; 1624 delete msg;
1617 1625
1618} 1626}
1619 1627
1620QString MainWindow::defaultFileName() 1628QString MainWindow::defaultFileName()
1621{ 1629{
1622 return locateLocal( "data", "korganizer/mycalendar.ics" ); 1630 return locateLocal( "data", "korganizer/mycalendar.ics" );
1623} 1631}
1624QString MainWindow::syncFileName() 1632QString MainWindow::syncFileName()
1625{ 1633{
1626#ifdef DESKTOP_VERSION 1634#ifdef DESKTOP_VERSION
1627 return locateLocal( "tmp", "synccalendar.ics" ); 1635 return locateLocal( "tmp", "synccalendar.ics" );
1628#else 1636#else
1629 return QString( "/tmp/synccalendar.ics" ); 1637 return QString( "/tmp/synccalendar.ics" );
1630#endif 1638#endif
1631} 1639}
1632#include "koglobals.h" 1640#include "koglobals.h"
1633#include <kcalendarsystem.h> 1641#include <kcalendarsystem.h>
1634void MainWindow::updateWeek(QDate seda) 1642void MainWindow::updateWeek(QDate seda)
1635{ 1643{
1636 int weekNum = KGlobal::locale()->weekNum ( seda ); 1644 int weekNum = KGlobal::locale()->weekNum ( seda );
1637 mWeekPixmap.fill( mWeekBgColor ); 1645 mWeekPixmap.fill( mWeekBgColor );
1638 QPainter p ( &mWeekPixmap ); 1646 QPainter p ( &mWeekPixmap );
1639 p.setFont( mWeekFont ); 1647 p.setFont( mWeekFont );
1640 p.drawText( 0,0,mWeekPixmap.width(), mWeekPixmap.height(),AlignCenter, QString::number( weekNum) ); 1648 p.drawText( 0,0,mWeekPixmap.width(), mWeekPixmap.height(),AlignCenter, QString::number( weekNum) );
1641 p.end(); 1649 p.end();
1642 QIconSet icon3 ( mWeekPixmap ); 1650 QIconSet icon3 ( mWeekPixmap );
1643 mWeekAction->setIconSet ( icon3 ); 1651 mWeekAction->setIconSet ( icon3 );
1644 1652
1645} 1653}
1646void MainWindow::updateWeekNum(const DateList &selectedDates) 1654void MainWindow::updateWeekNum(const DateList &selectedDates)
1647{ 1655{
1648 updateWeek( selectedDates.first() ); 1656 updateWeek( selectedDates.first() );
1649} 1657}
1650void MainWindow::processIncidenceSelection( Incidence *incidence ) 1658void MainWindow::processIncidenceSelection( Incidence *incidence )
1651{ 1659{
1652 if ( !incidence ) { 1660 if ( !incidence ) {
1653 mShowAction->setMenuText( i18n("Show") ); 1661 mShowAction->setMenuText( i18n("Show") );
1654 enableIncidenceActions( false ); 1662 enableIncidenceActions( false );
1655 mNewSubTodoAction->setEnabled( false ); 1663 mNewSubTodoAction->setEnabled( false );
1656 setCaptionToDates(); 1664 setCaptionToDates();
1657 return; 1665 return;
1658 } 1666 }
1659 QString startString = ""; 1667 QString startString = "";
1660 if ( incidence->typeID() != todoID ) { 1668 if ( incidence->typeID() != todoID ) {
1661 if ( incidence->dtStart().date() < incidence->dtEnd().date() ) { 1669 if ( incidence->dtStart().date() < incidence->dtEnd().date() ) {
1662 if ( incidence->doesFloat() ) { 1670 if ( incidence->doesFloat() ) {
1663 startString += ": "+incidence->dtStartDateStr( true ); 1671 startString += ": "+incidence->dtStartDateStr( true );
1664 startString += " --- "+((Event*)incidence)->dtEndDateStr( true ); 1672 startString += " --- "+((Event*)incidence)->dtEndDateStr( true );
1665 } else { 1673 } else {
1666 startString = ": "+incidence->dtStartStr(true); 1674 startString = ": "+incidence->dtStartStr(true);
1667 startString += " --- "+((Event*)incidence)->dtEndStr(true); 1675 startString += " --- "+((Event*)incidence)->dtEndStr(true);
1668 } 1676 }
1669 } else { 1677 } else {
1670 if ( incidence->dtStart().time() != incidence->dtEnd().time() ) 1678 if ( incidence->dtStart().time() != incidence->dtEnd().time() )
1671 startString = ": "+KGlobal::locale()->formatTime(incidence->dtStart().time())+ 1679 startString = ": "+KGlobal::locale()->formatTime(incidence->dtStart().time())+
1672 "-"+KGlobal::locale()->formatTime(incidence->dtEnd().time()); 1680 "-"+KGlobal::locale()->formatTime(incidence->dtEnd().time());
1673 if ( incidence->isBirthday() || incidence->isAnniversary() ) { 1681 if ( incidence->isBirthday() || incidence->isAnniversary() ) {
1674 bool ok; 1682 bool ok;
1675 QDateTime noc = incidence->getNextOccurence( mView->startDate().addDays(-1), &ok ); 1683 QDateTime noc = incidence->getNextOccurence( mView->startDate().addDays(-1), &ok );
1676 if ( ok ) { 1684 if ( ok ) {
1677 int years = noc.date().year() - incidence->dtStart().date().year(); 1685 int years = noc.date().year() - incidence->dtStart().date().year();
1678 startString += i18n(" (%1 y.)"). arg( years ); 1686 startString += i18n(" (%1 y.)"). arg( years );
1679 } 1687 }
1680 } 1688 }
1681 else 1689 else
1682 startString +=" "+KGlobal::locale()->formatDate( incidence->dtStart().date(), true); 1690 startString +=" "+KGlobal::locale()->formatDate( incidence->dtStart().date(), true);
1683 } 1691 }
1684 } 1692 }
1685 else { 1693 else {
1686 if ( (( KCal::Todo*)incidence)->percentComplete() == 100 ) 1694 if ( (( KCal::Todo*)incidence)->percentComplete() == 100 )
1687 startString = i18n(": (Prio ") +QString::number( (( KCal::Todo*)incidence)->priority() ) +") "+i18n("completed on %1").arg( (( KCal::Todo*)incidence)->completedStr(true) ); 1695 startString = i18n(": (Prio ") +QString::number( (( KCal::Todo*)incidence)->priority() ) +") "+i18n("completed on %1").arg( (( KCal::Todo*)incidence)->completedStr(true) );
1688 else 1696 else
1689 startString = i18n(": (Prio ") +QString::number( (( KCal::Todo*)incidence)->priority() ) +") "+QString::number( (( KCal::Todo*)incidence)->percentComplete() ) +i18n("\% completed"); 1697 startString = i18n(": (Prio ") +QString::number( (( KCal::Todo*)incidence)->priority() ) +") "+QString::number( (( KCal::Todo*)incidence)->percentComplete() ) +i18n("\% completed");
1690 } 1698 }
1691 if ( !incidence->location().isEmpty() ) 1699 if ( !incidence->location().isEmpty() )
1692 startString += " (" +incidence->location()+")"; 1700 startString += " (" +incidence->location()+")";
1693 setCaption( incidence->summary()+startString); 1701 setCaption( incidence->summary()+startString);
1694 enableIncidenceActions( true ); 1702 enableIncidenceActions( true );
1695 if ( incidence->typeID() == eventID ) { 1703 if ( incidence->typeID() == eventID ) {
1696 mShowAction->setMenuText( i18n("Show Event") ); 1704 mShowAction->setMenuText( i18n("Show Event") );
1697 mNewSubTodoAction->setEnabled( false ); 1705 mNewSubTodoAction->setEnabled( false );
1698 } else if ( incidence->typeID() == todoID ) { 1706 } else if ( incidence->typeID() == todoID ) {
1699 mShowAction->setMenuText( i18n("Show Todo") ); 1707 mShowAction->setMenuText( i18n("Show Todo") );
1700 mNewSubTodoAction->setEnabled( true ); 1708 mNewSubTodoAction->setEnabled( true );
1701 } else { 1709 } else {
1702 mShowAction->setMenuText( i18n("Show") ); 1710 mShowAction->setMenuText( i18n("Show") );
1703 mNewSubTodoAction->setEnabled( false ); 1711 mNewSubTodoAction->setEnabled( false );
1704 } 1712 }
1705} 1713}
1706 1714
1707void MainWindow::enableIncidenceActions( bool enabled ) 1715void MainWindow::enableIncidenceActions( bool enabled )
1708{ 1716{
1709 mShowAction->setEnabled( enabled ); 1717 mShowAction->setEnabled( enabled );
1710 mEditAction->setEnabled( enabled ); 1718 mEditAction->setEnabled( enabled );
1711 mDeleteAction->setEnabled( enabled ); 1719 mDeleteAction->setEnabled( enabled );
1712 1720
1713 mCloneAction->setEnabled( enabled ); 1721 mCloneAction->setEnabled( enabled );
1714 mMoveAction->setEnabled( enabled ); 1722 mMoveAction->setEnabled( enabled );
1715#ifndef DESKTOP_VERSION 1723#ifndef DESKTOP_VERSION
1716 mBeamAction->setEnabled( enabled ); 1724 mBeamAction->setEnabled( enabled );
1717#endif 1725#endif
1718 mCancelAction->setEnabled( enabled ); 1726 mCancelAction->setEnabled( enabled );
1719} 1727}
1720 1728
1721void MainWindow::importOL() 1729void MainWindow::importOL()
1722{ 1730{
1723#ifdef _OL_IMPORT_ 1731#ifdef _OL_IMPORT_
1724 mView->clearAllViews(); 1732 mView->clearAllViews();
1725 KOImportOLdialog *id = new KOImportOLdialog("Import from OL - select folder!" , mView->calendar(),this ); 1733 KOImportOLdialog *id = new KOImportOLdialog("Import from OL - select folder!" , mView->calendar(),this );
1726 id->exec(); 1734 id->exec();
1727 delete id; 1735 delete id;
1728 mView->calendar()->checkAlarmForIncidence( 0, true ); 1736 mView->calendar()->checkAlarmForIncidence( 0, true );
1729 mView->updateView(); 1737 mView->updateView();
1730#endif 1738#endif
1731} 1739}
1732void MainWindow::importBday() 1740void MainWindow::importBday()
1733{ 1741{
1734 int result = QMessageBox::warning( this, i18n("KO/Pi import information!"), 1742 int result = QMessageBox::warning( this, i18n("KO/Pi import information!"),
1735 i18n("When importing birthdays twice\nduplicated events will be ignored,\nif the event has not been\nchanged in KO/Pi!\n"), 1743 i18n("When importing birthdays twice\nduplicated events will be ignored,\nif the event has not been\nchanged in KO/Pi!\n"),
1736 i18n("Import!"), i18n("Cancel"), 0, 1744 i18n("Import!"), i18n("Cancel"), 0,
1737 0, 1 ); 1745 0, 1 );
1738 if ( result == 0 ) { 1746 if ( result == 0 ) {
1739 mView->importBday(); 1747 mView->importBday();
1740 1748
1741 } 1749 }
1742 1750
1743 1751
1744} 1752}
1745void MainWindow::importQtopia() 1753void MainWindow::importQtopia()
1746{ 1754{
1747 //#ifndef DESKTOP_VERSION 1755 //#ifndef DESKTOP_VERSION
diff --git a/korganizer/mainwindow.h b/korganizer/mainwindow.h
index a948a52..adab95d 100644
--- a/korganizer/mainwindow.h
+++ b/korganizer/mainwindow.h
@@ -1,172 +1,173 @@
1#ifndef KORGE_MAINWINDOW_H 1#ifndef KORGE_MAINWINDOW_H
2#define KORGE_MAINWINDOW_H 2#define KORGE_MAINWINDOW_H
3 3
4#include <qmainwindow.h> 4#include <qmainwindow.h>
5#include <qtimer.h> 5#include <qtimer.h>
6#include <qdict.h> 6#include <qdict.h>
7#include <qfile.h> 7#include <qfile.h>
8#include <qmenubar.h> 8#include <qmenubar.h>
9#include <qtextstream.h> 9#include <qtextstream.h>
10#include <qregexp.h> 10#include <qregexp.h>
11 11
12#include <libkcal/incidence.h> 12#include <libkcal/incidence.h>
13#include <ksyncmanager.h> 13#include <ksyncmanager.h>
14#ifndef DESKTOP_VERSION 14#ifndef DESKTOP_VERSION
15#include <qcopchannel_qws.h> 15#include <qcopchannel_qws.h>
16#endif 16#endif
17class QAction; 17class QAction;
18class CalendarView; 18class CalendarView;
19class KSyncProfile; 19class KSyncProfile;
20#ifdef DESKTOP_VERSION 20#ifdef DESKTOP_VERSION
21 21
22#define QPEToolBar QToolBar 22#define QPEToolBar QToolBar
23#define QPEMenuBar QMenuBar 23#define QPEMenuBar QMenuBar
24#endif 24#endif
25class QPEToolBar; 25class QPEToolBar;
26class QPEMenuBar; 26class QPEMenuBar;
27 27
28 28
29namespace KCal { 29namespace KCal {
30class CalendarLocal; 30class CalendarLocal;
31} 31}
32 32
33using namespace KCal; 33using namespace KCal;
34 34
35class MainWindow : public QMainWindow 35class MainWindow : public QMainWindow
36{ 36{
37 Q_OBJECT 37 Q_OBJECT
38 public: 38 public:
39 MainWindow( QWidget *parent = 0, const char *name = 0 ); 39 MainWindow( QWidget *parent = 0, const char *name = 0 );
40 ~MainWindow(); 40 ~MainWindow();
41 bool beamReceiveEnabled(); 41 bool beamReceiveEnabled();
42 static QString defaultFileName(); 42 static QString defaultFileName();
43 static QString syncFileName(); 43 static QString syncFileName();
44 static QString resourcePath(); 44 static QString resourcePath();
45 public slots: 45 public slots:
46 void setUsesBigPixmaps ( bool ); 46 void setUsesBigPixmaps ( bool );
47 void setCaption ( const QString & ); 47 void setCaption ( const QString & );
48 void updateWeekNum(const KCal::DateList &); 48 void updateWeekNum(const KCal::DateList &);
49 void updateWeek(QDate); 49 void updateWeek(QDate);
50 void updateFilterToolbar(); 50 void updateFilterToolbar();
51 virtual void showMaximized (); 51 virtual void showMaximized ();
52 void configureAgenda( int ); 52 void configureAgenda( int );
53 void recieve( const QCString& msg, const QByteArray& data ); 53 void recieve( const QCString& msg, const QByteArray& data );
54 protected slots: 54 protected slots:
55 void calHint();
55 void startMultiSync(); 56 void startMultiSync();
56 void setCaptionToDates(); 57 void setCaptionToDates();
57 void weekAction(); 58 void weekAction();
58 void about(); 59 void about();
59 void licence(); 60 void licence();
60 void faq(); 61 void faq();
61 void usertrans(); 62 void usertrans();
62 void features(); 63 void features();
63 void synchowto(); 64 void synchowto();
64 void storagehowto(); 65 void storagehowto();
65 void timetrackinghowto(); 66 void timetrackinghowto();
66 void kdesynchowto(); 67 void kdesynchowto();
67 void multisynchowto(); 68 void multisynchowto();
68 void whatsNew(); 69 void whatsNew();
69 void keyBindings(); 70 void keyBindings();
70 void aboutAutoSaving();; 71 void aboutAutoSaving();;
71 void aboutKnownBugs(); 72 void aboutKnownBugs();
72 73
73 void processIncidenceSelection( Incidence * ); 74 void processIncidenceSelection( Incidence * );
74 75
75 void importQtopia(); 76 void importQtopia();
76 void importBday(); 77 void importBday();
77 void importOL(); 78 void importOL();
78 void importIcal(); 79 void importIcal();
79 void importFile( QString, bool ); 80 void importFile( QString, bool );
80 void quickImportIcal(); 81 void quickImportIcal();
81 82
82 void slotModifiedChanged( bool ); 83 void slotModifiedChanged( bool );
83 84
84 void save(); 85 void save();
85 void backupAllFiles(); 86 void backupAllFiles();
86 void saveStopTimer(); 87 void saveStopTimer();
87 void configureToolBar( int ); 88 void configureToolBar( int );
88 void printSel(); 89 void printSel();
89 void printCal(); 90 void printCal();
90 void printListView(); 91 void printListView();
91 void saveCalendar(); 92 void saveCalendar();
92 void loadCalendar(); 93 void loadCalendar();
93 void exportVCalendar(); 94 void exportVCalendar();
94 void fillFilterMenu(); 95 void fillFilterMenu();
95 void fillFilterMenuTB(); 96 void fillFilterMenuTB();
96 void selectFilter( int ); 97 void selectFilter( int );
97 void fillFilterMenuPopup(); 98 void fillFilterMenuPopup();
98 void selectFilterPopup( int ); 99 void selectFilterPopup( int );
99 void exportToPhone( int ); 100 void exportToPhone( int );
100 void toggleBeamReceive(); 101 void toggleBeamReceive();
101 void disableBR(bool); 102 void disableBR(bool);
102 signals: 103 signals:
103 void selectWeek ( int ); 104 void selectWeek ( int );
104 private slots: 105 private slots:
105 void showConfigureAgenda(); 106 void showConfigureAgenda();
106 void getFile( bool ); 107 void getFile( bool );
107 void syncFileRequest(); 108 void syncFileRequest();
108 109
109 protected: 110 protected:
110 void hideEvent ( QHideEvent * ); 111 void hideEvent ( QHideEvent * );
111 QString sentSyncFile(); 112 QString sentSyncFile();
112 void displayText( QString, QString); 113 void displayText( QString, QString);
113 void enableIncidenceActions( bool ); 114 void enableIncidenceActions( bool );
114 115
115 private: 116 private:
116 bool mBRdisabled; 117 bool mBRdisabled;
117#ifndef DESKTOP_VERSION 118#ifndef DESKTOP_VERSION
118 QCopChannel* infrared; 119 QCopChannel* infrared;
119#endif 120#endif
120 QAction* brAction; 121 QAction* brAction;
121 KSyncManager* mSyncManager; 122 KSyncManager* mSyncManager;
122 bool mClosed; 123 bool mClosed;
123 void saveOnClose(); 124 void saveOnClose();
124 bool mFlagKeyPressed; 125 bool mFlagKeyPressed;
125 bool mBlockAtStartup; 126 bool mBlockAtStartup;
126 QPEToolBar *iconToolBar; 127 QPEToolBar *iconToolBar;
127 QPEToolBar *viewToolBar; 128 QPEToolBar *viewToolBar;
128 QPEToolBar *navigatorToolBar; 129 QPEToolBar *navigatorToolBar;
129 QPEToolBar *filterToolBar; 130 QPEToolBar *filterToolBar;
130 QMenuBar *filterMenubar; 131 QMenuBar *filterMenubar;
131 QPopupMenu * filterPopupMenu; 132 QPopupMenu * filterPopupMenu;
132 QPopupMenu * mCurrentItemMenu; 133 QPopupMenu * mCurrentItemMenu;
133 void initActions(); 134 void initActions();
134 void setDefaultPreferences(); 135 void setDefaultPreferences();
135 void resizeEvent( QResizeEvent* e); 136 void resizeEvent( QResizeEvent* e);
136 void keyPressEvent ( QKeyEvent * ) ; 137 void keyPressEvent ( QKeyEvent * ) ;
137 void keyReleaseEvent ( QKeyEvent * ) ; 138 void keyReleaseEvent ( QKeyEvent * ) ;
138 QPopupMenu *configureToolBarMenu; 139 QPopupMenu *configureToolBarMenu;
139 QPopupMenu *selectFilterMenu; 140 QPopupMenu *selectFilterMenu;
140 QPopupMenu *selectFilterMenuTB; 141 QPopupMenu *selectFilterMenuTB;
141 QPopupMenu *configureAgendaMenu, *syncMenu; 142 QPopupMenu *configureAgendaMenu, *syncMenu;
142 CalendarLocal *mCalendar; 143 CalendarLocal *mCalendar;
143 CalendarView *mView; 144 CalendarView *mView;
144 QAction *mNewSubTodoAction; 145 QAction *mNewSubTodoAction;
145 QAction *mWeekAction; 146 QAction *mWeekAction;
146 QFont mWeekFont; 147 QFont mWeekFont;
147 QPixmap mWeekPixmap; 148 QPixmap mWeekPixmap;
148 QColor mWeekBgColor; 149 QColor mWeekBgColor;
149 150
150 QAction *mShowAction; 151 QAction *mShowAction;
151 QAction *mEditAction; 152 QAction *mEditAction;
152 QAction *mDeleteAction; 153 QAction *mDeleteAction;
153 QAction *mCloneAction; 154 QAction *mCloneAction;
154 QAction *mMoveAction; 155 QAction *mMoveAction;
155 QAction *mBeamAction; 156 QAction *mBeamAction;
156 QAction *mCancelAction; 157 QAction *mCancelAction;
157 158
158 QAction *mToggleNav; 159 QAction *mToggleNav;
159 QAction *mToggleFilter; 160 QAction *mToggleFilter;
160 QAction *mToggleAllday; 161 QAction *mToggleAllday;
161 QAction *actionFilterMenuTB; 162 QAction *actionFilterMenuTB;
162 163
163 void closeEvent( QCloseEvent* ce ); 164 void closeEvent( QCloseEvent* ce );
164 QTimer mSaveTimer; 165 QTimer mSaveTimer;
165 //bool mBlockSaveFlag; 166 //bool mBlockSaveFlag;
166 bool mCalendarModifiedFlag; 167 bool mCalendarModifiedFlag;
167 QPixmap loadPixmap( QString ); 168 QPixmap loadPixmap( QString );
168 QPixmap listviewPix, listviewPix0, listviewPix20, listviewPix40, listviewPix60, listviewPix80; 169 QPixmap listviewPix, listviewPix0, listviewPix20, listviewPix40, listviewPix60, listviewPix80;
169}; 170};
170 171
171 172
172#endif 173#endif