Browse Source

Update max write cache size to 2048MB and set it to automatic by default (closes #148)

adaptive-webui-19844
Christophe Dumez 12 years ago
parent
commit
aeb5fa036c
  1. 19
      src/preferences/advancedsettings.h
  2. 4
      src/preferences/preferences.h
  3. 3
      src/qtlibtorrent/qbtsession.cpp

19
src/preferences/advancedsettings.h

@ -55,6 +55,8 @@ public:
horizontalHeader()->setStretchLastSection(true); horizontalHeader()->setStretchLastSection(true);
verticalHeader()->setVisible(false); verticalHeader()->setVisible(false);
setRowCount(ROW_COUNT); setRowCount(ROW_COUNT);
// Signals
connect(&spin_cache, SIGNAL(valueChanged(int)), SLOT(updateCacheSpinSuffix(int)));
// Load settings // Load settings
loadAdvancedSettings(); loadAdvancedSettings();
} }
@ -151,13 +153,22 @@ private:
} }
private slots: private slots:
void loadAdvancedSettings() { void updateCacheSpinSuffix(int value)
{
if (value <= 0)
spin_cache.setSuffix(tr(" (auto)"));
else
spin_cache.setSuffix(tr(" MiB"));
}
void loadAdvancedSettings()
{
const Preferences pref; const Preferences pref;
// Disk write cache // Disk write cache
spin_cache.setMinimum(1); spin_cache.setMinimum(0);
spin_cache.setMaximum(200); spin_cache.setMaximum(2048);
spin_cache.setValue(pref.diskCacheSize()); spin_cache.setValue(pref.diskCacheSize());
spin_cache.setSuffix(tr(" MiB")); updateCacheSpinSuffix(spin_cache.value());
setRow(DISK_CACHE, tr("Disk write cache size"), &spin_cache); setRow(DISK_CACHE, tr("Disk write cache size"), &spin_cache);
// Outgoing port Min // Outgoing port Min
outgoing_ports_min.setMinimum(0); outgoing_ports_min.setMinimum(0);

4
src/preferences/preferences.h

@ -927,11 +927,11 @@ public:
} }
uint diskCacheSize() const { uint diskCacheSize() const {
return value(QString::fromUtf8("Preferences/Downloads/DiskCache"), 16).toUInt(); return value(QString::fromUtf8("Preferences/Downloads/DiskWriteCacheSize"), 0).toUInt();
} }
void setDiskCacheSize(uint size) { void setDiskCacheSize(uint size) {
setValue(QString::fromUtf8("Preferences/Downloads/DiskCache"), size); setValue(QString::fromUtf8("Preferences/Downloads/DiskWriteCacheSize"), size);
} }
uint outgoingPortsMin() const { uint outgoingPortsMin() const {

3
src/qtlibtorrent/qbtsession.cpp

@ -402,7 +402,8 @@ void QBtSession::configureSession() {
sessionSettings.announce_to_all_trackers = announce_to_all; sessionSettings.announce_to_all_trackers = announce_to_all;
sessionSettings.announce_to_all_tiers = announce_to_all; sessionSettings.announce_to_all_tiers = announce_to_all;
sessionSettings.auto_scrape_min_interval = 900; // 15 minutes sessionSettings.auto_scrape_min_interval = 900; // 15 minutes
sessionSettings.cache_size = pref.diskCacheSize()*64; int cache_size = pref.diskCacheSize();
sessionSettings.cache_size = cache_size ? pref.diskCacheSize() * 64 : -1;
qDebug() << "Using a disk cache size of" << pref.diskCacheSize() << "MiB"; qDebug() << "Using a disk cache size of" << pref.diskCacheSize() << "MiB";
// Disable OS cache to avoid memory problems (uTorrent behavior) // Disable OS cache to avoid memory problems (uTorrent behavior)
#ifdef Q_WS_WIN #ifdef Q_WS_WIN

Loading…
Cancel
Save