diff options
| -rw-r--r-- | main/res/layout-land/coords.xml | 127 | ||||
| -rw-r--r-- | main/res/layout/coords.xml | 7 | ||||
| -rw-r--r-- | main/res/values-de/strings.xml | 5 | ||||
| -rw-r--r-- | main/res/values/strings.xml | 5 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/cgeoadvsearch.java | 2 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/cgeocoords.java | 24 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/cgeopoint.java | 2 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/cgeowaypointadd.java | 3 |
8 files changed, 166 insertions, 9 deletions
diff --git a/main/res/layout-land/coords.xml b/main/res/layout-land/coords.xml new file mode 100644 index 0000000..c25a2c0 --- /dev/null +++ b/main/res/layout-land/coords.xml @@ -0,0 +1,127 @@ +<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" + android:id="@+id/linearLayout1" + android:layout_width="fill_parent" + android:layout_height="wrap_content" + android:orientation="vertical" + android:background="?background_color"> + <LinearLayout style="@style/action_bar"> + <TextView style="@style/action_bar_title" + android:text="@string/cache_coordinates" /> + <View style="@style/action_bar_separator" /> + <ImageView android:id="@+id/actionBarManualbutton" + style="@style/action_bar_action" + android:src="@drawable/actionbar_manual" /> + </LinearLayout> + <ScrollView android:id="@+id/scroller" + android:layout_width="fill_parent" + android:layout_height="fill_parent" + android:fillViewport="true" > + <LinearLayout android:id="@+id/scroller_child" + android:layout_width="fill_parent" + android:layout_height="wrap_content" + android:orientation="vertical" > + <Spinner android:id="@+id/spinnerCoordinateFormats" + android:layout_width="fill_parent" + android:layout_height="wrap_content" /> + <TableLayout xmlns:android="http://schemas.android.com/apk/res/android" + android:id="@+id/coordTable" + android:layout_width="fill_parent" + android:layout_height="wrap_content" + android:stretchColumns="0,1,3,5,7" + android:layout_weight="1"> + <TableRow android:id="@+id/tableRow1"> + <Button android:id="@+id/ButtonLat" + style="@style/button"/> + <EditText style="@style/edittext" + android:id="@+id/EditTextLatDeg" + android:gravity="right" + android:inputType="number" + android:selectAllOnFocus="true" /> + <TextView android:id="@+id/LatSeparator1" + android:text="°" /> + <EditText android:id="@+id/EditTextLatMin" + style="@style/edittext" + android:gravity="right" + android:inputType="number" + android:selectAllOnFocus="true" /> + <TextView android:id="@+id/LatSeparator2" + android:text="," /> + <EditText android:id="@+id/EditTextLatSec" + style="@style/edittext" + android:gravity="right" + android:inputType="number" + android:selectAllOnFocus="true" /> + <TextView android:id="@+id/LatSeparator3" + android:text="," /> + <EditText android:id="@+id/EditTextLatSecFrac" + style="@style/edittext" + android:inputType="number" + android:selectAllOnFocus="true" /> + </TableRow> + <TableRow android:id="@+id/tableRow2"> + <Button android:id="@+id/ButtonLon" + style="@style/button"/> + <EditText android:id="@+id/EditTextLonDeg" + style="@style/edittext" + android:gravity="right" + android:inputType="number" + android:selectAllOnFocus="true" /> + <TextView android:id="@+id/LonSeparator1" + android:text="°" /> + <EditText android:id="@+id/EditTextLonMin" + style="@style/edittext" + android:gravity="right" + android:inputType="number" + android:selectAllOnFocus="true" /> + <TextView android:id="@+id/LonSeparator2" + android:text="," /> + <EditText android:id="@+id/EditTextLonSec" + style="@style/edittext" + android:gravity="right" + android:inputType="number" + android:selectAllOnFocus="true" /> + <TextView android:id="@+id/LonSeparator3" + android:text="," /> + <EditText android:id="@+id/EditTextLonSecFrac" + style="@style/edittext" + android:inputType="number" + android:selectAllOnFocus="true" /> + </TableRow> + </TableLayout> + <EditText + android:id="@+id/latitude" + style="@style/edittext" + android:layout_width="fill_parent" + android:layout_height="wrap_content" + android:hint="@string/latitude" /> + <EditText + android:id="@+id/longitude" + style="@style/edittext" + android:layout_width="fill_parent" + android:layout_height="wrap_content" + android:hint="@string/longitude" /> + <LinearLayout + android:id="@+id/linearLayout2" + android:layout_width="fill_parent" + android:layout_height="wrap_content" > + <Button style="@style/button" + android:layout_width="fill_parent" + android:layout_height="wrap_content" + android:id="@+id/current" + android:layout_weight="1" + android:text="@string/waypoint_my_coordinates" /> + <Button style="@style/button" + android:layout_width="fill_parent" + android:layout_height="wrap_content" + android:id="@+id/cache" + android:layout_weight="1" + android:text="@string/waypoint_cache_coordinates" /> + </LinearLayout> + <Button style="@style/button" + android:layout_width="fill_parent" + android:layout_height="wrap_content" + android:id="@+id/done" + android:text="@string/waypoint_done" /> + </LinearLayout> + </ScrollView> +</LinearLayout> diff --git a/main/res/layout/coords.xml b/main/res/layout/coords.xml index fdf7f49..d673d00 100644 --- a/main/res/layout/coords.xml +++ b/main/res/layout/coords.xml @@ -88,7 +88,7 @@ android:selectAllOnFocus="true" /> </TableRow> </TableLayout> - <EditText style="@style/edittext" + <EditText style="@style/edittext" android:layout_width="fill_parent" android:layout_height="wrap_content" android:id="@+id/latitude" @@ -106,6 +106,11 @@ <Button style="@style/button" android:layout_width="fill_parent" android:layout_height="wrap_content" + android:id="@+id/cache" + android:text="@string/waypoint_cache_coordinates" /> + <Button style="@style/button" + android:layout_width="fill_parent" + android:layout_height="wrap_content" android:id="@+id/done" android:text="@string/waypoint_done" /> </LinearLayout> diff --git a/main/res/values-de/strings.xml b/main/res/values-de/strings.xml index 41921af..81a518d 100644 --- a/main/res/values-de/strings.xml +++ b/main/res/values-de/strings.xml @@ -605,10 +605,11 @@ <!-- waypoint --> <string name="waypoint">Wegpunkt</string> <string name="waypoint_title">Wegpunkt</string> + <string name="waypoint_cache_coordinates">Cache Koordinaten</string> <string name="waypoint_custom">Benutzerdefiniert</string> <string name="waypoint_my_coordinates">Meine Koordinaten</string> - <string name="waypoint_bearing">Richtung</string> - <string name="waypoint_distance">Entfernung</string> + <string name="waypoint_bearing">Richtung in °</string> + <string name="waypoint_distance">Entfernung in m</string> <string name="waypoint_name">Name</string> <string name="waypoint_edit">Bearbeiten</string> <string name="waypoint_delete">Löschen</string> diff --git a/main/res/values/strings.xml b/main/res/values/strings.xml index b06ab22..7a87576 100644 --- a/main/res/values/strings.xml +++ b/main/res/values/strings.xml @@ -619,10 +619,11 @@ <!-- waypoint --> <string name="waypoint">Waypoint</string> <string name="waypoint_title">Waypoint</string> + <string name="waypoint_cache_coordinates">Cache coordinates</string> <string name="waypoint_custom">Custom</string> <string name="waypoint_my_coordinates">My coordinates</string> - <string name="waypoint_bearing">Bearing</string> - <string name="waypoint_distance">Distance</string> + <string name="waypoint_bearing">Bearing in °</string> + <string name="waypoint_distance">Distance in m</string> <string name="waypoint_name">Name</string> <string name="waypoint_edit">Edit</string> <string name="waypoint_delete">Delete</string> diff --git a/main/src/cgeo/geocaching/cgeoadvsearch.java b/main/src/cgeo/geocaching/cgeoadvsearch.java index 0951b31..754cbdb 100644 --- a/main/src/cgeo/geocaching/cgeoadvsearch.java +++ b/main/src/cgeo/geocaching/cgeoadvsearch.java @@ -263,7 +263,7 @@ public class cgeoadvsearch extends AbstractActivity { @Override public void onClick(View arg0) { - cgeocoords coordsDialog = new cgeocoords(cgeoadvsearch.this, null, geo); + cgeocoords coordsDialog = new cgeocoords(cgeoadvsearch.this, null, null, geo); coordsDialog.setCancelable(true); coordsDialog.setOnCoordinateUpdate(new cgeocoords.CoordinateUpdate() { @Override diff --git a/main/src/cgeo/geocaching/cgeocoords.java b/main/src/cgeo/geocaching/cgeocoords.java index 367fb22..3aadf05 100644 --- a/main/src/cgeo/geocaching/cgeocoords.java +++ b/main/src/cgeo/geocaching/cgeocoords.java @@ -29,6 +29,7 @@ public class cgeocoords extends Dialog { final private AbstractActivity context; final private cgGeo geo; + final private cgCache cache; private Geopoint gp; private EditText eLat, eLon; @@ -44,10 +45,11 @@ public class cgeocoords extends Dialog { private coordInputFormatEnum currentFormat = null; - public cgeocoords(final AbstractActivity context, final Geopoint gp, final cgGeo geo) { + public cgeocoords(final AbstractActivity context, final cgCache cache, final Geopoint gp, final cgGeo geo) { super(context); this.context = context; this.geo = geo; + this.cache = cache; if (gp != null) { this.gp = gp; @@ -131,6 +133,12 @@ public class cgeocoords extends Dialog { final Button buttonCurrent = (Button) findViewById(R.id.current); buttonCurrent.setOnClickListener(new CurrentListener()); + final Button buttonCache = (Button) findViewById(R.id.cache); + if (cache != null) { + buttonCache.setOnClickListener(new CacheListener()); + } else { + buttonCache.setVisibility(View.GONE); + } final Button buttonDone = (Button) findViewById(R.id.done); buttonDone.setOnClickListener(new InputDoneListener()); } @@ -481,6 +489,20 @@ public class cgeocoords extends Dialog { } } + private class CacheListener implements View.OnClickListener { + + @Override + public void onClick(View v) { + if (cache == null || cache.getCoords() == null) { + context.showToast(context.getResources().getString(R.string.err_location_unknown)); + return; + } + + gp = cache.getCoords(); + updateGUI(); + } + } + private class InputDoneListener implements View.OnClickListener { @Override diff --git a/main/src/cgeo/geocaching/cgeopoint.java b/main/src/cgeo/geocaching/cgeopoint.java index 5d109c4..1800b72 100644 --- a/main/src/cgeo/geocaching/cgeopoint.java +++ b/main/src/cgeo/geocaching/cgeopoint.java @@ -285,7 +285,7 @@ public class cgeopoint extends AbstractActivity { if (latButton.getText().length() > 0 && lonButton.getText().length() > 0) { gp = new Geopoint(latButton.getText().toString() + " " + lonButton.getText().toString()); } - cgeocoords coordsDialog = new cgeocoords(cgeopoint.this, gp, geo); + cgeocoords coordsDialog = new cgeocoords(cgeopoint.this, null, gp, geo); coordsDialog.setCancelable(true); coordsDialog.setOnCoordinateUpdate(new cgeocoords.CoordinateUpdate() { @Override diff --git a/main/src/cgeo/geocaching/cgeowaypointadd.java b/main/src/cgeo/geocaching/cgeowaypointadd.java index 74aee55..66e000e 100644 --- a/main/src/cgeo/geocaching/cgeowaypointadd.java +++ b/main/src/cgeo/geocaching/cgeowaypointadd.java @@ -229,7 +229,8 @@ public class cgeowaypointadd extends AbstractActivity { if (waypoint != null && waypoint.getCoords() != null) { gp = waypoint.getCoords(); } - cgeocoords coordsDialog = new cgeocoords(cgeowaypointadd.this, gp, geo); + cgCache cache = app.getCacheByGeocode(geocode); + cgeocoords coordsDialog = new cgeocoords(cgeowaypointadd.this, cache, gp, geo); coordsDialog.setCancelable(true); coordsDialog.setOnCoordinateUpdate(new cgeocoords.CoordinateUpdate() { @Override |
