]> gitweb.fperrin.net Git - Dictionary.git/commitdiff
Change layouts, update to v002, change focus stuff.
authorThad Hughes <thad.hughes@gmail.com>
Thu, 5 Jan 2012 00:35:55 +0000 (16:35 -0800)
committerThad Hughes <thad.hughes@gmail.com>
Thu, 5 Jan 2012 00:35:55 +0000 (16:35 -0800)
res/layout/download_activity.xml
res/layout/edit_activity.xml
res/layout/list_activity.xml
src/com/hughes/android/dictionary/DictionaryActivity.java
src/com/hughes/android/dictionary/DictionaryConfig.java
src/com/hughes/android/dictionary/DictionaryListActivity.java
src/com/hughes/android/dictionary/QuickDicConfig.java

index af67bd8c8bcbac498396719085b707076d14bdde..2ed5a649ae23d2c456aa48ce0125b85345744c02 100755 (executable)
@@ -1,4 +1,3 @@
-
 <LinearLayout android:id="@+id/LinearLayout01"
        android:orientation="vertical" android:layout_width="fill_parent"
        android:layout_height="wrap_content" xmlns:android="http://schemas.android.com/apk/res/android">
index 24c4b9cb9c00eb9572b52aa208e8fee0074e8e94..00474ec65f4f75d2304ce097f09b6676f0e5106a 100755 (executable)
@@ -1,7 +1,7 @@
 <ScrollView android:id="@+id/ScrollView01"
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent" 
-       android:layout_height="wrap_content">
+       android:layout_height="fill_parent">
        
 <LinearLayout 
        android:id="@+id/LinearLayout01"
index e807ca1be9e4a048c171b30f2e3dc85254a971ac..662942eb80696c76f2925e728266b0561d55d7e0 100644 (file)
     android:layout_weight="1.0"
     />
 
-  <LinearLayout 
-    android:id="@+id/LinearLayout01"
-    android:layout_width="fill_parent"
-    android:layout_height="wrap_content">
-      <TextView 
-        android:id="@+id/DictionaryListHeader"
-        android:hint="@string/selectADictionary"
-        android:layout_width="0dip"
-        android:layout_height="wrap_content" 
-        android:imeOptions="actionSearch|flagNoEnterAction|flagNoExtractUi"
-        android:inputType="text"/>
-  </LinearLayout>
+   <TextView 
+     android:id="@+id/DictionaryListHeader"
+     android:hint="@string/selectADictionary"
+     android:layout_width="fill_parent"
+     android:layout_height="wrap_content" 
+     android:imeOptions="actionSearch|flagNoEnterAction|flagNoExtractUi"
+     android:inputType="text"/>
 
 </LinearLayout>
index 84497e51ac205c1b233197f2a4f5de1c0a1e3840..d217c8191b1010ac7053f7e337cd47821a75882d 100644 (file)
@@ -36,6 +36,7 @@ import android.os.Handler;
 import android.preference.PreferenceManager;\r
 import android.text.ClipboardManager;\r
 import android.text.Editable;\r
+import android.text.Selection;\r
 import android.text.Spannable;\r
 import android.text.TextWatcher;\r
 import android.text.style.StyleSpan;\r
