From 85c1c9229a9065e9a774f6d890adbe1cf12d6491 Mon Sep 17 00:00:00 2001 From: Martin Rotter Date: Mon, 16 Dec 2013 20:49:42 +0100 Subject: [PATCH] Feeds selections forwarded to messages view. --- src/core/messagesmodel.cpp | 4 ++-- src/gui/feedmessageviewer.cpp | 2 ++ src/gui/feedsview.cpp | 15 ++++++++++----- src/gui/messagesview.cpp | 4 ++++ src/gui/messagesview.h | 2 ++ 5 files changed, 20 insertions(+), 7 deletions(-) diff --git a/src/core/messagesmodel.cpp b/src/core/messagesmodel.cpp index 569eb2c40..927757ae9 100644 --- a/src/core/messagesmodel.cpp +++ b/src/core/messagesmodel.cpp @@ -66,8 +66,8 @@ void MessagesModel::loadMessages(const QList feed_ids) { } // TODO: Enable when time is right. - //setFilter(QString("feed IN (%1) AND deleted = 0").arg(stringy_ids.join(','))); - setFilter(QString("deleted = 0").arg(stringy_ids.join(","))); + setFilter(QString("feed IN (%1) AND deleted = 0").arg(stringy_ids.join(", "))); + //setFilter(QString("deleted = 0").arg(stringy_ids.join(","))); select(); fetchAll(); } diff --git a/src/gui/feedmessageviewer.cpp b/src/gui/feedmessageviewer.cpp index 2763cf2f1..c722a01b8 100644 --- a/src/gui/feedmessageviewer.cpp +++ b/src/gui/feedmessageviewer.cpp @@ -40,6 +40,8 @@ void FeedMessageViewer::createConnections() { connect(m_messagesView, SIGNAL(openLinkMessageNewTabRequested(QString)), FormMain::getInstance()->m_ui->m_tabWidget, SLOT(addLinkedBrowser(QString))); + connect(m_feedsView, SIGNAL(feedsSelected(QList)), + m_messagesView, SLOT(loadFeeds(QList))); // Toolbar forwardings. connect(FormMain::getInstance()->m_ui->m_actionSwitchImportanceOfSelectedMessages, diff --git a/src/gui/feedsview.cpp b/src/gui/feedsview.cpp index 6d268efc3..b4da86a5e 100644 --- a/src/gui/feedsview.cpp +++ b/src/gui/feedsview.cpp @@ -1,8 +1,10 @@ #include +#include "core/feedsmodelfeed.h" #include "gui/feedsview.h" #include "core/feedsmodel.h" #include "core/feedsproxymodel.h" +#include "core/feedsmodelrootitem.h" #include "core/defs.h" @@ -47,11 +49,14 @@ void FeedsView::setupAppearance() { void FeedsView::selectionChanged(const QItemSelection &selected, const QItemSelection &deselected) { - QModelIndexList curr = selectionModel()->selectedRows(); - QModelIndexList mapped = m_proxyModel->mapListToSource(curr); + QModelIndexList selection = selectionModel()->selectedRows(); + QModelIndexList mapped_selection = m_proxyModel->mapListToSource(selection); + QList selected_feeds = m_sourceModel->feedsForIndexes(mapped_selection); + QList feed_ids; - QList feeds = m_sourceModel->feedsForIndexes(mapped); + foreach (FeedsModelFeed *feed, selected_feeds) { + feed_ids << feed->id(); + } - - int a = 5; + emit feedsSelected(feed_ids); } diff --git a/src/gui/messagesview.cpp b/src/gui/messagesview.cpp index 09052fc8a..bb80b0363 100644 --- a/src/gui/messagesview.cpp +++ b/src/gui/messagesview.cpp @@ -180,6 +180,10 @@ void MessagesView::currentChanged(const QModelIndex ¤t, QTreeView::currentChanged(current, previous); } +void MessagesView::loadFeeds(const QList feed_ids) { + m_sourceModel->loadMessages(feed_ids); +} + void MessagesView::openSelectedSourceArticlesExternally() { QString browser = Settings::getInstance()->value(APP_CFG_MESSAGES, diff --git a/src/gui/messagesview.h b/src/gui/messagesview.h index e478c5fd3..c1d3483c3 100755 --- a/src/gui/messagesview.h +++ b/src/gui/messagesview.h @@ -23,6 +23,8 @@ class MessagesView : public QTreeView { MessagesModel *sourceModel(); public slots: + void loadFeeds(const QList feed_ids); + // Message manipulators. void openSelectedSourceArticlesExternally(); void openSelectedSourceMessagesInternally();