Browse Source

Fix inhibit system functionality. Closes #766.

adaptive-webui-19844
sledgehammer999 11 years ago
parent
commit
f09328c13c
  1. 6
      src/mainwindow.cpp
  2. 18
      src/qtlibtorrent/torrentmodel.cpp
  3. 1
      src/qtlibtorrent/torrentmodel.h

6
src/mainwindow.cpp

@ -1409,11 +1409,7 @@ void MainWindow::on_actionAutoShutdown_system_toggled(bool enabled) @@ -1409,11 +1409,7 @@ void MainWindow::on_actionAutoShutdown_system_toggled(bool enabled)
void MainWindow::checkForActiveTorrents()
{
const TorrentStatusReport report = transferList->getSourceModel()->getTorrentStatusReport();
if (report.nb_active > 0) // Active torrents are present; prevent system from suspend
m_pwr->setActivityState(true);
else
m_pwr->setActivityState(false);
m_pwr->setActivityState(transferList->getSourceModel()->inhibitSystem());
}
QIcon MainWindow::getSystrayIcon() const

18
src/qtlibtorrent/torrentmodel.cpp

@ -483,3 +483,21 @@ void TorrentModel::handleTorrentAboutToBeRemoved(const QTorrentHandle &h) @@ -483,3 +483,21 @@ void TorrentModel::handleTorrentAboutToBeRemoved(const QTorrentHandle &h)
emit torrentAboutToBeRemoved(m_torrents.at(row));
}
}
bool TorrentModel::inhibitSystem()
{
QList<TorrentModelItem*>::const_iterator it = m_torrents.constBegin();
QList<TorrentModelItem*>::const_iterator itend = m_torrents.constEnd();
for ( ; it != itend; ++it) {
switch((*it)->data(TorrentModelItem::TR_STATUS).toInt()) {
case TorrentModelItem::STATE_DOWNLOADING:
case TorrentModelItem::STATE_STALLED_DL:
case TorrentModelItem::STATE_SEEDING:
case TorrentModelItem::STATE_STALLED_UP:
return true;
default:
break;
}
}
return false;
}

1
src/qtlibtorrent/torrentmodel.h

@ -94,6 +94,7 @@ public: @@ -94,6 +94,7 @@ public:
TorrentStatusReport getTorrentStatusReport() const;
Qt::ItemFlags flags(const QModelIndex &index) const;
void populate();
bool inhibitSystem();
signals:
void torrentAdded(TorrentModelItem *torrentItem);

Loading…
Cancel
Save