author | zautrix <zautrix> | 2005-01-27 08:29:50 (UTC) |
---|---|---|
committer | zautrix <zautrix> | 2005-01-27 08:29:50 (UTC) |
commit | 3cc7fcfca62701f39c2626d48286b949a43313da (patch) (unidiff) | |
tree | 5c16e322d8d1c18b47fa825c64cc9d7b6db6fea0 | |
parent | 5b73e9576949ec5123dbd34fd0fe94828af97f49 (diff) | |
download | kdepimpi-3cc7fcfca62701f39c2626d48286b949a43313da.zip kdepimpi-3cc7fcfca62701f39c2626d48286b949a43313da.tar.gz kdepimpi-3cc7fcfca62701f39c2626d48286b949a43313da.tar.bz2 |
fix
-rw-r--r-- | bin/kdepim/WhatsNew.txt | 7 | ||||
-rw-r--r-- | bin/kdepim/kopiemail/germantranslation.txt | 6 | ||||
-rw-r--r-- | kmicromail/mainwindow.cpp | 39 | ||||
-rw-r--r-- | kmicromail/mainwindow.h | 3 | ||||
-rw-r--r-- | version | 2 |
5 files changed, 51 insertions, 6 deletions
diff --git a/bin/kdepim/WhatsNew.txt b/bin/kdepim/WhatsNew.txt index 5b23488..9b70a36 100644 --- a/bin/kdepim/WhatsNew.txt +++ b/bin/kdepim/WhatsNew.txt | |||
@@ -1,58 +1,61 @@ | |||
1 | Info about the changes in new versions of KDE-Pim/Pi | 1 | Info about the changes in new versions of KDE-Pim/Pi |
2 | 2 | ||
3 | ********** VERSION 1.9.21 ************ | 3 | ********** VERSION 2.0.0 ************ |
4 | |||
5 | Stable release 2.0.0! | ||
4 | 6 | ||
5 | KO/Pi: | 7 | KO/Pi: |
6 | Fixed problem in edit dialog recreation at startup. | 8 | Fixed problem in edit dialog recreation at startup. |
7 | Made "toggle view*" menu items enabled context sensitive. | 9 | Made "toggle view*" menu items enabled context sensitive. |
8 | Changed agenda size menu to items 1-10. | 10 | Changed agenda size menu to items 1-10. |
9 | Made it possible to change agenda size quickly by pressing mouse on timelabels in agenda view and move mouse up/down. | 11 | Made it possible to change agenda size quickly by pressing mouse on timelabels in agenda view and move mouse up/down. |
10 | 12 | OM/Pi: | |
13 | Added three info lines to display subject, from and to of selected mails. | ||
11 | 14 | ||
12 | ********** VERSION 1.9.20 ************ | 15 | ********** VERSION 1.9.20 ************ |
13 | 16 | ||
14 | KO/Pi: | 17 | KO/Pi: |
15 | Added for the "dislplay one day" agenda mode | 18 | Added for the "dislplay one day" agenda mode |
16 | info in the caption and in the day lables: | 19 | info in the caption and in the day lables: |
17 | Now it is displayed, if the selected day is from "day before yesterday" | 20 | Now it is displayed, if the selected day is from "day before yesterday" |
18 | to "day after tomorrow". | 21 | to "day after tomorrow". |
19 | Made it possible to delete a Todo, which has sub-todos. | 22 | Made it possible to delete a Todo, which has sub-todos. |
20 | Fixed two small problems in the todo view. | 23 | Fixed two small problems in the todo view. |
21 | Added missing German translation for filter edit and print dialog. | 24 | Added missing German translation for filter edit and print dialog. |
22 | Made search dialog closeable by cancel key. | 25 | Made search dialog closeable by cancel key. |
23 | 26 | ||
24 | Made it possible to select in the date picker the (ligt grey ) | 27 | Made it possible to select in the date picker the (ligt grey ) |
25 | dates of the prev./next month with the mouse. | 28 | dates of the prev./next month with the mouse. |
26 | 29 | ||
27 | OM/Pi: | 30 | OM/Pi: |
28 | "Delete mail" icon in main window now deletes all selected mails. | 31 | "Delete mail" icon in main window now deletes all selected mails. |
29 | Fixed the problem, that the state flag of imap mails was ignored. | 32 | Fixed the problem, that the state flag of imap mails was ignored. |
30 | Now mails with "FLAG_SEEN" on the imap server get no icon in the list view | 33 | Now mails with "FLAG_SEEN" on the imap server get no icon in the list view |
31 | to indecate that they are already seen. | 34 | to indecate that they are already seen. |
32 | Fixed the problem that the body of some mails was not displayed in the | 35 | Fixed the problem that the body of some mails was not displayed in the |
33 | mail viewer when fetching them from the imap server directly to read them. | 36 | mail viewer when fetching them from the imap server directly to read them. |
34 | Made it (configurable) possible to show the "To:" field in the list view. | 37 | Made it (configurable) possible to show the "To:" field in the list view. |
35 | Added to the mail viewer the option "View Source" to make it possible to see the raw mail data. | 38 | Added to the mail viewer the option "View Source" to make it possible to see the raw mail data. |
36 | Added a "Download Mail" button to the mail viewer to quickly download the viewed mail to the | 39 | Added a "Download Mail" button to the mail viewer to quickly download the viewed mail to the |
37 | local storage folder (specified in account settings) of the account of the mail. | 40 | local storage folder (specified in account settings) of the account of the mail. |
38 | Removed some memory leaks in OM/Pi. | 41 | Removed some memory leaks in OM/Pi. |
39 | 42 | ||
40 | 43 | ||
41 | ********** VERSION 1.9.19 ************ | 44 | ********** VERSION 1.9.19 ************ |
42 | 45 | ||
43 | Added a lot of missing translations to KA/Pi, | 46 | Added a lot of missing translations to KA/Pi, |
44 | Added some missing translations to KO/Pi and OM/Pi. | 47 | Added some missing translations to KO/Pi and OM/Pi. |
45 | 48 | ||
46 | Fixed some minor problems in KA/Pi + KO/Pi. | 49 | Fixed some minor problems in KA/Pi + KO/Pi. |
47 | 50 | ||
48 | Fixed a crash when closing PwM/Pi. | 51 | Fixed a crash when closing PwM/Pi. |
49 | Added German translation for PwM/Pi. | 52 | Added German translation for PwM/Pi. |
50 | 53 | ||
51 | Made view change and Month View update faster in KO/Pi. | 54 | Made view change and Month View update faster in KO/Pi. |
52 | 55 | ||
53 | 56 | ||
54 | ********** VERSION 1.9.18 ************ | 57 | ********** VERSION 1.9.18 ************ |
55 | 58 | ||
56 | FYI: The VERSION 1.9.17 was a testing release only. | 59 | FYI: The VERSION 1.9.17 was a testing release only. |
57 | Please read the changelog of VERSION 1.9.17 as well. | 60 | Please read the changelog of VERSION 1.9.17 as well. |
58 | 61 | ||
diff --git a/bin/kdepim/kopiemail/germantranslation.txt b/bin/kdepim/kopiemail/germantranslation.txt index 6ebaafe..86819b7 100644 --- a/bin/kdepim/kopiemail/germantranslation.txt +++ b/bin/kdepim/kopiemail/germantranslation.txt | |||
@@ -208,53 +208,57 @@ | |||
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","Ihr gerade genutztes Speicherverzeichnis ist:\n%1\nIhre Mail wird gespeichert in:\n(speicherverzeichnis)/apps/kopiemail/localmail" }, | 246 | { "Your current storage dir is:\n%1\nYour mail is stored in:\n(storagedir)/apps/kopiemail/localmail","Ihr gerade genutztes Speicherverzeichnis ist:\n%1\nIhre Mail wird gespeichert in:\n(speicherverzeichnis)/apps/kopiemail/localmail" }, |
247 | { "<b>Set new data storage dir:</b>","<b>Setze neues Datenspeicherverzeichnis:</b>" }, | 247 | { "<b>Set new data storage dir:</b>","<b>Setze neues Datenspeicherverzeichnis:</b>" }, |
248 | { "Not existing dirs are created automatically","Nicht existierende Verzeichnisse werden erstellt" }, | 248 | { "Not existing dirs are created automatically","Nicht existierende Verzeichnisse werden 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 | { "The settings of the storage\ndir is saved in the file\n%1","Die Einstellungen des Speicherverzeichnisses\nwerden in folgender Datei gespeichert:\n%1" }, | 252 | { "The settings of the storage\ndir is saved in the file\n%1","Die Einstellungen des Speicherverzeichnisses\nwerden in folgender Datei gespeichert:\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 | { "","" }, | 256 | { "Su:","Be:" }, |
257 | { "Fr:","Vo:" }, | ||
258 | { "To:","An:" }, | ||
259 | { "Download Mail","Mail runterladen" }, | ||
260 | { "View Source","Zeige Source" }, | ||
257 | { "","" }, | 261 | { "","" }, |
258 | { "","" }, | 262 | { "","" }, |
259 | { "","" }, | 263 | { "","" }, |
260 | { "","" }, | 264 | { "","" }, |
diff --git a/kmicromail/mainwindow.cpp b/kmicromail/mainwindow.cpp index 875ab77..250d114 100644 --- a/kmicromail/mainwindow.cpp +++ b/kmicromail/mainwindow.cpp | |||
@@ -1,256 +1,291 @@ | |||
1 | 1 | ||
2 | // CHANGED 2004-08-06 Lutz Rogowski | 2 | // CHANGED 2004-08-06 Lutz Rogowski |
3 | #include <qlabel.h> | 3 | #include <qlabel.h> |
4 | #include <qvbox.h> | 4 | #include <qvbox.h> |
5 | #include <qheader.h> | 5 | #include <qheader.h> |
6 | #include <qtimer.h> | 6 | #include <qtimer.h> |
7 | #include <qlayout.h> | 7 | #include <qlayout.h> |
8 | //#include <kdialog.h> | 8 | //#include <kdialog.h> |
9 | #include <kiconloader.h> | 9 | #include <kiconloader.h> |
10 | #include <kapplication.h> | 10 | #include <kapplication.h> |
11 | 11 | ||
12 | #ifdef DESKTOP_VERSION | 12 | #ifdef DESKTOP_VERSION |
13 | #include <qapplication.h> | 13 | #include <qapplication.h> |
14 | #include <qstatusbar.h> | 14 | #include <qstatusbar.h> |
15 | #include <kabc/stdaddressbook.h> | 15 | #include <kabc/stdaddressbook.h> |
16 | extern QStatusBar* globalSstatusBarMainWindow; | 16 | extern QStatusBar* globalSstatusBarMainWindow; |
17 | #else | 17 | #else |
18 | #include <qpe/qpeapplication.h> | 18 | #include <qpe/qpeapplication.h> |
19 | #include <klocale.h> | 19 | #include <klocale.h> |
20 | #endif | 20 | #endif |
21 | #include "defines.h" | 21 | #include "defines.h" |
22 | #include "mainwindow.h" | 22 | #include "mainwindow.h" |
23 | #include "mailistviewitem.h" | ||
23 | #include <KDGanttMinimizeSplitter.h> | 24 | #include <KDGanttMinimizeSplitter.h> |
24 | 25 | ||
25 | #include "koprefs.h" | 26 | #include "koprefs.h" |
26 | 27 | ||
27 | MainWindow::MainWindow( QWidget *parent, const char *name, WFlags flags ) | 28 | MainWindow::MainWindow( QWidget *parent, const char *name, WFlags flags ) |
28 | : QMainWindow( parent, name ) //, flags ) | 29 | : QMainWindow( parent, name ) //, flags ) |
29 | { | 30 | { |
30 | #ifdef DESKTOP_VERSION | 31 | #ifdef DESKTOP_VERSION |
31 | globalSstatusBarMainWindow = statusBar(); | 32 | globalSstatusBarMainWindow = statusBar(); |
32 | #endif | 33 | #endif |
33 | setCaption( i18n( "KOpieMail/Pi" ) ); | 34 | setCaption( i18n( "KOpieMail/Pi" ) ); |
34 | setToolBarsMovable( false ); | 35 | setToolBarsMovable( false ); |
35 | //KABC::StdAddressBook::self(); | 36 | //KABC::StdAddressBook::self(); |
36 | toolBar = new QToolBar( this ); | 37 | toolBar = new QToolBar( this ); |
37 | menuBar = new QPEMenuBar( toolBar ); | 38 | menuBar = new QPEMenuBar( toolBar ); |
38 | mailMenu = new QPopupMenu( menuBar ); | 39 | mailMenu = new QPopupMenu( menuBar ); |
39 | menuBar->insertItem( i18n( "Mail" ), mailMenu ); | 40 | menuBar->insertItem( i18n( "Mail" ), mailMenu ); |
40 | settingsMenu = new QPopupMenu( menuBar ); | 41 | settingsMenu = new QPopupMenu( menuBar ); |
41 | menuBar->insertItem( i18n( "Settings" ), settingsMenu ); | 42 | menuBar->insertItem( i18n( "Settings" ), settingsMenu ); |
42 | 43 | ||
43 | addToolBar( toolBar ); | 44 | addToolBar( toolBar ); |
44 | toolBar->setHorizontalStretchable( true ); | 45 | toolBar->setHorizontalStretchable( true ); |
45 | QAction* getMail = new QAction( i18n( "Get all new mails" ), SmallIcon("enter"), | 46 | QAction* getMail = new QAction( i18n( "Get all new mails" ), SmallIcon("enter"), |
46 | 0, 0, this ); | 47 | 0, 0, this ); |
47 | connect(getMail, SIGNAL( activated() ), | 48 | connect(getMail, SIGNAL( activated() ), |
48 | SLOT( slotGetAllMail() ) ); | 49 | SLOT( slotGetAllMail() ) ); |
49 | getMail->addTo( mailMenu ); | 50 | getMail->addTo( mailMenu ); |
50 | 51 | ||
51 | getMail = new QAction( i18n( "Get new messages" ), SmallIcon("add"), | 52 | getMail = new QAction( i18n( "Get new messages" ), SmallIcon("add"), |
52 | 0, 0, this ); | 53 | 0, 0, this ); |
53 | getMail->addTo( toolBar ); | 54 | getMail->addTo( toolBar ); |
54 | getMail->addTo( mailMenu ); | 55 | getMail->addTo( mailMenu ); |
55 | connect(getMail, SIGNAL( activated() ), | 56 | connect(getMail, SIGNAL( activated() ), |
56 | SLOT( slotGetMail() ) ); | 57 | SLOT( slotGetMail() ) ); |
57 | 58 | ||
58 | composeMail = new QAction( i18n( "Compose new mail" ), SmallIcon("composemail"), | 59 | composeMail = new QAction( i18n( "Compose new mail" ), SmallIcon("composemail"), |
59 | 0, 0, this ); | 60 | 0, 0, this ); |
60 | composeMail->addTo( toolBar ); | 61 | composeMail->addTo( toolBar ); |
61 | composeMail->addTo( mailMenu ); | 62 | composeMail->addTo( mailMenu ); |
62 | 63 | ||
63 | sendQueued = new QAction( i18n( "Send queued mails" ), SmallIcon("sendqueued") , | 64 | sendQueued = new QAction( i18n( "Send queued mails" ), SmallIcon("sendqueued") , |
64 | 0, 0, this ); | 65 | 0, 0, this ); |
65 | sendQueued->addTo( toolBar ); | 66 | sendQueued->addTo( toolBar ); |
66 | sendQueued->addTo( mailMenu ); | 67 | sendQueued->addTo( mailMenu ); |
67 | 68 | ||
68 | /* | 69 | /* |
69 | syncFolders = new QAction( i18n( "Sync mailfolders" ), ICON_SYNC, | 70 | syncFolders = new QAction( i18n( "Sync mailfolders" ), ICON_SYNC, |
70 | 0, 0, this ); | 71 | 0, 0, this ); |
71 | syncFolders->addTo( toolBar ); | 72 | syncFolders->addTo( toolBar ); |
72 | syncFolders->addTo( mailMenu ); | 73 | syncFolders->addTo( mailMenu ); |
73 | */ | 74 | */ |
74 | 75 | ||
75 | showFolders = new QAction( i18n( "Show/Hide folders" ), SmallIcon("showfolders") , | 76 | showFolders = new QAction( i18n( "Show/Hide folders" ), SmallIcon("showfolders") , |
76 | 0, 0, this, 0, true ); | 77 | 0, 0, this, 0, true ); |
77 | showFolders->addTo( toolBar ); | 78 | showFolders->addTo( toolBar ); |
78 | showFolders->addTo( mailMenu ); | 79 | showFolders->addTo( mailMenu ); |
79 | showFolders->setOn( true ); | 80 | showFolders->setOn( true ); |
80 | connect(showFolders, SIGNAL( toggled(bool) ), | 81 | connect(showFolders, SIGNAL( toggled(bool) ), |
81 | SLOT( slotShowFolders(bool) ) ); | 82 | SLOT( slotShowFolders(bool) ) ); |
82 | 83 | ||
83 | /* | 84 | /* |
84 | searchMails = new QAction( i18n( "Search mails" ), SmallIcon("find") ), | 85 | searchMails = new QAction( i18n( "Search mails" ), SmallIcon("find") ), |
85 | 0, 0, this ); | 86 | 0, 0, this ); |
86 | searchMails->addTo( toolBar ); | 87 | searchMails->addTo( toolBar ); |
87 | searchMails->addTo( mailMenu ); | 88 | searchMails->addTo( mailMenu ); |
88 | */ | 89 | */ |
89 | 90 | ||
90 | deleteMails = new QAction(i18n("Delete Mail"), SmallIcon("trash"), 0, 0, this); | 91 | deleteMails = new QAction(i18n("Delete Mail"), SmallIcon("trash"), 0, 0, this); |
91 | deleteMails->addTo( toolBar ); | 92 | deleteMails->addTo( toolBar ); |
92 | deleteMails->addTo( mailMenu ); | 93 | deleteMails->addTo( mailMenu ); |
93 | connect( deleteMails, SIGNAL( activated() ), | 94 | connect( deleteMails, SIGNAL( activated() ), |
94 | SLOT( slotDeleteAllMail() ) ); | 95 | SLOT( slotDeleteAllMail() ) ); |
95 | 96 | ||
96 | editSettings = new QAction( i18n( "Edit settings" ), SmallIcon("SettingsIcon") , | 97 | editSettings = new QAction( i18n( "Edit settings" ), SmallIcon("SettingsIcon") , |
97 | 0, 0, this ); | 98 | 0, 0, this ); |
98 | editSettings->addTo( settingsMenu ); | 99 | editSettings->addTo( settingsMenu ); |
99 | connect( editSettings, SIGNAL( activated() ), | 100 | connect( editSettings, SIGNAL( activated() ), |
100 | SLOT( slotEditSettings() ) ); | 101 | SLOT( slotEditSettings() ) ); |
101 | editAccounts = new QAction( i18n( "Configure accounts" ), SmallIcon("editaccounts") , | 102 | editAccounts = new QAction( i18n( "Configure accounts" ), SmallIcon("editaccounts") , |
102 | 0, 0, this ); | 103 | 0, 0, this ); |
103 | editAccounts->addTo( settingsMenu ); | 104 | editAccounts->addTo( settingsMenu ); |
104 | codecMenu = new QPopupMenu( menuBar ); | 105 | codecMenu = new QPopupMenu( menuBar ); |
105 | codecMenu->insertItem( "Western (iso-8859-1)",0,0); | 106 | codecMenu->insertItem( "Western (iso-8859-1)",0,0); |
106 | codecMenu->insertItem( "Cyrillic (iso-8859-5)",1,1); | 107 | codecMenu->insertItem( "Cyrillic (iso-8859-5)",1,1); |
107 | codecMenu->insertItem( "Western (iso-8859-15)",2,2); | 108 | codecMenu->insertItem( "Western (iso-8859-15)",2,2); |
108 | codecMenu->insertItem( "Chinese (big-5)",3,3); | 109 | codecMenu->insertItem( "Chinese (big-5)",3,3); |
109 | codecMenu->insertItem( "Unicode (utf-8)",4,4); | 110 | codecMenu->insertItem( "Unicode (utf-8)",4,4); |
110 | codecMenu->insertItem( "Userdefined ("+KOPrefs::instance()->mSendCodec+")",5,5); | 111 | codecMenu->insertItem( "Userdefined ("+KOPrefs::instance()->mSendCodec+")",5,5); |
111 | //disabled | 112 | //disabled |
112 | //settingsMenu->insertItem( i18n("Codec for new mails"), codecMenu); | 113 | //settingsMenu->insertItem( i18n("Codec for new mails"), codecMenu); |
113 | //setCentralWidget( view ); | 114 | //setCentralWidget( view ); |
114 | 115 | ||
115 | QVBox* wrapperBox = new QVBox( this ); | 116 | QVBox* wrapperBox = new QVBox( this ); |
116 | setCentralWidget( wrapperBox ); | 117 | setCentralWidget( wrapperBox ); |
117 | 118 | ||
118 | // QWidget *view = new QWidget( wrapperBox ); | 119 | // QWidget *view = new QWidget( wrapperBox ); |
119 | KDGanttMinimizeSplitter* split = new KDGanttMinimizeSplitter( Qt::Horizontal, wrapperBox); | 120 | KDGanttMinimizeSplitter* splithor = new KDGanttMinimizeSplitter( Qt::Vertical, wrapperBox); |
121 | splithor->setMinimizeDirection( KDGanttMinimizeSplitter::Down); | ||
122 | KDGanttMinimizeSplitter* split = new KDGanttMinimizeSplitter( Qt::Horizontal, splithor); | ||
120 | split->setMinimizeDirection( KDGanttMinimizeSplitter::Left); | 123 | split->setMinimizeDirection( KDGanttMinimizeSplitter::Left); |
121 | //layout = new QBoxLayout ( split, QBoxLayout::LeftToRight ); | 124 | //layout = new QBoxLayout ( split, QBoxLayout::LeftToRight ); |
122 | 125 | QWidget* infoBox = new QWidget( splithor ); | |
126 | QGridLayout *griLay = new QGridLayout( infoBox, 2,2); | ||
127 | griLay->addWidget( new QLabel ( i18n("Su:"), infoBox ),0,0 ); | ||
128 | griLay->addWidget( new QLabel ( i18n("Fr:"), infoBox ),1,0 ); | ||
129 | griLay->addWidget( new QLabel ( i18n("To:"), infoBox ),2,0 ); | ||
130 | griLay->addWidget( subLE = new QLineEdit( infoBox ),0,1) ; | ||
131 | griLay->addWidget( fromLE = new QLineEdit( infoBox ),1,1) ; | ||
132 | griLay->addWidget( toLE = new QLineEdit( infoBox ),2,1) ; | ||
133 | infoBox->setMaximumHeight( infoBox->sizeHint().height() ); | ||
123 | folderView = new AccountView( split ); | 134 | folderView = new AccountView( split ); |
124 | folderView->header()->hide(); | 135 | folderView->header()->hide(); |
125 | folderView->setRootIsDecorated( false ); | 136 | folderView->setRootIsDecorated( false ); |
126 | folderView->addColumn( i18n( "Mailbox" ) ); | 137 | folderView->addColumn( i18n( "Mailbox" ) ); |
127 | 138 | ||
128 | //layout->addWidget( folderView ); | 139 | //layout->addWidget( folderView ); |
129 | 140 | ||
130 | mailView = new QListView( split ); | 141 | mailView = new QListView( split ); |
131 | mailView->addColumn( i18n( " " ) ); | 142 | mailView->addColumn( i18n( " " ) ); |
132 | mailView->addColumn( i18n( "Subject" ),QListView::Manual ); | 143 | mailView->addColumn( i18n( "Subject" ),QListView::Manual ); |
133 | mailView->addColumn( i18n( "Sender" ),QListView::Manual ); | 144 | mailView->addColumn( i18n( "Sender" ),QListView::Manual ); |
134 | mailView->addColumn( i18n( "Size" ),QListView::Manual); | 145 | mailView->addColumn( i18n( "Size" ),QListView::Manual); |
135 | mailView->addColumn( i18n( "Date" ),QListView::Manual); | 146 | mailView->addColumn( i18n( "Date" ),QListView::Manual); |
136 | if ( KOPrefs::instance()->mShowToField ) | 147 | if ( KOPrefs::instance()->mShowToField ) |
137 | mailView->addColumn( i18n( "To" ),QListView::Manual); | 148 | mailView->addColumn( i18n( "To" ),QListView::Manual); |
138 | mailView->setAllColumnsShowFocus(true); | 149 | mailView->setAllColumnsShowFocus(true); |
139 | //mailView->setSorting(-1); | 150 | //mailView->setSorting(-1); |
140 | mailView->setRootIsDecorated( false ); | 151 | mailView->setRootIsDecorated( false ); |
141 | statusWidget = new StatusWidget( wrapperBox ); | 152 | statusWidget = new StatusWidget( wrapperBox ); |
142 | statusWidget->hide(); | 153 | statusWidget->hide(); |
143 | 154 | ||
144 | //layout->addWidget( mailView ); | 155 | //layout->addWidget( mailView ); |
145 | //layout->setStretchFactor( folderView, 1 ); | 156 | //layout->setStretchFactor( folderView, 1 ); |
146 | //layout->setStretchFactor( mailView, 2 ); | 157 | //layout->setStretchFactor( mailView, 2 ); |
147 | 158 | ||
148 | slotAdjustLayout(); | 159 | slotAdjustLayout(); |
149 | #ifndef DESKTOP_VERSION | 160 | #ifndef DESKTOP_VERSION |
150 | QPEApplication::setStylusOperation( mailView->viewport(),QPEApplication::RightOnHold); | 161 | QPEApplication::setStylusOperation( mailView->viewport(),QPEApplication::RightOnHold); |
151 | QPEApplication::setStylusOperation( folderView->viewport(),QPEApplication::RightOnHold); | 162 | QPEApplication::setStylusOperation( folderView->viewport(),QPEApplication::RightOnHold); |
163 | QPEApplication::setStylusOperation( subLE ,QPEApplication::RightOnHold); | ||
164 | QPEApplication::setStylusOperation( fromLE ,QPEApplication::RightOnHold); | ||
165 | QPEApplication::setStylusOperation( toLE ,QPEApplication::RightOnHold); | ||
152 | #endif | 166 | #endif |
153 | connect( mailView, SIGNAL( doubleClicked (QListViewItem* )),this, | 167 | connect( mailView, SIGNAL( doubleClicked (QListViewItem* )),this, |
154 | SLOT( mailLeftClicked(QListViewItem*) ) ); | 168 | SLOT( mailLeftClicked(QListViewItem*) ) ); |
155 | connect( mailView, SIGNAL( returnPressed (QListViewItem* )),this, | 169 | connect( mailView, SIGNAL( returnPressed (QListViewItem* )),this, |
156 | SLOT( mailLeftClicked(QListViewItem*) ) ); | 170 | SLOT( mailLeftClicked(QListViewItem*) ) ); |
157 | connect( mailView, SIGNAL( mouseButtonPressed(int,QListViewItem*,const QPoint&,int) ),this, | 171 | connect( mailView, SIGNAL( mouseButtonPressed(int,QListViewItem*,const QPoint&,int) ),this, |
158 | SLOT( mailHold(int,QListViewItem*,const QPoint&,int) ) ); | 172 | SLOT( mailHold(int,QListViewItem*,const QPoint&,int) ) ); |
159 | connect(folderView, SIGNAL(refreshMailview(const QValueList<RecMailP>&)), | 173 | connect(folderView, SIGNAL(refreshMailview(const QValueList<RecMailP>&)), |
160 | this,SLOT(refreshMailView(const QValueList<RecMailP>&))); | 174 | this,SLOT(refreshMailView(const QValueList<RecMailP>&))); |
175 | |||
176 | connect( mailView, SIGNAL( currentChanged (QListViewItem* )),this, | ||
177 | SLOT( setInfoFields(QListViewItem*) ) ); | ||
178 | |||
161 | connect( composeMail, SIGNAL( activated() ), SLOT( slotComposeMail() ) ); | 179 | connect( composeMail, SIGNAL( activated() ), SLOT( slotComposeMail() ) ); |
162 | connect( sendQueued, SIGNAL( activated() ), SLOT( slotSendQueued() ) ); | 180 | connect( sendQueued, SIGNAL( activated() ), SLOT( slotSendQueued() ) ); |
163 | // connect( searchMails, SIGNAL( activated() ), SLOT( slotSearchMails() ) ); | 181 | // connect( searchMails, SIGNAL( activated() ), SLOT( slotSearchMails() ) ); |
164 | connect( editAccounts, SIGNAL( activated() ), SLOT( slotEditAccounts() ) ); | 182 | connect( editAccounts, SIGNAL( activated() ), SLOT( slotEditAccounts() ) ); |
165 | //mailView->setMultiSelection ( true ); | 183 | //mailView->setMultiSelection ( true ); |
166 | mailView->setSelectionMode( QListView::Extended ); | 184 | mailView->setSelectionMode( QListView::Extended ); |
167 | QValueList<int> list; | 185 | QValueList<int> list; |
168 | int fw = 100; | 186 | int fw = 100; |
169 | if ( QApplication::desktop()->width() > 320 ) | 187 | if ( QApplication::desktop()->width() > 320 ) |
170 | fw = 50; | 188 | fw = 50; |
171 | list.append( fw ); | 189 | list.append( fw ); |
172 | list.append( 100 ); | 190 | list.append( 100 ); |
173 | split->setSizes( list ); | 191 | split->setSizes( list ); |
174 | QTimer::singleShot( 1000, this, SLOT( slotAdjustColumns() ) ); | 192 | QTimer::singleShot( 1000, this, SLOT( slotAdjustColumns() ) ); |
175 | mailView->setShowSortIndicator ( true ); | 193 | mailView->setShowSortIndicator ( true ); |
176 | QLabel *spacer = new QLabel( toolBar ); | 194 | QLabel *spacer = new QLabel( toolBar ); |
177 | spacer->setBackgroundMode( QWidget::PaletteButton ); | 195 | spacer->setBackgroundMode( QWidget::PaletteButton ); |
178 | toolBar->setStretchableWidget( spacer ); | 196 | toolBar->setStretchableWidget( spacer ); |
179 | 197 | ||
180 | QAction* closeMail = new QAction(i18n("Close"),SmallIcon("exit"), 0, 0, this); | 198 | QAction* closeMail = new QAction(i18n("Close"),SmallIcon("exit"), 0, 0, this); |
181 | connect( closeMail, SIGNAL( activated() ), SLOT( close() ) ); | 199 | connect( closeMail, SIGNAL( activated() ), SLOT( close() ) ); |
182 | if ( QApplication::desktop()->width() > 320 ) | 200 | if ( QApplication::desktop()->width() > 320 ) |
183 | closeMail->addTo(toolBar); | 201 | closeMail->addTo(toolBar); |
184 | closeMail->addTo(mailMenu); | 202 | closeMail->addTo(mailMenu); |
185 | 203 | ||
186 | 204 | ||
187 | QPopupMenu* helpMenu = new QPopupMenu( menuBar ); | 205 | QPopupMenu* helpMenu = new QPopupMenu( menuBar ); |
188 | menuBar->insertItem( i18n( "Help" ), helpMenu ); | 206 | menuBar->insertItem( i18n( "Help" ), helpMenu ); |
189 | QAction* li = new QAction(i18n("About"), QPixmap(), 0, 0, this); | 207 | QAction* li = new QAction(i18n("About"), QPixmap(), 0, 0, this); |
190 | connect( li, SIGNAL( activated() ), SLOT( showAbout()) ); | 208 | connect( li, SIGNAL( activated() ), SLOT( showAbout()) ); |
191 | li->addTo(helpMenu); | 209 | li->addTo(helpMenu); |
192 | li = new QAction(i18n("Licence"),QPixmap(), 0, 0, this); | 210 | li = new QAction(i18n("Licence"),QPixmap(), 0, 0, this); |
193 | connect( li, SIGNAL( activated() ), SLOT( showLicence()) ); | 211 | connect( li, SIGNAL( activated() ), SLOT( showLicence()) ); |
194 | li->addTo(helpMenu); | 212 | li->addTo(helpMenu); |
195 | li = new QAction(i18n("LibEtPan Licence"), QPixmap(), 0, 0, this); | 213 | li = new QAction(i18n("LibEtPan Licence"), QPixmap(), 0, 0, this); |
196 | connect( li, SIGNAL( activated() ), SLOT( showEtpanLicence()) ); | 214 | connect( li, SIGNAL( activated() ), SLOT( showEtpanLicence()) ); |
197 | li->addTo(helpMenu); | 215 | li->addTo(helpMenu); |
198 | connect( codecMenu, SIGNAL( activated(int) ), this, SLOT( slotSetCodec( int )) ); | 216 | connect( codecMenu, SIGNAL( activated(int) ), this, SLOT( slotSetCodec( int )) ); |
199 | slotSetCodec( KOPrefs::instance()->mCurrentCodec ); | 217 | slotSetCodec( KOPrefs::instance()->mCurrentCodec ); |
200 | #ifdef DESKTOP_VERSION | 218 | #ifdef DESKTOP_VERSION |
201 | resize ( 640, 480 ); | 219 | resize ( 640, 480 ); |
202 | #endif | 220 | #endif |
203 | } | 221 | } |
204 | 222 | ||
205 | MainWindow::~MainWindow() | 223 | MainWindow::~MainWindow() |
206 | { | 224 | { |
207 | } | 225 | } |
208 | 226 | ||
227 | void MainWindow::setInfoFields(QListViewItem* item ) | ||
228 | { | ||
229 | if ( item == 0) { | ||
230 | subLE->setText(""); | ||
231 | fromLE->setText(""); | ||
232 | toLE->setText(""); | ||
233 | return; | ||
234 | } | ||
235 | RecMailP mail = ((MailListViewItem*)item)->data(); | ||
236 | subLE->setText(mail->getSubject()); | ||
237 | fromLE->setText(mail->getFrom()); | ||
238 | toLE->setText(mail->To().join(";" )); | ||
239 | subLE->setCursorPosition(0); | ||
240 | fromLE->setCursorPosition(0); | ||
241 | toLE->setCursorPosition(0); | ||
242 | |||
243 | } | ||
209 | void MainWindow::slotSetCodec( int codec ) | 244 | void MainWindow::slotSetCodec( int codec ) |
210 | { | 245 | { |
211 | codecMenu->setItemChecked(KOPrefs::instance()->mCurrentCodec, false ); | 246 | codecMenu->setItemChecked(KOPrefs::instance()->mCurrentCodec, false ); |
212 | //qDebug("codec %d ", codec); | 247 | //qDebug("codec %d ", codec); |
213 | KOPrefs::instance()->mCurrentCodec = codec; | 248 | KOPrefs::instance()->mCurrentCodec = codec; |
214 | KOPrefs::instance()->isDirty = true; | 249 | KOPrefs::instance()->isDirty = true; |
215 | QString name; | 250 | QString name; |
216 | switch ( codec ) { | 251 | switch ( codec ) { |
217 | case 0: | 252 | case 0: |
218 | name = "iso-8859-1"; | 253 | name = "iso-8859-1"; |
219 | break; | 254 | break; |
220 | case 1: | 255 | case 1: |
221 | name = "iso-8859-5"; | 256 | name = "iso-8859-5"; |
222 | break; | 257 | break; |
223 | case 2: | 258 | case 2: |
224 | name = "iso-8859-15"; | 259 | name = "iso-8859-15"; |
225 | break; | 260 | break; |
226 | case 3: | 261 | case 3: |
227 | name = "big-5"; | 262 | name = "big-5"; |
228 | break; | 263 | break; |
229 | case 4: | 264 | case 4: |
230 | name = "utf-8"; | 265 | name = "utf-8"; |
231 | break; | 266 | break; |
232 | case 5: | 267 | case 5: |
233 | name = KOPrefs::instance()->mSendCodec.lower(); | 268 | name = KOPrefs::instance()->mSendCodec.lower(); |
234 | break; | 269 | break; |
235 | } | 270 | } |
236 | KOPrefs::instance()->mCurrentCodeName = name ; | 271 | KOPrefs::instance()->mCurrentCodeName = name ; |
237 | codecMenu->changeItem ( 5, "Userdefined ("+KOPrefs::instance()->mSendCodec+")"); | 272 | codecMenu->changeItem ( 5, "Userdefined ("+KOPrefs::instance()->mSendCodec+")"); |
238 | codecMenu->setItemChecked(KOPrefs::instance()->mCurrentCodec, true ); | 273 | codecMenu->setItemChecked(KOPrefs::instance()->mCurrentCodec, true ); |
239 | } | 274 | } |
240 | void MainWindow::showLicence() | 275 | void MainWindow::showLicence() |
241 | { | 276 | { |
242 | KApplication::showLicence(); | 277 | KApplication::showLicence(); |
243 | } | 278 | } |
244 | void MainWindow::showAbout() | 279 | void MainWindow::showAbout() |
245 | { | 280 | { |
246 | QString version; | 281 | QString version; |
247 | #include <../version> | 282 | #include <../version> |
248 | 283 | ||
249 | QString cap = "About KOpieMail/Pi"; | 284 | QString cap = "About KOpieMail/Pi"; |
250 | QString text =i18n("KOpieMail/Platform-independent\n") + | 285 | QString text =i18n("KOpieMail/Platform-independent\n") + |
251 | "(OM/Pi) " + version + " - " | 286 | "(OM/Pi) " + version + " - " |
252 | 287 | ||
253 | #ifdef DESKTOP_VERSION | 288 | #ifdef DESKTOP_VERSION |
254 | "Desktop Edition\n" | 289 | "Desktop Edition\n" |
255 | #else | 290 | #else |
256 | "PDA-Edition\nfor: Zaurus 5x00 / 7x0 / 8x0\n" | 291 | "PDA-Edition\nfor: Zaurus 5x00 / 7x0 / 8x0\n" |
diff --git a/kmicromail/mainwindow.h b/kmicromail/mainwindow.h index 016e44c..ddb3fca 100644 --- a/kmicromail/mainwindow.h +++ b/kmicromail/mainwindow.h | |||
@@ -1,70 +1,73 @@ | |||
1 | 1 | ||
2 | // CHANGED 2004-08-06 Lutz Rogowski | 2 | // CHANGED 2004-08-06 Lutz Rogowski |
3 | #ifndef MAINWINDOW_H | 3 | #ifndef MAINWINDOW_H |
4 | #define MAINWINDOW_H | 4 | #define MAINWINDOW_H |
5 | 5 | ||
6 | #include <qmainwindow.h> | 6 | #include <qmainwindow.h> |
7 | #include <qlistview.h> | 7 | #include <qlistview.h> |
8 | #include <qaction.h> | 8 | #include <qaction.h> |
9 | #include <qlineedit.h> | ||
9 | 10 | ||
10 | #include <qtoolbar.h> | 11 | #include <qtoolbar.h> |
11 | #ifdef DESKTOP_VERSION | 12 | #ifdef DESKTOP_VERSION |
12 | #include <qmenubar.h> | 13 | #include <qmenubar.h> |
13 | #define QPEMenuBar QMenuBar | 14 | #define QPEMenuBar QMenuBar |
14 | #else | 15 | #else |
15 | #include <qpe/qpemenubar.h> | 16 | #include <qpe/qpemenubar.h> |
16 | #endif | 17 | #endif |
17 | 18 | ||
18 | #include "accountview.h" | 19 | #include "accountview.h" |
19 | #include "statuswidget.h" | 20 | #include "statuswidget.h" |
20 | 21 | ||
21 | #include <libmailwrapper/mailtypes.h> | 22 | #include <libmailwrapper/mailtypes.h> |
22 | #include <opie2/osmartpointer.h> | 23 | #include <opie2/osmartpointer.h> |
23 | 24 | ||
24 | class RecMail; | 25 | class RecMail; |
25 | 26 | ||
26 | class MainWindow : public QMainWindow | 27 | class MainWindow : public QMainWindow |
27 | { | 28 | { |
28 | Q_OBJECT | 29 | Q_OBJECT |
29 | 30 | ||
30 | public: | 31 | public: |
31 | MainWindow( QWidget *parent = 0, const char *name = 0, WFlags flags = 0 ); | 32 | MainWindow( QWidget *parent = 0, const char *name = 0, WFlags flags = 0 ); |
32 | virtual ~MainWindow(); | 33 | virtual ~MainWindow(); |
33 | 34 | ||
34 | public slots: | 35 | public slots: |
35 | virtual void slotAdjustColumns(); | 36 | virtual void slotAdjustColumns(); |
36 | virtual void appMessage(const QCString &msg, const QByteArray &data); | 37 | virtual void appMessage(const QCString &msg, const QByteArray &data); |
37 | virtual void slotComposeMail(); | 38 | virtual void slotComposeMail(); |
38 | 39 | ||
39 | protected slots: | 40 | protected slots: |
41 | virtual void setInfoFields(QListViewItem* ); | ||
40 | virtual void slotSendQueued(); | 42 | virtual void slotSendQueued(); |
41 | virtual void slotEditAccounts(); | 43 | virtual void slotEditAccounts(); |
42 | virtual void slotShowFolders( bool show ); | 44 | virtual void slotShowFolders( bool show ); |
43 | virtual void refreshMailView(const QValueList<RecMailP>&); | 45 | virtual void refreshMailView(const QValueList<RecMailP>&); |
44 | virtual void displayMail(); | 46 | virtual void displayMail(); |
45 | virtual void slotGetMail() = 0; | 47 | virtual void slotGetMail() = 0; |
46 | virtual void slotGetAllMail() = 0; | 48 | virtual void slotGetAllMail() = 0; |
47 | virtual void slotDeleteMail(); | 49 | virtual void slotDeleteMail(); |
48 | virtual void slotDeleteAllMail() = 0; | 50 | virtual void slotDeleteAllMail() = 0; |
49 | virtual void slotSetCodec(int); | 51 | virtual void slotSetCodec(int); |
50 | virtual void mailHold(int, QListViewItem *,const QPoint&,int); | 52 | virtual void mailHold(int, QListViewItem *,const QPoint&,int); |
51 | virtual void slotAdjustLayout(); | 53 | virtual void slotAdjustLayout(); |
52 | virtual void slotEditSettings(); | 54 | virtual void slotEditSettings(); |
53 | virtual void mailLeftClicked( QListViewItem * ); | 55 | virtual void mailLeftClicked( QListViewItem * ); |
54 | void showLicence(); | 56 | void showLicence(); |
55 | void showAbout(); | 57 | void showAbout(); |
56 | void showEtpanLicence(); | 58 | void showEtpanLicence(); |
57 | 59 | ||
58 | protected: | 60 | protected: |
59 | QToolBar *toolBar; | 61 | QToolBar *toolBar; |
60 | StatusWidget *statusWidget; | 62 | StatusWidget *statusWidget; |
61 | QPEMenuBar *menuBar; | 63 | QPEMenuBar *menuBar; |
62 | QPopupMenu *mailMenu, *settingsMenu, *codecMenu; | 64 | QPopupMenu *mailMenu, *settingsMenu, *codecMenu; |
63 | QAction *composeMail, *sendQueued, *showFolders, *searchMails, *deleteMails, | 65 | QAction *composeMail, *sendQueued, *showFolders, *searchMails, *deleteMails, |
64 | *editSettings, *editAccounts, *syncFolders; | 66 | *editSettings, *editAccounts, *syncFolders; |
65 | AccountView *folderView; | 67 | AccountView *folderView; |
66 | QListView *mailView; | 68 | QListView *mailView; |
69 | QLineEdit* toLE,*fromLE,*subLE; | ||
67 | //QBoxLayout *layout; | 70 | //QBoxLayout *layout; |
68 | }; | 71 | }; |
69 | 72 | ||
70 | #endif | 73 | #endif |
@@ -1 +1 @@ | |||
version = "1.9.20"; | version = "2.0.0"; | ||