diff options
| author | Bananeweizen <bananeweizen@gmx.de> | 2012-02-26 20:03:51 +0100 |
|---|---|---|
| committer | Bananeweizen <bananeweizen@gmx.de> | 2012-02-26 20:03:51 +0100 |
| commit | 1e615aceb200399b6264e1939383370ed9695322 (patch) | |
| tree | 74c16b834ccf8af5925cdcfad524126402ec8a2d | |
| parent | d89d01c0a9f02972ebe910b04ff0b64f2fc64b35 (diff) | |
| download | cgeo-1e615aceb200399b6264e1939383370ed9695322.zip cgeo-1e615aceb200399b6264e1939383370ed9695322.tar.gz cgeo-1e615aceb200399b6264e1939383370ed9695322.tar.bz2 | |
fix #1190: "Send to" for the text fields in cache details
| -rw-r--r-- | main/res/values-de/strings.xml | 3 | ||||
| -rw-r--r-- | main/res/values/strings.xml | 1 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/CacheDetailActivity.java | 34 |
3 files changed, 24 insertions, 14 deletions
diff --git a/main/res/values-de/strings.xml b/main/res/values-de/strings.xml index e3c1f5c..c7a6ec8 100644 --- a/main/res/values-de/strings.xml +++ b/main/res/values-de/strings.xml @@ -578,7 +578,8 @@ <string name="cache_image">Bild</string> <string name="cache_image_open_file">Als Datei öffnen</string> <string name="cache_image_open_browser">Im Browser öffnen</string> - + <string name="cache_share_field">Weiterleiten</string> + <!-- file list base --> <string name="file_searching_in">Suche nach Dateien\nin</string> <string name="file_searching_sdcard_in">Keine Dateien in Standardverzeichnissen gefunden:\n%1$s\n\nDurchsuche komplette SD-Karte:\n</string> diff --git a/main/res/values/strings.xml b/main/res/values/strings.xml index f1507be..4fe140c 100644 --- a/main/res/values/strings.xml +++ b/main/res/values/strings.xml @@ -593,6 +593,7 @@ <string name="cache_image">Image</string> <string name="cache_image_open_file">Open as file</string> <string name="cache_image_open_browser">Open in browser</string> + <string name="cache_share_field">Share</string> <!-- file list base --> <string name="file_searching_in">Searching for files\nin</string> diff --git a/main/src/cgeo/geocaching/CacheDetailActivity.java b/main/src/cgeo/geocaching/CacheDetailActivity.java index a9c9dbf..29c8934 100644 --- a/main/src/cgeo/geocaching/CacheDetailActivity.java +++ b/main/src/cgeo/geocaching/CacheDetailActivity.java @@ -102,6 +102,10 @@ import java.util.Map.Entry; */ public class CacheDetailActivity extends AbstractActivity { + private static final int MENU_FIELD_COPY = 1; + private static final int MENU_FIELD_TRANSLATE = 2; + private static final int MENU_FIELD_TRANSLATE_EN = 3; + private static final int MENU_FIELD_SHARE = 4; private static final int MENU_SHARE = 12; private static final int MENU_CALENDAR = 11; private static final int MENU_CACHES_AROUND = 10; @@ -443,17 +447,18 @@ public class CacheDetailActivity extends AbstractActivity { private void buildOptionsContextmenu(ContextMenu menu, int viewId, String copyPrompt, boolean copyOnly) { menu.setHeaderTitle(res.getString(R.string.options_context_menu_title)); - menu.add(viewId, 1, 0, copyPrompt); + menu.add(viewId, MENU_FIELD_COPY, 0, copyPrompt); if (!copyOnly) { if (clickedItemText.length() > TranslationUtils.translationTextLengthToWarn) { showToast(res.getString(R.string.translate_length_warning)); } - menu.add(viewId, 2, 0, res.getString(R.string.translate_to_sys_lang, Locale.getDefault().getDisplayLanguage())); + menu.add(viewId, MENU_FIELD_TRANSLATE, 0, res.getString(R.string.translate_to_sys_lang, Locale.getDefault().getDisplayLanguage())); if (Settings.isUseEnglish() && Locale.getDefault() != Locale.ENGLISH) { - menu.add(viewId, 3, 0, res.getString(R.string.translate_to_english)); + menu.add(viewId, MENU_FIELD_TRANSLATE_EN, 0, res.getString(R.string.translate_to_english)); } } + menu.add(viewId, MENU_FIELD_SHARE, 0, res.getString(R.string.cache_share_field)); } @Override @@ -468,15 +473,21 @@ public class CacheDetailActivity extends AbstractActivity { case R.id.hint: case R.id.log: switch (index) { - case 1: // copy + case MENU_FIELD_COPY: ClipboardUtils.copyToClipboard(clickedItemText); return true; - case 2: // translate to system language + case MENU_FIELD_TRANSLATE: TranslationUtils.startActivityTranslate(this, Locale.getDefault().getLanguage(), clickedItemText.toString()); return true; - case 3: // translate to English + case MENU_FIELD_TRANSLATE_EN: TranslationUtils.startActivityTranslate(this, Locale.ENGLISH.getLanguage(), clickedItemText.toString()); return true; + case MENU_FIELD_SHARE: + final Intent intent = new Intent(Intent.ACTION_SEND); + intent.setType("text/plain"); + intent.putExtra(Intent.EXTRA_TEXT, clickedItemText.toString()); + startActivity(Intent.createChooser(intent, res.getText(R.string.cache_share_field))); + return true; default: break; } @@ -501,24 +512,21 @@ public class CacheDetailActivity extends AbstractActivity { notifyDataSetChanged(); } break; - case CONTEXT_MENU_WAYPOINT_DEFAULT_NAVIGATION: - { + case CONTEXT_MENU_WAYPOINT_DEFAULT_NAVIGATION: { final cgWaypoint waypoint = cache.getWaypoint(index); if (waypoint != null) { NavigationAppFactory.startDefaultNavigationApplication(geolocation, this, null, waypoint, null); } - } + } break; - case CONTEXT_MENU_WAYPOINT_NAVIGATE: - { + case CONTEXT_MENU_WAYPOINT_NAVIGATE: { final cgWaypoint waypoint = cache.getWaypoint(contextMenuWPIndex); if (waypoint != null) { NavigationAppFactory.showNavigationMenu(geolocation, this, null, waypoint, null); } } break; - case CONTEXT_MENU_WAYPOINT_CACHES_AROUND: - { + case CONTEXT_MENU_WAYPOINT_CACHES_AROUND: { final cgWaypoint waypoint = cache.getWaypoint(index); if (waypoint != null) { cgeocaches.startActivityCachesAround(this, waypoint.getCoords()); |
