-rw-r--r-- | libkdepim/kcmconfigs/kcmkdepimconfig.cpp | 17 | ||||
-rw-r--r-- | libkdepim/kcmconfigs/kcmkdepimconfig.h | 2 | ||||
-rw-r--r-- | libkdepim/kcmconfigs/kdepimconfigwidget.cpp | 313 | ||||
-rw-r--r-- | libkdepim/kcmconfigs/kdepimconfigwidget.h | 45 |
4 files changed, 277 insertions, 100 deletions
diff --git a/libkdepim/kcmconfigs/kcmkdepimconfig.cpp b/libkdepim/kcmconfigs/kcmkdepimconfig.cpp index f26efe0..e77c5ab 100644 --- a/libkdepim/kcmconfigs/kcmkdepimconfig.cpp +++ b/libkdepim/kcmconfigs/kcmkdepimconfig.cpp | |||
@@ -39,41 +39,42 @@ $Id$ | |||
39 | 39 | ||
40 | #include "kcmkdepimconfig.h" | 40 | #include "kcmkdepimconfig.h" |
41 | #include "kprefs.h" | 41 | #include "kprefs.h" |
42 | #include "kpimglobalprefs.h" | 42 | #include "kpimglobalprefs.h" |
43 | 43 | ||
44 | #ifndef _WIN32_ | 44 | #ifndef _WIN32_ |
45 | extern "C" | 45 | extern "C" |
46 | { | 46 | { |
47 | KCModule *create_kabconfig( KPimGlobalPrefs* prefs, QWidget *parent, const char * ) { | 47 | KCModule *create_kabconfig(QWidget *parent, const char * ) { |
48 | return new KCMKdePimConfig( prefs, parent, "kcmkdepimconfig" ); | 48 | return new KCMKdePimConfig(parent, "kcmkdepimconfig" ); |
49 | } | 49 | } |
50 | } | 50 | } |
51 | #endif | 51 | #endif |
52 | 52 | ||
53 | KCMKdePimConfig::KCMKdePimConfig( KPimGlobalPrefs* prefs, QWidget *parent, const char *name ) | 53 | KCMKdePimConfig::KCMKdePimConfig(QWidget *parent, const char *name ) |
54 | : KCModule( prefs, parent, name ) | 54 | : KCModule( KPimGlobalPrefs::instance(), parent, name ) |
55 | { | 55 | { |
56 | //abort(); | 56 | //abort(); |
57 | QVBoxLayout *layout = new QVBoxLayout( this ); | 57 | QVBoxLayout *layout = new QVBoxLayout( this ); |
58 | mConfigWidget = new KDEPIMConfigWidget( this, "mConfigWidget" ); | 58 | mConfigWidget = new KDEPIMConfigWidget( (KPimGlobalPrefs*)getPreferences(), this, "KDEPIMConfigWidget" ); |
59 | layout->addWidget( mConfigWidget ); | 59 | layout->addWidget( mConfigWidget ); |
60 | layout->setSpacing( 0 ); | 60 | layout->setSpacing( 0 ); |
61 | layout->setMargin( 0 ); | 61 | layout->setMargin( 0 ); |
62 | 62 | ||
63 | connect( mConfigWidget, SIGNAL( changed( bool ) ), SIGNAL( changed( bool ) ) ); | 63 | connect( mConfigWidget, SIGNAL( changed( bool ) ), SIGNAL( changed( bool ) ) ); |
64 | } | 64 | } |
65 | 65 | ||
66 | void KCMKdePimConfig::load() | 66 | void KCMKdePimConfig::load() |
67 | { | 67 | { |
68 | mConfigWidget->restoreSettings((KPimGlobalPrefs*)getPreferences()); | 68 | mConfigWidget->readConfig(); |
69 | } | 69 | } |
70 | 70 | ||
71 | void KCMKdePimConfig::save() | 71 | void KCMKdePimConfig::save() |
72 | { | 72 | { |
73 | mConfigWidget->saveSettings((KPimGlobalPrefs*)getPreferences()); | 73 | mConfigWidget->writeConfig(); |
74 | } | 74 | } |
75 | 75 | ||
76 | void KCMKdePimConfig::defaults() | 76 | void KCMKdePimConfig::defaults() |
77 | { | 77 | { |
78 | mConfigWidget->defaults((KPimGlobalPrefs*)getPreferences()); | 78 | qDebug("KCMKdePimConfig::defaults()"); |
79 | mConfigWidget->setDefaults(); | ||
79 | } | 80 | } |
diff --git a/libkdepim/kcmconfigs/kcmkdepimconfig.h b/libkdepim/kcmconfigs/kcmkdepimconfig.h index fa96eda..b471e53 100644 --- a/libkdepim/kcmconfigs/kcmkdepimconfig.h +++ b/libkdepim/kcmconfigs/kcmkdepimconfig.h | |||
@@ -36,17 +36,17 @@ $Id$ | |||
36 | class KDEPIMConfigWidget; | 36 | class KDEPIMConfigWidget; |
37 | class KPimGlobalPrefs; | 37 | class KPimGlobalPrefs; |
38 | 38 | ||
39 | class KCMKdePimConfig : public KCModule | 39 | class KCMKdePimConfig : public KCModule |
40 | { | 40 | { |
41 | Q_OBJECT | 41 | Q_OBJECT |
42 | 42 | ||
43 | public: | 43 | public: |
44 | KCMKdePimConfig( KPimGlobalPrefs* prefs, QWidget *parent = 0, const char *name = 0 ); | 44 | KCMKdePimConfig( QWidget *parent = 0, const char *name = 0 ); |
45 | 45 | ||
46 | virtual void load(); | 46 | virtual void load(); |
47 | virtual void save(); | 47 | virtual void save(); |
48 | virtual void defaults(); | 48 | virtual void defaults(); |
49 | 49 | ||
50 | private: | 50 | private: |
51 | KDEPIMConfigWidget *mConfigWidget; | 51 | KDEPIMConfigWidget *mConfigWidget; |
52 | }; | 52 | }; |
diff --git a/libkdepim/kcmconfigs/kdepimconfigwidget.cpp b/libkdepim/kcmconfigs/kdepimconfigwidget.cpp index 703aeb1..00a07d9 100644 --- a/libkdepim/kcmconfigs/kdepimconfigwidget.cpp +++ b/libkdepim/kcmconfigs/kdepimconfigwidget.cpp | |||
@@ -29,21 +29,23 @@ $Id$ | |||
29 | */ | 29 | */ |
30 | 30 | ||
31 | #include <qlayout.h> | 31 | #include <qlayout.h> |
32 | #include <qtabwidget.h> | 32 | #include <qtabwidget.h> |
33 | #include <qcombobox.h> | 33 | #include <qcombobox.h> |
34 | #include <qgroupbox.h> | 34 | #include <qgroupbox.h> |
35 | #include <qlabel.h> | 35 | #include <qlabel.h> |
36 | #include <qlineedit.h> | 36 | #include <qlineedit.h> |
37 | #include <qbuttongroup.h> | ||
37 | #include <qfile.h> | 38 | #include <qfile.h> |
38 | 39 | ||
39 | #include <kdialog.h> | 40 | #include <kdialog.h> |
40 | #include <klocale.h> | 41 | #include <klocale.h> |
41 | 42 | #include <kdateedit.h> | |
43 | #include <kglobal.h> | ||
42 | #include <stdlib.h> | 44 | #include <stdlib.h> |
43 | 45 | ||
44 | /*US | 46 | /*US |
45 | #include <qcheckbox.h> | 47 | #include <qcheckbox.h> |
46 | #include <qframe.h> | 48 | #include <qframe.h> |
47 | #include <qpushbutton.h> | 49 | #include <qpushbutton.h> |
48 | #include <qcombobox.h> | 50 | #include <qcombobox.h> |
49 | #include <qlineedit.h> | 51 | #include <qlineedit.h> |
@@ -66,59 +68,66 @@ $Id$ | |||
66 | #include <distributionlistwidget.h> | 68 | #include <distributionlistwidget.h> |
67 | #endif // KAB_EMBEDDED | 69 | #endif // KAB_EMBEDDED |
68 | 70 | ||
69 | #include "addresseewidget.h" | 71 | #include "addresseewidget.h" |
70 | #include "extensionconfigdialog.h" | 72 | #include "extensionconfigdialog.h" |
71 | #include "extensionwidget.h" | 73 | #include "extensionwidget.h" |
72 | */ | 74 | */ |
73 | 75 | ||
76 | #include "qapplication.h" | ||
77 | |||
74 | #include "kpimglobalprefs.h" | 78 | #include "kpimglobalprefs.h" |
75 | 79 | ||
76 | #include "kdepimconfigwidget.h" | 80 | #include "kdepimconfigwidget.h" |
77 | 81 | ||
78 | 82 | ||
79 | KDEPIMConfigWidget::KDEPIMConfigWidget( QWidget *parent, const char *name ) | 83 | KDEPIMConfigWidget::KDEPIMConfigWidget(KPimGlobalPrefs *prefs, QWidget *parent, const char *name ) |
80 | : QWidget( parent, name ) | 84 | : KPrefsWidget(prefs, parent, name ) |
81 | { | 85 | { |
82 | mExternalAppsMap.insert(ExternalAppHandler::EMAIL, i18n("Email")); | 86 | mExternalAppsMap.insert(ExternalAppHandler::EMAIL, i18n("Email")); |
83 | mExternalAppsMap.insert(ExternalAppHandler::PHONE, i18n("Phone")); | 87 | mExternalAppsMap.insert(ExternalAppHandler::PHONE, i18n("Phone")); |
84 | mExternalAppsMap.insert(ExternalAppHandler::SMS, i18n("SMS")); | 88 | mExternalAppsMap.insert(ExternalAppHandler::SMS, i18n("SMS")); |
85 | mExternalAppsMap.insert(ExternalAppHandler::FAX, i18n("Fax")); | 89 | mExternalAppsMap.insert(ExternalAppHandler::FAX, i18n("Fax")); |
86 | mExternalAppsMap.insert(ExternalAppHandler::PAGER, i18n("Pager")); | 90 | mExternalAppsMap.insert(ExternalAppHandler::PAGER, i18n("Pager")); |
87 | mExternalAppsMap.insert(ExternalAppHandler::SIP, i18n("SIP")); | 91 | mExternalAppsMap.insert(ExternalAppHandler::SIP, i18n("SIP")); |
88 | 92 | ||
89 | 93 | ||
90 | QVBoxLayout *topLayout = new QVBoxLayout( this, 0, | 94 | QVBoxLayout *topLayout = new QVBoxLayout( this, 0, |
91 | KDialog::spacingHint() ); | 95 | KDialog::spacingHint() ); |
92 | 96 | ||
93 | QTabWidget *tabWidget = new QTabWidget( this ); | 97 | tabWidget = new QTabWidget( this ); |
94 | topLayout->addWidget( tabWidget ); | 98 | topLayout->addWidget( tabWidget ); |
95 | 99 | ||
96 | 100 | ||
101 | setupLocaleTab(); | ||
102 | setupLocaleDateTab(); | ||
103 | setupTimeZoneTab(); | ||
104 | setupExternalAppTab(); | ||
105 | |||
106 | } | ||
97 | 107 | ||
98 | // mailclient page | 108 | void KDEPIMConfigWidget::setupExternalAppTab() |
109 | { | ||
99 | QWidget *externalAppsPage = new QWidget( this ); | 110 | QWidget *externalAppsPage = new QWidget( this ); |
100 | QVBoxLayout* layout = new QVBoxLayout( externalAppsPage, KDialog::marginHintSmall(), | 111 | QVBoxLayout* layout = new QVBoxLayout( externalAppsPage, KDialog::marginHintSmall(), |
101 | KDialog::spacingHintSmall() ); | 112 | KDialog::spacingHintSmall() ); |
102 | 113 | ||
103 | mExternalApps = new QComboBox( externalAppsPage ); | 114 | mExternalApps = new QComboBox( externalAppsPage ); |
104 | 115 | ||
105 | QMap<ExternalAppHandler::Types, QString>::Iterator it; | 116 | QMap<ExternalAppHandler::Types, QString>::Iterator it; |
106 | for( it = mExternalAppsMap.begin(); it != mExternalAppsMap.end(); ++it ) | 117 | for( it = mExternalAppsMap.begin(); it != mExternalAppsMap.end(); ++it ) |
107 | mExternalApps->insertItem( it.data(), it.key() ); | 118 | mExternalApps->insertItem( it.data(), it.key() ); |
108 | 119 | ||
109 | layout->addWidget( mExternalApps ); | 120 | layout->addWidget( mExternalApps ); |
110 | 121 | ||
111 | connect( mExternalApps, SIGNAL( activated( int ) ), | 122 | connect( mExternalApps, SIGNAL( activated( int ) ), |
112 | this, SLOT (externalapp_changed( int ) ) ); | 123 | this, SLOT (externalapp_changed( int ) ) ); |
113 | 124 | ||
114 | 125 | ||
115 | |||
116 | |||
117 | mExternalAppGroupBox = new QGroupBox( 0, Qt::Vertical, i18n( "Used Mail Client" ), externalAppsPage ); | 126 | mExternalAppGroupBox = new QGroupBox( 0, Qt::Vertical, i18n( "Used Mail Client" ), externalAppsPage ); |
118 | QGridLayout *boxLayout = new QGridLayout( mExternalAppGroupBox->layout(), 4, 2, -1, "gridlayout" ); | 127 | QGridLayout *boxLayout = new QGridLayout( mExternalAppGroupBox->layout(), 4, 2, -1, "gridlayout" ); |
119 | 128 | ||
120 | 129 | ||
121 | mClient = new QComboBox( mExternalAppGroupBox ); | 130 | mClient = new QComboBox( mExternalAppGroupBox ); |
122 | boxLayout->addMultiCellWidget( mClient, 0, 0, 0, 1 ); | 131 | boxLayout->addMultiCellWidget( mClient, 0, 0, 0, 1 ); |
123 | 132 | ||
124 | connect( mClient, SIGNAL( activated( int ) ), | 133 | connect( mClient, SIGNAL( activated( int ) ), |
@@ -163,22 +172,192 @@ KDEPIMConfigWidget::KDEPIMConfigWidget( QWidget *parent, const char *name ) | |||
163 | 172 | ||
164 | connect( mChannel, SIGNAL( textChanged ( const QString & )), this, SLOT( textChanged ( const QString & )) ); | 173 | connect( mChannel, SIGNAL( textChanged ( const QString & )), this, SLOT( textChanged ( const QString & )) ); |
165 | connect( mMessage, SIGNAL( textChanged ( const QString & )), this, SLOT( textChanged ( const QString & )) ); | 174 | connect( mMessage, SIGNAL( textChanged ( const QString & )), this, SLOT( textChanged ( const QString & )) ); |
166 | connect( mParameters, SIGNAL( textChanged ( const QString & )), this, SLOT( textChanged ( const QString & )) ); | 175 | connect( mParameters, SIGNAL( textChanged ( const QString & )), this, SLOT( textChanged ( const QString & )) ); |
167 | connect( mMessage2, SIGNAL( textChanged ( const QString & )), this, SLOT( textChanged ( const QString & )) ); | 176 | connect( mMessage2, SIGNAL( textChanged ( const QString & )), this, SLOT( textChanged ( const QString & )) ); |
168 | connect( mParameters2, SIGNAL( textChanged ( const QString & )), this, SLOT( textChanged ( const QString & )) ); | 177 | connect( mParameters2, SIGNAL( textChanged ( const QString & )), this, SLOT( textChanged ( const QString & )) ); |
169 | 178 | ||
170 | 179 | ||
171 | |||
172 | layout->addWidget( mExternalAppGroupBox ); | 180 | layout->addWidget( mExternalAppGroupBox ); |
173 | tabWidget->addTab( externalAppsPage, i18n( "External Apps." ) ); | 181 | tabWidget->addTab( externalAppsPage, i18n( "External Apps." ) ); |
174 | 182 | ||
175 | } | 183 | } |
176 | 184 | ||
185 | |||
186 | void KDEPIMConfigWidget::setupLocaleDateTab() | ||
187 | { | ||
188 | QWidget *topFrame = new QWidget( this ); | ||
189 | QGridLayout *topLayout = new QGridLayout( topFrame, 3, 2); | ||
190 | |||
191 | topLayout->setSpacing(KDialog::spacingHint()); | ||
192 | topLayout->setMargin(KDialog::marginHint()); | ||
193 | int iii = 0; | ||
194 | |||
195 | |||
196 | KPrefsWidRadios *syncPrefsGroup = | ||
197 | addWidRadios(i18n("Date Format:"),&(KPimGlobalPrefs::instance()->mPreferredDate),topFrame); | ||
198 | QString format; | ||
199 | if ( QApplication::desktop()->width() < 480 ) | ||
200 | format = "(%d.%m.%Y)"; | ||
201 | else | ||
202 | format = "(%d.%m.%Y|%A %d %B %Y)"; | ||
203 | syncPrefsGroup->addRadio(i18n("24.03.2004 "+format)); | ||
204 | if ( QApplication::desktop()->width() < 480 ) | ||
205 | format = "(%m.%d.%Y)"; | ||
206 | else | ||
207 | format = "(%m.%d.%Y|%A %B %d %Y)"; | ||
208 | syncPrefsGroup->addRadio(i18n("03.24.2004 "+format)); | ||
209 | if ( QApplication::desktop()->width() < 480 ) | ||
210 | format = "(%Y-%m-%d)"; | ||
211 | else | ||
212 | format = "(%Y-%m-%d|%A %Y %B %d)"; | ||
213 | syncPrefsGroup->addRadio(i18n("2004-03-24 "+format)); | ||
214 | syncPrefsGroup->addRadio(i18n("User defined")); | ||
215 | topLayout->addMultiCellWidget( (QWidget*)syncPrefsGroup->groupBox(),iii,iii,0,1); | ||
216 | ++iii; | ||
217 | ++iii; | ||
218 | QLabel * lab; | ||
219 | mUserDateFormatLong = new QLineEdit(topFrame); | ||
220 | lab = new QLabel(mUserDateFormatLong, i18n("User long date:"), topFrame); | ||
221 | topLayout->addWidget(lab ,iii,0); | ||
222 | topLayout->addWidget(mUserDateFormatLong,iii,1); | ||
223 | ++iii; | ||
224 | mUserDateFormatShort = new QLineEdit(topFrame); | ||
225 | lab = new QLabel(mUserDateFormatShort, i18n("User short date:"), topFrame); | ||
226 | topLayout->addWidget(lab ,iii,0); | ||
227 | topLayout->addWidget(mUserDateFormatShort,iii,1); | ||
228 | ++iii; | ||
229 | lab = new QLabel( i18n("Monday 19 April 2004: %A %d %B %Y"), topFrame); | ||
230 | topLayout->addMultiCellWidget(lab ,iii,iii,0,1); | ||
231 | ++iii; | ||
232 | lab = new QLabel( i18n("Mon 19.04.04: %a %d.%m.%y"), topFrame); | ||
233 | topLayout->addMultiCellWidget(lab ,iii,iii,0,1); | ||
234 | ++iii; | ||
235 | lab = new QLabel( i18n("Mon, 19.Apr.04: %a, %d.%b.%y"), topFrame); | ||
236 | topLayout->addMultiCellWidget(lab ,iii,iii,0,1); | ||
237 | ++iii; | ||
238 | |||
239 | connect( mUserDateFormatLong, SIGNAL( textChanged ( const QString & )), this, SLOT( textChanged ( const QString & )) ); | ||
240 | connect( mUserDateFormatShort, SIGNAL( textChanged ( const QString & )), this, SLOT( textChanged ( const QString & )) ); | ||
241 | |||
242 | |||
243 | tabWidget->addTab( topFrame, i18n( "Date Format" ) ); | ||
244 | } | ||
245 | |||
246 | void KDEPIMConfigWidget::setupLocaleTab() | ||
247 | { | ||
248 | |||
249 | QWidget *topFrame = new QWidget( this ); | ||
250 | QGridLayout *topLayout = new QGridLayout(topFrame,4,2); | ||
251 | |||
252 | topLayout->setSpacing(KDialog::spacingHint()); | ||
253 | topLayout->setMargin(KDialog::marginHint()); | ||
254 | int iii = 0; | ||
255 | KPrefsWidRadios *syncPrefsGroup = | ||
256 | addWidRadios(i18n("Language:(needs restart)"),&(KPimGlobalPrefs::instance()->mPreferredLanguage),topFrame); | ||
257 | syncPrefsGroup->addRadio(i18n("English")); | ||
258 | syncPrefsGroup->addRadio(i18n("German")); | ||
259 | syncPrefsGroup->addRadio(i18n("French")); | ||
260 | syncPrefsGroup->addRadio(i18n("User defined (usertranslation.txt)")); | ||
261 | if ( QApplication::desktop()->width() < 300 ) | ||
262 | ;// syncPrefsGroup->groupBox()-> setOrientation (Qt::Vertical); | ||
263 | topLayout->addMultiCellWidget( (QWidget*)syncPrefsGroup->groupBox(),iii,iii,0,1); | ||
264 | ++iii; | ||
265 | |||
266 | syncPrefsGroup = | ||
267 | addWidRadios(i18n("Time Format(nr):"),&(KPimGlobalPrefs::instance()->mPreferredTime),topFrame); | ||
268 | if ( QApplication::desktop()->width() > 300 ) | ||
269 | syncPrefsGroup->groupBox()->setOrientation (Qt::Vertical); | ||
270 | syncPrefsGroup->addRadio(i18n("24:00")); | ||
271 | syncPrefsGroup->addRadio(i18n("12:00am")); | ||
272 | syncPrefsGroup->groupBox()->setOrientation (Qt::Vertical); | ||
273 | topLayout->addMultiCellWidget( syncPrefsGroup->groupBox(),iii,iii,0,1); | ||
274 | ++iii; | ||
275 | |||
276 | KPrefsWidBool *sb = addWidBool(i18n("Week starts on Sunday"), | ||
277 | &(KPimGlobalPrefs::instance()->mWeekStartsOnSunday),topFrame); | ||
278 | topLayout->addMultiCellWidget((QWidget*)sb->checkBox(), iii,iii,0,1); | ||
279 | ++iii; | ||
280 | |||
281 | |||
282 | tabWidget->addTab( topFrame, i18n( "Locale" ) ); | ||
283 | |||
284 | } | ||
285 | |||
286 | |||
287 | void KDEPIMConfigWidget::setupTimeZoneTab() | ||
288 | { | ||
289 | QWidget *topFrame = new QWidget( this ); | ||
290 | QGridLayout *topLayout = new QGridLayout( topFrame, 5, 2); | ||
291 | topLayout->setSpacing(KDialog::spacingHint()); | ||
292 | topLayout->setMargin(KDialog::marginHint()); | ||
293 | |||
294 | QHBox *timeZoneBox = new QHBox( topFrame ); | ||
295 | topLayout->addMultiCellWidget( timeZoneBox, 0, 0, 0, 1 ); | ||
296 | |||
297 | new QLabel( i18n("Timezone:"), timeZoneBox ); | ||
298 | mTimeZoneCombo = new QComboBox( timeZoneBox ); | ||
299 | if ( QApplication::desktop()->width() < 300 ) { | ||
300 | mTimeZoneCombo->setMaximumWidth(150); | ||
301 | } | ||
302 | |||
303 | QStringList list; | ||
304 | list = KGlobal::locale()->timeZoneList(); | ||
305 | mTimeZoneCombo->insertStringList(list); | ||
306 | |||
307 | // find the currently set time zone and select it | ||
308 | QString sCurrentlySet = KPimGlobalPrefs::instance()->mTimeZoneId; | ||
309 | int nCurrentlySet = 11; | ||
310 | for (int i = 0; i < mTimeZoneCombo->count(); i++) | ||
311 | { | ||
312 | if (mTimeZoneCombo->text(i) == sCurrentlySet) | ||
313 | { | ||
314 | nCurrentlySet = i; | ||
315 | break; | ||
316 | } | ||
317 | } | ||
318 | mTimeZoneCombo->setCurrentItem(nCurrentlySet); | ||
319 | int iii = 1; | ||
320 | KPrefsWidBool *sb = | ||
321 | addWidBool(i18n("Timezone has daylight saving"), | ||
322 | &(KPimGlobalPrefs::instance()->mUseDaylightsaving),topFrame); | ||
323 | topLayout->addMultiCellWidget((QWidget*)sb->checkBox(), iii,iii,0,1); | ||
324 | ++iii; | ||
325 | QLabel* lab = new QLabel( i18n("Actual start and end is the\nsunday before this date."), topFrame ); | ||
326 | topLayout->addMultiCellWidget(lab, iii,iii,0,1); | ||
327 | ++iii; | ||
328 | lab = new QLabel( i18n("The year in the date is ignored."), topFrame ); | ||
329 | topLayout->addMultiCellWidget(lab, iii,iii,0,1); | ||
330 | ++iii; | ||
331 | lab = new QLabel( i18n("Daylight start:"), topFrame ); | ||
332 | topLayout->addWidget(lab, iii,0); | ||
333 | mStartDateSavingEdit = new KDateEdit(topFrame); | ||
334 | topLayout->addWidget(mStartDateSavingEdit, iii,1); | ||
335 | ++iii; | ||
336 | |||
337 | lab = new QLabel( i18n("Daylight end:"), topFrame ); | ||
338 | topLayout->addWidget(lab, iii,0); | ||
339 | mEndDateSavingEdit = new KDateEdit(topFrame); | ||
340 | topLayout->addWidget(mEndDateSavingEdit, iii,1); | ||
341 | ++iii; | ||
342 | QDate current ( 2001, 1,1); | ||
343 | mStartDateSavingEdit->setDate(current.addDays(KPimGlobalPrefs::instance()->mDaylightsavingStart-1)); | ||
344 | mEndDateSavingEdit->setDate(current.addDays(KPimGlobalPrefs::instance()->mDaylightsavingEnd-1)); | ||
345 | |||
346 | connect( mStartDateSavingEdit, SIGNAL( dateChanged(QDate)), this, SLOT( modified()) ); | ||
347 | connect( mEndDateSavingEdit, SIGNAL( dateChanged(QDate)), this, SLOT( modified()) ); | ||
348 | connect( mTimeZoneCombo, SIGNAL( activated( int ) ), this, SLOT (modified() ) ); | ||
349 | |||
350 | |||
351 | |||
352 | tabWidget->addTab( topFrame, i18n( "Time Zone" ) ); | ||
353 | |||
354 | } | ||
355 | |||
177 | void KDEPIMConfigWidget::externalapp_changed( int newApp ) | 356 | void KDEPIMConfigWidget::externalapp_changed( int newApp ) |
178 | { | 357 | { |
179 | // first store the current data | 358 | // first store the current data |
180 | saveEditFieldSettings(); | 359 | saveEditFieldSettings(); |
181 | 360 | ||
182 | // set mCurrentApp | 361 | // set mCurrentApp |
183 | mCurrentApp = (ExternalAppHandler::Types)newApp; | 362 | mCurrentApp = (ExternalAppHandler::Types)newApp; |
184 | 363 | ||
@@ -223,17 +402,17 @@ void KDEPIMConfigWidget::client_changed( int newClient ) | |||
223 | 402 | ||
224 | 403 | ||
225 | //then reset the clientvariable | 404 | //then reset the clientvariable |
226 | mCurrentClient = newClient; | 405 | mCurrentClient = newClient; |
227 | 406 | ||
228 | // and at last update the widgets | 407 | // and at last update the widgets |
229 | updateClientWidgets(); | 408 | updateClientWidgets(); |
230 | 409 | ||
231 | modified(); | 410 | KPrefsWidget::modified(); |
232 | } | 411 | } |
233 | 412 | ||
234 | void KDEPIMConfigWidget::saveEditFieldSettings() | 413 | void KDEPIMConfigWidget::saveEditFieldSettings() |
235 | { | 414 | { |
236 | 415 | ||
237 | switch(mCurrentApp) | 416 | switch(mCurrentApp) |
238 | { | 417 | { |
239 | case(ExternalAppHandler::EMAIL): | 418 | case(ExternalAppHandler::EMAIL): |
@@ -439,24 +618,36 @@ void KDEPIMConfigWidget::updateClientWidgets() | |||
439 | mParameters2->setEnabled(mCurrentApp == ExternalAppHandler::EMAIL); | 618 | mParameters2->setEnabled(mCurrentApp == ExternalAppHandler::EMAIL); |
440 | } | 619 | } |
441 | 620 | ||
442 | 621 | ||
443 | blockSignals( blocked ); | 622 | blockSignals( blocked ); |
444 | 623 | ||
445 | } | 624 | } |
446 | 625 | ||
447 | 626 | void KDEPIMConfigWidget::usrReadConfig() | |
448 | |||
449 | |||
450 | void KDEPIMConfigWidget::restoreSettings(KPimGlobalPrefs* prefs) | ||
451 | { | 627 | { |
628 | KPimGlobalPrefs* prefs = KPimGlobalPrefs::instance(); | ||
629 | |||
452 | bool blocked = signalsBlocked(); | 630 | bool blocked = signalsBlocked(); |
453 | blockSignals( true ); | 631 | blockSignals( true ); |
454 | 632 | ||
633 | QString dummy = prefs->mUserDateFormatLong; | ||
634 | mUserDateFormatLong->setText(dummy.replace( QRegExp("K"), QString(",") )); | ||
635 | dummy = prefs->mUserDateFormatShort; | ||
636 | mUserDateFormatShort->setText(dummy.replace( QRegExp("K"), QString(",") )); | ||
637 | |||
638 | QDate current ( 2001, 1,1); | ||
639 | mStartDateSavingEdit->setDate(current.addDays(prefs->mDaylightsavingStart-1)); | ||
640 | mEndDateSavingEdit->setDate(current.addDays(prefs->mDaylightsavingEnd-1)); | ||
641 | setCombo(mTimeZoneCombo,i18n(prefs->mTimeZoneId)); | ||
642 | |||
643 | |||
644 | |||
645 | |||
455 | mEmailClient = prefs->mEmailClient; | 646 | mEmailClient = prefs->mEmailClient; |
456 | mEmailOtherChannel = prefs->mEmailOtherChannel; | 647 | mEmailOtherChannel = prefs->mEmailOtherChannel; |
457 | mEmailOtherMessage = prefs->mEmailOtherMessage; | 648 | mEmailOtherMessage = prefs->mEmailOtherMessage; |
458 | mEmailOtherMessageParameters = prefs->mEmailOtherMessageParameters; | 649 | mEmailOtherMessageParameters = prefs->mEmailOtherMessageParameters; |
459 | mEmailOtherMessage2 = prefs->mEmailOtherMessage2; | 650 | mEmailOtherMessage2 = prefs->mEmailOtherMessage2; |
460 | mEmailOtherMessageParameters2 = prefs->mEmailOtherMessageParameters2; | 651 | mEmailOtherMessageParameters2 = prefs->mEmailOtherMessageParameters2; |
461 | 652 | ||
462 | mPhoneClient = prefs->mPhoneClient; | 653 | mPhoneClient = prefs->mPhoneClient; |
@@ -486,24 +677,43 @@ void KDEPIMConfigWidget::restoreSettings(KPimGlobalPrefs* prefs) | |||
486 | 677 | ||
487 | mCurrentApp = ExternalAppHandler::EMAIL; | 678 | mCurrentApp = ExternalAppHandler::EMAIL; |
488 | mCurrentClient = mEmailClient; | 679 | mCurrentClient = mEmailClient; |
489 | 680 | ||
490 | updateClientWidgets(); | 681 | updateClientWidgets(); |
491 | 682 | ||
492 | blockSignals( blocked ); | 683 | blockSignals( blocked ); |
493 | 684 | ||
494 | emit changed( false ); | ||
495 | |||
496 | } | 685 | } |
497 | 686 | ||
498 | void KDEPIMConfigWidget::saveSettings(KPimGlobalPrefs* prefs) | 687 | void KDEPIMConfigWidget::usrWriteConfig() |
499 | { | 688 | { |
689 | KPimGlobalPrefs* prefs = KPimGlobalPrefs::instance(); | ||
690 | |||
500 | saveEditFieldSettings(); | 691 | saveEditFieldSettings(); |
501 | 692 | ||
693 | |||
694 | prefs->mUserDateFormatShort = mUserDateFormatShort->text().replace( QRegExp(","), QString("K") ); | ||
695 | prefs->mUserDateFormatLong = mUserDateFormatLong->text().replace( QRegExp(","), QString("K") ); | ||
696 | |||
697 | prefs->mTimeZoneId = mTimeZoneCombo->currentText(); | ||
698 | QDate date; | ||
699 | date = mStartDateSavingEdit->date(); | ||
700 | int sub = 0; | ||
701 | if ( QDate::leapYear( date.year() ) && date.dayOfYear() > 59 ) | ||
702 | sub = 1; | ||
703 | prefs->mDaylightsavingStart = date.dayOfYear()-sub; | ||
704 | date = mEndDateSavingEdit->date(); | ||
705 | if ( QDate::leapYear( date.year() ) && date.dayOfYear() > 59 ) | ||
706 | sub = 1; | ||
707 | else | ||
708 | sub = 0; | ||
709 | prefs->mDaylightsavingEnd = date.dayOfYear()-sub; | ||
710 | |||
711 | |||
502 | prefs->mEmailClient = mEmailClient; | 712 | prefs->mEmailClient = mEmailClient; |
503 | prefs->mEmailOtherChannel = mEmailOtherChannel; | 713 | prefs->mEmailOtherChannel = mEmailOtherChannel; |
504 | prefs->mEmailOtherMessage = mEmailOtherMessage; | 714 | prefs->mEmailOtherMessage = mEmailOtherMessage; |
505 | prefs->mEmailOtherMessageParameters = mEmailOtherMessageParameters; | 715 | prefs->mEmailOtherMessageParameters = mEmailOtherMessageParameters; |
506 | prefs->mEmailOtherMessage2 = mEmailOtherMessage2; | 716 | prefs->mEmailOtherMessage2 = mEmailOtherMessage2; |
507 | prefs->mEmailOtherMessageParameters2 = mEmailOtherMessageParameters2; | 717 | prefs->mEmailOtherMessageParameters2 = mEmailOtherMessageParameters2; |
508 | 718 | ||
509 | prefs->mPhoneClient = mPhoneClient; | 719 | prefs->mPhoneClient = mPhoneClient; |
@@ -527,78 +737,35 @@ void KDEPIMConfigWidget::saveSettings(KPimGlobalPrefs* prefs) | |||
527 | prefs->mPagerOtherMessageParameters = mPagerOtherMessageParameters; | 737 | prefs->mPagerOtherMessageParameters = mPagerOtherMessageParameters; |
528 | 738 | ||
529 | 739 | ||
530 | prefs->mSipClient = mSipClient; | 740 | prefs->mSipClient = mSipClient; |
531 | prefs->mSipOtherChannel = mSipOtherChannel; | 741 | prefs->mSipOtherChannel = mSipOtherChannel; |
532 | prefs->mSipOtherMessage = mSipOtherMessage; | 742 | prefs->mSipOtherMessage = mSipOtherMessage; |
533 | prefs->mSipOtherMessageParameters = mSipOtherMessageParameters; | 743 | prefs->mSipOtherMessageParameters = mSipOtherMessageParameters; |
534 | 744 | ||
535 | prefs->writeConfig(); | ||
536 | |||
537 | //release the cache that other views can access the changed values instantanious | 745 | //release the cache that other views can access the changed values instantanious |
538 | ExternalAppHandler::instance()->loadConfig(); | 746 | ExternalAppHandler::instance()->loadConfig(); |
539 | 747 | ||
540 | emit changed( false ); | ||
541 | } | 748 | } |
542 | 749 | ||
543 | void KDEPIMConfigWidget::defaults(KPimGlobalPrefs* prefs) | ||
544 | { | ||
545 | |||
546 | DefaultAppItem* dai = ExternalAppHandler::instance()->getDefaultItem(ExternalAppHandler::EMAIL, KPimGlobalPrefs::NONE_EMC); | ||
547 | |||
548 | mEmailClient = dai->_id; | ||
549 | mEmailOtherChannel = dai->_channel; | ||
550 | mEmailOtherMessage = dai->_message; | ||
551 | mEmailOtherMessageParameters = dai->_parameters; | ||
552 | mEmailOtherMessage2 = dai->_message2; | ||
553 | mEmailOtherMessageParameters2 = dai->_parameters2; | ||
554 | |||
555 | |||
556 | dai = ExternalAppHandler::instance()->getDefaultItem(ExternalAppHandler::PHONE, KPimGlobalPrefs::NONE_PHC); | ||
557 | |||
558 | mPhoneClient = dai->_id; | ||
559 | mPhoneOtherChannel = dai->_channel; | ||
560 | mPhoneOtherMessage = dai->_message; | ||
561 | mPhoneOtherMessageParameters = dai->_parameters; | ||
562 | |||
563 | dai = ExternalAppHandler::instance()->getDefaultItem(ExternalAppHandler::FAX, KPimGlobalPrefs::NONE_FAC); | ||
564 | |||
565 | mFaxClient = dai->_id; | ||
566 | mFaxOtherChannel = dai->_channel; | ||
567 | mFaxOtherMessage = dai->_message; | ||
568 | mFaxOtherMessageParameters = dai->_parameters; | ||
569 | 750 | ||
570 | dai = ExternalAppHandler::instance()->getDefaultItem(ExternalAppHandler::SMS, KPimGlobalPrefs::NONE_SMC); | 751 | void KDEPIMConfigWidget::setCombo(QComboBox *combo, const QString & text, |
571 | 752 | const QStringList *tags) | |
572 | mSMSClient = dai->_id; | ||
573 | mSMSOtherChannel = dai->_channel; | ||
574 | mSMSOtherMessage = dai->_message; | ||
575 | mSMSOtherMessageParameters = dai->_parameters; | ||
576 | |||
577 | dai = ExternalAppHandler::instance()->getDefaultItem(ExternalAppHandler::PAGER, KPimGlobalPrefs::NONE_PAC); | ||
578 | |||
579 | mPagerClient = dai->_id; | ||
580 | mPagerOtherChannel = dai->_channel; | ||
581 | mPagerOtherMessage = dai->_message; | ||
582 | mPagerOtherMessageParameters = dai->_parameters; | ||
583 | |||
584 | |||
585 | dai = ExternalAppHandler::instance()->getDefaultItem(ExternalAppHandler::SIP, KPimGlobalPrefs::NONE_SIC); | ||
586 | |||
587 | mSipClient = dai->_id; | ||
588 | mSipOtherChannel = dai->_channel; | ||
589 | mSipOtherMessage = dai->_message; | ||
590 | mSipOtherMessageParameters = dai->_parameters; | ||
591 | |||
592 | |||
593 | emit changed( true ); | ||
594 | } | ||
595 | |||
596 | void KDEPIMConfigWidget::modified() | ||
597 | { | 753 | { |
598 | emit changed( true ); | 754 | if (tags) { |
755 | int i = tags->findIndex(text); | ||
756 | if (i > 0) combo->setCurrentItem(i); | ||
757 | } else { | ||
758 | for(int i=0;i<combo->count();++i) { | ||
759 | if (combo->text(i) == text) { | ||
760 | combo->setCurrentItem(i); | ||
761 | break; | ||
762 | } | ||
763 | } | ||
764 | } | ||
599 | } | 765 | } |
600 | 766 | ||
767 | |||
601 | void KDEPIMConfigWidget::textChanged( const QString& text ) | 768 | void KDEPIMConfigWidget::textChanged( const QString& text ) |
602 | { | 769 | { |
603 | emit changed( true ); | 770 | emit changed( true ); |
604 | } | 771 | } |
diff --git a/libkdepim/kcmconfigs/kdepimconfigwidget.h b/libkdepim/kcmconfigs/kdepimconfigwidget.h index e3cfd81..6f26513 100644 --- a/libkdepim/kcmconfigs/kdepimconfigwidget.h +++ b/libkdepim/kcmconfigs/kdepimconfigwidget.h | |||
@@ -26,65 +26,74 @@ Enhanced Version of the file for platform independent KDE tools. | |||
26 | Copyright (c) 2004 Ulf Schenk | 26 | Copyright (c) 2004 Ulf Schenk |
27 | 27 | ||
28 | $Id$ | 28 | $Id$ |
29 | */ | 29 | */ |
30 | 30 | ||
31 | #ifndef KDEPIMCONFIGWIDGET_H | 31 | #ifndef KDEPIMCONFIGWIDGET_H |
32 | #define KDEPIMCONFIGWIDGET_H | 32 | #define KDEPIMCONFIGWIDGET_H |
33 | 33 | ||
34 | #include <qwidget.h> | 34 | #include <kprefswidget.h> |
35 | #include <qmap.h> | 35 | #include <qmap.h> |
36 | 36 | ||
37 | #include "externalapphandler.h" | 37 | #include "externalapphandler.h" |
38 | 38 | ||
39 | 39 | ||
40 | /* | ||
41 | class QCheckBox; | ||
42 | class QListViewItem; | ||
43 | class QPushButton; | ||
44 | class KListView; | ||
45 | */ | ||
46 | class QComboBox; | 40 | class QComboBox; |
47 | class QLineEdit; | 41 | class QLineEdit; |
48 | class KPimGlobalPrefs; | 42 | class KPimGlobalPrefs; |
49 | class QGroupBox; | 43 | class QGroupBox; |
44 | class QTabWidget; | ||
45 | class KDateEdit; | ||
50 | 46 | ||
51 | class KDEPIMConfigWidget : public QWidget | 47 | class KDEPIMConfigWidget : public KPrefsWidget |
52 | { | 48 | { |
53 | Q_OBJECT | 49 | Q_OBJECT |
54 | 50 | ||
55 | public: | 51 | public: |
56 | KDEPIMConfigWidget( QWidget *parent, const char *name = 0 ); | 52 | KDEPIMConfigWidget(KPimGlobalPrefs *prefs, QWidget *parent, const char *name = 0 ); |
57 | |||
58 | void restoreSettings(KPimGlobalPrefs* prefs); | ||
59 | void saveSettings(KPimGlobalPrefs* prefs); | ||
60 | void defaults(KPimGlobalPrefs* prefs); | ||
61 | |||
62 | signals: | ||
63 | void changed( bool ); | ||
64 | |||
65 | 53 | ||
66 | public slots: | 54 | public slots: |
67 | void modified(); | ||
68 | void textChanged( const QString& text ); | 55 | void textChanged( const QString& text ); |
69 | 56 | ||
57 | protected: | ||
58 | /** Implement this to read custom configuration widgets. */ | ||
59 | virtual void usrReadConfig(); | ||
60 | /** Implement this to write custom configuration widgets. */ | ||
61 | virtual void usrWriteConfig(); | ||
70 | 62 | ||
71 | 63 | ||
72 | private slots: | 64 | private slots: |
73 | // void configureExtension(); | 65 | // void configureExtension(); |
74 | // void selectionChanged( QListViewItem* ); | 66 | // void selectionChanged( QListViewItem* ); |
75 | // void itemClicked( QListViewItem* ); | 67 | // void itemClicked( QListViewItem* ); |
76 | void client_changed( int newClient ); | 68 | void client_changed( int newClient ); |
77 | void externalapp_changed( int newApp ); | 69 | void externalapp_changed( int newApp ); |
78 | 70 | ||
79 | private: | 71 | private: |
72 | void setupExternalAppTab(); | ||
73 | void setupLocaleDateTab(); | ||
74 | void setupLocaleTab(); | ||
75 | void setupTimeZoneTab(); | ||
76 | |||
77 | void setCombo(QComboBox *combo,const QString & text, const QStringList *tags = 0); | ||
78 | |||
79 | |||
80 | void saveEditFieldSettings(); | 80 | void saveEditFieldSettings(); |
81 | void updateClientWidgets(); | 81 | void updateClientWidgets(); |
82 | 82 | ||
83 | QTabWidget *tabWidget; | ||
84 | |||
85 | |||
86 | QLineEdit* mUserDateFormatShort; | ||
87 | QLineEdit* mUserDateFormatLong; | ||
88 | QComboBox* mTimeZoneCombo; | ||
89 | KDateEdit* mStartDateSavingEdit; | ||
90 | KDateEdit* mEndDateSavingEdit; | ||
91 | |||
83 | // void restoreExtensionSettings(); | 92 | // void restoreExtensionSettings(); |
84 | // void saveExtensionSettings(); | 93 | // void saveExtensionSettings(); |
85 | 94 | ||
86 | // KListView *mExtensionView; | 95 | // KListView *mExtensionView; |
87 | 96 | ||
88 | // QCheckBox *mNameParsing; | 97 | // QCheckBox *mNameParsing; |
89 | // QCheckBox *mViewsSingleClickBox; | 98 | // QCheckBox *mViewsSingleClickBox; |
90 | // QPushButton *mConfigureButton; | 99 | // QPushButton *mConfigureButton; |