Feeds selections forwarded to messages view.

This commit is contained in:
Martin Rotter 2013-12-16 20:49:42 +01:00
parent c0d2e3fb47
commit 85c1c9229a
5 changed files with 20 additions and 7 deletions

View File

@ -66,8 +66,8 @@ void MessagesModel::loadMessages(const QList<int> feed_ids) {
} }
// TODO: Enable when time is right. // TODO: Enable when time is right.
//setFilter(QString("feed IN (%1) AND 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(","))); //setFilter(QString("deleted = 0").arg(stringy_ids.join(",")));
select(); select();
fetchAll(); fetchAll();
} }

View File

@ -40,6 +40,8 @@ void FeedMessageViewer::createConnections() {
connect(m_messagesView, SIGNAL(openLinkMessageNewTabRequested(QString)), connect(m_messagesView, SIGNAL(openLinkMessageNewTabRequested(QString)),
FormMain::getInstance()->m_ui->m_tabWidget, FormMain::getInstance()->m_ui->m_tabWidget,
SLOT(addLinkedBrowser(QString))); SLOT(addLinkedBrowser(QString)));
connect(m_feedsView, SIGNAL(feedsSelected(QList<int>)),
m_messagesView, SLOT(loadFeeds(QList<int>)));
// Toolbar forwardings. // Toolbar forwardings.
connect(FormMain::getInstance()->m_ui->m_actionSwitchImportanceOfSelectedMessages, connect(FormMain::getInstance()->m_ui->m_actionSwitchImportanceOfSelectedMessages,

View File

@ -1,8 +1,10 @@
#include <QHeaderView> #include <QHeaderView>
#include "core/feedsmodelfeed.h"
#include "gui/feedsview.h" #include "gui/feedsview.h"
#include "core/feedsmodel.h" #include "core/feedsmodel.h"
#include "core/feedsproxymodel.h" #include "core/feedsproxymodel.h"
#include "core/feedsmodelrootitem.h"
#include "core/defs.h" #include "core/defs.h"
@ -47,11 +49,14 @@ void FeedsView::setupAppearance() {
void FeedsView::selectionChanged(const QItemSelection &selected, void FeedsView::selectionChanged(const QItemSelection &selected,
const QItemSelection &deselected) { const QItemSelection &deselected) {
QModelIndexList curr = selectionModel()->selectedRows(); QModelIndexList selection = selectionModel()->selectedRows();
QModelIndexList mapped = m_proxyModel->mapListToSource(curr); QModelIndexList mapped_selection = m_proxyModel->mapListToSource(selection);
QList<FeedsModelFeed*> selected_feeds = m_sourceModel->feedsForIndexes(mapped_selection);
QList<int> feed_ids;
QList<FeedsModelFeed*> feeds = m_sourceModel->feedsForIndexes(mapped); foreach (FeedsModelFeed *feed, selected_feeds) {
feed_ids << feed->id();
}
emit feedsSelected(feed_ids);
int a = 5;
} }

View File

@ -180,6 +180,10 @@ void MessagesView::currentChanged(const QModelIndex &current,
QTreeView::currentChanged(current, previous); QTreeView::currentChanged(current, previous);
} }
void MessagesView::loadFeeds(const QList<int> feed_ids) {
m_sourceModel->loadMessages(feed_ids);
}
void MessagesView::openSelectedSourceArticlesExternally() { void MessagesView::openSelectedSourceArticlesExternally() {
QString browser = Settings::getInstance()->value(APP_CFG_MESSAGES, QString browser = Settings::getInstance()->value(APP_CFG_MESSAGES,

View File

@ -23,6 +23,8 @@ class MessagesView : public QTreeView {
MessagesModel *sourceModel(); MessagesModel *sourceModel();
public slots: public slots:
void loadFeeds(const QList<int> feed_ids);
// Message manipulators. // Message manipulators.
void openSelectedSourceArticlesExternally(); void openSelectedSourceArticlesExternally();
void openSelectedSourceMessagesInternally(); void openSelectedSourceMessagesInternally();