kmail

identitydialog.h

00001 /*  -*- mode: C++; c-file-style: "gnu" -*-
00002     identitydialog.h
00003 
00004     This file is part of KMail, the KDE mail client.
00005     Copyright (c) 2002 Marc Mutz <mutz@kde.org>
00006 
00007     KMail is free software; you can redistribute it and/or modify it
00008     under the terms of the GNU General Public License, version 2, as
00009     published by the Free Software Foundation.
00010 
00011     KMail is distributed in the hope that it will be useful, but
00012     WITHOUT ANY WARRANTY; without even the implied warranty of
00013     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00014     General Public License for more details.
00015 
00016     You should have received a copy of the GNU General Public License
00017     along with this program; if not, write to the Free Software
00018     Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
00019 
00020     In addition, as a special exception, the copyright holders give
00021     permission to link the code of this program with any edition of
00022     the Qt library by Trolltech AS, Norway (or with modified versions
00023     of Qt that use the same license as Qt), and distribute linked
00024     combinations including the two.  You must obey the GNU General
00025     Public License in all respects for all of the code used other than
00026     Qt.  If you modify this file, you may extend this exception to
00027     your version of the file, but you are not obligated to do so.  If
00028     you do not wish to do so, delete this exception statement from
00029     your version.
00030 */
00031 
00032 #ifndef __KMAIL_IDENTITYDIALOG_H__
00033 #define __KMAIL_IDENTITYDIALOG_H__
00034 
00035 #include <kdialogbase.h>
00036 
00037 
00038 class QLineEdit;
00039 class QCheckBox;
00040 class QComboBox;
00041 class QString;
00042 class QStringList;
00043 class SimpleStringListEditor;
00044 class TemplatesConfiguration;
00045 class KPushButton;
00046 namespace Kleo {
00047   class EncryptionKeyRequester;
00048   class SigningKeyRequester;
00049 }
00050 namespace KPIM {
00051   class Identity;
00052 }
00053 namespace KMail {
00054   class SignatureConfigurator;
00055   class XFaceConfigurator;
00056   class DictionaryComboBox;
00057   class FolderRequester;
00058 }
00059 
00060 namespace KMail {
00061 
00062   class IdentityDialog : public KDialogBase {
00063     Q_OBJECT
00064   public:
00065     IdentityDialog( QWidget * parent=0, const char * name = 0 );
00066     virtual ~IdentityDialog();
00067 
00068     void setIdentity( /*_not_ const*/ KPIM::Identity & ident );
00069 
00070     void updateIdentity( KPIM::Identity & ident );
00071 
00072   public slots:
00073     void slotUpdateTransportCombo( const QStringList & sl );
00074 
00075   protected slots:
00076     void slotAboutToShow( QWidget * w );
00078     void slotOk();
00079     // copy default templates to identity templates
00080     void slotCopyGlobal();
00081 
00082   private:
00083     bool checkFolderExists( const QString & folder, const QString & msg );
00084     bool validateAddresses( const QString & addresses );
00085 
00086   protected:
00087     // "general" tab:
00088     QLineEdit                    *mNameEdit;
00089     QLineEdit                    *mOrganizationEdit;
00090     QLineEdit                    *mEmailEdit;
00091     SimpleStringListEditor       *mAliasEdit;
00092     // "cryptography" tab:
00093     QWidget                      *mCryptographyTab;
00094     Kleo::SigningKeyRequester    *mPGPSigningKeyRequester;
00095     Kleo::EncryptionKeyRequester *mPGPEncryptionKeyRequester;
00096     Kleo::SigningKeyRequester    *mSMIMESigningKeyRequester;
00097     Kleo::EncryptionKeyRequester *mSMIMEEncryptionKeyRequester;
00098     QComboBox                    *mPreferredCryptoMessageFormat;
00099     // "advanced" tab:
00100     QLineEdit                    *mReplyToEdit;
00101     QLineEdit                    *mBccEdit;
00102     KMail::DictionaryComboBox    *mDictionaryCombo;
00103     FolderRequester              *mFccCombo;
00104     FolderRequester              *mDraftsCombo;
00105     FolderRequester              *mTemplatesCombo;
00106     QCheckBox                    *mTransportCheck;
00107     QComboBox                    *mTransportCombo; // should be a KMTransportCombo...
00108     // "templates" tab:
00109     TemplatesConfiguration       *mWidget;
00110     QCheckBox                    *mCustom;
00111     KPushButton                  *mCopyGlobal;
00112     // "signature" tab:
00113     KMail::SignatureConfigurator *mSignatureConfigurator;
00114     // "X-Face" tab:
00115     KMail::XFaceConfigurator *mXFaceConfigurator;
00116   };
00117 
00118 } // namespace KMail
00119 
00120 #endif // __KMAIL_IDENTITYDIALOG_H__
KDE Home | KDE Accessibility Home | Description of Access Keys