summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2011-12-01 08:32:17 +0300
committerAndrew Dolgov <[email protected]>2011-12-01 08:32:17 +0300
commit98cd1762e5208be31e5fa8ff9b27def40512f41d (patch)
treeebe22f11575a3118ed0cb39a8b8f1db8b8be4496
parentf44bd5e47d4086115f79964dddd94a291f128f95 (diff)
add mark above as read to article menu
-rw-r--r--res/menu/main_menu.xml5
-rw-r--r--src/org/fox/ttrss/MainActivity.java32
2 files changed, 35 insertions, 2 deletions
diff --git a/res/menu/main_menu.xml b/res/menu/main_menu.xml
index f4f7ed30..0d59ecef 100644
--- a/res/menu/main_menu.xml
+++ b/res/menu/main_menu.xml
@@ -100,6 +100,11 @@
android:icon="@android:drawable/ic_menu_close_clear_cancel"
android:showAsAction="ifRoom"
android:title="@string/close_article"/>
+
+ <item
+ android:id="@+id/catchup_above"
+ android:icon="@drawable/ic_menu_tick"
+ android:title="@string/article_mark_read_above"/>
</group>
</group>
diff --git a/src/org/fox/ttrss/MainActivity.java b/src/org/fox/ttrss/MainActivity.java
index 7a11373c..ebdf62d5 100644
--- a/src/org/fox/ttrss/MainActivity.java
+++ b/src/org/fox/ttrss/MainActivity.java
@@ -674,6 +674,24 @@ public class MainActivity extends FragmentActivity implements FeedsFragment.OnFe
updateHeadlines();
}
return true;
+ case R.id.catchup_above:
+ if (hf != null) {
+ if (m_selectedArticle != null) {
+ ArticleList articles = hf.getAllArticles();
+ ArticleList tmp = new ArticleList();
+ for (Article a : articles) {
+ a.unread = false;
+ tmp.add(a);
+ if (m_selectedArticle.id == a.id)
+ break;
+ }
+ if (tmp.size() > 0) {
+ toggleArticlesUnread(tmp);
+ hf.notifyUpdated();
+ }
+ }
+ }
+ return true;
case R.id.set_unread:
if (m_selectedArticle != null) {
m_selectedArticle.unread = true;
@@ -1258,8 +1276,18 @@ public class MainActivity extends FragmentActivity implements FeedsFragment.OnFe
if (hf != null) {
Article article = hf.getArticleAtPosition(info.position);
if (article != null) {
- // TODO implement
-
+ ArticleList articles = hf.getAllArticles();
+ ArticleList tmp = new ArticleList();
+ for (Article a : articles) {
+ a.unread = false;
+ tmp.add(a);
+ if (article.id == a.id)
+ break;
+ }
+ if (tmp.size() > 0) {
+ toggleArticlesUnread(tmp);
+ hf.notifyUpdated();
+ }
}
}
return true;