+ \r
+ @Override\r
+ public boolean onCreateOptionsMenu(final Menu menu) {\r
+ \r
+ {\r
+ final MenuItem preferences = menu.add(getString(R.string.preferences));\r
+ preferences.setOnMenuItemClickListener(new OnMenuItemClickListener() {\r
+ public boolean onMenuItemClick(final MenuItem menuItem) {\r
+ startActivity(new Intent(DictionaryActivity.this,\r
+ PreferenceActivity.class));\r
+ return false;\r
+ }\r
+ });\r
+ }\r
+\r
+ {\r
+ final MenuItem dictionaryList = menu.add(getString(R.string.dictionaryList));\r
+ dictionaryList.setOnMenuItemClickListener(new OnMenuItemClickListener() {\r
+ public boolean onMenuItemClick(final MenuItem menuItem) {\r
+ startActivity(DictionaryListActivity.getIntent(DictionaryActivity.this));\r
+ startActivity(DictionaryListActivity.getIntent(DictionaryActivity.this));\r
+ return false;\r
+ }\r
+ });\r
+ }\r
+\r
+ {\r
+ final MenuItem dictionaryList = menu.add(getString(R.string.editDictionary));\r
+ dictionaryList.setOnMenuItemClickListener(new OnMenuItemClickListener() {\r
+ public boolean onMenuItemClick(final MenuItem menuItem) {\r
+ final Intent intent = DictionaryEditActivity.getIntent(dictIndex);\r
+ startActivity(intent);\r
+ return false;\r
+ }\r
+ });\r
+ }\r
+\r
+ return true;\r
+ }\r
+\r
+\r
+ // --------------------------------------------------------------------------\r
+ // Context Menu + clicks\r
+ // --------------------------------------------------------------------------\r
+\r
+ @Override\r
+ public void onCreateContextMenu(ContextMenu menu, View v,\r
+ ContextMenuInfo menuInfo) {\r
+ AdapterContextMenuInfo adapterContextMenuInfo = (AdapterContextMenuInfo) menuInfo;\r
+ final RowBase row = (RowBase) getListAdapter().getItem(adapterContextMenuInfo.position);\r
+\r
+ final MenuItem addToWordlist = menu.add(getString(R.string.addToWordList, wordList.getName()));\r
+ addToWordlist.setOnMenuItemClickListener(new OnMenuItemClickListener() {\r
+ public boolean onMenuItemClick(MenuItem item) {\r
+ onAppendToWordList(row);\r
+ return false;\r
+ }\r
+ });\r
+\r
+ final MenuItem copy = menu.add(android.R.string.copy);\r
+ copy.setOnMenuItemClickListener(new OnMenuItemClickListener() {\r
+ public boolean onMenuItemClick(MenuItem item) {\r
+ onCopy(row);\r
+ return false;\r
+ }\r
+ });\r
+\r
+ }\r
+ \r
+ @Override\r
+ protected void onListItemClick(ListView l, View v, int row, long id) {\r
+ openContextMenu(v);\r
+ }\r
+ \r
+ void onAppendToWordList(final RowBase row) {\r
+ final StringBuilder rawText = new StringBuilder();\r
+ rawText.append(\r
+ new SimpleDateFormat("yyyy.MM.dd HH:mm:ss").format(new Date()))\r
+ .append("\t");\r
+ rawText.append(index.longName).append("\t");\r
+ rawText.append(row.getTokenRow(true).getToken()).append("\t");\r
+ rawText.append(row.getRawText(saveOnlyFirstSubentry));\r
+ Log.d(LOG, "Writing : " + rawText);\r
+ try {\r
+ wordList.getParentFile().mkdirs();\r
+ final PrintWriter out = new PrintWriter(\r
+ new FileWriter(wordList, true));\r
+ out.println(rawText.toString());\r
+ out.close();\r
+ } catch (IOException e) {\r
+ Log.e(LOG, "Unable to append to " + wordList.getAbsolutePath(), e);\r
+ Toast.makeText(this, getString(R.string.failedAddingToWordList, wordList.getAbsolutePath()), Toast.LENGTH_LONG);\r
+ }\r
+ return;\r
+ }\r
+\r
+ void onCopy(final RowBase row) {\r
+ Log.d(LOG, "Copy, row=" + row);\r
+ final StringBuilder result = new StringBuilder();\r
+ result.append(row.getRawText(false));\r
+ final ClipboardManager clipboardManager = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE);\r
+ clipboardManager.setText(result.toString());\r
+ Log.d(LOG, "Copied: " + result);\r
+ }\r
+\r
+ @Override\r
+ public boolean onKeyDown(final int keyCode, final KeyEvent event) {\r
+ if (event.getUnicodeChar() != 0) {\r
+ if (!searchText.hasFocus()) {\r
+ searchText.setText("" + (char) event.getUnicodeChar());\r
+ onSearchTextChange(searchText.getText().toString());\r
+ searchText.requestFocus();\r
+ }\r
+ return true;\r
+ }\r
+ return super.onKeyDown(keyCode, event);\r
+ }\r
+\r