mirror of
https://github.com/qbittorrent/qBittorrent.git
synced 2024-11-29 05:48:47 +03:00
Properly check if file priority changes
Current item priority is compared against new checkbox state. I believe the intention was to check if the priority changes before performing further actions. This PR fixes the issue - compare priority against new value that is about to be set rather then the checkbox state. PR #15740.
This commit is contained in:
parent
b45248bf99
commit
fa1d49add5
1 changed files with 8 additions and 7 deletions
|
@ -284,14 +284,15 @@ bool TorrentContentModel::setData(const QModelIndex &index, const QVariant &valu
|
|||
{
|
||||
auto *item = static_cast<TorrentContentModelItem*>(index.internalPointer());
|
||||
qDebug("setData(%s, %d)", qUtf8Printable(item->name()), value.toInt());
|
||||
if (static_cast<int>(item->priority()) != value.toInt())
|
||||
{
|
||||
BitTorrent::DownloadPriority prio = BitTorrent::DownloadPriority::Normal;
|
||||
if (value.toInt() == Qt::PartiallyChecked)
|
||||
prio = BitTorrent::DownloadPriority::Mixed;
|
||||
else if (value.toInt() == Qt::Unchecked)
|
||||
prio = BitTorrent::DownloadPriority::Ignored;
|
||||
|
||||
BitTorrent::DownloadPriority prio = BitTorrent::DownloadPriority::Normal;
|
||||
if (value.toInt() == Qt::PartiallyChecked)
|
||||
prio = BitTorrent::DownloadPriority::Mixed;
|
||||
else if (value.toInt() == Qt::Unchecked)
|
||||
prio = BitTorrent::DownloadPriority::Ignored;
|
||||
|
||||
if (item->priority() != prio)
|
||||
{
|
||||
item->setPriority(prio);
|
||||
// Update folders progress in the tree
|
||||
m_rootItem->recalculateProgress();
|
||||
|
|
Loading…
Reference in a new issue