TorrentContentModel: Simplify progress update code

This commit is contained in:
Christophe Dumez 2012-08-26 18:45:41 +03:00
parent d849ac32f9
commit f3e465c142
3 changed files with 5 additions and 15 deletions

View file

@ -73,10 +73,6 @@ void TorrentContentModelFile::setPriority(int new_prio, bool update_parent)
m_priority = new_prio;
// Reset progress if priority is 0
if (m_priority == 0)
setProgress(0);
// Update parent
if (update_parent) {
m_parentItem->updateSize();

View file

@ -124,10 +124,6 @@ void TorrentContentModelFolder::setPriority(int new_prio, bool update_parent)
m_priority = new_prio;
// Reset progress if priority is IGNORED
if (m_priority == prio::IGNORED)
setProgress(0);
// Update parent
if (update_parent) {
m_parentItem->updateSize();
@ -154,14 +150,14 @@ void TorrentContentModelFolder::updateProgress()
if (isRootItem())
return;
m_totalDone = 0;
qulonglong total_done = 0;
foreach (TorrentContentModelItem* child, m_childItems) {
if (child->priority() > 0)
m_totalDone += child->totalDone();
total_done += child->totalDone();
}
Q_ASSERT(m_totalDone <= m_size);
setProgress(m_totalDone);
Q_ASSERT(total_done <= m_size);
setProgress(total_done);
}
void TorrentContentModelFolder::updateSize()

View file

@ -76,8 +76,6 @@ void TorrentContentModelItem::setSize(qulonglong size)
void TorrentContentModelItem::setProgress(qulonglong done)
{
Q_ASSERT(!isRootItem());
if (m_priority == prio::IGNORED)
return;
m_totalDone = done;
Q_ASSERT(m_totalDone <= m_size);
@ -94,7 +92,7 @@ float TorrentContentModelItem::progress() const
{
Q_ASSERT(!isRootItem());
if (m_priority == prio::IGNORED)
return -1;
return 0;
if (m_size > 0)
return m_totalDone / (double) m_size;