accountdialog.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef _ACCOUNT_DIALOG_H_
00022 #define _ACCOUNT_DIALOG_H_
00023
00024 #include <kdialogbase.h>
00025 #include "kmfoldercombobox.h"
00026
00027 class QCheckBox;
00028 class QComboBox;
00029 class QPushButton;
00030 class QLabel;
00031 class QLineEdit;
00032 class QRadioButton;
00033 class KIntNumInput;
00034 class KMAccount;
00035 class KMFolder;
00036 class KMServerTest;
00037 class QButtonGroup;
00038 namespace KMail {
00039 class SieveConfigEditor;
00040 }
00041
00042 class AccountDialog : public KDialogBase
00043 {
00044 Q_OBJECT
00045
00046 public:
00047 AccountDialog( const QString & caption, KMAccount *account,
00048 QWidget *parent=0, const char *name=0, bool modal=true );
00049 virtual ~AccountDialog();
00050 private:
00051 struct LocalWidgets
00052 {
00053 QLabel *titleLabel;
00054 QLineEdit *nameEdit;
00055 QComboBox *locationEdit;
00056 QRadioButton *lockMutt;
00057 QRadioButton *lockMuttPriv;
00058 QRadioButton *lockProcmail;
00059 QComboBox *procmailLockFileName;
00060 QRadioButton *lockFcntl;
00061 QRadioButton *lockNone;
00062 QLineEdit *precommand;
00063 #if 0
00064 QCheckBox *resourceCheck;
00065 QPushButton *resourceClearButton;
00066 QPushButton *resourceClearPastButton;
00067 #endif
00068 QCheckBox *excludeCheck;
00069 QCheckBox *intervalCheck;
00070 QLabel *intervalLabel;
00071 KIntNumInput *intervalSpin;
00072 QComboBox *folderCombo;
00073 QComboBox *identityCombo;
00074 };
00075
00076 struct MaildirWidgets
00077 {
00078 QLabel *titleLabel;
00079 QLineEdit *nameEdit;
00080 QComboBox *locationEdit;
00081 QLineEdit *precommand;
00082 #if 0
00083 QCheckBox *resourceCheck;
00084 QPushButton *resourceClearButton;
00085 QPushButton *resourceClearPastButton;
00086 #endif
00087 QCheckBox *excludeCheck;
00088 QCheckBox *intervalCheck;
00089 QLabel *intervalLabel;
00090 KIntNumInput *intervalSpin;
00091 QComboBox *folderCombo;
00092 QComboBox *identityCombo;
00093 };
00094
00095 struct PopWidgets
00096 {
00097 QLabel *titleLabel;
00098 QLineEdit *nameEdit;
00099 QLineEdit *loginEdit;
00100 QLineEdit *passwordEdit;
00101 QLineEdit *hostEdit;
00102 QLineEdit *portEdit;
00103 QLineEdit *precommand;
00104 QButtonGroup *encryptionGroup;
00105 QRadioButton *encryptionNone;
00106 QRadioButton *encryptionSSL;
00107 QRadioButton *encryptionTLS;
00108 QButtonGroup *authGroup;
00109 QRadioButton *authUser;
00110 QRadioButton *authPlain;
00111 QRadioButton *authLogin;
00112 QRadioButton *authCRAM_MD5;
00113 QRadioButton *authDigestMd5;
00114 QRadioButton *authAPOP;
00115 QPushButton *checkCapabilities;
00116 QCheckBox *usePipeliningCheck;
00117 QCheckBox *storePasswordCheck;
00118 QCheckBox *deleteMailCheck;
00119 QCheckBox *retriveAllCheck;
00120 #if 0
00121 QCheckBox *resourceCheck;
00122 QPushButton *resourceClearButton;
00123 QPushButton *resourceClearPastButton;
00124 #endif
00125 QCheckBox *excludeCheck;
00126 QCheckBox *intervalCheck;
00127 QCheckBox *filterOnServerCheck;
00128 QLabel *intervalLabel;
00129 KIntNumInput *intervalSpin;
00130 KIntNumInput *filterOnServerSizeSpin;
00131 QComboBox *folderCombo;
00132 QComboBox *identityCombo;
00133 };
00134
00135 struct ImapWidgets
00136 {
00137 QLabel *titleLabel;
00138 QLineEdit *nameEdit;
00139 QLineEdit *loginEdit;
00140 QLineEdit *passwordEdit;
00141 QLineEdit *hostEdit;
00142 QLineEdit *portEdit;
00143 QLineEdit *prefixEdit;
00144 #if 0
00145 QCheckBox *resourceCheck;
00146 QPushButton *resourceClearButton;
00147 QPushButton *resourceClearPastButton;
00148 #endif
00149 QCheckBox *autoExpungeCheck;
00150 QCheckBox *hiddenFoldersCheck;
00151 QCheckBox *subscribedFoldersCheck;
00152 QCheckBox *loadOnDemandCheck;
00153 QCheckBox *storePasswordCheck;
00154 QCheckBox *progressDialogCheck;
00155 QCheckBox *excludeCheck;
00156 QCheckBox *intervalCheck;
00157 QLabel *intervalLabel;
00158 KIntNumInput *intervalSpin;
00159 QButtonGroup *encryptionGroup;
00160 QRadioButton *encryptionNone;
00161 QRadioButton *encryptionSSL;
00162 QRadioButton *encryptionTLS;
00163 QButtonGroup *authGroup;
00164 QRadioButton *authUser;
00165 QRadioButton *authPlain;
00166 QRadioButton *authLogin;
00167 QRadioButton *authCramMd5;
00168 QRadioButton *authDigestMd5;
00169 QRadioButton *authAnonymous;
00170 QPushButton *checkCapabilities;
00171 KMFolderComboBox *trashCombo;
00172 };
00173
00174 private slots:
00175 virtual void slotOk();
00176 void slotLocationChooser();
00177 void slotMaildirChooser();
00178 void slotEnablePopInterval( bool state );
00179 void slotEnableImapInterval( bool state );
00180 void slotEnableLocalInterval( bool state );
00181 void slotEnableMaildirInterval( bool state );
00182 void slotFontChanged();
00183 void slotPipeliningClicked();
00184 void slotPopEncryptionChanged(int);
00185 void slotImapEncryptionChanged(int);
00186 void slotCheckPopCapabilities();
00187 void slotCheckImapCapabilities();
00188 void slotPopCapabilities(const QStringList &);
00189 void slotImapCapabilities(const QStringList &);
00190 #if 0
00191
00192
00193
00194 #endif
00195
00196 private:
00197 void makeLocalAccountPage();
00198 void makeMaildirAccountPage();
00199 void makePopAccountPage();
00200 void makeImapAccountPage( bool disconnected = false );
00201 void setupSettings();
00202 void saveSettings();
00203 void checkHighest(QButtonGroup *);
00204
00205 private:
00206 LocalWidgets mLocal;
00207 MaildirWidgets mMaildir;
00208 PopWidgets mPop;
00209 ImapWidgets mImap;
00210 KMAccount *mAccount;
00211 QValueList<QGuardedPtr<KMFolder> > mFolderList;
00212 QStringList mFolderNames;
00213 KMServerTest *mServerTest;
00214 KMail::SieveConfigEditor *mSieveConfigEditor;
00215 QRegExpValidator *mValidator;
00216 };
00217
00218
00219 #endif
This file is part of the documentation for kmail Library Version 3.2.2.