Make use of std algorithms

This commit is contained in:
Chocobo1
2019-01-11 16:05:57 +08:00
parent 40eb8a1f4a
commit 6d29a3af60
10 changed files with 67 additions and 61 deletions

View File

@@ -28,6 +28,8 @@
#include "statsdialog.h"
#include <algorithm>
#include "base/bittorrent/cachestatus.h"
#include "base/bittorrent/session.h"
#include "base/bittorrent/sessionstatus.h"
@@ -89,9 +91,11 @@ void StatsDialog::update()
// to complete before it receives or sends any more data on the socket. It's a metric of how disk bound you are.
// num_peers is not reliable (adds up peers, which didn't even overcome tcp handshake)
quint32 peers = 0;
for (BitTorrent::TorrentHandle *const torrent : asConst(BitTorrent::Session::instance()->torrents()))
peers += torrent->peersCount();
const auto torrents = BitTorrent::Session::instance()->torrents();
const quint32 peers = std::accumulate(torrents.cbegin(), torrents.cend(), 0, [](const quint32 acc, const BitTorrent::TorrentHandle *torrent)
{
return (acc + torrent->peersCount());
});
m_ui->labelWriteStarve->setText(QString("%1%")
.arg(((ss.diskWriteQueue > 0) && (peers > 0))

View File

@@ -28,6 +28,8 @@
#include "torrentcontentmodel.h"
#include <algorithm>
#include <QDir>
#include <QFileIconProvider>
#include <QFileInfo>
@@ -275,10 +277,10 @@ QVector<int> TorrentContentModel::getFilePriorities() const
bool TorrentContentModel::allFiltered() const
{
for (const TorrentContentModelFile *fileItem : asConst(m_filesIndex))
if (fileItem->priority() != BitTorrent::FilePriority::Ignored)
return false;
return true;
return std::all_of(m_filesIndex.cbegin(), m_filesIndex.cend(), [](const TorrentContentModelFile *fileItem)
{
return (fileItem->priority() == BitTorrent::FilePriority::Ignored);
});
}
int TorrentContentModel::columnCount(const QModelIndex &parent) const

View File

@@ -86,9 +86,10 @@ TorrentContentModelItem *TorrentContentModelFolder::child(int row) const
TorrentContentModelFolder *TorrentContentModelFolder::childFolderWithName(const QString &name) const
{
for (TorrentContentModelItem *child : asConst(m_childItems))
for (TorrentContentModelItem *child : asConst(m_childItems)) {
if ((child->itemType() == FolderType) && (child->name() == name))
return static_cast<TorrentContentModelFolder *>(child);
}
return nullptr;
}