aboutsummaryrefslogtreecommitdiffstats
path: root/main
diff options
context:
space:
mode:
authorBananeweizen <bananeweizen@gmx.de>2015-02-15 19:03:35 +0100
committerBananeweizen <bananeweizen@gmx.de>2015-02-15 19:03:35 +0100
commitf071c439321817ee09581dcbdf10c553214ff283 (patch)
tree8d2b4c13fb32c1b7d8a866de7583229cce341f3b /main
parent2f6dd14ce355f42f0fdcc23445ec6d2c119b095e (diff)
downloadcgeo-f071c439321817ee09581dcbdf10c553214ff283.zip
cgeo-f071c439321817ee09581dcbdf10c553214ff283.tar.gz
cgeo-f071c439321817ee09581dcbdf10c553214ff283.tar.bz2
fix #4677 have compass menu in map of single cache
Diffstat (limited to 'main')
-rw-r--r--main/res/menu/map_activity.xml11
-rw-r--r--main/src/cgeo/geocaching/maps/CGeoMap.java7
2 files changed, 16 insertions, 2 deletions
diff --git a/main/res/menu/map_activity.xml b/main/res/menu/map_activity.xml
index 667df17..4a97c0a 100644
--- a/main/res/menu/map_activity.xml
+++ b/main/res/menu/map_activity.xml
@@ -32,8 +32,15 @@
<item
android:id="@+id/menu_hint"
android:title="@string/cache_hint"
- app:showAsAction="ifRoom|withText"
- android:visible="false">
+ android:visible="false"
+ app:showAsAction="ifRoom|withText">
+ </item>
+ <item
+ android:id="@+id/menu_compass"
+ android:icon="@drawable/ic_menu_compass"
+ android:title="@string/compass_title"
+ android:visible="false"
+ app:showAsAction="ifRoom|withText">
</item>
<item
android:id="@+id/menu_store_caches"
diff --git a/main/src/cgeo/geocaching/maps/CGeoMap.java b/main/src/cgeo/geocaching/maps/CGeoMap.java
index bc5a5e1..009e49d 100644
--- a/main/src/cgeo/geocaching/maps/CGeoMap.java
+++ b/main/src/cgeo/geocaching/maps/CGeoMap.java
@@ -4,6 +4,7 @@ import butterknife.ButterKnife;
import cgeo.geocaching.CacheListActivity;
import cgeo.geocaching.CgeoApplication;
+import cgeo.geocaching.CompassActivity;
import cgeo.geocaching.DataStore;
import cgeo.geocaching.Geocache;
import cgeo.geocaching.Intents;
@@ -683,6 +684,7 @@ public class CGeoMap extends AbstractMap implements ViewFactory {
menu.findItem(R.id.menu_strategy_detailed).setChecked(true);
}
menu.findItem(R.id.menu_hint).setVisible(mapMode == MapMode.SINGLE);
+ menu.findItem(R.id.menu_compass).setVisible(mapMode == MapMode.SINGLE);
} catch (final RuntimeException e) {
Log.e("CGeoMap.onPrepareOptionsMenu", e);
}
@@ -791,6 +793,11 @@ public class CGeoMap extends AbstractMap implements ViewFactory {
caches.iterator().next().showHintToast(getActivity());
}
return true;
+ case R.id.menu_compass:
+ if (caches.size() == 1) {
+ CompassActivity.startActivityCache(this.getActivity(), caches.iterator().next());
+ }
+ return true;
default:
final MapSource mapSource = MapProviderFactory.getMapSource(id);
if (mapSource != null) {