kmail Library API Documentation

accountdialog.h

00001 /* 00002 * kmail: KDE mail client 00003 * This file: Copyright (C) 2000 Espen Sand, espen@kde.org 00004 * 00005 * This program is free software; you can redistribute it and/or modify 00006 * it under the terms of the GNU General Public License as published by 00007 * the Free Software Foundation; either version 2 of the License, or 00008 * (at your option) any later version. 00009 * 00010 * This program is distributed in the hope that it will be useful, 00011 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00012 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00013 * GNU General Public License for more details. 00014 * 00015 * You should have received a copy of the GNU General Public License 00016 * along with this program; if not, write to the Free Software 00017 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 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; // only used by normal (online) IMAP 00150 QCheckBox *hiddenFoldersCheck; 00151 QCheckBox *subscribedFoldersCheck; 00152 QCheckBox *loadOnDemandCheck; 00153 QCheckBox *storePasswordCheck; 00154 QCheckBox *progressDialogCheck; // only used by Disconnected IMAP 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 // Moc doesn't understand #if 0, so they are also commented out 00192 // void slotClearResourceAllocations(); 00193 // void slotClearPastResourceAllocations(); 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
KDE Logo
This file is part of the documentation for kmail Library Version 3.2.2.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Wed Jul 28 23:57:56 2004 by doxygen 1.3.7 written by Dimitri van Heesch, © 1997-2003