From 5c1915c98b49a5788567bf715f1319889d925dec Mon Sep 17 00:00:00 2001 From: Martin Rotter Date: Thu, 11 Jun 2015 13:48:38 +0200 Subject: [PATCH] Fixed msg opening. --- resources/text/CHANGELOG | 2 +- src/gui/feedmessageviewer.cpp | 3 ++- src/gui/messagesview.cpp | 21 +++++++++++++++------ src/gui/messagesview.h | 4 +++- 4 files changed, 21 insertions(+), 9 deletions(-) diff --git a/resources/text/CHANGELOG b/resources/text/CHANGELOG index dec73ab4c..cd9d02bb6 100644 --- a/resources/text/CHANGELOG +++ b/resources/text/CHANGELOG @@ -7,7 +7,7 @@ Added: Fixed:
diff --git a/src/gui/feedmessageviewer.cpp b/src/gui/feedmessageviewer.cpp index df67cc134..4859053c4 100755 --- a/src/gui/feedmessageviewer.cpp +++ b/src/gui/feedmessageviewer.cpp @@ -287,6 +287,7 @@ void FeedMessageViewer::createConnections() { connect(m_feedsView, SIGNAL(messageCountsChanged(int,int,bool)), this, SLOT(updateTrayIconStatus(int,int,bool))); // Message openers. + connect(m_messagesView, SIGNAL(openLinkMiniBrowser(QString)), m_messagesBrowser, SLOT(navigateToUrl(QString))); connect(m_messagesView, SIGNAL(openMessagesInNewspaperView(QList)), form_main->m_ui->m_tabWidget, SLOT(addBrowserWithMessages(QList))); connect(m_messagesView, SIGNAL(openLinkNewTab(QString)), @@ -311,7 +312,7 @@ void FeedMessageViewer::createConnections() { connect(form_main->m_ui->m_actionMarkSelectedMessagesAsUnread, SIGNAL(triggered()), m_messagesView, SLOT(markSelectedMessagesUnread())); connect(form_main->m_ui->m_actionOpenSelectedSourceArticlesExternally, - SIGNAL(triggered()), m_messagesView, SLOT(openSelectedSourceArticlesExternally())); + SIGNAL(triggered()), m_messagesView, SLOT(openSelectedSourceMessagesExternally())); connect(form_main->m_ui->m_actionOpenSelectedSourceArticlesInternally, SIGNAL(triggered()), m_messagesView, SLOT(openSelectedSourceMessagesInternally())); connect(form_main->m_ui->m_actionOpenSelectedMessagesInternally, diff --git a/src/gui/messagesview.cpp b/src/gui/messagesview.cpp index 359ba2310..f49ac08b9 100755 --- a/src/gui/messagesview.cpp +++ b/src/gui/messagesview.cpp @@ -56,9 +56,7 @@ void MessagesView::setSortingEnabled(bool enable) { } void MessagesView::createConnections() { - // Make sure that source message is opened - // in new tab on double click. - connect(this, SIGNAL(doubleClicked(QModelIndex)), this, SLOT(openSelectedSourceArticlesExternally())); + connect(this, SIGNAL(doubleClicked(QModelIndex)), this, SLOT(openSelectedSourceMessagesInternallyNoNewTab())); // Adjust columns when layout gets changed. connect(header(), SIGNAL(geometriesChanged()), this, SLOT(adjustColumns())); @@ -249,7 +247,7 @@ void MessagesView::loadFeeds(const FeedsSelection &selection) { emit currentMessagesRemoved(); } -void MessagesView::openSelectedSourceArticlesExternally() { +void MessagesView::openSelectedSourceMessagesExternally() { foreach (const QModelIndex &index, selectionModel()->selectedRows()) { QString link = m_sourceModel->messageAt(m_proxyModel->mapToSource(index).row()).m_url; @@ -263,7 +261,9 @@ void MessagesView::openSelectedSourceArticlesExternally() { } // Finally, mark opened messages as read. - markSelectedMessagesRead(); + if (selectionModel()->selectedRows().size() > 1) { + markSelectedMessagesRead(); + } } void MessagesView::openSelectedSourceMessagesInternally() { @@ -282,7 +282,16 @@ void MessagesView::openSelectedSourceMessagesInternally() { } // Finally, mark opened messages as read. - markSelectedMessagesRead(); + if (selectionModel()->selectedRows().size() > 1) { + markSelectedMessagesRead(); + } +} + +void MessagesView::openSelectedSourceMessagesInternallyNoNewTab() { + if (selectionModel()->selectedRows().size() == 1) { + emit openLinkMiniBrowser( + m_sourceModel->messageAt(m_proxyModel->mapToSource(selectionModel()->selectedRows().at(0)).row()).m_url); + } } void MessagesView::openSelectedMessagesInternally() { diff --git a/src/gui/messagesview.h b/src/gui/messagesview.h index b4af84165..c84c4dd77 100755 --- a/src/gui/messagesview.h +++ b/src/gui/messagesview.h @@ -63,8 +63,9 @@ class MessagesView : public QTreeView { void loadFeeds(const FeedsSelection &selection); // Message manipulators. - void openSelectedSourceArticlesExternally(); + void openSelectedSourceMessagesExternally(); void openSelectedSourceMessagesInternally(); + void openSelectedSourceMessagesInternallyNoNewTab(); void openSelectedMessagesInternally(); void sendSelectedMessageViaEmail(); @@ -110,6 +111,7 @@ class MessagesView : public QTreeView { signals: // Link/message openers. void openLinkNewTab(const QString &link); + void openLinkMiniBrowser(const QString &link); void openMessagesInNewspaperView(const QList &messages); // Notify others about message selections.