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:
-
+- Double-clickin on message now results in opening source article in mini web browser.
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.