diff --git a/src/librssguard/gui/feedsview.cpp b/src/librssguard/gui/feedsview.cpp index 706a96a07..7184fc32d 100644 --- a/src/librssguard/gui/feedsview.cpp +++ b/src/librssguard/gui/feedsview.cpp @@ -72,14 +72,17 @@ void FeedsView::setSortingEnabled(bool enable) { } QList FeedsView::selectedFeeds() const { - const QModelIndex current_index = currentIndex(); + auto its = selectedItems(); + auto std_feeds = boolinq::from(its) + .select([](RootItem* it) { + return it->toFeed(); + }) + .where([](Feed* fd) { + return fd != nullptr; + }) + .toStdList(); - if (current_index.isValid()) { - return m_sourceModel->feedsForIndex(m_proxyModel->mapToSource(current_index)); - } - else { - return QList(); - } + return FROM_STD_LIST(QList, std_feeds); } RootItem* FeedsView::selectedItem() const {