]> gitweb.fperrin.net Git - Dictionary.git/blobdiff - src/com/hughes/android/dictionary/DictionaryListActivity.java
Add Slovak, increment version, show what's new.
[Dictionary.git] / src / com / hughes / android / dictionary / DictionaryListActivity.java
index da6173722a21b695eb27b52d85414ee2ce4ad069..123e0b5354eba7876142a352cedd20e976ef9401 100644 (file)
@@ -14,6 +14,8 @@
 
 package com.hughes.android.dictionary;
 
+import java.io.File;
+
 import android.app.AlertDialog;
 import android.app.ListActivity;
 import android.content.Context;
@@ -23,6 +25,7 @@ import android.content.SharedPreferences;
 import android.os.Bundle;
 import android.preference.PreferenceManager;
 import android.util.Log;
+import android.util.TypedValue;
 import android.view.ContextMenu;
 import android.view.Menu;
 import android.view.MenuItem;
@@ -68,7 +71,7 @@ public class DictionaryListActivity extends ListActivity {
     registerForContextMenu(getListView());
 
     final SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
-    final int introMessageId = -1;
+    final int introMessageId = 100;
     if (prefs.getInt(C.INTRO_MESSAGE_SHOWN, 0) < introMessageId) {
       final AlertDialog.Builder builder = new AlertDialog.Builder(this);
       builder.setCancelable(false);
@@ -110,8 +113,16 @@ public class DictionaryListActivity extends ListActivity {
     }
     if (quickDicConfig.currentVersion < QuickDicConfig.LATEST_VERSION) {
       Log.d(LOG, "Dictionary list is old, updating it.");
+      
+      // Replace <-> with -
+      if (quickDicConfig.currentVersion < 5) {
+        for (final DictionaryConfig config : quickDicConfig.dictionaryConfigs) {
+          config.name = config.name.replace("<->", "-");
+        }
+      }
       quickDicConfig.addDefaultDictionaries();
       quickDicConfig.currentVersion = QuickDicConfig.LATEST_VERSION;
+      PersistentObjectCache.init(this).write(C.DICTIONARY_CONFIGS, quickDicConfig);
     }
 
     setListAdapter(new Adapter());
@@ -139,6 +150,15 @@ public class DictionaryListActivity extends ListActivity {
           }
         });
 
+    final MenuItem removeAllDictionariesMenuItem = menu.add(R.string.removeAllDictionaries);
+    removeAllDictionariesMenuItem.setOnMenuItemClickListener(new OnMenuItemClickListener() {
+          public boolean onMenuItemClick(final MenuItem menuItem) {
+            quickDicConfig.dictionaryConfigs.clear();
+            dictionaryConfigsChanged();
+            return false;
+          }
+        });
+
     final MenuItem about = menu.add(getString(R.string.about));
     about.setOnMenuItemClickListener(new OnMenuItemClickListener() {
       public boolean onMenuItemClick(final MenuItem menuItem) {
@@ -179,12 +199,12 @@ public class DictionaryListActivity extends ListActivity {
     });
 
     if (adapterContextMenuInfo.position > 0) {
-      final MenuItem moveUpMenuItem = menu.add(R.string.moveUp);
-      moveUpMenuItem.setOnMenuItemClickListener(new OnMenuItemClickListener() {
+      final MenuItem moveToTopMenuItem = menu.add(R.string.moveToTop);
+      moveToTopMenuItem.setOnMenuItemClickListener(new OnMenuItemClickListener() {
         @Override
         public boolean onMenuItemClick(MenuItem item) {
           final DictionaryConfig dictionaryConfig = quickDicConfig.dictionaryConfigs.remove(adapterContextMenuInfo.position);
-          quickDicConfig.dictionaryConfigs.add(adapterContextMenuInfo.position - 1, dictionaryConfig);
+          quickDicConfig.dictionaryConfigs.add(0, dictionaryConfig);
           dictionaryConfigsChanged();
           return true;
         }
@@ -230,9 +250,14 @@ public class DictionaryListActivity extends ListActivity {
       final DictionaryConfig dictionaryConfig = getItem(position);
       final TableLayout tableLayout = new TableLayout(parent.getContext());
       final TextView view = new TextView(parent.getContext());
+      
+      String name = dictionaryConfig.name;
+      if (!new File(dictionaryConfig.localFile).canRead()) {
+        name = getString(R.string.notOnDevice, dictionaryConfig.name);
+      }
 
-      view.setText(dictionaryConfig.name);
-      view.setTextSize(20);
+      view.setText(name);
+      view.setTextSize(TypedValue.COMPLEX_UNIT_SP, 22);
       tableLayout.addView(view);
 
       return tableLayout;