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 QString helpAnchor() const;
00328 void load();
00329 void save();
00330 void defaults() {}
00331
00332 signals:
00333 void accountListChanged( const QStringList & );
00334
00335 protected slots:
00336 void slotAccountSelected();
00337 void slotAddAccount();
00338 void slotModifySelectedAccount();
00339 void slotRemoveSelectedAccount();
00340 void slotEditNotifications();
00341
00342 protected:
00343 QStringList occupiedNames();
00344
00345 protected:
00346 ListView *mAccountList;
00347 QPushButton *mModifyAccountButton;
00348 QPushButton *mRemoveAccountButton;
00349 QCheckBox *mBeepNewMailCheck;
00350 QCheckBox *mVerboseNotificationCheck;
00351 QCheckBox *mCheckmailStartupCheck;
00352 QPushButton *mOtherNewMailActionsButton;
00353
00354 QValueList< QGuardedPtr<KMAccount> > mAccountsToDelete;
00355 QValueList< QGuardedPtr<KMAccount> > mNewAccounts;
00356 struct ModifiedAccountsType {
00357 QGuardedPtr< KMAccount > oldAccount;
00358 QGuardedPtr< KMAccount > newAccount;
00359 };
00360
00361 QValueList< ModifiedAccountsType* > mModifiedAccounts;
00362 };
00363
00364 class NetworkPage : public ConfigModuleWithTabs {
00365 Q_OBJECT
00366 public:
00367 NetworkPage( QWidget * parent=0, const char * name=0 );
00368 QString helpAnchor() const;
00369
00370
00371
00372 typedef NetworkPageSendingTab SendingTab;
00373 typedef NetworkPageReceivingTab ReceivingTab;
00374
00375 signals:
00376 void transportListChanged( const QStringList & );
00377 void accountListChanged( const QStringList & );
00378
00379 protected:
00380 SendingTab *mSendingTab;
00381 ReceivingTab *mReceivingTab;
00382 };
00383
00384
00385
00386
00387
00388
00389
00390
00391 class AppearancePageFontsTab : public ConfigModuleTab {
00392 Q_OBJECT
00393 public:
00394 AppearancePageFontsTab( QWidget * parent=0, const char * name=0 );
00395 QString helpAnchor() const;
00396 void load();
00397 void save();
00398 void defaults() {}
00399
00400 void installProfile( KConfig * profile );
00401
00402 protected slots:
00403 void slotFontSelectorChanged( int );
00404
00405 protected:
00406 void updateFontSelector();
00407
00408 protected:
00409 QCheckBox *mCustomFontCheck;
00410 QComboBox *mFontLocationCombo;
00411 KFontChooser *mFontChooser;
00412
00413 int mActiveFontIndex;
00414 QFont mFont[10];
00415 };
00416
00417 class AppearancePageColorsTab : public ConfigModuleTab {
00418 Q_OBJECT
00419 public:
00420 AppearancePageColorsTab( QWidget * parent=0, const char * name=0 );
00421 QString helpAnchor() const;
00422 void load();
00423 void save();
00424 void defaults() {}
00425
00426 void installProfile( KConfig * profile );
00427
00428 protected:
00429 QCheckBox *mCustomColorCheck;
00430 ColorListBox *mColorList;
00431 QCheckBox *mRecycleColorCheck;
00432 };
00433
00434 class AppearancePageLayoutTab : public ConfigModuleTab {
00435 Q_OBJECT
00436 public:
00437 AppearancePageLayoutTab( QWidget * parent=0, const char * name=0 );
00438 QString helpAnchor() const;
00439
00440 void load();
00441 void save();
00442 void defaults() {}
00443 void installProfile( KConfig * profile );
00444
00445 protected:
00446 QButtonGroup *mFolderListGroup;
00447 QButtonGroup *mMIMETreeLocationGroup;
00448 QButtonGroup *mMIMETreeModeGroup;
00449 QButtonGroup *mReaderWindowModeGroup;
00450 };
00451
00452 class AppearancePageHeadersTab : public ConfigModuleTab {
00453 Q_OBJECT
00454 public:
00455 AppearancePageHeadersTab( QWidget * parent=0, const char * name=0 );
00456
00457 QString helpAnchor() const;
00458
00459 void load();
00460 void save();
00461 void defaults() {}
00462 void installProfile( KConfig * profile );
00463
00464 protected:
00465 void setDateDisplay( int id, const QString & format );
00466
00467 protected:
00468 QCheckBox *mMessageSizeCheck;
00469 QCheckBox *mAttachmentCheck;
00470 QCheckBox *mNestedMessagesCheck;
00471 QCheckBox *mCryptoIconsCheck;
00472 QButtonGroup *mNestingPolicy;
00473 QButtonGroup *mDateDisplay;
00474 QLineEdit *mCustomDateFormatEdit;
00475 };
00476
00477 class AppearancePageReaderTab : public ConfigModuleTab {
00478 Q_OBJECT
00479 public:
00480 AppearancePageReaderTab( QWidget * parent=0, const char * name=0 );
00481
00482 QString helpAnchor() const;
00483
00484 void load();
00485 void save();
00486 void defaults() {}
00487 void installProfile( KConfig * profile );
00488
00489 private:
00490
00491 void readCurrentFallbackCodec();
00492 void readCurrentOverrideCodec();
00493
00494 private:
00495 QCheckBox *mShowColorbarCheck;
00496 QComboBox *mCharsetCombo;
00497 QComboBox *mOverrideCharsetCombo;
00498 };
00499
00500
00501 class AppearancePageSystemTrayTab : public ConfigModuleTab {
00502 Q_OBJECT
00503 public:
00504 AppearancePageSystemTrayTab( QWidget * parent=0, const char * name=0 );
00505
00506 QString helpAnchor() const;
00507
00508 void load();
00509 void save();
00510 void defaults() {}
00511 void installProfile( KConfig * profile );
00512
00513 private:
00514 QCheckBox *mSystemTrayCheck;
00515 QButtonGroup *mSystemTrayGroup;
00516 };
00517
00518 class AppearancePage : public ConfigModuleWithTabs {
00519 Q_OBJECT
00520 public:
00521 AppearancePage( QWidget * parent=0, const char * name=0 );
00522
00523 QString helpAnchor() const;
00524
00525
00526 typedef AppearancePageFontsTab FontsTab;
00527 typedef AppearancePageColorsTab ColorsTab;
00528 typedef AppearancePageLayoutTab LayoutTab;
00529 typedef AppearancePageHeadersTab HeadersTab;
00530 typedef AppearancePageReaderTab ReaderTab;
00531 typedef AppearancePageSystemTrayTab SystemTrayTab;
00532
00533 protected:
00534 FontsTab *mFontsTab;
00535 ColorsTab *mColorsTab;
00536 LayoutTab *mLayoutTab;
00537 HeadersTab *mHeadersTab;
00538 ReaderTab *mReaderTab;
00539 SystemTrayTab *mSystemTrayTab;
00540 };
00541
00542
00543
00544
00545
00546
00547
00548 class ComposerPageGeneralTab : public ConfigModuleTab {
00549 Q_OBJECT
00550 public:
00551 ComposerPageGeneralTab( QWidget * parent=0, const char * name=0 );
00552 QString helpAnchor() const;
00553
00554 void load();
00555 void save();
00556 void defaults();
00557 void installProfile( KConfig * profile );
00558 protected slots:
00559 void slotConfigureRecentAddresses();
00560 void slotConfigureCompletionOrder();
00561
00562 protected:
00563 QCheckBox *mAutoAppSignFileCheck;
00564 QCheckBox *mTopQuoteCheck;
00565 QCheckBox *mSmartQuoteCheck;
00566 QCheckBox *mAutoRequestMDNCheck;
00567 QCheckBox *mWordWrapCheck;
00568 KIntSpinBox *mWrapColumnSpin;
00569 KIntSpinBox *mAutoSave;
00570 QCheckBox *mExternalEditorCheck;
00571 KURLRequester *mEditorRequester;
00572 QComboBox *mCompletionTypeCombo;
00573 };
00574
00575 class ComposerPagePhrasesTab : public ConfigModuleTab {
00576 Q_OBJECT
00577 public:
00578 ComposerPagePhrasesTab( QWidget * parent=0, const char * name=0 );
00579 QString helpAnchor() const;
00580
00581 void load();
00582 void save();
00583 void defaults() {}
00584
00585 protected slots:
00586 void slotNewLanguage();
00587 void slotRemoveLanguage();
00588 void slotLanguageChanged( const QString& );
00589 void slotAddNewLanguage( const QString& );
00590
00591 protected:
00592 void setLanguageItemInformation( int index );
00593 void saveActiveLanguageItem();
00594
00595 protected:
00596 LanguageComboBox *mPhraseLanguageCombo;
00597 QPushButton *mRemoveButton;
00598 QLineEdit *mPhraseReplyEdit;
00599 QLineEdit *mPhraseReplyAllEdit;
00600 QLineEdit *mPhraseForwardEdit;
00601 QLineEdit *mPhraseIndentPrefixEdit;
00602
00603 int mActiveLanguageItem;
00604 LanguageItemList mLanguageList;
00605 };
00606
00607 class ComposerPageSubjectTab : public ConfigModuleTab {
00608 Q_OBJECT
00609 public:
00610 ComposerPageSubjectTab( QWidget * parent=0, const char * name=0 );
00611 QString helpAnchor() const;
00612
00613 void load();
00614 void save();
00615 void defaults() {}
00616
00617
00618 protected:
00619 SimpleStringListEditor *mReplyListEditor;
00620 QCheckBox *mReplaceReplyPrefixCheck;
00621 SimpleStringListEditor *mForwardListEditor;
00622 QCheckBox *mReplaceForwardPrefixCheck;
00623 };
00624
00625 class ComposerPageCharsetTab : public ConfigModuleTab {
00626 Q_OBJECT
00627 public:
00628 ComposerPageCharsetTab( QWidget * parent=0, const char * name=0 );
00629 QString helpAnchor() const;
00630
00631 void load();
00632 void save();
00633 void defaults() {}
00634
00635 protected slots:
00636 void slotVerifyCharset(QString&);
00637
00638 protected:
00639 SimpleStringListEditor *mCharsetListEditor;
00640 QCheckBox *mKeepReplyCharsetCheck;
00641 };
00642
00643 class ComposerPageHeadersTab : public ConfigModuleTab {
00644 Q_OBJECT
00645 public:
00646 ComposerPageHeadersTab( QWidget * parent=0, const char * name=0 );
00647 QString helpAnchor() const;
00648
00649 void load();
00650 void save();
00651 void defaults() {}
00652
00653 protected slots:
00654 void slotMimeHeaderSelectionChanged();
00655 void slotMimeHeaderNameChanged( const QString & );
00656 void slotMimeHeaderValueChanged( const QString & );
00657 void slotNewMimeHeader();
00658 void slotRemoveMimeHeader();
00659
00660 protected:
00661 QCheckBox *mCreateOwnMessageIdCheck;
00662 QLineEdit *mMessageIdSuffixEdit;
00663 QRegExpValidator *mMessageIdSuffixValidator;
00664 QListView *mTagList;
00665 QPushButton *mRemoveHeaderButton;
00666 QLineEdit *mTagNameEdit;
00667 QLineEdit *mTagValueEdit;
00668 QLabel *mTagNameLabel;
00669 QLabel *mTagValueLabel;
00670 };
00671
00672 class ComposerPageAttachmentsTab : public ConfigModuleTab {
00673 Q_OBJECT
00674 public:
00675 ComposerPageAttachmentsTab( QWidget * parent=0, const char * name=0 );
00676 QString helpAnchor() const;
00677
00678 void load();
00679 void save();
00680 void defaults() {}
00681
00682 protected slots:
00683 void slotOutlookCompatibleClicked();
00684
00685 protected:
00686 QCheckBox *mOutlookCompatibleCheck;
00687 QCheckBox *mMissingAttachmentDetectionCheck;
00688 SimpleStringListEditor *mAttachWordsListEditor;
00689 };
00690
00691 class ComposerPage : public ConfigModuleWithTabs {
00692 Q_OBJECT
00693 public:
00694 ComposerPage( QWidget * parent=0, const char * name=0 );
00695
00696 QString helpAnchor() const;
00697
00698
00699 typedef ComposerPageGeneralTab GeneralTab;
00700 typedef ComposerPagePhrasesTab PhrasesTab;
00701 typedef ComposerPageSubjectTab SubjectTab;
00702 typedef ComposerPageCharsetTab CharsetTab;
00703 typedef ComposerPageHeadersTab HeadersTab;
00704 typedef ComposerPageAttachmentsTab AttachmentsTab;
00705
00706 protected:
00707 GeneralTab *mGeneralTab;
00708 PhrasesTab *mPhrasesTab;
00709 SubjectTab *mSubjectTab;
00710 CharsetTab *mCharsetTab;
00711 HeadersTab *mHeadersTab;
00712 AttachmentsTab *mAttachmentsTab;
00713 };
00714
00715
00716
00717
00718
00719
00720
00721 class SecurityPageGeneralTab : public ConfigModuleTab {
00722 Q_OBJECT
00723 public:
00724 SecurityPageGeneralTab( QWidget * parent=0, const char * name=0 );
00725 QString helpAnchor() const;
00726
00727 void load();
00728 void save();
00729 void defaults() {}
00730
00731 void installProfile( KConfig * profile );
00732
00733 protected:
00734 QCheckBox *mExternalReferences;
00735 QCheckBox *mHtmlMailCheck;
00736 QCheckBox *mNoMDNsWhenEncryptedCheck;
00737 QButtonGroup *mMDNGroup;
00738 QButtonGroup *mOrigQuoteGroup;
00739 QCheckBox *mAutomaticallyImportAttachedKeysCheck;
00740 };
00741
00742
00743 class SecurityPageComposerCryptoTab : public ConfigModuleTab {
00744 Q_OBJECT
00745 public:
00746 SecurityPageComposerCryptoTab( QWidget * parent=0, const char * name=0 );
00747
00748 QString helpAnchor() const;
00749
00750 void load();
00751 void save();
00752 void defaults() {}
00753 void installProfile( KConfig * profile );
00754
00755 protected:
00756 ComposerCryptoConfiguration* mWidget;
00757 };
00758
00759 class SecurityPageWarningTab : public ConfigModuleTab {
00760 Q_OBJECT
00761 public:
00762 SecurityPageWarningTab( QWidget * parent=0, const char * name=0 );
00763
00764 QString helpAnchor() const;
00765
00766 void load();
00767 void save();
00768 void defaults() {}
00769 void installProfile( KConfig * profile );
00770
00771 private slots:
00772 void slotReenableAllWarningsClicked();
00773
00774 protected:
00775 WarningConfiguration* mWidget;
00776 };
00777
00778 class SecurityPageSMimeTab : public ConfigModuleTab, public DCOPObject {
00779 Q_OBJECT
00780 K_DCOP
00781 public:
00782 SecurityPageSMimeTab( QWidget * parent=0, const char * name=0 );
00783 ~SecurityPageSMimeTab();
00784
00785 QString helpAnchor() const;
00786
00787
00788 void load();
00789
00790 void save();
00791 void defaults() {}
00792 void installProfile( KConfig * profile );
00793
00794 private slots:
00795 void slotUpdateHTTPActions();
00796
00797 private:
00798 SMimeConfiguration* mWidget;
00799 Kleo::CryptoConfig* mConfig;
00800 };
00801
00802 class SecurityPageCryptPlugTab : public ConfigModuleTab
00803 {
00804 Q_OBJECT
00805 public:
00806 SecurityPageCryptPlugTab( QWidget * parent = 0, const char* name = 0 );
00807 ~SecurityPageCryptPlugTab();
00808
00809 QString helpAnchor() const;
00810
00811 void load();
00812 void save();
00813 void defaults() {}
00814
00815 private:
00816 Kleo::BackendConfigWidget * mBackendConfig;
00817 };
00818
00819 class SecurityPage : public ConfigModuleWithTabs {
00820 Q_OBJECT
00821 public:
00822 SecurityPage( QWidget * parent=0, const char * name=0 );
00823
00824 QString helpAnchor() const;
00825
00826
00827 void installProfile( KConfig * profile );
00828
00829 typedef SecurityPageGeneralTab GeneralTab;
00830 typedef SecurityPageComposerCryptoTab ComposerCryptoTab;
00831 typedef SecurityPageWarningTab WarningTab;
00832 typedef SecurityPageSMimeTab SMimeTab;
00833 typedef SecurityPageCryptPlugTab CryptPlugTab;
00834
00835 protected:
00836 GeneralTab *mGeneralTab;
00837 ComposerCryptoTab *mComposerCryptoTab;
00838 WarningTab *mWarningTab;
00839 SMimeTab *mSMimeTab;
00840 CryptPlugTab *mCryptPlugTab;
00841 };
00842
00843
00844
00845
00846
00847
00848
00849
00850 class MiscPageFolderTab : public ConfigModuleTab {
00851 Q_OBJECT
00852 public:
00853 MiscPageFolderTab( QWidget * parent=0, const char * name=0 );
00854
00855 void load();
00856 void save();
00857 void defaults() {}
00858 QString helpAnchor() const;
00859
00860 protected:
00861 QCheckBox *mEmptyFolderConfirmCheck;
00862 QCheckBox *mExcludeImportantFromExpiry;
00863 QComboBox *mLoopOnGotoUnread;
00864 QCheckBox *mJumpToUnread;
00865 QComboBox *mMailboxPrefCombo;
00866 QCheckBox *mEmptyTrashCheck;
00867 QCheckBox *mDelayedMarkAsRead;
00868 KIntSpinBox *mDelayedMarkTime;
00869 QCheckBox *mShowPopupAfterDnD;
00870 KMFolderComboBox *mOnStartupOpenFolder;
00871 QComboBox *mQuotaCmbBox;
00872 };
00873
00874 class MiscPageGroupwareTab : public ConfigModuleTab {
00875 Q_OBJECT
00876 public:
00877 MiscPageGroupwareTab( QWidget * parent=0, const char * name=0 );
00878 void load();
00879 void save();
00880 void defaults() {}
00881 QString helpAnchor() const;
00882 private slots:
00883 void slotLegacyBodyInvitesToggled( bool on );
00884 private:
00885 QCheckBox* mEnableGwCB;
00886 QCheckBox* mEnableImapResCB;
00887
00888 QWidget* mBox;
00889 QVBox* gBox;
00890
00891 QLabel* mFolderComboLabel;
00892 KMail::AccountComboBox* mAccountCombo;
00893
00894 QCheckBox* mHideGroupwareFolders;
00895 QCheckBox* mOnlyShowGroupwareFolders;
00896 QCheckBox* mAutoResCB;
00897 QCheckBox* mAutoDeclConflCB;
00898 QCheckBox* mAutoDeclRecurCB;
00899
00900 QCheckBox* mLegacyMangleFromTo;
00901 QCheckBox* mLegacyBodyInvites;
00902 QCheckBox* mAutomaticSending;
00903 };
00904
00905 class MiscPage : public ConfigModuleWithTabs {
00906 Q_OBJECT
00907 public:
00908 MiscPage( QWidget * parent=0, const char * name=0 );
00909 QString helpAnchor() const;
00910
00911 typedef MiscPageFolderTab FolderTab;
00912 typedef MiscPageGroupwareTab GroupwareTab;
00913
00914 private:
00915 FolderTab * mFolderTab;
00916 GroupwareTab * mGroupwareTab;
00917 };
00918
00919
00920
00921
00922
00923
00924
00925 class ListView : public KListView {
00926 Q_OBJECT
00927 public:
00928 ListView( QWidget *parent=0, const char *name=0, int visibleItem=10 );
00929 void resizeColums();
00930
00931 void setVisibleItem( int visibleItem, bool updateSize=true );
00932 virtual QSize sizeHint() const;
00933
00934 protected:
00935 virtual void resizeEvent( QResizeEvent *e );
00936 virtual void showEvent( QShowEvent *e );
00937
00938 private:
00939 int mVisibleItem;
00940 };
00941
00942
00943 #endif // _CONFIGURE_DIALOG_PRIVATE_H_