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 // _CONFIGURE_DIALOG_PRIVATE_H_