summaryrefslogtreecommitdiff
path: root/src/org/fox/ttrss/MainActivity.java
diff options
context:
space:
mode:
authorAndrew Dolgov <fox@fakecake.org>2011-11-30 10:22:27 +0300
committerAndrew Dolgov <fox@fakecake.org>2011-11-30 10:22:27 +0300
commit2f10a4a88ebeaf79385276e6b06b1308040ee7d1 (patch)
tree33df5276688497cd8825852a728f757ede020fb6 /src/org/fox/ttrss/MainActivity.java
parent042885888a73e5d13f1b4aeb36c11ca98629ed55 (diff)
implement special options menu for selected headlines
Diffstat (limited to 'src/org/fox/ttrss/MainActivity.java')
-rw-r--r--src/org/fox/ttrss/MainActivity.java70
1 files changed, 58 insertions, 12 deletions
diff --git a/src/org/fox/ttrss/MainActivity.java b/src/org/fox/ttrss/MainActivity.java
index e772611d..d445e4fb 100644
--- a/src/org/fox/ttrss/MainActivity.java
+++ b/src/org/fox/ttrss/MainActivity.java
@@ -632,6 +632,34 @@ public class MainActivity extends FragmentActivity implements FeedsFragment.OnFe
updateHeadlines();
}
return true;
+ case R.id.selection_mark_as_read:
+ return true;
+ case R.id.selection_toggle_marked:
+ if (hf != null) {
+ ArticleList selected = hf.getSelectedArticles();
+
+ if (selected.size() > 0) {
+ for (Article a : selected)
+ a.marked = !a.marked;
+
+ toggleArticlesMarked(selected);
+ hf.notifyUpdated();
+ }
+ }
+ return true;
+ case R.id.selection_toggle_published:
+ if (hf != null) {
+ ArticleList selected = hf.getSelectedArticles();
+
+ if (selected.size() > 0) {
+ for (Article a : selected)
+ a.published = !a.published;
+
+ toggleArticlesPublished(selected);
+ hf.notifyUpdated();
+ }
+ }
+ return true;
case R.id.toggle_published:
if (m_selectedArticle != null) {
m_selectedArticle.published = !m_selectedArticle.published;
@@ -719,37 +747,55 @@ public class MainActivity extends FragmentActivity implements FeedsFragment.OnFe
m_menu.findItem(R.id.show_all_articles).setVisible(true);
} else {
m_menu.setGroupVisible(R.id.menu_group_headlines, false);
+ m_menu.setGroupVisible(R.id.menu_group_headlines_selection, false);
}
if (m_selectedArticle != null) {
m_menu.setGroupVisible(R.id.menu_group_article, true);
- m_menu.findItem(R.id.update_feeds).setVisible(false);
- m_menu.findItem(R.id.show_feeds).setVisible(false);
- m_menu.findItem(R.id.back_to_categories).setVisible(false);
+ m_menu.setGroupVisible(R.id.menu_group_feeds, false);
if (m_smallScreenMode) {
- m_menu.setGroupVisible(R.id.menu_group_headlines, false);
+ m_menu.setGroupVisible(R.id.menu_group_headlines, false);
+ m_menu.setGroupVisible(R.id.menu_group_headlines_selection, false);
} else {
m_menu.setGroupVisible(R.id.menu_group_headlines, true);
}
} else {
m_menu.setGroupVisible(R.id.menu_group_article, false);
-
+
+ if (m_activeFeed != null) {
+
+ HeadlinesFragment hf = (HeadlinesFragment)getSupportFragmentManager().findFragmentById(R.id.headlines_fragment);
+
+ if (hf != null) {
+ int numSelected = hf.getSelectedArticles().size();
+
+ if (numSelected != 0) {
+ m_menu.setGroupVisible(R.id.menu_group_headlines, false);
+ m_menu.setGroupVisible(R.id.menu_group_headlines_selection, true);
+ } else {
+ m_menu.setGroupVisible(R.id.menu_group_headlines, true);
+ m_menu.setGroupVisible(R.id.menu_group_headlines_selection, false);
+ }
+
+ } else {
+ m_menu.setGroupVisible(R.id.menu_group_headlines, true);
+ m_menu.setGroupVisible(R.id.menu_group_headlines_selection, false);
+ }
+
+ m_menu.setGroupVisible(R.id.menu_group_feeds, false);
+ } else {
+ m_menu.setGroupVisible(R.id.menu_group_feeds, true);
+ }
+
if (!m_smallScreenMode || m_activeFeed == null) {
m_menu.findItem(R.id.show_feeds).setVisible(true);
m_menu.findItem(R.id.update_feeds).setVisible(true);
- } else {
- m_menu.findItem(R.id.show_feeds).setVisible(false);
- m_menu.findItem(R.id.update_feeds).setVisible(false);
}
m_menu.findItem(R.id.back_to_categories).setVisible(m_activeCategory != null);
-
- if (m_activeFeed != null) {
- m_menu.setGroupVisible(R.id.menu_group_headlines, true);
- }
}
} else {