00001
00002
00003
00004
00005
#ifndef _CONFIGURE_DIALOG_PRIVATE_H_
00006
#define _CONFIGURE_DIALOG_PRIVATE_H_
00007
00008
#include <klineedit.h>
00009
#include <qcombobox.h>
00010
#include <qguardedptr.h>
00011
#include <qptrlist.h>
00012
#include <qstring.h>
00013
#include <qvaluelist.h>
00014
#include <qstringlist.h>
00015
00016
#include <kdialogbase.h>
00017
#include <klistview.h>
00018
00019
class QPushButton;
00020
class QLabel;
00021
class QCheckBox;
00022
class KURLRequester;
00023
class KFontChooser;
00024
class QRadioButton;
00025
class ColorListBox;
00026
class QFont;
00027
class QListViewItem;
00028
class QTabWidget;
00029
class QListBox;
00030
class QButtonGroup;
00031
class QRegExpValidator;
00032
class QVBox;
00033
class KMFolderComboBox;
00034
class KMAccount;
00035
class KMTransportInfo;
00036
class ListView;
00037
class ConfigureDialog;
00038
class KIntSpinBox;
00039
class SimpleStringListEditor;
00040
class KConfig;
00041
class QPoint;
00042
class CryptPlugWrapperList;
00043
namespace Kpgp {
00044
class Config;
00045 }
00046
namespace KMail {
00047
class IdentityDialog;
00048
class IdentityListView;
00049 }
00050
00051
class NewIdentityDialog :
public KDialogBase
00052 {
00053 Q_OBJECT
00054
00055
public:
00056
enum DuplicateMode { Empty, ControlCenter, ExistingEntry };
00057
00058 NewIdentityDialog(
const QStringList & identities,
00059 QWidget *parent=0,
const char *name=0,
bool modal=
true );
00060
00061 QString identityName()
const {
return mLineEdit->text(); }
00062 QString duplicateIdentity()
const {
return mComboBox->currentText(); }
00063 DuplicateMode duplicateMode() const;
00064
00065 protected slots:
00066 virtual
void slotEnableOK( const QString & );
00067
00068 private:
00069 QLineEdit *mLineEdit;
00070 QComboBox *mComboBox;
00071 QButtonGroup *mButtonGroup;
00072 };
00073
00074
00075
00076
00077
00078
00079
00080
00081 struct LanguageItem
00082 {
00083 LanguageItem() {};
00084 LanguageItem(
const QString & language,
const QString & reply=QString::null,
00085
const QString & replyAll=QString::null,
00086
const QString & forward=QString::null,
00087
const QString & indentPrefix=QString::null ) :
00088 mLanguage( language ), mReply( reply ), mReplyAll( replyAll ),
00089 mForward( forward ), mIndentPrefix( indentPrefix ) {}
00090
00091 QString mLanguage, mReply, mReplyAll, mForward, mIndentPrefix;
00092 };
00093
00094
typedef QValueList<LanguageItem> LanguageItemList;
00095
00096
class NewLanguageDialog :
public KDialogBase
00097 {
00098 Q_OBJECT
00099
00100
public:
00101 NewLanguageDialog( LanguageItemList & suppressedLangs, QWidget *parent=0,
00102
const char *name=0,
bool modal=
true );
00103 QString language() const;
00104
00105 private:
00106 QComboBox *mComboBox;
00107 };
00108
00109
00110 class LanguageComboBox : public QComboBox
00111 {
00112 Q_OBJECT
00113
00114
public:
00115 LanguageComboBox(
bool rw, QWidget *parent=0,
const char *name=0 );
00116
int insertLanguage(
const QString & language );
00117 QString language() const;
00118
void setLanguage( const QString & language );
00119 };
00120
00121
00122
00123
00124
00125
00126
00127 class ProfileDialog : public KDialogBase {
00128 Q_OBJECT
00129
public:
00130 ProfileDialog( QWidget * parent=0,
const char * name=0,
bool modal=
false );
00131
00132 signals:
00133
void profileSelected( KConfig * profile );
00134
00135
private slots:
00136
void slotSelectionChanged( QListViewItem * );
00137
void slotOk();
00138
00139
private:
00140
void setup();
00141
00142
private:
00143 KListView *mListView;
00144 QStringList mProfileList;
00145 };
00146
00147
00148
00149
00150
00151
00152
00153
00154
class ConfigurationPage :
public QWidget {
00155 Q_OBJECT
00156
public:
00157 ConfigurationPage( QWidget * parent=0,
const char * name=0 )
00158 : QWidget( parent, name ) {}
00159 ~ConfigurationPage() {};
00160
00162
virtual QString helpAnchor() const = 0;
00163
00167 virtual
void setup() = 0;
00176 virtual
void installProfile( KConfig * ) {};
00180
virtual void apply() = 0;
00183
virtual void dismiss() {}
00184
00185
void setPageIndex(
int aPageIndex ) { mPageIndex = aPageIndex; }
00186
int pageIndex()
const {
return mPageIndex; }
00187
protected:
00188
int mPageIndex;
00189 };
00190
00191
00192
00193
00194
00195
00196
00197
class TabbedConfigurationPage :
public ConfigurationPage {
00198 Q_OBJECT
00199
public:
00200 TabbedConfigurationPage( QWidget * parent=0,
const char * name=0 );
00201
00202
void setup();
00203
void dismiss();
00204
void installProfile( KConfig * profile );
00205
void apply();
00206
00207
protected:
00208
void addTab( QWidget * tab,
const QString & title );
00209
00210
private:
00211 ConfigurationPage * configTab(
int index,
const char * debugMsg )
const;
00212
00213 QTabWidget *mTabWidget;
00214
00215 };
00216
00217
00218
00219
00220
00221
00222
00223
class IdentityPage :
public ConfigurationPage {
00224 Q_OBJECT
00225
public:
00226 IdentityPage( QWidget * parent=0,
const char * name=0 );
00227 ~IdentityPage() {};
00228
00229
static QString iconLabel();
00230
static QString title();
00231
static const char * iconName();
00232 QString helpAnchor() const;
00233
00234
void setup();
00235
void apply();
00236
void dismiss();
00237
00238 public slots:
00239
void slotUpdateTransportCombo( const QStringList & );
00240
00241 protected slots:
00242
void slotNewIdentity();
00243
void slotModifyIdentity();
00244
void slotRemoveIdentity();
00247
void slotRenameIdentity();
00250
void slotRenameIdentity( QListViewItem *, const QString &,
int );
00251
void slotContextMenu( KListView*, QListViewItem *, const QPoint & );
00252
void slotSetAsDefault();
00253
void slotIdentitySelectionChanged( QListViewItem * );
00254
00255 protected:
00256
void refreshList();
00257
00258 protected:
00259 KMail::IdentityDialog * mIdentityDialog;
00260
int mOldNumberOfIdentities;
00261
00262 KMail::
IdentityListView * mIdentityList;
00263 QPushButton * mModifyButton;
00264 QPushButton * mRenameButton;
00265 QPushButton * mRemoveButton;
00266 QPushButton * mSetAsDefaultButton;
00267
00268 };
00269
00270
00271
00272
00273
00274
00275
00276
00277
00278 class NetworkPageSendingTab : public ConfigurationPage {
00279 Q_OBJECT
00280
public:
00281 NetworkPageSendingTab( QWidget * parent=0,
const char * name=0 );
00282
00283
00284
static QString iconLabel() {
return QString::null; }
00285
static const char * iconName() {
return 0; }
00286
00287
static QString title();
00288 QString helpAnchor() const;
00289
00290
void setup();
00291
void apply();
00292
00293 signals:
00294
void transportListChanged( const QStringList & );
00295
00296 protected slots:
00297
void slotTransportSelected();
00298
void slotAddTransport();
00299
void slotModifySelectedTransport();
00300
void slotRemoveSelectedTransport();
00301
void slotTransportUp();
00302
void slotTransportDown();
00303
00304 protected:
00305 ListView *mTransportList;
00306 QPushButton *mModifyTransportButton;
00307 QPushButton *mRemoveTransportButton;
00308 QPushButton *mTransportUpButton;
00309 QPushButton *mTransportDownButton;
00310 QCheckBox *mConfirmSendCheck;
00311 QCheckBox *mSendOutboxCheck;
00312 QComboBox *mSendMethodCombo;
00313 QComboBox *mMessagePropertyCombo;
00314 QLineEdit *mDefaultDomainEdit;
00315
00316 QPtrList< KMTransportInfo > mTransportInfoList;
00317
00318 };
00319
00320
00321 class NetworkPageReceivingTab : public ConfigurationPage {
00322 Q_OBJECT
00323
public:
00324 NetworkPageReceivingTab( QWidget * parent=0,
const char * name=0 );
00325
00326
00327
static QString iconLabel() {
return QString::null; }
00328
static const char * iconName() {
return 0; }
00329
00330
static QString title();
00331 QString helpAnchor() const;
00332
00333
void setup();
00334
void apply();
00335
void dismiss();
00336
00337 signals:
00338
void accountListChanged( const QStringList & );
00339
00340 protected slots:
00341
void slotAccountSelected();
00342
void slotAddAccount();
00343
void slotModifySelectedAccount();
00344
void slotRemoveSelectedAccount();
00345
void slotEditNotifications();
00346
00347 protected:
00348 QStringList occupiedNames();
00349
00350 protected:
00351 ListView *mAccountList;
00352 QPushButton *mModifyAccountButton;
00353 QPushButton *mRemoveAccountButton;
00354 QCheckBox *mBeepNewMailCheck;
00355 QCheckBox *mSystrayCheck;
00356 QRadioButton *mBlinkingSystray;
00357 QRadioButton *mSystrayOnNew;
00358 QCheckBox *mCheckmailStartupCheck;
00359 QPushButton *mOtherNewMailActionsButton;
00360
00361 QValueList< QGuardedPtr<KMAccount> > mAccountsToDelete;
00362 QValueList< QGuardedPtr<KMAccount> > mNewAccounts;
00363 struct ModifiedAccountsType {
00364 QGuardedPtr< KMAccount > oldAccount;
00365 QGuardedPtr< KMAccount > newAccount;
00366 };
00367
00368 QValueList< ModifiedAccountsType* > mModifiedAccounts;
00369 };
00370
00371
class NetworkPage :
public TabbedConfigurationPage {
00372 Q_OBJECT
00373
public:
00374 NetworkPage( QWidget * parent=0,
const char * name=0 );
00375
00376
static QString iconLabel();
00377
static QString title();
00378
static const char * iconName();
00379 QString helpAnchor() const;
00380
00381
00382 typedef NetworkPageSendingTab SendingTab;
00383 typedef NetworkPageReceivingTab ReceivingTab;
00384
00385 signals:
00386
void transportListChanged( const QStringList & );
00387
void accountListChanged( const QStringList & );
00388
00389 protected:
00390 SendingTab *mSendingTab;
00391 ReceivingTab *mReceivingTab;
00392 };
00393
00394
00395
00396
00397
00398
00399
00400
00401 class AppearancePageFontsTab : public ConfigurationPage {
00402 Q_OBJECT
00403
public:
00404 AppearancePageFontsTab( QWidget * parent=0,
const char * name=0 );
00405
00406
00407
static QString iconLabel() {
return QString::null; }
00408
static const char * iconName() {
return 0; }
00409
00410
static QString title();
00411 QString helpAnchor() const;
00412
00413
void setup();
00414
void apply();
00415
void installProfile( KConfig * profile );
00416
00417 protected slots:
00418
void slotFontSelectorChanged(
int );
00419
00420 protected:
00421
void updateFontSelector();
00422
00423 protected:
00424 QCheckBox *mCustomFontCheck;
00425 QComboBox *mFontLocationCombo;
00426 KFontChooser *mFontChooser;
00427
00428
int mActiveFontIndex;
00429 QFont mFont[10];
00430 };
00431
00432 class AppearancePageColorsTab : public ConfigurationPage {
00433 Q_OBJECT
00434
public:
00435 AppearancePageColorsTab( QWidget * parent=0,
const char * name=0 );
00436
00437
00438
static QString iconLabel() {
return QString::null; }
00439
static const char * iconName() {
return 0; }
00440
00441
static QString title();
00442 QString helpAnchor() const;
00443
00444
void setup();
00445
void apply();
00446
void installProfile( KConfig * profile );
00447
00448 protected:
00449 QCheckBox *mCustomColorCheck;
00450 ColorListBox *mColorList;
00451 QCheckBox *mRecycleColorCheck;
00452 };
00453
00454 class AppearancePageLayoutTab : public ConfigurationPage {
00455 Q_OBJECT
00456
public:
00457 AppearancePageLayoutTab( QWidget * parent=0,
const char * name=0 );
00458
00459
00460
static QString iconLabel() {
return QString::null; }
00461
static const char * iconName() {
return 0; }
00462
00463
static QString title();
00464 QString helpAnchor() const;
00465
00466
void setup();
00467
void apply();
00468
void installProfile( KConfig * profile );
00469
00470 protected:
00471 QCheckBox *mShowColorbarCheck;
00472 QButtonGroup *mFolderListGroup;
00473 QButtonGroup *mMIMETreeLocationGroup;
00474 QButtonGroup *mMIMETreeModeGroup;
00475 QButtonGroup *mReaderWindowModeGroup;
00476 };
00477
00478 class AppearancePageHeadersTab : public ConfigurationPage {
00479 Q_OBJECT
00480
public:
00481 AppearancePageHeadersTab( QWidget * parent=0,
const char * name=0 );
00482
00483
00484
static QString iconLabel() {
return QString::null; }
00485
static const char * iconName() {
return 0; }
00486
00487
static QString title();
00488 QString helpAnchor() const;
00489
00490
void setup();
00491
void apply();
00492
void installProfile( KConfig * profile );
00493
00494 protected:
00495
void setDateDisplay(
int id, const QString & format );
00496
00497 protected:
00498 QCheckBox *mMessageSizeCheck;
00499 QCheckBox *mNestedMessagesCheck;
00500 QCheckBox *mCryptoIconsCheck;
00501 QButtonGroup *mNestingPolicy;
00502 QButtonGroup *mDateDisplay;
00503 QLineEdit *mCustomDateFormatEdit;
00504 };
00505
00506 class AppearancePage : public TabbedConfigurationPage {
00507 Q_OBJECT
00508
public:
00509 AppearancePage( QWidget * parent=0,
const char * name=0 );
00510
00511
static QString iconLabel();
00512
static QString title();
00513
static const char * iconName();
00514 QString helpAnchor() const;
00515
00516
00517 typedef AppearancePageFontsTab FontsTab;
00518 typedef AppearancePageColorsTab ColorsTab;
00519 typedef AppearancePageLayoutTab LayoutTab;
00520 typedef AppearancePageHeadersTab HeadersTab;
00521
00522 protected:
00523 FontsTab *mFontsTab;
00524 ColorsTab *mColorsTab;
00525 LayoutTab *mLayoutTab;
00526 HeadersTab *mHeadersTab;
00527 };
00528
00529
00530
00531
00532
00533
00534
00535 class ComposerPageGeneralTab : public ConfigurationPage {
00536 Q_OBJECT
00537
public:
00538 ComposerPageGeneralTab( QWidget * parent=0,
const char * name=0 );
00539
00540
00541
static QString iconLabel() {
return QString::null; }
00542
static const char * iconName() {
return 0; }
00543
00544
static QString title();
00545 QString helpAnchor() const;
00546
00547
void setup();
00548
void apply();
00549
void installProfile( KConfig * profile );
00550
00551 protected:
00552 QCheckBox *mAutoAppSignFileCheck;
00553 QCheckBox *mSmartQuoteCheck;
00554 QCheckBox *mAutoRequestMDNCheck;
00555 QCheckBox *mWordWrapCheck;
00556 KIntSpinBox *mWrapColumnSpin;
00557 QCheckBox *mExternalEditorCheck;
00558 KURLRequester *mEditorRequester;
00559 };
00560
00561 class ComposerPagePhrasesTab : public ConfigurationPage {
00562 Q_OBJECT
00563
public:
00564 ComposerPagePhrasesTab( QWidget * parent=0,
const char * name=0 );
00565
00566
00567
static QString iconLabel() {
return QString::null; }
00568
static const char * iconName() {
return 0; }
00569
00570
static QString title();
00571 QString helpAnchor() const;
00572
00573
void setup();
00574
void apply();
00575
00576 protected slots:
00577
void slotNewLanguage();
00578
void slotRemoveLanguage();
00579
void slotLanguageChanged( const QString& );
00580
void slotAddNewLanguage( const QString& );
00581
00582 protected:
00583
void setLanguageItemInformation(
int index );
00584
void saveActiveLanguageItem();
00585
00586 protected:
00587 LanguageComboBox *mPhraseLanguageCombo;
00588 QPushButton *mRemoveButton;
00589 QLineEdit *mPhraseReplyEdit;
00590 QLineEdit *mPhraseReplyAllEdit;
00591 QLineEdit *mPhraseForwardEdit;
00592 QLineEdit *mPhraseIndentPrefixEdit;
00593
00594
int mActiveLanguageItem;
00595 LanguageItemList mLanguageList;
00596 };
00597
00598 class ComposerPageSubjectTab : public ConfigurationPage {
00599 Q_OBJECT
00600
public:
00601 ComposerPageSubjectTab( QWidget * parent=0,
const char * name=0 );
00602
00603
00604
static QString iconLabel() {
return QString::null; }
00605
static const char * iconName() {
return 0; }
00606
00607
static QString title();
00608 QString helpAnchor() const;
00609
00610
void setup();
00611
void apply();
00612
00613
00614 protected:
00615 SimpleStringListEditor *mReplyListEditor;
00616 QCheckBox *mReplaceReplyPrefixCheck;
00617 SimpleStringListEditor *mForwardListEditor;
00618 QCheckBox *mReplaceForwardPrefixCheck;
00619 };
00620
00621 class ComposerPageCharsetTab : public ConfigurationPage {
00622 Q_OBJECT
00623
public:
00624 ComposerPageCharsetTab( QWidget * parent=0,
const char * name=0 );
00625
00626
00627
static QString iconLabel() {
return QString::null; }
00628
static const char * iconName() {
return 0; }
00629
00630
static QString title();
00631 QString helpAnchor() const;
00632
00633
void setup();
00634
void apply();
00635
00636 protected slots:
00637
void slotVerifyCharset(QString&);
00638
00639 protected:
00640 SimpleStringListEditor *mCharsetListEditor;
00641 QCheckBox *mKeepReplyCharsetCheck;
00642 };
00643
00644 class ComposerPageHeadersTab : public ConfigurationPage {
00645 Q_OBJECT
00646
public:
00647 ComposerPageHeadersTab( QWidget * parent=0,
const char * name=0 );
00648
00649
00650
static QString iconLabel() {
return QString::null; }
00651
static const char * iconName() {
return 0; }
00652
00653
static QString title();
00654 QString helpAnchor() const;
00655
00656
void setup();
00657
void apply();
00658
00659 protected slots:
00660
void slotMimeHeaderSelectionChanged();
00661
void slotMimeHeaderNameChanged( const QString & );
00662
void slotMimeHeaderValueChanged( const QString & );
00663
void slotNewMimeHeader();
00664
void slotRemoveMimeHeader();
00665
00666 protected:
00667 QCheckBox *mCreateOwnMessageIdCheck;
00668 QLineEdit *mMessageIdSuffixEdit;
00669 QRegExpValidator *mMessageIdSuffixValidator;
00670 QListView *mTagList;
00671 QPushButton *mRemoveHeaderButton;
00672 QLineEdit *mTagNameEdit;
00673 QLineEdit *mTagValueEdit;
00674 QLabel *mTagNameLabel;
00675 QLabel *mTagValueLabel;
00676 };
00677
00678 class ComposerPageAttachmentsTab : public ConfigurationPage {
00679 Q_OBJECT
00680
public:
00681 ComposerPageAttachmentsTab( QWidget * parent=0,
const char * name=0 );
00682
00683
00684
static QString iconLabel() {
00685
return QString::null;
00686 }
00687
static const char * iconName() {
00688
return 0;
00689 }
00690
00691
static QString title();
00692 QString helpAnchor() const;
00693
00694
void setup();
00695
void apply();
00696
00697 protected:
00698 QCheckBox *mMissingAttachmentDetectionCheck;
00699 SimpleStringListEditor *mAttachWordsListEditor;
00700 };
00701
00702 class ComposerPage : public TabbedConfigurationPage {
00703 Q_OBJECT
00704
public:
00705 ComposerPage( QWidget * parent=0,
const char * name=0 );
00706
00707
static QString iconLabel();
00708
static QString title();
00709
static const char * iconName();
00710 QString helpAnchor() const;
00711
00712
00713 typedef ComposerPageGeneralTab GeneralTab;
00714 typedef ComposerPagePhrasesTab PhrasesTab;
00715 typedef ComposerPageSubjectTab SubjectTab;
00716 typedef ComposerPageCharsetTab CharsetTab;
00717 typedef ComposerPageHeadersTab HeadersTab;
00718 typedef ComposerPageAttachmentsTab AttachmentsTab;
00719
00720 protected:
00721 GeneralTab *mGeneralTab;
00722 PhrasesTab *mPhrasesTab;
00723 SubjectTab *mSubjectTab;
00724 CharsetTab *mCharsetTab;
00725 HeadersTab *mHeadersTab;
00726 AttachmentsTab *mAttachmentsTab;
00727 };
00728
00729
00730
00731
00732
00733
00734
00735 class SecurityPageGeneralTab : public ConfigurationPage {
00736 Q_OBJECT
00737
public:
00738 SecurityPageGeneralTab( QWidget * parent=0,
const char * name=0 );
00739
00740
00741
static QString iconLabel() {
return QString::null; }
00742
static const char * iconName() {
return 0; }
00743
00744
static QString title();
00745 QString helpAnchor() const;
00746
00747
void setup();
00748
void apply();
00749
00750
void installProfile( KConfig * profile );
00751
00752 protected:
00753 QCheckBox *mExternalReferences;
00754 QCheckBox *mHtmlMailCheck;
00755 QCheckBox *mSendReceivedReceiptCheck;
00756 QButtonGroup *mMDNGroup;
00757 QButtonGroup *mOrigQuoteGroup;
00758 };
00759
00760
00761 class SecurityPageOpenPgpTab : public ConfigurationPage {
00762 Q_OBJECT
00763
public:
00764 SecurityPageOpenPgpTab( QWidget * parent=0,
const char * name=0 );
00765
00766
00767
static QString iconLabel() {
return QString::null; }
00768
static const char * iconName() {
return 0; }
00769
00770
static QString title();
00771 QString helpAnchor() const;
00772
00773
void setup();
00774
void apply();
00775
void installProfile( KConfig * profile );
00776
00777 protected:
00778 Kpgp::Config *mPgpConfig;
00779 QCheckBox *mPgpAutoSignatureCheck;
00780 QCheckBox *mPgpAutoEncryptCheck;
00781 };
00782
00783
00784 class SecurityPageCryptPlugTab : public ConfigurationPage
00785 {
00786 Q_OBJECT
00787
public:
00788 SecurityPageCryptPlugTab( QWidget * parent = 0,
const char* name = 0 );
00789 ~SecurityPageCryptPlugTab();
00790
00791
00792
static QString iconLabel() {
return QString::null; }
00793
static const char * iconName() {
return 0; }
00794
00795
static QString title();
00796 QString helpAnchor() const;
00797
00798
void setup();
00799
void apply();
00800
void dismiss();
00801
00802
00803 public slots:
00804
void slotNewPlugIn();
00805
void slotDeletePlugIn();
00806
void slotActivatePlugIn();
00807
void slotConfigurePlugIn();
00808
void slotPlugNameChanged( const QString& );
00809
void slotPlugLocationChanged( const QString& );
00810
void slotPlugUpdateURLChanged( const QString& );
00811
00812 protected slots:
00813
void slotPlugSelectionChanged();
00814
00815 private:
00816 KListView *mPlugList;
00817
00818 QPushButton *mNewButton;
00819 QPushButton *mRemoveButton;
00820 QPushButton *mActivateButton;
00821 QPushButton *mConfigureButton;
00822
00823 QLineEdit *mNameEdit;
00824 KURLRequester *mLocationRequester;
00825 QLineEdit *mUpdateURLEdit;
00826 CryptPlugWrapperList *mlistCryptoAdd;
00827 };
00828
00829 class SecurityPage : public TabbedConfigurationPage {
00830 Q_OBJECT
00831
public:
00832 SecurityPage( QWidget * parent=0,
const char * name=0 );
00833
00834
static QString iconLabel();
00835
static const char * iconName();
00836
static QString title();
00837 QString helpAnchor() const;
00838
00839
00840
void setup();
00841
void apply();
00842
void dismiss();
00843
void installProfile( KConfig * profile );
00844
00845 typedef SecurityPageGeneralTab GeneralTab;
00846 typedef SecurityPageOpenPgpTab OpenPgpTab;
00847 typedef SecurityPageCryptPlugTab CryptPlugTab;
00848
00849 protected:
00850 GeneralTab *mGeneralTab;
00851 OpenPgpTab *mOpenPgpTab;
00852 CryptPlugTab *mCryptPlugTab;
00853 };
00854
00855
00856
00857
00858
00859
00860
00861
00862 class MiscPageFolderTab : public ConfigurationPage {
00863 Q_OBJECT
00864
public:
00865 MiscPageFolderTab( QWidget * parent=0,
const char * name=0 );
00866
00867
00868
static QString iconLabel() {
return QString::null; }
00869
static const char * iconName() {
return 0; }
00870
00871
static QString title();
00872 QString helpAnchor() const;
00873
00874
void setup();
00875
void apply();
00876
00877 protected:
00878 QCheckBox *mEmptyFolderConfirmCheck;
00879 QCheckBox *mWarnBeforeExpire;
00880 QComboBox *mLoopOnGotoUnread;
00881 QCheckBox *mJumpToUnread;
00882 QComboBox *mMailboxPrefCombo;
00883 QCheckBox *mCompactOnExitCheck;
00884 QCheckBox *mEmptyTrashCheck;
00885 QCheckBox *mExpireAtExit;
00886 QCheckBox *mDelayedMarkAsRead;
00887 KIntSpinBox *mDelayedMarkTime;
00888 QCheckBox *mShowPopupAfterDnD;
00889 KMFolderComboBox *mOnStartupOpenFolder;
00890 };
00891
00892 class MiscPageGroupwareTab : public ConfigurationPage {
00893 Q_OBJECT
00894
public:
00895 MiscPageGroupwareTab( QWidget * parent=0,
const char * name=0 );
00896
00897
00898
static QString iconLabel() {
return QString::null; }
00899
static const char * iconName() {
return 0; }
00900
00901
static QString title();
00902 QString helpAnchor() const;
00903
00904
void setup();
00905
void apply();
00906 private:
00907 QCheckBox* mEnableGwCB;
00908 QCheckBox* mEnableImapResCB;
00909
00910 QVBox* mBox;
00911 QVBox* gBox;
00912
00913 QComboBox* mLanguageCombo;
00914 KMFolderComboBox* mFolderCombo;
00915
00916 QCheckBox* mAutoResCB;
00917 QCheckBox* mAutoDeclConflCB;
00918 QCheckBox* mAutoDeclRecurCB;
00919
00920 QCheckBox* mLegacyMangleFromTo;
00921 };
00922
00923 class MiscPage : public TabbedConfigurationPage {
00924 Q_OBJECT
00925
public:
00926 MiscPage( QWidget * parent=0,
const char * name=0 );
00927
00928
static QString iconLabel();
00929
static QString title();
00930
static const char * iconName();
00931 QString helpAnchor() const;
00932
00933 typedef MiscPageFolderTab FolderTab;
00934 typedef MiscPageGroupwareTab GroupwareTab;
00935
00936 private:
00937 FolderTab * mFolderTab;
00938 GroupwareTab * mGroupwareTab;
00939 };
00940
00941
00942
00943
00944
00945
00946
00947 class ListView : public KListView {
00948 Q_OBJECT
00949
public:
00950 ListView( QWidget *parent=0,
const char *name=0,
int visibleItem=10 );
00951
void resizeColums();
00952
00953
void setVisibleItem(
int visibleItem,
bool updateSize=
true );
00954
virtual QSize sizeHint() const;
00955
00956 protected:
00957 virtual
void resizeEvent( QResizeEvent *e );
00958 virtual
void showEvent( QShowEvent *e );
00959
00960 private:
00961
int mVisibleItem;
00962 };
00963
00964
00965 #endif