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.
//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();
}

View File

@ -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<int>)),
m_messagesView, SLOT(loadFeeds(QList<int>)));
// Toolbar forwardings.
connect(FormMain::getInstance()->m_ui->m_actionSwitchImportanceOfSelectedMessages,

View File

@ -1,8 +1,10 @@
#include <QHeaderView>
#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<FeedsModelFeed*> selected_feeds = m_sourceModel->feedsForIndexes(mapped_selection);
QList<int> feed_ids;
QList<FeedsModelFeed*> feeds = m_sourceModel->feedsForIndexes(mapped);
int a = 5;
foreach (FeedsModelFeed *feed, selected_feeds) {
feed_ids << feed->id();
}
emit feedsSelected(feed_ids);
}

View File

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

View File

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