akregator/src
akregatorconfig.h00001
00002
00003 #ifndef AKREGATOR_SETTINGS_H
00004 #define AKREGATOR_SETTINGS_H
00005
00006 #include <kconfigskeleton.h>
00007 #include <kdebug.h>
00008
00009 namespace Akregator {
00010
00011 class KDE_EXPORT Settings : public KConfigSkeleton
00012 {
00013 public:
00014 class EnumArchiveMode
00015 {
00016 public:
00017 enum type { keepAllArticles, limitArticleNumber, limitArticleAge, disableArchiving, COUNT };
00018 };
00019 class EnumLMBBehaviour
00020 {
00021 public:
00022 enum type { OpenInInternalBrowser, OpenInBackground, OpenInExternalBrowser, COUNT };
00023 };
00024 class EnumMMBBehaviour
00025 {
00026 public:
00027 enum type { OpenInInternalBrowser, OpenInBackground, OpenInExternalBrowser, COUNT };
00028 };
00029
00030 static Settings *self();
00031 ~Settings();
00032
00036 static
00037 void setShowQuickFilter( bool v )
00038 {
00039 if (!self()->isImmutable( QString::fromLatin1( "ShowQuickFilter" ) ))
00040 self()->mShowQuickFilter = v;
00041 }
00042
00046 static
00047 bool showQuickFilter()
00048 {
00049 return self()->mShowQuickFilter;
00050 }
00051
00055 static
00056 void setStatusFilter( int v )
00057 {
00058 if (!self()->isImmutable( QString::fromLatin1( "StatusFilter" ) ))
00059 self()->mStatusFilter = v;
00060 }
00061
00065 static
00066 int statusFilter()
00067 {
00068 return self()->mStatusFilter;
00069 }
00070
00074 static
00075 void setTextFilter( const QString & v )
00076 {
00077 if (!self()->isImmutable( QString::fromLatin1( "TextFilter" ) ))
00078 self()->mTextFilter = v;
00079 }
00080
00084 static
00085 QString textFilter()
00086 {
00087 return self()->mTextFilter;
00088 }
00089
00093 static
00094 void setViewMode( int v )
00095 {
00096 if (!self()->isImmutable( QString::fromLatin1( "ViewMode" ) ))
00097 self()->mViewMode = v;
00098 }
00099
00103 static
00104 int viewMode()
00105 {
00106 return self()->mViewMode;
00107 }
00108
00112 static
00113 void setSplitter1Sizes( const QValueList<int> & v )
00114 {
00115 if (!self()->isImmutable( QString::fromLatin1( "Splitter1Sizes" ) ))
00116 self()->mSplitter1Sizes = v;
00117 }
00118
00122 static
00123 QValueList<int> splitter1Sizes()
00124 {
00125 return self()->mSplitter1Sizes;
00126 }
00127
00131 static
00132 void setSplitter2Sizes( const QValueList<int> & v )
00133 {
00134 if (!self()->isImmutable( QString::fromLatin1( "Splitter2Sizes" ) ))
00135 self()->mSplitter2Sizes = v;
00136 }
00137
00141 static
00142 QValueList<int> splitter2Sizes()
00143 {
00144 return self()->mSplitter2Sizes;
00145 }
00146
00150 static
00151 void setStandardFont( const QString & v )
00152 {
00153 if (!self()->isImmutable( QString::fromLatin1( "StandardFont" ) ))
00154 self()->mStandardFont = v;
00155 }
00156
00160 static
00161 QString standardFont()
00162 {
00163 return self()->mStandardFont;
00164 }
00165
00169 static
00170 void setFixedFont( const QString & v )
00171 {
00172 if (!self()->isImmutable( QString::fromLatin1( "FixedFont" ) ))
00173 self()->mFixedFont = v;
00174 }
00175
00179 static
00180 QString fixedFont()
00181 {
00182 return self()->mFixedFont;
00183 }
00184
00188 static
00189 void setSerifFont( const QString & v )
00190 {
00191 if (!self()->isImmutable( QString::fromLatin1( "SerifFont" ) ))
00192 self()->mSerifFont = v;
00193 }
00194
00198 static
00199 QString serifFont()
00200 {
00201 return self()->mSerifFont;
00202 }
00203
00207 static
00208 void setSansSerifFont( const QString & v )
00209 {
00210 if (!self()->isImmutable( QString::fromLatin1( "SansSerifFont" ) ))
00211 self()->mSansSerifFont = v;
00212 }
00213
00217 static
00218 QString sansSerifFont()
00219 {
00220 return self()->mSansSerifFont;
00221 }
00222
00226 static
00227 void setFonts( const QStringList & v )
00228 {
00229 if (!self()->isImmutable( QString::fromLatin1( "Fonts" ) ))
00230 self()->mFonts = v;
00231 }
00232
00236 static
00237 QStringList fonts()
00238 {
00239 return self()->mFonts;
00240 }
00241
00245 static
00246 void setMediumFontSize( int v )
00247 {
00248 if (!self()->isImmutable( QString::fromLatin1( "MediumFontSize" ) ))
00249 self()->mMediumFontSize = v;
00250 }
00251
00255 static
00256 int mediumFontSize()
00257 {
00258 return self()->mMediumFontSize;
00259 }
00260
00264 static
00265 void setMinimumFontSize( int v )
00266 {
00267 if (!self()->isImmutable( QString::fromLatin1( "MinimumFontSize" ) ))
00268 self()->mMinimumFontSize = v;
00269 }
00270
00274 static
00275 int minimumFontSize()
00276 {
00277 return self()->mMinimumFontSize;
00278 }
00279
00283 static
00284 void setUnderlineLinks( bool v )
00285 {
00286 if (!self()->isImmutable( QString::fromLatin1( "UnderlineLinks" ) ))
00287 self()->mUnderlineLinks = v;
00288 }
00289
00293 static
00294 bool underlineLinks()
00295 {
00296 return self()->mUnderlineLinks;
00297 }
00298
00302 static
00303 void setArchiveMode( int v )
00304 {
00305 if (!self()->isImmutable( QString::fromLatin1( "ArchiveMode" ) ))
00306 self()->mArchiveMode = v;
00307 }
00308
00312 static
00313 int archiveMode()
00314 {
00315 return self()->mArchiveMode;
00316 }
00317
00321 static
00322 void setMaxArticleAge( int v )
00323 {
00324 if (!self()->isImmutable( QString::fromLatin1( "MaxArticleAge" ) ))
00325 self()->mMaxArticleAge = v;
00326 }
00327
00331 static
00332 int maxArticleAge()
00333 {
00334 return self()->mMaxArticleAge;
00335 }
00336
00340 static
00341 void setMaxArticleNumber( int v )
00342 {
00343 if (!self()->isImmutable( QString::fromLatin1( "MaxArticleNumber" ) ))
00344 self()->mMaxArticleNumber = v;
00345 }
00346
00350 static
00351 int maxArticleNumber()
00352 {
00353 return self()->mMaxArticleNumber;
00354 }
00355
00359 static
00360 void setDoNotExpireImportantArticles( bool v )
00361 {
00362 if (!self()->isImmutable( QString::fromLatin1( "DoNotExpireImportantArticles" ) ))
00363 self()->mDoNotExpireImportantArticles = v;
00364 }
00365
00369 static
00370 bool doNotExpireImportantArticles()
00371 {
00372 return self()->mDoNotExpireImportantArticles;
00373 }
00374
00378 static
00379 void setConcurrentFetches( int v )
00380 {
00381 if (!self()->isImmutable( QString::fromLatin1( "ConcurrentFetches" ) ))
00382 self()->mConcurrentFetches = v;
00383 }
00384
00388 static
00389 int concurrentFetches()
00390 {
00391 return self()->mConcurrentFetches;
00392 }
00393
00397 static
00398 void setUseHTMLCache( bool v )
00399 {
00400 if (!self()->isImmutable( QString::fromLatin1( "UseHTMLCache" ) ))
00401 self()->mUseHTMLCache = v;
00402 }
00403
00407 static
00408 bool useHTMLCache()
00409 {
00410 return self()->mUseHTMLCache;
00411 }
00412
00416 static
00417 void setFetchOnStartup( bool v )
00418 {
00419 if (!self()->isImmutable( QString::fromLatin1( "FetchOnStartup" ) ))
00420 self()->mFetchOnStartup = v;
00421 }
00422
00426 static
00427 bool fetchOnStartup()
00428 {
00429 return self()->mFetchOnStartup;
00430 }
00431
00435 static
00436 void setMarkAllFeedsReadOnStartup( bool v )
00437 {
00438 if (!self()->isImmutable( QString::fromLatin1( "MarkAllFeedsReadOnStartup" ) ))
00439 self()->mMarkAllFeedsReadOnStartup = v;
00440 }
00441
00445 static
00446 bool markAllFeedsReadOnStartup()
00447 {
00448 return self()->mMarkAllFeedsReadOnStartup;
00449 }
00450
00454 static
00455 void setUseIntervalFetch( bool v )
00456 {
00457 if (!self()->isImmutable( QString::fromLatin1( "UseIntervalFetch" ) ))
00458 self()->mUseIntervalFetch = v;
00459 }
00460
00464 static
00465 bool useIntervalFetch()
00466 {
00467 return self()->mUseIntervalFetch;
00468 }
00469
00473 static
00474 void setAutoFetchInterval( int v )
00475 {
00476 if (!self()->isImmutable( QString::fromLatin1( "AutoFetchInterval" ) ))
00477 self()->mAutoFetchInterval = v;
00478 }
00479
00483 static
00484 int autoFetchInterval()
00485 {
00486 return self()->mAutoFetchInterval;
00487 }
00488
00492 static
00493 void setUseNotifications( bool v )
00494 {
00495 if (!self()->isImmutable( QString::fromLatin1( "UseNotifications" ) ))
00496 self()->mUseNotifications = v;
00497 }
00498
00502 static
00503 bool useNotifications()
00504 {
00505 return self()->mUseNotifications;
00506 }
00507
00511 static
00512 void setShowTrayIcon( bool v )
00513 {
00514 if (!self()->isImmutable( QString::fromLatin1( "ShowTrayIcon" ) ))
00515 self()->mShowTrayIcon = v;
00516 }
00517
00521 static
00522 bool showTrayIcon()
00523 {
00524 return self()->mShowTrayIcon;
00525 }
00526
00530 static
00531 void setCloseButtonOnTabs( bool v )
00532 {
00533 if (!self()->isImmutable( QString::fromLatin1( "CloseButtonOnTabs" ) ))
00534 self()->mCloseButtonOnTabs = v;
00535 }
00536
00540 static
00541 bool closeButtonOnTabs()
00542 {
00543 return self()->mCloseButtonOnTabs;
00544 }
00545
00549 static
00550 void setExternalBrowserUseKdeDefault( bool v )
00551 {
00552 if (!self()->isImmutable( QString::fromLatin1( "ExternalBrowserUseKdeDefault" ) ))
00553 self()->mExternalBrowserUseKdeDefault = v;
00554 }
00555
00559 static
00560 bool externalBrowserUseKdeDefault()
00561 {
00562 return self()->mExternalBrowserUseKdeDefault;
00563 }
00564
00568 static
00569 void setExternalBrowserUseCustomCommand( bool v )
00570 {
00571 if (!self()->isImmutable( QString::fromLatin1( "ExternalBrowserUseCustomCommand" ) ))
00572 self()->mExternalBrowserUseCustomCommand = v;
00573 }
00574
00578 static
00579 bool externalBrowserUseCustomCommand()
00580 {
00581 return self()->mExternalBrowserUseCustomCommand;
00582 }
00583
00587 static
00588 void setExternalBrowserCustomCommand( const QString & v )
00589 {
00590 if (!self()->isImmutable( QString::fromLatin1( "ExternalBrowserCustomCommand" ) ))
00591 self()->mExternalBrowserCustomCommand = v;
00592 }
00593
00597 static
00598 QString externalBrowserCustomCommand()
00599 {
00600 return self()->mExternalBrowserCustomCommand;
00601 }
00602
00606 static
00607 void setLMBBehaviour( int v )
00608 {
00609 if (!self()->isImmutable( QString::fromLatin1( "LMBBehaviour" ) ))
00610 self()->mLMBBehaviour = v;
00611 }
00612
00616 static
00617 int lMBBehaviour()
00618 {
00619 return self()->mLMBBehaviour;
00620 }
00621
00625 static
00626 void setMMBBehaviour( int v )
00627 {
00628 if (!self()->isImmutable( QString::fromLatin1( "MMBBehaviour" ) ))
00629 self()->mMMBBehaviour = v;
00630 }
00631
00635 static
00636 int mMBBehaviour()
00637 {
00638 return self()->mMMBBehaviour;
00639 }
00640
00644 static
00645 void setTitleWidth( int v )
00646 {
00647 if (!self()->isImmutable( QString::fromLatin1( "TitleWidth" ) ))
00648 self()->mTitleWidth = v;
00649 }
00650
00654 static
00655 int titleWidth()
00656 {
00657 return self()->mTitleWidth;
00658 }
00659
00663 static
00664 void setFeedWidth( int v )
00665 {
00666 if (!self()->isImmutable( QString::fromLatin1( "FeedWidth" ) ))
00667 self()->mFeedWidth = v;
00668 }
00669
00673 static
00674 int feedWidth()
00675 {
00676 return self()->mFeedWidth;
00677 }
00678
00682 static
00683 void setDateWidth( int v )
00684 {
00685 if (!self()->isImmutable( QString::fromLatin1( "DateWidth" ) ))
00686 self()->mDateWidth = v;
00687 }
00688
00692 static
00693 int dateWidth()
00694 {
00695 return self()->mDateWidth;
00696 }
00697
00701 static
00702 void setSortColumn( int v )
00703 {
00704 if (!self()->isImmutable( QString::fromLatin1( "SortColumn" ) ))
00705 self()->mSortColumn = v;
00706 }
00707
00711 static
00712 int sortColumn()
00713 {
00714 return self()->mSortColumn;
00715 }
00716
00720 static
00721 void setSortAscending( bool v )
00722 {
00723 if (!self()->isImmutable( QString::fromLatin1( "SortAscending" ) ))
00724 self()->mSortAscending = v;
00725 }
00726
00730 static
00731 bool sortAscending()
00732 {
00733 return self()->mSortAscending;
00734 }
00735
00739 static
00740 void setArchiveBackend( const QString & v )
00741 {
00742 if (!self()->isImmutable( QString::fromLatin1( "ArchiveBackend" ) ))
00743 self()->mArchiveBackend = v;
00744 }
00745
00749 static
00750 QString archiveBackend()
00751 {
00752 return self()->mArchiveBackend;
00753 }
00754
00758 static
00759 void setUseMarkReadDelay( bool v )
00760 {
00761 if (!self()->isImmutable( QString::fromLatin1( "UseMarkReadDelay" ) ))
00762 self()->mUseMarkReadDelay = v;
00763 }
00764
00768 static
00769 bool useMarkReadDelay()
00770 {
00771 return self()->mUseMarkReadDelay;
00772 }
00773
00777 static
00778 void setMarkReadDelay( int v )
00779 {
00780 if (!self()->isImmutable( QString::fromLatin1( "MarkReadDelay" ) ))
00781 self()->mMarkReadDelay = v;
00782 }
00783
00787 static
00788 int markReadDelay()
00789 {
00790 return self()->mMarkReadDelay;
00791 }
00792
00796 static
00797 void setResetQuickFilterOnNodeChange( bool v )
00798 {
00799 if (!self()->isImmutable( QString::fromLatin1( "ResetQuickFilterOnNodeChange" ) ))
00800 self()->mResetQuickFilterOnNodeChange = v;
00801 }
00802
00806 static
00807 bool resetQuickFilterOnNodeChange()
00808 {
00809 return self()->mResetQuickFilterOnNodeChange;
00810 }
00811
00815 static
00816 void setShowTaggingGUI( bool v )
00817 {
00818 if (!self()->isImmutable( QString::fromLatin1( "ShowTaggingGUI" ) ))
00819 self()->mShowTaggingGUI = v;
00820 }
00821
00825 static
00826 bool showTaggingGUI()
00827 {
00828 return self()->mShowTaggingGUI;
00829 }
00830
00831 static
00832 void writeConfig()
00833 {
00834 static_cast<KConfigSkeleton*>(self())->writeConfig();
00835 }
00836 protected:
00837 Settings();
00838 static Settings *mSelf;
00839
00840
00841
00842 bool mShowQuickFilter;
00843 int mStatusFilter;
00844 QString mTextFilter;
00845 int mViewMode;
00846 QValueList<int> mSplitter1Sizes;
00847 QValueList<int> mSplitter2Sizes;
00848
00849
00850 QString mStandardFont;
00851 QString mFixedFont;
00852 QString mSerifFont;
00853 QString mSansSerifFont;
00854
00855
00856 QStringList mFonts;
00857 int mMediumFontSize;
00858 int mMinimumFontSize;
00859 bool mUnderlineLinks;
00860
00861
00862 int mArchiveMode;
00863 int mMaxArticleAge;
00864 int mMaxArticleNumber;
00865 bool mDoNotExpireImportantArticles;
00866
00867
00868 int mConcurrentFetches;
00869 bool mUseHTMLCache;
00870
00871
00872 bool mFetchOnStartup;
00873 bool mMarkAllFeedsReadOnStartup;
00874 bool mUseIntervalFetch;
00875 int mAutoFetchInterval;
00876 bool mUseNotifications;
00877 bool mShowTrayIcon;
00878
00879
00880 bool mCloseButtonOnTabs;
00881 bool mExternalBrowserUseKdeDefault;
00882 bool mExternalBrowserUseCustomCommand;
00883 QString mExternalBrowserCustomCommand;
00884 int mLMBBehaviour;
00885 int mMMBBehaviour;
00886
00887
00888 int mTitleWidth;
00889 int mFeedWidth;
00890 int mDateWidth;
00891 int mSortColumn;
00892 bool mSortAscending;
00893
00894
00895 QString mArchiveBackend;
00896 bool mUseMarkReadDelay;
00897 int mMarkReadDelay;
00898 bool mResetQuickFilterOnNodeChange;
00899 bool mShowTaggingGUI;
00900
00901 private:
00902 };
00903
00904 }
00905
00906 #endif
00907
|