summaryrefslogtreecommitdiffabout
path: root/libkdepim
Unidiff
Diffstat (limited to 'libkdepim') (more/less context) (ignore whitespace changes)
-rw-r--r--libkdepim/kcmconfigs/kdepimconfigwidget.cpp26
-rw-r--r--libkdepim/kcmconfigs/kdepimconfigwidget.h2
-rw-r--r--libkdepim/kdatepicker.cpp1
3 files changed, 25 insertions, 4 deletions
diff --git a/libkdepim/kcmconfigs/kdepimconfigwidget.cpp b/libkdepim/kcmconfigs/kdepimconfigwidget.cpp
index ff1e240..764c495 100644
--- a/libkdepim/kcmconfigs/kdepimconfigwidget.cpp
+++ b/libkdepim/kcmconfigs/kdepimconfigwidget.cpp
@@ -9,430 +9,448 @@
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 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
220#ifdef DESKTOP_VERSION
221 if ( mStoreUrl->url().startsWith( "LOCAL:" ) ) {
222 mDataStoragePath->setText( i18n("Settings are stored in\n%1").arg( qApp->applicationDirPath ()+"/.microkdehome" ));
223 }
224#endif
219} 225}
220void KDEPIMConfigWidget::setLocalStore() 226void KDEPIMConfigWidget::setLocalStore()
221{ 227{
222 mStoreUrl->setURL( "LOCAL:kdepimpi" ); 228 mStoreUrl->setURL( "LOCAL:kdepimpi" );
223 saveStoreSettings(); 229 saveStoreSettings();
224 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.");
225 KMessageBox::information( this, message); 231 KMessageBox::information( this, message);
226} 232}
227void KDEPIMConfigWidget::setStandardStore() 233void KDEPIMConfigWidget::setStandardStore()
228{ 234{
229 mStoreUrl->setURL( QDir::homeDirPath() + "/kdepim" ); 235 mStoreUrl->setURL( QDir::homeDirPath() + "/kdepim" );
230 saveStoreSettings(); 236 saveStoreSettings();
231} 237}
232void KDEPIMConfigWidget::saveStoreSettings() 238void KDEPIMConfigWidget::saveStoreSettings()
233{ 239{
240#ifdef DESKTOP_VERSION
241 if ( !mStoreUrl->url().startsWith( "LOCAL:" ) ) {
242 QString file = qApp->applicationDirPath ()+"/.microkdehome";
243 QFileInfo fi ( file );
244 if ( fi.exists() ) {
245 bool res = QFile::remove( file );
246 if ( ! res )
247 KMessageBox::information( this, i18n("ERROR: Cannot remove file\n%1\nPlease remove it manually.").arg( file ));
248 }
249 }
250#endif
234 if ( !mStoreUrl->url().isEmpty() ) { 251 if ( !mStoreUrl->url().isEmpty() ) {
235 QString path = QDir::homeDirPath(); 252 QString path = QDir::homeDirPath();
236 QString url = mStoreUrl->url(); 253 QString url = mStoreUrl->url();
237#ifdef DESKTOP_VERSION 254#ifdef DESKTOP_VERSION
238 if ( url.startsWith( "LOCAL:" ) ) { 255 if ( url.startsWith( "LOCAL:" ) ) {
239 path = qApp->applicationDirPath () ; 256 path = qApp->applicationDirPath () ;
240 } 257 }
241#endif 258#endif
242 KConfig cfg ( path + "/.microkdehome" ); 259 KConfig cfg ( path + "/.microkdehome" );
243 cfg.setGroup("Global"); 260 cfg.setGroup("Global");
244 cfg.writeEntry( "MICROKDEHOME", url ); 261 cfg.writeEntry( "MICROKDEHOME", url );
245 qDebug("cfg.writeEntry( MICROKDEHOME, %s ", url.latin1()); 262 qDebug("cfg.writeEntry( MICROKDEHOME, %s ", url.latin1());
246 cfg.sync(); 263 cfg.sync();
264 mDataStoragePath->setText( i18n("Settings are stored in\n%1").arg( path+"/.microkdehome" ));
247 } else { 265 } else {
248 mStoreUrl->setURL( QDir::homeDirPath() + "/kdepim" ); 266 mStoreUrl->setURL( QDir::homeDirPath() + "/kdepim" );
249 saveStoreSettings(); 267 saveStoreSettings();
250 } 268 }
251} 269}
252void KDEPIMConfigWidget::setupExternalAppTab() 270void KDEPIMConfigWidget::setupExternalAppTab()
253{ 271{
254 QWidget *externalAppsPage = new QWidget( this ); 272 QWidget *externalAppsPage = new QWidget( this );
255 QVBoxLayout* layout = new QVBoxLayout( externalAppsPage, KDialog::marginHintSmall(), 273 QVBoxLayout* layout = new QVBoxLayout( externalAppsPage, KDialog::marginHintSmall(),
256 KDialog::spacingHintSmall() ); 274 KDialog::spacingHintSmall() );
257 275
258 mExternalApps = new QComboBox( externalAppsPage ); 276 mExternalApps = new QComboBox( externalAppsPage );
259 277
260 QMap<ExternalAppHandler::Types, QString>::Iterator it; 278 QMap<ExternalAppHandler::Types, QString>::Iterator it;
261 for( it = mExternalAppsMap.begin(); it != mExternalAppsMap.end(); ++it ) 279 for( it = mExternalAppsMap.begin(); it != mExternalAppsMap.end(); ++it )
262 mExternalApps->insertItem( it.data(), it.key() ); 280 mExternalApps->insertItem( it.data(), it.key() );
263 281
264 layout->addWidget( mExternalApps ); 282 layout->addWidget( mExternalApps );
265 283
266 connect( mExternalApps, SIGNAL( activated( int ) ), 284 connect( mExternalApps, SIGNAL( activated( int ) ),
267 this, SLOT (externalapp_changed( int ) ) ); 285 this, SLOT (externalapp_changed( int ) ) );
268 286
269 287
270 mExternalAppGroupBox = new QGroupBox( 0, Qt::Vertical, i18n( "Used Mail Client" ), externalAppsPage ); 288 mExternalAppGroupBox = new QGroupBox( 0, Qt::Vertical, i18n( "Used Mail Client" ), externalAppsPage );
271 QGridLayout *boxLayout = new QGridLayout( mExternalAppGroupBox->layout(), 4, 2, -1, "gridlayout" ); 289 QGridLayout *boxLayout = new QGridLayout( mExternalAppGroupBox->layout(), 4, 2, -1, "gridlayout" );
272 mExternalAppGroupBox->layout()->setMargin(4); 290 mExternalAppGroupBox->layout()->setMargin(4);
273 291
274 mClient = new QComboBox( mExternalAppGroupBox ); 292 mClient = new QComboBox( mExternalAppGroupBox );
275 boxLayout->addMultiCellWidget( mClient, 0, 0, 0, 1 ); 293 boxLayout->addMultiCellWidget( mClient, 0, 0, 0, 1 );
276 294
277 connect( mClient, SIGNAL( activated( int ) ), 295 connect( mClient, SIGNAL( activated( int ) ),
278 this, SLOT (client_changed( int ) ) ); 296 this, SLOT (client_changed( int ) ) );
279 297
280 QLabel* lab = new QLabel( i18n("Channel:"), mExternalAppGroupBox); 298 QLabel* lab = new QLabel( i18n("Channel:"), mExternalAppGroupBox);
281 boxLayout->addWidget( lab, 1, 0 ); 299 boxLayout->addWidget( lab, 1, 0 );
282 mChannel = new QLineEdit(mExternalAppGroupBox); 300 mChannel = new QLineEdit(mExternalAppGroupBox);
283 mChannel->setReadOnly(true); 301 mChannel->setReadOnly(true);
284 boxLayout->addMultiCellWidget( mChannel, 2 , 2, 0, 1 ); 302 boxLayout->addMultiCellWidget( mChannel, 2 , 2, 0, 1 );
285 303
286 lab = new QLabel( i18n("Message:"), mExternalAppGroupBox); 304 lab = new QLabel( i18n("Message:"), mExternalAppGroupBox);
287 boxLayout->addWidget( lab, 3, 0 ); 305 boxLayout->addWidget( lab, 3, 0 );
288 mMessage = new QLineEdit(mExternalAppGroupBox); 306 mMessage = new QLineEdit(mExternalAppGroupBox);
289 mMessage->setReadOnly(true); 307 mMessage->setReadOnly(true);
290 boxLayout->addWidget( mMessage , 4, 0); 308 boxLayout->addWidget( mMessage , 4, 0);
291 309
292 lab = new QLabel( i18n("Parameters:"), mExternalAppGroupBox); 310 lab = new QLabel( i18n("Parameters:"), mExternalAppGroupBox);
293 boxLayout->addWidget( lab, 3, 1 ); 311 boxLayout->addWidget( lab, 3, 1 );
294 mParameters = new QLineEdit(mExternalAppGroupBox); 312 mParameters = new QLineEdit(mExternalAppGroupBox);
295 mParameters->setReadOnly(true); 313 mParameters->setReadOnly(true);
296 boxLayout->addWidget( mParameters, 4, 1 ); 314 boxLayout->addWidget( mParameters, 4, 1 );
297 lab = new QLabel( i18n("HINT: Delimiter=; Name=%1,Email=%2"), mExternalAppGroupBox); 315 lab = new QLabel( i18n("HINT: Delimiter=; Name=%1,Email=%2"), mExternalAppGroupBox);
298 boxLayout->addMultiCellWidget( lab, 5, 5, 0, 1 ); 316 boxLayout->addMultiCellWidget( lab, 5, 5, 0, 1 );
299 317
300 318
301 if ( QApplication::desktop()->height() > 240 ) { 319 if ( QApplication::desktop()->height() > 240 ) {
302 lab = new QLabel( i18n("extra Message:"), mExternalAppGroupBox); 320 lab = new QLabel( i18n("extra Message:"), mExternalAppGroupBox);
303 boxLayout->addWidget( lab, 6, 0 ); 321 boxLayout->addWidget( lab, 6, 0 );
304 mMessage2 = new QLineEdit(mExternalAppGroupBox); 322 mMessage2 = new QLineEdit(mExternalAppGroupBox);
305 mMessage2->setReadOnly(true); 323 mMessage2->setReadOnly(true);
306 boxLayout->addWidget( mMessage2 , 7, 0); 324 boxLayout->addWidget( mMessage2 , 7, 0);
307 325
308 lab = new QLabel( i18n("extra Parameters:"), mExternalAppGroupBox); 326 lab = new QLabel( i18n("extra Parameters:"), mExternalAppGroupBox);
309 boxLayout->addWidget( lab, 6, 1 ); 327 boxLayout->addWidget( lab, 6, 1 );
310 mParameters2 = new QLineEdit(mExternalAppGroupBox); 328 mParameters2 = new QLineEdit(mExternalAppGroupBox);
311 mParameters2->setReadOnly(true); 329 mParameters2->setReadOnly(true);
312 boxLayout->addWidget( mParameters2, 7, 1 ); 330 boxLayout->addWidget( mParameters2, 7, 1 );
313 331
314 lab = new QLabel( i18n("HINT: Emails=%1,Attachments=%2"), mExternalAppGroupBox); 332 lab = new QLabel( i18n("HINT: Emails=%1,Attachments=%2"), mExternalAppGroupBox);
315 boxLayout->addMultiCellWidget( lab, 8, 8, 0, 1 ); 333 boxLayout->addMultiCellWidget( lab, 8, 8, 0, 1 );
316 connect( mMessage2, SIGNAL( textChanged ( const QString & )), this, SLOT( textChanged ( const QString & )) ); 334 connect( mMessage2, SIGNAL( textChanged ( const QString & )), this, SLOT( textChanged ( const QString & )) );
317 connect( mParameters2, SIGNAL( textChanged ( const QString & )), this, SLOT( textChanged ( const QString & )) ); 335 connect( mParameters2, SIGNAL( textChanged ( const QString & )), this, SLOT( textChanged ( const QString & )) );
318 } else { 336 } else {
319 mMessage2 = 0; 337 mMessage2 = 0;
320 mParameters2 = 0; 338 mParameters2 = 0;
321 } 339 }
322 340
323 connect( mChannel, SIGNAL( textChanged ( const QString & )), this, SLOT( textChanged ( const QString & )) ); 341 connect( mChannel, SIGNAL( textChanged ( const QString & )), this, SLOT( textChanged ( const QString & )) );
324 connect( mMessage, SIGNAL( textChanged ( const QString & )), this, SLOT( textChanged ( const QString & )) ); 342 connect( mMessage, SIGNAL( textChanged ( const QString & )), this, SLOT( textChanged ( const QString & )) );
325 connect( mParameters, SIGNAL( textChanged ( const QString & )), this, SLOT( textChanged ( const QString & )) ); 343 connect( mParameters, SIGNAL( textChanged ( const QString & )), this, SLOT( textChanged ( const QString & )) );
326 344
327 345
328 layout->addWidget( mExternalAppGroupBox ); 346 layout->addWidget( mExternalAppGroupBox );
329 tabWidget->addTab( externalAppsPage, i18n( "External Apps." ) ); 347 tabWidget->addTab( externalAppsPage, i18n( "External Apps." ) );
330 348
331} 349}
332 350
333 351
334void KDEPIMConfigWidget::setupLocaleDateTab() 352void KDEPIMConfigWidget::setupLocaleDateTab()
335{ 353{
336 QWidget *topFrame = new QWidget( this ); 354 QWidget *topFrame = new QWidget( this );
337 QGridLayout *topLayout = new QGridLayout( topFrame, 3, 2); 355 QGridLayout *topLayout = new QGridLayout( topFrame, 3, 2);
338 356
339 topLayout->setSpacing(KDialog::spacingHintSmall()); 357 topLayout->setSpacing(KDialog::spacingHintSmall());
340 topLayout->setMargin(KDialog::marginHintSmall()); 358 topLayout->setMargin(KDialog::marginHintSmall());
341 int iii = 0; 359 int iii = 0;
342 360
343 361
344 KPrefsWidRadios *syncPrefsGroup = 362 KPrefsWidRadios *syncPrefsGroup =
345 addWidRadios(i18n("Date Format:"),&(KPimGlobalPrefs::instance()->mPreferredDate),topFrame); 363 addWidRadios(i18n("Date Format:"),&(KPimGlobalPrefs::instance()->mPreferredDate),topFrame);
346 QString format; 364 QString format;
347 if ( QApplication::desktop()->width() < 480 ) 365 if ( QApplication::desktop()->width() < 480 )
348 format = "(%d.%m.%Y)"; 366 format = "(%d.%m.%Y)";
349 else 367 else
350 format = "(%d.%m.%Y|%A %d %B %Y)"; 368 format = "(%d.%m.%Y|%A %d %B %Y)";
351 syncPrefsGroup->addRadio(i18n("24.03.2004 "+format)); 369 syncPrefsGroup->addRadio(i18n("24.03.2004 "+format));
352 if ( QApplication::desktop()->width() < 480 ) 370 if ( QApplication::desktop()->width() < 480 )
353 format = "(%m.%d.%Y)"; 371 format = "(%m.%d.%Y)";
354 else 372 else
355 format = "(%m.%d.%Y|%A %B %d %Y)"; 373 format = "(%m.%d.%Y|%A %B %d %Y)";
356 syncPrefsGroup->addRadio(i18n("03.24.2004 "+format)); 374 syncPrefsGroup->addRadio(i18n("03.24.2004 "+format));
357 if ( QApplication::desktop()->width() < 480 ) 375 if ( QApplication::desktop()->width() < 480 )
358 format = "(%Y-%m-%d)"; 376 format = "(%Y-%m-%d)";
359 else 377 else
360 format = "(%Y-%m-%d|%A %Y %B %d)"; 378 format = "(%Y-%m-%d|%A %Y %B %d)";
361 syncPrefsGroup->addRadio(i18n("2004-03-24 "+format)); 379 syncPrefsGroup->addRadio(i18n("2004-03-24 "+format));
362 syncPrefsGroup->addRadio(i18n("User defined")); 380 syncPrefsGroup->addRadio(i18n("User defined"));
363 if ( QApplication::desktop()->width() < 480 ) { 381 if ( QApplication::desktop()->width() < 480 ) {
364 syncPrefsGroup->groupBox()->layout()->setMargin( 5 ); 382 syncPrefsGroup->groupBox()->layout()->setMargin( 5 );
365 syncPrefsGroup->groupBox()->layout()->setSpacing( 0 ); 383 syncPrefsGroup->groupBox()->layout()->setSpacing( 0 );
366 } 384 }
367 topLayout->addMultiCellWidget( (QWidget*)syncPrefsGroup->groupBox(),iii,iii,0,1); 385 topLayout->addMultiCellWidget( (QWidget*)syncPrefsGroup->groupBox(),iii,iii,0,1);
368 ++iii; 386 ++iii;
369 ++iii; 387 ++iii;
370 QLabel * lab; 388 QLabel * lab;
371 mUserDateFormatLong = new QLineEdit(topFrame); 389 mUserDateFormatLong = new QLineEdit(topFrame);
372 lab = new QLabel(mUserDateFormatLong, i18n("User long date:"), topFrame); 390 lab = new QLabel(mUserDateFormatLong, i18n("User long date:"), topFrame);
373 topLayout->addWidget(lab ,iii,0); 391 topLayout->addWidget(lab ,iii,0);
374 topLayout->addWidget(mUserDateFormatLong,iii,1); 392 topLayout->addWidget(mUserDateFormatLong,iii,1);
375 ++iii; 393 ++iii;
376 mUserDateFormatShort = new QLineEdit(topFrame); 394 mUserDateFormatShort = new QLineEdit(topFrame);
377 lab = new QLabel(mUserDateFormatShort, i18n("User short date:"), topFrame); 395 lab = new QLabel(mUserDateFormatShort, i18n("User short date:"), topFrame);
378 topLayout->addWidget(lab ,iii,0); 396 topLayout->addWidget(lab ,iii,0);
379 topLayout->addWidget(mUserDateFormatShort,iii,1); 397 topLayout->addWidget(mUserDateFormatShort,iii,1);
380 ++iii; 398 ++iii;
381 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);
382 topLayout->addMultiCellWidget(lab ,iii,iii,0,1); 400 topLayout->addMultiCellWidget(lab ,iii,iii,0,1);
383 ++iii; 401 ++iii;
384 //qDebug(" QApplication::desktop()->height()xx %d ", QApplication::desktop()->height() ); 402 //qDebug(" QApplication::desktop()->height()xx %d ", QApplication::desktop()->height() );
385 if ( QApplication::desktop()->height() > 240 ) { 403 if ( QApplication::desktop()->height() > 240 ) {
386 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);
387 topLayout->addMultiCellWidget(lab ,iii,iii,0,1); 405 topLayout->addMultiCellWidget(lab ,iii,iii,0,1);
388 ++iii; 406 ++iii;
389 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);
390 topLayout->addMultiCellWidget(lab ,iii,iii,0,1); 408 topLayout->addMultiCellWidget(lab ,iii,iii,0,1);
391 ++iii; 409 ++iii;
392 } 410 }
393 411
394 connect( mUserDateFormatLong, SIGNAL( textChanged ( const QString & )), this, SLOT( textChanged ( const QString & )) ); 412 connect( mUserDateFormatLong, SIGNAL( textChanged ( const QString & )), this, SLOT( textChanged ( const QString & )) );
395 connect( mUserDateFormatShort, SIGNAL( textChanged ( const QString & )), this, SLOT( textChanged ( const QString & )) ); 413 connect( mUserDateFormatShort, SIGNAL( textChanged ( const QString & )), this, SLOT( textChanged ( const QString & )) );
396 414
397 415
398 tabWidget->addTab( topFrame, i18n( "Date Format" ) ); 416 tabWidget->addTab( topFrame, i18n( "Date Format" ) );
399} 417}
400 418
401void KDEPIMConfigWidget::setupLocaleTab() 419void KDEPIMConfigWidget::setupLocaleTab()
402{ 420{
403 421
404 QWidget *topFrame = new QWidget( this ); 422 QWidget *topFrame = new QWidget( this );
405 QGridLayout *topLayout = new QGridLayout(topFrame,4,2); 423 QGridLayout *topLayout = new QGridLayout(topFrame,4,2);
406 424
407 topLayout->setSpacing(KDialog::spacingHint()); 425 topLayout->setSpacing(KDialog::spacingHint());
408 topLayout->setMargin(KDialog::marginHint()); 426 topLayout->setMargin(KDialog::marginHint());
409 int iii = 0; 427 int iii = 0;
410 KPrefsWidRadios *syncPrefsGroup = 428 KPrefsWidRadios *syncPrefsGroup =
411 addWidRadios(i18n("Language:(needs restart)"),&(KPimGlobalPrefs::instance()->mPreferredLanguage),topFrame); 429 addWidRadios(i18n("Language:(needs restart)"),&(KPimGlobalPrefs::instance()->mPreferredLanguage),topFrame);
412 syncPrefsGroup->addRadio(i18n("English")); 430 syncPrefsGroup->addRadio(i18n("English"));
413 syncPrefsGroup->addRadio(i18n("German")); 431 syncPrefsGroup->addRadio(i18n("German"));
414 syncPrefsGroup->addRadio(i18n("French")); 432 syncPrefsGroup->addRadio(i18n("French"));
415 syncPrefsGroup->addRadio(i18n("Italian")); 433 syncPrefsGroup->addRadio(i18n("Italian"));
416 syncPrefsGroup->addRadio(i18n("User defined (usertranslation.txt)")); 434 syncPrefsGroup->addRadio(i18n("User defined (usertranslation.txt)"));
417 if ( QApplication::desktop()->width() < 300 ) { 435 if ( QApplication::desktop()->width() < 300 ) {
418 syncPrefsGroup->groupBox()->layout()->setMargin( 5 ); 436 syncPrefsGroup->groupBox()->layout()->setMargin( 5 );
419 syncPrefsGroup->groupBox()->layout()->setSpacing( 0 ); 437 syncPrefsGroup->groupBox()->layout()->setSpacing( 0 );
420 } 438 }
421 topLayout->addMultiCellWidget( (QWidget*)syncPrefsGroup->groupBox(),iii,iii,0,1); 439 topLayout->addMultiCellWidget( (QWidget*)syncPrefsGroup->groupBox(),iii,iii,0,1);
422 ++iii; 440 ++iii;
423 441
424 442
425 tabWidget->addTab( topFrame, i18n( "Language" ) ); 443 tabWidget->addTab( topFrame, i18n( "Language" ) );
426 topFrame = new QWidget( this ); 444 topFrame = new QWidget( this );
427 topLayout = new QGridLayout(topFrame,4,2); 445 topLayout = new QGridLayout(topFrame,4,2);
428 446
429 topLayout->setSpacing(KDialog::spacingHint()); 447 topLayout->setSpacing(KDialog::spacingHint());
430 topLayout->setMargin(KDialog::marginHint()); 448 topLayout->setMargin(KDialog::marginHint());
431 iii = 0; 449 iii = 0;
432 syncPrefsGroup = 450 syncPrefsGroup =
433 addWidRadios(i18n("Time Format(nr):"),&(KPimGlobalPrefs::instance()->mPreferredTime),topFrame); 451 addWidRadios(i18n("Time Format(nr):"),&(KPimGlobalPrefs::instance()->mPreferredTime),topFrame);
434 if ( QApplication::desktop()->width() > 300 ) 452 if ( QApplication::desktop()->width() > 300 )
435 syncPrefsGroup->groupBox()->setOrientation (Qt::Vertical); 453 syncPrefsGroup->groupBox()->setOrientation (Qt::Vertical);
436 syncPrefsGroup->addRadio(i18n("24:00")); 454 syncPrefsGroup->addRadio(i18n("24:00"));
437 syncPrefsGroup->addRadio(i18n("12:00am")); 455 syncPrefsGroup->addRadio(i18n("12:00am"));
438 syncPrefsGroup->groupBox()->setOrientation (Qt::Vertical); 456 syncPrefsGroup->groupBox()->setOrientation (Qt::Vertical);
@@ -652,336 +670,338 @@ void KDEPIMConfigWidget::saveEditFieldSettings()
652 else if ((mCurrentApp == ExternalAppHandler::SMS) && (mCurrentClient == KPimGlobalPrefs::OTHER_SMC)) 670 else if ((mCurrentApp == ExternalAppHandler::SMS) && (mCurrentClient == KPimGlobalPrefs::OTHER_SMC))
653 { 671 {
654 mSMSOtherChannel = mChannel->text(); 672 mSMSOtherChannel = mChannel->text();
655 mSMSOtherMessage = mMessage->text(); 673 mSMSOtherMessage = mMessage->text();
656 mSMSOtherMessageParameters = mParameters->text(); 674 mSMSOtherMessageParameters = mParameters->text();
657 } 675 }
658 else if ((mCurrentApp == ExternalAppHandler::FAX) && (mCurrentClient == KPimGlobalPrefs::OTHER_FAC)) 676 else if ((mCurrentApp == ExternalAppHandler::FAX) && (mCurrentClient == KPimGlobalPrefs::OTHER_FAC))
659 { 677 {
660 mFaxOtherChannel = mChannel->text(); 678 mFaxOtherChannel = mChannel->text();
661 mFaxOtherMessage = mMessage->text(); 679 mFaxOtherMessage = mMessage->text();
662 mFaxOtherMessageParameters = mParameters->text(); 680 mFaxOtherMessageParameters = mParameters->text();
663 } 681 }
664 else if ((mCurrentApp == ExternalAppHandler::PAGER) && (mCurrentClient == KPimGlobalPrefs::OTHER_PAC)) 682 else if ((mCurrentApp == ExternalAppHandler::PAGER) && (mCurrentClient == KPimGlobalPrefs::OTHER_PAC))
665 { 683 {
666 mPagerOtherChannel = mChannel->text(); 684 mPagerOtherChannel = mChannel->text();
667 mPagerOtherMessage = mMessage->text(); 685 mPagerOtherMessage = mMessage->text();
668 mPagerOtherMessageParameters = mParameters->text(); 686 mPagerOtherMessageParameters = mParameters->text();
669 } 687 }
670 else if ((mCurrentApp == ExternalAppHandler::SIP) && (mCurrentClient == KPimGlobalPrefs::OTHER_SIC)) 688 else if ((mCurrentApp == ExternalAppHandler::SIP) && (mCurrentClient == KPimGlobalPrefs::OTHER_SIC))
671 { 689 {
672 mSipOtherChannel = mChannel->text(); 690 mSipOtherChannel = mChannel->text();
673 mSipOtherMessage = mMessage->text(); 691 mSipOtherMessage = mMessage->text();
674 mSipOtherMessageParameters = mParameters->text(); 692 mSipOtherMessageParameters = mParameters->text();
675 } 693 }
676 694
677 695
678} 696}
679 697
680void KDEPIMConfigWidget::updateClientWidgets() 698void KDEPIMConfigWidget::updateClientWidgets()
681{ 699{
682 bool blocked = signalsBlocked(); 700 bool blocked = signalsBlocked();
683 blockSignals( true ); 701 blockSignals( true );
684 702
685 // 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
686 QMap<ExternalAppHandler::Types, QString>::Iterator it = mExternalAppsMap.find ( mCurrentApp ); 704 QMap<ExternalAppHandler::Types, QString>::Iterator it = mExternalAppsMap.find ( mCurrentApp );
687 if (it == mExternalAppsMap.end()) 705 if (it == mExternalAppsMap.end())
688 return; 706 return;
689 707
690 // update group box 708 // update group box
691 mExternalAppGroupBox->setTitle(i18n( "Used %1 Client" ).arg(it.data())); 709 mExternalAppGroupBox->setTitle(i18n( "Used %1 Client" ).arg(it.data()));
692 710
693 //update the entries in the client combobox 711 //update the entries in the client combobox
694 mClient->clear(); 712 mClient->clear();
695 713
696 QList<DefaultAppItem> items = ExternalAppHandler::instance()->getAvailableDefaultItems(mCurrentApp); 714 QList<DefaultAppItem> items = ExternalAppHandler::instance()->getAvailableDefaultItems(mCurrentApp);
697 DefaultAppItem* dai; 715 DefaultAppItem* dai;
698 for ( dai=items.first(); dai != 0; dai=items.next() ) 716 for ( dai=items.first(); dai != 0; dai=items.next() )
699 { 717 {
700 mClient->insertItem( i18n(dai->_label), dai->_id ); 718 mClient->insertItem( i18n(dai->_label), dai->_id );
701 719
702 if (dai->_id == mCurrentClient) 720 if (dai->_id == mCurrentClient)
703 { 721 {
704 //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".
705 //Otherwise take the default data from externalapphandler. 723 //Otherwise take the default data from externalapphandler.
706 mChannel->setText(dai->_channel); 724 mChannel->setText(dai->_channel);
707 mMessage->setText(dai->_message); 725 mMessage->setText(dai->_message);
708 mParameters->setText(dai->_parameters); 726 mParameters->setText(dai->_parameters);
709 if ( mMessage2 ) 727 if ( mMessage2 )
710 mMessage2->setText(dai->_message2); 728 mMessage2->setText(dai->_message2);
711 if ( mParameters2 ) 729 if ( mParameters2 )
712 mParameters2->setText(dai->_parameters2); 730 mParameters2->setText(dai->_parameters2);
713 731
714 732
715 if ((mCurrentApp == ExternalAppHandler::EMAIL) && (mCurrentClient == KPimGlobalPrefs::OTHER_EMC)) 733 if ((mCurrentApp == ExternalAppHandler::EMAIL) && (mCurrentClient == KPimGlobalPrefs::OTHER_EMC))
716 { 734 {
717 mChannel->setText(mEmailOtherChannel); 735 mChannel->setText(mEmailOtherChannel);
718 mMessage->setText(mEmailOtherMessage); 736 mMessage->setText(mEmailOtherMessage);
719 mParameters->setText(mEmailOtherMessageParameters); 737 mParameters->setText(mEmailOtherMessageParameters);
720 if ( mMessage2 ) 738 if ( mMessage2 )
721 mMessage2->setText(mEmailOtherMessage2); 739 mMessage2->setText(mEmailOtherMessage2);
722 if ( mParameters2 ) 740 if ( mParameters2 )
723 mParameters2->setText(mEmailOtherMessageParameters2); 741 mParameters2->setText(mEmailOtherMessageParameters2);
724 } 742 }
725 else if ((mCurrentApp == ExternalAppHandler::PHONE) && (mCurrentClient == KPimGlobalPrefs::OTHER_PHC)) 743 else if ((mCurrentApp == ExternalAppHandler::PHONE) && (mCurrentClient == KPimGlobalPrefs::OTHER_PHC))
726 { 744 {
727 mChannel->setText(mPhoneOtherChannel); 745 mChannel->setText(mPhoneOtherChannel);
728 mMessage->setText(mPhoneOtherMessage); 746 mMessage->setText(mPhoneOtherMessage);
729 mParameters->setText(mPhoneOtherMessageParameters); 747 mParameters->setText(mPhoneOtherMessageParameters);
730 } 748 }
731 else if ((mCurrentApp == ExternalAppHandler::SMS) && (mCurrentClient == KPimGlobalPrefs::OTHER_SMC)) 749 else if ((mCurrentApp == ExternalAppHandler::SMS) && (mCurrentClient == KPimGlobalPrefs::OTHER_SMC))
732 { 750 {
733 mChannel->setText(mSMSOtherChannel); 751 mChannel->setText(mSMSOtherChannel);
734 mMessage->setText(mSMSOtherMessage); 752 mMessage->setText(mSMSOtherMessage);
735 mParameters->setText(mSMSOtherMessageParameters); 753 mParameters->setText(mSMSOtherMessageParameters);
736 } 754 }
737 else if ((mCurrentApp == ExternalAppHandler::FAX) && (mCurrentClient == KPimGlobalPrefs::OTHER_FAC)) 755 else if ((mCurrentApp == ExternalAppHandler::FAX) && (mCurrentClient == KPimGlobalPrefs::OTHER_FAC))
738 { 756 {
739 mChannel->setText(mFaxOtherChannel); 757 mChannel->setText(mFaxOtherChannel);
740 mMessage->setText(mFaxOtherMessage); 758 mMessage->setText(mFaxOtherMessage);
741 mParameters->setText(mFaxOtherMessageParameters); 759 mParameters->setText(mFaxOtherMessageParameters);
742 } 760 }
743 else if ((mCurrentApp == ExternalAppHandler::PAGER) && (mCurrentClient == KPimGlobalPrefs::OTHER_PAC)) 761 else if ((mCurrentApp == ExternalAppHandler::PAGER) && (mCurrentClient == KPimGlobalPrefs::OTHER_PAC))
744 { 762 {
745 mChannel->setText(mPagerOtherChannel); 763 mChannel->setText(mPagerOtherChannel);
746 mMessage->setText(mPagerOtherMessage); 764 mMessage->setText(mPagerOtherMessage);
747 mParameters->setText(mPagerOtherMessageParameters); 765 mParameters->setText(mPagerOtherMessageParameters);
748 } 766 }
749 else if ((mCurrentApp == ExternalAppHandler::SIP) && (mCurrentClient == KPimGlobalPrefs::OTHER_SIC)) 767 else if ((mCurrentApp == ExternalAppHandler::SIP) && (mCurrentClient == KPimGlobalPrefs::OTHER_SIC))
750 { 768 {
751 mChannel->setText(mSipOtherChannel); 769 mChannel->setText(mSipOtherChannel);
752 mMessage->setText(mSipOtherMessage); 770 mMessage->setText(mSipOtherMessage);
753 mParameters->setText(mSipOtherMessageParameters); 771 mParameters->setText(mSipOtherMessageParameters);
754 } 772 }
755 } 773 }
756 774
757 } 775 }
758 776
759 bool readonly; 777 bool readonly;
760 bool enabled; 778 bool enabled;
761 if ( ((mCurrentApp == ExternalAppHandler::EMAIL) && (mCurrentClient == KPimGlobalPrefs::OTHER_EMC)) 779 if ( ((mCurrentApp == ExternalAppHandler::EMAIL) && (mCurrentClient == KPimGlobalPrefs::OTHER_EMC))
762 ||((mCurrentApp == ExternalAppHandler::PHONE) && (mCurrentClient == KPimGlobalPrefs::OTHER_PHC)) 780 ||((mCurrentApp == ExternalAppHandler::PHONE) && (mCurrentClient == KPimGlobalPrefs::OTHER_PHC))
763 ||((mCurrentApp == ExternalAppHandler::SMS) && (mCurrentClient == KPimGlobalPrefs::OTHER_SMC)) 781 ||((mCurrentApp == ExternalAppHandler::SMS) && (mCurrentClient == KPimGlobalPrefs::OTHER_SMC))
764 ||((mCurrentApp == ExternalAppHandler::FAX) && (mCurrentClient == KPimGlobalPrefs::OTHER_FAC)) 782 ||((mCurrentApp == ExternalAppHandler::FAX) && (mCurrentClient == KPimGlobalPrefs::OTHER_FAC))
765 ||((mCurrentApp == ExternalAppHandler::PAGER) && (mCurrentClient == KPimGlobalPrefs::OTHER_PAC)) 783 ||((mCurrentApp == ExternalAppHandler::PAGER) && (mCurrentClient == KPimGlobalPrefs::OTHER_PAC))
766 ||((mCurrentApp == ExternalAppHandler::SIP) && (mCurrentClient == KPimGlobalPrefs::OTHER_SIC))) 784 ||((mCurrentApp == ExternalAppHandler::SIP) && (mCurrentClient == KPimGlobalPrefs::OTHER_SIC)))
767 { 785 {
768 readonly = false; 786 readonly = false;
769 } 787 }
770 else 788 else
771 { 789 {
772 readonly = true; 790 readonly = true;
773 } 791 }
774 792
775 if ( ((mCurrentApp == ExternalAppHandler::EMAIL) && (mCurrentClient == KPimGlobalPrefs::NONE_EMC)) 793 if ( ((mCurrentApp == ExternalAppHandler::EMAIL) && (mCurrentClient == KPimGlobalPrefs::NONE_EMC))
776 ||((mCurrentApp == ExternalAppHandler::PHONE) && (mCurrentClient == KPimGlobalPrefs::NONE_PHC)) 794 ||((mCurrentApp == ExternalAppHandler::PHONE) && (mCurrentClient == KPimGlobalPrefs::NONE_PHC))
777 ||((mCurrentApp == ExternalAppHandler::SMS) && (mCurrentClient == KPimGlobalPrefs::NONE_SMC)) 795 ||((mCurrentApp == ExternalAppHandler::SMS) && (mCurrentClient == KPimGlobalPrefs::NONE_SMC))
778 ||((mCurrentApp == ExternalAppHandler::FAX) && (mCurrentClient == KPimGlobalPrefs::NONE_FAC)) 796 ||((mCurrentApp == ExternalAppHandler::FAX) && (mCurrentClient == KPimGlobalPrefs::NONE_FAC))
779 ||((mCurrentApp == ExternalAppHandler::PAGER) && (mCurrentClient == KPimGlobalPrefs::NONE_PAC)) 797 ||((mCurrentApp == ExternalAppHandler::PAGER) && (mCurrentClient == KPimGlobalPrefs::NONE_PAC))
780 ||((mCurrentApp == ExternalAppHandler::SIP) && (mCurrentClient == KPimGlobalPrefs::NONE_SIC))) 798 ||((mCurrentApp == ExternalAppHandler::SIP) && (mCurrentClient == KPimGlobalPrefs::NONE_SIC)))
781 { 799 {
782 enabled = false; 800 enabled = false;
783 } 801 }
784 else 802 else
785 { 803 {
786 enabled = true; 804 enabled = true;
787 } 805 }
788 806
789 807
790 mChannel->setReadOnly(readonly); 808 mChannel->setReadOnly(readonly);
791 mMessage->setReadOnly(readonly); 809 mMessage->setReadOnly(readonly);
792 mParameters->setReadOnly(readonly); 810 mParameters->setReadOnly(readonly);
793 if ( mMessage2 ) 811 if ( mMessage2 )
794 mMessage2->setReadOnly(readonly); 812 mMessage2->setReadOnly(readonly);
795 if ( mParameters2 ) 813 if ( mParameters2 )
796 mParameters2->setReadOnly(readonly); 814 mParameters2->setReadOnly(readonly);
797 815
798 mChannel->setEnabled(enabled); 816 mChannel->setEnabled(enabled);
799 mMessage->setEnabled(enabled); 817 mMessage->setEnabled(enabled);
800 mParameters->setEnabled(enabled); 818 mParameters->setEnabled(enabled);
801 if ( mMessage2 ) 819 if ( mMessage2 )
802 mMessage2->setEnabled(enabled); 820 mMessage2->setEnabled(enabled);
803 if ( mParameters2 ) 821 if ( mParameters2 )
804 mParameters2->setEnabled(enabled); 822 mParameters2->setEnabled(enabled);
805 823
806 824
807 825
808 mClient->setCurrentItem(mCurrentClient); 826 mClient->setCurrentItem(mCurrentClient);
809 827
810 828
811 // enable/disable the extra message/parameter field 829 // enable/disable the extra message/parameter field
812 if (mCurrentApp == ExternalAppHandler::EMAIL) 830 if (mCurrentApp == ExternalAppHandler::EMAIL)
813 { 831 {
814 } 832 }
815 else 833 else
816 { 834 {
817 if ( mMessage2 ) 835 if ( mMessage2 )
818 mMessage2->setText( "" ); 836 mMessage2->setText( "" );
819 if ( mParameters2 ) 837 if ( mParameters2 )
820 mParameters2->setText( "" ); 838 mParameters2->setText( "" );
821 } 839 }
822 840
823 if (enabled == true) { 841 if (enabled == true) {
824 if ( mMessage2 ) 842 if ( mMessage2 )
825 mMessage2->setEnabled(mCurrentApp == ExternalAppHandler::EMAIL); 843 mMessage2->setEnabled(mCurrentApp == ExternalAppHandler::EMAIL);
826 if ( mParameters2 ) 844 if ( mParameters2 )
827 mParameters2->setEnabled(mCurrentApp == ExternalAppHandler::EMAIL); 845 mParameters2->setEnabled(mCurrentApp == ExternalAppHandler::EMAIL);
828 } 846 }
829 847
830 848
831 blockSignals( blocked ); 849 blockSignals( blocked );
832 850
833} 851}
834 852
835void KDEPIMConfigWidget::usrReadConfig() 853void KDEPIMConfigWidget::usrReadConfig()
836{ 854{
837 KPimGlobalPrefs* prefs = KPimGlobalPrefs::instance(); 855 KPimGlobalPrefs* prefs = KPimGlobalPrefs::instance();
838 856
839 bool blocked = signalsBlocked(); 857 bool blocked = signalsBlocked();
840 blockSignals( true ); 858 blockSignals( true );
841 859
842 if (KPimGlobalPrefs::instance()->mBackupUseDefaultDir ) 860 if (KPimGlobalPrefs::instance()->mBackupUseDefaultDir )
843 mBackupUrl->setURL( KGlobalSettings::backupDataDir() ); 861 mBackupUrl->setURL( KGlobalSettings::backupDataDir() );
844 else 862 else {
845 mBackupUrl->setURL(prefs->mBackupDatadir); 863 mBackupUrl->setURL(prefs->mBackupDatadir);
864
865 }
846 mBackupNumbersSpin->setValue( prefs->mBackupNumbers ); 866 mBackupNumbersSpin->setValue( prefs->mBackupNumbers );
847 mBackupDayCountSpin->setValue( prefs->mBackupDayCount); 867 mBackupDayCountSpin->setValue( prefs->mBackupDayCount);
848 868
849 QString dummy = prefs->mUserDateFormatLong; 869 QString dummy = prefs->mUserDateFormatLong;
850 mUserDateFormatLong->setText(dummy.replace( QRegExp("K"), QString(",") )); 870 mUserDateFormatLong->setText(dummy.replace( QRegExp("K"), QString(",") ));
851 dummy = prefs->mUserDateFormatShort; 871 dummy = prefs->mUserDateFormatShort;
852 mUserDateFormatShort->setText(dummy.replace( QRegExp("K"), QString(",") )); 872 mUserDateFormatShort->setText(dummy.replace( QRegExp("K"), QString(",") ));
853 873
854 QDate current ( 2001, 1,1); 874 QDate current ( 2001, 1,1);
855 mStartDateSavingEdit->setDate(current.addDays(prefs->mDaylightsavingStart-1)); 875 mStartDateSavingEdit->setDate(current.addDays(prefs->mDaylightsavingStart-1));
856 mEndDateSavingEdit->setDate(current.addDays(prefs->mDaylightsavingEnd-1)); 876 mEndDateSavingEdit->setDate(current.addDays(prefs->mDaylightsavingEnd-1));
857 setCombo(mTimeZoneCombo,i18n(prefs->mTimeZoneId)); 877 setCombo(mTimeZoneCombo,i18n(prefs->mTimeZoneId));
858 878
859 mEmailClient = prefs->mEmailClient; 879 mEmailClient = prefs->mEmailClient;
860 mEmailOtherChannel = prefs->mEmailOtherChannel; 880 mEmailOtherChannel = prefs->mEmailOtherChannel;
861 mEmailOtherMessage = prefs->mEmailOtherMessage; 881 mEmailOtherMessage = prefs->mEmailOtherMessage;
862 mEmailOtherMessageParameters = prefs->mEmailOtherMessageParameters; 882 mEmailOtherMessageParameters = prefs->mEmailOtherMessageParameters;
863 mEmailOtherMessage2 = prefs->mEmailOtherMessage2; 883 mEmailOtherMessage2 = prefs->mEmailOtherMessage2;
864 mEmailOtherMessageParameters2 = prefs->mEmailOtherMessageParameters2; 884 mEmailOtherMessageParameters2 = prefs->mEmailOtherMessageParameters2;
865 885
866 mPhoneClient = prefs->mPhoneClient; 886 mPhoneClient = prefs->mPhoneClient;
867 mPhoneOtherChannel = prefs->mPhoneOtherChannel; 887 mPhoneOtherChannel = prefs->mPhoneOtherChannel;
868 mPhoneOtherMessage = prefs->mPhoneOtherMessage; 888 mPhoneOtherMessage = prefs->mPhoneOtherMessage;
869 mPhoneOtherMessageParameters = prefs->mPhoneOtherMessageParameters; 889 mPhoneOtherMessageParameters = prefs->mPhoneOtherMessageParameters;
870 890
871 mFaxClient = prefs->mFaxClient; 891 mFaxClient = prefs->mFaxClient;
872 mFaxOtherChannel = prefs->mFaxOtherChannel; 892 mFaxOtherChannel = prefs->mFaxOtherChannel;
873 mFaxOtherMessage = prefs->mFaxOtherMessage; 893 mFaxOtherMessage = prefs->mFaxOtherMessage;
874 mFaxOtherMessageParameters = prefs->mFaxOtherMessageParameters; 894 mFaxOtherMessageParameters = prefs->mFaxOtherMessageParameters;
875 895
876 mSMSClient = prefs->mSMSClient; 896 mSMSClient = prefs->mSMSClient;
877 mSMSOtherChannel = prefs->mSMSOtherChannel; 897 mSMSOtherChannel = prefs->mSMSOtherChannel;
878 mSMSOtherMessage = prefs->mSMSOtherMessage; 898 mSMSOtherMessage = prefs->mSMSOtherMessage;
879 mSMSOtherMessageParameters = prefs->mSMSOtherMessageParameters; 899 mSMSOtherMessageParameters = prefs->mSMSOtherMessageParameters;
880 900
881 mPagerClient = prefs->mPagerClient; 901 mPagerClient = prefs->mPagerClient;
882 mPagerOtherChannel = prefs->mPagerOtherChannel; 902 mPagerOtherChannel = prefs->mPagerOtherChannel;
883 mPagerOtherMessage = prefs->mPagerOtherMessage; 903 mPagerOtherMessage = prefs->mPagerOtherMessage;
884 mPagerOtherMessageParameters = prefs->mPagerOtherMessageParameters; 904 mPagerOtherMessageParameters = prefs->mPagerOtherMessageParameters;
885 905
886 mSipClient = prefs->mSipClient; 906 mSipClient = prefs->mSipClient;
887 mSipOtherChannel = prefs->mSipOtherChannel; 907 mSipOtherChannel = prefs->mSipOtherChannel;
888 mSipOtherMessage = prefs->mSipOtherMessage; 908 mSipOtherMessage = prefs->mSipOtherMessage;
889 mSipOtherMessageParameters = prefs->mSipOtherMessageParameters; 909 mSipOtherMessageParameters = prefs->mSipOtherMessageParameters;
890 910
891 mCurrentApp = ExternalAppHandler::EMAIL; 911 mCurrentApp = ExternalAppHandler::EMAIL;
892 mCurrentClient = mEmailClient; 912 mCurrentClient = mEmailClient;
893 913
894 updateClientWidgets(); 914 updateClientWidgets();
895 915
896 blockSignals( blocked ); 916 blockSignals( blocked );
897 917
898} 918}
899 919
900void KDEPIMConfigWidget::usrWriteConfig() 920void KDEPIMConfigWidget::usrWriteConfig()
901{ 921{
902 KPimGlobalPrefs* prefs = KPimGlobalPrefs::instance(); 922 KPimGlobalPrefs* prefs = KPimGlobalPrefs::instance();
903 923
904 saveEditFieldSettings(); 924 saveEditFieldSettings();
905 925
906 prefs->mBackupNumbers = mBackupNumbersSpin->value(); 926 prefs->mBackupNumbers = mBackupNumbersSpin->value();
907 prefs->mBackupDayCount = mBackupDayCountSpin->value(); 927 prefs->mBackupDayCount = mBackupDayCountSpin->value();
908 prefs->mBackupDatadir = mBackupUrl->url(); 928 prefs->mBackupDatadir = mBackupUrl->url();
909 929
910 prefs->mUserDateFormatShort = mUserDateFormatShort->text().replace( QRegExp(","), QString("K") ); 930 prefs->mUserDateFormatShort = mUserDateFormatShort->text().replace( QRegExp(","), QString("K") );
911 prefs->mUserDateFormatLong = mUserDateFormatLong->text().replace( QRegExp(","), QString("K") ); 931 prefs->mUserDateFormatLong = mUserDateFormatLong->text().replace( QRegExp(","), QString("K") );
912 932
913 prefs->mTimeZoneId = mTimeZoneCombo->currentText(); 933 prefs->mTimeZoneId = mTimeZoneCombo->currentText();
914 QDate date; 934 QDate date;
915 date = mStartDateSavingEdit->date(); 935 date = mStartDateSavingEdit->date();
916 int sub = 0; 936 int sub = 0;
917 if ( QDate::leapYear( date.year() ) && date.dayOfYear() > 59 ) 937 if ( QDate::leapYear( date.year() ) && date.dayOfYear() > 59 )
918 sub = 1; 938 sub = 1;
919 prefs->mDaylightsavingStart = date.dayOfYear()-sub; 939 prefs->mDaylightsavingStart = date.dayOfYear()-sub;
920 date = mEndDateSavingEdit->date(); 940 date = mEndDateSavingEdit->date();
921 if ( QDate::leapYear( date.year() ) && date.dayOfYear() > 59 ) 941 if ( QDate::leapYear( date.year() ) && date.dayOfYear() > 59 )
922 sub = 1; 942 sub = 1;
923 else 943 else
924 sub = 0; 944 sub = 0;
925 prefs->mDaylightsavingEnd = date.dayOfYear()-sub; 945 prefs->mDaylightsavingEnd = date.dayOfYear()-sub;
926 946
927 947
928 prefs->mEmailClient = mEmailClient; 948 prefs->mEmailClient = mEmailClient;
929 prefs->mEmailOtherChannel = mEmailOtherChannel; 949 prefs->mEmailOtherChannel = mEmailOtherChannel;
930 prefs->mEmailOtherMessage = mEmailOtherMessage; 950 prefs->mEmailOtherMessage = mEmailOtherMessage;
931 prefs->mEmailOtherMessageParameters = mEmailOtherMessageParameters; 951 prefs->mEmailOtherMessageParameters = mEmailOtherMessageParameters;
932 prefs->mEmailOtherMessage2 = mEmailOtherMessage2; 952 prefs->mEmailOtherMessage2 = mEmailOtherMessage2;
933 prefs->mEmailOtherMessageParameters2 = mEmailOtherMessageParameters2; 953 prefs->mEmailOtherMessageParameters2 = mEmailOtherMessageParameters2;
934 954
935 prefs->mPhoneClient = mPhoneClient; 955 prefs->mPhoneClient = mPhoneClient;
936 prefs->mPhoneOtherChannel = mPhoneOtherChannel; 956 prefs->mPhoneOtherChannel = mPhoneOtherChannel;
937 prefs->mPhoneOtherMessage = mPhoneOtherMessage; 957 prefs->mPhoneOtherMessage = mPhoneOtherMessage;
938 prefs->mPhoneOtherMessageParameters = mPhoneOtherMessageParameters; 958 prefs->mPhoneOtherMessageParameters = mPhoneOtherMessageParameters;
939 959
940 prefs->mFaxClient = mFaxClient; 960 prefs->mFaxClient = mFaxClient;
941 prefs->mFaxOtherChannel = mFaxOtherChannel; 961 prefs->mFaxOtherChannel = mFaxOtherChannel;
942 prefs->mFaxOtherMessage = mFaxOtherMessage; 962 prefs->mFaxOtherMessage = mFaxOtherMessage;
943 prefs->mFaxOtherMessageParameters = mFaxOtherMessageParameters; 963 prefs->mFaxOtherMessageParameters = mFaxOtherMessageParameters;
944 964
945 prefs->mSMSClient = mSMSClient; 965 prefs->mSMSClient = mSMSClient;
946 prefs->mSMSOtherChannel = mSMSOtherChannel; 966 prefs->mSMSOtherChannel = mSMSOtherChannel;
947 prefs->mSMSOtherMessage = mSMSOtherMessage; 967 prefs->mSMSOtherMessage = mSMSOtherMessage;
948 prefs->mSMSOtherMessageParameters = mSMSOtherMessageParameters; 968 prefs->mSMSOtherMessageParameters = mSMSOtherMessageParameters;
949 969
950 prefs->mPagerClient = mPagerClient; 970 prefs->mPagerClient = mPagerClient;
951 prefs->mPagerOtherChannel = mPagerOtherChannel; 971 prefs->mPagerOtherChannel = mPagerOtherChannel;
952 prefs->mPagerOtherMessage = mPagerOtherMessage; 972 prefs->mPagerOtherMessage = mPagerOtherMessage;
953 prefs->mPagerOtherMessageParameters = mPagerOtherMessageParameters; 973 prefs->mPagerOtherMessageParameters = mPagerOtherMessageParameters;
954 974
955 975
956 prefs->mSipClient = mSipClient; 976 prefs->mSipClient = mSipClient;
957 prefs->mSipOtherChannel = mSipOtherChannel; 977 prefs->mSipOtherChannel = mSipOtherChannel;
958 prefs->mSipOtherMessage = mSipOtherMessage; 978 prefs->mSipOtherMessage = mSipOtherMessage;
959 prefs->mSipOtherMessageParameters = mSipOtherMessageParameters; 979 prefs->mSipOtherMessageParameters = mSipOtherMessageParameters;
960 980
961 //release the cache that other views can access the changed values instantanious 981 //release the cache that other views can access the changed values instantanious
962 ExternalAppHandler::instance()->loadConfig(); 982 ExternalAppHandler::instance()->loadConfig();
963 KPimGlobalPrefs::instance()->setGlobalConfig(); 983 KPimGlobalPrefs::instance()->setGlobalConfig();
964} 984}
965 985
966 986
967void KDEPIMConfigWidget::setCombo(QComboBox *combo, const QString & text, 987void KDEPIMConfigWidget::setCombo(QComboBox *combo, const QString & text,
968 const QStringList *tags) 988 const QStringList *tags)
969{ 989{
970 if (tags) { 990 if (tags) {
971 int i = tags->findIndex(text); 991 int i = tags->findIndex(text);
972 if (i > 0) combo->setCurrentItem(i); 992 if (i > 0) combo->setCurrentItem(i);
973 } else { 993 } else {
974 for(int i=0;i<combo->count();++i) { 994 for(int i=0;i<combo->count();++i) {
975 if (combo->text(i) == text) { 995 if (combo->text(i) == text) {
976 combo->setCurrentItem(i); 996 combo->setCurrentItem(i);
977 break; 997 break;
978 } 998 }
979 } 999 }
980 } 1000 }
981} 1001}
982 1002
983 1003
984void KDEPIMConfigWidget::textChanged( const QString& text ) 1004void KDEPIMConfigWidget::textChanged( const QString& text )
985{ 1005{
986 emit changed( true ); 1006 emit changed( true );
987} 1007}
diff --git a/libkdepim/kcmconfigs/kdepimconfigwidget.h b/libkdepim/kcmconfigs/kdepimconfigwidget.h
index c0b92a9..824ef79 100644
--- a/libkdepim/kcmconfigs/kdepimconfigwidget.h
+++ b/libkdepim/kcmconfigs/kdepimconfigwidget.h
@@ -1,163 +1,163 @@
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#ifndef KDEPIMCONFIGWIDGET_H 31#ifndef KDEPIMCONFIGWIDGET_H
32#define KDEPIMCONFIGWIDGET_H 32#define KDEPIMCONFIGWIDGET_H
33 33
34#include <kprefswidget.h> 34#include <kprefswidget.h>
35#include <kio/kfile/kurlrequester.h> 35#include <kio/kfile/kurlrequester.h>
36#include <qmap.h> 36#include <qmap.h>
37 37
38#include "externalapphandler.h" 38#include "externalapphandler.h"
39 39
40 40
41class QComboBox; 41class QComboBox;
42class QLineEdit; 42class QLineEdit;
43class KPimGlobalPrefs; 43class KPimGlobalPrefs;
44class QGroupBox; 44class QGroupBox;
45class QTabWidget; 45class QTabWidget;
46class KDateEdit; 46class KDateEdit;
47 47
48class KDEPIMConfigWidget : public KPrefsWidget 48class KDEPIMConfigWidget : public KPrefsWidget
49{ 49{
50 Q_OBJECT 50 Q_OBJECT
51 51
52 public: 52 public:
53 KDEPIMConfigWidget(KPimGlobalPrefs *prefs, QWidget *parent, const char *name = 0 ); 53 KDEPIMConfigWidget(KPimGlobalPrefs *prefs, QWidget *parent, const char *name = 0 );
54 54
55 public slots: 55 public slots:
56 void textChanged( const QString& text ); 56 void textChanged( const QString& text );
57 void showTimeZoneTab(); 57 void showTimeZoneTab();
58 58
59 protected: 59 protected:
60 /** Implement this to read custom configuration widgets. */ 60 /** Implement this to read custom configuration widgets. */
61 virtual void usrReadConfig(); 61 virtual void usrReadConfig();
62 /** Implement this to write custom configuration widgets. */ 62 /** Implement this to write custom configuration widgets. */
63 virtual void usrWriteConfig(); 63 virtual void usrWriteConfig();
64 64
65 65
66 private slots: 66 private slots:
67// void configureExtension(); 67// void configureExtension();
68// void selectionChanged( QListViewItem* ); 68// void selectionChanged( QListViewItem* );
69// void itemClicked( QListViewItem* ); 69// void itemClicked( QListViewItem* );
70 void client_changed( int newClient ); 70 void client_changed( int newClient );
71 void externalapp_changed( int newApp ); 71 void externalapp_changed( int newApp );
72 void saveStoreSettings(); 72 void saveStoreSettings();
73 void setStandardStore(); 73 void setStandardStore();
74 void setLocalStore(); 74 void setLocalStore();
75 75
76 private: 76 private:
77 void setupExternalAppTab(); 77 void setupExternalAppTab();
78 void setupLocaleDateTab(); 78 void setupLocaleDateTab();
79 void setupLocaleTab(); 79 void setupLocaleTab();
80 void setupTimeZoneTab(); 80 void setupTimeZoneTab();
81 void setupStoreTab(); 81 void setupStoreTab();
82 void setupBackupTab(); 82 void setupBackupTab();
83 KURLRequester* mStoreUrl; 83 KURLRequester* mStoreUrl;
84 84
85 void setCombo(QComboBox *combo,const QString & text, const QStringList *tags = 0); 85 void setCombo(QComboBox *combo,const QString & text, const QStringList *tags = 0);
86 86
87 87
88 void saveEditFieldSettings(); 88 void saveEditFieldSettings();
89 void updateClientWidgets(); 89 void updateClientWidgets();
90 90
91 QTabWidget *tabWidget; 91 QTabWidget *tabWidget;
92 92
93 93
94 QLineEdit* mUserDateFormatShort; 94 QLineEdit* mUserDateFormatShort;
95 QLineEdit* mUserDateFormatLong; 95 QLineEdit* mUserDateFormatLong;
96 QComboBox* mTimeZoneCombo; 96 QComboBox* mTimeZoneCombo;
97 KDateEdit* mStartDateSavingEdit; 97 KDateEdit* mStartDateSavingEdit;
98 KDateEdit* mEndDateSavingEdit; 98 KDateEdit* mEndDateSavingEdit;
99 99
100// void restoreExtensionSettings(); 100// void restoreExtensionSettings();
101// void saveExtensionSettings(); 101// void saveExtensionSettings();
102 102
103// KListView *mExtensionView; 103// KListView *mExtensionView;
104 104
105// QCheckBox *mNameParsing; 105// QCheckBox *mNameParsing;
106// QCheckBox *mViewsSingleClickBox; 106// QCheckBox *mViewsSingleClickBox;
107// QPushButton *mConfigureButton; 107// QPushButton *mConfigureButton;
108 QComboBox* mExternalApps; 108 QComboBox* mExternalApps;
109 QGroupBox* mExternalAppGroupBox; 109 QGroupBox* mExternalAppGroupBox;
110 110
111 111
112 QComboBox* mClient; 112 QComboBox* mClient;
113 QLineEdit* mChannel; 113 QLineEdit* mChannel;
114 QLineEdit* mMessage; 114 QLineEdit* mMessage;
115 QLineEdit* mParameters; 115 QLineEdit* mParameters;
116 QLineEdit* mMessage2; 116 QLineEdit* mMessage2;
117 QLineEdit* mParameters2; 117 QLineEdit* mParameters2;
118 118
119 ExternalAppHandler::Types mCurrentApp; 119 ExternalAppHandler::Types mCurrentApp;
120 int mCurrentClient; 120 int mCurrentClient;
121 121
122 122
123 int mEmailClient; 123 int mEmailClient;
124 QString mEmailOtherChannel; 124 QString mEmailOtherChannel;
125 QString mEmailOtherMessage; 125 QString mEmailOtherMessage;
126 QString mEmailOtherMessageParameters; 126 QString mEmailOtherMessageParameters;
127 QString mEmailOtherMessage2; 127 QString mEmailOtherMessage2;
128 QString mEmailOtherMessageParameters2; 128 QString mEmailOtherMessageParameters2;
129 129
130 int mPhoneClient; 130 int mPhoneClient;
131 QString mPhoneOtherChannel; 131 QString mPhoneOtherChannel;
132 QString mPhoneOtherMessage; 132 QString mPhoneOtherMessage;
133 QString mPhoneOtherMessageParameters; 133 QString mPhoneOtherMessageParameters;
134 134
135 int mFaxClient; 135 int mFaxClient;
136 QString mFaxOtherChannel; 136 QString mFaxOtherChannel;
137 QString mFaxOtherMessage; 137 QString mFaxOtherMessage;
138 QString mFaxOtherMessageParameters; 138 QString mFaxOtherMessageParameters;
139 139
140 int mSMSClient; 140 int mSMSClient;
141 QString mSMSOtherChannel; 141 QString mSMSOtherChannel;
142 QString mSMSOtherMessage; 142 QString mSMSOtherMessage;
143 QString mSMSOtherMessageParameters; 143 QString mSMSOtherMessageParameters;
144 144
145 int mPagerClient; 145 int mPagerClient;
146 QString mPagerOtherChannel; 146 QString mPagerOtherChannel;
147 QString mPagerOtherMessage; 147 QString mPagerOtherMessage;
148 QString mPagerOtherMessageParameters; 148 QString mPagerOtherMessageParameters;
149 149
150 int mSipClient; 150 int mSipClient;
151 QString mSipOtherChannel; 151 QString mSipOtherChannel;
152 QString mSipOtherMessage; 152 QString mSipOtherMessage;
153 QString mSipOtherMessageParameters; 153 QString mSipOtherMessageParameters;
154 154
155 155 QLabel* mDataStoragePath;
156 KURLRequester* mBackupUrl; 156 KURLRequester* mBackupUrl;
157 QSpinBox* mBackupDayCountSpin, *mBackupNumbersSpin ; 157 QSpinBox* mBackupDayCountSpin, *mBackupNumbersSpin ;
158 QMap<ExternalAppHandler::Types, QString> mExternalAppsMap; 158 QMap<ExternalAppHandler::Types, QString> mExternalAppsMap;
159 159
160// AddresseeWidget *mAddresseeWidget; 160// AddresseeWidget *mAddresseeWidget;
161}; 161};
162 162
163#endif 163#endif
diff --git a/libkdepim/kdatepicker.cpp b/libkdepim/kdatepicker.cpp
index 7f352d6..25b4e81 100644
--- a/libkdepim/kdatepicker.cpp
+++ b/libkdepim/kdatepicker.cpp
@@ -288,202 +288,203 @@ KDatePicker::yearBackwardClicked()
288 temp.setYMD(temp.year(), temp.month(), temp.daysInMonth()); 288 temp.setYMD(temp.year(), temp.month(), temp.daysInMonth());
289 } else { 289 } else {
290 temp.setYMD(temp.year(), temp.month(), day); 290 temp.setYMD(temp.year(), temp.month(), day);
291 } 291 }
292 // assert(temp.isValid()); 292 // assert(temp.isValid());
293 setDate(temp); 293 setDate(temp);
294} 294}
295 295
296void 296void
297KDatePicker::selectMonthClicked() 297KDatePicker::selectMonthClicked()
298{ 298{
299 int month; 299 int month;
300 KPopupFrame* popup = new KPopupFrame(this); 300 KPopupFrame* popup = new KPopupFrame(this);
301 KDateInternalMonthPicker* picker = new KDateInternalMonthPicker(popup); 301 KDateInternalMonthPicker* picker = new KDateInternalMonthPicker(popup);
302 // ----- 302 // -----
303 picker->resize(picker->sizeHint()); 303 picker->resize(picker->sizeHint());
304 popup->setMainWidget(picker); 304 popup->setMainWidget(picker);
305 picker->setFocus(); 305 picker->setFocus();
306 connect(picker, SIGNAL(closeMe(int)), popup, SLOT(close(int))); 306 connect(picker, SIGNAL(closeMe(int)), popup, SLOT(close(int)));
307 if(popup->exec(selectMonth->mapToGlobal(QPoint(0, selectMonth->height())))) 307 if(popup->exec(selectMonth->mapToGlobal(QPoint(0, selectMonth->height()))))
308 { 308 {
309 QDate date; 309 QDate date;
310 int day; 310 int day;
311 // ----- 311 // -----
312 month=picker->getResult(); 312 month=picker->getResult();
313 date=table->getDate(); 313 date=table->getDate();
314 day=date.day(); 314 day=date.day();
315 // ----- construct a valid date in this month: 315 // ----- construct a valid date in this month:
316 date.setYMD(date.year(), month, 1); 316 date.setYMD(date.year(), month, 1);
317 date.setYMD(date.year(), month, QMIN(day, date.daysInMonth())); 317 date.setYMD(date.year(), month, QMIN(day, date.daysInMonth()));
318 // ----- set this month 318 // ----- set this month
319 setDate(date); 319 setDate(date);
320 } else { 320 } else {
321 KNotifyClient::beep(); 321 KNotifyClient::beep();
322 } 322 }
323 delete popup; 323 delete popup;
324} 324}
325 325
326void 326void
327KDatePicker::selectYearClicked() 327KDatePicker::selectYearClicked()
328{ 328{
329 int year; 329 int year;
330 KPopupFrame* popup = new KPopupFrame(this); 330 KPopupFrame* popup = new KPopupFrame(this);
331 KDateInternalYearSelector* picker = new KDateInternalYearSelector(fontsize, popup); 331 KDateInternalYearSelector* picker = new KDateInternalYearSelector(fontsize, popup);
332 // ----- 332 // -----
333 picker->resize(picker->sizeHint()); 333 picker->resize(picker->sizeHint());
334 popup->setMainWidget(picker); 334 popup->setMainWidget(picker);
335 connect(picker, SIGNAL(closeMe(int)), popup, SLOT(close(int))); 335 connect(picker, SIGNAL(closeMe(int)), popup, SLOT(close(int)));
336 picker->setFocus(); 336 picker->setFocus();
337 if(popup->exec(selectYear->mapToGlobal(QPoint(0, selectMonth->height())))) 337 if(popup->exec(selectYear->mapToGlobal(QPoint(0, selectMonth->height()))))
338 { 338 {
339 QDate date; 339 QDate date;
340 int day; 340 int day;
341 // ----- 341 // -----
342 year=picker->getYear(); 342 year=picker->getYear();
343 date=table->getDate(); 343 date=table->getDate();
344 day=date.day(); 344 day=date.day();
345 // ----- construct a valid date in this month: 345 // ----- construct a valid date in this month:
346 date.setYMD(year, date.month(), 1); 346 date.setYMD(year, date.month(), 1);
347 date.setYMD(year, date.month(), QMIN(day, date.daysInMonth())); 347 date.setYMD(year, date.month(), QMIN(day, date.daysInMonth()));
348 // ----- set this month 348 // ----- set this month
349 setDate(date); 349 setDate(date);
350 } else { 350 } else {
351 KNotifyClient::beep(); 351 KNotifyClient::beep();
352 } 352 }
353 delete popup; 353 delete popup;
354} 354}
355 355
356void 356void
357KDatePicker::setEnabled(bool enable) 357KDatePicker::setEnabled(bool enable)
358{ 358{
359 QWidget *widgets[]= { 359 QWidget *widgets[]= {
360 yearForward, yearBackward, monthForward, monthBackward, 360 yearForward, yearBackward, monthForward, monthBackward,
361 selectMonth, selectYear, 361 selectMonth, selectYear,
362 lineDate, table }; 362 lineDate, table };
363 const int Size=sizeof(widgets)/sizeof(widgets[0]); 363 const int Size=sizeof(widgets)/sizeof(widgets[0]);
364 int count; 364 int count;
365 // ----- 365 // -----
366 for(count=0; count<Size; ++count) 366 for(count=0; count<Size; ++count)
367 { 367 {
368 widgets[count]->setEnabled(enable); 368 widgets[count]->setEnabled(enable);
369 } 369 }
370} 370}
371 371
372void 372void
373KDatePicker::lineEnterPressed() 373KDatePicker::lineEnterPressed()
374{ 374{
375 QDate temp; 375 QDate temp;
376 // ----- 376 // -----
377 temp = lineDate->date(); 377 temp = lineDate->date();
378 //if(val->date(line->text(), temp)==QValidator::Acceptable) 378 //if(val->date(line->text(), temp)==QValidator::Acceptable)
379 //{ 379 //{
380 emit(dateEntered(temp)); 380 emit(dateEntered(temp));
381 setDate(temp); 381 setDate(temp);
382 // } else { 382 // } else {
383// KNotifyClient::beep(); 383// KNotifyClient::beep();
384// } 384// }
385} 385}
386 386
387QSize 387QSize
388KDatePicker::sizeHint() const 388KDatePicker::sizeHint() const
389{ 389{
390 QSize tableSize=table->sizeHint(); 390 QSize tableSize=table->sizeHint();
391 QWidget *buttons[]={ 391 QWidget *buttons[]={
392 yearBackward, 392 yearBackward,
393 monthBackward, 393 monthBackward,
394 selectMonth, 394 selectMonth,
395 selectYear, 395 selectYear,
396 monthForward, 396 monthForward,
397 yearForward }; 397 yearForward };
398 const int NoOfButtons=sizeof(buttons)/sizeof(buttons[0]); 398 const int NoOfButtons=sizeof(buttons)/sizeof(buttons[0]);
399 QSize sizes[NoOfButtons]; 399 QSize sizes[NoOfButtons];
400 int cx=0, cy=0, count; 400 int cx=0, cy=0, count;
401 // ----- store the size hints: 401 // ----- store the size hints:
402 for(count=0; count<NoOfButtons; ++count) 402 for(count=0; count<NoOfButtons; ++count)
403 { 403 {
404 sizes[count]=buttons[count]->sizeHint(); 404 sizes[count]=buttons[count]->sizeHint();
405 if(buttons[count]==selectMonth) 405 if(buttons[count]==selectMonth)
406 { 406 {
407 cx+=maxMonthRect.width()+15; 407 cx+=maxMonthRect.width()+15;
408 } else { 408 } else {
409 cx+=sizes[count].width()+15; 409 cx+=sizes[count].width()+15;
410 } 410 }
411 cy=QMAX(sizes[count].height(), cy); 411 cy=QMAX(sizes[count].height(), cy);
412 } 412 }
413 // ----- calculate width hint: 413 // ----- calculate width hint:
414 cx=QMAX(cx, tableSize.width()); // line edit ignored 414 cx=QMAX(cx, tableSize.width()); // line edit ignored
415 if ( cx > QApplication::desktop()->width() -5 ) 415 if ( cx > QApplication::desktop()->width() -5 )
416 cx = QApplication::desktop()->width() -5; 416 cx = QApplication::desktop()->width() -5;
417 // ----- calculate height hint: 417 // ----- calculate height hint:
418 cy+=tableSize.height()+lineDate->sizeHint().height(); 418 cy+=tableSize.height()+lineDate->sizeHint().height();
419 419
420 return QSize(cx, cy); 420 return QSize(cx, cy);
421} 421}
422 422
423void 423void
424KDatePicker::setFontSize(int s) 424KDatePicker::setFontSize(int s)
425{ 425{
426 QWidget *buttons[]= { 426 QWidget *buttons[]= {
427 // yearBackward, 427 // yearBackward,
428 // monthBackward, 428 // monthBackward,
429 selectMonth, 429 selectMonth,
430 selectYear, 430 selectYear,
431 // monthForward, 431 // monthForward,
432 // yearForward 432 // yearForward
433 }; 433 };
434 const int NoOfButtons=sizeof(buttons)/sizeof(buttons[0]); 434 const int NoOfButtons=sizeof(buttons)/sizeof(buttons[0]);
435 int count; 435 int count;
436 QFont font; 436 QFont font;
437 QRect r; 437 QRect r;
438 // ----- 438 // -----
439 fontsize=s; 439 fontsize=s;
440 for(count=0; count<NoOfButtons; ++count) 440 for(count=0; count<NoOfButtons; ++count)
441 { 441 {
442 font=buttons[count]->font(); 442 font=buttons[count]->font();
443 font.setPointSize(s); 443 font.setPointSize(s);
444 buttons[count]->setFont(font); 444 buttons[count]->setFont(font);
445 } 445 }
446 QFontMetrics metrics(selectMonth->fontMetrics()); 446 QFontMetrics metrics(selectMonth->fontMetrics());
447 for(int i=1; i <= 12; ++i) 447 for(int i=1; i <= 12; ++i)
448 { // maxMonthRect is used by sizeHint() 448 { // maxMonthRect is used by sizeHint()
449 r=metrics.boundingRect(KGlobal::locale()->monthName(i, false)); 449 r=metrics.boundingRect(KGlobal::locale()->monthName(i, false));
450 maxMonthRect.setWidth(QMAX(r.width(), maxMonthRect.width())); 450 maxMonthRect.setWidth(QMAX(r.width(), maxMonthRect.width()));
451 maxMonthRect.setHeight(QMAX(r.height(), maxMonthRect.height())); 451 maxMonthRect.setHeight(QMAX(r.height(), maxMonthRect.height()));
452 } 452 }
453 table->setFontSize(s); 453 table->setFontSize(s);
454} 454}
455 455
456void KDatePicker::virtual_hook( int id, void* data ) 456void KDatePicker::virtual_hook( int id, void* data )
457{ /*BASE::virtual_hook( id, data );*/ } 457{ /*BASE::virtual_hook( id, data );*/ }
458 458
459void KDatePicker::keyPressEvent ( QKeyEvent * e ) 459void KDatePicker::keyPressEvent ( QKeyEvent * e )
460{ 460{
461 switch ( e->key() ) { 461 switch ( e->key() ) {
462 case Qt::Key_Right: 462 case Qt::Key_Right:
463 monthForwardClicked(); 463 monthForwardClicked();
464 break; 464 break;
465 case Qt::Key_Left: 465 case Qt::Key_Left:
466 monthBackwardClicked(); 466 monthBackwardClicked();
467 break; 467 break;
468 468
469 case Qt::Key_Down: 469 case Qt::Key_Down:
470 yearForwardClicked(); 470 yearForwardClicked();
471 471
472 break; 472 break;
473 473
474 case Qt::Key_Up: 474 case Qt::Key_Up:
475 yearBackwardClicked(); 475 yearBackwardClicked();
476 break; 476 break;
477 477
478 case Qt::Key_Return: 478 case Qt::Key_Return:
479 case Qt::Key_Enter: 479 case Qt::Key_Enter:
480 case Qt::Key_Space:
480 tableClickedSlot(); 481 tableClickedSlot();
481 break; 482 break;
482 case Qt::Key_Escape: 483 case Qt::Key_Escape:
483 e->ignore(); 484 e->ignore();
484 break; 485 break;
485 default: 486 default:
486 break; 487 break;
487 } 488 }
488 489
489} 490}