diff options
| -rw-r--r-- | main/res/layout/main.xml | 5 | ||||
| -rw-r--r-- | main/res/values-de/strings.xml | 2 | ||||
| -rwxr-xr-x | main/res/values-sv/strings.xml | 21 | ||||
| -rw-r--r-- | main/res/values/strings.xml | 2 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/StaticMapsActivity.java | 42 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/StaticMapsProvider.java | 5 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/cgCache.java | 13 |
7 files changed, 76 insertions, 14 deletions
diff --git a/main/res/layout/main.xml b/main/res/layout/main.xml index ef6856b..6fd54f1 100644 --- a/main/res/layout/main.xml +++ b/main/res/layout/main.xml @@ -48,12 +48,11 @@ android:layout_width="74dip" android:layout_height="wrap_content" android:layout_margin="4dip" - android:orientation="vertical" - android:onClick="cgeoFindNearest" > + android:orientation="vertical"> <View android:id="@+id/nearest" style="@style/icon_mainscreen" - android:background="@drawable/main_nearby" /> + android:background="@drawable/main_nearby_disabled" /> <TextView style="@style/icon_mainscreen_text" android:text="@string/caches_nearby_button" /> diff --git a/main/res/values-de/strings.xml b/main/res/values-de/strings.xml index 79a94bc..aaa37a3 100644 --- a/main/res/values-de/strings.xml +++ b/main/res/values-de/strings.xml @@ -144,6 +144,7 @@ <string name="err_detail_no_spoiler">c:geo hat kein Hinweisbild für diesen Cache gefunden.</string> <string name="err_detail_no_map_static">c:geo hat keine statische Karte für diesen Cache gefunden.</string> <string name="err_detail_not_load_map_static">c:geo konnte die statische Karte nicht laden.</string> + <string name="err_detail_ask_store_map_static">c:geo konnte die statische Karte nicht laden. Jetzt speichern?</string> <string name="err_detail_still_working">Arbeite noch an anderer Aufgabe.</string> <string name="err_watchlist_still_managing">c:geo versucht noch immer deine Watchlist zu aktualisieren.</string> <string name="err_watchlist_failed">Ändern der Watchlist nicht erfolgreich.</string> @@ -222,6 +223,7 @@ <string name="info_log_type_changed">Logtyp wurde verändert!</string> <string name="info_fieldnotes_exported_to">Field-Notes exportiert nach</string> + <string name="info_storing_static_maps">Versuche, statische Karten zu speichern</string> <!-- location service --> <string name="loc_last">Letzte Position</string> diff --git a/main/res/values-sv/strings.xml b/main/res/values-sv/strings.xml index 68754e3..3d7426f 100755 --- a/main/res/values-sv/strings.xml +++ b/main/res/values-sv/strings.xml @@ -8,7 +8,7 @@ <string name="detail">Detaljer</string> <string name="search">Sök</string> <string name="settings">Inställningar</string> - <string name="helpers">Program att installera</string> + <string name="helpers">Bra program att installera</string> <string name="about">Om c:geo</string> <string name="helper">Vill du lära dig mer om <b>c:geo</b>?\nLäs manualen (på engelska).</string> <string name="latitude">Latitud</string> @@ -119,18 +119,18 @@ <string name="err_none">Ok</string> <string name="err_start">Kommunikationen har inte påbörjats</string> <string name="err_parse">Misslyckades att analysera inloggningssidan</string> - <string name="err_server">Misslyckades att ansluta till Geocaching.com (servern eller anslutningen nere?)</string> + <string name="err_server">Misslyckades att ansluta till Geocaching.com. Hemsidan kan vara ur funktion eller så är det problem med din anslutningen till Internet.</string> <string name="err_login">Inloggningsinformationen ej sparad</string> <string name="err_login_failed">Tyvärr kan c:geo inte logga in.</string> - <string name="err_login_failed_toast">Tyvärr kan c:geo inte logga in. c:geo kommer att köra i offline läge. Kontrollera dina inloggningsuppgifter i inställningarna och aktivera din internetanslutning.</string> + <string name="err_login_failed_toast">Tyvärr kan c:geo inte logga in. c:geo kommer att köra i offline läge med sparade cacher. Kontrollera dina inloggningsuppgifter och aktivera din internetanslutning.</string> <string name="err_unknown">Okänt fel</string> <string name="err_comm">Okänt kommunikationsfel</string> <string name="err_missing_auth">Användarnamn och/eller lösenord saknas.</string> <string name="err_wrong">Felaktiga inloggningsuppgifter</string> - <string name="err_maintenance">Arbete pågår med servern Geocaching.com, försök igen senare. c:geo fungerar under tiden i offline läge.</string> - <string name="err_license">användaren inte har bekräftat licensavtalet med Geocaching.com</string> + <string name="err_maintenance">Arbete pågår med servern Geocaching.com. c:geo fungerar under tiden i offline läge med sparade cacher.</string> + <string name="err_license">Du har inte bekräftat licensavtalet med Geocaching.com, så c:geo kan inte läsa in koordinater för cacherna.</string> <string name="err_unpublished">Den sökta cachen är opubliserad.</string> - <string name="err_premium_only">Cachen är enbart för premium medlemmar på Geocaching.com</string> + <string name="err_premium_only">Cachen är enbart för premium medlemmar på Geocaching.com.</string> <string name="err_store">Tyvärr kan c:geo inte spara cachen.</string> <string name="err_drop">Tyvärr kan c:geo inte ta bort cachen.</string> <string name="err_detail_open">Tyvärr kan c:geo inte visa detaljer om geocachen.</string> @@ -158,7 +158,6 @@ <string name="err_store_failed">Tyvärr kan c:geo inte spara geocachen.</string> <string name="err_refresh_failed">Tyvärr kan c:geo inte uppdatera geocachen.</string> <string name="err_dwld_details_failed">Tyvärr misslyckades c:geo att ladda detaljer.</string> - <string name="err_dwld_details_failed_reason">Tyvärr misslyckades c:geo att ladda detaljer pga</string> <string name="err_load_descr_failed">Tyvärr kan c:geo inte ladda beskrivningen.</string> <string name="err_location_unknown">c:geo har inte koordinaterna för cachen.</string> <string name="err_missing_device_name">Vänligen ange ett namn för din enhet innan registering.</string> @@ -176,6 +175,7 @@ <string name="err_waypoint_add_failed">Tyvärr misslyckades c:geo att lägga till din punkt.</string> <string name="err_waypoint_load_failed">Tyvärr misslyckades c:geo att ladda punkten.</string> <string name="err_waypoint_delete_failed">Tyvärr kan c:geo inte ta bort punkten.</string> + <string name="err_waypoint_open_cache_failed">c:geo kan inte öppna beskrivningen av cachen.</string> <string name="err_point_unknown_position">Tyvärr kan c:geo inte bestämma din position.</string> <string name="err_point_no_position_given_title">Mer info krävs</string> <string name="err_point_no_position_given">Ange minst latitud och longitud eller avstånd och riktning. Du kan också ange alla fyra.</string> @@ -380,7 +380,8 @@ <string name="init_showwaypoints">Extra punkter på Live kartan</string> <string name="init_showwaypoint_description">Gräns för antal cacher där extra punkter (parkering eller tillagd lösning) börjar visas i Live kartan. Bör vara mellan 5 och 50.</string> <string name="init_disabled">Dölj inaktiva cacher</string> - <string name="init_offline">Spara kartor för användning offline</string> + <string name="init_offline">Spara kartor för cacher för användning offline</string> + <string name="init_offline_wp">Spara kartor för extra punkter för användning offline</string> <string name="init_save_log_img">Spara bilder från loggar</string> <string name="init_units">Använd amerikanska enheter för avstånd</string> <string name="init_nav">Använd Google Navigering</string> @@ -476,6 +477,7 @@ <string name="cache_personal_note">Personlig anteckning</string> <string name="cache_description">Beskrivning</string> <string name="cache_description_long">Lång beskrivning</string> + <string name="cache_description_table_note">Varning från c:geo! Beskrivningen innehåller HTML-tabeller som eventuellt kan behöva öppnas i en webbläsare för att visas på önskat sätt.</string> <string name="cache_watchlist">Watchlist</string> <string name="cache_watchlist_on">Den här cachen finns i din watchlist.</string> <string name="cache_watchlist_not_on">Den här cachen finns inte i din watchlist.</string> @@ -624,6 +626,7 @@ <string name="waypoint_done">Klar</string> <string name="waypoint_duplicate">Duplicera</string> <string name="waypoint_copy_of">Kopia av</string> + <string name="waypoint_menu_open_cache">Visa cache</string> <string name="search_history">Historik</string> <string name="search_history_empty">Inga tidigare målpunkter</string> <string name="search_remove_destination">Punkten borttagen</string> @@ -725,6 +728,8 @@ <!-- helpers --> <string name="helper_manual_title">Manual</string> <string name="helper_manual_description">En utförlig manual för c:geo som beskriver alla möjligheter och ger en hel del tips. Manualen finns enbart på engelska.</string> + <string name="helper_calendar_title">c:geo kalendertillägg</string> + <string name="helper_calendar_description">Gör det möjligt att exportera event till din kalender.</string> <string name="helper_locus_title">Locus</string> <string name="helper_locus_description">Ett enkelt program för att visa Online kartor men som också medger nedladdning av raster kartor för användning i Offline läge. Stödjer även inspelning av väg (track recording), POI hantering och många andra användbara funktioner.</string> <string name="helper_gpsstatus_title">GPS Status</string> diff --git a/main/res/values/strings.xml b/main/res/values/strings.xml index 888374e..e319880 100644 --- a/main/res/values/strings.xml +++ b/main/res/values/strings.xml @@ -144,6 +144,7 @@ <string name="err_detail_no_spoiler">c:geo found no spoiler images for this cache.</string> <string name="err_detail_no_map_static">c:geo found no static maps for this cache.</string> <string name="err_detail_not_load_map_static">c:geo failed to load static maps.</string> + <string name="err_detail_ask_store_map_static">c:geo failed to load static maps. Store now?</string> <string name="err_detail_still_working">Still working on another task.</string> <string name="err_watchlist_still_managing">Still managing your watchlist.</string> <string name="err_watchlist_failed">Changing your watchlist failed.</string> @@ -221,6 +222,7 @@ <string name="info_log_type_changed">Type of log has been changed!</string> <string name="info_fieldnotes_exported_to">Field Notes exported to</string> + <string name="info_storing_static_maps">Trying to store static maps</string> <!-- location service --> <string name="loc_last">Last known</string> diff --git a/main/src/cgeo/geocaching/StaticMapsActivity.java b/main/src/cgeo/geocaching/StaticMapsActivity.java index 8155154..cae01b2 100644 --- a/main/src/cgeo/geocaching/StaticMapsActivity.java +++ b/main/src/cgeo/geocaching/StaticMapsActivity.java @@ -4,7 +4,9 @@ import cgeo.geocaching.activity.AbstractActivity; import org.apache.commons.collections.CollectionUtils; +import android.app.AlertDialog; import android.app.ProgressDialog; +import android.content.DialogInterface; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.os.Bundle; @@ -37,9 +39,14 @@ public class StaticMapsActivity extends AbstractActivity { waitDialog.dismiss(); } - showToast(res.getString(R.string.err_detail_not_load_map_static)); - - finish(); + if ((waypoint_id != null && Settings.isStoreOfflineWpMaps()) || (waypoint_id == null && Settings.isStoreOfflineMaps())) { + AlertDialog.Builder builder = new AlertDialog.Builder(StaticMapsActivity.this); + builder.setMessage(R.string.err_detail_ask_store_map_static).setPositiveButton(android.R.string.yes, dialogClickListener) + .setNegativeButton(android.R.string.no, dialogClickListener).show(); + } else { + showToast(res.getString(R.string.err_detail_not_load_map_static)); + finish(); + } return; } else { if (waitDialog != null) { @@ -72,6 +79,35 @@ public class StaticMapsActivity extends AbstractActivity { } }; + DialogInterface.OnClickListener dialogClickListener = new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + dialog.dismiss(); + switch (which) { + case DialogInterface.BUTTON_POSITIVE: + cgCache cache = app.getCacheByGeocode(geocode); + if (waypoint_id == null) { + StaticMapsProvider.storeCacheStaticMap(cache, StaticMapsActivity.this); + } else { + cgWaypoint waypoint = cache.getWaypointById(waypoint_id); + if (waypoint != null) { + StaticMapsProvider.storeWaypointStaticMap(cache, StaticMapsActivity.this, waypoint); + } else { + showToast(res.getString(R.string.err_detail_not_load_map_static)); + break; + } + } + showToast(res.getString(R.string.info_storing_static_maps)); + break; + + case DialogInterface.BUTTON_NEGATIVE: + showToast(res.getString(R.string.err_detail_not_load_map_static)); + break; + } + finish(); + } + }; + @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); diff --git a/main/src/cgeo/geocaching/StaticMapsProvider.java b/main/src/cgeo/geocaching/StaticMapsProvider.java index 123dbce..3c4aa60 100644 --- a/main/src/cgeo/geocaching/StaticMapsProvider.java +++ b/main/src/cgeo/geocaching/StaticMapsProvider.java @@ -85,6 +85,11 @@ public class StaticMapsProvider { downloadMaps(cache, wpMarkerUrl, "wp" + waypoint.getId() + "_", wpLatlonMap, edge, ""); } + public static void storeCacheStaticMap(cgCache cache, Activity activity) { + int edge = StaticMapsProvider.guessMinDisplaySide(activity); + storeCacheStaticMap(cache, edge); + } + private static void storeCacheStaticMap(cgCache cache, int edge) { final String latlonMap = cache.getCoords().format(Format.LAT_LON_DECDEGREE_COMMA); final StringBuilder waypoints = new StringBuilder(); diff --git a/main/src/cgeo/geocaching/cgCache.java b/main/src/cgeo/geocaching/cgCache.java index 6032791..edabc0c 100644 --- a/main/src/cgeo/geocaching/cgCache.java +++ b/main/src/cgeo/geocaching/cgCache.java @@ -1154,6 +1154,19 @@ public class cgCache implements ICache { return waypoints.get(index); } + /** + * @param index + * @return waypoint or <code>null</code> + */ + public cgWaypoint getWaypointById(int id) { + for (cgWaypoint waypoint : waypoints) { + if (waypoint.getId() == id) { + return waypoint; + } + } + return null; + } + public void parseWaypointsFromNote() { try { if (StringUtils.isBlank(getPersonalNote())) { |
