From 460c52653ab0dcca6f19a4f492ed2c5e4e963ab0 Mon Sep 17 00:00:00 2001
From: toma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>
Date: Wed, 25 Nov 2009 17:56:58 +0000
Subject: Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features.
 BUG:215923

git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdepim@1054174 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
---
 kmail/vacation.h | 89 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 89 insertions(+)
 create mode 100644 kmail/vacation.h

(limited to 'kmail/vacation.h')

diff --git a/kmail/vacation.h b/kmail/vacation.h
new file mode 100644
index 000000000..18a48d236
--- /dev/null
+++ b/kmail/vacation.h
@@ -0,0 +1,89 @@
+/*  -*- c++ -*-
+    vacation.cpp
+
+    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_VACATION_H__
+#define __KMAIL_VACATION_H__
+
+#include <qobject.h>
+
+#include <kurl.h>
+
+class QString;
+class QStringList;
+template <typename T> class QValueList;
+namespace KMail {
+  class SieveJob;
+  class VacationDialog;
+}
+namespace KMime {
+  namespace Types {
+    struct AddrSpec;
+    typedef QValueList<AddrSpec> AddrSpecList;
+  }
+}
+
+namespace KMail {
+
+  class Vacation : public QObject {
+    Q_OBJECT
+  public:
+    Vacation( QObject * parent=0, bool checkOnly = false, const char * name=0 );
+    virtual ~Vacation();
+
+    bool isUsable() const { return !mUrl.isEmpty(); }
+
+    static QString defaultMessageText();
+    static int defaultNotificationInterval();
+    static QStringList defaultMailAliases();
+    static bool defaultSendForSpam();
+    static QString defaultDomainName();
+
+  protected:
+    static QString composeScript( const QString & messageText,
+				  int notificationInterval,
+				  const KMime::Types::AddrSpecList & aliases,
+                                  bool sendForSpam, const QString & excludeDomain );
+    static bool parseScript( const QString & script, QString & messageText,
+			     int & notificationInterval, QStringList & aliases,
+                             bool & sendForSpam, QString & domainName );
+    KURL findURL() const;
+    void handlePutResult( KMail::SieveJob * job, bool success, bool );
+
+
+  signals:
+    void result( bool success );
+    // indicates if the vaction script is active or not
+    void scriptActive( bool active );
+
+  protected slots:
+    void slotDialogDefaults();
+    void slotGetResult( KMail::SieveJob * job, bool success,
+			const QString & script, bool active );
+    void slotDialogOk();
+    void slotDialogCancel();
+    void slotPutActiveResult( KMail::SieveJob *, bool );
+    void slotPutInactiveResult( KMail::SieveJob *, bool );
+  protected:
+    // IO:
+    KMail::SieveJob * mSieveJob;
+    KURL mUrl;
+    // GUI:
+    KMail::VacationDialog * mDialog;
+    bool mWasActive;
+    bool mCheckOnly;
+  };
+
+} // namespace KMail
+
+#endif // __KMAIL_VACATION_H__
-- 
cgit v1.2.1