startupwizard.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifndef STARTUPWIZARD_H
00024 #define STARTUPWIZARD_H
00025
00026 #include <qwizard.h>
00027
00028 class KMFolder;
00029 class KMFolderComboBox;
00030 class KMAcctCachedImap;
00031 class NetworkPage;
00032 class KMIdentity;
00033 class KMTransportInfo;
00034
00035 class QLabel;
00036 class QComboBox;
00037 class QLineEdit;
00038 class QCheckBox;
00039 class QButtonGroup;
00040 class QTextBrowser;
00041 class KIntNumInput;
00042
00043 class WizardIdentityPage : public QWidget {
00044 Q_OBJECT
00045 public:
00046 WizardIdentityPage( QWidget *parent, const char *name );
00047
00048 void apply() const;
00049
00050 KMIdentity &identity() const;
00051
00052 private:
00053 int mIdentity;
00054
00055 QLineEdit *nameEdit, *orgEdit, *emailEdit;
00056 };
00057
00058
00059 class WizardKolabPage : public QWidget {
00060 Q_OBJECT
00061 public:
00062 WizardKolabPage( QWidget * parent, const char * name );
00063
00064 void apply();
00065 void init( const QString &userEmail );
00066 KMFolder *folder() const { return mFolder; }
00067
00068 QLineEdit *loginEdit;
00069 QLineEdit *passwordEdit;
00070 QLineEdit *hostEdit;
00071 QCheckBox *storePasswordCheck;
00072 QCheckBox *excludeCheck;
00073 QCheckBox *intervalCheck;
00074 QLabel *intervalLabel;
00075 KIntNumInput *intervalSpin;
00076
00077 KMFolder *mFolder;
00078 KMAcctCachedImap *mAccount;
00079 KMTransportInfo *mTransport;
00080 };
00081
00082
00083 class StartupWizard : public QWizard {
00084 Q_OBJECT
00085 public:
00086
00087 static void run();
00088
00089 private slots:
00090 virtual void back();
00091 virtual void next();
00092
00093 void slotGroupwareEnabled( int );
00094 void slotServerSettings( int i );
00095 void slotUpdateParentFolderName();
00096
00097 private:
00098 StartupWizard( QWidget* parent = 0, const char* name = 0, bool modal = FALSE );
00099
00100 int language() const;
00101 KMFolder* folder() const;
00102
00103 bool groupwareEnabled() const { return mGroupwareEnabled; }
00104 bool useDefaultKolabSettings() const { return mUseDefaultKolabSettings; }
00105
00106 QString name() const;
00107 QString login() const;
00108 QString host() const;
00109 QString email() const;
00110 QString passwd() const;
00111 bool storePasswd() const;
00112
00113 void setAppropriatePages();
00114 void guessExistingFolderLanguage();
00115 void setLanguage( int, bool );
00116
00117
00118 static void writeKOrganizerConfig( const StartupWizard& );
00119
00120
00121 static void writeKAbcConfig();
00122
00123
00124 static void writeKAddressbookConfig( const StartupWizard& );
00125
00126 KMIdentity& userIdentity();
00127 const KMIdentity& userIdentity() const;
00128
00129 QWidget* createIntroPage();
00130 QWidget* createIdentityPage();
00131 QWidget* createKolabPage();
00132 QWidget* createAccountPage();
00133 QWidget* createLanguagePage();
00134 QWidget* createFolderSelectionPage();
00135 QWidget* createFolderCreationPage();
00136 QWidget* createOutroPage();
00137
00138 QWidget *mIntroPage, *mIdentityPage, *mKolabPage, *mAccountPage, *mLanguagePage,
00139 *mFolderSelectionPage, *mFolderCreationPage, *mOutroPage;
00140
00141 QComboBox* mLanguageCombo;
00142 KMFolderComboBox* mFolderCombo;
00143 QTextBrowser* mFolderCreationText;
00144 QLabel* mLanguageLabel;
00145
00146 WizardIdentityPage* mIdentityWidget;
00147 WizardKolabPage* mKolabWidget;
00148 NetworkPage* mAccountWidget;
00149
00150 QButtonGroup *serverSettings;
00151
00152 bool mGroupwareEnabled;
00153 bool mUseDefaultKolabSettings;
00154
00155 KMFolder *mFolder;
00156 };
00157
00158
00159 #endif // STARTUPWIZARD_H
This file is part of the documentation for kmail Library Version 3.2.2.