refactor: move logic from core to torrentscontroller

This commit is contained in:
ze0s 2025-01-18 10:36:11 +00:00
commit ceb903ebcf
5 changed files with 9 additions and 20 deletions

View file

@ -49,7 +49,6 @@
#include "base/path.h" #include "base/path.h"
#include "base/settingvalue.h" #include "base/settingvalue.h"
#include "base/tagset.h"
#include "base/utils/thread.h" #include "base/utils/thread.h"
#include "addtorrentparams.h" #include "addtorrentparams.h"
#include "cachestatus.h" #include "cachestatus.h"

View file

@ -209,7 +209,6 @@ namespace BitTorrent
virtual TagSet tags() const = 0; virtual TagSet tags() const = 0;
virtual bool hasTag(const Tag &tag) const = 0; virtual bool hasTag(const Tag &tag) const = 0;
virtual bool addTag(const Tag &tag) = 0; virtual bool addTag(const Tag &tag) = 0;
virtual bool setTags(const TagSet &newTags) = 0;
virtual bool removeTag(const Tag &tag) = 0; virtual bool removeTag(const Tag &tag) = 0;
virtual void removeAllTags() = 0; virtual void removeAllTags() = 0;

View file

@ -60,7 +60,6 @@
#include "base/global.h" #include "base/global.h"
#include "base/logger.h" #include "base/logger.h"
#include "base/preferences.h" #include "base/preferences.h"
#include "base/tagset.h"
#include "base/types.h" #include "base/types.h"
#include "base/utils/fs.h" #include "base/utils/fs.h"
#include "base/utils/io.h" #include "base/utils/io.h"
@ -938,21 +937,6 @@ bool TorrentImpl::addTag(const Tag &tag)
return true; return true;
} }
bool TorrentImpl::setTags(const TagSet &newTags)
{
// Identify tags to add
for (const Tag &tag : newTags)
if (!hasTag(tag))
addTag(tag);
// Identify tags to remove
for (const Tag &tag : asConst(tags()))
if (!newTags.contains(tag))
removeTag(tag);
return true;
}
bool TorrentImpl::removeTag(const Tag &tag) bool TorrentImpl::removeTag(const Tag &tag)
{ {
if (m_tags.remove(tag)) if (m_tags.remove(tag))

View file

@ -131,7 +131,6 @@ namespace BitTorrent
TagSet tags() const override; TagSet tags() const override;
bool hasTag(const Tag &tag) const override; bool hasTag(const Tag &tag) const override;
bool addTag(const Tag &tag) override; bool addTag(const Tag &tag) override;
bool setTags(const TagSet &newTags) override;
bool removeTag(const Tag &tag) override; bool removeTag(const Tag &tag) override;
void removeAllTags() override; void removeAllTags() override;

View file

@ -1490,7 +1490,15 @@ void TorrentsController::setTagsAction()
// Apply the new tags to the selected torrents // Apply the new tags to the selected torrents
applyToTorrents(hashes, [&newTags](BitTorrent::Torrent *const torrent) applyToTorrents(hashes, [&newTags](BitTorrent::Torrent *const torrent)
{ {
torrent->setTags(newTags); // Identify tags to add
for (const Tag &tag : newTags)
if (!torrent->hasTag(tag))
torrent->addTag(tag);
// Identify tags to remove
for (const Tag &tag : asConst(torrent->tags()))
if (!newTags.contains(tag))
torrent->removeTag(tag);
}); });
} }