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