00001
00002
00003
#ifndef GLOBALSETTINGS_H
00004
#define GLOBALSETTINGS_H
00005
00006
#include <kconfigskeleton.h>
00007
00008
class GlobalSettings :
public KConfigSkeleton
00009 {
00010
public:
00011
class EnumLoopOnGotoUnread
00012 {
00013
public:
00014
enum { DontLoop, LoopInCurrentFolder, LoopInAllFolders, COUNT };
00015 };
00016
class EnumSendOnCheck
00017 {
00018
public:
00019
enum { DontSendOnCheck, SendOnManualChecks, SendOnAllChecks, COUNT };
00020 };
00021
class EnumSystemTrayPolicy
00022 {
00023
public:
00024
enum { ShowAlways, ShowOnUnread, COUNT };
00025 };
00026
00027
static GlobalSettings *
self();
00028 ~GlobalSettings();
00029
00033
static
00034
void setDelayedMarkAsRead(
bool v )
00035 {
00036
if (!
self()->isImmutable(
"DelayedMarkAsRead" ))
00037
self()->mDelayedMarkAsRead = v;
00038 }
00039
00043
static
00044
bool delayedMarkAsRead()
00045 {
00046
return self()->mDelayedMarkAsRead;
00047 }
00048
00052 ItemBool *delayedMarkAsReadItem()
00053 {
00054
return mDelayedMarkAsReadItem;
00055 }
00056
00060
static
00061
void setDelayedMarkTime( uint v )
00062 {
00063
if (!
self()->isImmutable(
"DelayedMarkTime" ))
00064
self()->mDelayedMarkTime = v;
00065 }
00066
00070
static
00071 uint delayedMarkTime()
00072 {
00073
return self()->mDelayedMarkTime;
00074 }
00075
00079 ItemUInt *delayedMarkTimeItem()
00080 {
00081
return mDelayedMarkTimeItem;
00082 }
00083
00087
static
00088
void setJumpToUnread(
bool v )
00089 {
00090
if (!
self()->isImmutable(
"JumpToUnread" ))
00091
self()->mJumpToUnread = v;
00092 }
00093
00097
static
00098
bool jumpToUnread()
00099 {
00100
return self()->mJumpToUnread;
00101 }
00102
00106 ItemBool *jumpToUnreadItem()
00107 {
00108
return mJumpToUnreadItem;
00109 }
00110
00114
static
00115
void setLoopOnGotoUnread(
int v )
00116 {
00117
if (!
self()->isImmutable(
"LoopOnGotoUnread" ))
00118
self()->mLoopOnGotoUnread = v;
00119 }
00120
00124
static
00125
int loopOnGotoUnread()
00126 {
00127
return self()->mLoopOnGotoUnread;
00128 }
00129
00133 ItemEnum *loopOnGotoUnreadItem()
00134 {
00135
return mLoopOnGotoUnreadItem;
00136 }
00137
00141
static
00142
void setShowPopupAfterDnD(
bool v )
00143 {
00144
if (!
self()->isImmutable(
"ShowPopupAfterDnD" ))
00145
self()->mShowPopupAfterDnD = v;
00146 }
00147
00151
static
00152
bool showPopupAfterDnD()
00153 {
00154
return self()->mShowPopupAfterDnD;
00155 }
00156
00160 ItemBool *showPopupAfterDnDItem()
00161 {
00162
return mShowPopupAfterDnDItem;
00163 }
00164
00168
static
00169
void setExcludeImportantMailFromExpiry(
bool v )
00170 {
00171
if (!
self()->isImmutable(
"ExcludeImportantMailFromExpiry" ))
00172
self()->mExcludeImportantMailFromExpiry = v;
00173 }
00174
00178
static
00179
bool excludeImportantMailFromExpiry()
00180 {
00181
return self()->mExcludeImportantMailFromExpiry;
00182 }
00183
00187 ItemBool *excludeImportantMailFromExpiryItem()
00188 {
00189
return mExcludeImportantMailFromExpiryItem;
00190 }
00191
00195
static
00196
void setSendOnCheck(
int v )
00197 {
00198
if (!
self()->isImmutable(
"SendOnCheck" ))
00199
self()->mSendOnCheck = v;
00200 }
00201
00205
static
00206
int sendOnCheck()
00207 {
00208
return self()->mSendOnCheck;
00209 }
00210
00214 ItemEnum *sendOnCheckItem()
00215 {
00216
return mSendOnCheckItem;
00217 }
00218
00222
static
00223
void setLastSelectedFolder(
const QString & v )
00224 {
00225
if (!
self()->isImmutable(
"LastSelectedFolder" ))
00226
self()->mLastSelectedFolder = v;
00227 }
00228
00232
static
00233
QString lastSelectedFolder()
00234 {
00235
return self()->mLastSelectedFolder;
00236 }
00237
00241 ItemString *lastSelectedFolderItem()
00242 {
00243
return mLastSelectedFolderItem;
00244 }
00245
00249
static
00250
void setSystemTrayEnabled(
bool v )
00251 {
00252
if (!
self()->isImmutable(
"SystemTrayEnabled" ))
00253
self()->mSystemTrayEnabled = v;
00254 }
00255
00259
static
00260
bool systemTrayEnabled()
00261 {
00262
return self()->mSystemTrayEnabled;
00263 }
00264
00268 ItemBool *systemTrayEnabledItem()
00269 {
00270
return mSystemTrayEnabledItem;
00271 }
00272
00276
static
00277
void setSystemTrayPolicy(
int v )
00278 {
00279
if (!
self()->isImmutable(
"SystemTrayPolicy" ))
00280
self()->mSystemTrayPolicy = v;
00281 }
00282
00286
static
00287
int systemTrayPolicy()
00288 {
00289
return self()->mSystemTrayPolicy;
00290 }
00291
00295 ItemEnum *systemTrayPolicyItem()
00296 {
00297
return mSystemTrayPolicyItem;
00298 }
00299
00303
static
00304
void setVerboseNewMailNotification(
bool v )
00305 {
00306
if (!
self()->isImmutable(
"VerboseNewMailNotification" ))
00307
self()->mVerboseNewMailNotification = v;
00308 }
00309
00313
static
00314
bool verboseNewMailNotification()
00315 {
00316
return self()->mVerboseNewMailNotification;
00317 }
00318
00322 ItemBool *verboseNewMailNotificationItem()
00323 {
00324
return mVerboseNewMailNotificationItem;
00325 }
00326
00330
static
00331
void setGroupwareEnabled(
bool v )
00332 {
00333
if (!
self()->isImmutable(
"GroupwareEnabled" ))
00334
self()->mGroupwareEnabled = v;
00335 }
00336
00340
static
00341
bool groupwareEnabled()
00342 {
00343
return self()->mGroupwareEnabled;
00344 }
00345
00349 ItemBool *groupwareEnabledItem()
00350 {
00351
return mGroupwareEnabledItem;
00352 }
00353
00357
static
00358
void setLegacyMangleFromToHeaders(
bool v )
00359 {
00360
if (!
self()->isImmutable(
"LegacyMangleFromToHeaders" ))
00361
self()->mLegacyMangleFromToHeaders = v;
00362 }
00363
00367
static
00368
bool legacyMangleFromToHeaders()
00369 {
00370
return self()->mLegacyMangleFromToHeaders;
00371 }
00372
00376 ItemBool *legacyMangleFromToHeadersItem()
00377 {
00378
return mLegacyMangleFromToHeadersItem;
00379 }
00380
00384
static
00385
void setLegacyBodyInvites(
bool v )
00386 {
00387
if (!
self()->isImmutable(
"LegacyBodyInvites" ))
00388
self()->mLegacyBodyInvites = v;
00389 }
00390
00394
static
00395
bool legacyBodyInvites()
00396 {
00397
return self()->mLegacyBodyInvites;
00398 }
00399
00403 ItemBool *legacyBodyInvitesItem()
00404 {
00405
return mLegacyBodyInvitesItem;
00406 }
00407
00411
static
00412
void setTheIMAPResourceEnabled(
bool v )
00413 {
00414
if (!
self()->isImmutable(
"TheIMAPResourceEnabled" ))
00415
self()->mTheIMAPResourceEnabled = v;
00416 }
00417
00421
static
00422
bool theIMAPResourceEnabled()
00423 {
00424
return self()->mTheIMAPResourceEnabled;
00425 }
00426
00430 ItemBool *theIMAPResourceEnabledItem()
00431 {
00432
return mTheIMAPResourceEnabledItem;
00433 }
00434
00438
static
00439
void setHideGroupwareFolders(
bool v )
00440 {
00441
if (!
self()->isImmutable(
"HideGroupwareFolders" ))
00442
self()->mHideGroupwareFolders = v;
00443 }
00444
00448
static
00449
bool hideGroupwareFolders()
00450 {
00451
return self()->mHideGroupwareFolders;
00452 }
00453
00457 ItemBool *hideGroupwareFoldersItem()
00458 {
00459
return mHideGroupwareFoldersItem;
00460 }
00461
00465
static
00466
void setTheIMAPResourceFolderParent(
const QString & v )
00467 {
00468
if (!
self()->isImmutable(
"TheIMAPResourceFolderParent" ))
00469
self()->mTheIMAPResourceFolderParent = v;
00470 }
00471
00475
static
00476
QString theIMAPResourceFolderParent()
00477 {
00478
return self()->mTheIMAPResourceFolderParent;
00479 }
00480
00484 ItemString *theIMAPResourceFolderParentItem()
00485 {
00486
return mTheIMAPResourceFolderParentItem;
00487 }
00488
00492
static
00493
void setTheIMAPResourceAccount(
int v )
00494 {
00495
if (!
self()->isImmutable(
"TheIMAPResourceAccount" ))
00496
self()->mTheIMAPResourceAccount = v;
00497 }
00498
00502
static
00503
int theIMAPResourceAccount()
00504 {
00505
return self()->mTheIMAPResourceAccount;
00506 }
00507
00511 ItemInt *theIMAPResourceAccountItem()
00512 {
00513
return mTheIMAPResourceAccountItem;
00514 }
00515
00519
static
00520
void setTheIMAPResourceFolderLanguage(
int v )
00521 {
00522
if (!
self()->isImmutable(
"TheIMAPResourceFolderLanguage" ))
00523
self()->mTheIMAPResourceFolderLanguage = v;
00524 }
00525
00529
static
00530
int theIMAPResourceFolderLanguage()
00531 {
00532
return self()->mTheIMAPResourceFolderLanguage;
00533 }
00534
00538 ItemInt *theIMAPResourceFolderLanguageItem()
00539 {
00540
return mTheIMAPResourceFolderLanguageItem;
00541 }
00542
00546
static
00547
void setMsgDictSizeHint(
int v )
00548 {
00549
if (!
self()->isImmutable(
"MsgDictSizeHint" ))
00550
self()->mMsgDictSizeHint = v;
00551 }
00552
00556
static
00557
int msgDictSizeHint()
00558 {
00559
return self()->mMsgDictSizeHint;
00560 }
00561
00565 ItemInt *msgDictSizeHintItem()
00566 {
00567
return mMsgDictSizeHintItem;
00568 }
00569
00573
static
00574
void setPreviousNewFeaturesMD5(
const QString & v )
00575 {
00576
if (!
self()->isImmutable(
"PreviousNewFeaturesMD5" ))
00577
self()->mPreviousNewFeaturesMD5 = v;
00578 }
00579
00583
static
00584
QString previousNewFeaturesMD5()
00585 {
00586
return self()->mPreviousNewFeaturesMD5;
00587 }
00588
00592 ItemString *previousNewFeaturesMD5Item()
00593 {
00594
return mPreviousNewFeaturesMD5Item;
00595 }
00596
00600
static
00601
void setMaxConnectionsPerHost(
int v )
00602 {
00603
if (!
self()->isImmutable(
"MaxConnectionsPerHost" ))
00604
self()->mMaxConnectionsPerHost = v;
00605 }
00606
00610
static
00611
int maxConnectionsPerHost()
00612 {
00613
return self()->mMaxConnectionsPerHost;
00614 }
00615
00619 ItemInt *maxConnectionsPerHostItem()
00620 {
00621
return mMaxConnectionsPerHostItem;
00622 }
00623
00627
static
00628
void setQuickSearchActive(
bool v )
00629 {
00630
if (!
self()->isImmutable(
"QuickSearchActive" ))
00631
self()->mQuickSearchActive = v;
00632 }
00633
00637
static
00638
bool quickSearchActive()
00639 {
00640
return self()->mQuickSearchActive;
00641 }
00642
00646 ItemBool *quickSearchActiveItem()
00647 {
00648
return mQuickSearchActiveItem;
00649 }
00650
00651
static
00652
void writeConfig()
00653 {
00654 static_cast<KConfigSkeleton*>(
self())->writeConfig();
00655 }
00656
protected:
00657 GlobalSettings();
00658
static GlobalSettings *mSelf;
00659
00660
00661
00662
bool mDelayedMarkAsRead;
00663 uint mDelayedMarkTime;
00664
bool mJumpToUnread;
00665
int mLoopOnGotoUnread;
00666
bool mShowPopupAfterDnD;
00667
bool mExcludeImportantMailFromExpiry;
00668
int mSendOnCheck;
00669
00670
00671
QString mLastSelectedFolder;
00672
00673
00674
bool mSystemTrayEnabled;
00675
int mSystemTrayPolicy;
00676
bool mVerboseNewMailNotification;
00677
00678
00679
bool mGroupwareEnabled;
00680
bool mLegacyMangleFromToHeaders;
00681
bool mLegacyBodyInvites;
00682
00683
00684
bool mTheIMAPResourceEnabled;
00685
bool mHideGroupwareFolders;
00686
QString mTheIMAPResourceFolderParent;
00687
int mTheIMAPResourceAccount;
00688
int mTheIMAPResourceFolderLanguage;
00689
00690
00691
int mMsgDictSizeHint;
00692
QString mPreviousNewFeaturesMD5;
00693
00694
00695
int mMaxConnectionsPerHost;
00696
00697
00698
bool mQuickSearchActive;
00699
00700
private:
00701 ItemBool *mDelayedMarkAsReadItem;
00702 ItemUInt *mDelayedMarkTimeItem;
00703 ItemBool *mJumpToUnreadItem;
00704 ItemEnum *mLoopOnGotoUnreadItem;
00705 ItemBool *mShowPopupAfterDnDItem;
00706 ItemBool *mExcludeImportantMailFromExpiryItem;
00707 ItemEnum *mSendOnCheckItem;
00708 ItemString *mLastSelectedFolderItem;
00709 ItemBool *mSystemTrayEnabledItem;
00710 ItemEnum *mSystemTrayPolicyItem;
00711 ItemBool *mVerboseNewMailNotificationItem;
00712 ItemBool *mGroupwareEnabledItem;
00713 ItemBool *mLegacyMangleFromToHeadersItem;
00714 ItemBool *mLegacyBodyInvitesItem;
00715 ItemBool *mTheIMAPResourceEnabledItem;
00716 ItemBool *mHideGroupwareFoldersItem;
00717 ItemString *mTheIMAPResourceFolderParentItem;
00718 ItemInt *mTheIMAPResourceAccountItem;
00719 ItemInt *mTheIMAPResourceFolderLanguageItem;
00720 ItemInt *mMsgDictSizeHintItem;
00721 ItemString *mPreviousNewFeaturesMD5Item;
00722 ItemInt *mMaxConnectionsPerHostItem;
00723 ItemBool *mQuickSearchActiveItem;
00724 };
00725
00726
#endif
00727