summaryrefslogtreecommitdiffstats
path: root/kmail/accountwizard.h
diff options
context:
space:
mode:
Diffstat (limited to 'kmail/accountwizard.h')
-rw-r--r--kmail/accountwizard.h138
1 files changed, 138 insertions, 0 deletions
diff --git a/kmail/accountwizard.h b/kmail/accountwizard.h
new file mode 100644
index 000000000..0dea0e442
--- /dev/null
+++ b/kmail/accountwizard.h
@@ -0,0 +1,138 @@
+/*******************************************************************************
+**
+** Filename : accountwizard.h
+** Created on : 07 February, 2005
+** Copyright : (c) 2005 Tobias Koenig
+** Email : [email protected]
+**
+*******************************************************************************/
+
+/*******************************************************************************
+**
+** This program is free software; you can redistribute it and/or modify
+** it under the terms of the GNU General Public License as published by
+** the Free Software Foundation; either version 2 of the License, or
+** (at your option) any later version.
+**
+** In addition, as a special exception, the copyright holders give
+** permission to link the code of this program with any edition of
+** the Qt library by Trolltech AS, Norway (or with modified versions
+** of Qt that use the same license as Qt), and distribute linked
+** combinations including the two. You must obey the GNU General
+** Public License in all respects for all of the code used other than
+** Qt. If you modify this file, you may extend this exception to
+** your version of the file, but you are not obligated to do so. If
+** you do not wish to do so, delete this exception statement from
+** your version.
+*******************************************************************************/
+
+#ifndef KMWIZARD_H
+#define KMWIZARD_H
+
+#include <kwizard.h>
+
+class KLineEdit;
+class QCheckBox;
+class QLabel;
+class QPushButton;
+
+class KMAccount;
+class KMKernel;
+class KMServerTest;
+class AccountTypeBox;
+class KMTransportInfo;
+
+class AccountWizard : public KWizard
+{
+ Q_OBJECT
+
+ public:
+ /**
+ Starts the wizard. The wizard is only shown when it has not be
+ run successfully before.
+
+ @param kernel The mail kernel the wizard should work on.
+ @param parent The parent widget of the dialog.
+ */
+ static void start( KMKernel *kernel, QWidget *parent = 0 );
+
+ /**
+ Reimplemented
+ */
+ void showPage( QWidget *page );
+
+ protected:
+ AccountWizard( KMKernel *kernel, QWidget *parent );
+ ~AccountWizard() {};
+
+ void setupWelcomePage();
+ void setupAccountTypePage();
+ void setupAccountInformationPage();
+ void setupLoginInformationPage();
+ void setupServerInformationPage();
+
+ protected slots:
+ void chooseLocation();
+ virtual void accept();
+ void createTransport();
+ void transportCreated();
+ void createAccount();
+ void accountCreated();
+ void finished();
+
+ private slots:
+ void popCapabilities( const QStringList&, const QStringList& );
+ void imapCapabilities( const QStringList&, const QStringList& );
+ void smtpCapabilities( const QStringList&, const QStringList&,
+ const QString&, const QString&, const QString& );
+
+ private:
+ QString accountName() const;
+ QLabel *createInfoLabel( const QString &msg );
+
+ void checkPopCapabilities( const QString&, int );
+ void checkImapCapabilities( const QString&, int );
+ void checkSmtpCapabilities( const QString&, int );
+ uint popCapabilitiesFromStringList( const QStringList& );
+ uint imapCapabilitiesFromStringList( const QStringList& );
+ uint authMethodsFromString( const QString& );
+ uint authMethodsFromStringList( const QStringList& );
+
+ QWidget *mWelcomePage;
+
+ QWidget *mAccountTypePage;
+ AccountTypeBox *mTypeBox;
+
+ QWidget *mAccountInformationPage;
+ KLineEdit *mRealName;
+ KLineEdit *mEMailAddress;
+ KLineEdit *mOrganization;
+
+ QWidget *mLoginInformationPage;
+ KLineEdit *mLoginName;
+ KLineEdit *mPassword;
+
+ QWidget *mServerInformationPage;
+ QLabel *mIncomingLabel;
+ KLineEdit *mIncomingServer;
+ QCheckBox *mIncomingUseSSL;
+ KLineEdit *mIncomingLocation;
+
+ QPushButton *mChooseLocation;
+ KLineEdit *mOutgoingServer;
+ QCheckBox *mOutgoingUseSSL;
+ QCheckBox *mLocalDelivery;
+
+ QWidget *mIncomingServerWdg;
+ QWidget *mIncomingLocationWdg;
+
+ QLabel *mAuthInfoLabel;
+
+ KMKernel *mKernel;
+ KMAccount *mAccount;
+ KMTransportInfo *mTransportInfo;
+ QPtrList<KMTransportInfo> mTransportInfoList;
+ KMServerTest *mServerTest;
+};
+
+#endif