summaryrefslogtreecommitdiffstats
path: root/kmail/sieveconfig.h
diff options
context:
space:
mode:
Diffstat (limited to 'kmail/sieveconfig.h')
-rw-r--r--kmail/sieveconfig.h128
1 files changed, 128 insertions, 0 deletions
diff --git a/kmail/sieveconfig.h b/kmail/sieveconfig.h
new file mode 100644
index 000000000..55c63cc55
--- /dev/null
+++ b/kmail/sieveconfig.h
@@ -0,0 +1,128 @@
+/* -*- c++ -*-
+ sieveconfig.h
+
+ KMail, the KDE mail client.
+ Copyright (c) 2002 Marc Mutz <mutz@kde.org>
+
+ This program is free software; you can redistribute it and/or
+ modify it under the terms of the GNU General Public License,
+ version 2.0, as published by the Free Software Foundation.
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software Foundation,
+ Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, US
+*/
+
+#ifndef __KMAIL_SIEVECONFIG_H__
+#define __KMAIL_SIEVECONFIG_H__
+
+#include <qwidget.h>
+
+#include <kurl.h>
+
+class QCheckBox;
+class QLineEdit;
+class KIntSpinBox;
+class KConfigBase;
+
+namespace KMail {
+
+ class SieveConfig {
+ public:
+ SieveConfig( bool managesieveSupported=false, bool reuseConfig=true,
+ unsigned int port=2000, const KURL & alternateURL=KURL(),
+ const QString& vacationFileName = QString::null )
+ : mManagesieveSupported( managesieveSupported ),
+ mReuseConfig( reuseConfig ),
+ mPort( port ),
+ mAlternateURL( alternateURL ),
+ mVacationFileName( vacationFileName ) {}
+
+ SieveConfig( const SieveConfig & other )
+ : mManagesieveSupported( other.managesieveSupported() ),
+ mReuseConfig( other.reuseConfig() ),
+ mPort( other.port() ),
+ mAlternateURL( other.alternateURL() ),
+ mVacationFileName( other.vacationFileName() ) {}
+
+ bool managesieveSupported() const {
+ return mManagesieveSupported;
+ }
+ void setManagesieveSupported( bool enable ) {
+ mManagesieveSupported = enable;
+ }
+
+ bool reuseConfig() const {
+ return mReuseConfig;
+ }
+ void setReuseConfig( bool reuse ) {
+ mReuseConfig = reuse;
+ }
+
+ unsigned short port() const {
+ return mPort;
+ }
+ void setPort( unsigned short port ) {
+ mPort = port;
+ }
+
+ KURL alternateURL() const {
+ return mAlternateURL;
+ }
+ void setAlternateURL( const KURL & url ) {
+ mAlternateURL = url;
+ }
+
+ QString vacationFileName() const { return mVacationFileName; }
+
+ void readConfig( const KConfigBase & config );
+ void writeConfig( KConfigBase & config ) const;
+
+ protected:
+ bool mManagesieveSupported;
+ bool mReuseConfig;
+ unsigned short mPort;
+ KURL mAlternateURL;
+ QString mVacationFileName;
+ };
+
+ class SieveConfigEditor : public QWidget {
+ Q_OBJECT
+ public:
+ SieveConfigEditor( QWidget * parent=0, const char * name=0 );
+
+ bool managesieveSupported() const;
+ virtual void setManagesieveSupported( bool enable );
+
+ bool reuseConfig() const;
+ virtual void setReuseConfig( bool reuse );
+
+ unsigned short port() const;
+ virtual void setPort( unsigned short port );
+
+ KURL alternateURL() const;
+ virtual void setAlternateURL( const KURL & url );
+
+ QString vacationFileName() const;
+ virtual void setVacationFileName( const QString & url );
+
+ SieveConfig config() const {
+ return SieveConfig( managesieveSupported(), reuseConfig(),
+ port(), alternateURL(), vacationFileName() );
+ }
+
+ virtual void setConfig( const SieveConfig & config );
+
+ protected slots:
+ void slotEnableWidgets();
+
+ protected:
+ QCheckBox * mManagesieveCheck;
+ QCheckBox * mSameConfigCheck;
+ KIntSpinBox * mPortSpin;
+ QLineEdit * mAlternateURLEdit;
+ QString mVacationFileName;
+ };
+
+} // namespace KMail
+
+#endif // __KMAIL_SIEVECONFIG_H__