From 60bb22db1adcbbaf8f064d1bc1f92c29a77496f1 Mon Sep 17 00:00:00 2001 From: Thad Hughes Date: Wed, 4 Jan 2012 16:35:55 -0800 Subject: [PATCH] Change layouts, update to v002, change focus stuff. --- res/layout/download_activity.xml | 1 - res/layout/edit_activity.xml | 2 +- res/layout/list_activity.xml | 19 +++++-------- .../dictionary/DictionaryActivity.java | 28 ++++++++++++++----- .../android/dictionary/DictionaryConfig.java | 6 ++++ .../dictionary/DictionaryListActivity.java | 3 +- .../android/dictionary/QuickDicConfig.java | 8 +++--- 7 files changed, 41 insertions(+), 26 deletions(-) diff --git a/res/layout/download_activity.xml b/res/layout/download_activity.xml index af67bd8..2ed5a64 100755 --- a/res/layout/download_activity.xml +++ b/res/layout/download_activity.xml @@ -1,4 +1,3 @@ - diff --git a/res/layout/edit_activity.xml b/res/layout/edit_activity.xml index 24c4b9c..00474ec 100755 --- a/res/layout/edit_activity.xml +++ b/res/layout/edit_activity.xml @@ -1,7 +1,7 @@ + android:layout_height="fill_parent"> - - - + diff --git a/src/com/hughes/android/dictionary/DictionaryActivity.java b/src/com/hughes/android/dictionary/DictionaryActivity.java index 84497e5..d217c81 100644 --- a/src/com/hughes/android/dictionary/DictionaryActivity.java +++ b/src/com/hughes/android/dictionary/DictionaryActivity.java @@ -36,6 +36,7 @@ import android.os.Handler; import android.preference.PreferenceManager; import android.text.ClipboardManager; import android.text.Editable; +import android.text.Selection; import android.text.Spannable; import android.text.TextWatcher; import android.text.style.StyleSpan; @@ -141,10 +142,9 @@ public class DictionaryActivity extends ListActivity { @Override public void onCreate(Bundle savedInstanceState) { + Log.d(LOG, "onCreate:" + this); ((DictionaryApplication)getApplication()).applyTheme(this); - super.onCreate(savedInstanceState); - Log.d(LOG, "onCreate:" + this); final SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this); @@ -477,12 +477,16 @@ public class DictionaryActivity extends ListActivity { @Override protected void onListItemClick(ListView l, View v, int row, long id) { + defocusSearchText(); + if (clickOpensContextMenu && dictRaf != null) { openContextMenu(v); } } void onAppendToWordList(final RowBase row) { + defocusSearchText(); + final StringBuilder rawText = new StringBuilder(); rawText.append( new SimpleDateFormat("yyyy.MM.dd HH:mm:ss").format(new Date())) @@ -492,9 +496,6 @@ public class DictionaryActivity extends ListActivity { rawText.append(row.getRawText(saveOnlyFirstSubentry)); Log.d(LOG, "Writing : " + rawText); - // Request focus so that if we start typing again, it clears the text input. - getListView().requestFocus(); - try { wordList.getParentFile().mkdirs(); final PrintWriter out = new PrintWriter( @@ -507,10 +508,22 @@ public class DictionaryActivity extends ListActivity { } return; } - - void onCopy(final RowBase row) { + + /** + * Called when user clicks outside of search text, so that they can start + * typing again immediately. + */ + void defocusSearchText() { + //Log.d(LOG, "defocusSearchText"); // Request focus so that if we start typing again, it clears the text input. getListView().requestFocus(); + + // Visual indication that a new keystroke will clear the search text. + searchText.selectAll(); + } + + void onCopy(final RowBase row) { + defocusSearchText(); Log.d(LOG, "Copy, row=" + row); final StringBuilder result = new StringBuilder(); @@ -527,6 +540,7 @@ public class DictionaryActivity extends ListActivity { searchText.setText("" + (char) event.getUnicodeChar()); onSearchTextChange(searchText.getText().toString()); searchText.requestFocus(); + Selection.moveToRightEdge(searchText.getText(), searchText.getLayout()); } return true; } diff --git a/src/com/hughes/android/dictionary/DictionaryConfig.java b/src/com/hughes/android/dictionary/DictionaryConfig.java index 3f9d1de..5dcd03d 100644 --- a/src/com/hughes/android/dictionary/DictionaryConfig.java +++ b/src/com/hughes/android/dictionary/DictionaryConfig.java @@ -27,4 +27,10 @@ public class DictionaryConfig implements Serializable { int openIndex = 0; String openWord = ""; + @Override + public String toString() { + return name; + } + + } diff --git a/src/com/hughes/android/dictionary/DictionaryListActivity.java b/src/com/hughes/android/dictionary/DictionaryListActivity.java index b51dd28..1c4015e 100644 --- a/src/com/hughes/android/dictionary/DictionaryListActivity.java +++ b/src/com/hughes/android/dictionary/DictionaryListActivity.java @@ -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) { diff --git a/src/com/hughes/android/dictionary/QuickDicConfig.java b/src/com/hughes/android/dictionary/QuickDicConfig.java index 4de278f..1923ccc 100644 --- a/src/com/hughes/android/dictionary/QuickDicConfig.java +++ b/src/com/hughes/android/dictionary/QuickDicConfig.java @@ -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 dictionaryConfigs = new ArrayList(); 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) { -- 2.43.0