diff options
author | Andrew Dolgov <[email protected]> | 2011-11-29 20:48:09 +0300 |
---|---|---|
committer | Andrew Dolgov <[email protected]> | 2011-11-29 20:48:09 +0300 |
commit | adfa14f606e2673c70aaf88c33cd1078f4aaadbd (patch) | |
tree | fcf1268877a521be3bfa38e1c337378d60b2bdd2 | |
parent | efa540bd9e87891edbb837cc26de559ff68fb722 (diff) |
menu cleanup, use popup dialog for selecting articles
-rw-r--r-- | res/menu/main_menu.xml | 39 | ||||
-rw-r--r-- | res/values/strings.xml | 14 | ||||
-rw-r--r-- | src/org/fox/ttrss/MainActivity.java | 44 |
3 files changed, 58 insertions, 39 deletions
diff --git a/res/menu/main_menu.xml b/res/menu/main_menu.xml index 2d2e2998..584b896b 100644 --- a/res/menu/main_menu.xml +++ b/res/menu/main_menu.xml @@ -49,51 +49,42 @@ android:showAsAction="" android:title="@string/show_all_articles"/> - <item - android:id="@+id/headlines_select_all" - android:title="@string/headlines_select_all"/> - - <item - android:id="@+id/headlines_select_unread" - android:title="@string/headlines_select_unread"/> - - <item - android:id="@+id/headlines_select_none" - android:title="@string/headlines_select_none"/> + android:id="@+id/headlines_select" + android:title="@string/headlines_select"/> </group> <group android:id="@+id/menu_group_article" > <item - android:id="@+id/close_article" - android:icon="@android:drawable/ic_menu_close_clear_cancel" - android:showAsAction="ifRoom|withText" - android:title="@string/close_article"/> + android:id="@+id/share_article" + android:icon="@android:drawable/ic_menu_share" + android:showAsAction="ifRoom" + android:title="@string/share_article"/> <item android:id="@+id/toggle_marked" android:icon="@android:drawable/star_off" android:showAsAction="" - android:title="@string/toggle_marked"/> - - <item - android:id="@+id/share_article" - android:icon="@android:drawable/ic_menu_share" - android:showAsAction="ifRoom" - android:title="@string/share_article"/> + android:title="@string/article_toggle_marked"/> <item android:id="@+id/toggle_published" android:icon="@drawable/ic_menu_rss" android:showAsAction="" - android:title="@string/toggle_published"/> + android:title="@string/article_toggle_published"/> <item android:id="@+id/set_unread" android:icon="@android:drawable/ic_menu_recent_history" android:showAsAction="" - android:title="@string/set_unread"/> + android:title="@string/article_set_unread"/> + + <item + android:id="@+id/close_article" + android:icon="@android:drawable/ic_menu_close_clear_cancel" + android:showAsAction="ifRoom|withText" + android:title="@string/close_article"/> </group> <item diff --git a/res/values/strings.xml b/res/values/strings.xml index 853f9036..70cd4c3b 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -44,15 +44,17 @@ <string name="category_browse_articles">Browse articles</string> <string name="blank"></string> <string name="transport_debugging">Log sent and received data</string> - <string name="toggle_marked">Toggle starred</string> - <string name="toggle_published">Toggle published</string> - <string name="headlines_select_all">Select all</string> - <string name="headlines_select_none">Select none</string> - <string name="headlines_select_unread">Unread</string> + <string name="article_toggle_marked">Toggle starred</string> + <string name="article_toggle_published">Toggle published</string> + <string name="headlines_select">Select articles</string> + <string name="headlines_select_dialog">Select articles</string> + <string name="headlines_select_all">All articles</string> + <string name="headlines_select_unread">Unread articles</string> + <string name="headlines_select_none">None</string> <string name="selection_toggle_marked">Starred</string> <string name="selection_toggle_published">Published</string> <string name="selection_toggle_unread">Unread</string> - <string name="set_unread">Mark unread</string> + <string name="article_set_unread">Mark unread</string> <string name="http_login_summary">Optional. Fill this if your tt-rss installation is protected by HTTP Basic authentication</string> <string name="login_summary">Your tt-rss login. Not needed for single user mode</string> <string name="enable_ads">Enable ads</string> diff --git a/src/org/fox/ttrss/MainActivity.java b/src/org/fox/ttrss/MainActivity.java index 7aba8cc7..50313072 100644 --- a/src/org/fox/ttrss/MainActivity.java +++ b/src/org/fox/ttrss/MainActivity.java @@ -5,7 +5,10 @@ import java.util.Timer; import java.util.TimerTask; import android.animation.LayoutTransition; +import android.app.AlertDialog; +import android.app.Dialog; import android.content.Context; +import android.content.DialogInterface; import android.content.Intent; import android.content.SharedPreferences; import android.net.ConnectivityManager; @@ -23,7 +26,9 @@ import android.view.MenuItem; import android.view.View; import android.view.animation.AnimationUtils; import android.widget.AdapterView.AdapterContextMenuInfo; +import android.widget.ArrayAdapter; import android.widget.LinearLayout; +import android.widget.ListView; import android.widget.TextView; import com.google.gson.JsonElement; @@ -528,7 +533,7 @@ public class MainActivity extends FragmentActivity implements FeedsFragment.OnFe @SuppressWarnings("unchecked") @Override public boolean onOptionsItemSelected(MenuItem item) { - HeadlinesFragment hf = (HeadlinesFragment)getSupportFragmentManager().findFragmentById(R.id.headlines_fragment); + final HeadlinesFragment hf = (HeadlinesFragment)getSupportFragmentManager().findFragmentById(R.id.headlines_fragment); switch (item.getItemId()) { case R.id.preferences: @@ -553,14 +558,35 @@ public class MainActivity extends FragmentActivity implements FeedsFragment.OnFe case R.id.back_to_categories: closeCategory(); return true; - case R.id.headlines_select_all: - if (hf != null) hf.setSelection(HeadlinesFragment.ArticlesSelection.ALL); - return true; - case R.id.headlines_select_none: - if (hf != null) hf.setSelection(HeadlinesFragment.ArticlesSelection.NONE); - return true; - case R.id.headlines_select_unread: - if (hf != null) hf.setSelection(HeadlinesFragment.ArticlesSelection.UNREAD); + case R.id.headlines_select: + if (hf != null) { + Dialog dialog = new Dialog(this); + AlertDialog.Builder builder = new AlertDialog.Builder(this); + builder.setTitle(R.string.headlines_select_dialog); + + builder.setSingleChoiceItems(new String[] { getString(R.string.headlines_select_all), + getString(R.string.headlines_select_unread), getString(R.string.headlines_select_none) }, 0, new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + switch (which) { + case 0: + hf.setSelection(HeadlinesFragment.ArticlesSelection.ALL); + break; + case 1: + hf.setSelection(HeadlinesFragment.ArticlesSelection.UNREAD); + break; + case 2: + hf.setSelection(HeadlinesFragment.ArticlesSelection.NONE); + break; + } + dialog.cancel(); + } + }); + + dialog = builder.create(); + dialog.show(); + } + return true; case R.id.catchup_and_load: if (hf != null) { |