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

Reply via email to