summaryrefslogtreecommitdiffabout
path: root/kmicromail
authorzautrix <zautrix>2005-01-28 03:22:17 (UTC)
committer zautrix <zautrix>2005-01-28 03:22:17 (UTC)
commit94f0e8140c07696174dc3774dc2c11efad2ffa68 (patch) (unidiff)
treed95cc80e5c5221e8d9ce1cbf4b01cbf78fdf843a /kmicromail
parent6fb044008531ec883fc25a3ef2b43904930cfff6 (diff)
downloadkdepimpi-94f0e8140c07696174dc3774dc2c11efad2ffa68.zip
kdepimpi-94f0e8140c07696174dc3774dc2c11efad2ffa68.tar.gz
kdepimpi-94f0e8140c07696174dc3774dc2c11efad2ffa68.tar.bz2
missing config
Diffstat (limited to 'kmicromail') (more/less context) (ignore whitespace changes)
-rw-r--r--kmicromail/koprefs.cpp5
-rw-r--r--kmicromail/koprefs.h1
-rw-r--r--kmicromail/koprefsdialog.cpp19
-rw-r--r--kmicromail/mainwindow.cpp64
-rw-r--r--kmicromail/opiemail.cpp3
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
@@ -4,123 +4,126 @@
4 4
5 This program is free software; you can redistribute it and/or modify 5 This program is free software; you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by 6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation; either version 2 of the License, or 7 the Free Software Foundation; either version 2 of the License, or
8 (at your option) any later version. 8 (at your option) any later version.
9 9
10 This program is distributed in the hope that it will be useful, 10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of 11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details. 13 GNU General Public License for more details.
14 14
15 You should have received a copy of the GNU General Public License 15 You should have received a copy of the GNU General Public License
16 along with this program; if not, write to the Free Software 16 along with this program; if not, write to the Free Software
17 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 17 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
18 18
19 As a special exception, permission is given to link this program 19 As a special exception, permission is given to link this program
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
49KOPrefs *KOPrefs::mInstance = 0; 49KOPrefs *KOPrefs::mInstance = 0;
50static KStaticDeleter<KOPrefs> insd; 50static KStaticDeleter<KOPrefs> insd;
51 51
52KOPrefs::KOPrefs() : 52KOPrefs::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
78KOPrefs::~KOPrefs() 81KOPrefs::~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
88KOPrefs *KOPrefs::instance() 91KOPrefs *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
98void KOPrefs::usrSetDefaults() 101void KOPrefs::usrSetDefaults()
99{ 102{
100 103
101} 104}
102 105
103void KOPrefs::fillMailDefaults() 106void 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
109void KOPrefs::usrReadConfig() 112void KOPrefs::usrReadConfig()
110{ 113{
111 114
112 KPimPrefs::usrReadConfig(); 115 KPimPrefs::usrReadConfig();
113} 116}
114 117
115 118
116void KOPrefs::usrWriteConfig() 119void KOPrefs::usrWriteConfig()
117{ 120{
118 KPimPrefs::usrWriteConfig(); 121 KPimPrefs::usrWriteConfig();
119} 122}
120 123
121 124
122 125
123KConfig* KOPrefs::getConfig() 126KConfig* KOPrefs::getConfig()
124{ 127{
125 return config(); 128 return config();
126} 129}
diff --git a/kmicromail/koprefs.h b/kmicromail/koprefs.h
index f2c4fbb..f2501e3 100644
--- a/kmicromail/koprefs.h
+++ b/kmicromail/koprefs.h
@@ -12,69 +12,70 @@
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details. 13 GNU General Public License for more details.
14 14
15 You should have received a copy of the GNU General Public License 15 You should have received a copy of the GNU General Public License
16 along with this program; if not, write to the Free Software 16 along with this program; if not, write to the Free Software
17 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 17 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
18 18
19 As a special exception, permission is given to link this program 19 As a special exception, permission is given to link this program
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#ifndef KOPREFS_H 23#ifndef KOPREFS_H
24#define KOPREFS_H 24#define KOPREFS_H
25 25
26 26
27#include <libkdepim/kpimprefs.h> 27#include <libkdepim/kpimprefs.h>
28 28
29class KConfig; 29class KConfig;
30class QFont; 30class QFont;
31class QColor; 31class QColor;
32class QStringList; 32class QStringList;
33 33
34class KOPrefs : public KPimPrefs 34class 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
@@ -89,128 +89,147 @@ KOPrefsDialog::KOPrefsDialog(QWidget *parent, char *name, bool modal) :
89 //setupPrinterTab(); 89 //setupPrinterTab();
90 //setupGroupSchedulingTab(); 90 //setupGroupSchedulingTab();
91 //setupGroupAutomationTab(); 91 //setupGroupAutomationTab();
92#endif 92#endif
93} 93}
94 94
95#include "kpimglobalprefs.h" 95#include "kpimglobalprefs.h"
96 96
97KOPrefsDialog::~KOPrefsDialog() 97KOPrefsDialog::~KOPrefsDialog()
98{ 98{
99} 99}
100void KOPrefsDialog::setupGlobalTab() 100void KOPrefsDialog::setupGlobalTab()
101{ 101{
102 QFrame *topFrame = addPage(i18n("Global"),0,0); 102 QFrame *topFrame = addPage(i18n("Global"),0,0);
103 kdelibcfg = new KDEPIMConfigWidget( KPimGlobalPrefs::instance(), topFrame, "KCMKdeLibConfig" ); 103 kdelibcfg = new KDEPIMConfigWidget( KPimGlobalPrefs::instance(), topFrame, "KCMKdeLibConfig" );
104 QVBoxLayout *topLayout = new QVBoxLayout(topFrame); 104 QVBoxLayout *topLayout = new QVBoxLayout(topFrame);
105 topLayout->addWidget( kdelibcfg ); 105 topLayout->addWidget( kdelibcfg );
106 106
107 107
108} 108}
109void KOPrefsDialog::setupMainTab() 109void 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
134void KOPrefsDialog::setupMailTab() 134void 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}
160void KOPrefsDialog::setupFontsTab() 179void 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}
200void KOPrefsDialog::usrReadConfig() 219void KOPrefsDialog::usrReadConfig()
201{ 220{
202 221
203 mNameEdit->setText(KOPrefs::instance()->mName); 222 mNameEdit->setText(KOPrefs::instance()->mName);
204 mEmailEdit->setText(KOPrefs::instance()->mEmail); 223 mEmailEdit->setText(KOPrefs::instance()->mEmail);
205 //mCodecEdit->setText(KOPrefs::instance()->mSendCodec); 224 //mCodecEdit->setText(KOPrefs::instance()->mSendCodec);
206 kdelibcfg->readConfig(); 225 kdelibcfg->readConfig();
207} 226}
208void KOPrefsDialog::usrWriteConfig() 227void KOPrefsDialog::usrWriteConfig()
209{ 228{
210 KOPrefs::instance()->mName = mNameEdit->text(); 229 KOPrefs::instance()->mName = mNameEdit->text();
211 KOPrefs::instance()->mEmail = mEmailEdit->text(); 230 KOPrefs::instance()->mEmail = mEmailEdit->text();
212 //KOPrefs::instance()->mSendCodec = mCodecEdit->text(); 231 //KOPrefs::instance()->mSendCodec = mCodecEdit->text();
213 kdelibcfg->writeConfig(); 232 kdelibcfg->writeConfig();
214 233
215 234
216} 235}
diff --git a/kmicromail/mainwindow.cpp b/kmicromail/mainwindow.cpp
index 250d114..0794e00 100644
--- a/kmicromail/mainwindow.cpp
+++ b/kmicromail/mainwindow.cpp
@@ -1,305 +1,325 @@
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>
16extern QStatusBar* globalSstatusBarMainWindow; 16extern 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
28MainWindow::MainWindow( QWidget *parent, const char *name, WFlags flags ) 29MainWindow::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
223MainWindow::~MainWindow() 243MainWindow::~MainWindow()
224{ 244{
225} 245}
226 246
227void MainWindow::setInfoFields(QListViewItem* item ) 247void 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}
244void MainWindow::slotSetCodec( int codec ) 264void 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}
275void MainWindow::showLicence() 295void MainWindow::showLicence()
276{ 296{
277 KApplication::showLicence(); 297 KApplication::showLicence();
278} 298}
279void MainWindow::showAbout() 299void 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"
290#else 310#else
291 "PDA-Edition\nfor: Zaurus 5x00 / 7x0 / 8x0\n" 311 "PDA-Edition\nfor: Zaurus 5x00 / 7x0 / 8x0\n"
292#endif 312#endif
293 "www.pi-sync.net\n\n" 313 "www.pi-sync.net\n\n"
294 314
295 315
296 316
297"Copyright (c) 2004 Lutz Rogowski <lutz@pi-sync.net>\n" 317"Copyright (c) 2004 Lutz Rogowski <lutz@pi-sync.net>\n"
298 "KOpieMail/Pi is based on Opie Mail\n" 318 "KOpieMail/Pi is based on Opie Mail\n"
299 "Copyright (c) Rajko Albrecht and the Opie team\n" 319 "Copyright (c) Rajko Albrecht and the Opie team\n"
300 "KOpieMail/Pi is licensed under the GPL\n" 320 "KOpieMail/Pi is licensed under the GPL\n"
301 "\n" 321 "\n"
302 "KOpieMail/Pi uses LibEtPan - a mail stuff library\n" 322 "KOpieMail/Pi uses LibEtPan - a mail stuff library\n"
303 "Copyright (C) 2001, 2002 - DINH Viet Hoa\n" 323 "Copyright (C) 2001, 2002 - DINH Viet Hoa\n"
304 "libEtPan has its own licence - see LibEtPan licence\n"; 324 "libEtPan has its own licence - see LibEtPan licence\n";
305 325
diff --git a/kmicromail/opiemail.cpp b/kmicromail/opiemail.cpp
index 68f0eb3..f56711d 100644
--- a/kmicromail/opiemail.cpp
+++ b/kmicromail/opiemail.cpp
@@ -434,135 +434,136 @@ void OpieMail::slotGetMail()
434 if ( ! item ) return; 434 if ( ! item ) return;
435 ((AccountViewItem *)item)->contextMenuSelected( 101 ); 435 ((AccountViewItem *)item)->contextMenuSelected( 101 );
436} 436}
437void OpieMail::slotDeleteMail() 437void OpieMail::slotDeleteMail()
438{ 438{
439 if (!mailView->currentItem()) return; 439 if (!mailView->currentItem()) return;
440 RecMailP mail = ((MailListViewItem*)mailView->currentItem() )->data(); 440 RecMailP mail = ((MailListViewItem*)mailView->currentItem() )->data();
441 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 ) 441 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 )
442 { 442 {
443 mail->Wrapper()->deleteMail( mail ); 443 mail->Wrapper()->deleteMail( mail );
444 folderView->refreshCurrent(); 444 folderView->refreshCurrent();
445 } 445 }
446} 446}
447void OpieMail::slotDeleteAllMail() 447void OpieMail::slotDeleteAllMail()
448{ 448{
449 449
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}
471void OpieMail::clearSelection() 471void OpieMail::clearSelection()
472{ 472{
473 mailView->clearSelection(); 473 mailView->clearSelection();
474 474
475} 475}
476 476
477void OpieMail::mailHold(int button, QListViewItem *item,const QPoint&,int ) 477void 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
513void OpieMail::slotShowFolders( bool show ) 514void 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
525void OpieMail::refreshMailView(const QValueList<RecMailP>&list) 526void 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
540void OpieMail::mailLeftClicked( QListViewItem *item ) 541void 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
553void OpieMail::slotMoveCopyMail() 554void OpieMail::slotMoveCopyMail()
554{ 555{
555 if (!mailView->currentItem()) return; 556 if (!mailView->currentItem()) return;
556 RecMailP mail = ((MailListViewItem*)mailView->currentItem() )->data(); 557 RecMailP mail = ((MailListViewItem*)mailView->currentItem() )->data();
557 AbstractMail*targetMail = 0; 558 AbstractMail*targetMail = 0;
558 QString targetFolder = ""; 559 QString targetFolder = "";
559 Selectstore sels; 560 Selectstore sels;
560 folderView->setupFolderselect(&sels); 561 folderView->setupFolderselect(&sels);
561 if (!sels.exec()) return; 562 if (!sels.exec()) return;
562 targetMail = sels.currentMail(); 563 targetMail = sels.currentMail();
563 targetFolder = sels.currentFolder(); 564 targetFolder = sels.currentFolder();
564 if ( (mail->Wrapper()==targetMail && mail->getMbox()==targetFolder) || 565 if ( (mail->Wrapper()==targetMail && mail->getMbox()==targetFolder) ||
565 targetFolder.isEmpty()) 566 targetFolder.isEmpty())
566 { 567 {
567 return; 568 return;
568 } 569 }