summaryrefslogtreecommitdiffabout
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--kmicromail/kmicromailE.pro4
-rw-r--r--kmicromail/koprefsdialog.cpp18
-rw-r--r--kmicromail/koprefsdialog.h3
-rw-r--r--korganizer/koprefsdialog.cpp14
-rw-r--r--korganizer/koprefsdialog.h3
5 files changed, 36 insertions, 6 deletions
diff --git a/kmicromail/kmicromailE.pro b/kmicromail/kmicromailE.pro
index 0d6cf86..75ba92f 100644
--- a/kmicromail/kmicromailE.pro
+++ b/kmicromail/kmicromailE.pro
@@ -9,62 +9,62 @@ HEADERS = defines.h \
9 viewmail.h \ 9 viewmail.h \
10 viewmailbase.h \ 10 viewmailbase.h \
11 opiemail.h \ 11 opiemail.h \
12 mailistviewitem.h \ 12 mailistviewitem.h \
13 settingsdialog.h \ 13 settingsdialog.h \
14 statuswidget.h \ 14 statuswidget.h \
15 newmaildir.h \ 15 newmaildir.h \
16 selectstore.h \ 16 selectstore.h \
17 selectsmtp.h \ 17 selectsmtp.h \
18 nntpgroups.h \ 18 nntpgroups.h \
19 koprefs.h \ 19 koprefs.h \
20 koprefsdialog.h \ 20 koprefsdialog.h \
21 nntpgroupsdlg.h 21 nntpgroupsdlg.h
22 22
23SOURCES = main.cpp \ 23SOURCES = main.cpp \
24 opiemail.cpp \ 24 opiemail.cpp \
25 mainwindow.cpp \ 25 mainwindow.cpp \
26 accountview.cpp \ 26 accountview.cpp \
27 accountitem.cpp \ 27 accountitem.cpp \
28 composemail.cpp \ 28 composemail.cpp \
29 editaccounts.cpp \ 29 editaccounts.cpp \
30 viewmail.cpp \ 30 viewmail.cpp \
31 viewmailbase.cpp \ 31 viewmailbase.cpp \
32 mailistviewitem.cpp \ 32 mailistviewitem.cpp \
33 settingsdialog.cpp \ 33 settingsdialog.cpp \
34 statuswidget.cpp \ 34 statuswidget.cpp \
35 newmaildir.cpp \ 35 newmaildir.cpp \
36 selectstore.cpp \ 36 selectstore.cpp \
37 selectsmtp.cpp \ 37 selectsmtp.cpp \
38 nntpgroups.cpp \ 38 nntpgroups.cpp \
39 koprefs.cpp\ 39 koprefs.cpp\
40 koprefsdialog.cpp\ 40 koprefsdialog.cpp\
41 nntpgroupsdlg.cpp 41 nntpgroupsdlg.cpp
42 42
43INTERFACES = editaccountsui.ui \ 43INTERFACES = editaccountsui.ui \
44 selectmailtypeui.ui \ 44 selectmailtypeui.ui \
45 imapconfigui.ui \ 45 imapconfigui.ui \
46 pop3configui.ui \ 46 pop3configui.ui \
47 nntpconfigui.ui \ 47 nntpconfigui.ui \
48 smtpconfigui.ui \ 48 smtpconfigui.ui \
49 composemailui.ui \ 49 composemailui.ui \
50 settingsdialogui.ui \ 50 settingsdialogui.ui \
51 statuswidgetui.ui \ 51 statuswidgetui.ui \
52 newmaildirui.ui \ 52 newmaildirui.ui \
53 selectstoreui.ui \ 53 selectstoreui.ui \
54 nntpgroupsui.ui 54 nntpgroupsui.ui
55 55
56 56
57INCLUDEPATH += . $(KDEPIMDIR) $(KDEPIMDIR)/qtcompat $(KDEPIMDIR)/microkde $(KDEPIMDIR)/microkde/kdecore libetpan/include $(KDEPIMDIR)/microkde/kdeui $(QPEDIR)/include 57INCLUDEPATH += . $(KDEPIMDIR) $(KDEPIMDIR)/libkdepim $(KDEPIMDIR)/qtcompat $(KDEPIMDIR)/microkde $(KDEPIMDIR)/microkde/kdecore libetpan/include $(KDEPIMDIR)/microkde/kdeui $(QPEDIR)/include
58LIBS += -L$(QPEDIR)/lib -lkmicromailwrapper -lqpe -lkmicrolibetpan -lmicrokde -lmicroqtcompat -lssl -lcrypto -ljpeg -lmicrokde -lmicroqtcompat -lmicrokabc -lmicrokcal -lmicrokdepim 58LIBS += -L$(QPEDIR)/lib -lkmicromailwrapper -lqpe -lkmicrolibetpan -lmicrokde -lmicroqtcompat -lssl -lcrypto -ljpeg -lmicroqtcompat -lmicrokdepim
59LIBS += $(QTOPIALIB) 59LIBS += $(QTOPIALIB)
60#LIBS += -lqtopia 60#LIBS += -lqtopia
61#next line for Zaurus only 61#next line for Zaurus only
62#LIBS += -luuid 62#LIBS += -luuid
63 63
64# 64#
65OBJECTS_DIR = obj/$(PLATFORM) 65OBJECTS_DIR = obj/$(PLATFORM)
66MOC_DIR = moc/$(PLATFORM) 66MOC_DIR = moc/$(PLATFORM)
67DESTDIR=$(QPEDIR)/bin 67DESTDIR=$(QPEDIR)/bin
68TARGET = ompi 68TARGET = ompi
69 69
70 70
diff --git a/kmicromail/koprefsdialog.cpp b/kmicromail/koprefsdialog.cpp
index 7d7bd2a..598d12f 100644
--- a/kmicromail/koprefsdialog.cpp
+++ b/kmicromail/koprefsdialog.cpp
@@ -15,226 +15,238 @@
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 <qlayout.h> 24#include <qlayout.h>
25#include <qlabel.h> 25#include <qlabel.h>
26#include <qgroupbox.h> 26#include <qgroupbox.h>
27#include <qbuttongroup.h> 27#include <qbuttongroup.h>
28#include <qlineedit.h> 28#include <qlineedit.h>
29#include <qfont.h> 29#include <qfont.h>
30#include <qslider.h> 30#include <qslider.h>
31#include <qfile.h> 31#include <qfile.h>
32#include <qtextstream.h> 32#include <qtextstream.h>
33#include <qcombobox.h> 33#include <qcombobox.h>
34#include <qvbox.h> 34#include <qvbox.h>
35#include <qhbox.h> 35#include <qhbox.h>
36#include <qregexp.h> 36#include <qregexp.h>
37#include <qspinbox.h> 37#include <qspinbox.h>
38#include <qdatetime.h> 38#include <qdatetime.h>
39#include <qcheckbox.h> 39#include <qcheckbox.h>
40#include <qradiobutton.h> 40#include <qradiobutton.h>
41#include <qpushbutton.h> 41#include <qpushbutton.h>
42#include <qstrlist.h> 42#include <qstrlist.h>
43#include <qapplication.h> 43#include <qapplication.h>
44 44
45#include <kcolorbutton.h> 45#include <kcolorbutton.h>
46#include <kdebug.h> 46#include <kdebug.h>
47#include <klocale.h> 47#include <klocale.h>
48#include <kglobal.h> 48#include <kglobal.h>
49#include <kfontdialog.h> 49#include <kfontdialog.h>
50#include <kfiledialog.h> 50#include <kfiledialog.h>
51#include <kmessagebox.h> 51#include <kmessagebox.h>
52#include <kcolordialog.h> 52#include <kcolordialog.h>
53#include <kiconloader.h> 53#include <kiconloader.h>
54#include <kemailsettings.h> 54#include <kemailsettings.h>
55#include <kstandarddirs.h> 55#include <kstandarddirs.h>
56 56
57#include <klineedit.h> 57#include <klineedit.h>
58 58
59 59
60#include "koprefs.h" 60#include "koprefs.h"
61 61
62#include "koprefsdialog.h" 62#include "koprefsdialog.h"
63//#include <kprefswidget.h>
63 64
64 65
65KOPrefsDialog::KOPrefsDialog(QWidget *parent, char *name, bool modal) : 66KOPrefsDialog::KOPrefsDialog(QWidget *parent, char *name, bool modal) :
66 KPrefsDialog(KOPrefs::instance(),parent,name,true) 67 KPrefsDialog(KOPrefs::instance(),parent,name,true)
67{ 68{
68 69
69 setCaption( i18n("Settings - some need a restart (nr)")); 70 setCaption( i18n("Settings - some need a restart (nr)"));
71 setupGlobalTab();
70 setupMainTab(); 72 setupMainTab();
71 setupMailTab();; 73 setupMailTab();;
72 setupFontsTab(); 74 setupFontsTab();
73 readConfig(); 75 readConfig();
74 76
75#if 0 77#if 0
76 78
77 setupMainTab(); 79 setupMainTab();
78 setupLocaleTab(); 80 setupLocaleTab();
79 setupTimeZoneTab(); 81 setupTimeZoneTab();
80 setupTimeTab(); 82 setupTimeTab();
81 setupLocaleDateTab(); 83 setupLocaleDateTab();
82 setupFontsTab(); 84 setupFontsTab();
83 setupColorsTab(); 85 setupColorsTab();
84 setupViewsTab(); 86 setupViewsTab();
85 //setupSyncTab(); 87 //setupSyncTab();
86 //setupSyncAlgTab(); 88 //setupSyncAlgTab();
87 //setupPrinterTab(); 89 //setupPrinterTab();
88 //setupGroupSchedulingTab(); 90 //setupGroupSchedulingTab();
89 //setupGroupAutomationTab(); 91 //setupGroupAutomationTab();
90#endif 92#endif
91} 93}
92 94
95#include "kpimglobalprefs.h"
93 96
94KOPrefsDialog::~KOPrefsDialog() 97KOPrefsDialog::~KOPrefsDialog()
95{ 98{
96} 99}
97 100void KOPrefsDialog::setupGlobalTab()
101{
102 QFrame *topFrame = addPage(i18n("Global"),0,0);
103 kdelibcfg = new KDEPIMConfigWidget( KPimGlobalPrefs::instance(), topFrame, "KCMKdeLibConfig" );
104 QVBoxLayout *topLayout = new QVBoxLayout(topFrame);
105 topLayout->addWidget( kdelibcfg );
106
107
108}
98void KOPrefsDialog::setupMainTab() 109void KOPrefsDialog::setupMainTab()
99{ 110{
100 QFrame *topFrame = addPage(i18n("General"),0,0); 111 QFrame *topFrame = addPage(i18n("General"),0,0);
101 112
102 QGridLayout *topLayout = new QGridLayout(topFrame,6,2); 113 QGridLayout *topLayout = new QGridLayout(topFrame,6,2);
103 topLayout->setSpacing(spacingHint()); 114 topLayout->setSpacing(spacingHint());
104 topLayout->setMargin(marginHint()); 115 topLayout->setMargin(marginHint());
105 116
106 117
107 mNameEdit = new QLineEdit(topFrame); 118 mNameEdit = new QLineEdit(topFrame);
108 mNameLabel = new QLabel(mNameEdit, i18n("Full &name:"), topFrame); 119 mNameLabel = new QLabel(mNameEdit, i18n("Full &name:"), topFrame);
109 topLayout->addWidget(mNameLabel,0,0); 120 topLayout->addWidget(mNameLabel,0,0);
110 topLayout->addWidget(mNameEdit,0,1); 121 topLayout->addWidget(mNameEdit,0,1);
111 122
112 mEmailEdit = new QLineEdit(topFrame); 123 mEmailEdit = new QLineEdit(topFrame);
113 mEmailLabel = new QLabel(mEmailEdit, i18n("E&mail address:"),topFrame); 124 mEmailLabel = new QLabel(mEmailEdit, i18n("E&mail address:"),topFrame);
114 topLayout->addWidget(mEmailLabel,1,0); 125 topLayout->addWidget(mEmailLabel,1,0);
115 topLayout->addWidget(mEmailEdit,1,1); 126 topLayout->addWidget(mEmailEdit,1,1);
116 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);
117 topLayout->addMultiCellWidget(lab,2,2,0,1); 128 topLayout->addMultiCellWidget(lab,2,2,0,1);
118 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!"),
119 &(KOPrefs::instance()->mUseKapi),topFrame); 130 &(KOPrefs::instance()->mUseKapi),topFrame);
120 topLayout->addMultiCellWidget(ttt->checkBox(),3,3,0,1); 131 topLayout->addMultiCellWidget(ttt->checkBox(),3,3,0,1);
121} 132}
122 133
123void KOPrefsDialog::setupMailTab() 134void KOPrefsDialog::setupMailTab()
124{ 135{
125 QFrame *topFrame = addPage(i18n("Mail"),0,0); 136 QFrame *topFrame = addPage(i18n("Mail"),0,0);
126 137
127 QGridLayout *topLayout = new QGridLayout(topFrame,4,2); 138 QGridLayout *topLayout = new QGridLayout(topFrame,4,2);
128 topLayout->setSpacing(spacingHint()); 139 topLayout->setSpacing(spacingHint());
129 topLayout->setMargin(marginHint()); 140 topLayout->setMargin(marginHint());
130 141
131 KPrefsDialogWidBool* ttt = addWidBool(i18n("View mail as html"), 142 KPrefsDialogWidBool* ttt = addWidBool(i18n("View mail as html"),
132 &(KOPrefs::instance()->mViewAsHtml),topFrame); 143 &(KOPrefs::instance()->mViewAsHtml),topFrame);
133 topLayout->addMultiCellWidget(ttt->checkBox(),0,0,0,1); 144 topLayout->addMultiCellWidget(ttt->checkBox(),0,0,0,1);
134 145
135 146
136 ttt = addWidBool(i18n("Send mails later"), 147 ttt = addWidBool(i18n("Send mails later"),
137 &(KOPrefs::instance()->mSendLater),topFrame); 148 &(KOPrefs::instance()->mSendLater),topFrame);
138 topLayout->addMultiCellWidget(ttt->checkBox(),1,1,0,1); 149 topLayout->addMultiCellWidget(ttt->checkBox(),1,1,0,1);
139 150
140 151
141} 152}
142void KOPrefsDialog::setupFontsTab() 153void KOPrefsDialog::setupFontsTab()
143{ 154{
144 155
145 QFrame *topFrame = addPage(i18n("Fonts"),0,0); 156 QFrame *topFrame = addPage(i18n("Fonts"),0,0);
146 // DesktopIcon("fonts",KIcon::SizeMedium)); 157 // DesktopIcon("fonts",KIcon::SizeMedium));
147 158
148 QGridLayout *topLayout = new QGridLayout(topFrame,7,3); 159 QGridLayout *topLayout = new QGridLayout(topFrame,7,3);
149 topLayout->setSpacing(1); 160 topLayout->setSpacing(1);
150 topLayout->setMargin(3); 161 topLayout->setMargin(3);
151 KPrefsDialogWidFont * tVFont; 162 KPrefsDialogWidFont * tVFont;
152 int i = 0; 163 int i = 0;
153 KPrefsDialogWidFont *timeLabelsFont = 164 KPrefsDialogWidFont *timeLabelsFont =
154 addWidFont(i18n("OK"),i18n("Application(nr)"), 165 addWidFont(i18n("OK"),i18n("Application(nr)"),
155 &(KOPrefs::instance()->mAppFont),topFrame); 166 &(KOPrefs::instance()->mAppFont),topFrame);
156 topLayout->addWidget(timeLabelsFont->label(),i,0); 167 topLayout->addWidget(timeLabelsFont->label(),i,0);
157 topLayout->addWidget(timeLabelsFont->preview(),i,1); 168 topLayout->addWidget(timeLabelsFont->preview(),i,1);
158 topLayout->addWidget(timeLabelsFont->button(),i,2); 169 topLayout->addWidget(timeLabelsFont->button(),i,2);
159 ++i; 170 ++i;
160 171
161 172
162 timeLabelsFont = 173 timeLabelsFont =
163 addWidFont(i18n("Dear Mr."),i18n("Compose mail:"), 174 addWidFont(i18n("Dear Mr."),i18n("Compose mail:"),
164 &(KOPrefs::instance()->mComposeFont),topFrame); 175 &(KOPrefs::instance()->mComposeFont),topFrame);
165 topLayout->addWidget(timeLabelsFont->label(),i,0); 176 topLayout->addWidget(timeLabelsFont->label(),i,0);
166 topLayout->addWidget(timeLabelsFont->preview(),i,1); 177 topLayout->addWidget(timeLabelsFont->preview(),i,1);
167 topLayout->addWidget(timeLabelsFont->button(),i,2); 178 topLayout->addWidget(timeLabelsFont->button(),i,2);
168 ++i; 179 ++i;
169 180
170 KPrefsDialogWidFont *timeBarFont = 181 KPrefsDialogWidFont *timeBarFont =
171 addWidFont(i18n("Hello"),i18n("Read mail:"), 182 addWidFont(i18n("Hello"),i18n("Read mail:"),
172 &(KOPrefs::instance()->mReadFont),topFrame); 183 &(KOPrefs::instance()->mReadFont),topFrame);
173 topLayout->addWidget(timeBarFont->label(),i,0); 184 topLayout->addWidget(timeBarFont->label(),i,0);
174 topLayout->addWidget(timeBarFont->preview(),i,1); 185 topLayout->addWidget(timeBarFont->preview(),i,1);
175 topLayout->addWidget(timeBarFont->button(),i,2); 186 topLayout->addWidget(timeBarFont->button(),i,2);
176 ++i; 187 ++i;
177 188
178 topLayout->setColStretch(1,1); 189 topLayout->setColStretch(1,1);
179 topLayout->setRowStretch(4,1); 190 topLayout->setRowStretch(4,1);
180 191
181} 192}
182void KOPrefsDialog::usrReadConfig() 193void KOPrefsDialog::usrReadConfig()
183{ 194{
184 qDebug("read "); 195
185 mNameEdit->setText(KOPrefs::instance()->mName); 196 mNameEdit->setText(KOPrefs::instance()->mName);
186 mEmailEdit->setText(KOPrefs::instance()->mEmail); 197 mEmailEdit->setText(KOPrefs::instance()->mEmail);
198 kdelibcfg->readConfig();
187} 199}
188void KOPrefsDialog::usrWriteConfig() 200void KOPrefsDialog::usrWriteConfig()
189{ 201{
190 qDebug("write ");
191 KOPrefs::instance()->mName = mNameEdit->text(); 202 KOPrefs::instance()->mName = mNameEdit->text();
192 KOPrefs::instance()->mEmail = mEmailEdit->text(); 203 KOPrefs::instance()->mEmail = mEmailEdit->text();
204 kdelibcfg->writeConfig();
193 205
194 206
195} 207}
196 208
197#if 0 209#if 0
198void KOPrefsDialog::setupLocaleDateTab() 210void KOPrefsDialog::setupLocaleDateTab()
199{ 211{
200QFrame *topFrame = addPage(i18n("Date Format"),0,0); 212QFrame *topFrame = addPage(i18n("Date Format"),0,0);
201 QGridLayout *topLayout = new QGridLayout(topFrame,3,2); 213 QGridLayout *topLayout = new QGridLayout(topFrame,3,2);
202 topLayout->setSpacing(spacingHint()); 214 topLayout->setSpacing(spacingHint());
203 topLayout->setMargin(marginHint()); 215 topLayout->setMargin(marginHint());
204 int iii = 0; 216 int iii = 0;
205 217
206 218
207 KPrefsWidRadios *syncPrefsGroup = 219 KPrefsWidRadios *syncPrefsGroup =
208 addWidRadios(i18n("Date Format:"),&(KOPrefs::instance()->mPreferredDate),topFrame); 220 addWidRadios(i18n("Date Format:"),&(KOPrefs::instance()->mPreferredDate),topFrame);
209 QString format; 221 QString format;
210 if ( QApplication::desktop()->width() < 480 ) 222 if ( QApplication::desktop()->width() < 480 )
211 format = "(%d.%m.%Y)"; 223 format = "(%d.%m.%Y)";
212 else 224 else
213 format = "(%d.%m.%Y|%A %d %B %Y)"; 225 format = "(%d.%m.%Y|%A %d %B %Y)";
214 syncPrefsGroup->addRadio(i18n("24.03.2004 "+format)); 226 syncPrefsGroup->addRadio(i18n("24.03.2004 "+format));
215 if ( QApplication::desktop()->width() < 480 ) 227 if ( QApplication::desktop()->width() < 480 )
216 format = "(%m.%d.%Y)"; 228 format = "(%m.%d.%Y)";
217 else 229 else
218 format = "(%m.%d.%Y|%A %B %d %Y)"; 230 format = "(%m.%d.%Y|%A %B %d %Y)";
219 syncPrefsGroup->addRadio(i18n("03.24.2004 "+format)); 231 syncPrefsGroup->addRadio(i18n("03.24.2004 "+format));
220 if ( QApplication::desktop()->width() < 480 ) 232 if ( QApplication::desktop()->width() < 480 )
221 format = "(%Y-%m-%d)"; 233 format = "(%Y-%m-%d)";
222 else 234 else
223 format = "(%Y-%m-%d|%A %Y %B %d)"; 235 format = "(%Y-%m-%d|%A %Y %B %d)";
224 syncPrefsGroup->addRadio(i18n("2004-03-24 "+format)); 236 syncPrefsGroup->addRadio(i18n("2004-03-24 "+format));
225 syncPrefsGroup->addRadio(i18n("User defined")); 237 syncPrefsGroup->addRadio(i18n("User defined"));
226 topLayout->addMultiCellWidget( syncPrefsGroup->groupBox(),iii,iii,0,1); 238 topLayout->addMultiCellWidget( syncPrefsGroup->groupBox(),iii,iii,0,1);
227 ++iii; 239 ++iii;
228 ++iii; 240 ++iii;
229 QLabel * lab; 241 QLabel * lab;
230 mUserDateFormatLong = new QLineEdit(topFrame); 242 mUserDateFormatLong = new QLineEdit(topFrame);
231 lab = new QLabel(mUserDateFormatLong, i18n("User long date:"), topFrame); 243 lab = new QLabel(mUserDateFormatLong, i18n("User long date:"), topFrame);
232 topLayout->addWidget(lab ,iii,0); 244 topLayout->addWidget(lab ,iii,0);
233 topLayout->addWidget(mUserDateFormatLong,iii,1); 245 topLayout->addWidget(mUserDateFormatLong,iii,1);
234 ++iii; 246 ++iii;
235 mUserDateFormatShort = new QLineEdit(topFrame); 247 mUserDateFormatShort = new QLineEdit(topFrame);
236 lab = new QLabel(mUserDateFormatShort, i18n("User short date:"), topFrame); 248 lab = new QLabel(mUserDateFormatShort, i18n("User short date:"), topFrame);
237 topLayout->addWidget(lab ,iii,0); 249 topLayout->addWidget(lab ,iii,0);
238 topLayout->addWidget(mUserDateFormatShort,iii,1); 250 topLayout->addWidget(mUserDateFormatShort,iii,1);
239 ++iii; 251 ++iii;
240 lab = new QLabel( i18n("Monday 19 April 2004: %A %d %B %Y"), topFrame); 252 lab = new QLabel( i18n("Monday 19 April 2004: %A %d %B %Y"), topFrame);
diff --git a/kmicromail/koprefsdialog.h b/kmicromail/koprefsdialog.h
index 4b6bd4b..615574b 100644
--- a/kmicromail/koprefsdialog.h
+++ b/kmicromail/koprefsdialog.h
@@ -1,109 +1,112 @@
1/* 1/*
2 This file is part of KOrganizer. 2 This file is part of KOrganizer.
3 Copyright (c) 2000,2001 Cornelius Schumacher <schumacher@kde.org> 3 Copyright (c) 2000,2001 Cornelius Schumacher <schumacher@kde.org>
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#ifndef _KOPREFSDIALOG_H 23#ifndef _KOPREFSDIALOG_H
24#define _KOPREFSDIALOG_H 24#define _KOPREFSDIALOG_H
25 25
26#include <qframe.h> 26#include <qframe.h>
27#include <qdict.h> 27#include <qdict.h>
28#include <qcolor.h> 28#include <qcolor.h>
29#include <qlistview.h> 29#include <qlistview.h>
30 30
31#include <kdialogbase.h> 31#include <kdialogbase.h>
32 32
33#include <libkdepim/kprefsdialog.h> 33#include <libkdepim/kprefsdialog.h>
34#include <libkdepim/kdateedit.h> 34#include <libkdepim/kdateedit.h>
35#include <kcmconfigs/kdepimconfigwidget.h>
35 36
36class KColorButton; 37class KColorButton;
37class QSpinBox; 38class QSpinBox;
38class QSlider; 39class QSlider;
39class KURLRequester; 40class KURLRequester;
40class QComboBox; 41class QComboBox;
41class QLineEdit; 42class QLineEdit;
42class QStringList; 43class QStringList;
43 44
44/** Dialog to change the korganizer configuration. 45/** Dialog to change the korganizer configuration.
45 */ 46 */
46class KOPrefsDialog : public KPrefsDialog 47class KOPrefsDialog : public KPrefsDialog
47{ 48{
48 Q_OBJECT 49 Q_OBJECT
49 public: 50 public:
50 /** Initialize dialog and pages */ 51 /** Initialize dialog and pages */
51 KOPrefsDialog(QWidget *parent=0,char *name=0,bool modal=false); 52 KOPrefsDialog(QWidget *parent=0,char *name=0,bool modal=false);
52 ~KOPrefsDialog(); 53 ~KOPrefsDialog();
53 54
54protected: 55protected:
55 void usrReadConfig(); 56 void usrReadConfig();
56 void usrWriteConfig(); 57 void usrWriteConfig();
57 58
58 void setupMainTab(); 59 void setupMainTab();
60 void setupGlobalTab();
59 void setupMailTab(); 61 void setupMailTab();
60 void setupFontsTab(); 62 void setupFontsTab();
61 private: 63 private:
64 KDEPIMConfigWidget* kdelibcfg;
62 QLineEdit *mNameEdit; 65 QLineEdit *mNameEdit;
63 QLineEdit *mEmailEdit; 66 QLineEdit *mEmailEdit;
64 QLabel *mNameLabel; 67 QLabel *mNameLabel;
65 QLabel *mEmailLabel; 68 QLabel *mEmailLabel;
66#if 0 69#if 0
67 /* 70 /*
68 public slots: 71 public slots:
69 void showPrinterTab(); 72 void showPrinterTab();
70 73
71 74
72 void updateCategories(); 75 void updateCategories();
73 void showSyncPage(); 76 void showSyncPage();
74 protected slots: 77 protected slots:
75 void selectSoundFile(); 78 void selectSoundFile();
76 void setCategoryColor(); 79 void setCategoryColor();
77 void updateCategoryColor(); 80 void updateCategoryColor();
78 void updateTimezoneOffset( int ); 81 void updateTimezoneOffset( int );
79 82
80 83
81 void warningExperimental(bool on); 84 void warningExperimental(bool on);
82 void warningGroupScheduling(); 85 void warningGroupScheduling();
83 void warningProjectView(); 86 void warningProjectView();
84 87
85 void toggleEmailSettings(bool); 88 void toggleEmailSettings(bool);
86 89
87 //additional emails 90 //additional emails
88 void addItem(); 91 void addItem();
89 void removeItem(); 92 void removeItem();
90 void updateItem(); 93 void updateItem();
91 void updateInput(); 94 void updateInput();
92*/ 95*/
93 protected: 96 protected:
94 void usrReadConfig(); 97 void usrReadConfig();
95 void usrWriteConfig(); 98 void usrWriteConfig();
96 99
97 void setupMainTab(); 100 void setupMainTab();
98 void setupTimeTab(); 101 void setupTimeTab();
99 void setupTimeZoneTab(); 102 void setupTimeZoneTab();
100 void setupLocaleTab(); 103 void setupLocaleTab();
101 void setupLocaleDateTab(); 104 void setupLocaleDateTab();
102 void setupFontsTab(); 105 void setupFontsTab();
103 void setupColorsTab(); 106 void setupColorsTab();
104 void setupViewsTab(); 107 void setupViewsTab();
105 void setupDisplayTab(); 108 void setupDisplayTab();
106 void setupPrinterTab(); 109 void setupPrinterTab();
107 void setupGroupSchedulingTab(); 110 void setupGroupSchedulingTab();
108 void setupGroupAutomationTab(); 111 void setupGroupAutomationTab();
109 void setupSyncTab(); 112 void setupSyncTab();
diff --git a/korganizer/koprefsdialog.cpp b/korganizer/koprefsdialog.cpp
index 1c30faa..7dafcd8 100644
--- a/korganizer/koprefsdialog.cpp
+++ b/korganizer/koprefsdialog.cpp
@@ -22,127 +22,137 @@
22*/ 22*/
23 23
24#include <qlayout.h> 24#include <qlayout.h>
25#include <qlabel.h> 25#include <qlabel.h>
26#include <qgroupbox.h> 26#include <qgroupbox.h>
27#include <qbuttongroup.h> 27#include <qbuttongroup.h>
28#include <qlineedit.h> 28#include <qlineedit.h>
29#include <qfont.h> 29#include <qfont.h>
30#include <qslider.h> 30#include <qslider.h>
31#include <qfile.h> 31#include <qfile.h>
32#include <qtextstream.h> 32#include <qtextstream.h>
33#include <qcombobox.h> 33#include <qcombobox.h>
34#include <qvbox.h> 34#include <qvbox.h>
35#include <qhbox.h> 35#include <qhbox.h>
36#include <qregexp.h> 36#include <qregexp.h>
37#include <qspinbox.h> 37#include <qspinbox.h>
38#include <qdatetime.h> 38#include <qdatetime.h>
39#include <qcheckbox.h> 39#include <qcheckbox.h>
40#include <qradiobutton.h> 40#include <qradiobutton.h>
41#include <qpushbutton.h> 41#include <qpushbutton.h>
42#include <qstrlist.h> 42#include <qstrlist.h>
43#include <qapplication.h> 43#include <qapplication.h>
44 44
45#include <kcolorbutton.h> 45#include <kcolorbutton.h>
46#include <kdebug.h> 46#include <kdebug.h>
47#include <klocale.h> 47#include <klocale.h>
48#include <kglobal.h> 48#include <kglobal.h>
49#include <kfontdialog.h> 49#include <kfontdialog.h>
50#include <kfiledialog.h> 50#include <kfiledialog.h>
51#include <kmessagebox.h> 51#include <kmessagebox.h>
52#include <kcolordialog.h> 52#include <kcolordialog.h>
53#include <kiconloader.h> 53#include <kiconloader.h>
54#include <kemailsettings.h> 54#include <kemailsettings.h>
55#include <kstandarddirs.h> 55#include <kstandarddirs.h>
56 56
57#include <kurlrequester.h> 57#include <kurlrequester.h>
58#include <klineedit.h> 58#include <klineedit.h>
59 59
60#if defined(USE_SOLARIS) 60#if defined(USE_SOLARIS)
61#include <sys/param.h> 61#include <sys/param.h>
62 62
63#define ZONEINFODIR "/usr/share/lib/zoneinfo" 63#define ZONEINFODIR "/usr/share/lib/zoneinfo"
64#define INITFILE "/etc/default/init" 64#define INITFILE "/etc/default/init"
65#endif 65#endif
66 66
67#include "koprefs.h" 67#include "koprefs.h"
68 68
69#include "koprefsdialog.h" 69#include "koprefsdialog.h"
70#include "kpimglobalprefs.h"
70 71
71 72
72KOPrefsDialog::KOPrefsDialog(QWidget *parent, char *name, bool modal) : 73KOPrefsDialog::KOPrefsDialog(QWidget *parent, char *name, bool modal) :
73 KPrefsDialog(KOPrefs::instance(),parent,name,true) 74 KPrefsDialog(KOPrefs::instance(),parent,name,true)
74{ 75{
75 76
76 setCaption( i18n("Preferences - some settings need a restart (nr)")); 77 setCaption( i18n("Preferences - some settings need a restart (nr)"));
77 mCategoryDict.setAutoDelete(true); 78 mCategoryDict.setAutoDelete(true);
78 79
79 KGlobal::locale()->insertCatalogue("timezones"); 80 KGlobal::locale()->insertCatalogue("timezones");
80 81
82 setupGlobalTab();
81 setupMainTab(); 83 setupMainTab();
82 setupLocaleTab(); 84 setupLocaleTab();
83 setupTimeZoneTab(); 85 setupTimeZoneTab();
84 setupTimeTab(); 86 setupTimeTab();
85 setupLocaleDateTab(); 87 setupLocaleDateTab();
86 setupFontsTab(); 88 setupFontsTab();
87 setupColorsTab(); 89 setupColorsTab();
88 setupViewsTab(); 90 setupViewsTab();
89 //setupSyncTab(); 91 //setupSyncTab();
90 //setupSyncAlgTab(); 92 //setupSyncAlgTab();
91 //setupPrinterTab(); 93 //setupPrinterTab();
92 //setupGroupSchedulingTab(); 94 //setupGroupSchedulingTab();
93 //setupGroupAutomationTab(); 95 //setupGroupAutomationTab();
94} 96}
95 97
96 98
97KOPrefsDialog::~KOPrefsDialog() 99KOPrefsDialog::~KOPrefsDialog()
98{ 100{
99} 101}
100 102void KOPrefsDialog::setupGlobalTab()
103{
104 QFrame *topFrame = addPage(i18n("Global"),0,0);
105 kdelibcfg = new KDEPIMConfigWidget( KPimGlobalPrefs::instance(), topFrame, "KCMKdeLibConfig" );
106 QVBoxLayout *topLayout = new QVBoxLayout(topFrame);
107 topLayout->addWidget( kdelibcfg );
108
109
110}
101void KOPrefsDialog::setupLocaleDateTab() 111void KOPrefsDialog::setupLocaleDateTab()
102{ 112{
103QFrame *topFrame = addPage(i18n("Date Format"),0,0); 113QFrame *topFrame = addPage(i18n("Date Format"),0,0);
104 QGridLayout *topLayout = new QGridLayout(topFrame,3,2); 114 QGridLayout *topLayout = new QGridLayout(topFrame,3,2);
105 topLayout->setSpacing(spacingHint()); 115 topLayout->setSpacing(spacingHint());
106 topLayout->setMargin(marginHint()); 116 topLayout->setMargin(marginHint());
107 int iii = 0; 117 int iii = 0;
108 118
109 119
110 KPrefsDialogWidRadios *syncPrefsGroup = 120 KPrefsDialogWidRadios *syncPrefsGroup =
111 addWidRadios(i18n("Date Format:"),&(KOPrefs::instance()->mPreferredDate),topFrame); 121 addWidRadios(i18n("Date Format:"),&(KOPrefs::instance()->mPreferredDate),topFrame);
112 QString format; 122 QString format;
113 if ( QApplication::desktop()->width() < 480 ) 123 if ( QApplication::desktop()->width() < 480 )
114 format = "(%d.%m.%Y)"; 124 format = "(%d.%m.%Y)";
115 else 125 else
116 format = "(%d.%m.%Y|%A %d %B %Y)"; 126 format = "(%d.%m.%Y|%A %d %B %Y)";
117 syncPrefsGroup->addRadio(i18n("24.03.2004 "+format)); 127 syncPrefsGroup->addRadio(i18n("24.03.2004 "+format));
118 if ( QApplication::desktop()->width() < 480 ) 128 if ( QApplication::desktop()->width() < 480 )
119 format = "(%m.%d.%Y)"; 129 format = "(%m.%d.%Y)";
120 else 130 else
121 format = "(%m.%d.%Y|%A %B %d %Y)"; 131 format = "(%m.%d.%Y|%A %B %d %Y)";
122 syncPrefsGroup->addRadio(i18n("03.24.2004 "+format)); 132 syncPrefsGroup->addRadio(i18n("03.24.2004 "+format));
123 if ( QApplication::desktop()->width() < 480 ) 133 if ( QApplication::desktop()->width() < 480 )
124 format = "(%Y-%m-%d)"; 134 format = "(%Y-%m-%d)";
125 else 135 else
126 format = "(%Y-%m-%d|%A %Y %B %d)"; 136 format = "(%Y-%m-%d|%A %Y %B %d)";
127 syncPrefsGroup->addRadio(i18n("2004-03-24 "+format)); 137 syncPrefsGroup->addRadio(i18n("2004-03-24 "+format));
128 syncPrefsGroup->addRadio(i18n("User defined")); 138 syncPrefsGroup->addRadio(i18n("User defined"));
129 topLayout->addMultiCellWidget( syncPrefsGroup->groupBox(),iii,iii,0,1); 139 topLayout->addMultiCellWidget( syncPrefsGroup->groupBox(),iii,iii,0,1);
130 ++iii; 140 ++iii;
131 ++iii; 141 ++iii;
132 QLabel * lab; 142 QLabel * lab;
133 mUserDateFormatLong = new QLineEdit(topFrame); 143 mUserDateFormatLong = new QLineEdit(topFrame);
134 lab = new QLabel(mUserDateFormatLong, i18n("User long date:"), topFrame); 144 lab = new QLabel(mUserDateFormatLong, i18n("User long date:"), topFrame);
135 topLayout->addWidget(lab ,iii,0); 145 topLayout->addWidget(lab ,iii,0);
136 topLayout->addWidget(mUserDateFormatLong,iii,1); 146 topLayout->addWidget(mUserDateFormatLong,iii,1);
137 ++iii; 147 ++iii;
138 mUserDateFormatShort = new QLineEdit(topFrame); 148 mUserDateFormatShort = new QLineEdit(topFrame);
139 lab = new QLabel(mUserDateFormatShort, i18n("User short date:"), topFrame); 149 lab = new QLabel(mUserDateFormatShort, i18n("User short date:"), topFrame);
140 topLayout->addWidget(lab ,iii,0); 150 topLayout->addWidget(lab ,iii,0);
141 topLayout->addWidget(mUserDateFormatShort,iii,1); 151 topLayout->addWidget(mUserDateFormatShort,iii,1);
142 ++iii; 152 ++iii;
143 lab = new QLabel( i18n("Monday 19 April 2004: %A %d %B %Y"), topFrame); 153 lab = new QLabel( i18n("Monday 19 April 2004: %A %d %B %Y"), topFrame);
144 topLayout->addMultiCellWidget(lab ,iii,iii,0,1); 154 topLayout->addMultiCellWidget(lab ,iii,iii,0,1);
145 ++iii; 155 ++iii;
146 lab = new QLabel( i18n("Mon 19.04.04: %a %d.%m.%y"), topFrame); 156 lab = new QLabel( i18n("Mon 19.04.04: %a %d.%m.%y"), topFrame);
147 topLayout->addMultiCellWidget(lab ,iii,iii,0,1); 157 topLayout->addMultiCellWidget(lab ,iii,iii,0,1);
148 ++iii; 158 ++iii;
@@ -1276,145 +1286,147 @@ void KOPrefsDialog::setupGroupAutomationTab()
1276 addWidRadios(i18n("Auto Insert IMIP Requests"), 1286 addWidRadios(i18n("Auto Insert IMIP Requests"),
1277 &(KOPrefs::instance()->mIMIPAutoInsertRequest),topFrame); 1287 &(KOPrefs::instance()->mIMIPAutoInsertRequest),topFrame);
1278 autoRequestGroup->addRadio(i18n("Never")); 1288 autoRequestGroup->addRadio(i18n("Never"));
1279 autoRequestGroup->addRadio(i18n("If organizer is in addressbook")); 1289 autoRequestGroup->addRadio(i18n("If organizer is in addressbook"));
1280 //autoInsertGroup->addRadio(i18n("selected emails")); 1290 //autoInsertGroup->addRadio(i18n("selected emails"));
1281 topLayout->addMultiCellWidget(autoRequestGroup->groupBox(),2,2,0,0); 1291 topLayout->addMultiCellWidget(autoRequestGroup->groupBox(),2,2,0,0);
1282 1292
1283 KPrefsDialogWidRadios *autoFreeBusyGroup = 1293 KPrefsDialogWidRadios *autoFreeBusyGroup =
1284 addWidRadios(i18n("Auto Send FreeBusy Information"), 1294 addWidRadios(i18n("Auto Send FreeBusy Information"),
1285 &(KOPrefs::instance()->mIMIPAutoFreeBusy),topFrame); 1295 &(KOPrefs::instance()->mIMIPAutoFreeBusy),topFrame);
1286 autoFreeBusyGroup->addRadio(i18n("Never")); 1296 autoFreeBusyGroup->addRadio(i18n("Never"));
1287 autoFreeBusyGroup->addRadio(i18n("If requested from an email in addressbook")); 1297 autoFreeBusyGroup->addRadio(i18n("If requested from an email in addressbook"));
1288 //autoFreeBusyGroup->addRadio(i18n("selected emails")); 1298 //autoFreeBusyGroup->addRadio(i18n("selected emails"));
1289 topLayout->addMultiCellWidget(autoFreeBusyGroup->groupBox(),3,3,0,0); 1299 topLayout->addMultiCellWidget(autoFreeBusyGroup->groupBox(),3,3,0,0);
1290 1300
1291 KPrefsDialogWidRadios *autoFreeBusyReplyGroup = 1301 KPrefsDialogWidRadios *autoFreeBusyReplyGroup =
1292 addWidRadios(i18n("Auto Save FreeBusy Replies"), 1302 addWidRadios(i18n("Auto Save FreeBusy Replies"),
1293 &(KOPrefs::instance()->mIMIPAutoFreeBusyReply),topFrame); 1303 &(KOPrefs::instance()->mIMIPAutoFreeBusyReply),topFrame);
1294 autoFreeBusyReplyGroup->addRadio(i18n("Never")); 1304 autoFreeBusyReplyGroup->addRadio(i18n("Never"));
1295 autoFreeBusyReplyGroup->addRadio(i18n("If attendee is in addressbook")); 1305 autoFreeBusyReplyGroup->addRadio(i18n("If attendee is in addressbook"));
1296 //autoFreeBusyGroup->addRadio(i18n("selected emails")); 1306 //autoFreeBusyGroup->addRadio(i18n("selected emails"));
1297 topLayout->addMultiCellWidget(autoFreeBusyReplyGroup->groupBox(),4,4,0,0); 1307 topLayout->addMultiCellWidget(autoFreeBusyReplyGroup->groupBox(),4,4,0,0);
1298} 1308}
1299 1309
1300void KOPrefsDialog::showPrinterTab() 1310void KOPrefsDialog::showPrinterTab()
1301{ 1311{
1302 showPage(pageIndex(mPrinterTab)); 1312 showPage(pageIndex(mPrinterTab));
1303} 1313}
1304 1314
1305 1315
1306void KOPrefsDialog::setCombo(QComboBox *combo, const QString & text, 1316void KOPrefsDialog::setCombo(QComboBox *combo, const QString & text,
1307 const QStringList *tags) 1317 const QStringList *tags)
1308{ 1318{
1309 if (tags) { 1319 if (tags) {
1310 int i = tags->findIndex(text); 1320 int i = tags->findIndex(text);
1311 if (i > 0) combo->setCurrentItem(i); 1321 if (i > 0) combo->setCurrentItem(i);
1312 } else { 1322 } else {
1313 for(int i=0;i<combo->count();++i) { 1323 for(int i=0;i<combo->count();++i) {
1314 if (combo->text(i) == text) { 1324 if (combo->text(i) == text) {
1315 combo->setCurrentItem(i); 1325 combo->setCurrentItem(i);
1316 break; 1326 break;
1317 } 1327 }
1318 } 1328 }
1319 } 1329 }
1320} 1330}
1321 1331
1322void KOPrefsDialog::usrReadConfig() 1332void KOPrefsDialog::usrReadConfig()
1323{ 1333{
1334 kdelibcfg->readConfig();
1324 mNameEdit->setText(KOPrefs::instance()->fullName()); 1335 mNameEdit->setText(KOPrefs::instance()->fullName());
1325 mEmailEdit->setText(KOPrefs::instance()->email()); 1336 mEmailEdit->setText(KOPrefs::instance()->email());
1326 1337
1327 mAutoSaveIntervalSpin->setValue(KOPrefs::instance()->mAutoSaveInterval); 1338 mAutoSaveIntervalSpin->setValue(KOPrefs::instance()->mAutoSaveInterval);
1328 QDate current ( 2001, 1,1); 1339 QDate current ( 2001, 1,1);
1329 mStartDateSavingEdit->setDate(current.addDays(KOPrefs::instance()->mDaylightsavingStart-1)); 1340 mStartDateSavingEdit->setDate(current.addDays(KOPrefs::instance()->mDaylightsavingStart-1));
1330 mEndDateSavingEdit->setDate(current.addDays(KOPrefs::instance()->mDaylightsavingEnd-1)); 1341 mEndDateSavingEdit->setDate(current.addDays(KOPrefs::instance()->mDaylightsavingEnd-1));
1331 setCombo(mTimeZoneCombo,i18n(KOPrefs::instance()->mTimeZoneId)); 1342 setCombo(mTimeZoneCombo,i18n(KOPrefs::instance()->mTimeZoneId));
1332 //mTimezoneOffsetSpin->setValue( KOPrefs::instance()->mTimeZoneOffset); 1343 //mTimezoneOffsetSpin->setValue( KOPrefs::instance()->mTimeZoneOffset);
1333 mStartTimeSpin->setValue(KOPrefs::instance()->mStartTime); 1344 mStartTimeSpin->setValue(KOPrefs::instance()->mStartTime);
1334 mDefaultDurationSpin->setValue(KOPrefs::instance()->mDefaultDuration); 1345 mDefaultDurationSpin->setValue(KOPrefs::instance()->mDefaultDuration);
1335 mAlarmTimeCombo->setCurrentItem(KOPrefs::instance()->mAlarmTime); 1346 mAlarmTimeCombo->setCurrentItem(KOPrefs::instance()->mAlarmTime);
1336 // if (KOPrefs::instance()->mAllDaySize > 47 ) 1347 // if (KOPrefs::instance()->mAllDaySize > 47 )
1337 // KOPrefs::instance()->mAllDaySize = KOPrefs::instance()->mAllDaySize/2; 1348 // KOPrefs::instance()->mAllDaySize = KOPrefs::instance()->mAllDaySize/2;
1338 //mHourSizeSlider->setValue(KOPrefs::instance()->mAllDaySize); 1349 //mHourSizeSlider->setValue(KOPrefs::instance()->mAllDaySize);
1339 1350
1340 mNextXDaysSpin->setValue(KOPrefs::instance()->mNextXDays); 1351 mNextXDaysSpin->setValue(KOPrefs::instance()->mNextXDays);
1341 mWhatsNextSpin->setValue(KOPrefs::instance()->mWhatsNextDays); 1352 mWhatsNextSpin->setValue(KOPrefs::instance()->mWhatsNextDays);
1342 mPrioSpin->setValue(KOPrefs::instance()->mWhatsNextPrios); 1353 mPrioSpin->setValue(KOPrefs::instance()->mWhatsNextPrios);
1343 // mAMails->clear(); 1354 // mAMails->clear();
1344 // for ( QStringList::Iterator it = KOPrefs::instance()->mAdditionalMails.begin(); 1355 // for ( QStringList::Iterator it = KOPrefs::instance()->mAdditionalMails.begin();
1345// it != KOPrefs::instance()->mAdditionalMails.end(); ++it ) { 1356// it != KOPrefs::instance()->mAdditionalMails.end(); ++it ) {
1346// QListViewItem *item = new QListViewItem(mAMails); 1357// QListViewItem *item = new QListViewItem(mAMails);
1347// item->setText(0,*it); 1358// item->setText(0,*it);
1348// mAMails->insertItem(item); 1359// mAMails->insertItem(item);
1349// } 1360// }
1350 1361
1351 // mRemoteIPEdit->setText(KOPrefs::instance()->mRemoteIP); 1362 // mRemoteIPEdit->setText(KOPrefs::instance()->mRemoteIP);
1352 //mRemoteUser->setText(KOPrefs::instance()->mRemoteUser); 1363 //mRemoteUser->setText(KOPrefs::instance()->mRemoteUser);
1353 //mRemotePassWd->setText(KOPrefs::instance()->mRemotePassWd); 1364 //mRemotePassWd->setText(KOPrefs::instance()->mRemotePassWd);
1354 //mRemoteFile->setText(KOPrefs::instance()->mRemoteFile); 1365 //mRemoteFile->setText(KOPrefs::instance()->mRemoteFile);
1355 1366
1356 //that soundmLocalTempFile->setText(KOPrefs::instance()->mLocalTempFile); 1367 //that soundmLocalTempFile->setText(KOPrefs::instance()->mLocalTempFile);
1357 mDefaultAlarmFile->setText(KOPrefs::instance()->mDefaultAlarmFile); 1368 mDefaultAlarmFile->setText(KOPrefs::instance()->mDefaultAlarmFile);
1358 QString dummy = KOPrefs::instance()->mUserDateFormatLong; 1369 QString dummy = KOPrefs::instance()->mUserDateFormatLong;
1359 mUserDateFormatLong->setText(dummy.replace( QRegExp("K"), QString(",") )); 1370 mUserDateFormatLong->setText(dummy.replace( QRegExp("K"), QString(",") ));
1360 dummy = KOPrefs::instance()->mUserDateFormatShort; 1371 dummy = KOPrefs::instance()->mUserDateFormatShort;
1361 mUserDateFormatShort->setText(dummy.replace( QRegExp("K"), QString(",") )); 1372 mUserDateFormatShort->setText(dummy.replace( QRegExp("K"), QString(",") ));
1362 updateCategories(); 1373 updateCategories();
1363 mAlarmPlayBeeps->setValue(KOPrefs::instance()->mAlarmPlayBeeps ); 1374 mAlarmPlayBeeps->setValue(KOPrefs::instance()->mAlarmPlayBeeps );
1364 mAlarmSuspendTime->setValue(KOPrefs::instance()->mAlarmSuspendTime ); 1375 mAlarmSuspendTime->setValue(KOPrefs::instance()->mAlarmSuspendTime );
1365 mAlarmSuspendCount->setValue(KOPrefs::instance()->mAlarmSuspendCount ); 1376 mAlarmSuspendCount->setValue(KOPrefs::instance()->mAlarmSuspendCount );
1366 mAlarmBeepInterval->setValue(KOPrefs::instance()->mAlarmBeepInterval ); 1377 mAlarmBeepInterval->setValue(KOPrefs::instance()->mAlarmBeepInterval );
1367} 1378}
1368 1379
1369 1380
1370void KOPrefsDialog::usrWriteConfig() 1381void KOPrefsDialog::usrWriteConfig()
1371{ 1382{
1372 1383
1384 kdelibcfg->writeConfig();
1373 // KOPrefs::instance()->mRemoteIP = mRemoteIPEdit->text(); 1385 // KOPrefs::instance()->mRemoteIP = mRemoteIPEdit->text();
1374 //KOPrefs::instance()->mRemoteUser = mRemoteUser->text(); 1386 //KOPrefs::instance()->mRemoteUser = mRemoteUser->text();
1375 //KOPrefs::instance()->mRemotePassWd = mRemotePassWd->text(); 1387 //KOPrefs::instance()->mRemotePassWd = mRemotePassWd->text();
1376 //KOPrefs::instance()->mRemoteFile= mRemoteFile->text(); 1388 //KOPrefs::instance()->mRemoteFile= mRemoteFile->text();
1377 //KOPrefs::instance()->mLocalTempFile =mLocalTempFile->text(); 1389 //KOPrefs::instance()->mLocalTempFile =mLocalTempFile->text();
1378 KOPrefs::instance()->mDefaultAlarmFile =mDefaultAlarmFile->text(); 1390 KOPrefs::instance()->mDefaultAlarmFile =mDefaultAlarmFile->text();
1379 1391
1380 KOPrefs::instance()->mUserDateFormatShort = mUserDateFormatShort->text().replace( QRegExp(","), QString("K") ); 1392 KOPrefs::instance()->mUserDateFormatShort = mUserDateFormatShort->text().replace( QRegExp(","), QString("K") );
1381 KOPrefs::instance()->mUserDateFormatLong = mUserDateFormatLong->text().replace( QRegExp(","), QString("K") ); 1393 KOPrefs::instance()->mUserDateFormatLong = mUserDateFormatLong->text().replace( QRegExp(","), QString("K") );
1382 KOPrefs::instance()->setFullName(mNameEdit->text()); 1394 KOPrefs::instance()->setFullName(mNameEdit->text());
1383 KOPrefs::instance()->setEmail(mEmailEdit->text()); 1395 KOPrefs::instance()->setEmail(mEmailEdit->text());
1384 1396
1385 KOPrefs::instance()->mAutoSaveInterval = mAutoSaveIntervalSpin->value(); 1397 KOPrefs::instance()->mAutoSaveInterval = mAutoSaveIntervalSpin->value();
1386 1398
1387 KOPrefs::instance()->mTimeZoneId = mTimeZoneCombo->currentText(); 1399 KOPrefs::instance()->mTimeZoneId = mTimeZoneCombo->currentText();
1388 QDate date; 1400 QDate date;
1389 date = mStartDateSavingEdit->date(); 1401 date = mStartDateSavingEdit->date();
1390 int sub = 0; 1402 int sub = 0;
1391 if ( QDate::leapYear( date.year() ) && date.dayOfYear() > 59 ) 1403 if ( QDate::leapYear( date.year() ) && date.dayOfYear() > 59 )
1392 sub = 1; 1404 sub = 1;
1393 KOPrefs::instance()->mDaylightsavingStart = date.dayOfYear()-sub; 1405 KOPrefs::instance()->mDaylightsavingStart = date.dayOfYear()-sub;
1394 date = mEndDateSavingEdit->date(); 1406 date = mEndDateSavingEdit->date();
1395 if ( QDate::leapYear( date.year() ) && date.dayOfYear() > 59 ) 1407 if ( QDate::leapYear( date.year() ) && date.dayOfYear() > 59 )
1396 sub = 1; 1408 sub = 1;
1397 else 1409 else
1398 sub = 0; 1410 sub = 0;
1399 KOPrefs::instance()->mDaylightsavingEnd = date.dayOfYear()-sub; 1411 KOPrefs::instance()->mDaylightsavingEnd = date.dayOfYear()-sub;
1400 // KOPrefs::instance()->mTimeZoneOffset = mTimezoneOffsetSpin->value(); 1412 // KOPrefs::instance()->mTimeZoneOffset = mTimezoneOffsetSpin->value();
1401 1413
1402 KOPrefs::instance()->mStartTime = mStartTimeSpin->value(); 1414 KOPrefs::instance()->mStartTime = mStartTimeSpin->value();
1403 KOPrefs::instance()->mDefaultDuration = mDefaultDurationSpin->value(); 1415 KOPrefs::instance()->mDefaultDuration = mDefaultDurationSpin->value();
1404 KOPrefs::instance()->mAlarmTime = mAlarmTimeCombo->currentItem(); 1416 KOPrefs::instance()->mAlarmTime = mAlarmTimeCombo->currentItem();
1405 1417
1406 //KOPrefs::instance()->mAllDaySize = mHourSizeSlider->value(); 1418 //KOPrefs::instance()->mAllDaySize = mHourSizeSlider->value();
1407 1419
1408 QDictIterator<QColor> it(mCategoryDict); 1420 QDictIterator<QColor> it(mCategoryDict);
1409 while (it.current()) { 1421 while (it.current()) {
1410 KOPrefs::instance()->setCategoryColor(it.currentKey(),*it.current()); 1422 KOPrefs::instance()->setCategoryColor(it.currentKey(),*it.current());
1411 ++it; 1423 ++it;
1412 } 1424 }
1413 1425
1414 KOPrefs::instance()->mNextXDays = mNextXDaysSpin->value(); 1426 KOPrefs::instance()->mNextXDays = mNextXDaysSpin->value();
1415 KOPrefs::instance()->mWhatsNextDays = mWhatsNextSpin->value(); 1427 KOPrefs::instance()->mWhatsNextDays = mWhatsNextSpin->value();
1416 KOPrefs::instance()->mWhatsNextPrios = mPrioSpin->value(); 1428 KOPrefs::instance()->mWhatsNextPrios = mPrioSpin->value();
1417 1429
1418 KOPrefs::instance()->mAdditionalMails.clear(); 1430 KOPrefs::instance()->mAdditionalMails.clear();
1419 // QListViewItem *item; 1431 // QListViewItem *item;
1420 // item = mAMails->firstChild(); 1432 // item = mAMails->firstChild();
diff --git a/korganizer/koprefsdialog.h b/korganizer/koprefsdialog.h
index 83dc1eb..e20969a 100644
--- a/korganizer/koprefsdialog.h
+++ b/korganizer/koprefsdialog.h
@@ -1,149 +1,152 @@
1/* 1/*
2 This file is part of KOrganizer. 2 This file is part of KOrganizer.
3 Copyright (c) 2000,2001 Cornelius Schumacher <schumacher@kde.org> 3 Copyright (c) 2000,2001 Cornelius Schumacher <schumacher@kde.org>
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#ifndef _KOPREFSDIALOG_H 23#ifndef _KOPREFSDIALOG_H
24#define _KOPREFSDIALOG_H 24#define _KOPREFSDIALOG_H
25 25
26#include <qframe.h> 26#include <qframe.h>
27#include <qdict.h> 27#include <qdict.h>
28#include <qcolor.h> 28#include <qcolor.h>
29#include <qlistview.h> 29#include <qlistview.h>
30 30
31#include <kdialogbase.h> 31#include <kdialogbase.h>
32 32
33#include <libkdepim/kprefsdialog.h> 33#include <libkdepim/kprefsdialog.h>
34#include <libkdepim/kdateedit.h> 34#include <libkdepim/kdateedit.h>
35#include <kcmconfigs/kdepimconfigwidget.h>
35 36
36class KColorButton; 37class KColorButton;
37class QSpinBox; 38class QSpinBox;
38class QSlider; 39class QSlider;
39class KURLRequester; 40class KURLRequester;
40class QComboBox; 41class QComboBox;
41class QLineEdit; 42class QLineEdit;
42class QStringList; 43class QStringList;
43 44
44/** Dialog to change the korganizer configuration. 45/** Dialog to change the korganizer configuration.
45 */ 46 */
46class KOPrefsDialog : public KPrefsDialog 47class KOPrefsDialog : public KPrefsDialog
47{ 48{
48 Q_OBJECT 49 Q_OBJECT
49 public: 50 public:
50 /** Initialize dialog and pages */ 51 /** Initialize dialog and pages */
51 KOPrefsDialog(QWidget *parent=0,char *name=0,bool modal=false); 52 KOPrefsDialog(QWidget *parent=0,char *name=0,bool modal=false);
52 ~KOPrefsDialog(); 53 ~KOPrefsDialog();
53 54
54 public slots: 55 public slots:
55 void showPrinterTab(); 56 void showPrinterTab();
56 57
57 /** Update controls for categories */ 58 /** Update controls for categories */
58 void updateCategories(); 59 void updateCategories();
59 void showSyncPage(); 60 void showSyncPage();
60 protected slots: 61 protected slots:
61 void selectSoundFile(); 62 void selectSoundFile();
62 void setCategoryColor(); 63 void setCategoryColor();
63 void updateCategoryColor(); 64 void updateCategoryColor();
64 void updateTimezoneOffset( int ); 65 void updateTimezoneOffset( int );
65 66
66 67
67 void warningExperimental(bool on); 68 void warningExperimental(bool on);
68 void warningGroupScheduling(); 69 void warningGroupScheduling();
69 void warningProjectView(); 70 void warningProjectView();
70 71
71 void toggleEmailSettings(bool); 72 void toggleEmailSettings(bool);
72 73
73 //additional emails 74 //additional emails
74 void addItem(); 75 void addItem();
75 void removeItem(); 76 void removeItem();
76 void updateItem(); 77 void updateItem();
77 void updateInput(); 78 void updateInput();
78 79
79 protected: 80 protected:
80 void usrReadConfig(); 81 void usrReadConfig();
81 void usrWriteConfig(); 82 void usrWriteConfig();
83 void setupGlobalTab();
82 84
83 void setupMainTab(); 85 void setupMainTab();
84 void setupTimeTab(); 86 void setupTimeTab();
85 void setupTimeZoneTab(); 87 void setupTimeZoneTab();
86 void setupLocaleTab(); 88 void setupLocaleTab();
87 void setupLocaleDateTab(); 89 void setupLocaleDateTab();
88 void setupFontsTab(); 90 void setupFontsTab();
89 void setupColorsTab(); 91 void setupColorsTab();
90 void setupViewsTab(); 92 void setupViewsTab();
91 void setupDisplayTab(); 93 void setupDisplayTab();
92 void setupPrinterTab(); 94 void setupPrinterTab();
93 void setupGroupSchedulingTab(); 95 void setupGroupSchedulingTab();
94 void setupGroupAutomationTab(); 96 void setupGroupAutomationTab();
95 void setupSyncTab(); 97 void setupSyncTab();
96 void setupSyncAlgTab(); 98 void setupSyncAlgTab();
97 99
98 void setCombo(QComboBox *combo,const QString & text, const QStringList *tags = 0); 100 void setCombo(QComboBox *combo,const QString & text, const QStringList *tags = 0);
99 101
100 102
101 private: 103 private:
104 KDEPIMConfigWidget* kdelibcfg;
102 KPrefsDialogWidBool *mEnableGroupScheduling; 105 KPrefsDialogWidBool *mEnableGroupScheduling;
103 KPrefsDialogWidBool *mEnableProjectView; 106 KPrefsDialogWidBool *mEnableProjectView;
104 107
105 QFrame *mPrinterTab; 108 QFrame *mPrinterTab;
106 109
107 QLineEdit *nameEdit; 110 QLineEdit *nameEdit;
108 QLineEdit *emailEdit; 111 QLineEdit *emailEdit;
109 112
110 QComboBox *timeCombo; 113 QComboBox *timeCombo;
111 QComboBox *tzCombo; 114 QComboBox *tzCombo;
112 115
113 // widgets holding preferences data 116 // widgets holding preferences data
114 QLineEdit *mNameEdit; 117 QLineEdit *mNameEdit;
115 QLineEdit *mEmailEdit; 118 QLineEdit *mEmailEdit;
116 QLabel *mNameLabel; 119 QLabel *mNameLabel;
117 QLabel *mEmailLabel; 120 QLabel *mEmailLabel;
118 QLineEdit *mAdditionalEdit; 121 QLineEdit *mAdditionalEdit;
119 QSpinBox *mAutoSaveIntervalSpin; 122 QSpinBox *mAutoSaveIntervalSpin;
120 QSpinBox *mPrioSpin; 123 QSpinBox *mPrioSpin;
121 // QListView *mAMails; 124 // QListView *mAMails;
122 QLineEdit *aEmailsEdit; 125 QLineEdit *aEmailsEdit;
123 126
124 QComboBox *mTimeZoneCombo; 127 QComboBox *mTimeZoneCombo;
125 QStringList tzonenames; 128 QStringList tzonenames;
126 QSpinBox *mStartTimeSpin; 129 QSpinBox *mStartTimeSpin;
127 QSpinBox *mDefaultDurationSpin; 130 QSpinBox *mDefaultDurationSpin;
128 QComboBox *mAlarmTimeCombo; 131 QComboBox *mAlarmTimeCombo;
129 132
130 QComboBox *mCategoryCombo; 133 QComboBox *mCategoryCombo;
131 KColorButton *mCategoryButton; 134 KColorButton *mCategoryButton;
132 QDict<QColor> mCategoryDict; 135 QDict<QColor> mCategoryDict;
133 136
134 QSlider *mHourSizeSlider; 137 QSlider *mHourSizeSlider;
135 138
136 QSpinBox *mNextXDaysSpin; 139 QSpinBox *mNextXDaysSpin;
137 QSpinBox *mWhatsNextSpin; 140 QSpinBox *mWhatsNextSpin;
138 141
139 QLineEdit * mRemoteIPEdit; 142 QLineEdit * mRemoteIPEdit;
140 QLineEdit * mRemoteUser; 143 QLineEdit * mRemoteUser;
141 QLineEdit * mRemotePassWd; 144 QLineEdit * mRemotePassWd;
142 QLineEdit * mRemoteFile; 145 QLineEdit * mRemoteFile;
143 QLineEdit * mLocalTempFile; 146 QLineEdit * mLocalTempFile;
144 QWidget* mSetupSyncAlgTab; 147 QWidget* mSetupSyncAlgTab;
145 QLineEdit * mUserDateFormatLong; 148 QLineEdit * mUserDateFormatLong;
146 QLineEdit * mUserDateFormatShort; 149 QLineEdit * mUserDateFormatShort;
147 150
148 QSpinBox *mTimezoneOffsetSpin; 151 QSpinBox *mTimezoneOffsetSpin;
149 QSpinBox *mDaylightsavingStart; 152 QSpinBox *mDaylightsavingStart;