From 689403ad4e3c28e19c39e5f59e6135f352e911bc Mon Sep 17 00:00:00 2001 From: Federico Guerinoni <41150432+guerinoni@users.noreply.github.com> Date: Thu, 3 Feb 2022 12:29:36 +0100 Subject: [PATCH] Ignore same source when import from file (#619) Signed-off-by: Federico Guerinoni --- .../services/standard/standardserviceroot.cpp | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/src/librssguard/services/standard/standardserviceroot.cpp b/src/librssguard/services/standard/standardserviceroot.cpp index eb0b5b7e9..8a4b41cb8 100644 --- a/src/librssguard/services/standard/standardserviceroot.cpp +++ b/src/librssguard/services/standard/standardserviceroot.cpp @@ -358,6 +358,24 @@ bool StandardServiceRoot::mergeImportExportModel(FeedsImportExportModel* model, } else if (source_item->kind() == RootItem::Kind::Feed) { auto* source_feed = qobject_cast(source_item); + const auto items = target_root_node->childItems(); + bool already_exists = false; + for (auto i : items) { + auto feed = qobject_cast(i); + if (feed == nullptr) { + continue; + } + + if (feed->source() == source_feed->source()) { + already_exists = true; + break; + } + } + + if (already_exists) { + continue; + } + auto* new_feed = new StandardFeed(*source_feed); QSqlDatabase database = qApp->database()->driver()->connection(metaObject()->className());