summaryrefslogtreecommitdiffabout
authorzautrix <zautrix>2005-02-28 18:16:03 (UTC)
committer zautrix <zautrix>2005-02-28 18:16:03 (UTC)
commit27466d3bc668e7a4c4bdedb6f407e14844908347 (patch) (unidiff)
treeecc5f637b7430d34161a267bd4047cdd0de056f3
parent16575cca67c9047de72530080dfeb5793a66c935 (diff)
downloadkdepimpi-27466d3bc668e7a4c4bdedb6f407e14844908347.zip
kdepimpi-27466d3bc668e7a4c4bdedb6f407e14844908347.tar.gz
kdepimpi-27466d3bc668e7a4c4bdedb6f407e14844908347.tar.bz2
ompi fixes
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--bin/kdepim/WhatsNew.txt2
-rw-r--r--bin/kdepim/kopiemail/germantranslation.txt14
-rw-r--r--kmicromail/editaccounts.cpp12
-rw-r--r--kmicromail/opiemail.cpp8
-rw-r--r--kmicromail/selectsmtp.cpp2
5 files changed, 27 insertions, 11 deletions
diff --git a/bin/kdepim/WhatsNew.txt b/bin/kdepim/WhatsNew.txt
index a9b6c87..943aaef 100644
--- a/bin/kdepim/WhatsNew.txt
+++ b/bin/kdepim/WhatsNew.txt
@@ -1,394 +1,396 @@
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.13 ************ 3********** VERSION 2.0.13 ************
4 4
5Fixed a problem in the addressee select dialog and made it more user friendly by adding a minimize splitter. 5Fixed a problem in the addressee select dialog and made it more user friendly by adding a minimize splitter.
6 6
7In the search dialog you can switch now the focus from search line edit to the list view by pressing key "arrow down". 7In the search dialog you can switch now the focus from search line edit to the list view by pressing key "arrow down".
8 8
9OM/Pi: 9OM/Pi:
10Fixed a refresh problem of outgoing/sent/sendfailed folders after sending mails. 10Fixed a refresh problem of outgoing/sent/sendfailed folders after sending mails.
11Added missing German translation.
12Added warning if path is specified in local folder settings of account config.
11 13
12********** VERSION 2.0.12 ************ 14********** VERSION 2.0.12 ************
13 15
14KO/Pi: 16KO/Pi:
15Fixed a bug in todo start/due date handling for non recurring todos with a start and due date. 17Fixed a bug in todo start/due date handling for non recurring todos with a start and due date.
16Fixed some layout problems in the KO/Pi agenda view when there were many conflicting itmes. 18Fixed some layout problems in the KO/Pi agenda view when there were many conflicting itmes.
17Fixed several problems of the keyboard focus in the desktop versions when opening the search dialog/event viewer. 19Fixed several problems of the keyboard focus in the desktop versions when opening the search dialog/event viewer.
18 20
19Fixed problem in pi-sync mode when wrong password was sent. 21Fixed problem in pi-sync mode when wrong password was sent.
20 22
21OM/Pi: 23OM/Pi:
22Fixed a crash when displaying mails with "Show mail as html" was checked in the config. 24Fixed a crash when displaying mails with "Show mail as html" was checked in the config.
23Added a check before displaying the mail if the mail is in html format, if "Show mail as html" is enabled. 25Added a check before displaying the mail if the mail is in html format, if "Show mail as html" is enabled.
24 26
25********** VERSION 2.0.11 ************ 27********** VERSION 2.0.11 ************
26 28
27Fixed some problems in pi-sync mode 29Fixed some problems in pi-sync mode
28(e.g. details of events were not synced properly) 30(e.g. details of events were not synced properly)
29 31
30********** VERSION 2.0.10 ************ 32********** VERSION 2.0.10 ************
31 33
32KO/Pi: 34KO/Pi:
33In the desktop versions the context menu in the search dialog was broken after introducing the What'sThis info for the list view. 35In the desktop versions the context menu in the search dialog was broken after introducing the What'sThis info for the list view.
34This is fixed. 36This is fixed.
35Changed the search dialog a bit to make it more user friendly. 37Changed the search dialog a bit to make it more user friendly.
36(E.g.: Removed message box about "no items found" and set key focus to search line edit after search). 38(E.g.: Removed message box about "no items found" and set key focus to search line edit after search).
37 39
38Added config option to hide the week number in KO/Pi toolbar. 40Added config option to hide the week number in KO/Pi toolbar.
39 41
40********** VERSION 2.0.9 ************ 42********** VERSION 2.0.9 ************
41 43
42Made month view icons for multiday events a bit nicer. 44Made month view icons for multiday events a bit nicer.
43Some minor fixes in KO/Pi 45Some minor fixes in KO/Pi
44(e.g. go to today did not work for new week view properly). 46(e.g. go to today did not work for new week view properly).
45 47
46 48
47********** VERSION 2.0.8 ************ 49********** VERSION 2.0.8 ************
48 50
49Fixed a problem in dependency info in the ipk files for the Zaurus. 51Fixed a problem in dependency info in the ipk files for the Zaurus.
50 52
51Added 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. 53Added 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.
52 54
53Added a "go today" button to the datepicker. 55Added a "go today" button to the datepicker.
54 56
55Added "created" and "last modified" to event/todo viewer (and What'sThis viewer) 57Added "created" and "last modified" to event/todo viewer (and What'sThis viewer)
56and made it configureable to show these values. 58and made it configureable to show these values.
57 59
58Fixed a problem for events (from external iCal files) that do have a duration but no end date. 60Fixed a problem for events (from external iCal files) that do have a duration but no end date.
59 61
60 62
61********** VERSION 2.0.7 ************ 63********** VERSION 2.0.7 ************
62 64
63Added global application font settings 65Added global application font settings
64(for all KDE-Pim/Pi apps) to the general settings. 66(for all KDE-Pim/Pi apps) to the general settings.
65 67
66Fixed a problem in OM/Pi when trying to login to some IMAP servers 68Fixed a problem in OM/Pi when trying to login to some IMAP servers
67(like the IMAP server of Apple: mail.mac.com ) 69(like the IMAP server of Apple: mail.mac.com )
68 70
69Added recurring todos to KO/Pi. 71Added recurring todos to KO/Pi.
70 72
71 73
72********** VERSION 2.0.6 ************ 74********** VERSION 2.0.6 ************
73 75
74Some bugfixes in the pi-sync mode. 76Some bugfixes in the pi-sync mode.
75Added German translation for pi-sync mode. 77Added German translation for pi-sync mode.
76 78
77KO/Pi: 79KO/Pi:
78Made the todolist using alternate background. 80Made the todolist using alternate background.
79 81
80Other minor fixes in KO/Pi. 82Other minor fixes in KO/Pi.
81 83
82 84
83********** VERSION 2.0.5 ************ 85********** VERSION 2.0.5 ************
84 86
85Bugfixes in KO/Pi. 87Bugfixes in KO/Pi.
86 88
87********** VERSION 2.0.4 ************ 89********** VERSION 2.0.4 ************
88 90
89KO/Pi: 91KO/Pi:
90Fixed problem loading translations for summary/location edit boxes in event/todo editor. 92Fixed problem loading translations for summary/location edit boxes in event/todo editor.
91 93
92Added a general "select week number" to the toolbar. 94Added a general "select week number" to the toolbar.
93 95
94Fixed some small problem of the new features introduced in version 2.0.3. 96Fixed some small problem of the new features introduced in version 2.0.3.
95 97
96Made it possible to specify one specific category as category color, 98Made it possible to specify one specific category as category color,
97if more than one categories are selected. 99if more than one categories are selected.
98 100
99Fixed a bug in saving colors for categories with non-ascii characters. 101Fixed a bug in saving colors for categories with non-ascii characters.
100(Like, e.g. German Umlauts). 102(Like, e.g. German Umlauts).
101Propably you have to set your colors again for those categories. 103Propably you have to set your colors again for those categories.
102 104
103 105
104********** VERSION 2.0.3 ************ 106********** VERSION 2.0.3 ************
105 107
106KO/Pi: 108KO/Pi:
107Added feature for changing alarm settings for many items at once: 109Added feature for changing alarm settings for many items at once:
108Open list view (or search dialog), select the desired items and choose in 110Open list view (or search dialog), select the desired items and choose in
109the popup menu: Set alarm for selected... 111the popup menu: Set alarm for selected...
110 112
111Added to the event/todo viewer the option to send an email to 113Added to the event/todo viewer the option to send an email to
112all attendees or all selected (with RSVP) attendees. 114all attendees or all selected (with RSVP) attendees.
113 115
114Made the week-month mode changing in month view faster. 116Made the week-month mode changing in month view faster.
115 117
116Made month view better useable with keyboard. 118Made month view better useable with keyboard.
117Now TAB key jumps to next cell with an event/todo. 119Now TAB key jumps to next cell with an event/todo.
118Scroll in cell with coursor keys, scroll in time (next week) with 120Scroll in cell with coursor keys, scroll in time (next week) with
119Shift/Control + coursorkeys. 121Shift/Control + coursorkeys.
120 122
121Fixed bug that the todo view flat mode was reset after first view update. 123Fixed bug that the todo view flat mode was reset after first view update.
122 124
123If a todo is displayed closed in the todo view, 125If a todo is displayed closed in the todo view,
124it is now displayed in overdue/due today color depending on the subtodos overdue/due today properties. 126it is now displayed in overdue/due today color depending on the subtodos overdue/due today properties.
125 127
126Added info about the numbers of years to the caption (title) information about a birthday event. 128Added info about the numbers of years to the caption (title) information about a birthday event.
127 129
128Made completion date in todo editor editable. 130Made completion date in todo editor editable.
129 131
130Added possibility to save/load templates for journals. 132Added possibility to save/load templates for journals.
131(Which is just a simple "save text to file" or "insert text from file". 133(Which is just a simple "save text to file" or "insert text from file".
132 134
133********** VERSION 2.0.2 ************ 135********** VERSION 2.0.2 ************
134 136
135KO/Pi: 137KO/Pi:
136Fixed the layout problem of the day label buttons 138Fixed the layout problem of the day label buttons
137of the agenda view introduced in version 2.0.1. 139of the agenda view introduced in version 2.0.1.
138 140
139Added WhatsThis support for the todo view and the list view. 141Added WhatsThis support for the todo view and the list view.
140 142
141Added a quite useful feature to the montview. 143Added a quite useful feature to the montview.
142Just click on the week numbers on the left. 144Just click on the week numbers on the left.
143And in the top right corner of month view/agenda view 145And in the top right corner of month view/agenda view
144there is now a "week number quick selector". 146there is now a "week number quick selector".
145(Click on the black triangle). 147(Click on the black triangle).
146 148
147Made the quite difficult timezone change in KO/Pi easy. 149Made the quite difficult timezone change in KO/Pi easy.
148 150
149OM/Pi: 151OM/Pi:
150Fixed too small icons on desktop. 152Fixed too small icons on desktop.
151Fixed non visible icons in mainwindow on Z with fastload enabled. 153Fixed non visible icons in mainwindow on Z with fastload enabled.
152Added signature file setting to smtp account config. 154Added signature file setting to smtp account config.
153And the signature can be edited and saved in the edit mail dialog. 155And the signature can be edited and saved in the edit mail dialog.
154That does mean: 156That does mean:
155Simply edit the signature for the selected smtp account in the 157Simply edit the signature for the selected smtp account in the
156edit new mail dialog and press the "save signature" button there. 158edit new mail dialog and press the "save signature" button there.
157Then the signature is saved to the file specified in the smtp account settings. 159Then the signature is saved to the file specified in the smtp account settings.
158If there is no file specified, it is saved automatically to the file 160If there is no file specified, it is saved automatically to the file
159kdepim/apps/kopiemail/<accountname>.sig. 161kdepim/apps/kopiemail/<accountname>.sig.
160 162
161 163
162 164
163********** VERSION 2.0.1 ************ 165********** VERSION 2.0.1 ************
164 166
165Oooops ... I forgot to test on the Zaurus 5500 ... 167Oooops ... I forgot to test on the Zaurus 5500 ...
166 168
167Fixed many problems of new (english) strings (and german translations) 169Fixed many problems of new (english) strings (and german translations)
168introduced in the latest versions, where the text was not fitting on the 170introduced in the latest versions, where the text was not fitting on the
169240x320 display of the Zaurus 5500. 171240x320 display of the Zaurus 5500.
170 172
171KO/Pi: 173KO/Pi:
172Added a popup menu ( press pen and hold to get popup ) to the agenda view 174Added a popup menu ( press pen and hold to get popup ) to the agenda view
173with many useful items (add event/todo, show next week, two weeks, month, journal). 175with many useful items (add event/todo, show next week, two weeks, month, journal).
174 176
175Added items to the todolist popup menu for: 177Added items to the todolist popup menu for:
176Display all opened, all closed or all todos flat. 178Display all opened, all closed or all todos flat.
177The "flat" view makes is possible to sort all todos after ,e.g., prio or date. 179The "flat" view makes is possible to sort all todos after ,e.g., prio or date.
178Made the reparenting of todos on the desktop possible via Drag&Drop. 180Made the reparenting of todos on the desktop possible via Drag&Drop.
179Fixed several bugs in setting the completed datetime for todos. 181Fixed several bugs in setting the completed datetime for todos.
180Added info about completed datetime of todos to the todo viewer. 182Added info about completed datetime of todos to the todo viewer.
181Now displaying a completed todo (with completed datetime set) in the agenda view 183Now displaying a completed todo (with completed datetime set) in the agenda view
182at the time of the completion. Such that now it is possible to see in the agenda view 184at the time of the completion. Such that now it is possible to see in the agenda view
183when what todo was completed. 185when what todo was completed.
184Fixed behaviour of automatic setting completion of todos with sub-todos/parent todos. 186Fixed behaviour of automatic setting completion of todos with sub-todos/parent todos.
185Now the behaviour is: 187Now the behaviour is:
186Setting a parent to complete sets all (sub)childs to complete. 188Setting a parent to complete sets all (sub)childs to complete.
187Setting a parent to uncomplete does not change the childs. 189Setting a parent to uncomplete does not change the childs.
188Setting a child to uncomplete sets all parent to uncomplete. 190Setting a child to uncomplete sets all parent to uncomplete.
189Setting a child to complete does not change the parents. 191Setting a child to complete does not change the parents.
190 192
191Smart updating and double buffering of the daymatrix. 193Smart updating and double buffering of the daymatrix.
192Showing holidays in the day matrix. 194Showing holidays in the day matrix.
193Many other small performance updates. 195Many other small performance updates.
194 196
195Made day labels in agenda clickable. By clicking a label, the day is displayed in single day mode. 197Made day labels in agenda clickable. By clicking a label, the day is displayed in single day mode.
196 198
197Now the translation file usertranslation.txt is supposed to be in utf8 format. 199Now the translation file usertranslation.txt is supposed to be in utf8 format.
198If you want to translate a language from western europe, just change the germantranslation.txt file. Please read the updated Usertranslation HowTo in KO/Pi Help menu. 200If you want to translate a language from western europe, just change the germantranslation.txt file. Please read the updated Usertranslation HowTo in KO/Pi Help menu.
199 201
200 202
201********** VERSION 2.0.0 ************ 203********** VERSION 2.0.0 ************
202 204
203Stable release 2.0.0! 205Stable release 2.0.0!
204 206
205KO/Pi: 207KO/Pi:
206Fixed problem in edit dialog recreation at startup. 208Fixed problem in edit dialog recreation at startup.
207Made "toggle view*" menu items enabled context sensitive. 209Made "toggle view*" menu items enabled context sensitive.
208Changed agenda size menu to items 1-10. 210Changed agenda size menu to items 1-10.
209Made it possible to change agenda size quickly by pressing mouse on timelabels in agenda view and move mouse up/down. 211Made it possible to change agenda size quickly by pressing mouse on timelabels in agenda view and move mouse up/down.
210Usebility enhancements in the KO/Pi menus. 212Usebility enhancements in the KO/Pi menus.
211Birthday import now adds year to summary. 213Birthday import now adds year to summary.
212What's Next view shows age in years for birthday. 214What's Next view shows age in years for birthday.
213 215
214OM/Pi: 216OM/Pi:
215Added three info lines to display subject, from and to of selected mails. 217Added three info lines to display subject, from and to of selected mails.
216 218
217KA/Pi: 219KA/Pi:
218Fixed jump bar behaviour on Zaurus. 220Fixed jump bar behaviour on Zaurus.
219Now KA/Pi search field supports searching for a range of starting characters. 221Now KA/Pi search field supports searching for a range of starting characters.
220E.g. to search for all contact beginning with b to n, type 222E.g. to search for all contact beginning with b to n, type
221b-n 223b-n
222in the search field. 224in the search field.
223 225
224********** VERSION 1.9.20 ************ 226********** VERSION 1.9.20 ************
225 227
226KO/Pi: 228KO/Pi:
227Added for the "dislplay one day" agenda mode 229Added for the "dislplay one day" agenda mode
228info in the caption and in the day lables: 230info in the caption and in the day lables:
229Now it is displayed, if the selected day is from "day before yesterday" 231Now it is displayed, if the selected day is from "day before yesterday"
230to "day after tomorrow". 232to "day after tomorrow".
231Made it possible to delete a Todo, which has sub-todos. 233Made it possible to delete a Todo, which has sub-todos.
232Fixed two small problems in the todo view. 234Fixed two small problems in the todo view.
233Added missing German translation for filter edit and print dialog. 235Added missing German translation for filter edit and print dialog.
234Made search dialog closeable by cancel key. 236Made search dialog closeable by cancel key.
235 237
236Made it possible to select in the date picker the (ligt grey ) 238Made it possible to select in the date picker the (ligt grey )
237dates of the prev./next month with the mouse. 239dates of the prev./next month with the mouse.
238 240
239OM/Pi: 241OM/Pi:
240"Delete mail" icon in main window now deletes all selected mails. 242"Delete mail" icon in main window now deletes all selected mails.
241Fixed the problem, that the state flag of imap mails was ignored. 243Fixed the problem, that the state flag of imap mails was ignored.
242Now mails with "FLAG_SEEN" on the imap server get no icon in the list view 244Now mails with "FLAG_SEEN" on the imap server get no icon in the list view
243to indecate that they are already seen. 245to indecate that they are already seen.
244Fixed the problem that the body of some mails was not displayed in the 246Fixed the problem that the body of some mails was not displayed in the
245mail viewer when fetching them from the imap server directly to read them. 247mail viewer when fetching them from the imap server directly to read them.
246Made it (configurable) possible to show the "To:" field in the list view. 248Made it (configurable) possible to show the "To:" field in the list view.
247Added to the mail viewer the option "View Source" to make it possible to see the raw mail data. 249Added to the mail viewer the option "View Source" to make it possible to see the raw mail data.
248Added a "Download Mail" button to the mail viewer to quickly download the viewed mail to the 250Added a "Download Mail" button to the mail viewer to quickly download the viewed mail to the
249local storage folder (specified in account settings) of the account of the mail. 251local storage folder (specified in account settings) of the account of the mail.
250Removed some memory leaks in OM/Pi. 252Removed some memory leaks in OM/Pi.
251 253
252 254
253********** VERSION 1.9.19 ************ 255********** VERSION 1.9.19 ************
254 256
255Added a lot of missing translations to KA/Pi, 257Added a lot of missing translations to KA/Pi,
256Added some missing translations to KO/Pi and OM/Pi. 258Added some missing translations to KO/Pi and OM/Pi.
257 259
258Fixed some minor problems in KA/Pi + KO/Pi. 260Fixed some minor problems in KA/Pi + KO/Pi.
259 261
260Fixed a crash when closing PwM/Pi. 262Fixed a crash when closing PwM/Pi.
261Added German translation for PwM/Pi. 263Added German translation for PwM/Pi.
262 264
263Made view change and Month View update faster in KO/Pi. 265Made view change and Month View update faster in KO/Pi.
264 266
265 267
266********** VERSION 1.9.18 ************ 268********** VERSION 1.9.18 ************
267 269
268FYI: The VERSION 1.9.17 was a testing release only. 270FYI: The VERSION 1.9.17 was a testing release only.
269Please read the changelog of VERSION 1.9.17 as well. 271Please read the changelog of VERSION 1.9.17 as well.
270 272
271Cleaned up the syncing config dialog. 273Cleaned up the syncing config dialog.
272Added sync config options for date range for events. 274Added sync config options for date range for events.
273Added sync config options for filters on incoming data. 275Added sync config options for filters on incoming data.
274Added sync config options for filters on outgoing data. 276Added sync config options for filters on outgoing data.
275Please read the updated SyncHowTo about the new filter settings. 277Please read the updated SyncHowTo about the new filter settings.
276These filter settings make it now possible to sync with shared 278These filter settings make it now possible to sync with shared
277calendars without writing back private or confidential data 279calendars without writing back private or confidential data
278(via the outgoing filters). 280(via the outgoing filters).
279To sync only with particular parts of a shared calendar, 281To sync only with particular parts of a shared calendar,
280the incoming filter settings can be used. 282the incoming filter settings can be used.
281An example can be found in the SyncHowTo. 283An example can be found in the SyncHowTo.
282Same for shared addressbooks. 284Same for shared addressbooks.
283 285
284Added a setting for the global kdepim data storage. 286Added a setting for the global kdepim data storage.
285Usually the data is stored in (yourhomedir/kdepim). 287Usually the data is stored in (yourhomedir/kdepim).
286Now you can set in the Global config dialog TAB, subTAB "Data storage path" 288Now you can set in the Global config dialog TAB, subTAB "Data storage path"
287a directory where all the kdepim data is stored. 289a directory where all the kdepim data is stored.
288That makes it easy to save all kdepim data on a SD card on the Z, for example. 290That makes it easy to save all kdepim data on a SD card on the Z, for example.
289 291
290KO/Pi: 292KO/Pi:
291The timeedit input has a pulldown list for times. 293The timeedit input has a pulldown list for times.
292If opened, this pulldown list should now has the right time highlighted. 294If opened, this pulldown list should now has the right time highlighted.
293Added the possibility to exclude events/todos/journals in a filter. 295Added the possibility to exclude events/todos/journals in a filter.
294You should exclude journals, if you do not want them to sync with a public calendar. 296You should exclude journals, if you do not want them to sync with a public calendar.
295 297
296KA/Pi: 298KA/Pi:
297Added the possibility to in/exclude public/private/confidential contacts to a filter. 299Added the possibility to in/exclude public/private/confidential contacts to a filter.
298If you have already defined filterrules in KA/Pi you have to adjust them all by setting the "include public/private/confidential" property manually. Sorry for that ... 300If you have already defined filterrules in KA/Pi you have to adjust them all by setting the "include public/private/confidential" property manually. Sorry for that ...
299Added printing of card view and details view on desktop. 301Added printing of card view and details view on desktop.
300Printing of list view is not working... 302Printing of list view is not working...
301Added button for removing pictures in contact editor. 303Added button for removing pictures in contact editor.
302Parsing data fix of KA/Pi version 1.9.17. 304Parsing data fix of KA/Pi version 1.9.17.
303Fixed the "parse name automatically" problem of KA/Pi version 1.9.17. 305Fixed the "parse name automatically" problem of KA/Pi version 1.9.17.
304Fixed some syncing merging problems. 306Fixed some syncing merging problems.
305 307
306 308
307********** VERSION 1.9.17 ************ 309********** VERSION 1.9.17 ************
308 310
309KO/Pi: 311KO/Pi:
310Fixed that tooltips were not updated after moving an item in agenda view. 312Fixed that tooltips were not updated after moving an item in agenda view.
311Fixed a bug in sorting start date for recurring events in list view. 313Fixed a bug in sorting start date for recurring events in list view.
312Changed the left button in todo viewer from "Agenda" to "Set completed". 314Changed the left button in todo viewer from "Agenda" to "Set completed".
313This makes it possible to change a todo in the What's Next View quickly to the completed state without leaving the What's Next View. 315This makes it possible to change a todo in the What's Next View quickly to the completed state without leaving the What's Next View.
314Added more info in the todo viewer: Startdate, parent/sub todos. 316Added more info in the todo viewer: Startdate, parent/sub todos.
315 317
316 318
317KA/Pi: 319KA/Pi:
318All fields search does now actually search all the (possible) fields, 320All fields search does now actually search all the (possible) fields,
319not only those listed in the contact list. 321not only those listed in the contact list.
320Made is possible to inline a picture in a vcard on the Z. 322Made is possible to inline a picture in a vcard on the Z.
321This was only possible on the desktop, now is it possible on the Z as well. 323This was only possible on the desktop, now is it possible on the Z as well.
322Fixed of missing save settings after filter configuration. 324Fixed of missing save settings after filter configuration.
323Made saving of addressbook much faster. 325Made saving of addressbook much faster.
324Fixed extension widget layout problem. 326Fixed extension widget layout problem.
325Fixed saving of default formatted name settings. 327Fixed saving of default formatted name settings.
326Fixed formatted name handling in edit dialog. 328Fixed formatted name handling in edit dialog.
327Added an option for changing formatted names of many contacts 329Added an option for changing formatted names of many contacts
328(menu: File - Change - Set formatted name). 330(menu: File - Change - Set formatted name).
329 331
330QWhatsThis was not working on the Z ( only black rectangle was shown). 332QWhatsThis was not working on the Z ( only black rectangle was shown).
331This is Fixed. 333This is Fixed.
332 334
333KDE-Sync: 335KDE-Sync:
334Now readonly KDE resources are synced as well. 336Now readonly KDE resources are synced as well.
335(They are not changed in KDE itself, of course). 337(They are not changed in KDE itself, of course).
336 338
337 339
338 340
339********** VERSION 1.9.16 ************ 341********** VERSION 1.9.16 ************
340 342
341KO/Pi: 343KO/Pi:
342Fixed search dialog size on Z 6000 (480x640 display). 344Fixed search dialog size on Z 6000 (480x640 display).
343Added setting to hide/show time in agenda items. 345Added setting to hide/show time in agenda items.
344Added setting to hide not running todos in todo view. 346Added setting to hide not running todos in todo view.
345Added columns for start date/time in todo view. 347Added columns for start date/time in todo view.
346Replaced the solid half-hour lines in agenda view by dot lines. 348Replaced the solid half-hour lines in agenda view by dot lines.
347Added possibility of printing the What's Next View on the desktop 349Added possibility of printing the What's Next View on the desktop
348(i.e. Windows and Linux). 350(i.e. Windows and Linux).
349Fixed a crash in KO/Pi when starting KO/Pi with What's Next view. 351Fixed a crash in KO/Pi when starting KO/Pi with What's Next view.
350Added tooltips in month view.(Tooltips only available on desktop) 352Added tooltips in month view.(Tooltips only available on desktop)
351 353
352Fixed a strange problem in KO/Pi alarm applet. 354Fixed a strange problem in KO/Pi alarm applet.
353Did not find the actual problem, 355Did not find the actual problem,
354such that now Qtopia reboots again if deinstalling the alarm applet. 356such that now Qtopia reboots again if deinstalling the alarm applet.
355But the alarm applet should work again. 357But the alarm applet should work again.
356 358
357KA/Pi: 359KA/Pi:
358Fixed the problem, that internal pictures were not saved. 360Fixed the problem, that internal pictures were not saved.
359 361
360Fixed a problem in the pi-sync mode by increasing the timeout for data transfer from 20 seconds to 5 minutes. 362Fixed a problem in the pi-sync mode by increasing the timeout for data transfer from 20 seconds to 5 minutes.
361 363
362Fixed some minor problems. (Like word wrap in help text windows). 364Fixed some minor problems. (Like word wrap in help text windows).
363 365
364Fixed a compiling problem in microkde/kresources. 366Fixed a compiling problem in microkde/kresources.
365 367
366KO/Pi is using zdbat (renamed to db2file) for syncing with Sharp DTM. 368KO/Pi is using zdbat (renamed to db2file) for syncing with Sharp DTM.
367This version now includes zdbat 1.0.0 (old version was zdbat 0.2.9) 369This version now includes zdbat 1.0.0 (old version was zdbat 0.2.9)
368such that now syncing KO/Pi with Sharp DTM should work on the 370such that now syncing KO/Pi with Sharp DTM should work on the
369Zaurus C 3000 model. 371Zaurus C 3000 model.
370 372
371********** VERSION 1.9.15 ************ 373********** VERSION 1.9.15 ************
372 374
373Usebilty enhancements in KO/Pi: 375Usebilty enhancements in KO/Pi:
374When clicking on the date in a month view cell, the day view is shown. 376When clicking on the date in a month view cell, the day view is shown.
375Old behaviour was, that the "new event" dialog popped up. 377Old behaviour was, that the "new event" dialog popped up.
376 378
377Added a one step "undo delete" in KO/Pi (Accessable in the "Action" menu). 379Added a one step "undo delete" in KO/Pi (Accessable in the "Action" menu).
378That means, you can restore the latest 380That means, you can restore the latest
379event/todo/journal you have deleted. 381event/todo/journal you have deleted.
380A journal is deleted, if you clear all the text of the journal. 382A journal is deleted, if you clear all the text of the journal.
381 383
382Fixed the bug of the editor dialogs in KO/Pi of version 1.9.14. 384Fixed the bug of the editor dialogs in KO/Pi of version 1.9.14.
383 385
384KA/Pi starting in 480x640 resolution: 386KA/Pi starting in 480x640 resolution:
385Hide the filter action in toolbar 387Hide the filter action in toolbar
386and added icons for undo/delete/redo in toolbar. 388and added icons for undo/delete/redo in toolbar.
387 389
388Change in OM/Pi ViewMail dialog: 390Change in OM/Pi ViewMail dialog:
389When clicking on the "delete" icon the mail is deleted after confirmation as usual. 391When clicking on the "delete" icon the mail is deleted after confirmation as usual.
390But the edit dialog is not closed as before, now the next mail in the folder is shown automatically (if there is any). 392But the edit dialog is not closed as before, now the next mail in the folder is shown automatically (if there is any).
391 393
392Fixed a crash when deleting mail-accounts in OM/Pi. 394Fixed a crash when deleting mail-accounts in OM/Pi.
393 395
394 396
diff --git a/bin/kdepim/kopiemail/germantranslation.txt b/bin/kdepim/kopiemail/germantranslation.txt
index 0d858a8..86a9569 100644
--- a/bin/kdepim/kopiemail/germantranslation.txt
+++ b/bin/kdepim/kopiemail/germantranslation.txt
@@ -1,274 +1,278 @@
1{ " Local Time"," Locale Zeit" }, 1{ " Local Time"," Locale Zeit" },
2{ "Preferences","Vorlieben" }, 2{ "Preferences","Vorlieben" },
3{ "Ok","Ok" }, 3{ "Ok","Ok" },
4{ "Default","Standard" }, 4{ "Default","Standard" },
5{ "Cancel","Abbrechen" }, 5{ "Cancel","Abbrechen" },
6{ "Global","Global" }, 6{ "Global","Global" },
7{ "Email","Email" }, 7{ "Email","Email" },
8{ "Phone","Phone" }, 8{ "Phone","Phone" },
9{ "SMS","SMS" }, 9{ "SMS","SMS" },
10{ "Fax","Fax" }, 10{ "Fax","Fax" },
11{ "Pager","Pager" }, 11{ "Pager","Pager" },
12{ "SIP","SIP" }, 12{ "SIP","SIP" },
13{ "Language:(needs restart)","Sprache (Neustart!)" }, 13{ "Language:(needs restart)","Sprache (Neustart!)" },
14{ "English","Englisch" }, 14{ "English","Englisch" },
15{ "German","Deutsch" }, 15{ "German","Deutsch" },
16{ "French","Französich" }, 16{ "French","Französich" },
17{ "Italian","Italienisch" }, 17{ "Italian","Italienisch" },
18{ "User defined (usertranslation.txt)","Benutzerdef.(usertranslation.txt)" }, 18{ "User defined (usertranslation.txt)","Benutzerdef.(usertranslation.txt)" },
19{ "Time Format(nr):","Zeit Format(Neustart!)" }, 19{ "Time Format(nr):","Zeit Format(Neustart!)" },
20{ "24:00","24:00" }, 20{ "24:00","24:00" },
21{ "12:00am","12:00am" }, 21{ "12:00am","12:00am" },
22{ "Week starts on Sunday","Woche beginnt Sonntags" }, 22{ "Week starts on Sunday","Woche beginnt Sonntags" },
23{ "Locale","Localisation" }, 23{ "Locale","Localisation" },
24{ "Date Format:","Datums Format:" }, 24{ "Date Format:","Datums Format:" },
25{ "24.03.2004 (%d.%m.%Y|%A %d %B %Y)","24.03.2004 (%d.%m.%Y|%A %d %B %Y)" }, 25{ "24.03.2004 (%d.%m.%Y|%A %d %B %Y)","24.03.2004 (%d.%m.%Y|%A %d %B %Y)" },
26{ "03.24.2004 (%m.%d.%Y|%A %B %d %Y)","03.24.2004 (%m.%d.%Y|%A %B %d %Y)" }, 26{ "03.24.2004 (%m.%d.%Y|%A %B %d %Y)","03.24.2004 (%m.%d.%Y|%A %B %d %Y)" },
27{ "2004-03-24 (%Y-%m-%d|%A %Y %B %d)","2004-03-24 (%Y-%m-%d|%A %Y %B %d)" }, 27{ "2004-03-24 (%Y-%m-%d|%A %Y %B %d)","2004-03-24 (%Y-%m-%d|%A %Y %B %d)" },
28{ "User defined","Benutzerdefiniert" }, 28{ "User defined","Benutzerdefiniert" },
29{ "User long date:","Format langes Datum:" }, 29{ "User long date:","Format langes Datum:" },
30{ "User short date:","Format kurzes Datum:" }, 30{ "User short date:","Format kurzes Datum:" },
31{ "Monday 19 April 2004: %A %d %B %Y","Montag 19 April 2004: %A %d %B %Y" }, 31{ "Monday 19 April 2004: %A %d %B %Y","Montag 19 April 2004: %A %d %B %Y" },
32{ "Mon 19.04.04: %a %d.%m.%y","Mon 19.04.04: %a %d.%m.%y" }, 32{ "Mon 19.04.04: %a %d.%m.%y","Mon 19.04.04: %a %d.%m.%y" },
33{ "Mon, 19.Apr.04: %a, %d.%b.%y","Mon, 19.Apr.04: %a, %d.%b.%y" }, 33{ "Mon, 19.Apr.04: %a, %d.%b.%y","Mon, 19.Apr.04: %a, %d.%b.%y" },
34{ "Date Format","Datums Format" }, 34{ "Date Format","Datums Format" },
35{ "Timezone:","Zeitzone:" }, 35{ "Timezone:","Zeitzone:" },
36{ "Add 30 min to selected Timezone","Addiere 30 min zur Zeitzone" }, 36{ "Add 30 min to selected Timezone","Addiere 30 min zur Zeitzone" },
37{ "Timezone has daylight saving","Zeitzone hat Sommerzeit" }, 37{ "Timezone has daylight saving","Zeitzone hat Sommerzeit" },
38{ "Actual start and end is the\nsunday before this date.","Tatsächlicher Beginn/Ende ist der\nSonntag vor diesem Datum!" }, 38{ "Actual start and end is the\nsunday before this date.","Tatsächlicher Beginn/Ende ist der\nSonntag vor diesem Datum!" },
39{ "The year in the date is ignored.","Das Jahr vom Datum wird ignoriert." }, 39{ "The year in the date is ignored.","Das Jahr vom Datum wird ignoriert." },
40{ "Daylight start:","Sommerzeit Beginn:" }, 40{ "Daylight start:","Sommerzeit Beginn:" },
41{ "Mon","Mo" }, 41{ "Mon","Mo" },
42{ "Tue","Di" }, 42{ "Tue","Di" },
43{ "Wed","Mi" }, 43{ "Wed","Mi" },
44{ "Thu","Do" }, 44{ "Thu","Do" },
45{ "Fri","Fr" }, 45{ "Fri","Fr" },
46{ "Sat","Sa" }, 46{ "Sat","Sa" },
47{ "Sun","So" }, 47{ "Sun","So" },
48{ "January","Januar" }, 48{ "January","Januar" },
49{ "February","Februar" }, 49{ "February","Februar" },
50{ "March","März" }, 50{ "March","März" },
51{ "April","April" }, 51{ "April","April" },
52{ "May","Mai" }, 52{ "May","Mai" },
53{ "June","Juni" }, 53{ "June","Juni" },
54{ "July","Juli" }, 54{ "July","Juli" },
55{ "August","August" }, 55{ "August","August" },
56{ "September","September" }, 56{ "September","September" },
57{ "October","Oktober" }, 57{ "October","Oktober" },
58{ "November","November" }, 58{ "November","November" },
59{ "December","Dezember" }, 59{ "December","Dezember" },
60{ "tomorrow","morgen" }, 60{ "tomorrow","morgen" },
61{ "today","heute" }, 61{ "today","heute" },
62{ "yesterday","gestern" }, 62{ "yesterday","gestern" },
63{ "Monday","Montag" }, 63{ "Monday","Montag" },
64{ "Tuesday","Dienstag" }, 64{ "Tuesday","Dienstag" },
65{ "Wednesday","Mittwoch" }, 65{ "Wednesday","Mittwoch" },
66{ "Thursday","Donnerstag" }, 66{ "Thursday","Donnerstag" },
67{ "Friday","Freitag" }, 67{ "Friday","Freitag" },
68{ "Saturday","Samstag" }, 68{ "Saturday","Samstag" },
69{ "Sunday","Sonntag" }, 69{ "Sunday","Sonntag" },
70{ "Daylight end:","Sommerzeit Ende:" }, 70{ "Daylight end:","Sommerzeit Ende:" },
71{ "Time Zone","Zeitzone" }, 71{ "Time Zone","Zeitzone" },
72{ "Used Mail Client","Benutzter Mail Client" }, 72{ "Used Mail Client","Benutzter Mail Client" },
73{ "Channel:","Channel:" }, 73{ "Channel:","Channel:" },
74{ "Message:","Message:" }, 74{ "Message:","Message:" },
75{ "Parameters:","Parameter:" }, 75{ "Parameters:","Parameter:" },
76{ "HINT: Delimiter=; Name=%1,Email=%2","Hinweis: Begrenzer=; Name=%1,Email=%2" }, 76{ "HINT: Delimiter=; Name=%1,Email=%2","Hinweis: Begrenzer=; Name=%1,Email=%2" },
77{ "extra Message:","extra Message:" }, 77{ "extra Message:","extra Message:" },
78{ "extra Parameters:","extra Parameter:" }, 78{ "extra Parameters:","extra Parameter:" },
79{ "HINT: Emails=%1,Attachments=%2","Hinweis: Emails=%1,Attachments=%2" }, 79{ "HINT: Emails=%1,Attachments=%2","Hinweis: Emails=%1,Attachments=%2" },
80{ "External Apps.","Externe Appl." }, 80{ "External Apps.","Externe Appl." },
81{ "General","Allgemein" }, 81{ "General","Allgemein" },
82{ "Full &name:","Vor- und &Nachname:" }, 82{ "Full &name:","Vor- und &Nachname:" },
83{ "E&mail address:","E&mail Adresse:" }, 83{ "E&mail address:","E&mail Adresse:" },
84{ "Fonts","Schriftart" }, 84{ "Fonts","Schriftart" },
85{ "Choose...","Wähle..." }, 85{ "Choose...","Wähle..." },
86{ "Used %1 Client","Benutzter %1 Client" }, 86{ "Used %1 Client","Benutzter %1 Client" },
87{ "No email client installed","Kein Email Klient installiert" }, 87{ "No email client installed","Kein Email Klient installiert" },
88{ "Userdefined email client","Benutzerdef. Email Klient" }, 88{ "Userdefined email client","Benutzerdef. Email Klient" },
89{ "OM/Pi email client","OM/Pi Email Klient" }, 89{ "OM/Pi email client","OM/Pi Email Klient" },
90{ "Delete","Löschen" }, 90{ "Delete","Löschen" },
91{ "New","Neu" }, 91{ "New","Neu" },
92{ "Edit","Bearbeite" }, 92{ "Edit","Bearbeite" },
93{ "Close","Schließen" }, 93{ "Close","Schließen" },
94{ "Size","Größe" }, 94{ "Size","Größe" },
95{ "Date","Datum" }, 95{ "Date","Datum" },
96{ "Please set at","Bitte einstellen in" }, 96{ "Please set at","Bitte einstellen in" },
97{ "Settings@General TAB","Einstellungen@Allgemein TAB" }, 97{ "Settings@General TAB","Einstellungen@Allgemein TAB" },
98{ "KOpieMail/Pi","KOpieMail/Pi" }, 98{ "KOpieMail/Pi","KOpieMail/Pi" },
99{ "Mail","Mail" }, 99{ "Mail","Mail" },
100{ "Settings","Konfig" }, 100{ "Settings","Konfig" },
101{ "Get all new mails","Hole alle neuen Mails" }, 101{ "Get all new mails","Hole alle neuen Mails" },
102{ "Get new messages","Hole neue mails" }, 102{ "Get new messages","Hole neue mails" },
103{ "Compose new mail","Schreibe neue Mail" }, 103{ "Compose new mail","Schreibe neue Mail" },
104{ "Send queued mails","Sende gespeicherte Mails" }, 104{ "Send queued mails","Sende gespeicherte Mails" },
105{ "Show/Hide folders","Zeige Verzeichnisse" }, 105{ "Show/Hide folders","Zeige Verzeichnisse" },
106{ "Delete Mail","Lösche Mail" }, 106{ "Delete Mail","Lösche Mail" },
107{ "Edit settings","Ändere Einstellungen" }, 107{ "Edit settings","Ändere Einstellungen" },
108{ "Configure accounts","Konfiguriere Zugänge" }, 108{ "Configure accounts","Konfiguriere Zugänge" },
109{ "Mailbox","Mailbox" }, 109{ "Mailbox","Mailbox" },
110{ "Subject","Betreff" }, 110{ "Subject","Betreff" },
111{ "Sender","Sender" }, 111{ "Sender","Sender" },
112{ "Size","Größe" }, 112{ "Size","Größe" },
113{ "Date","Datum" }, 113{ "Date","Datum" },
114{ "Close","Schliessen" }, 114{ "Close","Schliessen" },
115{ "Help","Hilfe" }, 115{ "Help","Hilfe" },
116{ "About","Über" }, 116{ "About","Über" },
117{ "Licence","Lizenz" }, 117{ "Licence","Lizenz" },
118{ "LibEtPan Licence","LibEtPan Lizenz" }, 118{ "LibEtPan Licence","LibEtPan Lizenz" },
119{ "Settings - some need a restart (nr)","Einstellungen - manche benötigen einen Neustart (nr)" }, 119{ "Settings - some need a restart (nr)","Einstellungen - manche benötigen einen Neustart (nr)" },
120{ "HINT: Separate multiple\neMail addresses by ";"","Hinweis:Trenne mehrere\nAddressen mit einem ";"" }, 120{ "HINT: Separate multiple\neMail addresses by ";"","Hinweis:Trenne mehrere\nAddressen mit einem ";"" },
121{ "Ignore above settings and\nuse KA/Pi "Who am I" instead!","Ignoriere obige Einstellungen und\nbenutze KA/Pi "Wer bin ich"\nstattdessen!" }, 121{ "Ignore above settings and\nuse KA/Pi "Who am I" instead!","Ignoriere obige Einstellungen und\nbenutze KA/Pi "Wer bin ich"\nstattdessen!" },
122{ "View mail as html","Zeige Mails als html" }, 122{ "View mail as html","Zeige Mails als html" },
123{ "Send mails later","Sende Mails später" }, 123{ "Send mails later","Sende Mails später" },
124{ "Application(nr)","Applikation(nr)" }, 124{ "Application(nr)","Applikation(nr)" },
125{ "OK","OK" }, 125{ "OK","OK" },
126{ "Compose mail:","Verfasse Mail:" }, 126{ "Compose mail:","Verfasse Mail:" },
127{ "Dear Mr.","Hallo Herr" }, 127{ "Dear Mr.","Hallo Herr" },
128{ "Read mail:","Lese Mail:" }, 128{ "Read mail:","Lese Mail:" },
129{ "Hello","Hallo" }, 129{ "Hello","Hallo" },
130{ "Configure Accounts","Konfigure Zugänge" }, 130{ "Configure Accounts","Konfigure Zugänge" },
131{ "Name of the Account","Name des Zugangs" }, 131{ "Name of the Account","Name des Zugangs" },
132{ "News","News" }, 132{ "News","News" },
133{ "Account","Zugang" }, 133{ "Account","Zugang" },
134{ "Type","Typ" }, 134{ "Type","Typ" },
135{ "<p>Please select an account.</p>","<p>Bitte wähle einen Zugang.</p>" }, 135{ "<p>Please select an account.</p>","<p>Bitte wähle einen Zugang.</p>" },
136{ "Error","Fehler" }, 136{ "Error","Fehler" },
137{ "Configure NNTP","Konfiguriere News" }, 137{ "Configure NNTP","Konfiguriere News" },
138{ "Port","Port" }, 138{ "Port","Port" },
139{ "Server","Server" }, 139{ "Server","Server" },
140{ "Use SSL","Benutze SSL" }, 140{ "Use SSL","Benutze SSL" },
141{ "User","Benutzer" }, 141{ "User","Benutzer" },
142{ "Password","Passwort" }, 142{ "Password","Passwort" },
143{ "Use Login","Benutze Login" }, 143{ "Use Login","Benutze Login" },
144{ "Newsgroup","Newsgroup" }, 144{ "Newsgroup","Newsgroup" },
145{ "Get newsgroup list from server","Hole Newsgroup Liste vom Server" }, 145{ "Get newsgroup list from server","Hole Newsgroup Liste vom Server" },
146{ "Filter:","Filter:" }, 146{ "Filter:","Filter:" },
147{ "Show subscribed","Zeige abbonnierte" }, 147{ "Show subscribed","Zeige abbonnierte" },
148{ "Groups","NewsGroups" }, 148{ "Groups","NewsGroups" },
149{ "Configure IMAP","Konfiguriere IMAP" }, 149{ "Configure IMAP","Konfiguriere IMAP" },
150{ "Use secure sockets:","Benutze sichere Verbindung:" }, 150{ "Use secure sockets:","Benutze sichere Verbindung:" },
151{ "ssh $SERVER exec","ssh $SERVER exec" }, 151{ "ssh $SERVER exec","ssh $SERVER exec" },
152{ "Prefix","Prefix" }, 152{ "Prefix","Prefix" },
153{ "Local storage folder:","Lokales Verzeichnis:" }, 153{ "Local storage folder:","Lokales Verzeichnis:" },
154{ "Get only messages smaller","Hole nur Nachrichten kleiner" }, 154{ "Get only messages smaller","Hole nur Nachrichten kleiner" },
155{ "kB","kB" }, 155{ "kB","kB" },
156{ "Leave Messages on Server","Belasse Nachrichten auf dem Server" }, 156{ "Leave Messages on Server","Belasse Nachrichten auf dem Server" },
157{ "Configure POP3","Konfiguriere POP3" }, 157{ "Configure POP3","Konfiguriere POP3" },
158{ "ssh $SERVER exec imapd","ssh $SERVER exec imapd" }, 158{ "ssh $SERVER exec imapd","ssh $SERVER exec imapd" },
159{ "Configure SMTP","Konfiguriere SMTP" }, 159{ "Configure SMTP","Konfiguriere SMTP" },
160{ "Name of the SMTP Server","Name des SMTP Servers" }, 160{ "Name of the SMTP Server","Name des SMTP Servers" },
161{ "Port of the SMTP Server","Port des SMTP Servers" }, 161{ "Port of the SMTP Server","Port des SMTP Servers" },
162{ "Fetching folder list","Hole Verzeichnis Liste" }, 162{ "Fetching folder list","Hole Verzeichnis Liste" },
163{ "Fetch ","Hole " }, 163{ "Fetch ","Hole " },
164{ "Fetching header list","Hole Titel Liste" }, 164{ "Fetching header list","Hole Titel Liste" },
165{ "Mailbox has %1 mails","Mailbox hat %1 Mails" }, 165{ "Mailbox has %1 mails","Mailbox hat %1 Mails" },
166{ "Read this mail","Lies diese Mail" }, 166{ "Read this mail","Lies diese Mail" },
167{ "Move/Copy this mail","Verschiebe/kopiere diese Mail" }, 167{ "Move/Copy this mail","Verschiebe/kopiere diese Mail" },
168{ "Delete this mail","Lösche diese Mail" }, 168{ "Delete this mail","Lösche diese Mail" },
169{ "Move/Copy all selected mail","Verschiebe/kopiere selektierte Mails" }, 169{ "Move/Copy all selected mail","Verschiebe/kopiere selektierte Mails" },
170{ "Delete all selected mails","Lösche alle selektierten Mails" }, 170{ "Delete all selected mails","Lösche alle selektierten Mails" },
171{ "Clear selection","Selektion aufheben" }, 171{ "Clear selection","Selektion aufheben" },
172{ "Reply","Antworten" }, 172{ "Reply","Antworten" },
173{ "Forward","Weiterleiten" }, 173{ "Forward","Weiterleiten" },
174{ "Attachments","Anhang" }, 174{ "Attachments","Anhang" },
175{ "Show Html","Zeige in html" }, 175{ "Show Html","Zeige in html" },
176{ "Description","Beschreibung" }, 176{ "Description","Beschreibung" },
177{ "Filename","Dateiname" }, 177{ "Filename","Dateiname" },
178{ "E-Mail by %1","E-Mail von %1" }, 178{ "E-Mail by %1","E-Mail von %1" },
179{ "Cc","Kopie" }, 179{ "Cc","Kopie" },
180{ "To","An" }, 180{ "To","An" },
181{ "From","Von" }, 181{ "From","Von" },
182{ "<p>Do you really want to delete this mail? <br><br>","<p>Wollen Sie diese Mail wirklich löschen? <br><br>" }, 182{ "<p>Do you really want to delete this mail? <br><br>","<p>Wollen Sie diese Mail wirklich löschen? <br><br>" },
183{ "Mailbox has %1 mail(s)","Mailbox hat %1 Mail(s)" }, 183{ "Mailbox has %1 mail(s)","Mailbox hat %1 Mail(s)" },
184{ "Move/Copie all mails","Verschiebe/kopiere alle Mails" }, 184{ "Move/Copie all mails","Verschiebe/kopiere alle Mails" },
185{ "Delete all mails","Lösche alle Mails" }, 185{ "Delete all mails","Lösche alle Mails" },
186{ "Create new subfolder","Neues Unterverzeichnis" }, 186{ "Create new subfolder","Neues Unterverzeichnis" },
187{ "Delete folder","Lösche Verzeichnis" }, 187{ "Delete folder","Lösche Verzeichnis" },
188{ "Refresh folder list","Aktualisiere Liste" }, 188{ "Refresh folder list","Aktualisiere Liste" },
189{ "Create new folder","Neues Verzeichnis" }, 189{ "Create new folder","Neues Verzeichnis" },
190{ "Disconnect","Diskonnect" }, 190{ "Disconnect","Diskonnect" },
191{ "Set offline","Gehe offline" }, 191{ "Set offline","Gehe offline" },
192{ "Select target box","Wähle Ziel Box" }, 192{ "Select target box","Wähle Ziel Box" },
193{ "<b>Store mail(s) to</b>","<b>Speichere Mail(s) nach</b>" }, 193{ "<b>Store mail(s) to</b>","<b>Speichere Mail(s) nach</b>" },
194{ "Folder:","Verzeichnis:" }, 194{ "Folder:","Verzeichnis:" },
195{ "Account:","Zugang:" }, 195{ "Account:","Zugang:" },
196{ "Prefix will prepend, do not enter","Pfad-Prefix wird vorangestellt" }, 196{ "Prefix will prepend, do not enter","Pfad-Prefix wird vorangestellt" },
197{ "Move mail(s)","Verschiebe Mail(s)" }, 197{ "Move mail(s)","Verschiebe Mail(s)" },
198{ "only mails smaller","nur Mails kleiner" }, 198{ "only mails smaller","nur Mails kleiner" },
199{ " kB"," kB" }, 199{ " kB"," kB" },
200{ " message %1 of %2"," Nachricht %1 von %2" }, 200{ " message %1 of %2"," Nachricht %1 von %2" },
201{ "Copying...","Am Kopieren..." }, 201{ "Copying...","Am Kopieren..." },
202{ "Copy message %1 of %2","Kopiere Nachricht %1 von %2" }, 202{ "Copy message %1 of %2","Kopiere Nachricht %1 von %2" },
203{ "Do you really want to delete\nall selected mails?","Wollen Sie wirklich alle\nselektierten Mails Löschen?" }, 203{ "Do you really want to delete\nall selected mails?","Wollen Sie wirklich alle\nselektierten Mails Löschen?" },
204{ "Delete All Mails","Lösche alle Mails" }, 204{ "Delete All Mails","Lösche alle Mails" },
205{ "Deleting ...","Am Löschen..." }, 205{ "Deleting ...","Am Löschen..." },
206{ "Delete message %1 of %2","Lösche Nachricht %1 von %2" }, 206{ "Delete message %1 of %2","Lösche Nachricht %1 von %2" },
207{ "Compose Message","Verfasse Nachricht" }, 207{ "Compose Message","Verfasse Nachricht" },
208{ "Reply-To","Antwort-An" }, 208{ "Reply-To","Antwort-An" },
209{ "BCC","BCC" }, 209{ "BCC","BCC" },
210{ "Signature","Signatur" }, 210{ "Signature","Signatur" },
211{ "CC","Kopie" }, 211{ "CC","Kopie" },
212{ "Options","Optionen" }, 212{ "Options","Optionen" },
213{ "Delete File","Lösche Datei" }, 213{ "Delete File","Lösche Datei" },
214{ "Add File","Füge Datei hinzu" }, 214{ "Add File","Füge Datei hinzu" },
215{ "Attachment","Anhang" }, 215{ "Attachment","Anhang" },
216{ "send later","sende später" }, 216{ "send later","sende später" },
217{ "use:","via:" }, 217{ "use:","via:" },
218{ "Save","Speichern" }, 218{ "Save","Speichern" },
219{ "Name","Name" }, 219{ "Name","Name" },
220{ "No Receiver spezified","Kein Empfänger angegeben" }, 220{ "No Receiver spezified","Kein Empfänger angegeben" },
221{ "Sending mail","Sende Mail" }, 221{ "Sending mail","Sende Mail" },
222{ "No","Nein" }, 222{ "No","Nein" },
223{ "Yes","Ja" }, 223{ "Yes","Ja" },
224{ "Store message into drafts?\n","Speichere Nachricht in Entwürfe?\n" }, 224{ "Store message into drafts?\n","Speichere Nachricht in Entwürfe?\n" },
225{ "Store message?","Nachricht speichern?" }, 225{ "Store message?","Nachricht speichern?" },
226{ "Select Type","Selektiere Typ" }, 226{ "Select Type","Selektiere Typ" },
227{ "Select Account Type","Wähle Art des Zugangs" }, 227{ "Select Account Type","Wähle Art des Zugangs" },
228{ "IMAP","IMAP (online lesen)" }, 228{ "IMAP","IMAP (online lesen)" },
229{ "POP3","POP3 (holen)" }, 229{ "POP3","POP3 (holen)" },
230{ "SMTP","SMTP (senden)" }, 230{ "SMTP","SMTP (senden)" },
231{ "<p>Do you really want to delete the selected Account?</p>","<p>Möchten Sie wirklich den ausgewählten Account löschen?</p>" }, 231{ "<p>Do you really want to delete the selected Account?</p>","<p>Möchten Sie wirklich den ausgewählten Account löschen?</p>" },
232{ "Question","Eine Frage..." }, 232{ "Question","Eine Frage..." },
233{ "Send this message?","Nachricht wirklich senden?" }, 233{ "Send this message?","Nachricht wirklich senden?" },
234{ "Stop editing message","Stop editing message" }, 234{ "Stop editing message","Stop editing message" },
235{ "Sending mail %1 of %2","Sende Mail %1 von %2" }, 235{ "Sending mail %1 of %2","Sende Mail %1 von %2" },
236{ "%1 of %2 bytes send","%1 von %2 Bytes gesendet" }, 236{ "%1 of %2 bytes send","%1 von %2 Bytes gesendet" },
237{ "Refresh header list","Aktualisiere Titel Liste" }, 237{ "Refresh header list","Aktualisiere Titel Liste" },
238{ "Define a smtp\n account first!\n","Bitte zuerst einen\nSMTP Account anlegen!\n" }, 238{ "Define a smtp\n account first!\n","Bitte zuerst einen\nSMTP Account anlegen!\n" },
239{ "Mail queue flushed","Gespeicherte Mails gesendet!" }, 239{ "Mail queue flushed","Gespeicherte Mails gesendet!" },
240{ "Please create an\nSMTP account first.\nThe SMTP is needed\nfor sending mail.\n","Bitte legen Sie einen\nSMTP Account an.\nDer SMTP Account wird\nfür das Versenden von\nMails benötigt!" }, 240{ "Please create an\nSMTP account first.\nThe SMTP is needed\nfor sending mail.\n","Bitte legen Sie einen\nSMTP Account an.\nDer SMTP Account wird\nfür das Versenden von\nMails benötigt!" },
241{ "Show next mail","Zeige nächste Mail" }, 241{ "Show next mail","Zeige nächste Mail" },
242{ "End of List","Ende der Liste" }, 242{ "End of List","Ende der Liste" },
243{ "Language","Sprache" }, 243{ "Language","Sprache" },
244{ "Time Format","Zeit Format" }, 244{ "Time Format","Zeit Format" },
245{ "%1 groups subscribed","%1 Guppen abboniert" }, 245{ "%1 groups subscribed","%1 Guppen abboniert" },
246{ "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" }, 246{ "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" },
247{ "<b>New data storage dir:</b>","<b>Neues Datenspeicherverzeichnis:</b>" }, 247{ "<b>New data storage dir:</b>","<b>Neues Datenspeicherverzeichnis:</b>" },
248{ "New dirs are created automatically","Neue Verzeichnisse werden aut. erstellt" }, 248{ "New dirs are created automatically","Neue Verzeichnisse werden aut. erstellt" },
249{ "Save settings","Speichere Einstellungen" }, 249{ "Save settings","Speichere Einstellungen" },
250{ "Save standard","Speichere Standard" }, 250{ "Save standard","Speichere Standard" },
251{ "<b>New settings are used\nafter a restart</b>","<b>Neue Einstellungen werden nach\neinem Neustart genutzt</b>" }, 251{ "<b>New settings are used\nafter a restart</b>","<b>Neue Einstellungen werden nach\neinem Neustart genutzt</b>" },
252{ "Settings are stored in\n%1","Einstellungen werden gespeichert in:\n%1" }, 252{ "Settings are stored in\n%1","Einstellungen werden gespeichert in:\n%1" },
253{ "Data storage path","Daten Speicherpfad" }, 253{ "Data storage path","Daten Speicherpfad" },
254{ "userdefined","benutzerdefiniert" }, 254{ "userdefined","benutzerdefiniert" },
255{ "Reply to this mail","Beantworte diese Mail" }, 255{ "Reply to this mail","Beantworte diese Mail" },
256{ "Su:","Be:" }, 256{ "Su:","Be:" },
257{ "Fr:","Vo:" }, 257{ "Fr:","Vo:" },
258{ "To:","An:" }, 258{ "To:","An:" },
259{ "Download Mail","Mail runterladen" }, 259{ "Download Mail","Mail runterladen" },
260{ "View Source","Zeige Source" }, 260{ "View Source","Zeige Source" },
261{ "Show "To" field in list view","Zeige "An" Feld in Listenansicht" }, 261{ "Show "To" field in list view","Zeige "An" Feld in Listenansicht" },
262{ "Show info fields at startup","Zeige Info Felder beim Start" }, 262{ "Show info fields at startup","Zeige Info Felder beim Start" },
263{ "Show "Subject" info field","Zeige "Betreff" Info Feld" }, 263{ "Show "Subject" info field","Zeige "Betreff" Info Feld" },
264{ "Show "From" info field","Zeige "Von" Info Feld" }, 264{ "Show "From" info field","Zeige "Von" Info Feld" },
265{ "Show "To" info field","Zeige "An" Info Feld" }, 265{ "Show "To" info field","Zeige "An" Info Feld" },
266{ "Mail saved as draft!","Mail als Entwurf gespeichert!" }, 266{ "Mail saved as draft!","Mail als Entwurf gespeichert!" },
267{ "Save signature","Speichere Signatur" }, 267{ "Save signature","Speichere Signatur" },
268{ "No paths allowed in\nlocal folder settings.\nPlease specify a folder\nname or leave empty\nto create local folder\nwith account name\nautomatically.","Beim lokalen Verzeichnis\nsind keine Pfade erlaubt.\nBitte Verzeichnisnamen\nangeben oder leer lassen\num automatisch ein lokales\nVerzeichnis mit dem\nZugangsnamen anzulegen." },
269{ "Do you really want to\nsend all queued mails?","Möchten sie wirklich\nalle Mails im\nOutgoing-Ordner\nsenden?" },
270{ "Sending all mails","Senden aller Mails" },
271{ "SMTP Account:","SMTP Zugang:" },
272{ "Select SMTP Account","Wähle SMTP Zugang" },
273{ "Error sending mail:\n%1","Fehler beim Mailversand:\n%1\nHaben Sie vergessen\ndie Post ausreichend\nzu frankieren? ;-)" },
274{ "Error sending mail","Fehler beim Mailversand" },
275{ "Error sending queued mail.\nBreaking.","Fehler beim Mailversand.\nAbbruch." },
268{ "","" }, 276{ "","" },
269{ "","" }, 277{ "","" },
270{ "","" }, 278{ "","" }, \ No newline at end of file
271{ "","" },
272{ "","" },
273{ "","" },
274{ "","" },
diff --git a/kmicromail/editaccounts.cpp b/kmicromail/editaccounts.cpp
index 8253c91..f1075c0 100644
--- a/kmicromail/editaccounts.cpp
+++ b/kmicromail/editaccounts.cpp
@@ -1,681 +1,693 @@
1 1
2#include <qdialog.h> 2#include <qdialog.h>
3#include "kapplication.h" 3#include "kapplication.h"
4#include "defines.h" 4#include "defines.h"
5#include "editaccounts.h" 5#include "editaccounts.h"
6/* OPIE */ 6/* OPIE */
7#include <qpe/qpeapplication.h> 7#include <qpe/qpeapplication.h>
8 8
9/* QT */ 9/* QT */
10#include <qstringlist.h> 10#include <qstringlist.h>
11 11
12#include <qcombobox.h> 12#include <qcombobox.h>
13#include <qcheckbox.h> 13#include <qcheckbox.h>
14#include <qmessagebox.h> 14#include <qmessagebox.h>
15#include <qpushbutton.h> 15#include <qpushbutton.h>
16#include <qlineedit.h> 16#include <qlineedit.h>
17#include <qlabel.h> 17#include <qlabel.h>
18#include <qtabwidget.h> 18#include <qtabwidget.h>
19#include <qlistview.h> 19#include <qlistview.h>
20#include <qspinbox.h> 20#include <qspinbox.h>
21#include <klocale.h> 21#include <klocale.h>
22#include <kfiledialog.h> 22#include <kfiledialog.h>
23 23
24#include <libmailwrapper/nntpwrapper.h> 24#include <libmailwrapper/nntpwrapper.h>
25 25
26using namespace Opie::Core; 26using namespace Opie::Core;
27 27
28AccountListItem::AccountListItem( QListView *parent, Account *a) 28AccountListItem::AccountListItem( QListView *parent, Account *a)
29 : QListViewItem( parent ) 29 : QListViewItem( parent )
30{ 30{
31 account = a; 31 account = a;
32 setText( 0, account->getAccountName() ); 32 setText( 0, account->getAccountName() );
33 QString ttext = ""; 33 QString ttext = "";
34 switch (account->getType()) { 34 switch (account->getType()) {
35 case MAILLIB::A_NNTP: 35 case MAILLIB::A_NNTP:
36 ttext="NNTP"; 36 ttext="NNTP";
37 break; 37 break;
38 case MAILLIB::A_POP3: 38 case MAILLIB::A_POP3:
39 ttext = "POP3"; 39 ttext = "POP3";
40 break; 40 break;
41 case MAILLIB::A_IMAP: 41 case MAILLIB::A_IMAP:
42 ttext = "IMAP"; 42 ttext = "IMAP";
43 break; 43 break;
44 case MAILLIB::A_SMTP: 44 case MAILLIB::A_SMTP:
45 ttext = "SMTP"; 45 ttext = "SMTP";
46 break; 46 break;
47 default: 47 default:
48 ttext = "UNKNOWN"; 48 ttext = "UNKNOWN";
49 break; 49 break;
50 } 50 }
51 setText( 1, ttext); 51 setText( 1, ttext);
52} 52}
53 53
54EditAccounts::EditAccounts( Settings *s, QWidget *parent, const char *name, bool modal, WFlags flags ) 54EditAccounts::EditAccounts( Settings *s, QWidget *parent, const char *name, bool modal, WFlags flags )
55 : EditAccountsUI( parent, name, modal, flags ) 55 : EditAccountsUI( parent, name, modal, flags )
56{ 56{
57 settings = s; 57 settings = s;
58 58
59 mailList->addColumn( i18n( "Account" ) ); 59 mailList->addColumn( i18n( "Account" ) );
60 mailList->addColumn( i18n( "Type" ) ); 60 mailList->addColumn( i18n( "Type" ) );
61 61
62 newsList->addColumn( i18n( "Account" ) ); 62 newsList->addColumn( i18n( "Account" ) );
63 63
64 connect( newMail, SIGNAL( clicked() ), SLOT( slotNewMail() ) ); 64 connect( newMail, SIGNAL( clicked() ), SLOT( slotNewMail() ) );
65 connect( editMail, SIGNAL( clicked() ), SLOT( slotEditMail() ) ); 65 connect( editMail, SIGNAL( clicked() ), SLOT( slotEditMail() ) );
66 connect( deleteMail, SIGNAL( clicked() ), SLOT( slotDeleteMail() ) ); 66 connect( deleteMail, SIGNAL( clicked() ), SLOT( slotDeleteMail() ) );
67 connect( newNews, SIGNAL( clicked() ), SLOT( slotNewNews() ) ); 67 connect( newNews, SIGNAL( clicked() ), SLOT( slotNewNews() ) );
68 connect( editNews, SIGNAL( clicked() ), SLOT( slotEditNews() ) ); 68 connect( editNews, SIGNAL( clicked() ), SLOT( slotEditNews() ) );
69 connect( deleteNews, SIGNAL( clicked() ), SLOT( slotDeleteNews() ) ); 69 connect( deleteNews, SIGNAL( clicked() ), SLOT( slotDeleteNews() ) );
70 70
71 slotFillLists(); 71 slotFillLists();
72} 72}
73 73
74void EditAccounts::slotFillLists() 74void EditAccounts::slotFillLists()
75{ 75{
76 mailList->clear(); 76 mailList->clear();
77 newsList->clear(); 77 newsList->clear();
78 78
79 QList<Account> accounts = settings->getAccounts(); 79 QList<Account> accounts = settings->getAccounts();
80 Account *it; 80 Account *it;
81 for ( it = accounts.first(); it; it = accounts.next() ) 81 for ( it = accounts.first(); it; it = accounts.next() )
82 { 82 {
83 if ( it->getType()==MAILLIB::A_NNTP ) 83 if ( it->getType()==MAILLIB::A_NNTP )
84 { 84 {
85 (void) new AccountListItem( newsList, it ); 85 (void) new AccountListItem( newsList, it );
86 } 86 }
87 else 87 else
88 { 88 {
89 (void) new AccountListItem( mailList, it ); 89 (void) new AccountListItem( mailList, it );
90 } 90 }
91 } 91 }
92} 92}
93 93
94void EditAccounts::slotNewMail() 94void EditAccounts::slotNewMail()
95{ 95{
96 QString *selection = new QString(); 96 QString *selection = new QString();
97 SelectMailType selType( selection, this, 0, true ); 97 SelectMailType selType( selection, this, 0, true );
98 selType.show(); 98 selType.show();
99 if ( QDialog::Accepted == selType.exec() ) 99 if ( QDialog::Accepted == selType.exec() )
100 { 100 {
101 slotNewAccount( *selection ); 101 slotNewAccount( *selection );
102 } 102 }
103} 103}
104 104
105void EditAccounts::slotNewAccount( const QString &type ) 105void EditAccounts::slotNewAccount( const QString &type )
106{ 106{
107 if ( type.compare( i18n("IMAP") ) == 0 ) 107 if ( type.compare( i18n("IMAP") ) == 0 )
108 { 108 {
109 IMAPaccount *account = new IMAPaccount(); 109 IMAPaccount *account = new IMAPaccount();
110 IMAPconfig imap( account, this, 0, true ); 110 IMAPconfig imap( account, this, 0, true );
111 111
112#ifndef DESKTOP_VERSION 112#ifndef DESKTOP_VERSION
113 imap.showMaximized(); 113 imap.showMaximized();
114#endif 114#endif
115 if ( QDialog::Accepted == imap.exec() ) 115 if ( QDialog::Accepted == imap.exec() )
116 { 116 {
117 settings->addAccount( account ); 117 settings->addAccount( account );
118 account->save(); 118 account->save();
119 slotFillLists(); 119 slotFillLists();
120 } 120 }
121 else 121 else
122 { 122 {
123 account->remove(); 123 account->remove();
124 } 124 }
125 } 125 }
126 else if ( type.compare( i18n("POP3") ) == 0 ) 126 else if ( type.compare( i18n("POP3") ) == 0 )
127 { 127 {
128 POP3account *account = new POP3account(); 128 POP3account *account = new POP3account();
129 POP3config pop3( account, this, 0, true, WStyle_ContextHelp ); 129 POP3config pop3( account, this, 0, true, WStyle_ContextHelp );
130 if ( QDialog::Accepted == KApplication::execDialog( &pop3 ) ) 130 if ( QDialog::Accepted == KApplication::execDialog( &pop3 ) )
131 { 131 {
132 settings->addAccount( account ); 132 settings->addAccount( account );
133 account->save(); 133 account->save();
134 slotFillLists(); 134 slotFillLists();
135 } 135 }
136 else 136 else
137 { 137 {
138 account->remove(); 138 account->remove();
139 } 139 }
140 } 140 }
141 else if ( type.compare( i18n("SMTP") ) == 0 ) 141 else if ( type.compare( i18n("SMTP") ) == 0 )
142 { 142 {
143 SMTPaccount *account = new SMTPaccount(); 143 SMTPaccount *account = new SMTPaccount();
144 SMTPconfig smtp( account, this, 0, true, WStyle_ContextHelp ); 144 SMTPconfig smtp( account, this, 0, true, WStyle_ContextHelp );
145 if ( QDialog::Accepted == KApplication::execDialog( &smtp ) ) 145 if ( QDialog::Accepted == KApplication::execDialog( &smtp ) )
146 { 146 {
147 settings->addAccount( account ); 147 settings->addAccount( account );
148 account->save(); 148 account->save();
149 slotFillLists(); 149 slotFillLists();
150 150
151 } 151 }
152 else 152 else
153 { 153 {
154 account->remove(); 154 account->remove();
155 } 155 }
156 } 156 }
157 else if ( type.compare( i18n("NNTP") ) == 0 ) 157 else if ( type.compare( i18n("NNTP") ) == 0 )
158 { 158 {
159 NNTPaccount *account = new NNTPaccount(); 159 NNTPaccount *account = new NNTPaccount();
160 NNTPconfig nntp( account, this, 0, true, WStyle_ContextHelp ); 160 NNTPconfig nntp( account, this, 0, true, WStyle_ContextHelp );
161 if ( QDialog::Accepted == KApplication::execDialog( &nntp ) ) 161 if ( QDialog::Accepted == KApplication::execDialog( &nntp ) )
162 { 162 {
163 settings->addAccount( account ); 163 settings->addAccount( account );
164 account->save(); 164 account->save();
165 slotFillLists(); 165 slotFillLists();
166 } 166 }
167 else 167 else
168 { 168 {
169 account->remove(); 169 account->remove();
170 } 170 }
171 } 171 }
172} 172}
173 173
174void EditAccounts::slotEditAccount( Account *account ) 174void EditAccounts::slotEditAccount( Account *account )
175{ 175{
176 if ( account->getType() == MAILLIB::A_IMAP ) 176 if ( account->getType() == MAILLIB::A_IMAP )
177 { 177 {
178 IMAPaccount *imapAcc = static_cast<IMAPaccount *>(account); 178 IMAPaccount *imapAcc = static_cast<IMAPaccount *>(account);
179 IMAPconfig imap( imapAcc, this, 0, true, WStyle_ContextHelp ); 179 IMAPconfig imap( imapAcc, this, 0, true, WStyle_ContextHelp );
180 if ( QDialog::Accepted == KApplication::execDialog( &imap ) ) 180 if ( QDialog::Accepted == KApplication::execDialog( &imap ) )
181 { 181 {
182 slotFillLists(); 182 slotFillLists();
183 } 183 }
184 } 184 }
185 else if ( account->getType()==MAILLIB::A_POP3 ) 185 else if ( account->getType()==MAILLIB::A_POP3 )
186 { 186 {
187 POP3account *pop3Acc = static_cast<POP3account *>(account); 187 POP3account *pop3Acc = static_cast<POP3account *>(account);
188 POP3config pop3( pop3Acc, this, 0, true, WStyle_ContextHelp ); 188 POP3config pop3( pop3Acc, this, 0, true, WStyle_ContextHelp );
189 if ( QDialog::Accepted == KApplication::execDialog( &pop3 ) ) 189 if ( QDialog::Accepted == KApplication::execDialog( &pop3 ) )
190 { 190 {
191 slotFillLists(); 191 slotFillLists();
192 } 192 }
193 } 193 }
194 else if ( account->getType()==MAILLIB::A_SMTP ) 194 else if ( account->getType()==MAILLIB::A_SMTP )
195 { 195 {
196 SMTPaccount *smtpAcc = static_cast<SMTPaccount *>(account); 196 SMTPaccount *smtpAcc = static_cast<SMTPaccount *>(account);
197 SMTPconfig smtp( smtpAcc, this, 0, true, WStyle_ContextHelp ); 197 SMTPconfig smtp( smtpAcc, this, 0, true, WStyle_ContextHelp );
198 if ( QDialog::Accepted == KApplication::execDialog( &smtp ) ) 198 if ( QDialog::Accepted == KApplication::execDialog( &smtp ) )
199 { 199 {
200 slotFillLists(); 200 slotFillLists();
201 } 201 }
202 } 202 }
203 else if ( account->getType()==MAILLIB::A_NNTP) 203 else if ( account->getType()==MAILLIB::A_NNTP)
204 { 204 {
205 NNTPaccount *nntpAcc = static_cast<NNTPaccount *>(account); 205 NNTPaccount *nntpAcc = static_cast<NNTPaccount *>(account);
206 NNTPconfig nntp( nntpAcc, this, 0, true, WStyle_ContextHelp ); 206 NNTPconfig nntp( nntpAcc, this, 0, true, WStyle_ContextHelp );
207 if ( QDialog::Accepted == KApplication::execDialog( &nntp ) ) 207 if ( QDialog::Accepted == KApplication::execDialog( &nntp ) )
208 { 208 {
209 slotFillLists(); 209 slotFillLists();
210 } 210 }
211 } 211 }
212} 212}
213 213
214void EditAccounts::slotDeleteAccount( Account *account ) 214void EditAccounts::slotDeleteAccount( Account *account )
215{ 215{
216 if ( QMessageBox::information( this, i18n( "Question" ), 216 if ( QMessageBox::information( this, i18n( "Question" ),
217 i18n( "<p>Do you really want to delete the selected Account?</p>" ), 217 i18n( "<p>Do you really want to delete the selected Account?</p>" ),
218 i18n( "Yes" ), i18n( "No" ) ) == 0 ) 218 i18n( "Yes" ), i18n( "No" ) ) == 0 )
219 { 219 {
220 settings->delAccount( account ); 220 settings->delAccount( account );
221 slotFillLists(); 221 slotFillLists();
222 } 222 }
223} 223}
224 224
225void EditAccounts::slotEditMail() 225void EditAccounts::slotEditMail()
226{ 226{
227 if ( !mailList->currentItem() ) 227 if ( !mailList->currentItem() )
228 { 228 {
229 QMessageBox::information( this, i18n( "Error" ), 229 QMessageBox::information( this, i18n( "Error" ),
230 i18n( "<p>Please select an account.</p>" ), 230 i18n( "<p>Please select an account.</p>" ),
231 i18n( "Ok" ) ); 231 i18n( "Ok" ) );
232 return; 232 return;
233 } 233 }
234 234
235 Account *a = ((AccountListItem *) mailList->currentItem())->getAccount(); 235 Account *a = ((AccountListItem *) mailList->currentItem())->getAccount();
236 slotEditAccount( a ); 236 slotEditAccount( a );
237} 237}
238 238
239void EditAccounts::slotDeleteMail() 239void EditAccounts::slotDeleteMail()
240{ 240{
241 if ( !mailList->currentItem() ) 241 if ( !mailList->currentItem() )
242 { 242 {
243 QMessageBox::information( this, i18n( "Error" ), 243 QMessageBox::information( this, i18n( "Error" ),
244 i18n( "<p>Please select an account.</p>" ), 244 i18n( "<p>Please select an account.</p>" ),
245 i18n( "Ok" ) ); 245 i18n( "Ok" ) );
246 return; 246 return;
247 } 247 }
248 248
249 Account *a = ((AccountListItem *) mailList->currentItem())->getAccount(); 249 Account *a = ((AccountListItem *) mailList->currentItem())->getAccount();
250 slotDeleteAccount( a ); 250 slotDeleteAccount( a );
251} 251}
252 252
253void EditAccounts::slotNewNews() 253void EditAccounts::slotNewNews()
254{ 254{
255 slotNewAccount( "NNTP" ); 255 slotNewAccount( "NNTP" );
256} 256}
257 257
258void EditAccounts::slotEditNews() 258void EditAccounts::slotEditNews()
259{ 259{
260 if ( !newsList->currentItem() ) 260 if ( !newsList->currentItem() )
261 { 261 {
262 QMessageBox::information( this, i18n( "Error" ), 262 QMessageBox::information( this, i18n( "Error" ),
263 i18n( "<p>Please select an account.</p>" ), 263 i18n( "<p>Please select an account.</p>" ),
264 i18n( "Ok" ) ); 264 i18n( "Ok" ) );
265 return; 265 return;
266 } 266 }
267 267
268 Account *a = ((AccountListItem *) newsList->currentItem())->getAccount(); 268 Account *a = ((AccountListItem *) newsList->currentItem())->getAccount();
269 slotEditAccount( a ); 269 slotEditAccount( a );
270} 270}
271 271
272void EditAccounts::slotDeleteNews() 272void EditAccounts::slotDeleteNews()
273{ 273{
274 if ( !newsList->currentItem() ) 274 if ( !newsList->currentItem() )
275 { 275 {
276 QMessageBox::information( this, i18n( "Error" ), 276 QMessageBox::information( this, i18n( "Error" ),
277 i18n( "<p>Please select an account.</p>" ), 277 i18n( "<p>Please select an account.</p>" ),
278 i18n( "Ok" ) ); 278 i18n( "Ok" ) );
279 return; 279 return;
280 } 280 }
281 281
282 Account *a = ((AccountListItem *) newsList->currentItem())->getAccount(); 282 Account *a = ((AccountListItem *) newsList->currentItem())->getAccount();
283 slotDeleteAccount( a ); 283 slotDeleteAccount( a );
284} 284}
285 285
286void EditAccounts::slotAdjustColumns() 286void EditAccounts::slotAdjustColumns()
287{ 287{
288 int currPage = configTab->currentPageIndex(); 288 int currPage = configTab->currentPageIndex();
289 289
290 configTab->showPage( mailTab ); 290 configTab->showPage( mailTab );
291 mailList->setColumnWidth( 0, mailList->visibleWidth() - 50 ); 291 mailList->setColumnWidth( 0, mailList->visibleWidth() - 50 );
292 mailList->setColumnWidth( 1, 50 ); 292 mailList->setColumnWidth( 1, 50 );
293 293
294 configTab->showPage( newsTab ); 294 configTab->showPage( newsTab );
295 newsList->setColumnWidth( 0, newsList->visibleWidth() ); 295 newsList->setColumnWidth( 0, newsList->visibleWidth() );
296 296
297 configTab->setCurrentPage( currPage ); 297 configTab->setCurrentPage( currPage );
298} 298}
299 299
300void EditAccounts::accept() 300void EditAccounts::accept()
301{ 301{
302 settings->saveAccounts(); 302 settings->saveAccounts();
303 303
304 QDialog::accept(); 304 QDialog::accept();
305} 305}
306 306
307/** 307/**
308 * SelectMailType 308 * SelectMailType
309 */ 309 */
310 310
311SelectMailType::SelectMailType( QString *selection, QWidget *parent, const char *name, bool modal, WFlags flags ) 311SelectMailType::SelectMailType( QString *selection, QWidget *parent, const char *name, bool modal, WFlags flags )
312 : SelectMailTypeUI( parent, name, modal, flags ) 312 : SelectMailTypeUI( parent, name, modal, flags )
313{ 313{
314 selected = selection; 314 selected = selection;
315 selected->replace( 0, selected->length(), typeBox->currentText() ); 315 selected->replace( 0, selected->length(), typeBox->currentText() );
316 connect( typeBox, SIGNAL( activated(const QString&) ), SLOT( slotSelection(const QString&) ) ); 316 connect( typeBox, SIGNAL( activated(const QString&) ), SLOT( slotSelection(const QString&) ) );
317} 317}
318 318
319void SelectMailType::slotSelection( const QString &sel ) 319void SelectMailType::slotSelection( const QString &sel )
320{ 320{
321 selected->replace( 0, selected->length(), sel ); 321 selected->replace( 0, selected->length(), sel );
322} 322}
323 323
324/** 324/**
325 * IMAPconfig 325 * IMAPconfig
326 */ 326 */
327 327
328IMAPconfig::IMAPconfig( IMAPaccount *account, QWidget *parent, const char *name, bool modal, WFlags flags ) 328IMAPconfig::IMAPconfig( IMAPaccount *account, QWidget *parent, const char *name, bool modal, WFlags flags )
329 : IMAPconfigUI( parent, name, modal, flags ) 329 : IMAPconfigUI( parent, name, modal, flags )
330{ 330{
331 data = account; 331 data = account;
332 332
333 fillValues(); 333 fillValues();
334 334
335 connect( ComboBox1, SIGNAL( activated(int) ), SLOT( slotConnectionToggle(int) ) ); 335 connect( ComboBox1, SIGNAL( activated(int) ), SLOT( slotConnectionToggle(int) ) );
336 ComboBox1->insertItem( "Only if available", 0 ); 336 ComboBox1->insertItem( "Only if available", 0 );
337 ComboBox1->insertItem( "Always, Negotiated", 1 ); 337 ComboBox1->insertItem( "Always, Negotiated", 1 );
338 ComboBox1->insertItem( "Connect on secure port", 2 ); 338 ComboBox1->insertItem( "Connect on secure port", 2 );
339 ComboBox1->insertItem( "Run command instead", 3 ); 339 ComboBox1->insertItem( "Run command instead", 3 );
340 CommandEdit->hide(); 340 CommandEdit->hide();
341 ComboBox1->setCurrentItem( data->ConnectionType() ); 341 ComboBox1->setCurrentItem( data->ConnectionType() );
342} 342}
343 343
344void IMAPconfig::slotConnectionToggle( int index ) 344void IMAPconfig::slotConnectionToggle( int index )
345{ 345{
346 if ( index == 2 ) 346 if ( index == 2 )
347 { 347 {
348 portLine->setText( IMAP_SSL_PORT ); 348 portLine->setText( IMAP_SSL_PORT );
349 } 349 }
350 else if ( index == 3 ) 350 else if ( index == 3 )
351 { 351 {
352 portLine->setText( IMAP_PORT ); 352 portLine->setText( IMAP_PORT );
353 CommandEdit->show(); 353 CommandEdit->show();
354 } 354 }
355 else 355 else
356 { 356 {
357 portLine->setText( IMAP_PORT ); 357 portLine->setText( IMAP_PORT );
358 } 358 }
359} 359}
360 360
361void IMAPconfig::fillValues() 361void IMAPconfig::fillValues()
362{ 362{
363 accountLine->setText( data->getAccountName() ); 363 accountLine->setText( data->getAccountName() );
364 serverLine->setText( data->getServer() ); 364 serverLine->setText( data->getServer() );
365 portLine->setText( data->getPort() ); 365 portLine->setText( data->getPort() );
366 ComboBox1->setCurrentItem( data->ConnectionType() ); 366 ComboBox1->setCurrentItem( data->ConnectionType() );
367 userLine->setText( data->getUser() ); 367 userLine->setText( data->getUser() );
368 passLine->setText( data->getPassword() ); 368 passLine->setText( data->getPassword() );
369 prefixLine->setText(data->getPrefix()); 369 prefixLine->setText(data->getPrefix());
370 localFolder->setText( data->getLocalFolder() ); 370 localFolder->setText( data->getLocalFolder() );
371 int max = data->getMaxMailSize() ; 371 int max = data->getMaxMailSize() ;
372 if ( max ) { 372 if ( max ) {
373 CheckBoxDown->setChecked( true ); 373 CheckBoxDown->setChecked( true );
374 SpinBoxDown->setValue ( max ); 374 SpinBoxDown->setValue ( max );
375 } else { 375 } else {
376 CheckBoxDown->setChecked( false ); 376 CheckBoxDown->setChecked( false );
377 SpinBoxDown->setValue ( 5 ); 377 SpinBoxDown->setValue ( 5 );
378 } 378 }
379 CheckBoxLeaveOn->setChecked( data->getLeaveOnServer() ); 379 CheckBoxLeaveOn->setChecked( data->getLeaveOnServer() );
380} 380}
381 381
382void IMAPconfig::accept() 382void IMAPconfig::accept()
383{ 383{
384 if ( localFolder->text().contains("/") ||localFolder->text().contains("\\") ) {
385 QMessageBox::information( this, i18n( "Error" ),
386 i18n( "No paths allowed in\nlocal folder settings.\nPlease specify a folder\nname or leave empty\nto create local folder\nwith account name\nautomatically." ),
387 i18n( "Ok" ) );
388 return;
389 }
384 data->setAccountName( accountLine->text() ); 390 data->setAccountName( accountLine->text() );
385 data->setServer( serverLine->text() ); 391 data->setServer( serverLine->text() );
386 data->setPort( portLine->text() ); 392 data->setPort( portLine->text() );
387 data->setConnectionType( ComboBox1->currentItem() ); 393 data->setConnectionType( ComboBox1->currentItem() );
388 data->setUser( userLine->text() ); 394 data->setUser( userLine->text() );
389 data->setPassword( passLine->text() ); 395 data->setPassword( passLine->text() );
390 data->setPrefix(prefixLine->text()); 396 data->setPrefix(prefixLine->text());
391 data->setLocalFolder( localFolder->text() ); 397 data->setLocalFolder( localFolder->text() );
392 data->setMaxMailSize( CheckBoxDown->isChecked()?SpinBoxDown->value():0 ) ; 398 data->setMaxMailSize( CheckBoxDown->isChecked()?SpinBoxDown->value():0 ) ;
393 data->setLeaveOnServer( CheckBoxLeaveOn->isChecked() ); 399 data->setLeaveOnServer( CheckBoxLeaveOn->isChecked() );
394 400
395 QDialog::accept(); 401 QDialog::accept();
396} 402}
397 403
398/** 404/**
399 * POP3config 405 * POP3config
400 */ 406 */
401 407
402POP3config::POP3config( POP3account *account, QWidget *parent, const char *name, bool modal, WFlags flags ) 408POP3config::POP3config( POP3account *account, QWidget *parent, const char *name, bool modal, WFlags flags )
403 : POP3configUI( parent, name, modal, flags ) 409 : POP3configUI( parent, name, modal, flags )
404{ 410{
405 data = account; 411 data = account;
406 fillValues(); 412 fillValues();
407 413
408 connect( ComboBox1, SIGNAL( activated(int) ), SLOT( slotConnectionToggle(int) ) ); 414 connect( ComboBox1, SIGNAL( activated(int) ), SLOT( slotConnectionToggle(int) ) );
409 ComboBox1->insertItem( "Only if available", 0 ); 415 ComboBox1->insertItem( "Only if available", 0 );
410 ComboBox1->insertItem( "Always, Negotiated", 1 ); 416 ComboBox1->insertItem( "Always, Negotiated", 1 );
411 ComboBox1->insertItem( "Connect on secure port", 2 ); 417 ComboBox1->insertItem( "Connect on secure port", 2 );
412 ComboBox1->insertItem( "Run command instead", 3 ); 418 ComboBox1->insertItem( "Run command instead", 3 );
413 CommandEdit->hide(); 419 CommandEdit->hide();
414 ComboBox1->setCurrentItem( data->ConnectionType() ); 420 ComboBox1->setCurrentItem( data->ConnectionType() );
415} 421}
416 422
417void POP3config::slotConnectionToggle( int index ) 423void POP3config::slotConnectionToggle( int index )
418{ 424{
419 // 2 is ssl connection 425 // 2 is ssl connection
420 if ( index == 2 ) 426 if ( index == 2 )
421 { 427 {
422 portLine->setText( POP3_SSL_PORT ); 428 portLine->setText( POP3_SSL_PORT );
423 } 429 }
424 else if ( index == 3 ) 430 else if ( index == 3 )
425 { 431 {
426 portLine->setText( POP3_PORT ); 432 portLine->setText( POP3_PORT );
427 CommandEdit->show(); 433 CommandEdit->show();
428 } 434 }
429 else 435 else
430 { 436 {
431 portLine->setText( POP3_PORT ); 437 portLine->setText( POP3_PORT );
432 } 438 }
433} 439}
434 440
435void POP3config::fillValues() 441void POP3config::fillValues()
436{ 442{
437 accountLine->setText( data->getAccountName() ); 443 accountLine->setText( data->getAccountName() );
438 serverLine->setText( data->getServer() ); 444 serverLine->setText( data->getServer() );
439 portLine->setText( data->getPort() ); 445 portLine->setText( data->getPort() );
440 ComboBox1->setCurrentItem( data->ConnectionType() ); 446 ComboBox1->setCurrentItem( data->ConnectionType() );
441 userLine->setText( data->getUser() ); 447 userLine->setText( data->getUser() );
442 passLine->setText( data->getPassword() ); 448 passLine->setText( data->getPassword() );
443 localFolder->setText( data->getLocalFolder() ); 449 localFolder->setText( data->getLocalFolder() );
444 int max = data->getMaxMailSize() ; 450 int max = data->getMaxMailSize() ;
445 if ( max ) { 451 if ( max ) {
446 CheckBoxDown->setChecked( true ); 452 CheckBoxDown->setChecked( true );
447 SpinBoxDown->setValue ( max ); 453 SpinBoxDown->setValue ( max );
448 } else { 454 } else {
449 CheckBoxDown->setChecked( false ); 455 CheckBoxDown->setChecked( false );
450 SpinBoxDown->setValue ( 5 ); 456 SpinBoxDown->setValue ( 5 );
451 } 457 }
452 CheckBoxLeaveOn->setChecked( data->getLeaveOnServer() ); 458 CheckBoxLeaveOn->setChecked( data->getLeaveOnServer() );
453} 459}
454 460
455void POP3config::accept() 461void POP3config::accept()
456{ 462{
463 if ( localFolder->text().contains("/") ||localFolder->text().contains("\\") ) {
464 QMessageBox::information( this, i18n( "Error" ),
465 i18n( "No paths allowed in\nlocal folder settings.\nPlease specify a folder\nname or leave empty\nto create local folder\nwith account name\nautomatically." ),
466 i18n( "Ok" ) );
467 return;
468 }
457 data->setAccountName( accountLine->text() ); 469 data->setAccountName( accountLine->text() );
458 data->setServer( serverLine->text() ); 470 data->setServer( serverLine->text() );
459 data->setPort( portLine->text() ); 471 data->setPort( portLine->text() );
460 data->setConnectionType( ComboBox1->currentItem() ); 472 data->setConnectionType( ComboBox1->currentItem() );
461 data->setUser( userLine->text() ); 473 data->setUser( userLine->text() );
462 data->setPassword( passLine->text() ); 474 data->setPassword( passLine->text() );
463 data->setLocalFolder( localFolder->text() ); 475 data->setLocalFolder( localFolder->text() );
464 data->setMaxMailSize( CheckBoxDown->isChecked()?SpinBoxDown->value():0 ) ; 476 data->setMaxMailSize( CheckBoxDown->isChecked()?SpinBoxDown->value():0 ) ;
465 data->setLeaveOnServer( CheckBoxLeaveOn->isChecked() ); 477 data->setLeaveOnServer( CheckBoxLeaveOn->isChecked() );
466 478
467 QDialog::accept(); 479 QDialog::accept();
468} 480}
469 481
470/** 482/**
471 * SMTPconfig 483 * SMTPconfig
472 */ 484 */
473 485
474SMTPconfig::SMTPconfig( SMTPaccount *account, QWidget *parent, const char *name, bool modal, WFlags flags ) 486SMTPconfig::SMTPconfig( SMTPaccount *account, QWidget *parent, const char *name, bool modal, WFlags flags )
475 : SMTPconfigUI( parent, name, modal, flags ) 487 : SMTPconfigUI( parent, name, modal, flags )
476{ 488{
477 data = account; 489 data = account;
478 490
479 connect( loginBox, SIGNAL( toggled(bool) ), userLine, SLOT( setEnabled(bool) ) ); 491 connect( loginBox, SIGNAL( toggled(bool) ), userLine, SLOT( setEnabled(bool) ) );
480 connect( loginBox, SIGNAL( toggled(bool) ), passLine, SLOT( setEnabled(bool) ) ); 492 connect( loginBox, SIGNAL( toggled(bool) ), passLine, SLOT( setEnabled(bool) ) );
481 493
482 fillValues(); 494 fillValues();
483 QIconSet icon; 495 QIconSet icon;
484 //icon = SmallIcon("fileexport"); 496 //icon = SmallIcon("fileexport");
485 icon = SmallIcon("fileopen"); 497 icon = SmallIcon("fileopen");
486 SignaturButton->setText(""); 498 SignaturButton->setText("");
487 SignaturButton->setIconSet (icon ) ; 499 SignaturButton->setIconSet (icon ) ;
488 SignaturButton->setMaximumSize ( SignaturButton->sizeHint().height()+4,SignaturButton->sizeHint().height()) ; 500 SignaturButton->setMaximumSize ( SignaturButton->sizeHint().height()+4,SignaturButton->sizeHint().height()) ;
489 connect( SignaturButton, SIGNAL( clicked() ), this, SLOT( chooseSig() ) ); 501 connect( SignaturButton, SIGNAL( clicked() ), this, SLOT( chooseSig() ) );
490 connect( ComboBox1, SIGNAL( activated(int) ), SLOT( slotConnectionToggle(int) ) ); 502 connect( ComboBox1, SIGNAL( activated(int) ), SLOT( slotConnectionToggle(int) ) );
491 ComboBox1->insertItem( "Only if available", 0 ); 503 ComboBox1->insertItem( "Only if available", 0 );
492 ComboBox1->insertItem( "Always, Negotiated", 1 ); 504 ComboBox1->insertItem( "Always, Negotiated", 1 );
493 ComboBox1->insertItem( "Connect on secure port", 2 ); 505 ComboBox1->insertItem( "Connect on secure port", 2 );
494 ComboBox1->insertItem( "Run command instead", 3 ); 506 ComboBox1->insertItem( "Run command instead", 3 );
495 CommandEdit->hide(); 507 CommandEdit->hide();
496 ComboBox1->setCurrentItem( data->ConnectionType() ); 508 ComboBox1->setCurrentItem( data->ConnectionType() );
497} 509}
498void SMTPconfig::chooseSig() 510void SMTPconfig::chooseSig()
499{ 511{
500 QString lnk = KFileDialog::getOpenFileName( "", "Choose Signatur File", this ); 512 QString lnk = KFileDialog::getOpenFileName( "", "Choose Signatur File", this );
501 if ( !lnk.isEmpty() ) { 513 if ( !lnk.isEmpty() ) {
502 SignaturEdit->setText( lnk ); 514 SignaturEdit->setText( lnk );
503 } 515 }
504} 516}
505void SMTPconfig::slotConnectionToggle( int index ) 517void SMTPconfig::slotConnectionToggle( int index )
506{ 518{
507 // 2 is ssl connection 519 // 2 is ssl connection
508 if ( index == 2 ) 520 if ( index == 2 )
509 { 521 {
510 portLine->setText( SMTP_SSL_PORT ); 522 portLine->setText( SMTP_SSL_PORT );
511 } 523 }
512 else if ( index == 3 ) 524 else if ( index == 3 )
513 { 525 {
514 portLine->setText( SMTP_PORT ); 526 portLine->setText( SMTP_PORT );
515 CommandEdit->show(); 527 CommandEdit->show();
516 } 528 }
517 else 529 else
518 { 530 {
519 portLine->setText( SMTP_PORT ); 531 portLine->setText( SMTP_PORT );
520 } 532 }
521} 533}
522 534
523void SMTPconfig::fillValues() 535void SMTPconfig::fillValues()
524{ 536{
525 accountLine->setText( data->getAccountName() ); 537 accountLine->setText( data->getAccountName() );
526 serverLine->setText( data->getServer() ); 538 serverLine->setText( data->getServer() );
527 portLine->setText( data->getPort() ); 539 portLine->setText( data->getPort() );
528 ComboBox1->setCurrentItem( data->ConnectionType() ); 540 ComboBox1->setCurrentItem( data->ConnectionType() );
529 loginBox->setChecked( data->getLogin() ); 541 loginBox->setChecked( data->getLogin() );
530 userLine->setText( data->getUser() ); 542 userLine->setText( data->getUser() );
531 passLine->setText( data->getPassword() ); 543 passLine->setText( data->getPassword() );
532 SignaturEdit->setText( data->getSigFile() ); 544 SignaturEdit->setText( data->getSigFile() );
533} 545}
534 546
535void SMTPconfig::accept() 547void SMTPconfig::accept()
536{ 548{
537 data->setAccountName( accountLine->text() ); 549 data->setAccountName( accountLine->text() );
538 data->setServer( serverLine->text() ); 550 data->setServer( serverLine->text() );
539 data->setPort( portLine->text() ); 551 data->setPort( portLine->text() );
540 data->setConnectionType( ComboBox1->currentItem() ); 552 data->setConnectionType( ComboBox1->currentItem() );
541 data->setLogin( loginBox->isChecked() ); 553 data->setLogin( loginBox->isChecked() );
542 data->setUser( userLine->text() ); 554 data->setUser( userLine->text() );
543 data->setPassword( passLine->text() ); 555 data->setPassword( passLine->text() );
544 data->setSigFile( SignaturEdit->text() ); 556 data->setSigFile( SignaturEdit->text() );
545 557
546 QDialog::accept(); 558 QDialog::accept();
547} 559}
548 560
549/** 561/**
550 * NNTPconfig 562 * NNTPconfig
551 */ 563 */
552 564
553NNTPconfig::NNTPconfig( NNTPaccount *account, QWidget *parent, const char *name, bool modal, WFlags flags ) 565NNTPconfig::NNTPconfig( NNTPaccount *account, QWidget *parent, const char *name, bool modal, WFlags flags )
554 : NNTPconfigUI( parent, name, modal, flags ) 566 : NNTPconfigUI( parent, name, modal, flags )
555{ 567{
556 data = account; 568 data = account;
557 569
558 connect( loginBox, SIGNAL( toggled(bool) ), userLine, SLOT( setEnabled(bool) ) ); 570 connect( loginBox, SIGNAL( toggled(bool) ), userLine, SLOT( setEnabled(bool) ) );
559 connect( loginBox, SIGNAL( toggled(bool) ), passLine, SLOT( setEnabled(bool) ) ); 571 connect( loginBox, SIGNAL( toggled(bool) ), passLine, SLOT( setEnabled(bool) ) );
560 connect( GetNGButton, SIGNAL( clicked() ), this, SLOT( slotGetNG() ) ); 572 connect( GetNGButton, SIGNAL( clicked() ), this, SLOT( slotGetNG() ) );
561 connect( ShowSubcribed, SIGNAL( clicked() ), this, SLOT( slotShowSub() ) ); 573 connect( ShowSubcribed, SIGNAL( clicked() ), this, SLOT( slotShowSub() ) );
562 connect( FilterButton, SIGNAL( clicked() ), this, SLOT( slotShowFilter() ) ); 574 connect( FilterButton, SIGNAL( clicked() ), this, SLOT( slotShowFilter() ) );
563 fillValues(); 575 fillValues();
564 576
565 connect( sslBox, SIGNAL( toggled(bool) ), SLOT( slotSSL(bool) ) ); 577 connect( sslBox, SIGNAL( toggled(bool) ), SLOT( slotSSL(bool) ) );
566} 578}
567 579
568void NNTPconfig::slotShowSub() 580void NNTPconfig::slotShowSub()
569{ 581{
570 save(); 582 save();
571 data->save(); 583 data->save();
572 ListViewGroups->clear(); 584 ListViewGroups->clear();
573 for ( QStringList::Iterator it = subscribedGroups.begin(); it != subscribedGroups.end(); ++it ) { 585 for ( QStringList::Iterator it = subscribedGroups.begin(); it != subscribedGroups.end(); ++it ) {
574 QCheckListItem *item; 586 QCheckListItem *item;
575 item = new QCheckListItem( ListViewGroups, (*it), QCheckListItem::CheckBox ); 587 item = new QCheckListItem( ListViewGroups, (*it), QCheckListItem::CheckBox );
576 item->setOn( true ); 588 item->setOn( true );
577 } 589 }
578 topLevelWidget()->setCaption( i18n("%1 groups subscribed").arg( subscribedGroups.count())); 590 topLevelWidget()->setCaption( i18n("%1 groups subscribed").arg( subscribedGroups.count()));
579} 591}
580void NNTPconfig::slotShowFilter() 592void NNTPconfig::slotShowFilter()
581{ 593{
582 save(); 594 save();
583 data->save(); 595 data->save();
584 ListViewGroups->clear(); 596 ListViewGroups->clear();
585 int count = 0; 597 int count = 0;
586 for ( QStringList::Iterator it = allGroups.begin(); it != allGroups.end(); ++it ) { 598 for ( QStringList::Iterator it = allGroups.begin(); it != allGroups.end(); ++it ) {
587 QCheckListItem *item; 599 QCheckListItem *item;
588 if ( GroupFilter->text().isEmpty() || (*it).find( GroupFilter->text() ) >= 0 ) { 600 if ( GroupFilter->text().isEmpty() || (*it).find( GroupFilter->text() ) >= 0 ) {
589 item = new QCheckListItem( ListViewGroups, (*it), QCheckListItem::CheckBox ); 601 item = new QCheckListItem( ListViewGroups, (*it), QCheckListItem::CheckBox );
590 ++count; 602 ++count;
591 if ( subscribedGroups.contains( (*it) ) >= 1 ) { 603 if ( subscribedGroups.contains( (*it) ) >= 1 ) {
592 item->setOn( true ); 604 item->setOn( true );
593 } 605 }
594 } 606 }
595 } 607 }
596 topLevelWidget()->setCaption( i18n("Filter found %1 groups").arg( count)); 608 topLevelWidget()->setCaption( i18n("Filter found %1 groups").arg( count));
597} 609}
598void NNTPconfig::slotGetNG() { 610void NNTPconfig::slotGetNG() {
599 save(); 611 save();
600 data->save(); 612 data->save();
601 topLevelWidget()->setCaption( i18n("Fetching group list...")); 613 topLevelWidget()->setCaption( i18n("Fetching group list..."));
602 qApp->processEvents(); 614 qApp->processEvents();
603 NNTPwrapper* tmp = new NNTPwrapper( data ); 615 NNTPwrapper* tmp = new NNTPwrapper( data );
604 allGroups = tmp->listAllNewsgroups(); 616 allGroups = tmp->listAllNewsgroups();
605 topLevelWidget()->setCaption( i18n("Downloaded %1 group names").arg( allGroups.count())); 617 topLevelWidget()->setCaption( i18n("Downloaded %1 group names").arg( allGroups.count()));
606 618
607 ListViewGroups->clear(); 619 ListViewGroups->clear();
608 620
609 for ( QStringList::Iterator it = allGroups.begin(); it != allGroups.end(); ++it ) { 621 for ( QStringList::Iterator it = allGroups.begin(); it != allGroups.end(); ++it ) {
610 QCheckListItem *item; 622 QCheckListItem *item;
611 item = new QCheckListItem( ListViewGroups, (*it), QCheckListItem::CheckBox ); 623 item = new QCheckListItem( ListViewGroups, (*it), QCheckListItem::CheckBox );
612 if ( subscribedGroups.contains( (*it) ) >= 1 ) { 624 if ( subscribedGroups.contains( (*it) ) >= 1 ) {
613 item->setOn( true ); 625 item->setOn( true );
614 626
615 } 627 }
616 } 628 }
617 delete tmp; 629 delete tmp;
618} 630}
619 631
620void NNTPconfig::slotSSL( bool enabled ) 632void NNTPconfig::slotSSL( bool enabled )
621{ 633{
622 if ( enabled ) 634 if ( enabled )
623 { 635 {
624 portLine->setText( NNTP_SSL_PORT ); 636 portLine->setText( NNTP_SSL_PORT );
625 } 637 }
626 else 638 else
627 { 639 {
628 portLine->setText( NNTP_PORT ); 640 portLine->setText( NNTP_PORT );
629 } 641 }
630} 642}
631 643
632void NNTPconfig::fillValues() 644void NNTPconfig::fillValues()
633{ 645{
634 accountLine->setText( data->getAccountName() ); 646 accountLine->setText( data->getAccountName() );
635 serverLine->setText( data->getServer() ); 647 serverLine->setText( data->getServer() );
636 portLine->setText( data->getPort() ); 648 portLine->setText( data->getPort() );
637 sslBox->setChecked( data->getSSL() ); 649 sslBox->setChecked( data->getSSL() );
638 loginBox->setChecked( data->getLogin() ); 650 loginBox->setChecked( data->getLogin() );
639 userLine->setText( data->getUser() ); 651 userLine->setText( data->getUser() );
640 passLine->setText( data->getPassword() ); 652 passLine->setText( data->getPassword() );
641 subscribedGroups = data->getGroups(); 653 subscribedGroups = data->getGroups();
642 /* don't forget that - you will overwrite values if user clicks cancel! */ 654 /* don't forget that - you will overwrite values if user clicks cancel! */
643 for ( QStringList::Iterator it = subscribedGroups.begin(); it != subscribedGroups.end(); ++it ) { 655 for ( QStringList::Iterator it = subscribedGroups.begin(); it != subscribedGroups.end(); ++it ) {
644 QCheckListItem *item; 656 QCheckListItem *item;
645 item = new QCheckListItem( ListViewGroups, (*it), QCheckListItem::CheckBox ); 657 item = new QCheckListItem( ListViewGroups, (*it), QCheckListItem::CheckBox );
646 item->setOn( true ); 658 item->setOn( true );
647 } 659 }
648} 660}
649 661
650void NNTPconfig::save() 662void NNTPconfig::save()
651{ 663{
652 data->setAccountName( accountLine->text() ); 664 data->setAccountName( accountLine->text() );
653 data->setServer( serverLine->text() ); 665 data->setServer( serverLine->text() );
654 data->setPort( portLine->text() ); 666 data->setPort( portLine->text() );
655 data->setSSL( sslBox->isChecked() ); 667 data->setSSL( sslBox->isChecked() );
656 data->setLogin( loginBox->isChecked() ); 668 data->setLogin( loginBox->isChecked() );
657 data->setUser( userLine->text() ); 669 data->setUser( userLine->text() );
658 data->setPassword( passLine->text() ); 670 data->setPassword( passLine->text() );
659 671
660 QListViewItemIterator list_it( ListViewGroups ); 672 QListViewItemIterator list_it( ListViewGroups );
661 673
662 for ( ; list_it.current(); ++list_it ) { 674 for ( ; list_it.current(); ++list_it ) {
663 675
664 if ( ( (QCheckListItem*)list_it.current() )->isOn() ) { 676 if ( ( (QCheckListItem*)list_it.current() )->isOn() ) {
665 if ( subscribedGroups.contains( list_it.current()->text(0) ) < 1 ) 677 if ( subscribedGroups.contains( list_it.current()->text(0) ) < 1 )
666 subscribedGroups.append( list_it.current()->text(0) ); 678 subscribedGroups.append( list_it.current()->text(0) );
667 } else { 679 } else {
668 if ( subscribedGroups.contains( list_it.current()->text(0) ) >= 1 ) 680 if ( subscribedGroups.contains( list_it.current()->text(0) ) >= 1 )
669 subscribedGroups.remove( list_it.current()->text(0) ); 681 subscribedGroups.remove( list_it.current()->text(0) );
670 } 682 }
671 683
672 } 684 }
673 data->setGroups( subscribedGroups ); 685 data->setGroups( subscribedGroups );
674} 686}
675 687
676void NNTPconfig::accept() 688void NNTPconfig::accept()
677{ 689{
678 save(); 690 save();
679 QDialog::accept(); 691 QDialog::accept();
680} 692}
681 693
diff --git a/kmicromail/opiemail.cpp b/kmicromail/opiemail.cpp
index 197f7ec..b701446 100644
--- a/kmicromail/opiemail.cpp
+++ b/kmicromail/opiemail.cpp
@@ -1,608 +1,606 @@
1// CHANGED 2004-09-31 Lutz Rogowski 1// CHANGED 2004-09-31 Lutz Rogowski
2// CHANGED 2004-08-06 Lutz Rogowski 2// CHANGED 2004-08-06 Lutz Rogowski
3 3
4 4
5#define protected public 5#define protected public
6#include <qwidget.h> 6#include <qwidget.h>
7#undef protected 7#undef protected
8#include "koprefsdialog.h" 8#include "koprefsdialog.h"
9#include <kapplication.h> 9#include <kapplication.h>
10#include <libkdepim/externalapphandler.h> 10#include <libkdepim/externalapphandler.h>
11#include <libkdepim/kpimglobalprefs.h> 11#include <libkdepim/kpimglobalprefs.h>
12#ifdef MINIKDE_KDIALOG_H 12#ifdef MINIKDE_KDIALOG_H
13#undef MINIKDE_KDIALOG_H 13#undef MINIKDE_KDIALOG_H
14#endif 14#endif
15#include "settingsdialog.h" 15#include "settingsdialog.h"
16#include "opiemail.h" 16#include "opiemail.h"
17#include "editaccounts.h" 17#include "editaccounts.h"
18#include "composemail.h" 18#include "composemail.h"
19#include "mailistviewitem.h" 19#include "mailistviewitem.h"
20#include "viewmail.h" 20#include "viewmail.h"
21#include "selectstore.h" 21#include "selectstore.h"
22#include "selectsmtp.h" 22#include "selectsmtp.h"
23#include "accountitem.h" 23#include "accountitem.h"
24#include "accountview.h" 24#include "accountview.h"
25#include "klocale.h" 25#include "klocale.h"
26 26
27#include <qmessagebox.h> 27#include <qmessagebox.h>
28#include <qtimer.h> 28#include <qtimer.h>
29#include <qcursor.h> 29#include <qcursor.h>
30#include <qtextbrowser.h> 30#include <qtextbrowser.h>
31#include <qregexp.h> 31#include <qregexp.h>
32#include <qpe/global.h> 32#include <qpe/global.h>
33 33
34#ifdef DESKTOP_VERSION 34#ifdef DESKTOP_VERSION
35#include <qapplication.h> 35#include <qapplication.h>
36#else 36#else
37#include <qpe/qpeapplication.h> 37#include <qpe/qpeapplication.h>
38#endif 38#endif
39#include <libmailwrapper/smtpwrapper.h> 39#include <libmailwrapper/smtpwrapper.h>
40#include <libmailwrapper/mailtypes.h> 40#include <libmailwrapper/mailtypes.h>
41#include <libmailwrapper/abstractmail.h> 41#include <libmailwrapper/abstractmail.h>
42#include "koprefs.h" 42#include "koprefs.h"
43 43
44//using namespace Opie::Core; 44//using namespace Opie::Core;
45 45
46OpieMail::OpieMail( QWidget *parent, const char *name ) 46OpieMail::OpieMail( QWidget *parent, const char *name )
47 : MainWindow( parent, name) //, WStyle_ContextHelp ) 47 : MainWindow( parent, name) //, WStyle_ContextHelp )
48{ 48{
49 mCurrentComposer = 0; 49 mCurrentComposer = 0;
50 settings = new Settings(); 50 settings = new Settings();
51 tb = 0; 51 tb = 0;
52 setIcon(SmallIcon( "kmicromail" ) ); 52 setIcon(SmallIcon( "kmicromail" ) );
53 folderView->populate( settings->getAccounts() ); 53 folderView->populate( settings->getAccounts() );
54 connect(ExternalAppHandler::instance(), SIGNAL(receivedNameEmailUidListEvent(const QString&, const QStringList&, const QStringList&, const QStringList&)), 54 connect(ExternalAppHandler::instance(), SIGNAL(receivedNameEmailUidListEvent(const QString&, const QStringList&, const QStringList&, const QStringList&)),
55 this, SLOT(insertAttendees(const QString&, const QStringList&, const QStringList&, const QStringList&))); 55 this, SLOT(insertAttendees(const QString&, const QStringList&, const QStringList&, const QStringList&)));
56} 56}
57 57
58OpieMail::~OpieMail() 58OpieMail::~OpieMail()
59{ 59{
60 if (settings) delete settings; 60 if (settings) delete settings;
61 if ( tb ) 61 if ( tb )
62 delete tb; 62 delete tb;
63} 63}
64 64
65void OpieMail::appMessage(const QCString &msg, const QByteArray &data) 65void OpieMail::appMessage(const QCString &msg, const QByteArray &data)
66{ 66{
67 67
68} 68}
69#include <stdlib.h> 69#include <stdlib.h>
70void OpieMail::message(const QCString &msg, const QByteArray &data) 70void OpieMail::message(const QCString &msg, const QByteArray &data)
71{ 71{
72 // copied from old mail2 72 // copied from old mail2
73 static int ii = 0; 73 static int ii = 0;
74 //qDebug("QCOP CALL ############################# %d ", ii); 74 //qDebug("QCOP CALL ############################# %d ", ii);
75 //QString mess ( msg ); 75 //QString mess ( msg );
76 //qDebug("Message = %s ",mess.latin1()); 76 //qDebug("Message = %s ",mess.latin1());
77 ++ii; 77 ++ii;
78 //qDebug("KM:appMessage %d *%s* %x", ii, msg.data(), this); 78 //qDebug("KM:appMessage %d *%s* %x", ii, msg.data(), this);
79 79
80 mPendingEmail = QString::null; 80 mPendingEmail = QString::null;
81 mPendingName = QString::null; 81 mPendingName = QString::null;
82 if (msg == "writeMail(QString,QString)") 82 if (msg == "writeMail(QString,QString)")
83 { 83 {
84 //qDebug("writeMail(QString,QString) "); 84 //qDebug("writeMail(QString,QString) ");
85 QDataStream stream(data,IO_ReadOnly); 85 QDataStream stream(data,IO_ReadOnly);
86 stream >> mPendingName >> mPendingEmail; 86 stream >> mPendingName >> mPendingEmail;
87 // removing the whitespaces at beginning and end is needed! 87 // removing the whitespaces at beginning and end is needed!
88 QTimer::singleShot ( 50, this, SLOT(slotComposeMail() ) ); 88 QTimer::singleShot ( 50, this, SLOT(slotComposeMail() ) );
89 } 89 }
90 else if (msg == "newMail()") 90 else if (msg == "newMail()")
91 { 91 {
92 //qDebug("slotComposeMail() "); 92 //qDebug("slotComposeMail() ");
93 // we cannot call slotComposeMail(); directly, because may be executing a QCOP call 93 // we cannot call slotComposeMail(); directly, because may be executing a QCOP call
94 // and a QCOP call does not like a processevents in his execution 94 // and a QCOP call does not like a processevents in his execution
95 // with the Qtimer we call slotComposeMail() after we reached the main event loop 95 // with the Qtimer we call slotComposeMail() after we reached the main event loop
96 QTimer::singleShot ( 50, this, SLOT(slotComposeMail() ) ); 96 QTimer::singleShot ( 50, this, SLOT(slotComposeMail() ) );
97 // slotComposeMail(); 97 // slotComposeMail();
98 } 98 }
99 else if (msg == "newMail(QString)") 99 else if (msg == "newMail(QString)")
100 { 100 {
101 //qDebug(" newMail(QString)"); 101 //qDebug(" newMail(QString)");
102 QDataStream stream(data,IO_ReadOnly); 102 QDataStream stream(data,IO_ReadOnly);
103 stream >> mPendingName; 103 stream >> mPendingName;
104 // the format is 104 // the format is
105 // NAME <EMAIL>:SUBJECT 105 // NAME <EMAIL>:SUBJECT
106 QTimer::singleShot ( 50, this, SLOT(slotComposeMail() ) ); 106 QTimer::singleShot ( 50, this, SLOT(slotComposeMail() ) );
107 } else { 107 } else {
108 mPendingData = data; 108 mPendingData = data;
109 mPendingMessage = msg; 109 mPendingMessage = msg;
110 QTimer::singleShot ( 50, this, SLOT(slotExtAppHandler() ) ); 110 QTimer::singleShot ( 50, this, SLOT(slotExtAppHandler() ) );
111 } 111 }
112 112
113 //qDebug("END OpieMail::message "); 113 //qDebug("END OpieMail::message ");
114} 114}
115void OpieMail::slotExtAppHandler() 115void OpieMail::slotExtAppHandler()
116{ 116{
117 ExternalAppHandler::instance()->appMessage ( mPendingMessage, mPendingData ); 117 ExternalAppHandler::instance()->appMessage ( mPendingMessage, mPendingData );
118} 118}
119void OpieMail::slotwriteMail2(const QString& namemail ) 119void OpieMail::slotwriteMail2(const QString& namemail )
120{ 120{
121 //qDebug("OpieMail::slotwriteMail2 "); 121 //qDebug("OpieMail::slotwriteMail2 ");
122 //qApp->processEvents(); 122 //qApp->processEvents();
123 ComposeMail compose( settings, this, 0, true ); 123 ComposeMail compose( settings, this, 0, true );
124 if ( !namemail.isEmpty() ) { 124 if ( !namemail.isEmpty() ) {
125 QString to = namemail; 125 QString to = namemail;
126 if ( namemail.find( " <") > 1 ) { 126 if ( namemail.find( " <") > 1 ) {
127 to = "\"" +to.replace( QRegExp( " <"), "\" <") ; 127 to = "\"" +to.replace( QRegExp( " <"), "\" <") ;
128 } else 128 } else
129 if ( namemail.find( "<") > 1 ) { 129 if ( namemail.find( "<") > 1 ) {
130 to = "\"" +to.replace( QRegExp( "<"), "\" <") ; 130 to = "\"" +to.replace( QRegExp( "<"), "\" <") ;
131 } 131 }
132 int sub = to.find( ">:"); 132 int sub = to.find( ">:");
133 if ( sub > 0 ) { 133 if ( sub > 0 ) {
134 compose.setTo( to.left(sub+1) ); 134 compose.setTo( to.left(sub+1) );
135 compose.setSubject( to.mid(sub+2) ); 135 compose.setSubject( to.mid(sub+2) );
136 } else 136 } else
137 compose.setTo( to ); 137 compose.setTo( to );
138 } 138 }
139 compose.slotAdjustColumns(); 139 compose.slotAdjustColumns();
140#ifndef DESKTOP_VERSION 140#ifndef DESKTOP_VERSION
141 compose.showMaximized(); 141 compose.showMaximized();
142#endif 142#endif
143 mCurrentComposer = &compose; 143 mCurrentComposer = &compose;
144 compose.exec(); 144 compose.exec();
145 mCurrentComposer = 0; 145 mCurrentComposer = 0;
146 folderView->refreshOutgoing(); 146 folderView->refreshOutgoing();
147 raise(); 147 raise();
148 //qDebug("retttich "); 148 //qDebug("retttich ");
149} 149}
150void OpieMail::slotwriteMail(const QString&name,const QString&email) 150void OpieMail::slotwriteMail(const QString&name,const QString&email)
151{ 151{
152 // qDebug("OpieMail::slotwriteMail "); 152 // qDebug("OpieMail::slotwriteMail ");
153 ComposeMail compose( settings, this, 0, true ); 153 ComposeMail compose( settings, this, 0, true );
154 if (!email.isEmpty()) 154 if (!email.isEmpty())
155 { 155 {
156 if (!name.isEmpty()) 156 if (!name.isEmpty())
157 { 157 {
158 compose.setTo("\"" + name + "\"" + " " + "<"+ email + ">"); 158 compose.setTo("\"" + name + "\"" + " " + "<"+ email + ">");
159 } 159 }
160 else 160 else
161 { 161 {
162 compose.setTo(email); 162 compose.setTo(email);
163 } 163 }
164 } 164 }
165 compose.slotAdjustColumns(); 165 compose.slotAdjustColumns();
166#ifndef DESKTOP_VERSION 166#ifndef DESKTOP_VERSION
167 compose.showMaximized(); 167 compose.showMaximized();
168#endif 168#endif
169 169
170 mCurrentComposer = &compose; 170 mCurrentComposer = &compose;
171 compose.exec(); 171 compose.exec();
172 mCurrentComposer = 0; 172 mCurrentComposer = 0;
173 folderView->refreshOutgoing(); 173 folderView->refreshOutgoing();
174 raise(); 174 raise();
175} 175}
176 176
177void OpieMail::slotComposeMail() 177void OpieMail::slotComposeMail()
178{ 178{
179 if ( mPendingEmail == QString::null && mPendingName == QString::null) 179 if ( mPendingEmail == QString::null && mPendingName == QString::null)
180 slotwriteMail2( QString () ); 180 slotwriteMail2( QString () );
181 else { 181 else {
182 if ( mPendingEmail == QString::null ) 182 if ( mPendingEmail == QString::null )
183 slotwriteMail2( mPendingName ); 183 slotwriteMail2( mPendingName );
184 else 184 else
185 slotwriteMail( mPendingName, mPendingEmail ); 185 slotwriteMail( mPendingName, mPendingEmail );
186 } 186 }
187 //slotwriteMail(0l,0l); 187 //slotwriteMail(0l,0l);
188} 188}
189 189
190void OpieMail::slotSendQueued() 190void OpieMail::slotSendQueued()
191{ 191{
192 SMTPaccount *smtp = 0; 192 SMTPaccount *smtp = 0;
193 193
194 QList<Account> list = settings->getAccounts(); 194 QList<Account> list = settings->getAccounts();
195 QList<SMTPaccount> smtpList; 195 QList<SMTPaccount> smtpList;
196 smtpList.setAutoDelete(false); 196 smtpList.setAutoDelete(false);
197 Account *it; 197 Account *it;
198 for ( it = list.first(); it; it = list.next() ) 198 for ( it = list.first(); it; it = list.next() )
199 { 199 {
200 if ( it->getType() == MAILLIB::A_SMTP ) 200 if ( it->getType() == MAILLIB::A_SMTP )
201 { 201 {
202 smtp = static_cast<SMTPaccount *>(it); 202 smtp = static_cast<SMTPaccount *>(it);
203 smtpList.append(smtp); 203 smtpList.append(smtp);
204 } 204 }
205 } 205 }
206 if (smtpList.count()==0) 206 if (smtpList.count()==0)
207 { 207 {
208 QMessageBox::information(0,i18n("Info"),i18n("Define a smtp account first!\n")); 208 QMessageBox::information(0,i18n("Info"),i18n("Define a smtp\n account first!\n"));
209 return; 209 return;
210 } 210 }
211 if ( QMessageBox::warning(this, i18n("Sending all mails"), i18n("Do you really want to send\nall queued mails?" ) , QMessageBox::Yes, QMessageBox::No ) == QMessageBox::No ) 211 if ( QMessageBox::warning(this, i18n("Sending all mails"), i18n("Do you really want to\nsend all queued mails?" ) , QMessageBox::Yes, QMessageBox::No ) == QMessageBox::No )
212 return; 212 return;
213 if (smtpList.count()==1) 213 if (smtpList.count()==1)
214 { 214 {
215 smtp = smtpList.at(0); 215 smtp = smtpList.at(0);
216 } 216 }
217 else 217 else
218 { 218 {
219 smtp = 0; 219 smtp = 0;
220 selectsmtp selsmtp; 220 selectsmtp selsmtp;
221 selsmtp.setSelectionlist(&smtpList); 221 selsmtp.setSelectionlist(&smtpList);
222#ifndef DESKTOP_VERSION 222 selsmtp.resize( selsmtp.sizeHint() );
223 selsmtp.showMaximized();
224#endif
225 if ( selsmtp.exec() == QDialog::Accepted ) 223 if ( selsmtp.exec() == QDialog::Accepted )
226 { 224 {
227 smtp = selsmtp.selected_smtp(); 225 smtp = selsmtp.selected_smtp();
228 } 226 }
229 } 227 }
230 if (smtp) 228 if (smtp)
231 { 229 {
232 230
233 Global::statusMessage("Sending mails...!"); 231 Global::statusMessage("Sending mails...!");
234 SMTPwrapper * wrap = new SMTPwrapper(smtp); 232 SMTPwrapper * wrap = new SMTPwrapper(smtp);
235 if ( wrap->flushOutbox() ) 233 if ( wrap->flushOutbox() )
236 { 234 {
237 Global::statusMessage("Mails sent!"); 235 Global::statusMessage("Mails sent!");
238 } 236 }
239 delete wrap; 237 delete wrap;
240 } 238 }
241 folderView->refreshOutgoing(); 239 folderView->refreshOutgoing();
242} 240}
243 241
244void OpieMail::slotSearchMails() 242void OpieMail::slotSearchMails()
245{ 243{
246 qDebug("OpieMail::slotSearchMails():not implemented "); 244 qDebug("OpieMail::slotSearchMails():not implemented ");
247} 245}
248 246
249void OpieMail::slotEditSettings() 247void OpieMail::slotEditSettings()
250{ 248{
251 249
252 KOPrefsDialog settingsDialog( this, "koprefs", true ); 250 KOPrefsDialog settingsDialog( this, "koprefs", true );
253#ifndef DESKTOP_VERSION 251#ifndef DESKTOP_VERSION
254 settingsDialog.showMaximized(); 252 settingsDialog.showMaximized();
255#endif 253#endif
256 settingsDialog.exec(); 254 settingsDialog.exec();
257 255
258 slotSetCodec( KOPrefs::instance()->mCurrentCodec ); 256 slotSetCodec( KOPrefs::instance()->mCurrentCodec );
259 // KApplication::execDialog(settingsDialog); 257 // KApplication::execDialog(settingsDialog);
260} 258}
261 259
262void OpieMail::slotEditAccounts() 260void OpieMail::slotEditAccounts()
263{ 261{
264 EditAccounts eaDialog( settings, this, 0, true ); 262 EditAccounts eaDialog( settings, this, 0, true );
265 eaDialog.slotAdjustColumns(); 263 eaDialog.slotAdjustColumns();
266#ifndef DESKTOP_VERSION 264#ifndef DESKTOP_VERSION
267 eaDialog.showMaximized(); 265 eaDialog.showMaximized();
268#endif 266#endif
269 eaDialog.exec(); 267 eaDialog.exec();
270 if ( settings ) delete settings; 268 if ( settings ) delete settings;
271 settings = new Settings(); 269 settings = new Settings();
272 270
273 folderView->populate( settings->getAccounts() ); 271 folderView->populate( settings->getAccounts() );
274} 272}
275void OpieMail::replyMail() 273void OpieMail::replyMail()
276{ 274{
277 275
278 QListViewItem*item = mailView->currentItem(); 276 QListViewItem*item = mailView->currentItem();
279 if (!item) return; 277 if (!item) return;
280 RecMailP mail = ((MailListViewItem*)item)->data(); 278 RecMailP mail = ((MailListViewItem*)item)->data();
281 RecBodyP body = folderView->fetchBody(mail); 279 RecBodyP body = folderView->fetchBody(mail);
282 280
283 QString rtext; 281 QString rtext;
284 rtext += QString("* %1 wrote on %2:\n") // no i18n on purpose 282 rtext += QString("* %1 wrote on %2:\n") // no i18n on purpose
285 .arg( mail->getFrom()) 283 .arg( mail->getFrom())
286 .arg( mail->getDate()); 284 .arg( mail->getDate());
287 285
288 QString text = body->Bodytext(); 286 QString text = body->Bodytext();
289 QStringList lines = QStringList::split(QRegExp("\\n"), text); 287 QStringList lines = QStringList::split(QRegExp("\\n"), text);
290 QStringList::Iterator it; 288 QStringList::Iterator it;
291 for (it = lines.begin(); it != lines.end(); it++) 289 for (it = lines.begin(); it != lines.end(); it++)
292 { 290 {
293 rtext += "> " + *it + "\n"; 291 rtext += "> " + *it + "\n";
294 } 292 }
295 rtext += "\n"; 293 rtext += "\n";
296 294
297 QString prefix; 295 QString prefix;
298 if ( mail->getSubject().find(QRegExp("^Re: .*$")) != -1) prefix = ""; 296 if ( mail->getSubject().find(QRegExp("^Re: .*$")) != -1) prefix = "";
299 else prefix = "Re: "; // no i18n on purpose 297 else prefix = "Re: "; // no i18n on purpose
300 298
301 Settings *settings = new Settings(); 299 Settings *settings = new Settings();
302 ComposeMail composer( settings ,this, 0, true); 300 ComposeMail composer( settings ,this, 0, true);
303 if (mail->Replyto().isEmpty()) { 301 if (mail->Replyto().isEmpty()) {
304 composer.setTo( mail->getFrom()); 302 composer.setTo( mail->getFrom());
305 } else { 303 } else {
306 composer.setTo( mail->Replyto()); 304 composer.setTo( mail->Replyto());
307 } 305 }
308 composer.setSubject( prefix + mail->getSubject()); 306 composer.setSubject( prefix + mail->getSubject());
309 composer.setMessage( rtext ); 307 composer.setMessage( rtext );
310 composer.setInReplyTo( mail->Msgid()); 308 composer.setInReplyTo( mail->Msgid());
311 composer.setCharset( body->getCharset() ); 309 composer.setCharset( body->getCharset() );
312 310
313 mCurrentComposer = &composer; 311 mCurrentComposer = &composer;
314 if ( QDialog::Accepted == KApplication::execDialog( &composer ) ) 312 if ( QDialog::Accepted == KApplication::execDialog( &composer ) )
315 { 313 {
316 mail->Wrapper()->answeredMail(mail); 314 mail->Wrapper()->answeredMail(mail);
317 } 315 }
318 mCurrentComposer = 0; 316 mCurrentComposer = 0;
319 folderView->refreshOutgoing(); 317 folderView->refreshOutgoing();
320 delete settings; 318 delete settings;
321 319
322} 320}
323void OpieMail::closeViewMail(ViewMail * vm) 321void OpieMail::closeViewMail(ViewMail * vm)
324{ 322{
325 vm->hide(); 323 vm->hide();
326} 324}
327 325
328void OpieMail::slotDownloadMail( ) 326void OpieMail::slotDownloadMail( )
329{ 327{
330 QListViewItem*item = mailView->currentItem(); 328 QListViewItem*item = mailView->currentItem();
331 if (!item ) { 329 if (!item ) {
332 Global::statusMessage("Error: No item slected!"); 330 Global::statusMessage("Error: No item slected!");
333 return; 331 return;
334 } 332 }
335 RecMailP mail = ((MailListViewItem*)item)->data(); 333 RecMailP mail = ((MailListViewItem*)item)->data();
336 Account * acc = mail->Wrapper()->getAccount(); 334 Account * acc = mail->Wrapper()->getAccount();
337 if ( !acc ) { 335 if ( !acc ) {
338 Global::statusMessage("Mail is already stored locally!"); 336 Global::statusMessage("Mail is already stored locally!");
339 return; 337 return;
340 } 338 }
341 QString lfName = acc->getLocalFolder(); 339 QString lfName = acc->getLocalFolder();
342 //qDebug("local folder " + lfName ); 340 //qDebug("local folder " + lfName );
343 if ( lfName.isEmpty() ) 341 if ( lfName.isEmpty() )
344 lfName = acc->getAccountName(); 342 lfName = acc->getAccountName();
345 AbstractMail* targetMail = folderView->allAccounts()[0]->getWrapper(); 343 AbstractMail* targetMail = folderView->allAccounts()[0]->getWrapper();
346 //qDebug("target %d %d ",targetMail,mail->Wrapper() ); 344 //qDebug("target %d %d ",targetMail,mail->Wrapper() );
347 if ( targetMail == mail->Wrapper() ) { 345 if ( targetMail == mail->Wrapper() ) {
348 Global::statusMessage("Mail is already locally stored!"); 346 Global::statusMessage("Mail is already locally stored!");
349 return; 347 return;
350 } 348 }
351 if ( !targetMail->createMbox(lfName)) { 349 if ( !targetMail->createMbox(lfName)) {
352 Global::statusMessage("Error creating folder!"); 350 Global::statusMessage("Error creating folder!");
353 return; 351 return;
354 } 352 }
355 Global::statusMessage("Fetching mail...please wait!"); 353 Global::statusMessage("Fetching mail...please wait!");
356 qApp->processEvents(); 354 qApp->processEvents();
357 encodedString*st = 0; 355 encodedString*st = 0;
358 st = mail->Wrapper()->fetchRawBody(mail); 356 st = mail->Wrapper()->fetchRawBody(mail);
359 if ( st ) { 357 if ( st ) {
360 targetMail->storeMessage(st->Content(),st->Length(),lfName); 358 targetMail->storeMessage(st->Content(),st->Length(),lfName);
361 Global::statusMessage("Mail stored in "+ lfName); 359 Global::statusMessage("Mail stored in "+ lfName);
362 delete st; 360 delete st;
363 } else { 361 } else {
364 Global::statusMessage("Error: Cannot fetch mail!"); 362 Global::statusMessage("Error: Cannot fetch mail!");
365 } 363 }
366} 364}
367 365
368 366
369void OpieMail::deleteAndDisplayNextMail(ViewMail * vm) 367void OpieMail::deleteAndDisplayNextMail(ViewMail * vm)
370{ 368{
371 QListViewItem*item = mailView->currentItem(); 369 QListViewItem*item = mailView->currentItem();
372 if (!item ) { 370 if (!item ) {
373 closeViewMail(vm); 371 closeViewMail(vm);
374 return; 372 return;
375 } 373 }
376 RecMailP mail = ((MailListViewItem*)item)->data(); 374 RecMailP mail = ((MailListViewItem*)item)->data();
377 mail->Wrapper()->deleteMail( mail ); 375 mail->Wrapper()->deleteMail( mail );
378 item = item->itemBelow(); 376 item = item->itemBelow();
379 if (!item ) { 377 if (!item ) {
380 closeViewMail(vm); 378 closeViewMail(vm);
381 return; 379 return;
382 } 380 }
383 mailView->setCurrentItem(item); 381 mailView->setCurrentItem(item);
384 mail = ((MailListViewItem*)item)->data(); 382 mail = ((MailListViewItem*)item)->data();
385 RecBodyP body = folderView->fetchBody(mail); 383 RecBodyP body = folderView->fetchBody(mail);
386 vm->setBody( body ); 384 vm->setBody( body );
387 vm->setMail( mail ); 385 vm->setMail( mail );
388} 386}
389void OpieMail::displayNextMail(ViewMail * vm) 387void OpieMail::displayNextMail(ViewMail * vm)
390{ 388{
391 QListViewItem*item = mailView->currentItem(); 389 QListViewItem*item = mailView->currentItem();
392 if (!item) return; 390 if (!item) return;
393 ( (MailListViewItem*)item )->setPixmap( 0, QPixmap() ); 391 ( (MailListViewItem*)item )->setPixmap( 0, QPixmap() );
394 item = item->itemBelow(); 392 item = item->itemBelow();
395 if (!item) { 393 if (!item) {
396 vm->setCaption(i18n("End of List" )); 394 vm->setCaption(i18n("End of List" ));
397 return; 395 return;
398 } 396 }
399 mailView->setCurrentItem(item); 397 mailView->setCurrentItem(item);
400 RecMailP mail = ((MailListViewItem*)item)->data(); 398 RecMailP mail = ((MailListViewItem*)item)->data();
401 RecBodyP body = folderView->fetchBody(mail); 399 RecBodyP body = folderView->fetchBody(mail);
402 vm->setBody( body ); 400 vm->setBody( body );
403 vm->setMail( mail ); 401 vm->setMail( mail );
404} 402}
405void OpieMail::displayMail() 403void OpieMail::displayMail()
406{ 404{
407 QListViewItem*item = mailView->currentItem(); 405 QListViewItem*item = mailView->currentItem();
408 if (!item) return; 406 if (!item) return;
409 RecMailP mail = ((MailListViewItem*)item)->data(); 407 RecMailP mail = ((MailListViewItem*)item)->data();
410 RecBodyP body = folderView->fetchBody(mail); 408 RecBodyP body = folderView->fetchBody(mail);
411 ViewMail readMail( this,"", Qt::WType_Modal ); 409 ViewMail readMail( this,"", Qt::WType_Modal );
412 readMail.setBody( body ); 410 readMail.setBody( body );
413 readMail.setMail( mail ); 411 readMail.setMail( mail );
414#ifndef DESKTOP_VERSION 412#ifndef DESKTOP_VERSION
415 readMail.showMaximized(); 413 readMail.showMaximized();
416#else 414#else
417 readMail.resize( 640, 480); 415 readMail.resize( 640, 480);
418#endif 416#endif
419 connect( &readMail,SIGNAL( showNextMail(ViewMail *) ), this, SLOT( displayNextMail(ViewMail *) ) ); 417 connect( &readMail,SIGNAL( showNextMail(ViewMail *) ), this, SLOT( displayNextMail(ViewMail *) ) );
420 connect( &readMail,SIGNAL( deleteAndDisplayNextMail(ViewMail *) ), this, SLOT(deleteAndDisplayNextMail(ViewMail *) ) ); 418 connect( &readMail,SIGNAL( deleteAndDisplayNextMail(ViewMail *) ), this, SLOT(deleteAndDisplayNextMail(ViewMail *) ) );
421 connect( &readMail,SIGNAL( signalDownloadMail() ), this, SLOT( slotDownloadMail() ) ); 419 connect( &readMail,SIGNAL( signalDownloadMail() ), this, SLOT( slotDownloadMail() ) );
422 420
423 readMail.exec(); 421 readMail.exec();
424 422
425 if ( readMail.deleted ) 423 if ( readMail.deleted )
426 { 424 {
427 folderView->refreshCurrent(); 425 folderView->refreshCurrent();
428 } 426 }
429 else 427 else
430 { 428 {
431 QListViewItem*item = mailView->currentItem(); 429 QListViewItem*item = mailView->currentItem();
432 if (item) 430 if (item)
433 ( (MailListViewItem*)item )->setPixmap( 0, QPixmap() ); 431 ( (MailListViewItem*)item )->setPixmap( 0, QPixmap() );
434 } 432 }
435} 433}
436void OpieMail::slotGetAllMail() 434void OpieMail::slotGetAllMail()
437{ 435{
438 QListViewItem * item = folderView->firstChild(); 436 QListViewItem * item = folderView->firstChild();
439 while ( item ){ 437 while ( item ){
440 ((AccountViewItem *)item)->contextMenuSelected( 101 ); 438 ((AccountViewItem *)item)->contextMenuSelected( 101 );
441 item = item->nextSibling (); 439 item = item->nextSibling ();
442 } 440 }
443} 441}
444void OpieMail::slotGetMail() 442void OpieMail::slotGetMail()
445{ 443{
446 QListViewItem * item = folderView->currentItem(); 444 QListViewItem * item = folderView->currentItem();
447 if ( ! item ) return; 445 if ( ! item ) return;
448 ((AccountViewItem *)item)->contextMenuSelected( 101 ); 446 ((AccountViewItem *)item)->contextMenuSelected( 101 );
449} 447}
450void OpieMail::slotDeleteMail() 448void OpieMail::slotDeleteMail()
451{ 449{
452 if (!mailView->currentItem()) return; 450 if (!mailView->currentItem()) return;
453 RecMailP mail = ((MailListViewItem*)mailView->currentItem() )->data(); 451 RecMailP mail = ((MailListViewItem*)mailView->currentItem() )->data();
454 if ( QMessageBox::warning(this, i18n("Delete Mail"), QString( i18n("<p>Do you really want to delete this mail? <br><br>" ) + mail->getFrom() + " - " + mail->getSubject() ) , QMessageBox::Yes, QMessageBox::No ) == QMessageBox::Yes ) 452 if ( QMessageBox::warning(this, i18n("Delete Mail"), QString( i18n("<p>Do you really want to delete this mail? <br><br>" ) + mail->getFrom() + " - " + mail->getSubject() ) , QMessageBox::Yes, QMessageBox::No ) == QMessageBox::Yes )
455 { 453 {
456 mail->Wrapper()->deleteMail( mail ); 454 mail->Wrapper()->deleteMail( mail );
457 folderView->refreshCurrent(); 455 folderView->refreshCurrent();
458 } 456 }
459} 457}
460void OpieMail::slotDeleteAllMail() 458void OpieMail::slotDeleteAllMail()
461{ 459{
462 460
463 QValueList<RecMailP> t; 461 QValueList<RecMailP> t;
464 if ( QMessageBox::warning(this, i18n("Delete All Mails"), i18n("Do you really want to delete\nall selected mails?" ) , QMessageBox::Yes, QMessageBox::No ) == QMessageBox::Yes ) 462 if ( QMessageBox::warning(this, i18n("Delete All Mails"), i18n("Do you really want to delete\nall selected mails?" ) , QMessageBox::Yes, QMessageBox::No ) == QMessageBox::Yes )
465 { 463 {
466 MailListViewItem* item = (MailListViewItem*)mailView->firstChild (); 464 MailListViewItem* item = (MailListViewItem*)mailView->firstChild ();
467 while ( item ) { 465 while ( item ) {
468 if ( item->isSelected() ) { 466 if ( item->isSelected() ) {
469 t.append( item->data() ); 467 t.append( item->data() );
470 } 468 }
471 item = (MailListViewItem*)item->nextSibling(); 469 item = (MailListViewItem*)item->nextSibling();
472 } 470 }
473 } 471 }
474 else 472 else
475 return; 473 return;
476 if ( t.count() == 0 ) 474 if ( t.count() == 0 )
477 return; 475 return;
478 RecMailP mail = t.first(); 476 RecMailP mail = t.first();
479 mail->Wrapper()->deleteMailList(t); 477 mail->Wrapper()->deleteMailList(t);
480 folderView->refreshCurrent(); 478 folderView->refreshCurrent();
481 479
482 480
483} 481}
484void OpieMail::clearSelection() 482void OpieMail::clearSelection()
485{ 483{
486 mailView->clearSelection(); 484 mailView->clearSelection();
487 485
488} 486}
489 487
490void OpieMail::mailHold(int button, QListViewItem *item,const QPoint&,int ) 488void OpieMail::mailHold(int button, QListViewItem *item,const QPoint&,int )
491{ 489{
492 if (!mailView->currentItem()) return; 490 if (!mailView->currentItem()) return;
493 MAILLIB::ATYPE mailtype = ((MailListViewItem*)mailView->currentItem() )->wrapperType(); 491 MAILLIB::ATYPE mailtype = ((MailListViewItem*)mailView->currentItem() )->wrapperType();
494 /* just the RIGHT button - or hold on pda */ 492 /* just the RIGHT button - or hold on pda */
495 if (button!=2) {return;} 493 if (button!=2) {return;}
496 if (!item) return; 494 if (!item) return;
497 QPopupMenu *m = new QPopupMenu(0); 495 QPopupMenu *m = new QPopupMenu(0);
498 if (m) 496 if (m)
499 { 497 {
500 if (mailtype==MAILLIB::A_NNTP) { 498 if (mailtype==MAILLIB::A_NNTP) {
501 m->insertItem(i18n("Read this posting"),this,SLOT(displayMail())); 499 m->insertItem(i18n("Read this posting"),this,SLOT(displayMail()));
502 m->insertItem(i18n("Copy this posting"),this,SLOT(slotMoveCopyMail())); 500 m->insertItem(i18n("Copy this posting"),this,SLOT(slotMoveCopyMail()));
503 m->insertSeparator(); 501 m->insertSeparator();
504 m->insertItem(i18n("Copy all selected postings"),this,SLOT(slotMoveCopyAllMail())); 502 m->insertItem(i18n("Copy all selected postings"),this,SLOT(slotMoveCopyAllMail()));
505 m->insertItem(i18n("Clear selection"),this,SLOT(clearSelection())); 503 m->insertItem(i18n("Clear selection"),this,SLOT(clearSelection()));
506 } else { 504 } else {
507 if (folderView->currentisDraft()) { 505 if (folderView->currentisDraft()) {
508 m->insertItem(i18n("Edit this mail"),this,SLOT(reEditMail())); 506 m->insertItem(i18n("Edit this mail"),this,SLOT(reEditMail()));
509 } 507 }
510 m->insertItem(i18n("Reply to this mail"),this,SLOT(replyMail())); 508 m->insertItem(i18n("Reply to this mail"),this,SLOT(replyMail()));
511 m->insertItem(i18n("Read this mail"),this,SLOT(displayMail())); 509 m->insertItem(i18n("Read this mail"),this,SLOT(displayMail()));
512 m->insertSeparator(); 510 m->insertSeparator();
513 m->insertItem(i18n("Move/Copy this mail"),this,SLOT(slotMoveCopyMail())); 511 m->insertItem(i18n("Move/Copy this mail"),this,SLOT(slotMoveCopyMail()));
514 m->insertItem(i18n("Delete this mail"),this,SLOT(slotDeleteMail())); 512 m->insertItem(i18n("Delete this mail"),this,SLOT(slotDeleteMail()));
515 m->insertSeparator(); 513 m->insertSeparator();
516 m->insertItem(i18n("Move/Copy all selected mail"),this,SLOT(slotMoveCopyAllMail())); 514 m->insertItem(i18n("Move/Copy all selected mail"),this,SLOT(slotMoveCopyAllMail()));
517 m->insertItem(i18n("Delete all selected mails"),this,SLOT(slotDeleteAllMail())); 515 m->insertItem(i18n("Delete all selected mails"),this,SLOT(slotDeleteAllMail()));
518 m->insertSeparator(); 516 m->insertSeparator();
519 m->insertItem(i18n("Clear selection"),this,SLOT(clearSelection())); 517 m->insertItem(i18n("Clear selection"),this,SLOT(clearSelection()));
520 } 518 }
521 m->setFocus(); 519 m->setFocus();
522 m->exec( QPoint( QCursor::pos().x(), QCursor::pos().y()) ); 520 m->exec( QPoint( QCursor::pos().x(), QCursor::pos().y()) );
523 delete m; 521 delete m;
524 } 522 }
525} 523}
526 524
527void OpieMail::slotShowFolders( bool show ) 525void OpieMail::slotShowFolders( bool show )
528{ 526{
529 if ( show && folderView->isHidden() ) 527 if ( show && folderView->isHidden() )
530 { 528 {
531 folderView->show(); 529 folderView->show();
532 } 530 }
533 else if ( !show && !folderView->isHidden() ) 531 else if ( !show && !folderView->isHidden() )
534 { 532 {
535 folderView->hide(); 533 folderView->hide();
536 } 534 }
537} 535}
538 536
539void OpieMail::refreshMailView(const QValueList<RecMailP>&list) 537void OpieMail::refreshMailView(const QValueList<RecMailP>&list)
540{ 538{
541 MailListViewItem*item = 0; 539 MailListViewItem*item = 0;
542 mailView->clear(); 540 mailView->clear();
543 541
544 QValueList<RecMailP>::ConstIterator it; 542 QValueList<RecMailP>::ConstIterator it;
545 for (it = list.begin(); it != list.end();++it) 543 for (it = list.begin(); it != list.end();++it)
546 { 544 {
547 item = new MailListViewItem(mailView,item); 545 item = new MailListViewItem(mailView,item);
548 item->storeData((*it)); 546 item->storeData((*it));
549 item->showEntry(); 547 item->showEntry();
550 } 548 }
551 mailView->setSorting ( 4, false ); 549 mailView->setSorting ( 4, false );
552} 550}
553 551
554void OpieMail::mailLeftClicked( QListViewItem *item ) 552void OpieMail::mailLeftClicked( QListViewItem *item )
555{ 553{
556 mailView->clearSelection(); 554 mailView->clearSelection();
557 /* just LEFT button - or tap with stylus on pda */ 555 /* just LEFT button - or tap with stylus on pda */
558 //if (button!=1) return; 556 //if (button!=1) return;
559 if (!item) return; 557 if (!item) return;
560 if (folderView->currentisDraft()) { 558 if (folderView->currentisDraft()) {
561 reEditMail(); 559 reEditMail();
562 } else { 560 } else {
563 displayMail(); 561 displayMail();
564 } 562 }
565} 563}
566 564
567void OpieMail::slotMoveCopyMail() 565void OpieMail::slotMoveCopyMail()
568{ 566{
569 if (!mailView->currentItem()) return; 567 if (!mailView->currentItem()) return;
570 RecMailP mail = ((MailListViewItem*)mailView->currentItem() )->data(); 568 RecMailP mail = ((MailListViewItem*)mailView->currentItem() )->data();
571 AbstractMail*targetMail = 0; 569 AbstractMail*targetMail = 0;
572 QString targetFolder = ""; 570 QString targetFolder = "";
573 Selectstore sels; 571 Selectstore sels;
574 folderView->setupFolderselect(&sels); 572 folderView->setupFolderselect(&sels);
575 if (!sels.exec()) return; 573 if (!sels.exec()) return;
576 targetMail = sels.currentMail(); 574 targetMail = sels.currentMail();
577 targetFolder = sels.currentFolder(); 575 targetFolder = sels.currentFolder();
578 if ( (mail->Wrapper()==targetMail && mail->getMbox()==targetFolder) || 576 if ( (mail->Wrapper()==targetMail && mail->getMbox()==targetFolder) ||
579 targetFolder.isEmpty()) 577 targetFolder.isEmpty())
580 { 578 {
581 return; 579 return;
582 } 580 }
583 if (sels.newFolder() && !targetMail->createMbox(targetFolder)) 581 if (sels.newFolder() && !targetMail->createMbox(targetFolder))
584 { 582 {
585 QMessageBox::critical(0,i18n("Error creating new Folder"), 583 QMessageBox::critical(0,i18n("Error creating new Folder"),
586 i18n("<center>Error while creating<br>new folder - breaking.</center>")); 584 i18n("<center>Error while creating<br>new folder - breaking.</center>"));
587 return; 585 return;
588 } 586 }
589 sels.hide(); 587 sels.hide();
590 qApp->processEvents(); 588 qApp->processEvents();
591 // qDebug("hiding sels "); 589 // qDebug("hiding sels ");
592 mail->Wrapper()->mvcpMail(mail,targetFolder,targetMail,sels.moveMails()); 590 mail->Wrapper()->mvcpMail(mail,targetFolder,targetMail,sels.moveMails());
593 folderView->refreshCurrent(); 591 folderView->refreshCurrent();
594} 592}
595 593
596void OpieMail::slotMoveCopyAllMail() 594void OpieMail::slotMoveCopyAllMail()
597{ 595{
598 596
599 if (!mailView->currentItem()) return; 597 if (!mailView->currentItem()) return;
600 QValueList<RecMailP> t; 598 QValueList<RecMailP> t;
601 // if ( QMessageBox::warning(this, i18n("Move/Copy all selected mails"), i18n("Do you really want to copy/move\nall selected mails?" ) , QMessageBox::Yes, QMessageBox::No ) == QMessageBox::Yes ) 599 // if ( QMessageBox::warning(this, i18n("Move/Copy all selected mails"), i18n("Do you really want to copy/move\nall selected mails?" ) , QMessageBox::Yes, QMessageBox::No ) == QMessageBox::Yes )
602 { 600 {
603 MailListViewItem* item = (MailListViewItem*)mailView->firstChild (); 601 MailListViewItem* item = (MailListViewItem*)mailView->firstChild ();
604 while ( item ) { 602 while ( item ) {
605 if ( item->isSelected() ) { 603 if ( item->isSelected() ) {
606 t.append( item->data() ); 604 t.append( item->data() );
607 } 605 }
608 item = (MailListViewItem*)item->nextSibling(); 606 item = (MailListViewItem*)item->nextSibling();
diff --git a/kmicromail/selectsmtp.cpp b/kmicromail/selectsmtp.cpp
index ff8b524..10b6d79 100644
--- a/kmicromail/selectsmtp.cpp
+++ b/kmicromail/selectsmtp.cpp
@@ -1,64 +1,64 @@
1#include "selectsmtp.h" 1#include "selectsmtp.h"
2#include <libmailwrapper/mailwrapper.h> 2#include <libmailwrapper/mailwrapper.h>
3 3
4#include <qcombobox.h> 4#include <qcombobox.h>
5#include <qcheckbox.h> 5#include <qcheckbox.h>
6#include <qmessagebox.h> 6#include <qmessagebox.h>
7#include <qpushbutton.h> 7#include <qpushbutton.h>
8#include <qlineedit.h> 8#include <qlineedit.h>
9#include <qlabel.h> 9#include <qlabel.h>
10#include <qtabwidget.h> 10#include <qtabwidget.h>
11#include <qlistview.h> 11#include <qlistview.h>
12#include <klocale.h> 12#include <klocale.h>
13selectsmtp::selectsmtp(QWidget* parent, const char* name, bool modal, WFlags fl) 13selectsmtp::selectsmtp(QWidget* parent, const char* name, bool modal, WFlags fl)
14 : selectstoreui(parent,name,modal,fl) 14 : selectstoreui(parent,name,modal,fl)
15{ 15{
16 //m_smtpList.setAutoDelete(false); 16 //m_smtpList.setAutoDelete(false);
17 m_smtpList = 0; 17 m_smtpList = 0;
18 //headlabel->setText(i18n("<center>Select SMTP account to use</center>")); 18 //headlabel->setText(i18n("<center>Select SMTP account to use</center>"));
19 headlabel->hide(); 19 headlabel->hide();
20 folderSelection->hide(); 20 folderSelection->hide();
21 folderLabel->hide(); 21 folderLabel->hide();
22 accountlabel->setText("<center>SMTP Accounts</center>"); 22 //accountlabel->setText(i18n("SMTP\nAccount:"));
23 Line1->hide(); 23 Line1->hide();
24 newFoldersel->hide(); 24 newFoldersel->hide();
25 newFolderedit->hide(); 25 newFolderedit->hide();
26 newFolderLabel->hide(); 26 newFolderLabel->hide();
27 Line2->hide(); 27 Line2->hide();
28 selMove->hide(); 28 selMove->hide();
29 m_current_smtp = 0; 29 m_current_smtp = 0;
30 setCaption(i18n("Select SMTP Account")); 30 setCaption(i18n("Select SMTP Account"));
31} 31}
32 32
33selectsmtp::~selectsmtp() 33selectsmtp::~selectsmtp()
34{ 34{
35} 35}
36 36
37void selectsmtp::slotAccountselected(int which) 37void selectsmtp::slotAccountselected(int which)
38{ 38{
39 if (!m_smtpList || (unsigned)which>=m_smtpList->count() || which < 0) { 39 if (!m_smtpList || (unsigned)which>=m_smtpList->count() || which < 0) {
40 m_current_smtp = 0; 40 m_current_smtp = 0;
41 return; 41 return;
42 } 42 }
43 m_current_smtp = m_smtpList->at(which); 43 m_current_smtp = m_smtpList->at(which);
44} 44}
45 45
46void selectsmtp::setSelectionlist(QList<SMTPaccount>*list) 46void selectsmtp::setSelectionlist(QList<SMTPaccount>*list)
47{ 47{
48 m_smtpList = list; 48 m_smtpList = list;
49 accountSelection->clear(); 49 accountSelection->clear();
50 if (!m_smtpList || m_smtpList->count()==0) { 50 if (!m_smtpList || m_smtpList->count()==0) {
51 accountSelection->setEnabled(false); 51 accountSelection->setEnabled(false);
52 return; 52 return;
53 } 53 }
54 accountSelection->setEnabled(true); 54 accountSelection->setEnabled(true);
55 for (unsigned i = 0; m_smtpList!=0 && i < m_smtpList->count(); ++i) { 55 for (unsigned i = 0; m_smtpList!=0 && i < m_smtpList->count(); ++i) {
56 accountSelection->insertItem( m_smtpList->at(i)->getAccountName()); 56 accountSelection->insertItem( m_smtpList->at(i)->getAccountName());
57 } 57 }
58 m_current_smtp = m_smtpList->at(0); 58 m_current_smtp = m_smtpList->at(0);
59} 59}
60 60
61SMTPaccount*selectsmtp::selected_smtp() 61SMTPaccount*selectsmtp::selected_smtp()
62{ 62{
63 return m_current_smtp; 63 return m_current_smtp;
64} 64}