diff --git a/res/menu/headlines_context_menu.xml b/res/menu/headlines_context_menu.xml
index 2a445216..d50fac1d 100644
--- a/res/menu/headlines_context_menu.xml
+++ b/res/menu/headlines_context_menu.xml
@@ -18,6 +18,10 @@
android:id="@+id/headlines_share_article"
android:showAsAction=""
android:title="@string/share_article"/>
+
- Unsubscribe
Unsubscribe from %1$s?
Toggle sidebar
+ Open in web browser
diff --git a/src/org/fox/ttrss/HeadlinesFragment.java b/src/org/fox/ttrss/HeadlinesFragment.java
index 7145f51b..84051cd5 100644
--- a/src/org/fox/ttrss/HeadlinesFragment.java
+++ b/src/org/fox/ttrss/HeadlinesFragment.java
@@ -17,11 +17,13 @@ import uk.co.senab.actionbarpulltorefresh.library.PullToRefreshAttacher.OnRefres
import android.app.Activity;
import android.content.Context;
+import android.content.Intent;
import android.content.SharedPreferences;
import android.content.res.Resources.Theme;
import android.graphics.Paint;
import android.graphics.drawable.BitmapDrawable;
import android.graphics.drawable.Drawable;
+import android.net.Uri;
import android.os.Bundle;
import android.preference.PreferenceManager;
import android.support.v4.app.Fragment;
@@ -135,6 +137,21 @@ public class HeadlinesFragment extends Fragment implements OnItemClickListener,
}
}
return true;
+ case R.id.headlines_article_link_open:
+ if (true) {
+ Article article = getArticleAtPosition(info.position);
+
+ if (article != null) {
+ Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(article.link));
+ startActivity(browserIntent);
+
+ if (article.unread) {
+ article.unread = false;
+ m_activity.saveArticleUnread(article);
+ }
+ }
+ }
+ return true;
case R.id.selection_toggle_marked:
if (true) {
ArticleList selected = getSelectedArticles();