author | zautrix <zautrix> | 2005-02-06 18:00:15 (UTC) |
---|---|---|
committer | zautrix <zautrix> | 2005-02-06 18:00:15 (UTC) |
commit | 282c7fc5b72f8a6ff78a408e10a6018c290ed9f0 (patch) (unidiff) | |
tree | 95291ead32969e45a6e4e405f15532c9f29543f7 | |
parent | 002a447671cdec6a2ee7940bc183c630c61121fa (diff) | |
download | kdepimpi-282c7fc5b72f8a6ff78a408e10a6018c290ed9f0.zip kdepimpi-282c7fc5b72f8a6ff78a408e10a6018c290ed9f0.tar.gz kdepimpi-282c7fc5b72f8a6ff78a408e10a6018c290ed9f0.tar.bz2 |
cat color better
-rw-r--r-- | bin/kdepim/korganizer/germantranslation.txt | 4 | ||||
-rw-r--r-- | korganizer/koeditorgeneral.cpp | 1 | ||||
-rw-r--r-- | korganizer/kotodoview.cpp | 7 | ||||
-rw-r--r-- | libkdepim/categoryselectdialog.cpp | 88 | ||||
-rw-r--r-- | libkdepim/categoryselectdialog.h | 8 | ||||
-rw-r--r-- | libkdepim/categoryselectdialog_base.cpp | 9 | ||||
-rw-r--r-- | libkdepim/categoryselectdialog_base.h | 1 |
7 files changed, 103 insertions, 15 deletions
diff --git a/bin/kdepim/korganizer/germantranslation.txt b/bin/kdepim/korganizer/germantranslation.txt index 523c054..ee37492 100644 --- a/bin/kdepim/korganizer/germantranslation.txt +++ b/bin/kdepim/korganizer/germantranslation.txt | |||
@@ -971,260 +971,264 @@ | |||
971 | { "Insert kind of connection,e.g.:\n","Füge Art der Verbindung ein,z.B.:\n" }, | 971 | { "Insert kind of connection,e.g.:\n","Füge Art der Verbindung ein,z.B.:\n" }, |
972 | { "Recommended: Leave empty!\n(Such that model can\nbe auto detected)\nOr insert name of model:\n","Empfohlen: Leer lassen!\n(So dass das Model\nautomatisch erkannt\nwerden kann)\nOder füge Model Name ein:\n" }, | 972 | { "Recommended: Leave empty!\n(Such that model can\nbe auto detected)\nOr insert name of model:\n","Empfohlen: Leer lassen!\n(So dass das Model\nautomatisch erkannt\nwerden kann)\nOder füge Model Name ein:\n" }, |
973 | { "Port number (Default: %1)","Port Nummer (Default: %1)" }, | 973 | { "Port number (Default: %1)","Port Nummer (Default: %1)" }, |
974 | { "Password to enable\naccess from remote:","Passwort um entfernten\nZugriff zuzulassen:" }, | 974 | { "Password to enable\naccess from remote:","Passwort um entfernten\nZugriff zuzulassen:" }, |
975 | { "Automatically start\nat application startup","Starte automatisch\nbeim Programmstart" }, | 975 | { "Automatically start\nat application startup","Starte automatisch\nbeim Programmstart" }, |
976 | { "Automatically sync\nwith KDE-Desktop","Automatischer Sync\nmit dem KDE-Desktop" }, | 976 | { "Automatically sync\nwith KDE-Desktop","Automatischer Sync\nmit dem KDE-Desktop" }, |
977 | { "Enter port for Pi-Sync","Port Nummer für Pi-Sync" }, | 977 | { "Enter port for Pi-Sync","Port Nummer für Pi-Sync" }, |
978 | { "Disable Pi-Sync","Schalte Pi-Sync aus" }, | 978 | { "Disable Pi-Sync","Schalte Pi-Sync aus" }, |
979 | { "Do you really want\nto multiple sync\nwith all checked profiles?\nSyncing takes some\ntime - all profiles\nare synced twice!","Wollen Sie wirklich\nmit allen selektierten\nProfilen \"Multi-Syncen\"?\nDas Syncen dauert einige Zeit -\nalle Profile werden zweimal gesynct!" }, | 979 | { "Do you really want\nto multiple sync\nwith all checked profiles?\nSyncing takes some\ntime - all profiles\nare synced twice!","Wollen Sie wirklich\nmit allen selektierten\nProfilen \"Multi-Syncen\"?\nDas Syncen dauert einige Zeit -\nalle Profile werden zweimal gesynct!" }, |
980 | { "KDE-Pim Sync","KDE-Pim Sync" }, | 980 | { "KDE-Pim Sync","KDE-Pim Sync" }, |
981 | { "Multiple profiles","Multi-Sync Profile" }, | 981 | { "Multiple profiles","Multi-Sync Profile" }, |
982 | { "Device: ","Gerät: " }, | 982 | { "Device: ","Gerät: " }, |
983 | { "Multiple sync started.","Multi-Sync gestartet." }, | 983 | { "Multiple sync started.","Multi-Sync gestartet." }, |
984 | { "Nothing synced! No profiles defined for multisync!","Nichts gesynct! Keine Profile\nselektiert für Multi-Sync" }, | 984 | { "Nothing synced! No profiles defined for multisync!","Nichts gesynct! Keine Profile\nselektiert für Multi-Sync" }, |
985 | { "Turn filter on","Schalte Filter an" }, | 985 | { "Turn filter on","Schalte Filter an" }, |
986 | { "Turn filter off","Schalte Filter aus" }, | 986 | { "Turn filter off","Schalte Filter aus" }, |
987 | { "Key bindings KOrganizer/Pi","Tastatur Belegung KOrganizer/Pi" }, | 987 | { "Key bindings KOrganizer/Pi","Tastatur Belegung KOrganizer/Pi" }, |
988 | { "<p><b>White</b>: Item readonly</p>\n","<p><b>Weiss</b>: Eintrag schreibgeschützt</p>\n" }, | 988 | { "<p><b>White</b>: Item readonly</p>\n","<p><b>Weiss</b>: Eintrag schreibgeschützt</p>\n" }, |
989 | { "<p><b>Dark yellow</b>: Event/todo with attendees.</p>\n","<p><b>Dunkelgelb</b>: Termin/Todo mit Teilnehmern.</p>\n" }, | 989 | { "<p><b>Dark yellow</b>: Event/todo with attendees.</p>\n","<p><b>Dunkelgelb</b>: Termin/Todo mit Teilnehmern.</p>\n" }, |
990 | { "<p><b>Black</b>: Event/todo with attendees. You are the organizer!</p>\n","<p><b>Schwarz</b>: Termin/Todo mit Teilnehmern. Sie sind der Organisator!</p>\n" }, | 990 | { "<p><b>Black</b>: Event/todo with attendees. You are the organizer!</p>\n","<p><b>Schwarz</b>: Termin/Todo mit Teilnehmern. Sie sind der Organisator!</p>\n" }, |
991 | { "<p><b>Dark green</b>: Information(description) available.([i] in WN view)</p>\n","<p><b>Dunkelgrün</b>: Information(Beschreibung) verfügbar.([i] in WN Ansicht)</p>\n" }, | 991 | { "<p><b>Dark green</b>: Information(description) available.([i] in WN view)</p>\n","<p><b>Dunkelgrün</b>: Information(Beschreibung) verfügbar.([i] in WN Ansicht)</p>\n" }, |
992 | { "<p><b>Blue</b>: Recurrent event.([r] in Whats'Next view)</p>\n","<p><b>Blau</b>: Wiederholender Termin.([r] in Whats'Next Ansicht)</p>\n" }, | 992 | { "<p><b>Blue</b>: Recurrent event.([r] in Whats'Next view)</p>\n","<p><b>Blau</b>: Wiederholender Termin.([r] in Whats'Next Ansicht)</p>\n" }, |
993 | { "<p><b>Red</b>: Alarm set.([a] in Whats'Next view)</p>\n","<p><b>Rot</b>: Alarm gesetzt.([a] in Whats'Next Ansicht)</p>\n" }, | 993 | { "<p><b>Red</b>: Alarm set.([a] in Whats'Next view)</p>\n","<p><b>Rot</b>: Alarm gesetzt.([a] in Whats'Next Ansicht)</p>\n" }, |
994 | { "<p><b>Cross</b>: Item cancelled.([c] in Whats'Next view)</p>\n","<p><b>Kreuz</b>: Eintrag gecancelt.([c] in Whats'Next Ansicht)</p>\n" }, | 994 | { "<p><b>Cross</b>: Item cancelled.([c] in Whats'Next view)</p>\n","<p><b>Kreuz</b>: Eintrag gecancelt.([c] in Whats'Next Ansicht)</p>\n" }, |
995 | { "<p><b>(for square icons in agenda and month view)</b></p>\n","<p><b>(für quadratische Icons in Agenda und Monats Ansicht)</b></p>\n" }, | 995 | { "<p><b>(for square icons in agenda and month view)</b></p>\n","<p><b>(für quadratische Icons in Agenda und Monats Ansicht)</b></p>\n" }, |
996 | { "<p><h2>KO/Pi icon colors:</h2></p>\n","<p><h2>KO/Pi Icon Farben:</h2></p>\n" }, | 996 | { "<p><h2>KO/Pi icon colors:</h2></p>\n","<p><h2>KO/Pi Icon Farben:</h2></p>\n" }, |
997 | { "<p><b>E</b>: Edit item</p>\n","<p><b>E</b>: Editiere Eintrag</p>\n" }, | 997 | { "<p><b>E</b>: Edit item</p>\n","<p><b>E</b>: Editiere Eintrag</p>\n" }, |
998 | { "<p><b>A</b>: Show agenda view.</p>\n","<p><b>A</b>: Zeige Agenda Ansicht.</p>\n" }, | 998 | { "<p><b>A</b>: Show agenda view.</p>\n","<p><b>A</b>: Zeige Agenda Ansicht.</p>\n" }, |
999 | { "<p><b>I,C</b>: Close dialog.</p>\n","<p><b>I,C</b>: Schließe Dialog.</p>\n" }, | 999 | { "<p><b>I,C</b>: Close dialog.</p>\n","<p><b>I,C</b>: Schließe Dialog.</p>\n" }, |
1000 | { "<p><h3>In event/todo viewer:</h3></p>\n","<p><h3>In Termin/Todo Detail-Anzeige:</h3></p>\n" }, | 1000 | { "<p><h3>In event/todo viewer:</h3></p>\n","<p><h3>In Termin/Todo Detail-Anzeige:</h3></p>\n" }, |
1001 | { "<p><b>shift+up/down</b>: Goto first/last item</p>\n","<p><b>shift+up/down</b>: Gehe zum ersten/letzten Eintrag</p>\n" }, | 1001 | { "<p><b>shift+up/down</b>: Goto first/last item</p>\n","<p><b>shift+up/down</b>: Gehe zum ersten/letzten Eintrag</p>\n" }, |
1002 | { "<p><b>ctrl+up/down</b>: Goto up/down by 20% of items</p>\n","<p><b>ctrl+up/down</b>: Gehe hoch/runter 20% aller Einträge</p>\n" }, | 1002 | { "<p><b>ctrl+up/down</b>: Goto up/down by 20% of items</p>\n","<p><b>ctrl+up/down</b>: Gehe hoch/runter 20% aller Einträge</p>\n" }, |
1003 | { "<p><b>up/down</b>: Next/prev item</p>\n","<p><b>up/down</b>: Nächster/vorheriger Eintrag</p>\n" }, | 1003 | { "<p><b>up/down</b>: Next/prev item</p>\n","<p><b>up/down</b>: Nächster/vorheriger Eintrag</p>\n" }, |
1004 | { "<p><b>return+shift</b>: Deselect item+one step down</p>\n","<p><b>return+shift</b>: Deselektiere Item+Cursor einen Eintrag runter</p>\n" }, | 1004 | { "<p><b>return+shift</b>: Deselect item+one step down</p>\n","<p><b>return+shift</b>: Deselektiere Item+Cursor einen Eintrag runter</p>\n" }, |
1005 | { "<p><b>return</b>: Select item+one step down</p>\n","<p><b>return</b>: Selektiere Item+Cursor einen Eintrag runter</p>\n" }, | 1005 | { "<p><b>return</b>: Select item+one step down</p>\n","<p><b>return</b>: Selektiere Item+Cursor einen Eintrag runter</p>\n" }, |
1006 | { "<p><b>I</b>: Show info of current item+one step down.</p>\n","<p><b>I</b>: Zeige Detail-Ansicht vom sel.Eintrag+Cursor einen Eintrag runter.</p>\n" }, | 1006 | { "<p><b>I</b>: Show info of current item+one step down.</p>\n","<p><b>I</b>: Zeige Detail-Ansicht vom sel.Eintrag+Cursor einen Eintrag runter.</p>\n" }, |
1007 | { "<p><h3>In list view:</h3></p>\n","<p><h3>In Listen Ansicht:</h3></p>\n" }, | 1007 | { "<p><h3>In list view:</h3></p>\n","<p><h3>In Listen Ansicht:</h3></p>\n" }, |
1008 | { "<p><b>return+shift</b>: Mark item as not completed+one step down</p>\n","<p><b>return+shift</b>: Markiere Todo als nicht erledigt+Cursor einen Eintrag runter</p>\n" }, | 1008 | { "<p><b>return+shift</b>: Mark item as not completed+one step down</p>\n","<p><b>return+shift</b>: Markiere Todo als nicht erledigt+Cursor einen Eintrag runter</p>\n" }, |
1009 | { "<p><b>return</b>: Mark item as completed+one step down.</p>\n","<p><b>return</b>: Markiere Todo als erledigt+Cursor einen Eintrag runter.</p>\n" }, | 1009 | { "<p><b>return</b>: Mark item as completed+one step down.</p>\n","<p><b>return</b>: Markiere Todo als erledigt+Cursor einen Eintrag runter.</p>\n" }, |
1010 | { "<p><b>Q</b>: Toggle quick todo line edit.</p>\n","<p><b>Q</b>: Zeige/verstecke Quick Todo Eingabe Zeile.</p>\n" }, | 1010 | { "<p><b>Q</b>: Toggle quick todo line edit.</p>\n","<p><b>Q</b>: Zeige/verstecke Quick Todo Eingabe Zeile.</p>\n" }, |
1011 | { "<p><b>shift+P</b>: Make new <b>P</b>arent for todo selected with shift+S</p>\n","<p><b>shift+P</b>: Mache Todo zum neuen <b>P</b>arent Todo für das Todo, welches mit shift+Sselektiert wurde.</p>\n" }, | 1011 | { "<p><b>shift+P</b>: Make new <b>P</b>arent for todo selected with shift+S</p>\n","<p><b>shift+P</b>: Mache Todo zum neuen <b>P</b>arent Todo für das Todo, welches mit shift+Sselektiert wurde.</p>\n" }, |
1012 | { "<p><b>shift+S</b>: Make <b>S</b>ubtodo (reparent todo)</p>\n","<p><b>shift+S</b>: Mache Todo zum <b>S</b>ubtodo</p>\n" }, | 1012 | { "<p><b>shift+S</b>: Make <b>S</b>ubtodo (reparent todo)</p>\n","<p><b>shift+S</b>: Mache Todo zum <b>S</b>ubtodo</p>\n" }, |
1013 | { "<p><b>shift+U</b>: <b>U</b>nparent todo (make root todo)</p>\n","<p><b>shift+U</b>: <b>U</b>nparent Todo (Mache Sub-Todo zum Toplevel Todo)</p>\n" }, | 1013 | { "<p><b>shift+U</b>: <b>U</b>nparent todo (make root todo)</p>\n","<p><b>shift+U</b>: <b>U</b>nparent Todo (Mache Sub-Todo zum Toplevel Todo)</p>\n" }, |
1014 | { "<p><h3>In todo view:</h3></p>\n","<p><h3>In Todo Anzige:</h3></p>\n" }, | 1014 | { "<p><h3>In todo view:</h3></p>\n","<p><h3>In Todo Anzige:</h3></p>\n" }, |
1015 | { "<p><b>ctrl+up/down</b>: Scroll small todo view</p>\n","<p><b>ctrl+up/down</b>: Scrolle kleine Todo Ansicht</p>\n" }, | 1015 | { "<p><b>ctrl+up/down</b>: Scroll small todo view</p>\n","<p><b>ctrl+up/down</b>: Scrolle kleine Todo Ansicht</p>\n" }, |
1016 | { "<p><b>up/down</b>: Scroll agenda view</p>\n","<p><b>up/down</b>: Scrolle Agenda Ansicht</p>\n" }, | 1016 | { "<p><b>up/down</b>: Scroll agenda view</p>\n","<p><b>up/down</b>: Scrolle Agenda Ansicht</p>\n" }, |
1017 | { "<p><h3>In agenda view:</h3></p>\n","<p><h3>In Agenda Ansicht:</h3></p>\n" }, | 1017 | { "<p><h3>In agenda view:</h3></p>\n","<p><h3>In Agenda Ansicht:</h3></p>\n" }, |
1018 | { "<p><b>del,backspace</b>: Delete selected item</p>\n","<p><b>del,backspace</b>: Lösche selektiertes Item</p>\n" }, | 1018 | { "<p><b>del,backspace</b>: Delete selected item</p>\n","<p><b>del,backspace</b>: Lösche selektiertes Item</p>\n" }, |
1019 | { "<p><b>left</b>: Prev. week | <b>left+ctrl</b>: Prev. month</p>\n","<p><b>left</b>: Vorh. Woche | <b>left+ctrl</b>: Vorh. Monat</p>\n" }, | 1019 | { "<p><b>left</b>: Prev. week | <b>left+ctrl</b>: Prev. month</p>\n","<p><b>left</b>: Vorh. Woche | <b>left+ctrl</b>: Vorh. Monat</p>\n" }, |
1020 | { "<p><b>right</b>: Next week | <b>right+ctrl</b>: Next month</p>\n","<p><b>right</b>: Nächste Woche | <b>right+ctrl</b>: Nächste Woche</p>\n" }, | 1020 | { "<p><b>right</b>: Next week | <b>right+ctrl</b>: Next month</p>\n","<p><b>right</b>: Nächste Woche | <b>right+ctrl</b>: Nächste Woche</p>\n" }, |
1021 | { "<p><b>B</b>: Edit description (details) of selected item</p>\n","<p><b>B</b>: Editiere Beschreibung (Details) des selektierten Items</p>\n" }, | 1021 | { "<p><b>B</b>: Edit description (details) of selected item</p>\n","<p><b>B</b>: Editiere Beschreibung (Details) des selektierten Items</p>\n" }, |
1022 | { "<p><b>C</b>: Show current time in agenda view</p>\n","<p><b>C</b>: Zeige aktuelle Zeit in Agenda Ansicht</p>\n" }, | 1022 | { "<p><b>C</b>: Show current time in agenda view</p>\n","<p><b>C</b>: Zeige aktuelle Zeit in Agenda Ansicht</p>\n" }, |
1023 | { "<p><b>+,-</b> : Zoom in/out agenda | <b>A</b>: Toggle allday agenda height</p>\n","<p><b>+,-</b> : Zoom rein/raus Agenda | <b>A</b>: Wechsle Ganztag Agenda Höhe</p>\n" }, | 1023 | { "<p><b>+,-</b> : Zoom in/out agenda | <b>A</b>: Toggle allday agenda height</p>\n","<p><b>+,-</b> : Zoom rein/raus Agenda | <b>A</b>: Wechsle Ganztag Agenda Höhe</p>\n" }, |
1024 | { "<p><b>S+ctrl</b>: Add sub-todo | <b>X</b>: Toggle datenavigator</p>\n","<p><b>S+ctrl</b>: Füge Sub-Todo hinzu | <b>X</b>: Zeige/verstecke Datenavigator</p>\n" }, | 1024 | { "<p><b>S+ctrl</b>: Add sub-todo | <b>X</b>: Toggle datenavigator</p>\n","<p><b>S+ctrl</b>: Füge Sub-Todo hinzu | <b>X</b>: Zeige/verstecke Datenavigator</p>\n" }, |
1025 | { "<p><b>T</b>: Goto today | <b>T+ctrl</b>: New Todo</p>\n","<p><b>T</b>: Gehe zu Heute | <b>T+ctrl</b>: Neues Todo</p>\n" }, | 1025 | { "<p><b>T</b>: Goto today | <b>T+ctrl</b>: New Todo</p>\n","<p><b>T</b>: Gehe zu Heute | <b>T+ctrl</b>: Neues Todo</p>\n" }, |
1026 | { "<p><b>E</b>: Edit selected item |<b> E+ctrl</b>: New Event</p>\n","<p><b>E</b>: Editiere selektiertes Item |<b> E+ctrl</b>: Neuer Termin</p>\n" }, | 1026 | { "<p><b>E</b>: Edit selected item |<b> E+ctrl</b>: New Event</p>\n","<p><b>E</b>: Editiere selektiertes Item |<b> E+ctrl</b>: Neuer Termin</p>\n" }, |
1027 | { "<p><b>D</b>: One day view | <b>M</b>: Month view</p>\n","<p><b>D</b>: Ein-Tages Ansicht | <b>M</b>: Monats Ansicht</p>\n" }, | 1027 | { "<p><b>D</b>: One day view | <b>M</b>: Month view</p>\n","<p><b>D</b>: Ein-Tages Ansicht | <b>M</b>: Monats Ansicht</p>\n" }, |
1028 | { "<p><b>Z,Y</b>: Work week view | <b>U</b>: Week view</p>\n","<p><b>Z,Y</b>: Arbeitswochen Ansicht | <b>U</b>: Wochen Ansicht</p>\n" }, | 1028 | { "<p><b>Z,Y</b>: Work week view | <b>U</b>: Week view</p>\n","<p><b>Z,Y</b>: Arbeitswochen Ansicht | <b>U</b>: Wochen Ansicht</p>\n" }, |
1029 | { "<p><b>V</b>: Todo view | <b>L</b>: Event list view</p>\n","<p><b>V</b>: Todo Ansicht | <b>L</b>: Termin Listen Ansicht</p>\n" }, | 1029 | { "<p><b>V</b>: Todo view | <b>L</b>: Event list view</p>\n","<p><b>V</b>: Todo Ansicht | <b>L</b>: Termin Listen Ansicht</p>\n" }, |
1030 | { "<p><b>N</b>: Next days view| <b>W</b>: What's next view\n ","<p><b>N</b>: Nächste-Tage Ansicht days view| <b>W</b>: What's next Ansicht\n " }, | 1030 | { "<p><b>N</b>: Next days view| <b>W</b>: What's next view\n ","<p><b>N</b>: Nächste-Tage Ansicht days view| <b>W</b>: What's next Ansicht\n " }, |
1031 | { "<p><b>1-0</b> (+<b>ctrl</b>): Select filter 1-10 (11-20)</p>\n","<p><b>1-0</b> (+<b>ctrl</b>): Selektiere Filter 1-10 (11-20)</p>\n" }, | 1031 | { "<p><b>1-0</b> (+<b>ctrl</b>): Select filter 1-10 (11-20)</p>\n","<p><b>1-0</b> (+<b>ctrl</b>): Selektiere Filter 1-10 (11-20)</p>\n" }, |
1032 | { "<p><b>O</b>: Filter On/Off | <b>J</b>: Journal view</p>\n","<p><b>O</b>: Filter An/Aus | <b>J</b>: Journal Ansicht</p>\n" }, | 1032 | { "<p><b>O</b>: Filter On/Off | <b>J</b>: Journal view</p>\n","<p><b>O</b>: Filter An/Aus | <b>J</b>: Journal Ansicht</p>\n" }, |
1033 | { "<p><b>F</b>: Toggle filterview |<b>F+ctrl</b>: Edit filter </p>\n","<p><b>F</b>: Zeige/verstecke Filter Ansicht |<b>F+ctrl</b>: Editiere Filter </p>\n" }, | 1033 | { "<p><b>F</b>: Toggle filterview |<b>F+ctrl</b>: Edit filter </p>\n","<p><b>F</b>: Zeige/verstecke Filter Ansicht |<b>F+ctrl</b>: Editiere Filter </p>\n" }, |
1034 | { "<p><b>Space</b>: Toggle fullscreen | <b>P</b>: Date picker</p>\n","<p><b>Space</b>: Zeige fullscreen | <b>P</b>: Datums Picker</p>\n" }, | 1034 | { "<p><b>Space</b>: Toggle fullscreen | <b>P</b>: Date picker</p>\n","<p><b>Space</b>: Zeige fullscreen | <b>P</b>: Datums Picker</p>\n" }, |
1035 | { "<p><b>I</b>: Show info for selected event/todo</p>\n","<p><b>I</b>: Zeige Info (Details) für selektiertes Item</p>\n" }, | 1035 | { "<p><b>I</b>: Show info for selected event/todo</p>\n","<p><b>I</b>: Zeige Info (Details) für selektiertes Item</p>\n" }, |
1036 | { "<p><b>H</b>: This help dialog | <b>S</b>: Search dialog</p>\n","<p><b>H</b>: Dieser Hilfe Dialog | <b>S</b>: Such Dialog</p>\n" }, | 1036 | { "<p><b>H</b>: This help dialog | <b>S</b>: Search dialog</p>\n","<p><b>H</b>: Dieser Hilfe Dialog | <b>S</b>: Such Dialog</p>\n" }, |
1037 | { "<p><h2>KO/Pi key shortcuts:</h2></p>\n","<p><h2>KO/Pi Tastatur Kurzbefehle:</h2></p>\n" }, | 1037 | { "<p><h2>KO/Pi key shortcuts:</h2></p>\n","<p><h2>KO/Pi Tastatur Kurzbefehle:</h2></p>\n" }, |
1038 | { "After changing something, the data is\nautomatically saved to the file\n~/kdepim/apps/korganizer/mycalendar.ics\nafter (configurable) three minutes.\nFor safety reasons there is one autosaving\nafter 10 minutes (of idle time) again. The \ndata is saved automatically when closing KO/Pi\nYou can create a backup file \nwith: File - Save Calendar Backup\n","Nachdem etwas geändert wurde, werden die\nDaten automatisch in die Datei abgespeichert\n~/kdepim/apps/korganizer/mycalendar.ics\nnach (konfigurierbar) drei Minuten.\nAus Sicherheitsgründen wird noch einmal\nnach 10 Min. abgespeichert, wenn keine\nÄnderungen vorgenommen wurden. Die \nDaten werden automatisch gespeichert,\nwenn KO/Pi beendet wird.\nSie können eine Backup-Datei erstellen im\nMenu: Datei - Speichere Kalender Backup\n" }, | 1038 | { "After changing something, the data is\nautomatically saved to the file\n~/kdepim/apps/korganizer/mycalendar.ics\nafter (configurable) three minutes.\nFor safety reasons there is one autosaving\nafter 10 minutes (of idle time) again. The \ndata is saved automatically when closing KO/Pi\nYou can create a backup file \nwith: File - Save Calendar Backup\n","Nachdem etwas geändert wurde, werden die\nDaten automatisch in die Datei abgespeichert\n~/kdepim/apps/korganizer/mycalendar.ics\nnach (konfigurierbar) drei Minuten.\nAus Sicherheitsgründen wird noch einmal\nnach 10 Min. abgespeichert, wenn keine\nÄnderungen vorgenommen wurden. Die \nDaten werden automatisch gespeichert,\nwenn KO/Pi beendet wird.\nSie können eine Backup-Datei erstellen im\nMenu: Datei - Speichere Kalender Backup\n" }, |
1039 | { "Auto Saving in KOrganizer/Pi","Auto Speichern in KOrganizer/Pi" }, | 1039 | { "Auto Saving in KOrganizer/Pi","Auto Speichern in KOrganizer/Pi" }, |
1040 | { "\nhttp://sourceforge.net/projects/kdepimpi\n","\nhttp://sourceforge.net/projects/kdepimpi\n" }, | 1040 | { "\nhttp://sourceforge.net/projects/kdepimpi\n","\nhttp://sourceforge.net/projects/kdepimpi\n" }, |
1041 | { "\nor report them in the bugtracker on\n","\noder trage sie in dem Bugtracker ein auf\n" }, | 1041 | { "\nor report them in the bugtracker on\n","\noder trage sie in dem Bugtracker ein auf\n" }, |
1042 | { "\nPlease report unexpected behaviour to\nlutz@pi-sync.net\n","\nBitte melde fehlerhaftes Verhalten an\nlutz@pi-sync.net\n" }, | 1042 | { "\nPlease report unexpected behaviour to\nlutz@pi-sync.net\n","\nBitte melde fehlerhaftes Verhalten an\nlutz@pi-sync.net\n" }, |
1043 | { "2) Audio alarm daemon\nfor Zaurus is available!\nas an additional small application\n","2) Ein Audio Alarm Daemon\nfür den Zaurus ist verfügbar\nals zusätzliche Anwendung\n" }, | 1043 | { "2) Audio alarm daemon\nfor Zaurus is available!\nas an additional small application\n","2) Ein Audio Alarm Daemon\nfür den Zaurus ist verfügbar\nals zusätzliche Anwendung\n" }, |
1044 | { "1) Importing *.vcs or *.ics files from\nother applications may not work properly,\nif there are events with properties\nKO/Pi does not support.\n","1) Importieren von *.vcs oder *.ics Dateien von\nanderen Anwendungen kann möglicherweise\n nicht richtig funktionieren,\nwenn die Termine Eigenschaften haben,\ndie KO/Pi nicht unterstützt.\n" }, | 1044 | { "1) Importing *.vcs or *.ics files from\nother applications may not work properly,\nif there are events with properties\nKO/Pi does not support.\n","1) Importieren von *.vcs oder *.ics Dateien von\nanderen Anwendungen kann möglicherweise\n nicht richtig funktionieren,\nwenn die Termine Eigenschaften haben,\ndie KO/Pi nicht unterstützt.\n" }, |
1045 | { "Known Problems in KOrganizer/Pi","Bekannte Probleme in KOrganizer/Pi" }, | 1045 | { "Known Problems in KOrganizer/Pi","Bekannte Probleme in KOrganizer/Pi" }, |
1046 | { "KO/Pi FAQ","KO/Pi FAQ" }, | 1046 | { "KO/Pi FAQ","KO/Pi FAQ" }, |
1047 | { "(c) 2004 Lutz Rogowski\nEmail:lutz@pi-sync.net\nKO/Pi is based on KOrganizer\n(c) 2002,2003 Cornelius Schumacher\nEmail: schumacher@kde.org\nKOrganizer/Pi is licensed\nunder the GPL.\nKO/Pi can be compiled for\nLinux, Zaurus-PDA and Windows\nwww.korganizer.org\nwww.pi-sync.net\n","(c) 2004 Lutz Rogowski\nEmail:lutz@pi-sync.net\nKO/Pi basiert auf KOrganizer\n(c) 2002,2003 Cornelius Schumacher\nEmail: schumacher@kde.org\nKOrganizer/Pi ist lizensiert unter der GPL.\nKO/Pi kann kompiliert werden für\nLinux, Zaurus-PDA und Windows\nwww.korganizer.org\nwww.pi-sync.net\n" }, | 1047 | { "(c) 2004 Lutz Rogowski\nEmail:lutz@pi-sync.net\nKO/Pi is based on KOrganizer\n(c) 2002,2003 Cornelius Schumacher\nEmail: schumacher@kde.org\nKOrganizer/Pi is licensed\nunder the GPL.\nKO/Pi can be compiled for\nLinux, Zaurus-PDA and Windows\nwww.korganizer.org\nwww.pi-sync.net\n","(c) 2004 Lutz Rogowski\nEmail:lutz@pi-sync.net\nKO/Pi basiert auf KOrganizer\n(c) 2002,2003 Cornelius Schumacher\nEmail: schumacher@kde.org\nKOrganizer/Pi ist lizensiert unter der GPL.\nKO/Pi kann kompiliert werden für\nLinux, Zaurus-PDA und Windows\nwww.korganizer.org\nwww.pi-sync.net\n" }, |
1048 | { "PDA-Edition\nfor: Zaurus 5x00 / 7x0 / 8x0\n","PDA-Edition\nfür: Zaurus 5x00 / 7x0 / 8x0\n" }, | 1048 | { "PDA-Edition\nfor: Zaurus 5x00 / 7x0 / 8x0\n","PDA-Edition\nfür: Zaurus 5x00 / 7x0 / 8x0\n" }, |
1049 | { "KOrganizer/Platform-independent\n","KOrganizer/Platform-independent\n" }, | 1049 | { "KOrganizer/Platform-independent\n","KOrganizer/Platform-independent\n" }, |
1050 | { "About KOrganizer/Pi","Über KOrganizer/Pi" }, | 1050 | { "About KOrganizer/Pi","Über KOrganizer/Pi" }, |
1051 | { "From: ","Von: " }, | 1051 | { "From: ","Von: " }, |
1052 | { "Remove sync info","Entferne Sync Info" }, | 1052 | { "Remove sync info","Entferne Sync Info" }, |
1053 | { "For all profiles","Für alle Profile" }, | 1053 | { "For all profiles","Für alle Profile" }, |
1054 | { "Hide not Running","Verstecke nicht Laufende" }, | 1054 | { "Hide not Running","Verstecke nicht Laufende" }, |
1055 | { "ME","ME" }, | 1055 | { "ME","ME" }, |
1056 | { "Toolbar","Toolbar" }, | 1056 | { "Toolbar","Toolbar" }, |
1057 | { "Undo Delete...","Löschen rückgängig machen..." }, | 1057 | { "Undo Delete...","Löschen rückgängig machen..." }, |
1058 | { "Undo Delete","Löschen rückgängig machen" }, | 1058 | { "Undo Delete","Löschen rückgängig machen" }, |
1059 | { "KDE Sync HowTo...","KDE Sync HowTo..." }, | 1059 | { "KDE Sync HowTo...","KDE Sync HowTo..." }, |
1060 | { "Multi Sync HowTo...","Multi Sync HowTo..." }, | 1060 | { "Multi Sync HowTo...","Multi Sync HowTo..." }, |
1061 | { "Januar","Januar" }, | 1061 | { "Januar","Januar" }, |
1062 | { "KO/Pi Keys + Colors","KO/Pi Tasten + Farben" }, | 1062 | { "KO/Pi Keys + Colors","KO/Pi Tasten + Farben" }, |
1063 | { "No Filter","Kein Filter" }, | 1063 | { "No Filter","Kein Filter" }, |
1064 | { "Multiple Sync options","Multi Sync Optionen" }, | 1064 | { "Multiple Sync options","Multi Sync Optionen" }, |
1065 | { "Sync algo options","Sync Ablauf Optionen" }, | 1065 | { "Sync algo options","Sync Ablauf Optionen" }, |
1066 | { "Apply filter when adding data to local:","Filter für das Hinzufügen von Daten zu Lokal:" }, | 1066 | { "Apply filter when adding data to local:","Filter für das Hinzufügen von Daten zu Lokal:" }, |
1067 | { "Incoming calendar filter:","Eingehender Kalender Filter:" }, | 1067 | { "Incoming calendar filter:","Eingehender Kalender Filter:" }, |
1068 | { "Incoming addressbook filter:","Eingehender Adressbuch Filter:" }, | 1068 | { "Incoming addressbook filter:","Eingehender Adressbuch Filter:" }, |
1069 | { "Write back options","Optionen zum Zurückschreiben" }, | 1069 | { "Write back options","Optionen zum Zurückschreiben" }, |
1070 | { "Write back (on remote) existing entries only","Schreibe nur existierende (auf Entfernt) Einträge zurück" }, | 1070 | { "Write back (on remote) existing entries only","Schreibe nur existierende (auf Entfernt) Einträge zurück" }, |
1071 | { "Apply filter when adding data to remote:","Filter für das Hinzufügen von Daten zu Entfernt:" }, | 1071 | { "Apply filter when adding data to remote:","Filter für das Hinzufügen von Daten zu Entfernt:" }, |
1072 | { "Outgoing calendar filter:","Ausgehender Kalender Filter:" }, | 1072 | { "Outgoing calendar filter:","Ausgehender Kalender Filter:" }, |
1073 | { "Outgoing addressbook filter:","Ausgehender Adressbuch Filter:" }, | 1073 | { "Outgoing addressbook filter:","Ausgehender Adressbuch Filter:" }, |
1074 | { "Write back (calendar) entries for time period only","Schreibe nur Kalender Einträge für Zeitspanne zurück" }, | 1074 | { "Write back (calendar) entries for time period only","Schreibe nur Kalender Einträge für Zeitspanne zurück" }, |
1075 | { "Time period","Zeitspanne" }, | 1075 | { "Time period","Zeitspanne" }, |
1076 | { "From ","Von " }, | 1076 | { "From ","Von " }, |
1077 | { " weeks in the past to "," Wochen in der Vergangenheit bis zu " }, | 1077 | { " weeks in the past to "," Wochen in der Vergangenheit bis zu " }, |
1078 | { " weeks in the future "," Wochen in der Zukunft " }, | 1078 | { " weeks in the future "," Wochen in der Zukunft " }, |
1079 | { "Profile kind specific settings","Profil Art abhängige Einstellungen" }, | 1079 | { "Profile kind specific settings","Profil Art abhängige Einstellungen" }, |
1080 | { "Local temp file:","Lokale temp Datei:" }, | 1080 | { "Local temp file:","Lokale temp Datei:" }, |
1081 | { "Multiple profiles with same name!\nPlease use unique profile names!","Mehrere Profile mit demselben Namen!\nBitte verschiedene Namen benutzen!" }, | 1081 | { "Multiple profiles with same name!\nPlease use unique profile names!","Mehrere Profile mit demselben Namen!\nBitte verschiedene Namen benutzen!" }, |
1082 | { "Aborted! Nothing synced!","Abgebrochen! Nichts wurde gesynct!" }, | 1082 | { "Aborted! Nothing synced!","Abgebrochen! Nichts wurde gesynct!" }, |
1083 | { "Language","Sprache" }, | 1083 | { "Language","Sprache" }, |
1084 | { "Time Format","Zeit Format" }, | 1084 | { "Time Format","Zeit Format" }, |
1085 | { "Time Zone","Zeit Zone" }, | 1085 | { "Time Zone","Zeit Zone" }, |
1086 | { "%1 groups subscribed","%1 Guppen abboniert" }, | 1086 | { "%1 groups subscribed","%1 Guppen abboniert" }, |
1087 | { "Your current storage dir is:\n%1\nYour mail is stored in:\n(storagedir)/apps/kopiemail/localmail","Aktuelles Speicherverzeichnis ist:\n%1\nIhre Mail wird gespeichert in:\n(speicherverz.)/apps/kopiemail/localmail" }, | 1087 | { "Your current storage dir is:\n%1\nYour mail is stored in:\n(storagedir)/apps/kopiemail/localmail","Aktuelles Speicherverzeichnis ist:\n%1\nIhre Mail wird gespeichert in:\n(speicherverz.)/apps/kopiemail/localmail" }, |
1088 | { "<b>New data storage dir:</b>","<b>Neues Datenspeicherverzeichnis:</b>" }, | 1088 | { "<b>New data storage dir:</b>","<b>Neues Datenspeicherverzeichnis:</b>" }, |
1089 | { "New dirs are created automatically","Neue Verzeichnisse werden aut. erstellt" }, | 1089 | { "New dirs are created automatically","Neue Verzeichnisse werden aut. erstellt" }, |
1090 | { "Save settings","Speichere Einstellungen" }, | 1090 | { "Save settings","Speichere Einstellungen" }, |
1091 | { "Save standard","Speichere Standard" }, | 1091 | { "Save standard","Speichere Standard" }, |
1092 | { "<b>New settings are used\nafter a restart</b>","<b>Neue Einstellungen werden nach\neinem Neustart genutzt</b>" }, | 1092 | { "<b>New settings are used\nafter a restart</b>","<b>Neue Einstellungen werden nach\neinem Neustart genutzt</b>" }, |
1093 | { "Settings are stored in\n%1","Einstellungen werden gespeichert in:\n%1" }, | 1093 | { "Settings are stored in\n%1","Einstellungen werden gespeichert in:\n%1" }, |
1094 | { "Data storage path","Daten Speicherpfad" }, | 1094 | { "Data storage path","Daten Speicherpfad" }, |
1095 | { "Language","Sprache" }, | 1095 | { "Language","Sprache" }, |
1096 | { "Show time in agenda items","Zeige Zeit in Agenda Items" }, | 1096 | { "Show time in agenda items","Zeige Zeit in Agenda Items" }, |
1097 | { "Color for Sundays + category "Holiday"","Farbe für Sonntags + Kategorie "Feiertag"" }, | 1097 | { "Color for Sundays + category "Holiday"","Farbe für Sonntags + Kategorie "Feiertag"" }, |
1098 | { "Show events, that are done in \nWhat's Next view","Zeige abgelaufene Termine in\nWhat's Next Ansicht" }, | 1098 | { "Show events, that are done in \nWhat's Next view","Zeige abgelaufene Termine in\nWhat's Next Ansicht" }, |
1099 | { "Hide not running Todos in To-do view","Verstecke nicht laufende Todos" }, | 1099 | { "Hide not running Todos in To-do view","Verstecke nicht laufende Todos" }, |
1100 | { "+01:00 Europe/Oslo(CET)","+01:00 Europe/Oslo(CET)" }, | 1100 | { "+01:00 Europe/Oslo(CET)","+01:00 Europe/Oslo(CET)" }, |
1101 | { "KO/Pi","KO/Pi" }, | 1101 | { "KO/Pi","KO/Pi" }, |
1102 | { "There is nothing to undo!","Es gibt nichts zum\nRückgängigmachen!" }, | 1102 | { "There is nothing to undo!","Es gibt nichts zum\nRückgängigmachen!" }, |
1103 | { "Recreating edit dialog. Please wait...","Recreating edit dialog. Please wait..." }, | 1103 | { "Recreating edit dialog. Please wait...","Recreating edit dialog. Please wait..." }, |
1104 | { "Sound.Al.: ","Sound.Al.: " }, | 1104 | { "Sound.Al.: ","Sound.Al.: " }, |
1105 | { "From: %1 To: %2 %3","Von: %1 Bis: %2 %3" }, | 1105 | { "From: %1 To: %2 %3","Von: %1 Bis: %2 %3" }, |
1106 | { "Restore","Wiederherstellen" }, | 1106 | { "Restore","Wiederherstellen" }, |
1107 | { "\nAre you sure you want\nto restore this?","\nMöchten Sie das wirklicht\nwiederherstellen?" }, | 1107 | { "\nAre you sure you want\nto restore this?","\nMöchten Sie das wirklicht\nwiederherstellen?" }, |
1108 | { "% completed","% komplett" }, | 1108 | { "% completed","% komplett" }, |
1109 | { "%d item(s) found.","%d Item(s) gefunden." }, | 1109 | { "%d item(s) found.","%d Item(s) gefunden." }, |
1110 | { "Set complete","Setze auf erledigt" }, | 1110 | { "Set complete","Setze auf erledigt" }, |
1111 | { "(cancelled)","(gecancelt)" }, | 1111 | { "(cancelled)","(gecancelt)" }, |
1112 | { "Click on the week number to\nshow week in agenda view","Klicke auf die Wochennummer\num die Woche in der Agenda anzuzeigen" }, | 1112 | { "Click on the week number to\nshow week in agenda view","Klicke auf die Wochennummer\num die Woche in der Agenda anzuzeigen" }, |
1113 | { " Local time "," Locale Zeit " }, | 1113 | { " Local time "," Locale Zeit " }, |
1114 | { "Form2","Form2" }, | 1114 | { "Form2","Form2" }, |
1115 | { "Filter enabled","Filter angeschaltet" }, | 1115 | { "Filter enabled","Filter angeschaltet" }, |
1116 | { "Edit Filters","Ändere Filter" }, | 1116 | { "Edit Filters","Ändere Filter" }, |
1117 | { "Print What's Next View...","Drucke What's Next Ansicht..." }, | 1117 | { "Print What's Next View...","Drucke What's Next Ansicht..." }, |
1118 | { "Agenda","Agenda" }, | 1118 | { "Agenda","Agenda" }, |
1119 | { " ("," (" }, | 1119 | { " ("," (" }, |
1120 | { "<p><b>Due on:</b> %1</p>","<p><b>Fällig am:</b> %1</p>" }, | 1120 | { "<p><b>Due on:</b> %1</p>","<p><b>Fällig am:</b> %1</p>" }, |
1121 | { "Print","Print" }, | 1121 | { "Print","Print" }, |
1122 | { "&Setup Printer...","Drucker &Setup..." }, | 1122 | { "&Setup Printer...","Drucker &Setup..." }, |
1123 | { "View Type","Zeige Typ" }, | 1123 | { "View Type","Zeige Typ" }, |
1124 | { "Page &orientation:","Seiten Ausrichtung:" }, | 1124 | { "Page &orientation:","Seiten Ausrichtung:" }, |
1125 | { "Use Default of Selected Style","Default des selektierten Stils" }, | 1125 | { "Use Default of Selected Style","Default des selektierten Stils" }, |
1126 | { "Use Default Setting of Printer","Default Einstellung des Druckers" }, | 1126 | { "Use Default Setting of Printer","Default Einstellung des Druckers" }, |
1127 | { "Portrait","Portrait" }, | 1127 | { "Portrait","Portrait" }, |
1128 | { "Landscape","Landschaft" }, | 1128 | { "Landscape","Landschaft" }, |
1129 | { "Print day","Drucke Tag" }, | 1129 | { "Print day","Drucke Tag" }, |
1130 | { "CalPrintDay_Base","CalPrintDay_Base" }, | 1130 | { "CalPrintDay_Base","CalPrintDay_Base" }, |
1131 | { "Date && Time Range","Datum && Zeitspanne" }, | 1131 | { "Date && Time Range","Datum && Zeitspanne" }, |
1132 | { "&End date:","&Enddatum:" }, | 1132 | { "&End date:","&Enddatum:" }, |
1133 | { "&Start date:","&Startdatum:" }, | 1133 | { "&Start date:","&Startdatum:" }, |
1134 | { "Start &time:","Startzeit:" }, | 1134 | { "Start &time:","Startzeit:" }, |
1135 | { "End ti&me:","Endzeit:" }, | 1135 | { "End ti&me:","Endzeit:" }, |
1136 | { "E&xtend time range to include all events","Erweitere Zeitspanne um alle Termine einzuschliessen" }, | 1136 | { "E&xtend time range to include all events","Erweitere Zeitspanne um alle Termine einzuschliessen" }, |
1137 | { "Include to&dos that are due on the printed day(s)","Inclusive To&dos, die an den selektierten Tagen fällig sind" }, | 1137 | { "Include to&dos that are due on the printed day(s)","Inclusive To&dos, die an den selektierten Tagen fällig sind" }, |
1138 | { "Alt+D","Alt+D" }, | 1138 | { "Alt+D","Alt+D" }, |
1139 | { "&Use colors","Nutze Farben" }, | 1139 | { "&Use colors","Nutze Farben" }, |
1140 | { "Alt+U","Alt+U" }, | 1140 | { "Alt+U","Alt+U" }, |
1141 | { "Print week","Drucke Woche" }, | 1141 | { "Print week","Drucke Woche" }, |
1142 | { "CalPrintWeek_Base","CalPrintWeek_Base" }, | 1142 | { "CalPrintWeek_Base","CalPrintWeek_Base" }, |
1143 | { "Use &colors","Nutze Farben" }, | 1143 | { "Use &colors","Nutze Farben" }, |
1144 | { "Type of View","Typ der Ansicht" }, | 1144 | { "Type of View","Typ der Ansicht" }, |
1145 | { "Print as &Filofax page","Drucke als &Filofax Seite" }, | 1145 | { "Print as &Filofax page","Drucke als &Filofax Seite" }, |
1146 | { "Alt+F","Alt+F" }, | 1146 | { "Alt+F","Alt+F" }, |
1147 | { "Print as &timetable view:","Drucke als Zeittabelle:" }, | 1147 | { "Print as &timetable view:","Drucke als Zeittabelle:" }, |
1148 | { "Alt+T","Alt+T" }, | 1148 | { "Alt+T","Alt+T" }, |
1149 | { "Print as split week view","Drucke als gesplittete Wochenansicht" }, | 1149 | { "Print as split week view","Drucke als gesplittete Wochenansicht" }, |
1150 | { "Print month","Drucke Monat" }, | 1150 | { "Print month","Drucke Monat" }, |
1151 | { "CalPrintMonth_Base","CalPrintMonth_Base" }, | 1151 | { "CalPrintMonth_Base","CalPrintMonth_Base" }, |
1152 | { "&Start month:","&Startmonat:" }, | 1152 | { "&Start month:","&Startmonat:" }, |
1153 | { "&End month:","&Endmonat:" }, | 1153 | { "&End month:","&Endmonat:" }, |
1154 | { "Print week &numbers","Drucke Wochen Nummer(n)" }, | 1154 | { "Print week &numbers","Drucke Wochen Nummer(n)" }, |
1155 | { "Print todos","Drucke Todos" }, | 1155 | { "Print todos","Drucke Todos" }, |
1156 | { "CalPrintTodoConfig_Base","CalPrintTodoConfig_Base" }, | 1156 | { "CalPrintTodoConfig_Base","CalPrintTodoConfig_Base" }, |
1157 | { "Include &description of the item","Inclusive Itembeschreibung" }, | 1157 | { "Include &description of the item","Inclusive Itembeschreibung" }, |
1158 | { "Include d&ue date of the item","Inclusive Fälligkeitsdatum des Items" }, | 1158 | { "Include d&ue date of the item","Inclusive Fälligkeitsdatum des Items" }, |
1159 | { "Include &priority of the item","Inclusive Priorität des Items" }, | 1159 | { "Include &priority of the item","Inclusive Priorität des Items" }, |
1160 | { "Items to Print","Zu druckende Items" }, | 1160 | { "Items to Print","Zu druckende Items" }, |
1161 | { "&From:","Von:" }, | 1161 | { "&From:","Von:" }, |
1162 | { "&To:","Bis:" }, | 1162 | { "&To:","Bis:" }, |
1163 | { "Print &all todo items","Drucke alle Todo Items" }, | 1163 | { "Print &all todo items","Drucke alle Todo Items" }, |
1164 | { "Print only &uncompleted items","Drucke nur nicht erledigte Todos" }, | 1164 | { "Print only &uncompleted items","Drucke nur nicht erledigte Todos" }, |
1165 | { "Only items due in the &range:","Nur Items in dem Zeitraum:" }, | 1165 | { "Only items due in the &range:","Nur Items in dem Zeitraum:" }, |
1166 | { "Todo List","Todo Liste" }, | 1166 | { "Todo List","Todo Liste" }, |
1167 | { "&Title:","&Titel:" }, | 1167 | { "&Title:","&Titel:" }, |
1168 | { "Co&nnect subtodos with its parent","Verbinde Unter-Todos mit ihren Ober-Todos" }, | 1168 | { "Co&nnect subtodos with its parent","Verbinde Unter-Todos mit ihren Ober-Todos" }, |
1169 | { "Todo list","Todo Liste" }, | 1169 | { "Todo list","Todo Liste" }, |
1170 | { "&Print...","Drucke..." }, | 1170 | { "&Print...","Drucke..." }, |
1171 | { "<qt>Printing on printer <b>%1</b></qt>","<qt>Drucke auf Drucker <b>%1</b></qt>" }, | 1171 | { "<qt>Printing on printer <b>%1</b></qt>","<qt>Drucke auf Drucker <b>%1</b></qt>" }, |
1172 | { "[Unconfigured]","[Unkonfiguriert]" }, | 1172 | { "[Unconfigured]","[Unkonfiguriert]" }, |
1173 | { "OK","OK" }, | 1173 | { "OK","OK" }, |
1174 | { "FilterEditor","FilterEditor" }, | 1174 | { "FilterEditor","FilterEditor" }, |
1175 | { "Include","Inclusive" }, | 1175 | { "Include","Inclusive" }, |
1176 | { "Exclude","Exclusive" }, | 1176 | { "Exclude","Exclusive" }, |
1177 | { "Edit Selection...","Editiere Auswahl" }, | 1177 | { "Edit Selection...","Editiere Auswahl" }, |
1178 | { "recurring events","wiederholende Termine" }, | 1178 | { "recurring events","wiederholende Termine" }, |
1179 | { "recurr. events","wiederh.Termine" }, | 1179 | { "recurr. events","wiederh.Termine" }, |
1180 | { "completed to-dos","erledigte Todos" }, | 1180 | { "completed to-dos","erledigte Todos" }, |
1181 | { "events","Termine" }, | 1181 | { "events","Termine" }, |
1182 | { "todos","Todos" }, | 1182 | { "todos","Todos" }, |
1183 | { "journals","Journale" }, | 1183 | { "journals","Journale" }, |
1184 | { "public","öffentl." }, | 1184 | { "public","öffentl." }, |
1185 | { "private","privat" }, | 1185 | { "private","privat" }, |
1186 | { "confidential","vertraul." }, | 1186 | { "confidential","vertraul." }, |
1187 | { "\nhas sub-todos.\nAll completed sub-todos\nwill be deleted as well!","\nhat Unter-Todos.\nAlle erledigten Unter-Todos\nwerden auch gelöscht!" }, | 1187 | { "\nhas sub-todos.\nAll completed sub-todos\nwill be deleted as well!","\nhat Unter-Todos.\nAlle erledigten Unter-Todos\nwerden auch gelöscht!" }, |
1188 | { "Yesterday","Gestern" }, | 1188 | { "Yesterday","Gestern" }, |
1189 | { "Day after tomorrow","Übermorgen" }, | 1189 | { "Day after tomorrow","Übermorgen" }, |
1190 | { "Tomorrow","Morgen" }, | 1190 | { "Tomorrow","Morgen" }, |
1191 | { "Day before yesterday","Vorgestern" }, | 1191 | { "Day before yesterday","Vorgestern" }, |
1192 | { "Size %1","Größe %1" }, | 1192 | { "Size %1","Größe %1" }, |
1193 | { "New Agendasize: %1","Neue Agendagröße: %1" }, | 1193 | { "New Agendasize: %1","Neue Agendagröße: %1" }, |
1194 | { " (%1 y.)"," (%1 J.)" }, | 1194 | { " (%1 y.)"," (%1 J.)" }, |
1195 | { "Allday:","Ganztägig:" }, | 1195 | { "Allday:","Ganztägig:" }, |
1196 | { "compl.todos","erled.Todos" }, | 1196 | { "compl.todos","erled.Todos" }, |
1197 | { "Day view","Tagesansicht" }, | 1197 | { "Day view","Tagesansicht" }, |
1198 | { "Next days","Nächste Tage" }, | 1198 | { "Next days","Nächste Tage" }, |
1199 | { "Next week","Nächste Woche" }, | 1199 | { "Next week","Nächste Woche" }, |
1200 | { "Next two weeks","Nächste zwei Wochen" }, | 1200 | { "Next two weeks","Nächste zwei Wochen" }, |
1201 | { "Next month","Nächster Monat" }, | 1201 | { "Next month","Nächster Monat" }, |
1202 | { "Journal view","Journal" }, | 1202 | { "Journal view","Journal" }, |
1203 | { "Display all opened","Zeige alle geöffnet" }, | 1203 | { "Display all opened","Zeige alle geöffnet" }, |
1204 | { "Display all closed","Zeige alle geschlossen" }, | 1204 | { "Display all closed","Zeige alle geschlossen" }, |
1205 | { "Display all flat","Zeige alle flach" }, | 1205 | { "Display all flat","Zeige alle flach" }, |
1206 | { "<p><i>Completed on %1</i></p>","<p><i>Erledigt am %1</i></p>" }, | 1206 | { "<p><i>Completed on %1</i></p>","<p><i>Erledigt am %1</i></p>" }, |
1207 | { "Default todo done color:","Standard Todo erledigt Farbe" }, | 1207 | { "Default todo done color:","Standard Todo erledigt Farbe" }, |
1208 | { "Select week %1-%2","Wähle Woche %1-%2" }, | 1208 | { "Select week %1-%2","Wähle Woche %1-%2" }, |
1209 | { "Select Week","Wähle Woche" }, | 1209 | { "Select Week","Wähle Woche" }, |
1210 | { "Set alarm for selected...","Setze Alarm für Selekt..." }, | 1210 | { "Set alarm for selected...","Setze Alarm für Selekt..." }, |
1211 | { "Set Alarm!","Setze Alarm!" }, | 1211 | { "Set Alarm!","Setze Alarm!" }, |
1212 | { "Canged alarm for %1 items","Alarm für %1 Items geändert" }, | 1212 | { "Canged alarm for %1 items","Alarm für %1 Items geändert" }, |
1213 | { " and "," und " }, | 1213 | { " and "," und " }, |
1214 | { "<IMG src="%1"> only )","nur <IMG src="%1"> )" }, | 1214 | { "<IMG src="%1"> only )","nur <IMG src="%1"> )" }, |
1215 | { "Mail to selected","Mail an Ausgewählte" }, | 1215 | { "Mail to selected","Mail an Ausgewählte" }, |
1216 | { "Mail to all","Mail an Alle" }, | 1216 | { "Mail to all","Mail an Alle" }, |
1217 | { "Week view mode uses bigger font","Wochenansicht Modus nutzt größeren Font" }, | 1217 | { "Week view mode uses bigger font","Wochenansicht Modus nutzt größeren Font" }, |
1218 | { "Set reminder ON with offset to:","Alarm AN mit Offset auf:" }, | 1218 | { "Set reminder ON with offset to:","Alarm AN mit Offset auf:" }, |
1219 | { " on"," am" }, | 1219 | { " on"," am" }, |
1220 | { " completed on "," erledigt am " }, | 1220 | { " completed on "," erledigt am " }, |
1221 | { "Save as Event template","Speichere als Vorlage" }, | 1221 | { "Save as Event template","Speichere als Vorlage" }, |
1222 | { "Load Event template","Lade Termin Vorlage" }, | 1222 | { "Load Event template","Lade Termin Vorlage" }, |
1223 | { "Save as Journal template","Speichere als Journal Vorlage" }, | 1223 | { "Save as Journal template","Speichere als Journal Vorlage" }, |
1224 | { "Insert Journal template","Füge Journal Vorlage ein" }, | 1224 | { "Insert Journal template","Füge Journal Vorlage ein" }, |
1225 | { "Sub todos:<br>","Unter Todos:<br>" }, | 1225 | { "Sub todos:<br>","Unter Todos:<br>" }, |
1226 | { "Parent todo:<br>","Über Todo:<br>" }, | 1226 | { "Parent todo:<br>","Über Todo:<br>" }, |
1227 | { "Set current as color category","Setze Gewählte als Farbkategorie" }, | ||
1228 | { "","" }, | ||
1229 | { "","" }, | ||
1230 | { "","" }, | ||
1227 | { "","" }, | 1231 | { "","" }, |
1228 | { "","" }, | 1232 | { "","" }, |
1229 | { "","" }, | 1233 | { "","" }, |
1230 | { "","" }, | 1234 | { "","" }, |
diff --git a/korganizer/koeditorgeneral.cpp b/korganizer/koeditorgeneral.cpp index f5eb52e..496f125 100644 --- a/korganizer/koeditorgeneral.cpp +++ b/korganizer/koeditorgeneral.cpp | |||
@@ -1,379 +1,380 @@ | |||
1 | /* | 1 | /* |
2 | This file is part of KOrganizer. | 2 | This file is part of KOrganizer. |
3 | Copyright (c) 2001 Cornelius Schumacher <schumacher@kde.org> | 3 | Copyright (c) 2001 Cornelius Schumacher <schumacher@kde.org> |
4 | 4 | ||
5 | This program is free software; you can redistribute it and/or modify | 5 | This program is free software; you can redistribute it and/or modify |
6 | it under the terms of the GNU General Public License as published by | 6 | it under the terms of the GNU General Public License as published by |
7 | the Free Software Foundation; either version 2 of the License, or | 7 | the Free Software Foundation; either version 2 of the License, or |
8 | (at your option) any later version. | 8 | (at your option) any later version. |
9 | 9 | ||
10 | This program is distributed in the hope that it will be useful, | 10 | This program is distributed in the hope that it will be useful, |
11 | but WITHOUT ANY WARRANTY; without even the implied warranty of | 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of |
12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
13 | GNU General Public License for more details. | 13 | GNU General Public License for more details. |
14 | 14 | ||
15 | You should have received a copy of the GNU General Public License | 15 | You should have received a copy of the GNU General Public License |
16 | along with this program; if not, write to the Free Software | 16 | along with this program; if not, write to the Free Software |
17 | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | 17 | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. |
18 | 18 | ||
19 | As a special exception, permission is given to link this program | 19 | As a special exception, permission is given to link this program |
20 | with any edition of Qt, and distribute the resulting executable, | 20 | with any edition of Qt, and distribute the resulting executable, |
21 | without including the source code for Qt in the source distribution. | 21 | without including the source code for Qt in the source distribution. |
22 | */ | 22 | */ |
23 | 23 | ||
24 | #include <qwidget.h> | 24 | #include <qwidget.h> |
25 | #include <qtooltip.h> | 25 | #include <qtooltip.h> |
26 | #include <qlayout.h> | 26 | #include <qlayout.h> |
27 | #include <qvbox.h> | 27 | #include <qvbox.h> |
28 | #include <qbuttongroup.h> | 28 | #include <qbuttongroup.h> |
29 | #include <qvgroupbox.h> | 29 | #include <qvgroupbox.h> |
30 | #include <qwidgetstack.h> | 30 | #include <qwidgetstack.h> |
31 | #include <qdatetime.h> | 31 | #include <qdatetime.h> |
32 | #include <qfile.h> | 32 | #include <qfile.h> |
33 | 33 | ||
34 | 34 | ||
35 | #include <kglobal.h> | 35 | #include <kglobal.h> |
36 | #include <kdebug.h> | 36 | #include <kdebug.h> |
37 | #include <klocale.h> | 37 | #include <klocale.h> |
38 | #include <kiconloader.h> | 38 | #include <kiconloader.h> |
39 | #include <kmessagebox.h> | 39 | #include <kmessagebox.h> |
40 | #include <kfiledialog.h> | 40 | #include <kfiledialog.h> |
41 | #include <kstandarddirs.h> | 41 | #include <kstandarddirs.h> |
42 | 42 | ||
43 | #include <libkcal/todo.h> | 43 | #include <libkcal/todo.h> |
44 | #include <libkcal/event.h> | 44 | #include <libkcal/event.h> |
45 | #include <libkdepim/categoryselectdialog.h> | 45 | #include <libkdepim/categoryselectdialog.h> |
46 | #include <libkdepim/kdateedit.h> | 46 | #include <libkdepim/kdateedit.h> |
47 | 47 | ||
48 | #include "koprefs.h" | 48 | #include "koprefs.h" |
49 | #include "koglobals.h" | 49 | #include "koglobals.h" |
50 | 50 | ||
51 | #include "koeditorgeneral.h" | 51 | #include "koeditorgeneral.h" |
52 | #include "kolocationbox.h" | 52 | #include "kolocationbox.h" |
53 | #ifndef DESKTOP_VERSION | 53 | #ifndef DESKTOP_VERSION |
54 | #include <qpe/qpeapplication.h> | 54 | #include <qpe/qpeapplication.h> |
55 | #else | 55 | #else |
56 | #include <qapplication.h> | 56 | #include <qapplication.h> |
57 | #endif | 57 | #endif |
58 | 58 | ||
59 | KOEditorGeneral::KOEditorGeneral(QObject* parent, const char* name) : | 59 | KOEditorGeneral::KOEditorGeneral(QObject* parent, const char* name) : |
60 | QObject( parent, name) | 60 | QObject( parent, name) |
61 | { | 61 | { |
62 | } | 62 | } |
63 | 63 | ||
64 | KOEditorGeneral::~KOEditorGeneral() | 64 | KOEditorGeneral::~KOEditorGeneral() |
65 | { | 65 | { |
66 | } | 66 | } |
67 | 67 | ||
68 | void KOEditorGeneral::initHeader(QWidget *parent,QBoxLayout *topLayout) | 68 | void KOEditorGeneral::initHeader(QWidget *parent,QBoxLayout *topLayout) |
69 | { | 69 | { |
70 | QGridLayout *headerLayout = new QGridLayout(topLayout); | 70 | QGridLayout *headerLayout = new QGridLayout(topLayout); |
71 | 71 | ||
72 | #if 0 | 72 | #if 0 |
73 | mOwnerLabel = new QLabel(i18n("Owner:"),parent); | 73 | mOwnerLabel = new QLabel(i18n("Owner:"),parent); |
74 | headerLayout->addMultiCellWidget(mOwnerLabel,0,0,0,1); | 74 | headerLayout->addMultiCellWidget(mOwnerLabel,0,0,0,1); |
75 | #endif | 75 | #endif |
76 | 76 | ||
77 | QLabel *summaryLabel = new QLabel(i18n("Summary:"),parent); | 77 | QLabel *summaryLabel = new QLabel(i18n("Summary:"),parent); |
78 | headerLayout->addWidget(summaryLabel,1,0); | 78 | headerLayout->addWidget(summaryLabel,1,0); |
79 | 79 | ||
80 | mSummaryEdit = new KOLocationBox(TRUE,parent, 10); | 80 | mSummaryEdit = new KOLocationBox(TRUE,parent, 10); |
81 | mSummaryEdit->setSizePolicy( QSizePolicy( QSizePolicy::Preferred ,QSizePolicy::MinimumExpanding ,FALSE) ); | 81 | mSummaryEdit->setSizePolicy( QSizePolicy( QSizePolicy::Preferred ,QSizePolicy::MinimumExpanding ,FALSE) ); |
82 | //mSummaryEdit->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)5 ,(QSizePolicy::SizeType)3 ,FALSE) ); | 82 | //mSummaryEdit->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)5 ,(QSizePolicy::SizeType)3 ,FALSE) ); |
83 | //qDebug("h %d %d ", summaryLabel->sizeHint().height(),mSummaryEdit->sizeHint().height() ); | 83 | //qDebug("h %d %d ", summaryLabel->sizeHint().height(),mSummaryEdit->sizeHint().height() ); |
84 | int hei = (summaryLabel->sizeHint().height() + mSummaryEdit->sizeHint().height())/2; | 84 | int hei = (summaryLabel->sizeHint().height() + mSummaryEdit->sizeHint().height())/2; |
85 | if ( QApplication::desktop()->width() > 320 ) | 85 | if ( QApplication::desktop()->width() > 320 ) |
86 | mSummaryEdit->setMaximumHeight( hei +6 ); | 86 | mSummaryEdit->setMaximumHeight( hei +6 ); |
87 | //qDebug("%d %d %d %d %d %d ", QSizePolicy::Fixed , QSizePolicy::Minimum , QSizePolicy:: Maximum , QSizePolicy:: Preferred , QSizePolicy:: MinimumExpanding , QSizePolicy::Expanding ); | 87 | //qDebug("%d %d %d %d %d %d ", QSizePolicy::Fixed , QSizePolicy::Minimum , QSizePolicy:: Maximum , QSizePolicy:: Preferred , QSizePolicy:: MinimumExpanding , QSizePolicy::Expanding ); |
88 | // SizeType { Fixed = 0, Minimum = MayGrow, Maximum = MayShrink, Preferred = MayGrow|MayShrink, MinimumExpanding = Minimum|ExpMask, Expanding = MinimumExpanding|MayShrink } | 88 | // SizeType { Fixed = 0, Minimum = MayGrow, Maximum = MayShrink, Preferred = MayGrow|MayShrink, MinimumExpanding = Minimum|ExpMask, Expanding = MinimumExpanding|MayShrink } |
89 | // mSummaryEdit = new QLineEdit(parent); | 89 | // mSummaryEdit = new QLineEdit(parent); |
90 | headerLayout->addWidget(mSummaryEdit,1,1); | 90 | headerLayout->addWidget(mSummaryEdit,1,1); |
91 | connect ( mSummaryEdit->lineEdit(), SIGNAL ( returnPressed() ), this, SIGNAL (allAccepted () ) ); | 91 | connect ( mSummaryEdit->lineEdit(), SIGNAL ( returnPressed() ), this, SIGNAL (allAccepted () ) ); |
92 | 92 | ||
93 | QLabel *locationLabel = new QLabel(i18n("Location:"),parent); | 93 | QLabel *locationLabel = new QLabel(i18n("Location:"),parent); |
94 | headerLayout->addWidget(locationLabel,2,0); | 94 | headerLayout->addWidget(locationLabel,2,0); |
95 | 95 | ||
96 | mLocationEdit = new KOLocationBox(TRUE,parent,10); | 96 | mLocationEdit = new KOLocationBox(TRUE,parent,10); |
97 | mLocationEdit->setSizePolicy( QSizePolicy( QSizePolicy::Preferred ,QSizePolicy::MinimumExpanding ,FALSE) ); | 97 | mLocationEdit->setSizePolicy( QSizePolicy( QSizePolicy::Preferred ,QSizePolicy::MinimumExpanding ,FALSE) ); |
98 | if ( QApplication::desktop()->width() > 320 ) | 98 | if ( QApplication::desktop()->width() > 320 ) |
99 | mLocationEdit->setMaximumHeight( hei + 6); | 99 | mLocationEdit->setMaximumHeight( hei + 6); |
100 | 100 | ||
101 | // mLocationEdit = new QLineEdit(parent); | 101 | // mLocationEdit = new QLineEdit(parent); |
102 | connect ( mLocationEdit->lineEdit(), SIGNAL ( returnPressed() ), this, SIGNAL (allAccepted () ) ); | 102 | connect ( mLocationEdit->lineEdit(), SIGNAL ( returnPressed() ), this, SIGNAL (allAccepted () ) ); |
103 | headerLayout->addWidget(mLocationEdit,2,1); | 103 | headerLayout->addWidget(mLocationEdit,2,1); |
104 | headerLayout->setColStretch( 1, 10); | 104 | headerLayout->setColStretch( 1, 10); |
105 | } | 105 | } |
106 | void KOEditorGeneral::setFocusOn( int i ) | 106 | void KOEditorGeneral::setFocusOn( int i ) |
107 | { | 107 | { |
108 | qApp->processEvents(); | 108 | qApp->processEvents(); |
109 | if ( i == 1 ) { | 109 | if ( i == 1 ) { |
110 | mDescriptionEdit->setFocus(); | 110 | mDescriptionEdit->setFocus(); |
111 | mDescriptionEdit->setCursorPosition( mDescriptionEdit->numLines (), 333); | 111 | mDescriptionEdit->setCursorPosition( mDescriptionEdit->numLines (), 333); |
112 | } | 112 | } |
113 | if ( i == 2 ) { | 113 | if ( i == 2 ) { |
114 | mSummaryEdit->setFocus(); | 114 | mSummaryEdit->setFocus(); |
115 | } | 115 | } |
116 | 116 | ||
117 | } | 117 | } |
118 | void KOEditorGeneral::editCategories() | 118 | void KOEditorGeneral::editCategories() |
119 | { | 119 | { |
120 | // qDebug("KOEditorGeneral::editCategories() "); | 120 | // qDebug("KOEditorGeneral::editCategories() "); |
121 | KPIM::CategorySelectDialog* csd = new KPIM::CategorySelectDialog( KOPrefs::instance(), 0 ); | 121 | KPIM::CategorySelectDialog* csd = new KPIM::CategorySelectDialog( KOPrefs::instance(), 0 ); |
122 | connect(csd,SIGNAL(categoriesSelected(const QString &)), this ,SLOT(setCategories(const QString &))); | 122 | connect(csd,SIGNAL(categoriesSelected(const QString &)), this ,SLOT(setCategories(const QString &))); |
123 | //KOGlobals::fitDialogToScreen( csd ); | 123 | //KOGlobals::fitDialogToScreen( csd ); |
124 | csd->setColorEnabled(); | ||
124 | csd->setSelected( QStringList::split (",", mCategoriesLabel->text()) ); | 125 | csd->setSelected( QStringList::split (",", mCategoriesLabel->text()) ); |
125 | csd->exec(); | 126 | csd->exec(); |
126 | delete csd; | 127 | delete csd; |
127 | } | 128 | } |
128 | void KOEditorGeneral::initCategories(QWidget *parent, QBoxLayout *topLayout) | 129 | void KOEditorGeneral::initCategories(QWidget *parent, QBoxLayout *topLayout) |
129 | { | 130 | { |
130 | QBoxLayout *categoriesLayout = new QHBoxLayout( topLayout ); | 131 | QBoxLayout *categoriesLayout = new QHBoxLayout( topLayout ); |
131 | 132 | ||
132 | mCategoriesButton = new QPushButton(parent); | 133 | mCategoriesButton = new QPushButton(parent); |
133 | mCategoriesButton->setText(i18n("Categories...")); | 134 | mCategoriesButton->setText(i18n("Categories...")); |
134 | connect(mCategoriesButton,SIGNAL(clicked()),this, SLOT(editCategories() )); | 135 | connect(mCategoriesButton,SIGNAL(clicked()),this, SLOT(editCategories() )); |
135 | categoriesLayout->addWidget(mCategoriesButton); | 136 | categoriesLayout->addWidget(mCategoriesButton); |
136 | 137 | ||
137 | mCategoriesLabel = new QLabel(parent); | 138 | mCategoriesLabel = new QLabel(parent); |
138 | mCategoriesLabel->setFrameStyle(QFrame::Panel|QFrame::Sunken); | 139 | mCategoriesLabel->setFrameStyle(QFrame::Panel|QFrame::Sunken); |
139 | categoriesLayout->addWidget(mCategoriesLabel,1); | 140 | categoriesLayout->addWidget(mCategoriesLabel,1); |
140 | } | 141 | } |
141 | 142 | ||
142 | void KOEditorGeneral::initSecrecy(QWidget *parent, QBoxLayout *topLayout) | 143 | void KOEditorGeneral::initSecrecy(QWidget *parent, QBoxLayout *topLayout) |
143 | { | 144 | { |
144 | QBoxLayout *secrecyLayout = new QHBoxLayout( topLayout ); | 145 | QBoxLayout *secrecyLayout = new QHBoxLayout( topLayout ); |
145 | 146 | ||
146 | QLabel *secrecyLabel = new QLabel(i18n("Access:"),parent); | 147 | QLabel *secrecyLabel = new QLabel(i18n("Access:"),parent); |
147 | mCancelBox = new QCheckBox ( i18n("Cancelled"), parent); | 148 | mCancelBox = new QCheckBox ( i18n("Cancelled"), parent); |
148 | secrecyLayout->addWidget(mCancelBox); | 149 | secrecyLayout->addWidget(mCancelBox); |
149 | secrecyLayout->addWidget(secrecyLabel); | 150 | secrecyLayout->addWidget(secrecyLabel); |
150 | 151 | ||
151 | mSecrecyCombo = new QComboBox(parent); | 152 | mSecrecyCombo = new QComboBox(parent); |
152 | mSecrecyCombo->insertStringList(Incidence::secrecyList()); | 153 | mSecrecyCombo->insertStringList(Incidence::secrecyList()); |
153 | secrecyLayout->addWidget(mSecrecyCombo); | 154 | secrecyLayout->addWidget(mSecrecyCombo); |
154 | } | 155 | } |
155 | 156 | ||
156 | void KOEditorGeneral::initDescription(QWidget *parent,QBoxLayout *topLayout) | 157 | void KOEditorGeneral::initDescription(QWidget *parent,QBoxLayout *topLayout) |
157 | { | 158 | { |
158 | mDescriptionEdit = new KTextEdit(parent); | 159 | mDescriptionEdit = new KTextEdit(parent); |
159 | mDescriptionEdit->setFont(KOPrefs::instance()->mEditBoxFont ); | 160 | mDescriptionEdit->setFont(KOPrefs::instance()->mEditBoxFont ); |
160 | mDescriptionEdit->append(""); | 161 | mDescriptionEdit->append(""); |
161 | mDescriptionEdit->setReadOnly(false); | 162 | mDescriptionEdit->setReadOnly(false); |
162 | mDescriptionEdit->setOverwriteMode(false); | 163 | mDescriptionEdit->setOverwriteMode(false); |
163 | mDescriptionEdit->setWordWrap( KTextEdit::WidgetWidth ); | 164 | mDescriptionEdit->setWordWrap( KTextEdit::WidgetWidth ); |
164 | topLayout->addWidget(mDescriptionEdit); | 165 | topLayout->addWidget(mDescriptionEdit); |
165 | #ifndef DESKTOP_VERSION | 166 | #ifndef DESKTOP_VERSION |
166 | QPEApplication::setStylusOperation( mDescriptionEdit, QPEApplication::RightOnHold ); | 167 | QPEApplication::setStylusOperation( mDescriptionEdit, QPEApplication::RightOnHold ); |
167 | #endif | 168 | #endif |
168 | 169 | ||
169 | } | 170 | } |
170 | 171 | ||
171 | void KOEditorGeneral::initAlarm(QWidget *parent,QBoxLayout *topLayout) | 172 | void KOEditorGeneral::initAlarm(QWidget *parent,QBoxLayout *topLayout) |
172 | { | 173 | { |
173 | QBoxLayout *alarmLayout = new QHBoxLayout(topLayout); | 174 | QBoxLayout *alarmLayout = new QHBoxLayout(topLayout); |
174 | 175 | ||
175 | //mAlarmBell = new QLabel(parent); | 176 | //mAlarmBell = new QLabel(parent); |
176 | //mAlarmBell->setPixmap(SmallIcon("bell")); | 177 | //mAlarmBell->setPixmap(SmallIcon("bell")); |
177 | //alarmLayout->addWidget(mAlarmBell); | 178 | //alarmLayout->addWidget(mAlarmBell); |
178 | if ( QApplication::desktop()->width() < 320 ) | 179 | if ( QApplication::desktop()->width() < 320 ) |
179 | mAlarmButton = new QCheckBox(i18n("Rem."),parent); | 180 | mAlarmButton = new QCheckBox(i18n("Rem."),parent); |
180 | else | 181 | else |
181 | mAlarmButton = new QCheckBox(i18n("Reminder:"),parent); | 182 | mAlarmButton = new QCheckBox(i18n("Reminder:"),parent); |
182 | 183 | ||
183 | connect(mAlarmButton, SIGNAL(toggled(bool)), SLOT(enableAlarmEdit(bool))); | 184 | connect(mAlarmButton, SIGNAL(toggled(bool)), SLOT(enableAlarmEdit(bool))); |
184 | alarmLayout->addWidget(mAlarmButton); | 185 | alarmLayout->addWidget(mAlarmButton); |
185 | 186 | ||
186 | mAlarmTimeEdit = new QSpinBox ( 0, 9999, 1, parent, "mAlarmTimeEdit " ) ; | 187 | mAlarmTimeEdit = new QSpinBox ( 0, 9999, 1, parent, "mAlarmTimeEdit " ) ; |
187 | alarmLayout->addWidget(mAlarmTimeEdit); | 188 | alarmLayout->addWidget(mAlarmTimeEdit); |
188 | mAlarmIncrCombo = new QComboBox(false, parent); | 189 | mAlarmIncrCombo = new QComboBox(false, parent); |
189 | if ( QApplication::desktop()->width() < 320 ) { | 190 | if ( QApplication::desktop()->width() < 320 ) { |
190 | mAlarmIncrCombo->insertItem(i18n("min")); | 191 | mAlarmIncrCombo->insertItem(i18n("min")); |
191 | mAlarmIncrCombo->insertItem(i18n("hou")); | 192 | mAlarmIncrCombo->insertItem(i18n("hou")); |
192 | mAlarmIncrCombo->insertItem(i18n("day")); | 193 | mAlarmIncrCombo->insertItem(i18n("day")); |
193 | mAlarmTimeEdit->setMaximumWidth( mAlarmTimeEdit->sizeHint().width() ); | 194 | mAlarmTimeEdit->setMaximumWidth( mAlarmTimeEdit->sizeHint().width() ); |
194 | mAlarmIncrCombo->setMaximumWidth( mAlarmIncrCombo->sizeHint().width() ); | 195 | mAlarmIncrCombo->setMaximumWidth( mAlarmIncrCombo->sizeHint().width() ); |
195 | } else { | 196 | } else { |
196 | mAlarmIncrCombo->insertItem(i18n("minute(s)")); | 197 | mAlarmIncrCombo->insertItem(i18n("minute(s)")); |
197 | mAlarmIncrCombo->insertItem(i18n("hour(s)")); | 198 | mAlarmIncrCombo->insertItem(i18n("hour(s)")); |
198 | mAlarmIncrCombo->insertItem(i18n("day(s)")); | 199 | mAlarmIncrCombo->insertItem(i18n("day(s)")); |
199 | } | 200 | } |
200 | 201 | ||
201 | // mAlarmIncrCombo->setMinimumHeight(20); | 202 | // mAlarmIncrCombo->setMinimumHeight(20); |
202 | alarmLayout->addWidget(mAlarmIncrCombo); | 203 | alarmLayout->addWidget(mAlarmIncrCombo); |
203 | mAlarmSoundButton = new QPushButton(parent); | 204 | mAlarmSoundButton = new QPushButton(parent); |
204 | mAlarmSoundButton->setPixmap(SmallIcon("playsound")); | 205 | mAlarmSoundButton->setPixmap(SmallIcon("playsound")); |
205 | mAlarmSoundButton->setToggleButton(true); | 206 | mAlarmSoundButton->setToggleButton(true); |
206 | QToolTip::add(mAlarmSoundButton, i18n("No sound set")); | 207 | QToolTip::add(mAlarmSoundButton, i18n("No sound set")); |
207 | connect(mAlarmSoundButton, SIGNAL(clicked()), SLOT(pickAlarmSound())); | 208 | connect(mAlarmSoundButton, SIGNAL(clicked()), SLOT(pickAlarmSound())); |
208 | alarmLayout->addWidget(mAlarmSoundButton); | 209 | alarmLayout->addWidget(mAlarmSoundButton); |
209 | 210 | ||
210 | mAlarmProgramButton = new QPushButton(parent); | 211 | mAlarmProgramButton = new QPushButton(parent); |
211 | mAlarmProgramButton->setPixmap(SmallIcon("run")); | 212 | mAlarmProgramButton->setPixmap(SmallIcon("run")); |
212 | mAlarmProgramButton->setToggleButton(true); | 213 | mAlarmProgramButton->setToggleButton(true); |
213 | QToolTip::add(mAlarmProgramButton, i18n("No program set")); | 214 | QToolTip::add(mAlarmProgramButton, i18n("No program set")); |
214 | connect(mAlarmProgramButton, SIGNAL(clicked()), SLOT(pickAlarmProgram())); | 215 | connect(mAlarmProgramButton, SIGNAL(clicked()), SLOT(pickAlarmProgram())); |
215 | alarmLayout->addWidget(mAlarmProgramButton); | 216 | alarmLayout->addWidget(mAlarmProgramButton); |
216 | mAlarmSoundButton->setMaximumWidth( mAlarmSoundButton->sizeHint().width() + 4 ); | 217 | mAlarmSoundButton->setMaximumWidth( mAlarmSoundButton->sizeHint().width() + 4 ); |
217 | mAlarmProgramButton->setMaximumWidth(mAlarmProgramButton->sizeHint().width() + 4 ); | 218 | mAlarmProgramButton->setMaximumWidth(mAlarmProgramButton->sizeHint().width() + 4 ); |
218 | // if ( KOPrefs::instance()->mCompactDialogs ) { | 219 | // if ( KOPrefs::instance()->mCompactDialogs ) { |
219 | // mAlarmSoundButton->hide(); | 220 | // mAlarmSoundButton->hide(); |
220 | // mAlarmProgramButton->hide(); | 221 | // mAlarmProgramButton->hide(); |
221 | // } | 222 | // } |
222 | } | 223 | } |
223 | 224 | ||
224 | void KOEditorGeneral::pickAlarmSound() | 225 | void KOEditorGeneral::pickAlarmSound() |
225 | { | 226 | { |
226 | 227 | ||
227 | //QString prefix = mAlarmSound; | 228 | //QString prefix = mAlarmSound; |
228 | if (!mAlarmSoundButton->isOn()) { | 229 | if (!mAlarmSoundButton->isOn()) { |
229 | //mAlarmSound = ""; | 230 | //mAlarmSound = ""; |
230 | QToolTip::remove(mAlarmSoundButton); | 231 | QToolTip::remove(mAlarmSoundButton); |
231 | QToolTip::add(mAlarmSoundButton, i18n("No sound set")); | 232 | QToolTip::add(mAlarmSoundButton, i18n("No sound set")); |
232 | mAlarmProgramButton->setOn(true); | 233 | mAlarmProgramButton->setOn(true); |
233 | mAlarmSoundButton->setOn(false); | 234 | mAlarmSoundButton->setOn(false); |
234 | } else { | 235 | } else { |
235 | QString fileName(KFileDialog::getOpenFileName(mAlarmSound, | 236 | QString fileName(KFileDialog::getOpenFileName(mAlarmSound, |
236 | i18n("*.wav|Wav Files"), 0)); | 237 | i18n("*.wav|Wav Files"), 0)); |
237 | if (!fileName.isEmpty()) { | 238 | if (!fileName.isEmpty()) { |
238 | mAlarmSound = fileName; | 239 | mAlarmSound = fileName; |
239 | QToolTip::remove(mAlarmSoundButton); | 240 | QToolTip::remove(mAlarmSoundButton); |
240 | QString dispStr = i18n("Playing '%1'").arg(fileName); | 241 | QString dispStr = i18n("Playing '%1'").arg(fileName); |
241 | QToolTip::add(mAlarmSoundButton, dispStr); | 242 | QToolTip::add(mAlarmSoundButton, dispStr); |
242 | mAlarmProgramButton->setOn(false); | 243 | mAlarmProgramButton->setOn(false); |
243 | mAlarmSoundButton->setOn(true); | 244 | mAlarmSoundButton->setOn(true); |
244 | } else { | 245 | } else { |
245 | mAlarmProgramButton->setOn(true); | 246 | mAlarmProgramButton->setOn(true); |
246 | mAlarmSoundButton->setOn(false); | 247 | mAlarmSoundButton->setOn(false); |
247 | 248 | ||
248 | } | 249 | } |
249 | } | 250 | } |
250 | 251 | ||
251 | if (mAlarmProgramButton->isOn()) | 252 | if (mAlarmProgramButton->isOn()) |
252 | ((QWidget*)parent())->topLevelWidget()->setCaption(i18n("Proc.Al.: ") + getFittingPath(mAlarmProgram) ); | 253 | ((QWidget*)parent())->topLevelWidget()->setCaption(i18n("Proc.Al.: ") + getFittingPath(mAlarmProgram) ); |
253 | if ( mAlarmSoundButton->isOn()) | 254 | if ( mAlarmSoundButton->isOn()) |
254 | ((QWidget*)parent())->topLevelWidget()->setCaption(i18n("Audio.Al.: ") + getFittingPath(mAlarmSound) ); | 255 | ((QWidget*)parent())->topLevelWidget()->setCaption(i18n("Audio.Al.: ") + getFittingPath(mAlarmSound) ); |
255 | } | 256 | } |
256 | 257 | ||
257 | void KOEditorGeneral::pickAlarmProgram() | 258 | void KOEditorGeneral::pickAlarmProgram() |
258 | { | 259 | { |
259 | if (!mAlarmProgramButton->isOn()) { | 260 | if (!mAlarmProgramButton->isOn()) { |
260 | //mAlarmProgram = ""; | 261 | //mAlarmProgram = ""; |
261 | QToolTip::remove(mAlarmProgramButton); | 262 | QToolTip::remove(mAlarmProgramButton); |
262 | QToolTip::add(mAlarmProgramButton, i18n("No program set")); | 263 | QToolTip::add(mAlarmProgramButton, i18n("No program set")); |
263 | mAlarmProgramButton->setOn(false); | 264 | mAlarmProgramButton->setOn(false); |
264 | mAlarmSoundButton->setOn(true); | 265 | mAlarmSoundButton->setOn(true); |
265 | } else { | 266 | } else { |
266 | QString fileName(KFileDialog::getOpenFileName(mAlarmProgram,i18n("Procedure Alarm.: ") , 0)); | 267 | QString fileName(KFileDialog::getOpenFileName(mAlarmProgram,i18n("Procedure Alarm.: ") , 0)); |
267 | if (!fileName.isEmpty()) { | 268 | if (!fileName.isEmpty()) { |
268 | mAlarmProgram = fileName; | 269 | mAlarmProgram = fileName; |
269 | QToolTip::remove(mAlarmProgramButton); | 270 | QToolTip::remove(mAlarmProgramButton); |
270 | QString dispStr = i18n("Running '%1'").arg(fileName); | 271 | QString dispStr = i18n("Running '%1'").arg(fileName); |
271 | QToolTip::add(mAlarmProgramButton, dispStr); | 272 | QToolTip::add(mAlarmProgramButton, dispStr); |
272 | mAlarmSoundButton->setOn(false); | 273 | mAlarmSoundButton->setOn(false); |
273 | mAlarmProgramButton->setOn(true); | 274 | mAlarmProgramButton->setOn(true); |
274 | } else { | 275 | } else { |
275 | mAlarmProgramButton->setOn(false); | 276 | mAlarmProgramButton->setOn(false); |
276 | mAlarmSoundButton->setOn(true); | 277 | mAlarmSoundButton->setOn(true); |
277 | } | 278 | } |
278 | } | 279 | } |
279 | if (mAlarmProgramButton->isOn()) | 280 | if (mAlarmProgramButton->isOn()) |
280 | ((QWidget*)parent())->topLevelWidget()->setCaption(i18n("Proc.Al.: ") + getFittingPath(mAlarmProgram) ); | 281 | ((QWidget*)parent())->topLevelWidget()->setCaption(i18n("Proc.Al.: ") + getFittingPath(mAlarmProgram) ); |
281 | if ( mAlarmSoundButton->isOn()) | 282 | if ( mAlarmSoundButton->isOn()) |
282 | ((QWidget*)parent())->topLevelWidget()->setCaption(i18n("Sound.Al.: ") + getFittingPath(mAlarmSound) ); | 283 | ((QWidget*)parent())->topLevelWidget()->setCaption(i18n("Sound.Al.: ") + getFittingPath(mAlarmSound) ); |
283 | } | 284 | } |
284 | 285 | ||
285 | 286 | ||
286 | QString KOEditorGeneral::getFittingPath( const QString s ) | 287 | QString KOEditorGeneral::getFittingPath( const QString s ) |
287 | { | 288 | { |
288 | int maxlen = 50; | 289 | int maxlen = 50; |
289 | if ( QApplication::desktop()->width() < 640 ) { | 290 | if ( QApplication::desktop()->width() < 640 ) { |
290 | if ( QApplication::desktop()->width() < 320 ) | 291 | if ( QApplication::desktop()->width() < 320 ) |
291 | maxlen = 22; | 292 | maxlen = 22; |
292 | else | 293 | else |
293 | maxlen = 35; | 294 | maxlen = 35; |
294 | } | 295 | } |
295 | if ( s.length() > maxlen ) { | 296 | if ( s.length() > maxlen ) { |
296 | return "..."+s.right(maxlen -3); | 297 | return "..."+s.right(maxlen -3); |
297 | } | 298 | } |
298 | return s; | 299 | return s; |
299 | } | 300 | } |
300 | 301 | ||
301 | void KOEditorGeneral::enableAlarmEdit(bool enable) | 302 | void KOEditorGeneral::enableAlarmEdit(bool enable) |
302 | { | 303 | { |
303 | if ( enable ) { | 304 | if ( enable ) { |
304 | if (!mAlarmProgramButton->isOn() && !mAlarmSoundButton->isOn()) { | 305 | if (!mAlarmProgramButton->isOn() && !mAlarmSoundButton->isOn()) { |
305 | mAlarmSoundButton->setOn( true ); | 306 | mAlarmSoundButton->setOn( true ); |
306 | if ( mAlarmSound.isEmpty() ) | 307 | if ( mAlarmSound.isEmpty() ) |
307 | mAlarmSound = KOPrefs::instance()->mDefaultAlarmFile; | 308 | mAlarmSound = KOPrefs::instance()->mDefaultAlarmFile; |
308 | else { | 309 | else { |
309 | if ( ! QFile::exists( mAlarmSound ) ) | 310 | if ( ! QFile::exists( mAlarmSound ) ) |
310 | mAlarmSound = KOPrefs::instance()->mDefaultAlarmFile; | 311 | mAlarmSound = KOPrefs::instance()->mDefaultAlarmFile; |
311 | } | 312 | } |
312 | } | 313 | } |
313 | if (mAlarmProgramButton->isOn()) | 314 | if (mAlarmProgramButton->isOn()) |
314 | ((QWidget*)parent())->topLevelWidget()->setCaption(i18n("Proc.Al.: ") + getFittingPath(mAlarmProgram) ); | 315 | ((QWidget*)parent())->topLevelWidget()->setCaption(i18n("Proc.Al.: ") + getFittingPath(mAlarmProgram) ); |
315 | if (!mAlarmSound.isEmpty() && mAlarmSoundButton->isOn()) | 316 | if (!mAlarmSound.isEmpty() && mAlarmSoundButton->isOn()) |
316 | ((QWidget*)parent())->topLevelWidget()->setCaption(i18n("Audio Al.: ") + getFittingPath(mAlarmSound) ); | 317 | ((QWidget*)parent())->topLevelWidget()->setCaption(i18n("Audio Al.: ") + getFittingPath(mAlarmSound) ); |
317 | } | 318 | } |
318 | else { | 319 | else { |
319 | ((QWidget*)parent())->topLevelWidget()->setCaption(i18n("Alarm disabled for this item")); | 320 | ((QWidget*)parent())->topLevelWidget()->setCaption(i18n("Alarm disabled for this item")); |
320 | 321 | ||
321 | } | 322 | } |
322 | mAlarmTimeEdit->setEnabled(enable); | 323 | mAlarmTimeEdit->setEnabled(enable); |
323 | mAlarmSoundButton->setEnabled(enable); | 324 | mAlarmSoundButton->setEnabled(enable); |
324 | mAlarmProgramButton->setEnabled(enable); | 325 | mAlarmProgramButton->setEnabled(enable); |
325 | mAlarmIncrCombo->setEnabled(enable); | 326 | mAlarmIncrCombo->setEnabled(enable); |
326 | } | 327 | } |
327 | 328 | ||
328 | void KOEditorGeneral::disableAlarmEdit(bool disable) | 329 | void KOEditorGeneral::disableAlarmEdit(bool disable) |
329 | { | 330 | { |
330 | enableAlarmEdit( !disable ); | 331 | enableAlarmEdit( !disable ); |
331 | } | 332 | } |
332 | 333 | ||
333 | void KOEditorGeneral::enableAlarm( bool enable ) | 334 | void KOEditorGeneral::enableAlarm( bool enable ) |
334 | { | 335 | { |
335 | enableAlarmEdit( enable ); | 336 | enableAlarmEdit( enable ); |
336 | } | 337 | } |
337 | 338 | ||
338 | void KOEditorGeneral::alarmDisable(bool disable) | 339 | void KOEditorGeneral::alarmDisable(bool disable) |
339 | { | 340 | { |
340 | if (!disable) { | 341 | if (!disable) { |
341 | //mAlarmBell->setEnabled(true); | 342 | //mAlarmBell->setEnabled(true); |
342 | mAlarmButton->setEnabled(true); | 343 | mAlarmButton->setEnabled(true); |
343 | } else { | 344 | } else { |
344 | //mAlarmBell->setEnabled(false); | 345 | //mAlarmBell->setEnabled(false); |
345 | mAlarmButton->setEnabled(false); | 346 | mAlarmButton->setEnabled(false); |
346 | mAlarmButton->setChecked(false); | 347 | mAlarmButton->setChecked(false); |
347 | mAlarmTimeEdit->setEnabled(false); | 348 | mAlarmTimeEdit->setEnabled(false); |
348 | mAlarmSoundButton->setEnabled(false); | 349 | mAlarmSoundButton->setEnabled(false); |
349 | mAlarmProgramButton->setEnabled(false); | 350 | mAlarmProgramButton->setEnabled(false); |
350 | mAlarmIncrCombo->setEnabled(false); | 351 | mAlarmIncrCombo->setEnabled(false); |
351 | } | 352 | } |
352 | } | 353 | } |
353 | 354 | ||
354 | void KOEditorGeneral::setCategories(const QString &str) | 355 | void KOEditorGeneral::setCategories(const QString &str) |
355 | { | 356 | { |
356 | mCategoriesLabel->setText(str); | 357 | mCategoriesLabel->setText(str); |
357 | } | 358 | } |
358 | 359 | ||
359 | void KOEditorGeneral::setDefaults(bool allDay) | 360 | void KOEditorGeneral::setDefaults(bool allDay) |
360 | { | 361 | { |
361 | #if 0 | 362 | #if 0 |
362 | mOwnerLabel->setText(i18n("Owner: ") + KOPrefs::instance()->fullName()); | 363 | mOwnerLabel->setText(i18n("Owner: ") + KOPrefs::instance()->fullName()); |
363 | #endif | 364 | #endif |
364 | 365 | ||
365 | enableAlarmEdit( !allDay ); | 366 | enableAlarmEdit( !allDay ); |
366 | 367 | ||
367 | // TODO: Implement a KPrefsComboItem to solve this in a clean way. | 368 | // TODO: Implement a KPrefsComboItem to solve this in a clean way. |
368 | int alarmTime; | 369 | int alarmTime; |
369 | int a[] = { 1,5,10,15,30,60,180, 1440 }; | 370 | int a[] = { 1,5,10,15,30,60,180, 1440 }; |
370 | int index = KOPrefs::instance()->mAlarmTime; | 371 | int index = KOPrefs::instance()->mAlarmTime; |
371 | if (index < 0 || index > 7) { | 372 | if (index < 0 || index > 7) { |
372 | alarmTime = 15; | 373 | alarmTime = 15; |
373 | } else { | 374 | } else { |
374 | alarmTime = a[index]; | 375 | alarmTime = a[index]; |
375 | } | 376 | } |
376 | mAlarmButton ->setChecked( false ); | 377 | mAlarmButton ->setChecked( false ); |
377 | mAlarmTimeEdit->setValue(alarmTime); | 378 | mAlarmTimeEdit->setValue(alarmTime); |
378 | mAlarmIncrCombo->setCurrentItem(0); | 379 | mAlarmIncrCombo->setCurrentItem(0); |
379 | enableAlarmEdit( false ); | 380 | enableAlarmEdit( false ); |
diff --git a/korganizer/kotodoview.cpp b/korganizer/kotodoview.cpp index 1a1bce5..3011458 100644 --- a/korganizer/kotodoview.cpp +++ b/korganizer/kotodoview.cpp | |||
@@ -708,517 +708,524 @@ bool KOTodoView::checkTodo( Todo * todo ) | |||
708 | 708 | ||
709 | void KOTodoView::restoreItemState( QListViewItem *item ) | 709 | void KOTodoView::restoreItemState( QListViewItem *item ) |
710 | { | 710 | { |
711 | pendingSubtodo = 0; | 711 | pendingSubtodo = 0; |
712 | while( item ) { | 712 | while( item ) { |
713 | KOTodoViewItem *todoItem = (KOTodoViewItem *)item; | 713 | KOTodoViewItem *todoItem = (KOTodoViewItem *)item; |
714 | todoItem->setOpen( mDocPrefs->readBoolEntry( todoItem->todo()->uid() ) ); | 714 | todoItem->setOpen( mDocPrefs->readBoolEntry( todoItem->todo()->uid() ) ); |
715 | if( item->childCount() > 0 ) restoreItemState( item->firstChild() ); | 715 | if( item->childCount() > 0 ) restoreItemState( item->firstChild() ); |
716 | item = item->nextSibling(); | 716 | item = item->nextSibling(); |
717 | } | 717 | } |
718 | } | 718 | } |
719 | 719 | ||
720 | 720 | ||
721 | QMap<Todo *,KOTodoViewItem *>::ConstIterator | 721 | QMap<Todo *,KOTodoViewItem *>::ConstIterator |
722 | KOTodoView::insertTodoItem(Todo *todo) | 722 | KOTodoView::insertTodoItem(Todo *todo) |
723 | { | 723 | { |
724 | 724 | ||
725 | // kdDebug() << "KOTodoView::insertTodoItem(): " << todo->getSummary() << endl; | 725 | // kdDebug() << "KOTodoView::insertTodoItem(): " << todo->getSummary() << endl; |
726 | // TODO: Check, if dynmaic cast is necessary | 726 | // TODO: Check, if dynmaic cast is necessary |
727 | 727 | ||
728 | pendingSubtodo = 0; | 728 | pendingSubtodo = 0; |
729 | Incidence *incidence = todo->relatedTo(); | 729 | Incidence *incidence = todo->relatedTo(); |
730 | if (incidence && incidence->type() == "Todo") { | 730 | if (incidence && incidence->type() == "Todo") { |
731 | Todo *relatedTodo = static_cast<Todo *>(incidence); | 731 | Todo *relatedTodo = static_cast<Todo *>(incidence); |
732 | 732 | ||
733 | // kdDebug() << " has Related" << endl; | 733 | // kdDebug() << " has Related" << endl; |
734 | QMap<Todo *,KOTodoViewItem *>::ConstIterator itemIterator; | 734 | QMap<Todo *,KOTodoViewItem *>::ConstIterator itemIterator; |
735 | itemIterator = mTodoMap.find(relatedTodo); | 735 | itemIterator = mTodoMap.find(relatedTodo); |
736 | if (itemIterator == mTodoMap.end()) { | 736 | if (itemIterator == mTodoMap.end()) { |
737 | // kdDebug() << " related not yet in list" << endl; | 737 | // kdDebug() << " related not yet in list" << endl; |
738 | itemIterator = insertTodoItem (relatedTodo); | 738 | itemIterator = insertTodoItem (relatedTodo); |
739 | } | 739 | } |
740 | // isn't this pretty stupid? We give one Todo to the KOTodoViewItem | 740 | // isn't this pretty stupid? We give one Todo to the KOTodoViewItem |
741 | // and one into the map. Sure finding is more easy but why? -zecke | 741 | // and one into the map. Sure finding is more easy but why? -zecke |
742 | KOTodoViewItem *todoItem = new KOTodoViewItem(*itemIterator,todo,this); | 742 | KOTodoViewItem *todoItem = new KOTodoViewItem(*itemIterator,todo,this); |
743 | return mTodoMap.insert(todo,todoItem); | 743 | return mTodoMap.insert(todo,todoItem); |
744 | } else { | 744 | } else { |
745 | // kdDebug() << " no Related" << endl; | 745 | // kdDebug() << " no Related" << endl; |
746 | // see above -zecke | 746 | // see above -zecke |
747 | KOTodoViewItem *todoItem = new KOTodoViewItem(mTodoListView,todo,this); | 747 | KOTodoViewItem *todoItem = new KOTodoViewItem(mTodoListView,todo,this); |
748 | return mTodoMap.insert(todo,todoItem); | 748 | return mTodoMap.insert(todo,todoItem); |
749 | } | 749 | } |
750 | } | 750 | } |
751 | 751 | ||
752 | 752 | ||
753 | void KOTodoView::updateConfig() | 753 | void KOTodoView::updateConfig() |
754 | { | 754 | { |
755 | updateView(); | 755 | updateView(); |
756 | mTodoListView->repaintContents(); | 756 | mTodoListView->repaintContents(); |
757 | } | 757 | } |
758 | 758 | ||
759 | QPtrList<Incidence> KOTodoView::selectedIncidences() | 759 | QPtrList<Incidence> KOTodoView::selectedIncidences() |
760 | { | 760 | { |
761 | QPtrList<Incidence> selected; | 761 | QPtrList<Incidence> selected; |
762 | 762 | ||
763 | KOTodoViewItem *item = (KOTodoViewItem *)(mTodoListView->selectedItem()); | 763 | KOTodoViewItem *item = (KOTodoViewItem *)(mTodoListView->selectedItem()); |
764 | // if (!item) item = mActiveItem; | 764 | // if (!item) item = mActiveItem; |
765 | if (item) selected.append(item->todo()); | 765 | if (item) selected.append(item->todo()); |
766 | 766 | ||
767 | return selected; | 767 | return selected; |
768 | } | 768 | } |
769 | 769 | ||
770 | QPtrList<Todo> KOTodoView::selectedTodos() | 770 | QPtrList<Todo> KOTodoView::selectedTodos() |
771 | { | 771 | { |
772 | QPtrList<Todo> selected; | 772 | QPtrList<Todo> selected; |
773 | 773 | ||
774 | KOTodoViewItem *item = (KOTodoViewItem *)(mTodoListView->selectedItem()); | 774 | KOTodoViewItem *item = (KOTodoViewItem *)(mTodoListView->selectedItem()); |
775 | // if (!item) item = mActiveItem; | 775 | // if (!item) item = mActiveItem; |
776 | if (item) selected.append(item->todo()); | 776 | if (item) selected.append(item->todo()); |
777 | 777 | ||
778 | return selected; | 778 | return selected; |
779 | } | 779 | } |
780 | 780 | ||
781 | void KOTodoView::changeEventDisplay(Event *, int) | 781 | void KOTodoView::changeEventDisplay(Event *, int) |
782 | { | 782 | { |
783 | updateView(); | 783 | updateView(); |
784 | } | 784 | } |
785 | 785 | ||
786 | void KOTodoView::showDates(const QDate &, const QDate &) | 786 | void KOTodoView::showDates(const QDate &, const QDate &) |
787 | { | 787 | { |
788 | } | 788 | } |
789 | 789 | ||
790 | void KOTodoView::showEvents(QPtrList<Event>) | 790 | void KOTodoView::showEvents(QPtrList<Event>) |
791 | { | 791 | { |
792 | kdDebug() << "KOTodoView::selectEvents(): not yet implemented" << endl; | 792 | kdDebug() << "KOTodoView::selectEvents(): not yet implemented" << endl; |
793 | } | 793 | } |
794 | 794 | ||
795 | void KOTodoView::printPreview(CalPrinter *calPrinter, const QDate &fd, | 795 | void KOTodoView::printPreview(CalPrinter *calPrinter, const QDate &fd, |
796 | const QDate &td) | 796 | const QDate &td) |
797 | { | 797 | { |
798 | #ifndef KORG_NOPRINTER | 798 | #ifndef KORG_NOPRINTER |
799 | calPrinter->preview(CalPrinter::Todolist, fd, td); | 799 | calPrinter->preview(CalPrinter::Todolist, fd, td); |
800 | #endif | 800 | #endif |
801 | } | 801 | } |
802 | 802 | ||
803 | void KOTodoView::editItem(QListViewItem *item ) | 803 | void KOTodoView::editItem(QListViewItem *item ) |
804 | { | 804 | { |
805 | // qDebug("editItem(QListViewItem *item ) "); | 805 | // qDebug("editItem(QListViewItem *item ) "); |
806 | emit editTodoSignal(((KOTodoViewItem *)item)->todo()); | 806 | emit editTodoSignal(((KOTodoViewItem *)item)->todo()); |
807 | } | 807 | } |
808 | 808 | ||
809 | void KOTodoView::showItem(QListViewItem *item,const QPoint &,int) | 809 | void KOTodoView::showItem(QListViewItem *item,const QPoint &,int) |
810 | { | 810 | { |
811 | emit showTodoSignal(((KOTodoViewItem *)item)->todo()); | 811 | emit showTodoSignal(((KOTodoViewItem *)item)->todo()); |
812 | } | 812 | } |
813 | 813 | ||
814 | void KOTodoView::popupMenu(QListViewItem *item,const QPoint &p,int column) | 814 | void KOTodoView::popupMenu(QListViewItem *item,const QPoint &p,int column) |
815 | { | 815 | { |
816 | pendingSubtodo = 0; | 816 | pendingSubtodo = 0; |
817 | mActiveItem = (KOTodoViewItem *)item; | 817 | mActiveItem = (KOTodoViewItem *)item; |
818 | if (item) { | 818 | if (item) { |
819 | switch (column){ | 819 | switch (column){ |
820 | case 1: | 820 | case 1: |
821 | mPriorityPopupMenu->popup(QCursor::pos ()); break; | 821 | mPriorityPopupMenu->popup(QCursor::pos ()); break; |
822 | case 2: | 822 | case 2: |
823 | mPercentageCompletedPopupMenu->popup(QCursor::pos ()); break; | 823 | mPercentageCompletedPopupMenu->popup(QCursor::pos ()); break; |
824 | case 3: | 824 | case 3: |
825 | moveTodo(); | 825 | moveTodo(); |
826 | break; | 826 | break; |
827 | case 8: | 827 | case 8: |
828 | getCategoryPopupMenu((KOTodoViewItem *)item)->popup(QCursor::pos ()); break; | 828 | getCategoryPopupMenu((KOTodoViewItem *)item)->popup(QCursor::pos ()); break; |
829 | default: | 829 | default: |
830 | mItemPopupMenu->popup(QCursor::pos()); | 830 | mItemPopupMenu->popup(QCursor::pos()); |
831 | } | 831 | } |
832 | } else mPopupMenu->popup(QCursor::pos()); | 832 | } else mPopupMenu->popup(QCursor::pos()); |
833 | } | 833 | } |
834 | void KOTodoView::newTodo() | 834 | void KOTodoView::newTodo() |
835 | { | 835 | { |
836 | emit newTodoSignal(); | 836 | emit newTodoSignal(); |
837 | } | 837 | } |
838 | 838 | ||
839 | void KOTodoView::newSubTodo() | 839 | void KOTodoView::newSubTodo() |
840 | { | 840 | { |
841 | if (mActiveItem) { | 841 | if (mActiveItem) { |
842 | emit newSubTodoSignal(mActiveItem->todo()); | 842 | emit newSubTodoSignal(mActiveItem->todo()); |
843 | } | 843 | } |
844 | } | 844 | } |
845 | void KOTodoView::unparentTodo() | 845 | void KOTodoView::unparentTodo() |
846 | { | 846 | { |
847 | if (mActiveItem) { | 847 | if (mActiveItem) { |
848 | emit unparentTodoSignal(mActiveItem->todo()); | 848 | emit unparentTodoSignal(mActiveItem->todo()); |
849 | } | 849 | } |
850 | } | 850 | } |
851 | 851 | ||
852 | void KOTodoView::reparentTodo() | 852 | void KOTodoView::reparentTodo() |
853 | { | 853 | { |
854 | if (mActiveItem) { | 854 | if (mActiveItem) { |
855 | qDebug("KOTodoView::reparentTodo() "); | 855 | qDebug("KOTodoView::reparentTodo() "); |
856 | topLevelWidget()->setCaption(i18n("Click on new parent item")); | 856 | topLevelWidget()->setCaption(i18n("Click on new parent item")); |
857 | pendingSubtodo = mActiveItem; | 857 | pendingSubtodo = mActiveItem; |
858 | } | 858 | } |
859 | } | 859 | } |
860 | void KOTodoView::editTodo() | 860 | void KOTodoView::editTodo() |
861 | { | 861 | { |
862 | if (mActiveItem) { | 862 | if (mActiveItem) { |
863 | emit editTodoSignal(mActiveItem->todo()); | 863 | emit editTodoSignal(mActiveItem->todo()); |
864 | } | 864 | } |
865 | } | 865 | } |
866 | void KOTodoView::cloneTodo() | 866 | void KOTodoView::cloneTodo() |
867 | { | 867 | { |
868 | if (mActiveItem) { | 868 | if (mActiveItem) { |
869 | emit cloneTodoSignal((Incidence*)mActiveItem->todo()); | 869 | emit cloneTodoSignal((Incidence*)mActiveItem->todo()); |
870 | } | 870 | } |
871 | } | 871 | } |
872 | void KOTodoView::cancelTodo() | 872 | void KOTodoView::cancelTodo() |
873 | { | 873 | { |
874 | if (mActiveItem) { | 874 | if (mActiveItem) { |
875 | emit cancelTodoSignal((Incidence*)mActiveItem->todo()); | 875 | emit cancelTodoSignal((Incidence*)mActiveItem->todo()); |
876 | } | 876 | } |
877 | } | 877 | } |
878 | void KOTodoView::moveTodo() | 878 | void KOTodoView::moveTodo() |
879 | { | 879 | { |
880 | if (mActiveItem) { | 880 | if (mActiveItem) { |
881 | emit moveTodoSignal((Incidence*)mActiveItem->todo()); | 881 | emit moveTodoSignal((Incidence*)mActiveItem->todo()); |
882 | } | 882 | } |
883 | } | 883 | } |
884 | void KOTodoView::beamTodo() | 884 | void KOTodoView::beamTodo() |
885 | { | 885 | { |
886 | if (mActiveItem) { | 886 | if (mActiveItem) { |
887 | emit beamTodoSignal((Incidence*)mActiveItem->todo()); | 887 | emit beamTodoSignal((Incidence*)mActiveItem->todo()); |
888 | } | 888 | } |
889 | } | 889 | } |
890 | 890 | ||
891 | 891 | ||
892 | void KOTodoView::showTodo() | 892 | void KOTodoView::showTodo() |
893 | { | 893 | { |
894 | if (mActiveItem) { | 894 | if (mActiveItem) { |
895 | emit showTodoSignal(mActiveItem->todo()); | 895 | emit showTodoSignal(mActiveItem->todo()); |
896 | } | 896 | } |
897 | } | 897 | } |
898 | 898 | ||
899 | void KOTodoView::deleteTodo() | 899 | void KOTodoView::deleteTodo() |
900 | { | 900 | { |
901 | if (mActiveItem) { | 901 | if (mActiveItem) { |
902 | emit deleteTodoSignal(mActiveItem->todo()); | 902 | emit deleteTodoSignal(mActiveItem->todo()); |
903 | } | 903 | } |
904 | } | 904 | } |
905 | 905 | ||
906 | void KOTodoView::setNewPriority(int index) | 906 | void KOTodoView::setNewPriority(int index) |
907 | { | 907 | { |
908 | if (mActiveItem && !mActiveItem->todo()->isReadOnly ()) { | 908 | if (mActiveItem && !mActiveItem->todo()->isReadOnly ()) { |
909 | mActiveItem->todo()->setPriority(mPriority[index]); | 909 | mActiveItem->todo()->setPriority(mPriority[index]); |
910 | mActiveItem->construct(); | 910 | mActiveItem->construct(); |
911 | todoModified (mActiveItem->todo(), KOGlobals::PRIORITY_MODIFIED); | 911 | todoModified (mActiveItem->todo(), KOGlobals::PRIORITY_MODIFIED); |
912 | mActiveItem->todo()->setRevision( mActiveItem->todo()->revision()+1 ); | 912 | mActiveItem->todo()->setRevision( mActiveItem->todo()->revision()+1 ); |
913 | } | 913 | } |
914 | } | 914 | } |
915 | 915 | ||
916 | void KOTodoView::setNewPercentage(int index) | 916 | void KOTodoView::setNewPercentage(int index) |
917 | { | 917 | { |
918 | if (mActiveItem && !mActiveItem->todo()->isReadOnly ()) { | 918 | if (mActiveItem && !mActiveItem->todo()->isReadOnly ()) { |
919 | 919 | ||
920 | if ( mPercentage[index] == 100 && !mActiveItem->isOn() ) { | 920 | if ( mPercentage[index] == 100 && !mActiveItem->isOn() ) { |
921 | mActiveItem->setOn( true ); | 921 | mActiveItem->setOn( true ); |
922 | return; | 922 | return; |
923 | } else if ( mPercentage[index] != 100 && mActiveItem->isOn() ) { | 923 | } else if ( mPercentage[index] != 100 && mActiveItem->isOn() ) { |
924 | KOTodoViewItem* par = (static_cast<KOTodoViewItem*>(mActiveItem->parent())); | 924 | KOTodoViewItem* par = (static_cast<KOTodoViewItem*>(mActiveItem->parent())); |
925 | if ( par && par->isOn() ) | 925 | if ( par && par->isOn() ) |
926 | par->setOn( false ); | 926 | par->setOn( false ); |
927 | } | 927 | } |
928 | if (mPercentage[index] == 100) { | 928 | if (mPercentage[index] == 100) { |
929 | mActiveItem->todo()->setCompleted(QDateTime::currentDateTime()); | 929 | mActiveItem->todo()->setCompleted(QDateTime::currentDateTime()); |
930 | } else { | 930 | } else { |
931 | mActiveItem->todo()->setCompleted(false); | 931 | mActiveItem->todo()->setCompleted(false); |
932 | } | 932 | } |
933 | mActiveItem->todo()->setPercentComplete(mPercentage[index]); | 933 | mActiveItem->todo()->setPercentComplete(mPercentage[index]); |
934 | mActiveItem->construct(); | 934 | mActiveItem->construct(); |
935 | todoModified (mActiveItem->todo (), KOGlobals::COMPLETION_MODIFIED); | 935 | todoModified (mActiveItem->todo (), KOGlobals::COMPLETION_MODIFIED); |
936 | mActiveItem->todo()->setRevision( mActiveItem->todo()->revision()+1 ); | 936 | mActiveItem->todo()->setRevision( mActiveItem->todo()->revision()+1 ); |
937 | } | 937 | } |
938 | } | 938 | } |
939 | 939 | ||
940 | 940 | ||
941 | QPopupMenu * KOTodoView::getCategoryPopupMenu (KOTodoViewItem *todoItem) | 941 | QPopupMenu * KOTodoView::getCategoryPopupMenu (KOTodoViewItem *todoItem) |
942 | { | 942 | { |
943 | QPopupMenu* tempMenu = new QPopupMenu (this); | 943 | QPopupMenu* tempMenu = new QPopupMenu (this); |
944 | QStringList checkedCategories = todoItem->todo()->categories (); | 944 | QStringList checkedCategories = todoItem->todo()->categories (); |
945 | 945 | ||
946 | tempMenu->setCheckable (true); | 946 | tempMenu->setCheckable (true); |
947 | for (QStringList::Iterator it = KOPrefs::instance()->mCustomCategories.begin (); | 947 | for (QStringList::Iterator it = KOPrefs::instance()->mCustomCategories.begin (); |
948 | it != KOPrefs::instance()->mCustomCategories.end (); | 948 | it != KOPrefs::instance()->mCustomCategories.end (); |
949 | ++it) { | 949 | ++it) { |
950 | int index = tempMenu->insertItem (*it); | 950 | int index = tempMenu->insertItem (*it); |
951 | mCategory[index] = *it; | 951 | mCategory[index] = *it; |
952 | if (checkedCategories.find (*it) != checkedCategories.end ()) tempMenu->setItemChecked (index, true); | 952 | if (checkedCategories.find (*it) != checkedCategories.end ()) tempMenu->setItemChecked (index, true); |
953 | } | 953 | } |
954 | 954 | ||
955 | connect (tempMenu, SIGNAL (activated (int)), SLOT (changedCategories (int))); | 955 | connect (tempMenu, SIGNAL (activated (int)), SLOT (changedCategories (int))); |
956 | return tempMenu; | 956 | return tempMenu; |
957 | 957 | ||
958 | 958 | ||
959 | } | 959 | } |
960 | void KOTodoView::changedCategories(int index) | 960 | void KOTodoView::changedCategories(int index) |
961 | { | 961 | { |
962 | if (mActiveItem && !mActiveItem->todo()->isReadOnly ()) { | 962 | if (mActiveItem && !mActiveItem->todo()->isReadOnly ()) { |
963 | QStringList categories = mActiveItem->todo()->categories (); | 963 | QStringList categories = mActiveItem->todo()->categories (); |
964 | QString colcat = categories.first(); | ||
964 | if (categories.find (mCategory[index]) != categories.end ()) | 965 | if (categories.find (mCategory[index]) != categories.end ()) |
965 | categories.remove (mCategory[index]); | 966 | categories.remove (mCategory[index]); |
966 | else | 967 | else |
967 | categories.insert (categories.end(), mCategory[index]); | 968 | categories.insert (categories.end(), mCategory[index]); |
968 | categories.sort (); | 969 | categories.sort (); |
970 | if ( !colcat.isEmpty() ) { | ||
971 | if ( categories.find ( colcat ) != categories.end () ) { | ||
972 | categories.remove( colcat ); | ||
973 | categories.prepend( colcat ); | ||
974 | } | ||
975 | } | ||
969 | mActiveItem->todo()->setCategories (categories); | 976 | mActiveItem->todo()->setCategories (categories); |
970 | mActiveItem->construct(); | 977 | mActiveItem->construct(); |
971 | mActiveItem->todo()->setRevision( mActiveItem->todo()->revision()+1 ); | 978 | mActiveItem->todo()->setRevision( mActiveItem->todo()->revision()+1 ); |
972 | todoModified (mActiveItem->todo (), KOGlobals::CATEGORY_MODIFIED); | 979 | todoModified (mActiveItem->todo (), KOGlobals::CATEGORY_MODIFIED); |
973 | } | 980 | } |
974 | } | 981 | } |
975 | void KOTodoView::itemDoubleClicked(QListViewItem *item) | 982 | void KOTodoView::itemDoubleClicked(QListViewItem *item) |
976 | { | 983 | { |
977 | if ( pendingSubtodo != 0 ) { | 984 | if ( pendingSubtodo != 0 ) { |
978 | topLevelWidget()->setCaption(i18n("Reparenting aborted!")); | 985 | topLevelWidget()->setCaption(i18n("Reparenting aborted!")); |
979 | } | 986 | } |
980 | pendingSubtodo = 0; | 987 | pendingSubtodo = 0; |
981 | if (!item) { | 988 | if (!item) { |
982 | newTodo(); | 989 | newTodo(); |
983 | return; | 990 | return; |
984 | } | 991 | } |
985 | if ( KOPrefs::instance()->mEditOnDoubleClick ) | 992 | if ( KOPrefs::instance()->mEditOnDoubleClick ) |
986 | editItem( item ); | 993 | editItem( item ); |
987 | else | 994 | else |
988 | showItem( item , QPoint(), 0 ); | 995 | showItem( item , QPoint(), 0 ); |
989 | } | 996 | } |
990 | void KOTodoView::itemClicked(QListViewItem *item) | 997 | void KOTodoView::itemClicked(QListViewItem *item) |
991 | { | 998 | { |
992 | 999 | ||
993 | if (!item) { | 1000 | if (!item) { |
994 | if ( pendingSubtodo != 0 ) { | 1001 | if ( pendingSubtodo != 0 ) { |
995 | topLevelWidget()->setCaption(i18n("Reparenting aborted!")); | 1002 | topLevelWidget()->setCaption(i18n("Reparenting aborted!")); |
996 | } | 1003 | } |
997 | pendingSubtodo = 0; | 1004 | pendingSubtodo = 0; |
998 | return; | 1005 | return; |
999 | } | 1006 | } |
1000 | KOTodoViewItem *todoItem = (KOTodoViewItem *)item; | 1007 | KOTodoViewItem *todoItem = (KOTodoViewItem *)item; |
1001 | if ( pendingSubtodo != 0 ) { | 1008 | if ( pendingSubtodo != 0 ) { |
1002 | bool allowReparent = true; | 1009 | bool allowReparent = true; |
1003 | QListViewItem *par = item; | 1010 | QListViewItem *par = item; |
1004 | while ( par ) { | 1011 | while ( par ) { |
1005 | if ( par == pendingSubtodo ) { | 1012 | if ( par == pendingSubtodo ) { |
1006 | allowReparent = false; | 1013 | allowReparent = false; |
1007 | break; | 1014 | break; |
1008 | } | 1015 | } |
1009 | par = par->parent(); | 1016 | par = par->parent(); |
1010 | } | 1017 | } |
1011 | if ( !allowReparent ) { | 1018 | if ( !allowReparent ) { |
1012 | topLevelWidget()->setCaption(i18n("Recursive reparenting not possible!")); | 1019 | topLevelWidget()->setCaption(i18n("Recursive reparenting not possible!")); |
1013 | qDebug("Recursive reparenting not possible "); | 1020 | qDebug("Recursive reparenting not possible "); |
1014 | pendingSubtodo = 0; | 1021 | pendingSubtodo = 0; |
1015 | } else { | 1022 | } else { |
1016 | Todo* newParent = todoItem->todo(); | 1023 | Todo* newParent = todoItem->todo(); |
1017 | Todo* newSub = pendingSubtodo->todo(); | 1024 | Todo* newSub = pendingSubtodo->todo(); |
1018 | pendingSubtodo = 0; | 1025 | pendingSubtodo = 0; |
1019 | emit reparentTodoSignal( newParent,newSub ); | 1026 | emit reparentTodoSignal( newParent,newSub ); |
1020 | return; | 1027 | return; |
1021 | } | 1028 | } |
1022 | } | 1029 | } |
1023 | #if 0 | 1030 | #if 0 |
1024 | // handled by the item itself | 1031 | // handled by the item itself |
1025 | bool completed = todoItem->todo()->isCompleted(); // Completed or not? | 1032 | bool completed = todoItem->todo()->isCompleted(); // Completed or not? |
1026 | qDebug("com %d ",completed ); | 1033 | qDebug("com %d ",completed ); |
1027 | qDebug("itemclicked "); | 1034 | qDebug("itemclicked "); |
1028 | if (todoItem->isOn()) { | 1035 | if (todoItem->isOn()) { |
1029 | qDebug("on "); | 1036 | qDebug("on "); |
1030 | if (!completed) { | 1037 | if (!completed) { |
1031 | qDebug("set true "); | 1038 | qDebug("set true "); |
1032 | todoItem->todo()->setCompleted(QDateTime::currentDateTime()); | 1039 | todoItem->todo()->setCompleted(QDateTime::currentDateTime()); |
1033 | } | 1040 | } |
1034 | } else { | 1041 | } else { |
1035 | qDebug("not on "); | 1042 | qDebug("not on "); |
1036 | if (completed) { | 1043 | if (completed) { |
1037 | qDebug("set false "); | 1044 | qDebug("set false "); |
1038 | todoItem->todo()->setCompleted(false); | 1045 | todoItem->todo()->setCompleted(false); |
1039 | } | 1046 | } |
1040 | } | 1047 | } |
1041 | #endif | 1048 | #endif |
1042 | } | 1049 | } |
1043 | 1050 | ||
1044 | void KOTodoView::setDocumentId( const QString &id ) | 1051 | void KOTodoView::setDocumentId( const QString &id ) |
1045 | { | 1052 | { |
1046 | kdDebug() << "KOTodoView::setDocumentId()" << endl; | 1053 | kdDebug() << "KOTodoView::setDocumentId()" << endl; |
1047 | 1054 | ||
1048 | mDocPrefs->setDoc( id ); | 1055 | mDocPrefs->setDoc( id ); |
1049 | } | 1056 | } |
1050 | 1057 | ||
1051 | void KOTodoView::itemStateChanged( QListViewItem *item ) | 1058 | void KOTodoView::itemStateChanged( QListViewItem *item ) |
1052 | { | 1059 | { |
1053 | if (!item) return; | 1060 | if (!item) return; |
1054 | 1061 | ||
1055 | KOTodoViewItem *todoItem = (KOTodoViewItem *)item; | 1062 | KOTodoViewItem *todoItem = (KOTodoViewItem *)item; |
1056 | 1063 | ||
1057 | // kdDebug() << "KOTodoView::itemStateChanged(): " << todoItem->todo()->summary() << endl; | 1064 | // kdDebug() << "KOTodoView::itemStateChanged(): " << todoItem->todo()->summary() << endl; |
1058 | 1065 | ||
1059 | if( mDocPrefs ) mDocPrefs->writeEntry( todoItem->todo()->uid(), todoItem->isOpen() ); | 1066 | if( mDocPrefs ) mDocPrefs->writeEntry( todoItem->todo()->uid(), todoItem->isOpen() ); |
1060 | } | 1067 | } |
1061 | 1068 | ||
1062 | void KOTodoView::saveLayout(KConfig *config, const QString &group) const | 1069 | void KOTodoView::saveLayout(KConfig *config, const QString &group) const |
1063 | { | 1070 | { |
1064 | mTodoListView->saveLayout(config,group); | 1071 | mTodoListView->saveLayout(config,group); |
1065 | } | 1072 | } |
1066 | 1073 | ||
1067 | void KOTodoView::restoreLayout(KConfig *config, const QString &group) | 1074 | void KOTodoView::restoreLayout(KConfig *config, const QString &group) |
1068 | { | 1075 | { |
1069 | mTodoListView->restoreLayout(config,group); | 1076 | mTodoListView->restoreLayout(config,group); |
1070 | } | 1077 | } |
1071 | 1078 | ||
1072 | void KOTodoView::processSelectionChange() | 1079 | void KOTodoView::processSelectionChange() |
1073 | { | 1080 | { |
1074 | // kdDebug() << "KOTodoView::processSelectionChange()" << endl; | 1081 | // kdDebug() << "KOTodoView::processSelectionChange()" << endl; |
1075 | 1082 | ||
1076 | KOTodoViewItem *item = | 1083 | KOTodoViewItem *item = |
1077 | static_cast<KOTodoViewItem *>( mTodoListView->selectedItem() ); | 1084 | static_cast<KOTodoViewItem *>( mTodoListView->selectedItem() ); |
1078 | 1085 | ||
1079 | if ( !item ) { | 1086 | if ( !item ) { |
1080 | emit incidenceSelected( 0 ); | 1087 | emit incidenceSelected( 0 ); |
1081 | } else { | 1088 | } else { |
1082 | emit incidenceSelected( item->todo() ); | 1089 | emit incidenceSelected( item->todo() ); |
1083 | } | 1090 | } |
1084 | } | 1091 | } |
1085 | 1092 | ||
1086 | void KOTodoView::modified(bool b) | 1093 | void KOTodoView::modified(bool b) |
1087 | { | 1094 | { |
1088 | emit isModified(b); | 1095 | emit isModified(b); |
1089 | } | 1096 | } |
1090 | void KOTodoView::setTodoModified( Todo* todo ) | 1097 | void KOTodoView::setTodoModified( Todo* todo ) |
1091 | { | 1098 | { |
1092 | todoModified( todo, KOGlobals::UNKNOWN_MODIFIED ); | 1099 | todoModified( todo, KOGlobals::UNKNOWN_MODIFIED ); |
1093 | } | 1100 | } |
1094 | void KOTodoView::clearSelection() | 1101 | void KOTodoView::clearSelection() |
1095 | { | 1102 | { |
1096 | mTodoListView->selectAll( false ); | 1103 | mTodoListView->selectAll( false ); |
1097 | } | 1104 | } |
1098 | void KOTodoView::setAllOpen() | 1105 | void KOTodoView::setAllOpen() |
1099 | { | 1106 | { |
1100 | if ( isFlatDisplay ) { | 1107 | if ( isFlatDisplay ) { |
1101 | isFlatDisplay = false; | 1108 | isFlatDisplay = false; |
1102 | mPopupMenu->setItemChecked( 8,false ); | 1109 | mPopupMenu->setItemChecked( 8,false ); |
1103 | updateView(); | 1110 | updateView(); |
1104 | } | 1111 | } |
1105 | setOpen(mTodoListView->firstChild(), true); | 1112 | setOpen(mTodoListView->firstChild(), true); |
1106 | } | 1113 | } |
1107 | void KOTodoView::setAllClose() | 1114 | void KOTodoView::setAllClose() |
1108 | { | 1115 | { |
1109 | if ( isFlatDisplay ) { | 1116 | if ( isFlatDisplay ) { |
1110 | isFlatDisplay = false; | 1117 | isFlatDisplay = false; |
1111 | mPopupMenu->setItemChecked( 8,false ); | 1118 | mPopupMenu->setItemChecked( 8,false ); |
1112 | updateView(); | 1119 | updateView(); |
1113 | } | 1120 | } |
1114 | setOpen(mTodoListView->firstChild(), false); | 1121 | setOpen(mTodoListView->firstChild(), false); |
1115 | } | 1122 | } |
1116 | void KOTodoView::setOpen( QListViewItem* item, bool setOpenI) | 1123 | void KOTodoView::setOpen( QListViewItem* item, bool setOpenI) |
1117 | { | 1124 | { |
1118 | 1125 | ||
1119 | while ( item ) { | 1126 | while ( item ) { |
1120 | setOpen( item->firstChild(), setOpenI ); | 1127 | setOpen( item->firstChild(), setOpenI ); |
1121 | item->setOpen( setOpenI ); | 1128 | item->setOpen( setOpenI ); |
1122 | item = item->nextSibling(); | 1129 | item = item->nextSibling(); |
1123 | } | 1130 | } |
1124 | } | 1131 | } |
1125 | 1132 | ||
1126 | void KOTodoView::displayAllFlat() | 1133 | void KOTodoView::displayAllFlat() |
1127 | { | 1134 | { |
1128 | pendingSubtodo = 0; | 1135 | pendingSubtodo = 0; |
1129 | if ( mBlockUpdate ) { | 1136 | if ( mBlockUpdate ) { |
1130 | return; | 1137 | return; |
1131 | } | 1138 | } |
1132 | mPopupMenu->setItemChecked( 8,true ); | 1139 | mPopupMenu->setItemChecked( 8,true ); |
1133 | isFlatDisplay = true; | 1140 | isFlatDisplay = true; |
1134 | QPtrList<Todo> todoList = calendar()->todos(); | 1141 | QPtrList<Todo> todoList = calendar()->todos(); |
1135 | mTodoMap.clear(); | 1142 | mTodoMap.clear(); |
1136 | mTodoListView->clear(); | 1143 | mTodoListView->clear(); |
1137 | Todo *todo; | 1144 | Todo *todo; |
1138 | for(todo = todoList.first(); todo; todo = todoList.next()) { | 1145 | for(todo = todoList.first(); todo; todo = todoList.next()) { |
1139 | KOTodoViewItem *todoItem = new KOTodoViewItem(mTodoListView,todo,this); | 1146 | KOTodoViewItem *todoItem = new KOTodoViewItem(mTodoListView,todo,this); |
1140 | mTodoMap.insert(todo,todoItem); | 1147 | mTodoMap.insert(todo,todoItem); |
1141 | } | 1148 | } |
1142 | mTodoListView->setFocus(); | 1149 | mTodoListView->setFocus(); |
1143 | processSelectionChange(); | 1150 | processSelectionChange(); |
1144 | } | 1151 | } |
1145 | 1152 | ||
1146 | void KOTodoView::setAllFlat() | 1153 | void KOTodoView::setAllFlat() |
1147 | { | 1154 | { |
1148 | if ( isFlatDisplay ) { | 1155 | if ( isFlatDisplay ) { |
1149 | isFlatDisplay = false; | 1156 | isFlatDisplay = false; |
1150 | mPopupMenu->setItemChecked( 8,false ); | 1157 | mPopupMenu->setItemChecked( 8,false ); |
1151 | updateView(); | 1158 | updateView(); |
1152 | return; | 1159 | return; |
1153 | } | 1160 | } |
1154 | displayAllFlat(); | 1161 | displayAllFlat(); |
1155 | } | 1162 | } |
1156 | 1163 | ||
1157 | void KOTodoView::purgeCompleted() | 1164 | void KOTodoView::purgeCompleted() |
1158 | { | 1165 | { |
1159 | emit purgeCompletedSignal(); | 1166 | emit purgeCompletedSignal(); |
1160 | } | 1167 | } |
1161 | void KOTodoView::toggleQuickTodo() | 1168 | void KOTodoView::toggleQuickTodo() |
1162 | { | 1169 | { |
1163 | if ( mQuickAdd->isVisible() ) { | 1170 | if ( mQuickAdd->isVisible() ) { |
1164 | mQuickAdd->hide(); | 1171 | mQuickAdd->hide(); |
1165 | KOPrefs::instance()->mEnableQuickTodo = false; | 1172 | KOPrefs::instance()->mEnableQuickTodo = false; |
1166 | } | 1173 | } |
1167 | else { | 1174 | else { |
1168 | mQuickAdd->show(); | 1175 | mQuickAdd->show(); |
1169 | KOPrefs::instance()->mEnableQuickTodo = true; | 1176 | KOPrefs::instance()->mEnableQuickTodo = true; |
1170 | } | 1177 | } |
1171 | mPopupMenu->setItemChecked(4,KOPrefs::instance()->mEnableQuickTodo); | 1178 | mPopupMenu->setItemChecked(4,KOPrefs::instance()->mEnableQuickTodo); |
1172 | mItemPopupMenu->setItemChecked( 34 , KOPrefs::instance()->mEnableQuickTodo ); | 1179 | mItemPopupMenu->setItemChecked( 34 , KOPrefs::instance()->mEnableQuickTodo ); |
1173 | } | 1180 | } |
1174 | 1181 | ||
1175 | void KOTodoView::toggleRunning() | 1182 | void KOTodoView::toggleRunning() |
1176 | { | 1183 | { |
1177 | KOPrefs::instance()->mHideNonStartedTodos = !KOPrefs::instance()->mHideNonStartedTodos; | 1184 | KOPrefs::instance()->mHideNonStartedTodos = !KOPrefs::instance()->mHideNonStartedTodos; |
1178 | mPopupMenu->setItemChecked(5,KOPrefs::instance()->mHideNonStartedTodos); | 1185 | mPopupMenu->setItemChecked(5,KOPrefs::instance()->mHideNonStartedTodos); |
1179 | mItemPopupMenu->setItemChecked( 35 , KOPrefs::instance()->mHideNonStartedTodos ); | 1186 | mItemPopupMenu->setItemChecked( 35 , KOPrefs::instance()->mHideNonStartedTodos ); |
1180 | updateView(); | 1187 | updateView(); |
1181 | } | 1188 | } |
1182 | 1189 | ||
1183 | void KOTodoView::toggleCompleted() | 1190 | void KOTodoView::toggleCompleted() |
1184 | { | 1191 | { |
1185 | KOPrefs::instance()->mShowCompletedTodo = !KOPrefs::instance()->mShowCompletedTodo; | 1192 | KOPrefs::instance()->mShowCompletedTodo = !KOPrefs::instance()->mShowCompletedTodo; |
1186 | mPopupMenu->setItemChecked( 3,KOPrefs::instance()->mShowCompletedTodo ); | 1193 | mPopupMenu->setItemChecked( 3,KOPrefs::instance()->mShowCompletedTodo ); |
1187 | mItemPopupMenu->setItemChecked( 33 , KOPrefs::instance()->mShowCompletedTodo ); | 1194 | mItemPopupMenu->setItemChecked( 33 , KOPrefs::instance()->mShowCompletedTodo ); |
1188 | updateView(); | 1195 | updateView(); |
1189 | } | 1196 | } |
1190 | 1197 | ||
1191 | void KOTodoView::addQuickTodo() | 1198 | void KOTodoView::addQuickTodo() |
1192 | { | 1199 | { |
1193 | Todo *todo = new Todo(); | 1200 | Todo *todo = new Todo(); |
1194 | todo->setSummary(mQuickAdd->text()); | 1201 | todo->setSummary(mQuickAdd->text()); |
1195 | todo->setOrganizer(KOPrefs::instance()->email()); | 1202 | todo->setOrganizer(KOPrefs::instance()->email()); |
1196 | CalFilter * cf = mCalendar->filter(); | 1203 | CalFilter * cf = mCalendar->filter(); |
1197 | if ( cf ) { | 1204 | if ( cf ) { |
1198 | if ( cf->isEnabled()&& cf->showCategories()) { | 1205 | if ( cf->isEnabled()&& cf->showCategories()) { |
1199 | todo->setCategories(cf->categoryList()); | 1206 | todo->setCategories(cf->categoryList()); |
1200 | } | 1207 | } |
1201 | if ( cf->isEnabled() ) | 1208 | if ( cf->isEnabled() ) |
1202 | todo->setSecrecy( cf->getSecrecy()); | 1209 | todo->setSecrecy( cf->getSecrecy()); |
1203 | } | 1210 | } |
1204 | mCalendar->addTodo(todo); | 1211 | mCalendar->addTodo(todo); |
1205 | mQuickAdd->setText(""); | 1212 | mQuickAdd->setText(""); |
1206 | todoModified (todo, KOGlobals::EVENTADDED ); | 1213 | todoModified (todo, KOGlobals::EVENTADDED ); |
1207 | updateView(); | 1214 | updateView(); |
1208 | } | 1215 | } |
1209 | void KOTodoView::keyPressEvent ( QKeyEvent * e ) | 1216 | void KOTodoView::keyPressEvent ( QKeyEvent * e ) |
1210 | { | 1217 | { |
1211 | // e->ignore(); | 1218 | // e->ignore(); |
1212 | //return; | 1219 | //return; |
1213 | //qDebug("KOTodoView::keyPressEvent "); | 1220 | //qDebug("KOTodoView::keyPressEvent "); |
1214 | switch ( e->key() ) { | 1221 | switch ( e->key() ) { |
1215 | case Qt::Key_Down: | 1222 | case Qt::Key_Down: |
1216 | case Qt::Key_Up: | 1223 | case Qt::Key_Up: |
1217 | QWidget::keyPressEvent ( e ); | 1224 | QWidget::keyPressEvent ( e ); |
1218 | break; | 1225 | break; |
1219 | 1226 | ||
1220 | case Qt::Key_Q: | 1227 | case Qt::Key_Q: |
1221 | toggleQuickTodo(); | 1228 | toggleQuickTodo(); |
1222 | break; | 1229 | break; |
1223 | case Qt::Key_U: | 1230 | case Qt::Key_U: |
1224 | if ( e->state() == Qt::ControlButton|| e->state() == Qt::ShiftButton ) { | 1231 | if ( e->state() == Qt::ControlButton|| e->state() == Qt::ShiftButton ) { |
diff --git a/libkdepim/categoryselectdialog.cpp b/libkdepim/categoryselectdialog.cpp index 7df9154..8b2bc4e 100644 --- a/libkdepim/categoryselectdialog.cpp +++ b/libkdepim/categoryselectdialog.cpp | |||
@@ -1,171 +1,237 @@ | |||
1 | /* | 1 | /* |
2 | This file is part of libkdepim. | 2 | This file is part of libkdepim. |
3 | Copyright (c) 2000, 2001, 2002 Cornelius Schumacher <schumacher@kde.org> | 3 | Copyright (c) 2000, 2001, 2002 Cornelius Schumacher <schumacher@kde.org> |
4 | 4 | ||
5 | This program is free software; you can redistribute it and/or modify | 5 | This program is free software; you can redistribute it and/or modify |
6 | it under the terms of the GNU General Public License as published by | 6 | it under the terms of the GNU General Public License as published by |
7 | the Free Software Foundation; either version 2 of the License, or | 7 | the Free Software Foundation; either version 2 of the License, or |
8 | (at your option) any later version. | 8 | (at your option) any later version. |
9 | 9 | ||
10 | This program is distributed in the hope that it will be useful, | 10 | This program is distributed in the hope that it will be useful, |
11 | but WITHOUT ANY WARRANTY; without even the implied warranty of | 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of |
12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
13 | GNU General Public License for more details. | 13 | GNU General Public License for more details. |
14 | 14 | ||
15 | You should have received a copy of the GNU General Public License | 15 | You should have received a copy of the GNU General Public License |
16 | along with this program; if not, write to the Free Software | 16 | along with this program; if not, write to the Free Software |
17 | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | 17 | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. |
18 | 18 | ||
19 | As a special exception, permission is given to link this program | 19 | As a special exception, permission is given to link this program |
20 | with any edition of Qt, and distribute the resulting executable, | 20 | with any edition of Qt, and distribute the resulting executable, |
21 | without including the source code for Qt in the source distribution. | 21 | without including the source code for Qt in the source distribution. |
22 | */ | 22 | */ |
23 | 23 | ||
24 | #include <qlistview.h> | 24 | #include <qlistview.h> |
25 | #include <qpushbutton.h> | 25 | #include <qpushbutton.h> |
26 | #include <qheader.h> | 26 | #include <qheader.h> |
27 | #include <qapp.h> | 27 | #include <qapp.h> |
28 | #include <qmessagebox.h> | 28 | #include <qmessagebox.h> |
29 | #include <kmessagebox.h> | ||
29 | 30 | ||
30 | 31 | ||
31 | #include "categoryeditdialog.h" | 32 | #include "categoryeditdialog.h" |
32 | #include "categoryselectdialog.h" | 33 | #include "categoryselectdialog.h" |
33 | 34 | ||
34 | #include "kpimprefs.h" | 35 | #include "kpimprefs.h" |
35 | 36 | ||
36 | using namespace KPIM; | 37 | using namespace KPIM; |
37 | 38 | ||
38 | CategorySelectDialog::CategorySelectDialog( KPimPrefs *prefs, QWidget* parent, | 39 | CategorySelectDialog::CategorySelectDialog( KPimPrefs *prefs, QWidget* parent, |
39 | const char* name, | 40 | const char* name, |
40 | bool modal, WFlags fl ) | 41 | bool modal, WFlags fl ) |
41 | : CategorySelectDialog_base( parent, name, true, fl ), | 42 | : CategorySelectDialog_base( parent, name, true, fl ), |
42 | mPrefs( prefs ) | 43 | mPrefs( prefs ) |
43 | { | 44 | { |
44 | mCategories->header()->hide(); | 45 | mColorItem = 0; |
46 | mColorEnabled = false; | ||
47 | mCategories->header()->hide(); | ||
45 | 48 | ||
46 | setCategories(); | 49 | setCategories(); |
47 | 50 | ||
48 | connect(mButtonEdit,SIGNAL(clicked()),this, SLOT(editCategoriesDialog())); | 51 | connect(mButtonEdit,SIGNAL(clicked()),this, SLOT(editCategoriesDialog())); |
49 | if ( QApplication::desktop()->width() > 460 ) | 52 | if ( QApplication::desktop()->width() > 460 ) |
50 | resize( 300, 360 ); | 53 | resize( 300, 360 ); |
51 | else | 54 | else |
52 | showMaximized(); | 55 | showMaximized(); |
56 | connect( mSetColorCat, SIGNAL( clicked() ), this, SLOT( setColorCat() ) ); | ||
57 | connect( mCategories, SIGNAL( clicked(QListViewItem *) ), this, SLOT( clicked(QListViewItem *) ) ); | ||
53 | } | 58 | } |
54 | void CategorySelectDialog::editCategoriesDialog() | 59 | void CategorySelectDialog::editCategoriesDialog() |
55 | { | 60 | { |
56 | KPIM::CategoryEditDialog* ced = new KPIM::CategoryEditDialog(mPrefs,this ); | 61 | KPIM::CategoryEditDialog* ced = new KPIM::CategoryEditDialog(mPrefs,this ); |
57 | 62 | ||
58 | ced->exec(); | 63 | ced->exec(); |
59 | delete ced; | 64 | delete ced; |
60 | setCategories(); | 65 | setCategories(); |
61 | } | 66 | } |
62 | void CategorySelectDialog::setCategories() | 67 | void CategorySelectDialog::setCategories() |
63 | { | 68 | { |
69 | mColorItem = 0; | ||
64 | mCategories->clear(); | 70 | mCategories->clear(); |
65 | mCategoryList.clear(); | 71 | mCategoryList.clear(); |
66 | 72 | ||
67 | QStringList::Iterator it; | 73 | QStringList::Iterator it; |
68 | |||
69 | for (it = mPrefs->mCustomCategories.begin(); | 74 | for (it = mPrefs->mCustomCategories.begin(); |
70 | it != mPrefs->mCustomCategories.end(); ++it ) { | 75 | it != mPrefs->mCustomCategories.end(); ++it ) { |
71 | new QCheckListItem(mCategories,*it,QCheckListItem::CheckBox); | 76 | new QCheckListItem(mCategories,*it,QCheckListItem::CheckBox); |
72 | } | 77 | } |
73 | } | 78 | } |
74 | 79 | ||
75 | CategorySelectDialog::~CategorySelectDialog() | 80 | CategorySelectDialog::~CategorySelectDialog() |
76 | { | 81 | { |
77 | } | 82 | } |
78 | 83 | ||
79 | void CategorySelectDialog::setSelected(const QStringList &selList) | 84 | void CategorySelectDialog::setSelected(const QStringList &selList) |
80 | { | 85 | { |
81 | clear(); | 86 | clear(); |
82 | 87 | ||
83 | QStringList::ConstIterator it; | 88 | QStringList::ConstIterator it; |
84 | QStringList notFound; | 89 | QStringList notFound; |
85 | bool found = false; | 90 | bool found = false; |
86 | for (it=selList.begin();it!=selList.end();++it) { | 91 | for (it=selList.begin();it!=selList.end();++it) { |
87 | //qDebug(" CategorySelectDialog::setSelected("); | 92 | //qDebug(" CategorySelectDialog::setSelected("); |
88 | QCheckListItem *item = (QCheckListItem *)mCategories->firstChild(); | 93 | QCheckListItem *item = (QCheckListItem *)mCategories->firstChild(); |
89 | while (item) { | 94 | while (item) { |
90 | if (item->text() == *it) { | 95 | if (item->text() == *it) { |
91 | item->setOn(true); | 96 | item->setOn(true); |
97 | if ( ! found ) | ||
98 | setColorItem( item ); | ||
92 | found = true; | 99 | found = true; |
93 | break; | 100 | break; |
94 | } | 101 | } |
95 | item = (QCheckListItem *)item->nextSibling(); | 102 | item = (QCheckListItem *)item->nextSibling(); |
96 | } | 103 | } |
97 | // if ( ! found ) { | 104 | // if ( ! found ) { |
98 | 105 | ||
99 | //emit updateCategoriesGlobal(); | 106 | //emit updateCategoriesGlobal(); |
100 | // QMessageBox::information( this, "KO/E: Information!", | 107 | // QMessageBox::information( this, "KO/E: Information!", |
101 | // "Categories found, which were not\n" | 108 | // "Categories found, which were not\n" |
102 | // "in list of categories!\n" | 109 | // "in list of categories!\n" |
103 | // "message", | 110 | // "message", |
104 | // "OK", "", 0, | 111 | // "OK", "", 0, |
105 | // 0, 1 ); | 112 | // 0, 1 ); |
106 | // setSelected(selList); | 113 | // setSelected(selList); |
107 | // return; | 114 | // return; |
108 | // } | 115 | // } |
109 | } | 116 | } |
110 | } | 117 | } |
111 | 118 | ||
112 | QStringList CategorySelectDialog::selectedCategories() const | 119 | QStringList CategorySelectDialog::selectedCategories() const |
113 | { | 120 | { |
114 | return mCategoryList; | 121 | return mCategoryList; |
115 | } | 122 | } |
123 | void CategorySelectDialog::setColorEnabled() | ||
124 | { | ||
125 | mColorEnabled = true; | ||
126 | mSetColorCat->show(); | ||
127 | } | ||
128 | void CategorySelectDialog::setColorCat() | ||
129 | { | ||
130 | QCheckListItem * newColorItem = (QCheckListItem * )mCategories->currentItem (); | ||
131 | if ( !newColorItem ) { | ||
132 | KMessageBox::error(this,i18n("There is no current item.")); | ||
133 | return; | ||
134 | } | ||
135 | if ( !newColorItem->isOn() ) | ||
136 | newColorItem->setOn( true ); | ||
137 | setColorItem( newColorItem ); | ||
116 | 138 | ||
139 | } | ||
140 | void CategorySelectDialog::clicked ( QListViewItem * it ) | ||
141 | { | ||
142 | if ( ! it ) | ||
143 | return; | ||
144 | QCheckListItem *i = (QCheckListItem *) it; | ||
145 | qDebug("click %d ", i->isOn()); | ||
146 | if ( !i->isOn() && i==mColorItem) { | ||
147 | setColorItem( 0); | ||
148 | QCheckListItem *item = (QCheckListItem *)mCategories->firstChild(); | ||
149 | while (item) { | ||
150 | if (item->isOn()) { | ||
151 | setColorItem( item ); | ||
152 | break; | ||
153 | } | ||
154 | item = (QCheckListItem *)item->nextSibling(); | ||
155 | } | ||
156 | } else if ( i->isOn() && !mColorItem) { | ||
157 | setColorItem( i); | ||
158 | } | ||
159 | } | ||
160 | void CategorySelectDialog::setColorItem( QCheckListItem * newColorItem ) | ||
161 | { | ||
162 | if ( !mColorEnabled ) | ||
163 | return; | ||
164 | if ( mColorItem == newColorItem) | ||
165 | return; | ||
166 | if ( mColorItem ) { | ||
167 | mColorItem->setPixmap ( 0, QPixmap() ); | ||
168 | mColorItem = 0; | ||
169 | } | ||
170 | if ( newColorItem ) { | ||
171 | QPixmap pix (newColorItem->height()/2, newColorItem->height()/2 ); | ||
172 | pix.fill(Qt::blue ); | ||
173 | newColorItem->setPixmap ( 0, pix ); | ||
174 | mColorItem = newColorItem; | ||
175 | } | ||
176 | } | ||
117 | void CategorySelectDialog::slotApply() | 177 | void CategorySelectDialog::slotApply() |
118 | { | 178 | { |
119 | QStringList categories; | 179 | QStringList categories; |
120 | QCheckListItem *item = (QCheckListItem *)mCategories->firstChild(); | 180 | QCheckListItem *item = (QCheckListItem *)mCategories->firstChild(); |
181 | QString colcat; | ||
121 | while (item) { | 182 | while (item) { |
122 | if (item->isOn()) { | 183 | if (item->isOn()) { |
123 | categories.append(item->text()); | 184 | if ( item == mColorItem) |
185 | colcat = item->text(); | ||
186 | else | ||
187 | categories.append(item->text()); | ||
124 | } | 188 | } |
125 | item = (QCheckListItem *)item->nextSibling(); | 189 | item = (QCheckListItem *)item->nextSibling(); |
126 | } | 190 | } |
127 | 191 | categories.sort(); | |
192 | if ( ! colcat.isEmpty() ) | ||
193 | categories.prepend( colcat ); | ||
128 | QString categoriesStr = categories.join(","); | 194 | QString categoriesStr = categories.join(","); |
129 | 195 | ||
130 | mCategoryList = categories; | 196 | mCategoryList = categories; |
131 | 197 | ||
132 | emit categoriesSelected(categories); | 198 | emit categoriesSelected(categories); |
133 | emit categoriesSelected(categoriesStr); | 199 | emit categoriesSelected(categoriesStr); |
134 | } | 200 | } |
135 | void CategorySelectDialog::accept() | 201 | void CategorySelectDialog::accept() |
136 | { | 202 | { |
137 | slotOk(); | 203 | slotOk(); |
138 | } | 204 | } |
139 | 205 | ||
140 | void CategorySelectDialog::slotOk() | 206 | void CategorySelectDialog::slotOk() |
141 | { | 207 | { |
142 | slotApply(); | 208 | slotApply(); |
143 | QDialog::accept(); | 209 | QDialog::accept(); |
144 | } | 210 | } |
145 | 211 | ||
146 | void CategorySelectDialog::clear() | 212 | void CategorySelectDialog::clear() |
147 | { | 213 | { |
148 | QCheckListItem *item = (QCheckListItem *)mCategories->firstChild(); | 214 | QCheckListItem *item = (QCheckListItem *)mCategories->firstChild(); |
149 | while (item) { | 215 | while (item) { |
150 | item->setOn(false); | 216 | item->setOn(false); |
151 | item = (QCheckListItem *)item->nextSibling(); | 217 | item = (QCheckListItem *)item->nextSibling(); |
152 | } | 218 | } |
153 | } | 219 | } |
154 | 220 | ||
155 | void CategorySelectDialog::updateCategoryConfig() | 221 | void CategorySelectDialog::updateCategoryConfig() |
156 | { | 222 | { |
157 | QStringList selected; | 223 | QStringList selected; |
158 | QCheckListItem *item = (QCheckListItem *)mCategories->firstChild(); | 224 | QCheckListItem *item = (QCheckListItem *)mCategories->firstChild(); |
159 | while (item) { | 225 | while (item) { |
160 | if (item->isOn()) { | 226 | if (item->isOn()) { |
161 | selected.append(item->text()); | 227 | selected.append(item->text()); |
162 | } | 228 | } |
163 | item = (QCheckListItem *)item->nextSibling(); | 229 | item = (QCheckListItem *)item->nextSibling(); |
164 | } | 230 | } |
165 | 231 | ||
166 | setCategories(); | 232 | setCategories(); |
167 | 233 | ||
168 | setSelected(selected); | 234 | setSelected(selected); |
169 | } | 235 | } |
170 | 236 | ||
171 | //#include "categoryselectdialog.moc" | 237 | //#include "categoryselectdialog.moc" |
diff --git a/libkdepim/categoryselectdialog.h b/libkdepim/categoryselectdialog.h index 9b6261c..680a093 100644 --- a/libkdepim/categoryselectdialog.h +++ b/libkdepim/categoryselectdialog.h | |||
@@ -1,69 +1,75 @@ | |||
1 | /* | 1 | /* |
2 | This file is part of libkdepim. | 2 | This file is part of libkdepim. |
3 | Copyright (c) 2000, 2001, 2002 Cornelius Schumacher <schumacher@kde.org> | 3 | Copyright (c) 2000, 2001, 2002 Cornelius Schumacher <schumacher@kde.org> |
4 | 4 | ||
5 | This program is free software; you can redistribute it and/or modify | 5 | This program is free software; you can redistribute it and/or modify |
6 | it under the terms of the GNU General Public License as published by | 6 | it under the terms of the GNU General Public License as published by |
7 | the Free Software Foundation; either version 2 of the License, or | 7 | the Free Software Foundation; either version 2 of the License, or |
8 | (at your option) any later version. | 8 | (at your option) any later version. |
9 | 9 | ||
10 | This program is distributed in the hope that it will be useful, | 10 | This program is distributed in the hope that it will be useful, |
11 | but WITHOUT ANY WARRANTY; without even the implied warranty of | 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of |
12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
13 | GNU General Public License for more details. | 13 | GNU General Public License for more details. |
14 | 14 | ||
15 | You should have received a copy of the GNU General Public License | 15 | You should have received a copy of the GNU General Public License |
16 | along with this program; if not, write to the Free Software | 16 | along with this program; if not, write to the Free Software |
17 | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | 17 | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. |
18 | 18 | ||
19 | As a special exception, permission is given to link this program | 19 | As a special exception, permission is given to link this program |
20 | with any edition of Qt, and distribute the resulting executable, | 20 | with any edition of Qt, and distribute the resulting executable, |
21 | without including the source code for Qt in the source distribution. | 21 | without including the source code for Qt in the source distribution. |
22 | */ | 22 | */ |
23 | #ifndef KPIM_CATEGORYSELECTDIALOG_H | 23 | #ifndef KPIM_CATEGORYSELECTDIALOG_H |
24 | #define KPIM_CATEGORYSELECTDIALOG_H | 24 | #define KPIM_CATEGORYSELECTDIALOG_H |
25 | 25 | ||
26 | #include <categoryselectdialog_base.h> | 26 | #include <categoryselectdialog_base.h> |
27 | 27 | ||
28 | class KPimPrefs; | 28 | class KPimPrefs; |
29 | class QCheckListItem; | ||
29 | 30 | ||
30 | namespace KPIM { | 31 | namespace KPIM { |
31 | 32 | ||
32 | class CategorySelectDialog : public CategorySelectDialog_base | 33 | class CategorySelectDialog : public CategorySelectDialog_base |
33 | { | 34 | { |
34 | Q_OBJECT | 35 | Q_OBJECT |
35 | public: | 36 | public: |
36 | CategorySelectDialog( KPimPrefs *prefs, QWidget* parent = 0, | 37 | CategorySelectDialog( KPimPrefs *prefs, QWidget* parent = 0, |
37 | const char* name = 0, | 38 | const char* name = 0, |
38 | bool modal = FALSE, WFlags fl = 0 ); | 39 | bool modal = FALSE, WFlags fl = 0 ); |
39 | ~CategorySelectDialog(); | 40 | ~CategorySelectDialog(); |
40 | 41 | ||
41 | void setCategories(); | 42 | void setCategories(); |
43 | void setColorEnabled(); | ||
42 | void setSelected(const QStringList &selList); | 44 | void setSelected(const QStringList &selList); |
43 | 45 | ||
44 | QStringList selectedCategories() const; | 46 | QStringList selectedCategories() const; |
45 | 47 | ||
46 | public slots: | 48 | public slots: |
47 | void slotOk(); | 49 | void slotOk(); |
48 | void slotApply(); | 50 | void slotApply(); |
49 | void clear(); | 51 | void clear(); |
50 | void accept(); | 52 | void accept(); |
51 | void editCategoriesDialog(); | 53 | void editCategoriesDialog(); |
52 | void updateCategoryConfig(); | 54 | void updateCategoryConfig(); |
53 | 55 | void setColorCat(); | |
56 | void clicked ( QListViewItem * ); | ||
54 | signals: | 57 | signals: |
55 | void categoriesSelected(const QString &); | 58 | void categoriesSelected(const QString &); |
56 | void categoriesSelected(const QStringList &); | 59 | void categoriesSelected(const QStringList &); |
57 | void editCategories(); | 60 | void editCategories(); |
58 | 61 | ||
59 | private: | 62 | private: |
63 | bool mColorEnabled; | ||
60 | KPimPrefs *mPrefs; | 64 | KPimPrefs *mPrefs; |
61 | QStringList mCategoryList; | 65 | QStringList mCategoryList; |
66 | QCheckListItem *mColorItem; | ||
67 | void setColorItem( QCheckListItem * ); | ||
62 | 68 | ||
63 | class CategorySelectDialogPrivate; | 69 | class CategorySelectDialogPrivate; |
64 | CategorySelectDialogPrivate *d; | 70 | CategorySelectDialogPrivate *d; |
65 | }; | 71 | }; |
66 | 72 | ||
67 | } | 73 | } |
68 | 74 | ||
69 | #endif | 75 | #endif |
diff --git a/libkdepim/categoryselectdialog_base.cpp b/libkdepim/categoryselectdialog_base.cpp index 3f050cf..4793fd7 100644 --- a/libkdepim/categoryselectdialog_base.cpp +++ b/libkdepim/categoryselectdialog_base.cpp | |||
@@ -1,128 +1,131 @@ | |||
1 | #include <klocale.h> | 1 | #include <klocale.h> |
2 | /**************************************************************************** | 2 | /**************************************************************************** |
3 | ** Form implementation generated from reading ui file '/build/kde/cvs/korge/kdepim/libkdepim/categoryselectdialog_base.ui' | 3 | ** Form implementation generated from reading ui file '/build/kde/cvs/korge/kdepim/libkdepim/categoryselectdialog_base.ui' |
4 | ** | 4 | ** |
5 | ** Created: Sat Mar 29 21:46:05 2003 | 5 | ** Created: Sat Mar 29 21:46:05 2003 |
6 | ** by: The User Interface Compiler () | 6 | ** by: The User Interface Compiler () |
7 | ** | 7 | ** |
8 | ** WARNING! All changes made in this file will be lost! | 8 | ** WARNING! All changes made in this file will be lost! |
9 | ****************************************************************************/ | 9 | ****************************************************************************/ |
10 | 10 | ||
11 | #include "categoryselectdialog_base.h" | 11 | #include "categoryselectdialog_base.h" |
12 | 12 | ||
13 | #include <qvariant.h> | 13 | #include <qvariant.h> |
14 | #include <qheader.h> | 14 | #include <qheader.h> |
15 | #include <qlistview.h> | 15 | #include <qlistview.h> |
16 | #include <qpushbutton.h> | 16 | #include <qpushbutton.h> |
17 | #include <qlayout.h> | 17 | #include <qlayout.h> |
18 | #include <qtooltip.h> | 18 | #include <qtooltip.h> |
19 | #include <qwhatsthis.h> | 19 | #include <qwhatsthis.h> |
20 | 20 | ||
21 | /* | 21 | /* |
22 | * Constructs a CategorySelectDialog_base as a child of 'parent', with the | 22 | * Constructs a CategorySelectDialog_base as a child of 'parent', with the |
23 | * name 'name' and widget flags set to 'f'. | 23 | * name 'name' and widget flags set to 'f'. |
24 | * | 24 | * |
25 | * The dialog will by default be modeless, unless you set 'modal' to | 25 | * The dialog will by default be modeless, unless you set 'modal' to |
26 | * TRUE to construct a modal dialog. | 26 | * TRUE to construct a modal dialog. |
27 | */ | 27 | */ |
28 | CategorySelectDialog_base::CategorySelectDialog_base( QWidget* parent, const char* name, bool modal, WFlags fl ) | 28 | CategorySelectDialog_base::CategorySelectDialog_base( QWidget* parent, const char* name, bool modal, WFlags fl ) |
29 | : QDialog( parent, name, modal, fl ) | 29 | : QDialog( parent, name, modal, fl ) |
30 | 30 | ||
31 | { | 31 | { |
32 | if ( !name ) | 32 | if ( !name ) |
33 | setName( "CategorySelectDialog_base" ); | 33 | setName( "CategorySelectDialog_base" ); |
34 | CategorySelectDialog_baseLayout = new QVBoxLayout( this, 11, 6, "CategorySelectDialog_baseLayout"); | 34 | CategorySelectDialog_baseLayout = new QVBoxLayout( this, 11, 6, "CategorySelectDialog_baseLayout"); |
35 | 35 | ||
36 | mCategories = new QListView( this, "mCategories" ); | 36 | mCategories = new QListView( this, "mCategories" ); |
37 | mCategories->addColumn( i18n( "Category" ) ); | 37 | mCategories->addColumn( i18n( "Category" ) ); |
38 | CategorySelectDialog_baseLayout->addWidget( mCategories ); | 38 | CategorySelectDialog_baseLayout->addWidget( mCategories ); |
39 | 39 | mSetColorCat = new QPushButton( this, "msetColor" ); | |
40 | Layout12 = new QHBoxLayout( 0, 0, 6, "Layout12"); | 40 | CategorySelectDialog_baseLayout->addWidget( mSetColorCat ); |
41 | Layout12 = new QHBoxLayout( 0, 0, 4, "Layout12"); | ||
41 | 42 | ||
42 | mClear = new QPushButton( this, "mClear" ); | 43 | mClear = new QPushButton( this, "mClear" ); |
43 | Layout12->addWidget( mClear ); | 44 | Layout12->addWidget( mClear ); |
44 | // QSpacerItem* spacer = new QSpacerItem( 20, 20, QSizePolicy::Expanding, QSizePolicy::Minimum ); | 45 | // QSpacerItem* spacer = new QSpacerItem( 20, 20, QSizePolicy::Expanding, QSizePolicy::Minimum ); |
45 | //Layout12->addItem( spacer ); | 46 | //Layout12->addItem( spacer ); |
46 | 47 | ||
47 | mButtonEdit = new QPushButton( this, "mButtonEdit" ); | 48 | mButtonEdit = new QPushButton( this, "mButtonEdit" ); |
48 | Layout12->addWidget( mButtonEdit ); | 49 | Layout12->addWidget( mButtonEdit ); |
49 | CategorySelectDialog_baseLayout->addLayout( Layout12 ); | 50 | CategorySelectDialog_baseLayout->addLayout( Layout12 ); |
50 | 51 | ||
51 | Layout11 = new QHBoxLayout( 0, 0, 6, "Layout11"); | 52 | Layout11 = new QHBoxLayout( 0, 0, 4, "Layout11"); |
52 | 53 | ||
53 | //mButtonHelp = new QPushButton( this, "mButtonHelp" ); | 54 | //mButtonHelp = new QPushButton( this, "mButtonHelp" ); |
54 | //Layout11->addWidget( mButtonHelp ); | 55 | //Layout11->addWidget( mButtonHelp ); |
55 | //QSpacerItem* spacer_2 = new QSpacerItem( 20, 20, QSizePolicy::Expanding, QSizePolicy::Minimum ); | 56 | //QSpacerItem* spacer_2 = new QSpacerItem( 20, 20, QSizePolicy::Expanding, QSizePolicy::Minimum ); |
56 | // Layout11->addItem( spacer_2 ); | 57 | // Layout11->addItem( spacer_2 ); |
57 | 58 | ||
58 | //mApply = new QPushButton( this, "mApply" ); | 59 | //mApply = new QPushButton( this, "mApply" ); |
59 | // Layout11->addWidget( mApply ); | 60 | // Layout11->addWidget( mApply ); |
60 | 61 | ||
61 | mButtonOk = new QPushButton( this, "mButtonOk" ); | 62 | mButtonOk = new QPushButton( this, "mButtonOk" ); |
62 | mButtonOk->setOn( FALSE ); | 63 | mButtonOk->setOn( FALSE ); |
63 | mButtonOk->setDefault( TRUE ); | 64 | mButtonOk->setDefault( TRUE ); |
64 | Layout11->addWidget( mButtonOk ); | 65 | Layout11->addWidget( mButtonOk ); |
65 | 66 | ||
66 | mButtonCancel = new QPushButton( this, "mButtonCancel" ); | 67 | mButtonCancel = new QPushButton( this, "mButtonCancel" ); |
67 | Layout11->addWidget( mButtonCancel ); | 68 | Layout11->addWidget( mButtonCancel ); |
68 | CategorySelectDialog_baseLayout->addLayout( Layout11 ); | 69 | CategorySelectDialog_baseLayout->addLayout( Layout11 ); |
69 | languageChange(); | 70 | languageChange(); |
70 | // resize( sizeHint() ); | 71 | // resize( sizeHint() ); |
71 | 72 | ||
72 | // signals and slots connections | 73 | // signals and slots connections |
73 | connect( mButtonCancel, SIGNAL( clicked() ), this, SLOT( reject() ) ); | 74 | connect( mButtonCancel, SIGNAL( clicked() ), this, SLOT( reject() ) ); |
74 | connect( mButtonOk, SIGNAL( clicked() ), this, SLOT( slotOk() ) ); | 75 | connect( mButtonOk, SIGNAL( clicked() ), this, SLOT( slotOk() ) ); |
75 | connect( mClear, SIGNAL( clicked() ), this, SLOT( clear() ) ); | 76 | connect( mClear, SIGNAL( clicked() ), this, SLOT( clear() ) ); |
76 | //connect( mApply, SIGNAL( clicked() ), this, SLOT( slotApply() ) ); | 77 | //connect( mApply, SIGNAL( clicked() ), this, SLOT( slotApply() ) ); |
77 | 78 | ||
78 | // tab order | 79 | // tab order |
79 | setTabOrder( mCategories, mClear ); | 80 | setTabOrder( mCategories, mClear ); |
80 | setTabOrder( mClear, mButtonEdit ); | 81 | setTabOrder( mClear, mButtonEdit ); |
81 | setTabOrder( mButtonEdit, mButtonOk );//mButtonHelp ); | 82 | setTabOrder( mButtonEdit, mButtonOk );//mButtonHelp ); |
82 | // setTabOrder( mButtonHelp, mApply ); | 83 | // setTabOrder( mButtonHelp, mApply ); |
83 | // setTabOrder( mApply, mButtonOk ); | 84 | // setTabOrder( mApply, mButtonOk ); |
84 | setTabOrder( mButtonOk, mButtonCancel ); | 85 | setTabOrder( mButtonOk, mButtonCancel ); |
85 | // showMaximized(); | 86 | // showMaximized(); |
86 | //raise(); | 87 | //raise(); |
88 | mSetColorCat->hide(); | ||
87 | } | 89 | } |
88 | 90 | ||
89 | /* | 91 | /* |
90 | * Destroys the object and frees any allocated resources | 92 | * Destroys the object and frees any allocated resources |
91 | */ | 93 | */ |
92 | CategorySelectDialog_base::~CategorySelectDialog_base() | 94 | CategorySelectDialog_base::~CategorySelectDialog_base() |
93 | { | 95 | { |
94 | // no need to delete child widgets, Qt does it all for us | 96 | // no need to delete child widgets, Qt does it all for us |
95 | } | 97 | } |
96 | 98 | ||
97 | /* | 99 | /* |
98 | * Sets the strings of the subwidgets using the current | 100 | * Sets the strings of the subwidgets using the current |
99 | * language. | 101 | * language. |
100 | */ | 102 | */ |
101 | void CategorySelectDialog_base::languageChange() | 103 | void CategorySelectDialog_base::languageChange() |
102 | { | 104 | { |
103 | setCaption( i18n( "Select Categories" ) ); | 105 | setCaption( i18n( "Select Categories" ) ); |
104 | mCategories->header()->setLabel( 0, tr2i18n( "Category" ) ); | 106 | mCategories->header()->setLabel( 0, tr2i18n( "Category" ) ); |
105 | mClear->setText( i18n( " &Deselect All " ) ); | 107 | mClear->setText( i18n( " &Deselect All " ) ); |
106 | mButtonEdit->setText( i18n( " &Edit Categories " ) ); | 108 | mButtonEdit->setText( i18n( " &Edit Categories " ) ); |
107 | // mButtonHelp->setText( tr2i18n( "&Help" ) ); | 109 | // mButtonHelp->setText( tr2i18n( "&Help" ) ); |
108 | //mApply->setText( i18n( "&Apply" ) ); | 110 | //mApply->setText( i18n( "&Apply" ) ); |
109 | mButtonOk->setText( i18n( "&OK" ) ); | 111 | mButtonOk->setText( i18n( "&OK" ) ); |
112 | mSetColorCat->setText( i18n( "Set current as color category" ) ); | ||
110 | mButtonCancel->setText( i18n( "&Cancel" ) ); | 113 | mButtonCancel->setText( i18n( "&Cancel" ) ); |
111 | } | 114 | } |
112 | 115 | ||
113 | void CategorySelectDialog_base::clear() | 116 | void CategorySelectDialog_base::clear() |
114 | { | 117 | { |
115 | qWarning( "CategorySelectDialog_base::clear(): Not implemented yet" ); | 118 | qWarning( "CategorySelectDialog_base::clear(): Not implemented yet" ); |
116 | } | 119 | } |
117 | 120 | ||
118 | void CategorySelectDialog_base::slotApply() | 121 | void CategorySelectDialog_base::slotApply() |
119 | { | 122 | { |
120 | qWarning( "CategorySelectDialog_base::slotApply(): Not implemented yet" ); | 123 | qWarning( "CategorySelectDialog_base::slotApply(): Not implemented yet" ); |
121 | } | 124 | } |
122 | 125 | ||
123 | void CategorySelectDialog_base::slotOk() | 126 | void CategorySelectDialog_base::slotOk() |
124 | { | 127 | { |
125 | qWarning( "CategorySelectDialog_base::slotOk(): Not implemented yet" ); | 128 | qWarning( "CategorySelectDialog_base::slotOk(): Not implemented yet" ); |
126 | } | 129 | } |
127 | 130 | ||
128 | //US#include "categoryselectdialog_base.moc" | 131 | //US#include "categoryselectdialog_base.moc" |
diff --git a/libkdepim/categoryselectdialog_base.h b/libkdepim/categoryselectdialog_base.h index af905ed..59ffa22 100644 --- a/libkdepim/categoryselectdialog_base.h +++ b/libkdepim/categoryselectdialog_base.h | |||
@@ -1,53 +1,54 @@ | |||
1 | /**************************************************************************** | 1 | /**************************************************************************** |
2 | ** Form interface generated from reading ui file '/build/kde/cvs/korge/kdepim/libkdepim/categoryselectdialog_base.ui' | 2 | ** Form interface generated from reading ui file '/build/kde/cvs/korge/kdepim/libkdepim/categoryselectdialog_base.ui' |
3 | ** | 3 | ** |
4 | ** Created: Sat Mar 29 21:45:20 2003 | 4 | ** Created: Sat Mar 29 21:45:20 2003 |
5 | ** by: The User Interface Compiler () | 5 | ** by: The User Interface Compiler () |
6 | ** | 6 | ** |
7 | ** WARNING! All changes made in this file will be lost! | 7 | ** WARNING! All changes made in this file will be lost! |
8 | ****************************************************************************/ | 8 | ****************************************************************************/ |
9 | 9 | ||
10 | #ifndef CATEGORYSELECTDIALOG_BASE_H | 10 | #ifndef CATEGORYSELECTDIALOG_BASE_H |
11 | #define CATEGORYSELECTDIALOG_BASE_H | 11 | #define CATEGORYSELECTDIALOG_BASE_H |
12 | 12 | ||
13 | #include <qvariant.h> | 13 | #include <qvariant.h> |
14 | #include <qdialog.h> | 14 | #include <qdialog.h> |
15 | 15 | ||
16 | class QVBoxLayout; | 16 | class QVBoxLayout; |
17 | class QHBoxLayout; | 17 | class QHBoxLayout; |
18 | class QGridLayout; | 18 | class QGridLayout; |
19 | class QListView; | 19 | class QListView; |
20 | class QListViewItem; | 20 | class QListViewItem; |
21 | class QPushButton; | 21 | class QPushButton; |
22 | 22 | ||
23 | class CategorySelectDialog_base : public QDialog | 23 | class CategorySelectDialog_base : public QDialog |
24 | { | 24 | { |
25 | Q_OBJECT | 25 | Q_OBJECT |
26 | 26 | ||
27 | public: | 27 | public: |
28 | CategorySelectDialog_base( QWidget* parent = 0, const char* name = 0, bool modal = FALSE, WFlags fl = 0 ); | 28 | CategorySelectDialog_base( QWidget* parent = 0, const char* name = 0, bool modal = FALSE, WFlags fl = 0 ); |
29 | ~CategorySelectDialog_base(); | 29 | ~CategorySelectDialog_base(); |
30 | 30 | ||
31 | QListView* mCategories; | 31 | QListView* mCategories; |
32 | QPushButton* mClear; | 32 | QPushButton* mClear; |
33 | QPushButton* mButtonEdit; | 33 | QPushButton* mButtonEdit; |
34 | QPushButton* mButtonHelp; | 34 | QPushButton* mButtonHelp; |
35 | QPushButton* mApply; | 35 | QPushButton* mApply; |
36 | QPushButton* mButtonOk; | 36 | QPushButton* mButtonOk; |
37 | QPushButton* mButtonCancel; | 37 | QPushButton* mButtonCancel; |
38 | QPushButton* mSetColorCat; | ||
38 | 39 | ||
39 | public slots: | 40 | public slots: |
40 | virtual void clear(); | 41 | virtual void clear(); |
41 | virtual void slotApply(); | 42 | virtual void slotApply(); |
42 | virtual void slotOk(); | 43 | virtual void slotOk(); |
43 | 44 | ||
44 | protected: | 45 | protected: |
45 | QVBoxLayout* CategorySelectDialog_baseLayout; | 46 | QVBoxLayout* CategorySelectDialog_baseLayout; |
46 | QHBoxLayout* Layout12; | 47 | QHBoxLayout* Layout12; |
47 | QHBoxLayout* Layout11; | 48 | QHBoxLayout* Layout11; |
48 | 49 | ||
49 | protected slots: | 50 | protected slots: |
50 | virtual void languageChange(); | 51 | virtual void languageChange(); |
51 | }; | 52 | }; |
52 | 53 | ||
53 | #endif // CATEGORYSELECTDIALOG_BASE_H | 54 | #endif // CATEGORYSELECTDIALOG_BASE_H |