kget
bittorrentsettings.cpp
Go to the documentation of this file.00001
00002
00003
00004 #include "bittorrentsettings.h"
00005
00006 #include <kglobal.h>
00007 #include <QtCore/QFile>
00008
00009 class BittorrentSettingsHelper
00010 {
00011 public:
00012 BittorrentSettingsHelper() : q(0) {}
00013 ~BittorrentSettingsHelper() { delete q; }
00014 BittorrentSettings *q;
00015 };
00016 K_GLOBAL_STATIC(BittorrentSettingsHelper, s_globalBittorrentSettings)
00017 BittorrentSettings *BittorrentSettings::self()
00018 {
00019 if (!s_globalBittorrentSettings->q) {
00020 new BittorrentSettings;
00021 s_globalBittorrentSettings->q->readConfig();
00022 }
00023
00024 return s_globalBittorrentSettings->q;
00025 }
00026
00027 BittorrentSettings::BittorrentSettings( )
00028 : KConfigSkeleton( QLatin1String( "kget_bittorrentfactory.rc" ) )
00029 {
00030 Q_ASSERT(!s_globalBittorrentSettings->q);
00031 s_globalBittorrentSettings->q = this;
00032 setCurrentGroup( QLatin1String( "General" ) );
00033
00034 KConfigSkeleton::ItemInt *itemUploadLimit;
00035 itemUploadLimit = new KConfigSkeleton::ItemInt( currentGroup(), QLatin1String( "UploadLimit" ), mUploadLimit, 0 );
00036 addItem( itemUploadLimit, QLatin1String( "UploadLimit" ) );
00037 KConfigSkeleton::ItemInt *itemDownloadLimit;
00038 itemDownloadLimit = new KConfigSkeleton::ItemInt( currentGroup(), QLatin1String( "DownloadLimit" ), mDownloadLimit, 0 );
00039 addItem( itemDownloadLimit, QLatin1String( "DownloadLimit" ) );
00040 KConfigSkeleton::ItemInt *itemPort;
00041 itemPort = new KConfigSkeleton::ItemInt( currentGroup(), QLatin1String( "Port" ), mPort, 6881 );
00042 addItem( itemPort, QLatin1String( "Port" ) );
00043 KConfigSkeleton::ItemDouble *itemMaxShareRatio;
00044 itemMaxShareRatio = new KConfigSkeleton::ItemDouble( currentGroup(), QLatin1String( "MaxShareRatio" ), mMaxShareRatio, 0 );
00045 addItem( itemMaxShareRatio, QLatin1String( "MaxShareRatio" ) );
00046
00047 setCurrentGroup( QLatin1String( "Dirs" ) );
00048
00049 KConfigSkeleton::ItemString *itemTorrentDir;
00050 itemTorrentDir = new KConfigSkeleton::ItemString( currentGroup(), QLatin1String( "TorrentDir" ), mTorrentDir );
00051 addItem( itemTorrentDir, QLatin1String( "TorrentDir" ) );
00052 KConfigSkeleton::ItemString *itemTmpDir;
00053 itemTmpDir = new KConfigSkeleton::ItemString( currentGroup(), QLatin1String( "TmpDir" ), mTmpDir );
00054 addItem( itemTmpDir, QLatin1String( "TmpDir" ) );
00055 KConfigSkeleton::ItemBool *itemPreAlloc;
00056 itemPreAlloc = new KConfigSkeleton::ItemBool( currentGroup(), QLatin1String( "PreAlloc" ), mPreAlloc, true );
00057 addItem( itemPreAlloc, QLatin1String( "PreAlloc" ) );
00058
00059 setCurrentGroup( QLatin1String( "AdvancedDetails" ) );
00060
00061 QList<int> defaultFileColumnWidths;
00062
00063 KConfigSkeleton::ItemIntList *itemFileColumnWidths;
00064 itemFileColumnWidths = new KConfigSkeleton::ItemIntList( currentGroup(), QLatin1String( "FileColumnWidths" ), mFileColumnWidths, defaultFileColumnWidths );
00065 addItem( itemFileColumnWidths, QLatin1String( "FileColumnWidths" ) );
00066 QList<int> defaultPeersColumnWidths;
00067
00068 KConfigSkeleton::ItemIntList *itemPeersColumnWidths;
00069 itemPeersColumnWidths = new KConfigSkeleton::ItemIntList( currentGroup(), QLatin1String( "PeersColumnWidths" ), mPeersColumnWidths, defaultPeersColumnWidths );
00070 addItem( itemPeersColumnWidths, QLatin1String( "PeersColumnWidths" ) );
00071 QList<int> defaultChunksColumnWidths;
00072
00073 KConfigSkeleton::ItemIntList *itemChunksColumnWidths;
00074 itemChunksColumnWidths = new KConfigSkeleton::ItemIntList( currentGroup(), QLatin1String( "ChunksColumnWidths" ), mChunksColumnWidths, defaultChunksColumnWidths );
00075 addItem( itemChunksColumnWidths, QLatin1String( "ChunksColumnWidths" ) );
00076 }
00077
00078 BittorrentSettings::~BittorrentSettings()
00079 {
00080 }
00081