]> gitweb.fperrin.net Git - Dictionary.git/commitdiff
Add option to sort downloaded dictionaries.
authorReimar Döffinger <Reimar.Doeffinger@gmx.de>
Sat, 29 Oct 2016 14:41:07 +0000 (16:41 +0200)
committerReimar Döffinger <Reimar.Doeffinger@gmx.de>
Sat, 29 Oct 2016 14:41:07 +0000 (16:41 +0200)
res/values/strings.xml
src/com/hughes/android/dictionary/DictionaryApplication.java
src/com/hughes/android/dictionary/DictionaryManagerActivity.java

index 38824a87a64b7172ea9147e121ec03c51018b6a2..818bc832ae9cef449440e7f8d6638c96a79464c3 100644 (file)
@@ -15,6 +15,7 @@
     <string name="dictionaryManager">Dictionary manager</string>
     <string name="dictionariesOnDevice">Dictionaries on device</string>
     <string name="downloadableDictionaries">Downloadable dictionaries</string>
+    <string name="sortDicts">Sort dictionaries</string>
     <string name="downloadButton">%.1fMB</string>
     <string name="updateAvailable">Update!</string>
     <string name="moveToTop">Move to top</string>
index e15dfff2fa9eeb37652a450deda399263a69bcfe..d6db166faa576b34e9b734c95b377819b78d3ab9 100644 (file)
@@ -564,6 +564,11 @@ public class DictionaryApplication extends Application {
         PersistentObjectCache.getInstance().write(C.DICTIONARY_CONFIGS, dictionaryConfig);
     }
 
+    public synchronized void sortDictionaries() {
+        Collections.sort(dictionaryConfig.dictionaryFilesOrdered, uncompressedFilenameComparator);
+        PersistentObjectCache.getInstance().write(C.DICTIONARY_CONFIGS, dictionaryConfig);
+    }
+
     public synchronized void deleteDictionary(final DictionaryInfo dictionaryInfo) {
         while (dictionaryConfig.dictionaryFilesOrdered.remove(dictionaryInfo.uncompressedFilename)) {
         }
index 6741b9bfabb966e443f7e9278c498ba567eac93e..0139c474b18aa142ac6e0c6eab96ee5154bab59a 100644 (file)
@@ -30,6 +30,7 @@ import android.os.Bundle;
 import android.os.Environment;
 import android.os.Handler;
 import android.preference.PreferenceManager;
+import android.support.v4.view.MenuItemCompat;
 import android.support.v7.app.ActionBar;
 import android.support.v7.app.ActionBarActivity;
 import android.support.v7.widget.SearchView;
@@ -42,6 +43,7 @@ import android.view.ContextMenu;
 import android.view.ContextMenu.ContextMenuInfo;
 import android.view.LayoutInflater;
 import android.view.Menu;
+import android.view.MenuItem;
 import android.view.View;
 import android.view.View.OnClickListener;
 import android.view.ViewGroup;
@@ -409,6 +411,16 @@ public class DictionaryManagerActivity extends ActionBarActivity {
 
     @Override
     public boolean onCreateOptionsMenu(final Menu menu) {
+        final MenuItem sort = menu.add(getString(R.string.sortDicts));
+        MenuItemCompat.setShowAsAction(sort, MenuItem.SHOW_AS_ACTION_NEVER);
+        sort.setOnMenuItemClickListener(new MenuItem.OnMenuItemClickListener() {
+            public boolean onMenuItemClick(final MenuItem menuItem) {
+                application.sortDictionaries();
+                setMyListAdapater();
+                return true;
+            }
+        });
+
         application.onCreateGlobalOptionsMenu(this, menu);
         return true;
     }