summaryrefslogtreecommitdiffabout
path: root/libkdepim/kcmconfigs
authorzautrix <zautrix>2007-06-05 13:21:33 (UTC)
committer zautrix <zautrix>2007-06-05 13:21:33 (UTC)
commitd5c53970b9e12bfe774d1fecd603080aded24e09 (patch) (unidiff)
treefca3c555b3e37302ebe1ee1840fa3e27502dcc50 /libkdepim/kcmconfigs
parenta388f4f019ccf2b7c138a6814b44b9e8f2a5f570 (diff)
downloadkdepimpi-d5c53970b9e12bfe774d1fecd603080aded24e09.zip
kdepimpi-d5c53970b9e12bfe774d1fecd603080aded24e09.tar.gz
kdepimpi-d5c53970b9e12bfe774d1fecd603080aded24e09.tar.bz2
print fix
Diffstat (limited to 'libkdepim/kcmconfigs') (more/less context) (ignore whitespace changes)
-rw-r--r--libkdepim/kcmconfigs/kdepimconfigwidget.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/libkdepim/kcmconfigs/kdepimconfigwidget.cpp b/libkdepim/kcmconfigs/kdepimconfigwidget.cpp
index 764c495..292951b 100644
--- a/libkdepim/kcmconfigs/kdepimconfigwidget.cpp
+++ b/libkdepim/kcmconfigs/kdepimconfigwidget.cpp
@@ -1,1007 +1,1011 @@
1/* 1/*
2 This file is part of KdePim/Pi. 2 This file is part of KdePim/Pi.
3 Copyright (c) 2004 Ulf Schenk 3 Copyright (c) 2004 Ulf Schenk
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/* 24/*
25Enhanced Version of the file for platform independent KDE tools. 25Enhanced Version of the file for platform independent KDE tools.
26Copyright (c) 2004 Ulf Schenk 26Copyright (c) 2004 Ulf Schenk
27 27
28$Id$ 28$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 <qbuttongroup.h>
38#include <qcheckbox.h> 38#include <qcheckbox.h>
39#include <qfile.h> 39#include <qfile.h>
40#include <qvbox.h> 40#include <qvbox.h>
41#include <qdir.h> 41#include <qdir.h>
42#include <qregexp.h> 42#include <qregexp.h>
43#include <qspinbox.h> 43#include <qspinbox.h>
44 44
45#include <kdialog.h> 45#include <kdialog.h>
46#include <kprefsdialog.h> 46#include <kprefsdialog.h>
47#include <klocale.h> 47#include <klocale.h>
48#include <kglobalsettings.h> 48#include <kglobalsettings.h>
49#include <kdateedit.h> 49#include <kdateedit.h>
50#include <kglobal.h> 50#include <kglobal.h>
51#include <stdlib.h> 51#include <stdlib.h>
52 52
53/*US 53/*US
54#include <qcheckbox.h> 54#include <qcheckbox.h>
55#include <qframe.h> 55#include <qframe.h>
56#include <qpushbutton.h> 56#include <qpushbutton.h>
57#include <qcombobox.h> 57#include <qcombobox.h>
58#include <qlineedit.h> 58#include <qlineedit.h>
59#include <qlabel.h> 59#include <qlabel.h>
60#include <qfile.h> 60#include <qfile.h>
61 61
62#include <kconfig.h> 62#include <kconfig.h>
63#include <kdebug.h> 63#include <kdebug.h>
64#include <kdialog.h> 64#include <kdialog.h>
65#include <klistview.h> 65#include <klistview.h>
66#include <klocale.h> 66#include <klocale.h>
67#include <kglobal.h> 67#include <kglobal.h>
68#include <kmessagebox.h> 68#include <kmessagebox.h>
69#include <kstandarddirs.h> 69#include <kstandarddirs.h>
70 70
71#ifndef KAB_EMBEDDED 71#ifndef KAB_EMBEDDED
72#include <ktrader.h> 72#include <ktrader.h>
73#else // KAB_EMBEDDED 73#else // KAB_EMBEDDED
74#include <mergewidget.h> 74#include <mergewidget.h>
75#include <distributionlistwidget.h> 75#include <distributionlistwidget.h>
76#endif // KAB_EMBEDDED 76#endif // KAB_EMBEDDED
77 77
78#include "addresseewidget.h" 78#include "addresseewidget.h"
79#include "extensionconfigdialog.h" 79#include "extensionconfigdialog.h"
80#include "extensionwidget.h" 80#include "extensionwidget.h"
81*/ 81*/
82 82
83#include "qapplication.h" 83#include "qapplication.h"
84 84
85#include "kpimglobalprefs.h" 85#include "kpimglobalprefs.h"
86 86
87#include "kdepimconfigwidget.h" 87#include "kdepimconfigwidget.h"
88#include <kprefs.h> 88#include <kprefs.h>
89#include <kmessagebox.h> 89#include <kmessagebox.h>
90 90
91 91
92 92
93KDEPIMConfigWidget::KDEPIMConfigWidget(KPimGlobalPrefs *prefs, QWidget *parent, const char *name ) 93KDEPIMConfigWidget::KDEPIMConfigWidget(KPimGlobalPrefs *prefs, QWidget *parent, const char *name )
94 : KPrefsWidget(prefs, parent, name ) 94 : KPrefsWidget(prefs, parent, name )
95{ 95{
96 mExternalAppsMap.insert(ExternalAppHandler::EMAIL, i18n("Email")); 96 mExternalAppsMap.insert(ExternalAppHandler::EMAIL, i18n("Email"));
97 mExternalAppsMap.insert(ExternalAppHandler::PHONE, i18n("Phone")); 97 mExternalAppsMap.insert(ExternalAppHandler::PHONE, i18n("Phone"));
98 mExternalAppsMap.insert(ExternalAppHandler::SMS, i18n("SMS")); 98 mExternalAppsMap.insert(ExternalAppHandler::SMS, i18n("SMS"));
99 mExternalAppsMap.insert(ExternalAppHandler::FAX, i18n("Fax")); 99 mExternalAppsMap.insert(ExternalAppHandler::FAX, i18n("Fax"));
100 mExternalAppsMap.insert(ExternalAppHandler::PAGER, i18n("Pager")); 100 mExternalAppsMap.insert(ExternalAppHandler::PAGER, i18n("Pager"));
101 mExternalAppsMap.insert(ExternalAppHandler::SIP, i18n("SIP")); 101 mExternalAppsMap.insert(ExternalAppHandler::SIP, i18n("SIP"));
102 102
103 103
104 QVBoxLayout *topLayout = new QVBoxLayout( this, 0, 104 QVBoxLayout *topLayout = new QVBoxLayout( this, 0,
105 KDialog::spacingHint() ); 105 KDialog::spacingHint() );
106 106
107 tabWidget = new QTabWidget( this ); 107 tabWidget = new QTabWidget( this );
108 topLayout->addWidget( tabWidget ); 108 topLayout->addWidget( tabWidget );
109 109
110 110
111 setupLocaleTab(); 111 setupLocaleTab();
112 setupLocaleDateTab(); 112 setupLocaleDateTab();
113 setupTimeZoneTab(); 113 setupTimeZoneTab();
114 setupExternalAppTab(); 114 setupExternalAppTab();
115 setupStoreTab(); 115 setupStoreTab();
116 setupBackupTab(); 116 setupBackupTab();
117} 117}
118void KDEPIMConfigWidget::showTimeZoneTab() 118void KDEPIMConfigWidget::showTimeZoneTab()
119{ 119{
120 tabWidget->setCurrentPage ( 3 ) ; 120 tabWidget->setCurrentPage ( 3 ) ;
121} 121}
122void KDEPIMConfigWidget::setupBackupTab() 122void KDEPIMConfigWidget::setupBackupTab()
123{ 123{
124 QVBox *colorPage = new QVBox( this ); 124 QVBox *colorPage = new QVBox( this );
125 tabWidget->addTab( colorPage, i18n( "Backup" ) ); 125 tabWidget->addTab( colorPage, i18n( "Backup" ) );
126 QWidget* topFrame = new QWidget( colorPage ); 126 QWidget* topFrame = new QWidget( colorPage );
127 QVBoxLayout *topLayout = new QVBoxLayout(topFrame); 127 QVBoxLayout *topLayout = new QVBoxLayout(topFrame);
128 KPrefsWidBool *sb = addWidBool(i18n("Backup enabled"), 128 KPrefsWidBool *sb = addWidBool(i18n("Backup enabled"),
129 &(KPimGlobalPrefs::instance()->mBackupEnabled),topFrame); 129 &(KPimGlobalPrefs::instance()->mBackupEnabled),topFrame);
130 topLayout->addWidget((QWidget*)sb->checkBox()); 130 topLayout->addWidget((QWidget*)sb->checkBox());
131 QWidget* bupFrame = new QWidget( topFrame ); 131 QWidget* bupFrame = new QWidget( topFrame );
132 topLayout->addWidget((bupFrame)); 132 topLayout->addWidget((bupFrame));
133 QObject::connect ( sb->checkBox(), SIGNAL (toggled ( bool ) ), bupFrame, SLOT ( setEnabled( bool ) ) ); 133 QObject::connect ( sb->checkBox(), SIGNAL (toggled ( bool ) ), bupFrame, SLOT ( setEnabled( bool ) ) );
134 QVBoxLayout *bupLayout = new QVBoxLayout(bupFrame); 134 QVBoxLayout *bupLayout = new QVBoxLayout(bupFrame);
135 sb = addWidBool(i18n("Use standard backup dir"), 135 sb = addWidBool(i18n("Use standard backup dir"),
136 &(KPimGlobalPrefs::instance()->mBackupUseDefaultDir),bupFrame); 136 &(KPimGlobalPrefs::instance()->mBackupUseDefaultDir),bupFrame);
137 bupLayout->addWidget((QWidget*)sb->checkBox()); 137 bupLayout->addWidget((QWidget*)sb->checkBox());
138 mBackupUrl = new KURLRequester( bupFrame ); 138 mBackupUrl = new KURLRequester( bupFrame );
139 mBackupUrl->setPathIsDir(); 139 mBackupUrl->setPathIsDir();
140 mBackupUrl->setURL( KGlobalSettings::backupDataDir() ); 140 mBackupUrl->setURL( KGlobalSettings::backupDataDir() );
141 QObject::connect ( sb->checkBox(), SIGNAL (toggled ( bool ) ), mBackupUrl ,SLOT ( setDisabled( bool ) ) ); 141 QObject::connect ( sb->checkBox(), SIGNAL (toggled ( bool ) ), mBackupUrl ,SLOT ( setDisabled( bool ) ) );
142 bupLayout->addWidget( mBackupUrl ); 142 bupLayout->addWidget( mBackupUrl );
143 143
144 mBackupUrl->setEnabled( !KPimGlobalPrefs::instance()->mBackupUseDefaultDir ); 144 mBackupUrl->setEnabled( !KPimGlobalPrefs::instance()->mBackupUseDefaultDir );
145 bupFrame->setEnabled( KPimGlobalPrefs::instance()->mBackupEnabled ); 145 bupFrame->setEnabled( KPimGlobalPrefs::instance()->mBackupEnabled );
146 QHBox *dummy = new QHBox(bupFrame); 146 QHBox *dummy = new QHBox(bupFrame);
147 new QLabel(i18n("Number of Backups:"),dummy); 147 new QLabel(i18n("Number of Backups:"),dummy);
148 mBackupNumbersSpin = new QSpinBox(1,21,1,dummy); 148 mBackupNumbersSpin = new QSpinBox(1,21,1,dummy);
149 new QLabel(i18n(" "),dummy); 149 new QLabel(i18n(" "),dummy);
150 bupLayout->addWidget( dummy ); 150 bupLayout->addWidget( dummy );
151 151
152 dummy = new QHBox(bupFrame); 152 dummy = new QHBox(bupFrame);
153 new QLabel(i18n("Make backup every "),dummy); 153 new QLabel(i18n("Make backup every "),dummy);
154 mBackupDayCountSpin = new QSpinBox(1,28,1,dummy); 154 mBackupDayCountSpin = new QSpinBox(1,28,1,dummy);
155 new QLabel(i18n(" days"),dummy); 155 new QLabel(i18n(" days"),dummy);
156 new QLabel(i18n(" "),dummy); 156 new QLabel(i18n(" "),dummy);
157 bupLayout->addWidget( dummy ); 157 bupLayout->addWidget( dummy );
158 QString localKdeDir; 158 QString localKdeDir;
159 localKdeDir = readEnvPath("LOCALMICROKDEHOME"); 159 localKdeDir = readEnvPath("LOCALMICROKDEHOME");
160 if ( ! localKdeDir.isEmpty() ) { 160 if ( ! localKdeDir.isEmpty() ) {
161 sb->checkBox()->setEnabled( false ); 161 sb->checkBox()->setEnabled( false );
162 sb->checkBox()->setChecked( true ); 162 sb->checkBox()->setChecked( true );
163 mBackupUrl->setEnabled( false ); 163 mBackupUrl->setEnabled( false );
164 KPimGlobalPrefs::instance()->mBackupUseDefaultDir = true; 164 KPimGlobalPrefs::instance()->mBackupUseDefaultDir = true;
165 } 165 }
166 166
167} 167}
168void KDEPIMConfigWidget::setupStoreTab() 168void KDEPIMConfigWidget::setupStoreTab()
169{ 169{
170 QVBox *colorPage = new QVBox( this ); 170 QVBox *colorPage = new QVBox( this );
171 tabWidget->addTab( colorPage, i18n( "Colors" ) ); 171 tabWidget->addTab( colorPage, i18n( "Colors" ) );
172 QWidget* cw = new QWidget( colorPage ); 172 QWidget* cw = new QWidget( colorPage );
173 KPrefsWidColor *holidayColor = 173 KPrefsWidColor *holidayColor =
174 addWidColor(i18n("Alternating background of list views"), 174 addWidColor(i18n("Alternating background of list views"),
175 &(KPimGlobalPrefs::instance()->mAlternateColor),cw); 175 &(KPimGlobalPrefs::instance()->mAlternateColor),cw);
176 QHBoxLayout *topLayout = new QHBoxLayout(cw); 176 QHBoxLayout *topLayout = new QHBoxLayout(cw);
177 topLayout->addWidget(holidayColor->label()); 177 topLayout->addWidget(holidayColor->label());
178 topLayout->addWidget( (QWidget* )holidayColor->button()); 178 topLayout->addWidget( (QWidget* )holidayColor->button());
179 179
180 180
181 QVBox *storePage = new QVBox( this ); 181 QVBox *storePage = new QVBox( this );
182 if ( QApplication::desktop()->height() > 240 ) 182 if ( QApplication::desktop()->height() > 240 )
183 new QLabel( i18n("Your current storage dir is:\n%1\nYour mail is stored in:\n(storagedir)/apps/kopiemail/localmail").arg(KGlobal::dirs()->localkdedir()), storePage ); 183 new QLabel( i18n("Your current storage dir is:\n%1\nYour mail is stored in:\n(storagedir)/apps/kopiemail/localmail").arg(KGlobal::dirs()->localkdedir()), storePage );
184 new QLabel( i18n("<b>New data storage dir:</b>"), storePage ); 184 new QLabel( i18n("<b>New data storage dir:</b>"), storePage );
185 mStoreUrl = new KURLRequester( storePage ); 185 mStoreUrl = new KURLRequester( storePage );
186 mStoreUrl->setPathIsDir(); 186 mStoreUrl->setPathIsDir();
187 mStoreUrl->setURL( KGlobal::dirs()->localkdedir() ); 187 mStoreUrl->setURL( KGlobal::dirs()->localkdedir() );
188#ifdef DESKTOP_VERSION 188#ifdef DESKTOP_VERSION
189 QString confFile = qApp->applicationDirPath ()+ "/.microkdehome" ; 189 QString confFile = qApp->applicationDirPath ()+ "/.microkdehome" ;
190 QFileInfo fi ( confFile ); 190 QFileInfo fi ( confFile );
191 if ( fi.exists() ) { 191 if ( fi.exists() ) {
192 KConfig cfg ( confFile ); 192 KConfig cfg ( confFile );
193 cfg.setGroup("Global"); 193 cfg.setGroup("Global");
194 QString localKdeDir = cfg.readEntry( "MICROKDEHOME", "x_x_x" ); 194 QString localKdeDir = cfg.readEntry( "MICROKDEHOME", "x_x_x" );
195 if ( localKdeDir != "x_x_x" ) { 195 if ( localKdeDir != "x_x_x" ) {
196 mStoreUrl->setURL( localKdeDir ); 196 mStoreUrl->setURL( localKdeDir );
197 qDebug("Reading config from %s ", confFile.latin1()); 197 qDebug("Reading config from %s ", confFile.latin1());
198 } 198 }
199 } 199 }
200 200
201#endif 201#endif
202 new QLabel( i18n("New dirs are created automatically"), storePage ); 202 new QLabel( i18n("New dirs are created automatically"), storePage );
203 QHBox *bb = new QHBox( storePage ); 203 QHBox *bb = new QHBox( storePage );
204 QPushButton * pb; 204 QPushButton * pb;
205 if ( QApplication::desktop()->width() < 640 ) 205 if ( QApplication::desktop()->width() < 640 )
206 pb = new QPushButton ( i18n("Save"), bb ); 206 pb = new QPushButton ( i18n("Save"), bb );
207 else 207 else
208 pb = new QPushButton ( i18n("Save settings"), bb ); 208 pb = new QPushButton ( i18n("Save settings"), bb );
209 connect(pb, SIGNAL( clicked() ), this, SLOT ( saveStoreSettings() ) ); 209 connect(pb, SIGNAL( clicked() ), this, SLOT ( saveStoreSettings() ) );
210 pb = new QPushButton ( i18n("Save standard"), bb ); 210 pb = new QPushButton ( i18n("Save standard"), bb );
211 connect(pb, SIGNAL( clicked() ), this, SLOT ( setStandardStore() ) ); 211 connect(pb, SIGNAL( clicked() ), this, SLOT ( setStandardStore() ) );
212#ifdef DESKTOP_VERSION 212#ifdef DESKTOP_VERSION
213 pb = new QPushButton ( i18n("Save using LOCAL storage"), bb ); 213 pb = new QPushButton ( i18n("Save using LOCAL storage"), bb );
214 connect(pb, SIGNAL( clicked() ), this, SLOT ( setLocalStore() ) ); 214 connect(pb, SIGNAL( clicked() ), this, SLOT ( setLocalStore() ) );
215#endif 215#endif
216 new QLabel( i18n("<b>New settings are used\nafter a restart</b>"), storePage ); 216 new QLabel( i18n("<b>New settings are used\nafter a restart</b>"), storePage );
217 mDataStoragePath = new QLabel( i18n("Settings are stored in\n%1").arg(QDir::homeDirPath() + "/.microkdehome" ), storePage ); 217 mDataStoragePath = new QLabel( i18n("Settings are stored in\n%1").arg(QDir::homeDirPath() + "/.microkdehome" ), storePage );
218 tabWidget->addTab( storePage, i18n( "Data storage path" ) ); 218 tabWidget->addTab( storePage, i18n( "Data storage path" ) );
219 219
220#ifdef DESKTOP_VERSION 220#ifdef DESKTOP_VERSION
221 if ( mStoreUrl->url().startsWith( "LOCAL:" ) ) { 221 if ( mStoreUrl->url().startsWith( "LOCAL:" ) ) {
222 mDataStoragePath->setText( i18n("Settings are stored in\n%1").arg( qApp->applicationDirPath ()+"/.microkdehome" )); 222 mDataStoragePath->setText( i18n("Settings are stored in\n%1").arg( qApp->applicationDirPath ()+"/.microkdehome" ));
223 } 223 }
224#endif 224#endif
225} 225}
226void KDEPIMConfigWidget::setLocalStore() 226void KDEPIMConfigWidget::setLocalStore()
227{ 227{
228 mStoreUrl->setURL( "LOCAL:kdepimpi" ); 228 mStoreUrl->setURL( "LOCAL:kdepimpi" );
229 saveStoreSettings(); 229 saveStoreSettings();
230 QString message = i18n("'LOCAL' mode makes is possible to run\nKA/Pi and KO/Pi from a USB memory stick.\nIn LOCAL mode the data is stored\nin a path relative to the executable.\nNote, that in LOCAL mode only addressbook\nresource files in\n <path of the executable>/<dirname after LOCAL:>/apps/kabc/*.vcf\n are supported.\nIf you use the standard addressbook settings\nyou do not have to reconfigure any path,\njust restart the application and import\nyour addressbook and calendar data."); 230 QString message = i18n("'LOCAL' mode makes is possible to run\nKA/Pi and KO/Pi from a USB memory stick.\nIn LOCAL mode the data is stored\nin a path relative to the executable.\nNote, that in LOCAL mode only addressbook\nresource files in\n <path of the executable>/<dirname after LOCAL:>/apps/kabc/*.vcf\n are supported.\nIf you use the standard addressbook settings\nyou do not have to reconfigure any path,\njust restart the application and import\nyour addressbook and calendar data.");
231 KMessageBox::information( this, message); 231 KMessageBox::information( this, message);
232} 232}
233void KDEPIMConfigWidget::setStandardStore() 233void KDEPIMConfigWidget::setStandardStore()
234{ 234{
235 mStoreUrl->setURL( QDir::homeDirPath() + "/kdepim" ); 235 mStoreUrl->setURL( QDir::homeDirPath() + "/kdepim" );
236 saveStoreSettings(); 236 saveStoreSettings();
237} 237}
238void KDEPIMConfigWidget::saveStoreSettings() 238void KDEPIMConfigWidget::saveStoreSettings()
239{ 239{
240#ifdef DESKTOP_VERSION 240#ifdef DESKTOP_VERSION
241 if ( !mStoreUrl->url().startsWith( "LOCAL:" ) ) { 241 if ( !mStoreUrl->url().startsWith( "LOCAL:" ) ) {
242 QString file = qApp->applicationDirPath ()+"/.microkdehome"; 242 QString file = qApp->applicationDirPath ()+"/.microkdehome";
243 QFileInfo fi ( file ); 243 QFileInfo fi ( file );
244 if ( fi.exists() ) { 244 if ( fi.exists() ) {
245 bool res = QFile::remove( file ); 245 bool res = QFile::remove( file );
246 if ( ! res ) 246 if ( ! res )
247 KMessageBox::information( this, i18n("ERROR: Cannot remove file\n%1\nPlease remove it manually.").arg( file )); 247 KMessageBox::information( this, i18n("ERROR: Cannot remove file\n%1\nPlease remove it manually.").arg( file ));
248 } 248 }
249 } 249 }
250#endif 250#endif
251 if ( !mStoreUrl->url().isEmpty() ) { 251 if ( !mStoreUrl->url().isEmpty() ) {
252 QString path = QDir::homeDirPath(); 252 QString path = QDir::homeDirPath();
253 QString url = mStoreUrl->url(); 253 QString url = mStoreUrl->url();
254#ifdef DESKTOP_VERSION 254#ifdef DESKTOP_VERSION
255 if ( url.startsWith( "LOCAL:" ) ) { 255 if ( url.startsWith( "LOCAL:" ) ) {
256 path = qApp->applicationDirPath () ; 256 path = qApp->applicationDirPath () ;
257 } 257 }
258#endif 258#endif
259 KConfig cfg ( path + "/.microkdehome" ); 259 KConfig cfg ( path + "/.microkdehome" );
260 cfg.setGroup("Global"); 260 cfg.setGroup("Global");
261 cfg.writeEntry( "MICROKDEHOME", url ); 261 cfg.writeEntry( "MICROKDEHOME", url );
262 qDebug("cfg.writeEntry( MICROKDEHOME, %s ", url.latin1()); 262 qDebug("cfg.writeEntry( MICROKDEHOME, %s ", url.latin1());
263 cfg.sync(); 263 cfg.sync();
264 mDataStoragePath->setText( i18n("Settings are stored in\n%1").arg( path+"/.microkdehome" )); 264 mDataStoragePath->setText( i18n("Settings are stored in\n%1").arg( path+"/.microkdehome" ));
265 } else { 265 } else {
266 mStoreUrl->setURL( QDir::homeDirPath() + "/kdepim" ); 266 mStoreUrl->setURL( QDir::homeDirPath() + "/kdepim" );
267 saveStoreSettings(); 267 saveStoreSettings();
268 } 268 }
269} 269}
270void KDEPIMConfigWidget::setupExternalAppTab() 270void KDEPIMConfigWidget::setupExternalAppTab()
271{ 271{
272 QWidget *externalAppsPage = new QWidget( this ); 272 QWidget *externalAppsPage = new QWidget( this );
273 QVBoxLayout* layout = new QVBoxLayout( externalAppsPage, KDialog::marginHintSmall(), 273 QVBoxLayout* layout = new QVBoxLayout( externalAppsPage, KDialog::marginHintSmall(),
274 KDialog::spacingHintSmall() ); 274 KDialog::spacingHintSmall() );
275 275
276 mExternalApps = new QComboBox( externalAppsPage ); 276 mExternalApps = new QComboBox( externalAppsPage );
277 277
278 QMap<ExternalAppHandler::Types, QString>::Iterator it; 278 QMap<ExternalAppHandler::Types, QString>::Iterator it;
279 for( it = mExternalAppsMap.begin(); it != mExternalAppsMap.end(); ++it ) 279 for( it = mExternalAppsMap.begin(); it != mExternalAppsMap.end(); ++it )
280 mExternalApps->insertItem( it.data(), it.key() ); 280 mExternalApps->insertItem( it.data(), it.key() );
281 281
282 layout->addWidget( mExternalApps ); 282 layout->addWidget( mExternalApps );
283 283
284 connect( mExternalApps, SIGNAL( activated( int ) ), 284 connect( mExternalApps, SIGNAL( activated( int ) ),
285 this, SLOT (externalapp_changed( int ) ) ); 285 this, SLOT (externalapp_changed( int ) ) );
286 286
287 287
288 mExternalAppGroupBox = new QGroupBox( 0, Qt::Vertical, i18n( "Used Mail Client" ), externalAppsPage ); 288 mExternalAppGroupBox = new QGroupBox( 0, Qt::Vertical, i18n( "Used Mail Client" ), externalAppsPage );
289 QGridLayout *boxLayout = new QGridLayout( mExternalAppGroupBox->layout(), 4, 2, -1, "gridlayout" ); 289 QGridLayout *boxLayout = new QGridLayout( mExternalAppGroupBox->layout(), 4, 2, -1, "gridlayout" );
290 mExternalAppGroupBox->layout()->setMargin(4); 290 mExternalAppGroupBox->layout()->setMargin(4);
291 291
292 mClient = new QComboBox( mExternalAppGroupBox ); 292 mClient = new QComboBox( mExternalAppGroupBox );
293 boxLayout->addMultiCellWidget( mClient, 0, 0, 0, 1 ); 293 boxLayout->addMultiCellWidget( mClient, 0, 0, 0, 1 );
294 294
295 connect( mClient, SIGNAL( activated( int ) ), 295 connect( mClient, SIGNAL( activated( int ) ),
296 this, SLOT (client_changed( int ) ) ); 296 this, SLOT (client_changed( int ) ) );
297 297
298 QLabel* lab = new QLabel( i18n("Channel:"), mExternalAppGroupBox); 298 QLabel* lab = new QLabel( i18n("Channel:"), mExternalAppGroupBox);
299 boxLayout->addWidget( lab, 1, 0 ); 299 boxLayout->addWidget( lab, 1, 0 );
300 mChannel = new QLineEdit(mExternalAppGroupBox); 300 mChannel = new QLineEdit(mExternalAppGroupBox);
301 mChannel->setReadOnly(true); 301 mChannel->setReadOnly(true);
302 boxLayout->addMultiCellWidget( mChannel, 2 , 2, 0, 1 ); 302 boxLayout->addMultiCellWidget( mChannel, 2 , 2, 0, 1 );
303 303
304 lab = new QLabel( i18n("Message:"), mExternalAppGroupBox); 304 lab = new QLabel( i18n("Message:"), mExternalAppGroupBox);
305 boxLayout->addWidget( lab, 3, 0 ); 305 boxLayout->addWidget( lab, 3, 0 );
306 mMessage = new QLineEdit(mExternalAppGroupBox); 306 mMessage = new QLineEdit(mExternalAppGroupBox);
307 mMessage->setReadOnly(true); 307 mMessage->setReadOnly(true);
308 boxLayout->addWidget( mMessage , 4, 0); 308 boxLayout->addWidget( mMessage , 4, 0);
309 309
310 lab = new QLabel( i18n("Parameters:"), mExternalAppGroupBox); 310 lab = new QLabel( i18n("Parameters:"), mExternalAppGroupBox);
311 boxLayout->addWidget( lab, 3, 1 ); 311 boxLayout->addWidget( lab, 3, 1 );
312 mParameters = new QLineEdit(mExternalAppGroupBox); 312 mParameters = new QLineEdit(mExternalAppGroupBox);
313 mParameters->setReadOnly(true); 313 mParameters->setReadOnly(true);
314 boxLayout->addWidget( mParameters, 4, 1 ); 314 boxLayout->addWidget( mParameters, 4, 1 );
315 lab = new QLabel( i18n("HINT: Delimiter=; Name=%1,Email=%2"), mExternalAppGroupBox); 315 lab = new QLabel( i18n("HINT: Delimiter=; Name=%1,Email=%2"), mExternalAppGroupBox);
316 boxLayout->addMultiCellWidget( lab, 5, 5, 0, 1 ); 316 boxLayout->addMultiCellWidget( lab, 5, 5, 0, 1 );
317 317
318 318
319 if ( QApplication::desktop()->height() > 240 ) { 319 if ( QApplication::desktop()->height() > 240 ) {
320 lab = new QLabel( i18n("extra Message:"), mExternalAppGroupBox); 320 lab = new QLabel( i18n("extra Message:"), mExternalAppGroupBox);
321 boxLayout->addWidget( lab, 6, 0 ); 321 boxLayout->addWidget( lab, 6, 0 );
322 mMessage2 = new QLineEdit(mExternalAppGroupBox); 322 mMessage2 = new QLineEdit(mExternalAppGroupBox);
323 mMessage2->setReadOnly(true); 323 mMessage2->setReadOnly(true);
324 boxLayout->addWidget( mMessage2 , 7, 0); 324 boxLayout->addWidget( mMessage2 , 7, 0);
325 325
326 lab = new QLabel( i18n("extra Parameters:"), mExternalAppGroupBox); 326 lab = new QLabel( i18n("extra Parameters:"), mExternalAppGroupBox);
327 boxLayout->addWidget( lab, 6, 1 ); 327 boxLayout->addWidget( lab, 6, 1 );
328 mParameters2 = new QLineEdit(mExternalAppGroupBox); 328 mParameters2 = new QLineEdit(mExternalAppGroupBox);
329 mParameters2->setReadOnly(true); 329 mParameters2->setReadOnly(true);
330 boxLayout->addWidget( mParameters2, 7, 1 ); 330 boxLayout->addWidget( mParameters2, 7, 1 );
331 331
332 lab = new QLabel( i18n("HINT: Emails=%1,Attachments=%2"), mExternalAppGroupBox); 332 lab = new QLabel( i18n("HINT: Emails=%1,Attachments=%2"), mExternalAppGroupBox);
333 boxLayout->addMultiCellWidget( lab, 8, 8, 0, 1 ); 333 boxLayout->addMultiCellWidget( lab, 8, 8, 0, 1 );
334 connect( mMessage2, SIGNAL( textChanged ( const QString & )), this, SLOT( textChanged ( const QString & )) ); 334 connect( mMessage2, SIGNAL( textChanged ( const QString & )), this, SLOT( textChanged ( const QString & )) );
335 connect( mParameters2, SIGNAL( textChanged ( const QString & )), this, SLOT( textChanged ( const QString & )) ); 335 connect( mParameters2, SIGNAL( textChanged ( const QString & )), this, SLOT( textChanged ( const QString & )) );
336 } else { 336 } else {
337 mMessage2 = 0; 337 mMessage2 = 0;
338 mParameters2 = 0; 338 mParameters2 = 0;
339 } 339 }
340 340
341 connect( mChannel, SIGNAL( textChanged ( const QString & )), this, SLOT( textChanged ( const QString & )) ); 341 connect( mChannel, SIGNAL( textChanged ( const QString & )), this, SLOT( textChanged ( const QString & )) );
342 connect( mMessage, SIGNAL( textChanged ( const QString & )), this, SLOT( textChanged ( const QString & )) ); 342 connect( mMessage, SIGNAL( textChanged ( const QString & )), this, SLOT( textChanged ( const QString & )) );
343 connect( mParameters, SIGNAL( textChanged ( const QString & )), this, SLOT( textChanged ( const QString & )) ); 343 connect( mParameters, SIGNAL( textChanged ( const QString & )), this, SLOT( textChanged ( const QString & )) );
344 344
345 345
346 layout->addWidget( mExternalAppGroupBox ); 346 layout->addWidget( mExternalAppGroupBox );
347 tabWidget->addTab( externalAppsPage, i18n( "External Apps." ) ); 347 tabWidget->addTab( externalAppsPage, i18n( "External Apps." ) );
348 348
349} 349}
350 350
351 351
352void KDEPIMConfigWidget::setupLocaleDateTab() 352void KDEPIMConfigWidget::setupLocaleDateTab()
353{ 353{
354 QWidget *topFrame = new QWidget( this ); 354 QWidget *topFrame = new QWidget( this );
355 QGridLayout *topLayout = new QGridLayout( topFrame, 3, 2); 355 QGridLayout *topLayout = new QGridLayout( topFrame, 3, 2);
356 356
357 topLayout->setSpacing(KDialog::spacingHintSmall()); 357 topLayout->setSpacing(KDialog::spacingHintSmall());
358 topLayout->setMargin(KDialog::marginHintSmall()); 358 topLayout->setMargin(KDialog::marginHintSmall());
359 int iii = 0; 359 int iii = 0;
360 360
361 361
362 KPrefsWidRadios *syncPrefsGroup = 362 KPrefsWidRadios *syncPrefsGroup =
363 addWidRadios(i18n("Date Format:"),&(KPimGlobalPrefs::instance()->mPreferredDate),topFrame); 363 addWidRadios(i18n("Date Format:"),&(KPimGlobalPrefs::instance()->mPreferredDate),topFrame);
364 QString format; 364 QString format;
365 if ( QApplication::desktop()->width() < 480 ) 365 if ( QApplication::desktop()->width() < 480 )
366 format = "(%d.%m.%Y)"; 366 format = "(%d.%m.%Y)";
367 else 367 else
368 format = "(%d.%m.%Y|%A %d %B %Y)"; 368 format = "(%d.%m.%Y|%A %d %B %Y)";
369 syncPrefsGroup->addRadio(i18n("24.03.2004 "+format)); 369 syncPrefsGroup->addRadio(i18n("24.03.2004 "+format));
370 if ( QApplication::desktop()->width() < 480 ) 370 if ( QApplication::desktop()->width() < 480 )
371 format = "(%m.%d.%Y)"; 371 format = "(%m.%d.%Y)";
372 else 372 else
373 format = "(%m.%d.%Y|%A %B %d %Y)"; 373 format = "(%m.%d.%Y|%A %B %d %Y)";
374 syncPrefsGroup->addRadio(i18n("03.24.2004 "+format)); 374 syncPrefsGroup->addRadio(i18n("03.24.2004 "+format));
375 if ( QApplication::desktop()->width() < 480 ) 375 if ( QApplication::desktop()->width() < 480 )
376 format = "(%Y-%m-%d)"; 376 format = "(%Y-%m-%d)";
377 else 377 else
378 format = "(%Y-%m-%d|%A %Y %B %d)"; 378 format = "(%Y-%m-%d|%A %Y %B %d)";
379 syncPrefsGroup->addRadio(i18n("2004-03-24 "+format)); 379 syncPrefsGroup->addRadio(i18n("2004-03-24 "+format));
380 syncPrefsGroup->addRadio(i18n("User defined")); 380 syncPrefsGroup->addRadio(i18n("User defined"));
381 if ( QApplication::desktop()->width() < 480 ) { 381 if ( QApplication::desktop()->width() < 480 ) {
382 syncPrefsGroup->groupBox()->layout()->setMargin( 5 ); 382 syncPrefsGroup->groupBox()->layout()->setMargin( 5 );
383 syncPrefsGroup->groupBox()->layout()->setSpacing( 0 ); 383 syncPrefsGroup->groupBox()->layout()->setSpacing( 0 );
384 } 384 }
385 topLayout->addMultiCellWidget( (QWidget*)syncPrefsGroup->groupBox(),iii,iii,0,1); 385 topLayout->addMultiCellWidget( (QWidget*)syncPrefsGroup->groupBox(),iii,iii,0,1);
386 ++iii; 386 ++iii;
387 ++iii; 387 ++iii;
388 QLabel * lab; 388 QLabel * lab;
389 mUserDateFormatLong = new QLineEdit(topFrame); 389 mUserDateFormatLong = new QLineEdit(topFrame);
390 lab = new QLabel(mUserDateFormatLong, i18n("User long date:"), topFrame); 390 lab = new QLabel(mUserDateFormatLong, i18n("User long date:"), topFrame);
391 topLayout->addWidget(lab ,iii,0); 391 topLayout->addWidget(lab ,iii,0);
392 topLayout->addWidget(mUserDateFormatLong,iii,1); 392 topLayout->addWidget(mUserDateFormatLong,iii,1);
393 ++iii; 393 ++iii;
394 mUserDateFormatShort = new QLineEdit(topFrame); 394 mUserDateFormatShort = new QLineEdit(topFrame);
395 lab = new QLabel(mUserDateFormatShort, i18n("User short date:"), topFrame); 395 lab = new QLabel(mUserDateFormatShort, i18n("User short date:"), topFrame);
396 topLayout->addWidget(lab ,iii,0); 396 topLayout->addWidget(lab ,iii,0);
397 topLayout->addWidget(mUserDateFormatShort,iii,1); 397 topLayout->addWidget(mUserDateFormatShort,iii,1);
398 ++iii; 398 ++iii;
399 lab = new QLabel( i18n("Monday 19 April 2004: %A %d %B %Y"), topFrame); 399 lab = new QLabel( i18n("Monday 19 April 2004: %A %d %B %Y"), topFrame);
400 topLayout->addMultiCellWidget(lab ,iii,iii,0,1); 400 topLayout->addMultiCellWidget(lab ,iii,iii,0,1);
401 ++iii; 401 ++iii;
402 //qDebug(" QApplication::desktop()->height()xx %d ", QApplication::desktop()->height() ); 402 //qDebug(" QApplication::desktop()->height()xx %d ", QApplication::desktop()->height() );
403 if ( QApplication::desktop()->height() > 240 ) { 403 if ( QApplication::desktop()->height() > 240 ) {
404 lab = new QLabel( i18n("Mon 19.04.04: %a %d.%m.%y"), topFrame); 404 lab = new QLabel( i18n("Mon 19.04.04: %a %d.%m.%y"), topFrame);
405 topLayout->addMultiCellWidget(lab ,iii,iii,0,1); 405 topLayout->addMultiCellWidget(lab ,iii,iii,0,1);
406 ++iii; 406 ++iii;
407 lab = new QLabel( i18n("Mon, 19.Apr.04: %a, %d.%b.%y"), topFrame); 407 lab = new QLabel( i18n("Mon, 19.Apr.04: %a, %d.%b.%y"), topFrame);
408 topLayout->addMultiCellWidget(lab ,iii,iii,0,1); 408 topLayout->addMultiCellWidget(lab ,iii,iii,0,1);
409 ++iii; 409 ++iii;
410 } 410 }
411 411
412 connect( mUserDateFormatLong, SIGNAL( textChanged ( const QString & )), this, SLOT( textChanged ( const QString & )) ); 412 connect( mUserDateFormatLong, SIGNAL( textChanged ( const QString & )), this, SLOT( textChanged ( const QString & )) );
413 connect( mUserDateFormatShort, SIGNAL( textChanged ( const QString & )), this, SLOT( textChanged ( const QString & )) ); 413 connect( mUserDateFormatShort, SIGNAL( textChanged ( const QString & )), this, SLOT( textChanged ( const QString & )) );
414 414
415 415
416 tabWidget->addTab( topFrame, i18n( "Date Format" ) ); 416 tabWidget->addTab( topFrame, i18n( "Date Format" ) );
417} 417}
418 418
419void KDEPIMConfigWidget::setupLocaleTab() 419void KDEPIMConfigWidget::setupLocaleTab()
420{ 420{
421 421
422 QWidget *topFrame = new QWidget( this ); 422 QWidget *topFrame = new QWidget( this );
423 QGridLayout *topLayout = new QGridLayout(topFrame,4,2); 423 QGridLayout *topLayout = new QGridLayout(topFrame,4,2);
424 424
425 topLayout->setSpacing(KDialog::spacingHint()); 425 topLayout->setSpacing(KDialog::spacingHint());
426 topLayout->setMargin(KDialog::marginHint()); 426 topLayout->setMargin(KDialog::marginHint());
427 int iii = 0; 427 int iii = 0;
428 KPrefsWidRadios *syncPrefsGroup = 428 KPrefsWidRadios *syncPrefsGroup =
429 addWidRadios(i18n("Language:(needs restart)"),&(KPimGlobalPrefs::instance()->mPreferredLanguage),topFrame); 429 addWidRadios(i18n("Language:(needs restart)"),&(KPimGlobalPrefs::instance()->mPreferredLanguage),topFrame);
430 syncPrefsGroup->addRadio(i18n("English")); 430 syncPrefsGroup->addRadio(i18n("English"));
431 syncPrefsGroup->addRadio(i18n("German")); 431 syncPrefsGroup->addRadio(i18n("German"));
432 syncPrefsGroup->addRadio(i18n("French")); 432 syncPrefsGroup->addRadio(i18n("French"));
433 syncPrefsGroup->addRadio(i18n("Italian")); 433 syncPrefsGroup->addRadio(i18n("Italian"));
434 syncPrefsGroup->addRadio(i18n("User defined (usertranslation.txt)")); 434 syncPrefsGroup->addRadio(i18n("User defined (usertranslation.txt)"));
435 if ( QApplication::desktop()->width() < 300 ) { 435 if ( QApplication::desktop()->width() < 300 ) {
436 syncPrefsGroup->groupBox()->layout()->setMargin( 5 ); 436 syncPrefsGroup->groupBox()->layout()->setMargin( 5 );
437 syncPrefsGroup->groupBox()->layout()->setSpacing( 0 ); 437 syncPrefsGroup->groupBox()->layout()->setSpacing( 0 );
438 } 438 }
439 topLayout->addMultiCellWidget( (QWidget*)syncPrefsGroup->groupBox(),iii,iii,0,1); 439 topLayout->addMultiCellWidget( (QWidget*)syncPrefsGroup->groupBox(),iii,iii,0,1);
440 ++iii; 440 ++iii;
441 441
442 442
443 tabWidget->addTab( topFrame, i18n( "Language" ) ); 443 tabWidget->addTab( topFrame, i18n( "Language" ) );
444 topFrame = new QWidget( this ); 444 topFrame = new QWidget( this );
445 topLayout = new QGridLayout(topFrame,4,2); 445 topLayout = new QGridLayout(topFrame,4,2);
446 446
447 topLayout->setSpacing(KDialog::spacingHint()); 447 topLayout->setSpacing(KDialog::spacingHint());
448 topLayout->setMargin(KDialog::marginHint()); 448 topLayout->setMargin(KDialog::marginHint());
449 iii = 0; 449 iii = 0;
450 syncPrefsGroup = 450 syncPrefsGroup =
451 addWidRadios(i18n("Time Format(nr):"),&(KPimGlobalPrefs::instance()->mPreferredTime),topFrame); 451 addWidRadios(i18n("Time Format(nr):"),&(KPimGlobalPrefs::instance()->mPreferredTime),topFrame);
452 if ( QApplication::desktop()->width() > 300 ) 452 if ( QApplication::desktop()->width() > 300 )
453 syncPrefsGroup->groupBox()->setOrientation (Qt::Vertical); 453 syncPrefsGroup->groupBox()->setOrientation (Qt::Vertical);
454 syncPrefsGroup->addRadio(i18n("24:00")); 454 syncPrefsGroup->addRadio(i18n("24:00"));
455 syncPrefsGroup->addRadio(i18n("12:00am")); 455 syncPrefsGroup->addRadio(i18n("12:00am"));
456 syncPrefsGroup->groupBox()->setOrientation (Qt::Vertical); 456 syncPrefsGroup->groupBox()->setOrientation (Qt::Vertical);
457 topLayout->addMultiCellWidget( syncPrefsGroup->groupBox(),iii,iii,0,1); 457 topLayout->addMultiCellWidget( syncPrefsGroup->groupBox(),iii,iii,0,1);
458 ++iii; 458 ++iii;
459 459
460 KPrefsWidBool *sb = addWidBool(i18n("Week starts on Sunday"), 460 KPrefsWidBool *sb = addWidBool(i18n("Week starts on Sunday"),
461 &(KPimGlobalPrefs::instance()->mWeekStartsOnSunday),topFrame); 461 &(KPimGlobalPrefs::instance()->mWeekStartsOnSunday),topFrame);
462 topLayout->addMultiCellWidget((QWidget*)sb->checkBox(), iii,iii,0,1); 462 topLayout->addMultiCellWidget((QWidget*)sb->checkBox(), iii,iii,0,1);
463 ++iii; 463 ++iii;
464 464
465 465
466 tabWidget->addTab( topFrame, i18n( "Time Format" ) ); 466 tabWidget->addTab( topFrame, i18n( "Time Format" ) );
467 467
468} 468}
469 469
470 470
471void KDEPIMConfigWidget::setupTimeZoneTab() 471void KDEPIMConfigWidget::setupTimeZoneTab()
472{ 472{
473 QWidget *topFrame; 473 QWidget *topFrame;
474 QGridLayout *topLayout ; 474 QGridLayout *topLayout ;
475 475
476 476
477 477
478 478
479 479
480 480
481 topFrame = new QWidget( this ); 481 topFrame = new QWidget( this );
482 topLayout = new QGridLayout( topFrame, 5, 2); 482 topLayout = new QGridLayout( topFrame, 5, 2);
483 topLayout->setSpacing(KDialog::spacingHintSmall()); 483 topLayout->setSpacing(KDialog::spacingHintSmall());
484 topLayout->setMargin(KDialog::marginHintSmall()); 484 topLayout->setMargin(KDialog::marginHintSmall());
485 485
486 QHBox *timeZoneBox = new QHBox( topFrame ); 486 QHBox *timeZoneBox = new QHBox( topFrame );
487 topLayout->addMultiCellWidget( timeZoneBox, 0, 0, 0, 1 ); 487 topLayout->addMultiCellWidget( timeZoneBox, 0, 0, 0, 1 );
488 488
489 new QLabel( i18n("Timezone:"), timeZoneBox ); 489 new QLabel( i18n("Timezone:"), timeZoneBox );
490 mTimeZoneCombo = new QComboBox( timeZoneBox ); 490 mTimeZoneCombo = new QComboBox( timeZoneBox );
491 if ( QApplication::desktop()->width() < 300 ) { 491 if ( QApplication::desktop()->width() < 300 ) {
492 mTimeZoneCombo->setMaximumWidth(150); 492 mTimeZoneCombo->setMaximumWidth(150);
493 } 493 }
494 494
495 QStringList list; 495 QStringList list;
496 list = KGlobal::locale()->timeZoneList(); 496 list = KGlobal::locale()->timeZoneList();
497 mTimeZoneCombo->insertStringList(list); 497 mTimeZoneCombo->insertStringList(list);
498 498
499 // find the currently set time zone and select it 499 // find the currently set time zone and select it
500 QString sCurrentlySet = KPimGlobalPrefs::instance()->mTimeZoneId; 500 QString sCurrentlySet = KPimGlobalPrefs::instance()->mTimeZoneId;
501 int nCurrentlySet = 11; 501 int nCurrentlySet = 11;
502 for (int i = 0; i < mTimeZoneCombo->count(); i++) 502 for (int i = 0; i < mTimeZoneCombo->count(); i++)
503 { 503 {
504 if (mTimeZoneCombo->text(i) == sCurrentlySet) 504 if (mTimeZoneCombo->text(i) == sCurrentlySet)
505 { 505 {
506 nCurrentlySet = i; 506 nCurrentlySet = i;
507 break; 507 break;
508 } 508 }
509 } 509 }
510 mTimeZoneCombo->setCurrentItem(nCurrentlySet); 510 mTimeZoneCombo->setCurrentItem(nCurrentlySet);
511 int iii = 1; 511 int iii = 1;
512 KPrefsWidBool *sb = 512 KPrefsWidBool *sb =
513 addWidBool(i18n("Add 30 min to selected Timezone"), 513 addWidBool(i18n("Add 30 min to selected Timezone"),
514 &(KPimGlobalPrefs::instance()->mTimeZoneAdd30min),topFrame); 514 &(KPimGlobalPrefs::instance()->mTimeZoneAdd30min),topFrame);
515 topLayout->addMultiCellWidget((QWidget*)sb->checkBox(), iii,iii,0,1); 515 topLayout->addMultiCellWidget((QWidget*)sb->checkBox(), iii,iii,0,1);
516 ++iii; 516 ++iii;
517 sb = 517 sb =
518 addWidBool(i18n("Timezone has daylight saving"), 518 addWidBool(i18n("Timezone has daylight saving"),
519 &(KPimGlobalPrefs::instance()->mUseDaylightsaving),topFrame); 519 &(KPimGlobalPrefs::instance()->mUseDaylightsaving),topFrame);
520 topLayout->addMultiCellWidget((QWidget*)sb->checkBox(), iii,iii,0,1); 520 topLayout->addMultiCellWidget((QWidget*)sb->checkBox(), iii,iii,0,1);
521 ++iii; 521 ++iii;
522 QLabel* lab; 522 QLabel* lab;
523 523
524 lab = new QLabel( i18n("Actual start and end is the\nsunday before this date."), topFrame ); 524 lab = new QLabel( i18n("Actual start and end is the\nsunday before this date."), topFrame );
525 topLayout->addMultiCellWidget(lab, iii,iii,0,1); 525 topLayout->addMultiCellWidget(lab, iii,iii,0,1);
526 ++iii; 526 ++iii;
527 527
528 lab = new QLabel( i18n("The year in the date is ignored."), topFrame ); 528 lab = new QLabel( i18n("The year in the date is ignored."), topFrame );
529 topLayout->addMultiCellWidget(lab, iii,iii,0,1); 529 topLayout->addMultiCellWidget(lab, iii,iii,0,1);
530 ++iii; 530 ++iii;
531 lab = new QLabel( i18n("Daylight start:"), topFrame ); 531 lab = new QLabel( i18n("Daylight start:"), topFrame );
532 topLayout->addWidget(lab, iii,0); 532 topLayout->addWidget(lab, iii,0);
533 mStartDateSavingEdit = new KDateEdit(topFrame); 533 mStartDateSavingEdit = new KDateEdit(topFrame);
534 topLayout->addWidget(mStartDateSavingEdit, iii,1); 534 topLayout->addWidget(mStartDateSavingEdit, iii,1);
535 ++iii; 535 ++iii;
536 536
537 lab = new QLabel( i18n("Daylight end:"), topFrame ); 537 lab = new QLabel( i18n("Daylight end:"), topFrame );
538 topLayout->addWidget(lab, iii,0); 538 topLayout->addWidget(lab, iii,0);
539 mEndDateSavingEdit = new KDateEdit(topFrame); 539 mEndDateSavingEdit = new KDateEdit(topFrame);
540 topLayout->addWidget(mEndDateSavingEdit, iii,1); 540 topLayout->addWidget(mEndDateSavingEdit, iii,1);
541 ++iii; 541 ++iii;
542 QDate current ( 2001, 1,1); 542 QDate current ( 2001, 1,1);
543 mStartDateSavingEdit->setDate(current.addDays(KPimGlobalPrefs::instance()->mDaylightsavingStart-1)); 543 mStartDateSavingEdit->setDate(current.addDays(KPimGlobalPrefs::instance()->mDaylightsavingStart-1));
544 mEndDateSavingEdit->setDate(current.addDays(KPimGlobalPrefs::instance()->mDaylightsavingEnd-1)); 544 mEndDateSavingEdit->setDate(current.addDays(KPimGlobalPrefs::instance()->mDaylightsavingEnd-1));
545 545
546 connect( mStartDateSavingEdit, SIGNAL( dateChanged(QDate)), this, SLOT( modified()) ); 546 connect( mStartDateSavingEdit, SIGNAL( dateChanged(QDate)), this, SLOT( modified()) );
547 connect( mEndDateSavingEdit, SIGNAL( dateChanged(QDate)), this, SLOT( modified()) ); 547 connect( mEndDateSavingEdit, SIGNAL( dateChanged(QDate)), this, SLOT( modified()) );
548 connect( mTimeZoneCombo, SIGNAL( activated( int ) ), this, SLOT (modified() ) ); 548 connect( mTimeZoneCombo, SIGNAL( activated( int ) ), this, SLOT (modified() ) );
549 tabWidget->addTab( topFrame, i18n( "Time Zone" ) ); 549 tabWidget->addTab( topFrame, i18n( "Time Zone" ) );
550 550
551 551
552 topFrame = new QWidget( this ); 552 topFrame = new QWidget( this );
553 topLayout = new QGridLayout( topFrame, 3, 2); 553 topLayout = new QGridLayout( topFrame, 3, 2);
554 topLayout->setSpacing(KDialog::spacingHintSmall()); 554 topLayout->setSpacing(KDialog::spacingHintSmall());
555 topLayout->setMargin(KDialog::marginHintSmall()); 555 topLayout->setMargin(KDialog::marginHintSmall());
556 tabWidget->addTab( topFrame, i18n( "Fonts" ) ); 556 tabWidget->addTab( topFrame, i18n( "Fonts" ) );
557 557
558 QLabel* labb = new QLabel( i18n("Global application font for all apps:"), topFrame ); 558 QLabel* labb = new QLabel( i18n("Global application font for all apps:"), topFrame );
559 topLayout->addMultiCellWidget(labb,0,0,0,2); 559 topLayout->addMultiCellWidget(labb,0,0,0,2);
560 int i = 1; 560 int i = 1;
561 KPrefsWidFont *timeLabelsFont = 561 KPrefsWidFont *timeLabelsFont =
562 addWidFont(i18n("Kx/Pi"),i18n("Application Font"), 562 addWidFont(i18n("Kx/Pi"),i18n("Application Font"),
563 &(KPimGlobalPrefs::instance()->mApplicationFont),topFrame); 563 &(KPimGlobalPrefs::instance()->mApplicationFont),topFrame);
564 topLayout->addWidget(timeLabelsFont->label(),i,0); 564 topLayout->addWidget(timeLabelsFont->label(),i,0);
565 topLayout->addWidget(timeLabelsFont->preview(),i,1); 565 topLayout->addWidget(timeLabelsFont->preview(),i,1);
566 topLayout->addWidget(timeLabelsFont->button(),i,2); 566 topLayout->addWidget(timeLabelsFont->button(),i,2);
567} 567}
568 568
569void KDEPIMConfigWidget::externalapp_changed( int newApp ) 569void KDEPIMConfigWidget::externalapp_changed( int newApp )
570{ 570{
571 // first store the current data 571 // first store the current data
572 saveEditFieldSettings(); 572 saveEditFieldSettings();
573 573
574 // set mCurrentApp 574 // set mCurrentApp
575 mCurrentApp = (ExternalAppHandler::Types)newApp; 575 mCurrentApp = (ExternalAppHandler::Types)newApp;
576 576
577 // set mCurrentClient 577 // set mCurrentClient
578 switch(mCurrentApp) 578 switch(mCurrentApp)
579 { 579 {
580 case(ExternalAppHandler::EMAIL): 580 case(ExternalAppHandler::EMAIL):
581 mCurrentClient = mEmailClient; 581 mCurrentClient = mEmailClient;
582 break; 582 break;
583 case(ExternalAppHandler::PHONE): 583 case(ExternalAppHandler::PHONE):
584 mCurrentClient = mPhoneClient; 584 mCurrentClient = mPhoneClient;
585 break; 585 break;
586 case(ExternalAppHandler::SMS): 586 case(ExternalAppHandler::SMS):
587 mCurrentClient = mSMSClient; 587 mCurrentClient = mSMSClient;
588 break; 588 break;
589 case(ExternalAppHandler::FAX): 589 case(ExternalAppHandler::FAX):
590 mCurrentClient = mFaxClient; 590 mCurrentClient = mFaxClient;
591 break; 591 break;
592 case(ExternalAppHandler::PAGER): 592 case(ExternalAppHandler::PAGER):
593 mCurrentClient = mPagerClient; 593 mCurrentClient = mPagerClient;
594 break; 594 break;
595 case(ExternalAppHandler::SIP): 595 case(ExternalAppHandler::SIP):
596 mCurrentClient = mSipClient; 596 mCurrentClient = mSipClient;
597 break; 597 break;
598 default: 598 default:
599 return; 599 return;
600 } 600 }
601 601
602 // and at last update the widgets 602 // and at last update the widgets
603 updateClientWidgets(); 603 updateClientWidgets();
604} 604}
605 605
606 606
607 607
608void KDEPIMConfigWidget::client_changed( int newClient ) 608void KDEPIMConfigWidget::client_changed( int newClient )
609{ 609{
610 if (newClient == mCurrentClient) 610 if (newClient == mCurrentClient)
611 return; 611 return;
612 612
613 // first store the current data 613 // first store the current data
614 saveEditFieldSettings(); 614 saveEditFieldSettings();
615 615
616 616
617 //then reset the clientvariable 617 //then reset the clientvariable
618 mCurrentClient = newClient; 618 mCurrentClient = newClient;
619 619
620 // and at last update the widgets 620 // and at last update the widgets
621 updateClientWidgets(); 621 updateClientWidgets();
622 622
623 KPrefsWidget::modified(); 623 KPrefsWidget::modified();
624} 624}
625 625
626void KDEPIMConfigWidget::saveEditFieldSettings() 626void KDEPIMConfigWidget::saveEditFieldSettings()
627{ 627{
628 628
629 switch(mCurrentApp) 629 switch(mCurrentApp)
630 { 630 {
631 case(ExternalAppHandler::EMAIL): 631 case(ExternalAppHandler::EMAIL):
632 mEmailClient = mClient->currentItem(); 632 mEmailClient = mClient->currentItem();
633 break; 633 break;
634 case(ExternalAppHandler::PHONE): 634 case(ExternalAppHandler::PHONE):
635 mPhoneClient= mClient->currentItem(); 635 mPhoneClient= mClient->currentItem();
636 break; 636 break;
637 case(ExternalAppHandler::SMS): 637 case(ExternalAppHandler::SMS):
638 mSMSClient = mClient->currentItem(); 638 mSMSClient = mClient->currentItem();
639 break; 639 break;
640 case(ExternalAppHandler::FAX): 640 case(ExternalAppHandler::FAX):
641 mFaxClient = mClient->currentItem(); 641 mFaxClient = mClient->currentItem();
642 break; 642 break;
643 case(ExternalAppHandler::PAGER): 643 case(ExternalAppHandler::PAGER):
644 mPagerClient = mClient->currentItem(); 644 mPagerClient = mClient->currentItem();
645 break; 645 break;
646 case(ExternalAppHandler::SIP): 646 case(ExternalAppHandler::SIP):
647 mSipClient = mClient->currentItem(); 647 mSipClient = mClient->currentItem();
648 break; 648 break;
649 default: 649 default:
650 return; 650 return;
651 } 651 }
652 652
653 //store the current data back to the apropriate membervariables if we had set it to "other" 653 //store the current data back to the apropriate membervariables if we had set it to "other"
654 if ((mCurrentApp == ExternalAppHandler::EMAIL) && (mCurrentClient == KPimGlobalPrefs::OTHER_EMC)) 654 if ((mCurrentApp == ExternalAppHandler::EMAIL) && (mCurrentClient == KPimGlobalPrefs::OTHER_EMC))
655 { 655 {
656 mEmailOtherChannel = mChannel->text(); 656 mEmailOtherChannel = mChannel->text();
657 mEmailOtherMessage = mMessage->text(); 657 mEmailOtherMessage = mMessage->text();
658 mEmailOtherMessageParameters = mParameters->text(); 658 mEmailOtherMessageParameters = mParameters->text();
659 if ( mMessage2 ) 659 if ( mMessage2 )
660 mEmailOtherMessage2 = mMessage2->text(); 660 mEmailOtherMessage2 = mMessage2->text();
661 if ( mParameters2 ) 661 if ( mParameters2 )
662 mEmailOtherMessageParameters2 = mParameters2->text(); 662 mEmailOtherMessageParameters2 = mParameters2->text();
663 } 663 }
664 else if ((mCurrentApp == ExternalAppHandler::PHONE) && (mCurrentClient == KPimGlobalPrefs::OTHER_PHC)) 664 else if ((mCurrentApp == ExternalAppHandler::PHONE) && (mCurrentClient == KPimGlobalPrefs::OTHER_PHC))
665 { 665 {
666 mPhoneOtherChannel = mChannel->text(); 666 mPhoneOtherChannel = mChannel->text();
667 mPhoneOtherMessage = mMessage->text(); 667 mPhoneOtherMessage = mMessage->text();
668 mPhoneOtherMessageParameters = mParameters->text(); 668 mPhoneOtherMessageParameters = mParameters->text();
669 } 669 }
670 else if ((mCurrentApp == ExternalAppHandler::SMS) && (mCurrentClient == KPimGlobalPrefs::OTHER_SMC)) 670 else if ((mCurrentApp == ExternalAppHandler::SMS) && (mCurrentClient == KPimGlobalPrefs::OTHER_SMC))
671 { 671 {
672 mSMSOtherChannel = mChannel->text(); 672 mSMSOtherChannel = mChannel->text();
673 mSMSOtherMessage = mMessage->text(); 673 mSMSOtherMessage = mMessage->text();
674 mSMSOtherMessageParameters = mParameters->text(); 674 mSMSOtherMessageParameters = mParameters->text();
675 } 675 }
676 else if ((mCurrentApp == ExternalAppHandler::FAX) && (mCurrentClient == KPimGlobalPrefs::OTHER_FAC)) 676 else if ((mCurrentApp == ExternalAppHandler::FAX) && (mCurrentClient == KPimGlobalPrefs::OTHER_FAC))
677 { 677 {
678 mFaxOtherChannel = mChannel->text(); 678 mFaxOtherChannel = mChannel->text();
679 mFaxOtherMessage = mMessage->text(); 679 mFaxOtherMessage = mMessage->text();
680 mFaxOtherMessageParameters = mParameters->text(); 680 mFaxOtherMessageParameters = mParameters->text();
681 } 681 }
682 else if ((mCurrentApp == ExternalAppHandler::PAGER) && (mCurrentClient == KPimGlobalPrefs::OTHER_PAC)) 682 else if ((mCurrentApp == ExternalAppHandler::PAGER) && (mCurrentClient == KPimGlobalPrefs::OTHER_PAC))
683 { 683 {
684 mPagerOtherChannel = mChannel->text(); 684 mPagerOtherChannel = mChannel->text();
685 mPagerOtherMessage = mMessage->text(); 685 mPagerOtherMessage = mMessage->text();
686 mPagerOtherMessageParameters = mParameters->text(); 686 mPagerOtherMessageParameters = mParameters->text();
687 } 687 }
688 else if ((mCurrentApp == ExternalAppHandler::SIP) && (mCurrentClient == KPimGlobalPrefs::OTHER_SIC)) 688 else if ((mCurrentApp == ExternalAppHandler::SIP) && (mCurrentClient == KPimGlobalPrefs::OTHER_SIC))
689 { 689 {
690 mSipOtherChannel = mChannel->text(); 690 mSipOtherChannel = mChannel->text();
691 mSipOtherMessage = mMessage->text(); 691 mSipOtherMessage = mMessage->text();
692 mSipOtherMessageParameters = mParameters->text(); 692 mSipOtherMessageParameters = mParameters->text();
693 } 693 }
694 694
695 695
696} 696}
697 697
698void KDEPIMConfigWidget::updateClientWidgets() 698void KDEPIMConfigWidget::updateClientWidgets()
699{ 699{
700 bool blocked = signalsBlocked(); 700 bool blocked = signalsBlocked();
701 blockSignals( true ); 701 blockSignals( true );
702 702
703 // at this point we assume, that mCurrentApp and mCurrentClient are set to the values that we want to display 703 // at this point we assume, that mCurrentApp and mCurrentClient are set to the values that we want to display
704 QMap<ExternalAppHandler::Types, QString>::Iterator it = mExternalAppsMap.find ( mCurrentApp ); 704 QMap<ExternalAppHandler::Types, QString>::Iterator it = mExternalAppsMap.find ( mCurrentApp );
705 if (it == mExternalAppsMap.end()) 705 if (it == mExternalAppsMap.end())
706 return; 706 return;
707 707
708 // update group box 708 // update group box
709 mExternalAppGroupBox->setTitle(i18n( "Used %1 Client" ).arg(it.data())); 709 mExternalAppGroupBox->setTitle(i18n( "Used %1 Client" ).arg(it.data()));
710 710
711 //update the entries in the client combobox 711 //update the entries in the client combobox
712 mClient->clear(); 712 mClient->clear();
713 713
714 QList<DefaultAppItem> items = ExternalAppHandler::instance()->getAvailableDefaultItems(mCurrentApp); 714 QList<DefaultAppItem> items = ExternalAppHandler::instance()->getAvailableDefaultItems(mCurrentApp);
715 DefaultAppItem* dai; 715 DefaultAppItem* dai;
716 for ( dai=items.first(); dai != 0; dai=items.next() ) 716 for ( dai=items.first(); dai != 0; dai=items.next() )
717 { 717 {
718 mClient->insertItem( i18n(dai->_label), dai->_id ); 718 mClient->insertItem( i18n(dai->_label), dai->_id );
719 719
720 if (dai->_id == mCurrentClient) 720 if (dai->_id == mCurrentClient)
721 { 721 {
722 //restore the edit fields with the data of the local membervariables if we had set it to "other". 722 //restore the edit fields with the data of the local membervariables if we had set it to "other".
723 //Otherwise take the default data from externalapphandler. 723 //Otherwise take the default data from externalapphandler.
724 mChannel->setText(dai->_channel); 724 mChannel->setText(dai->_channel);
725 mMessage->setText(dai->_message); 725 mMessage->setText(dai->_message);
726 mParameters->setText(dai->_parameters); 726 mParameters->setText(dai->_parameters);
727 if ( mMessage2 ) 727 if ( mMessage2 )
728 mMessage2->setText(dai->_message2); 728 mMessage2->setText(dai->_message2);
729 if ( mParameters2 ) 729 if ( mParameters2 )
730 mParameters2->setText(dai->_parameters2); 730 mParameters2->setText(dai->_parameters2);
731 731
732 732
733 if ((mCurrentApp == ExternalAppHandler::EMAIL) && (mCurrentClient == KPimGlobalPrefs::OTHER_EMC)) 733 if ((mCurrentApp == ExternalAppHandler::EMAIL) && (mCurrentClient == KPimGlobalPrefs::OTHER_EMC))
734 { 734 {
735 mChannel->setText(mEmailOtherChannel); 735 mChannel->setText(mEmailOtherChannel);
736 mMessage->setText(mEmailOtherMessage); 736 mMessage->setText(mEmailOtherMessage);
737 mParameters->setText(mEmailOtherMessageParameters); 737 mParameters->setText(mEmailOtherMessageParameters);
738 if ( mMessage2 ) 738 if ( mMessage2 )
739 mMessage2->setText(mEmailOtherMessage2); 739 mMessage2->setText(mEmailOtherMessage2);
740 if ( mParameters2 ) 740 if ( mParameters2 )
741 mParameters2->setText(mEmailOtherMessageParameters2); 741 mParameters2->setText(mEmailOtherMessageParameters2);
742 } 742 }
743 else if ((mCurrentApp == ExternalAppHandler::PHONE) && (mCurrentClient == KPimGlobalPrefs::OTHER_PHC)) 743 else if ((mCurrentApp == ExternalAppHandler::PHONE) && (mCurrentClient == KPimGlobalPrefs::OTHER_PHC))
744 { 744 {
745 mChannel->setText(mPhoneOtherChannel); 745 mChannel->setText(mPhoneOtherChannel);
746 mMessage->setText(mPhoneOtherMessage); 746 mMessage->setText(mPhoneOtherMessage);
747 mParameters->setText(mPhoneOtherMessageParameters); 747 mParameters->setText(mPhoneOtherMessageParameters);
748 } 748 }
749 else if ((mCurrentApp == ExternalAppHandler::SMS) && (mCurrentClient == KPimGlobalPrefs::OTHER_SMC)) 749 else if ((mCurrentApp == ExternalAppHandler::SMS) && (mCurrentClient == KPimGlobalPrefs::OTHER_SMC))
750 { 750 {
751 mChannel->setText(mSMSOtherChannel); 751 mChannel->setText(mSMSOtherChannel);
752 mMessage->setText(mSMSOtherMessage); 752 mMessage->setText(mSMSOtherMessage);
753 mParameters->setText(mSMSOtherMessageParameters); 753 mParameters->setText(mSMSOtherMessageParameters);
754 } 754 }
755 else if ((mCurrentApp == ExternalAppHandler::FAX) && (mCurrentClient == KPimGlobalPrefs::OTHER_FAC)) 755 else if ((mCurrentApp == ExternalAppHandler::FAX) && (mCurrentClient == KPimGlobalPrefs::OTHER_FAC))
756 { 756 {
757 mChannel->setText(mFaxOtherChannel); 757 mChannel->setText(mFaxOtherChannel);
758 mMessage->setText(mFaxOtherMessage); 758 mMessage->setText(mFaxOtherMessage);
759 mParameters->setText(mFaxOtherMessageParameters); 759 mParameters->setText(mFaxOtherMessageParameters);
760 } 760 }
761 else if ((mCurrentApp == ExternalAppHandler::PAGER) && (mCurrentClient == KPimGlobalPrefs::OTHER_PAC)) 761 else if ((mCurrentApp == ExternalAppHandler::PAGER) && (mCurrentClient == KPimGlobalPrefs::OTHER_PAC))
762 { 762 {
763 mChannel->setText(mPagerOtherChannel); 763 mChannel->setText(mPagerOtherChannel);
764 mMessage->setText(mPagerOtherMessage); 764 mMessage->setText(mPagerOtherMessage);
765 mParameters->setText(mPagerOtherMessageParameters); 765 mParameters->setText(mPagerOtherMessageParameters);
766 } 766 }
767 else if ((mCurrentApp == ExternalAppHandler::SIP) && (mCurrentClient == KPimGlobalPrefs::OTHER_SIC)) 767 else if ((mCurrentApp == ExternalAppHandler::SIP) && (mCurrentClient == KPimGlobalPrefs::OTHER_SIC))
768 { 768 {
769 mChannel->setText(mSipOtherChannel); 769 mChannel->setText(mSipOtherChannel);
770 mMessage->setText(mSipOtherMessage); 770 mMessage->setText(mSipOtherMessage);
771 mParameters->setText(mSipOtherMessageParameters); 771 mParameters->setText(mSipOtherMessageParameters);
772 } 772 }
773 } 773 }
774 774
775 } 775 }
776 776
777 bool readonly; 777 bool readonly;
778 bool enabled; 778 bool enabled;
779 if ( ((mCurrentApp == ExternalAppHandler::EMAIL) && (mCurrentClient == KPimGlobalPrefs::OTHER_EMC)) 779 if ( ((mCurrentApp == ExternalAppHandler::EMAIL) && (mCurrentClient == KPimGlobalPrefs::OTHER_EMC))
780 ||((mCurrentApp == ExternalAppHandler::PHONE) && (mCurrentClient == KPimGlobalPrefs::OTHER_PHC)) 780 ||((mCurrentApp == ExternalAppHandler::PHONE) && (mCurrentClient == KPimGlobalPrefs::OTHER_PHC))
781 ||((mCurrentApp == ExternalAppHandler::SMS) && (mCurrentClient == KPimGlobalPrefs::OTHER_SMC)) 781 ||((mCurrentApp == ExternalAppHandler::SMS) && (mCurrentClient == KPimGlobalPrefs::OTHER_SMC))
782 ||((mCurrentApp == ExternalAppHandler::FAX) && (mCurrentClient == KPimGlobalPrefs::OTHER_FAC)) 782 ||((mCurrentApp == ExternalAppHandler::FAX) && (mCurrentClient == KPimGlobalPrefs::OTHER_FAC))
783 ||((mCurrentApp == ExternalAppHandler::PAGER) && (mCurrentClient == KPimGlobalPrefs::OTHER_PAC)) 783 ||((mCurrentApp == ExternalAppHandler::PAGER) && (mCurrentClient == KPimGlobalPrefs::OTHER_PAC))
784 ||((mCurrentApp == ExternalAppHandler::SIP) && (mCurrentClient == KPimGlobalPrefs::OTHER_SIC))) 784 ||((mCurrentApp == ExternalAppHandler::SIP) && (mCurrentClient == KPimGlobalPrefs::OTHER_SIC)))
785 { 785 {
786 readonly = false; 786 readonly = false;
787 } 787 }
788 else 788 else
789 { 789 {
790 readonly = true; 790 readonly = true;
791 } 791 }
792 792
793 if ( ((mCurrentApp == ExternalAppHandler::EMAIL) && (mCurrentClient == KPimGlobalPrefs::NONE_EMC)) 793 if ( ((mCurrentApp == ExternalAppHandler::EMAIL) && (mCurrentClient == KPimGlobalPrefs::NONE_EMC))
794 ||((mCurrentApp == ExternalAppHandler::PHONE) && (mCurrentClient == KPimGlobalPrefs::NONE_PHC)) 794 ||((mCurrentApp == ExternalAppHandler::PHONE) && (mCurrentClient == KPimGlobalPrefs::NONE_PHC))
795 ||((mCurrentApp == ExternalAppHandler::SMS) && (mCurrentClient == KPimGlobalPrefs::NONE_SMC)) 795 ||((mCurrentApp == ExternalAppHandler::SMS) && (mCurrentClient == KPimGlobalPrefs::NONE_SMC))
796 ||((mCurrentApp == ExternalAppHandler::FAX) && (mCurrentClient == KPimGlobalPrefs::NONE_FAC)) 796 ||((mCurrentApp == ExternalAppHandler::FAX) && (mCurrentClient == KPimGlobalPrefs::NONE_FAC))
797 ||((mCurrentApp == ExternalAppHandler::PAGER) && (mCurrentClient == KPimGlobalPrefs::NONE_PAC)) 797 ||((mCurrentApp == ExternalAppHandler::PAGER) && (mCurrentClient == KPimGlobalPrefs::NONE_PAC))
798 ||((mCurrentApp == ExternalAppHandler::SIP) && (mCurrentClient == KPimGlobalPrefs::NONE_SIC))) 798 ||((mCurrentApp == ExternalAppHandler::SIP) && (mCurrentClient == KPimGlobalPrefs::NONE_SIC)))
799 { 799 {
800 enabled = false; 800 enabled = false;
801 } 801 }
802 else 802 else
803 { 803 {
804 enabled = true; 804 enabled = true;
805 } 805 }
806 806
807 807
808 mChannel->setReadOnly(readonly); 808 mChannel->setReadOnly(readonly);
809 mMessage->setReadOnly(readonly); 809 mMessage->setReadOnly(readonly);
810 mParameters->setReadOnly(readonly); 810 mParameters->setReadOnly(readonly);
811 if ( mMessage2 ) 811 if ( mMessage2 )
812 mMessage2->setReadOnly(readonly); 812 mMessage2->setReadOnly(readonly);
813 if ( mParameters2 ) 813 if ( mParameters2 )
814 mParameters2->setReadOnly(readonly); 814 mParameters2->setReadOnly(readonly);
815 815
816 mChannel->setEnabled(enabled); 816 mChannel->setEnabled(enabled);
817 mMessage->setEnabled(enabled); 817 mMessage->setEnabled(enabled);
818 mParameters->setEnabled(enabled); 818 mParameters->setEnabled(enabled);
819 if ( mMessage2 ) 819 if ( mMessage2 )
820 mMessage2->setEnabled(enabled); 820 mMessage2->setEnabled(enabled);
821 if ( mParameters2 ) 821 if ( mParameters2 )
822 mParameters2->setEnabled(enabled); 822 mParameters2->setEnabled(enabled);
823 823
824 824
825 825
826 mClient->setCurrentItem(mCurrentClient); 826 mClient->setCurrentItem(mCurrentClient);
827 827
828 828
829 // enable/disable the extra message/parameter field 829 // enable/disable the extra message/parameter field
830 if (mCurrentApp == ExternalAppHandler::EMAIL) 830 if (mCurrentApp == ExternalAppHandler::EMAIL)
831 { 831 {
832 } 832 }
833 else 833 else
834 { 834 {
835 if ( mMessage2 ) 835 if ( mMessage2 )
836 mMessage2->setText( "" ); 836 mMessage2->setText( "" );
837 if ( mParameters2 ) 837 if ( mParameters2 )
838 mParameters2->setText( "" ); 838 mParameters2->setText( "" );
839 } 839 }
840 840
841 if (enabled == true) { 841 if (enabled == true) {
842 if ( mMessage2 ) 842 if ( mMessage2 )
843 mMessage2->setEnabled(mCurrentApp == ExternalAppHandler::EMAIL); 843 mMessage2->setEnabled(mCurrentApp == ExternalAppHandler::EMAIL);
844 if ( mParameters2 ) 844 if ( mParameters2 )
845 mParameters2->setEnabled(mCurrentApp == ExternalAppHandler::EMAIL); 845 mParameters2->setEnabled(mCurrentApp == ExternalAppHandler::EMAIL);
846 } 846 }
847 847
848 848
849 blockSignals( blocked ); 849 blockSignals( blocked );
850 850
851} 851}
852 852
853void KDEPIMConfigWidget::usrReadConfig() 853void KDEPIMConfigWidget::usrReadConfig()
854{ 854{
855 KPimGlobalPrefs* prefs = KPimGlobalPrefs::instance(); 855 KPimGlobalPrefs* prefs = KPimGlobalPrefs::instance();
856 856
857 bool blocked = signalsBlocked(); 857 bool blocked = signalsBlocked();
858 blockSignals( true ); 858 blockSignals( true );
859 859
860 if (KPimGlobalPrefs::instance()->mBackupUseDefaultDir ) 860 if (KPimGlobalPrefs::instance()->mBackupUseDefaultDir )
861 mBackupUrl->setURL( KGlobalSettings::backupDataDir() ); 861 mBackupUrl->setURL( KGlobalSettings::backupDataDir() );
862 else { 862 else {
863 mBackupUrl->setURL(prefs->mBackupDatadir); 863 mBackupUrl->setURL(prefs->mBackupDatadir);
864 864
865 } 865 }
866 mBackupNumbersSpin->setValue( prefs->mBackupNumbers ); 866 mBackupNumbersSpin->setValue( prefs->mBackupNumbers );
867 mBackupDayCountSpin->setValue( prefs->mBackupDayCount); 867 mBackupDayCountSpin->setValue( prefs->mBackupDayCount);
868 868
869 QString dummy = prefs->mUserDateFormatLong; 869 QString dummy = prefs->mUserDateFormatLong;
870 mUserDateFormatLong->setText(dummy.replace( QRegExp("K"), QString(",") )); 870 mUserDateFormatLong->setText(dummy.replace( QRegExp("K"), QString(",") ));
871 dummy = prefs->mUserDateFormatShort; 871 dummy = prefs->mUserDateFormatShort;
872 mUserDateFormatShort->setText(dummy.replace( QRegExp("K"), QString(",") )); 872 mUserDateFormatShort->setText(dummy.replace( QRegExp("K"), QString(",") ));
873 873
874 QDate current ( 2001, 1,1); 874 QDate current ( 2001, 1,1);
875 mStartDateSavingEdit->setDate(current.addDays(prefs->mDaylightsavingStart-1)); 875 mStartDateSavingEdit->setDate(current.addDays(prefs->mDaylightsavingStart-1));
876 mEndDateSavingEdit->setDate(current.addDays(prefs->mDaylightsavingEnd-1)); 876 mEndDateSavingEdit->setDate(current.addDays(prefs->mDaylightsavingEnd-1));
877 setCombo(mTimeZoneCombo,i18n(prefs->mTimeZoneId)); 877 setCombo(mTimeZoneCombo,i18n(prefs->mTimeZoneId));
878 878
879 mEmailClient = prefs->mEmailClient; 879 mEmailClient = prefs->mEmailClient;
880 mEmailOtherChannel = prefs->mEmailOtherChannel; 880 mEmailOtherChannel = prefs->mEmailOtherChannel;
881 mEmailOtherMessage = prefs->mEmailOtherMessage; 881 mEmailOtherMessage = prefs->mEmailOtherMessage;
882 mEmailOtherMessageParameters = prefs->mEmailOtherMessageParameters; 882 mEmailOtherMessageParameters = prefs->mEmailOtherMessageParameters;
883 mEmailOtherMessage2 = prefs->mEmailOtherMessage2; 883 mEmailOtherMessage2 = prefs->mEmailOtherMessage2;
884 mEmailOtherMessageParameters2 = prefs->mEmailOtherMessageParameters2; 884 mEmailOtherMessageParameters2 = prefs->mEmailOtherMessageParameters2;
885 885
886 mPhoneClient = prefs->mPhoneClient; 886 mPhoneClient = prefs->mPhoneClient;
887 mPhoneOtherChannel = prefs->mPhoneOtherChannel; 887 mPhoneOtherChannel = prefs->mPhoneOtherChannel;
888 mPhoneOtherMessage = prefs->mPhoneOtherMessage; 888 mPhoneOtherMessage = prefs->mPhoneOtherMessage;
889 mPhoneOtherMessageParameters = prefs->mPhoneOtherMessageParameters; 889 mPhoneOtherMessageParameters = prefs->mPhoneOtherMessageParameters;
890 890
891 mFaxClient = prefs->mFaxClient; 891 mFaxClient = prefs->mFaxClient;
892 mFaxOtherChannel = prefs->mFaxOtherChannel; 892 mFaxOtherChannel = prefs->mFaxOtherChannel;
893 mFaxOtherMessage = prefs->mFaxOtherMessage; 893 mFaxOtherMessage = prefs->mFaxOtherMessage;
894 mFaxOtherMessageParameters = prefs->mFaxOtherMessageParameters; 894 mFaxOtherMessageParameters = prefs->mFaxOtherMessageParameters;
895 895
896 mSMSClient = prefs->mSMSClient; 896 mSMSClient = prefs->mSMSClient;
897 mSMSOtherChannel = prefs->mSMSOtherChannel; 897 mSMSOtherChannel = prefs->mSMSOtherChannel;
898 mSMSOtherMessage = prefs->mSMSOtherMessage; 898 mSMSOtherMessage = prefs->mSMSOtherMessage;
899 mSMSOtherMessageParameters = prefs->mSMSOtherMessageParameters; 899 mSMSOtherMessageParameters = prefs->mSMSOtherMessageParameters;
900 900
901 mPagerClient = prefs->mPagerClient; 901 mPagerClient = prefs->mPagerClient;
902 mPagerOtherChannel = prefs->mPagerOtherChannel; 902 mPagerOtherChannel = prefs->mPagerOtherChannel;
903 mPagerOtherMessage = prefs->mPagerOtherMessage; 903 mPagerOtherMessage = prefs->mPagerOtherMessage;
904 mPagerOtherMessageParameters = prefs->mPagerOtherMessageParameters; 904 mPagerOtherMessageParameters = prefs->mPagerOtherMessageParameters;
905 905
906 mSipClient = prefs->mSipClient; 906 mSipClient = prefs->mSipClient;
907 mSipOtherChannel = prefs->mSipOtherChannel; 907 mSipOtherChannel = prefs->mSipOtherChannel;
908 mSipOtherMessage = prefs->mSipOtherMessage; 908 mSipOtherMessage = prefs->mSipOtherMessage;
909 mSipOtherMessageParameters = prefs->mSipOtherMessageParameters; 909 mSipOtherMessageParameters = prefs->mSipOtherMessageParameters;
910 910
911 mCurrentApp = ExternalAppHandler::EMAIL; 911 mCurrentApp = ExternalAppHandler::EMAIL;
912 mCurrentClient = mEmailClient; 912 mCurrentClient = mEmailClient;
913 913
914 updateClientWidgets(); 914 updateClientWidgets();
915 915
916 blockSignals( blocked ); 916 blockSignals( blocked );
917 917
918} 918}
919 919
920void KDEPIMConfigWidget::usrWriteConfig() 920void KDEPIMConfigWidget::usrWriteConfig()
921{ 921{
922 KPimGlobalPrefs* prefs = KPimGlobalPrefs::instance(); 922 KPimGlobalPrefs* prefs = KPimGlobalPrefs::instance();
923 923
924 saveEditFieldSettings(); 924 saveEditFieldSettings();
925 925
926 prefs->mBackupNumbers = mBackupNumbersSpin->value(); 926 prefs->mBackupNumbers = mBackupNumbersSpin->value();
927 prefs->mBackupDayCount = mBackupDayCountSpin->value(); 927 prefs->mBackupDayCount = mBackupDayCountSpin->value();
928 prefs->mBackupDatadir = mBackupUrl->url(); 928 QString bup_url = mBackupUrl->url();
929 if ( bup_url.right(1) != "/" && bup_url.right(1) != "\\" )
930 bup_url += "/";
931
932 prefs->mBackupDatadir = bup_url;
929 933
930 prefs->mUserDateFormatShort = mUserDateFormatShort->text().replace( QRegExp(","), QString("K") ); 934 prefs->mUserDateFormatShort = mUserDateFormatShort->text().replace( QRegExp(","), QString("K") );
931 prefs->mUserDateFormatLong = mUserDateFormatLong->text().replace( QRegExp(","), QString("K") ); 935 prefs->mUserDateFormatLong = mUserDateFormatLong->text().replace( QRegExp(","), QString("K") );
932 936
933 prefs->mTimeZoneId = mTimeZoneCombo->currentText(); 937 prefs->mTimeZoneId = mTimeZoneCombo->currentText();
934 QDate date; 938 QDate date;
935 date = mStartDateSavingEdit->date(); 939 date = mStartDateSavingEdit->date();
936 int sub = 0; 940 int sub = 0;
937 if ( QDate::leapYear( date.year() ) && date.dayOfYear() > 59 ) 941 if ( QDate::leapYear( date.year() ) && date.dayOfYear() > 59 )
938 sub = 1; 942 sub = 1;
939 prefs->mDaylightsavingStart = date.dayOfYear()-sub; 943 prefs->mDaylightsavingStart = date.dayOfYear()-sub;
940 date = mEndDateSavingEdit->date(); 944 date = mEndDateSavingEdit->date();
941 if ( QDate::leapYear( date.year() ) && date.dayOfYear() > 59 ) 945 if ( QDate::leapYear( date.year() ) && date.dayOfYear() > 59 )
942 sub = 1; 946 sub = 1;
943 else 947 else
944 sub = 0; 948 sub = 0;
945 prefs->mDaylightsavingEnd = date.dayOfYear()-sub; 949 prefs->mDaylightsavingEnd = date.dayOfYear()-sub;
946 950
947 951
948 prefs->mEmailClient = mEmailClient; 952 prefs->mEmailClient = mEmailClient;
949 prefs->mEmailOtherChannel = mEmailOtherChannel; 953 prefs->mEmailOtherChannel = mEmailOtherChannel;
950 prefs->mEmailOtherMessage = mEmailOtherMessage; 954 prefs->mEmailOtherMessage = mEmailOtherMessage;
951 prefs->mEmailOtherMessageParameters = mEmailOtherMessageParameters; 955 prefs->mEmailOtherMessageParameters = mEmailOtherMessageParameters;
952 prefs->mEmailOtherMessage2 = mEmailOtherMessage2; 956 prefs->mEmailOtherMessage2 = mEmailOtherMessage2;
953 prefs->mEmailOtherMessageParameters2 = mEmailOtherMessageParameters2; 957 prefs->mEmailOtherMessageParameters2 = mEmailOtherMessageParameters2;
954 958
955 prefs->mPhoneClient = mPhoneClient; 959 prefs->mPhoneClient = mPhoneClient;
956 prefs->mPhoneOtherChannel = mPhoneOtherChannel; 960 prefs->mPhoneOtherChannel = mPhoneOtherChannel;
957 prefs->mPhoneOtherMessage = mPhoneOtherMessage; 961 prefs->mPhoneOtherMessage = mPhoneOtherMessage;
958 prefs->mPhoneOtherMessageParameters = mPhoneOtherMessageParameters; 962 prefs->mPhoneOtherMessageParameters = mPhoneOtherMessageParameters;
959 963
960 prefs->mFaxClient = mFaxClient; 964 prefs->mFaxClient = mFaxClient;
961 prefs->mFaxOtherChannel = mFaxOtherChannel; 965 prefs->mFaxOtherChannel = mFaxOtherChannel;
962 prefs->mFaxOtherMessage = mFaxOtherMessage; 966 prefs->mFaxOtherMessage = mFaxOtherMessage;
963 prefs->mFaxOtherMessageParameters = mFaxOtherMessageParameters; 967 prefs->mFaxOtherMessageParameters = mFaxOtherMessageParameters;
964 968
965 prefs->mSMSClient = mSMSClient; 969 prefs->mSMSClient = mSMSClient;
966 prefs->mSMSOtherChannel = mSMSOtherChannel; 970 prefs->mSMSOtherChannel = mSMSOtherChannel;
967 prefs->mSMSOtherMessage = mSMSOtherMessage; 971 prefs->mSMSOtherMessage = mSMSOtherMessage;
968 prefs->mSMSOtherMessageParameters = mSMSOtherMessageParameters; 972 prefs->mSMSOtherMessageParameters = mSMSOtherMessageParameters;
969 973
970 prefs->mPagerClient = mPagerClient; 974 prefs->mPagerClient = mPagerClient;
971 prefs->mPagerOtherChannel = mPagerOtherChannel; 975 prefs->mPagerOtherChannel = mPagerOtherChannel;
972 prefs->mPagerOtherMessage = mPagerOtherMessage; 976 prefs->mPagerOtherMessage = mPagerOtherMessage;
973 prefs->mPagerOtherMessageParameters = mPagerOtherMessageParameters; 977 prefs->mPagerOtherMessageParameters = mPagerOtherMessageParameters;
974 978
975 979
976 prefs->mSipClient = mSipClient; 980 prefs->mSipClient = mSipClient;
977 prefs->mSipOtherChannel = mSipOtherChannel; 981 prefs->mSipOtherChannel = mSipOtherChannel;
978 prefs->mSipOtherMessage = mSipOtherMessage; 982 prefs->mSipOtherMessage = mSipOtherMessage;
979 prefs->mSipOtherMessageParameters = mSipOtherMessageParameters; 983 prefs->mSipOtherMessageParameters = mSipOtherMessageParameters;
980 984
981 //release the cache that other views can access the changed values instantanious 985 //release the cache that other views can access the changed values instantanious
982 ExternalAppHandler::instance()->loadConfig(); 986 ExternalAppHandler::instance()->loadConfig();
983 KPimGlobalPrefs::instance()->setGlobalConfig(); 987 KPimGlobalPrefs::instance()->setGlobalConfig();
984} 988}
985 989
986 990
987void KDEPIMConfigWidget::setCombo(QComboBox *combo, const QString & text, 991void KDEPIMConfigWidget::setCombo(QComboBox *combo, const QString & text,
988 const QStringList *tags) 992 const QStringList *tags)
989{ 993{
990 if (tags) { 994 if (tags) {
991 int i = tags->findIndex(text); 995 int i = tags->findIndex(text);
992 if (i > 0) combo->setCurrentItem(i); 996 if (i > 0) combo->setCurrentItem(i);
993 } else { 997 } else {
994 for(int i=0;i<combo->count();++i) { 998 for(int i=0;i<combo->count();++i) {
995 if (combo->text(i) == text) { 999 if (combo->text(i) == text) {
996 combo->setCurrentItem(i); 1000 combo->setCurrentItem(i);
997 break; 1001 break;
998 } 1002 }
999 } 1003 }
1000 } 1004 }
1001} 1005}
1002 1006
1003 1007
1004void KDEPIMConfigWidget::textChanged( const QString& text ) 1008void KDEPIMConfigWidget::textChanged( const QString& text )
1005{ 1009{
1006 emit changed( true ); 1010 emit changed( true );
1007} 1011}