@@ -141,10 +142,9 @@ public class DictionaryActivity extends ListActivity {
 \r
   @Override\r
   public void onCreate(Bundle savedInstanceState) {\r
+    Log.d(LOG, "onCreate:" + this);\r
     ((DictionaryApplication)getApplication()).applyTheme(this);\r
-    \r
     super.onCreate(savedInstanceState);\r
-    Log.d(LOG, "onCreate:" + this);\r
     \r
     final SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);\r
     \r
@@ -477,12 +477,16 @@ public class DictionaryActivity extends ListActivity {
   \r
   @Override\r
   protected void onListItemClick(ListView l, View v, int row, long id) {\r
+    defocusSearchText();\r
+    \r
     if (clickOpensContextMenu && dictRaf != null) {\r
       openContextMenu(v);\r
     }\r
   }\r
   \r
   void onAppendToWordList(final RowBase row) {\r
+    defocusSearchText();\r
+    \r
     final StringBuilder rawText = new StringBuilder();\r
     rawText.append(\r
         new SimpleDateFormat("yyyy.MM.dd HH:mm:ss").format(new Date()))\r
@@ -492,9 +496,6 @@ public class DictionaryActivity extends ListActivity {
     rawText.append(row.getRawText(saveOnlyFirstSubentry));\r
     Log.d(LOG, "Writing : " + rawText);\r
 \r
-    // Request focus so that if we start typing again, it clears the text input.\r
-    getListView().requestFocus();\r
-\r
     try {\r
       wordList.getParentFile().mkdirs();\r
       final PrintWriter out = new PrintWriter(\r
@@ -507,10 +508,22 @@ public class DictionaryActivity extends ListActivity {
     }\r
     return;\r
   }\r
-\r
-  void onCopy(final RowBase row) {\r
+  \r
+  /**\r
+   * Called when user clicks outside of search text, so that they can start\r
+   * typing again immediately.\r
+   */\r
+  void defocusSearchText() {\r
+    //Log.d(LOG, "defocusSearchText");\r
     // Request focus so that if we start typing again, it clears the text input.\r
     getListView().requestFocus();\r
+    \r
+    // Visual indication that a new keystroke will clear the search text.\r
+    searchText.selectAll();\r
+  }\r
+\r
+  void onCopy(final RowBase row) {\r
+    defocusSearchText();\r
 \r
     Log.d(LOG, "Copy, row=" + row);\r
     final StringBuilder result = new StringBuilder();\r
@@ -527,6 +540,7 @@ public class DictionaryActivity extends ListActivity {
         searchText.setText("" + (char) event.getUnicodeChar());\r
         onSearchTextChange(searchText.getText().toString());\r
         searchText.requestFocus();\r
+        Selection.moveToRightEdge(searchText.getText(), searchText.getLayout());\r
       }\r
       return true;\r
     }\r
index 3f9d1de863e1355dc3915723b0cdbbfe435636d4..5dcd03d1c46d0d7bf15052dea4f36a1d22234cb9 100644 (file)
@@ -27,4 +27,10 @@ public class DictionaryConfig implements Serializable {
   int openIndex = 0;
   String openWord = "";
   
+  @Override
+  public String toString() {
+    return name;
+  }
+  
+  
 }
index b51dd282065bba68f4b056a08021e2b1eea7d8d0..1c4015ed960120c59f086d52911fbea0fc30b57e 100644 (file)
@@ -130,9 +130,10 @@ public class DictionaryListActivity extends ListActivity {
       quickDicConfig.currentVersion = QuickDicConfig.LATEST_VERSION;
       PersistentObjectCache.init(this).write(C.DICTIONARY_CONFIGS, quickDicConfig);
     }
+    
+    Log.d(LOG, "DictionaryList: " + quickDicConfig.dictionaryConfigs);
 
     setListAdapter(new Adapter());
-    
   }
 
   public boolean onCreateOptionsMenu(final Menu menu) {
index 4de278fe9eb2031cd9eb91426869d852fcfd5d7c..1923ccc66d5525c9c1ad9ebf6c66acbee827e223 100644 (file)
@@ -25,7 +25,7 @@ public final class QuickDicConfig implements Serializable {
   private static final long serialVersionUID = 6711617368780900979L;
   
   // Just increment this to have them all update...
-  static final int LATEST_VERSION = 5;
+  static final int LATEST_VERSION = 6;
   
   final List<DictionaryConfig> dictionaryConfigs = new ArrayList<DictionaryConfig>();
   int currentVersion = LATEST_VERSION;
@@ -35,12 +35,13 @@ public final class QuickDicConfig implements Serializable {
   }
   
   static final String BASE_URL = "http://quickdic-dictionary.googlecode.com/files/";
+  static final String VERSION_SUFFIX = "v002";
 
   public void addDefaultDictionaries() {
     {
       final DictionaryConfig config = new DictionaryConfig();
       config.name = "German-English";
-      config.downloadUrl = BASE_URL + "DE-EN_chemnitz_enwiktionary.quickdic.zip";
+      config.downloadUrl = String.format("%sDE-EN_chemnitz_enwiktionary.quickdic.%s.zip", BASE_URL, VERSION_SUFFIX);
       config.localFile = "/sdcard/quickDic/DE-EN_chemnitz_enwiktionary.quickdic";
       addOrReplace(config);
     }
@@ -51,11 +52,10 @@ public final class QuickDicConfig implements Serializable {
       }
       final DictionaryConfig config = new DictionaryConfig();
       config.name = String.format("English-%s", Language.isoCodeToWikiName.get(iso));
-      config.downloadUrl = String.format("%sEN-%s_enwiktionary.v002.quickdic.zip", BASE_URL, iso);
+      config.downloadUrl = String.format("%sEN-%s_enwiktionary.quickdic.%s.zip", BASE_URL, iso, VERSION_SUFFIX);
       config.localFile = String.format("/sdcard/quickDic/EN-%s_enwiktionary.quickdic", iso);
       addOrReplace(config);
     }
-
   }
 
   private void addOrReplace(final DictionaryConfig dictionaryConfig) {