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