author | zautrix <zautrix> | 2005-04-09 14:00:22 (UTC) |
---|---|---|
committer | zautrix <zautrix> | 2005-04-09 14:00:22 (UTC) |
commit | 16546abfab89df8dcf3168eaa7c0c346b8e400b4 (patch) (unidiff) | |
tree | c5bad46ec2ee88cb1f6b1035dbfe1e367ee0cb0e | |
parent | ab7957df1a71a392d71cb898b59a35c32461ec6a (diff) | |
download | kdepimpi-16546abfab89df8dcf3168eaa7c0c346b8e400b4.zip kdepimpi-16546abfab89df8dcf3168eaa7c0c346b8e400b4.tar.gz kdepimpi-16546abfab89df8dcf3168eaa7c0c346b8e400b4.tar.bz2 |
some fixes
-rw-r--r-- | bin/kdepim/korganizer/germantranslation.txt | 8 | ||||
-rw-r--r-- | korganizer/koeditorgeneralevent.cpp | 31 | ||||
-rw-r--r-- | korganizer/koeditorrecurrence.cpp | 6 | ||||
-rw-r--r-- | korganizer/kotodoeditor.cpp | 1 | ||||
-rw-r--r-- | korganizer/mainwindow.cpp | 3 |
5 files changed, 29 insertions, 20 deletions
diff --git a/bin/kdepim/korganizer/germantranslation.txt b/bin/kdepim/korganizer/germantranslation.txt index 7e7f8b7..b4e26c2 100644 --- a/bin/kdepim/korganizer/germantranslation.txt +++ b/bin/kdepim/korganizer/germantranslation.txt | |||
@@ -66,193 +66,193 @@ | |||
66 | {"Ask for every entry on conflict","Frage bei Konflikten nach"}, | 66 | {"Ask for every entry on conflict","Frage bei Konflikten nach"}, |
67 | { "Ask for preferences before syncing","Vor dem Syncronisieren nachfragen" }, | 67 | { "Ask for preferences before syncing","Vor dem Syncronisieren nachfragen" }, |
68 | { "Ask for quit when closing KO/Pi","Vor dem Beenden von KO/Pi nachfragen" }, | 68 | { "Ask for quit when closing KO/Pi","Vor dem Beenden von KO/Pi nachfragen" }, |
69 | { "Attendees","Teilnehmer" }, | 69 | { "Attendees","Teilnehmer" }, |
70 | { "Aug","Aug" }, | 70 | { "Aug","Aug" }, |
71 | { "August","August" }, | 71 | { "August","August" }, |
72 | { "Auto-Save","Automatisches Abspeichern" }, | 72 | { "Auto-Save","Automatisches Abspeichern" }, |
73 | { "Auto save delay in minutes:","Verzög.autom.Speichern in Min" }, | 73 | { "Auto save delay in minutes:","Verzög.autom.Speichern in Min" }, |
74 | { "Auto saving...","Automatische Sicherung..." }, | 74 | { "Auto saving...","Automatische Sicherung..." }, |
75 | { "Begin on:","Starte mit:" }, | 75 | { "Begin on:","Starte mit:" }, |
76 | { "Begins on: %1","Starte mit: %1" }, | 76 | { "Begins on: %1","Starte mit: %1" }, |
77 | { "<b>From:</b> %1 <b>To:</b> %2","<b>Vom:</b> %1 <b>Zum:</b> %2" }, | 77 | { "<b>From:</b> %1 <b>To:</b> %2","<b>Vom:</b> %1 <b>Zum:</b> %2" }, |
78 | { "<b>On:</b> %1","<b>Am:</b> %1" }, | 78 | { "<b>On:</b> %1","<b>Am:</b> %1" }, |
79 | { "<b>On:</b> %1 <b>From:S</b> %2 <b>To:</b> %3","<b>Am:</b> %1 <b>Vom:S</b> %2 <b>Zum:</b> %3" }, | 79 | { "<b>On:</b> %1 <b>From:S</b> %2 <b>To:</b> %3","<b>Am:</b> %1 <b>Vom:S</b> %2 <b>Zum:</b> %3" }, |
80 | { "<b>Original event:</b><p>","<b>Original Termin:</b><p>" }, | 80 | { "<b>Original event:</b><p>","<b>Original Termin:</b><p>" }, |
81 | { " - both are modified after last sync"," - beide wurden nach der letzten Syncronisation verändert" }, | 81 | { " - both are modified after last sync"," - beide wurden nach der letzten Syncronisation verändert" }, |
82 | { "Busy","Belegt" }, | 82 | { "Busy","Belegt" }, |
83 | { "&Cancel","Abbre&chen" }, | 83 | { "&Cancel","Abbre&chen" }, |
84 | { "Cancel","Abbrechen" }, | 84 | { "Cancel","Abbrechen" }, |
85 | { "Cannot delete To-Do\nwhich has children.","Kann Todo nicht löschen,\n da noch Einträge vorhanden sind" }, | 85 | { "Cannot delete To-Do\nwhich has children.","Kann Todo nicht löschen,\n da noch Einträge vorhanden sind" }, |
86 | { "Can't generate mail:\nNo event selected.","Kann e-Mail nicht erstellen:\nKein Termin ausgewählt." }, | 86 | { "Can't generate mail:\nNo event selected.","Kann e-Mail nicht erstellen:\nKein Termin ausgewählt." }, |
87 | { "Categories...","Kategorien..." }, | 87 | { "Categories...","Kategorien..." }, |
88 | { "Categories","Kategorien" }, | 88 | { "Categories","Kategorien" }, |
89 | { "Category","Kategorie" }, | 89 | { "Category","Kategorie" }, |
90 | { "Center View","Zentriere Ansicht" }, | 90 | { "Center View","Zentriere Ansicht" }, |
91 | { "Change","Ändere" }, | 91 | { "Change","Ändere" }, |
92 | { "Cinema","Kino" }, | 92 | { "Cinema","Kino" }, |
93 | { "Click to add a new Todo","Hier klicken, um ein neues Todo anzulegen" }, | 93 | { "Click to add a new Todo","Hier klicken, um ein neues Todo anzulegen" }, |
94 | { "Clone Item","Klone Eintrag" }, | 94 | { "Clone Item","Klone Eintrag" }, |
95 | { "&Close","S&chließen" }, | 95 | { "&Close","S&chließen" }, |
96 | { "Close","Schließen" }, | 96 | { "Close","Schließen" }, |
97 | { "Close this dialog to abort deletion!","Zum Abbrechen des Löschvorganges Dialog schließen!" }, | 97 | { "Close this dialog to abort deletion!","Zum Abbrechen des Löschvorganges Dialog schließen!" }, |
98 | { "Colors","Farben" }, | 98 | { "Colors","Farben" }, |
99 | { "completed","erledigt" }, | 99 | { "completed","erledigt" }, |
100 | { "completed on %1","erledigt am %1" }, | 100 | { "completed on %1","erledigt am %1" }, |
101 | { "Complete","Erledigt" }, | 101 | { "Complete","Erledigt" }, |
102 | { "Confidential","Vertraulich" }, | 102 | { "Confidential","Vertraulich" }, |
103 | { "Configure...","Einstellungen..." }, | 103 | { "Configure...","Einstellungen..." }, |
104 | { "Confirm &deletes","Löschvogang bestätigen" }, | 104 | { "Confirm &deletes","Löschvogang bestätigen" }, |
105 | { "Couldn't load calendar\n '%1'.","Kann Kalender\n '%1' nicht laden." }, | 105 | { "Couldn't load calendar\n '%1'.","Kann Kalender\n '%1' nicht laden." }, |
106 | { "Counter-event Viewer","Terminzähler Ansicht" }, | 106 | { "Counter-event Viewer","Terminzähler Ansicht" }, |
107 | { "Daily ending hour:","Feierabend:" }, | 107 | { "Daily ending hour:","Feierabend:" }, |
108 | { "Daily starting hour:","Anfangszeit:" }, | 108 | { "Daily starting hour:","Anfangszeit:" }, |
109 | { "Daily","Täglich" }, | 109 | { "Daily","Täglich" }, |
110 | { "Date Format","Datums Format" }, | 110 | { "Date Format","Datums Format" }, |
111 | { "Date Format:","Datums Format:" }, | 111 | { "Date Format:","Datums Format:" }, |
112 | { "DateNavigator:(nr)","Datums Navigator" }, | 112 | { "DateNavigator:(nr)","Datums Navigator" }, |
113 | { "Dates: ","Datum: " }, | 113 | { "Dates: ","Datum: " }, |
114 | { "Date && Time","Datum && Zeit" }, | 114 | { "Date && Time","Datum && Zeit" }, |
115 | { "Day begins at:","Der Tag beginnt um:" }, | 115 | { "Day begins at:","Der Tag beginnt um:" }, |
116 | { "Days in Next-X-Days:","Tage in Nächste-X-Tage:" }, | 116 | { "Days in Next-X-Days:","Tage in Nächste-X-Tage:" }, |
117 | { "Days in What's Next:","Tage in What's Next:" }, | 117 | { "Days in What's Next:","Tage in What's Next:" }, |
118 | { "day(s)","Tag(e)" }, | 118 | { "day(s)","Tag(e)" }, |
119 | { "Days to show in Next-X-Days view:","Welche Tage in Nächste-X-Tagen anzeigen:" }, | 119 | { "Days to show in Next-X-Days view:","Welche Tage in Nächste-X-Tagen anzeigen:" }, |
120 | { "day","Tag" }, | 120 | { "day","Tag" }, |
121 | { "Dec","Dez" }, | 121 | { "Dec","Dez" }, |
122 | { "December","Dezember" }, | 122 | { "December","Dezember" }, |
123 | { "Default alarm time:","Standard Alarmzeit:" }, | 123 | { "Default alarm time:","Standard Alarmzeit:" }, |
124 | { "Default appointment time:","Standard Termin Startzeit:" }, | 124 | { "Default appointment time:","Standard Termin Startzeit:" }, |
125 | { "Default event color:","Standard Terminfarbe:" }, | 125 | { "Default event color:","Standard Terminfarbe:" }, |
126 | { "Default","Standard" }, | 126 | { "Default","Standard" }, |
127 | { "Def. duration of new app.:","Standard Termin Länge:" }, | 127 | { "Def. duration of new app.:","Standard Termin Länge:" }, |
128 | { "Delete all completed To-Dos?","Alle bereits erledigten Todos löschen?" }, | 128 | { "Delete all completed To-Dos?","Alle bereits erledigten Todos löschen?" }, |
129 | { "Delete All","Lösche alles" }, | 129 | { "Delete All","Lösche alles" }, |
130 | { "Delete all selected","Lösche alle Selektierten" }, | 130 | { "Delete all selected","Lösche alle Selektierten" }, |
131 | { "Delete Current","Aktuellen löschen" }, | 131 | { "Delete Current","Aktuellen löschen" }, |
132 | { "Delete Event...","Lösche Termin..." }, | 132 | { "Delete Event...","Lösche Termin..." }, |
133 | { "Delete Event","Lösche Termin" }, | 133 | { "Delete Event","Lösche Termin" }, |
134 | { "&Delete","Löschen" }, | 134 | { "&Delete","Löschen" }, |
135 | { "Delete...","Löschen..." }, | 135 | { "Delete...","Löschen..." }, |
136 | { "Delete","Löschen" }, | 136 | { "Delete","Löschen" }, |
137 | { "Delete Todo...","Lösche Todo..." }, | 137 | { "Delete Todo...","Lösche Todo..." }, |
138 | { "Delete To-Do","Lösche Todo" }, | 138 | { "Delete To-Do","Lösche Todo" }, |
139 | { "Deleting item %d ...","Lösche Eintrag %d..." }, | 139 | { "Deleting item %d ...","Lösche Eintrag %d..." }, |
140 | { "Descriptions","Beschreibungen" }, | 140 | { "Descriptions","Beschreibungen" }, |
141 | { "Deselect all","Deselektiere Alle" }, | 141 | { "Deselect all","Deselektiere Alle" }, |
142 | { "Details","Details" }, | 142 | { "Details","Details" }, |
143 | { "Dinner","Abendessen" }, | 143 | { "Dinner","Abendessen" }, |
144 | { "Do you really want\nto close KO/Pi?","Möchten Sie wirklich\nKO/PI verlassen?" }, | 144 | { "Do you really want\nto close KO/Pi?","Möchten Sie wirklich\nKO/PI verlassen?" }, |
145 | { "Due Date","Fällig am" }, | 145 | { "Due Date","Fällig am" }, |
146 | { "Due: ","Fällig: "}, | 146 | { "Due: ","Fällig: "}, |
147 | { "Due Time","Fällig um" }, | 147 | { "Due Time","Fällig um" }, |
148 | { "Due:","Fällig:"}, | 148 | { "Due:","Fällig:"}, |
149 | { "Duration: ","Dauer: " }, | 149 | { "Duration: ","Dauer: " }, |
150 | { "Edit...","Bearbeite..." }, | 150 | { "Edit...","Bearbeite..." }, |
151 | { "Edit","Bearbeite" }, | 151 | { "Edit","Bearbeite" }, |
152 | { "Edit Event...","Bearbeite Termin..." }, | 152 | { "Edit Event...","Bearbeite Termin..." }, |
153 | { "Edit Event","Bearbeite Termin" }, | 153 | { "Edit Event","Bearbeite Termin" }, |
154 | { "Edit exceptions","Bearbeite Ausnahmen" }, | 154 | { "Edit exceptions","Bearbeite Ausnahmen" }, |
155 | { "EditorBox:","Editor Fenster:" }, | 155 | { "EditorBox:","Editor Fenster:" }, |
156 | { "Edit Recurrence Range","Bearbeite Wiederholung" }, | 156 | { "Edit Recurrence Range","Bearbeite Wiederholung" }, |
157 | { "Edit Todo...","Berabeite Todo..." }, | 157 | { "Edit Todo...","Berabeite Todo..." }, |
158 | { "Edit To-Do","Todo bearbeiten" }, | 158 | { "Edit To-Do","Todo bearbeiten" }, |
159 | { "E&mail address:","E&mail Adresse:" }, | 159 | { "E&mail address:","E&mail Adresse:" }, |
160 | { "(EmptyEmail)","(KeineEmail)" }, | 160 | { "(EmptyEmail)","(KeineEmail)" }, |
161 | { "(EmptyName)","(KeinName)" }, | 161 | { "(EmptyName)","(KeinName)" }, |
162 | { "Enable Recurrence","Wiederholender Termin" }, | 162 | { "Enable Recurrence","Wiederholung anschalten" }, |
163 | { "End after","Endet nach"}, | 163 | { "End after","Endet nach"}, |
164 | { "End by:","Endet am"}, | 164 | { "End by:","Endet am"}, |
165 | { "End Date","End Datum" }, | 165 | { "End Date","End Datum" }, |
166 | { "End:","Ende:" }, | 166 | { "End:","Ende:" }, |
167 | { "End Time","End Zeit" }, | 167 | { "End Time","End Zeit" }, |
168 | { "English","Englisch" }, | 168 | { "English","Englisch" }, |
169 | { "Event","Termin" }, | 169 | { "Event","Termin" }, |
170 | { "Event list","Termin Liste" }, | 170 | { "Event list","Termin Liste" }, |
171 | { "Events","Termine" }, | 171 | { "Events","Termine" }, |
172 | { "Event Viewer:","Termin Übersicht:" }, | 172 | { "Event Viewer:","Termin Übersicht:" }, |
173 | { "every","jede" }, | 173 | { "every","jede" }, |
174 | { "Exceptions...","Ausnahmen..." }, | 174 | { "Exceptions...","Ausnahmen..." }, |
175 | { "Exceptions","Ausnahmen" }, | 175 | { "Exceptions","Ausnahmen" }, |
176 | { "Exclude holidays","Ohne freie Tage" }, | 176 | { "Exclude holidays","Ohne freie Tage" }, |
177 | { "Exclude Saturdays","Ohne Samstage" }, | 177 | { "Exclude Saturdays","Ohne Samstage" }, |
178 | { "Feb","Feb" }, | 178 | { "Feb","Feb" }, |
179 | { "February","Februar" }, | 179 | { "February","Februar" }, |
180 | { "&Find","Suche!" }, | 180 | { "&Find","Suche!" }, |
181 | { "Fonts","Schriftart" }, | 181 | { "Fonts","Schriftart" }, |
182 | { "Force take local entry always","Erzwinge:Nimm immer lokalen Eintrag" }, | 182 | { "Force take local entry always","Erzwinge:Nimm immer lokalen Eintrag" }, |
183 | { "Force take remote entry always","Erzwinge:Nimm immer fernen Eintrag"}, | 183 | { "Force take remote entry always","Erzwinge:Nimm immer fernen Eintrag"}, |
184 | { "Free","Frei" }, | 184 | { "Free","Frei" }, |
185 | { "Friday","Freitag" }, | 185 | { "Friday","Freitag" }, |
186 | { "Fri","Fr" }, | 186 | { "Fri","Fr" }, |
187 | { "From:","Vom:" }, | 187 | { "From:","Vom:" }, |
188 | { "Full &name:","Vor- und &Nachname:" }, | 188 | { "Full &name:","Vor- und &Nachname:" }, |
189 | { "General","Allgemein" }, | 189 | { "General","Allgemein" }, |
190 | { "German","Deutsch" }, | 190 | { "German","Deutsch" }, |
191 | { "Gifts","Geschenke" }, | 191 | { "Gifts","Geschenke" }, |
192 | { "Go to Today","Heute anzeigen" }, | 192 | { "Go to Today","Heute anzeigen" }, |
193 | { "Help","Hilfe" }, | 193 | { "Help","Hilfe" }, |
194 | { "Hide Dates","Daten ausblenden" }, | 194 | { "Hide Dates","Daten ausblenden" }, |
195 | { "Highlight color:","Markierungen:" }, | 195 | { "Highlight color:","Markierungen:" }, |
196 | { "Holiday color:","Freie Tage:" }, | 196 | { "Holiday color:","Freie Tage:" }, |
197 | { "hour(s)","Stunde(n)" }, | 197 | { "hour(s)","Stunde(n)" }, |
198 | { "In %1 days: ","In %1 Tagen: " }, | 198 | { "In %1 days: ","In %1 Tagen: " }, |
199 | { "Incomplete Todo:","Unerledigte Aufgaben:" }, | 199 | { "Incomplete Todo:","Unerledigte Aufgaben:" }, |
200 | { "Information","Information" }, | 200 | { "Information","Information" }, |
201 | { "Invalid search expression,\ncannot perform ","Kann Suche nicht ausführen" }, | 201 | { "Invalid search expression,\ncannot perform ","Kann Suche nicht ausführen" }, |
202 | { "Jan","Jan" }, | 202 | { "Jan","Jan" }, |
203 | { "January","Januar" }, | 203 | { "January","Januar" }, |
204 | { "JournalView:","Journal Ansicht:" }, | 204 | { "JournalView:","Journal Ansicht:" }, |
205 | { "Journals","Journale" }, | 205 | { "Journals","Journale" }, |
206 | { "Jul","Jul" }, | 206 | { "Jul","Jul" }, |
207 | { "July","Juli" }, | 207 | { "July","Juli" }, |
208 | { "Jump to date","Springe zum Datum" }, | 208 | { "Jump to date","Springe zum Datum" }, |
209 | { "June","Juni" }, | 209 | { "June","Juni" }, |
210 | { "Jun","Jun" }, | 210 | { "Jun","Jun" }, |
211 | { "Key Bindings...","Tastenzuordnung..." }, | 211 | { "Key Bindings...","Tastenzuordnung..." }, |
212 | { "Kids","Kinder" }, | 212 | { "Kids","Kinder" }, |
213 | { "Known Problems...","Bekannte Probleme..." }, | 213 | { "Known Problems...","Bekannte Probleme..." }, |
214 | { "KO/Pi Find ","KO/Pi Suchdialog " }, | 214 | { "KO/Pi Find ","KO/Pi Suchdialog " }, |
215 | { "KO/Pi Find: ","KO/Pi Suchen: " }, | 215 | { "KO/Pi Find: ","KO/Pi Suchen: " }, |
216 | { "KO/Pi is starting ... "," KO/Pi startet ... \n... Zeit für eine Kaffeepause ..." }, | 216 | { "KO/Pi is starting ... "," KO/Pi startet ... \n... Zeit für eine Kaffeepause ..." }, |
217 | { "Language:(needs restart)","Sprache (Neustart!)" }, | 217 | { "Language:(needs restart)","Sprache (Neustart!)" }, |
218 | { "Language:","Sprache" }, | 218 | { "Language:","Sprache" }, |
219 | { "Large","Etwas mehr" }, | 219 | { "Large","Etwas mehr" }, |
220 | { "List View:","Listenansicht:" }, | 220 | { "List View:","Listenansicht:" }, |
221 | { "List View","Listenansicht" }, | 221 | { "List View","Listenansicht" }, |
222 | { "Load/Save","Laden/Speichern" }, | 222 | { "Load/Save","Laden/Speichern" }, |
223 | { "Load Template","Lade Vorlage" }, | 223 | { "Load Template","Lade Vorlage" }, |
224 | { "Locale","Localisation" }, | 224 | { "Locale","Localisation" }, |
225 | { "Local temp file:","Lokale temp. Datei:" }, | 225 | { "Local temp file:","Lokale temp. Datei:" }, |
226 | { "Location: ","Ort: " }, | 226 | { "Location: ","Ort: " }, |
227 | { "Location:","Ort:" }, | 227 | { "Location:","Ort:" }, |
228 | { "Mail client","Mail Programm" }, | 228 | { "Mail client","Mail Programm" }, |
229 | { "Mail Client","Mail Programm" }, | 229 | { "Mail Client","Mail Programm" }, |
230 | { "March","März" }, | 230 | { "March","März" }, |
231 | { "Mar","Mär" }, | 231 | { "Mar","Mär" }, |
232 | { "May","Mai" }, | 232 | { "May","Mai" }, |
233 | { "M. Bains line:","M. Bains Linie:" }, | 233 | { "M. Bains line:","M. Bains Linie:" }, |
234 | { "Medium","Medium" }, | 234 | { "Medium","Medium" }, |
235 | { "Method","Methode" }, | 235 | { "Method","Methode" }, |
236 | { "minute(s)","Minute(n)" }, | 236 | { "minute(s)","Minute(n)" }, |
237 | { "Monday","Montag" }, | 237 | { "Monday","Montag" }, |
238 | { "Mon","Mo" }, | 238 | { "Mon","Mo" }, |
239 | { "Monthly","Monatlich" }, | 239 | { "Monthly","Monatlich" }, |
240 | { "Month not long enough","Monat ist nicht lang genug" }, | 240 | { "Month not long enough","Monat ist nicht lang genug" }, |
241 | { "month(s)","Monat(e)" }, | 241 | { "month(s)","Monat(e)" }, |
242 | { "Month view:","Monatsansicht:" }, | 242 | { "Month view:","Monatsansicht:" }, |
243 | { "Month view uses category colors","Monatsansicht zeigt Kategorie Farben" }, | 243 | { "Month view uses category colors","Monatsansicht zeigt Kategorie Farben" }, |
244 | { "Todo view uses category colors","To-Do Ansicht zeigt Kategorie Farben" }, | 244 | { "Todo view uses category colors","To-Do Ansicht zeigt Kategorie Farben" }, |
245 | { "Move &Down","Nach unten verschieben" }, | 245 | { "Move &Down","Nach unten verschieben" }, |
246 | { "Move &Up","Nach oben verschieben" }, | 246 | { "Move &Up","Nach oben verschieben" }, |
247 | { "Name:","Name:" }, | 247 | { "Name:","Name:" }, |
248 | { "Name","Name" }, | 248 | { "Name","Name" }, |
249 | { "\nAre you sure you want\nto delete this event?","\nSind Sie sicher, dass Sie\nden Termin löschen möchten?" }, | 249 | { "\nAre you sure you want\nto delete this event?","\nSind Sie sicher, dass Sie\nden Termin löschen möchten?" }, |
250 | { "%n Days","%n Tage" }, | 250 | { "%n Days","%n Tage" }, |
251 | { "Never","Nie" }, | 251 | { "Never","Nie" }, |
252 | { "New event...","Neuer Termin..." }, | 252 | { "New event...","Neuer Termin..." }, |
253 | { "New event","Neuer Termin" }, | 253 | { "New event","Neuer Termin" }, |
254 | { "New Event...","Neuer Termin..." }, | 254 | { "New Event...","Neuer Termin..." }, |
255 | { "New Events/Todos should","Neue Termine/Todos sollten" }, | 255 | { "New Events/Todos should","Neue Termine/Todos sollten" }, |
256 | { "&New","&Neu" }, | 256 | { "&New","&Neu" }, |
257 | { "New","Neu", }, | 257 | { "New","Neu", }, |
258 | { "New Sub-Todo...","Neues Sub-Todo..." }, | 258 | { "New Sub-Todo...","Neues Sub-Todo..." }, |
@@ -1239,102 +1239,102 @@ | |||
1239 | { "Pi-Sync options for device: ","Pi-Sync Einstellungen für Gerät: " }, | 1239 | { "Pi-Sync options for device: ","Pi-Sync Einstellungen für Gerät: " }, |
1240 | { "Password for remote access:","Passwort für fernen Zugriff:" }, | 1240 | { "Password for remote access:","Passwort für fernen Zugriff:" }, |
1241 | { "Remote IP address:","Ferne IP Adresse:" }, | 1241 | { "Remote IP address:","Ferne IP Adresse:" }, |
1242 | { "Remote port number:","Ferne Port Nummer:" }, | 1242 | { "Remote port number:","Ferne Port Nummer:" }, |
1243 | { "Remote file saved to temp file.","Ferne Daten in temp Datei gespeichert." }, | 1243 | { "Remote file saved to temp file.","Ferne Daten in temp Datei gespeichert." }, |
1244 | { "Remote from: ","Fern von: " }, | 1244 | { "Remote from: ","Fern von: " }, |
1245 | { "Local from: ","Lokal von: " }, | 1245 | { "Local from: ","Lokal von: " }, |
1246 | { "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" }, | 1246 | { "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" }, |
1247 | { "Local calendar changed!\n","Lokaler Kalender geändert!\n" }, | 1247 | { "Local calendar changed!\n","Lokaler Kalender geändert!\n" }, |
1248 | { "Write back","Schreibe zurück" }, | 1248 | { "Write back","Schreibe zurück" }, |
1249 | { "KO/Pi Synchronization","KO/Pi Synchronisation" }, | 1249 | { "KO/Pi Synchronization","KO/Pi Synchronisation" }, |
1250 | { "Pi-Sync succesful!","Pi-Sync erfolgreich!" }, | 1250 | { "Pi-Sync succesful!","Pi-Sync erfolgreich!" }, |
1251 | { "Received sync request","Sync Anfrage erhalten" }, | 1251 | { "Received sync request","Sync Anfrage erhalten" }, |
1252 | { "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." }, | 1252 | { "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." }, |
1253 | { "Saving Data to temp file ...","Speichere Daten in temp Datei..." }, | 1253 | { "Saving Data to temp file ...","Speichere Daten in temp Datei..." }, |
1254 | { "Data saved to temp file!","Daten in temp Datei gespeichert!" }, | 1254 | { "Data saved to temp file!","Daten in temp Datei gespeichert!" }, |
1255 | { "Sending file...","Sende Datei..." }, | 1255 | { "Sending file...","Sende Datei..." }, |
1256 | { "Waiting for synced file...","Warte auf gesyncte Daten..." }, | 1256 | { "Waiting for synced file...","Warte auf gesyncte Daten..." }, |
1257 | { "Receiving synced file...","Gesyncte Daten erhalten..." }, | 1257 | { "Receiving synced file...","Gesyncte Daten erhalten..." }, |
1258 | { "Received %1 bytes","%1 Bytes erhalten" }, | 1258 | { "Received %1 bytes","%1 Bytes erhalten" }, |
1259 | { "Writing file to disk...","Speichere Datei..." }, | 1259 | { "Writing file to disk...","Speichere Datei..." }, |
1260 | { "Pi-Sync successful!","Pi-Sync erfolgreich!" }, | 1260 | { "Pi-Sync successful!","Pi-Sync erfolgreich!" }, |
1261 | { "Clock skew of\nsyncing devices\nis %1 seconds!","Uhrzeitunterschied der\nsyncenden Geräte\nist %1 Sekunden!" }, | 1261 | { "Clock skew of\nsyncing devices\nis %1 seconds!","Uhrzeitunterschied der\nsyncenden Geräte\nist %1 Sekunden!" }, |
1262 | { "Synchronize!","Synchronisiere!" }, | 1262 | { "Synchronize!","Synchronisiere!" }, |
1263 | { "High clock skew!","Großer Uhrzeitunterschied!" }, | 1263 | { "High clock skew!","Großer Uhrzeitunterschied!" }, |
1264 | { "ADJUST\nYOUR\nCLOCKS!","JUSTIERE\nDIE\nUHREN!" }, | 1264 | { "ADJUST\nYOUR\nCLOCKS!","JUSTIERE\nDIE\nUHREN!" }, |
1265 | { "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!" }, | 1265 | { "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!" }, |
1266 | { "This is a %1 recurring todo.","Das ist eine %1 wiederholende Aufgabe." }, | 1266 | { "This is a %1 recurring todo.","Das ist eine %1 wiederholende Aufgabe." }, |
1267 | { "<p><b>Start on:</b> %1</p>","<p><b>Start am:</b> %1</p>" }, | 1267 | { "<p><b>Start on:</b> %1</p>","<p><b>Start am:</b> %1</p>" }, |
1268 | { "List week view","Listenwochenansicht" }, | 1268 | { "List week view","Listenwochenansicht" }, |
1269 | { "List week","Listenwochenansicht" }, | 1269 | { "List week","Listenwochenansicht" }, |
1270 | { "Next Week","Nächste Woche" }, | 1270 | { "Next Week","Nächste Woche" }, |
1271 | { "Previous Week","Vorherige Woche" }, | 1271 | { "Previous Week","Vorherige Woche" }, |
1272 | { "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." }, | 1272 | { "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." }, |
1273 | { "Show in todo/event viewer:","Zeige in Termin/Todo Anzeige:" }, | 1273 | { "Show in todo/event viewer:","Zeige in Termin/Todo Anzeige:" }, |
1274 | { "Details","Details" }, | 1274 | { "Details","Details" }, |
1275 | { "Created time","Erstellt Zeit" }, | 1275 | { "Created time","Erstellt Zeit" }, |
1276 | { "Last modified time","Geändert Zeit" }, | 1276 | { "Last modified time","Geändert Zeit" }, |
1277 | { "Show in What'sThis quick overview:","Zeige in What'sThis Schnellübersicht:" }, | 1277 | { "Show in What'sThis quick overview:","Zeige in What'sThis Schnellübersicht:" }, |
1278 | { "View Options","Anzeige Optionen" }, | 1278 | { "View Options","Anzeige Optionen" }, |
1279 | { "<b>Created: ","<b>Erstellt am: " }, | 1279 | { "<b>Created: ","<b>Erstellt am: " }, |
1280 | { "<b>Last modified: ","<b>Zuletzt geändert am: " }, | 1280 | { "<b>Last modified: ","<b>Zuletzt geändert am: " }, |
1281 | { "Journal: ","Journal: " }, | 1281 | { "Journal: ","Journal: " }, |
1282 | { "yearly","jährlich" }, | 1282 | { "yearly","jährlich" }, |
1283 | { "(%1) ","%1-" }, | 1283 | { "(%1) ","%1-" }, |
1284 | { "<p><b>K</b>: Week view in Month view syle</p>\n","<p><b>K</b>: Wochenansicht in Art der Monatsansicht</p>\n" }, | 1284 | { "<p><b>K</b>: Week view in Month view syle</p>\n","<p><b>K</b>: Wochenansicht in Art der Monatsansicht</p>\n" }, |
1285 | { "Enable tooltips displaying summary of ev.","Titel-Tooltips anzeigen" }, | 1285 | { "Enable tooltips displaying summary of ev.","Titel-Tooltips anzeigen" }, |
1286 | { "Enable scrollbars in month view cells","Scrollbar in Zellen anzeigen" }, | 1286 | { "Enable scrollbars in month view cells","Scrollbar in Zellen anzeigen" }, |
1287 | { "Summary/Loc.","Titel/Ort" }, | 1287 | { "Summary/Loc.","Titel/Ort" }, |
1288 | { "No items found. Use '*' and '?' where needed.","Nichts gefunden. Benutze '*' and '?' wo benötigt." }, | 1288 | { "No items found. Use '*' and '?' where needed.","Nichts gefunden. Benutze '*' and '?' wo benötigt." }, |
1289 | { "Week Number","Wochennummer" }, | 1289 | { "Week Number","Wochennummer" }, |
1290 | { "Import","Importiere" }, | 1290 | { "Import","Importiere" }, |
1291 | { "Export","Exportiere" }, | 1291 | { "Export","Exportiere" }, |
1292 | { "Beam","Beame" }, | 1292 | { "Beam","Beame" }, |
1293 | { "Export selected","Exportiere Selektierte" }, | 1293 | { "Export selected","Exportiere Selektierte" }, |
1294 | { "As iCal (ics) file...","Als iCal (ics) Datei..." }, | 1294 | { "As iCal (ics) file...","Als iCal (ics) Datei..." }, |
1295 | { "As vCal (vcs) file...","Als vCal (vcs) Datei..." }, | 1295 | { "As vCal (vcs) file...","Als vCal (vcs) Datei..." }, |
1296 | { "Journal/Details...","Journale/Details..." }, | 1296 | { "Journal/Details...","Journale/Details..." }, |
1297 | { "Agenda View","Agenda Ansicht" }, | 1297 | { "Agenda View","Agenda Ansicht" }, |
1298 | { "Show current time","Zeige aktuelle Zeit" }, | 1298 | { "Show current time","Zeige aktuelle Zeit" }, |
1299 | { "Edit new item","Bearbeite neuen Eintrag" }, | 1299 | { "Edit new item","Bearbeite neuen Eintrag" }, |
1300 | { "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" }, | 1300 | { "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" }, |
1301 | { "There is no next alarm.","Es gibt keinen nächsten Alarm." }, | 1301 | { "There is no next alarm.","Es gibt keinen nächsten Alarm." }, |
1302 | { "%1 %2 - %3 (next event/todo with alarm)","%1 %2 - %3 (nächster Termin/Todo mit Alarm)" }, | 1302 | { "%1 %2 - %3 (next event/todo with alarm)","%1 %2 - %3 (nächster Termin/Todo mit Alarm)" }, |
1303 | { "The next alarm is in:\n","Der nächste Alarm ist in:\n" }, | 1303 | { "The next alarm is in:\n","Der nächste Alarm ist in:\n" }, |
1304 | { "%1 days\n","%1 Tagen\n" }, | 1304 | { "%1 days\n","%1 Tagen\n" }, |
1305 | { "1 day\n","1 Tag\n" }, | 1305 | { "1 day\n","1 Tag\n" }, |
1306 | { "%1 hours\n","%1 Stunden\n" }, | 1306 | { "%1 hours\n","%1 Stunden\n" }, |
1307 | { "1 hour\n","1 Stunde\n" }, | 1307 | { "1 hour\n","1 Stunde\n" }, |
1308 | { "%1 minutes\n","%1 Minuten\n" }, | 1308 | { "%1 minutes\n","%1 Minuten\n" }, |
1309 | { "1 minute\n","1 Minute\n" }, | 1309 | { "1 minute\n","1 Minute\n" }, |
1310 | { "Only one toolbar","Nur eine Toolbar" }, | 1310 | { "Only one toolbar","Nur eine Toolbar" }, |
1311 | { "Print","Drucke" }, | 1311 | { "Print","Drucke" }, |
1312 | { "Print selected event / todo...","Drucke ausgewählten Termin / Todo..." }, | 1312 | { "Print selected event / todo...","Drucke ausgewählten Termin / Todo..." }, |
1313 | { "There is nothing selected!","Es ist nichts ausgewählt!" }, | 1313 | { "There is nothing selected!","Es ist nichts ausgewählt!" }, |
1314 | { "\n\nDo you really want to print this item?","\n\nMöchten Sie wirklich diesen Eintrag ausdrucken? " }, | 1314 | { "\n\nDo you really want to print this item?","\n\nMöchten Sie wirklich diesen Eintrag ausdrucken? " }, |
1315 | { "KO/Pi Print Confirmation","KO/Pi Druckbestätigung" }, | 1315 | { "KO/Pi Print Confirmation","KO/Pi Druckbestätigung" }, |
1316 | { "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" }, | 1316 | { "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" }, |
1317 | { "KO/Pi Printout","KO/Pi Ausdruck" }, | 1317 | { "KO/Pi Printout","KO/Pi Ausdruck" }, |
1318 | { "Print unscaled","Drucke unskaliert" }, | 1318 | { "Print unscaled","Drucke unskaliert" }, |
1319 | { "Print scaled down to fit one page","Drucke runterskaliert um auf eine Seite zu passen." }, | 1319 | { "Print scaled down to fit one page","Drucke runterskaliert um auf eine Seite zu passen." }, |
1320 | { "Print scaled up/down to fit one page","Drucke hoch/runterskaliert um genau auf eine Seite zu passen." }, | 1320 | { "Print scaled up/down to fit one page","Drucke hoch/runterskaliert um genau auf eine Seite zu passen." }, |
1321 | { "Printout Mode","Druck Modus" }, | 1321 | { "Printout Mode","Druck Modus" }, |
1322 | { "Filter menu icon","Filtermenu Icon" }, | 1322 | { "Filter menu icon","Filtermenu Icon" }, |
1323 | { "<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" }, | 1323 | { "<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" }, |
1324 | { "<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" }, | 1324 | { "<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" }, |
1325 | { "%1d","%1t" }, | 1325 | { "%1d","%1t" }, |
1326 | { "%1h","%1std" }, | 1326 | { "%1h","%1std" }, |
1327 | { "%1min","%1min" }, | 1327 | { "%1min","%1min" }, |
1328 | { "( %1 before )","( %1 vorher )" }, | 1328 | { "( %1 before )","( %1 vorher )" }, |
1329 | { "The next alarm is in\nless than one minute!","Der nächste Alarm kommt in\nweniger als einer Minute!" }, | 1329 | { "The next alarm is in\nless than one minute!","Der nächste Alarm kommt in\nweniger als einer Minute!" }, |
1330 | { "\nThe internal alarm notification is disabled!\n","\nDie interne Alarmbenachrichtigung ist ausgeschaltet!\n" }, | 1330 | { "\nThe internal alarm notification is disabled!\n","\nDie interne Alarmbenachrichtigung ist ausgeschaltet!\n" }, |
1331 | { "Enable it in the settings menu, TAB alarm.","Schalten Sie sie an im Menu Einstellungen, TAB Alarm." }, | 1331 | { "Enable it in the settings menu, TAB alarm.","Schalten Sie sie an im Menu Einstellungen, TAB Alarm." }, |
1332 | { "Show Sync Events in WN+Agenda","Zeige Sync-Ereignisse in WN+Agenda" }, | 1332 | { "Show Sync Events in WN+Agenda","Zeige Sync-Ereignisse in WN+Agenda" }, |
1333 | { "Use short date in WN+Event view","Zeige Kurzdatum in WN+Terminanzeige" }, | 1333 | { "Use short date in WN+Event view","Zeige Kurzdatum in WN+Terminanzeige" }, |
1334 | { "Number of max.displayed todo prios:","Anzahl max.angezeigter Todo-Prios:" }, | 1334 | { "Number of max.displayed todo prios:","Anzahl max.angezeigter Todo-Prios:" }, |
1335 | { "","" }, | 1335 | { " on "," am " }, |
1336 | { "","" }, | 1336 | { "On: ","Am: " }, |
1337 | { "","" }, | 1337 | { "<i>The recurrence is computed from the start datetime!</i>","<i>Die Wiederholung wird vom Startwert aus berechnet!</i>" }, |
1338 | { "","" }, | 1338 | { "","" }, |
1339 | { "","" }, | 1339 | { "","" }, |
1340 | { "","" }, | 1340 | { "","" }, |
diff --git a/korganizer/koeditorgeneralevent.cpp b/korganizer/koeditorgeneralevent.cpp index 2a49528..d4aa78c 100644 --- a/korganizer/koeditorgeneralevent.cpp +++ b/korganizer/koeditorgeneralevent.cpp | |||
@@ -283,145 +283,152 @@ void KOEditorGeneralEvent::readEvent( Event *event, bool tmpl ) | |||
283 | mSummaryEdit->load(KOLocationBox::SUMMARYEVENT); | 283 | mSummaryEdit->load(KOLocationBox::SUMMARYEVENT); |
284 | mLocationEdit->load(KOLocationBox::LOCATION); | 284 | mLocationEdit->load(KOLocationBox::LOCATION); |
285 | readIncidence(event); | 285 | readIncidence(event); |
286 | } | 286 | } |
287 | 287 | ||
288 | void KOEditorGeneralEvent::writeEvent(Event *event) | 288 | void KOEditorGeneralEvent::writeEvent(Event *event) |
289 | { | 289 | { |
290 | // kdDebug() << "KOEditorGeneralEvent::writeEvent()" << endl; | 290 | // kdDebug() << "KOEditorGeneralEvent::writeEvent()" << endl; |
291 | 291 | ||
292 | writeIncidence(event); | 292 | writeIncidence(event); |
293 | 293 | ||
294 | QDate tmpDate; | 294 | QDate tmpDate; |
295 | QTime tmpTime; | 295 | QTime tmpTime; |
296 | QDateTime tmpDT; | 296 | QDateTime tmpDT; |
297 | 297 | ||
298 | // temp. until something better happens. | 298 | // temp. until something better happens. |
299 | QString tmpStr; | 299 | QString tmpStr; |
300 | 300 | ||
301 | if (mNoTimeButton->isChecked()) { | 301 | if (mNoTimeButton->isChecked()) { |
302 | event->setFloats(true); | 302 | event->setFloats(true); |
303 | // need to change this. | 303 | // need to change this. |
304 | tmpDate = mStartDateEdit->date(); | 304 | tmpDate = mStartDateEdit->date(); |
305 | tmpTime.setHMS(0,0,0); | 305 | tmpTime.setHMS(0,0,0); |
306 | tmpDT.setDate(tmpDate); | 306 | tmpDT.setDate(tmpDate); |
307 | tmpDT.setTime(tmpTime); | 307 | tmpDT.setTime(tmpTime); |
308 | event->setDtStart(tmpDT); | 308 | event->setDtStart(tmpDT); |
309 | 309 | ||
310 | tmpDate = mEndDateEdit->date(); | 310 | tmpDate = mEndDateEdit->date(); |
311 | tmpTime.setHMS(0,0,0); | 311 | tmpTime.setHMS(0,0,0); |
312 | tmpDT.setDate(tmpDate); | 312 | tmpDT.setDate(tmpDate); |
313 | tmpDT.setTime(tmpTime); | 313 | tmpDT.setTime(tmpTime); |
314 | event->setDtEnd(tmpDT); | 314 | event->setDtEnd(tmpDT); |
315 | } else { | 315 | } else { |
316 | event->setFloats(false); | 316 | event->setFloats(false); |
317 | 317 | ||
318 | // set date/time end | 318 | // set date/time end |
319 | tmpDate = mEndDateEdit->date(); | 319 | tmpDate = mEndDateEdit->date(); |
320 | tmpTime = mEndTimeEdit->getTime(); | 320 | tmpTime = mEndTimeEdit->getTime(); |
321 | tmpDT.setDate(tmpDate); | 321 | tmpDT.setDate(tmpDate); |
322 | tmpDT.setTime(tmpTime); | 322 | tmpDT.setTime(tmpTime); |
323 | event->setDtEnd(tmpDT); | 323 | event->setDtEnd(tmpDT); |
324 | 324 | ||
325 | // set date/time start | 325 | // set date/time start |
326 | tmpDate = mStartDateEdit->date(); | 326 | tmpDate = mStartDateEdit->date(); |
327 | tmpTime = mStartTimeEdit->getTime(); | 327 | tmpTime = mStartTimeEdit->getTime(); |
328 | tmpDT.setDate(tmpDate); | 328 | tmpDT.setDate(tmpDate); |
329 | tmpDT.setTime(tmpTime); | 329 | tmpDT.setTime(tmpTime); |
330 | event->setDtStart(tmpDT); | 330 | event->setDtStart(tmpDT); |
331 | } // check for float | 331 | } // check for float |
332 | mSummaryEdit->save(KOLocationBox::SUMMARYEVENT); | 332 | mSummaryEdit->save(KOLocationBox::SUMMARYEVENT); |
333 | 333 | ||
334 | event->setTransparency(mFreeTimeCombo->currentItem() > 0 | 334 | event->setTransparency(mFreeTimeCombo->currentItem() > 0 |
335 | ? KCal::Event::Transparent | 335 | ? KCal::Event::Transparent |
336 | : KCal::Event::Opaque); | 336 | : KCal::Event::Opaque); |
337 | 337 | ||
338 | // kdDebug() << "KOEditorGeneralEvent::writeEvent() done" << endl; | 338 | // kdDebug() << "KOEditorGeneralEvent::writeEvent() done" << endl; |
339 | } | 339 | } |
340 | 340 | ||
341 | void KOEditorGeneralEvent::setDuration() | 341 | void KOEditorGeneralEvent::setDuration() |
342 | { | 342 | { |
343 | QString tmpStr = "", catStr; | 343 | QString tmpStr = "", catStr; |
344 | int hourdiff, minutediff; | 344 | int hourdiff, minutediff; |
345 | // end<date is an accepted temporary state while typing, but don't show | 345 | // end<date is an accepted temporary state while typing, but don't show |
346 | // any duration if this happens | 346 | // any duration if this happens |
347 | if(mCurrEndDateTime >= mCurrStartDateTime) { | 347 | if(mCurrEndDateTime >= mCurrStartDateTime) { |
348 | 348 | ||
349 | if (mNoTimeButton->isChecked()) { | 349 | if (mNoTimeButton->isChecked()) { |
350 | int daydiff = mCurrStartDateTime.date().daysTo(mCurrEndDateTime.date()) + 1; | 350 | int daydiff = mCurrStartDateTime.date().daysTo(mCurrEndDateTime.date()) + 1; |
351 | tmpStr = i18n("Duration: "); | 351 | tmpStr = i18n("Duration: "); |
352 | tmpStr.append(i18n("1 Day","%n Days",daydiff)); | 352 | tmpStr.append(i18n("1 Day","%n Days",daydiff)); |
353 | } else { | 353 | } else { |
354 | int secto = mCurrStartDateTime.secsTo( mCurrEndDateTime ); | 354 | int secto = mCurrStartDateTime.secsTo( mCurrEndDateTime ); |
355 | hourdiff = secto / 3600; | 355 | hourdiff = secto / 3600; |
356 | minutediff = (secto/60 ) % 60; | 356 | minutediff = (secto/60 ) % 60; |
357 | if (hourdiff || minutediff){ | 357 | if (hourdiff || minutediff){ |
358 | tmpStr = i18n("Duration: "); | 358 | tmpStr = i18n("Duration: "); |
359 | if (hourdiff){ | 359 | if (hourdiff){ |
360 | catStr = i18n("1 h","%n h",hourdiff); | 360 | catStr = i18n("1 h","%n h",hourdiff); |
361 | tmpStr.append(catStr); | 361 | tmpStr.append(catStr); |
362 | } | 362 | } |
363 | if (hourdiff && minutediff){ | 363 | if (hourdiff && minutediff){ |
364 | tmpStr += i18n(", "); | 364 | tmpStr += i18n(", "); |
365 | } | 365 | } |
366 | if (minutediff){ | 366 | if (minutediff){ |
367 | catStr = i18n("1 min","%n min",minutediff); | 367 | catStr = i18n("1 min","%n min",minutediff); |
368 | tmpStr += catStr; | 368 | tmpStr += catStr; |
369 | } | 369 | } |
370 | } else tmpStr = ""; | 370 | } else tmpStr = ""; |
371 | } | 371 | } |
372 | } | 372 | } |
373 | mDurationLabel->setText(tmpStr); | 373 | mDurationLabel->setText(tmpStr); |
374 | } | 374 | } |
375 | 375 | ||
376 | void KOEditorGeneralEvent::emitDateTimeStr() | 376 | void KOEditorGeneralEvent::emitDateTimeStr() |
377 | { | 377 | { |
378 | KLocale *l = KGlobal::locale(); | 378 | KLocale *l = KGlobal::locale(); |
379 | 379 | QString startString = ""; | |
380 | QString from,to; | 380 | if ( mCurrStartDateTime.date() < mCurrEndDateTime.date() ) { |
381 | if (mNoTimeButton->isChecked()) { | 381 | if ( mNoTimeButton->isChecked() ) { |
382 | from = l->formatDate(mCurrStartDateTime.date()); | 382 | startString = i18n("From: ") + l->formatDate(mCurrStartDateTime.date() ); |
383 | to = l->formatDate(mCurrEndDateTime.date()); | 383 | startString += "\n"+i18n("To: ")+ l->formatDate(mCurrEndDateTime.date()); |
384 | |||
385 | } else { | ||
386 | startString = i18n("From: ") +l->formatDateTime(mCurrStartDateTime, false); | ||
387 | startString += "\n"+i18n("To: ")+l->formatDateTime(mCurrEndDateTime, false); | ||
388 | } | ||
384 | } else { | 389 | } else { |
385 | from = l->formatDateTime(mCurrStartDateTime); | 390 | if ( mNoTimeButton->isChecked() ) { |
386 | to = l->formatDateTime(mCurrEndDateTime); | 391 | startString = i18n("On: ") + l->formatDate(mCurrStartDateTime.date() ); |
392 | } else { | ||
393 | startString = i18n("From: ") + KGlobal::locale()->formatTime(mCurrStartDateTime.time())+ | ||
394 | "-"+KGlobal::locale()->formatTime(mCurrEndDateTime.time()); | ||
395 | startString += i18n(" on ")+KGlobal::locale()->formatDate( mCurrStartDateTime.date(), true); | ||
396 | } | ||
387 | } | 397 | } |
388 | 398 | startString +="\n"+mDurationLabel->text(); | |
389 | QString str = i18n("From: %1 To: %2 %3").arg(from).arg(to) | 399 | emit dateTimeStrChanged(startString); |
390 | .arg(mDurationLabel->text()); | ||
391 | |||
392 | emit dateTimeStrChanged(str); | ||
393 | } | 400 | } |
394 | 401 | ||
395 | bool KOEditorGeneralEvent::validateInput() | 402 | bool KOEditorGeneralEvent::validateInput() |
396 | { | 403 | { |
397 | 404 | ||
398 | if (!mStartDateEdit->inputIsValid()) { | 405 | if (!mStartDateEdit->inputIsValid()) { |
399 | KMessageBox::sorry( 0, | 406 | KMessageBox::sorry( 0, |
400 | i18n("Please specify a valid start date,\nfor example '%1'.") | 407 | i18n("Please specify a valid start date,\nfor example '%1'.") |
401 | .arg( KGlobal::locale()->formatDate( QDate::currentDate(), true ) ) ); | 408 | .arg( KGlobal::locale()->formatDate( QDate::currentDate(), true ) ) ); |
402 | return false; | 409 | return false; |
403 | } | 410 | } |
404 | 411 | ||
405 | if (!mEndDateEdit->inputIsValid()) { | 412 | if (!mEndDateEdit->inputIsValid()) { |
406 | KMessageBox::sorry( 0, | 413 | KMessageBox::sorry( 0, |
407 | i18n("Please specify a valid end date,\nfor example '%1'.") | 414 | i18n("Please specify a valid end date,\nfor example '%1'.") |
408 | .arg( KGlobal::locale()->formatDate( QDate::currentDate(), true ) ) ); | 415 | .arg( KGlobal::locale()->formatDate( QDate::currentDate(), true ) ) ); |
409 | return false; | 416 | return false; |
410 | } | 417 | } |
411 | 418 | ||
412 | QDateTime startDt,endDt; | 419 | QDateTime startDt,endDt; |
413 | startDt.setDate(mStartDateEdit->date()); | 420 | startDt.setDate(mStartDateEdit->date()); |
414 | endDt.setDate(mEndDateEdit->date()); | 421 | endDt.setDate(mEndDateEdit->date()); |
415 | if (!mNoTimeButton->isChecked()) { | 422 | if (!mNoTimeButton->isChecked()) { |
416 | startDt.setTime(mStartTimeEdit->getTime()); | 423 | startDt.setTime(mStartTimeEdit->getTime()); |
417 | endDt.setTime(mEndTimeEdit->getTime()); | 424 | endDt.setTime(mEndTimeEdit->getTime()); |
418 | } | 425 | } |
419 | 426 | ||
420 | if (startDt > endDt) { | 427 | if (startDt > endDt) { |
421 | KMessageBox::sorry(0,i18n("The event ends before it starts.\n" | 428 | KMessageBox::sorry(0,i18n("The event ends before it starts.\n" |
422 | "Please correct dates and times.")); | 429 | "Please correct dates and times.")); |
423 | return false; | 430 | return false; |
424 | } | 431 | } |
425 | 432 | ||
426 | return KOEditorGeneral::validateInput(); | 433 | return KOEditorGeneral::validateInput(); |
427 | } | 434 | } |
diff --git a/korganizer/koeditorrecurrence.cpp b/korganizer/koeditorrecurrence.cpp index bf81b01..01c5773 100644 --- a/korganizer/koeditorrecurrence.cpp +++ b/korganizer/koeditorrecurrence.cpp | |||
@@ -636,209 +636,209 @@ void RecurrenceRangeDialog::setDuration( int duration ) | |||
636 | 636 | ||
637 | int RecurrenceRangeDialog::duration() | 637 | int RecurrenceRangeDialog::duration() |
638 | { | 638 | { |
639 | return mRecurrenceRangeWidget->duration(); | 639 | return mRecurrenceRangeWidget->duration(); |
640 | } | 640 | } |
641 | 641 | ||
642 | void RecurrenceRangeDialog::setEndDate( const QDate &date ) | 642 | void RecurrenceRangeDialog::setEndDate( const QDate &date ) |
643 | { | 643 | { |
644 | mRecurrenceRangeWidget->setEndDate( date ); | 644 | mRecurrenceRangeWidget->setEndDate( date ); |
645 | } | 645 | } |
646 | 646 | ||
647 | QDate RecurrenceRangeDialog::endDate() | 647 | QDate RecurrenceRangeDialog::endDate() |
648 | { | 648 | { |
649 | return mRecurrenceRangeWidget->endDate(); | 649 | return mRecurrenceRangeWidget->endDate(); |
650 | } | 650 | } |
651 | 651 | ||
652 | void RecurrenceRangeDialog::setDateTimes( const QDateTime &start, | 652 | void RecurrenceRangeDialog::setDateTimes( const QDateTime &start, |
653 | const QDateTime &end ) | 653 | const QDateTime &end ) |
654 | { | 654 | { |
655 | mRecurrenceRangeWidget->setDateTimes( start, end ); | 655 | mRecurrenceRangeWidget->setDateTimes( start, end ); |
656 | } | 656 | } |
657 | 657 | ||
658 | //////////////////////////// RecurrenceChooser //////////////////////// | 658 | //////////////////////////// RecurrenceChooser //////////////////////// |
659 | 659 | ||
660 | RecurrenceChooser::RecurrenceChooser( QWidget *parent, const char *name ) : | 660 | RecurrenceChooser::RecurrenceChooser( QWidget *parent, const char *name ) : |
661 | QWidget( parent, name ) | 661 | QWidget( parent, name ) |
662 | { | 662 | { |
663 | QBoxLayout *topLayout = new QVBoxLayout( this ); | 663 | QBoxLayout *topLayout = new QVBoxLayout( this ); |
664 | 664 | ||
665 | mTypeCombo = new QComboBox( this ); | 665 | mTypeCombo = new QComboBox( this ); |
666 | mTypeCombo->insertItem( i18n("Daily") ); | 666 | mTypeCombo->insertItem( i18n("Daily") ); |
667 | mTypeCombo->insertItem( i18n("Weekly") ); | 667 | mTypeCombo->insertItem( i18n("Weekly") ); |
668 | mTypeCombo->insertItem( i18n("Monthly") ); | 668 | mTypeCombo->insertItem( i18n("Monthly") ); |
669 | mTypeCombo->insertItem( i18n("Yearly") ); | 669 | mTypeCombo->insertItem( i18n("Yearly") ); |
670 | 670 | ||
671 | topLayout->addWidget( mTypeCombo ); | 671 | topLayout->addWidget( mTypeCombo ); |
672 | 672 | ||
673 | connect( mTypeCombo, SIGNAL( activated( int ) ), SLOT( emitChoice() ) ); | 673 | connect( mTypeCombo, SIGNAL( activated( int ) ), SLOT( emitChoice() ) ); |
674 | 674 | ||
675 | } | 675 | } |
676 | 676 | ||
677 | int RecurrenceChooser::type() | 677 | int RecurrenceChooser::type() |
678 | { | 678 | { |
679 | if ( mTypeCombo ) { | 679 | if ( mTypeCombo ) { |
680 | return mTypeCombo->currentItem(); | 680 | return mTypeCombo->currentItem(); |
681 | } else { | 681 | } else { |
682 | if ( mDailyButton->isChecked() ) return Daily; | 682 | if ( mDailyButton->isChecked() ) return Daily; |
683 | else if ( mWeeklyButton->isChecked() ) return Weekly; | 683 | else if ( mWeeklyButton->isChecked() ) return Weekly; |
684 | else if ( mMonthlyButton->isChecked() ) return Monthly; | 684 | else if ( mMonthlyButton->isChecked() ) return Monthly; |
685 | else return Yearly; | 685 | else return Yearly; |
686 | } | 686 | } |
687 | } | 687 | } |
688 | 688 | ||
689 | void RecurrenceChooser::setType( int type ) | 689 | void RecurrenceChooser::setType( int type ) |
690 | { | 690 | { |
691 | if ( mTypeCombo ) { | 691 | if ( mTypeCombo ) { |
692 | mTypeCombo->setCurrentItem( type ); | 692 | mTypeCombo->setCurrentItem( type ); |
693 | } else { | 693 | } else { |
694 | switch ( type ) { | 694 | switch ( type ) { |
695 | case Daily: | 695 | case Daily: |
696 | mDailyButton->setChecked( true ); | 696 | mDailyButton->setChecked( true ); |
697 | break; | 697 | break; |
698 | case Weekly: | 698 | case Weekly: |
699 | mWeeklyButton->setChecked( true ); | 699 | mWeeklyButton->setChecked( true ); |
700 | break; | 700 | break; |
701 | case Monthly: | 701 | case Monthly: |
702 | mMonthlyButton->setChecked( true ); | 702 | mMonthlyButton->setChecked( true ); |
703 | break; | 703 | break; |
704 | case Yearly: | 704 | case Yearly: |
705 | default: | 705 | default: |
706 | mYearlyButton->setChecked( true ); | 706 | mYearlyButton->setChecked( true ); |
707 | break; | 707 | break; |
708 | } | 708 | } |
709 | } | 709 | } |
710 | } | 710 | } |
711 | 711 | ||
712 | void RecurrenceChooser::emitChoice() | 712 | void RecurrenceChooser::emitChoice() |
713 | { | 713 | { |
714 | emit chosen ( type() ); | 714 | emit chosen ( type() ); |
715 | } | 715 | } |
716 | 716 | ||
717 | /////////////////////////////// Main Widget ///////////////////////////// | 717 | /////////////////////////////// Main Widget ///////////////////////////// |
718 | 718 | ||
719 | KOEditorRecurrence::KOEditorRecurrence( QWidget* parent, const char *name ) : | 719 | KOEditorRecurrence::KOEditorRecurrence( QWidget* parent, const char *name ) : |
720 | QWidget( parent, name ) | 720 | QWidget( parent, name ) |
721 | { | 721 | { |
722 | QGridLayout *topLayout = new QGridLayout( this, 2,2 ); | 722 | QGridLayout *topLayout = new QGridLayout( this, 2,2 ); |
723 | topLayout->setSpacing( KDialog::spacingHint() ); | 723 | topLayout->setSpacing( KDialog::spacingHint() ); |
724 | topLayout->setMargin( KDialog::marginHintSmall() ); | 724 | topLayout->setMargin( KDialog::marginHintSmall() ); |
725 | 725 | ||
726 | mEnabledCheck = new QCheckBox( i18n("Enable Recurrence"), this ); | 726 | mEnabledCheck = new QCheckBox( i18n("Enable Recurrence"), this ); |
727 | connect( mEnabledCheck, SIGNAL( toggled( bool ) ), | 727 | connect( mEnabledCheck, SIGNAL( toggled( bool ) ), |
728 | SLOT( setEnabled( bool ) ) ); | 728 | SLOT( setEnabled( bool ) ) ); |
729 | topLayout->addMultiCellWidget( mEnabledCheck, 0, 0, 0, 1 ); | 729 | topLayout->addMultiCellWidget( mEnabledCheck, 0, 0, 0, 1 ); |
730 | 730 | ||
731 | 731 | ||
732 | mTimeGroupBox = new QGroupBox( 1, Horizontal, i18n("Appointment Time "), | 732 | mTimeGroupBox = new QGroupBox( 1, Horizontal, i18n("Time"), |
733 | this ); | 733 | this ); |
734 | topLayout->addMultiCellWidget( mTimeGroupBox, 1, 1 , 0 , 1 ); | 734 | topLayout->addMultiCellWidget( mTimeGroupBox, 1, 1 , 0 , 1 ); |
735 | 735 | ||
736 | if ( QApplication::desktop()->width() <= 320) { | 736 | if ( QApplication::desktop()->width() <= 320) { |
737 | mTimeGroupBox->hide(); | 737 | mTimeGroupBox->hide(); |
738 | } | 738 | } |
739 | 739 | ||
740 | // QFrame *timeFrame = new QFrame( mTimeGroupBox ); | 740 | // QFrame *timeFrame = new QFrame( mTimeGroupBox ); |
741 | // QBoxLayout *layoutTimeFrame = new QHBoxLayout( timeFrame ); | 741 | // QBoxLayout *layoutTimeFrame = new QHBoxLayout( timeFrame ); |
742 | // layoutTimeFrame->setSpacing( KDialog::spacingHint() ); | 742 | // layoutTimeFrame->setSpacing( KDialog::spacingHint() ); |
743 | 743 | ||
744 | mDateTimeLabel = new QLabel( mTimeGroupBox ); | 744 | mDateTimeLabel = new QLabel( mTimeGroupBox ); |
745 | // mDateTimeLabel = new QLabel( timeFrame ); | 745 | // mDateTimeLabel = new QLabel( timeFrame ); |
746 | // layoutTimeFrame->addWidget( mDateTimeLabel ); | 746 | // layoutTimeFrame->addWidget( mDateTimeLabel ); |
747 | 747 | //mTimeGroupBox->setSizePolicy( QSizePolicy( QSizePolicy::Preferred, QSizePolicy::Maximum ) ); | |
748 | 748 | //mDateTimeLabel->setSizePolicy( QSizePolicy( QSizePolicy::Preferred, QSizePolicy::Maximum) ); | |
749 | mRuleBox = new QGroupBox( 1, Horizontal, i18n("Recurrence Rule"), this ); | 749 | mRuleBox = new QGroupBox( 1, Horizontal, i18n("Recurrence Rule"), this ); |
750 | topLayout->addMultiCellWidget( mRuleBox, 2, 2, 0, 1 ); | 750 | topLayout->addMultiCellWidget( mRuleBox, 2, 2, 0, 1 ); |
751 | mRecurrenceChooser = new RecurrenceChooser( mRuleBox ); | 751 | mRecurrenceChooser = new RecurrenceChooser( mRuleBox ); |
752 | connect( mRecurrenceChooser, SIGNAL( chosen( int ) ), | 752 | connect( mRecurrenceChooser, SIGNAL( chosen( int ) ), |
753 | SLOT( showCurrentRule( int ) ) ); | 753 | SLOT( showCurrentRule( int ) ) ); |
754 | 754 | ||
755 | 755 | ||
756 | mRuleStack = new QWidgetStack( mRuleBox ); | 756 | mRuleStack = new QWidgetStack( mRuleBox ); |
757 | 757 | ||
758 | mDaily = new RecurDaily( mRuleStack ); | 758 | mDaily = new RecurDaily( mRuleStack ); |
759 | mRuleStack->addWidget( mDaily, 0 ); | 759 | mRuleStack->addWidget( mDaily, 0 ); |
760 | 760 | ||
761 | mWeekly = new RecurWeekly( mRuleStack ); | 761 | mWeekly = new RecurWeekly( mRuleStack ); |
762 | mRuleStack->addWidget( mWeekly, 0 ); | 762 | mRuleStack->addWidget( mWeekly, 0 ); |
763 | 763 | ||
764 | mMonthly = new RecurMonthly( mRuleStack ); | 764 | mMonthly = new RecurMonthly( mRuleStack ); |
765 | mRuleStack->addWidget( mMonthly, 0 ); | 765 | mRuleStack->addWidget( mMonthly, 0 ); |
766 | 766 | ||
767 | mYearly = new RecurYearly( mRuleStack ); | 767 | mYearly = new RecurYearly( mRuleStack ); |
768 | mRuleStack->addWidget( mYearly, 0 ); | 768 | mRuleStack->addWidget( mYearly, 0 ); |
769 | 769 | ||
770 | showCurrentRule( mRecurrenceChooser->type() ); | 770 | showCurrentRule( mRecurrenceChooser->type() ); |
771 | mRecurrenceRangeWidget = 0; | 771 | mRecurrenceRangeWidget = 0; |
772 | mRecurrenceRangeDialog = new RecurrenceRangeDialog( this ); | 772 | mRecurrenceRangeDialog = new RecurrenceRangeDialog( this ); |
773 | mRecurrenceRange = mRecurrenceRangeDialog; | 773 | mRecurrenceRange = mRecurrenceRangeDialog; |
774 | mRecurrenceRangeButton = new QPushButton( i18n("Recurrence Range..."), | 774 | mRecurrenceRangeButton = new QPushButton( i18n("Recurrence Range..."), |
775 | this ); | 775 | this ); |
776 | 776 | ||
777 | connect( mRecurrenceRangeButton, SIGNAL( clicked() ), | 777 | connect( mRecurrenceRangeButton, SIGNAL( clicked() ), |
778 | SLOT( showRecurrenceRangeDialog() ) ); | 778 | SLOT( showRecurrenceRangeDialog() ) ); |
779 | 779 | ||
780 | mExceptionsWidget = 0; | 780 | mExceptionsWidget = 0; |
781 | mExceptionsDialog = new ExceptionsDialog( this ); | 781 | mExceptionsDialog = new ExceptionsDialog( this ); |
782 | mExceptions = mExceptionsDialog; | 782 | mExceptions = mExceptionsDialog; |
783 | mExceptionsButton = new QPushButton( i18n("Exceptions..."), this ); | 783 | mExceptionsButton = new QPushButton( i18n("Exceptions..."), this ); |
784 | if ( QApplication::desktop()->width() < 320 ) { | 784 | if ( QApplication::desktop()->width() < 320 ) { |
785 | topLayout->addMultiCellWidget( mRecurrenceRangeButton, 3, 3, 0, 1 ); | 785 | topLayout->addMultiCellWidget( mRecurrenceRangeButton, 3, 3, 0, 1 ); |
786 | topLayout->addMultiCellWidget( mExceptionsButton, 4, 4, 0, 1 ); | 786 | topLayout->addMultiCellWidget( mExceptionsButton, 4, 4, 0, 1 ); |
787 | } else { | 787 | } else { |
788 | topLayout->addWidget( mRecurrenceRangeButton, 3, 0 ); | 788 | topLayout->addWidget( mRecurrenceRangeButton, 3, 0 ); |
789 | topLayout->addWidget( mExceptionsButton, 3, 1 ); | 789 | topLayout->addWidget( mExceptionsButton, 3, 1 ); |
790 | } | 790 | } |
791 | connect( mExceptionsButton, SIGNAL( clicked() ), | 791 | connect( mExceptionsButton, SIGNAL( clicked() ), |
792 | SLOT( showExceptionsDialog() ) ); | 792 | SLOT( showExceptionsDialog() ) ); |
793 | } | 793 | } |
794 | 794 | ||
795 | KOEditorRecurrence::~KOEditorRecurrence() | 795 | KOEditorRecurrence::~KOEditorRecurrence() |
796 | { | 796 | { |
797 | } | 797 | } |
798 | 798 | ||
799 | void KOEditorRecurrence::setEnabled( bool enabled ) | 799 | void KOEditorRecurrence::setEnabled( bool enabled ) |
800 | { | 800 | { |
801 | // kdDebug() << "KOEditorRecurrence::setEnabled(): " << (enabled ? "on" : "off") << endl; | 801 | // kdDebug() << "KOEditorRecurrence::setEnabled(): " << (enabled ? "on" : "off") << endl; |
802 | 802 | ||
803 | mTimeGroupBox->setEnabled( enabled ); | 803 | mTimeGroupBox->setEnabled( enabled ); |
804 | if ( mRecurrenceRangeWidget ) mRecurrenceRangeWidget->setEnabled( enabled ); | 804 | if ( mRecurrenceRangeWidget ) mRecurrenceRangeWidget->setEnabled( enabled ); |
805 | if ( mRecurrenceRangeButton ) mRecurrenceRangeButton->setEnabled( enabled ); | 805 | if ( mRecurrenceRangeButton ) mRecurrenceRangeButton->setEnabled( enabled ); |
806 | if ( mExceptionsWidget ) mExceptionsWidget->setEnabled( enabled ); | 806 | if ( mExceptionsWidget ) mExceptionsWidget->setEnabled( enabled ); |
807 | if ( mExceptionsButton ) mExceptionsButton->setEnabled( enabled ); | 807 | if ( mExceptionsButton ) mExceptionsButton->setEnabled( enabled ); |
808 | mRuleBox->setEnabled( enabled ); | 808 | mRuleBox->setEnabled( enabled ); |
809 | } | 809 | } |
810 | 810 | ||
811 | void KOEditorRecurrence::showCurrentRule( int current ) | 811 | void KOEditorRecurrence::showCurrentRule( int current ) |
812 | { | 812 | { |
813 | switch ( current ) { | 813 | switch ( current ) { |
814 | case Daily: | 814 | case Daily: |
815 | mRuleStack->raiseWidget( mDaily ); | 815 | mRuleStack->raiseWidget( mDaily ); |
816 | break; | 816 | break; |
817 | case Weekly: | 817 | case Weekly: |
818 | mRuleStack->raiseWidget( mWeekly ); | 818 | mRuleStack->raiseWidget( mWeekly ); |
819 | break; | 819 | break; |
820 | case Monthly: | 820 | case Monthly: |
821 | mRuleStack->raiseWidget( mMonthly ); | 821 | mRuleStack->raiseWidget( mMonthly ); |
822 | break; | 822 | break; |
823 | default: | 823 | default: |
824 | case Yearly: | 824 | case Yearly: |
825 | mRuleStack->raiseWidget( mYearly ); | 825 | mRuleStack->raiseWidget( mYearly ); |
826 | break; | 826 | break; |
827 | } | 827 | } |
828 | } | 828 | } |
829 | 829 | ||
830 | void KOEditorRecurrence::setDateTimes( QDateTime start, QDateTime end ) | 830 | void KOEditorRecurrence::setDateTimes( QDateTime start, QDateTime end ) |
831 | { | 831 | { |
832 | // kdDebug() << "KOEditorRecurrence::setDateTimes" << endl; | 832 | // kdDebug() << "KOEditorRecurrence::setDateTimes" << endl; |
833 | 833 | ||
834 | mRecurrenceRange->setDateTimes( start, end ); | 834 | mRecurrenceRange->setDateTimes( start, end ); |
835 | mExceptions->setDefaults( end ); | 835 | mExceptions->setDefaults( end ); |
836 | 836 | ||
837 | } | 837 | } |
838 | 838 | ||
839 | void KOEditorRecurrence::setDefaults( QDateTime from, QDateTime to, bool ) | 839 | void KOEditorRecurrence::setDefaults( QDateTime from, QDateTime to, bool ) |
840 | { | 840 | { |
841 | 841 | ||
842 | // qDebug("KOEditorRecurrence::setDefaults %s %s ",from.toString().latin1(),to.toString().latin1() ); | 842 | // qDebug("KOEditorRecurrence::setDefaults %s %s ",from.toString().latin1(),to.toString().latin1() ); |
843 | setDateTimes( from, to ); | 843 | setDateTimes( from, to ); |
844 | 844 | ||
diff --git a/korganizer/kotodoeditor.cpp b/korganizer/kotodoeditor.cpp index 51e2524..6a05cc8 100644 --- a/korganizer/kotodoeditor.cpp +++ b/korganizer/kotodoeditor.cpp | |||
@@ -1,170 +1,171 @@ | |||
1 | /* | 1 | /* |
2 | This file is part of KOrganizer. | 2 | This file is part of KOrganizer. |
3 | Copyright (c) 1997, 1998 Preston Brown | 3 | Copyright (c) 1997, 1998 Preston Brown |
4 | Copyright (c) 2000,2001 Cornelius Schumacher <schumacher@kde.org> | 4 | Copyright (c) 2000,2001 Cornelius Schumacher <schumacher@kde.org> |
5 | 5 | ||
6 | This program is free software; you can redistribute it and/or modify | 6 | This program is free software; you can redistribute it and/or modify |
7 | it under the terms of the GNU General Public License as published by | 7 | it under the terms of the GNU General Public License as published by |
8 | the Free Software Foundation; either version 2 of the License, or | 8 | the Free Software Foundation; either version 2 of the License, or |
9 | (at your option) any later version. | 9 | (at your option) any later version. |
10 | 10 | ||
11 | This program is distributed in the hope that it will be useful, | 11 | This program is distributed in the hope that it will be useful, |
12 | but WITHOUT ANY WARRANTY; without even the implied warranty of | 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of |
13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
14 | GNU General Public License for more details. | 14 | GNU General Public License for more details. |
15 | 15 | ||
16 | You should have received a copy of the GNU General Public License | 16 | You should have received a copy of the GNU General Public License |
17 | along with this program; if not, write to the Free Software | 17 | along with this program; if not, write to the Free Software |
18 | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | 18 | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. |
19 | 19 | ||
20 | As a special exception, permission is given to link this program | 20 | As a special exception, permission is given to link this program |
21 | with any edition of Qt, and distribute the resulting executable, | 21 | with any edition of Qt, and distribute the resulting executable, |
22 | without including the source code for Qt in the source distribution. | 22 | without including the source code for Qt in the source distribution. |
23 | */ | 23 | */ |
24 | 24 | ||
25 | #include <qtooltip.h> | 25 | #include <qtooltip.h> |
26 | #include <qframe.h> | 26 | #include <qframe.h> |
27 | #include <qpixmap.h> | 27 | #include <qpixmap.h> |
28 | #include <qlayout.h> | 28 | #include <qlayout.h> |
29 | #include <qhbox.h> | 29 | #include <qhbox.h> |
30 | #include <qdir.h> | 30 | #include <qdir.h> |
31 | #include <qdatetime.h> | 31 | #include <qdatetime.h> |
32 | #include <qapplication.h> | 32 | #include <qapplication.h> |
33 | #include <qtabwidget.h> | 33 | #include <qtabwidget.h> |
34 | 34 | ||
35 | #include <kiconloader.h> | 35 | #include <kiconloader.h> |
36 | #include <klocale.h> | 36 | #include <klocale.h> |
37 | #include <kfiledialog.h> | 37 | #include <kfiledialog.h> |
38 | #include <kstandarddirs.h> | 38 | #include <kstandarddirs.h> |
39 | #include <kmessagebox.h> | 39 | #include <kmessagebox.h> |
40 | 40 | ||
41 | #include <libkdepim/categoryselectdialog.h> | 41 | #include <libkdepim/categoryselectdialog.h> |
42 | #include <libkcal/calendarlocal.h> | 42 | #include <libkcal/calendarlocal.h> |
43 | #include <libkcal/calendarresources.h> | 43 | #include <libkcal/calendarresources.h> |
44 | #include <libkcal/resourcecalendar.h> | 44 | #include <libkcal/resourcecalendar.h> |
45 | #include <libkcal/icalformat.h> | 45 | #include <libkcal/icalformat.h> |
46 | #include <kresources/resourceselectdialog.h> | 46 | #include <kresources/resourceselectdialog.h> |
47 | #include <libkdepim/kdateedit.h> | 47 | #include <libkdepim/kdateedit.h> |
48 | 48 | ||
49 | #include "koprefs.h" | 49 | #include "koprefs.h" |
50 | #include "kolocationbox.h" | 50 | #include "kolocationbox.h" |
51 | 51 | ||
52 | #include "kotodoeditor.h" | 52 | #include "kotodoeditor.h" |
53 | extern int globalFlagBlockAgenda; | 53 | extern int globalFlagBlockAgenda; |
54 | 54 | ||
55 | KOTodoEditor::KOTodoEditor( Calendar *calendar, QWidget *parent ) : | 55 | KOTodoEditor::KOTodoEditor( Calendar *calendar, QWidget *parent ) : |
56 | KOIncidenceEditor( i18n("Edit To-Do"), calendar, parent ) | 56 | KOIncidenceEditor( i18n("Edit To-Do"), calendar, parent ) |
57 | { | 57 | { |
58 | mTodo = 0; | 58 | mTodo = 0; |
59 | mRelatedTodo = 0; | 59 | mRelatedTodo = 0; |
60 | findButton(User1)->hide(); | 60 | findButton(User1)->hide(); |
61 | init(); | 61 | init(); |
62 | } | 62 | } |
63 | 63 | ||
64 | KOTodoEditor::~KOTodoEditor() | 64 | KOTodoEditor::~KOTodoEditor() |
65 | { | 65 | { |
66 | emit dialogClose( mTodo ); | 66 | emit dialogClose( mTodo ); |
67 | } | 67 | } |
68 | 68 | ||
69 | void KOTodoEditor::init() | 69 | void KOTodoEditor::init() |
70 | { | 70 | { |
71 | setupGeneral(); | 71 | setupGeneral(); |
72 | setupAttendeesTab(); | 72 | setupAttendeesTab(); |
73 | setupRecurrence(); | 73 | setupRecurrence(); |
74 | connect(mGeneral,SIGNAL(datesChecked()),this ,SLOT(checkRecurrence())); | 74 | connect(mGeneral,SIGNAL(datesChecked()),this ,SLOT(checkRecurrence())); |
75 | mRecurrence->setDateTimeStr( i18n("<i>The recurrence is computed from the start datetime!</i>") ); | ||
75 | } | 76 | } |
76 | void KOTodoEditor::setupRecurrence() | 77 | void KOTodoEditor::setupRecurrence() |
77 | { | 78 | { |
78 | QFrame *topFrame = addPage( i18n("Recurrence") ); | 79 | QFrame *topFrame = addPage( i18n("Recurrence") ); |
79 | QBoxLayout *topLayout = new QVBoxLayout( topFrame ); | 80 | QBoxLayout *topLayout = new QVBoxLayout( topFrame ); |
80 | 81 | ||
81 | mRecurrence = new KOEditorRecurrence( topFrame ); | 82 | mRecurrence = new KOEditorRecurrence( topFrame ); |
82 | topLayout->addWidget( mRecurrence ); | 83 | topLayout->addWidget( mRecurrence ); |
83 | } | 84 | } |
84 | 85 | ||
85 | void KOTodoEditor::setCategories( QString s ) | 86 | void KOTodoEditor::setCategories( QString s ) |
86 | { | 87 | { |
87 | mGeneral->setCategories(s); | 88 | mGeneral->setCategories(s); |
88 | } | 89 | } |
89 | void KOTodoEditor::setSecrecy( int sec ) | 90 | void KOTodoEditor::setSecrecy( int sec ) |
90 | { | 91 | { |
91 | mGeneral->setSecrecy( sec ); | 92 | mGeneral->setSecrecy( sec ); |
92 | } | 93 | } |
93 | void KOTodoEditor::reload() | 94 | void KOTodoEditor::reload() |
94 | { | 95 | { |
95 | if ( mTodo ) readTodo( mTodo ); | 96 | if ( mTodo ) readTodo( mTodo ); |
96 | } | 97 | } |
97 | 98 | ||
98 | void KOTodoEditor::setupGeneral() | 99 | void KOTodoEditor::setupGeneral() |
99 | { | 100 | { |
100 | mGeneral = new KOEditorGeneralTodo(this); | 101 | mGeneral = new KOEditorGeneralTodo(this); |
101 | connect ( mGeneral, SIGNAL ( allAccepted() ), this, SLOT ( slotOk () ) ); | 102 | connect ( mGeneral, SIGNAL ( allAccepted() ), this, SLOT ( slotOk () ) ); |
102 | 103 | ||
103 | // connect(mGeneral,SIGNAL(openCategoryDialog()),mCategoryDialog,SLOT(show())); | 104 | // connect(mGeneral,SIGNAL(openCategoryDialog()),mCategoryDialog,SLOT(show())); |
104 | //connect(mCategoryDialog, SIGNAL(categoriesSelected(const QString &)), | 105 | //connect(mCategoryDialog, SIGNAL(categoriesSelected(const QString &)), |
105 | // mGeneral,SLOT(setCategories(const QString &))); | 106 | // mGeneral,SLOT(setCategories(const QString &))); |
106 | 107 | ||
107 | if (KOPrefs::instance()->mCompactDialogs) { | 108 | if (KOPrefs::instance()->mCompactDialogs) { |
108 | QFrame *topFrame = addPage(i18n("General")); | 109 | QFrame *topFrame = addPage(i18n("General")); |
109 | 110 | ||
110 | QBoxLayout *topLayout = new QVBoxLayout(topFrame); | 111 | QBoxLayout *topLayout = new QVBoxLayout(topFrame); |
111 | if ( QApplication::desktop()->width() < 480 ) { | 112 | if ( QApplication::desktop()->width() < 480 ) { |
112 | topLayout->setMargin(1); | 113 | topLayout->setMargin(1); |
113 | topLayout->setSpacing(1); | 114 | topLayout->setSpacing(1); |
114 | } else { | 115 | } else { |
115 | topLayout->setMargin(marginHint()-1); | 116 | topLayout->setMargin(marginHint()-1); |
116 | topLayout->setSpacing(spacingHint()-1); | 117 | topLayout->setSpacing(spacingHint()-1); |
117 | } | 118 | } |
118 | mGeneral->initHeader(topFrame,topLayout); | 119 | mGeneral->initHeader(topFrame,topLayout); |
119 | mGeneral->initTime(topFrame,topLayout); | 120 | mGeneral->initTime(topFrame,topLayout); |
120 | mGeneral->initAlarm(topFrame,topLayout); | 121 | mGeneral->initAlarm(topFrame,topLayout); |
121 | mGeneral->enableAlarm( false ); | 122 | mGeneral->enableAlarm( false ); |
122 | 123 | ||
123 | 124 | ||
124 | QBoxLayout *priorityLayout; | 125 | QBoxLayout *priorityLayout; |
125 | if ( QApplication::desktop()->width() < 500 ) | 126 | if ( QApplication::desktop()->width() < 500 ) |
126 | priorityLayout = new QVBoxLayout( topLayout ); | 127 | priorityLayout = new QVBoxLayout( topLayout ); |
127 | else | 128 | else |
128 | priorityLayout = new QHBoxLayout( topLayout ); | 129 | priorityLayout = new QHBoxLayout( topLayout ); |
129 | QWidget* prioWidget = new QWidget (topFrame); | 130 | QWidget* prioWidget = new QWidget (topFrame); |
130 | priorityLayout->addWidget( prioWidget ); | 131 | priorityLayout->addWidget( prioWidget ); |
131 | QHBoxLayout* priorityLayout2 = new QHBoxLayout( prioWidget); | 132 | QHBoxLayout* priorityLayout2 = new QHBoxLayout( prioWidget); |
132 | 133 | ||
133 | 134 | ||
134 | QIconSet icon; | 135 | QIconSet icon; |
135 | if ( QApplication::desktop()->width() < 321 ) | 136 | if ( QApplication::desktop()->width() < 321 ) |
136 | icon = SmallIcon("fileimport16"); | 137 | icon = SmallIcon("fileimport16"); |
137 | else | 138 | else |
138 | icon = SmallIcon("fileimport"); | 139 | icon = SmallIcon("fileimport"); |
139 | QPushButton * loadTemplate = new QPushButton( prioWidget); | 140 | QPushButton * loadTemplate = new QPushButton( prioWidget); |
140 | loadTemplate->setIconSet (icon ) ; | 141 | loadTemplate->setIconSet (icon ) ; |
141 | int size = loadTemplate->sizeHint().height(); | 142 | int size = loadTemplate->sizeHint().height(); |
142 | loadTemplate->setFixedSize( size, size ); | 143 | loadTemplate->setFixedSize( size, size ); |
143 | if ( QApplication::desktop()->width() < 321 ) | 144 | if ( QApplication::desktop()->width() < 321 ) |
144 | icon = SmallIcon("fileexport16"); | 145 | icon = SmallIcon("fileexport16"); |
145 | else | 146 | else |
146 | icon = SmallIcon("fileexport"); | 147 | icon = SmallIcon("fileexport"); |
147 | QPushButton * saveTemplate = new QPushButton( prioWidget); | 148 | QPushButton * saveTemplate = new QPushButton( prioWidget); |
148 | saveTemplate->setIconSet (icon ) ; | 149 | saveTemplate->setIconSet (icon ) ; |
149 | saveTemplate->setFixedSize( size, size ); | 150 | saveTemplate->setFixedSize( size, size ); |
150 | 151 | ||
151 | priorityLayout2->addWidget(loadTemplate); | 152 | priorityLayout2->addWidget(loadTemplate); |
152 | priorityLayout2->addWidget(saveTemplate); | 153 | priorityLayout2->addWidget(saveTemplate); |
153 | mGeneral->initPriority(prioWidget,priorityLayout2); | 154 | mGeneral->initPriority(prioWidget,priorityLayout2); |
154 | mGeneral->initCategories( topFrame, priorityLayout ); | 155 | mGeneral->initCategories( topFrame, priorityLayout ); |
155 | topLayout->addStretch(1); | 156 | topLayout->addStretch(1); |
156 | 157 | ||
157 | QFrame *topFrame2 = addPage(i18n("Details")); | 158 | QFrame *topFrame2 = addPage(i18n("Details")); |
158 | 159 | ||
159 | QBoxLayout *topLayout2 = new QVBoxLayout(topFrame2); | 160 | QBoxLayout *topLayout2 = new QVBoxLayout(topFrame2); |
160 | topLayout2->setMargin(marginHint()); | 161 | topLayout2->setMargin(marginHint()); |
161 | topLayout2->setSpacing(spacingHint()); | 162 | topLayout2->setSpacing(spacingHint()); |
162 | 163 | ||
163 | QHBoxLayout *completionLayout = new QHBoxLayout( topLayout2 ); | 164 | QHBoxLayout *completionLayout = new QHBoxLayout( topLayout2 ); |
164 | mGeneral->initCompletion(topFrame2,completionLayout); | 165 | mGeneral->initCompletion(topFrame2,completionLayout); |
165 | 166 | ||
166 | 167 | ||
167 | mGeneral->initSecrecy( topFrame2, topLayout2 ); | 168 | mGeneral->initSecrecy( topFrame2, topLayout2 ); |
168 | mGeneral->initDescription(topFrame2,topLayout2); | 169 | mGeneral->initDescription(topFrame2,topLayout2); |
169 | 170 | ||
170 | // QHBox * hb = new QHBox ( topFrame2 ); | 171 | // QHBox * hb = new QHBox ( topFrame2 ); |
diff --git a/korganizer/mainwindow.cpp b/korganizer/mainwindow.cpp index 94f4677..ffc4d9a 100644 --- a/korganizer/mainwindow.cpp +++ b/korganizer/mainwindow.cpp | |||
@@ -1494,193 +1494,194 @@ void MainWindow::keyBindings() | |||
1494 | i18n("<p><h2>KO/Pi icon colors:</h2></p>\n") + | 1494 | i18n("<p><h2>KO/Pi icon colors:</h2></p>\n") + |
1495 | i18n("<p><b>(for square icons in agenda and month view)</b></p>\n") + | 1495 | i18n("<p><b>(for square icons in agenda and month view)</b></p>\n") + |
1496 | i18n("<p><b>Cross</b>: Item cancelled.([c] in Whats'Next view)</p>\n")+ | 1496 | i18n("<p><b>Cross</b>: Item cancelled.([c] in Whats'Next view)</p>\n")+ |
1497 | i18n("<p><b>Red</b>: Alarm set.([a] in Whats'Next view)</p>\n")+ | 1497 | i18n("<p><b>Red</b>: Alarm set.([a] in Whats'Next view)</p>\n")+ |
1498 | i18n("<p><b>Blue</b>: Recurrent event.([r] in Whats'Next view)</p>\n")+ | 1498 | i18n("<p><b>Blue</b>: Recurrent event.([r] in Whats'Next view)</p>\n")+ |
1499 | i18n("<p><b>Dark green</b>: Information(description) available.([i] in WN view)</p>\n")+ | 1499 | i18n("<p><b>Dark green</b>: Information(description) available.([i] in WN view)</p>\n")+ |
1500 | i18n("<p><b>Black</b>: Event/todo with attendees. You are the organizer!</p>\n")+ | 1500 | i18n("<p><b>Black</b>: Event/todo with attendees. You are the organizer!</p>\n")+ |
1501 | i18n("<p><b>Dark yellow</b>: Event/todo with attendees.</p>\n") + | 1501 | i18n("<p><b>Dark yellow</b>: Event/todo with attendees.</p>\n") + |
1502 | i18n("<p><b>White</b>: Item readonly</p>\n"); | 1502 | i18n("<p><b>White</b>: Item readonly</p>\n"); |
1503 | displayText( text, cap); | 1503 | displayText( text, cap); |
1504 | } | 1504 | } |
1505 | void MainWindow::aboutAutoSaving() | 1505 | void MainWindow::aboutAutoSaving() |
1506 | { | 1506 | { |
1507 | 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"); | 1507 | 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"); |
1508 | 1508 | ||
1509 | KApplication::showText( i18n("Auto Saving in KOrganizer/Pi"), text); | 1509 | KApplication::showText( i18n("Auto Saving in KOrganizer/Pi"), text); |
1510 | 1510 | ||
1511 | } | 1511 | } |
1512 | void MainWindow::aboutKnownBugs() | 1512 | void MainWindow::aboutKnownBugs() |
1513 | { | 1513 | { |
1514 | QMessageBox* msg; | 1514 | QMessageBox* msg; |
1515 | msg = new QMessageBox( i18n("Known Problems in KOrganizer/Pi"), | 1515 | msg = new QMessageBox( i18n("Known Problems in KOrganizer/Pi"), |
1516 | 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")+ | 1516 | 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")+ |
1517 | i18n("2) Audio alarm daemon\nfor Zaurus is available!\nas an additional small application\n")+ | 1517 | i18n("2) Audio alarm daemon\nfor Zaurus is available!\nas an additional small application\n")+ |
1518 | i18n("\nPlease report unexpected behaviour to\nlutz@pi-sync.info\n") + | 1518 | i18n("\nPlease report unexpected behaviour to\nlutz@pi-sync.info\n") + |
1519 | i18n("\nor report them in the bugtracker on\n") + | 1519 | i18n("\nor report them in the bugtracker on\n") + |
1520 | i18n("\nhttp://sourceforge.net/projects/kdepimpi\n"), | 1520 | i18n("\nhttp://sourceforge.net/projects/kdepimpi\n"), |
1521 | QMessageBox::NoIcon, | 1521 | QMessageBox::NoIcon, |
1522 | QMessageBox::Ok, | 1522 | QMessageBox::Ok, |
1523 | QMessageBox::NoButton, | 1523 | QMessageBox::NoButton, |
1524 | QMessageBox::NoButton); | 1524 | QMessageBox::NoButton); |
1525 | msg->exec(); | 1525 | msg->exec(); |
1526 | delete msg; | 1526 | delete msg; |
1527 | 1527 | ||
1528 | } | 1528 | } |
1529 | 1529 | ||
1530 | QString MainWindow::defaultFileName() | 1530 | QString MainWindow::defaultFileName() |
1531 | { | 1531 | { |
1532 | return locateLocal( "data", "korganizer/mycalendar.ics" ); | 1532 | return locateLocal( "data", "korganizer/mycalendar.ics" ); |
1533 | } | 1533 | } |
1534 | QString MainWindow::syncFileName() | 1534 | QString MainWindow::syncFileName() |
1535 | { | 1535 | { |
1536 | #ifdef DESKTOP_VERSION | 1536 | #ifdef DESKTOP_VERSION |
1537 | return locateLocal( "tmp", "synccalendar.ics" ); | 1537 | return locateLocal( "tmp", "synccalendar.ics" ); |
1538 | #else | 1538 | #else |
1539 | return QString( "/tmp/synccalendar.ics" ); | 1539 | return QString( "/tmp/synccalendar.ics" ); |
1540 | #endif | 1540 | #endif |
1541 | } | 1541 | } |
1542 | #include "koglobals.h" | 1542 | #include "koglobals.h" |
1543 | #include <kcalendarsystem.h> | 1543 | #include <kcalendarsystem.h> |
1544 | void MainWindow::updateWeek(QDate seda) | 1544 | void MainWindow::updateWeek(QDate seda) |
1545 | { | 1545 | { |
1546 | int weekNum = KGlobal::locale()->weekNum ( seda ); | 1546 | int weekNum = KGlobal::locale()->weekNum ( seda ); |
1547 | mWeekPixmap.fill( mWeekBgColor ); | 1547 | mWeekPixmap.fill( mWeekBgColor ); |
1548 | QPainter p ( &mWeekPixmap ); | 1548 | QPainter p ( &mWeekPixmap ); |
1549 | p.setFont( mWeekFont ); | 1549 | p.setFont( mWeekFont ); |
1550 | p.drawText( 0,0,mWeekPixmap.width(), mWeekPixmap.height(),AlignCenter, QString::number( weekNum) ); | 1550 | p.drawText( 0,0,mWeekPixmap.width(), mWeekPixmap.height(),AlignCenter, QString::number( weekNum) ); |
1551 | p.end(); | 1551 | p.end(); |
1552 | QIconSet icon3 ( mWeekPixmap ); | 1552 | QIconSet icon3 ( mWeekPixmap ); |
1553 | mWeekAction->setIconSet ( icon3 ); | 1553 | mWeekAction->setIconSet ( icon3 ); |
1554 | 1554 | ||
1555 | } | 1555 | } |
1556 | void MainWindow::updateWeekNum(const DateList &selectedDates) | 1556 | void MainWindow::updateWeekNum(const DateList &selectedDates) |
1557 | { | 1557 | { |
1558 | updateWeek( selectedDates.first() ); | 1558 | updateWeek( selectedDates.first() ); |
1559 | } | 1559 | } |
1560 | void MainWindow::processIncidenceSelection( Incidence *incidence ) | 1560 | void MainWindow::processIncidenceSelection( Incidence *incidence ) |
1561 | { | 1561 | { |
1562 | 1562 | ||
1563 | if ( !incidence ) { | 1563 | if ( !incidence ) { |
1564 | enableIncidenceActions( false ); | 1564 | enableIncidenceActions( false ); |
1565 | 1565 | ||
1566 | mNewSubTodoAction->setEnabled( false ); | 1566 | mNewSubTodoAction->setEnabled( false ); |
1567 | setCaptionToDates(); | 1567 | setCaptionToDates(); |
1568 | return; | 1568 | return; |
1569 | 1569 | ||
1570 | } | 1570 | } |
1571 | 1571 | ||
1572 | //KGlobal::locale()->formatDateTime(nextA, true); | 1572 | //KGlobal::locale()->formatDateTime(nextA, true); |
1573 | QString startString = ""; | 1573 | QString startString = ""; |
1574 | if ( incidence->type() != "Todo" ) { | 1574 | if ( incidence->type() != "Todo" ) { |
1575 | if ( incidence->dtStart().date() < incidence->dtEnd().date() ) { | 1575 | if ( incidence->dtStart().date() < incidence->dtEnd().date() ) { |
1576 | if ( incidence->doesFloat() ) { | 1576 | if ( incidence->doesFloat() ) { |
1577 | startString += ": "+incidence->dtStartDateStr( true ); | 1577 | startString += ": "+incidence->dtStartDateStr( true ); |
1578 | startString += " --- "+((Event*)incidence)->dtEndDateStr( true ); | 1578 | startString += " --- "+((Event*)incidence)->dtEndDateStr( true ); |
1579 | 1579 | ||
1580 | } else { | 1580 | } else { |
1581 | startString = ": "+incidence->dtStartStr(true); | 1581 | startString = ": "+incidence->dtStartStr(true); |
1582 | startString += " --- "+((Event*)incidence)->dtEndStr(true); | 1582 | startString += " --- "+((Event*)incidence)->dtEndStr(true); |
1583 | 1583 | ||
1584 | } | 1584 | } |
1585 | 1585 | ||
1586 | } else { | 1586 | } else { |
1587 | if ( incidence->dtStart().time() != incidence->dtEnd().time() ) | 1587 | if ( incidence->dtStart().time() != incidence->dtEnd().time() ) |
1588 | startString = ": "+KGlobal::locale()->formatTime(incidence->dtStart().time())+ | 1588 | startString = ": "+KGlobal::locale()->formatTime(incidence->dtStart().time())+ |
1589 | "-"+KGlobal::locale()->formatTime(incidence->dtEnd().time()); | 1589 | "-"+KGlobal::locale()->formatTime(incidence->dtEnd().time()); |
1590 | if ( incidence->categories().contains( i18n("Birthday") ) || incidence->categories().contains( i18n("Anniversary") ) ) { | 1590 | |
1591 | if ( incidence->isBirthday() || incidence->isAnniversary() ) { | ||
1591 | bool ok; | 1592 | bool ok; |
1592 | QDateTime noc = incidence->getNextOccurence( mView->startDate().addDays(-1), &ok ); | 1593 | QDateTime noc = incidence->getNextOccurence( mView->startDate().addDays(-1), &ok ); |
1593 | if ( ok ) { | 1594 | if ( ok ) { |
1594 | int years = noc.date().year() - incidence->dtStart().date().year(); | 1595 | int years = noc.date().year() - incidence->dtStart().date().year(); |
1595 | startString += i18n(" (%1 y.)"). arg( years ); | 1596 | startString += i18n(" (%1 y.)"). arg( years ); |
1596 | } | 1597 | } |
1597 | } | 1598 | } |
1598 | else | 1599 | else |
1599 | startString +=" "+KGlobal::locale()->formatDate( incidence->dtStart().date(), true); | 1600 | startString +=" "+KGlobal::locale()->formatDate( incidence->dtStart().date(), true); |
1600 | } | 1601 | } |
1601 | 1602 | ||
1602 | } | 1603 | } |
1603 | else | 1604 | else |
1604 | startString = i18n(": (Prio ") +QString::number( (( KCal::Todo*)incidence)->priority() ) +") "+QString::number( (( KCal::Todo*)incidence)->percentComplete() ) +i18n("\% completed"); | 1605 | startString = i18n(": (Prio ") +QString::number( (( KCal::Todo*)incidence)->priority() ) +") "+QString::number( (( KCal::Todo*)incidence)->percentComplete() ) +i18n("\% completed"); |
1605 | if ( !incidence->location().isEmpty() ) | 1606 | if ( !incidence->location().isEmpty() ) |
1606 | startString += " (" +incidence->location()+")"; | 1607 | startString += " (" +incidence->location()+")"; |
1607 | setCaption( incidence->summary()+startString); | 1608 | setCaption( incidence->summary()+startString); |
1608 | 1609 | ||
1609 | enableIncidenceActions( true ); | 1610 | enableIncidenceActions( true ); |
1610 | 1611 | ||
1611 | if ( incidence->type() == "Event" ) { | 1612 | if ( incidence->type() == "Event" ) { |
1612 | mShowAction->setText( i18n("Show Event...") ); | 1613 | mShowAction->setText( i18n("Show Event...") ); |
1613 | mEditAction->setText( i18n("Edit Event...") ); | 1614 | mEditAction->setText( i18n("Edit Event...") ); |
1614 | mDeleteAction->setText( i18n("Delete Event...") ); | 1615 | mDeleteAction->setText( i18n("Delete Event...") ); |
1615 | 1616 | ||
1616 | mNewSubTodoAction->setEnabled( false ); | 1617 | mNewSubTodoAction->setEnabled( false ); |
1617 | } else if ( incidence->type() == "Todo" ) { | 1618 | } else if ( incidence->type() == "Todo" ) { |
1618 | mShowAction->setText( i18n("Show Todo...") ); | 1619 | mShowAction->setText( i18n("Show Todo...") ); |
1619 | mEditAction->setText( i18n("Edit Todo...") ); | 1620 | mEditAction->setText( i18n("Edit Todo...") ); |
1620 | mDeleteAction->setText( i18n("Delete Todo...") ); | 1621 | mDeleteAction->setText( i18n("Delete Todo...") ); |
1621 | 1622 | ||
1622 | mNewSubTodoAction->setEnabled( true ); | 1623 | mNewSubTodoAction->setEnabled( true ); |
1623 | } else { | 1624 | } else { |
1624 | mShowAction->setText( i18n("Show...") ); | 1625 | mShowAction->setText( i18n("Show...") ); |
1625 | mShowAction->setText( i18n("Edit...") ); | 1626 | mShowAction->setText( i18n("Edit...") ); |
1626 | mShowAction->setText( i18n("Delete...") ); | 1627 | mShowAction->setText( i18n("Delete...") ); |
1627 | 1628 | ||
1628 | mNewSubTodoAction->setEnabled( false ); | 1629 | mNewSubTodoAction->setEnabled( false ); |
1629 | } | 1630 | } |
1630 | } | 1631 | } |
1631 | 1632 | ||
1632 | void MainWindow::enableIncidenceActions( bool enabled ) | 1633 | void MainWindow::enableIncidenceActions( bool enabled ) |
1633 | { | 1634 | { |
1634 | mShowAction->setEnabled( enabled ); | 1635 | mShowAction->setEnabled( enabled ); |
1635 | mEditAction->setEnabled( enabled ); | 1636 | mEditAction->setEnabled( enabled ); |
1636 | mDeleteAction->setEnabled( enabled ); | 1637 | mDeleteAction->setEnabled( enabled ); |
1637 | 1638 | ||
1638 | mCloneAction->setEnabled( enabled ); | 1639 | mCloneAction->setEnabled( enabled ); |
1639 | mMoveAction->setEnabled( enabled ); | 1640 | mMoveAction->setEnabled( enabled ); |
1640 | mBeamAction->setEnabled( enabled ); | 1641 | mBeamAction->setEnabled( enabled ); |
1641 | mCancelAction->setEnabled( enabled ); | 1642 | mCancelAction->setEnabled( enabled ); |
1642 | } | 1643 | } |
1643 | 1644 | ||
1644 | void MainWindow::importOL() | 1645 | void MainWindow::importOL() |
1645 | { | 1646 | { |
1646 | #ifdef _OL_IMPORT_ | 1647 | #ifdef _OL_IMPORT_ |
1647 | KOImportOLdialog *id = new KOImportOLdialog("Import from OL - select folder!" , mView->calendar(),this ); | 1648 | KOImportOLdialog *id = new KOImportOLdialog("Import from OL - select folder!" , mView->calendar(),this ); |
1648 | id->exec(); | 1649 | id->exec(); |
1649 | delete id; | 1650 | delete id; |
1650 | mView->updateView(); | 1651 | mView->updateView(); |
1651 | #endif | 1652 | #endif |
1652 | } | 1653 | } |
1653 | void MainWindow::importBday() | 1654 | void MainWindow::importBday() |
1654 | { | 1655 | { |
1655 | int result = QMessageBox::warning( this, i18n("KO/Pi: Warning!"), | 1656 | int result = QMessageBox::warning( this, i18n("KO/Pi: Warning!"), |
1656 | i18n("When importing birthdays twice\nduplicated events will be ignored,\nif the event has not been\nchanged in KO/Pi!\n"), | 1657 | i18n("When importing birthdays twice\nduplicated events will be ignored,\nif the event has not been\nchanged in KO/Pi!\n"), |
1657 | i18n("Import!"), i18n("Cancel"), 0, | 1658 | i18n("Import!"), i18n("Cancel"), 0, |
1658 | 0, 1 ); | 1659 | 0, 1 ); |
1659 | if ( result == 0 ) { | 1660 | if ( result == 0 ) { |
1660 | mView->importBday(); | 1661 | mView->importBday(); |
1661 | 1662 | ||
1662 | } | 1663 | } |
1663 | 1664 | ||
1664 | 1665 | ||
1665 | } | 1666 | } |
1666 | void MainWindow::importQtopia() | 1667 | void MainWindow::importQtopia() |
1667 | { | 1668 | { |
1668 | //#ifndef DESKTOP_VERSION | 1669 | //#ifndef DESKTOP_VERSION |
1669 | QString mess = i18n("When importing a calendar twice\nduplicated events will be ignored!\nYou can create a backup file with\nFile - Save Calendar Backup\nto revert importing"); | 1670 | QString mess = i18n("When importing a calendar twice\nduplicated events will be ignored!\nYou can create a backup file with\nFile - Save Calendar Backup\nto revert importing"); |
1670 | #ifdef DESKTOP_VERSION | 1671 | #ifdef DESKTOP_VERSION |
1671 | mess += i18n("The content of the following files will be\nimported (located in your home directory (hd)):\n(hd)/Applications/datebook/datebook.xml\n(hd)/Applications/todolist/todolist.xml\nThe following category file will be used:\n(hd)/Settings/Categories.xml"); | 1672 | mess += i18n("The content of the following files will be\nimported (located in your home directory (hd)):\n(hd)/Applications/datebook/datebook.xml\n(hd)/Applications/todolist/todolist.xml\nThe following category file will be used:\n(hd)/Settings/Categories.xml"); |
1672 | #endif | 1673 | #endif |
1673 | int result = QMessageBox::warning( this, i18n("KO/Pi: Warning!"),mess, | 1674 | int result = QMessageBox::warning( this, i18n("KO/Pi: Warning!"),mess, |
1674 | i18n("Import!"), i18n("Cancel"), 0, | 1675 | i18n("Import!"), i18n("Cancel"), 0, |
1675 | 0, 1 ); | 1676 | 0, 1 ); |
1676 | if ( result == 0 ) { | 1677 | if ( result == 0 ) { |
1677 | #ifndef DESKTOP_VERSION | 1678 | #ifndef DESKTOP_VERSION |
1678 | QString datebook = Global::applicationFileName( "datebook", "datebook.xml"); | 1679 | QString datebook = Global::applicationFileName( "datebook", "datebook.xml"); |
1679 | QString todolist = Global::applicationFileName( "todolist", "todolist.xml"); | 1680 | QString todolist = Global::applicationFileName( "todolist", "todolist.xml"); |
1680 | QString categories = QString( getenv( "HOME" ) ) + "/Settings/Categories.xml"; | 1681 | QString categories = QString( getenv( "HOME" ) ) + "/Settings/Categories.xml"; |
1681 | #else | 1682 | #else |
1682 | QString datebook = QDir::homeDirPath()+ "/Applications/datebook/datebook.xml"; | 1683 | QString datebook = QDir::homeDirPath()+ "/Applications/datebook/datebook.xml"; |
1683 | QString todolist = QDir::homeDirPath()+ "/Applications/todolist/todolist.xml"; | 1684 | QString todolist = QDir::homeDirPath()+ "/Applications/todolist/todolist.xml"; |
1684 | QString categories = QDir::homeDirPath()+ "/Settings/Categories.xml"; | 1685 | QString categories = QDir::homeDirPath()+ "/Settings/Categories.xml"; |
1685 | #endif | 1686 | #endif |
1686 | mView->importQtopia( categories, datebook, todolist ); | 1687 | mView->importQtopia( categories, datebook, todolist ); |