summaryrefslogtreecommitdiffabout
authorzautrix <zautrix>2005-03-03 14:48:33 (UTC)
committer zautrix <zautrix>2005-03-03 14:48:33 (UTC)
commita4ea625087ea7213419828e8decdff48ae231968 (patch) (unidiff)
treee29565039694702cdc471e76891b2d6c3ac89294
parent91feaad38e5f81063fa496a4e2988aa791267fd1 (diff)
downloadkdepimpi-a4ea625087ea7213419828e8decdff48ae231968.zip
kdepimpi-a4ea625087ea7213419828e8decdff48ae231968.tar.gz
kdepimpi-a4ea625087ea7213419828e8decdff48ae231968.tar.bz2
VINklumpen
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--bin/kdepim/WhatsNew.txt4
-rw-r--r--bin/kdepim/pwmanager/germantranslation.txt2
-rw-r--r--bin/kdepim/pwmanager/icons16/decrypted.pngbin1009 -> 855 bytes
-rw-r--r--bin/kdepim/pwmanager/icons22/decrypted.pngbin939 -> 1117 bytes
-rw-r--r--pwmanager/pwmanager/addentrywndimpl.cpp1
-rw-r--r--pwmanager/pwmanager/pwm.cpp11
-rw-r--r--pwmanager/pwmanager/pwmviewstyle_0.cpp22
-rw-r--r--pwmanager/pwmanager/pwmviewstyle_1.cpp4
8 files changed, 29 insertions, 15 deletions
diff --git a/bin/kdepim/WhatsNew.txt b/bin/kdepim/WhatsNew.txt
index 11c50f8..657d1de 100644
--- a/bin/kdepim/WhatsNew.txt
+++ b/bin/kdepim/WhatsNew.txt
@@ -1,198 +1,200 @@
1Info about the changes in new versions of KDE-Pim/Pi 1Info about the changes in new versions of KDE-Pim/Pi
2 2
3********** VERSION 2.0.14 ************ 3********** VERSION 2.0.14 ************
4 4
5Made Passwordmanager PwM/Pi more userfriendly: 5Made Passwordmanager PwM/Pi more userfriendly:
6Rearranged some toolbar icons and optimized setting of focus. 6Rearranged some toolbar icons, optimized setting of focus, fixed layout problems and more.
7Fixed bug in KO/Pi todo printing.
8Made Qtopia calendar import possible on desktop .
7 9
8********** VERSION 2.0.13 ************ 10********** VERSION 2.0.13 ************
9 11
10Fixed a problem in the addressee select dialog and made it more user friendly by adding a minimize splitter. 12Fixed a problem in the addressee select dialog and made it more user friendly by adding a minimize splitter.
11 13
12In the search dialog you can switch now the focus from search line edit to the list view by pressing key "arrow down". 14In the search dialog you can switch now the focus from search line edit to the list view by pressing key "arrow down".
13 15
14OM/Pi: 16OM/Pi:
15Fixed a refresh problem of outgoing/sent/sendfailed folders after sending mails. 17Fixed a refresh problem of outgoing/sent/sendfailed folders after sending mails.
16Added missing German translation. 18Added missing German translation.
17Added warning if path is specified in local folder settings of account config. 19Added warning if path is specified in local folder settings of account config.
18 20
19********** VERSION 2.0.12 ************ 21********** VERSION 2.0.12 ************
20 22
21KO/Pi: 23KO/Pi:
22Fixed a bug in todo start/due date handling for non recurring todos with a start and due date. 24Fixed a bug in todo start/due date handling for non recurring todos with a start and due date.
23Fixed some layout problems in the KO/Pi agenda view when there were many conflicting itmes. 25Fixed some layout problems in the KO/Pi agenda view when there were many conflicting itmes.
24Fixed several problems of the keyboard focus in the desktop versions when opening the search dialog/event viewer. 26Fixed several problems of the keyboard focus in the desktop versions when opening the search dialog/event viewer.
25 27
26Fixed problem in pi-sync mode when wrong password was sent. 28Fixed problem in pi-sync mode when wrong password was sent.
27 29
28OM/Pi: 30OM/Pi:
29Fixed a crash when displaying mails with "Show mail as html" was checked in the config. 31Fixed a crash when displaying mails with "Show mail as html" was checked in the config.
30Added a check before displaying the mail if the mail is in html format, if "Show mail as html" is enabled. 32Added a check before displaying the mail if the mail is in html format, if "Show mail as html" is enabled.
31 33
32********** VERSION 2.0.11 ************ 34********** VERSION 2.0.11 ************
33 35
34Fixed some problems in pi-sync mode 36Fixed some problems in pi-sync mode
35(e.g. details of events were not synced properly) 37(e.g. details of events were not synced properly)
36 38
37********** VERSION 2.0.10 ************ 39********** VERSION 2.0.10 ************
38 40
39KO/Pi: 41KO/Pi:
40In the desktop versions the context menu in the search dialog was broken after introducing the What'sThis info for the list view. 42In the desktop versions the context menu in the search dialog was broken after introducing the What'sThis info for the list view.
41This is fixed. 43This is fixed.
42Changed the search dialog a bit to make it more user friendly. 44Changed the search dialog a bit to make it more user friendly.
43(E.g.: Removed message box about "no items found" and set key focus to search line edit after search). 45(E.g.: Removed message box about "no items found" and set key focus to search line edit after search).
44 46
45Added config option to hide the week number in KO/Pi toolbar. 47Added config option to hide the week number in KO/Pi toolbar.
46 48
47********** VERSION 2.0.9 ************ 49********** VERSION 2.0.9 ************
48 50
49Made month view icons for multiday events a bit nicer. 51Made month view icons for multiday events a bit nicer.
50Some minor fixes in KO/Pi 52Some minor fixes in KO/Pi
51(e.g. go to today did not work for new week view properly). 53(e.g. go to today did not work for new week view properly).
52 54
53 55
54********** VERSION 2.0.8 ************ 56********** VERSION 2.0.8 ************
55 57
56Fixed a problem in dependency info in the ipk files for the Zaurus. 58Fixed a problem in dependency info in the ipk files for the Zaurus.
57 59
58Added icon for the stealth new week view and made navigation more user friendly in monthview by adding a prev/next week button to the navigator bar. 60Added icon for the stealth new week view and made navigation more user friendly in monthview by adding a prev/next week button to the navigator bar.
59 61
60Added a "go today" button to the datepicker. 62Added a "go today" button to the datepicker.
61 63
62Added "created" and "last modified" to event/todo viewer (and What'sThis viewer) 64Added "created" and "last modified" to event/todo viewer (and What'sThis viewer)
63and made it configureable to show these values. 65and made it configureable to show these values.
64 66
65Fixed a problem for events (from external iCal files) that do have a duration but no end date. 67Fixed a problem for events (from external iCal files) that do have a duration but no end date.
66 68
67 69
68********** VERSION 2.0.7 ************ 70********** VERSION 2.0.7 ************
69 71
70Added global application font settings 72Added global application font settings
71(for all KDE-Pim/Pi apps) to the general settings. 73(for all KDE-Pim/Pi apps) to the general settings.
72 74
73Fixed a problem in OM/Pi when trying to login to some IMAP servers 75Fixed a problem in OM/Pi when trying to login to some IMAP servers
74(like the IMAP server of Apple: mail.mac.com ) 76(like the IMAP server of Apple: mail.mac.com )
75 77
76Added recurring todos to KO/Pi. 78Added recurring todos to KO/Pi.
77 79
78 80
79********** VERSION 2.0.6 ************ 81********** VERSION 2.0.6 ************
80 82
81Some bugfixes in the pi-sync mode. 83Some bugfixes in the pi-sync mode.
82Added German translation for pi-sync mode. 84Added German translation for pi-sync mode.
83 85
84KO/Pi: 86KO/Pi:
85Made the todolist using alternate background. 87Made the todolist using alternate background.
86 88
87Other minor fixes in KO/Pi. 89Other minor fixes in KO/Pi.
88 90
89 91
90********** VERSION 2.0.5 ************ 92********** VERSION 2.0.5 ************
91 93
92Bugfixes in KO/Pi. 94Bugfixes in KO/Pi.
93 95
94********** VERSION 2.0.4 ************ 96********** VERSION 2.0.4 ************
95 97
96KO/Pi: 98KO/Pi:
97Fixed problem loading translations for summary/location edit boxes in event/todo editor. 99Fixed problem loading translations for summary/location edit boxes in event/todo editor.
98 100
99Added a general "select week number" to the toolbar. 101Added a general "select week number" to the toolbar.
100 102
101Fixed some small problem of the new features introduced in version 2.0.3. 103Fixed some small problem of the new features introduced in version 2.0.3.
102 104
103Made it possible to specify one specific category as category color, 105Made it possible to specify one specific category as category color,
104if more than one categories are selected. 106if more than one categories are selected.
105 107
106Fixed a bug in saving colors for categories with non-ascii characters. 108Fixed a bug in saving colors for categories with non-ascii characters.
107(Like, e.g. German Umlauts). 109(Like, e.g. German Umlauts).
108Propably you have to set your colors again for those categories. 110Propably you have to set your colors again for those categories.
109 111
110 112
111********** VERSION 2.0.3 ************ 113********** VERSION 2.0.3 ************
112 114
113KO/Pi: 115KO/Pi:
114Added feature for changing alarm settings for many items at once: 116Added feature for changing alarm settings for many items at once:
115Open list view (or search dialog), select the desired items and choose in 117Open list view (or search dialog), select the desired items and choose in
116the popup menu: Set alarm for selected... 118the popup menu: Set alarm for selected...
117 119
118Added to the event/todo viewer the option to send an email to 120Added to the event/todo viewer the option to send an email to
119all attendees or all selected (with RSVP) attendees. 121all attendees or all selected (with RSVP) attendees.
120 122
121Made the week-month mode changing in month view faster. 123Made the week-month mode changing in month view faster.
122 124
123Made month view better useable with keyboard. 125Made month view better useable with keyboard.
124Now TAB key jumps to next cell with an event/todo. 126Now TAB key jumps to next cell with an event/todo.
125Scroll in cell with coursor keys, scroll in time (next week) with 127Scroll in cell with coursor keys, scroll in time (next week) with
126Shift/Control + coursorkeys. 128Shift/Control + coursorkeys.
127 129
128Fixed bug that the todo view flat mode was reset after first view update. 130Fixed bug that the todo view flat mode was reset after first view update.
129 131
130If a todo is displayed closed in the todo view, 132If a todo is displayed closed in the todo view,
131it is now displayed in overdue/due today color depending on the subtodos overdue/due today properties. 133it is now displayed in overdue/due today color depending on the subtodos overdue/due today properties.
132 134
133Added info about the numbers of years to the caption (title) information about a birthday event. 135Added info about the numbers of years to the caption (title) information about a birthday event.
134 136
135Made completion date in todo editor editable. 137Made completion date in todo editor editable.
136 138
137Added possibility to save/load templates for journals. 139Added possibility to save/load templates for journals.
138(Which is just a simple "save text to file" or "insert text from file". 140(Which is just a simple "save text to file" or "insert text from file".
139 141
140********** VERSION 2.0.2 ************ 142********** VERSION 2.0.2 ************
141 143
142KO/Pi: 144KO/Pi:
143Fixed the layout problem of the day label buttons 145Fixed the layout problem of the day label buttons
144of the agenda view introduced in version 2.0.1. 146of the agenda view introduced in version 2.0.1.
145 147
146Added WhatsThis support for the todo view and the list view. 148Added WhatsThis support for the todo view and the list view.
147 149
148Added a quite useful feature to the montview. 150Added a quite useful feature to the montview.
149Just click on the week numbers on the left. 151Just click on the week numbers on the left.
150And in the top right corner of month view/agenda view 152And in the top right corner of month view/agenda view
151there is now a "week number quick selector". 153there is now a "week number quick selector".
152(Click on the black triangle). 154(Click on the black triangle).
153 155
154Made the quite difficult timezone change in KO/Pi easy. 156Made the quite difficult timezone change in KO/Pi easy.
155 157
156OM/Pi: 158OM/Pi:
157Fixed too small icons on desktop. 159Fixed too small icons on desktop.
158Fixed non visible icons in mainwindow on Z with fastload enabled. 160Fixed non visible icons in mainwindow on Z with fastload enabled.
159Added signature file setting to smtp account config. 161Added signature file setting to smtp account config.
160And the signature can be edited and saved in the edit mail dialog. 162And the signature can be edited and saved in the edit mail dialog.
161That does mean: 163That does mean:
162Simply edit the signature for the selected smtp account in the 164Simply edit the signature for the selected smtp account in the
163edit new mail dialog and press the "save signature" button there. 165edit new mail dialog and press the "save signature" button there.
164Then the signature is saved to the file specified in the smtp account settings. 166Then the signature is saved to the file specified in the smtp account settings.
165If there is no file specified, it is saved automatically to the file 167If there is no file specified, it is saved automatically to the file
166kdepim/apps/kopiemail/<accountname>.sig. 168kdepim/apps/kopiemail/<accountname>.sig.
167 169
168 170
169 171
170********** VERSION 2.0.1 ************ 172********** VERSION 2.0.1 ************
171 173
172Oooops ... I forgot to test on the Zaurus 5500 ... 174Oooops ... I forgot to test on the Zaurus 5500 ...
173 175
174Fixed many problems of new (english) strings (and german translations) 176Fixed many problems of new (english) strings (and german translations)
175introduced in the latest versions, where the text was not fitting on the 177introduced in the latest versions, where the text was not fitting on the
176240x320 display of the Zaurus 5500. 178240x320 display of the Zaurus 5500.
177 179
178KO/Pi: 180KO/Pi:
179Added a popup menu ( press pen and hold to get popup ) to the agenda view 181Added a popup menu ( press pen and hold to get popup ) to the agenda view
180with many useful items (add event/todo, show next week, two weeks, month, journal). 182with many useful items (add event/todo, show next week, two weeks, month, journal).
181 183
182Added items to the todolist popup menu for: 184Added items to the todolist popup menu for:
183Display all opened, all closed or all todos flat. 185Display all opened, all closed or all todos flat.
184The "flat" view makes is possible to sort all todos after ,e.g., prio or date. 186The "flat" view makes is possible to sort all todos after ,e.g., prio or date.
185Made the reparenting of todos on the desktop possible via Drag&Drop. 187Made the reparenting of todos on the desktop possible via Drag&Drop.
186Fixed several bugs in setting the completed datetime for todos. 188Fixed several bugs in setting the completed datetime for todos.
187Added info about completed datetime of todos to the todo viewer. 189Added info about completed datetime of todos to the todo viewer.
188Now displaying a completed todo (with completed datetime set) in the agenda view 190Now displaying a completed todo (with completed datetime set) in the agenda view
189at the time of the completion. Such that now it is possible to see in the agenda view 191at the time of the completion. Such that now it is possible to see in the agenda view
190when what todo was completed. 192when what todo was completed.
191Fixed behaviour of automatic setting completion of todos with sub-todos/parent todos. 193Fixed behaviour of automatic setting completion of todos with sub-todos/parent todos.
192Now the behaviour is: 194Now the behaviour is:
193Setting a parent to complete sets all (sub)childs to complete. 195Setting a parent to complete sets all (sub)childs to complete.
194Setting a parent to uncomplete does not change the childs. 196Setting a parent to uncomplete does not change the childs.
195Setting a child to uncomplete sets all parent to uncomplete. 197Setting a child to uncomplete sets all parent to uncomplete.
196Setting a child to complete does not change the parents. 198Setting a child to complete does not change the parents.
197 199
198Smart updating and double buffering of the daymatrix. 200Smart updating and double buffering of the daymatrix.
diff --git a/bin/kdepim/pwmanager/germantranslation.txt b/bin/kdepim/pwmanager/germantranslation.txt
index a63be31..ccc9d83 100644
--- a/bin/kdepim/pwmanager/germantranslation.txt
+++ b/bin/kdepim/pwmanager/germantranslation.txt
@@ -160,197 +160,197 @@
160{ "Tuesday","Dienstag" }, 160{ "Tuesday","Dienstag" },
161{ "Wednesday","Mittwoch" }, 161{ "Wednesday","Mittwoch" },
162{ "Thursday","Donnerstag" }, 162{ "Thursday","Donnerstag" },
163{ "Friday","Freitag" }, 163{ "Friday","Freitag" },
164{ "Saturday","Samstag" }, 164{ "Saturday","Samstag" },
165{ "Sunday","Sonntag" }, 165{ "Sunday","Sonntag" },
166{ "Daylight end:","Sommerzeit Ende:" }, 166{ "Daylight end:","Sommerzeit Ende:" },
167{ "Time Zone","Zeit Zone" }, 167{ "Time Zone","Zeit Zone" },
168{ "Used Mail Client","Benutzter Mail Client" }, 168{ "Used Mail Client","Benutzter Mail Client" },
169{ "Channel:","Channel:" }, 169{ "Channel:","Channel:" },
170{ "Message:","Message:" }, 170{ "Message:","Message:" },
171{ "Parameters:","Parameter:" }, 171{ "Parameters:","Parameter:" },
172{ "HINT: Delimiter=; Name=%1,Email=%2","Hinweis: Begrenzer=; Name=%1,Email=%2" }, 172{ "HINT: Delimiter=; Name=%1,Email=%2","Hinweis: Begrenzer=; Name=%1,Email=%2" },
173{ "extra Message:","extra Message:" }, 173{ "extra Message:","extra Message:" },
174{ "extra Parameters:","extra Parameter:" }, 174{ "extra Parameters:","extra Parameter:" },
175{ "HINT: Emails=%1,Attachments=%2","Hinweis: Emails=%1,Attachments=%2" }, 175{ "HINT: Emails=%1,Attachments=%2","Hinweis: Emails=%1,Attachments=%2" },
176{ "External Apps.","Externe Appl." }, 176{ "External Apps.","Externe Appl." },
177{ "Your current storage dir is:\n%1\nYour mail is stored in:\n(storagedir)/apps/kopiemail/localmail","Aktuelles Speicherverzeichnis ist:\n%1\nIhre Mail wird gespeichert in:\n(speicherverz.)/apps/kopiemail/localmail" }, 177{ "Your current storage dir is:\n%1\nYour mail is stored in:\n(storagedir)/apps/kopiemail/localmail","Aktuelles Speicherverzeichnis ist:\n%1\nIhre Mail wird gespeichert in:\n(speicherverz.)/apps/kopiemail/localmail" },
178{ "<b>New data storage dir:</b>","<b>Neues Datenspeicherverzeichnis:</b>" }, 178{ "<b>New data storage dir:</b>","<b>Neues Datenspeicherverzeichnis:</b>" },
179{ "New dirs are created automatically","Neue Verzeichnisse werden aut. erstellt" }, 179{ "New dirs are created automatically","Neue Verzeichnisse werden aut. erstellt" },
180{ "Save settings","Speichere Einstellungen" }, 180{ "Save settings","Speichere Einstellungen" },
181{ "Save standard","Speichere Standard" }, 181{ "Save standard","Speichere Standard" },
182{ "<b>New settings are used\nafter a restart</b>","<b>Neue Einstellungen werden nach\neinem Neustart genutzt</b>" }, 182{ "<b>New settings are used\nafter a restart</b>","<b>Neue Einstellungen werden nach\neinem Neustart genutzt</b>" },
183{ "Settings are stored in\n%1","Einstellungen werden gespeichert in:\n%1" }, 183{ "Settings are stored in\n%1","Einstellungen werden gespeichert in:\n%1" },
184{ "Data storage path","Daten Speicherpfad" }, 184{ "Data storage path","Daten Speicherpfad" },
185{ "Used %1 Client","Benutzer %1 Client" }, 185{ "Used %1 Client","Benutzer %1 Client" },
186{ "No email client installed","Keine Email Client installiert" }, 186{ "No email client installed","Keine Email Client installiert" },
187{ "Userdefined email client","Benutzerdef. Email Client" }, 187{ "Userdefined email client","Benutzerdef. Email Client" },
188{ "OM/Pi email client","OM/Pi Email Client" }, 188{ "OM/Pi email client","OM/Pi Email Client" },
189{ "URL:","URL:" }, 189{ "URL:","URL:" },
190{ "No","Nein" }, 190{ "No","Nein" },
191{ "Yes","Ja" }, 191{ "Yes","Ja" },
192{ "Untitled","Unbenannt" }, 192{ "Untitled","Unbenannt" },
193{ "&New","&Neu" }, 193{ "&New","&Neu" },
194{ "&Open","&Öffne" }, 194{ "&Open","&Öffne" },
195{ "&Close","Schließen" }, 195{ "&Close","Schließen" },
196{ "Save &as...","Speichere &als..." }, 196{ "Save &as...","Speichere &als..." },
197{ "&Text-file...","&Text-Datei..." }, 197{ "&Text-file...","&Text-Datei..." },
198{ "&Gpasman / Kpasman ...","&Gpasman / Kpasman ..." }, 198{ "&Gpasman / Kpasman ...","&Gpasman / Kpasman ..." },
199{ "&CSV (Comma Separated Value) ...","&CSV (Komma getrennte Werte) ..." }, 199{ "&CSV (Comma Separated Value) ...","&CSV (Komma getrennte Werte) ..." },
200{ "E&xport","E&xport" }, 200{ "E&xport","E&xport" },
201{ "I&mport","I&mport" }, 201{ "I&mport","I&mport" },
202{ "&Quit","Beenden" }, 202{ "&Quit","Beenden" },
203{ "&Add password","&Passwort hinzufügen" }, 203{ "&Add password","&Passwort hinzufügen" },
204{ "&Delete","Lösche" }, 204{ "&Delete","Lösche" },
205{ "Change &Master Password","Ändere &Master Passwort" }, 205{ "Change &Master Password","Ändere &Master Passwort" },
206{ "&Manage","Verwalte" }, 206{ "&Manage","Verwalte" },
207{ "&Find","&Finde" }, 207{ "&Find","&Finde" },
208{ "&Lock all entries","Sperre alle Einträge" }, 208{ "&Lock all entries","Sperre alle Einträge" },
209{ "&Deep-lock all entries","Sperre total alle Einträge" }, 209{ "&Deep-lock all entries","Sperre total alle Einträge" },
210{ "&Unlock all entries","Entsperre alle Einträge" }, 210{ "&Unlock all entries","Entsperre alle Einträge" },
211{ "&Configure...","Konfiguriere..." }, 211{ "&Configure...","Konfiguriere..." },
212{ "&Options","Konfig" }, 212{ "&Options","Konfig" },
213{ "C&ategories...","K&ategorien..." }, 213{ "C&ategories...","K&ategorien..." },
214{ "&Sync","&Sync" }, 214{ "&Sync","&Sync" },
215{ "&License","&Lizenz" }, 215{ "&License","&Lizenz" },
216{ "&Faq","&Faq" }, 216{ "&Faq","&Faq" },
217{ "&About PwManager","Über PwManager" }, 217{ "&About PwManager","Über PwManager" },
218{ "&Sync HowTo","&Sync HowTo" }, 218{ "&Sync HowTo","&Sync HowTo" },
219{ "&What's New","Was ist neu?" }, 219{ "&What's New","Was ist neu?" },
220{ "New","Neu" }, 220{ "New","Neu" },
221{ "Open","Öffnen" }, 221{ "Open","Öffnen" },
222{ "Save","Speichern" }, 222{ "Save","Speichern" },
223{ "Save as","Speichern als" }, 223{ "Save as","Speichern als" },
224{ "Print...","Drucke..." }, 224{ "Print...","Drucke..." },
225{ "Add password","Passwort hinzufügen" }, 225{ "Add password","Passwort hinzufügen" },
226{ "Edit password","Passwort ändern" }, 226{ "Edit password","Passwort ändern" },
227{ "Delete password","Passwort löschen" }, 227{ "Delete password","Passwort löschen" },
228{ "Find entry","Finde Eintrag" }, 228{ "Find entry","Finde Eintrag" },
229{ "Lock all entries","Sperre alle Einträge" }, 229{ "Lock all entries","Sperre alle Einträge" },
230{ "Deep-Lock all entries","Sperre total alle Einträge" }, 230{ "Deep-Lock all entries","Sperre total alle Einträge" },
231{ "Unlock all entries","Entsperre alle Einträge" }, 231{ "Unlock all entries","Entsperre alle Einträge" },
232{ "Categories:","Kategorien:" }, 232{ "Categories:","Kategorien:" },
233{ "&Rename","&Umbenennen" }, 233{ "&Rename","&Umbenennen" },
234{ "Username","Benutzername" }, 234{ "Username","Benutzername" },
235{ "Password","Passwort" }, 235{ "Password","Passwort" },
236{ "Launcher","Launcher" }, 236{ "Launcher","Launcher" },
237{ "copy password to clipboard","Kopiere Passwort ins Clipboard" }, 237{ "copy password to clipboard","Kopiere Passwort ins Clipboard" },
238{ "copy username to clipboard","Kopiere Benutzername ins Clipboard" }, 238{ "copy username to clipboard","Kopiere Benutzername ins Clipboard" },
239{ "copy description to clipboard","Kopiere Beschreibung ins Clipboard" }, 239{ "copy description to clipboard","Kopiere Beschreibung ins Clipboard" },
240{ "copy url to clipboard","Kopiere URL ins Clipboard" }, 240{ "copy url to clipboard","Kopiere URL ins Clipboard" },
241{ "copy launcher to clipboard","Kopiere Launcher ins Clipboard" }, 241{ "copy launcher to clipboard","Kopiere Launcher ins Clipboard" },
242{ "copy comment to clipboard","Kopiere Kommentare ins Clipboard" }, 242{ "copy comment to clipboard","Kopiere Kommentare ins Clipboard" },
243{ "Execute "Launcher"",""Launcher" ausführen" }, 243{ "Execute "Launcher"",""Launcher" ausführen" },
244{ "Go to "URL"","Gehe zu "URL"" }, 244{ "Go to "URL"","Gehe zu "URL"" },
245{ "Ready.","Fertig." }, 245{ "Ready.","Fertig." },
246{ "password filename(*.pwm)","passwort dateiname(*.pwm)" }, 246{ "password filename(*.pwm)","passwort dateiname(*.pwm)" },
247{ "File error","Datei Fehler" }, 247{ "File error","Datei Fehler" },
248{ "Could not read file!","Kann Datei nicht lesen!" }, 248{ "Could not read file!","Kann Datei nicht lesen!" },
249{ "Master-password","Master-Passwort" }, 249{ "Master-password","Master-Passwort" },
250{ "Please enter the master-password:","Bitter Master-Passwort eingeben:" }, 250{ "Please enter the master-password:","Bitter Master-Passwort eingeben:" },
251{ "Wrong master-password!\nPlease try again.","Falsches Master-Passwort!\nBitte erneut versuchen." }, 251{ "Wrong master-password!\nPlease try again.","Falsches Master-Passwort!\nBitte erneut versuchen." },
252{ "password error","Passwort Fehler" }, 252{ "password error","Passwort Fehler" },
253{ "Successfully opened file.","Datei erfolgreich geöffnet." }, 253{ "Successfully opened file.","Datei erfolgreich geöffnet." },
254{ "DEEP-LOCKED","TOTAL-GESPERRT" }, 254{ "DEEP-LOCKED","TOTAL-GESPERRT" },
255{ "This file is DEEP-LOCKED!\nThat means all data has been encrypted\nand written out to the file. If you want\nto see the entries, please UNLOCK the file.\nWhile unlocking, you will be prompted for the\nmaster-password or the key-card.","Diese Datei ist TOTAL-GESPERRT!\nDas bedeutet, dass alle Daten verschlüsselt\nsind und in die Datei geschrieben wurden.\nWenn Sie die Einträge sehen möchten\nENTSPERREN Sie bitte die Datei.\nZum Entsperren werden Sie nach\ndem Master-Passwort gefragt." }, 255{ "This file is DEEP-LOCKED!\nThat means all data has been encrypted\nand written out to the file. If you want\nto see the entries, please UNLOCK the file.\nWhile unlocking, you will be prompted for the\nmaster-password or the key-card.","Diese Datei ist TOTAL-GESPERRT!\nDas bedeutet, dass alle Daten verschlüsselt\nsind und in die Datei geschrieben wurden.\nWenn Sie die Einträge sehen möchten\nENTSPERREN Sie bitte die Datei.\nZum Entsperren werden Sie nach\ndem Master-Passwort gefragt." },
256{ "<LOCKED>","<GESPERRT>" }, 256{ "<LOCKED>","<GESPERRT>" },
257{ "To unlock click the icon on the left.","Zum Entsperren auf linkes Icon klicken." }, 257{ "To unlock click the icon on the left.","Zum Entsperren auf linkes Icon klicken." },
258{ "PwManager","PwManager" }, 258{ "PwManager","PwManager" },
259{ "Window-style:","Window-Stil:" }, 259{ "Window-style:","Window-Stil:" },
260{ "Category on top","Kategorien oben" }, 260{ "Category on top","Kategorien oben" },
261{ "Category-list left/top","Kategorien links oben" }, 261{ "Category-list left/top","Kategorien links oben" },
262{ "Font for Password entries:","Schrift für Passwort Einträge:" }, 262{ "Font for Password entries:","Schrift für Passwort Einträge:" },
263{ "Font for Password summary:","Schrift für Passwort Übersicht:" }, 263{ "Font for Password summary:","Schrift für Passwort Übersicht:" },
264{ "Font:","Schriftart:" }, 264{ "Font:","Schriftart:" },
265{ "Summary","Übersicht" }, 265{ "Summary","Übersicht" },
266{ "Compression:","Kompression:" }, 266{ "Compression:","Kompression:" },
267{ "gzip","gzip" }, 267{ "gzip","gzip" },
268{ "Encryption:","Verschlüsselung:" }, 268{ "Encryption:","Verschlüsselung:" },
269{ "Blowfish (128 bit)","Blowfish (128 bit)" }, 269{ "Blowfish (128 bit)","Blowfish (128 bit)" },
270{ "AES-128, Rijndael (128 bit)","AES-128, Rijndael (128 bit)" }, 270{ "AES-128, Rijndael (128 bit)","AES-128, Rijndael (128 bit)" },
271{ "AES-192, Rijndael (192 bit)","AES-192, Rijndael (192 bit)" }, 271{ "AES-192, Rijndael (192 bit)","AES-192, Rijndael (192 bit)" },
272{ "AES-256, Rijndael (256 bit)","AES-256, Rijndael (256 bit)" }, 272{ "AES-256, Rijndael (256 bit)","AES-256, Rijndael (256 bit)" },
273{ "Triple-DES (168 bit)","Triple-DES (168 bit)" }, 273{ "Triple-DES (168 bit)","Triple-DES (168 bit)" },
274{ "Twofish (256 bit)","Twofish (256 bit)" }, 274{ "Twofish (256 bit)","Twofish (256 bit)" },
275{ "Twofish-128 (128 bit)","Twofish-128 (128 bit)" }, 275{ "Twofish-128 (128 bit)","Twofish-128 (128 bit)" },
276{ "Hashing:","Hashing:" }, 276{ "Hashing:","Hashing:" },
277{ "SHA-160, SHA1 (160 bit)","SHA-160, SHA1 (160 bit)" }, 277{ "SHA-160, SHA1 (160 bit)","SHA-160, SHA1 (160 bit)" },
278{ "SHA-256 (256 bit)","SHA-256 (256 bit)" }, 278{ "SHA-256 (256 bit)","SHA-256 (256 bit)" },
279{ "SHA-384 (384 bit)","SHA-384 (384 bit)" }, 279{ "SHA-384 (384 bit)","SHA-384 (384 bit)" },
280{ "SHA-512 (512 bit)","SHA-512 (512 bit)" }, 280{ "SHA-512 (512 bit)","SHA-512 (512 bit)" },
281{ "MD5 (128 bit)","MD5 (128 bit)" }, 281{ "MD5 (128 bit)","MD5 (128 bit)" },
282{ "RIPE-MD-160 (160 bit)","RIPE-MD-160 (160 bit)" }, 282{ "RIPE-MD-160 (160 bit)","RIPE-MD-160 (160 bit)" },
283{ "Tiger (192 bit)","Tiger (192 bit)" }, 283{ "Tiger (192 bit)","Tiger (192 bit)" },
284{ "Permissions:","Zugriffsrechte:" }, 284{ "Permissions:","Zugriffsrechte:" },
285{ "Make backup before saving","Mache Backup vor dem Speichern" }, 285{ "Make backup before saving","Mache Backup vor dem Speichern" },
286{ "Password timeout\n(timeout to hold password in\nmemory,so you don't have to\nre-enter it,if you\nalready have entered it)\n[set to 0 to disable]:","Passwort Timeout\n(Timeout um das Passwort\nim Speicher zu halten,\nso dass es nicht noch mal\neingegeben werden muß.)\n[Setze auf 0 zum deaktivieren]:" }, 286{ "Password timeout\n(timeout to hold password in\nmemory,so you don't have to\nre-enter it,if you\nalready have entered it)\n[set to 0 to disable]:","Passwort Timeout\n(Timeout um das Passwort\nim Speicher zu halten,\nso dass es nicht noch mal\neingegeben werden muß.)\n[Setze auf 0 zum deaktivieren]:" },
287{ "Auto-lock timeout\n(auto lock document after this\namount of seconds)\n[set to 0 to disable]:","(Total-)Sperr-Timeout\n(Sperre Dokument total nach\ndieser Anzahl Sekunden)\n[Setze auf 0 zum deaktivieren]:" }, 287{ "Auto-lock timeout\n(auto lock document after this\namount of seconds)\n[set to 0 to disable]:","(Total-)Sperr-Timeout\n(Sperre Dokument total nach\ndieser Anzahl Sekunden)\n[Setze auf 0 zum deaktivieren]:" },
288{ "deep-lock on autolock","Sperre total beim Sperr-Timeout" }, 288{ "deep-lock on autolock","Sperre total beim Sperr-Timeout" },
289{ "open deeplocked","Öffne total gesperrt" }, 289{ "open deeplocked","Öffne total gesperrt" },
290{ "Favourite browser:","Bevorzugter Browser:" }, 290{ "Favourite browser:","Bevorzugter Browser:" },
291{ "Favourite x-terminal:","Bevorzugtes x-terminal:" }, 291{ "Favourite x-terminal:","Bevorzugtes x-terminal:" },
292{ "Open document with passwords unlocked","Öffne Dokument mit Passwort ungesperrt" }, 292{ "Open document with passwords unlocked","Öffne Dokument mit Passwort ungesperrt" },
293{ "Look && feel","Aussehen" }, 293{ "Look && feel","Aussehen" },
294{ "File","Datei" }, 294{ "File","Datei" },
295{ "Timeout","Timeout" }, 295{ "Timeout","Timeout" },
296{ "Autostart","Autostart" }, 296{ "Autostart","Autostart" },
297{ "External apps","Externe Applik." }, 297{ "External apps","Externe Applik." },
298{ "Miscellaneous","Verschiedenes" }, 298{ "Miscellaneous","Verschiedenes" },
299{ "+01:00 Europe/Oslo(CET)","+01:00 Europe/Oslo(CET)" }, 299{ "+01:00 Europe/Oslo(CET)","+01:00 Europe/Oslo(CET)" },
300{ "edit category descriptions","Ändere Label für Kategorie" }, 300{ "edit category descriptions","Ändere Label für Kategorie" },
301{ "Close","Schließen" }, 301{ "Close","Schließen" },
302{ "Category:","Category:" }, 302{ "Category:","Category:" },
303{ "Text1 (Description):","Text1 (Beschreibung):" }, 303{ "Text1 (Description):","Text1 (Beschreibung):" },
304{ "Text2 (Username):","Text2 (Benutzername):" }, 304{ "Text2 (Username):","Text2 (Benutzername):" },
305{ "Text3 (Password):","Text3 (Passwort):" }, 305{ "Text3 (Password):","Text3 (Passwort):" },
306{ "edit/add a password entry","Ändere/hinzufüge Passwort Eintrag" }, 306{ "edit/add a password entry","Ändere/hinzufüge Passwort Eintrag" },
307{ "Description:","Beschreibung:" }, 307{ "Description:","Beschreibung:" },
308{ "Username:","Benutzername:" }, 308{ "Username:","Benutzername:" },
309{ "Password:","Passwort:" }, 309{ "Password:","Passwort:" },
310{ "&Reveal","&Offen zeigen" }, 310{ "&Reveal","&Offen zeigen" },
311{ "&Generate","&Generiere" }, 311{ "&Generate","&Generiere" },
312{ "&Password","&Passwort" }, 312{ "&Password","&Passwort" },
313{ "&Comments","Kommentar" }, 313{ "&Comments","Kommentar" },
314{ "Launcher:","Launcher:" }, 314{ "Launcher:","Launcher:" },
315{ "$d = Description","$d = Beschreibung" }, 315{ "$d = Description","$d = Beschreibung" },
316{ "$n = Username","$n = Benutzername" }, 316{ "$n = Username","$n = Benutzername" },
317{ "$c = Comment","$c = Kommentar" }, 317{ "$c = Comment","$c = Kommentar" },
318{ "$u = URL","$u = URL" }, 318{ "$u = URL","$u = URL" },
319{ "$p = Password","$p = Passwort" }, 319{ "$p = Password","$p = Passwort" },
320{ "&Launcher","&Launcher" }, 320{ "&Launcher","&Launcher" },
321{ "Password generator","Passwort Generator" }, 321{ "Password generator","Passwort Generator" },
322{ "Character set:","Buchstaben Set:" }, 322{ "Character set:","Buchstaben Set:" },
323{ "Lowercase (abc)","Klein (abc)" }, 323{ "Lowercase (abc)","Klein (abc)" },
324{ "Uppercase (ABC)","Groß (ABC)" }, 324{ "Uppercase (ABC)","Groß (ABC)" },
325{ "Numbers (123)","Nummmern (123)" }, 325{ "Numbers (123)","Nummmern (123)" },
326{ "Special characters:","Spezielle Buchstaben:" }, 326{ "Special characters:","Spezielle Buchstaben:" },
327{ "Spaces (blank characters)","Leerzeichen" }, 327{ "Spaces (blank characters)","Leerzeichen" },
328{ "User defined:","Benutzer definiert:" }, 328{ "User defined:","Benutzer definiert:" },
329{ "Password Length:","Passwort Länge:" }, 329{ "Password Length:","Passwort Länge:" },
330{ "Enable Filtering to get better passwords","Enable Filtering to get better passwords" }, 330{ "Enable Filtering to get better passwords","Enable Filtering to get better passwords" },
331{ "no password","Kein Passwort" }, 331{ "no password","Kein Passwort" },
332{ "Sorry, you haven't set a password.","Sorry, Sie haben kein Passwort angegeben." }, 332{ "Sorry, you haven't set a password.","Sorry, Sie haben kein Passwort angegeben." },
333{ "not saved, yet","not saved, yet" }, 333{ "not saved, yet","not saved, yet" },
334{ "Can't deep-lock, because the document\nhasn't been saved, yet. Please save\nto a file and try again.","Kann nicht tiefsperren, weil das\nDokument noch nicht gespeichert wurde.\nBitte speichern und noch einmal versuchen." }, 334{ "Can't deep-lock, because the document\nhasn't been saved, yet. Please save\nto a file and try again.","Kann nicht tiefsperren, weil das\nDokument noch nicht gespeichert wurde.\nBitte speichern und noch einmal versuchen." },
335{ "Find","Finde" }, 335{ "Find","Finde" },
336{ "&Exact match","Genaue Übereinstimmung" }, 336{ "&Exact match","Genaue Übereinstimmung" },
337{ "&Case sensitive","Großschrift abhängig" }, 337{ "&Case sensitive","Großschrift abhängig" },
338{ "Search in Column","Suche in Spalten" }, 338{ "Search in Column","Suche in Spalten" },
339{ "&Description","Beschreibung" }, 339{ "&Description","Beschreibung" },
340{ "C&omment","Kommentar" }, 340{ "C&omment","Kommentar" },
341{ "&Username","Benutzername" }, 341{ "&Username","Benutzername" },
342{ "U&RL","URL" }, 342{ "U&RL","URL" },
343{ "delete?","Löschen?" }, 343{ "delete?","Löschen?" },
344{ "Do you really want to delete\nthe selected entry","Wollen Sie wirklich\nden Eintrag löschen:" }, 344{ "Do you really want to delete\nthe selected entry","Wollen Sie wirklich\nden Eintrag löschen:" },
345{ "Save?","Speichern?" }, 345{ "Save?","Speichern?" },
346{ ""\nhas been modified.\nDo you want to save it?",""\nwurde geändert.\nMöchten Sie speichern?" }, 346{ ""\nhas been modified.\nDo you want to save it?",""\nwurde geändert.\nMöchten Sie speichern?" },
347{ "The list\n "","Die Liste\n "" }, 347{ "The list\n "","Die Liste\n "" },
348{ "nothing to do","Nichts zu tun" }, 348{ "nothing to do","Nichts zu tun" },
349{ "Sorry, there's nothing to save.\nPlease first add some passwords.","Sorry, es gibt nichts zu speichern.\nBitte erst Passwörter hinzufügen." }, 349{ "Sorry, there's nothing to save.\nPlease first add some passwords.","Sorry, es gibt nichts zu speichern.\nBitte erst Passwörter hinzufügen." },
350{ "Add new password","Passwort hinzufügen" }, 350{ "Add new password","Passwort hinzufügen" },
351{ "Successfully saved data.","Datei gespeichert." }, 351{ "Successfully saved data.","Datei gespeichert." },
352{ "","" }, 352{ "Category:","Kategorie:" },
353{ "","" }, 353{ "","" },
354{ "","" }, 354{ "","" },
355{ "","" }, 355{ "","" },
356 356
diff --git a/bin/kdepim/pwmanager/icons16/decrypted.png b/bin/kdepim/pwmanager/icons16/decrypted.png
index a52d790..3777a12 100644
--- a/bin/kdepim/pwmanager/icons16/decrypted.png
+++ b/bin/kdepim/pwmanager/icons16/decrypted.png
Binary files differ
diff --git a/bin/kdepim/pwmanager/icons22/decrypted.png b/bin/kdepim/pwmanager/icons22/decrypted.png
index 2228639..ea770ea 100644
--- a/bin/kdepim/pwmanager/icons22/decrypted.png
+++ b/bin/kdepim/pwmanager/icons22/decrypted.png
Binary files differ
diff --git a/pwmanager/pwmanager/addentrywndimpl.cpp b/pwmanager/pwmanager/addentrywndimpl.cpp
index fa6b6c0..09efd1c 100644
--- a/pwmanager/pwmanager/addentrywndimpl.cpp
+++ b/pwmanager/pwmanager/addentrywndimpl.cpp
@@ -1,220 +1,221 @@
1/*************************************************************************** 1/***************************************************************************
2 * * 2 * *
3 * copyright (C) 2003, 2004 by Michael Buesch * 3 * copyright (C) 2003, 2004 by Michael Buesch *
4 * email: mbuesch@freenet.de * 4 * email: mbuesch@freenet.de *
5 * * 5 * *
6 * Many very good improvements and the original implementations of * 6 * Many very good improvements and the original implementations of *
7 * them came from Matt Scifo <mscifo@o1.com> * 7 * them came from Matt Scifo <mscifo@o1.com> *
8 * * 8 * *
9 * This program is free software; you can redistribute it and/or modify * 9 * This program is free software; you can redistribute it and/or modify *
10 * it under the terms of the GNU General Public License version 2 * 10 * it under the terms of the GNU General Public License version 2 *
11 * as published by the Free Software Foundation. * 11 * as published by the Free Software Foundation. *
12 * * 12 * *
13 ***************************************************************************/ 13 ***************************************************************************/
14 14
15/*************************************************************************** 15/***************************************************************************
16 * copyright (C) 2004 by Ulf Schenk 16 * copyright (C) 2004 by Ulf Schenk
17 * This file is originaly based on version 1.0.1 of pwmanager 17 * This file is originaly based on version 1.0.1 of pwmanager
18 * and was modified to run on embedded devices that run microkde 18 * and was modified to run on embedded devices that run microkde
19 * 19 *
20 * $Id$ 20 * $Id$
21 **************************************************************************/ 21 **************************************************************************/
22 22
23#include "addentrywndimpl.h" 23#include "addentrywndimpl.h"
24#include "pwmexception.h" 24#include "pwmexception.h"
25#include "pwgenwndimpl.h" 25#include "pwgenwndimpl.h"
26#ifndef PWM_EMBEDDED 26#ifndef PWM_EMBEDDED
27#include "advcommeditimpl.h" 27#include "advcommeditimpl.h"
28#endif 28#endif
29#include "htmlgen.h" 29#include "htmlgen.h"
30 30
31#include <kmessagebox.h> 31#include <kmessagebox.h>
32#include <klocale.h> 32#include <klocale.h>
33 33
34#include <qpushbutton.h> 34#include <qpushbutton.h>
35#include <qlabel.h> 35#include <qlabel.h>
36#include <qlayout.h> 36#include <qlayout.h>
37 37
38 38
39#ifndef PWM_EMBEDDED 39#ifndef PWM_EMBEDDED
40AddEntryWndImpl::AddEntryWndImpl() 40AddEntryWndImpl::AddEntryWndImpl()
41 : addEntryWnd( 0, "AddEntryWndImpl", TRUE) 41 : addEntryWnd( 0, "AddEntryWndImpl", TRUE)
42#else 42#else
43AddEntryWndImpl::AddEntryWndImpl( PwMDoc* doc, QWidget* parent, const char* name) 43AddEntryWndImpl::AddEntryWndImpl( PwMDoc* doc, QWidget* parent, const char* name)
44 : addEntryWnd( doc, parent, name) 44 : addEntryWnd( doc, parent, name)
45#endif 45#endif
46{ 46{
47 categoryComboBox->setSizePolicy( QSizePolicy( QSizePolicy::Expanding,QSizePolicy::Preferred ));
47#ifndef PWM_EMBEDDED 48#ifndef PWM_EMBEDDED
48 editAdvCommentButton = 0; 49 editAdvCommentButton = 0;
49 commentTextEdit = 0; 50 commentTextEdit = 0;
50#endif 51#endif
51 switchComment(false); 52 switchComment(false);
52 pwGen = new PwGenWndImpl(this); 53 pwGen = new PwGenWndImpl(this);
53} 54}
54 55
55AddEntryWndImpl::~AddEntryWndImpl() 56AddEntryWndImpl::~AddEntryWndImpl()
56{ 57{
57#ifndef PWM_EMBEDDED 58#ifndef PWM_EMBEDDED
58 delete_ifnot_null(editAdvCommentButton); 59 delete_ifnot_null(editAdvCommentButton);
59 delete_ifnot_null(commentTextEdit); 60 delete_ifnot_null(commentTextEdit);
60#endif 61#endif
61 delete pwGen; 62 delete pwGen;
62} 63}
63 64
64#ifdef PWM_EMBEDDED 65#ifdef PWM_EMBEDDED
65void AddEntryWndImpl::slotOk() 66void AddEntryWndImpl::slotOk()
66{ 67{
67 slotApply(); 68 slotApply();
68 69
69 if (pwLineEdit->text().isEmpty()) { 70 if (pwLineEdit->text().isEmpty()) {
70 KMessageBox::error(this, 71 KMessageBox::error(this,
71 i18n("Sorry, you haven't set a password."), 72 i18n("Sorry, you haven't set a password."),
72 i18n("no password")); 73 i18n("no password"));
73 return; 74 return;
74 } 75 }
75 76
76 if (descLineEdit->text().isEmpty()) { 77 if (descLineEdit->text().isEmpty()) {
77 KMessageBox::error(this, 78 KMessageBox::error(this,
78 i18n("You haven't set a \"Description\"."), 79 i18n("You haven't set a \"Description\"."),
79 i18n("Description not set")); 80 i18n("Description not set"));
80 return; 81 return;
81 } 82 }
82 83
83 KDialogBase::slotOk(); 84 KDialogBase::slotOk();
84} 85}
85#else 86#else
86 87
87void AddEntryWndImpl::okButton_slot() 88void AddEntryWndImpl::okButton_slot()
88{ 89{
89 if (pwLineEdit->text().isEmpty()) { 90 if (pwLineEdit->text().isEmpty()) {
90 KMessageBox::error(this, 91 KMessageBox::error(this,
91 i18n("Sorry, you haven't set a password."), 92 i18n("Sorry, you haven't set a password."),
92 i18n("no password")); 93 i18n("no password"));
93 return; 94 return;
94 } 95 }
95 if (descLineEdit->text().isEmpty()) { 96 if (descLineEdit->text().isEmpty()) {
96 KMessageBox::error(this, 97 KMessageBox::error(this,
97 i18n 98 i18n
98 ("You haven't set a \"Description\"."), 99 ("You haven't set a \"Description\"."),
99 i18n("Description not set")); 100 i18n("Description not set"));
100 return; 101 return;
101 } 102 }
102 done(1); 103 done(1);
103} 104}
104 105
105void AddEntryWndImpl::cancelButton_slot() 106void AddEntryWndImpl::cancelButton_slot()
106{ 107{
107 done(2); 108 done(2);
108} 109}
109#endif 110#endif
110 111
111void AddEntryWndImpl::setCurrCategory(const QString &cat) 112void AddEntryWndImpl::setCurrCategory(const QString &cat)
112{ 113{
113 int i, count = categoryComboBox->count(); 114 int i, count = categoryComboBox->count();
114 115
115 for (i = 0; i < count; ++i) { 116 for (i = 0; i < count; ++i) {
116 if (categoryComboBox->text(i) == cat) { 117 if (categoryComboBox->text(i) == cat) {
117 categoryComboBox->setCurrentItem(i); 118 categoryComboBox->setCurrentItem(i);
118#ifdef PWM_EMBEDDED 119#ifdef PWM_EMBEDDED
119 categorySelected(cat); 120 categorySelected(cat);
120#endif 121#endif
121 return; 122 return;
122 } 123 }
123 } 124 }
124 BUG(); 125 BUG();
125} 126}
126 127
127void AddEntryWndImpl::revealButton_slot() 128void AddEntryWndImpl::revealButton_slot()
128{ 129{
129 if (revealButton->isOn()) { 130 if (revealButton->isOn()) {
130 pwLineEdit->setEchoMode(QLineEdit::Normal); 131 pwLineEdit->setEchoMode(QLineEdit::Normal);
131 } else { 132 } else {
132 pwLineEdit->setEchoMode(QLineEdit::Password); 133 pwLineEdit->setEchoMode(QLineEdit::Password);
133 } 134 }
134} 135}
135 136
136void AddEntryWndImpl::generateButton_slot() 137void AddEntryWndImpl::generateButton_slot()
137{ 138{
138 if (!pwGen->exec()) 139 if (!pwGen->exec())
139 return; 140 return;
140 setPassword(pwGen->getPassword()); 141 setPassword(pwGen->getPassword());
141} 142}
142 143
143QString AddEntryWndImpl::getComment() 144QString AddEntryWndImpl::getComment()
144{ 145{
145#ifndef PWM_EMBEDDED 146#ifndef PWM_EMBEDDED
146 if (isAdvancedComment()) { 147 if (isAdvancedComment()) {
147 return advCommentDta; 148 return advCommentDta;
148 } 149 }
149#endif 150#endif
150 return commentTextEdit->text(); 151 return commentTextEdit->text();
151} 152}
152 153
153void AddEntryWndImpl::setComment(const QString &comm) 154void AddEntryWndImpl::setComment(const QString &comm)
154{ 155{
155#ifndef PWM_EMBEDDED 156#ifndef PWM_EMBEDDED
156 if (HtmlGen::isHtml(comm)) { 157 if (HtmlGen::isHtml(comm)) {
157 advancedCommentButton->setOn(true); 158 advancedCommentButton->setOn(true);
158 advCommentDta = comm; 159 advCommentDta = comm;
159 } else { 160 } else {
160 advancedCommentButton->setOn(false); 161 advancedCommentButton->setOn(false);
161 commentTextEdit->setText(comm); 162 commentTextEdit->setText(comm);
162 } 163 }
163#else 164#else
164 commentTextEdit->setText(comm); 165 commentTextEdit->setText(comm);
165#endif 166#endif
166} 167}
167 168
168void AddEntryWndImpl::advancedCommentButton_slot(bool on) 169void AddEntryWndImpl::advancedCommentButton_slot(bool on)
169{ 170{
170#ifndef PWM_EMBEDDED 171#ifndef PWM_EMBEDDED
171 switchComment(on); 172 switchComment(on);
172#endif 173#endif
173} 174}
174 175
175void AddEntryWndImpl::switchComment(bool toAdvanced) 176void AddEntryWndImpl::switchComment(bool toAdvanced)
176{ 177{
177#ifndef PWM_EMBEDDED 178#ifndef PWM_EMBEDDED
178 179
179 useAdvComment = toAdvanced; 180 useAdvComment = toAdvanced;
180 if (toAdvanced) { 181 if (toAdvanced) {
181 if (commentTextEdit) { 182 if (commentTextEdit) {
182 savedCommentText = commentTextEdit->text(); 183 savedCommentText = commentTextEdit->text();
183 delete_and_null(commentTextEdit); 184 delete_and_null(commentTextEdit);
184 } 185 }
185 if (editAdvCommentButton) 186 if (editAdvCommentButton)
186 return; 187 return;
187 editAdvCommentButton = new QPushButton(i18n("Edit advanced comment..."), 188 editAdvCommentButton = new QPushButton(i18n("Edit advanced comment..."),
188 commentDummy); 189 commentDummy);
189 editAdvCommentButton->resize(commentDummy->size().width(), 50); 190 editAdvCommentButton->resize(commentDummy->size().width(), 50);
190 connect(editAdvCommentButton, SIGNAL(clicked()), 191 connect(editAdvCommentButton, SIGNAL(clicked()),
191 this, SLOT(editAdvCommentButton_slot())); 192 this, SLOT(editAdvCommentButton_slot()));
192 editAdvCommentButton->show(); 193 editAdvCommentButton->show();
193 } else { 194 } else {
194 delete_ifnot_null(editAdvCommentButton); 195 delete_ifnot_null(editAdvCommentButton);
195 if (commentTextEdit) 196 if (commentTextEdit)
196 return; 197 return;
197 198
198 commentTextEdit = new QTextEdit(commentDummy); 199 commentTextEdit = new QTextEdit(commentDummy);
199 commentTextEdit->setTextFormat(Qt::PlainText); 200 commentTextEdit->setTextFormat(Qt::PlainText);
200 commentTextEdit->resize(commentDummy->size()); 201 commentTextEdit->resize(commentDummy->size());
201 commentTextEdit->setText(savedCommentText); 202 commentTextEdit->setText(savedCommentText);
202 commentTextEdit->show(); 203 commentTextEdit->show();
203 } 204 }
204#endif 205#endif
205} 206}
206 207
207void AddEntryWndImpl::editAdvCommentButton_slot() 208void AddEntryWndImpl::editAdvCommentButton_slot()
208{ 209{
209#ifndef PWM_EMBEDDED 210#ifndef PWM_EMBEDDED
210 AdvCommEditImpl editor(this); 211 AdvCommEditImpl editor(this);
211 editor.setHtmlDta(advCommentDta); 212 editor.setHtmlDta(advCommentDta);
212 if (editor.exec()) 213 if (editor.exec())
213 return; 214 return;
214 advCommentDta = editor.getHtmlDta(); 215 advCommentDta = editor.getHtmlDta();
215#endif 216#endif
216} 217}
217 218
218#ifndef PWM_EMBEDDED 219#ifndef PWM_EMBEDDED
219#include "addentrywndimpl.moc" 220#include "addentrywndimpl.moc"
220#endif 221#endif
diff --git a/pwmanager/pwmanager/pwm.cpp b/pwmanager/pwmanager/pwm.cpp
index 9187380..a751fce 100644
--- a/pwmanager/pwmanager/pwm.cpp
+++ b/pwmanager/pwmanager/pwm.cpp
@@ -60,503 +60,502 @@
60 60
61#include "pwm.h" 61#include "pwm.h"
62#include "pwminit.h" 62#include "pwminit.h"
63#include "pwmprint.h" 63#include "pwmprint.h"
64#include "addentrywndimpl.h" 64#include "addentrywndimpl.h"
65#include "globalstuff.h" 65#include "globalstuff.h"
66#include "findwndimpl.h" 66#include "findwndimpl.h"
67#include "csv.h" 67#include "csv.h"
68 68
69#ifdef CONFIG_KWALLETIF 69#ifdef CONFIG_KWALLETIF
70# include "kwalletif.h" 70# include "kwalletif.h"
71# include "kwalletemu.h" 71# include "kwalletemu.h"
72#endif 72#endif
73#ifdef CONFIG_KEYCARD 73#ifdef CONFIG_KEYCARD
74# include "pwmkeycard.h" 74# include "pwmkeycard.h"
75#endif 75#endif
76 76
77 77
78 #define DEFAULT_SIZE (QSize(700, 400)) 78 #define DEFAULT_SIZE (QSize(700, 400))
79 79
80// Button IDs for "file" popup menu 80// Button IDs for "file" popup menu
81enum { 81enum {
82 BUTTON_POPUP_FILE_NEW = 0, 82 BUTTON_POPUP_FILE_NEW = 0,
83 BUTTON_POPUP_FILE_OPEN, 83 BUTTON_POPUP_FILE_OPEN,
84 BUTTON_POPUP_FILE_CLOSE, 84 BUTTON_POPUP_FILE_CLOSE,
85 BUTTON_POPUP_FILE_SAVE, 85 BUTTON_POPUP_FILE_SAVE,
86 BUTTON_POPUP_FILE_SAVEAS, 86 BUTTON_POPUP_FILE_SAVEAS,
87 BUTTON_POPUP_FILE_EXPORT, 87 BUTTON_POPUP_FILE_EXPORT,
88 BUTTON_POPUP_FILE_IMPORT, 88 BUTTON_POPUP_FILE_IMPORT,
89 BUTTON_POPUP_FILE_PRINT, 89 BUTTON_POPUP_FILE_PRINT,
90 BUTTON_POPUP_FILE_QUIT 90 BUTTON_POPUP_FILE_QUIT
91}; 91};
92// Button IDs for "manage" popup menu 92// Button IDs for "manage" popup menu
93enum { 93enum {
94 BUTTON_POPUP_MANAGE_ADD = 0, 94 BUTTON_POPUP_MANAGE_ADD = 0,
95 BUTTON_POPUP_MANAGE_EDIT, 95 BUTTON_POPUP_MANAGE_EDIT,
96 BUTTON_POPUP_MANAGE_DEL, 96 BUTTON_POPUP_MANAGE_DEL,
97 BUTTON_POPUP_MANAGE_CHANGEMP 97 BUTTON_POPUP_MANAGE_CHANGEMP
98}; 98};
99// Button IDs for chipcard popup menu 99// Button IDs for chipcard popup menu
100enum { 100enum {
101#ifdef CONFIG_KEYCARD 101#ifdef CONFIG_KEYCARD
102 BUTTON_POPUP_CHIPCARD_GENNEW = 0, 102 BUTTON_POPUP_CHIPCARD_GENNEW = 0,
103 BUTTON_POPUP_CHIPCARD_DEL, 103 BUTTON_POPUP_CHIPCARD_DEL,
104 BUTTON_POPUP_CHIPCARD_READID, 104 BUTTON_POPUP_CHIPCARD_READID,
105 BUTTON_POPUP_CHIPCARD_SAVEBACKUP, 105 BUTTON_POPUP_CHIPCARD_SAVEBACKUP,
106 BUTTON_POPUP_CHIPCARD_REPLAYBACKUP 106 BUTTON_POPUP_CHIPCARD_REPLAYBACKUP
107#else // CONFIG_KEYCARD 107#else // CONFIG_KEYCARD
108 BUTTON_POPUP_CHIPCARD_NO = 0 108 BUTTON_POPUP_CHIPCARD_NO = 0
109#endif // CONFIG_KEYCARD 109#endif // CONFIG_KEYCARD
110}; 110};
111// Button IDs for "view" popup menu 111// Button IDs for "view" popup menu
112enum { 112enum {
113 BUTTON_POPUP_VIEW_FIND = 0, 113 BUTTON_POPUP_VIEW_FIND = 0,
114 BUTTON_POPUP_VIEW_LOCK, 114 BUTTON_POPUP_VIEW_LOCK,
115 BUTTON_POPUP_VIEW_DEEPLOCK, 115 BUTTON_POPUP_VIEW_DEEPLOCK,
116 BUTTON_POPUP_VIEW_UNLOCK 116 BUTTON_POPUP_VIEW_UNLOCK
117}; 117};
118// Button IDs for "options" popup menu 118// Button IDs for "options" popup menu
119enum { 119enum {
120 BUTTON_POPUP_OPTIONS_CONFIG = 0 120 BUTTON_POPUP_OPTIONS_CONFIG = 0
121#ifdef PWM_EMBEDDED 121#ifdef PWM_EMBEDDED
122 ,BUTTON_POPUP_OPTIONS_CATEGORY 122 ,BUTTON_POPUP_OPTIONS_CATEGORY
123#endif 123#endif
124}; 124};
125// Button IDs for "export" popup menu (in "file" popup menu) 125// Button IDs for "export" popup menu (in "file" popup menu)
126enum { 126enum {
127 BUTTON_POPUP_EXPORT_TEXT = 0, 127 BUTTON_POPUP_EXPORT_TEXT = 0,
128 BUTTON_POPUP_EXPORT_GPASMAN, 128 BUTTON_POPUP_EXPORT_GPASMAN,
129 BUTTON_POPUP_EXPORT_CSV 129 BUTTON_POPUP_EXPORT_CSV
130#ifdef CONFIG_KWALLETIF 130#ifdef CONFIG_KWALLETIF
131 ,BUTTON_POPUP_EXPORT_KWALLET 131 ,BUTTON_POPUP_EXPORT_KWALLET
132#endif 132#endif
133}; 133};
134// Button IDs for "import" popup menu (in "file" popup menu) 134// Button IDs for "import" popup menu (in "file" popup menu)
135enum { 135enum {
136 BUTTON_POPUP_IMPORT_TEXT = 0, 136 BUTTON_POPUP_IMPORT_TEXT = 0,
137 BUTTON_POPUP_IMPORT_GPASMAN, 137 BUTTON_POPUP_IMPORT_GPASMAN,
138 BUTTON_POPUP_IMPORT_CSV 138 BUTTON_POPUP_IMPORT_CSV
139#ifdef CONFIG_KWALLETIF 139#ifdef CONFIG_KWALLETIF
140 ,BUTTON_POPUP_IMPORT_KWALLET 140 ,BUTTON_POPUP_IMPORT_KWALLET
141#endif 141#endif
142}; 142};
143 143
144#ifdef PWM_EMBEDDED 144#ifdef PWM_EMBEDDED
145// Button IDs for "help" popup menu 145// Button IDs for "help" popup menu
146enum { 146enum {
147 BUTTON_POPUP_HELP_LICENSE = 0, 147 BUTTON_POPUP_HELP_LICENSE = 0,
148 BUTTON_POPUP_HELP_FAQ, 148 BUTTON_POPUP_HELP_FAQ,
149 BUTTON_POPUP_HELP_ABOUT, 149 BUTTON_POPUP_HELP_ABOUT,
150 BUTTON_POPUP_HELP_SYNC, 150 BUTTON_POPUP_HELP_SYNC,
151 BUTTON_POPUP_HELP_WHATSNEW 151 BUTTON_POPUP_HELP_WHATSNEW
152}; 152};
153#endif 153#endif
154 154
155// Button IDs for toolbar 155// Button IDs for toolbar
156enum { 156enum {
157 BUTTON_TOOL_NEW = 0, 157 BUTTON_TOOL_NEW = 0,
158 BUTTON_TOOL_OPEN, 158 BUTTON_TOOL_OPEN,
159 BUTTON_TOOL_SAVE, 159 BUTTON_TOOL_SAVE,
160 BUTTON_TOOL_SAVEAS, 160 BUTTON_TOOL_SAVEAS,
161 BUTTON_TOOL_PRINT, 161 BUTTON_TOOL_PRINT,
162 BUTTON_TOOL_ADD, 162 BUTTON_TOOL_ADD,
163 BUTTON_TOOL_EDIT, 163 BUTTON_TOOL_EDIT,
164 BUTTON_TOOL_DEL, 164 BUTTON_TOOL_DEL,
165 BUTTON_TOOL_FIND, 165 BUTTON_TOOL_FIND,
166 BUTTON_TOOL_LOCK, 166 BUTTON_TOOL_LOCK,
167 BUTTON_TOOL_DEEPLOCK, 167 BUTTON_TOOL_DEEPLOCK,
168 BUTTON_TOOL_UNLOCK 168 BUTTON_TOOL_UNLOCK
169}; 169};
170 170
171 171
172PwM::PwM(PwMInit *_init, PwMDoc *doc, 172PwM::PwM(PwMInit *_init, PwMDoc *doc,
173 bool virginity, 173 bool virginity,
174 QWidget *parent, const char *name) 174 QWidget *parent, const char *name)
175 : KMainWindow(parent, "HALLO") 175 : KMainWindow(parent, "HALLO")
176 , forceQuit (false) 176 , forceQuit (false)
177 , forceMinimizeToTray (false) 177 , forceMinimizeToTray (false)
178{ 178{
179 syncManager = 0; 179 syncManager = 0;
180 virgin = !virginity; 180 virgin = !virginity;
181 init = _init; 181 init = _init;
182 connect(doc, SIGNAL(docClosed(PwMDoc *)), 182 connect(doc, SIGNAL(docClosed(PwMDoc *)),
183 this, SLOT(docClosed(PwMDoc *))); 183 this, SLOT(docClosed(PwMDoc *)));
184 initMenubar(); 184 initMenubar();
185 initToolbar(); 185 initToolbar();
186 initMetrics(); 186 initMetrics();
187 setVirgin(virginity); 187 setVirgin(virginity);
188 setFocusPolicy(QWidget::WheelFocus); 188 setFocusPolicy(QWidget::WheelFocus);
189#ifndef PWM_EMBEDDED 189#ifndef PWM_EMBEDDED
190 statusBar()->show(); 190 statusBar()->show();
191#endif 191#endif
192 view = makeNewListView(doc); 192 view = makeNewListView(doc);
193 setCentralWidget(view); 193 setCentralWidget(view);
194 updateCaption(); 194 updateCaption();
195 showStatMsg(i18n("Ready.")); 195 showStatMsg(i18n("Ready."));
196} 196}
197 197
198PwM::~PwM() 198PwM::~PwM()
199{ 199{
200 //qDebug("PwM::~PwM() %x", this); 200 //qDebug("PwM::~PwM() %x", this);
201 disconnect(curDoc(), SIGNAL(docClosed(PwMDoc *)), 201 disconnect(curDoc(), SIGNAL(docClosed(PwMDoc *)),
202 this, SLOT(docClosed(PwMDoc *))); 202 this, SLOT(docClosed(PwMDoc *)));
203 conf()->confWndMainWndSize(size()); 203 conf()->confWndMainWndSize(size());
204 //LR closing of windows changed 204 //LR closing of windows changed
205 //needed for fastload option on PDA 205 //needed for fastload option on PDA
206 //emit closed(this); 206 //emit closed(this);
207 //qDebug("PwM::~PwM() emited closed(this)"); 207 //qDebug("PwM::~PwM() emited closed(this)");
208 delete view; 208 delete view;
209 delete syncManager; 209 delete syncManager;
210} 210}
211 211
212void PwM::initMenubar() 212void PwM::initMenubar()
213{ 213{
214 KIconLoader* picons; 214 KIconLoader* picons;
215#ifndef PWM_EMBEDDED 215#ifndef PWM_EMBEDDED
216 KIconLoader icons; 216 KIconLoader icons;
217 picons = &icons; 217 picons = &icons;
218#else 218#else
219 picons = KGlobal::iconLoader(); 219 picons = KGlobal::iconLoader();
220 220
221 221
222 syncPopup = new KPopupMenu(this); 222 syncPopup = new KPopupMenu(this);
223 223
224 syncManager = new KSyncManager((QWidget*)this, (KSyncInterface*)this, KSyncManager::PWMPI, PWMPrefs::instance(), syncPopup); 224 syncManager = new KSyncManager((QWidget*)this, (KSyncInterface*)this, KSyncManager::PWMPI, PWMPrefs::instance(), syncPopup);
225 syncManager->setBlockSave(false); 225 syncManager->setBlockSave(false);
226 226
227 connect ( syncPopup, SIGNAL( activated ( int ) ), syncManager, SLOT (slotSyncMenu( int ) ) ); 227 connect ( syncPopup, SIGNAL( activated ( int ) ), syncManager, SLOT (slotSyncMenu( int ) ) );
228 syncManager->fillSyncMenu(); 228 syncManager->fillSyncMenu();
229 229
230#endif 230#endif
231 filePopup = new KPopupMenu(this); 231 filePopup = new KPopupMenu(this);
232 importPopup = new KPopupMenu(filePopup); 232 importPopup = new KPopupMenu(filePopup);
233 exportPopup = new KPopupMenu(filePopup); 233 exportPopup = new KPopupMenu(filePopup);
234 managePopup = new KPopupMenu(this); 234 managePopup = new KPopupMenu(this);
235#ifdef CONFIG_KEYCARD 235#ifdef CONFIG_KEYCARD
236 chipcardPopup = new KPopupMenu(this); 236 chipcardPopup = new KPopupMenu(this);
237#endif // CONFIG_KEYCARD 237#endif // CONFIG_KEYCARD
238 viewPopup = new KPopupMenu(this); 238 viewPopup = new KPopupMenu(this);
239 optionsPopup = new KPopupMenu(this); 239 optionsPopup = new KPopupMenu(this);
240 240
241// "file" popup menu 241// "file" popup menu
242 filePopup->insertItem(QIconSet(picons->loadIcon("filenew", KIcon::Small)), 242 filePopup->insertItem(QIconSet(picons->loadIcon("filenew", KIcon::Small)),
243 i18n("&New"), this, 243 i18n("&New"), this,
244 SLOT(new_slot()), 0, BUTTON_POPUP_FILE_NEW); 244 SLOT(new_slot()), 0, BUTTON_POPUP_FILE_NEW);
245 filePopup->insertItem(QIconSet(picons->loadIcon("fileopen", KIcon::Small)), 245 filePopup->insertItem(QIconSet(picons->loadIcon("fileopen", KIcon::Small)),
246 i18n("&Open"), this, 246 i18n("&Open"), this,
247 SLOT(open_slot()), 0, BUTTON_POPUP_FILE_OPEN); 247 SLOT(open_slot()), 0, BUTTON_POPUP_FILE_OPEN);
248 filePopup->insertItem(QIconSet(picons->loadIcon("fileclose", KIcon::Small)), 248 filePopup->insertItem(QIconSet(picons->loadIcon("fileclose", KIcon::Small)),
249 i18n("&Close"), this, 249 i18n("&Close"), this,
250 SLOT(close_slot()), 0, BUTTON_POPUP_FILE_CLOSE); 250 SLOT(close_slot()), 0, BUTTON_POPUP_FILE_CLOSE);
251 filePopup->insertSeparator(); 251 filePopup->insertSeparator();
252 filePopup->insertItem(QIconSet(picons->loadIcon("pencil", KIcon::Small)),
253 i18n("&Add password"), this,
254 SLOT(addPwd_slot()), 0,
255 BUTTON_POPUP_MANAGE_ADD);
256 filePopup->insertSeparator();
257 filePopup->insertItem(QIconSet(picons->loadIcon("filesave", KIcon::Small)), 252 filePopup->insertItem(QIconSet(picons->loadIcon("filesave", KIcon::Small)),
258 i18n("&Save"), this, 253 i18n("&Save"), this,
259 SLOT(save_slot()), 0, BUTTON_POPUP_FILE_SAVE); 254 SLOT(save_slot()), 0, BUTTON_POPUP_FILE_SAVE);
260 filePopup->insertItem(QIconSet(picons->loadIcon("filesaveas", KIcon::Small)), 255 filePopup->insertItem(QIconSet(picons->loadIcon("filesaveas", KIcon::Small)),
261 i18n("Save &as..."), 256 i18n("Save &as..."),
262 this, SLOT(saveAs_slot()), 0, 257 this, SLOT(saveAs_slot()), 0,
263 BUTTON_POPUP_FILE_SAVEAS); 258 BUTTON_POPUP_FILE_SAVEAS);
264 filePopup->insertSeparator(); 259 filePopup->insertSeparator();
265 // "file/export" popup menu 260 // "file/export" popup menu
266 exportPopup->insertItem(i18n("&Text-file..."), this, 261 exportPopup->insertItem(i18n("&Text-file..."), this,
267 SLOT(exportToText()), 0, BUTTON_POPUP_EXPORT_TEXT); 262 SLOT(exportToText()), 0, BUTTON_POPUP_EXPORT_TEXT);
268 exportPopup->insertItem(i18n("&Gpasman / Kpasman ..."), this, 263 exportPopup->insertItem(i18n("&Gpasman / Kpasman ..."), this,
269 SLOT(exportToGpasman()), 0, BUTTON_POPUP_EXPORT_GPASMAN); 264 SLOT(exportToGpasman()), 0, BUTTON_POPUP_EXPORT_GPASMAN);
270 exportPopup->insertItem(i18n("&CSV (Comma Separated Value) ..."), this, 265 exportPopup->insertItem(i18n("&CSV (Comma Separated Value) ..."), this,
271 SLOT(exportToCsv()), 0, BUTTON_POPUP_EXPORT_CSV); 266 SLOT(exportToCsv()), 0, BUTTON_POPUP_EXPORT_CSV);
272#ifdef CONFIG_KWALLETIF 267#ifdef CONFIG_KWALLETIF
273 exportPopup->insertItem(i18n("&KWallet..."), this, 268 exportPopup->insertItem(i18n("&KWallet..."), this,
274 SLOT(exportToKWallet()), 0, BUTTON_POPUP_EXPORT_KWALLET); 269 SLOT(exportToKWallet()), 0, BUTTON_POPUP_EXPORT_KWALLET);
275#endif 270#endif
276 filePopup->insertItem(QIconSet(picons->loadIcon("fileexport", KIcon::Small)), 271 filePopup->insertItem(QIconSet(picons->loadIcon("fileexport", KIcon::Small)),
277 i18n("E&xport"), exportPopup, 272 i18n("E&xport"), exportPopup,
278 BUTTON_POPUP_FILE_EXPORT); 273 BUTTON_POPUP_FILE_EXPORT);
279 // "file/import" popup menu 274 // "file/import" popup menu
280 importPopup->insertItem(i18n("&Text-file..."), this, 275 importPopup->insertItem(i18n("&Text-file..."), this,
281 SLOT(importFromText()), 0, BUTTON_POPUP_IMPORT_TEXT); 276 SLOT(importFromText()), 0, BUTTON_POPUP_IMPORT_TEXT);
282 importPopup->insertItem(i18n("&Gpasman / Kpasman ..."), this, 277 importPopup->insertItem(i18n("&Gpasman / Kpasman ..."), this,
283 SLOT(importFromGpasman()), 0, BUTTON_POPUP_IMPORT_GPASMAN); 278 SLOT(importFromGpasman()), 0, BUTTON_POPUP_IMPORT_GPASMAN);
284 importPopup->insertItem(i18n("&CSV (Comma Separated Value) ..."), this, 279 importPopup->insertItem(i18n("&CSV (Comma Separated Value) ..."), this,
285 SLOT(importCsv()), 0, BUTTON_POPUP_IMPORT_CSV); 280 SLOT(importCsv()), 0, BUTTON_POPUP_IMPORT_CSV);
286#ifdef CONFIG_KWALLETIF 281#ifdef CONFIG_KWALLETIF
287 importPopup->insertItem(i18n("&KWallet..."), this, 282 importPopup->insertItem(i18n("&KWallet..."), this,
288 SLOT(importKWallet()), 0, BUTTON_POPUP_IMPORT_KWALLET); 283 SLOT(importKWallet()), 0, BUTTON_POPUP_IMPORT_KWALLET);
289#endif 284#endif
290 filePopup->insertItem(QIconSet(picons->loadIcon("fileimport", KIcon::Small)), 285 filePopup->insertItem(QIconSet(picons->loadIcon("fileimport", KIcon::Small)),
291 i18n("I&mport"), importPopup, 286 i18n("I&mport"), importPopup,
292 BUTTON_POPUP_FILE_IMPORT); 287 BUTTON_POPUP_FILE_IMPORT);
293 filePopup->insertSeparator(); 288 filePopup->insertSeparator();
294#if 0 289#if 0
295 filePopup->insertItem(QIconSet(picons->loadIcon("fileprint", KIcon::Small)), 290 filePopup->insertItem(QIconSet(picons->loadIcon("fileprint", KIcon::Small)),
296 i18n("&Print..."), this, 291 i18n("&Print..."), this,
297 SLOT(print_slot()), 0, BUTTON_POPUP_FILE_PRINT); 292 SLOT(print_slot()), 0, BUTTON_POPUP_FILE_PRINT);
298 filePopup->insertSeparator(); 293 filePopup->insertSeparator();
299#endif 294#endif
300 filePopup->insertItem(QIconSet(picons->loadIcon("exit", KIcon::Small)), 295 filePopup->insertItem(QIconSet(picons->loadIcon("exit", KIcon::Small)),
301 i18n("&Quit"), this, 296 i18n("&Quit"), this,
302 SLOT(quitButton_slot()), 0, BUTTON_POPUP_FILE_QUIT); 297 SLOT(quitButton_slot()), 0, BUTTON_POPUP_FILE_QUIT);
303 menuBar()->insertItem(i18n("&File"), filePopup); 298 menuBar()->insertItem(i18n("&File"), filePopup);
304// "manage" popup menu 299// "manage" popup menu
305 managePopup->insertItem(QIconSet(picons->loadIcon("pencil", KIcon::Small)), 300 managePopup->insertItem(QIconSet(picons->loadIcon("pencil", KIcon::Small)),
306 i18n("&Add password"), this, 301 i18n("&Add password"), this,
307 SLOT(addPwd_slot()), 0, 302 SLOT(addPwd_slot()), 0,
308 BUTTON_POPUP_MANAGE_ADD); 303 BUTTON_POPUP_MANAGE_ADD);
309 managePopup->insertSeparator(); 304 managePopup->insertSeparator();
310 managePopup->insertItem(QIconSet(picons->loadIcon("edit", KIcon::Small)), 305 managePopup->insertItem(QIconSet(picons->loadIcon("edit", KIcon::Small)),
311 i18n("&Edit"), this, SLOT(editPwd_slot()), 0, 306 i18n("&Edit"), this, SLOT(editPwd_slot()), 0,
312 BUTTON_POPUP_MANAGE_EDIT); 307 BUTTON_POPUP_MANAGE_EDIT);
313 managePopup->insertItem(QIconSet(picons->loadIcon("editdelete", KIcon::Small)), 308 managePopup->insertItem(QIconSet(picons->loadIcon("editdelete", KIcon::Small)),
314 i18n("&Delete"), this, SLOT(deletePwd_slot()), 309 i18n("&Delete"), this, SLOT(deletePwd_slot()),
315 0, BUTTON_POPUP_MANAGE_DEL); 310 0, BUTTON_POPUP_MANAGE_DEL);
316 managePopup->insertSeparator(); 311 managePopup->insertSeparator();
317 managePopup->insertItem(QIconSet(picons->loadIcon("rotate", KIcon::Small)), 312 managePopup->insertItem(QIconSet(picons->loadIcon("rotate", KIcon::Small)),
318 i18n("Change &Master Password"), this, 313 i18n("Change &Master Password"), this,
319 SLOT(changeMasterPwd_slot()), 0, 314 SLOT(changeMasterPwd_slot()), 0,
320 BUTTON_POPUP_MANAGE_CHANGEMP); 315 BUTTON_POPUP_MANAGE_CHANGEMP);
321 menuBar()->insertItem(i18n("&Manage"), managePopup); 316 menuBar()->insertItem(i18n("&Manage"), managePopup);
322// "chipcard" popup menu 317// "chipcard" popup menu
323#ifdef CONFIG_KEYCARD 318#ifdef CONFIG_KEYCARD
324 chipcardPopup->insertItem(QIconSet(picons->loadIcon("filenew", KIcon::Small)), 319 chipcardPopup->insertItem(QIconSet(picons->loadIcon("filenew", KIcon::Small)),
325 i18n("&Generate new key-card"), this, 320 i18n("&Generate new key-card"), this,
326 SLOT(genNewCard_slot()), 0, 321 SLOT(genNewCard_slot()), 0,
327 BUTTON_POPUP_CHIPCARD_GENNEW); 322 BUTTON_POPUP_CHIPCARD_GENNEW);
328 chipcardPopup->insertItem(QIconSet(picons->loadIcon("editdelete", KIcon::Small)), 323 chipcardPopup->insertItem(QIconSet(picons->loadIcon("editdelete", KIcon::Small)),
329 i18n("&Erase key-card"), this, 324 i18n("&Erase key-card"), this,
330 SLOT(eraseCard_slot()), 0, 325 SLOT(eraseCard_slot()), 0,
331 BUTTON_POPUP_CHIPCARD_DEL); 326 BUTTON_POPUP_CHIPCARD_DEL);
332 chipcardPopup->insertItem(QIconSet(picons->loadIcon("", KIcon::Small)), 327 chipcardPopup->insertItem(QIconSet(picons->loadIcon("", KIcon::Small)),
333 i18n("Read card-&ID"), this, 328 i18n("Read card-&ID"), this,
334 SLOT(readCardId_slot()), 0, 329 SLOT(readCardId_slot()), 0,
335 BUTTON_POPUP_CHIPCARD_READID); 330 BUTTON_POPUP_CHIPCARD_READID);
336 chipcardPopup->insertSeparator(); 331 chipcardPopup->insertSeparator();
337 chipcardPopup->insertItem(QIconSet(picons->loadIcon("2rightarrow", KIcon::Small)), 332 chipcardPopup->insertItem(QIconSet(picons->loadIcon("2rightarrow", KIcon::Small)),
338 i18n("&Make card backup-image"), this, 333 i18n("&Make card backup-image"), this,
339 SLOT(makeCardBackup_slot()), 0, 334 SLOT(makeCardBackup_slot()), 0,
340 BUTTON_POPUP_CHIPCARD_SAVEBACKUP); 335 BUTTON_POPUP_CHIPCARD_SAVEBACKUP);
341 chipcardPopup->insertItem(QIconSet(picons->loadIcon("2leftarrow", KIcon::Small)), 336 chipcardPopup->insertItem(QIconSet(picons->loadIcon("2leftarrow", KIcon::Small)),
342 i18n("&Replay card backup-image"), this, 337 i18n("&Replay card backup-image"), this,
343 SLOT(replayCardBackup_slot()), 0, 338 SLOT(replayCardBackup_slot()), 0,
344 BUTTON_POPUP_CHIPCARD_REPLAYBACKUP); 339 BUTTON_POPUP_CHIPCARD_REPLAYBACKUP);
345 menuBar()->insertItem(i18n("&Chipcard manager"), chipcardPopup); 340 menuBar()->insertItem(i18n("&Chipcard manager"), chipcardPopup);
346#endif // CONFIG_KEYCARD 341#endif // CONFIG_KEYCARD
347// "view" popup menu 342// "view" popup menu
348 viewPopup->insertItem(QIconSet(picons->loadIcon("find", KIcon::Small)), 343 viewPopup->insertItem(QIconSet(picons->loadIcon("find", KIcon::Small)),
349 i18n("&Find"), this, 344 i18n("&Find"), this,
350 SLOT(find_slot()), 0, BUTTON_POPUP_VIEW_FIND); 345 SLOT(find_slot()), 0, BUTTON_POPUP_VIEW_FIND);
351 viewPopup->insertSeparator(); 346 viewPopup->insertSeparator();
352 viewPopup->insertItem(QIconSet(picons->loadIcon("halfencrypted", KIcon::Small)), 347 viewPopup->insertItem(QIconSet(picons->loadIcon("halfencrypted", KIcon::Small)),
353 i18n("&Lock all entries"), this, 348 i18n("&Lock all entries"), this,
354 SLOT(lockWnd_slot()), 0, 349 SLOT(lockWnd_slot()), 0,
355 BUTTON_POPUP_VIEW_LOCK); 350 BUTTON_POPUP_VIEW_LOCK);
356 viewPopup->insertItem(QIconSet(picons->loadIcon("encrypted", KIcon::Small)), 351 viewPopup->insertItem(QIconSet(picons->loadIcon("encrypted", KIcon::Small)),
357 i18n("&Deep-lock all entries"), this, 352 i18n("&Deep-lock all entries"), this,
358 SLOT(deepLockWnd_slot()), 0, 353 SLOT(deepLockWnd_slot()), 0,
359 BUTTON_POPUP_VIEW_DEEPLOCK); 354 BUTTON_POPUP_VIEW_DEEPLOCK);
360 viewPopup->insertItem(QIconSet(picons->loadIcon("decrypted", KIcon::Small)), 355 viewPopup->insertItem(QIconSet(picons->loadIcon("decrypted", KIcon::Small)),
361 i18n("&Unlock all entries"), this, 356 i18n("&Unlock all entries"), this,
362 SLOT(unlockWnd_slot()), 0, 357 SLOT(unlockWnd_slot()), 0,
363 BUTTON_POPUP_VIEW_UNLOCK); 358 BUTTON_POPUP_VIEW_UNLOCK);
364 menuBar()->insertItem(i18n("&View"), viewPopup); 359 menuBar()->insertItem(i18n("&View"), viewPopup);
365// "options" popup menu 360// "options" popup menu
366 optionsPopup->insertItem(QIconSet(picons->loadIcon("configure", KIcon::Small)), 361 optionsPopup->insertItem(QIconSet(picons->loadIcon("configure", KIcon::Small)),
367 i18n("&Configure..."), this, 362 i18n("&Configure..."), this,
368 SLOT(config_slot()),0, 363 SLOT(config_slot()),0,
369 BUTTON_POPUP_OPTIONS_CONFIG); 364 BUTTON_POPUP_OPTIONS_CONFIG);
370 menuBar()->insertItem(i18n("&Options"), optionsPopup); 365 if ( QApplication::desktop()->width() <= 240 ) {
366 managePopup->insertSeparator();
367 managePopup->insertItem(i18n("&Options"), optionsPopup);
368 } else
369 menuBar()->insertItem(i18n("&Options"), optionsPopup);
371// "help" popup menu 370// "help" popup menu
372#ifndef PWM_EMBEDDED 371#ifndef PWM_EMBEDDED
373 helpPopup = helpMenu(QString::null, false); 372 helpPopup = helpMenu(QString::null, false);
374#else 373#else
375 optionsPopup->insertItem(QIconSet(picons->loadIcon("configure", KIcon::Small)), 374 optionsPopup->insertItem(QIconSet(picons->loadIcon("configure", KIcon::Small)),
376 i18n("C&ategories..."), this, 375 i18n("C&ategories..."), this,
377 SLOT(category_slot()),0, 376 SLOT(category_slot()),0,
378 BUTTON_POPUP_OPTIONS_CATEGORY); 377 BUTTON_POPUP_OPTIONS_CATEGORY);
379 378
380 379
381 menuBar()->insertItem(i18n("&Sync"), syncPopup); 380 menuBar()->insertItem(i18n("&Sync"), syncPopup);
382 381
383 382
384 383
385 384
386 385
387 helpPopup = new KPopupMenu(this); 386 helpPopup = new KPopupMenu(this);
388 387
389 388
390 helpPopup->insertItem(i18n("&License"), this, 389 helpPopup->insertItem(i18n("&License"), this,
391 SLOT(showLicense_slot()), 0, 390 SLOT(showLicense_slot()), 0,
392 BUTTON_POPUP_HELP_LICENSE); 391 BUTTON_POPUP_HELP_LICENSE);
393 392
394 helpPopup->insertItem(i18n("&Faq"), this, 393 helpPopup->insertItem(i18n("&Faq"), this,
395 SLOT(faq_slot()), 0, 394 SLOT(faq_slot()), 0,
396 BUTTON_POPUP_HELP_FAQ); 395 BUTTON_POPUP_HELP_FAQ);
397 396
398 helpPopup->insertItem(i18n("&About PwManager"), this, 397 helpPopup->insertItem(i18n("&About PwManager"), this,
399 SLOT(createAboutData_slot()), 0, 398 SLOT(createAboutData_slot()), 0,
400 BUTTON_POPUP_HELP_ABOUT); 399 BUTTON_POPUP_HELP_ABOUT);
401 400
402 helpPopup->insertItem(i18n("&Sync HowTo"), this, 401 helpPopup->insertItem(i18n("&Sync HowTo"), this,
403 SLOT(syncHowTo_slot()), 0, 402 SLOT(syncHowTo_slot()), 0,
404 BUTTON_POPUP_HELP_SYNC); 403 BUTTON_POPUP_HELP_SYNC);
405 404
406 helpPopup->insertItem(i18n("&What's New"), this, 405 helpPopup->insertItem(i18n("&What's New"), this,
407 SLOT(whatsnew_slot()), 0, 406 SLOT(whatsnew_slot()), 0,
408 BUTTON_POPUP_HELP_WHATSNEW); 407 BUTTON_POPUP_HELP_WHATSNEW);
409 408
410#endif 409#endif
411 menuBar()->insertItem(i18n("&Help"), helpPopup); 410 menuBar()->insertItem(i18n("&Help"), helpPopup);
412 411
413} 412}
414 413
415void PwM::initToolbar() 414void PwM::initToolbar()
416{ 415{
417 KIconLoader* picons; 416 KIconLoader* picons;
418#ifndef PWM_EMBEDDED 417#ifndef PWM_EMBEDDED
419 KIconLoader icons; 418 KIconLoader icons;
420 picons = &icons; 419 picons = &icons;
421#else 420#else
422 picons = KGlobal::iconLoader(); 421 picons = KGlobal::iconLoader();
423#endif 422#endif
424 423
425#if 0 424#if 0
426 toolBar()->insertButton(picons->loadIcon("filenew", KIcon::Toolbar), 425 toolBar()->insertButton(picons->loadIcon("filenew", KIcon::Toolbar),
427 BUTTON_TOOL_NEW, SIGNAL(clicked(int)), this, 426 BUTTON_TOOL_NEW, SIGNAL(clicked(int)), this,
428 SLOT(new_slot()), true, i18n("New")); 427 SLOT(new_slot()), true, i18n("New"));
429#endif 428#endif
430 toolBar()->insertButton(picons->loadIcon("fileopen", KIcon::Toolbar), 429 toolBar()->insertButton(picons->loadIcon("fileopen", KIcon::Toolbar),
431 BUTTON_TOOL_OPEN, SIGNAL(clicked(int)), this, 430 BUTTON_TOOL_OPEN, SIGNAL(clicked(int)), this,
432 SLOT(open_slot()), true, i18n("Open")); 431 SLOT(open_slot()), true, i18n("Open"));
433 toolBar()->insertButton(picons->loadIcon("pencil", KIcon::Toolbar), 432 toolBar()->insertButton(picons->loadIcon("pencil", KIcon::Toolbar),
434 BUTTON_TOOL_ADD, SIGNAL(clicked(int)), this, 433 BUTTON_TOOL_ADD, SIGNAL(clicked(int)), this,
435 SLOT(addPwd_slot()), true, 434 SLOT(addPwd_slot()), true,
436 i18n("Add password")); 435 i18n("Add password"));
437 toolBar()->insertSeparator(); 436 toolBar()->insertSeparator();
438 437
439 toolBar()->insertButton(picons->loadIcon("find", KIcon::Toolbar), 438 toolBar()->insertButton(picons->loadIcon("find", KIcon::Toolbar),
440 BUTTON_TOOL_FIND, SIGNAL(clicked(int)), this, 439 BUTTON_TOOL_FIND, SIGNAL(clicked(int)), this,
441 SLOT(find_slot()), true, i18n("Find entry")); 440 SLOT(find_slot()), true, i18n("Find entry"));
442 toolBar()->insertSeparator(); 441 toolBar()->insertSeparator();
443 toolBar()->insertButton(picons->loadIcon("filesave", KIcon::Toolbar), 442 toolBar()->insertButton(picons->loadIcon("filesave", KIcon::Toolbar),
444 BUTTON_TOOL_SAVE, SIGNAL(clicked(int)), this, 443 BUTTON_TOOL_SAVE, SIGNAL(clicked(int)), this,
445 SLOT(save_slot()), true, i18n("Save")); 444 SLOT(save_slot()), true, i18n("Save"));
446#if 0 445#if 0
447 toolBar()->insertButton(picons->loadIcon("filesaveas", KIcon::Toolbar), 446 toolBar()->insertButton(picons->loadIcon("filesaveas", KIcon::Toolbar),
448 BUTTON_TOOL_SAVEAS, SIGNAL(clicked(int)), this, 447 BUTTON_TOOL_SAVEAS, SIGNAL(clicked(int)), this,
449 SLOT(saveAs_slot()), true, i18n("Save as")); 448 SLOT(saveAs_slot()), true, i18n("Save as"));
450#endif 449#endif
451 450
452 451
453#if 0 452#if 0
454 toolBar()->insertButton(picons->loadIcon("fileprint", KIcon::Toolbar), 453 toolBar()->insertButton(picons->loadIcon("fileprint", KIcon::Toolbar),
455 BUTTON_TOOL_PRINT, SIGNAL(clicked(int)), this, 454 BUTTON_TOOL_PRINT, SIGNAL(clicked(int)), this,
456 SLOT(print_slot()), true, i18n("Print...")); 455 SLOT(print_slot()), true, i18n("Print..."));
457#endif 456#endif
458 toolBar()->insertSeparator(); 457 toolBar()->insertSeparator();
459 toolBar()->insertButton(picons->loadIcon("edit", KIcon::Toolbar), 458 toolBar()->insertButton(picons->loadIcon("edit", KIcon::Toolbar),
460 BUTTON_TOOL_EDIT, SIGNAL(clicked(int)), this, 459 BUTTON_TOOL_EDIT, SIGNAL(clicked(int)), this,
461 SLOT(editPwd_slot()), true, 460 SLOT(editPwd_slot()), true,
462 i18n("Edit password")); 461 i18n("Edit password"));
463 toolBar()->insertButton(picons->loadIcon("editdelete", KIcon::Toolbar), 462 toolBar()->insertButton(picons->loadIcon("editdelete", KIcon::Toolbar),
464 BUTTON_TOOL_DEL, SIGNAL(clicked(int)), this, 463 BUTTON_TOOL_DEL, SIGNAL(clicked(int)), this,
465 SLOT(deletePwd_slot()), true, 464 SLOT(deletePwd_slot()), true,
466 i18n("Delete password")); 465 i18n("Delete password"));
467 toolBar()->insertSeparator(); 466 toolBar()->insertSeparator();
468 toolBar()->insertButton(picons->loadIcon("halfencrypted", KIcon::Toolbar), 467 toolBar()->insertButton(picons->loadIcon("halfencrypted", KIcon::Toolbar),
469 BUTTON_TOOL_LOCK, SIGNAL(clicked(int)), this, 468 BUTTON_TOOL_LOCK, SIGNAL(clicked(int)), this,
470 SLOT(lockWnd_slot()), true, 469 SLOT(lockWnd_slot()), true,
471 i18n("Lock all entries")); 470 i18n("Lock all entries"));
472 toolBar()->insertButton(picons->loadIcon("encrypted", KIcon::Toolbar), 471 toolBar()->insertButton(picons->loadIcon("encrypted", KIcon::Toolbar),
473 BUTTON_TOOL_DEEPLOCK, SIGNAL(clicked(int)), this, 472 BUTTON_TOOL_DEEPLOCK, SIGNAL(clicked(int)), this,
474 SLOT(deepLockWnd_slot()), true, 473 SLOT(deepLockWnd_slot()), true,
475 i18n("Deep-Lock all entries")); 474 i18n("Deep-Lock all entries"));
476 toolBar()->insertButton(picons->loadIcon("decrypted", KIcon::Toolbar), 475 toolBar()->insertButton(picons->loadIcon("decrypted", KIcon::Toolbar),
477 BUTTON_TOOL_UNLOCK, SIGNAL(clicked(int)), this, 476 BUTTON_TOOL_UNLOCK, SIGNAL(clicked(int)), this,
478 SLOT(unlockWnd_slot()), true, 477 SLOT(unlockWnd_slot()), true,
479 i18n("Unlock all entries")); 478 i18n("Unlock all entries"));
480} 479}
481 480
482void PwM::initMetrics() 481void PwM::initMetrics()
483{ 482{
484 QSize s = conf()->confWndMainWndSize(); 483 QSize s = conf()->confWndMainWndSize();
485 if (s.isValid()) 484 if (s.isValid())
486 resize(s); 485 resize(s);
487 else 486 else
488 resize(DEFAULT_SIZE); 487 resize(DEFAULT_SIZE);
489} 488}
490 489
491void PwM::updateCaption() 490void PwM::updateCaption()
492{ 491{
493 setPlainCaption(curDoc()->getTitle() + " - " PROG_NAME " " PACKAGE_VER); 492 setPlainCaption(curDoc()->getTitle() + " - " PROG_NAME " " PACKAGE_VER);
494} 493}
495 494
496void PwM::hideEvent(QHideEvent *) 495void PwM::hideEvent(QHideEvent *)
497{ 496{
498 if (isMinimized()) { 497 if (isMinimized()) {
499 if (init->tray()) { 498 if (init->tray()) {
500 forceMinimizeToTray = true; 499 forceMinimizeToTray = true;
501 close(); 500 close();
502 } 501 }
503 int mmlock = conf()->confGlobMinimizeLock(); 502 int mmlock = conf()->confGlobMinimizeLock();
504 switch (mmlock) { 503 switch (mmlock) {
505 case 0: // don't lock anything 504 case 0: // don't lock anything
506 break; 505 break;
507 case 1: {// normal lock 506 case 1: {// normal lock
508 curDoc()->lockAll(true); 507 curDoc()->lockAll(true);
509 break; 508 break;
510 } case 2: {// deep-lock 509 } case 2: {// deep-lock
511 curDoc()->deepLock(); 510 curDoc()->deepLock();
512 break; 511 break;
513 } default: 512 } default:
514 WARN(); 513 WARN();
515 } 514 }
516 } 515 }
517} 516}
518 517
519void PwM::setVirgin(bool v) 518void PwM::setVirgin(bool v)
520{ 519{
521 if (virgin == v) 520 if (virgin == v)
522 return; 521 return;
523 virgin = v; 522 virgin = v;
524 filePopup->setItemEnabled(BUTTON_POPUP_FILE_SAVE, !v); 523 filePopup->setItemEnabled(BUTTON_POPUP_FILE_SAVE, !v);
525 filePopup->setItemEnabled(BUTTON_POPUP_FILE_SAVEAS, !v); 524 filePopup->setItemEnabled(BUTTON_POPUP_FILE_SAVEAS, !v);
526 filePopup->setItemEnabled(BUTTON_POPUP_FILE_EXPORT, !v); 525 filePopup->setItemEnabled(BUTTON_POPUP_FILE_EXPORT, !v);
527 filePopup->setItemEnabled(BUTTON_POPUP_FILE_PRINT, !v); 526 filePopup->setItemEnabled(BUTTON_POPUP_FILE_PRINT, !v);
528 managePopup->setItemEnabled(BUTTON_POPUP_MANAGE_EDIT, !v); 527 managePopup->setItemEnabled(BUTTON_POPUP_MANAGE_EDIT, !v);
529 managePopup->setItemEnabled(BUTTON_POPUP_MANAGE_DEL, !v); 528 managePopup->setItemEnabled(BUTTON_POPUP_MANAGE_DEL, !v);
530 managePopup->setItemEnabled(BUTTON_POPUP_MANAGE_CHANGEMP, !v); 529 managePopup->setItemEnabled(BUTTON_POPUP_MANAGE_CHANGEMP, !v);
531 viewPopup->setItemEnabled(BUTTON_POPUP_VIEW_LOCK, !v); 530 viewPopup->setItemEnabled(BUTTON_POPUP_VIEW_LOCK, !v);
532 viewPopup->setItemEnabled(BUTTON_POPUP_VIEW_DEEPLOCK, !v); 531 viewPopup->setItemEnabled(BUTTON_POPUP_VIEW_DEEPLOCK, !v);
533 viewPopup->setItemEnabled(BUTTON_POPUP_VIEW_UNLOCK, !v); 532 viewPopup->setItemEnabled(BUTTON_POPUP_VIEW_UNLOCK, !v);
534 viewPopup->setItemEnabled(BUTTON_POPUP_VIEW_FIND, !v); 533 viewPopup->setItemEnabled(BUTTON_POPUP_VIEW_FIND, !v);
535 toolBar()->setItemEnabled(BUTTON_TOOL_SAVE, !v); 534 toolBar()->setItemEnabled(BUTTON_TOOL_SAVE, !v);
536 toolBar()->setItemEnabled(BUTTON_TOOL_SAVEAS, !v); 535 toolBar()->setItemEnabled(BUTTON_TOOL_SAVEAS, !v);
537 toolBar()->setItemEnabled(BUTTON_TOOL_PRINT, !v); 536 toolBar()->setItemEnabled(BUTTON_TOOL_PRINT, !v);
538 toolBar()->setItemEnabled(BUTTON_TOOL_EDIT, !v); 537 toolBar()->setItemEnabled(BUTTON_TOOL_EDIT, !v);
539 toolBar()->setItemEnabled(BUTTON_TOOL_DEL, !v); 538 toolBar()->setItemEnabled(BUTTON_TOOL_DEL, !v);
540 toolBar()->setItemEnabled(BUTTON_TOOL_LOCK, !v); 539 toolBar()->setItemEnabled(BUTTON_TOOL_LOCK, !v);
541 toolBar()->setItemEnabled(BUTTON_TOOL_DEEPLOCK, !v); 540 toolBar()->setItemEnabled(BUTTON_TOOL_DEEPLOCK, !v);
542 toolBar()->setItemEnabled(BUTTON_TOOL_UNLOCK, !v); 541 toolBar()->setItemEnabled(BUTTON_TOOL_UNLOCK, !v);
543 toolBar()->setItemEnabled(BUTTON_TOOL_FIND, !v); 542 toolBar()->setItemEnabled(BUTTON_TOOL_FIND, !v);
544} 543}
545 544
546void PwM::new_slot() 545void PwM::new_slot()
547{ 546{
548 init->createMainWnd(); 547 init->createMainWnd();
549} 548}
550 549
551//US ENH 550//US ENH
552void PwM::open_slot() 551void PwM::open_slot()
553{ 552{
554 open_slot(""); 553 open_slot("");
555} 554}
556 555
557void PwM::open_slot(QString fn) 556void PwM::open_slot(QString fn)
558{ 557{
559 openDoc(fn); 558 openDoc(fn);
560} 559}
561 560
562PwMDoc * PwM::openDoc(QString filename, bool openDeepLocked) 561PwMDoc * PwM::openDoc(QString filename, bool openDeepLocked)
diff --git a/pwmanager/pwmanager/pwmviewstyle_0.cpp b/pwmanager/pwmanager/pwmviewstyle_0.cpp
index d82eb15..1d88a34 100644
--- a/pwmanager/pwmanager/pwmviewstyle_0.cpp
+++ b/pwmanager/pwmanager/pwmviewstyle_0.cpp
@@ -1,132 +1,144 @@
1/*************************************************************************** 1/***************************************************************************
2 * * 2 * *
3 * copyright (C) 2004 by Michael Buesch * 3 * copyright (C) 2004 by Michael Buesch *
4 * email: mbuesch@freenet.de * 4 * email: mbuesch@freenet.de *
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 version 2 * 7 * it under the terms of the GNU General Public License version 2 *
8 * as published by the Free Software Foundation. * 8 * as published by the Free Software Foundation. *
9 * * 9 * *
10 ***************************************************************************/ 10 ***************************************************************************/
11 11
12/*************************************************************************** 12/***************************************************************************
13 * copyright (C) 2004 by Ulf Schenk 13 * copyright (C) 2004 by Ulf Schenk
14 * This file is originaly based on version 1.0.1 of pwmanager 14 * This file is originaly based on version 1.0.1 of pwmanager
15 * and was modified to run on embedded devices that run microkde 15 * and was modified to run on embedded devices that run microkde
16 * 16 *
17 * $Id$ 17 * $Id$
18 **************************************************************************/ 18 **************************************************************************/
19 19
20#include "pwmviewstyle_0.h" 20#include "pwmviewstyle_0.h"
21#include "pwmview.h" 21#include "pwmview.h"
22#include "listviewpwm.h" 22#include "listviewpwm.h"
23#include "commentbox.h" 23#include "commentbox.h"
24 24
25#include <klocale.h> 25#include <klocale.h>
26#include <kglobal.h>
27#include <kiconloader.h>
26#include "pwmprefs.h" 28#include "pwmprefs.h"
27 29
28PwMViewStyle_0::PwMViewStyle_0(PwMView *view) 30PwMViewStyle_0::PwMViewStyle_0(PwMView *view)
29 : QObject() 31 : QObject()
30{ 32{
31 vbox1 = new QVBox(view); 33 vbox1 = new QVBox(view);
32 vbox1->setSpacing(3); 34 vbox1->setSpacing(0);
33 hbox1 = new QHBox(vbox1); 35 hbox1 = new QHBox(vbox1);
34 hbox1->setSpacing(3); 36 hbox1->setSpacing(0);
35 categoriesTitle = new QLabel(hbox1); 37 categoriesTitle = new QLabel(hbox1);
36 categoriesTitle->setText(i18n("Categories:")); 38 categoriesTitle->setText(i18n("Category:"));
37 categoriesCombo = new QComboBox(hbox1); 39 categoriesCombo = new QComboBox(hbox1);
38 renCatButton = new QPushButton(i18n("&Rename"), hbox1); 40 categoriesCombo->setSizePolicy( QSizePolicy( QSizePolicy::Expanding,QSizePolicy::Preferred ));
39 delCatButton = new QPushButton(i18n("&Delete"), hbox1); 41 renCatButton = new QPushButton( hbox1);
42 renCatButton->setPixmap (KGlobal::iconLoader()->loadIcon("edit", KIcon::Small) );
43 int maxsi = renCatButton->sizeHint().height()+4;
44 renCatButton->setMinimumSize( maxsi, maxsi );
45 delCatButton = new QPushButton( hbox1);
46 delCatButton->setPixmap (KGlobal::iconLoader()->loadIcon("editdelete", KIcon::Small) );
47 maxsi = delCatButton->sizeHint().height()+4;
48 delCatButton->setMinimumSize( maxsi, maxsi );
49 delCatButton->setFocusPolicy( QWidget::NoFocus );
50 renCatButton->setFocusPolicy( QWidget::NoFocus );
51
40#ifndef PWM_EMBEDDED 52#ifndef PWM_EMBEDDED
41 splitter1 = new QSplitter(vbox1); 53 splitter1 = new QSplitter(vbox1);
42 splitter1->setOrientation(Qt::Vertical); 54 splitter1->setOrientation(Qt::Vertical);
43#else 55#else
44 splitter1 = new KDGanttMinimizeSplitter( Qt::Vertical, vbox1); 56 splitter1 = new KDGanttMinimizeSplitter( Qt::Vertical, vbox1);
45 splitter1->setMinimizeDirection ( KDGanttMinimizeSplitter::Down ); 57 splitter1->setMinimizeDirection ( KDGanttMinimizeSplitter::Down );
46 58
47 //US topLayout->addWidget(mMiniSplitter ); 59 //US topLayout->addWidget(mMiniSplitter );
48#endif 60#endif
49 lv = new ListViewPwM(splitter1); 61 lv = new ListViewPwM(splitter1);
50 commentBox = new CommentBox(splitter1); 62 commentBox = new CommentBox(splitter1);
51 // set sizes and styles 63 // set sizes and styles
52 commentBox->resize(commentBox->size().width(), 60); 64 commentBox->resize(commentBox->size().width(), 60);
53 categoriesTitle->setAlignment(Qt::AlignVCenter | Qt::AlignRight); 65 categoriesTitle->setAlignment(Qt::AlignVCenter | Qt::AlignRight);
54 // connections 66 // connections
55 connect(categoriesCombo, SIGNAL(activated(int)), 67 connect(categoriesCombo, SIGNAL(activated(int)),
56 view, SLOT(shiftToView())); 68 view, SLOT(shiftToView()));
57 connect(renCatButton, SIGNAL(clicked()), 69 connect(renCatButton, SIGNAL(clicked()),
58 view, SLOT(renCatButton_slot())); 70 view, SLOT(renCatButton_slot()));
59 connect(delCatButton, SIGNAL(clicked()), 71 connect(delCatButton, SIGNAL(clicked()),
60 view, SLOT(delCatButton_slot())); 72 view, SLOT(delCatButton_slot()));
61 connect(lv, SIGNAL(toggleOverview()), 73 connect(lv, SIGNAL(toggleOverview()),
62 this, SLOT(toggleSplitter())); 74 this, SLOT(toggleSplitter()));
63} 75}
64 76
65PwMViewStyle_0::~PwMViewStyle_0() 77PwMViewStyle_0::~PwMViewStyle_0()
66{ 78{
67 delete vbox1; 79 delete vbox1;
68} 80}
69void PwMViewStyle_0::toggleSplitter() 81void PwMViewStyle_0::toggleSplitter()
70{ 82{
71 83
72 QValueList<int> si = splitter1->sizes(); 84 QValueList<int> si = splitter1->sizes();
73 splitter1->toggle(); 85 splitter1->toggle();
74 QValueList<int> si2 = splitter1->sizes(); 86 QValueList<int> si2 = splitter1->sizes();
75 //qDebug("PwMViewStyle_0::toggleSplitter() %d %d %d %d", si[0],si[1],si2[0],si2[1] ); 87 //qDebug("PwMViewStyle_0::toggleSplitter() %d %d %d %d", si[0],si[1],si2[0],si2[1] );
76 if ( si[0] == si2[0] && si[1] == si2[1] && si2[1] == 1 ) { 88 if ( si[0] == si2[0] && si[1] == si2[1] && si2[1] == 1 ) {
77 int diff = si[0]/2; 89 int diff = si[0]/2;
78 if ( diff > 200 ) 90 if ( diff > 200 )
79 diff = 200; 91 diff = 200;
80 si[0] -= diff; 92 si[0] -= diff;
81 si[1] += diff; 93 si[1] += diff;
82 splitter1->toggle(); 94 splitter1->toggle();
83 splitter1->setSizes( si ); 95 splitter1->setSizes( si );
84 } 96 }
85 97
86} 98}
87 99
88void PwMViewStyle_0::delCategory(const QString &cat) 100void PwMViewStyle_0::delCategory(const QString &cat)
89{ 101{
90 PWM_ASSERT(categoriesCombo); 102 PWM_ASSERT(categoriesCombo);
91 int i, count = categoriesCombo->count(); 103 int i, count = categoriesCombo->count();
92 for (i = 0; i < count; ++i) { 104 for (i = 0; i < count; ++i) {
93 if (categoriesCombo->text(i) == cat) { 105 if (categoriesCombo->text(i) == cat) {
94 categoriesCombo->removeItem(i); 106 categoriesCombo->removeItem(i);
95 return; 107 return;
96 } 108 }
97 } 109 }
98 BUG(); 110 BUG();
99} 111}
100 112
101void PwMViewStyle_0::selectCategory(const QString &cat) 113void PwMViewStyle_0::selectCategory(const QString &cat)
102{ 114{
103 PWM_ASSERT(categoriesCombo); 115 PWM_ASSERT(categoriesCombo);
104 int i, count = categoriesCombo->count(); 116 int i, count = categoriesCombo->count();
105 for (i = 0; i < count; ++i) { 117 for (i = 0; i < count; ++i) {
106 if (categoriesCombo->text(i) == cat) { 118 if (categoriesCombo->text(i) == cat) {
107 categoriesCombo->setCurrentItem(i); 119 categoriesCombo->setCurrentItem(i);
108 return; 120 return;
109 } 121 }
110 } 122 }
111 // fall back to 0 123 // fall back to 0
112 categoriesCombo->setCurrentItem(0); 124 categoriesCombo->setCurrentItem(0);
113} 125}
114 126
115 127
116//US ENH: I need a place to load the view dependend settings. Eg. splittersize 128//US ENH: I need a place to load the view dependend settings. Eg. splittersize
117void PwMViewStyle_0::restoreSettings(PWMPrefs* prefs) 129void PwMViewStyle_0::restoreSettings(PWMPrefs* prefs)
118{ 130{
119 //load and store the size of the listviewcolumns 131 //load and store the size of the listviewcolumns
120 lv->restoreLayout(prefs->getConfig(), "listview"); 132 lv->restoreLayout(prefs->getConfig(), "listview");
121 splitter1->setSizes( prefs->mCommentSplitter ); 133 splitter1->setSizes( prefs->mCommentSplitter );
122 commentBox->setFont( prefs->mViewFont ); 134 commentBox->setFont( prefs->mViewFont );
123} 135}
124 136
125//US ENH: I need a place to load the view dependend settings. Eg. splittersize 137//US ENH: I need a place to load the view dependend settings. Eg. splittersize
126void PwMViewStyle_0::saveSettings(PWMPrefs* prefs) 138void PwMViewStyle_0::saveSettings(PWMPrefs* prefs)
127{ 139{
128 //store the size of the listviewcolumns 140 //store the size of the listviewcolumns
129 lv->saveLayout(prefs->getConfig(), "listview"); 141 lv->saveLayout(prefs->getConfig(), "listview");
130 prefs->mCommentSplitter = splitter1->sizes(); 142 prefs->mCommentSplitter = splitter1->sizes();
131 143
132} 144}
diff --git a/pwmanager/pwmanager/pwmviewstyle_1.cpp b/pwmanager/pwmanager/pwmviewstyle_1.cpp
index 7294f34..e335a3f 100644
--- a/pwmanager/pwmanager/pwmviewstyle_1.cpp
+++ b/pwmanager/pwmanager/pwmviewstyle_1.cpp
@@ -1,192 +1,192 @@
1/*************************************************************************** 1/***************************************************************************
2 * * 2 * *
3 * copyright (C) 2004 by Michael Buesch * 3 * copyright (C) 2004 by Michael Buesch *
4 * email: mbuesch@freenet.de * 4 * email: mbuesch@freenet.de *
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 version 2 * 7 * it under the terms of the GNU General Public License version 2 *
8 * as published by the Free Software Foundation. * 8 * as published by the Free Software Foundation. *
9 * * 9 * *
10 ***************************************************************************/ 10 ***************************************************************************/
11 11
12/*************************************************************************** 12/***************************************************************************
13 * copyright (C) 2004 by Ulf Schenk 13 * copyright (C) 2004 by Ulf Schenk
14 * This file is originaly based on version 1.0.1 of pwmanager 14 * This file is originaly based on version 1.0.1 of pwmanager
15 * and was modified to run on embedded devices that run microkde 15 * and was modified to run on embedded devices that run microkde
16 * 16 *
17 * $Id$ 17 * $Id$
18 **************************************************************************/ 18 **************************************************************************/
19 19
20#include "pwmviewstyle_1.h" 20#include "pwmviewstyle_1.h"
21#include "pwmview.h" 21#include "pwmview.h"
22#include "listviewpwm.h" 22#include "listviewpwm.h"
23#include "commentbox.h" 23#include "commentbox.h"
24 24
25#include <klocale.h> 25#include <klocale.h>
26#include "pwmprefs.h" 26#include "pwmprefs.h"
27 27
28#ifndef DESKTOP_VERSION 28#ifndef DESKTOP_VERSION
29#include <qpe/qpeapplication.h> 29#include <qpe/qpeapplication.h>
30#else 30#else
31#include <qapplication.h> 31#include <qapplication.h>
32#endif 32#endif
33 #define INITIAL_CATEGORIES_WIDTH100 33 #define INITIAL_CATEGORIES_WIDTH100
34 34
35PwMViewStyle_1::PwMViewStyle_1(PwMView *view) 35PwMViewStyle_1::PwMViewStyle_1(PwMView *view)
36 : QObject() 36 : QObject()
37{ 37{
38#ifndef PWM_EMBEDDED 38#ifndef PWM_EMBEDDED
39 splitter = new QSplitter(view); 39 splitter = new QSplitter(view);
40#else 40#else
41 if ( QApplication::desktop()->width() > 240 ) { 41 if ( QApplication::desktop()->width() > 240 ) {
42 splitter = new KDGanttMinimizeSplitter( Qt::Horizontal, view); 42 splitter = new KDGanttMinimizeSplitter( Qt::Horizontal, view);
43 splitter->setMinimizeDirection ( KDGanttMinimizeSplitter::Left ); 43 splitter->setMinimizeDirection ( KDGanttMinimizeSplitter::Left );
44 // topLayout = new QHBoxLayout( this ); 44 // topLayout = new QHBoxLayout( this );
45 // mMiniSplitter = new KDGanttMinimizeSplitter( Qt::Horizontal, this); 45 // mMiniSplitter = new KDGanttMinimizeSplitter( Qt::Horizontal, this);
46 // mMiniSplitter->setMinimizeDirection ( KDGanttMinimizeSplitter::Right ); 46 // mMiniSplitter->setMinimizeDirection ( KDGanttMinimizeSplitter::Right );
47 } else { 47 } else {
48 splitter = new KDGanttMinimizeSplitter( Qt::Vertical, view); 48 splitter = new KDGanttMinimizeSplitter( Qt::Vertical, view);
49 splitter->setMinimizeDirection ( KDGanttMinimizeSplitter::Up ); 49 splitter->setMinimizeDirection ( KDGanttMinimizeSplitter::Up );
50 // topLayout = new QHBoxLayout( this ); 50 // topLayout = new QHBoxLayout( this );
51 // mMiniSplitter = new KDGanttMinimizeSplitter( Qt::Vertical, this); 51 // mMiniSplitter = new KDGanttMinimizeSplitter( Qt::Vertical, this);
52 // mMiniSplitter->setMinimizeDirection ( KDGanttMinimizeSplitter::Down ); 52 // mMiniSplitter->setMinimizeDirection ( KDGanttMinimizeSplitter::Down );
53 } 53 }
54 //US topLayout->addWidget(mMiniSplitter ); 54 //US topLayout->addWidget(mMiniSplitter );
55#endif 55#endif
56 56
57 vbox1 = new QVBox(splitter); 57 vbox1 = new QVBox(splitter);
58 categoriesTitle = new QLabel(vbox1); 58 categoriesTitle = new QLabel(vbox1);
59 categoriesList = new QListBox(vbox1); 59 categoriesList = new QListBox(vbox1);
60#ifndef PWM_EMBEDDED 60#ifndef PWM_EMBEDDED
61 splitter2 = new QSplitter(splitter); 61 splitter2 = new QSplitter(splitter);
62 splitter2->setOrientation(Qt::Vertical); 62 splitter2->setOrientation(Qt::Vertical);
63#else 63#else
64 splitter2 = new KDGanttMinimizeSplitter( Qt::Vertical, splitter); 64 splitter2 = new KDGanttMinimizeSplitter( Qt::Vertical, splitter);
65 splitter2->setMinimizeDirection ( KDGanttMinimizeSplitter::Down ); 65 splitter2->setMinimizeDirection ( KDGanttMinimizeSplitter::Down );
66 66
67 //US topLayout->addWidget(mMiniSplitter ); 67 //US topLayout->addWidget(mMiniSplitter );
68#endif 68#endif
69 lv = new ListViewPwM(splitter2); 69 lv = new ListViewPwM(splitter2);
70 commentBox = new CommentBox(splitter2); 70 commentBox = new CommentBox(splitter2);
71 // set sizes and styles 71 // set sizes and styles
72 //UScommentBox->resize(commentBox->size().width(), 60); 72 //UScommentBox->resize(commentBox->size().width(), 60);
73 QValueList<int> sizes; 73 QValueList<int> sizes;
74#ifndef PWM_EMBEDDED 74#ifndef PWM_EMBEDDED
75 sizes.push_back(INITIAL_CATEGORIES_WIDTH); 75 sizes.push_back(INITIAL_CATEGORIES_WIDTH);
76 sizes.push_back(view->height() - INITIAL_CATEGORIES_WIDTH); 76 sizes.push_back(view->height() - INITIAL_CATEGORIES_WIDTH);
77#else 77#else
78 sizes.append(INITIAL_CATEGORIES_WIDTH); 78 sizes.append(INITIAL_CATEGORIES_WIDTH);
79 sizes.append(view->height() - INITIAL_CATEGORIES_WIDTH); 79 sizes.append(view->height() - INITIAL_CATEGORIES_WIDTH);
80#endif 80#endif
81 //USsplitter->setSizes(sizes); 81 //USsplitter->setSizes(sizes);
82 categoriesTitle->setAlignment(Qt::AlignHCenter); 82 categoriesTitle->setAlignment(Qt::AlignHCenter);
83#ifndef PWM_EMBEDDED 83#ifndef PWM_EMBEDDED
84 categoriesTitle->setFrameShape(QFrame::MenuBarPanel); 84 categoriesTitle->setFrameShape(QFrame::MenuBarPanel);
85#else 85#else
86 categoriesTitle->setFrameShape(QFrame::StyledPanel); 86 //categoriesTitle->setFrameShape(QFrame::StyledPanel);
87#endif 87#endif
88 categoriesTitle->setText(i18n("Categories:")); 88 categoriesTitle->setText(i18n("Category:"));
89 catCtxMenu = new QPopupMenu(view); 89 catCtxMenu = new QPopupMenu(view);
90 catCtxMenu->insertItem(i18n("&Rename"), 90 catCtxMenu->insertItem(i18n("&Rename"),
91 view, SLOT(renCatButton_slot())); 91 view, SLOT(renCatButton_slot()));
92 catCtxMenu->insertItem(i18n("&Delete"), 92 catCtxMenu->insertItem(i18n("&Delete"),
93 view, SLOT(delCatButton_slot())); 93 view, SLOT(delCatButton_slot()));
94 94
95#ifndef DESKTOP_VERSION 95#ifndef DESKTOP_VERSION
96 QPEApplication::setStylusOperation( categoriesList->viewport(), QPEApplication::RightOnHold ); 96 QPEApplication::setStylusOperation( categoriesList->viewport(), QPEApplication::RightOnHold );
97#endif 97#endif
98 98
99 // connections 99 // connections
100 connect(categoriesList, SIGNAL(highlighted(int)), 100 connect(categoriesList, SIGNAL(highlighted(int)),
101 view, SLOT(shiftToView())); 101 view, SLOT(shiftToView()));
102 connect(categoriesList, 102 connect(categoriesList,
103 SIGNAL(rightButtonClicked(QListBoxItem *, const QPoint &)), 103 SIGNAL(rightButtonClicked(QListBoxItem *, const QPoint &)),
104 this, 104 this,
105 SLOT(catRightClick(QListBoxItem *, const QPoint &))); 105 SLOT(catRightClick(QListBoxItem *, const QPoint &)));
106 106
107 connect(lv, SIGNAL(toggleOverview()), 107 connect(lv, SIGNAL(toggleOverview()),
108 this, SLOT(toggleSplitter())); 108 this, SLOT(toggleSplitter()));
109} 109}
110 110
111PwMViewStyle_1::~PwMViewStyle_1() 111PwMViewStyle_1::~PwMViewStyle_1()
112{ 112{
113 delete catCtxMenu; 113 delete catCtxMenu;
114 delete splitter; 114 delete splitter;
115} 115}
116void PwMViewStyle_1::toggleSplitter() 116void PwMViewStyle_1::toggleSplitter()
117{ 117{
118 QValueList<int> si = splitter2->sizes(); 118 QValueList<int> si = splitter2->sizes();
119 splitter2->toggle(); 119 splitter2->toggle();
120 QValueList<int> si2 = splitter2->sizes(); 120 QValueList<int> si2 = splitter2->sizes();
121 //qDebug("PwMViewStyle_1::toggleSplitter() %d %d %d %d", si[0],si[1],si2[0],si2[1] ); 121 //qDebug("PwMViewStyle_1::toggleSplitter() %d %d %d %d", si[0],si[1],si2[0],si2[1] );
122 if ( si[0] == si2[0] && si[1] == si2[1] && si2[1] == 1 ) { 122 if ( si[0] == si2[0] && si[1] == si2[1] && si2[1] == 1 ) {
123 int diff = si[0]/2; 123 int diff = si[0]/2;
124 if ( diff > 200 ) 124 if ( diff > 200 )
125 diff = 200; 125 diff = 200;
126 si[0] -= diff; 126 si[0] -= diff;
127 si[1] += diff; 127 si[1] += diff;
128 splitter2->toggle(); 128 splitter2->toggle();
129 splitter2->setSizes( si ); 129 splitter2->setSizes( si );
130 } 130 }
131} 131}
132 132
133void PwMViewStyle_1::catRightClick(QListBoxItem *item, const QPoint &point) 133void PwMViewStyle_1::catRightClick(QListBoxItem *item, const QPoint &point)
134{ 134{
135 if (!item) 135 if (!item)
136 return; 136 return;
137 catCtxMenu->move(point); 137 catCtxMenu->move(point);
138 catCtxMenu->show(); 138 catCtxMenu->show();
139} 139}
140 140
141void PwMViewStyle_1::delCategory(const QString &cat) 141void PwMViewStyle_1::delCategory(const QString &cat)
142{ 142{
143 PWM_ASSERT(categoriesList); 143 PWM_ASSERT(categoriesList);
144 int i, count = categoriesList->count(); 144 int i, count = categoriesList->count();
145 for (i = 0; i < count; ++i) { 145 for (i = 0; i < count; ++i) {
146 if (categoriesList->text(i) == cat) { 146 if (categoriesList->text(i) == cat) {
147 categoriesList->removeItem(i); 147 categoriesList->removeItem(i);
148 return; 148 return;
149 } 149 }
150 } 150 }
151 BUG(); 151 BUG();
152} 152}
153 153
154void PwMViewStyle_1::selectCategory(const QString &cat) 154void PwMViewStyle_1::selectCategory(const QString &cat)
155{ 155{
156 PWM_ASSERT(categoriesList); 156 PWM_ASSERT(categoriesList);
157 int i, count = categoriesList->count(); 157 int i, count = categoriesList->count();
158 for (i = 0; i < count; ++i) { 158 for (i = 0; i < count; ++i) {
159 if (categoriesList->text(i) == cat) { 159 if (categoriesList->text(i) == cat) {
160 categoriesList->setCurrentItem(i); 160 categoriesList->setCurrentItem(i);
161 return; 161 return;
162 } 162 }
163 } 163 }
164 // fall back to 0 164 // fall back to 0
165 categoriesList->setCurrentItem(0); 165 categoriesList->setCurrentItem(0);
166} 166}
167 167
168//US ENH: I need a place to load the view dependend settings. Eg. splittersize 168//US ENH: I need a place to load the view dependend settings. Eg. splittersize
169void PwMViewStyle_1::restoreSettings(PWMPrefs* prefs) 169void PwMViewStyle_1::restoreSettings(PWMPrefs* prefs)
170{ 170{
171 //load and store the size of the listviewcolumns 171 //load and store the size of the listviewcolumns
172 lv->restoreLayout(prefs->getConfig(), "listview"); 172 lv->restoreLayout(prefs->getConfig(), "listview");
173 splitter->setSizes( prefs->mCategorySplitter ); 173 splitter->setSizes( prefs->mCategorySplitter );
174 splitter2->setSizes( prefs->mCommentSplitter ); 174 splitter2->setSizes( prefs->mCommentSplitter );
175 commentBox->setFont( prefs->mViewFont ); 175 commentBox->setFont( prefs->mViewFont );
176 176
177} 177}
178 178
179//US ENH: I need a place to load the view dependend settings. Eg. splittersize 179//US ENH: I need a place to load the view dependend settings. Eg. splittersize
180void PwMViewStyle_1::saveSettings(PWMPrefs* prefs) 180void PwMViewStyle_1::saveSettings(PWMPrefs* prefs)
181{ 181{
182 //store the size of the listviewcolumns 182 //store the size of the listviewcolumns
183 lv->saveLayout(prefs->getConfig(), "listview"); 183 lv->saveLayout(prefs->getConfig(), "listview");
184 prefs->mCategorySplitter = splitter->sizes(); 184 prefs->mCategorySplitter = splitter->sizes();
185 prefs->mCommentSplitter = splitter2->sizes(); 185 prefs->mCommentSplitter = splitter2->sizes();
186 186
187} 187}
188 188
189 189
190#ifndef PWM_EMBEDDED 190#ifndef PWM_EMBEDDED
191#include "pwmviewstyle_1.moc" 191#include "pwmviewstyle_1.moc"
192#endif 192#endif