[Libreoffice-commits] core.git: android/source

aleksandar-stefanovic theonewithideas at gmail.com
Sun Mar 12 22:33:13 UTC 2017


 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 <theonewithideas at 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 <ci at libreoffice.org>
    Reviewed-by: Aleksandar Stefanović <theonewithideas at 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);


More information about the Libreoffice-commits mailing list