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