-rw-r--r-- | kmicromail/koprefs.cpp | 5 | ||||
-rw-r--r-- | kmicromail/koprefs.h | 1 | ||||
-rw-r--r-- | kmicromail/koprefsdialog.cpp | 19 | ||||
-rw-r--r-- | kmicromail/mainwindow.cpp | 64 | ||||
-rw-r--r-- | kmicromail/opiemail.cpp | 3 |
5 files changed, 68 insertions, 24 deletions
diff --git a/kmicromail/koprefs.cpp b/kmicromail/koprefs.cpp index 2bae5f6..7b1e169 100644 --- a/kmicromail/koprefs.cpp +++ b/kmicromail/koprefs.cpp | |||
@@ -20,97 +20,100 @@ | |||
20 | with any edition of Qt, and distribute the resulting executable, | 20 | with any edition of Qt, and distribute the resulting executable, |
21 | without including the source code for Qt in the source distribution. | 21 | without including the source code for Qt in the source distribution. |
22 | */ | 22 | */ |
23 | 23 | ||
24 | #include <time.h> | 24 | #include <time.h> |
25 | #ifndef _WIN32_ | 25 | #ifndef _WIN32_ |
26 | #include <unistd.h> | 26 | #include <unistd.h> |
27 | #endif | 27 | #endif |
28 | #include <qdir.h> | 28 | #include <qdir.h> |
29 | #include <qtextstream.h> | 29 | #include <qtextstream.h> |
30 | #include <qtextcodec.h> | 30 | #include <qtextcodec.h> |
31 | #include <qstring.h> | 31 | #include <qstring.h> |
32 | #include <qregexp.h> | 32 | #include <qregexp.h> |
33 | #include <qfont.h> | 33 | #include <qfont.h> |
34 | #include <qcolor.h> | 34 | #include <qcolor.h> |
35 | #include <qstringlist.h> | 35 | #include <qstringlist.h> |
36 | #include <stdlib.h> | 36 | #include <stdlib.h> |
37 | 37 | ||
38 | #include <kglobal.h> | 38 | #include <kglobal.h> |
39 | #include <kconfig.h> | 39 | #include <kconfig.h> |
40 | #include <klocale.h> | 40 | #include <klocale.h> |
41 | #include <kdebug.h> | 41 | #include <kdebug.h> |
42 | #include <kemailsettings.h> | 42 | #include <kemailsettings.h> |
43 | #include <kstaticdeleter.h> | 43 | #include <kstaticdeleter.h> |
44 | 44 | ||
45 | #include "koprefs.h" | 45 | #include "koprefs.h" |
46 | #include "mainwindow.h" | 46 | #include "mainwindow.h" |
47 | 47 | ||
48 | 48 | ||
49 | KOPrefs *KOPrefs::mInstance = 0; | 49 | KOPrefs *KOPrefs::mInstance = 0; |
50 | static KStaticDeleter<KOPrefs> insd; | 50 | static KStaticDeleter<KOPrefs> insd; |
51 | 51 | ||
52 | KOPrefs::KOPrefs() : | 52 | KOPrefs::KOPrefs() : |
53 | KPimPrefs("kopiemailrc") | 53 | KPimPrefs("kopiemailrc") |
54 | { | 54 | { |
55 | mAppFont = QFont("helvetica",12); | 55 | mAppFont = QFont("helvetica",12); |
56 | mComposeFont = QFont("helvetica",12); | 56 | mComposeFont = QFont("helvetica",12); |
57 | mReadFont = QFont("helvetica",12); | 57 | mReadFont = QFont("helvetica",12); |
58 | 58 | ||
59 | KPrefs::setCurrentGroup("General"); | 59 | KPrefs::setCurrentGroup("General"); |
60 | addItemString("SendCodec",&mSendCodec,i18n ("userdefined") ); | 60 | addItemString("SendCodec",&mSendCodec,i18n ("userdefined") ); |
61 | addItemString("SenderName",&mName,i18n ("Please set at") ); | 61 | addItemString("SenderName",&mName,i18n ("Please set at") ); |
62 | addItemString("SenderEmail",&mEmail,i18n ("Settings@General TAB") ); | 62 | addItemString("SenderEmail",&mEmail,i18n ("Settings@General TAB") ); |
63 | addItemBool("ViewMailAsHtml",&mViewAsHtml,false); | 63 | addItemBool("ViewMailAsHtml",&mViewAsHtml,false); |
64 | addItemBool("SendMailLater",&mSendLater,true); | 64 | addItemBool("SendMailLater",&mSendLater,true); |
65 | addItemBool("ShowToField",&mShowToField,false); | 65 | addItemBool("ShowToField",&mShowToField,false); |
66 | addItemBool("UseKapi",&mUseKapi,false); | 66 | addItemBool("UseKapi",&mUseKapi,false); |
67 | addItemInt("CurrentCodec",&mCurrentCodec,0); | 67 | addItemInt("CurrentCodec",&mCurrentCodec,0); |
68 | 68 | addItemBool("ShowInfoSub",&mShowInfoSub,true); | |
69 | addItemBool("ShowInfoFrom",&mShowInfoFrom,true); | ||
70 | addItemBool("ShowInfoTo",&mShowInfoTo,true); | ||
71 | addItemBool("ShowInfoStart",&mShowInfoStart,true); | ||
69 | KPrefs::setCurrentGroup("Fonts"); | 72 | KPrefs::setCurrentGroup("Fonts"); |
70 | addItemFont("Application Font",&mAppFont); | 73 | addItemFont("Application Font",&mAppFont); |
71 | addItemFont("Compose Font",&mComposeFont); | 74 | addItemFont("Compose Font",&mComposeFont); |
72 | addItemFont("Read Font",&mReadFont); | 75 | addItemFont("Read Font",&mReadFont); |
73 | fillMailDefaults(); | 76 | fillMailDefaults(); |
74 | isDirty = false; | 77 | isDirty = false; |
75 | } | 78 | } |
76 | 79 | ||
77 | 80 | ||
78 | KOPrefs::~KOPrefs() | 81 | KOPrefs::~KOPrefs() |
79 | { | 82 | { |
80 | if ( isDirty ) | 83 | if ( isDirty ) |
81 | writeConfig(); | 84 | writeConfig(); |
82 | if (mInstance == this) | 85 | if (mInstance == this) |
83 | mInstance = insd.setObject(0); | 86 | mInstance = insd.setObject(0); |
84 | 87 | ||
85 | } | 88 | } |
86 | 89 | ||
87 | 90 | ||
88 | KOPrefs *KOPrefs::instance() | 91 | KOPrefs *KOPrefs::instance() |
89 | { | 92 | { |
90 | if (!mInstance) { | 93 | if (!mInstance) { |
91 | mInstance = insd.setObject(new KOPrefs()); | 94 | mInstance = insd.setObject(new KOPrefs()); |
92 | mInstance->readConfig(); | 95 | mInstance->readConfig(); |
93 | } | 96 | } |
94 | 97 | ||
95 | return mInstance; | 98 | return mInstance; |
96 | } | 99 | } |
97 | 100 | ||
98 | void KOPrefs::usrSetDefaults() | 101 | void KOPrefs::usrSetDefaults() |
99 | { | 102 | { |
100 | 103 | ||
101 | } | 104 | } |
102 | 105 | ||
103 | void KOPrefs::fillMailDefaults() | 106 | void KOPrefs::fillMailDefaults() |
104 | { | 107 | { |
105 | if (mName.isEmpty()) mName = i18n ("Please set at"); | 108 | if (mName.isEmpty()) mName = i18n ("Please set at"); |
106 | if (mEmail.isEmpty()) mEmail = i18n ("Settings@General TAB"); | 109 | if (mEmail.isEmpty()) mEmail = i18n ("Settings@General TAB"); |
107 | } | 110 | } |
108 | 111 | ||
109 | void KOPrefs::usrReadConfig() | 112 | void KOPrefs::usrReadConfig() |
110 | { | 113 | { |
111 | 114 | ||
112 | KPimPrefs::usrReadConfig(); | 115 | KPimPrefs::usrReadConfig(); |
113 | } | 116 | } |
114 | 117 | ||
115 | 118 | ||
116 | void KOPrefs::usrWriteConfig() | 119 | void KOPrefs::usrWriteConfig() |
diff --git a/kmicromail/koprefs.h b/kmicromail/koprefs.h index f2c4fbb..f2501e3 100644 --- a/kmicromail/koprefs.h +++ b/kmicromail/koprefs.h | |||
@@ -28,53 +28,54 @@ | |||
28 | 28 | ||
29 | class KConfig; | 29 | class KConfig; |
30 | class QFont; | 30 | class QFont; |
31 | class QColor; | 31 | class QColor; |
32 | class QStringList; | 32 | class QStringList; |
33 | 33 | ||
34 | class KOPrefs : public KPimPrefs | 34 | class KOPrefs : public KPimPrefs |
35 | { | 35 | { |
36 | public: | 36 | public: |
37 | virtual ~KOPrefs(); | 37 | virtual ~KOPrefs(); |
38 | 38 | ||
39 | /** Get instance of KOPrefs. It is made sure that there is only one | 39 | /** Get instance of KOPrefs. It is made sure that there is only one |
40 | instance. */ | 40 | instance. */ |
41 | static KOPrefs *instance(); | 41 | static KOPrefs *instance(); |
42 | 42 | ||
43 | /** Set preferences to default values */ | 43 | /** Set preferences to default values */ |
44 | void usrSetDefaults(); | 44 | void usrSetDefaults(); |
45 | 45 | ||
46 | /** Read preferences from config file */ | 46 | /** Read preferences from config file */ |
47 | void usrReadConfig(); | 47 | void usrReadConfig(); |
48 | 48 | ||
49 | /** Write preferences to config file */ | 49 | /** Write preferences to config file */ |
50 | void usrWriteConfig(); | 50 | void usrWriteConfig(); |
51 | void setCategoryDefaults(){;}; | 51 | void setCategoryDefaults(){;}; |
52 | 52 | ||
53 | protected: | 53 | protected: |
54 | 54 | ||
55 | /** Fill empty mail fields with default values. */ | 55 | /** Fill empty mail fields with default values. */ |
56 | void fillMailDefaults(); | 56 | void fillMailDefaults(); |
57 | 57 | ||
58 | private: | 58 | private: |
59 | /** Constructor disabled for public. Use instance() to create a KOPrefs | 59 | /** Constructor disabled for public. Use instance() to create a KOPrefs |
60 | object. */ | 60 | object. */ |
61 | KOPrefs(); | 61 | KOPrefs(); |
62 | 62 | ||
63 | static KOPrefs *mInstance; | 63 | static KOPrefs *mInstance; |
64 | public: | 64 | public: |
65 | // preferences data | 65 | // preferences data |
66 | KConfig* getConfig(); | 66 | KConfig* getConfig(); |
67 | QFont mAppFont; | 67 | QFont mAppFont; |
68 | QFont mComposeFont; | 68 | QFont mComposeFont; |
69 | QFont mReadFont; | 69 | QFont mReadFont; |
70 | QString mName; | 70 | QString mName; |
71 | QString mSendCodec; | 71 | QString mSendCodec; |
72 | QString mEmail; | 72 | QString mEmail; |
73 | QString mCurrentCodeName; | 73 | QString mCurrentCodeName; |
74 | int mCurrentCodec; | 74 | int mCurrentCodec; |
75 | bool mSendLater, mViewAsHtml, mUseKapi, isDirty, mShowToField; | 75 | bool mSendLater, mViewAsHtml, mUseKapi, isDirty, mShowToField; |
76 | bool mShowInfoSub, mShowInfoFrom, mShowInfoTo, mShowInfoStart; | ||
76 | private: | 77 | private: |
77 | 78 | ||
78 | }; | 79 | }; |
79 | 80 | ||
80 | #endif | 81 | #endif |
diff --git a/kmicromail/koprefsdialog.cpp b/kmicromail/koprefsdialog.cpp index 5c8a5a9..4af4a8c 100644 --- a/kmicromail/koprefsdialog.cpp +++ b/kmicromail/koprefsdialog.cpp | |||
@@ -105,96 +105,115 @@ void KOPrefsDialog::setupGlobalTab() | |||
105 | topLayout->addWidget( kdelibcfg ); | 105 | topLayout->addWidget( kdelibcfg ); |
106 | 106 | ||
107 | 107 | ||
108 | } | 108 | } |
109 | void KOPrefsDialog::setupMainTab() | 109 | void KOPrefsDialog::setupMainTab() |
110 | { | 110 | { |
111 | QFrame *topFrame = addPage(i18n("General"),0,0); | 111 | QFrame *topFrame = addPage(i18n("General"),0,0); |
112 | 112 | ||
113 | QGridLayout *topLayout = new QGridLayout(topFrame,6,2); | 113 | QGridLayout *topLayout = new QGridLayout(topFrame,6,2); |
114 | topLayout->setSpacing(spacingHint()); | 114 | topLayout->setSpacing(spacingHint()); |
115 | topLayout->setMargin(marginHint()); | 115 | topLayout->setMargin(marginHint()); |
116 | 116 | ||
117 | 117 | ||
118 | mNameEdit = new QLineEdit(topFrame); | 118 | mNameEdit = new QLineEdit(topFrame); |
119 | mNameLabel = new QLabel(mNameEdit, i18n("Full &name:"), topFrame); | 119 | mNameLabel = new QLabel(mNameEdit, i18n("Full &name:"), topFrame); |
120 | topLayout->addWidget(mNameLabel,0,0); | 120 | topLayout->addWidget(mNameLabel,0,0); |
121 | topLayout->addWidget(mNameEdit,0,1); | 121 | topLayout->addWidget(mNameEdit,0,1); |
122 | 122 | ||
123 | mEmailEdit = new QLineEdit(topFrame); | 123 | mEmailEdit = new QLineEdit(topFrame); |
124 | mEmailLabel = new QLabel(mEmailEdit, i18n("E&mail address:"),topFrame); | 124 | mEmailLabel = new QLabel(mEmailEdit, i18n("E&mail address:"),topFrame); |
125 | topLayout->addWidget(mEmailLabel,1,0); | 125 | topLayout->addWidget(mEmailLabel,1,0); |
126 | topLayout->addWidget(mEmailEdit,1,1); | 126 | topLayout->addWidget(mEmailEdit,1,1); |
127 | QLabel *lab = new QLabel( i18n("HINT: Separate multiple\neMail addresses by \";\""), topFrame); | 127 | QLabel *lab = new QLabel( i18n("HINT: Separate multiple\neMail addresses by \";\""), topFrame); |
128 | topLayout->addMultiCellWidget(lab,2,2,0,1); | 128 | topLayout->addMultiCellWidget(lab,2,2,0,1); |
129 | KPrefsDialogWidBool* ttt = addWidBool(i18n("Ignore above settings and\nuse KA/Pi \"Who am I\" instead!"), | 129 | KPrefsDialogWidBool* ttt = addWidBool(i18n("Ignore above settings and\nuse KA/Pi \"Who am I\" instead!"), |
130 | &(KOPrefs::instance()->mUseKapi),topFrame); | 130 | &(KOPrefs::instance()->mUseKapi),topFrame); |
131 | topLayout->addMultiCellWidget(ttt->checkBox(),3,3,0,1); | 131 | topLayout->addMultiCellWidget(ttt->checkBox(),3,3,0,1); |
132 | } | 132 | } |
133 | 133 | ||
134 | void KOPrefsDialog::setupMailTab() | 134 | void KOPrefsDialog::setupMailTab() |
135 | { | 135 | { |
136 | QFrame *topFrame = addPage(i18n("Mail"),0,0); | 136 | QFrame *topFrame = addPage(i18n("Mail"),0,0); |
137 | 137 | ||
138 | QGridLayout *topLayout = new QGridLayout(topFrame,4,2); | 138 | QGridLayout *topLayout = new QGridLayout(topFrame,4,2); |
139 | topLayout->setSpacing(spacingHint()); | 139 | topLayout->setSpacing(spacingHint()); |
140 | topLayout->setMargin(marginHint()); | 140 | topLayout->setMargin(marginHint()); |
141 | 141 | ||
142 | KPrefsDialogWidBool* ttt = addWidBool(i18n("View mail as html"), | 142 | KPrefsDialogWidBool* ttt = addWidBool(i18n("View mail as html"), |
143 | &(KOPrefs::instance()->mViewAsHtml),topFrame); | 143 | &(KOPrefs::instance()->mViewAsHtml),topFrame); |
144 | topLayout->addMultiCellWidget(ttt->checkBox(),0,0,0,1); | 144 | topLayout->addMultiCellWidget(ttt->checkBox(),0,0,0,1); |
145 | 145 | ||
146 | 146 | ||
147 | ttt = addWidBool(i18n("Send mails later"), | 147 | ttt = addWidBool(i18n("Send mails later"), |
148 | &(KOPrefs::instance()->mSendLater),topFrame); | 148 | &(KOPrefs::instance()->mSendLater),topFrame); |
149 | topLayout->addMultiCellWidget(ttt->checkBox(),1,1,0,1); | 149 | topLayout->addMultiCellWidget(ttt->checkBox(),1,1,0,1); |
150 | ttt = addWidBool(i18n("Show \"To\" field in list view"), | 150 | ttt = addWidBool(i18n("Show \"To\" field in list view"), |
151 | &(KOPrefs::instance()->mShowToField),topFrame); | 151 | &(KOPrefs::instance()->mShowToField),topFrame); |
152 | topLayout->addMultiCellWidget(ttt->checkBox(),2,2,0,1); | 152 | topLayout->addMultiCellWidget(ttt->checkBox(),2,2,0,1); |
153 | |||
154 | int iii =3; | ||
155 | ttt = addWidBool(i18n("Show info fields at startup"), | ||
156 | &(KOPrefs::instance()->mShowInfoStart),topFrame); | ||
157 | topLayout->addMultiCellWidget(ttt->checkBox(),iii,iii,0,1); | ||
158 | ++iii; | ||
159 | ttt = addWidBool(i18n("Show \"Subject\" info field"), | ||
160 | &(KOPrefs::instance()->mShowInfoSub),topFrame); | ||
161 | topLayout->addMultiCellWidget(ttt->checkBox(),iii,iii,0,1); | ||
162 | ++iii; | ||
163 | ttt = addWidBool(i18n("Show \"From\" info field"), | ||
164 | &(KOPrefs::instance()->mShowInfoFrom),topFrame); | ||
165 | topLayout->addMultiCellWidget(ttt->checkBox(),iii,iii,0,1); | ||
166 | ++iii; | ||
167 | ttt = addWidBool(i18n("Show \"To\" info field"), | ||
168 | &(KOPrefs::instance()->mShowInfoTo),topFrame); | ||
169 | topLayout->addMultiCellWidget(ttt->checkBox(),iii,iii,0,1); | ||
170 | ++iii; | ||
171 | |||
153 | /* | 172 | /* |
154 | mCodecEdit = new QLineEdit(topFrame); | 173 | mCodecEdit = new QLineEdit(topFrame); |
155 | topLayout->addMultiCellWidget( new QLabel(mCodecEdit, i18n("User defined codec for new mails:"), topFrame),2,2,0,1); | 174 | topLayout->addMultiCellWidget( new QLabel(mCodecEdit, i18n("User defined codec for new mails:"), topFrame),2,2,0,1); |
156 | topLayout->addMultiCellWidget(mCodecEdit,3,3,0,1); | 175 | topLayout->addMultiCellWidget(mCodecEdit,3,3,0,1); |
157 | topLayout->addMultiCellWidget( new QLabel(0, i18n("Example: iso-8859-15"), topFrame),4,4,0,1); | 176 | topLayout->addMultiCellWidget( new QLabel(0, i18n("Example: iso-8859-15"), topFrame),4,4,0,1); |
158 | */ | 177 | */ |
159 | } | 178 | } |
160 | void KOPrefsDialog::setupFontsTab() | 179 | void KOPrefsDialog::setupFontsTab() |
161 | { | 180 | { |
162 | 181 | ||
163 | QFrame *topFrame = addPage(i18n("Fonts"),0,0); | 182 | QFrame *topFrame = addPage(i18n("Fonts"),0,0); |
164 | // DesktopIcon("fonts",KIcon::SizeMedium)); | 183 | // DesktopIcon("fonts",KIcon::SizeMedium)); |
165 | 184 | ||
166 | QGridLayout *topLayout = new QGridLayout(topFrame,7,3); | 185 | QGridLayout *topLayout = new QGridLayout(topFrame,7,3); |
167 | topLayout->setSpacing(1); | 186 | topLayout->setSpacing(1); |
168 | topLayout->setMargin(3); | 187 | topLayout->setMargin(3); |
169 | KPrefsDialogWidFont * tVFont; | 188 | KPrefsDialogWidFont * tVFont; |
170 | int i = 0; | 189 | int i = 0; |
171 | KPrefsDialogWidFont *timeLabelsFont = | 190 | KPrefsDialogWidFont *timeLabelsFont = |
172 | addWidFont(i18n("OK"),i18n("Application(nr)"), | 191 | addWidFont(i18n("OK"),i18n("Application(nr)"), |
173 | &(KOPrefs::instance()->mAppFont),topFrame); | 192 | &(KOPrefs::instance()->mAppFont),topFrame); |
174 | topLayout->addWidget(timeLabelsFont->label(),i,0); | 193 | topLayout->addWidget(timeLabelsFont->label(),i,0); |
175 | topLayout->addWidget(timeLabelsFont->preview(),i,1); | 194 | topLayout->addWidget(timeLabelsFont->preview(),i,1); |
176 | topLayout->addWidget(timeLabelsFont->button(),i,2); | 195 | topLayout->addWidget(timeLabelsFont->button(),i,2); |
177 | ++i; | 196 | ++i; |
178 | 197 | ||
179 | 198 | ||
180 | timeLabelsFont = | 199 | timeLabelsFont = |
181 | addWidFont(i18n("Dear Mr."),i18n("Compose mail:"), | 200 | addWidFont(i18n("Dear Mr."),i18n("Compose mail:"), |
182 | &(KOPrefs::instance()->mComposeFont),topFrame); | 201 | &(KOPrefs::instance()->mComposeFont),topFrame); |
183 | topLayout->addWidget(timeLabelsFont->label(),i,0); | 202 | topLayout->addWidget(timeLabelsFont->label(),i,0); |
184 | topLayout->addWidget(timeLabelsFont->preview(),i,1); | 203 | topLayout->addWidget(timeLabelsFont->preview(),i,1); |
185 | topLayout->addWidget(timeLabelsFont->button(),i,2); | 204 | topLayout->addWidget(timeLabelsFont->button(),i,2); |
186 | ++i; | 205 | ++i; |
187 | 206 | ||
188 | KPrefsDialogWidFont *timeBarFont = | 207 | KPrefsDialogWidFont *timeBarFont = |
189 | addWidFont(i18n("Hello"),i18n("Read mail:"), | 208 | addWidFont(i18n("Hello"),i18n("Read mail:"), |
190 | &(KOPrefs::instance()->mReadFont),topFrame); | 209 | &(KOPrefs::instance()->mReadFont),topFrame); |
191 | topLayout->addWidget(timeBarFont->label(),i,0); | 210 | topLayout->addWidget(timeBarFont->label(),i,0); |
192 | topLayout->addWidget(timeBarFont->preview(),i,1); | 211 | topLayout->addWidget(timeBarFont->preview(),i,1); |
193 | topLayout->addWidget(timeBarFont->button(),i,2); | 212 | topLayout->addWidget(timeBarFont->button(),i,2); |
194 | ++i; | 213 | ++i; |
195 | 214 | ||
196 | topLayout->setColStretch(1,1); | 215 | topLayout->setColStretch(1,1); |
197 | topLayout->setRowStretch(4,1); | 216 | topLayout->setRowStretch(4,1); |
198 | 217 | ||
199 | } | 218 | } |
200 | void KOPrefsDialog::usrReadConfig() | 219 | void KOPrefsDialog::usrReadConfig() |
diff --git a/kmicromail/mainwindow.cpp b/kmicromail/mainwindow.cpp index 250d114..0794e00 100644 --- a/kmicromail/mainwindow.cpp +++ b/kmicromail/mainwindow.cpp | |||
@@ -1,289 +1,309 @@ | |||
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 "koprefs.h" | ||
22 | #include "mainwindow.h" | 23 | #include "mainwindow.h" |
23 | #include "mailistviewitem.h" | 24 | #include "mailistviewitem.h" |
24 | #include <KDGanttMinimizeSplitter.h> | 25 | #include <KDGanttMinimizeSplitter.h> |
25 | 26 | ||
26 | #include "koprefs.h" | 27 | #include "koprefs.h" |
27 | 28 | ||
28 | MainWindow::MainWindow( QWidget *parent, const char *name, WFlags flags ) | 29 | MainWindow::MainWindow( QWidget *parent, const char *name, WFlags flags ) |
29 | : QMainWindow( parent, name ) //, flags ) | 30 | : QMainWindow( parent, name ) //, flags ) |
30 | { | 31 | { |
31 | #ifdef DESKTOP_VERSION | 32 | #ifdef DESKTOP_VERSION |
32 | globalSstatusBarMainWindow = statusBar(); | 33 | globalSstatusBarMainWindow = statusBar(); |
33 | #endif | 34 | #endif |
34 | setCaption( i18n( "KOpieMail/Pi" ) ); | 35 | setCaption( i18n( "KOpieMail/Pi" ) ); |
35 | setToolBarsMovable( false ); | 36 | setToolBarsMovable( false ); |
36 | //KABC::StdAddressBook::self(); | 37 | //KABC::StdAddressBook::self(); |
37 | toolBar = new QToolBar( this ); | 38 | toolBar = new QToolBar( this ); |
38 | menuBar = new QPEMenuBar( toolBar ); | 39 | menuBar = new QPEMenuBar( toolBar ); |
39 | mailMenu = new QPopupMenu( menuBar ); | 40 | mailMenu = new QPopupMenu( menuBar ); |
40 | menuBar->insertItem( i18n( "Mail" ), mailMenu ); | 41 | menuBar->insertItem( i18n( "Mail" ), mailMenu ); |
41 | settingsMenu = new QPopupMenu( menuBar ); | 42 | settingsMenu = new QPopupMenu( menuBar ); |
42 | menuBar->insertItem( i18n( "Settings" ), settingsMenu ); | 43 | menuBar->insertItem( i18n( "Settings" ), settingsMenu ); |
43 | 44 | ||
44 | addToolBar( toolBar ); | 45 | addToolBar( toolBar ); |
45 | toolBar->setHorizontalStretchable( true ); | 46 | toolBar->setHorizontalStretchable( true ); |
46 | QAction* getMail = new QAction( i18n( "Get all new mails" ), SmallIcon("enter"), | 47 | QAction* getMail = new QAction( i18n( "Get all new mails" ), SmallIcon("enter"), |
47 | 0, 0, this ); | 48 | 0, 0, this ); |
48 | connect(getMail, SIGNAL( activated() ), | 49 | connect(getMail, SIGNAL( activated() ), |
49 | SLOT( slotGetAllMail() ) ); | 50 | SLOT( slotGetAllMail() ) ); |
50 | getMail->addTo( mailMenu ); | 51 | getMail->addTo( mailMenu ); |
51 | 52 | ||
52 | getMail = new QAction( i18n( "Get new messages" ), SmallIcon("add"), | 53 | getMail = new QAction( i18n( "Get new messages" ), SmallIcon("add"), |
53 | 0, 0, this ); | 54 | 0, 0, this ); |
54 | getMail->addTo( toolBar ); | 55 | getMail->addTo( toolBar ); |
55 | getMail->addTo( mailMenu ); | 56 | getMail->addTo( mailMenu ); |
56 | connect(getMail, SIGNAL( activated() ), | 57 | connect(getMail, SIGNAL( activated() ), |
57 | SLOT( slotGetMail() ) ); | 58 | SLOT( slotGetMail() ) ); |
58 | 59 | ||
59 | composeMail = new QAction( i18n( "Compose new mail" ), SmallIcon("composemail"), | 60 | composeMail = new QAction( i18n( "Compose new mail" ), SmallIcon("composemail"), |
60 | 0, 0, this ); | 61 | 0, 0, this ); |
61 | composeMail->addTo( toolBar ); | 62 | composeMail->addTo( toolBar ); |
62 | composeMail->addTo( mailMenu ); | 63 | composeMail->addTo( mailMenu ); |
63 | 64 | ||
64 | sendQueued = new QAction( i18n( "Send queued mails" ), SmallIcon("sendqueued") , | 65 | sendQueued = new QAction( i18n( "Send queued mails" ), SmallIcon("sendqueued") , |
65 | 0, 0, this ); | 66 | 0, 0, this ); |
66 | sendQueued->addTo( toolBar ); | 67 | sendQueued->addTo( toolBar ); |
67 | sendQueued->addTo( mailMenu ); | 68 | sendQueued->addTo( mailMenu ); |
68 | 69 | ||
69 | /* | 70 | /* |
70 | syncFolders = new QAction( i18n( "Sync mailfolders" ), ICON_SYNC, | 71 | syncFolders = new QAction( i18n( "Sync mailfolders" ), ICON_SYNC, |
71 | 0, 0, this ); | 72 | 0, 0, this ); |
72 | syncFolders->addTo( toolBar ); | 73 | syncFolders->addTo( toolBar ); |
73 | syncFolders->addTo( mailMenu ); | 74 | syncFolders->addTo( mailMenu ); |
74 | */ | 75 | */ |
75 | 76 | ||
76 | showFolders = new QAction( i18n( "Show/Hide folders" ), SmallIcon("showfolders") , | 77 | showFolders = new QAction( i18n( "Show/Hide folders" ), SmallIcon("showfolders") , |
77 | 0, 0, this, 0, true ); | 78 | 0, 0, this, 0, true ); |
78 | showFolders->addTo( toolBar ); | 79 | showFolders->addTo( toolBar ); |
79 | showFolders->addTo( mailMenu ); | 80 | showFolders->addTo( mailMenu ); |
80 | showFolders->setOn( true ); | 81 | showFolders->setOn( true ); |
81 | connect(showFolders, SIGNAL( toggled(bool) ), | 82 | connect(showFolders, SIGNAL( toggled(bool) ), |
82 | SLOT( slotShowFolders(bool) ) ); | 83 | SLOT( slotShowFolders(bool) ) ); |
83 | 84 | ||
84 | /* | 85 | /* |
85 | searchMails = new QAction( i18n( "Search mails" ), SmallIcon("find") ), | 86 | searchMails = new QAction( i18n( "Search mails" ), SmallIcon("find") ), |
86 | 0, 0, this ); | 87 | 0, 0, this ); |
87 | searchMails->addTo( toolBar ); | 88 | searchMails->kopddTo( toolBar ); |
88 | searchMails->addTo( mailMenu ); | 89 | searchMails->addTo( mailMenu ); |
89 | */ | 90 | */ |
90 | 91 | ||
91 | deleteMails = new QAction(i18n("Delete Mail"), SmallIcon("trash"), 0, 0, this); | 92 | deleteMails = new QAction(i18n("Delete Mail"), SmallIcon("trash"), 0, 0, this); |
92 | deleteMails->addTo( toolBar ); | 93 | deleteMails->addTo( toolBar ); |
93 | deleteMails->addTo( mailMenu ); | 94 | deleteMails->addTo( mailMenu ); |
94 | connect( deleteMails, SIGNAL( activated() ), | 95 | connect( deleteMails, SIGNAL( activated() ), |
95 | SLOT( slotDeleteAllMail() ) ); | 96 | SLOT( slotDeleteAllMail() ) ); |
96 | 97 | ||
97 | editSettings = new QAction( i18n( "Edit settings" ), SmallIcon("SettingsIcon") , | 98 | editSettings = new QAction( i18n( "Edit settings" ), SmallIcon("SettingsIcon") , |
98 | 0, 0, this ); | 99 | 0, 0, this ); |
99 | editSettings->addTo( settingsMenu ); | 100 | editSettings->addTo( settingsMenu ); |
100 | connect( editSettings, SIGNAL( activated() ), | 101 | connect( editSettings, SIGNAL( activated() ), |
101 | SLOT( slotEditSettings() ) ); | 102 | SLOT( slotEditSettings() ) ); |
102 | editAccounts = new QAction( i18n( "Configure accounts" ), SmallIcon("editaccounts") , | 103 | editAccounts = new QAction( i18n( "Configure accounts" ), SmallIcon("editaccounts") , |
103 | 0, 0, this ); | 104 | 0, 0, this ); |
104 | editAccounts->addTo( settingsMenu ); | 105 | editAccounts->addTo( settingsMenu ); |
105 | codecMenu = new QPopupMenu( menuBar ); | 106 | codecMenu = new QPopupMenu( menuBar ); |
106 | codecMenu->insertItem( "Western (iso-8859-1)",0,0); | 107 | codecMenu->insertItem( "Western (iso-8859-1)",0,0); |
107 | codecMenu->insertItem( "Cyrillic (iso-8859-5)",1,1); | 108 | codecMenu->insertItem( "Cyrillic (iso-8859-5)",1,1); |
108 | codecMenu->insertItem( "Western (iso-8859-15)",2,2); | 109 | codecMenu->insertItem( "Western (iso-8859-15)",2,2); |
109 | codecMenu->insertItem( "Chinese (big-5)",3,3); | 110 | codecMenu->insertItem( "Chinese (big-5)",3,3); |
110 | codecMenu->insertItem( "Unicode (utf-8)",4,4); | 111 | codecMenu->insertItem( "Unicode (utf-8)",4,4); |
111 | codecMenu->insertItem( "Userdefined ("+KOPrefs::instance()->mSendCodec+")",5,5); | 112 | codecMenu->insertItem( "Userdefined ("+KOPrefs::instance()->mSendCodec+")",5,5); |
112 | //disabled | 113 | //disabled |
113 | //settingsMenu->insertItem( i18n("Codec for new mails"), codecMenu); | 114 | //settingsMenu->insertItem( i18n("Codec for new mails"), codecMenu); |
114 | //setCentralWidget( view ); | 115 | //setCentralWidget( view ); |
115 | 116 | ||
116 | QVBox* wrapperBox = new QVBox( this ); | 117 | QVBox* wrapperBox = new QVBox( this ); |
117 | setCentralWidget( wrapperBox ); | 118 | setCentralWidget( wrapperBox ); |
118 | 119 | ||
119 | // QWidget *view = new QWidget( wrapperBox ); | 120 | // QWidget *view = new QWidget( wrapperBox ); |
120 | KDGanttMinimizeSplitter* splithor = new KDGanttMinimizeSplitter( Qt::Vertical, wrapperBox); | 121 | KDGanttMinimizeSplitter* splithor = new KDGanttMinimizeSplitter( Qt::Vertical, wrapperBox); |
121 | splithor->setMinimizeDirection( KDGanttMinimizeSplitter::Down); | 122 | splithor->setMinimizeDirection( KDGanttMinimizeSplitter::Down); |
122 | KDGanttMinimizeSplitter* split = new KDGanttMinimizeSplitter( Qt::Horizontal, splithor); | 123 | KDGanttMinimizeSplitter* split = new KDGanttMinimizeSplitter( Qt::Horizontal, splithor); |
123 | split->setMinimizeDirection( KDGanttMinimizeSplitter::Left); | 124 | split->setMinimizeDirection( KDGanttMinimizeSplitter::Left); |
124 | //layout = new QBoxLayout ( split, QBoxLayout::LeftToRight ); | 125 | //layout = new QBoxLayout ( split, QBoxLayout::LeftToRight ); |
125 | QWidget* infoBox = new QWidget( splithor ); | 126 | subLE = 0; |
126 | QGridLayout *griLay = new QGridLayout( infoBox, 2,2); | 127 | fromLE = 0; |
127 | griLay->addWidget( new QLabel ( i18n("Su:"), infoBox ),0,0 ); | 128 | toLE = 0; |
128 | griLay->addWidget( new QLabel ( i18n("Fr:"), infoBox ),1,0 ); | 129 | if ( KOPrefs::instance()->mShowInfoSub || KOPrefs::instance()->mShowInfoFrom || KOPrefs::instance()->mShowInfoTo ) { |
129 | griLay->addWidget( new QLabel ( i18n("To:"), infoBox ),2,0 ); | 130 | QWidget* infoBox = new QWidget( splithor ); |
130 | griLay->addWidget( subLE = new QLineEdit( infoBox ),0,1) ; | 131 | QGridLayout *griLay = new QGridLayout( infoBox, 2,2); |
131 | griLay->addWidget( fromLE = new QLineEdit( infoBox ),1,1) ; | 132 | if ( KOPrefs::instance()->mShowInfoSub ) { |
132 | griLay->addWidget( toLE = new QLineEdit( infoBox ),2,1) ; | 133 | griLay->addWidget( new QLabel ( i18n("Su:"), infoBox ),0,0 ); |
133 | infoBox->setMaximumHeight( infoBox->sizeHint().height() ); | 134 | griLay->addWidget( subLE = new QLineEdit( infoBox ),0,1) ; |
135 | } | ||
136 | if ( KOPrefs::instance()->mShowInfoFrom ) { | ||
137 | griLay->addWidget( new QLabel ( i18n("Fr:"), infoBox ),1,0 ); | ||
138 | griLay->addWidget( fromLE = new QLineEdit( infoBox ),1,1) ; | ||
139 | } | ||
140 | if ( KOPrefs::instance()->mShowInfoTo ) { | ||
141 | griLay->addWidget( new QLabel ( i18n("To:"), infoBox ),2,0 ); | ||
142 | griLay->addWidget( toLE = new QLineEdit( infoBox ),2,1) ; | ||
143 | } | ||
144 | infoBox->setMaximumHeight( infoBox->sizeHint().height() ); | ||
145 | if ( !KOPrefs::instance()->mShowInfoStart ) { | ||
146 | QTimer::singleShot( 1,splithor, SLOT ( toggle() ) ); | ||
147 | } | ||
148 | } | ||
149 | |||
150 | |||
134 | folderView = new AccountView( split ); | 151 | folderView = new AccountView( split ); |
135 | folderView->header()->hide(); | 152 | folderView->header()->hide(); |
136 | folderView->setRootIsDecorated( false ); | 153 | folderView->setRootIsDecorated( false ); |
137 | folderView->addColumn( i18n( "Mailbox" ) ); | 154 | folderView->addColumn( i18n( "Mailbox" ) ); |
138 | 155 | ||
139 | //layout->addWidget( folderView ); | 156 | //layout->addWidget( folderView ); |
140 | 157 | ||
141 | mailView = new QListView( split ); | 158 | mailView = new QListView( split ); |
142 | mailView->addColumn( i18n( " " ) ); | 159 | mailView->addColumn( i18n( " " ) ); |
143 | mailView->addColumn( i18n( "Subject" ),QListView::Manual ); | 160 | mailView->addColumn( i18n( "Subject" ),QListView::Manual ); |
144 | mailView->addColumn( i18n( "Sender" ),QListView::Manual ); | 161 | mailView->addColumn( i18n( "Sender" ),QListView::Manual ); |
145 | mailView->addColumn( i18n( "Size" ),QListView::Manual); | 162 | mailView->addColumn( i18n( "Size" ),QListView::Manual); |
146 | mailView->addColumn( i18n( "Date" ),QListView::Manual); | 163 | mailView->addColumn( i18n( "Date" ),QListView::Manual); |
147 | if ( KOPrefs::instance()->mShowToField ) | 164 | if ( KOPrefs::instance()->mShowToField ) |
148 | mailView->addColumn( i18n( "To" ),QListView::Manual); | 165 | mailView->addColumn( i18n( "To" ),QListView::Manual); |
149 | mailView->setAllColumnsShowFocus(true); | 166 | mailView->setAllColumnsShowFocus(true); |
150 | //mailView->setSorting(-1); | 167 | //mailView->setSorting(-1); |
151 | mailView->setRootIsDecorated( false ); | 168 | mailView->setRootIsDecorated( false ); |
152 | statusWidget = new StatusWidget( wrapperBox ); | 169 | statusWidget = new StatusWidget( wrapperBox ); |
153 | statusWidget->hide(); | 170 | statusWidget->hide(); |
154 | 171 | ||
155 | //layout->addWidget( mailView ); | 172 | //layout->addWidget( mailView ); |
156 | //layout->setStretchFactor( folderView, 1 ); | 173 | //layout->setStretchFactor( folderView, 1 ); |
157 | //layout->setStretchFactor( mailView, 2 ); | 174 | //layout->setStretchFactor( mailView, 2 ); |
158 | 175 | ||
159 | slotAdjustLayout(); | 176 | slotAdjustLayout(); |
160 | #ifndef DESKTOP_VERSION | 177 | #ifndef DESKTOP_VERSION |
161 | QPEApplication::setStylusOperation( mailView->viewport(),QPEApplication::RightOnHold); | 178 | QPEApplication::setStylusOperation( mailView->viewport(),QPEApplication::RightOnHold); |
162 | QPEApplication::setStylusOperation( folderView->viewport(),QPEApplication::RightOnHold); | 179 | QPEApplication::setStylusOperation( folderView->viewport(),QPEApplication::RightOnHold); |
163 | QPEApplication::setStylusOperation( subLE ,QPEApplication::RightOnHold); | 180 | if ( subLE ) |
164 | QPEApplication::setStylusOperation( fromLE ,QPEApplication::RightOnHold); | 181 | QPEApplication::setStylusOperation( subLE ,QPEApplication::RightOnHold); |
165 | QPEApplication::setStylusOperation( toLE ,QPEApplication::RightOnHold); | 182 | if ( fromLE ) |
183 | QPEApplication::setStylusOperation( fromLE ,QPEApplication::RightOnHold); | ||
184 | if ( toLE ) | ||
185 | QPEApplication::setStylusOperation( toLE ,QPEApplication::RightOnHold); | ||
166 | #endif | 186 | #endif |
167 | connect( mailView, SIGNAL( doubleClicked (QListViewItem* )),this, | 187 | connect( mailView, SIGNAL( doubleClicked (QListViewItem* )),this, |
168 | SLOT( mailLeftClicked(QListViewItem*) ) ); | 188 | SLOT( mailLeftClicked(QListViewItem*) ) ); |
169 | connect( mailView, SIGNAL( returnPressed (QListViewItem* )),this, | 189 | connect( mailView, SIGNAL( returnPressed (QListViewItem* )),this, |
170 | SLOT( mailLeftClicked(QListViewItem*) ) ); | 190 | SLOT( mailLeftClicked(QListViewItem*) ) ); |
171 | connect( mailView, SIGNAL( mouseButtonPressed(int,QListViewItem*,const QPoint&,int) ),this, | 191 | connect( mailView, SIGNAL( mouseButtonPressed(int,QListViewItem*,const QPoint&,int) ),this, |
172 | SLOT( mailHold(int,QListViewItem*,const QPoint&,int) ) ); | 192 | SLOT( mailHold(int,QListViewItem*,const QPoint&,int) ) ); |
173 | connect(folderView, SIGNAL(refreshMailview(const QValueList<RecMailP>&)), | 193 | connect(folderView, SIGNAL(refreshMailview(const QValueList<RecMailP>&)), |
174 | this,SLOT(refreshMailView(const QValueList<RecMailP>&))); | 194 | this,SLOT(refreshMailView(const QValueList<RecMailP>&))); |
175 | 195 | ||
176 | connect( mailView, SIGNAL( currentChanged (QListViewItem* )),this, | 196 | connect( mailView, SIGNAL( currentChanged (QListViewItem* )),this, |
177 | SLOT( setInfoFields(QListViewItem*) ) ); | 197 | SLOT( setInfoFields(QListViewItem*) ) ); |
178 | 198 | ||
179 | connect( composeMail, SIGNAL( activated() ), SLOT( slotComposeMail() ) ); | 199 | connect( composeMail, SIGNAL( activated() ), SLOT( slotComposeMail() ) ); |
180 | connect( sendQueued, SIGNAL( activated() ), SLOT( slotSendQueued() ) ); | 200 | connect( sendQueued, SIGNAL( activated() ), SLOT( slotSendQueued() ) ); |
181 | // connect( searchMails, SIGNAL( activated() ), SLOT( slotSearchMails() ) ); | 201 | // connect( searchMails, SIGNAL( activated() ), SLOT( slotSearchMails() ) ); |
182 | connect( editAccounts, SIGNAL( activated() ), SLOT( slotEditAccounts() ) ); | 202 | connect( editAccounts, SIGNAL( activated() ), SLOT( slotEditAccounts() ) ); |
183 | //mailView->setMultiSelection ( true ); | 203 | //mailView->setMultiSelection ( true ); |
184 | mailView->setSelectionMode( QListView::Extended ); | 204 | mailView->setSelectionMode( QListView::Extended ); |
185 | QValueList<int> list; | 205 | QValueList<int> list; |
186 | int fw = 100; | 206 | int fw = 100; |
187 | if ( QApplication::desktop()->width() > 320 ) | 207 | if ( QApplication::desktop()->width() > 320 ) |
188 | fw = 50; | 208 | fw = 50; |
189 | list.append( fw ); | 209 | list.append( fw ); |
190 | list.append( 100 ); | 210 | list.append( 100 ); |
191 | split->setSizes( list ); | 211 | split->setSizes( list ); |
192 | QTimer::singleShot( 1000, this, SLOT( slotAdjustColumns() ) ); | 212 | QTimer::singleShot( 1000, this, SLOT( slotAdjustColumns() ) ); |
193 | mailView->setShowSortIndicator ( true ); | 213 | mailView->setShowSortIndicator ( true ); |
194 | QLabel *spacer = new QLabel( toolBar ); | 214 | QLabel *spacer = new QLabel( toolBar ); |
195 | spacer->setBackgroundMode( QWidget::PaletteButton ); | 215 | spacer->setBackgroundMode( QWidget::PaletteButton ); |
196 | toolBar->setStretchableWidget( spacer ); | 216 | toolBar->setStretchableWidget( spacer ); |
197 | 217 | ||
198 | QAction* closeMail = new QAction(i18n("Close"),SmallIcon("exit"), 0, 0, this); | 218 | QAction* closeMail = new QAction(i18n("Close"),SmallIcon("exit"), 0, 0, this); |
199 | connect( closeMail, SIGNAL( activated() ), SLOT( close() ) ); | 219 | connect( closeMail, SIGNAL( activated() ), SLOT( close() ) ); |
200 | if ( QApplication::desktop()->width() > 320 ) | 220 | if ( QApplication::desktop()->width() > 320 ) |
201 | closeMail->addTo(toolBar); | 221 | closeMail->addTo(toolBar); |
202 | closeMail->addTo(mailMenu); | 222 | closeMail->addTo(mailMenu); |
203 | 223 | ||
204 | 224 | ||
205 | QPopupMenu* helpMenu = new QPopupMenu( menuBar ); | 225 | QPopupMenu* helpMenu = new QPopupMenu( menuBar ); |
206 | menuBar->insertItem( i18n( "Help" ), helpMenu ); | 226 | menuBar->insertItem( i18n( "Help" ), helpMenu ); |
207 | QAction* li = new QAction(i18n("About"), QPixmap(), 0, 0, this); | 227 | QAction* li = new QAction(i18n("About"), QPixmap(), 0, 0, this); |
208 | connect( li, SIGNAL( activated() ), SLOT( showAbout()) ); | 228 | connect( li, SIGNAL( activated() ), SLOT( showAbout()) ); |
209 | li->addTo(helpMenu); | 229 | li->addTo(helpMenu); |
210 | li = new QAction(i18n("Licence"),QPixmap(), 0, 0, this); | 230 | li = new QAction(i18n("Licence"),QPixmap(), 0, 0, this); |
211 | connect( li, SIGNAL( activated() ), SLOT( showLicence()) ); | 231 | connect( li, SIGNAL( activated() ), SLOT( showLicence()) ); |
212 | li->addTo(helpMenu); | 232 | li->addTo(helpMenu); |
213 | li = new QAction(i18n("LibEtPan Licence"), QPixmap(), 0, 0, this); | 233 | li = new QAction(i18n("LibEtPan Licence"), QPixmap(), 0, 0, this); |
214 | connect( li, SIGNAL( activated() ), SLOT( showEtpanLicence()) ); | 234 | connect( li, SIGNAL( activated() ), SLOT( showEtpanLicence()) ); |
215 | li->addTo(helpMenu); | 235 | li->addTo(helpMenu); |
216 | connect( codecMenu, SIGNAL( activated(int) ), this, SLOT( slotSetCodec( int )) ); | 236 | connect( codecMenu, SIGNAL( activated(int) ), this, SLOT( slotSetCodec( int )) ); |
217 | slotSetCodec( KOPrefs::instance()->mCurrentCodec ); | 237 | slotSetCodec( KOPrefs::instance()->mCurrentCodec ); |
218 | #ifdef DESKTOP_VERSION | 238 | #ifdef DESKTOP_VERSION |
219 | resize ( 640, 480 ); | 239 | resize ( 640, 480 ); |
220 | #endif | 240 | #endif |
221 | } | 241 | } |
222 | 242 | ||
223 | MainWindow::~MainWindow() | 243 | MainWindow::~MainWindow() |
224 | { | 244 | { |
225 | } | 245 | } |
226 | 246 | ||
227 | void MainWindow::setInfoFields(QListViewItem* item ) | 247 | void MainWindow::setInfoFields(QListViewItem* item ) |
228 | { | 248 | { |
229 | if ( item == 0) { | 249 | if ( item == 0) { |
230 | subLE->setText(""); | 250 | if ( subLE ) subLE->setText(""); |
231 | fromLE->setText(""); | 251 | if ( fromLE ) fromLE->setText(""); |
232 | toLE->setText(""); | 252 | if ( toLE ) toLE->setText(""); |
233 | return; | 253 | return; |
234 | } | 254 | } |
235 | RecMailP mail = ((MailListViewItem*)item)->data(); | 255 | RecMailP mail = ((MailListViewItem*)item)->data(); |
236 | subLE->setText(mail->getSubject()); | 256 | if ( subLE ) subLE->setText(mail->getSubject()); |
237 | fromLE->setText(mail->getFrom()); | 257 | if ( fromLE ) fromLE->setText(mail->getFrom()); |
238 | toLE->setText(mail->To().join(";" )); | 258 | if ( toLE ) toLE->setText(mail->To().join(";" )); |
239 | subLE->setCursorPosition(0); | 259 | if ( subLE ) subLE->setCursorPosition(0); |
240 | fromLE->setCursorPosition(0); | 260 | if ( fromLE ) fromLE->setCursorPosition(0); |
241 | toLE->setCursorPosition(0); | 261 | if ( toLE ) toLE->setCursorPosition(0); |
242 | 262 | ||
243 | } | 263 | } |
244 | void MainWindow::slotSetCodec( int codec ) | 264 | void MainWindow::slotSetCodec( int codec ) |
245 | { | 265 | { |
246 | codecMenu->setItemChecked(KOPrefs::instance()->mCurrentCodec, false ); | 266 | codecMenu->setItemChecked(KOPrefs::instance()->mCurrentCodec, false ); |
247 | //qDebug("codec %d ", codec); | 267 | //qDebug("codec %d ", codec); |
248 | KOPrefs::instance()->mCurrentCodec = codec; | 268 | KOPrefs::instance()->mCurrentCodec = codec; |
249 | KOPrefs::instance()->isDirty = true; | 269 | KOPrefs::instance()->isDirty = true; |
250 | QString name; | 270 | QString name; |
251 | switch ( codec ) { | 271 | switch ( codec ) { |
252 | case 0: | 272 | case 0: |
253 | name = "iso-8859-1"; | 273 | name = "iso-8859-1"; |
254 | break; | 274 | break; |
255 | case 1: | 275 | case 1: |
256 | name = "iso-8859-5"; | 276 | name = "iso-8859-5"; |
257 | break; | 277 | break; |
258 | case 2: | 278 | case 2: |
259 | name = "iso-8859-15"; | 279 | name = "iso-8859-15"; |
260 | break; | 280 | break; |
261 | case 3: | 281 | case 3: |
262 | name = "big-5"; | 282 | name = "big-5"; |
263 | break; | 283 | break; |
264 | case 4: | 284 | case 4: |
265 | name = "utf-8"; | 285 | name = "utf-8"; |
266 | break; | 286 | break; |
267 | case 5: | 287 | case 5: |
268 | name = KOPrefs::instance()->mSendCodec.lower(); | 288 | name = KOPrefs::instance()->mSendCodec.lower(); |
269 | break; | 289 | break; |
270 | } | 290 | } |
271 | KOPrefs::instance()->mCurrentCodeName = name ; | 291 | KOPrefs::instance()->mCurrentCodeName = name ; |
272 | codecMenu->changeItem ( 5, "Userdefined ("+KOPrefs::instance()->mSendCodec+")"); | 292 | codecMenu->changeItem ( 5, "Userdefined ("+KOPrefs::instance()->mSendCodec+")"); |
273 | codecMenu->setItemChecked(KOPrefs::instance()->mCurrentCodec, true ); | 293 | codecMenu->setItemChecked(KOPrefs::instance()->mCurrentCodec, true ); |
274 | } | 294 | } |
275 | void MainWindow::showLicence() | 295 | void MainWindow::showLicence() |
276 | { | 296 | { |
277 | KApplication::showLicence(); | 297 | KApplication::showLicence(); |
278 | } | 298 | } |
279 | void MainWindow::showAbout() | 299 | void MainWindow::showAbout() |
280 | { | 300 | { |
281 | QString version; | 301 | QString version; |
282 | #include <../version> | 302 | #include <../version> |
283 | 303 | ||
284 | QString cap = "About KOpieMail/Pi"; | 304 | QString cap = "About KOpieMail/Pi"; |
285 | QString text =i18n("KOpieMail/Platform-independent\n") + | 305 | QString text =i18n("KOpieMail/Platform-independent\n") + |
286 | "(OM/Pi) " + version + " - " | 306 | "(OM/Pi) " + version + " - " |
287 | 307 | ||
288 | #ifdef DESKTOP_VERSION | 308 | #ifdef DESKTOP_VERSION |
289 | "Desktop Edition\n" | 309 | "Desktop Edition\n" |
diff --git a/kmicromail/opiemail.cpp b/kmicromail/opiemail.cpp index 68f0eb3..f56711d 100644 --- a/kmicromail/opiemail.cpp +++ b/kmicromail/opiemail.cpp | |||
@@ -450,103 +450,104 @@ void OpieMail::slotDeleteAllMail() | |||
450 | QValueList<RecMailP> t; | 450 | QValueList<RecMailP> t; |
451 | if ( QMessageBox::warning(this, i18n("Delete All Mails"), i18n("Do you really want to delete\nall selected mails?" ) , QMessageBox::Yes, QMessageBox::No ) == QMessageBox::Yes ) | 451 | if ( QMessageBox::warning(this, i18n("Delete All Mails"), i18n("Do you really want to delete\nall selected mails?" ) , QMessageBox::Yes, QMessageBox::No ) == QMessageBox::Yes ) |
452 | { | 452 | { |
453 | MailListViewItem* item = (MailListViewItem*)mailView->firstChild (); | 453 | MailListViewItem* item = (MailListViewItem*)mailView->firstChild (); |
454 | while ( item ) { | 454 | while ( item ) { |
455 | if ( item->isSelected() ) { | 455 | if ( item->isSelected() ) { |
456 | t.append( item->data() ); | 456 | t.append( item->data() ); |
457 | } | 457 | } |
458 | item = (MailListViewItem*)item->nextSibling(); | 458 | item = (MailListViewItem*)item->nextSibling(); |
459 | } | 459 | } |
460 | } | 460 | } |
461 | else | 461 | else |
462 | return; | 462 | return; |
463 | if ( t.count() == 0 ) | 463 | if ( t.count() == 0 ) |
464 | return; | 464 | return; |
465 | RecMailP mail = t.first(); | 465 | RecMailP mail = t.first(); |
466 | mail->Wrapper()->deleteMailList(t); | 466 | mail->Wrapper()->deleteMailList(t); |
467 | folderView->refreshCurrent(); | 467 | folderView->refreshCurrent(); |
468 | 468 | ||
469 | 469 | ||
470 | } | 470 | } |
471 | void OpieMail::clearSelection() | 471 | void OpieMail::clearSelection() |
472 | { | 472 | { |
473 | mailView->clearSelection(); | 473 | mailView->clearSelection(); |
474 | 474 | ||
475 | } | 475 | } |
476 | 476 | ||
477 | void OpieMail::mailHold(int button, QListViewItem *item,const QPoint&,int ) | 477 | void OpieMail::mailHold(int button, QListViewItem *item,const QPoint&,int ) |
478 | { | 478 | { |
479 | if (!mailView->currentItem()) return; | 479 | if (!mailView->currentItem()) return; |
480 | MAILLIB::ATYPE mailtype = ((MailListViewItem*)mailView->currentItem() )->wrapperType(); | 480 | MAILLIB::ATYPE mailtype = ((MailListViewItem*)mailView->currentItem() )->wrapperType(); |
481 | /* just the RIGHT button - or hold on pda */ | 481 | /* just the RIGHT button - or hold on pda */ |
482 | if (button!=2) {return;} | 482 | if (button!=2) {return;} |
483 | if (!item) return; | 483 | if (!item) return; |
484 | QPopupMenu *m = new QPopupMenu(0); | 484 | QPopupMenu *m = new QPopupMenu(0); |
485 | if (m) | 485 | if (m) |
486 | { | 486 | { |
487 | if (mailtype==MAILLIB::A_NNTP) { | 487 | if (mailtype==MAILLIB::A_NNTP) { |
488 | m->insertItem(i18n("Read this posting"),this,SLOT(displayMail())); | 488 | m->insertItem(i18n("Read this posting"),this,SLOT(displayMail())); |
489 | m->insertItem(i18n("Copy this posting"),this,SLOT(slotMoveCopyMail())); | 489 | m->insertItem(i18n("Copy this posting"),this,SLOT(slotMoveCopyMail())); |
490 | m->insertSeparator(); | 490 | m->insertSeparator(); |
491 | m->insertItem(i18n("Copy all selected postings"),this,SLOT(slotMoveCopyAllMail())); | 491 | m->insertItem(i18n("Copy all selected postings"),this,SLOT(slotMoveCopyAllMail())); |
492 | m->insertItem(i18n("Clear selection"),this,SLOT(clearSelection())); | 492 | m->insertItem(i18n("Clear selection"),this,SLOT(clearSelection())); |
493 | } else { | 493 | } else { |
494 | if (folderView->currentisDraft()) { | 494 | if (folderView->currentisDraft()) { |
495 | m->insertItem(i18n("Edit this mail"),this,SLOT(reEditMail())); | 495 | m->insertItem(i18n("Edit this mail"),this,SLOT(reEditMail())); |
496 | } | 496 | } |
497 | m->insertItem(i18n("Reply to this mail"),this,SLOT(replyMail())); | 497 | m->insertItem(i18n("Reply to this mail"),this,SLOT(replyMail())); |
498 | m->insertSeparator(); | ||
499 | m->insertItem(i18n("Read this mail"),this,SLOT(displayMail())); | 498 | m->insertItem(i18n("Read this mail"),this,SLOT(displayMail())); |
499 | m->insertSeparator(); | ||
500 | m->insertItem(i18n("Move/Copy this mail"),this,SLOT(slotMoveCopyMail())); | 500 | m->insertItem(i18n("Move/Copy this mail"),this,SLOT(slotMoveCopyMail())); |
501 | m->insertItem(i18n("Delete this mail"),this,SLOT(slotDeleteMail())); | 501 | m->insertItem(i18n("Delete this mail"),this,SLOT(slotDeleteMail())); |
502 | m->insertSeparator(); | 502 | m->insertSeparator(); |
503 | m->insertItem(i18n("Move/Copy all selected mail"),this,SLOT(slotMoveCopyAllMail())); | 503 | m->insertItem(i18n("Move/Copy all selected mail"),this,SLOT(slotMoveCopyAllMail())); |
504 | m->insertItem(i18n("Delete all selected mails"),this,SLOT(slotDeleteAllMail())); | 504 | m->insertItem(i18n("Delete all selected mails"),this,SLOT(slotDeleteAllMail())); |
505 | m->insertSeparator(); | ||
505 | m->insertItem(i18n("Clear selection"),this,SLOT(clearSelection())); | 506 | m->insertItem(i18n("Clear selection"),this,SLOT(clearSelection())); |
506 | } | 507 | } |
507 | m->setFocus(); | 508 | m->setFocus(); |
508 | m->exec( QPoint( QCursor::pos().x(), QCursor::pos().y()) ); | 509 | m->exec( QPoint( QCursor::pos().x(), QCursor::pos().y()) ); |
509 | delete m; | 510 | delete m; |
510 | } | 511 | } |
511 | } | 512 | } |
512 | 513 | ||
513 | void OpieMail::slotShowFolders( bool show ) | 514 | void OpieMail::slotShowFolders( bool show ) |
514 | { | 515 | { |
515 | if ( show && folderView->isHidden() ) | 516 | if ( show && folderView->isHidden() ) |
516 | { | 517 | { |
517 | folderView->show(); | 518 | folderView->show(); |
518 | } | 519 | } |
519 | else if ( !show && !folderView->isHidden() ) | 520 | else if ( !show && !folderView->isHidden() ) |
520 | { | 521 | { |
521 | folderView->hide(); | 522 | folderView->hide(); |
522 | } | 523 | } |
523 | } | 524 | } |
524 | 525 | ||
525 | void OpieMail::refreshMailView(const QValueList<RecMailP>&list) | 526 | void OpieMail::refreshMailView(const QValueList<RecMailP>&list) |
526 | { | 527 | { |
527 | MailListViewItem*item = 0; | 528 | MailListViewItem*item = 0; |
528 | mailView->clear(); | 529 | mailView->clear(); |
529 | 530 | ||
530 | QValueList<RecMailP>::ConstIterator it; | 531 | QValueList<RecMailP>::ConstIterator it; |
531 | for (it = list.begin(); it != list.end();++it) | 532 | for (it = list.begin(); it != list.end();++it) |
532 | { | 533 | { |
533 | item = new MailListViewItem(mailView,item); | 534 | item = new MailListViewItem(mailView,item); |
534 | item->storeData((*it)); | 535 | item->storeData((*it)); |
535 | item->showEntry(); | 536 | item->showEntry(); |
536 | } | 537 | } |
537 | mailView->setSorting ( 4, false ); | 538 | mailView->setSorting ( 4, false ); |
538 | } | 539 | } |
539 | 540 | ||
540 | void OpieMail::mailLeftClicked( QListViewItem *item ) | 541 | void OpieMail::mailLeftClicked( QListViewItem *item ) |
541 | { | 542 | { |
542 | mailView->clearSelection(); | 543 | mailView->clearSelection(); |
543 | /* just LEFT button - or tap with stylus on pda */ | 544 | /* just LEFT button - or tap with stylus on pda */ |
544 | //if (button!=1) return; | 545 | //if (button!=1) return; |
545 | if (!item) return; | 546 | if (!item) return; |
546 | if (folderView->currentisDraft()) { | 547 | if (folderView->currentisDraft()) { |
547 | reEditMail(); | 548 | reEditMail(); |
548 | } else { | 549 | } else { |
549 | displayMail(); | 550 | displayMail(); |
550 | } | 551 | } |
551 | } | 552 | } |
552 | 553 | ||