author | zautrix <zautrix> | 2005-07-02 12:29:31 (UTC) |
---|---|---|
committer | zautrix <zautrix> | 2005-07-02 12:29:31 (UTC) |
commit | 7b7c582bbb9908ec65c778b70baa6b2c2aa457fc (patch) (unidiff) | |
tree | e1e1fb9e039f804d44317b5743ba5aae00fdcc9a | |
parent | 98273ae9af4d39181ace21fe3dfade141e5f8afb (diff) | |
download | kdepimpi-7b7c582bbb9908ec65c778b70baa6b2c2aa457fc.zip kdepimpi-7b7c582bbb9908ec65c778b70baa6b2c2aa457fc.tar.gz kdepimpi-7b7c582bbb9908ec65c778b70baa6b2c2aa457fc.tar.bz2 |
Z 5500 fixes
-rw-r--r-- | bin/kdepim/kaddressbook/germantranslation.txt | 2 | ||||
-rw-r--r-- | kabc/addresseeview.cpp | 26 | ||||
-rw-r--r-- | kaddressbook/addresseeeditorwidget.cpp | 2 | ||||
-rw-r--r-- | korganizer/searchdialog.cpp | 2 |
4 files changed, 18 insertions, 14 deletions
diff --git a/bin/kdepim/kaddressbook/germantranslation.txt b/bin/kdepim/kaddressbook/germantranslation.txt index c18a241..b2f2704 100644 --- a/bin/kdepim/kaddressbook/germantranslation.txt +++ b/bin/kdepim/kaddressbook/germantranslation.txt | |||
@@ -1,225 +1,225 @@ | |||
1 | { "file","Datei" }, | 1 | { "file","Datei" }, |
2 | { "Choose one file","Wähle eine Datei" }, | 2 | { "Choose one file","Wähle eine Datei" }, |
3 | { "dir","Verzeichnis" }, | 3 | { "dir","Verzeichnis" }, |
4 | { "Choose a directory with may files","Wähle Verzeichnis" }, | 4 | { "Choose a directory with may files","Wähle Verzeichnis" }, |
5 | { "ldap","ldap" }, | 5 | { "ldap","ldap" }, |
6 | { "No description available","Keine Beschreibung verfügbar" }, | 6 | { "No description available","Keine Beschreibung verfügbar" }, |
7 | { "Library files for "%1" not found in paths","Bibliothek für "%1" nicht gefunden" }, | 7 | { "Library files for "%1" not found in paths","Bibliothek für "%1" nicht gefunden" }, |
8 | { "qtopia","qtopia" }, | 8 | { "qtopia","qtopia" }, |
9 | { "Qtopia PIM Addressbook.","Qtopia PIM Adressbuch." }, | 9 | { "Qtopia PIM Addressbook.","Qtopia PIM Adressbuch." }, |
10 | { "vCard","vCard" }, | 10 | { "vCard","vCard" }, |
11 | { "vCard Format","vCard Format" }, | 11 | { "vCard Format","vCard Format" }, |
12 | { "microkabcformat_binary","microkabcformat_binary" }, | 12 | { "microkabcformat_binary","microkabcformat_binary" }, |
13 | { "Binary","Binary" }, | 13 | { "Binary","Binary" }, |
14 | { "No description available.","Keine Beschreibung verfügbar." }, | 14 | { "No description available.","Keine Beschreibung verfügbar." }, |
15 | { "Department","Abteilung" }, | 15 | { "Department","Abteilung" }, |
16 | { "Profession","Beruf" }, | 16 | { "Profession","Beruf" }, |
17 | { "Assistant's Name","Name d.Assistenten" }, | 17 | { "Assistant's Name","Name d.Assistenten" }, |
18 | { "Manager's Name","Name d.Manager's" }, | 18 | { "Manager's Name","Name d.Manager's" }, |
19 | { "Spouse's Name","Name d.Ehegatten" }, | 19 | { "Spouse's Name","Name d.Ehegatten" }, |
20 | { "Office","Büro" }, | 20 | { "Office","Büro" }, |
21 | { "IM Address","IM Adresse" }, | 21 | { "IM Address","IM Adresse" }, |
22 | { "Anniversary","Jahrestag" }, | 22 | { "Anniversary","Jahrestag" }, |
23 | { "Gender","Geschlecht" }, | 23 | { "Gender","Geschlecht" }, |
24 | { "Children","Kinder" }, | 24 | { "Children","Kinder" }, |
25 | { "FreeBusyUrl","FreeBusyUrl" }, | 25 | { "FreeBusyUrl","FreeBusyUrl" }, |
26 | { "ExternalID","ExternalID" }, | 26 | { "ExternalID","ExternalID" }, |
27 | { "Resource loaded: '%1'","Resource geladen: '%1'" }, | 27 | { "Resource loaded: '%1'","Resource geladen: '%1'" }, |
28 | { "Select View","Ansicht wählen" }, | 28 | { "Select View","Ansicht wählen" }, |
29 | { "Modify View...","Ansicht ändern..." }, | 29 | { "Modify View...","Ansicht ändern..." }, |
30 | { "Add View...","Ansicht hinzufügen..." }, | 30 | { "Add View...","Ansicht hinzufügen..." }, |
31 | { "Delete View","Ansicht löschen" }, | 31 | { "Delete View","Ansicht löschen" }, |
32 | { "Refresh View","Ansicht aktualisieren" }, | 32 | { "Refresh View","Ansicht aktualisieren" }, |
33 | { "Edit &Filters...","Bearbeite &Filter..." }, | 33 | { "Edit &Filters...","Bearbeite &Filter..." }, |
34 | { "Select Filter","Filter wählen" }, | 34 | { "Select Filter","Filter wählen" }, |
35 | { "Style:","Stil:" }, | 35 | { "Style:","Stil:" }, |
36 | { "HTML table style.","HTML tabellen stil." }, | 36 | { "HTML table style.","HTML tabellen stil." }, |
37 | { "Default Table View","Standard Tabellen Ansicht" }, | 37 | { "Default Table View","Standard Tabellen Ansicht" }, |
38 | { "Show Extension Bar","Zeige Extension Bar" }, | 38 | { "Show Extension Bar","Zeige Extension Bar" }, |
39 | { "None","Kein" }, | 39 | { "None","Kein" }, |
40 | { "Name...","Name..." }, | 40 | { "Name...","Name..." }, |
41 | { "Role:","Funktion:" }, | 41 | { "Role:","Funktion:" }, |
42 | { "Organization:","Firma:" }, | 42 | { "Organization:","Firma:" }, |
43 | { "Formatted name:","Formatt. Name:" }, | 43 | { "Formatted name:","Formatt. Name:" }, |
44 | { "Edit Phone Numbers...","Bearbeite Telefonnummern..." }, | 44 | { "Edit Phone Numbers...","Bearbeite Telefonnummern..." }, |
45 | { "Categories","Kategorien" }, | 45 | { "Categories","Kategorien" }, |
46 | { "Public","Öffentlich" }, | 46 | { "Public","Öffentlich" }, |
47 | { "Private","Privat" }, | 47 | { "Private","Privat" }, |
48 | { "Confidential","Vertraulich" }, | 48 | { "Confidential","Vertraulich" }, |
49 | { "&General","Allgemein" }, | 49 | { "&General","Allgemein" }, |
50 | { "&Edit Addresses...","B&earbeite Adressen..." }, | 50 | { "&Edit Addresses...","B&earbeite Adressen..." }, |
51 | { "Edit Email Addresses...","Bearbeite E-Mail Adressen..." }, | 51 | { "Edit Email Addresses...","Bearbeite E-Mail Adressen..." }, |
52 | { "Email:","Email:" }, | 52 | { "Email:","Email:" }, |
53 | { "URL:","URL:" }, | 53 | { "URL:","URL:" }, |
54 | { "&IM address:","&IM address:" }, | 54 | { "&IM address:","&IM address:" }, |
55 | { "&Address","&Adresse" }, | 55 | { "&Address","&Adresse" }, |
56 | { "Department:","Abteilung:" }, | 56 | { "Department:","Abteilung:" }, |
57 | { "Office:","Büro:" }, | 57 | { "Office:","Büro:" }, |
58 | { "Profession:","Beruf:" }, | 58 | { "Profession:","Beruf:" }, |
59 | { "Manager's name:","N.d.Manager's:" }, | 59 | { "Manager's name:","N.d.Manager's:" }, |
60 | { "Assistant's name:","N.d.Assistenten:" }, | 60 | { "Assistant's name:","N.d.Assistenten:" }, |
61 | { "Nick name:","Spitzname:" }, | 61 | { "Nick name:","Spitzname:" }, |
62 | { "Spouse's name:","N.d.Ehegatten:" }, | 62 | { "Spouse's name:","N.d.Ehegatten:" }, |
63 | { "Children's names:","N.d.Kinder:" }, | 63 | { "Children's names:","N.d.Kinder:" }, |
64 | { "Birthday:","Geburtstag:" }, | 64 | { "Birthday:","Geburtstag:" }, |
65 | { " Local Time","Ortszeit" }, | 65 | { " Local Time","Ortszeit" }, |
66 | { "Mon","Mo" }, | 66 | { "Mon","Mo" }, |
67 | { "Tue","Di" }, | 67 | { "Tue","Di" }, |
68 | { "Wed","Mi" }, | 68 | { "Wed","Mi" }, |
69 | { "Thu","Do" }, | 69 | { "Thu","Do" }, |
70 | { "Fri","Fr" }, | 70 | { "Fri","Fr" }, |
71 | { "Sat","Sa" }, | 71 | { "Sat","Sa" }, |
72 | { "Sun","So" }, | 72 | { "Sun","So" }, |
73 | { "January","Januar" }, | 73 | { "January","Januar" }, |
74 | { "February","Februar" }, | 74 | { "February","Februar" }, |
75 | { "March","März" }, | 75 | { "March","März" }, |
76 | { "April","April" }, | 76 | { "April","April" }, |
77 | { "May","Mai" }, | 77 | { "May","Mai" }, |
78 | { "June","Juni" }, | 78 | { "June","Juni" }, |
79 | { "July","July" }, | 79 | { "July","July" }, |
80 | { "August","August" }, | 80 | { "August","August" }, |
81 | { "September","September" }, | 81 | { "September","September" }, |
82 | { "October","October" }, | 82 | { "October","October" }, |
83 | { "November","November" }, | 83 | { "November","November" }, |
84 | { "December","Dezember" }, | 84 | { "December","Dezember" }, |
85 | { "tomorrow","Morgen" }, | 85 | { "tomorrow","Morgen" }, |
86 | { "today","Heute" }, | 86 | { "today","Heute" }, |
87 | { "yesterday","Gestern" }, | 87 | { "yesterday","Gestern" }, |
88 | { "Monday","Montag" }, | 88 | { "Monday","Montag" }, |
89 | { "Tuesday","Dienstag" }, | 89 | { "Tuesday","Dienstag" }, |
90 | { "Wednesday","Mittwoch" }, | 90 | { "Wednesday","Mittwoch" }, |
91 | { "Thursday","Donnerstag" }, | 91 | { "Thursday","Donnerstag" }, |
92 | { "Friday","Freitag" }, | 92 | { "Friday","Freitag" }, |
93 | { "Saturday","Samstag" }, | 93 | { "Saturday","Samstag" }, |
94 | { "Sunday","Sonntag" }, | 94 | { "Sunday","Sonntag" }, |
95 | { "Anniversary:","Jahrestag:" }, | 95 | { "Anniversary:","Jahrestag:" }, |
96 | { "Gender:","Geschlecht:" }, | 96 | { "Gender:","Geschlecht:" }, |
97 | { "ALIEN (gender undefined)","ALIEN (Geschlecht unbekannt)" }, | 97 | { "ALIEN (undefined)","ALIEN (undefiniert)" }, |
98 | { "female","weiblich" }, | 98 | { "female","weiblich" }, |
99 | { "male","männlich" }, | 99 | { "male","männlich" }, |
100 | { "&Details","&Details" }, | 100 | { "&Details","&Details" }, |
101 | { "Note:","Notiz:" }, | 101 | { "Note:","Notiz:" }, |
102 | { "&Notes","&Notizen" }, | 102 | { "&Notes","&Notizen" }, |
103 | { "Use geo data","Benutze geo Daten" }, | 103 | { "Use geo data","Benutze geo Daten" }, |
104 | { "Latitude:","Breitengrad:" }, | 104 | { "Latitude:","Breitengrad:" }, |
105 | { "Longitude:","Längengrad:" }, | 105 | { "Longitude:","Längengrad:" }, |
106 | { "Edit Geo Data...","Edit geo Daten..." }, | 106 | { "Edit Geo Data...","Edit geo Daten..." }, |
107 | { "Keys:","Schlüssel:" }, | 107 | { "Keys:","Schlüssel:" }, |
108 | { "Add","Hinzu" }, | 108 | { "Add","Hinzu" }, |
109 | { "Remove","Entf." }, | 109 | { "Remove","Entf." }, |
110 | { "Export","Exportiere" }, | 110 | { "Export","Exportiere" }, |
111 | { "&Misc","Verschiedenes" }, | 111 | { "&Misc","Verschiedenes" }, |
112 | { "Photo","Foto" }, | 112 | { "Photo","Foto" }, |
113 | { "Store as URL","Speichere als URL" }, | 113 | { "Store as URL","Speichere als URL" }, |
114 | { "Logo","Logo" }, | 114 | { "Logo","Logo" }, |
115 | { "&Images","B&ilder" }, | 115 | { "&Images","B&ilder" }, |
116 | { "Home","Privat" }, | 116 | { "Home","Privat" }, |
117 | { "Work","Geschäft" }, | 117 | { "Work","Geschäft" }, |
118 | { "Mobile","Handy" }, | 118 | { "Mobile","Handy" }, |
119 | { "Fax","Fax" }, | 119 | { "Fax","Fax" }, |
120 | { "Contact Editor","Bearbeite Kontakt" }, | 120 | { "Contact Editor","Bearbeite Kontakt" }, |
121 | { "&Mail...","&Mail..." }, | 121 | { "&Mail...","&Mail..." }, |
122 | { "&Print...","Drucken..." }, | 122 | { "&Print...","Drucken..." }, |
123 | { "&Save","&Speichern" }, | 123 | { "&Save","&Speichern" }, |
124 | { "&New Contact...","&Neuer Kontakt..." }, | 124 | { "&New Contact...","&Neuer Kontakt..." }, |
125 | { "Mail &vCard...","Mail &vCard..." }, | 125 | { "Mail &vCard...","Mail &vCard..." }, |
126 | { "Selected to phone","Auswahl zum Telefon" }, | 126 | { "Selected to phone","Auswahl zum Telefon" }, |
127 | { "Beam selected v&Card(s)","Beame ausgewählte v&Card(s)" }, | 127 | { "Beam selected v&Card(s)","Beame ausgewählte v&Card(s)" }, |
128 | { "&Beam personal vCard","Beame persönliche vCard" }, | 128 | { "&Beam personal vCard","Beame persönliche vCard" }, |
129 | { "&Edit Contact...","Bearbeite Kontakt..." }, | 129 | { "&Edit Contact...","Bearbeite Kontakt..." }, |
130 | { "&Exit","B&eenden" }, | 130 | { "&Exit","B&eenden" }, |
131 | { "&Copy","Kopieren" }, | 131 | { "&Copy","Kopieren" }, |
132 | { "Cu&t","Ausschneiden" }, | 132 | { "Cu&t","Ausschneiden" }, |
133 | { "&Paste","Einfügen" }, | 133 | { "&Paste","Einfügen" }, |
134 | { "Select &All","Alles auswählen" }, | 134 | { "Select &All","Alles auswählen" }, |
135 | { "&Undo","Rückgängig machen" }, | 135 | { "&Undo","Rückgängig machen" }, |
136 | { "Re&do","Wiederherstellen" }, | 136 | { "Re&do","Wiederherstellen" }, |
137 | { "&Delete Contact","Lösche Kontakt" }, | 137 | { "&Delete Contact","Lösche Kontakt" }, |
138 | { "Configure &Resources...","Konfiguriere &Resourcen..." }, | 138 | { "Configure &Resources...","Konfiguriere &Resourcen..." }, |
139 | { "&Configure %1...","Konfiguriere %1..." }, | 139 | { "&Configure %1...","Konfiguriere %1..." }, |
140 | { "Configure S&hortcuts...","Konfiguriere S&hortcuts..." }, | 140 | { "Configure S&hortcuts...","Konfiguriere S&hortcuts..." }, |
141 | { "Show Jump Bar","Zeige Jump Bar" }, | 141 | { "Show Jump Bar","Zeige Jump Bar" }, |
142 | { "Show Details","Zeige Details" }, | 142 | { "Show Details","Zeige Details" }, |
143 | { "Beam receive enabled","Beam (IR) Empfang AN" }, | 143 | { "Beam receive enabled","Beam (IR) Empfang AN" }, |
144 | { "Set Who Am I","Setze "wer bin ich"" }, | 144 | { "Set Who Am I","Setze "wer bin ich"" }, |
145 | { "Set Categories for Contacts...","Setze Kategorien für Kontakte..." }, | 145 | { "Set Categories for Contacts...","Setze Kategorien für Kontakte..." }, |
146 | { "Edit Category List...","Editiere Kategorieliste..." }, | 146 | { "Edit Category List...","Editiere Kategorieliste..." }, |
147 | { "Remove "voice"...","Entferne "voice"..." }, | 147 | { "Remove "voice"...","Entferne "voice"..." }, |
148 | { "Import from Outlook...","Importiere aus Outlook..." }, | 148 | { "Import from Outlook...","Importiere aus Outlook..." }, |
149 | { "Licence","Lizenz" }, | 149 | { "Licence","Lizenz" }, |
150 | { "Faq","Fragen + Antworten" }, | 150 | { "Faq","Fragen + Antworten" }, |
151 | { "What's New?","Was ist neu?" }, | 151 | { "What's New?","Was ist neu?" }, |
152 | { "Sync HowTo","Sync Anleitung" }, | 152 | { "Sync HowTo","Sync Anleitung" }, |
153 | { "&About KAddressBook","Über KAdressBuch" }, | 153 | { "&About KAddressBook","Über KAdressBuch" }, |
154 | { "Select Incremental Search Field","Selektiere Such Feld" }, | 154 | { "Select Incremental Search Field","Selektiere Such Feld" }, |
155 | { "Synchronize","Synchronisieren" }, | 155 | { "Synchronize","Synchronisieren" }, |
156 | { "Configure...","Konfigurieren..." }, | 156 | { "Configure...","Konfigurieren..." }, |
157 | { "Enable Pi-Sync","Aktiviere Pi-Sync" }, | 157 | { "Enable Pi-Sync","Aktiviere Pi-Sync" }, |
158 | { "Multiple sync","Multi Sync" }, | 158 | { "Multiple sync","Multi Sync" }, |
159 | { "Import CSV List...","Importiere CSV-Datei..." }, | 159 | { "Import CSV List...","Importiere CSV-Datei..." }, |
160 | { "Export CSV List...","Exportiere CSV-Datei..." }, | 160 | { "Export CSV List...","Exportiere CSV-Datei..." }, |
161 | { "Import KDE 2 Addressbook...","Importiere KDE 2 Adressbuch..." }, | 161 | { "Import KDE 2 Addressbook...","Importiere KDE 2 Adressbuch..." }, |
162 | { "Import vCard...","Importiere vCard..." }, | 162 | { "Import vCard...","Importiere vCard..." }, |
163 | { "Export vCard 3.0...","Exportiere vCard 3.0..." }, | 163 | { "Export vCard 3.0...","Exportiere vCard 3.0..." }, |
164 | { "Import Qtopia...","Importiere Qtopia..." }, | 164 | { "Import Qtopia...","Importiere Qtopia..." }, |
165 | { "Export Qtopia...","Exportiere Qtopia..." }, | 165 | { "Export Qtopia...","Exportiere Qtopia..." }, |
166 | { "Edit Contact","Bearbeite Kontakt" }, | 166 | { "Edit Contact","Bearbeite Kontakt" }, |
167 | { "Ok","Ok" }, | 167 | { "Ok","Ok" }, |
168 | { "Apply","Anwenden" }, | 168 | { "Apply","Anwenden" }, |
169 | { "Cancel","Abbrechen" }, | 169 | { "Cancel","Abbrechen" }, |
170 | { "KAddressbook/Pi","KAdressbuch/Pi" }, | 170 | { "KAddressbook/Pi","KAdressbuch/Pi" }, |
171 | { "No Filter","Kein Filter" }, | 171 | { "No Filter","Kein Filter" }, |
172 | { "Given Name","Vorname" }, | 172 | { "Given Name","Vorname" }, |
173 | { "Family Name","Nachname" }, | 173 | { "Family Name","Nachname" }, |
174 | { "Email Address","E-Mail Adresse" }, | 174 | { "Email Address","E-Mail Adresse" }, |
175 | { "All Fields","Alle Felder" }, | 175 | { "All Fields","Alle Felder" }, |
176 | { "Question","Frage" }, | 176 | { "Question","Frage" }, |
177 | { "After importing, phone numbers\nmay have two or more types.\n(E.g. work+voice)\nThese numbers are shown as "other".\nClick Yes to remove the voice type\nfrom numbers with more than one type.\n\nRemove voice type?","After importing, phone numbers\nmay have two or more types.\n(E.g. work+voice)\nThese numbers are shown as "other".\nClick Yes to remove the voice type\nfrom numbers with more than one type.\n\nRemove voice type?" }, | 177 | { "After importing, phone numbers\nmay have two or more types.\n(E.g. work+voice)\nThese numbers are shown as "other".\nClick Yes to remove the voice type\nfrom numbers with more than one type.\n\nRemove voice type?","After importing, phone numbers\nmay have two or more types.\n(E.g. work+voice)\nThese numbers are shown as "other".\nClick Yes to remove the voice type\nfrom numbers with more than one type.\n\nRemove voice type?" }, |
178 | { "No","Nein" }, | 178 | { "No","Nein" }, |
179 | { "Yes","Ja" }, | 179 | { "Yes","Ja" }, |
180 | { "Synchronization Preferences","Einstellungen der Synchronisationsprofile" }, | 180 | { "Synchronization Preferences","Einstellungen der Synchronisationsprofile" }, |
181 | { "Local device name:","Name dieses Gerätes:" }, | 181 | { "Local device name:","Name dieses Gerätes:" }, |
182 | { "New profile","Neues Profil" }, | 182 | { "New profile","Neues Profil" }, |
183 | { "Clone profile","Klone Profil" }, | 183 | { "Clone profile","Klone Profil" }, |
184 | { "Delete profile","Lösche Profil" }, | 184 | { "Delete profile","Lösche Profil" }, |
185 | { "Profile:","Profil:" }, | 185 | { "Profile:","Profil:" }, |
186 | { "Ask for every entry on conflict","Frage bei Konflikten nach"}, | 186 | { "Ask for every entry on conflict","Frage bei Konflikten nach"}, |
187 | { "Take local entry on conflict","Nimm lokalen Eintrag beim Konflikt" }, | 187 | { "Take local entry on conflict","Nimm lokalen Eintrag beim Konflikt" }, |
188 | { "Take newest entry on conflict","Nimm neuesten Eintrag beim Konflikt" }, | 188 | { "Take newest entry on conflict","Nimm neuesten Eintrag beim Konflikt" }, |
189 | { "Take remote entry on conflict","Nimm fernen Eintrag beim Konflikt" } | 189 | { "Take remote entry on conflict","Nimm fernen Eintrag beim Konflikt" } |
190 | { "Force: Take local entry always","Erzwinge: Nimm immer lokalen Eintrag" }, | 190 | { "Force: Take local entry always","Erzwinge: Nimm immer lokalen Eintrag" }, |
191 | { "Force: Take remote entry always","Erzwinge: Nimm immer fernen Eintrag" }, | 191 | { "Force: Take remote entry always","Erzwinge: Nimm immer fernen Eintrag" }, |
192 | { "Show summary after sync","Zeige Zusammenfassung nach dem Synchronisieren" }, | 192 | { "Show summary after sync","Zeige Zusammenfassung nach dem Synchronisieren" }, |
193 | { "Write back file","Schreibe Datei zurück" }, | 193 | { "Write back file","Schreibe Datei zurück" }, |
194 | { "Remote file (w down/upload command)","Entfernte Datei (via down/upload Kommando)" }, | 194 | { "Remote file (w down/upload command)","Entfernte Datei (via down/upload Kommando)" }, |
195 | { "Pre sync (download) command:","Bevor Sync (download) Kommando:" }, | 195 | { "Pre sync (download) command:","Bevor Sync (download) Kommando:" }, |
196 | { "Local device name:","Name dieses Gerätes:" }, | 196 | { "Local device name:","Name dieses Gerätes:" }, |
197 | { "Ask for preferences before sync","Frage nach Synchronisationseinstellungen vor dem Syncen" }, | 197 | { "Ask for preferences before sync","Frage nach Synchronisationseinstellungen vor dem Syncen" }, |
198 | { "Sync preferences","Synchronisations Einstellungen" }, | 198 | { "Sync preferences","Synchronisations Einstellungen" }, |
199 | { "Profile kind","Profil Art" }, | 199 | { "Profile kind","Profil Art" }, |
200 | { "Local file","Lokale Datei" }, | 200 | { "Local file","Lokale Datei" }, |
201 | { "Local file:","Lokale Datei:" }, | 201 | { "Local file:","Lokale Datei:" }, |
202 | { "Post sync (upload) command:","Nach Sync (upload) Kommando:" }, | 202 | { "Post sync (upload) command:","Nach Sync (upload) Kommando:" }, |
203 | { "Fill in default values for:","Setze Beispiel Werte ein für:" }, | 203 | { "Fill in default values for:","Setze Beispiel Werte ein für:" }, |
204 | { "Hint: Use $PWD$ for placeholder of password!","Hinweis: Benutze $PWD$ als Platzhalter für ein Passwort!" }, | 204 | { "Hint: Use $PWD$ for placeholder of password!","Hinweis: Benutze $PWD$ als Platzhalter für ein Passwort!" }, |
205 | { "Synchronization Preferences","Einstellungen der Synchronisationsprofile"}, | 205 | { "Synchronization Preferences","Einstellungen der Synchronisationsprofile"}, |
206 | { "Device","Gerät:" }, | 206 | { "Device","Gerät:" }, |
207 | { "Sync with file \n...%1\nfrom:\n%2\n","Sync mit Datei \n...%1\nvom:\n%2\n" }, | 207 | { "Sync with file \n...%1\nfrom:\n%2\n","Sync mit Datei \n...%1\nvom:\n%2\n" }, |
208 | { "Synchronization summary:\n\n %d items added to local\n %d items added to remote\n %d items updated on local\n %d items updated on remote\n %d items deleted on local\n %d items deleted on remote\n","Synchronisationsübersicht:\n\n %d items lokal hinzugefügt\n %d items entfernt hinzugefügt\n %d items lokal geändert\n %d items entfernt geändert\n %d items lokal gelöscht\n %d items entfernt gelöscht\n" }, | 208 | { "Synchronization summary:\n\n %d items added to local\n %d items added to remote\n %d items updated on local\n %d items updated on remote\n %d items deleted on local\n %d items deleted on remote\n","Synchronisationsübersicht:\n\n %d items lokal hinzugefügt\n %d items entfernt hinzugefügt\n %d items lokal geändert\n %d items entfernt geändert\n %d items lokal gelöscht\n %d items entfernt gelöscht\n" }, |
209 | { "Synchronization successful","Synchronisation erfolgreich" }, | 209 | { "Synchronization successful","Synchronisation erfolgreich" }, |
210 | { "Sync cancelled or failed. Nothing synced.","Sync abgebrochen oder fehlgeschlagen. Nichts wurde gesynced." }, | 210 | { "Sync cancelled or failed. Nothing synced.","Sync abgebrochen oder fehlgeschlagen. Nichts wurde gesynced." }, |
211 | { "Sync file \n...%1\ndoes not exist!\nNothing synced!\n","Sync Datei \n...%1\nexistiert nicht!\nNichts wurde gesynced!\n" }, | 211 | { "Sync file \n...%1\ndoes not exist!\nNothing synced!\n","Sync Datei \n...%1\nexistiert nicht!\nNichts wurde gesynced!\n" }, |
212 | { "Sync filename(*.ics/*.vcs)","Sync Dateiname(*.ics/*.vcs)" }, | 212 | { "Sync filename(*.ics/*.vcs)","Sync Dateiname(*.ics/*.vcs)" }, |
213 | { "Enter password","Passwort eingeben" }, | 213 | { "Enter password","Passwort eingeben" }, |
214 | { "Do you really want\nto remote sync\nwith profile \n","Wollen Sie wirklich\nmit dem entfernten\nProfil syncen: \n" }, | 214 | { "Do you really want\nto remote sync\nwith profile \n","Wollen Sie wirklich\nmit dem entfernten\nProfil syncen: \n" }, |
215 | { "Copy remote file to local machine...","Kopiere entfernte Datei auf lokalen Rechner..." }, | 215 | { "Copy remote file to local machine...","Kopiere entfernte Datei auf lokalen Rechner..." }, |
216 | { "Sorry, the copy command failed!\nCommand was:\n%1\n \nTry command on console to get more\ndetailed info about the reason.\n","Sorry, das Kopierkommando schlug fehl!\nKommando war:\n%1\n \nVersuche Kommando von Kosole um\nDetails für das Fehlschlagen\nzu erfahren.\n" }, | 216 | { "Sorry, the copy command failed!\nCommand was:\n%1\n \nTry command on console to get more\ndetailed info about the reason.\n","Sorry, das Kopierkommando schlug fehl!\nKommando war:\n%1\n \nVersuche Kommando von Kosole um\nDetails für das Fehlschlagen\nzu erfahren.\n" }, |
217 | { "Writing back file result: ","Resultat des Dateizurückschreibens: " }, | 217 | { "Writing back file result: ","Resultat des Dateizurückschreibens: " }, |
218 | { "Syncronization sucessfully completed","Synchronisation erfolgreich abgeschlossen" }, | 218 | { "Syncronization sucessfully completed","Synchronisation erfolgreich abgeschlossen" }, |
219 | { "Used %1 Client","Benutzter %1 Client" }, | 219 | { "Used %1 Client","Benutzter %1 Client" }, |
220 | { "No email client installed","Kein Email Klient installiert" }, | 220 | { "No email client installed","Kein Email Klient installiert" }, |
221 | { "Userdefined email client","Benutzerdef. Email Klient" }, | 221 | { "Userdefined email client","Benutzerdef. Email Klient" }, |
222 | { "OM/Pi email client","OM/Pi Email Klient" }, | 222 | { "OM/Pi email client","OM/Pi Email Klient" }, |
223 | { "Include in multiple ","Beziehe in mehrfach " }, | 223 | { "Include in multiple ","Beziehe in mehrfach " }, |
224 | { "calendar ","Kalender " }, | 224 | { "calendar ","Kalender " }, |
225 | { "addressbook ","Adressbuch " }, | 225 | { "addressbook ","Adressbuch " }, |
diff --git a/kabc/addresseeview.cpp b/kabc/addresseeview.cpp index 2691d9a..f3cfb23 100644 --- a/kabc/addresseeview.cpp +++ b/kabc/addresseeview.cpp | |||
@@ -109,355 +109,359 @@ void AddresseeView::setSource(const QString& n) | |||
109 | } else if ( n == "notAllDetails" ) { | 109 | } else if ( n == "notAllDetails" ) { |
110 | sFullDetailsMode = false; | 110 | sFullDetailsMode = false; |
111 | setAddressee( mCurrentContact ); | 111 | setAddressee( mCurrentContact ); |
112 | } else if ( n.left( 6 ) == "mailto" ) | 112 | } else if ( n.left( 6 ) == "mailto" ) |
113 | ExternalAppHandler::instance()->mailToOneContact( n.mid(7) ); | 113 | ExternalAppHandler::instance()->mailToOneContact( n.mid(7) ); |
114 | else if ( n.left( 7 ) == "phoneto" ) | 114 | else if ( n.left( 7 ) == "phoneto" ) |
115 | ExternalAppHandler::instance()->callByPhone( n.mid(8) ); | 115 | ExternalAppHandler::instance()->callByPhone( n.mid(8) ); |
116 | else if ( n.left( 5 ) == "faxto" ) | 116 | else if ( n.left( 5 ) == "faxto" ) |
117 | ExternalAppHandler::instance()->callByFax( n.mid(6) ); | 117 | ExternalAppHandler::instance()->callByFax( n.mid(6) ); |
118 | else if ( n.left( 5 ) == "smsto" ) | 118 | else if ( n.left( 5 ) == "smsto" ) |
119 | ExternalAppHandler::instance()->callBySMS( n.mid(6) ); | 119 | ExternalAppHandler::instance()->callBySMS( n.mid(6) ); |
120 | else if ( n.left( 7 ) == "pagerto" ) | 120 | else if ( n.left( 7 ) == "pagerto" ) |
121 | ExternalAppHandler::instance()->callByPager( n.mid(8) ); | 121 | ExternalAppHandler::instance()->callByPager( n.mid(8) ); |
122 | else if ( n.left( 5 ) == "sipto" ) | 122 | else if ( n.left( 5 ) == "sipto" ) |
123 | ExternalAppHandler::instance()->callBySIP( n.mid(6) ); | 123 | ExternalAppHandler::instance()->callBySIP( n.mid(6) ); |
124 | 124 | ||
125 | } | 125 | } |
126 | void AddresseeView::setAddressee( const KABC::Addressee& mAddressee ) | 126 | void AddresseeView::setAddressee( const KABC::Addressee& mAddressee ) |
127 | { | 127 | { |
128 | bool kemailAvail = ExternalAppHandler::instance()->isEmailAppAvailable(); | 128 | bool kemailAvail = ExternalAppHandler::instance()->isEmailAppAvailable(); |
129 | // mAddressee = addr; | 129 | // mAddressee = addr; |
130 | // clear view | 130 | // clear view |
131 | //setText( QString::null ); | 131 | //setText( QString::null ); |
132 | mCurrentContact = mAddressee; | 132 | mCurrentContact = mAddressee; |
133 | if ( mAddressee.isEmpty() ) { | 133 | if ( mAddressee.isEmpty() ) { |
134 | setText( QString::null); | 134 | setText( QString::null); |
135 | return; | 135 | return; |
136 | } | 136 | } |
137 | #if 0 | 137 | #if 0 |
138 | QString name = ( mAddressee.assembledName().isEmpty() ? | 138 | QString name = ( mAddressee.assembledName().isEmpty() ? |
139 | mAddressee.formattedName() : mAddressee.assembledName() ); | 139 | mAddressee.formattedName() : mAddressee.assembledName() ); |
140 | #endif | 140 | #endif |
141 | 141 | ||
142 | QString name = mAddressee.realName(); | 142 | QString name = mAddressee.realName(); |
143 | 143 | ||
144 | QString dynamicPart; | 144 | QString dynamicPart; |
145 | 145 | ||
146 | dynamicPart += getPhoneNumbers( mAddressee.phoneNumbers(),true ); | 146 | dynamicPart += getPhoneNumbers( mAddressee.phoneNumbers(),true ); |
147 | QStringList emails = mAddressee.emails(); | 147 | QStringList emails = mAddressee.emails(); |
148 | QStringList::ConstIterator emailIt; | 148 | QStringList::ConstIterator emailIt; |
149 | QString type = i18n( "Email" ); | 149 | QString type = i18n( "Email" ); |
150 | emailIt = emails.begin(); | 150 | emailIt = emails.begin(); |
151 | if ( emailIt != emails.end() ) { | 151 | if ( emailIt != emails.end() ) { |
152 | if ( kemailAvail ) { | 152 | if ( kemailAvail ) { |
153 | dynamicPart += QString( | 153 | dynamicPart += QString( |
154 | "<tr><td align=\"right\"><b>%1</b></td>" | 154 | "<tr><td align=\"right\"><b>%1</b></td>" |
155 | "<td align=\"left\"><a href=\"mailto:%2 <%3> \">%4</a></td></tr>" ) | 155 | "<td align=\"left\"><a href=\"mailto:%2 <%3> \">%4</a></td></tr>" ) |
156 | .arg( type ) | 156 | .arg( type ) |
157 | .arg( name ) | 157 | .arg( name ) |
158 | .arg( *emailIt ) | 158 | .arg( *emailIt ) |
159 | .arg( *emailIt ); | 159 | .arg( *emailIt ); |
160 | ++emailIt; | 160 | ++emailIt; |
161 | } else { | 161 | } else { |
162 | dynamicPart += QString( | 162 | dynamicPart += QString( |
163 | "<tr><td align=\"right\"><b>%1</b></td>" | 163 | "<tr><td align=\"right\"><b>%1</b></td>" |
164 | "<td align=\"left\">%2</td></tr>" ) | 164 | "<td align=\"left\">%2</td></tr>" ) |
165 | .arg( type ) | 165 | .arg( type ) |
166 | .arg( *emailIt ); | 166 | .arg( *emailIt ); |
167 | ++emailIt; | 167 | ++emailIt; |
168 | } | 168 | } |
169 | } | 169 | } |
170 | if ( mAddressee.birthday().date().isValid() ) { | 170 | if ( mAddressee.birthday().date().isValid() ) { |
171 | dynamicPart += QString( | 171 | dynamicPart += QString( |
172 | "<tr><td align=\"right\"><b>%1</b></td>" | 172 | "<tr><td align=\"right\"><b>%1</b></td>" |
173 | "<td align=\"left\">%2</td></tr>" ) | 173 | "<td align=\"left\">%2</td></tr>" ) |
174 | .arg( i18n ("Birthday") ) | 174 | .arg( i18n ("Birthday") ) |
175 | .arg( KGlobal::locale()->formatDate( mAddressee.birthday().date() ,true) ); | 175 | .arg( KGlobal::locale()->formatDate( mAddressee.birthday().date() ,true) ); |
176 | } | 176 | } |
177 | dynamicPart += getPhoneNumbers( mAddressee.phoneNumbers(), false ); | 177 | dynamicPart += getPhoneNumbers( mAddressee.phoneNumbers(), false ); |
178 | 178 | ||
179 | for ( ; emailIt != emails.end(); ++emailIt ) { | 179 | for ( ; emailIt != emails.end(); ++emailIt ) { |
180 | if ( kemailAvail ) { | 180 | if ( kemailAvail ) { |
181 | dynamicPart += QString( | 181 | dynamicPart += QString( |
182 | "<tr><td align=\"right\"><b>%1</b></td>" | 182 | "<tr><td align=\"right\"><b>%1</b></td>" |
183 | "<td align=\"left\"><a href=\"mailto:%2 <%3> \">%4</a></td></tr>" ) | 183 | "<td align=\"left\"><a href=\"mailto:%2 <%3> \">%4</a></td></tr>" ) |
184 | .arg( type ) | 184 | .arg( type ) |
185 | .arg( name ) | 185 | .arg( name ) |
186 | .arg( *emailIt ) | 186 | .arg( *emailIt ) |
187 | .arg( *emailIt ); | 187 | .arg( *emailIt ); |
188 | } else { | 188 | } else { |
189 | dynamicPart += QString( | 189 | dynamicPart += QString( |
190 | "<tr><td align=\"right\"><b>%1</b></td>" | 190 | "<tr><td align=\"right\"><b>%1</b></td>" |
191 | "<td align=\"left\">%2</td></tr>" ) | 191 | "<td align=\"left\">%2</td></tr>" ) |
192 | .arg( type ) | 192 | .arg( type ) |
193 | .arg( *emailIt ); | 193 | .arg( *emailIt ); |
194 | } | 194 | } |
195 | } | 195 | } |
196 | 196 | ||
197 | 197 | ||
198 | 198 | ||
199 | KABC::Address::List addresses = mAddressee.addresses(); | 199 | KABC::Address::List addresses = mAddressee.addresses(); |
200 | KABC::Address::List::ConstIterator addrIt; | 200 | KABC::Address::List::ConstIterator addrIt; |
201 | for ( addrIt = addresses.begin(); addrIt != addresses.end(); ++addrIt ) { | 201 | for ( addrIt = addresses.begin(); addrIt != addresses.end(); ++addrIt ) { |
202 | if ( true /*(*addrIt).label().isEmpty()*/ ) { | 202 | if ( true /*(*addrIt).label().isEmpty()*/ ) { |
203 | QString formattedAddress = (*addrIt).formattedAddress().stripWhiteSpace(); | 203 | QString formattedAddress = (*addrIt).formattedAddress().stripWhiteSpace(); |
204 | //US formattedAddress = formattedAddress.replace( '\n', "<br>" ); | 204 | //US formattedAddress = formattedAddress.replace( '\n', "<br>" ); |
205 | //qDebug("adresss %s ",formattedAddress.latin1() ); | 205 | //qDebug("adresss %s ",formattedAddress.latin1() ); |
206 | formattedAddress = formattedAddress.replace( QRegExp("\n"), "<br>" ); | 206 | formattedAddress = formattedAddress.replace( QRegExp("\n"), "<br>" ); |
207 | //qDebug("AddresseeView::setAddressee has to be verified."); | 207 | //qDebug("AddresseeView::setAddressee has to be verified."); |
208 | 208 | ||
209 | dynamicPart += QString( | 209 | dynamicPart += QString( |
210 | "<tr><td align=\"right\"><b>%1</b></td>" | 210 | "<tr><td align=\"right\"><b>%1</b></td>" |
211 | "<td align=\"left\">%2</td></tr>" ) | 211 | "<td align=\"left\">%2</td></tr>" ) |
212 | .arg( KABC::Address::typeLabel( (*addrIt).type() ) ) | 212 | .arg( KABC::Address::typeLabel( (*addrIt).type() ) ) |
213 | .arg( formattedAddress ); | 213 | .arg( formattedAddress ); |
214 | } else { | 214 | } else { |
215 | 215 | ||
216 | dynamicPart += QString( | 216 | dynamicPart += QString( |
217 | "<tr><td align=\"right\"><b>%1</b></td>" | 217 | "<tr><td align=\"right\"><b>%1</b></td>" |
218 | "<td align=\"left\">%2</td></tr>" ) | 218 | "<td align=\"left\">%2</td></tr>" ) |
219 | .arg( KABC::Address::typeLabel( (*addrIt).type() ) ) | 219 | .arg( KABC::Address::typeLabel( (*addrIt).type() ) ) |
220 | //US .arg( (*addrIt).label().replace( '\n', "<br>" ) ); | 220 | //US .arg( (*addrIt).label().replace( '\n', "<br>" ) ); |
221 | .arg( (*addrIt).label() /*replace( QRegExp("\n"), "<br>" )*/ ); | 221 | .arg( (*addrIt).label() /*replace( QRegExp("\n"), "<br>" )*/ ); |
222 | 222 | ||
223 | } | 223 | } |
224 | } | 224 | } |
225 | 225 | ||
226 | 226 | ||
227 | QString notes; | 227 | QString notes; |
228 | if ( sFullDetailsMode ) { | 228 | if ( sFullDetailsMode ) { |
229 | notes = QString( | 229 | notes = QString( |
230 | "<tr><td align=\"right\"><b>%1</b></td>" | 230 | "<tr><td align=\"right\"><b>%1</b></td>" |
231 | "<td align=\"left\"><a href=\"notAllDetails\">%4</a></td></tr>" ) | 231 | "<td align=\"left\"><a href=\"notAllDetails\">%4</a></td></tr>" ) |
232 | .arg( i18n("Details") ) | 232 | .arg( i18n("Details") ) |
233 | .arg( i18n("Hide!") ); | 233 | .arg( i18n("Hide!") ); |
234 | 234 | ||
235 | QString tempX = mAddressee.custom( "KADDRESSBOOK", "X-Gender" ); | 235 | QString tempX = mAddressee.custom( "KADDRESSBOOK", "X-Gender" ); |
236 | if ( !tempX.isEmpty() ) { | 236 | if ( !tempX.isEmpty() ) { |
237 | notes += QString( | 237 | if ( tempX == "male" || tempX == "female" ) { |
238 | "<tr><td align=\"right\"><b>%1</b></td>" | 238 | notes += QString( |
239 | "<td align=\"left\">%2</td></tr>" ) | 239 | "<tr><td align=\"right\"><b>%1</b></td>" |
240 | .arg( i18n( "" ) ) | 240 | "<td align=\"left\">%2</td></tr>" ) |
241 | .arg( i18n(tempX) ); | 241 | .arg( i18n( "" ) ) |
242 | .arg( i18n(tempX) ); | ||
243 | } | ||
242 | } | 244 | } |
243 | 245 | ||
244 | 246 | ||
245 | tempX = mAddressee.secrecy().asString(); | 247 | tempX = mAddressee.secrecy().asString(); |
246 | 248 | ||
247 | notes += QString( | 249 | notes += QString( |
248 | "<tr><td align=\"right\"><b>%1</b></td>" | 250 | "<tr><td align=\"right\"><b>%1</b></td>" |
249 | "<td align=\"left\">%2</td></tr>" ) | 251 | "<td align=\"left\">%2</td></tr>" ) |
250 | .arg( "" ) | 252 | .arg( "" ) |
251 | .arg( tempX ); | 253 | .arg( tempX ); |
252 | 254 | ||
253 | 255 | ||
254 | tempX = mAddressee.categories().join(" - "); | 256 | tempX = mAddressee.categories().join(" - "); |
255 | if ( !tempX.isEmpty() ) { | 257 | if ( !tempX.isEmpty() ) { |
256 | notes += QString( | 258 | notes += QString( |
257 | "<tr><td align=\"right\"><b>%1</b></td>" | 259 | "<tr><td align=\"right\"><b>%1</b></td>" |
258 | "<td align=\"left\">%2</td></tr>" ) | 260 | "<td align=\"left\">%2</td></tr>" ) |
259 | .arg( i18n( "Category" ) ) | 261 | .arg( i18n( "Category" ) ) |
260 | .arg( tempX ); | 262 | .arg( tempX ); |
261 | } | 263 | } |
262 | tempX = mAddressee.custom( "KADDRESSBOOK", "X-Profession" ); | 264 | tempX = mAddressee.custom( "KADDRESSBOOK", "X-Profession" ); |
263 | if ( !tempX.isEmpty() ) { | 265 | if ( !tempX.isEmpty() ) { |
264 | notes += QString( | 266 | notes += QString( |
265 | "<tr><td align=\"right\"><b>%1</b></td>" | 267 | "<tr><td align=\"right\"><b>%1</b></td>" |
266 | "<td align=\"left\">%2</td></tr>" ) | 268 | "<td align=\"left\">%2</td></tr>" ) |
267 | .arg( i18n( "Profession" ) ) | 269 | .arg( i18n( "Profession" ) ) |
268 | .arg( tempX ); | 270 | .arg( tempX ); |
269 | } | 271 | } |
270 | tempX = mAddressee.custom( "KADDRESSBOOK", "X-Office" ); | 272 | tempX = mAddressee.custom( "KADDRESSBOOK", "X-Office" ); |
271 | if ( !tempX.isEmpty() ) { | 273 | if ( !tempX.isEmpty() ) { |
272 | notes += QString( | 274 | notes += QString( |
273 | "<tr><td align=\"right\"><b>%1</b></td>" | 275 | "<tr><td align=\"right\"><b>%1</b></td>" |
274 | "<td align=\"left\">%2</td></tr>" ) | 276 | "<td align=\"left\">%2</td></tr>" ) |
275 | .arg( i18n( "Office" ) ) | 277 | .arg( i18n( "Office" ) ) |
276 | .arg( tempX ); | 278 | .arg( tempX ); |
277 | } | 279 | } |
278 | tempX = mAddressee.custom( "KADDRESSBOOK", "X-Department" ); | 280 | tempX = mAddressee.custom( "KADDRESSBOOK", "X-Department" ); |
279 | if ( !tempX.isEmpty() ) { | 281 | if ( !tempX.isEmpty() ) { |
280 | notes += QString( | 282 | notes += QString( |
281 | "<tr><td align=\"right\"><b>%1</b></td>" | 283 | "<tr><td align=\"right\"><b>%1</b></td>" |
282 | "<td align=\"left\">%2</td></tr>" ) | 284 | "<td align=\"left\">%2</td></tr>" ) |
283 | .arg( i18n( "Department" ) ) | 285 | .arg( i18n( "Department" ) ) |
284 | .arg( tempX ); | 286 | .arg( tempX ); |
285 | } | 287 | } |
286 | 288 | ||
287 | tempX = mAddressee.custom( "KADDRESSBOOK", "X-ManagersName" ); | 289 | tempX = mAddressee.custom( "KADDRESSBOOK", "X-ManagersName" ); |
288 | if ( !tempX.isEmpty() ) { | 290 | if ( !tempX.isEmpty() ) { |
289 | notes += QString( | 291 | notes += QString( |
290 | "<tr><td align=\"right\"><b>%1</b></td>" | 292 | "<tr><td align=\"right\"><b>%1</b></td>" |
291 | "<td align=\"left\">%2</td></tr>" ) | 293 | "<td align=\"left\">%2</td></tr>" ) |
292 | .arg( i18n( "Manager" ) ) | 294 | .arg( i18n( "Manager" ) ) |
293 | .arg( tempX ); | 295 | .arg( tempX ); |
294 | } | 296 | } |
295 | tempX = mAddressee.custom( "KADDRESSBOOK", "X-AssistantsName" ); | 297 | tempX = mAddressee.custom( "KADDRESSBOOK", "X-AssistantsName" ); |
296 | if ( !tempX.isEmpty() ) { | 298 | if ( !tempX.isEmpty() ) { |
297 | notes += QString( | 299 | notes += QString( |
298 | "<tr><td align=\"right\"><b>%1</b></td>" | 300 | "<tr><td align=\"right\"><b>%1</b></td>" |
299 | "<td align=\"left\">%2</td></tr>" ) | 301 | "<td align=\"left\">%2</td></tr>" ) |
300 | .arg( i18n( "Assistant" ) ) | 302 | .arg( i18n( "Assistant" ) ) |
301 | .arg( tempX ); | 303 | .arg( tempX ); |
302 | } | 304 | } |
303 | if ( !mAddressee.url().url().isEmpty() ) { | 305 | if ( !mAddressee.url().url().isEmpty() ) { |
304 | notes += QString( | 306 | notes += QString( |
305 | "<tr><td align=\"right\"><b>%1</b></td>" | 307 | "<tr><td align=\"right\"><b>%1</b></td>" |
306 | "<td align=\"left\">%2</td></tr>" ) | 308 | "<td align=\"left\">%2</td></tr>" ) |
307 | .arg( i18n( "Homepage" ) ) | 309 | .arg( i18n( "Homepage" ) ) |
308 | .arg( mAddressee.url().url() ); | 310 | .arg( mAddressee.url().url() ); |
309 | } | 311 | } |
310 | tempX = mAddressee.nickName(); | 312 | tempX = mAddressee.nickName(); |
311 | if ( !tempX.isEmpty() ) { | 313 | if ( !tempX.isEmpty() ) { |
312 | notes += QString( | 314 | notes += QString( |
313 | "<tr><td align=\"right\"><b>%1</b></td>" | 315 | "<tr><td align=\"right\"><b>%1</b></td>" |
314 | "<td align=\"left\">%2</td></tr>" ) | 316 | "<td align=\"left\">%2</td></tr>" ) |
315 | .arg( i18n( "Nickname" ) ) | 317 | .arg( i18n( "Nickname" ) ) |
316 | .arg( tempX ); | 318 | .arg( tempX ); |
317 | } | 319 | } |
318 | tempX = mAddressee.custom( "KADDRESSBOOK", "X-IMAddress" ); | 320 | tempX = mAddressee.custom( "KADDRESSBOOK", "X-IMAddress" ); |
319 | if ( !tempX.isEmpty() ) { | 321 | if ( !tempX.isEmpty() ) { |
320 | notes += QString( | 322 | notes += QString( |
321 | "<tr><td align=\"right\"><b>%1</b></td>" | 323 | "<tr><td align=\"right\"><b>%1</b></td>" |
322 | "<td align=\"left\">%2</td></tr>" ) | 324 | "<td align=\"left\">%2</td></tr>" ) |
323 | .arg( i18n( "Messanger" ) ) | 325 | .arg( i18n( "Messanger" ) ) |
324 | .arg( tempX ); | 326 | .arg( tempX ); |
325 | } | 327 | } |
326 | 328 | ||
327 | tempX = mAddressee.custom( "KADDRESSBOOK", "X-Anniversary" ); | 329 | tempX = mAddressee.custom( "KADDRESSBOOK", "X-Anniversary" ); |
328 | if ( !tempX.isEmpty() ) { | 330 | if ( !tempX.isEmpty() ) { |
329 | QDate dt = KGlobal::locale()->readDate( tempX, "%Y-%m-%d"); | 331 | QDate dt = KGlobal::locale()->readDate( tempX, "%Y-%m-%d"); |
330 | tempX = KGlobal::locale()->formatDate(dt, true); | 332 | if ( dt.isValid () ) { |
331 | notes += QString( | 333 | tempX = KGlobal::locale()->formatDate(dt, true); |
332 | "<tr><td align=\"right\"><b>%1</b></td>" | 334 | notes += QString( |
333 | "<td align=\"left\">%2</td></tr>" ) | 335 | "<tr><td align=\"right\"><b>%1</b></td>" |
334 | .arg( i18n( "Anniversary" ) ) | 336 | "<td align=\"left\">%2</td></tr>" ) |
335 | .arg( tempX ); | 337 | .arg( i18n( "Anniversary" ) ) |
338 | .arg( tempX ); | ||
339 | } | ||
336 | } | 340 | } |
337 | tempX = mAddressee.custom( "KADDRESSBOOK", "X-SpousesName" ); | 341 | tempX = mAddressee.custom( "KADDRESSBOOK", "X-SpousesName" ); |
338 | if ( !tempX.isEmpty() ) { | 342 | if ( !tempX.isEmpty() ) { |
339 | notes += QString( | 343 | notes += QString( |
340 | "<tr><td align=\"right\"><b>%1</b></td>" | 344 | "<tr><td align=\"right\"><b>%1</b></td>" |
341 | "<td align=\"left\">%2</td></tr>" ) | 345 | "<td align=\"left\">%2</td></tr>" ) |
342 | .arg( i18n( "Spouse" ) ) | 346 | .arg( i18n( "Spouse" ) ) |
343 | .arg( tempX ); | 347 | .arg( tempX ); |
344 | } | 348 | } |
345 | tempX = mAddressee.custom( "KADDRESSBOOK", "X-Children" ); | 349 | tempX = mAddressee.custom( "KADDRESSBOOK", "X-Children" ); |
346 | if ( !tempX.isEmpty() ) { | 350 | if ( !tempX.isEmpty() ) { |
347 | notes += QString( | 351 | notes += QString( |
348 | "<tr><td align=\"right\"><b>%1</b></td>" | 352 | "<tr><td align=\"right\"><b>%1</b></td>" |
349 | "<td align=\"left\">%2</td></tr>" ) | 353 | "<td align=\"left\">%2</td></tr>" ) |
350 | .arg( i18n( "Children" ) ) | 354 | .arg( i18n( "Children" ) ) |
351 | .arg( tempX ); | 355 | .arg( tempX ); |
352 | } | 356 | } |
353 | 357 | ||
354 | if ( !mAddressee.note().isEmpty() ) { | 358 | if ( !mAddressee.note().isEmpty() ) { |
355 | notes += QString( | 359 | notes += QString( |
356 | "<tr>" | 360 | "<tr>" |
357 | "<td align=\"right\" valign=\"top\"><b>%1</b></td>" // note label | 361 | "<td align=\"right\" valign=\"top\"><b>%1</b></td>" // note label |
358 | "<td align=\"left\">%2</td>" // note | 362 | "<td align=\"left\">%2</td>" // note |
359 | "</tr>" ).arg( i18n( "Notes" ) ) | 363 | "</tr>" ).arg( i18n( "Notes" ) ) |
360 | //US .arg( mAddressee.note().replace( '\n', "<br>" ) ); | 364 | //US .arg( mAddressee.note().replace( '\n', "<br>" ) ); |
361 | .arg( mAddressee.note().replace( QRegExp("\n"), "<br>" ) ); | 365 | .arg( mAddressee.note().replace( QRegExp("\n"), "<br>" ) ); |
362 | //qDebug("AddresseeView::setAddressee has to be verified."); | 366 | //qDebug("AddresseeView::setAddressee has to be verified."); |
363 | } | 367 | } |
364 | } else { | 368 | } else { |
365 | notes = QString( | 369 | notes = QString( |
366 | "<tr><td align=\"right\"><b>%1</b></td>" | 370 | "<tr><td align=\"right\"><b>%1</b></td>" |
367 | "<td align=\"left\"><a href=\"allDetails\">%4</a></td></tr>" ) | 371 | "<td align=\"left\"><a href=\"allDetails\">%4</a></td></tr>" ) |
368 | .arg( i18n("Details") ) | 372 | .arg( i18n("Details") ) |
369 | .arg( i18n("Show!") ); | 373 | .arg( i18n("Show!") ); |
370 | 374 | ||
371 | 375 | ||
372 | } | 376 | } |
373 | 377 | ||
374 | QString aRole = ""; | 378 | QString aRole = ""; |
375 | QString aOrga = ""; | 379 | QString aOrga = ""; |
376 | if ( true /*!mAddressee.role().isEmpty()*/ ) { | 380 | if ( true /*!mAddressee.role().isEmpty()*/ ) { |
377 | aRole = "<tr>" | 381 | aRole = "<tr>" |
378 | "<td align=\"left\">" + mAddressee.role() + "</td>" | 382 | "<td align=\"left\">" + mAddressee.role() + "</td>" |
379 | "</tr>"; | 383 | "</tr>"; |
380 | } | 384 | } |
381 | if ( true /*!mAddressee.organization().isEmpty()*/ ) { | 385 | if ( true /*!mAddressee.organization().isEmpty()*/ ) { |
382 | aOrga = "<tr>" | 386 | aOrga = "<tr>" |
383 | "<td align=\"left\">" + mAddressee.organization() + "</td>" | 387 | "<td align=\"left\">" + mAddressee.organization() + "</td>" |
384 | "</tr>"; | 388 | "</tr>"; |
385 | } | 389 | } |
386 | mText = ""; | 390 | mText = ""; |
387 | QString picString = ""; | 391 | QString picString = ""; |
388 | KABC::Picture picture = mAddressee.photo(); | 392 | KABC::Picture picture = mAddressee.photo(); |
389 | bool picAvailintern = false; | 393 | bool picAvailintern = false; |
390 | bool picAvailUrl = false; | 394 | bool picAvailUrl = false; |
391 | if (! picture.undefined() ) { | 395 | if (! picture.undefined() ) { |
392 | picAvailintern = (picture.isIntern() && !picture.data().isNull()); | 396 | picAvailintern = (picture.isIntern() && !picture.data().isNull()); |
393 | picAvailUrl = !picture.isIntern() && QFile::exists(picture.url() ); | 397 | picAvailUrl = !picture.isIntern() && QFile::exists(picture.url() ); |
394 | } | 398 | } |
395 | if ( picAvailUrl || picAvailintern || QApplication::desktop()->width() > 320 ) { | 399 | if ( picAvailUrl || picAvailintern || QApplication::desktop()->width() > 320 ) { |
396 | picString = "<img src=\"myimage\" width=\"50\" height=\"70\">"; | 400 | picString = "<img src=\"myimage\" width=\"50\" height=\"70\">"; |
397 | if ( picAvailintern ) { | 401 | if ( picAvailintern ) { |
398 | QMimeSourceFactory::defaultFactory()->setImage( "myimage", picture.data() ); | 402 | QMimeSourceFactory::defaultFactory()->setImage( "myimage", picture.data() ); |
399 | } else { | 403 | } else { |
400 | if ( picAvailUrl ) { | 404 | if ( picAvailUrl ) { |
401 | QMimeSourceFactory::defaultFactory()->setPixmap( "myimage", QPixmap( picture.url() )); | 405 | QMimeSourceFactory::defaultFactory()->setPixmap( "myimage", QPixmap( picture.url() )); |
402 | } else { | 406 | } else { |
403 | if ( !mAddressee.custom( "KADDRESSBOOK", "X-Children" ).isEmpty() ) { | 407 | if ( !mAddressee.custom( "KADDRESSBOOK", "X-Children" ).isEmpty() ) { |
404 | static bool setDefaultImageChildren = false; | 408 | static bool setDefaultImageChildren = false; |
405 | if ( !setDefaultImageChildren ) { | 409 | if ( !setDefaultImageChildren ) { |
406 | QMimeSourceFactory::defaultFactory()->setPixmap( "familyIcon", KGlobal::iconLoader()->loadIcon( "ic_kids", KIcon::Desktop, 128 ) ); | 410 | QMimeSourceFactory::defaultFactory()->setPixmap( "familyIcon", KGlobal::iconLoader()->loadIcon( "ic_kids", KIcon::Desktop, 128 ) ); |
407 | setDefaultImageChildren = true; | 411 | setDefaultImageChildren = true; |
408 | } | 412 | } |
409 | picString = "<img src=\"familyIcon\" width=\"64\" height=\"64\">"; | 413 | picString = "<img src=\"familyIcon\" width=\"64\" height=\"64\">"; |
410 | 414 | ||
411 | } else if ( !mAddressee.custom( "KADDRESSBOOK", "X-SpousesName" ).isEmpty() ) { | 415 | } else if ( !mAddressee.custom( "KADDRESSBOOK", "X-SpousesName" ).isEmpty() ) { |
412 | static bool setDefaultImagepouses = false; | 416 | static bool setDefaultImagepouses = false; |
413 | if ( !setDefaultImagepouses ) { | 417 | if ( !setDefaultImagepouses ) { |
414 | QMimeSourceFactory::defaultFactory()->setPixmap( "SpousesIcon", KGlobal::iconLoader()->loadIcon( "ic_family", KIcon::Desktop, 128 ) ); | 418 | QMimeSourceFactory::defaultFactory()->setPixmap( "SpousesIcon", KGlobal::iconLoader()->loadIcon( "ic_family", KIcon::Desktop, 128 ) ); |
415 | setDefaultImagepouses = true; | 419 | setDefaultImagepouses = true; |
416 | } | 420 | } |
417 | picString = "<img src=\"SpousesIcon\" width=\"64\" height=\"64\">"; | 421 | picString = "<img src=\"SpousesIcon\" width=\"64\" height=\"64\">"; |
418 | } else { | 422 | } else { |
419 | QString gen = mAddressee.custom( "KADDRESSBOOK", "X-Gender" ); | 423 | QString gen = mAddressee.custom( "KADDRESSBOOK", "X-Gender" ); |
420 | if ( gen == "male" ) { | 424 | if ( gen == "male" ) { |
421 | static bool setDefaultImageMale = false; | 425 | static bool setDefaultImageMale = false; |
422 | if ( !setDefaultImageMale ) { | 426 | if ( !setDefaultImageMale ) { |
423 | QMimeSourceFactory::defaultFactory()->setPixmap( "MaleIcon", KGlobal::iconLoader()->loadIcon( "ic_male", KIcon::Desktop, 128 ) ); | 427 | QMimeSourceFactory::defaultFactory()->setPixmap( "MaleIcon", KGlobal::iconLoader()->loadIcon( "ic_male", KIcon::Desktop, 128 ) ); |
424 | setDefaultImageMale = true; | 428 | setDefaultImageMale = true; |
425 | } | 429 | } |
426 | picString = "<img src=\"MaleIcon\" width=\"64\" height=\"64\">"; | 430 | picString = "<img src=\"MaleIcon\" width=\"64\" height=\"64\">"; |
427 | 431 | ||
428 | } else if ( gen == "female" ) { | 432 | } else if ( gen == "female" ) { |
429 | static bool setDefaultImageFemale = false; | 433 | static bool setDefaultImageFemale = false; |
430 | if ( !setDefaultImageFemale ) { | 434 | if ( !setDefaultImageFemale ) { |
431 | QMimeSourceFactory::defaultFactory()->setPixmap( "FemaleIcon", KGlobal::iconLoader()->loadIcon( "ic_female", KIcon::Desktop, 128 ) ); | 435 | QMimeSourceFactory::defaultFactory()->setPixmap( "FemaleIcon", KGlobal::iconLoader()->loadIcon( "ic_female", KIcon::Desktop, 128 ) ); |
432 | setDefaultImageFemale = true; | 436 | setDefaultImageFemale = true; |
433 | } | 437 | } |
434 | picString = "<img src=\"FemaleIcon\" width=\"64\" height=\"64\">"; | 438 | picString = "<img src=\"FemaleIcon\" width=\"64\" height=\"64\">"; |
435 | 439 | ||
436 | } else { | 440 | } else { |
437 | static bool setDefaultImage = false; | 441 | static bool setDefaultImage = false; |
438 | if ( !setDefaultImage ) { | 442 | if ( !setDefaultImage ) { |
439 | //qDebug("Setting default pixmap "); | 443 | //qDebug("Setting default pixmap "); |
440 | QMimeSourceFactory::defaultFactory()->setPixmap( "defaultIcon", KGlobal::iconLoader()->loadIcon( "ic_penguin", KIcon::Desktop, 128 ) ); | 444 | QMimeSourceFactory::defaultFactory()->setPixmap( "defaultIcon", KGlobal::iconLoader()->loadIcon( "ic_penguin", KIcon::Desktop, 128 ) ); |
441 | setDefaultImage = true; | 445 | setDefaultImage = true; |
442 | } | 446 | } |
443 | picString = "<img src=\"defaultIcon\" width=\"64\" height=\"64\">"; | 447 | picString = "<img src=\"defaultIcon\" width=\"64\" height=\"64\">"; |
444 | } | 448 | } |
445 | } | 449 | } |
446 | } | 450 | } |
447 | } | 451 | } |
448 | mText = QString::fromLatin1( | 452 | mText = QString::fromLatin1( |
449 | "<html>" | 453 | "<html>" |
450 | "<body text=\"%1\" bgcolor=\"%2\">" // text and background color | 454 | "<body text=\"%1\" bgcolor=\"%2\">" // text and background color |
451 | "<table>" | 455 | "<table>" |
452 | "<tr>" | 456 | "<tr>" |
453 | "<td rowspan=\"3\" align=\"right\" valign=\"top\">" | 457 | "<td rowspan=\"3\" align=\"right\" valign=\"top\">" |
454 | "%3" | 458 | "%3" |
455 | "</td>" | 459 | "</td>" |
456 | "<td align=\"left\"><font size=\"+2\"><b>%4</b></font></td>" // name | 460 | "<td align=\"left\"><font size=\"+2\"><b>%4</b></font></td>" // name |
457 | "</tr>" | 461 | "</tr>" |
458 | "%5" // role | 462 | "%5" // role |
459 | "%6" // organization | 463 | "%6" // organization |
460 | "<td colspan=\"2\"> </td>" | 464 | "<td colspan=\"2\"> </td>" |
461 | "%7" // dynamic part | 465 | "%7" // dynamic part |
462 | "%8" // notes | 466 | "%8" // notes |
463 | "</table>" | 467 | "</table>" |
diff --git a/kaddressbook/addresseeeditorwidget.cpp b/kaddressbook/addresseeeditorwidget.cpp index 5334a0e..29abd6f 100644 --- a/kaddressbook/addresseeeditorwidget.cpp +++ b/kaddressbook/addresseeeditorwidget.cpp | |||
@@ -581,257 +581,257 @@ void AddresseeEditorWidget::setupTab2() | |||
581 | connect( mManagerEdit, SIGNAL( textChanged( const QString& ) ), | 581 | connect( mManagerEdit, SIGNAL( textChanged( const QString& ) ), |
582 | SLOT( textChanged( const QString& ) ) ); | 582 | SLOT( textChanged( const QString& ) ) ); |
583 | label->setBuddy( mManagerEdit ); | 583 | label->setBuddy( mManagerEdit ); |
584 | //US layout->addMultiCellWidget( mManagerEdit, 0, 0, 4, 5 ); | 584 | //US layout->addMultiCellWidget( mManagerEdit, 0, 0, 4, 5 ); |
585 | layout->addWidget( mManagerEdit, 3, 2 ); | 585 | layout->addWidget( mManagerEdit, 3, 2 ); |
586 | 586 | ||
587 | label = new QLabel( i18n( "Assistant's name:" ), tab2 ); | 587 | label = new QLabel( i18n( "Assistant's name:" ), tab2 ); |
588 | //US layout->addWidget( label, 1, 3 ); | 588 | //US layout->addWidget( label, 1, 3 ); |
589 | layout->addWidget( label, 4, 1 ); | 589 | layout->addWidget( label, 4, 1 ); |
590 | mAssistantEdit = new KLineEdit( tab2 ); | 590 | mAssistantEdit = new KLineEdit( tab2 ); |
591 | connect( mAssistantEdit, SIGNAL( textChanged( const QString& ) ), | 591 | connect( mAssistantEdit, SIGNAL( textChanged( const QString& ) ), |
592 | SLOT( textChanged( const QString& ) ) ); | 592 | SLOT( textChanged( const QString& ) ) ); |
593 | label->setBuddy( mAssistantEdit ); | 593 | label->setBuddy( mAssistantEdit ); |
594 | //US layout->addMultiCellWidget( mAssistantEdit, 1, 1, 4, 5 ); | 594 | //US layout->addMultiCellWidget( mAssistantEdit, 1, 1, 4, 5 ); |
595 | layout->addWidget( mAssistantEdit, 4, 2 ); | 595 | layout->addWidget( mAssistantEdit, 4, 2 ); |
596 | 596 | ||
597 | bar = new KSeparator( KSeparator::HLine, tab2 ); | 597 | bar = new KSeparator( KSeparator::HLine, tab2 ); |
598 | //US layout->addMultiCellWidget( bar, 3, 3, 0, 5 ); | 598 | //US layout->addMultiCellWidget( bar, 3, 3, 0, 5 ); |
599 | layout->addMultiCellWidget( bar, 5, 5, 0, 2 ); | 599 | layout->addMultiCellWidget( bar, 5, 5, 0, 2 ); |
600 | 600 | ||
601 | ///////////////////////////////////////////////// | 601 | ///////////////////////////////////////////////// |
602 | // Personal info | 602 | // Personal info |
603 | 603 | ||
604 | //label = new QLabel( tab2 ); | 604 | //label = new QLabel( tab2 ); |
605 | //US loadIcon call is ambiguous. Add one more parameter | 605 | //US loadIcon call is ambiguous. Add one more parameter |
606 | //US label->setPixmap( KGlobal::iconLoader()->loadIcon( "personal", KIcon::Desktop ) ); | 606 | //US label->setPixmap( KGlobal::iconLoader()->loadIcon( "personal", KIcon::Desktop ) ); |
607 | //label->setPixmap( KGlobal::iconLoader()->loadIcon( "personal", KIcon::Desktop, 0 ) ); | 607 | //label->setPixmap( KGlobal::iconLoader()->loadIcon( "personal", KIcon::Desktop, 0 ) ); |
608 | //US layout->addMultiCellWidget( label, 4, 5, 0, 0 ); | 608 | //US layout->addMultiCellWidget( label, 4, 5, 0, 0 ); |
609 | //layout->addMultiCellWidget( label, 6, 7, 0, 0 ); | 609 | //layout->addMultiCellWidget( label, 6, 7, 0, 0 ); |
610 | 610 | ||
611 | 611 | ||
612 | int iii = 6; | 612 | int iii = 6; |
613 | 613 | ||
614 | if ( QApplication::desktop()->width() == 640 ) { | 614 | if ( QApplication::desktop()->width() == 640 ) { |
615 | QHBox * nbox = new QHBox ( tab2 ); | 615 | QHBox * nbox = new QHBox ( tab2 ); |
616 | label = new QLabel( i18n( "Nick name:" )+" ", nbox ); | 616 | label = new QLabel( i18n( "Nick name:" )+" ", nbox ); |
617 | mNicknameEdit = new KLineEdit( nbox ); | 617 | mNicknameEdit = new KLineEdit( nbox ); |
618 | connect( mNicknameEdit, SIGNAL( textChanged( const QString& ) ), | 618 | connect( mNicknameEdit, SIGNAL( textChanged( const QString& ) ), |
619 | SLOT( textChanged( const QString& ) ) ); | 619 | SLOT( textChanged( const QString& ) ) ); |
620 | label->setBuddy( mNicknameEdit ); | 620 | label->setBuddy( mNicknameEdit ); |
621 | 621 | ||
622 | label = new QLabel( " "+i18n( "Spouse's name:" )+" ", nbox ); | 622 | label = new QLabel( " "+i18n( "Spouse's name:" )+" ", nbox ); |
623 | mSpouseEdit = new KLineEdit( nbox ); | 623 | mSpouseEdit = new KLineEdit( nbox ); |
624 | connect( mSpouseEdit, SIGNAL( textChanged( const QString& ) ), | 624 | connect( mSpouseEdit, SIGNAL( textChanged( const QString& ) ), |
625 | SLOT( textChanged( const QString& ) ) ); | 625 | SLOT( textChanged( const QString& ) ) ); |
626 | label->setBuddy( mSpouseEdit ); | 626 | label->setBuddy( mSpouseEdit ); |
627 | layout->addMultiCellWidget( nbox, iii, iii, 1, 2 ); | 627 | layout->addMultiCellWidget( nbox, iii, iii, 1, 2 ); |
628 | ++iii; | 628 | ++iii; |
629 | 629 | ||
630 | } else { | 630 | } else { |
631 | label = new QLabel( i18n( "Nick name:" ), tab2 ); | 631 | label = new QLabel( i18n( "Nick name:" ), tab2 ); |
632 | layout->addWidget( label, iii, 1 ); | 632 | layout->addWidget( label, iii, 1 ); |
633 | mNicknameEdit = new KLineEdit( tab2 ); | 633 | mNicknameEdit = new KLineEdit( tab2 ); |
634 | connect( mNicknameEdit, SIGNAL( textChanged( const QString& ) ), | 634 | connect( mNicknameEdit, SIGNAL( textChanged( const QString& ) ), |
635 | SLOT( textChanged( const QString& ) ) ); | 635 | SLOT( textChanged( const QString& ) ) ); |
636 | label->setBuddy( mNicknameEdit ); | 636 | label->setBuddy( mNicknameEdit ); |
637 | layout->addWidget( mNicknameEdit, iii, 2 ); | 637 | layout->addWidget( mNicknameEdit, iii, 2 ); |
638 | ++iii; | 638 | ++iii; |
639 | 639 | ||
640 | label = new QLabel( i18n( "Spouse's name:" ), tab2 ); | 640 | label = new QLabel( i18n( "Spouse's name:" ), tab2 ); |
641 | layout->addWidget( label, iii, 1 ); | 641 | layout->addWidget( label, iii, 1 ); |
642 | mSpouseEdit = new KLineEdit( tab2 ); | 642 | mSpouseEdit = new KLineEdit( tab2 ); |
643 | connect( mSpouseEdit, SIGNAL( textChanged( const QString& ) ), | 643 | connect( mSpouseEdit, SIGNAL( textChanged( const QString& ) ), |
644 | SLOT( textChanged( const QString& ) ) ); | 644 | SLOT( textChanged( const QString& ) ) ); |
645 | label->setBuddy( mSpouseEdit ); | 645 | label->setBuddy( mSpouseEdit ); |
646 | layout->addWidget( mSpouseEdit, iii, 2 ); | 646 | layout->addWidget( mSpouseEdit, iii, 2 ); |
647 | ++iii; | 647 | ++iii; |
648 | } | 648 | } |
649 | 649 | ||
650 | label = new QLabel( i18n( "Children's names:" ), tab2 ); | 650 | label = new QLabel( i18n( "Children's names:" ), tab2 ); |
651 | layout->addWidget( label, iii, 1 ); | 651 | layout->addWidget( label, iii, 1 ); |
652 | mChildEdit = new KLineEdit( tab2 ); | 652 | mChildEdit = new KLineEdit( tab2 ); |
653 | connect( mChildEdit, SIGNAL( textChanged( const QString& ) ), | 653 | connect( mChildEdit, SIGNAL( textChanged( const QString& ) ), |
654 | SLOT( textChanged( const QString& ) ) ); | 654 | SLOT( textChanged( const QString& ) ) ); |
655 | label->setBuddy( mChildEdit ); | 655 | label->setBuddy( mChildEdit ); |
656 | layout->addWidget( mChildEdit, iii, 2 ); | 656 | layout->addWidget( mChildEdit, iii, 2 ); |
657 | ++iii; | 657 | ++iii; |
658 | if ( QApplication::desktop()->width() == 640 ) { | 658 | if ( QApplication::desktop()->width() == 640 ) { |
659 | QHBox * nbox = new QHBox ( tab2 ); | 659 | QHBox * nbox = new QHBox ( tab2 ); |
660 | label = new QLabel( i18n( "Birthday:" )+" ", nbox ); | 660 | label = new QLabel( i18n( "Birthday:" )+" ", nbox ); |
661 | mBirthdayPicker = new KDateEdit( nbox ); | 661 | mBirthdayPicker = new KDateEdit( nbox ); |
662 | //mBirthdayPicker->toggleDateFormat(); | 662 | //mBirthdayPicker->toggleDateFormat(); |
663 | mBirthdayPicker->setHandleInvalid( true ); | 663 | mBirthdayPicker->setHandleInvalid( true ); |
664 | connect( mBirthdayPicker, SIGNAL( dateChanged( QDate ) ), | 664 | connect( mBirthdayPicker, SIGNAL( dateChanged( QDate ) ), |
665 | SLOT( dateChanged( QDate ) ) ); | 665 | SLOT( dateChanged( QDate ) ) ); |
666 | 666 | ||
667 | label->setBuddy( mBirthdayPicker ); | 667 | label->setBuddy( mBirthdayPicker ); |
668 | 668 | ||
669 | label = new QLabel( " "+i18n( "Anniversary:" )+" ", nbox ); | 669 | label = new QLabel( " "+i18n( "Anniversary:" )+" ", nbox ); |
670 | mAnniversaryPicker = new KDateEdit( nbox ); | 670 | mAnniversaryPicker = new KDateEdit( nbox ); |
671 | mAnniversaryPicker->setHandleInvalid( true ); | 671 | mAnniversaryPicker->setHandleInvalid( true ); |
672 | connect( mAnniversaryPicker, SIGNAL( dateChanged( QDate ) ), | 672 | connect( mAnniversaryPicker, SIGNAL( dateChanged( QDate ) ), |
673 | SLOT( dateChanged( QDate ) ) ); | 673 | SLOT( dateChanged( QDate ) ) ); |
674 | 674 | ||
675 | label->setBuddy( mAnniversaryPicker ); | 675 | label->setBuddy( mAnniversaryPicker ); |
676 | layout->addMultiCellWidget( nbox, iii, iii, 1, 2 ); | 676 | layout->addMultiCellWidget( nbox, iii, iii, 1, 2 ); |
677 | ++iii; | 677 | ++iii; |
678 | 678 | ||
679 | } else { | 679 | } else { |
680 | 680 | ||
681 | label = new QLabel( i18n( "Birthday:" ), tab2 ); | 681 | label = new QLabel( i18n( "Birthday:" ), tab2 ); |
682 | layout->addWidget( label, iii, 1 ); | 682 | layout->addWidget( label, iii, 1 ); |
683 | mBirthdayPicker = new KDateEdit( tab2 ); | 683 | mBirthdayPicker = new KDateEdit( tab2 ); |
684 | //mBirthdayPicker->toggleDateFormat(); | 684 | //mBirthdayPicker->toggleDateFormat(); |
685 | mBirthdayPicker->setHandleInvalid( true ); | 685 | mBirthdayPicker->setHandleInvalid( true ); |
686 | connect( mBirthdayPicker, SIGNAL( dateChanged( QDate ) ), | 686 | connect( mBirthdayPicker, SIGNAL( dateChanged( QDate ) ), |
687 | SLOT( dateChanged( QDate ) ) ); | 687 | SLOT( dateChanged( QDate ) ) ); |
688 | 688 | ||
689 | label->setBuddy( mBirthdayPicker ); | 689 | label->setBuddy( mBirthdayPicker ); |
690 | layout->addWidget( mBirthdayPicker, iii, 2 ); | 690 | layout->addWidget( mBirthdayPicker, iii, 2 ); |
691 | ++iii; | 691 | ++iii; |
692 | 692 | ||
693 | label = new QLabel( i18n( "Anniversary:" ), tab2 ); | 693 | label = new QLabel( i18n( "Anniversary:" ), tab2 ); |
694 | layout->addWidget( label, iii, 1 ); | 694 | layout->addWidget( label, iii, 1 ); |
695 | mAnniversaryPicker = new KDateEdit( tab2 ); | 695 | mAnniversaryPicker = new KDateEdit( tab2 ); |
696 | mAnniversaryPicker->setHandleInvalid( true ); | 696 | mAnniversaryPicker->setHandleInvalid( true ); |
697 | connect( mAnniversaryPicker, SIGNAL( dateChanged( QDate ) ), | 697 | connect( mAnniversaryPicker, SIGNAL( dateChanged( QDate ) ), |
698 | SLOT( dateChanged( QDate ) ) ); | 698 | SLOT( dateChanged( QDate ) ) ); |
699 | 699 | ||
700 | label->setBuddy( mAnniversaryPicker ); | 700 | label->setBuddy( mAnniversaryPicker ); |
701 | layout->addWidget( mAnniversaryPicker, iii, 2 ); | 701 | layout->addWidget( mAnniversaryPicker, iii, 2 ); |
702 | ++iii; | 702 | ++iii; |
703 | 703 | ||
704 | } | 704 | } |
705 | 705 | ||
706 | label = new QLabel( i18n( "Gender:" ), tab2 ); | 706 | label = new QLabel( i18n( "Gender:" ), tab2 ); |
707 | layout->addWidget( label, iii, 1 ); | 707 | layout->addWidget( label, iii, 1 ); |
708 | mGenderBox = new QComboBox ( tab2 ); | 708 | mGenderBox = new QComboBox ( tab2 ); |
709 | mGenderBox->insertItem ( i18n( "ALIEN (gender undefined)" )); | 709 | mGenderBox->insertItem ( i18n( "ALIEN (undefined)" )); |
710 | mGenderBox->insertItem ( i18n( "female" )); | 710 | mGenderBox->insertItem ( i18n( "female" )); |
711 | mGenderBox->insertItem ( i18n( "male" )); | 711 | mGenderBox->insertItem ( i18n( "male" )); |
712 | connect( mGenderBox, SIGNAL( activated ( const QString & ) ), | 712 | connect( mGenderBox, SIGNAL( activated ( const QString & ) ), |
713 | SLOT( textChanged( const QString& ) ) ); | 713 | SLOT( textChanged( const QString& ) ) ); |
714 | label->setBuddy( mGenderBox ); | 714 | label->setBuddy( mGenderBox ); |
715 | layout->addWidget( mGenderBox, iii, 2 ); | 715 | layout->addWidget( mGenderBox, iii, 2 ); |
716 | ++iii; | 716 | ++iii; |
717 | // Build the layout and add to the tab widget | 717 | // Build the layout and add to the tab widget |
718 | layout->activate(); // required | 718 | layout->activate(); // required |
719 | 719 | ||
720 | mTabWidget->addTab( tab2, i18n( "&Details" ) ); | 720 | mTabWidget->addTab( tab2, i18n( "&Details" ) ); |
721 | } | 721 | } |
722 | 722 | ||
723 | void AddresseeEditorWidget::setupTab2_1() | 723 | void AddresseeEditorWidget::setupTab2_1() |
724 | { | 724 | { |
725 | // This is the Details tab | 725 | // This is the Details tab |
726 | QWidget *tab2_2 = new QWidget( mTabWidget ); | 726 | QWidget *tab2_2 = new QWidget( mTabWidget ); |
727 | 727 | ||
728 | QGridLayout *layout = new QGridLayout( tab2_2, 1, 2 ); | 728 | QGridLayout *layout = new QGridLayout( tab2_2, 1, 2 ); |
729 | layout->setMargin( KDialogBase::marginHintSmall() ); | 729 | layout->setMargin( KDialogBase::marginHintSmall() ); |
730 | layout->setSpacing( KDialogBase::spacingHintSmall() ); | 730 | layout->setSpacing( KDialogBase::spacingHintSmall() ); |
731 | 731 | ||
732 | QLabel *label; | 732 | QLabel *label; |
733 | KSeparator* bar; | 733 | KSeparator* bar; |
734 | 734 | ||
735 | /*US | 735 | /*US |
736 | /////////////////////// | 736 | /////////////////////// |
737 | // Office info | 737 | // Office info |
738 | 738 | ||
739 | // Department | 739 | // Department |
740 | label = new QLabel( tab2 ); | 740 | label = new QLabel( tab2 ); |
741 | //US loadIcon call is ambiguous. Add one more parameter | 741 | //US loadIcon call is ambiguous. Add one more parameter |
742 | //US label->setPixmap( KGlobal::iconLoader()->loadIcon( "folder", KIcon::Desktop ) ); | 742 | //US label->setPixmap( KGlobal::iconLoader()->loadIcon( "folder", KIcon::Desktop ) ); |
743 | label->setPixmap( KGlobal::iconLoader()->loadIcon( "folder", KIcon::Desktop, 0 ) ); | 743 | label->setPixmap( KGlobal::iconLoader()->loadIcon( "folder", KIcon::Desktop, 0 ) ); |
744 | layout->addMultiCellWidget( label, 0, 1, 0, 0 ); | 744 | layout->addMultiCellWidget( label, 0, 1, 0, 0 ); |
745 | 745 | ||
746 | label = new QLabel( i18n( "Department:" ), tab2 ); | 746 | label = new QLabel( i18n( "Department:" ), tab2 ); |
747 | layout->addWidget( label, 0, 1 ); | 747 | layout->addWidget( label, 0, 1 ); |
748 | mDepartmentEdit = new KLineEdit( tab2 ); | 748 | mDepartmentEdit = new KLineEdit( tab2 ); |
749 | connect( mDepartmentEdit, SIGNAL( textChanged( const QString& ) ), | 749 | connect( mDepartmentEdit, SIGNAL( textChanged( const QString& ) ), |
750 | SLOT( textChanged( const QString& ) ) ); | 750 | SLOT( textChanged( const QString& ) ) ); |
751 | label->setBuddy( mDepartmentEdit ); | 751 | label->setBuddy( mDepartmentEdit ); |
752 | layout->addWidget( mDepartmentEdit, 0, 2 ); | 752 | layout->addWidget( mDepartmentEdit, 0, 2 ); |
753 | 753 | ||
754 | label = new QLabel( i18n( "Office:" ), tab2 ); | 754 | label = new QLabel( i18n( "Office:" ), tab2 ); |
755 | layout->addWidget( label, 1, 1 ); | 755 | layout->addWidget( label, 1, 1 ); |
756 | mOfficeEdit = new KLineEdit( tab2 ); | 756 | mOfficeEdit = new KLineEdit( tab2 ); |
757 | connect( mOfficeEdit, SIGNAL( textChanged( const QString& ) ), | 757 | connect( mOfficeEdit, SIGNAL( textChanged( const QString& ) ), |
758 | SLOT( textChanged( const QString& ) ) ); | 758 | SLOT( textChanged( const QString& ) ) ); |
759 | label->setBuddy( mOfficeEdit ); | 759 | label->setBuddy( mOfficeEdit ); |
760 | layout->addWidget( mOfficeEdit, 1, 2 ); | 760 | layout->addWidget( mOfficeEdit, 1, 2 ); |
761 | 761 | ||
762 | label = new QLabel( i18n( "Profession:" ), tab2 ); | 762 | label = new QLabel( i18n( "Profession:" ), tab2 ); |
763 | layout->addWidget( label, 2, 1 ); | 763 | layout->addWidget( label, 2, 1 ); |
764 | mProfessionEdit = new KLineEdit( tab2 ); | 764 | mProfessionEdit = new KLineEdit( tab2 ); |
765 | connect( mProfessionEdit, SIGNAL( textChanged( const QString& ) ), | 765 | connect( mProfessionEdit, SIGNAL( textChanged( const QString& ) ), |
766 | SLOT( textChanged( const QString& ) ) ); | 766 | SLOT( textChanged( const QString& ) ) ); |
767 | label->setBuddy( mProfessionEdit ); | 767 | label->setBuddy( mProfessionEdit ); |
768 | layout->addWidget( mProfessionEdit, 2, 2 ); | 768 | layout->addWidget( mProfessionEdit, 2, 2 ); |
769 | 769 | ||
770 | label = new QLabel( i18n( "Manager\'s name:" ), tab2 ); | 770 | label = new QLabel( i18n( "Manager\'s name:" ), tab2 ); |
771 | layout->addWidget( label, 0, 3 ); | 771 | layout->addWidget( label, 0, 3 ); |
772 | mManagerEdit = new KLineEdit( tab2 ); | 772 | mManagerEdit = new KLineEdit( tab2 ); |
773 | connect( mManagerEdit, SIGNAL( textChanged( const QString& ) ), | 773 | connect( mManagerEdit, SIGNAL( textChanged( const QString& ) ), |
774 | SLOT( textChanged( const QString& ) ) ); | 774 | SLOT( textChanged( const QString& ) ) ); |
775 | label->setBuddy( mManagerEdit ); | 775 | label->setBuddy( mManagerEdit ); |
776 | layout->addMultiCellWidget( mManagerEdit, 0, 0, 4, 5 ); | 776 | layout->addMultiCellWidget( mManagerEdit, 0, 0, 4, 5 ); |
777 | 777 | ||
778 | label = new QLabel( i18n( "Assistant's name:" ), tab2 ); | 778 | label = new QLabel( i18n( "Assistant's name:" ), tab2 ); |
779 | layout->addWidget( label, 1, 3 ); | 779 | layout->addWidget( label, 1, 3 ); |
780 | mAssistantEdit = new KLineEdit( tab2 ); | 780 | mAssistantEdit = new KLineEdit( tab2 ); |
781 | connect( mAssistantEdit, SIGNAL( textChanged( const QString& ) ), | 781 | connect( mAssistantEdit, SIGNAL( textChanged( const QString& ) ), |
782 | SLOT( textChanged( const QString& ) ) ); | 782 | SLOT( textChanged( const QString& ) ) ); |
783 | label->setBuddy( mAssistantEdit ); | 783 | label->setBuddy( mAssistantEdit ); |
784 | layout->addMultiCellWidget( mAssistantEdit, 1, 1, 4, 5 ); | 784 | layout->addMultiCellWidget( mAssistantEdit, 1, 1, 4, 5 ); |
785 | 785 | ||
786 | bar = new KSeparator( KSeparator::HLine, tab2 ); | 786 | bar = new KSeparator( KSeparator::HLine, tab2 ); |
787 | layout->addMultiCellWidget( bar, 3, 3, 0, 5 ); | 787 | layout->addMultiCellWidget( bar, 3, 3, 0, 5 ); |
788 | 788 | ||
789 | ///////////////////////////////////////////////// | 789 | ///////////////////////////////////////////////// |
790 | // Personal info | 790 | // Personal info |
791 | 791 | ||
792 | label = new QLabel( tab2 ); | 792 | label = new QLabel( tab2 ); |
793 | //US loadIcon call is ambiguous. Add one more parameter | 793 | //US loadIcon call is ambiguous. Add one more parameter |
794 | //US label->setPixmap( KGlobal::iconLoader()->loadIcon( "personal", KIcon::Desktop ) ); | 794 | //US label->setPixmap( KGlobal::iconLoader()->loadIcon( "personal", KIcon::Desktop ) ); |
795 | label->setPixmap( KGlobal::iconLoader()->loadIcon( "personal", KIcon::Desktop, 0 ) ); | 795 | label->setPixmap( KGlobal::iconLoader()->loadIcon( "personal", KIcon::Desktop, 0 ) ); |
796 | layout->addMultiCellWidget( label, 4, 5, 0, 0 ); | 796 | layout->addMultiCellWidget( label, 4, 5, 0, 0 ); |
797 | 797 | ||
798 | label = new QLabel( i18n( "Nick name:" ), tab2 ); | 798 | label = new QLabel( i18n( "Nick name:" ), tab2 ); |
799 | layout->addWidget( label, 4, 1 ); | 799 | layout->addWidget( label, 4, 1 ); |
800 | mNicknameEdit = new KLineEdit( tab2 ); | 800 | mNicknameEdit = new KLineEdit( tab2 ); |
801 | connect( mNicknameEdit, SIGNAL( textChanged( const QString& ) ), | 801 | connect( mNicknameEdit, SIGNAL( textChanged( const QString& ) ), |
802 | SLOT( textChanged( const QString& ) ) ); | 802 | SLOT( textChanged( const QString& ) ) ); |
803 | label->setBuddy( mNicknameEdit ); | 803 | label->setBuddy( mNicknameEdit ); |
804 | layout->addWidget( mNicknameEdit, 4, 2 ); | 804 | layout->addWidget( mNicknameEdit, 4, 2 ); |
805 | 805 | ||
806 | label = new QLabel( i18n( "Spouse's name:" ), tab2 ); | 806 | label = new QLabel( i18n( "Spouse's name:" ), tab2 ); |
807 | layout->addWidget( label, 5, 1 ); | 807 | layout->addWidget( label, 5, 1 ); |
808 | mSpouseEdit = new KLineEdit( tab2 ); | 808 | mSpouseEdit = new KLineEdit( tab2 ); |
809 | connect( mSpouseEdit, SIGNAL( textChanged( const QString& ) ), | 809 | connect( mSpouseEdit, SIGNAL( textChanged( const QString& ) ), |
810 | SLOT( textChanged( const QString& ) ) ); | 810 | SLOT( textChanged( const QString& ) ) ); |
811 | label->setBuddy( mSpouseEdit ); | 811 | label->setBuddy( mSpouseEdit ); |
812 | layout->addWidget( mSpouseEdit, 5, 2 ); | 812 | layout->addWidget( mSpouseEdit, 5, 2 ); |
813 | 813 | ||
814 | label = new QLabel( i18n( "Birthday:" ), tab2 ); | 814 | label = new QLabel( i18n( "Birthday:" ), tab2 ); |
815 | layout->addWidget( label, 4, 3 ); | 815 | layout->addWidget( label, 4, 3 ); |
816 | mBirthdayPicker = new KDateEdit( tab2 ); | 816 | mBirthdayPicker = new KDateEdit( tab2 ); |
817 | mBirthdayPicker->setHandleInvalid( true ); | 817 | mBirthdayPicker->setHandleInvalid( true ); |
818 | connect( mBirthdayPicker, SIGNAL( dateChanged( QDate ) ), | 818 | connect( mBirthdayPicker, SIGNAL( dateChanged( QDate ) ), |
819 | SLOT( dateChanged( QDate ) ) ); | 819 | SLOT( dateChanged( QDate ) ) ); |
820 | connect( mBirthdayPicker, SIGNAL( invalidDateEntered() ), | 820 | connect( mBirthdayPicker, SIGNAL( invalidDateEntered() ), |
821 | SLOT( invalidDate() ) ); | 821 | SLOT( invalidDate() ) ); |
822 | connect( mBirthdayPicker, SIGNAL( textChanged( const QString& ) ), | 822 | connect( mBirthdayPicker, SIGNAL( textChanged( const QString& ) ), |
823 | SLOT( emitModified() ) ); | 823 | SLOT( emitModified() ) ); |
824 | label->setBuddy( mBirthdayPicker ); | 824 | label->setBuddy( mBirthdayPicker ); |
825 | layout->addWidget( mBirthdayPicker, 4, 4 ); | 825 | layout->addWidget( mBirthdayPicker, 4, 4 ); |
826 | 826 | ||
827 | label = new QLabel( i18n( "Anniversary:" ), tab2 ); | 827 | label = new QLabel( i18n( "Anniversary:" ), tab2 ); |
828 | layout->addWidget( label, 5, 3 ); | 828 | layout->addWidget( label, 5, 3 ); |
829 | mAnniversaryPicker = new KDateEdit( tab2 ); | 829 | mAnniversaryPicker = new KDateEdit( tab2 ); |
830 | mAnniversaryPicker->setHandleInvalid( true ); | 830 | mAnniversaryPicker->setHandleInvalid( true ); |
831 | connect( mAnniversaryPicker, SIGNAL( dateChanged( QDate ) ), | 831 | connect( mAnniversaryPicker, SIGNAL( dateChanged( QDate ) ), |
832 | SLOT( dateChanged( QDate ) ) ); | 832 | SLOT( dateChanged( QDate ) ) ); |
833 | connect( mAnniversaryPicker, SIGNAL( invalidDateEntered() ), | 833 | connect( mAnniversaryPicker, SIGNAL( invalidDateEntered() ), |
834 | SLOT( invalidDate() ) ); | 834 | SLOT( invalidDate() ) ); |
835 | connect( mAnniversaryPicker, SIGNAL( textChanged( const QString& ) ), | 835 | connect( mAnniversaryPicker, SIGNAL( textChanged( const QString& ) ), |
836 | SLOT( emitModified() ) ); | 836 | SLOT( emitModified() ) ); |
837 | label->setBuddy( mAnniversaryPicker ); | 837 | label->setBuddy( mAnniversaryPicker ); |
diff --git a/korganizer/searchdialog.cpp b/korganizer/searchdialog.cpp index 72359df..d0865c3 100644 --- a/korganizer/searchdialog.cpp +++ b/korganizer/searchdialog.cpp | |||
@@ -1,255 +1,255 @@ | |||
1 | /* | 1 | /* |
2 | This file is part of KOrganizer. | 2 | This file is part of KOrganizer. |
3 | Copyright (c) 1998 Preston Brown | 3 | Copyright (c) 1998 Preston Brown |
4 | Copyright (c) 2000,2001 Cornelius Schumacher <schumacher@kde.org> | 4 | Copyright (c) 2000,2001 Cornelius Schumacher <schumacher@kde.org> |
5 | 5 | ||
6 | This program is free software; you can redistribute it and/or modify | 6 | This program is free software; you can redistribute it and/or modify |
7 | it under the terms of the GNU General Public License as published by | 7 | it under the terms of the GNU General Public License as published by |
8 | the Free Software Foundation; either version 2 of the License, or | 8 | the Free Software Foundation; either version 2 of the License, or |
9 | (at your option) any later version. | 9 | (at your option) any later version. |
10 | 10 | ||
11 | This program is distributed in the hope that it will be useful, | 11 | This program is distributed in the hope that it will be useful, |
12 | but WITHOUT ANY WARRANTY; without even the implied warranty of | 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of |
13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
14 | GNU General Public License for more details. | 14 | GNU General Public License for more details. |
15 | 15 | ||
16 | You should have received a copy of the GNU General Public License | 16 | You should have received a copy of the GNU General Public License |
17 | along with this program; if not, write to the Free Software | 17 | along with this program; if not, write to the Free Software |
18 | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | 18 | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. |
19 | 19 | ||
20 | As a special exception, permission is given to link this program | 20 | As a special exception, permission is given to link this program |
21 | with any edition of Qt, and distribute the resulting executable, | 21 | with any edition of Qt, and distribute the resulting executable, |
22 | without including the source code for Qt in the source distribution. | 22 | without including the source code for Qt in the source distribution. |
23 | */ | 23 | */ |
24 | 24 | ||
25 | #include <qlayout.h> | 25 | #include <qlayout.h> |
26 | #include <qcheckbox.h> | 26 | #include <qcheckbox.h> |
27 | #include <qgroupbox.h> | 27 | #include <qgroupbox.h> |
28 | #include <qlabel.h> | 28 | #include <qlabel.h> |
29 | #include <qlistview.h> | 29 | #include <qlistview.h> |
30 | #include <qwhatsthis.h> | 30 | #include <qwhatsthis.h> |
31 | #include <qlineedit.h> | 31 | #include <qlineedit.h> |
32 | #include <qpushbutton.h> | 32 | #include <qpushbutton.h> |
33 | #include <qhbuttongroup.h> | 33 | #include <qhbuttongroup.h> |
34 | #include <klocale.h> | 34 | #include <klocale.h> |
35 | #include <kmessagebox.h> | 35 | #include <kmessagebox.h> |
36 | 36 | ||
37 | #include <libkdepim/kdateedit.h> | 37 | #include <libkdepim/kdateedit.h> |
38 | 38 | ||
39 | #include "koglobals.h" | 39 | #include "koglobals.h" |
40 | #include "koprefs.h" | 40 | #include "koprefs.h" |
41 | #include "klineedit.h" | 41 | #include "klineedit.h" |
42 | 42 | ||
43 | #include "calendarview.h" | 43 | #include "calendarview.h" |
44 | #include "koviewmanager.h" | 44 | #include "koviewmanager.h" |
45 | #include "searchdialog.h" | 45 | #include "searchdialog.h" |
46 | 46 | ||
47 | SearchDialog::SearchDialog(Calendar *calendar,CalendarView *parent) | 47 | SearchDialog::SearchDialog(Calendar *calendar,CalendarView *parent) |
48 | : QVBox( 0 ) | 48 | : QVBox( 0 ) |
49 | 49 | ||
50 | { | 50 | { |
51 | mCalendar = calendar; | 51 | mCalendar = calendar; |
52 | QFrame *topFrame = new QFrame( this ) ;//plainPage(); | 52 | QFrame *topFrame = new QFrame( this ) ;//plainPage(); |
53 | QVBoxLayout *layout = new QVBoxLayout(topFrame,KDialog::marginHint(),KDialog::spacingHint()); | 53 | QVBoxLayout *layout = new QVBoxLayout(topFrame,KDialog::marginHint(),KDialog::spacingHint()); |
54 | 54 | ||
55 | // Search expression | 55 | // Search expression |
56 | QHBoxLayout *subLayout = new QHBoxLayout(); | 56 | QHBoxLayout *subLayout = new QHBoxLayout(); |
57 | layout->addLayout(subLayout); | 57 | layout->addLayout(subLayout); |
58 | /* | 58 | /* |
59 | searchLabel = new QLabel(topFrame); | 59 | searchLabel = new QLabel(topFrame); |
60 | searchLabel->setText(i18n("Search for:")); | 60 | searchLabel->setText(i18n("Search for:")); |
61 | subLayout->addWidget(searchLabel); | 61 | subLayout->addWidget(searchLabel); |
62 | */ | 62 | */ |
63 | QPushButton *OkButton = new QPushButton( i18n("Search for:"), topFrame ); | 63 | QPushButton *OkButton = new QPushButton( i18n("Search for:"), topFrame ); |
64 | //OkButton->setDefault( true ); | 64 | //OkButton->setDefault( true ); |
65 | connect(OkButton,SIGNAL(clicked()),SLOT(doSearch())); | 65 | connect(OkButton,SIGNAL(clicked()),SLOT(doSearch())); |
66 | subLayout->addWidget(OkButton); | 66 | subLayout->addWidget(OkButton); |
67 | searchEdit = new KLineEdit(topFrame); | 67 | searchEdit = new KLineEdit(topFrame); |
68 | subLayout->addWidget(searchEdit); | 68 | subLayout->addWidget(searchEdit); |
69 | 69 | ||
70 | mAddItems = new QRadioButton( "+ ", topFrame ); | 70 | mAddItems = new QRadioButton( "+ ", topFrame ); |
71 | mSubItems = new QRadioButton( "- ", topFrame ); | 71 | mSubItems = new QRadioButton( "- ", topFrame ); |
72 | mRefineItems = new QRadioButton( "< ", topFrame ); | 72 | mRefineItems = new QRadioButton( "< ", topFrame ); |
73 | subLayout->addWidget( mAddItems ); | 73 | subLayout->addWidget( mAddItems ); |
74 | subLayout->addWidget( mSubItems ); | 74 | subLayout->addWidget( mSubItems ); |
75 | subLayout->addWidget( mRefineItems ); | 75 | subLayout->addWidget( mRefineItems ); |
76 | QFont fo ( mAddItems->font() ); | 76 | QFont fo ( mAddItems->font() ); |
77 | fo.setBold( true ); | 77 | fo.setBold( true ); |
78 | fo.setPointSize( fo.pointSize() + 2 ); | 78 | fo.setPointSize( fo.pointSize() + 2 ); |
79 | mAddItems->setFont( fo ); | 79 | mAddItems->setFont( fo ); |
80 | mSubItems->setFont( fo ); | 80 | mSubItems->setFont( fo ); |
81 | mRefineItems->setFont( fo ); | 81 | mRefineItems->setFont( fo ); |
82 | connect( mAddItems , SIGNAL( toggled ( bool ) ),this,SLOT(slot_add( bool ))); | 82 | connect( mAddItems , SIGNAL( toggled ( bool ) ),this,SLOT(slot_add( bool ))); |
83 | connect( mSubItems , SIGNAL( toggled ( bool ) ),this,SLOT(slot_sub( bool ))); | 83 | connect( mSubItems , SIGNAL( toggled ( bool ) ),this,SLOT(slot_sub( bool ))); |
84 | connect( mRefineItems , SIGNAL( toggled ( bool ) ),this,SLOT(slot_refine( bool ))); | 84 | connect( mRefineItems , SIGNAL( toggled ( bool ) ),this,SLOT(slot_refine( bool ))); |
85 | 85 | ||
86 | QPushButton *togButton = new QPushButton( "", topFrame ); | 86 | QPushButton *togButton = new QPushButton( "", topFrame ); |
87 | subLayout->addWidget(togButton); | 87 | subLayout->addWidget(togButton); |
88 | connect(togButton,SIGNAL(clicked()),SLOT(toggleCheckboxes())); | 88 | connect(togButton,SIGNAL(clicked()),SLOT(toggleCheckboxes())); |
89 | togButton->setPixmap(SmallIcon("1updownarrow")); | 89 | togButton->setPixmap(SmallIcon("1updownarrow")); |
90 | togButton->setMinimumWidth( togButton->sizeHint().height() ); | 90 | togButton->setMinimumWidth( togButton->sizeHint().height() ); |
91 | 91 | ||
92 | searchEdit->setText("*"); // Find all events by default | 92 | searchEdit->setText("*"); // Find all events by default |
93 | searchEdit->setFocus(); | 93 | searchEdit->setFocus(); |
94 | connect(searchEdit, SIGNAL(textChanged ( const QString & )),this,SLOT(searchTextChanged( const QString & ))); | 94 | connect(searchEdit, SIGNAL(textChanged ( const QString & )),this,SLOT(searchTextChanged( const QString & ))); |
95 | connect(searchEdit, SIGNAL( returnPressed () ),this,SLOT(doSearch())); | 95 | connect(searchEdit, SIGNAL( returnPressed () ),this,SLOT(doSearch())); |
96 | // Subjects to search | 96 | // Subjects to search |
97 | // QGroupBox *subjectGroup = new QGroupBox(1,Vertical,i18n("Search In"), | 97 | // QGroupBox *subjectGroup = new QGroupBox(1,Vertical,i18n("Search In"), |
98 | // topFrame); | 98 | // topFrame); |
99 | 99 | ||
100 | incidenceGroup = new QHBox( topFrame ); | 100 | incidenceGroup = new QHBox( topFrame ); |
101 | layout->addWidget(incidenceGroup); | 101 | layout->addWidget(incidenceGroup); |
102 | 102 | ||
103 | mSearchEvent = new QCheckBox(i18n("Events"),incidenceGroup); | 103 | mSearchEvent = new QCheckBox(i18n("Events"),incidenceGroup); |
104 | //mSearchEvent->setChecked(true); | 104 | //mSearchEvent->setChecked(true); |
105 | mSearchTodo = new QCheckBox(i18n("Todos"),incidenceGroup); | 105 | mSearchTodo = new QCheckBox(i18n("Todos"),incidenceGroup); |
106 | mSearchJournal = new QCheckBox(i18n("Journals"),incidenceGroup); | 106 | mSearchJournal = new QCheckBox(i18n("Journals"),incidenceGroup); |
107 | 107 | ||
108 | subjectGroup = new QHBox( topFrame ); | 108 | subjectGroup = new QHBox( topFrame ); |
109 | layout->addWidget(subjectGroup); | 109 | layout->addWidget(subjectGroup); |
110 | 110 | ||
111 | mSummaryCheck = new QCheckBox(i18n("Summary/Loc."),subjectGroup); | 111 | mSummaryCheck = new QCheckBox(i18n("Summary/Loc."),subjectGroup); |
112 | mSummaryCheck->setChecked(true); | 112 | mSummaryCheck->setChecked(true); |
113 | mDescriptionCheck = new QCheckBox(i18n("Details"),subjectGroup); | 113 | mDescriptionCheck = new QCheckBox(i18n("Details"),subjectGroup); |
114 | mCategoryCheck = new QCheckBox(i18n("Categories"),subjectGroup); | 114 | mCategoryCheck = new QCheckBox(i18n("Categories"),subjectGroup); |
115 | 115 | ||
116 | attendeeGroup = new QHBox( topFrame ); | 116 | attendeeGroup = new QHBox( topFrame ); |
117 | layout->addWidget(attendeeGroup ); | 117 | layout->addWidget(attendeeGroup ); |
118 | new QLabel( i18n("Attendee:"),attendeeGroup ); | 118 | new QLabel( i18n("Attendee:"),attendeeGroup ); |
119 | mSearchAName = new QCheckBox(i18n("Name"),attendeeGroup ); | 119 | mSearchAName = new QCheckBox(i18n("Name"),attendeeGroup ); |
120 | mSearchAEmail = new QCheckBox(i18n("Email"), attendeeGroup ); | 120 | mSearchAEmail = new QCheckBox(i18n("Email"), attendeeGroup ); |
121 | // Date range | 121 | // Date range |
122 | // QGroupBox *rangeGroup = new QGroupBox(1,Horizontal,i18n("Date Range"), | 122 | // QGroupBox *rangeGroup = new QGroupBox(1,Horizontal,i18n("Date Range"), |
123 | // topFrame); | 123 | // topFrame); |
124 | // layout->addWidget(rangeGroup); | 124 | // layout->addWidget(rangeGroup); |
125 | 125 | ||
126 | QWidget *rangeWidget = new QWidget(topFrame); | 126 | QWidget *rangeWidget = new QWidget(topFrame); |
127 | QHBoxLayout *rangeLayout = new QHBoxLayout(rangeWidget,0,KDialog::spacingHint()); | 127 | QHBoxLayout *rangeLayout = new QHBoxLayout(rangeWidget,0,KDialog::spacingHint()-3); |
128 | rangeLayout->addWidget(new QLabel(i18n("From:"),rangeWidget)); | 128 | rangeLayout->addWidget(new QLabel(i18n("From:"),rangeWidget)); |
129 | mStartDate = new KDateEdit(rangeWidget); | 129 | mStartDate = new KDateEdit(rangeWidget); |
130 | rangeLayout->addWidget(mStartDate); | 130 | rangeLayout->addWidget(mStartDate); |
131 | rangeLayout->addWidget(new QLabel(i18n("To:"),rangeWidget)); | 131 | rangeLayout->addWidget(new QLabel(i18n("To:"),rangeWidget)); |
132 | mEndDate = new KDateEdit(rangeWidget); | 132 | mEndDate = new KDateEdit(rangeWidget); |
133 | mEndDate->setDate(QDate::currentDate().addDays(365)); | 133 | mEndDate->setDate(QDate::currentDate().addDays(365)); |
134 | rangeLayout->addWidget(mEndDate); | 134 | rangeLayout->addWidget(mEndDate); |
135 | QToolButton *wt = QWhatsThis::whatsThisButton ( rangeWidget ); | 135 | QToolButton *wt = QWhatsThis::whatsThisButton ( rangeWidget ); |
136 | rangeLayout->addWidget( (QWidget*)wt ); | 136 | rangeLayout->addWidget( (QWidget*)wt ); |
137 | layout->addWidget(rangeWidget); | 137 | layout->addWidget(rangeWidget); |
138 | // Results list view | 138 | // Results list view |
139 | listView = new KOListView(mCalendar,topFrame); | 139 | listView = new KOListView(mCalendar,topFrame); |
140 | layout->addWidget(listView); | 140 | layout->addWidget(listView); |
141 | listView->showCompletedTodos(); | 141 | listView->showCompletedTodos(); |
142 | //layout->setStretchFactor( listView, 333 ); | 142 | //layout->setStretchFactor( listView, 333 ); |
143 | //listView->setSizePolicy( QSizePolicy( QSizePolicy::Preferred ,QSizePolicy::Expanding) ); | 143 | //listView->setSizePolicy( QSizePolicy( QSizePolicy::Preferred ,QSizePolicy::Expanding) ); |
144 | //listView->setMaximumHeight( 50 ); | 144 | //listView->setMaximumHeight( 50 ); |
145 | listView->readSettings(KOGlobals::config(),"SearchListView Layout"); | 145 | listView->readSettings(KOGlobals::config(),"SearchListView Layout"); |
146 | connect(searchEdit,SIGNAL(scrollDOWN()),SLOT(setFocusToList())); | 146 | connect(searchEdit,SIGNAL(scrollDOWN()),SLOT(setFocusToList())); |
147 | 147 | ||
148 | setCaption( i18n("KO/Pi Find: ")); | 148 | setCaption( i18n("KO/Pi Find: ")); |
149 | #ifdef DESKTOP_VERSION | 149 | #ifdef DESKTOP_VERSION |
150 | OkButton = new QPushButton( i18n("Close"), this ); | 150 | OkButton = new QPushButton( i18n("Close"), this ); |
151 | connect(OkButton,SIGNAL(clicked()),SLOT(hide())); | 151 | connect(OkButton,SIGNAL(clicked()),SLOT(hide())); |
152 | #endif | 152 | #endif |
153 | } | 153 | } |
154 | 154 | ||
155 | SearchDialog::~SearchDialog() | 155 | SearchDialog::~SearchDialog() |
156 | { | 156 | { |
157 | 157 | ||
158 | } | 158 | } |
159 | void SearchDialog::slot_add( bool b ) | 159 | void SearchDialog::slot_add( bool b ) |
160 | { | 160 | { |
161 | if ( b ) { | 161 | if ( b ) { |
162 | if ( mSubItems->isOn() ) mSubItems->toggle(); | 162 | if ( mSubItems->isOn() ) mSubItems->toggle(); |
163 | if ( mRefineItems->isOn() ) mRefineItems->toggle(); | 163 | if ( mRefineItems->isOn() ) mRefineItems->toggle(); |
164 | setCaption( i18n("Matching items will be added to list")); | 164 | setCaption( i18n("Matching items will be added to list")); |
165 | } else | 165 | } else |
166 | setCaption( i18n("List will be cleared before search")); | 166 | setCaption( i18n("List will be cleared before search")); |
167 | } | 167 | } |
168 | void SearchDialog::slot_sub( bool b) | 168 | void SearchDialog::slot_sub( bool b) |
169 | { | 169 | { |
170 | if ( b ) { | 170 | if ( b ) { |
171 | if ( mRefineItems->isOn() ) mRefineItems->toggle(); | 171 | if ( mRefineItems->isOn() ) mRefineItems->toggle(); |
172 | if ( mAddItems->isOn() ) mAddItems->toggle(); | 172 | if ( mAddItems->isOn() ) mAddItems->toggle(); |
173 | setCaption( i18n("Matching items will be removed from list")); | 173 | setCaption( i18n("Matching items will be removed from list")); |
174 | } else | 174 | } else |
175 | setCaption( i18n("List will be cleared before search")); | 175 | setCaption( i18n("List will be cleared before search")); |
176 | } | 176 | } |
177 | void SearchDialog::slot_refine( bool b) | 177 | void SearchDialog::slot_refine( bool b) |
178 | { | 178 | { |
179 | if ( b ) { | 179 | if ( b ) { |
180 | if ( mSubItems->isOn() ) mSubItems->toggle(); | 180 | if ( mSubItems->isOn() ) mSubItems->toggle(); |
181 | if ( mAddItems->isOn() ) mAddItems->toggle(); | 181 | if ( mAddItems->isOn() ) mAddItems->toggle(); |
182 | setCaption( i18n("Search on displayed list only")); | 182 | setCaption( i18n("Search on displayed list only")); |
183 | } else | 183 | } else |
184 | setCaption( i18n("List will be cleared before search")); | 184 | setCaption( i18n("List will be cleared before search")); |
185 | } | 185 | } |
186 | void SearchDialog::toggleCheckboxes() | 186 | void SearchDialog::toggleCheckboxes() |
187 | { | 187 | { |
188 | if ( incidenceGroup->isVisible() ) { | 188 | if ( incidenceGroup->isVisible() ) { |
189 | incidenceGroup->hide() ; | 189 | incidenceGroup->hide() ; |
190 | subjectGroup->hide() ; | 190 | subjectGroup->hide() ; |
191 | attendeeGroup->hide() ; | 191 | attendeeGroup->hide() ; |
192 | } else { | 192 | } else { |
193 | incidenceGroup->show() ; | 193 | incidenceGroup->show() ; |
194 | subjectGroup->show() ; | 194 | subjectGroup->show() ; |
195 | attendeeGroup->show() ; | 195 | attendeeGroup->show() ; |
196 | } | 196 | } |
197 | } | 197 | } |
198 | void SearchDialog::raiseAndSelect() | 198 | void SearchDialog::raiseAndSelect() |
199 | { | 199 | { |
200 | 200 | ||
201 | static int currentState = 0; | 201 | static int currentState = 0; |
202 | 202 | ||
203 | if ( !mSearchJournal->isChecked() && !mSearchTodo->isChecked() && !mSearchEvent->isChecked() ) | 203 | if ( !mSearchJournal->isChecked() && !mSearchTodo->isChecked() && !mSearchEvent->isChecked() ) |
204 | currentState = 0; | 204 | currentState = 0; |
205 | int newState = 0; | 205 | int newState = 0; |
206 | if ( KOPrefs::instance()->mCurrentDisplayedView == VIEW_J_VIEW ) { | 206 | if ( KOPrefs::instance()->mCurrentDisplayedView == VIEW_J_VIEW ) { |
207 | newState = VIEW_J_VIEW; | 207 | newState = VIEW_J_VIEW; |
208 | } | 208 | } |
209 | else if ( KOPrefs::instance()->mCurrentDisplayedView == VIEW_T_VIEW ) { | 209 | else if ( KOPrefs::instance()->mCurrentDisplayedView == VIEW_T_VIEW ) { |
210 | newState = VIEW_T_VIEW; | 210 | newState = VIEW_T_VIEW; |
211 | } | 211 | } |
212 | else { | 212 | else { |
213 | newState = VIEW_A_VIEW; | 213 | newState = VIEW_A_VIEW; |
214 | } | 214 | } |
215 | if ( newState != currentState ) { | 215 | if ( newState != currentState ) { |
216 | if ( KOPrefs::instance()->mCurrentDisplayedView == VIEW_J_VIEW ) { | 216 | if ( KOPrefs::instance()->mCurrentDisplayedView == VIEW_J_VIEW ) { |
217 | if ( ! mSearchJournal->isChecked() ) { | 217 | if ( ! mSearchJournal->isChecked() ) { |
218 | mSearchJournal->setChecked( true ); | 218 | mSearchJournal->setChecked( true ); |
219 | mSearchTodo->setChecked( false ); | 219 | mSearchTodo->setChecked( false ); |
220 | mSearchEvent->setChecked( false ); | 220 | mSearchEvent->setChecked( false ); |
221 | mSummaryCheck->setChecked( true ); | 221 | mSummaryCheck->setChecked( true ); |
222 | mDescriptionCheck->setChecked( true ); | 222 | mDescriptionCheck->setChecked( true ); |
223 | 223 | ||
224 | } | 224 | } |
225 | } | 225 | } |
226 | else if ( KOPrefs::instance()->mCurrentDisplayedView == VIEW_T_VIEW ) { | 226 | else if ( KOPrefs::instance()->mCurrentDisplayedView == VIEW_T_VIEW ) { |
227 | if ( ! mSearchTodo->isChecked() ) { | 227 | if ( ! mSearchTodo->isChecked() ) { |
228 | mSearchTodo->setChecked( true ); | 228 | mSearchTodo->setChecked( true ); |
229 | mSearchJournal->setChecked( false ); | 229 | mSearchJournal->setChecked( false ); |
230 | mSearchEvent->setChecked( false ); | 230 | mSearchEvent->setChecked( false ); |
231 | } | 231 | } |
232 | } | 232 | } |
233 | else { | 233 | else { |
234 | if ( ! mSearchEvent->isChecked() ) { | 234 | if ( ! mSearchEvent->isChecked() ) { |
235 | mSearchEvent->setChecked( true ); | 235 | mSearchEvent->setChecked( true ); |
236 | mSearchJournal->setChecked( false ); | 236 | mSearchJournal->setChecked( false ); |
237 | mSearchTodo->setChecked( false ); | 237 | mSearchTodo->setChecked( false ); |
238 | } | 238 | } |
239 | } | 239 | } |
240 | } | 240 | } |
241 | currentState = newState; | 241 | currentState = newState; |
242 | raise(); | 242 | raise(); |
243 | } | 243 | } |
244 | void SearchDialog::setFocusToList() | 244 | void SearchDialog::setFocusToList() |
245 | { | 245 | { |
246 | listView->resetFocus(); | 246 | listView->resetFocus(); |
247 | } | 247 | } |
248 | void SearchDialog::accept() | 248 | void SearchDialog::accept() |
249 | { | 249 | { |
250 | doSearch(); | 250 | doSearch(); |
251 | } | 251 | } |
252 | void SearchDialog::updateList() | 252 | void SearchDialog::updateList() |
253 | { | 253 | { |
254 | //listView->updateList(); | 254 | //listView->updateList(); |
255 | if ( isVisible() ) { | 255 | if ( isVisible() ) { |