android/source/res/menu/view_menu.xml | 25 +- android/source/src/java/org/libreoffice/ui/LibreOfficeUIActivity.java | 121 +++++----- 2 files changed, 83 insertions(+), 63 deletions(-)
New commits: commit 243476399e76fb5ad2ce8c7fbef9e224b330c706 Author: aleksandar-stefanovic <theonewithid...@gmail.com> Date: Sat Feb 25 11:09:22 2017 +0100 Made sort menu use radio buttons This makes it MUCH easier to see what sort option is currently selected. Removed the mechanism of switching between labels when the option is toggled, and instead put all the options into a menu. Change-Id: I44142dc842d983d5438faeb06b67046bad235308 Reviewed-on: https://gerrit.libreoffice.org/34640 Tested-by: Jenkins <c...@libreoffice.org> Reviewed-by: Aleksandar StefanoviÄ <theonewithid...@gmail.com> diff --git a/android/source/res/menu/view_menu.xml b/android/source/res/menu/view_menu.xml index 2b99ad1..67f0596 100644 --- a/android/source/res/menu/view_menu.xml +++ b/android/source/res/menu/view_menu.xml @@ -35,12 +35,25 @@ android:icon="@drawable/ic_sort_black_24dp" app:showAsAction="ifRoom"> <menu> - <item android:id="@+id/menu_sort_size" - android:title="@string/menu_sort_size" /> - <item android:id="@+id/menu_sort_az" - android:title="@string/menu_sort_az"/> - <item android:id="@+id/menu_sort_modified" - android:title="@string/menu_sort_modified"/> + <group android:checkableBehavior="single"> + <item android:id="@+id/menu_sort_size_asc" + android:title="@string/sort_smallest" /> + + <item android:id="@+id/menu_sort_size_desc" + android:title="@string/sort_largest" /> + + <item android:id="@+id/menu_sort_az" + android:title="@string/sort_az"/> + + <item android:id="@+id/menu_sort_za" + android:title="@string/sort_za"/> + + <item android:id="@+id/menu_sort_modified_newest" + android:title="@string/sort_newest"/> + + <item android:id="@+id/menu_sort_modified_oldest" + android:title="@string/sort_oldest"/> + </group> </menu> </item> <item android:id="@+id/action_settings" diff --git a/android/source/src/java/org/libreoffice/ui/LibreOfficeUIActivity.java b/android/source/src/java/org/libreoffice/ui/LibreOfficeUIActivity.java index a4daa45..4861a8e 100644 --- a/android/source/src/java/org/libreoffice/ui/LibreOfficeUIActivity.java +++ b/android/source/src/java/org/libreoffice/ui/LibreOfficeUIActivity.java @@ -526,25 +526,36 @@ public class LibreOfficeUIActivity extends AppCompatActivity implements Settings MenuInflater inflater = getMenuInflater(); inflater.inflate(R.menu.view_menu, menu); - MenuItem item = menu.findItem(R.id.menu_sort_size); - if (sortMode == FileUtilities.SORT_LARGEST) { - item.setTitle(R.string.sort_smallest); - } else { - item.setTitle(R.string.sort_largest); - } + switch (sortMode) { + case FileUtilities.SORT_SMALLEST: { + menu.findItem(R.id.menu_sort_size_asc).setChecked(true); + } + break; - item = menu.findItem(R.id.menu_sort_az); - if (sortMode == FileUtilities.SORT_AZ) { - item.setTitle(R.string.sort_za); - } else { - item.setTitle(R.string.sort_az); - } + case FileUtilities.SORT_LARGEST: { + menu.findItem(R.id.menu_sort_size_desc).setChecked(true); + } + break; - item = menu.findItem(R.id.menu_sort_modified); - if (sortMode == FileUtilities.SORT_NEWEST) { - item.setTitle(R.string.sort_oldest); - } else { - item.setTitle(R.string.sort_newest); + case FileUtilities.SORT_AZ: { + menu.findItem(R.id.menu_sort_az).setChecked(true); + } + break; + + case FileUtilities.SORT_ZA: { + menu.findItem(R.id.menu_sort_za).setChecked(true); + } + break; + + case FileUtilities.SORT_NEWEST: { + menu.findItem(R.id.menu_sort_modified_newest).setChecked(true); + } + break; + + case FileUtilities.SORT_OLDEST: { + menu.findItem(R.id.menu_sort_modified_oldest).setChecked(true); + } + break; } switch (filterMode) { @@ -616,11 +627,42 @@ public class LibreOfficeUIActivity extends AppCompatActivity implements Settings openDirectory(currentDirectory); break; - case R.id.menu_sort_size: - case R.id.menu_sort_az: - case R.id.menu_sort_modified: - sortFiles(item); - break; + case R.id.menu_sort_size_asc: { + sortMode = FileUtilities.SORT_SMALLEST; + this.onResume(); + } + break; + + case R.id.menu_sort_size_desc: { + sortMode = FileUtilities.SORT_LARGEST; + this.onResume(); + } + break; + + case R.id.menu_sort_az: { + sortMode = FileUtilities.SORT_AZ; + this.onResume(); + } + break; + + case R.id.menu_sort_za: { + sortMode = FileUtilities.SORT_ZA; + this.onResume(); + } + break; + + case R.id.menu_sort_modified_newest: { + sortMode = FileUtilities.SORT_NEWEST; + this.onResume(); + } + break; + + case R.id.menu_sort_modified_oldest: { + sortMode = FileUtilities.SORT_OLDEST; + this.onResume(); + } + break; + case R.id.action_about: { AboutDialogFragment aboutDialogFragment = new AboutDialogFragment(); aboutDialogFragment.show(getSupportFragmentManager(), "AboutDialogFragment"); @@ -636,41 +678,6 @@ public class LibreOfficeUIActivity extends AppCompatActivity implements Settings return true; } - public void sortFiles(MenuItem item){ - switch (item.getItemId()) { - case R.id.menu_sort_az: - if (sortMode == FileUtilities.SORT_AZ){ - sortMode = FileUtilities.SORT_ZA; - item.setTitle(R.string.sort_az); - } else { - sortMode = FileUtilities.SORT_AZ; - item.setTitle(R.string.sort_za); - } - break; - case R.id.menu_sort_modified: - if (sortMode == FileUtilities.SORT_NEWEST){ - sortMode = FileUtilities.SORT_OLDEST; - item.setTitle(R.string.sort_newest); - } else { - sortMode = FileUtilities.SORT_NEWEST; - item.setTitle(R.string.sort_oldest); - } - break; - case R.id.menu_sort_size: - if (sortMode == FileUtilities.SORT_LARGEST){ - sortMode = FileUtilities.SORT_SMALLEST; - item.setTitle(R.string.sort_largest); - } else { - sortMode = FileUtilities.SORT_LARGEST; - item.setTitle(R.string.sort_smallest); - } - break; - default: - break; - } - this.onResume(); - } - public void readPreferences(){ prefs = getSharedPreferences(EXPLORER_PREFS_KEY, MODE_PRIVATE); sortMode = prefs.getInt(SORT_MODE_KEY, FileUtilities.SORT_AZ);
_______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits