From 4b82a36d1b2479dd2e6f00aef45af848f6793099 Mon Sep 17 00:00:00 2001 From: zautrix Date: Tue, 18 Jan 2005 12:06:27 +0000 Subject: data dir --- (limited to 'libkdepim/kcmconfigs') diff --git a/libkdepim/kcmconfigs/kdepimconfigwidget.cpp b/libkdepim/kcmconfigs/kdepimconfigwidget.cpp index 20594c6..d097078 100644 --- a/libkdepim/kcmconfigs/kdepimconfigwidget.cpp +++ b/libkdepim/kcmconfigs/kdepimconfigwidget.cpp @@ -36,6 +36,8 @@ $Id$ #include #include #include +#include +#include #include #include @@ -103,12 +105,48 @@ KDEPIMConfigWidget::KDEPIMConfigWidget(KPimGlobalPrefs *prefs, QWidget *parent, setupLocaleDateTab(); setupTimeZoneTab(); setupExternalAppTab(); + setupStoreTab(); } void KDEPIMConfigWidget::showTimeZoneTab() { tabWidget->setCurrentPage ( 3 ) ; } +void KDEPIMConfigWidget::setupStoreTab() +{ + QVBox *storePage = new QVBox( this ); + 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 ); + new QLabel( i18n("Set new data storage dir:"), storePage ); + mStoreUrl = new KURLRequester( storePage ); + mStoreUrl->setURL( KGlobal::dirs()->localkdedir() ); + new QLabel( i18n("Not existing dirs are created automatically"), storePage ); + QHBox *bb = new QHBox( storePage ); + QPushButton * pb = new QPushButton ( i18n("Save settings"), bb ); + connect(pb, SIGNAL( clicked() ), this, SLOT ( saveStoreSettings() ) ); + pb = new QPushButton ( i18n("Save standard"), bb ); + connect(pb, SIGNAL( clicked() ), this, SLOT ( setStandardStore() ) ); + new QLabel( i18n("New settings are used\nafter a restart"), storePage ); + new QLabel( i18n("The settings of the storage\ndir is saved in the file\n%1").arg(QDir::homeDirPath() + "/.microkdehome" ), storePage ); + tabWidget->addTab( storePage, i18n( "Data storage path" ) ); +} +void KDEPIMConfigWidget::setStandardStore() +{ + mStoreUrl->setURL( QDir::homeDirPath() + "/kdepim" ); + saveStoreSettings(); +} +void KDEPIMConfigWidget::saveStoreSettings() +{ + if ( !mStoreUrl->url().isEmpty() ) { + KConfig cfg ( QDir::homeDirPath() + "/.microkdehome" ); + cfg.setGroup("Global"); + cfg.writeEntry( "MICROKDEHOME", mStoreUrl->url() ); + qDebug("cfg.writeEntry( MICROKDEHOME, mStoreUrl->url() ); "); + cfg.sync(); + } else { + mStoreUrl->setURL( QDir::homeDirPath() + "/kdepim" ); + saveStoreSettings(); + } +} void KDEPIMConfigWidget::setupExternalAppTab() { QWidget *externalAppsPage = new QWidget( this ); diff --git a/libkdepim/kcmconfigs/kdepimconfigwidget.h b/libkdepim/kcmconfigs/kdepimconfigwidget.h index 619f3d7..c545207 100644 --- a/libkdepim/kcmconfigs/kdepimconfigwidget.h +++ b/libkdepim/kcmconfigs/kdepimconfigwidget.h @@ -32,6 +32,7 @@ $Id$ #define KDEPIMCONFIGWIDGET_H #include +#include #include #include "externalapphandler.h" @@ -68,12 +69,16 @@ class KDEPIMConfigWidget : public KPrefsWidget // void itemClicked( QListViewItem* ); void client_changed( int newClient ); void externalapp_changed( int newApp ); + void saveStoreSettings(); + void setStandardStore(); private: void setupExternalAppTab(); void setupLocaleDateTab(); void setupLocaleTab(); void setupTimeZoneTab(); + void setupStoreTab(); + KURLRequester* mStoreUrl; void setCombo(QComboBox *combo,const QString & text, const QStringList *tags = 0); -- cgit v0.9.0.2