Migrate everything to use the new Preferences class and not access directly the qbittorrent.ini file.

This commit is contained in:
sledgehammer999
2014-07-05 15:44:13 +03:00
parent da6ce859c0
commit d8d95d2195
44 changed files with 748 additions and 908 deletions

View File

@@ -44,7 +44,6 @@
#include <QMenu>
#include <QClipboard>
#include <vector>
#include "qinisettings.h"
using namespace libtorrent;
@@ -84,7 +83,7 @@ PeerListWidget::PeerListWidget(PropertiesWidget *parent):
showColumn(i);
hideColumn(PeerListDelegate::IP_HIDDEN);
hideColumn(PeerListDelegate::COL_COUNT);
if (!Preferences().resolvePeerCountries())
if (!Preferences::instance()->resolvePeerCountries())
hideColumn(PeerListDelegate::COUNTRY);
//To also migitate the above issue, we have to resize each column when
//its size is 0, because explicitely 'showing' the column isn't enough
@@ -119,7 +118,7 @@ PeerListWidget::~PeerListWidget()
void PeerListWidget::updatePeerHostNameResolutionState()
{
if (Preferences().resolvePeerHostNames()) {
if (Preferences::instance()->resolvePeerHostNames()) {
if (!m_resolver) {
m_resolver = new ReverseResolution(this);
connect(m_resolver, SIGNAL(ip_resolved(QString,QString)), SLOT(handleResolved(QString,QString)));
@@ -133,7 +132,7 @@ void PeerListWidget::updatePeerHostNameResolutionState()
void PeerListWidget::updatePeerCountryResolutionState()
{
if (Preferences().resolvePeerCountries() != m_displayFlags) {
if (Preferences::instance()->resolvePeerCountries() != m_displayFlags) {
m_displayFlags = !m_displayFlags;
if (m_displayFlags)
loadPeers(m_properties->getCurrentTorrent());
@@ -253,7 +252,7 @@ void PeerListWidget::limitUpRateSelectedPeers(const QStringList& peer_ips)
long limit = SpeedLimitDialog::askSpeedLimit(&ok,
tr("Upload rate limiting"),
cur_limit,
Preferences().getGlobalUploadLimit()*1024.);
Preferences::instance()->getGlobalUploadLimit()*1024.);
if (!ok)
return;
@@ -283,7 +282,7 @@ void PeerListWidget::limitDlRateSelectedPeers(const QStringList& peer_ips)
boost::asio::ip::tcp::endpoint());
if (first_ep != boost::asio::ip::tcp::endpoint())
cur_limit = h.get_peer_download_limit(first_ep);
long limit = SpeedLimitDialog::askSpeedLimit(&ok, tr("Download rate limiting"), cur_limit, Preferences().getGlobalDownloadLimit()*1024.);
long limit = SpeedLimitDialog::askSpeedLimit(&ok, tr("Download rate limiting"), cur_limit, Preferences::instance()->getGlobalDownloadLimit()*1024.);
if (!ok)
return;
@@ -316,13 +315,11 @@ void PeerListWidget::clear() {
}
void PeerListWidget::loadSettings() {
QIniSettings settings;
header()->restoreState(settings.value("TorrentProperties/Peers/PeerListState").toByteArray());
header()->restoreState(Preferences::instance()->getPeerListState());
}
void PeerListWidget::saveSettings() const {
QIniSettings settings;
settings.setValue("TorrentProperties/Peers/PeerListState", header()->saveState());
Preferences::instance()->setPeerListState(header()->saveState());
}
void PeerListWidget::loadPeers(const QTorrentHandle &h, bool force_hostname_resolution) {

View File

@@ -52,7 +52,7 @@
#include "mainwindow.h"
#include "downloadedpiecesbar.h"
#include "pieceavailabilitybar.h"
#include "qinisettings.h"
#include "preferences.h"
#include "proptabbar.h"
#include "iconprovider.h"
#include "lineedit.h"
@@ -268,28 +268,28 @@ void PropertiesWidget::loadTorrentInfos(const QTorrentHandle& _h)
}
void PropertiesWidget::readSettings() {
QIniSettings settings;
const Preferences* const pref = Preferences::instance();
// Restore splitter sizes
QStringList sizes_str = settings.value(QString::fromUtf8("TorrentProperties/SplitterSizes"), QString()).toString().split(",");
QStringList sizes_str = pref->getPropSplitterSizes().split(",");
if (sizes_str.size() == 2) {
slideSizes << sizes_str.first().toInt();
slideSizes << sizes_str.last().toInt();
QSplitter *hSplitter = static_cast<QSplitter*>(parentWidget());
hSplitter->setSizes(slideSizes);
}
if (!filesList->header()->restoreState(settings.value("TorrentProperties/FilesListState").toByteArray())) {
if (!filesList->header()->restoreState(pref->getPropFileListState())) {
filesList->header()->resizeSection(0, 400); //Default
}
const int current_tab = settings.value("TorrentProperties/CurrentTab", -1).toInt();
const int current_tab = pref->getPropCurTab();
m_tabBar->setCurrentIndex(current_tab);
if (!settings.value("TorrentProperties/Visible", false).toBool()) {
if (!pref->getPropVisible()) {
setVisibility(false);
}
}
void PropertiesWidget::saveSettings() {
QIniSettings settings;
settings.setValue("TorrentProperties/Visible", state==VISIBLE);
Preferences* const pref = Preferences::instance();
pref->setPropVisible(state==VISIBLE);
// Splitter sizes
QSplitter *hSplitter = static_cast<QSplitter*>(parentWidget());
QList<int> sizes;
@@ -299,11 +299,11 @@ void PropertiesWidget::saveSettings() {
sizes = slideSizes;
qDebug("Sizes: %d", sizes.size());
if (sizes.size() == 2) {
settings.setValue(QString::fromUtf8("TorrentProperties/SplitterSizes"), QVariant(QString::number(sizes.first())+','+QString::number(sizes.last())));
pref->setPropSplitterSizes(QString::number(sizes.first())+','+QString::number(sizes.last()));
}
settings.setValue("TorrentProperties/FilesListState", filesList->header()->saveState());
pref->setPropFileListState(filesList->header()->saveState());
// Remember current tab
settings.setValue("TorrentProperties/CurrentTab", m_tabBar->currentIndex());
pref->setPropCurTab(m_tabBar->currentIndex());
}
void PropertiesWidget::reloadPreferences() {

View File

@@ -43,7 +43,7 @@
#include "trackersadditiondlg.h"
#include "iconprovider.h"
#include "qbtsession.h"
#include "qinisettings.h"
#include "preferences.h"
#include "misc.h"
#include "autoexpandabledialog.h"
@@ -501,14 +501,12 @@ void TrackerList::showTrackerListMenu(QPoint) {
}
void TrackerList::loadSettings() {
QIniSettings settings;
if (!header()->restoreState(settings.value("TorrentProperties/Trackers/TrackerListState").toByteArray())) {
if (!header()->restoreState(Preferences::instance()->getPropTrackerListState())) {
setColumnWidth(0, 30);
setColumnWidth(1, 300);
}
}
void TrackerList::saveSettings() const {
QIniSettings settings;
settings.setValue("TorrentProperties/Trackers/TrackerListState", header()->saveState());
Preferences::instance()->setPropTrackerListState(header()->saveState());
}