diff --git a/src/app/filelogger.cpp b/src/app/filelogger.cpp index e0cafbb7e..5436c1392 100644 --- a/src/app/filelogger.cpp +++ b/src/app/filelogger.cpp @@ -32,8 +32,8 @@ #include #include +#include #include -#include #include "base/global.h" #include "base/logger.h" diff --git a/src/base/bittorrent/abstractfilestorage.cpp b/src/base/bittorrent/abstractfilestorage.cpp index c55ef8e52..ccd501c5b 100644 --- a/src/base/bittorrent/abstractfilestorage.cpp +++ b/src/base/bittorrent/abstractfilestorage.cpp @@ -30,7 +30,7 @@ #include #include -#include +#include #include "base/exceptions.h" #include "base/path.h" @@ -71,7 +71,7 @@ void BitTorrent::AbstractFileStorage::renameFolder(const Path &oldFolderPath, co if (newFolderPath.isAbsolute()) throw RuntimeError(tr("Absolute path isn't allowed: '%1'.").arg(newFolderPath.toString())); - QVector renamingFileIndexes; + QList renamingFileIndexes; renamingFileIndexes.reserve(filesCount()); for (int i = 0; i < filesCount(); ++i) diff --git a/src/base/bittorrent/addtorrentparams.h b/src/base/bittorrent/addtorrentparams.h index b1b5fcb2b..a2de0b725 100644 --- a/src/base/bittorrent/addtorrentparams.h +++ b/src/base/bittorrent/addtorrentparams.h @@ -30,9 +30,9 @@ #include +#include #include #include -#include #include "base/path.h" #include "base/tagset.h" @@ -62,7 +62,7 @@ namespace BitTorrent std::optional addStopped; std::optional stopCondition; PathList filePaths; // used if TorrentInfo is set - QVector filePriorities; // used if TorrentInfo is set + QList filePriorities; // used if TorrentInfo is set bool skipChecking = false; std::optional contentLayout; std::optional useAutoTMM; diff --git a/src/base/bittorrent/bencoderesumedatastorage.cpp b/src/base/bittorrent/bencoderesumedatastorage.cpp index a34e5a34a..43dd414cd 100644 --- a/src/base/bittorrent/bencoderesumedatastorage.cpp +++ b/src/base/bittorrent/bencoderesumedatastorage.cpp @@ -64,7 +64,7 @@ namespace BitTorrent void store(const TorrentID &id, const LoadTorrentParams &resumeData) const; void remove(const TorrentID &id) const; - void storeQueue(const QVector &queue) const; + void storeQueue(const QList &queue) const; private: const Path m_resumeDataDir; @@ -134,7 +134,7 @@ BitTorrent::BencodeResumeDataStorage::BencodeResumeDataStorage(const Path &path, m_ioThread->start(); } -QVector BitTorrent::BencodeResumeDataStorage::registeredTorrents() const +QList BitTorrent::BencodeResumeDataStorage::registeredTorrents() const { return m_registeredTorrents; } @@ -354,7 +354,7 @@ void BitTorrent::BencodeResumeDataStorage::remove(const TorrentID &id) const }); } -void BitTorrent::BencodeResumeDataStorage::storeQueue(const QVector &queue) const +void BitTorrent::BencodeResumeDataStorage::storeQueue(const QList &queue) const { QMetaObject::invokeMethod(m_asyncWorker, [this, queue]() { @@ -460,7 +460,7 @@ void BitTorrent::BencodeResumeDataStorage::Worker::remove(const TorrentID &id) c Utils::Fs::removeFile(m_resumeDataDir / torrentFilename); } -void BitTorrent::BencodeResumeDataStorage::Worker::storeQueue(const QVector &queue) const +void BitTorrent::BencodeResumeDataStorage::Worker::storeQueue(const QList &queue) const { QByteArray data; data.reserve(((BitTorrent::TorrentID::length() * 2) + 1) * queue.size()); diff --git a/src/base/bittorrent/bencoderesumedatastorage.h b/src/base/bittorrent/bencoderesumedatastorage.h index 9e7820e99..731a35859 100644 --- a/src/base/bittorrent/bencoderesumedatastorage.h +++ b/src/base/bittorrent/bencoderesumedatastorage.h @@ -29,7 +29,7 @@ #pragma once #include -#include +#include #include "base/pathfwd.h" #include "base/utils/thread.h" @@ -49,18 +49,18 @@ namespace BitTorrent public: explicit BencodeResumeDataStorage(const Path &path, QObject *parent = nullptr); - QVector registeredTorrents() const override; + QList registeredTorrents() const override; LoadResumeDataResult load(const TorrentID &id) const override; void store(const TorrentID &id, const LoadTorrentParams &resumeData) const override; void remove(const TorrentID &id) const override; - void storeQueue(const QVector &queue) const override; + void storeQueue(const QList &queue) const override; private: void doLoadAll() const override; void loadQueue(const Path &queueFilename); LoadResumeDataResult loadTorrentResumeData(const QByteArray &data, const QByteArray &metadata) const; - QVector m_registeredTorrents; + QList m_registeredTorrents; Utils::Thread::UniquePtr m_ioThread; class Worker; diff --git a/src/base/bittorrent/dbresumedatastorage.cpp b/src/base/bittorrent/dbresumedatastorage.cpp index bb0efbdaf..c42d68d12 100644 --- a/src/base/bittorrent/dbresumedatastorage.cpp +++ b/src/base/bittorrent/dbresumedatastorage.cpp @@ -41,6 +41,7 @@ #include #include +#include #include #include #include @@ -48,7 +49,6 @@ #include #include #include -#include #include #include "base/exceptions.h" @@ -107,11 +107,11 @@ namespace class StoreQueueJob final : public Job { public: - explicit StoreQueueJob(const QVector &queue); + explicit StoreQueueJob(const QList &queue); void perform(QSqlDatabase db) override; private: - const QVector m_queue; + const QList m_queue; }; struct Column @@ -168,7 +168,7 @@ namespace return u"CREATE TABLE %1 (%2)"_s.arg(quoted(tableName), items.join(u',')); } - std::pair joinColumns(const QVector &columns) + std::pair joinColumns(const QList &columns) { int namesSize = columns.size(); int valuesSize = columns.size(); @@ -193,21 +193,21 @@ namespace return std::make_pair(names, values); } - QString makeInsertStatement(const QString &tableName, const QVector &columns) + QString makeInsertStatement(const QString &tableName, const QList &columns) { const auto [names, values] = joinColumns(columns); return u"INSERT INTO %1 (%2) VALUES (%3)"_s .arg(quoted(tableName), names, values); } - QString makeUpdateStatement(const QString &tableName, const QVector &columns) + QString makeUpdateStatement(const QString &tableName, const QList &columns) { const auto [names, values] = joinColumns(columns); return u"UPDATE %1 SET (%2) = (%3)"_s .arg(quoted(tableName), names, values); } - QString makeOnConflictUpdateStatement(const Column &constraint, const QVector &columns) + QString makeOnConflictUpdateStatement(const Column &constraint, const QList &columns) { const auto [names, values] = joinColumns(columns); return u" ON CONFLICT (%1) DO UPDATE SET (%2) = (%3)"_s @@ -308,7 +308,7 @@ namespace BitTorrent void store(const TorrentID &id, const LoadTorrentParams &resumeData); void remove(const TorrentID &id); - void storeQueue(const QVector &queue); + void storeQueue(const QList &queue); private: void addJob(std::unique_ptr job); @@ -356,7 +356,7 @@ BitTorrent::DBResumeDataStorage::~DBResumeDataStorage() QSqlDatabase::removeDatabase(DB_CONNECTION_NAME); } -QVector BitTorrent::DBResumeDataStorage::registeredTorrents() const +QList BitTorrent::DBResumeDataStorage::registeredTorrents() const { const auto selectTorrentIDStatement = u"SELECT %1 FROM %2 ORDER BY %3;"_s .arg(quoted(DB_COLUMN_TORRENT_ID.name), quoted(DB_TABLE_TORRENTS), quoted(DB_COLUMN_QUEUE_POSITION.name)); @@ -367,7 +367,7 @@ QVector BitTorrent::DBResumeDataStorage::registeredTorren if (!query.exec(selectTorrentIDStatement)) throw RuntimeError(query.lastError().text()); - QVector registeredTorrents; + QList registeredTorrents; registeredTorrents.reserve(query.size()); while (query.next()) registeredTorrents.append(BitTorrent::TorrentID::fromString(query.value(0).toString())); @@ -413,7 +413,7 @@ void BitTorrent::DBResumeDataStorage::remove(const BitTorrent::TorrentID &id) co m_asyncWorker->remove(id); } -void BitTorrent::DBResumeDataStorage::storeQueue(const QVector &queue) const +void BitTorrent::DBResumeDataStorage::storeQueue(const QList &queue) const { m_asyncWorker->storeQueue(queue); } @@ -438,7 +438,7 @@ void BitTorrent::DBResumeDataStorage::doLoadAll() const if (!query.exec(selectTorrentIDStatement)) throw RuntimeError(query.lastError().text()); - QVector registeredTorrents; + QList registeredTorrents; registeredTorrents.reserve(query.size()); while (query.next()) registeredTorrents.append(TorrentID::fromString(query.value(0).toString())); @@ -747,7 +747,7 @@ void BitTorrent::DBResumeDataStorage::Worker::remove(const TorrentID &id) addJob(std::make_unique(id)); } -void BitTorrent::DBResumeDataStorage::Worker::storeQueue(const QVector &queue) +void BitTorrent::DBResumeDataStorage::Worker::storeQueue(const QList &queue) { addJob(std::make_unique(queue)); } @@ -797,7 +797,7 @@ namespace } } - QVector columns { + QList columns { DB_COLUMN_TORRENT_ID, DB_COLUMN_NAME, DB_COLUMN_CATEGORY, @@ -929,7 +929,7 @@ namespace } } - StoreQueueJob::StoreQueueJob(const QVector &queue) + StoreQueueJob::StoreQueueJob(const QList &queue) : m_queue {queue} { } diff --git a/src/base/bittorrent/dbresumedatastorage.h b/src/base/bittorrent/dbresumedatastorage.h index 97485f298..072813d1f 100644 --- a/src/base/bittorrent/dbresumedatastorage.h +++ b/src/base/bittorrent/dbresumedatastorage.h @@ -47,12 +47,12 @@ namespace BitTorrent explicit DBResumeDataStorage(const Path &dbPath, QObject *parent = nullptr); ~DBResumeDataStorage() override; - QVector registeredTorrents() const override; + QList registeredTorrents() const override; LoadResumeDataResult load(const TorrentID &id) const override; void store(const TorrentID &id, const LoadTorrentParams &resumeData) const override; void remove(const TorrentID &id) const override; - void storeQueue(const QVector &queue) const override; + void storeQueue(const QList &queue) const override; private: void doLoadAll() const override; diff --git a/src/base/bittorrent/filterparserthread.cpp b/src/base/bittorrent/filterparserthread.cpp index 56d650ed7..5b5c0659c 100644 --- a/src/base/bittorrent/filterparserthread.cpp +++ b/src/base/bittorrent/filterparserthread.cpp @@ -133,7 +133,7 @@ int FilterParserThread::parseDATFilterFile() return ruleCount; } - std::vector buffer(BUFFER_SIZE, 0); // seems a bit faster than QVector + std::vector buffer(BUFFER_SIZE, 0); // seems a bit faster than QList qint64 bytesRead = 0; int offset = 0; int start = 0; @@ -297,7 +297,7 @@ int FilterParserThread::parseP2PFilterFile() return ruleCount; } - std::vector buffer(BUFFER_SIZE, 0); // seems a bit faster than QVector + std::vector buffer(BUFFER_SIZE, 0); // seems a bit faster than QList qint64 bytesRead = 0; int offset = 0; int start = 0; diff --git a/src/base/bittorrent/resumedatastorage.cpp b/src/base/bittorrent/resumedatastorage.cpp index 6e67a5b58..771e7d706 100644 --- a/src/base/bittorrent/resumedatastorage.cpp +++ b/src/base/bittorrent/resumedatastorage.cpp @@ -30,12 +30,12 @@ #include +#include #include #include #include -#include -const int TORRENTIDLIST_TYPEID = qRegisterMetaType>(); +const int TORRENTIDLIST_TYPEID = qRegisterMetaType>(); BitTorrent::ResumeDataStorage::ResumeDataStorage(const Path &path, QObject *parent) : QObject(parent) diff --git a/src/base/bittorrent/resumedatastorage.h b/src/base/bittorrent/resumedatastorage.h index b583da60a..f2df1b1e2 100644 --- a/src/base/bittorrent/resumedatastorage.h +++ b/src/base/bittorrent/resumedatastorage.h @@ -58,17 +58,17 @@ namespace BitTorrent Path path() const; - virtual QVector registeredTorrents() const = 0; + virtual QList registeredTorrents() const = 0; virtual LoadResumeDataResult load(const TorrentID &id) const = 0; virtual void store(const TorrentID &id, const LoadTorrentParams &resumeData) const = 0; virtual void remove(const TorrentID &id) const = 0; - virtual void storeQueue(const QVector &queue) const = 0; + virtual void storeQueue(const QList &queue) const = 0; void loadAll() const; QList fetchLoadedResumeData() const; signals: - void loadStarted(const QVector &torrents); + void loadStarted(const QList &torrents); void loadFinished(); protected: diff --git a/src/base/bittorrent/session.h b/src/base/bittorrent/session.h index 96f4816fd..d4b0fa628 100644 --- a/src/base/bittorrent/session.h +++ b/src/base/bittorrent/session.h @@ -446,7 +446,7 @@ namespace BitTorrent virtual Torrent *getTorrent(const TorrentID &id) const = 0; virtual Torrent *findTorrent(const InfoHash &infoHash) const = 0; - virtual QVector torrents() const = 0; + virtual QList torrents() const = 0; virtual qsizetype torrentsCount() const = 0; virtual const SessionStatus &status() const = 0; virtual const CacheStatus &cacheStatus() const = 0; @@ -460,10 +460,10 @@ namespace BitTorrent virtual bool downloadMetadata(const TorrentDescriptor &torrentDescr) = 0; virtual bool cancelDownloadMetadata(const TorrentID &id) = 0; - virtual void increaseTorrentsQueuePos(const QVector &ids) = 0; - virtual void decreaseTorrentsQueuePos(const QVector &ids) = 0; - virtual void topTorrentsQueuePos(const QVector &ids) = 0; - virtual void bottomTorrentsQueuePos(const QVector &ids) = 0; + virtual void increaseTorrentsQueuePos(const QList &ids) = 0; + virtual void decreaseTorrentsQueuePos(const QList &ids) = 0; + virtual void topTorrentsQueuePos(const QList &ids) = 0; + virtual void bottomTorrentsQueuePos(const QList &ids) = 0; signals: void startupProgressUpdated(int progress); @@ -494,12 +494,12 @@ namespace BitTorrent void torrentStarted(Torrent *torrent); void torrentSavePathChanged(Torrent *torrent); void torrentSavingModeChanged(Torrent *torrent); - void torrentsLoaded(const QVector &torrents); - void torrentsUpdated(const QVector &torrents); + void torrentsLoaded(const QList &torrents); + void torrentsUpdated(const QList &torrents); void torrentTagAdded(Torrent *torrent, const Tag &tag); void torrentTagRemoved(Torrent *torrent, const Tag &tag); void trackerError(Torrent *torrent, const QString &tracker); - void trackersAdded(Torrent *torrent, const QVector &trackers); + void trackersAdded(Torrent *torrent, const QList &trackers); void trackersChanged(Torrent *torrent); void trackersRemoved(Torrent *torrent, const QStringList &trackers); void trackerSuccess(Torrent *torrent, const QString &tracker); diff --git a/src/base/bittorrent/sessionimpl.cpp b/src/base/bittorrent/sessionimpl.cpp index 8c21682e8..7546aafe4 100644 --- a/src/base/bittorrent/sessionimpl.cpp +++ b/src/base/bittorrent/sessionimpl.cpp @@ -1306,7 +1306,7 @@ void SessionImpl::prepareStartup() context->startupStorage = m_resumeDataStorage; connect(context->startupStorage, &ResumeDataStorage::loadStarted, context - , [this, context](const QVector &torrents) + , [this, context](const QList &torrents) { context->totalResumeDataCount = torrents.size(); #ifdef QBT_USES_LIBTORRENT2 @@ -2491,7 +2491,7 @@ bool SessionImpl::cancelDownloadMetadata(const TorrentID &id) return true; } -void SessionImpl::increaseTorrentsQueuePos(const QVector &ids) +void SessionImpl::increaseTorrentsQueuePos(const QList &ids) { using ElementType = std::pair; std::priority_queue &ids) m_torrentsQueueChanged = true; } -void SessionImpl::decreaseTorrentsQueuePos(const QVector &ids) +void SessionImpl::decreaseTorrentsQueuePos(const QList &ids) { using ElementType = std::pair; std::priority_queue torrentQueue; @@ -2546,7 +2546,7 @@ void SessionImpl::decreaseTorrentsQueuePos(const QVector &ids) m_torrentsQueueChanged = true; } -void SessionImpl::topTorrentsQueuePos(const QVector &ids) +void SessionImpl::topTorrentsQueuePos(const QList &ids) { using ElementType = std::pair; std::priority_queue torrentQueue; @@ -2571,7 +2571,7 @@ void SessionImpl::topTorrentsQueuePos(const QVector &ids) m_torrentsQueueChanged = true; } -void SessionImpl::bottomTorrentsQueuePos(const QVector &ids) +void SessionImpl::bottomTorrentsQueuePos(const QList &ids) { using ElementType = std::pair; std::priority_queue SessionImpl::torrents() const +QList SessionImpl::torrents() const { - QVector result; + QList result; result.reserve(m_torrents.size()); for (TorrentImpl *torrent : asConst(m_torrents)) result << torrent; @@ -3133,7 +3133,7 @@ void SessionImpl::saveResumeData() void SessionImpl::saveTorrentsQueue() { - QVector queue; + QList queue; for (const TorrentImpl *torrent : asConst(m_torrents)) { if (const int queuePos = torrent->queuePosition(); queuePos >= 0) @@ -4985,7 +4985,7 @@ void SessionImpl::handleTorrentSavingModeChanged(TorrentImpl *const torrent) emit torrentSavingModeChanged(torrent); } -void SessionImpl::handleTorrentTrackersAdded(TorrentImpl *const torrent, const QVector &newTrackers) +void SessionImpl::handleTorrentTrackersAdded(TorrentImpl *const torrent, const QList &newTrackers) { for (const TrackerEntry &newTracker : newTrackers) LogMsg(tr("Added tracker to torrent. Torrent: \"%1\". Tracker: \"%2\"").arg(torrent->name(), newTracker.url)); @@ -5004,13 +5004,13 @@ void SessionImpl::handleTorrentTrackersChanged(TorrentImpl *const torrent) emit trackersChanged(torrent); } -void SessionImpl::handleTorrentUrlSeedsAdded(TorrentImpl *const torrent, const QVector &newUrlSeeds) +void SessionImpl::handleTorrentUrlSeedsAdded(TorrentImpl *const torrent, const QList &newUrlSeeds) { for (const QUrl &newUrlSeed : newUrlSeeds) LogMsg(tr("Added URL seed to torrent. Torrent: \"%1\". URL: \"%2\"").arg(torrent->name(), newUrlSeed.toString())); } -void SessionImpl::handleTorrentUrlSeedsRemoved(TorrentImpl *const torrent, const QVector &urlSeeds) +void SessionImpl::handleTorrentUrlSeedsRemoved(TorrentImpl *const torrent, const QList &urlSeeds) { for (const QUrl &urlSeed : urlSeeds) LogMsg(tr("Removed URL seed from torrent. Torrent: \"%1\". URL: \"%2\"").arg(torrent->name(), urlSeed.toString())); @@ -5028,7 +5028,7 @@ void SessionImpl::handleTorrentStopped(TorrentImpl *const torrent) { torrent->resetTrackerEntryStatuses(); - const QVector trackers = torrent->trackers(); + const QList trackers = torrent->trackers(); QHash updatedTrackers; updatedTrackers.reserve(trackers.size()); @@ -6056,7 +6056,7 @@ void SessionImpl::handleStorageMovedFailedAlert(const lt::storage_moved_failed_a void SessionImpl::handleStateUpdateAlert(const lt::state_update_alert *alert) { - QVector updatedTorrents; + QList updatedTorrents; updatedTorrents.reserve(static_cast(alert->status.size())); for (const lt::torrent_status &status : alert->status) diff --git a/src/base/bittorrent/sessionimpl.h b/src/base/bittorrent/sessionimpl.h index a5bac0847..e9124de1f 100644 --- a/src/base/bittorrent/sessionimpl.h +++ b/src/base/bittorrent/sessionimpl.h @@ -40,10 +40,10 @@ #include #include #include +#include #include #include #include -#include #include "base/path.h" #include "base/settingvalue.h" @@ -423,7 +423,7 @@ namespace BitTorrent Torrent *getTorrent(const TorrentID &id) const override; Torrent *findTorrent(const InfoHash &infoHash) const override; - QVector torrents() const override; + QList torrents() const override; qsizetype torrentsCount() const override; const SessionStatus &status() const override; const CacheStatus &cacheStatus() const override; @@ -437,10 +437,10 @@ namespace BitTorrent bool downloadMetadata(const TorrentDescriptor &torrentDescr) override; bool cancelDownloadMetadata(const TorrentID &id) override; - void increaseTorrentsQueuePos(const QVector &ids) override; - void decreaseTorrentsQueuePos(const QVector &ids) override; - void topTorrentsQueuePos(const QVector &ids) override; - void bottomTorrentsQueuePos(const QVector &ids) override; + void increaseTorrentsQueuePos(const QList &ids) override; + void decreaseTorrentsQueuePos(const QList &ids) override; + void topTorrentsQueuePos(const QList &ids) override; + void bottomTorrentsQueuePos(const QList &ids) override; // Torrent interface void handleTorrentResumeDataRequested(const TorrentImpl *torrent); @@ -456,11 +456,11 @@ namespace BitTorrent void handleTorrentStarted(TorrentImpl *torrent); void handleTorrentChecked(TorrentImpl *torrent); void handleTorrentFinished(TorrentImpl *torrent); - void handleTorrentTrackersAdded(TorrentImpl *torrent, const QVector &newTrackers); + void handleTorrentTrackersAdded(TorrentImpl *torrent, const QList &newTrackers); void handleTorrentTrackersRemoved(TorrentImpl *torrent, const QStringList &deletedTrackers); void handleTorrentTrackersChanged(TorrentImpl *torrent); - void handleTorrentUrlSeedsAdded(TorrentImpl *torrent, const QVector &newUrlSeeds); - void handleTorrentUrlSeedsRemoved(TorrentImpl *torrent, const QVector &urlSeeds); + void handleTorrentUrlSeedsAdded(TorrentImpl *torrent, const QList &newUrlSeeds); + void handleTorrentUrlSeedsRemoved(TorrentImpl *torrent, const QList &urlSeeds); void handleTorrentResumeDataReady(TorrentImpl *torrent, const LoadTorrentParams &data); void handleTorrentInfoHashChanged(TorrentImpl *torrent, const InfoHash &prevInfoHash); void handleTorrentStorageMovingStateChanged(TorrentImpl *torrent); @@ -749,8 +749,8 @@ namespace BitTorrent const bool m_wasPexEnabled = m_isPeXEnabled; int m_numResumeData = 0; - QVector m_additionalTrackerEntries; - QVector m_excludedFileNamesRegExpList; + QList m_additionalTrackerEntries; + QList m_excludedFileNamesRegExpList; // Statistics mutable QElapsedTimer m_statisticsLastUpdateTimer; diff --git a/src/base/bittorrent/torrent.h b/src/base/bittorrent/torrent.h index 2dcffdf85..bd034f133 100644 --- a/src/base/bittorrent/torrent.h +++ b/src/base/bittorrent/torrent.h @@ -249,8 +249,8 @@ namespace BitTorrent virtual bool hasMissingFiles() const = 0; virtual bool hasError() const = 0; virtual int queuePosition() const = 0; - virtual QVector trackers() const = 0; - virtual QVector urlSeeds() const = 0; + virtual QList trackers() const = 0; + virtual QList urlSeeds() const = 0; virtual QString error() const = 0; virtual qlonglong totalDownload() const = 0; virtual qlonglong totalUpload() const = 0; @@ -274,10 +274,10 @@ namespace BitTorrent virtual bool isDHTDisabled() const = 0; virtual bool isPEXDisabled() const = 0; virtual bool isLSDDisabled() const = 0; - virtual QVector peers() const = 0; + virtual QList peers() const = 0; virtual QBitArray pieces() const = 0; virtual QBitArray downloadingPieces() const = 0; - virtual QVector pieceAvailability() const = 0; + virtual QList pieceAvailability() const = 0; virtual qreal distributedCopies() const = 0; virtual qreal maxRatio() const = 0; virtual int maxSeedingTime() const = 0; @@ -306,11 +306,11 @@ namespace BitTorrent virtual void setDHTDisabled(bool disable) = 0; virtual void setPEXDisabled(bool disable) = 0; virtual void setLSDDisabled(bool disable) = 0; - virtual void addTrackers(QVector trackers) = 0; + virtual void addTrackers(QList trackers) = 0; virtual void removeTrackers(const QStringList &trackers) = 0; - virtual void replaceTrackers(QVector trackers) = 0; - virtual void addUrlSeeds(const QVector &urlSeeds) = 0; - virtual void removeUrlSeeds(const QVector &urlSeeds) = 0; + virtual void replaceTrackers(QList trackers) = 0; + virtual void addUrlSeeds(const QList &urlSeeds) = 0; + virtual void removeUrlSeeds(const QList &urlSeeds) = 0; virtual bool connectPeer(const PeerAddress &peerAddress) = 0; virtual void clearPeers() = 0; virtual void setMetadata(const TorrentInfo &torrentInfo) = 0; @@ -324,9 +324,9 @@ namespace BitTorrent virtual nonstd::expected exportToBuffer() const = 0; virtual nonstd::expected exportToFile(const Path &path) const = 0; - virtual void fetchPeerInfo(std::function)> resultHandler) const = 0; - virtual void fetchURLSeeds(std::function)> resultHandler) const = 0; - virtual void fetchPieceAvailability(std::function)> resultHandler) const = 0; + virtual void fetchPeerInfo(std::function)> resultHandler) const = 0; + virtual void fetchURLSeeds(std::function)> resultHandler) const = 0; + virtual void fetchPieceAvailability(std::function)> resultHandler) const = 0; virtual void fetchDownloadingPieces(std::function resultHandler) const = 0; TorrentID id() const; diff --git a/src/base/bittorrent/torrentcontenthandler.h b/src/base/bittorrent/torrentcontenthandler.h index 1604cbe52..2e3702d2c 100644 --- a/src/base/bittorrent/torrentcontenthandler.h +++ b/src/base/bittorrent/torrentcontenthandler.h @@ -44,18 +44,18 @@ namespace BitTorrent virtual bool hasMetadata() const = 0; virtual Path actualStorageLocation() const = 0; virtual Path actualFilePath(int fileIndex) const = 0; - virtual QVector filePriorities() const = 0; - virtual QVector filesProgress() const = 0; + virtual QList filePriorities() const = 0; + virtual QList filesProgress() const = 0; /** * @brief fraction of file pieces that are available at least from one peer * * This is not the same as torrrent availability, it is just a fraction of pieces * that can be downloaded right now. It varies between 0 to 1. */ - virtual QVector availableFileFractions() const = 0; - virtual void fetchAvailableFileFractions(std::function)> resultHandler) const = 0; + virtual QList availableFileFractions() const = 0; + virtual void fetchAvailableFileFractions(std::function)> resultHandler) const = 0; - virtual void prioritizeFiles(const QVector &priorities) = 0; + virtual void prioritizeFiles(const QList &priorities) = 0; virtual void flushCache() const = 0; }; } diff --git a/src/base/bittorrent/torrentdescriptor.cpp b/src/base/bittorrent/torrentdescriptor.cpp index bc5a4619a..42e969b0d 100644 --- a/src/base/bittorrent/torrentdescriptor.cpp +++ b/src/base/bittorrent/torrentdescriptor.cpp @@ -204,9 +204,9 @@ void BitTorrent::TorrentDescriptor::setTorrentInfo(TorrentInfo torrentInfo) } } -QVector BitTorrent::TorrentDescriptor::trackers() const +QList BitTorrent::TorrentDescriptor::trackers() const { - QVector ret; + QList ret; ret.reserve(static_cast(m_ltAddTorrentParams.trackers.size())); std::size_t i = 0; for (const std::string &tracker : m_ltAddTorrentParams.trackers) @@ -215,9 +215,9 @@ QVector BitTorrent::TorrentDescriptor::trackers() cons return ret; } -QVector BitTorrent::TorrentDescriptor::urlSeeds() const +QList BitTorrent::TorrentDescriptor::urlSeeds() const { - QVector urlSeeds; + QList urlSeeds; urlSeeds.reserve(static_cast(m_ltAddTorrentParams.url_seeds.size())); for (const std::string &nativeURLSeed : m_ltAddTorrentParams.url_seeds) diff --git a/src/base/bittorrent/torrentdescriptor.h b/src/base/bittorrent/torrentdescriptor.h index 86f9059c3..897c1af94 100644 --- a/src/base/bittorrent/torrentdescriptor.h +++ b/src/base/bittorrent/torrentdescriptor.h @@ -60,8 +60,8 @@ namespace BitTorrent QDateTime creationDate() const; QString creator() const; QString comment() const; - QVector trackers() const; - QVector urlSeeds() const; + QList trackers() const; + QList urlSeeds() const; const std::optional &info() const; void setTorrentInfo(TorrentInfo torrentInfo); diff --git a/src/base/bittorrent/torrentimpl.cpp b/src/base/bittorrent/torrentimpl.cpp index 95fcccf94..389acb2fa 100644 --- a/src/base/bittorrent/torrentimpl.cpp +++ b/src/base/bittorrent/torrentimpl.cpp @@ -606,12 +606,12 @@ Path TorrentImpl::makeUserPath(const Path &path) const return userPath; } -QVector TorrentImpl::trackers() const +QList TorrentImpl::trackers() const { return m_trackerEntryStatuses; } -void TorrentImpl::addTrackers(QVector trackers) +void TorrentImpl::addTrackers(QList trackers) { trackers.removeIf([](const TrackerEntry &trackerEntry) { return trackerEntry.url.isEmpty(); }); @@ -624,7 +624,7 @@ void TorrentImpl::addTrackers(QVector trackers) if (newTrackerSet.isEmpty()) return; - trackers = QVector(newTrackerSet.cbegin(), newTrackerSet.cend()); + trackers = QList(newTrackerSet.cbegin(), newTrackerSet.cend()); for (const TrackerEntry &tracker : asConst(trackers)) { m_nativeHandle.add_tracker(makeNativeAnnounceEntry(tracker.url, tracker.tier)); @@ -660,13 +660,13 @@ void TorrentImpl::removeTrackers(const QStringList &trackers) } } -void TorrentImpl::replaceTrackers(QVector trackers) +void TorrentImpl::replaceTrackers(QList trackers) { trackers.removeIf([](const TrackerEntry &trackerEntry) { return trackerEntry.url.isEmpty(); }); // Filter out duplicate trackers const auto uniqueTrackers = QSet(trackers.cbegin(), trackers.cend()); - trackers = QVector(uniqueTrackers.cbegin(), uniqueTrackers.cend()); + trackers = QList(uniqueTrackers.cbegin(), uniqueTrackers.cend()); std::sort(trackers.begin(), trackers.end() , [](const TrackerEntry &left, const TrackerEntry &right) { return left.tier < right.tier; }); @@ -691,12 +691,12 @@ void TorrentImpl::replaceTrackers(QVector trackers) m_session->handleTorrentTrackersChanged(this); } -QVector TorrentImpl::urlSeeds() const +QList TorrentImpl::urlSeeds() const { return m_urlSeeds; } -void TorrentImpl::addUrlSeeds(const QVector &urlSeeds) +void TorrentImpl::addUrlSeeds(const QList &urlSeeds) { m_session->invokeAsync([urlSeeds, session = m_session , nativeHandle = m_nativeHandle @@ -705,12 +705,12 @@ void TorrentImpl::addUrlSeeds(const QVector &urlSeeds) try { const std::set nativeSeeds = nativeHandle.url_seeds(); - QVector currentSeeds; + QList currentSeeds; currentSeeds.reserve(static_cast(nativeSeeds.size())); for (const std::string &urlSeed : nativeSeeds) currentSeeds.append(QString::fromStdString(urlSeed)); - QVector addedUrlSeeds; + QList addedUrlSeeds; addedUrlSeeds.reserve(urlSeeds.size()); for (const QUrl &url : urlSeeds) @@ -740,7 +740,7 @@ void TorrentImpl::addUrlSeeds(const QVector &urlSeeds) }); } -void TorrentImpl::removeUrlSeeds(const QVector &urlSeeds) +void TorrentImpl::removeUrlSeeds(const QList &urlSeeds) { m_session->invokeAsync([urlSeeds, session = m_session , nativeHandle = m_nativeHandle @@ -749,12 +749,12 @@ void TorrentImpl::removeUrlSeeds(const QVector &urlSeeds) try { const std::set nativeSeeds = nativeHandle.url_seeds(); - QVector currentSeeds; + QList currentSeeds; currentSeeds.reserve(static_cast(nativeSeeds.size())); for (const std::string &urlSeed : nativeSeeds) currentSeeds.append(QString::fromStdString(urlSeed)); - QVector removedUrlSeeds; + QList removedUrlSeeds; removedUrlSeeds.reserve(urlSeeds.size()); for (const QUrl &url : urlSeeds) @@ -966,7 +966,7 @@ Path TorrentImpl::filePath(const int index) const Path TorrentImpl::actualFilePath(const int index) const { - const QVector nativeIndexes = m_torrentInfo.nativeIndexes(); + const QList nativeIndexes = m_torrentInfo.nativeIndexes(); Q_ASSERT(index >= 0); Q_ASSERT(index < nativeIndexes.size()); @@ -1001,7 +1001,7 @@ PathList TorrentImpl::actualFilePaths() const return paths; } -QVector TorrentImpl::filePriorities() const +QList TorrentImpl::filePriorities() const { return m_filePriorities; } @@ -1317,7 +1317,7 @@ qlonglong TorrentImpl::eta() const return (wantedSize() - completedSize()) / speedAverage.download; } -QVector TorrentImpl::filesProgress() const +QList TorrentImpl::filesProgress() const { if (!hasMetadata()) return {}; @@ -1328,9 +1328,9 @@ QVector TorrentImpl::filesProgress() const return {}; if (m_completedFiles.count(true) == count) - return QVector(count, 1); + return QList(count, 1); - QVector result; + QList result; result.reserve(count); for (int i = 0; i < count; ++i) { @@ -1445,12 +1445,12 @@ bool TorrentImpl::isLSDDisabled() const return static_cast(m_nativeStatus.flags & lt::torrent_flags::disable_lsd); } -QVector TorrentImpl::peers() const +QList TorrentImpl::peers() const { std::vector nativePeers; m_nativeHandle.get_peer_info(nativePeers); - QVector peers; + QList peers; peers.reserve(static_cast(nativePeers.size())); for (const lt::peer_info &peer : nativePeers) @@ -1477,7 +1477,7 @@ QBitArray TorrentImpl::downloadingPieces() const return result; } -QVector TorrentImpl::pieceAvailability() const +QList TorrentImpl::pieceAvailability() const { std::vector avail; m_nativeHandle.piece_availability(avail); @@ -2113,7 +2113,7 @@ void TorrentImpl::handleSaveResumeDataAlert(const lt::save_resume_data_alert *p) // URL seed list have been changed by libtorrent for some reason, so we need to update cached one. // Unfortunately, URL seed list containing in "resume data" is generated according to different rules // than the list we usually cache, so we have to request it from the appropriate source. - fetchURLSeeds([this](const QVector &urlSeeds) { m_urlSeeds = urlSeeds; }); + fetchURLSeeds([this](const QList &urlSeeds) { m_urlSeeds = urlSeeds; }); } if ((m_maintenanceJob == MaintenanceJob::HandleMetadata) && p->params.ti) @@ -2490,7 +2490,7 @@ void TorrentImpl::adjustStorageLocation() void TorrentImpl::doRenameFile(const int index, const Path &path) { - const QVector nativeIndexes = m_torrentInfo.nativeIndexes(); + const QList nativeIndexes = m_torrentInfo.nativeIndexes(); Q_ASSERT(index >= 0); Q_ASSERT(index < nativeIndexes.size()); @@ -2872,15 +2872,15 @@ nonstd::expected TorrentImpl::exportToFile(const Path &path) cons return {}; } -void TorrentImpl::fetchPeerInfo(std::function)> resultHandler) const +void TorrentImpl::fetchPeerInfo(std::function)> resultHandler) const { - invokeAsync([nativeHandle = m_nativeHandle, allPieces = pieces()]() -> QVector + invokeAsync([nativeHandle = m_nativeHandle, allPieces = pieces()]() -> QList { try { std::vector nativePeers; nativeHandle.get_peer_info(nativePeers); - QVector peers; + QList peers; peers.reserve(static_cast(nativePeers.size())); for (const lt::peer_info &peer : nativePeers) peers.append(PeerInfo(peer, allPieces)); @@ -2893,14 +2893,14 @@ void TorrentImpl::fetchPeerInfo(std::function)> resultHa , std::move(resultHandler)); } -void TorrentImpl::fetchURLSeeds(std::function)> resultHandler) const +void TorrentImpl::fetchURLSeeds(std::function)> resultHandler) const { - invokeAsync([nativeHandle = m_nativeHandle]() -> QVector + invokeAsync([nativeHandle = m_nativeHandle]() -> QList { try { const std::set currentSeeds = nativeHandle.url_seeds(); - QVector urlSeeds; + QList urlSeeds; urlSeeds.reserve(static_cast(currentSeeds.size())); for (const std::string &urlSeed : currentSeeds) urlSeeds.append(QString::fromStdString(urlSeed)); @@ -2913,15 +2913,15 @@ void TorrentImpl::fetchURLSeeds(std::function)> resultHandle , std::move(resultHandler)); } -void TorrentImpl::fetchPieceAvailability(std::function)> resultHandler) const +void TorrentImpl::fetchPieceAvailability(std::function)> resultHandler) const { - invokeAsync([nativeHandle = m_nativeHandle]() -> QVector + invokeAsync([nativeHandle = m_nativeHandle]() -> QList { try { std::vector piecesAvailability; nativeHandle.piece_availability(piecesAvailability); - return QVector(piecesAvailability.cbegin(), piecesAvailability.cend()); + return QList(piecesAvailability.cbegin(), piecesAvailability.cend()); } catch (const std::exception &) {} @@ -2955,9 +2955,9 @@ void TorrentImpl::fetchDownloadingPieces(std::function resultH , std::move(resultHandler)); } -void TorrentImpl::fetchAvailableFileFractions(std::function)> resultHandler) const +void TorrentImpl::fetchAvailableFileFractions(std::function)> resultHandler) const { - invokeAsync([nativeHandle = m_nativeHandle, torrentInfo = m_torrentInfo]() -> QVector + invokeAsync([nativeHandle = m_nativeHandle, torrentInfo = m_torrentInfo]() -> QList { if (!torrentInfo.isValid() || (torrentInfo.filesCount() <= 0)) return {}; @@ -2969,9 +2969,9 @@ void TorrentImpl::fetchAvailableFileFractions(std::function const int filesCount = torrentInfo.filesCount(); // libtorrent returns empty array for seeding only torrents if (piecesAvailability.empty()) - return QVector(filesCount, -1); + return QList(filesCount, -1); - QVector result; + QList result; result.reserve(filesCount); for (int i = 0; i < filesCount; ++i) { @@ -2995,7 +2995,7 @@ void TorrentImpl::fetchAvailableFileFractions(std::function , std::move(resultHandler)); } -void TorrentImpl::prioritizeFiles(const QVector &priorities) +void TorrentImpl::prioritizeFiles(const QList &priorities) { if (!hasMetadata()) return; @@ -3004,7 +3004,7 @@ void TorrentImpl::prioritizeFiles(const QVector &priorities) // Reset 'm_hasSeedStatus' if needed in order to react again to // 'torrent_finished_alert' and eg show tray notifications - const QVector oldPriorities = filePriorities(); + const QList oldPriorities = filePriorities(); for (int i = 0; i < oldPriorities.size(); ++i) { if ((oldPriorities[i] == DownloadPriority::Ignored) @@ -3032,18 +3032,18 @@ void TorrentImpl::prioritizeFiles(const QVector &priorities) manageActualFilePaths(); } -QVector TorrentImpl::availableFileFractions() const +QList TorrentImpl::availableFileFractions() const { Q_ASSERT(hasMetadata()); const int filesCount = this->filesCount(); if (filesCount <= 0) return {}; - const QVector piecesAvailability = pieceAvailability(); + const QList piecesAvailability = pieceAvailability(); // libtorrent returns empty array for seeding only torrents - if (piecesAvailability.empty()) return QVector(filesCount, -1); + if (piecesAvailability.empty()) return QList(filesCount, -1); - QVector res; + QList res; res.reserve(filesCount); for (int i = 0; i < filesCount; ++i) { diff --git a/src/base/bittorrent/torrentimpl.h b/src/base/bittorrent/torrentimpl.h index ffc83b202..9b0d4df2a 100644 --- a/src/base/bittorrent/torrentimpl.h +++ b/src/base/bittorrent/torrentimpl.h @@ -41,11 +41,11 @@ #include #include #include +#include #include #include #include #include -#include #include "base/path.h" #include "base/tagset.h" @@ -154,7 +154,7 @@ namespace BitTorrent qlonglong fileSize(int index) const override; PathList filePaths() const override; PathList actualFilePaths() const override; - QVector filePriorities() const override; + QList filePriorities() const override; TorrentInfo info() const override; bool isFinished() const override; @@ -176,15 +176,15 @@ namespace BitTorrent bool hasMissingFiles() const override; bool hasError() const override; int queuePosition() const override; - QVector trackers() const override; - QVector urlSeeds() const override; + QList trackers() const override; + QList urlSeeds() const override; QString error() const override; qlonglong totalDownload() const override; qlonglong totalUpload() const override; qlonglong activeTime() const override; qlonglong finishedTime() const override; qlonglong eta() const override; - QVector filesProgress() const override; + QList filesProgress() const override; int seedsCount() const override; int peersCount() const override; int leechsCount() const override; @@ -202,10 +202,10 @@ namespace BitTorrent bool isDHTDisabled() const override; bool isPEXDisabled() const override; bool isLSDDisabled() const override; - QVector peers() const override; + QList peers() const override; QBitArray pieces() const override; QBitArray downloadingPieces() const override; - QVector pieceAvailability() const override; + QList pieceAvailability() const override; qreal distributedCopies() const override; qreal maxRatio() const override; int maxSeedingTime() const override; @@ -219,7 +219,7 @@ namespace BitTorrent int connectionsCount() const override; int connectionsLimit() const override; qlonglong nextAnnounce() const override; - QVector availableFileFractions() const override; + QList availableFileFractions() const override; void setName(const QString &name) override; void setSequentialDownload(bool enable) override; @@ -230,7 +230,7 @@ namespace BitTorrent void forceDHTAnnounce() override; void forceRecheck() override; void renameFile(int index, const Path &path) override; - void prioritizeFiles(const QVector &priorities) override; + void prioritizeFiles(const QList &priorities) override; void setUploadLimit(int limit) override; void setDownloadLimit(int limit) override; void setSuperSeeding(bool enable) override; @@ -238,11 +238,11 @@ namespace BitTorrent void setPEXDisabled(bool disable) override; void setLSDDisabled(bool disable) override; void flushCache() const override; - void addTrackers(QVector trackers) override; + void addTrackers(QList trackers) override; void removeTrackers(const QStringList &trackers) override; - void replaceTrackers(QVector trackers) override; - void addUrlSeeds(const QVector &urlSeeds) override; - void removeUrlSeeds(const QVector &urlSeeds) override; + void replaceTrackers(QList trackers) override; + void addUrlSeeds(const QList &urlSeeds) override; + void removeUrlSeeds(const QList &urlSeeds) override; bool connectPeer(const PeerAddress &peerAddress) override; void clearPeers() override; void setMetadata(const TorrentInfo &torrentInfo) override; @@ -257,11 +257,11 @@ namespace BitTorrent nonstd::expected exportToBuffer() const override; nonstd::expected exportToFile(const Path &path) const override; - void fetchPeerInfo(std::function)> resultHandler) const override; - void fetchURLSeeds(std::function)> resultHandler) const override; - void fetchPieceAvailability(std::function)> resultHandler) const override; + void fetchPeerInfo(std::function)> resultHandler) const override; + void fetchURLSeeds(std::function)> resultHandler) const override; + void fetchPieceAvailability(std::function)> resultHandler) const override; void fetchDownloadingPieces(std::function resultHandler) const override; - void fetchAvailableFileFractions(std::function)> resultHandler) const override; + void fetchAvailableFileFractions(std::function)> resultHandler) const override; bool needSaveResumeData() const; @@ -336,7 +336,7 @@ namespace BitTorrent TorrentInfo m_torrentInfo; PathList m_filePaths; QHash m_indexMap; - QVector m_filePriorities; + QList m_filePriorities; QBitArray m_completedFiles; SpeedMonitor m_payloadRateMonitor; @@ -352,8 +352,8 @@ namespace BitTorrent MaintenanceJob m_maintenanceJob = MaintenanceJob::None; - QVector m_trackerEntryStatuses; - QVector m_urlSeeds; + QList m_trackerEntryStatuses; + QList m_urlSeeds; FileErrorInfo m_lastFileError; // Persistent data @@ -384,7 +384,7 @@ namespace BitTorrent int m_uploadLimit = 0; QBitArray m_pieces; - QVector m_filesProgress; + QList m_filesProgress; bool m_deferredRequestResumeDataInvoked = false; }; diff --git a/src/base/bittorrent/torrentinfo.cpp b/src/base/bittorrent/torrentinfo.cpp index eecd9d33a..1055c9f7a 100644 --- a/src/base/bittorrent/torrentinfo.cpp +++ b/src/base/bittorrent/torrentinfo.cpp @@ -270,13 +270,13 @@ qlonglong TorrentInfo::fileOffset(const int index) const return m_nativeInfo->orig_files().file_offset(m_nativeIndexes[index]); } -QVector TorrentInfo::trackers() const +QList TorrentInfo::trackers() const { if (!isValid()) return {}; const std::vector trackers = m_nativeInfo->trackers(); - QVector ret; + QList ret; ret.reserve(static_cast(trackers.size())); for (const lt::announce_entry &tracker : trackers) ret.append({.url = QString::fromStdString(tracker.url), .tier = tracker.tier}); @@ -284,13 +284,13 @@ QVector TorrentInfo::trackers() const return ret; } -QVector TorrentInfo::urlSeeds() const +QList TorrentInfo::urlSeeds() const { if (!isValid()) return {}; const std::vector &nativeWebSeeds = m_nativeInfo->web_seeds(); - QVector urlSeeds; + QList urlSeeds; urlSeeds.reserve(static_cast(nativeWebSeeds.size())); for (const lt::web_seed_entry &webSeed : nativeWebSeeds) @@ -320,7 +320,7 @@ QByteArray TorrentInfo::metadata() const PathList TorrentInfo::filesForPiece(const int pieceIndex) const { // no checks here because fileIndicesForPiece() will return an empty list - const QVector fileIndices = fileIndicesForPiece(pieceIndex); + const QList fileIndices = fileIndicesForPiece(pieceIndex); PathList res; res.reserve(fileIndices.size()); @@ -330,14 +330,14 @@ PathList TorrentInfo::filesForPiece(const int pieceIndex) const return res; } -QVector TorrentInfo::fileIndicesForPiece(const int pieceIndex) const +QList TorrentInfo::fileIndicesForPiece(const int pieceIndex) const { if (!isValid() || (pieceIndex < 0) || (pieceIndex >= piecesCount())) return {}; const std::vector files = m_nativeInfo->map_block( lt::piece_index_t {pieceIndex}, 0, m_nativeInfo->piece_size(lt::piece_index_t {pieceIndex})); - QVector res; + QList res; res.reserve(static_cast(files.size())); for (const lt::file_slice &fileSlice : files) { @@ -349,13 +349,13 @@ QVector TorrentInfo::fileIndicesForPiece(const int pieceIndex) const return res; } -QVector TorrentInfo::pieceHashes() const +QList TorrentInfo::pieceHashes() const { if (!isValid()) return {}; const int count = piecesCount(); - QVector hashes; + QList hashes; hashes.reserve(count); for (int i = 0; i < count; ++i) @@ -450,7 +450,7 @@ std::shared_ptr TorrentInfo::nativeInfo() const return std::make_shared(*m_nativeInfo); } -QVector TorrentInfo::nativeIndexes() const +QList TorrentInfo::nativeIndexes() const { return m_nativeIndexes; } diff --git a/src/base/bittorrent/torrentinfo.h b/src/base/bittorrent/torrentinfo.h index abca51978..4afdac491 100644 --- a/src/base/bittorrent/torrentinfo.h +++ b/src/base/bittorrent/torrentinfo.h @@ -32,7 +32,7 @@ #include #include -#include +#include #include "base/3rdparty/expected.hpp" #include "base/indexrange.h" @@ -80,12 +80,12 @@ namespace BitTorrent PathList filePaths() const; qlonglong fileSize(int index) const; qlonglong fileOffset(int index) const; - QVector trackers() const; - QVector urlSeeds() const; + QList trackers() const; + QList urlSeeds() const; QByteArray metadata() const; PathList filesForPiece(int pieceIndex) const; - QVector fileIndicesForPiece(int pieceIndex) const; - QVector pieceHashes() const; + QList fileIndicesForPiece(int pieceIndex) const; + QList pieceHashes() const; using PieceRange = IndexRange; // returns pair of the first and the last pieces into which @@ -96,7 +96,7 @@ namespace BitTorrent bool matchesInfoHash(const InfoHash &otherInfoHash) const; std::shared_ptr nativeInfo() const; - QVector nativeIndexes() const; + QList nativeIndexes() const; private: // returns file index or -1 if fileName is not found @@ -106,7 +106,7 @@ namespace BitTorrent // internal indexes of files (payload only, excluding any .pad files) // by which they are addressed in libtorrent - QVector m_nativeIndexes; + QList m_nativeIndexes; }; } diff --git a/src/base/http/types.h b/src/base/http/types.h index 156ddf6c0..4f79c0d20 100644 --- a/src/base/http/types.h +++ b/src/base/http/types.h @@ -30,8 +30,8 @@ #pragma once #include +#include #include -#include #include "base/global.h" @@ -109,7 +109,7 @@ namespace Http HeaderMap headers; QHash query; QHash posts; - QVector files; + QList files; }; struct ResponseStatus diff --git a/src/base/logger.cpp b/src/base/logger.cpp index 7b03b97d6..9a91632a9 100644 --- a/src/base/logger.cpp +++ b/src/base/logger.cpp @@ -31,14 +31,14 @@ #include #include -#include +#include namespace { template - QVector loadFromBuffer(const boost::circular_buffer_space_optimized &src, const int offset = 0) + QList loadFromBuffer(const boost::circular_buffer_space_optimized &src, const int offset = 0) { - QVector ret; + QList ret; ret.reserve(static_cast(src.size()) - offset); std::copy((src.begin() + offset), src.end(), std::back_inserter(ret)); return ret; @@ -90,7 +90,7 @@ void Logger::addPeer(const QString &ip, const bool blocked, const QString &reaso emit newLogPeer(msg); } -QVector Logger::getMessages(const int lastKnownId) const +QList Logger::getMessages(const int lastKnownId) const { const QReadLocker locker(&m_lock); @@ -106,7 +106,7 @@ QVector Logger::getMessages(const int lastKnownId) const return loadFromBuffer(m_messages, (size - diff)); } -QVector Logger::getPeers(const int lastKnownId) const +QList Logger::getPeers(const int lastKnownId) const { const QReadLocker locker(&m_lock); diff --git a/src/base/logger.h b/src/base/logger.h index e41139f77..c948a204a 100644 --- a/src/base/logger.h +++ b/src/base/logger.h @@ -81,8 +81,8 @@ public: void addMessage(const QString &message, const Log::MsgType &type = Log::NORMAL); void addPeer(const QString &ip, bool blocked, const QString &reason = {}); - QVector getMessages(int lastKnownId = -1) const; - QVector getPeers(int lastKnownId = -1) const; + QList getMessages(int lastKnownId = -1) const; + QList getPeers(int lastKnownId = -1) const; signals: void newLogMessage(const Log::Msg &message); diff --git a/src/base/preferences.cpp b/src/base/preferences.cpp index d97390cbb..ec2fe2493 100644 --- a/src/base/preferences.cpp +++ b/src/base/preferences.cpp @@ -673,11 +673,11 @@ void Preferences::setWebUIAuthSubnetWhitelistEnabled(const bool enabled) setValue(u"Preferences/WebUI/AuthSubnetWhitelistEnabled"_s, enabled); } -QVector Preferences::getWebUIAuthSubnetWhitelist() const +QList Preferences::getWebUIAuthSubnetWhitelist() const { const auto subnets = value(u"Preferences/WebUI/AuthSubnetWhitelist"_s); - QVector ret; + QList ret; ret.reserve(subnets.size()); for (const QString &rawSubnet : subnets) diff --git a/src/base/preferences.h b/src/base/preferences.h index fcc70bb97..a0ee4d0af 100644 --- a/src/base/preferences.h +++ b/src/base/preferences.h @@ -185,7 +185,7 @@ public: void setWebUILocalAuthEnabled(bool enabled); bool isWebUIAuthSubnetWhitelistEnabled() const; void setWebUIAuthSubnetWhitelistEnabled(bool enabled); - QVector getWebUIAuthSubnetWhitelist() const; + QList getWebUIAuthSubnetWhitelist() const; void setWebUIAuthSubnetWhitelist(QStringList subnets); QString getWebUIUsername() const; void setWebUIUsername(const QString &username); diff --git a/src/base/rss/feed_serializer.cpp b/src/base/rss/feed_serializer.cpp index ce097c41c..8132017da 100644 --- a/src/base/rss/feed_serializer.cpp +++ b/src/base/rss/feed_serializer.cpp @@ -34,14 +34,14 @@ #include #include #include -#include +#include #include "base/logger.h" #include "base/path.h" #include "base/utils/io.h" #include "rss_article.h" -const int ARTICLEDATALIST_TYPEID = qRegisterMetaType>(); +const int ARTICLEDATALIST_TYPEID = qRegisterMetaType>(); void RSS::Private::FeedSerializer::load(const Path &dataFileName, const QString &url) { @@ -61,7 +61,7 @@ void RSS::Private::FeedSerializer::load(const Path &dataFileName, const QString emit loadingFinished(loadArticles(readResult.value(), url)); } -void RSS::Private::FeedSerializer::store(const Path &dataFileName, const QVector &articlesData) +void RSS::Private::FeedSerializer::store(const Path &dataFileName, const QList &articlesData) { QJsonArray arr; for (const QVariantHash &data : articlesData) @@ -81,7 +81,7 @@ void RSS::Private::FeedSerializer::store(const Path &dataFileName, const QVector } } -QVector RSS::Private::FeedSerializer::loadArticles(const QByteArray &data, const QString &url) +QList RSS::Private::FeedSerializer::loadArticles(const QByteArray &data, const QString &url) { QJsonParseError jsonError; const QJsonDocument jsonDoc = QJsonDocument::fromJson(data, &jsonError); @@ -98,7 +98,7 @@ QVector RSS::Private::FeedSerializer::loadArticles(const QByteArra return {}; } - QVector result; + QList result; const QJsonArray jsonArr = jsonDoc.array(); result.reserve(jsonArr.size()); for (int i = 0; i < jsonArr.size(); ++i) diff --git a/src/base/rss/feed_serializer.h b/src/base/rss/feed_serializer.h index db593b0cc..9bc33c4c8 100644 --- a/src/base/rss/feed_serializer.h +++ b/src/base/rss/feed_serializer.h @@ -49,12 +49,12 @@ namespace RSS::Private using QObject::QObject; void load(const Path &dataFileName, const QString &url); - void store(const Path &dataFileName, const QVector &articlesData); + void store(const Path &dataFileName, const QList &articlesData); signals: - void loadingFinished(const QVector &articles); + void loadingFinished(const QList &articles); private: - QVector loadArticles(const QByteArray &data, const QString &url); + QList loadArticles(const QByteArray &data, const QString &url); }; } diff --git a/src/base/rss/rss_autodownloader.cpp b/src/base/rss/rss_autodownloader.cpp index 798634d7a..c00735559 100644 --- a/src/base/rss/rss_autodownloader.cpp +++ b/src/base/rss/rss_autodownloader.cpp @@ -35,11 +35,11 @@ #include #include #include +#include #include #include #include #include -#include #include "base/addtorrentmanager.h" #include "base/asyncfilestorage.h" @@ -68,7 +68,7 @@ const QString RULES_FILE_NAME = u"download_rules.json"_s; namespace { - QVector rulesFromJSON(const QByteArray &jsonData) + QList rulesFromJSON(const QByteArray &jsonData) { QJsonParseError jsonError; const QJsonDocument jsonDoc = QJsonDocument::fromJson(jsonData, &jsonError); @@ -79,7 +79,7 @@ namespace throw RSS::ParsingError(RSS::AutoDownloader::tr("Invalid data format.")); const QJsonObject jsonObj {jsonDoc.object()}; - QVector rules; + QList rules; for (auto it = jsonObj.begin(); it != jsonObj.end(); ++it) { const QJsonValue jsonVal {it.value()}; diff --git a/src/base/rss/rss_feed.cpp b/src/base/rss/rss_feed.cpp index ac3515308..111658e01 100644 --- a/src/base/rss/rss_feed.cpp +++ b/src/base/rss/rss_feed.cpp @@ -39,8 +39,8 @@ #include #include #include +#include #include -#include #include "base/asyncfilestorage.h" #include "base/global.h" @@ -301,7 +301,7 @@ void Feed::store() m_dirty = false; m_savingTimer.stop(); - QVector articlesData; + QList articlesData; articlesData.reserve(m_articles.size()); for (Article *article :asConst(m_articles)) @@ -395,7 +395,7 @@ int Feed::updateArticles(const QList &loadedArticles) return 0; QDateTime dummyPubDate {QDateTime::currentDateTime()}; - QVector newArticles; + QList newArticles; newArticles.reserve(loadedArticles.size()); for (QVariantHash article : loadedArticles) { @@ -516,7 +516,7 @@ void Feed::handleArticleRead(Article *article) storeDeferred(); } -void Feed::handleArticleLoadFinished(QVector articles) +void Feed::handleArticleLoadFinished(QList articles) { Q_ASSERT(m_articles.isEmpty()); Q_ASSERT(m_unreadCount == 0); diff --git a/src/base/rss/rss_feed.h b/src/base/rss/rss_feed.h index 678ff39c1..b85231b34 100644 --- a/src/base/rss/rss_feed.h +++ b/src/base/rss/rss_feed.h @@ -102,7 +102,7 @@ namespace RSS void handleDownloadFinished(const Net::DownloadResult &result); void handleParsingFinished(const Private::ParsingResult &result); void handleArticleRead(Article *article); - void handleArticleLoadFinished(QVector articles); + void handleArticleLoadFinished(QList articles); private: void timerEvent(QTimerEvent *event) override; diff --git a/src/base/search/searchhandler.cpp b/src/base/search/searchhandler.cpp index b08a62fd4..fa43ef880 100644 --- a/src/base/search/searchhandler.cpp +++ b/src/base/search/searchhandler.cpp @@ -31,10 +31,10 @@ #include +#include #include #include #include -#include #include "base/global.h" #include "base/path.h" @@ -145,7 +145,7 @@ void SearchHandler::readSearchOutput() lines.prepend(m_searchResultLineTruncated + lines.takeFirst()); m_searchResultLineTruncated = lines.takeLast().trimmed(); - QVector searchResultList; + QList searchResultList; searchResultList.reserve(lines.size()); for (const QByteArray &line : asConst(lines)) diff --git a/src/base/search/searchhandler.h b/src/base/search/searchhandler.h index c765a9bfe..40cf58754 100644 --- a/src/base/search/searchhandler.h +++ b/src/base/search/searchhandler.h @@ -75,7 +75,7 @@ public: signals: void searchFinished(bool cancelled = false); void searchFailed(); - void newSearchResults(const QVector &results); + void newSearchResults(const QList &results); private: void readSearchOutput(); diff --git a/src/base/utils/net.cpp b/src/base/utils/net.cpp index da570090f..1f751e3ec 100644 --- a/src/base/utils/net.cpp +++ b/src/base/utils/net.cpp @@ -33,7 +33,6 @@ #include #include #include -#include #include "base/global.h" @@ -62,7 +61,7 @@ namespace Utils || (addr == QHostAddress(u"::ffff:127.0.0.1"_s)); } - bool isIPInSubnets(const QHostAddress &addr, const QVector &subnets) + bool isIPInSubnets(const QHostAddress &addr, const QList &subnets) { QHostAddress protocolEquivalentAddress; bool addrConversionOk = false; diff --git a/src/base/utils/net.h b/src/base/utils/net.h index 54b585317..414570002 100644 --- a/src/base/utils/net.h +++ b/src/base/utils/net.h @@ -46,7 +46,7 @@ namespace Utils::Net bool isValidIP(const QString &ip); std::optional parseSubnet(const QString &subnetStr); bool isLoopbackAddress(const QHostAddress &addr); - bool isIPInSubnets(const QHostAddress &addr, const QVector &subnets); + bool isIPInSubnets(const QHostAddress &addr, const QList &subnets); QString subnetToString(const Subnet &subnet); QHostAddress canonicalIPv6Addr(const QHostAddress &addr); diff --git a/src/base/utils/password.cpp b/src/base/utils/password.cpp index bec752530..b3be4dacd 100644 --- a/src/base/utils/password.cpp +++ b/src/base/utils/password.cpp @@ -34,8 +34,8 @@ #include #include +#include #include -#include #include "base/global.h" #include "bytearray.h" diff --git a/src/base/utils/string.cpp b/src/base/utils/string.cpp index 0c6491438..da42f79bb 100644 --- a/src/base/utils/string.cpp +++ b/src/base/utils/string.cpp @@ -31,10 +31,10 @@ #include +#include #include #include #include -#include // to send numbers instead of strings with suffixes QString Utils::String::fromDouble(const double n, const int precision) diff --git a/src/gui/addnewtorrentdialog.cpp b/src/gui/addnewtorrentdialog.cpp index 07eb4cc16..5b2cadd33 100644 --- a/src/gui/addnewtorrentdialog.cpp +++ b/src/gui/addnewtorrentdialog.cpp @@ -38,6 +38,7 @@ #include #include #include +#include #include #include #include @@ -46,7 +47,6 @@ #include #include #include -#include #include "base/bittorrent/addtorrentparams.h" #include "base/bittorrent/downloadpriority.h" @@ -143,7 +143,7 @@ class AddNewTorrentDialog::TorrentContentAdaptor final { public: TorrentContentAdaptor(const BitTorrent::TorrentInfo &torrentInfo, PathList &filePaths - , QVector &filePriorities, std::function onFilePrioritiesChanged) + , QList &filePriorities, std::function onFilePrioritiesChanged) : m_torrentInfo {torrentInfo} , m_filePaths {filePaths} , m_filePriorities {filePriorities} @@ -227,29 +227,29 @@ public: } } - QVector filePriorities() const override + QList filePriorities() const override { return m_filePriorities.isEmpty() - ? QVector(filesCount(), BitTorrent::DownloadPriority::Normal) + ? QList(filesCount(), BitTorrent::DownloadPriority::Normal) : m_filePriorities; } - QVector filesProgress() const override + QList filesProgress() const override { - return QVector(filesCount(), 0); + return QList(filesCount(), 0); } - QVector availableFileFractions() const override + QList availableFileFractions() const override { - return QVector(filesCount(), 0); + return QList(filesCount(), 0); } - void fetchAvailableFileFractions(std::function)> resultHandler) const override + void fetchAvailableFileFractions(std::function)> resultHandler) const override { resultHandler(availableFileFractions()); } - void prioritizeFiles(const QVector &priorities) override + void prioritizeFiles(const QList &priorities) override { Q_ASSERT(priorities.size() == filesCount()); m_filePriorities = priorities; @@ -274,7 +274,7 @@ public: private: const BitTorrent::TorrentInfo &m_torrentInfo; PathList &m_filePaths; - QVector &m_filePriorities; + QList &m_filePriorities; std::function m_onFilePrioritiesChanged; Path m_originalRootFolder; BitTorrent::TorrentContentLayout m_currentContentLayout; @@ -594,7 +594,7 @@ void AddNewTorrentDialog::updateDiskSpaceLabel() if (hasMetadata) { const auto torrentInfo = *torrentDescr.info(); - const QVector &priorities = m_contentAdaptor->filePriorities(); + const QList &priorities = m_contentAdaptor->filePriorities(); Q_ASSERT(priorities.size() == torrentInfo.filesCount()); for (int i = 0; i < priorities.size(); ++i) { @@ -916,7 +916,7 @@ void AddNewTorrentDialog::setupTreeview() if (BitTorrent::Session::instance()->isExcludedFileNamesEnabled()) { // Check file name blacklist for torrents that are manually added - QVector priorities = m_contentAdaptor->filePriorities(); + QList priorities = m_contentAdaptor->filePriorities(); BitTorrent::Session::instance()->applyFilenameFilter(m_contentAdaptor->filePaths(), priorities); m_contentAdaptor->prioritizeFiles(priorities); } diff --git a/src/gui/filtermode.h b/src/gui/filtermode.h new file mode 100644 index 000000000..621d5c69c --- /dev/null +++ b/src/gui/filtermode.h @@ -0,0 +1,36 @@ +/* + * Bittorrent Client using Qt and libtorrent. + * Copyright (C) 2024 Vladimir Golovnev + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + * In addition, as a special exception, the copyright holders give permission to + * link this program with the OpenSSL project's "OpenSSL" library (or with + * modified versions of it that use the same license as the "OpenSSL" library), + * and distribute the linked executables. You must obey the GNU General Public + * License in all respects for all of the code used other than "OpenSSL". If you + * modify file(s), you may extend this exception to your version of the file(s), + * but you are not obligated to do so. If you do not wish to do so, delete this + * exception statement from your version. + */ + +#pragma once + +enum class FilterMode +{ + PlainText = 0, + Wildcard = 1, + Regex = 2 +}; diff --git a/src/gui/mainwindow.cpp b/src/gui/mainwindow.cpp index 61c18452a..a4dee7d5a 100644 --- a/src/gui/mainwindow.cpp +++ b/src/gui/mainwindow.cpp @@ -254,7 +254,7 @@ MainWindow::MainWindow(IGUIApplication *app, const WindowState initialState, con #endif tr("Transfers")); // Filter types - const QVector filterTypes = {TransferListModel::Column::TR_NAME, TransferListModel::Column::TR_SAVE_PATH}; + const QList filterTypes = {TransferListModel::Column::TR_NAME, TransferListModel::Column::TR_SAVE_PATH}; for (const TransferListModel::Column type : filterTypes) { const QString typeName = m_transferListWidget->getSourceModel()->headerData(type, Qt::Horizontal, Qt::DisplayRole).value(); @@ -1172,7 +1172,7 @@ void MainWindow::closeEvent(QCloseEvent *e) } #endif // Q_OS_MACOS - const QVector allTorrents = BitTorrent::Session::instance()->torrents(); + const QList allTorrents = BitTorrent::Session::instance()->torrents(); const bool hasActiveTorrents = std::any_of(allTorrents.cbegin(), allTorrents.cend(), [](BitTorrent::Torrent *torrent) { return torrent->isActive(); @@ -1523,7 +1523,7 @@ void MainWindow::loadSessionStats() refreshWindowTitle(); } -void MainWindow::reloadTorrentStats(const QVector &torrents) +void MainWindow::reloadTorrentStats(const QList &torrents) { if (currentTabWidget() == m_transferListWidget) { @@ -1868,7 +1868,7 @@ void MainWindow::updatePowerManagementState() const const bool preventFromSuspendWhenDownloading = pref->preventFromSuspendWhenDownloading(); const bool preventFromSuspendWhenSeeding = pref->preventFromSuspendWhenSeeding(); - const QVector allTorrents = BitTorrent::Session::instance()->torrents(); + const QList allTorrents = BitTorrent::Session::instance()->torrents(); const bool inhibitSuspend = std::any_of(allTorrents.cbegin(), allTorrents.cend(), [&](const BitTorrent::Torrent *torrent) { if (preventFromSuspendWhenDownloading && (!torrent->isFinished() && !torrent->isStopped() && !torrent->isErrored() && torrent->hasMetadata())) diff --git a/src/gui/mainwindow.h b/src/gui/mainwindow.h index f749db1ed..c4df799cc 100644 --- a/src/gui/mainwindow.h +++ b/src/gui/mainwindow.h @@ -128,7 +128,7 @@ private slots: void displayExecutionLogTab(); void toggleFocusBetweenLineEdits(); void loadSessionStats(); - void reloadTorrentStats(const QVector &torrents); + void reloadTorrentStats(const QList &torrents); void loadPreferences(); void optionsSaved(); void toggleAlternativeSpeeds(); diff --git a/src/gui/optionsdialog.cpp b/src/gui/optionsdialog.cpp index dd76877b3..d3bad9f98 100644 --- a/src/gui/optionsdialog.cpp +++ b/src/gui/optionsdialog.cpp @@ -1179,7 +1179,7 @@ void OptionsDialog::saveBittorrentTabOptions() const session->setGlobalMaxRatio(getMaxRatio()); session->setGlobalMaxSeedingMinutes(getMaxSeedingMinutes()); session->setGlobalMaxInactiveSeedingMinutes(getMaxInactiveSeedingMinutes()); - const QVector actIndex = + const QList actIndex = { BitTorrent::ShareLimitAction::Stop, BitTorrent::ShareLimitAction::Remove, diff --git a/src/gui/previewselectdialog.cpp b/src/gui/previewselectdialog.cpp index f325e5adb..1d8dd2d3f 100644 --- a/src/gui/previewselectdialog.cpp +++ b/src/gui/previewselectdialog.cpp @@ -81,7 +81,7 @@ PreviewSelectDialog::PreviewSelectDialog(QWidget *parent, const BitTorrent::Torr m_ui->previewList->setItemDelegate(listDelegate); // Fill list in - const QVector fp = torrent->filesProgress(); + const QList fp = torrent->filesProgress(); for (int i = 0; i < torrent->filesCount(); ++i) { const Path filePath = torrent->filePath(i); diff --git a/src/gui/properties/downloadedpiecesbar.cpp b/src/gui/properties/downloadedpiecesbar.cpp index 486d761d4..fd76d6c63 100644 --- a/src/gui/properties/downloadedpiecesbar.cpp +++ b/src/gui/properties/downloadedpiecesbar.cpp @@ -32,7 +32,7 @@ #include #include -#include +#include #include "base/global.h" @@ -51,9 +51,9 @@ DownloadedPiecesBar::DownloadedPiecesBar(QWidget *parent) { } -QVector DownloadedPiecesBar::bitfieldToFloatVector(const QBitArray &vecin, int reqSize) +QList DownloadedPiecesBar::bitfieldToFloatVector(const QBitArray &vecin, int reqSize) { - QVector result(reqSize, 0.0); + QList result(reqSize, 0.0); if (vecin.isEmpty()) return result; const float ratio = vecin.size() / static_cast(reqSize); @@ -145,8 +145,8 @@ bool DownloadedPiecesBar::updateImage(QImage &image) return true; } - QVector scaledPieces = bitfieldToFloatVector(m_pieces, image2.width()); - QVector scaledPiecesDl = bitfieldToFloatVector(m_downloadedPieces, image2.width()); + QList scaledPieces = bitfieldToFloatVector(m_pieces, image2.width()); + QList scaledPiecesDl = bitfieldToFloatVector(m_downloadedPieces, image2.width()); // filling image for (int x = 0; x < scaledPieces.size(); ++x) diff --git a/src/gui/properties/downloadedpiecesbar.h b/src/gui/properties/downloadedpiecesbar.h index d98a114b2..c7357316f 100644 --- a/src/gui/properties/downloadedpiecesbar.h +++ b/src/gui/properties/downloadedpiecesbar.h @@ -51,7 +51,7 @@ public: private: // scale bitfield vector to float vector - QVector bitfieldToFloatVector(const QBitArray &vecin, int reqSize); + QList bitfieldToFloatVector(const QBitArray &vecin, int reqSize); bool updateImage(QImage &image) override; QString simpleToolTipText() const override; diff --git a/src/gui/properties/peerlistwidget.cpp b/src/gui/properties/peerlistwidget.cpp index 87acbc666..f7c4d0d5a 100644 --- a/src/gui/properties/peerlistwidget.cpp +++ b/src/gui/properties/peerlistwidget.cpp @@ -35,6 +35,7 @@ #include #include #include +#include #include #include #include @@ -42,7 +43,6 @@ #include #include #include -#include #include #include "base/bittorrent/peeraddress.h" @@ -290,7 +290,7 @@ void PeerListWidget::showPeerListMenu() QAction *addNewPeer = menu->addAction(UIThemeManager::instance()->getIcon(u"peers-add"_s), tr("Add peers...") , this, [this, torrent]() { - const QVector peersList = PeersAdditionDialog::askForPeers(this); + const QList peersList = PeersAdditionDialog::askForPeers(this); const int peerCount = std::count_if(peersList.cbegin(), peersList.cend(), [torrent](const BitTorrent::PeerAddress &peer) { return torrent->connectPeer(peer); @@ -335,7 +335,7 @@ void PeerListWidget::banSelectedPeers() // Store selected rows first as selected peers may disconnect const QModelIndexList selectedIndexes = selectionModel()->selectedRows(); - QVector selectedIPs; + QList selectedIPs; selectedIPs.reserve(selectedIndexes.size()); for (const QModelIndex &index : selectedIndexes) @@ -405,7 +405,7 @@ void PeerListWidget::loadPeers(const BitTorrent::Torrent *torrent) return; using TorrentPtr = QPointer; - torrent->fetchPeerInfo([this, torrent = TorrentPtr(torrent)](const QVector &peers) + torrent->fetchPeerInfo([this, torrent = TorrentPtr(torrent)](const QList &peers) { if (torrent != m_properties->getCurrentTorrent()) return; diff --git a/src/gui/properties/peersadditiondialog.cpp b/src/gui/properties/peersadditiondialog.cpp index 6ef62a7f1..a98227083 100644 --- a/src/gui/properties/peersadditiondialog.cpp +++ b/src/gui/properties/peersadditiondialog.cpp @@ -50,7 +50,7 @@ PeersAdditionDialog::~PeersAdditionDialog() delete m_ui; } -QVector PeersAdditionDialog::askForPeers(QWidget *parent) +QList PeersAdditionDialog::askForPeers(QWidget *parent) { PeersAdditionDialog dlg(parent); dlg.exec(); diff --git a/src/gui/properties/peersadditiondialog.h b/src/gui/properties/peersadditiondialog.h index a778ccb39..078b7f775 100644 --- a/src/gui/properties/peersadditiondialog.h +++ b/src/gui/properties/peersadditiondialog.h @@ -29,7 +29,7 @@ #pragma once #include -#include +#include #include "base/bittorrent/peerinfo.h" @@ -47,12 +47,12 @@ public: PeersAdditionDialog(QWidget *parent); ~PeersAdditionDialog(); - static QVector askForPeers(QWidget *parent); + static QList askForPeers(QWidget *parent); protected slots: void validateInput(); private: Ui::PeersAdditionDialog *m_ui = nullptr; - QVector m_peersList; + QList m_peersList; }; diff --git a/src/gui/properties/pieceavailabilitybar.cpp b/src/gui/properties/pieceavailabilitybar.cpp index 0f33d704b..9315f0c0b 100644 --- a/src/gui/properties/pieceavailabilitybar.cpp +++ b/src/gui/properties/pieceavailabilitybar.cpp @@ -40,9 +40,9 @@ PieceAvailabilityBar::PieceAvailabilityBar(QWidget *parent) { } -QVector PieceAvailabilityBar::intToFloatVector(const QVector &vecin, int reqSize) +QList PieceAvailabilityBar::intToFloatVector(const QList &vecin, int reqSize) { - QVector result(reqSize, 0.0); + QList result(reqSize, 0.0); if (vecin.isEmpty()) return result; const float ratio = static_cast(vecin.size()) / reqSize; @@ -142,7 +142,7 @@ bool PieceAvailabilityBar::updateImage(QImage &image) return true; } - QVector scaledPieces = intToFloatVector(m_pieces, image2.width()); + QList scaledPieces = intToFloatVector(m_pieces, image2.width()); // filling image for (int x = 0; x < scaledPieces.size(); ++x) @@ -154,7 +154,7 @@ bool PieceAvailabilityBar::updateImage(QImage &image) return true; } -void PieceAvailabilityBar::setAvailability(const QVector &avail) +void PieceAvailabilityBar::setAvailability(const QList &avail) { m_pieces = avail; diff --git a/src/gui/properties/pieceavailabilitybar.h b/src/gui/properties/pieceavailabilitybar.h index 05472d489..f96ad9e33 100644 --- a/src/gui/properties/pieceavailabilitybar.h +++ b/src/gui/properties/pieceavailabilitybar.h @@ -40,7 +40,7 @@ class PieceAvailabilityBar final : public PiecesBar public: PieceAvailabilityBar(QWidget *parent); - void setAvailability(const QVector &avail); + void setAvailability(const QList &avail); // PiecesBar interface void clear() override; @@ -51,8 +51,8 @@ private: // last used int vector, uses to better resize redraw // TODO: make a diff pieces to new pieces and update only changed pixels, speedup when update > 20x faster - QVector m_pieces; + QList m_pieces; // scale int vector to float vector - QVector intToFloatVector(const QVector &vecin, int reqSize); + QList intToFloatVector(const QList &vecin, int reqSize); }; diff --git a/src/gui/properties/piecesbar.cpp b/src/gui/properties/piecesbar.cpp index 0d42ec2ab..7e948019d 100644 --- a/src/gui/properties/piecesbar.cpp +++ b/src/gui/properties/piecesbar.cpp @@ -222,7 +222,7 @@ QColor PiecesBar::colorBoxBorderColor() const return palette().color(QPalette::ToolTipText); } -const QVector &PiecesBar::pieceColors() const +const QList &PiecesBar::pieceColors() const { return m_pieceColors; } @@ -261,7 +261,7 @@ void PiecesBar::showToolTip(const QHelpEvent *e) { const PieceIndexToImagePos transform {torrentInfo, m_image}; const int pieceIndex = transform.pieceIndex(imagePos); - const QVector fileIndexes = torrentInfo.fileIndicesForPiece(pieceIndex); + const QList fileIndexes = torrentInfo.fileIndicesForPiece(pieceIndex); QString tooltipTitle; if (fileIndexes.count() > 1) @@ -305,7 +305,7 @@ void PiecesBar::highlightFile(int imagePos) PieceIndexToImagePos transform {torrentInfo, m_image}; int pieceIndex = transform.pieceIndex(imagePos); - QVector fileIndices {torrentInfo.fileIndicesForPiece(pieceIndex)}; + QList fileIndices {torrentInfo.fileIndicesForPiece(pieceIndex)}; if (fileIndices.count() == 1) { BitTorrent::TorrentInfo::PieceRange filePieces = torrentInfo.filePieces(fileIndices.first()); @@ -327,7 +327,7 @@ void PiecesBar::highlightFile(int imagePos) void PiecesBar::updatePieceColors() { - m_pieceColors = QVector(256); + m_pieceColors = QList(256); for (int i = 0; i < 256; ++i) { float ratio = (i / 255.0); diff --git a/src/gui/properties/piecesbar.h b/src/gui/properties/piecesbar.h index 2f6e20615..42a614091 100644 --- a/src/gui/properties/piecesbar.h +++ b/src/gui/properties/piecesbar.h @@ -70,7 +70,7 @@ protected: QColor borderColor() const; QColor pieceColor() const; QColor colorBoxBorderColor() const; - const QVector &pieceColors() const; + const QList &pieceColors() const; // mix two colors by light model, ratio <0, 1> static QRgb mixTwoColors(QRgb rgb1, QRgb rgb2, float ratio); @@ -91,7 +91,7 @@ private: const BitTorrent::Torrent *m_torrent = nullptr; QImage m_image; // buffered 256 levels gradient from bg_color to piece_color - QVector m_pieceColors; + QList m_pieceColors; bool m_hovered = false; QRect m_highlightedRegion; // part of the bar can be highlighted; this rectangle is in the same frame as m_image }; diff --git a/src/gui/properties/propertieswidget.cpp b/src/gui/properties/propertieswidget.cpp index b35623b96..cf49e097d 100644 --- a/src/gui/properties/propertieswidget.cpp +++ b/src/gui/properties/propertieswidget.cpp @@ -471,7 +471,7 @@ void PropertiesWidget::loadDynamicData() { // Pieces availability showPiecesAvailability(true); - m_torrent->fetchPieceAvailability([this, torrent = TorrentPtr(m_torrent)](const QVector &pieceAvailability) + m_torrent->fetchPieceAvailability([this, torrent = TorrentPtr(m_torrent)](const QList &pieceAvailability) { if (torrent == m_torrent) m_piecesAvailability->setAvailability(pieceAvailability); @@ -517,7 +517,7 @@ void PropertiesWidget::loadUrlSeeds() return; using TorrentPtr = QPointer; - m_torrent->fetchURLSeeds([this, torrent = TorrentPtr(m_torrent)](const QVector &urlSeeds) + m_torrent->fetchURLSeeds([this, torrent = TorrentPtr(m_torrent)](const QList &urlSeeds) { if (torrent != m_torrent) return; @@ -620,7 +620,7 @@ void PropertiesWidget::deleteSelectedUrlSeeds() const QList selectedItems = m_ui->listWebSeeds->selectedItems(); if (selectedItems.isEmpty()) return; - QVector urlSeeds; + QList urlSeeds; urlSeeds.reserve(selectedItems.size()); for (const QListWidgetItem *item : selectedItems) diff --git a/src/gui/properties/speedplotview.cpp b/src/gui/properties/speedplotview.cpp index 5dcb3d092..6fb78c95d 100644 --- a/src/gui/properties/speedplotview.cpp +++ b/src/gui/properties/speedplotview.cpp @@ -292,7 +292,7 @@ void SpeedPlotView::paintEvent(QPaintEvent *) rect.adjust(0, fontMetrics.height(), 0, 0); // Add top padding for top speed text // draw Y axis speed labels - const QVector speedLabels = + const QList speedLabels = { formatLabel(niceScale.arg, niceScale.unit), formatLabel((0.75 * niceScale.arg), niceScale.unit), @@ -358,7 +358,7 @@ void SpeedPlotView::paintEvent(QPaintEvent *) if (!m_properties[static_cast(id)].enable) continue; - QVector points; + QList points; milliseconds duration {0}; for (int i = static_cast(queue.size()) - 1; i >= 0; --i) diff --git a/src/gui/search/pluginselectdialog.cpp b/src/gui/search/pluginselectdialog.cpp index 90ed7fced..d97e91a8b 100644 --- a/src/gui/search/pluginselectdialog.cpp +++ b/src/gui/search/pluginselectdialog.cpp @@ -249,9 +249,9 @@ void PluginSelectDialog::setRowColor(const int row, const QString &color) } } -QVector PluginSelectDialog::findItemsWithUrl(const QString &url) +QList PluginSelectDialog::findItemsWithUrl(const QString &url) { - QVector res; + QList res; res.reserve(m_ui->pluginsTree->topLevelItemCount()); for (int i = 0; i < m_ui->pluginsTree->topLevelItemCount(); ++i) diff --git a/src/gui/search/pluginselectdialog.h b/src/gui/search/pluginselectdialog.h index 29df65a33..101a81f00 100644 --- a/src/gui/search/pluginselectdialog.h +++ b/src/gui/search/pluginselectdialog.h @@ -57,7 +57,7 @@ public: explicit PluginSelectDialog(SearchPluginManager *pluginManager, QWidget *parent = nullptr); ~PluginSelectDialog() override; - QVector findItemsWithUrl(const QString &url); + QList findItemsWithUrl(const QString &url); QTreeWidgetItem *findItemWithID(const QString &id); protected: diff --git a/src/gui/search/searchjobwidget.cpp b/src/gui/search/searchjobwidget.cpp index e8aa99ead..ae280adb4 100644 --- a/src/gui/search/searchjobwidget.cpp +++ b/src/gui/search/searchjobwidget.cpp @@ -508,7 +508,7 @@ void SearchJobWidget::searchFailed() setStatus(Status::Error); } -void SearchJobWidget::appendSearchResults(const QVector &results) +void SearchJobWidget::appendSearchResults(const QList &results) { for (const SearchResult &result : results) { diff --git a/src/gui/search/searchjobwidget.h b/src/gui/search/searchjobwidget.h index f597c03af..05e415c89 100644 --- a/src/gui/search/searchjobwidget.h +++ b/src/gui/search/searchjobwidget.h @@ -105,7 +105,7 @@ private: void onItemDoubleClicked(const QModelIndex &index); void searchFinished(bool cancelled); void searchFailed(); - void appendSearchResults(const QVector &results); + void appendSearchResults(const QList &results); void updateResultsCount(); void setStatus(Status value); void downloadTorrent(const QModelIndex &rowIndex, AddTorrentOption option = AddTorrentOption::Default); diff --git a/src/gui/search/searchwidget.cpp b/src/gui/search/searchwidget.cpp index 1128a561e..e3bf34e0c 100644 --- a/src/gui/search/searchwidget.cpp +++ b/src/gui/search/searchwidget.cpp @@ -40,13 +40,13 @@ #include #include +#include #include #include #include #include #include #include -#include #include "base/global.h" #include "base/search/searchhandler.h" @@ -184,7 +184,7 @@ void SearchWidget::fillCatCombobox() m_ui->comboCategory->addItem(SearchPluginManager::categoryFullName(u"all"_s), u"all"_s); using QStrPair = std::pair; - QVector tmpList; + QList tmpList; for (const QString &cat : asConst(SearchPluginManager::instance()->getPluginCategories(selectedPlugin()))) tmpList << std::make_pair(SearchPluginManager::categoryFullName(cat), cat); std::sort(tmpList.begin(), tmpList.end(), [](const QStrPair &l, const QStrPair &r) { return (QString::localeAwareCompare(l.first, r.first) < 0); }); @@ -207,7 +207,7 @@ void SearchWidget::fillPluginComboBox() m_ui->selectPlugin->addItem(tr("Select..."), u"multi"_s); using QStrPair = std::pair; - QVector tmpList; + QList tmpList; for (const QString &name : asConst(SearchPluginManager::instance()->enabledPlugins())) tmpList << std::make_pair(SearchPluginManager::instance()->pluginFullName(name), name); std::sort(tmpList.begin(), tmpList.end(), [](const QStrPair &l, const QStrPair &r) { return (l.first < r.first); } ); diff --git a/src/gui/torrentcontentmodel.cpp b/src/gui/torrentcontentmodel.cpp index 694e75958..c911bfa9f 100644 --- a/src/gui/torrentcontentmodel.cpp +++ b/src/gui/torrentcontentmodel.cpp @@ -163,7 +163,7 @@ namespace TorrentContentModel::TorrentContentModel(QObject *parent) : QAbstractItemModel(parent) - , m_rootItem(new TorrentContentModelFolder(QVector({ tr("Name"), tr("Total Size"), tr("Progress"), tr("Download Priority"), tr("Remaining"), tr("Availability") }))) + , m_rootItem(new TorrentContentModelFolder(QList({ tr("Name"), tr("Total Size"), tr("Progress"), tr("Download Priority"), tr("Remaining"), tr("Availability") }))) #if defined(Q_OS_WIN) , m_fileIconProvider {new QFileIconProvider} #elif defined(Q_OS_MACOS) @@ -185,7 +185,7 @@ void TorrentContentModel::updateFilesProgress() { Q_ASSERT(m_contentHandler && m_contentHandler->hasMetadata()); - const QVector &filesProgress = m_contentHandler->filesProgress(); + const QList &filesProgress = m_contentHandler->filesProgress(); Q_ASSERT(m_filesIndex.size() == filesProgress.size()); // XXX: Why is this necessary? if (m_filesIndex.size() != filesProgress.size()) [[unlikely]] @@ -202,7 +202,7 @@ void TorrentContentModel::updateFilesPriorities() { Q_ASSERT(m_contentHandler && m_contentHandler->hasMetadata()); - const QVector fprio = m_contentHandler->filePriorities(); + const QList fprio = m_contentHandler->filePriorities(); Q_ASSERT(m_filesIndex.size() == fprio.size()); // XXX: Why is this necessary? if (m_filesIndex.size() != fprio.size()) @@ -217,7 +217,7 @@ void TorrentContentModel::updateFilesAvailability() Q_ASSERT(m_contentHandler && m_contentHandler->hasMetadata()); using HandlerPtr = QPointer; - m_contentHandler->fetchAvailableFileFractions([this, handler = HandlerPtr(m_contentHandler)](const QVector &availableFileFractions) + m_contentHandler->fetchAvailableFileFractions([this, handler = HandlerPtr(m_contentHandler)](const QList &availableFileFractions) { if (handler != m_contentHandler) return; @@ -250,7 +250,7 @@ bool TorrentContentModel::setItemPriority(const QModelIndex &index, BitTorrent:: m_rootItem->recalculateProgress(); m_rootItem->recalculateAvailability(); - const QVector columns = + const QList columns = { {TorrentContentModelItem::COL_NAME, TorrentContentModelItem::COL_NAME}, {TorrentContentModelItem::COL_PRIO, TorrentContentModelItem::COL_PRIO} @@ -260,9 +260,9 @@ bool TorrentContentModel::setItemPriority(const QModelIndex &index, BitTorrent:: return true; } -QVector TorrentContentModel::getFilePriorities() const +QList TorrentContentModel::getFilePriorities() const { - QVector prio; + QList prio; prio.reserve(m_filesIndex.size()); for (const TorrentContentModelFile *file : asConst(m_filesIndex)) prio.push_back(file->priority()); @@ -523,7 +523,7 @@ void TorrentContentModel::populate() m_filesIndex.reserve(filesCount); QHash> folderMap; - QVector lastParentPath; + QList lastParentPath; TorrentContentModelFolder *lastParent = m_rootItem; // Iterate over files for (int i = 0; i < filesCount; ++i) @@ -602,7 +602,7 @@ void TorrentContentModel::refresh() updateFilesPriorities(); updateFilesAvailability(); - const QVector columns = + const QList columns = { {TorrentContentModelItem::COL_NAME, TorrentContentModelItem::COL_NAME}, {TorrentContentModelItem::COL_PROGRESS, TorrentContentModelItem::COL_PROGRESS}, @@ -619,7 +619,7 @@ void TorrentContentModel::refresh() } } -void TorrentContentModel::notifySubtreeUpdated(const QModelIndex &index, const QVector &columns) +void TorrentContentModel::notifySubtreeUpdated(const QModelIndex &index, const QList &columns) { // For best performance, `columns` entries should be arranged from left to right @@ -639,7 +639,7 @@ void TorrentContentModel::notifySubtreeUpdated(const QModelIndex &index, const Q } // propagate down the model - QVector parentIndexes; + QList parentIndexes; if (hasChildren(index)) parentIndexes.push_back(index); diff --git a/src/gui/torrentcontentmodel.h b/src/gui/torrentcontentmodel.h index d18577453..cffb02081 100644 --- a/src/gui/torrentcontentmodel.h +++ b/src/gui/torrentcontentmodel.h @@ -30,7 +30,7 @@ #pragma once #include -#include +#include #include "base/indexrange.h" #include "base/pathfwd.h" @@ -66,7 +66,7 @@ public: void refresh(); - QVector getFilePriorities() const; + QList getFilePriorities() const; TorrentContentModelItem::ItemType itemType(const QModelIndex &index) const; int getFileIndex(const QModelIndex &index) const; Path getItemPath(const QModelIndex &index) const; @@ -91,10 +91,10 @@ private: void updateFilesPriorities(); void updateFilesAvailability(); bool setItemPriority(const QModelIndex &index, BitTorrent::DownloadPriority priority); - void notifySubtreeUpdated(const QModelIndex &index, const QVector &columns); + void notifySubtreeUpdated(const QModelIndex &index, const QList &columns); BitTorrent::TorrentContentHandler *m_contentHandler = nullptr; TorrentContentModelFolder *m_rootItem = nullptr; - QVector m_filesIndex; + QList m_filesIndex; QFileIconProvider *m_fileIconProvider = nullptr; }; diff --git a/src/gui/torrentcontentmodelfolder.cpp b/src/gui/torrentcontentmodelfolder.cpp index b8a536216..57d3b43cf 100644 --- a/src/gui/torrentcontentmodelfolder.cpp +++ b/src/gui/torrentcontentmodelfolder.cpp @@ -39,7 +39,7 @@ TorrentContentModelFolder::TorrentContentModelFolder(const QString &name, Torren m_name = name; } -TorrentContentModelFolder::TorrentContentModelFolder(const QVector &data) +TorrentContentModelFolder::TorrentContentModelFolder(const QList &data) : TorrentContentModelItem(nullptr) { Q_ASSERT(data.size() == NB_COL); @@ -63,7 +63,7 @@ void TorrentContentModelFolder::deleteAllChildren() m_childItems.clear(); } -const QVector &TorrentContentModelFolder::children() const +const QList &TorrentContentModelFolder::children() const { return m_childItems; } diff --git a/src/gui/torrentcontentmodelfolder.h b/src/gui/torrentcontentmodelfolder.h index c82c1008e..7e3fdfc2b 100644 --- a/src/gui/torrentcontentmodelfolder.h +++ b/src/gui/torrentcontentmodelfolder.h @@ -42,7 +42,7 @@ public: TorrentContentModelFolder(const QString &name, TorrentContentModelFolder *parent); // Invisible root item constructor - explicit TorrentContentModelFolder(const QVector &data); + explicit TorrentContentModelFolder(const QList &data); ~TorrentContentModelFolder() override; @@ -56,11 +56,11 @@ public: void setPriority(BitTorrent::DownloadPriority newPriority, bool updateParent = true) override; void deleteAllChildren(); - const QVector &children() const; + const QList &children() const; void appendChild(TorrentContentModelItem *item); TorrentContentModelItem *child(int row) const; int childCount() const; private: - QVector m_childItems; + QList m_childItems; }; diff --git a/src/gui/torrentcontentmodelitem.h b/src/gui/torrentcontentmodelitem.h index 27a33a4ad..e644f047e 100644 --- a/src/gui/torrentcontentmodelitem.h +++ b/src/gui/torrentcontentmodelitem.h @@ -29,7 +29,7 @@ #pragma once #include -#include +#include #include "base/bittorrent/downloadpriority.h" @@ -86,7 +86,7 @@ public: protected: TorrentContentModelFolder *m_parentItem = nullptr; // Root item members - QVector m_itemData; + QList m_itemData; // Non-root item members QString m_name; qulonglong m_size = 0; diff --git a/src/gui/torrentoptionsdialog.cpp b/src/gui/torrentoptionsdialog.cpp index b15483e13..85b72ea7c 100644 --- a/src/gui/torrentoptionsdialog.cpp +++ b/src/gui/torrentoptionsdialog.cpp @@ -58,7 +58,7 @@ namespace } } -TorrentOptionsDialog::TorrentOptionsDialog(QWidget *parent, const QVector &torrents) +TorrentOptionsDialog::TorrentOptionsDialog(QWidget *parent, const QList &torrents) : QDialog {parent} , m_ui {new Ui::TorrentOptionsDialog} , m_storeDialogSize {SETTINGS_KEY(u"Size"_s)} diff --git a/src/gui/torrentoptionsdialog.h b/src/gui/torrentoptionsdialog.h index b601cb422..25accf3db 100644 --- a/src/gui/torrentoptionsdialog.h +++ b/src/gui/torrentoptionsdialog.h @@ -58,7 +58,7 @@ class TorrentOptionsDialog final : public QDialog Q_DISABLE_COPY_MOVE(TorrentOptionsDialog) public: - explicit TorrentOptionsDialog(QWidget *parent, const QVector &torrents); + explicit TorrentOptionsDialog(QWidget *parent, const QList &torrents); ~TorrentOptionsDialog() override; public slots: @@ -73,7 +73,7 @@ private slots: void handleDownSpeedLimitChanged(); private: - QVector m_torrentIDs; + QList m_torrentIDs; Ui::TorrentOptionsDialog *m_ui = nullptr; SettingValue m_storeDialogSize; QStringList m_categories; diff --git a/src/gui/trackerentriesdialog.cpp b/src/gui/trackerentriesdialog.cpp index 8dd2b88d7..db963fd26 100644 --- a/src/gui/trackerentriesdialog.cpp +++ b/src/gui/trackerentriesdialog.cpp @@ -31,7 +31,7 @@ #include #include -#include +#include #include "base/bittorrent/trackerentry.h" #include "ui_trackerentriesdialog.h" @@ -59,7 +59,7 @@ TrackerEntriesDialog::~TrackerEntriesDialog() delete m_ui; } -void TrackerEntriesDialog::setTrackers(const QVector &trackers) +void TrackerEntriesDialog::setTrackers(const QList &trackers) { int maxTier = -1; QHash tiers; // @@ -78,7 +78,7 @@ void TrackerEntriesDialog::setTrackers(const QVector & m_ui->plainTextEdit->setPlainText(text); } -QVector TrackerEntriesDialog::trackers() const +QList TrackerEntriesDialog::trackers() const { return BitTorrent::parseTrackerEntries(m_ui->plainTextEdit->toPlainText()); } diff --git a/src/gui/trackerentriesdialog.h b/src/gui/trackerentriesdialog.h index b4882fe7b..f1516c3f9 100644 --- a/src/gui/trackerentriesdialog.h +++ b/src/gui/trackerentriesdialog.h @@ -52,8 +52,8 @@ public: explicit TrackerEntriesDialog(QWidget *parent); ~TrackerEntriesDialog() override; - void setTrackers(const QVector &trackers); - QVector trackers() const; + void setTrackers(const QList &trackers); + QList trackers() const; private: void saveSettings(); diff --git a/src/gui/trackerlist/trackerlistwidget.cpp b/src/gui/trackerlist/trackerlistwidget.cpp index be34e261a..51ef35c9c 100644 --- a/src/gui/trackerlist/trackerlistwidget.cpp +++ b/src/gui/trackerlist/trackerlistwidget.cpp @@ -35,6 +35,7 @@ #include #include #include +#include #include #include #include @@ -42,7 +43,6 @@ #include #include #include -#include #include #include "base/bittorrent/session.h" diff --git a/src/gui/trackersadditiondialog.cpp b/src/gui/trackersadditiondialog.cpp index fbfbdea64..0014d5a55 100644 --- a/src/gui/trackersadditiondialog.cpp +++ b/src/gui/trackersadditiondialog.cpp @@ -29,10 +29,10 @@ #include "trackersadditiondialog.h" +#include #include #include #include -#include #include "base/bittorrent/torrent.h" #include "base/bittorrent/trackerentry.h" @@ -76,10 +76,10 @@ TrackersAdditionDialog::~TrackersAdditionDialog() void TrackersAdditionDialog::onAccepted() const { - const QVector currentTrackers = m_torrent->trackers(); + const QList currentTrackers = m_torrent->trackers(); const int baseTier = !currentTrackers.isEmpty() ? (currentTrackers.last().tier + 1) : 0; - QVector entries = BitTorrent::parseTrackerEntries(m_ui->textEditTrackersList->toPlainText()); + QList entries = BitTorrent::parseTrackerEntries(m_ui->textEditTrackersList->toPlainText()); for (BitTorrent::TrackerEntry &entry : entries) entry.tier = Utils::Number::clampingAdd(entry.tier, baseTier); diff --git a/src/gui/transferlistfilters/basefilterwidget.h b/src/gui/transferlistfilters/basefilterwidget.h index 9f0afecdb..912986098 100644 --- a/src/gui/transferlistfilters/basefilterwidget.h +++ b/src/gui/transferlistfilters/basefilterwidget.h @@ -55,7 +55,7 @@ public slots: private slots: virtual void showMenu() = 0; virtual void applyFilter(int row) = 0; - virtual void handleTorrentsLoaded(const QVector &torrents) = 0; + virtual void handleTorrentsLoaded(const QList &torrents) = 0; virtual void torrentAboutToBeDeleted(BitTorrent::Torrent *) = 0; private: diff --git a/src/gui/transferlistfilters/categoryfiltermodel.cpp b/src/gui/transferlistfilters/categoryfiltermodel.cpp index f9bf6ad11..ecee89975 100644 --- a/src/gui/transferlistfilters/categoryfiltermodel.cpp +++ b/src/gui/transferlistfilters/categoryfiltermodel.cpp @@ -350,7 +350,7 @@ void CategoryFilterModel::categoryRemoved(const QString &categoryName) } } -void CategoryFilterModel::torrentsLoaded(const QVector &torrents) +void CategoryFilterModel::torrentsLoaded(const QList &torrents) { for (const BitTorrent::Torrent *torrent : torrents) { diff --git a/src/gui/transferlistfilters/categoryfiltermodel.h b/src/gui/transferlistfilters/categoryfiltermodel.h index 8aa3425cf..fce28243d 100644 --- a/src/gui/transferlistfilters/categoryfiltermodel.h +++ b/src/gui/transferlistfilters/categoryfiltermodel.h @@ -62,7 +62,7 @@ public: private slots: void categoryAdded(const QString &categoryName); void categoryRemoved(const QString &categoryName); - void torrentsLoaded(const QVector &torrents); + void torrentsLoaded(const QList &torrents); void torrentAboutToBeRemoved(BitTorrent::Torrent *torrent); void torrentCategoryChanged(BitTorrent::Torrent *torrent, const QString &oldCategory); void subcategoriesSupportChanged(); diff --git a/src/gui/transferlistfilters/statusfilterwidget.cpp b/src/gui/transferlistfilters/statusfilterwidget.cpp index 802b5535b..2032df176 100644 --- a/src/gui/transferlistfilters/statusfilterwidget.cpp +++ b/src/gui/transferlistfilters/statusfilterwidget.cpp @@ -86,7 +86,7 @@ StatusFilterWidget::StatusFilterWidget(QWidget *parent, TransferListWidget *tran errored->setData(Qt::DisplayRole, tr("Errored (0)")); errored->setData(Qt::DecorationRole, UIThemeManager::instance()->getIcon(u"error"_s)); - const QVector torrents = BitTorrent::Session::instance()->torrents(); + const QList torrents = BitTorrent::Session::instance()->torrents(); update(torrents); connect(BitTorrent::Session::instance(), &BitTorrent::Session::torrentsUpdated , this, &StatusFilterWidget::update); @@ -199,7 +199,7 @@ void StatusFilterWidget::hideZeroItems() setCurrentRow(TorrentFilter::All, QItemSelectionModel::SelectCurrent); } -void StatusFilterWidget::update(const QVector &torrents) +void StatusFilterWidget::update(const QList &torrents) { for (const BitTorrent::Torrent *torrent : torrents) updateTorrentStatus(torrent); @@ -233,7 +233,7 @@ void StatusFilterWidget::applyFilter(int row) transferList()->applyStatusFilter(row); } -void StatusFilterWidget::handleTorrentsLoaded(const QVector &torrents) +void StatusFilterWidget::handleTorrentsLoaded(const QList &torrents) { for (const BitTorrent::Torrent *torrent : torrents) updateTorrentStatus(torrent); diff --git a/src/gui/transferlistfilters/statusfilterwidget.h b/src/gui/transferlistfilters/statusfilterwidget.h index 2c9a4bfda..3e78e3337 100644 --- a/src/gui/transferlistfilters/statusfilterwidget.h +++ b/src/gui/transferlistfilters/statusfilterwidget.h @@ -53,12 +53,12 @@ private: // No need to redeclare them here as slots. void showMenu() override; void applyFilter(int row) override; - void handleTorrentsLoaded(const QVector &torrents) override; + void handleTorrentsLoaded(const QList &torrents) override; void torrentAboutToBeDeleted(BitTorrent::Torrent *) override; void configure(); - void update(const QVector &torrents); + void update(const QList &torrents); void updateTorrentStatus(const BitTorrent::Torrent *torrent); void updateTexts(); void hideZeroItems(); diff --git a/src/gui/transferlistfilters/tagfiltermodel.cpp b/src/gui/transferlistfilters/tagfiltermodel.cpp index f9099da46..da76e7be6 100644 --- a/src/gui/transferlistfilters/tagfiltermodel.cpp +++ b/src/gui/transferlistfilters/tagfiltermodel.cpp @@ -30,7 +30,7 @@ #include "tagfiltermodel.h" #include -#include +#include #include "base/bittorrent/session.h" #include "base/global.h" @@ -236,13 +236,13 @@ void TagFilterModel::torrentTagRemoved(BitTorrent::Torrent *const torrent, const emit dataChanged(i, i); } -void TagFilterModel::torrentsLoaded(const QVector &torrents) +void TagFilterModel::torrentsLoaded(const QList &torrents) { for (const BitTorrent::Torrent *torrent : torrents) { allTagsItem()->increaseTorrentsCount(); - const QVector items = findItems(torrent->tags()); + const QList items = findItems(torrent->tags()); if (items.isEmpty()) untaggedItem()->increaseTorrentsCount(); @@ -339,9 +339,9 @@ TagModelItem *TagFilterModel::findItem(const Tag &tag) return &m_tagItems[row]; } -QVector TagFilterModel::findItems(const TagSet &tags) +QList TagFilterModel::findItems(const TagSet &tags) { - QVector items; + QList items; items.reserve(tags.count()); for (const Tag &tag : tags) { diff --git a/src/gui/transferlistfilters/tagfiltermodel.h b/src/gui/transferlistfilters/tagfiltermodel.h index 9718307a2..c58920287 100644 --- a/src/gui/transferlistfilters/tagfiltermodel.h +++ b/src/gui/transferlistfilters/tagfiltermodel.h @@ -64,7 +64,7 @@ private slots: void tagRemoved(const Tag &tag); void torrentTagAdded(BitTorrent::Torrent *torrent, const Tag &tag); void torrentTagRemoved(BitTorrent::Torrent *, const Tag &tag); - void torrentsLoaded(const QVector &torrents); + void torrentsLoaded(const QList &torrents); void torrentAboutToBeRemoved(BitTorrent::Torrent *torrent); private: @@ -74,7 +74,7 @@ private: bool isValidRow(int row) const; int findRow(const Tag &tag) const; TagModelItem *findItem(const Tag &tag); - QVector findItems(const TagSet &tags); + QList findItems(const TagSet &tags); TagModelItem *allTagsItem(); TagModelItem *untaggedItem(); diff --git a/src/gui/transferlistfilters/trackersfilterwidget.cpp b/src/gui/transferlistfilters/trackersfilterwidget.cpp index a166c7da7..f28711bfd 100644 --- a/src/gui/transferlistfilters/trackersfilterwidget.cpp +++ b/src/gui/transferlistfilters/trackersfilterwidget.cpp @@ -155,7 +155,7 @@ TrackersFilterWidget::~TrackersFilterWidget() Utils::Fs::removeFile(iconPath); } -void TrackersFilterWidget::addTrackers(const BitTorrent::Torrent *torrent, const QVector &trackers) +void TrackersFilterWidget::addTrackers(const BitTorrent::Torrent *torrent, const QList &trackers) { const BitTorrent::TorrentID torrentID = torrent->id(); @@ -204,7 +204,7 @@ void TrackersFilterWidget::refreshTrackers(const BitTorrent::Torrent *torrent) return false; }); - const QVector trackers = torrent->trackers(); + const QList trackers = torrent->trackers(); if (trackers.isEmpty()) { addItems(NULL_HOST, {torrentID}); @@ -228,7 +228,7 @@ void TrackersFilterWidget::refreshTrackers(const BitTorrent::Torrent *torrent) updateGeometry(); } -void TrackersFilterWidget::addItems(const QString &trackerURL, const QVector &torrents) +void TrackersFilterWidget::addItems(const QString &trackerURL, const QList &torrents) { const QString host = getHost(trackerURL); auto trackersIt = m_trackers.find(host); @@ -587,13 +587,13 @@ void TrackersFilterWidget::applyFilter(const int row) transferList()->applyTrackerFilter(getTorrentIDs(row)); } -void TrackersFilterWidget::handleTorrentsLoaded(const QVector &torrents) +void TrackersFilterWidget::handleTorrentsLoaded(const QList &torrents) { - QHash> torrentsPerTracker; + QHash> torrentsPerTracker; for (const BitTorrent::Torrent *torrent : torrents) { const BitTorrent::TorrentID torrentID = torrent->id(); - const QVector trackers = torrent->trackers(); + const QList trackers = torrent->trackers(); for (const BitTorrent::TrackerEntryStatus &tracker : trackers) torrentsPerTracker[tracker.url].append(torrentID); @@ -614,7 +614,7 @@ void TrackersFilterWidget::handleTorrentsLoaded(const QVectorid(); - const QVector trackers = torrent->trackers(); + const QList trackers = torrent->trackers(); for (const BitTorrent::TrackerEntryStatus &tracker : trackers) removeItem(tracker.url, torrentID); diff --git a/src/gui/transferlistfilters/trackersfilterwidget.h b/src/gui/transferlistfilters/trackersfilterwidget.h index a61aada59..0b7e82731 100644 --- a/src/gui/transferlistfilters/trackersfilterwidget.h +++ b/src/gui/transferlistfilters/trackersfilterwidget.h @@ -57,7 +57,7 @@ public: TrackersFilterWidget(QWidget *parent, TransferListWidget *transferList, bool downloadFavicon); ~TrackersFilterWidget() override; - void addTrackers(const BitTorrent::Torrent *torrent, const QVector &trackers); + void addTrackers(const BitTorrent::Torrent *torrent, const QList &trackers); void removeTrackers(const BitTorrent::Torrent *torrent, const QStringList &trackers); void refreshTrackers(const BitTorrent::Torrent *torrent); void handleTrackerStatusesUpdated(const BitTorrent::Torrent *torrent @@ -72,12 +72,12 @@ private: // No need to redeclare them here as slots. void showMenu() override; void applyFilter(int row) override; - void handleTorrentsLoaded(const QVector &torrents) override; + void handleTorrentsLoaded(const QList &torrents) override; void torrentAboutToBeDeleted(BitTorrent::Torrent *torrent) override; void onRemoveTrackerTriggered(); - void addItems(const QString &trackerURL, const QVector &torrents); + void addItems(const QString &trackerURL, const QList &torrents); void removeItem(const QString &trackerURL, const BitTorrent::TorrentID &id); QString trackerFromRow(int row) const; int rowFromTracker(const QString &tracker) const; diff --git a/src/gui/transferlistfilterswidget.cpp b/src/gui/transferlistfilterswidget.cpp index 348290ace..e9d301212 100644 --- a/src/gui/transferlistfilterswidget.cpp +++ b/src/gui/transferlistfilterswidget.cpp @@ -176,7 +176,7 @@ void TransferListFiltersWidget::setDownloadTrackerFavicon(bool value) m_trackersFilterWidget->setDownloadTrackerFavicon(value); } -void TransferListFiltersWidget::addTrackers(const BitTorrent::Torrent *torrent, const QVector &trackers) +void TransferListFiltersWidget::addTrackers(const BitTorrent::Torrent *torrent, const QList &trackers) { m_trackersFilterWidget->addTrackers(torrent, trackers); } diff --git a/src/gui/transferlistfilterswidget.h b/src/gui/transferlistfilterswidget.h index dc652e48e..b6afbb9ee 100644 --- a/src/gui/transferlistfilterswidget.h +++ b/src/gui/transferlistfilterswidget.h @@ -56,7 +56,7 @@ public: void setDownloadTrackerFavicon(bool value); public slots: - void addTrackers(const BitTorrent::Torrent *torrent, const QVector &trackers); + void addTrackers(const BitTorrent::Torrent *torrent, const QList &trackers); void removeTrackers(const BitTorrent::Torrent *torrent, const QStringList &trackers); void refreshTrackers(const BitTorrent::Torrent *torrent); void trackerEntryStatusesUpdated(const BitTorrent::Torrent *torrent diff --git a/src/gui/transferlistmodel.cpp b/src/gui/transferlistmodel.cpp index cb35a51c0..777969225 100644 --- a/src/gui/transferlistmodel.cpp +++ b/src/gui/transferlistmodel.cpp @@ -611,7 +611,7 @@ bool TransferListModel::setData(const QModelIndex &index, const QVariant &value, return true; } -void TransferListModel::addTorrents(const QVector &torrents) +void TransferListModel::addTorrents(const QList &torrents) { qsizetype row = m_torrentList.size(); const qsizetype total = row + torrents.size(); @@ -669,7 +669,7 @@ void TransferListModel::handleTorrentStatusUpdated(BitTorrent::Torrent *const to emit dataChanged(index(row, 0), index(row, columnCount() - 1)); } -void TransferListModel::handleTorrentsUpdated(const QVector &torrents) +void TransferListModel::handleTorrentsUpdated(const QList &torrents) { const int columns = (columnCount() - 1); diff --git a/src/gui/transferlistmodel.h b/src/gui/transferlistmodel.h index 061db4683..368347d51 100644 --- a/src/gui/transferlistmodel.h +++ b/src/gui/transferlistmodel.h @@ -108,10 +108,10 @@ public: BitTorrent::Torrent *torrentHandle(const QModelIndex &index) const; private slots: - void addTorrents(const QVector &torrents); + void addTorrents(const QList &torrents); void handleTorrentAboutToBeRemoved(BitTorrent::Torrent *torrent); void handleTorrentStatusUpdated(BitTorrent::Torrent *torrent); - void handleTorrentsUpdated(const QVector &torrents); + void handleTorrentsUpdated(const QList &torrents); private: void configure(); diff --git a/src/gui/transferlistwidget.cpp b/src/gui/transferlistwidget.cpp index 67b6b6cd7..1e5f8afdd 100644 --- a/src/gui/transferlistwidget.cpp +++ b/src/gui/transferlistwidget.cpp @@ -35,12 +35,12 @@ #include #include #include +#include #include #include #include #include #include -#include #include #include "base/bittorrent/session.h" @@ -76,9 +76,9 @@ namespace { - QVector extractIDs(const QVector &torrents) + QList extractIDs(const QList &torrents) { - QVector torrentIDs; + QList torrentIDs; torrentIDs.reserve(torrents.size()); for (const BitTorrent::Torrent *torrent : torrents) torrentIDs << torrent->id(); @@ -113,7 +113,7 @@ namespace #endif } - void removeTorrents(const QVector &torrents, const bool isDeleteFileSelected) + void removeTorrents(const QList &torrents, const bool isDeleteFileSelected) { auto *session = BitTorrent::Session::instance(); const BitTorrent::TorrentRemoveOption removeOption = isDeleteFileSelected @@ -323,22 +323,22 @@ void TransferListWidget::torrentDoubleClicked() } } -QVector TransferListWidget::getSelectedTorrents() const +QList TransferListWidget::getSelectedTorrents() const { const QModelIndexList selectedRows = selectionModel()->selectedRows(); - QVector torrents; + QList torrents; torrents.reserve(selectedRows.size()); for (const QModelIndex &index : selectedRows) torrents << m_listModel->torrentHandle(mapToSource(index)); return torrents; } -QVector TransferListWidget::getVisibleTorrents() const +QList TransferListWidget::getVisibleTorrents() const { const int visibleTorrentsCount = m_sortFilterModel->rowCount(); - QVector torrents; + QList torrents; torrents.reserve(visibleTorrentsCount); for (int i = 0; i < visibleTorrentsCount; ++i) torrents << m_listModel->torrentHandle(mapToSource(m_sortFilterModel->index(i, 0))); @@ -347,7 +347,7 @@ QVector TransferListWidget::getVisibleTorrents() const void TransferListWidget::setSelectedTorrentsLocation() { - const QVector torrents = getSelectedTorrents(); + const QList torrents = getSelectedTorrents(); if (torrents.isEmpty()) return; @@ -359,7 +359,7 @@ void TransferListWidget::setSelectedTorrentsLocation() fileDialog->setOptions(QFileDialog::DontConfirmOverwrite | QFileDialog::ShowDirsOnly | QFileDialog::HideNameFilterDetails); connect(fileDialog, &QDialog::accepted, this, [this, fileDialog]() { - const QVector torrents = getSelectedTorrents(); + const QList torrents = getSelectedTorrents(); if (torrents.isEmpty()) return; @@ -432,7 +432,7 @@ void TransferListWidget::deleteSelectedTorrents(const bool deleteLocalFiles) { if (m_mainWindow->currentTabWidget() != this) return; - const QVector torrents = getSelectedTorrents(); + const QList torrents = getSelectedTorrents(); if (torrents.empty()) return; if (Preferences::instance()->confirmTorrentDeletion()) @@ -455,7 +455,7 @@ void TransferListWidget::deleteSelectedTorrents(const bool deleteLocalFiles) void TransferListWidget::deleteVisibleTorrents() { - const QVector torrents = getVisibleTorrents(); + const QList torrents = getVisibleTorrents(); if (torrents.empty()) return; if (Preferences::instance()->confirmTorrentDeletion()) @@ -624,7 +624,7 @@ void TransferListWidget::previewSelectedTorrents() void TransferListWidget::setTorrentOptions() { - const QVector selectedTorrents = getSelectedTorrents(); + const QList selectedTorrents = getSelectedTorrents(); if (selectedTorrents.empty()) return; auto *dialog = new TorrentOptionsDialog {this, selectedTorrents}; @@ -761,8 +761,8 @@ void TransferListWidget::askAddTagsForSelection() void TransferListWidget::editTorrentTrackers() { - const QVector torrents = getSelectedTorrents(); - QVector commonTrackers; + const QList torrents = getSelectedTorrents(); + QList commonTrackers; if (!torrents.empty()) { @@ -805,7 +805,7 @@ void TransferListWidget::exportTorrent() fileDialog->setOptions(QFileDialog::ShowDirsOnly); connect(fileDialog, &QFileDialog::fileSelected, this, [this](const QString &dir) { - const QVector torrents = getSelectedTorrents(); + const QList torrents = getSelectedTorrents(); if (torrents.isEmpty()) return; diff --git a/src/gui/transferlistwidget.h b/src/gui/transferlistwidget.h index 257ffd7ab..1caf965fb 100644 --- a/src/gui/transferlistwidget.h +++ b/src/gui/transferlistwidget.h @@ -124,14 +124,14 @@ private: QModelIndexList mapToSource(const QModelIndexList &indexes) const; QModelIndex mapFromSource(const QModelIndex &index) const; bool loadSettings(); - QVector getSelectedTorrents() const; + QList getSelectedTorrents() const; void askAddTagsForSelection(); void editTorrentTrackers(); void exportTorrent(); void confirmRemoveAllTagsForSelection(); TagSet askTagsForSelection(const QString &dialogTitle); void applyToSelectedTorrents(const std::function &fn); - QVector getVisibleTorrents() const; + QList getVisibleTorrents() const; int visibleColumnsCount() const; TransferListModel *m_listModel = nullptr; diff --git a/src/webui/api/apicontroller.cpp b/src/webui/api/apicontroller.cpp index 3792029a7..ca2c318f4 100644 --- a/src/webui/api/apicontroller.cpp +++ b/src/webui/api/apicontroller.cpp @@ -32,8 +32,8 @@ #include #include +#include #include -#include #include "apierror.h" @@ -72,7 +72,7 @@ const DataMap &APIController::data() const return m_data; } -void APIController::requireParams(const QVector &requiredParams) const +void APIController::requireParams(const QList &requiredParams) const { const bool hasAllRequiredParams = std::all_of(requiredParams.cbegin(), requiredParams.cend() , [this](const QString &requiredParam) diff --git a/src/webui/api/apicontroller.h b/src/webui/api/apicontroller.h index 2d29e3f2e..edcfc16fc 100644 --- a/src/webui/api/apicontroller.h +++ b/src/webui/api/apicontroller.h @@ -60,7 +60,7 @@ public: protected: const StringMap ¶ms() const; const DataMap &data() const; - void requireParams(const QVector &requiredParams) const; + void requireParams(const QList &requiredParams) const; void setResult(const QString &result); void setResult(const QJsonArray &result); diff --git a/src/webui/api/logcontroller.cpp b/src/webui/api/logcontroller.cpp index 22d157444..b5a36b3e4 100644 --- a/src/webui/api/logcontroller.cpp +++ b/src/webui/api/logcontroller.cpp @@ -30,7 +30,7 @@ #include #include -#include +#include #include "base/global.h" #include "base/logger.h" diff --git a/src/webui/api/rsscontroller.cpp b/src/webui/api/rsscontroller.cpp index f3cd11bba..d103d3198 100644 --- a/src/webui/api/rsscontroller.cpp +++ b/src/webui/api/rsscontroller.cpp @@ -32,7 +32,7 @@ #include #include #include -#include +#include #include "base/rss/rss_article.h" #include "base/rss/rss_autodownloader.h" diff --git a/src/webui/api/serialize/serialize_torrent.cpp b/src/webui/api/serialize/serialize_torrent.cpp index 88ab5af52..4aa01121a 100644 --- a/src/webui/api/serialize/serialize_torrent.cpp +++ b/src/webui/api/serialize/serialize_torrent.cpp @@ -29,7 +29,7 @@ #include "serialize_torrent.h" #include -#include +#include #include "base/bittorrent/infohash.h" #include "base/bittorrent/torrent.h" diff --git a/src/webui/api/synccontroller.cpp b/src/webui/api/synccontroller.cpp index 99330ed59..fd81cd3fe 100644 --- a/src/webui/api/synccontroller.cpp +++ b/src/webui/api/synccontroller.cpp @@ -732,7 +732,7 @@ void SyncController::torrentPeersAction() QVariantMap data; QVariantHash peers; - const QVector peersList = torrent->peers(); + const QList peersList = torrent->peers(); bool resolvePeerCountries = Preferences::instance()->resolvePeerCountries(); @@ -912,7 +912,7 @@ void SyncController::onTorrentTagRemoved(BitTorrent::Torrent *torrent, [[maybe_u m_updatedTorrents.insert(torrent->id()); } -void SyncController::onTorrentsUpdated(const QVector &torrents) +void SyncController::onTorrentsUpdated(const QList &torrents) { for (const BitTorrent::Torrent *torrent : torrents) m_updatedTorrents.insert(torrent->id()); @@ -922,7 +922,7 @@ void SyncController::onTorrentTrackersChanged(BitTorrent::Torrent *torrent) { using namespace BitTorrent; - const QVector trackers = torrent->trackers(); + const QList trackers = torrent->trackers(); QSet currentTrackers; currentTrackers.reserve(trackers.size()); diff --git a/src/webui/api/synccontroller.h b/src/webui/api/synccontroller.h index d8f0eb4c8..af2223827 100644 --- a/src/webui/api/synccontroller.h +++ b/src/webui/api/synccontroller.h @@ -77,7 +77,7 @@ private: void onTorrentSavingModeChanged(BitTorrent::Torrent *torrent); void onTorrentTagAdded(BitTorrent::Torrent *torrent, const Tag &tag); void onTorrentTagRemoved(BitTorrent::Torrent *torrent, const Tag &tag); - void onTorrentsUpdated(const QVector &torrents); + void onTorrentsUpdated(const QList &torrents); void onTorrentTrackersChanged(BitTorrent::Torrent *torrent); qint64 m_freeDiskSpace = 0; diff --git a/src/webui/api/torrentscontroller.cpp b/src/webui/api/torrentscontroller.cpp index 8a36fb81d..0ad56b094 100644 --- a/src/webui/api/torrentscontroller.cpp +++ b/src/webui/api/torrentscontroller.cpp @@ -242,9 +242,9 @@ namespace return {dht, pex, lsd}; } - QVector toTorrentIDs(const QStringList &idStrings) + QList toTorrentIDs(const QStringList &idStrings) { - QVector idList; + QList idList; idList.reserve(idStrings.size()); for (const QString &hash : idStrings) idList << BitTorrent::TorrentID::fromString(hash); @@ -576,7 +576,7 @@ void TorrentsController::filesAction() throw APIError(APIErrorType::NotFound); const int filesCount = torrent->filesCount(); - QVector fileIndexes; + QList fileIndexes; const auto idxIt = params().constFind(u"indexes"_s); if (idxIt != params().cend()) { @@ -604,9 +604,9 @@ void TorrentsController::filesAction() QJsonArray fileList; if (torrent->hasMetadata()) { - const QVector priorities = torrent->filePriorities(); - const QVector fp = torrent->filesProgress(); - const QVector fileAvailability = torrent->availableFileFractions(); + const QList priorities = torrent->filePriorities(); + const QList fp = torrent->filesProgress(); + const QList fileAvailability = torrent->availableFileFractions(); const BitTorrent::TorrentInfo info = torrent->info(); for (const int index : asConst(fileIndexes)) { @@ -648,7 +648,7 @@ void TorrentsController::pieceHashesAction() QJsonArray pieceHashes; if (torrent->hasMetadata()) { - const QVector hashes = torrent->info().pieceHashes(); + const QList hashes = torrent->info().pieceHashes(); for (const QByteArray &hash : hashes) pieceHashes.append(QString::fromLatin1(hash.toHex())); } @@ -889,7 +889,7 @@ void TorrentsController::addPeersAction() const QStringList hashes = params()[u"hashes"_s].split(u'|'); const QStringList peers = params()[u"peers"_s].split(u'|'); - QVector peerList; + QList peerList; peerList.reserve(peers.size()); for (const QString &peer : peers) { @@ -956,7 +956,7 @@ void TorrentsController::filePrioAction() throw APIError(APIErrorType::Conflict, tr("Torrent's metadata has not yet downloaded")); const int filesCount = torrent->filesCount(); - QVector priorities = torrent->filePriorities(); + QList priorities = torrent->filePriorities(); bool priorityChanged = false; for (const QString &fileID : params()[u"id"_s].split(u'|')) { diff --git a/src/webui/api/transfercontroller.cpp b/src/webui/api/transfercontroller.cpp index 115804270..6bb9abea2 100644 --- a/src/webui/api/transfercontroller.cpp +++ b/src/webui/api/transfercontroller.cpp @@ -29,7 +29,7 @@ #include "transfercontroller.h" #include -#include +#include #include "base/bittorrent/peeraddress.h" #include "base/bittorrent/peerinfo.h" diff --git a/src/webui/webapplication.h b/src/webui/webapplication.h index 193701314..9465195f6 100644 --- a/src/webui/webapplication.h +++ b/src/webui/webapplication.h @@ -36,12 +36,12 @@ #include #include #include +#include #include #include #include #include #include -#include #include "base/applicationcomponent.h" #include "base/global.h" @@ -234,7 +234,7 @@ private: AuthController *m_authController = nullptr; bool m_isLocalAuthEnabled = false; bool m_isAuthSubnetWhitelistEnabled = false; - QVector m_authSubnetWhitelist; + QList m_authSubnetWhitelist; int m_sessionTimeout = 0; QString m_sessionCookieName; @@ -247,10 +247,10 @@ private: // Reverse proxy bool m_isReverseProxySupportEnabled = false; - QVector m_trustedReverseProxyList; + QList m_trustedReverseProxyList; QHostAddress m_clientAddress; - QVector m_prebuiltHeaders; + QList m_prebuiltHeaders; Utils::Thread::UniquePtr m_workerThread; FreeDiskSpaceChecker *m_freeDiskSpaceChecker = nullptr;