Browse Source

Fix column hiding/showing in transfer list

adaptive-webui-19844
Christophe Dumez 14 years ago
parent
commit
e3a9194010
  1. 71
      src/transferlistwidget.cpp
  2. 2
      src/transferlistwidget.h

71
src/transferlistwidget.cpp

@ -67,7 +67,7 @@ TransferListWidget::TransferListWidget(QWidget *parent, MainWindow *main_window,
QTreeView(parent), BTSession(_BTSession), main_window(main_window) { QTreeView(parent), BTSession(_BTSession), main_window(main_window) {
// Load settings // Load settings
loadSettings(); bool column_loaded = loadSettings();
// Create and apply delegate // Create and apply delegate
listDelegate = new TransferListDelegate(this); listDelegate = new TransferListDelegate(this);
@ -107,15 +107,17 @@ TransferListWidget::TransferListWidget(QWidget *parent, MainWindow *main_window,
setDragDropMode(QAbstractItemView::DragOnly); setDragDropMode(QAbstractItemView::DragOnly);
// Default hidden columns // Default hidden columns
setColumnHidden(TorrentModelItem::TR_PRIORITY, true); if(!column_loaded) {
setColumnHidden(TorrentModelItem::TR_ADD_DATE, true); setColumnHidden(TorrentModelItem::TR_PRIORITY, true);
setColumnHidden(TorrentModelItem::TR_SEED_DATE, true); setColumnHidden(TorrentModelItem::TR_ADD_DATE, true);
setColumnHidden(TorrentModelItem::TR_UPLIMIT, true); setColumnHidden(TorrentModelItem::TR_SEED_DATE, true);
setColumnHidden(TorrentModelItem::TR_DLLIMIT, true); setColumnHidden(TorrentModelItem::TR_UPLIMIT, true);
setColumnHidden(TorrentModelItem::TR_TRACKER, true); setColumnHidden(TorrentModelItem::TR_DLLIMIT, true);
setColumnHidden(TorrentModelItem::TR_AMOUNT_DOWNLOADED, true); setColumnHidden(TorrentModelItem::TR_TRACKER, true);
setColumnHidden(TorrentModelItem::TR_AMOUNT_LEFT, true); setColumnHidden(TorrentModelItem::TR_AMOUNT_DOWNLOADED, true);
setColumnHidden(TorrentModelItem::TR_TIME_ELAPSED, true); setColumnHidden(TorrentModelItem::TR_AMOUNT_LEFT, true);
setColumnHidden(TorrentModelItem::TR_TIME_ELAPSED, true);
}
setContextMenuPolicy(Qt::CustomContextMenu); setContextMenuPolicy(Qt::CustomContextMenu);
@ -485,26 +487,26 @@ void TransferListWidget::setUpLimitSelectedTorrents() {
} }
void TransferListWidget::setMaxRatioSelectedTorrents() { void TransferListWidget::setMaxRatioSelectedTorrents() {
const QStringList hashes = getSelectedTorrentsHashes(); const QStringList hashes = getSelectedTorrentsHashes();
if (hashes.isEmpty()) if (hashes.isEmpty())
return; return;
bool useGlobalValue; bool useGlobalValue;
qreal currentMaxRatio; qreal currentMaxRatio;
if (hashes.count() == 1) { if (hashes.count() == 1) {
currentMaxRatio = BTSession->getMaxRatioPerTorrent(hashes.first(), &useGlobalValue); currentMaxRatio = BTSession->getMaxRatioPerTorrent(hashes.first(), &useGlobalValue);
} else { } else {
useGlobalValue = true; useGlobalValue = true;
currentMaxRatio = BTSession->getGlobalMaxRatio(); currentMaxRatio = BTSession->getGlobalMaxRatio();
} }
UpDownRatioDlg dlg(useGlobalValue, currentMaxRatio, QBtSession::MAX_RATIO, this); UpDownRatioDlg dlg(useGlobalValue, currentMaxRatio, QBtSession::MAX_RATIO, this);
if (dlg.exec() != QDialog::Accepted) if (dlg.exec() != QDialog::Accepted)
return; return;
foreach (const QString &hash, hashes) { foreach (const QString &hash, hashes) {
if (dlg.useDefault()) if (dlg.useDefault())
BTSession->removeRatioPerTorrent(hash); BTSession->removeRatioPerTorrent(hash);
else else
BTSession->setMaxRatioPerTorrent(hash, dlg.ratio()); BTSession->setMaxRatioPerTorrent(hash, dlg.ratio());
} }
} }
void TransferListWidget::recheckSelectedTorrents() { void TransferListWidget::recheckSelectedTorrents() {
@ -901,10 +903,13 @@ void TransferListWidget::saveSettings()
settings.setValue("TransferList/HeaderState", header()->saveState()); settings.setValue("TransferList/HeaderState", header()->saveState());
} }
void TransferListWidget::loadSettings() bool TransferListWidget::loadSettings()
{ {
QIniSettings settings("qBittorrent", "qBittorrent"); QIniSettings settings("qBittorrent", "qBittorrent");
header()->resizeSection(0, 200); // Default bool ok = header()->restoreState(settings.value("TransferList/HeaderState").toByteArray());
header()->restoreState(settings.value("TransferList/HeaderState").toByteArray()); if(!ok) {
header()->resizeSection(0, 200); // Default
}
return ok;
} }

2
src/transferlistwidget.h

@ -92,7 +92,7 @@ protected:
QModelIndex mapFromSource(const QModelIndex &index) const; QModelIndex mapFromSource(const QModelIndex &index) const;
QStringList getCustomLabels() const; QStringList getCustomLabels() const;
void saveSettings(); void saveSettings();
void loadSettings(); bool loadSettings();
QStringList getSelectedTorrentsHashes() const; QStringList getSelectedTorrentsHashes() const;
protected slots: protected slots:

Loading…
Cancel
Save