diff options
| -rw-r--r-- | cgeo-calendar/AndroidManifest.xml | 5 | ||||
| -rw-r--r-- | cgeo-calendar/lint.xml | 4 | ||||
| -rw-r--r-- | cgeo-calendar/src/cgeo/calendar/AbstractAddEntry.java | 1 | ||||
| -rw-r--r-- | main/AndroidManifest.xml | 2 | ||||
| -rw-r--r-- | main/lint.xml | 5 | ||||
| -rw-r--r-- | main/project.properties | 2 | ||||
| -rw-r--r-- | main/res/drawable-hdpi/ic_menu_mylocation.png | bin | 3948 -> 0 bytes | |||
| -rw-r--r-- | main/res/drawable-hdpi/marker_personalnote.png | bin | 1294 -> 675 bytes | |||
| -rw-r--r-- | main/res/drawable-hdpi/marker_usermodifiedcoords.png | bin | 736 -> 559 bytes | |||
| -rw-r--r-- | main/res/drawable-mdpi/actionbar_cgeo.png (renamed from main/res/drawable/actionbar_cgeo.png) | bin | 1865 -> 1865 bytes | |||
| -rw-r--r-- | main/res/drawable-mdpi/actionbar_compass_dark.png (renamed from main/res/drawable/actionbar_compass_dark.png) | bin | 870 -> 870 bytes | |||
| -rw-r--r-- | main/res/drawable-mdpi/actionbar_compass_light.png (renamed from main/res/drawable/actionbar_compass_light.png) | bin | 2061 -> 2061 bytes | |||
| -rw-r--r-- | main/res/drawable-mdpi/actionbar_home.png (renamed from main/res/drawable/actionbar_home.png) | bin | 706 -> 706 bytes | |||
| -rw-r--r-- | main/res/drawable-mdpi/actionbar_manual.png (renamed from main/res/drawable/actionbar_manual.png) | bin | 769 -> 769 bytes | |||
| -rw-r--r-- | main/res/drawable-mdpi/actionbar_map.png (renamed from main/res/drawable/actionbar_map.png) | bin | 886 -> 886 bytes | |||
| -rw-r--r-- | main/res/drawable-mdpi/actionbar_mylocation_off.png (renamed from main/res/drawable/actionbar_mylocation_off.png) | bin | 912 -> 912 bytes | |||
| -rw-r--r-- | main/res/drawable-mdpi/actionbar_mylocation_on.png (renamed from main/res/drawable/actionbar_mylocation_on.png) | bin | 919 -> 919 bytes | |||
| -rw-r--r-- | main/res/drawable-mdpi/actionbar_search.png (renamed from main/res/drawable/actionbar_search.png) | bin | 668 -> 668 bytes | |||
| -rw-r--r-- | main/res/drawable-mdpi/attribute__strikethru.png (renamed from main/res/drawable/attribute__strikethru.png) | bin | 354 -> 354 bytes | |||
| -rw-r--r-- | main/res/drawable-mdpi/attribute_abandonedbuilding.png (renamed from main/res/drawable/attribute_abandonedbuilding.png) | bin | 1084 -> 1084 bytes | |||
| -rw-r--r-- | main/res/drawable-mdpi/attribute_available.png (renamed from main/res/drawable/attribute_available.png) | bin | 1048 -> 1048 bytes | |||
| -rw-r--r-- | main/res/drawable-mdpi/attribute_bicycles.png (renamed from main/res/drawable/attribute_bicycles.png) | bin | 1266 -> 1266 bytes | |||
| -rw-r--r-- | main/res/drawable-mdpi/attribute_boat.png (renamed from main/res/drawable/attribute_boat.png) | bin | 860 -> 860 bytes | |||
| -rw-r--r-- | main/res/drawable-mdpi/attribute_campfires.png (renamed from main/res/drawable/attribute_campfires.png) | bin | 1152 -> 1152 bytes | |||
| -rw-r--r-- | main/res/drawable-mdpi/attribute_camping.png (renamed from main/res/drawable/attribute_camping.png) | bin | 919 -> 919 bytes | |||
| -rw-r--r-- | main/res/drawable-mdpi/attribute_cliff.png (renamed from main/res/drawable/attribute_cliff.png) | bin | 1090 -> 1090 bytes | |||
| -rw-r--r-- | main/res/drawable-mdpi/attribute_climbing.png (renamed from main/res/drawable/attribute_climbing.png) | bin | 1286 -> 1286 bytes | |||
| -rw-r--r-- | main/res/drawable-mdpi/attribute_cow.png (renamed from main/res/drawable/attribute_cow.png) | bin | 1027 -> 1027 bytes | |||
| -rw-r--r-- | main/res/drawable-mdpi/attribute_danger.png (renamed from main/res/drawable/attribute_danger.png) | bin | 1204 -> 1204 bytes | |||
| -rw-r--r-- | main/res/drawable-mdpi/attribute_dangerousanimals.png (renamed from main/res/drawable/attribute_dangerousanimals.png) | bin | 1360 -> 1360 bytes | |||
| -rw-r--r-- | main/res/drawable-mdpi/attribute_dogs.png (renamed from main/res/drawable/attribute_dogs.png) | bin | 1156 -> 1156 bytes | |||
| -rw-r--r-- | main/res/drawable-mdpi/attribute_fee.png (renamed from main/res/drawable/attribute_fee.png) | bin | 1072 -> 1072 bytes | |||
| -rw-r--r-- | main/res/drawable-mdpi/attribute_field_puzzle.png (renamed from main/res/drawable/attribute_field_puzzle.png) | bin | 1445 -> 1445 bytes | |||
| -rw-r--r-- | main/res/drawable-mdpi/attribute_firstaid.png (renamed from main/res/drawable/attribute_firstaid.png) | bin | 565 -> 565 bytes | |||
| -rw-r--r-- | main/res/drawable-mdpi/attribute_flashlight.png (renamed from main/res/drawable/attribute_flashlight.png) | bin | 827 -> 827 bytes | |||
| -rw-r--r-- | main/res/drawable-mdpi/attribute_food.png (renamed from main/res/drawable/attribute_food.png) | bin | 764 -> 764 bytes | |||
| -rw-r--r-- | main/res/drawable-mdpi/attribute_frontyard.png (renamed from main/res/drawable/attribute_frontyard.png) | bin | 1010 -> 1010 bytes | |||
| -rw-r--r-- | main/res/drawable-mdpi/attribute_fuel.png (renamed from main/res/drawable/attribute_fuel.png) | bin | 855 -> 855 bytes | |||
| -rw-r--r-- | main/res/drawable-mdpi/attribute_hike_long.png (renamed from main/res/drawable/attribute_hike_long.png) | bin | 1257 -> 1257 bytes | |||
| -rw-r--r-- | main/res/drawable-mdpi/attribute_hike_med.png (renamed from main/res/drawable/attribute_hike_med.png) | bin | 1261 -> 1261 bytes | |||
| -rw-r--r-- | main/res/drawable-mdpi/attribute_hike_short.png (renamed from main/res/drawable/attribute_hike_short.png) | bin | 1141 -> 1141 bytes | |||
| -rw-r--r-- | main/res/drawable-mdpi/attribute_hiking.png (renamed from main/res/drawable/attribute_hiking.png) | bin | 1141 -> 1141 bytes | |||
| -rw-r--r-- | main/res/drawable-mdpi/attribute_horses.png (renamed from main/res/drawable/attribute_horses.png) | bin | 1120 -> 1120 bytes | |||
| -rw-r--r-- | main/res/drawable-mdpi/attribute_hunting.png (renamed from main/res/drawable/attribute_hunting.png) | bin | 1324 -> 1324 bytes | |||
| -rw-r--r-- | main/res/drawable-mdpi/attribute_icon_not_found.png (renamed from main/res/drawable/attribute_icon_not_found.png) | bin | 1362 -> 1362 bytes | |||
| -rw-r--r-- | main/res/drawable-mdpi/attribute_jeeps.png (renamed from main/res/drawable/attribute_jeeps.png) | bin | 1076 -> 1076 bytes | |||
| -rw-r--r-- | main/res/drawable-mdpi/attribute_kids.png (renamed from main/res/drawable/attribute_kids.png) | bin | 1141 -> 1141 bytes | |||
| -rw-r--r-- | main/res/drawable-mdpi/attribute_landf.png (renamed from main/res/drawable/attribute_landf.png) | bin | 1252 -> 1252 bytes | |||
| -rw-r--r-- | main/res/drawable-mdpi/attribute_mine.png (renamed from main/res/drawable/attribute_mine.png) | bin | 1192 -> 1192 bytes | |||
| -rw-r--r-- | main/res/drawable-mdpi/attribute_motorcycles.png (renamed from main/res/drawable/attribute_motorcycles.png) | bin | 1151 -> 1151 bytes | |||
| -rw-r--r-- | main/res/drawable-mdpi/attribute_night.png (renamed from main/res/drawable/attribute_night.png) | bin | 1196 -> 1196 bytes | |||
| -rw-r--r-- | main/res/drawable-mdpi/attribute_nightcache.png (renamed from main/res/drawable/attribute_nightcache.png) | bin | 1278 -> 1278 bytes | |||
| -rw-r--r-- | main/res/drawable-mdpi/attribute_onehour.png (renamed from main/res/drawable/attribute_onehour.png) | bin | 1307 -> 1307 bytes | |||
| -rw-r--r-- | main/res/drawable-mdpi/attribute_parking.png (renamed from main/res/drawable/attribute_parking.png) | bin | 820 -> 820 bytes | |||
| -rw-r--r-- | main/res/drawable-mdpi/attribute_parkngrab.png (renamed from main/res/drawable/attribute_parkngrab.png) | bin | 1299 -> 1299 bytes | |||
| -rw-r--r-- | main/res/drawable-mdpi/attribute_partnership.png (renamed from main/res/drawable/attribute_partnership.png) | bin | 1228 -> 1228 bytes | |||
| -rw-r--r-- | main/res/drawable-mdpi/attribute_phone.png (renamed from main/res/drawable/attribute_phone.png) | bin | 990 -> 990 bytes | |||
| -rw-r--r-- | main/res/drawable-mdpi/attribute_picnic.png (renamed from main/res/drawable/attribute_picnic.png) | bin | 986 -> 986 bytes | |||
| -rw-r--r-- | main/res/drawable-mdpi/attribute_poisonoak.png (renamed from main/res/drawable/attribute_poisonoak.png) | bin | 1239 -> 1239 bytes | |||
| -rw-r--r-- | main/res/drawable-mdpi/attribute_public.png (renamed from main/res/drawable/attribute_public.png) | bin | 1066 -> 1066 bytes | |||
| -rw-r--r-- | main/res/drawable-mdpi/attribute_quads.png (renamed from main/res/drawable/attribute_quads.png) | bin | 1218 -> 1218 bytes | |||
| -rw-r--r-- | main/res/drawable-mdpi/attribute_rappelling.png (renamed from main/res/drawable/attribute_rappelling.png) | bin | 1166 -> 1166 bytes | |||
| -rw-r--r-- | main/res/drawable-mdpi/attribute_restrooms.png (renamed from main/res/drawable/attribute_restrooms.png) | bin | 1092 -> 1092 bytes | |||
| -rw-r--r-- | main/res/drawable-mdpi/attribute_rv.png (renamed from main/res/drawable/attribute_rv.png) | bin | 961 -> 961 bytes | |||
| -rw-r--r-- | main/res/drawable-mdpi/attribute_s_tool.png (renamed from main/res/drawable/attribute_s_tool.png) | bin | 1168 -> 1168 bytes | |||
| -rw-r--r-- | main/res/drawable-mdpi/attribute_scenic.png (renamed from main/res/drawable/attribute_scenic.png) | bin | 888 -> 888 bytes | |||
| -rw-r--r-- | main/res/drawable-mdpi/attribute_scuba.png (renamed from main/res/drawable/attribute_scuba.png) | bin | 1072 -> 1072 bytes | |||
| -rw-r--r-- | main/res/drawable-mdpi/attribute_seasonal.png (renamed from main/res/drawable/attribute_seasonal.png) | bin | 1251 -> 1251 bytes | |||
| -rw-r--r-- | main/res/drawable-mdpi/attribute_skiis.png (renamed from main/res/drawable/attribute_skiis.png) | bin | 1292 -> 1292 bytes | |||
| -rw-r--r-- | main/res/drawable-mdpi/attribute_snowmobiles.png (renamed from main/res/drawable/attribute_snowmobiles.png) | bin | 993 -> 993 bytes | |||
| -rw-r--r-- | main/res/drawable-mdpi/attribute_snowshoes.png (renamed from main/res/drawable/attribute_snowshoes.png) | bin | 1220 -> 1220 bytes | |||
| -rw-r--r-- | main/res/drawable-mdpi/attribute_stealth.png (renamed from main/res/drawable/attribute_stealth.png) | bin | 1041 -> 1041 bytes | |||
| -rw-r--r-- | main/res/drawable-mdpi/attribute_stroller.png (renamed from main/res/drawable/attribute_stroller.png) | bin | 1185 -> 1185 bytes | |||
| -rw-r--r-- | main/res/drawable-mdpi/attribute_swimming.png (renamed from main/res/drawable/attribute_swimming.png) | bin | 1121 -> 1121 bytes | |||
| -rw-r--r-- | main/res/drawable-mdpi/attribute_teamwork.png (renamed from main/res/drawable/attribute_teamwork.png) | bin | 1086 -> 1086 bytes | |||
| -rw-r--r-- | main/res/drawable-mdpi/attribute_thorn.png (renamed from main/res/drawable/attribute_thorn.png) | bin | 1259 -> 1259 bytes | |||
| -rw-r--r-- | main/res/drawable-mdpi/attribute_ticks.png (renamed from main/res/drawable/attribute_ticks.png) | bin | 1263 -> 1263 bytes | |||
| -rw-r--r-- | main/res/drawable-mdpi/attribute_touristok.png (renamed from main/res/drawable/attribute_touristok.png) | bin | 800 -> 800 bytes | |||
| -rw-r--r-- | main/res/drawable-mdpi/attribute_treeclimbing.png (renamed from main/res/drawable/attribute_treeclimbing.png) | bin | 851 -> 851 bytes | |||
| -rw-r--r-- | main/res/drawable-mdpi/attribute_uv.png (renamed from main/res/drawable/attribute_uv.png) | bin | 1037 -> 1037 bytes | |||
| -rw-r--r-- | main/res/drawable-mdpi/attribute_wading.png (renamed from main/res/drawable/attribute_wading.png) | bin | 954 -> 954 bytes | |||
| -rw-r--r-- | main/res/drawable-mdpi/attribute_water.png (renamed from main/res/drawable/attribute_water.png) | bin | 1129 -> 1129 bytes | |||
| -rw-r--r-- | main/res/drawable-mdpi/attribute_wheelchair.png (renamed from main/res/drawable/attribute_wheelchair.png) | bin | 1167 -> 1167 bytes | |||
| -rw-r--r-- | main/res/drawable-mdpi/attribute_winter.png (renamed from main/res/drawable/attribute_winter.png) | bin | 1439 -> 1439 bytes | |||
| -rw-r--r-- | main/res/drawable-mdpi/attribute_wirelessbeacon.png (renamed from main/res/drawable/attribute_wirelessbeacon.png) | bin | 1396 -> 1396 bytes | |||
| -rw-r--r-- | main/res/drawable-mdpi/cgeo.png (renamed from main/res/drawable/cgeo.png) | bin | 4942 -> 4942 bytes | |||
| -rw-r--r-- | main/res/drawable-mdpi/cgeo_logo.png (renamed from main/res/drawable/cgeo_logo.png) | bin | 85871 -> 85871 bytes | |||
| -rw-r--r-- | main/res/drawable-mdpi/compass_arrow.png (renamed from main/res/drawable/compass_arrow.png) | bin | 8608 -> 8608 bytes | |||
| -rw-r--r-- | main/res/drawable-mdpi/compass_arrow_mini_black.png (renamed from main/res/drawable/compass_arrow_mini_black.png) | bin | 313 -> 313 bytes | |||
| -rw-r--r-- | main/res/drawable-mdpi/compass_arrow_mini_white.png (renamed from main/res/drawable/compass_arrow_mini_white.png) | bin | 318 -> 318 bytes | |||
| -rw-r--r-- | main/res/drawable-mdpi/compass_overlay.png (renamed from main/res/drawable/compass_overlay.png) | bin | 4526 -> 4526 bytes | |||
| -rw-r--r-- | main/res/drawable-mdpi/compass_rose.png (renamed from main/res/drawable/compass_rose.png) | bin | 4972 -> 4972 bytes | |||
| -rw-r--r-- | main/res/drawable-mdpi/compass_underlay.png (renamed from main/res/drawable/compass_underlay.png) | bin | 22480 -> 22480 bytes | |||
| -rw-r--r-- | main/res/drawable-mdpi/helper_barcode.png (renamed from main/res/drawable/helper_barcode.png) | bin | 13114 -> 13114 bytes | |||
| -rw-r--r-- | main/res/drawable-mdpi/helper_bluetoothgps.png (renamed from main/res/drawable/helper_bluetoothgps.png) | bin | 31768 -> 31768 bytes | |||
| -rw-r--r-- | main/res/drawable-mdpi/helper_gpsstatus.png (renamed from main/res/drawable/helper_gpsstatus.png) | bin | 59328 -> 59328 bytes | |||
| -rw-r--r-- | main/res/drawable-mdpi/helper_locus.png (renamed from main/res/drawable/helper_locus.png) | bin | 43680 -> 43680 bytes | |||
| -rw-r--r-- | main/res/drawable-mdpi/helper_manual.png (renamed from main/res/drawable/helper_manual.png) | bin | 50536 -> 50536 bytes | |||
| -rw-r--r-- | main/res/drawable-mdpi/ic_menu_add.png (renamed from main/res/drawable/ic_menu_add.png) | bin | 2017 -> 2017 bytes | |||
| -rw-r--r-- | main/res/drawable-mdpi/ic_menu_agenda.png (renamed from main/res/drawable/ic_menu_agenda.png) | bin | 4805 -> 4805 bytes | |||
| -rw-r--r-- | main/res/drawable-mdpi/ic_menu_barcode.png (renamed from main/res/drawable/ic_menu_barcode.png) | bin | 2657 -> 2657 bytes | |||
| -rw-r--r-- | main/res/drawable-mdpi/ic_menu_circle.png (renamed from main/res/drawable/ic_menu_circle.png) | bin | 2374 -> 2374 bytes | |||
| -rw-r--r-- | main/res/drawable-mdpi/ic_menu_clear_playlist.png (renamed from main/res/drawable/ic_menu_clear_playlist.png) | bin | 2281 -> 2281 bytes | |||
| -rw-r--r-- | main/res/drawable-mdpi/ic_menu_compass.png (renamed from main/res/drawable/ic_menu_compass.png) | bin | 3943 -> 3943 bytes | |||
| -rw-r--r-- | main/res/drawable-mdpi/ic_menu_delete.png (renamed from main/res/drawable/ic_menu_delete.png) | bin | 1747 -> 1747 bytes | |||
| -rw-r--r-- | main/res/drawable-mdpi/ic_menu_edit.png (renamed from main/res/drawable/ic_menu_edit.png) | bin | 1661 -> 1661 bytes | |||
| -rw-r--r-- | main/res/drawable-mdpi/ic_menu_emoticons.png (renamed from main/res/drawable/ic_menu_emoticons.png) | bin | 2056 -> 2056 bytes | |||
| -rw-r--r-- | main/res/drawable-mdpi/ic_menu_filter.png (renamed from main/res/drawable/ic_menu_filter.png) | bin | 1690 -> 1690 bytes | |||
| -rw-r--r-- | main/res/drawable-mdpi/ic_menu_globe.png (renamed from main/res/drawable/ic_menu_globe.png) | bin | 3248 -> 3248 bytes | |||
| -rw-r--r-- | main/res/drawable-mdpi/ic_menu_info_details.png (renamed from main/res/drawable/ic_menu_info_details.png) | bin | 2128 -> 2128 bytes | |||
| -rw-r--r-- | main/res/drawable-mdpi/ic_menu_mapmode.png (renamed from main/res/drawable/ic_menu_mapmode.png) | bin | 1923 -> 1923 bytes | |||
| -rw-r--r-- | main/res/drawable-mdpi/ic_menu_mark.png (renamed from main/res/drawable/ic_menu_mark.png) | bin | 2519 -> 2519 bytes | |||
| -rw-r--r-- | main/res/drawable-mdpi/ic_menu_myplaces.png (renamed from main/res/drawable/ic_menu_myplaces.png) | bin | 2011 -> 2011 bytes | |||
| -rw-r--r-- | main/res/drawable-mdpi/ic_menu_preferences.png (renamed from main/res/drawable/ic_menu_preferences.png) | bin | 2315 -> 2315 bytes | |||
| -rw-r--r-- | main/res/drawable-mdpi/ic_menu_recent_history.png (renamed from main/res/drawable/ic_menu_recent_history.png) | bin | 2647 -> 2647 bytes | |||
| -rw-r--r-- | main/res/drawable-mdpi/ic_menu_refresh.png (renamed from main/res/drawable/ic_menu_refresh.png) | bin | 2450 -> 2450 bytes | |||
| -rw-r--r-- | main/res/drawable-mdpi/ic_menu_rotate.png (renamed from main/res/drawable/ic_menu_rotate.png) | bin | 2477 -> 2477 bytes | |||
| -rw-r--r-- | main/res/drawable-mdpi/ic_menu_save.png (renamed from main/res/drawable/ic_menu_save.png) | bin | 1645 -> 1645 bytes | |||
| -rw-r--r-- | main/res/drawable-mdpi/ic_menu_set_as.png (renamed from main/res/drawable/ic_menu_set_as.png) | bin | 1828 -> 1828 bytes | |||
| -rw-r--r-- | main/res/drawable-mdpi/ic_menu_share.png (renamed from main/res/drawable/ic_menu_share.png) | bin | 2194 -> 2194 bytes | |||
| -rw-r--r-- | main/res/drawable-mdpi/ic_menu_shopping.png (renamed from main/res/drawable/ic_menu_shopping.png) | bin | 1947 -> 1947 bytes | |||
| -rw-r--r-- | main/res/drawable-mdpi/ic_menu_sort_alphabetically.png (renamed from main/res/drawable/ic_menu_sort_alphabetically.png) | bin | 2077 -> 2077 bytes | |||
| -rw-r--r-- | main/res/drawable-mdpi/ic_menu_sort_by_size.png (renamed from main/res/drawable/ic_menu_sort_by_size.png) | bin | 1067 -> 1067 bytes | |||
| -rw-r--r-- | main/res/drawable-mdpi/ic_menu_trail.png (renamed from main/res/drawable/ic_menu_trail.png) | bin | 1836 -> 1836 bytes | |||
| -rw-r--r-- | main/res/drawable-mdpi/image_no_placement.png (renamed from main/res/drawable/image_no_placement.png) | bin | 147 -> 147 bytes | |||
| -rw-r--r-- | main/res/drawable-mdpi/image_not_loaded.png (renamed from main/res/drawable/image_not_loaded.png) | bin | 3336 -> 3336 bytes | |||
| -rw-r--r-- | main/res/drawable-mdpi/log_img_dark.png (renamed from main/res/drawable/log_img_dark.png) | bin | 329 -> 329 bytes | |||
| -rw-r--r-- | main/res/drawable-mdpi/log_img_light.png (renamed from main/res/drawable/log_img_light.png) | bin | 317 -> 317 bytes | |||
| -rw-r--r-- | main/res/drawable-mdpi/main_any_default.png (renamed from main/res/drawable/main_any_default.png) | bin | 5115 -> 5115 bytes | |||
| -rw-r--r-- | main/res/drawable-mdpi/main_filter_default.png (renamed from main/res/drawable/main_filter_default.png) | bin | 2634 -> 2634 bytes | |||
| -rw-r--r-- | main/res/drawable-mdpi/main_live_default.png (renamed from main/res/drawable/main_live_default.png) | bin | 4799 -> 4799 bytes | |||
| -rw-r--r-- | main/res/drawable-mdpi/main_nearby_default.png (renamed from main/res/drawable/main_nearby_default.png) | bin | 4536 -> 4536 bytes | |||
| -rw-r--r-- | main/res/drawable-mdpi/main_nearby_disabled.png (renamed from main/res/drawable/main_nearby_disabled.png) | bin | 3922 -> 3922 bytes | |||
| -rw-r--r-- | main/res/drawable-mdpi/main_search_default.png (renamed from main/res/drawable/main_search_default.png) | bin | 4707 -> 4707 bytes | |||
| -rw-r--r-- | main/res/drawable-mdpi/main_stored_default.png (renamed from main/res/drawable/main_stored_default.png) | bin | 4614 -> 4614 bytes | |||
| -rw-r--r-- | main/res/drawable-mdpi/marker.png (renamed from main/res/drawable/marker.png) | bin | 2500 -> 2500 bytes | |||
| -rw-r--r-- | main/res/drawable-mdpi/marker_disabled.png (renamed from main/res/drawable/marker_disabled.png) | bin | 3067 -> 3067 bytes | |||
| -rw-r--r-- | main/res/drawable-mdpi/marker_found.png (renamed from main/res/drawable/marker_found.png) | bin | 623 -> 623 bytes | |||
| -rw-r--r-- | main/res/drawable-mdpi/marker_found_offline.png (renamed from main/res/drawable/marker_found_offline.png) | bin | 646 -> 646 bytes | |||
| -rw-r--r-- | main/res/drawable-mdpi/marker_notreliable.png (renamed from main/res/drawable/marker_notreliable.png) | bin | 481 -> 481 bytes | |||
| -rw-r--r-- | main/res/drawable-mdpi/marker_own.png (renamed from main/res/drawable/marker_own.png) | bin | 420 -> 420 bytes | |||
| -rw-r--r-- | main/res/drawable-mdpi/marker_personalnote.png (renamed from main/res/drawable/marker_personalnote.png) | bin | 538 -> 538 bytes | |||
| -rw-r--r-- | main/res/drawable-mdpi/marker_stored.png (renamed from main/res/drawable/marker_stored.png) | bin | 483 -> 483 bytes | |||
| -rw-r--r-- | main/res/drawable-mdpi/marker_usermodifiedcoords.png (renamed from main/res/drawable/marker_usermodifiedcoords.png) | bin | 440 -> 440 bytes | |||
| -rw-r--r-- | main/res/drawable-mdpi/my_location_chevron.png (renamed from main/res/drawable/my_location_chevron.png) | bin | 2264 -> 2264 bytes | |||
| -rw-r--r-- | main/res/drawable-mdpi/star_half.png (renamed from main/res/drawable/star_half.png) | bin | 522 -> 522 bytes | |||
| -rw-r--r-- | main/res/drawable-mdpi/star_off.png (renamed from main/res/drawable/star_off.png) | bin | 499 -> 499 bytes | |||
| -rw-r--r-- | main/res/drawable-mdpi/star_on.png (renamed from main/res/drawable/star_on.png) | bin | 549 -> 549 bytes | |||
| -rw-r--r-- | main/res/drawable-mdpi/trackable_all.png (renamed from main/res/drawable/trackable_all.png) | bin | 748 -> 748 bytes | |||
| -rw-r--r-- | main/res/drawable-mdpi/type_ape.png (renamed from main/res/drawable/type_ape.png) | bin | 697 -> 697 bytes | |||
| -rw-r--r-- | main/res/drawable-mdpi/type_cito.png (renamed from main/res/drawable/type_cito.png) | bin | 781 -> 781 bytes | |||
| -rw-r--r-- | main/res/drawable-mdpi/type_earth.png (renamed from main/res/drawable/type_earth.png) | bin | 872 -> 872 bytes | |||
| -rw-r--r-- | main/res/drawable-mdpi/type_event.png (renamed from main/res/drawable/type_event.png) | bin | 654 -> 654 bytes | |||
| -rw-r--r-- | main/res/drawable-mdpi/type_hq.png (renamed from main/res/drawable/type_hq.png) | bin | 621 -> 621 bytes | |||
| -rw-r--r-- | main/res/drawable-mdpi/type_letterbox.png (renamed from main/res/drawable/type_letterbox.png) | bin | 692 -> 692 bytes | |||
| -rw-r--r-- | main/res/drawable-mdpi/type_mega.png (renamed from main/res/drawable/type_mega.png) | bin | 736 -> 736 bytes | |||
| -rw-r--r-- | main/res/drawable-mdpi/type_multi.png (renamed from main/res/drawable/type_multi.png) | bin | 1073 -> 1073 bytes | |||
| -rw-r--r-- | main/res/drawable-mdpi/type_mystery.png (renamed from main/res/drawable/type_mystery.png) | bin | 899 -> 899 bytes | |||
| -rw-r--r-- | main/res/drawable-mdpi/type_traditional.png (renamed from main/res/drawable/type_traditional.png) | bin | 756 -> 756 bytes | |||
| -rw-r--r-- | main/res/drawable-mdpi/type_unknown.png (renamed from main/res/drawable/type_unknown.png) | bin | 838 -> 838 bytes | |||
| -rw-r--r-- | main/res/drawable-mdpi/type_virtual.png (renamed from main/res/drawable/type_virtual.png) | bin | 580 -> 580 bytes | |||
| -rw-r--r-- | main/res/drawable-mdpi/type_webcam.png (renamed from main/res/drawable/type_webcam.png) | bin | 769 -> 769 bytes | |||
| -rw-r--r-- | main/res/drawable-mdpi/type_wherigo.png (renamed from main/res/drawable/type_wherigo.png) | bin | 807 -> 807 bytes | |||
| -rw-r--r-- | main/res/drawable-mdpi/waypoint_flag.png (renamed from main/res/drawable/waypoint_flag.png) | bin | 462 -> 462 bytes | |||
| -rw-r--r-- | main/res/drawable-mdpi/waypoint_pkg.png (renamed from main/res/drawable/waypoint_pkg.png) | bin | 487 -> 487 bytes | |||
| -rw-r--r-- | main/res/drawable-mdpi/waypoint_puzzle.png (renamed from main/res/drawable/waypoint_puzzle.png) | bin | 560 -> 560 bytes | |||
| -rw-r--r-- | main/res/drawable-mdpi/waypoint_stage.png (renamed from main/res/drawable/waypoint_stage.png) | bin | 554 -> 554 bytes | |||
| -rw-r--r-- | main/res/drawable-mdpi/waypoint_trailhead.png (renamed from main/res/drawable/waypoint_trailhead.png) | bin | 560 -> 560 bytes | |||
| -rw-r--r-- | main/res/drawable-mdpi/waypoint_waypoint.png (renamed from main/res/drawable/waypoint_waypoint.png) | bin | 550 -> 550 bytes | |||
| -rw-r--r-- | main/res/drawable/action_button_dark_dialog.xml | 9 | ||||
| -rw-r--r-- | main/res/drawable/action_button_light_dialog.xml | 9 | ||||
| -rw-r--r-- | main/res/drawable/bcg_dark.xml | 6 | ||||
| -rw-r--r-- | main/res/drawable/bcg_dialog_dark.xml | 6 | ||||
| -rw-r--r-- | main/res/drawable/bcg_dialog_light.xml | 6 | ||||
| -rw-r--r-- | main/res/drawable/bcg_light.xml | 6 | ||||
| -rw-r--r-- | main/res/drawable/cache_dark.xml | 6 | ||||
| -rw-r--r-- | main/res/drawable/cache_light.xml | 6 | ||||
| -rw-r--r-- | main/res/drawable/cache_light_pressed.xml | 6 | ||||
| -rw-r--r-- | main/res/drawable/client_cgeo.png | bin | 2413 -> 0 bytes | |||
| -rw-r--r-- | main/res/drawable/client_handygeocaching.png | bin | 2072 -> 0 bytes | |||
| -rw-r--r-- | main/res/drawable/client_precaching.png | bin | 2030 -> 0 bytes | |||
| -rw-r--r-- | main/res/drawable/dialog_button_dark.xml | 6 | ||||
| -rw-r--r-- | main/res/drawable/dialog_button_light.xml | 6 | ||||
| -rw-r--r-- | main/res/drawable/ic_menu_mylocation.png | bin | 5307 -> 0 bytes | |||
| -rw-r--r-- | main/res/drawable/icon_big.png | bin | 4551 -> 0 bytes | |||
| -rw-r--r-- | main/res/drawable/map_status_dark.xml | 9 | ||||
| -rw-r--r-- | main/res/drawable/map_status_light.xml | 9 | ||||
| -rw-r--r-- | main/res/drawable/mark_gray.xml (renamed from main/res/drawable/cache_dark_pressed.xml) | 2 | ||||
| -rw-r--r-- | main/res/drawable/separator_dark.xml | 6 | ||||
| -rw-r--r-- | main/res/drawable/separator_light.xml | 6 | ||||
| -rw-r--r-- | main/res/drawable/user_location.png | bin | 553 -> 0 bytes | |||
| -rw-r--r-- | main/res/drawable/user_location_active.png | bin | 574 -> 0 bytes | |||
| -rw-r--r-- | main/res/layout-land/coords.xml | 305 | ||||
| -rw-r--r-- | main/res/layout/about.xml | 2 | ||||
| -rw-r--r-- | main/res/layout/auth.xml | 161 | ||||
| -rw-r--r-- | main/res/layout/cacheview.xml | 2 | ||||
| -rw-r--r-- | main/res/layout/cacheview_description.xml | 2 | ||||
| -rw-r--r-- | main/res/layout/cacheview_details.xml | 2 | ||||
| -rw-r--r-- | main/res/layout/cacheview_waypoints.xml | 2 | ||||
| -rw-r--r-- | main/res/layout/coords.xml | 288 | ||||
| -rw-r--r-- | main/res/layout/editor.xml | 2 | ||||
| -rw-r--r-- | main/res/layout/filter_bar.xml | 23 | ||||
| -rw-r--r-- | main/res/layout/init.xml | 23 | ||||
| -rw-r--r-- | main/res/layout/navigate.xml | 2 | ||||
| -rw-r--r-- | main/res/layout/popup.xml | 76 | ||||
| -rw-r--r-- | main/res/layout/search.xml | 317 | ||||
| -rw-r--r-- | main/res/layout/trackable_detail.xml | 2 | ||||
| -rw-r--r-- | main/res/layout/trackable_logs_item.xml | 16 | ||||
| -rw-r--r-- | main/res/layout/useful_apps.xml | 2 | ||||
| -rw-r--r-- | main/res/layout/visit.xml | 5 | ||||
| -rw-r--r-- | main/res/values-cs/strings.xml | 24 | ||||
| -rw-r--r-- | main/res/values-da/strings.xml | 5 | ||||
| -rw-r--r-- | main/res/values-de/strings.xml | 55 | ||||
| -rw-r--r-- | main/res/values-es/strings.xml | 29 | ||||
| -rw-r--r-- | main/res/values-fr/strings.xml | 46 | ||||
| -rw-r--r-- | main/res/values-hu/strings.xml | 55 | ||||
| -rw-r--r-- | main/res/values-it/strings.xml | 50 | ||||
| -rw-r--r-- | main/res/values-ja/strings.xml | 64 | ||||
| -rw-r--r-- | main/res/values-nb/strings.xml | 14 | ||||
| -rw-r--r-- | main/res/values-nl/strings.xml | 32 | ||||
| -rw-r--r-- | main/res/values-pl/strings.xml | 29 | ||||
| -rw-r--r-- | main/res/values-pt/strings.xml | 85 | ||||
| -rw-r--r-- | main/res/values-sk/strings.xml | 54 | ||||
| -rw-r--r-- | main/res/values-sv/strings.xml | 54 | ||||
| -rw-r--r-- | main/res/values/cache_attributes.xml | 2 | ||||
| -rw-r--r-- | main/res/values/colors.xml | 2 | ||||
| -rw-r--r-- | main/res/values/strings.xml | 196 | ||||
| -rw-r--r-- | main/res/values/strings_not_translatable.xml | 109 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/AbstractPopupActivity.java | 8 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/CacheDetailActivity.java | 116 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/CachePopup.java | 4 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/DirectionProvider.java | 18 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/EditWaypointActivity.java | 10 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/ImagesActivity.java | 4 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/LogTrackableActivity.java | 6 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/SearchActivity.java | 12 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/SearchResult.java | 22 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/Settings.java | 16 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/SettingsActivity.java | 133 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/StaticMapsActivity.java | 6 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/StaticMapsProvider.java | 29 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/StoredList.java | 8 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/VisitCacheActivity.java | 20 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/WaypointPopup.java | 6 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/activity/FilteredActivity.java | 11 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/apps/AbstractLocusApp.java | 9 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/apps/cache/navi/AbstractNavigationApp.java | 26 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/apps/cache/navi/AbstractStaticMapsApp.java | 7 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/apps/cache/navi/GoogleMapsDirectionApp.java | 48 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/apps/cache/navi/GoogleNavigationApp.java | 63 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/apps/cache/navi/NavigationApp.java | 18 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/apps/cache/navi/NavigationAppFactory.java | 14 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/cgCache.java | 103 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/cgData.java | 630 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/cgTrackable.java | 10 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/cgWaypoint.java | 4 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/cgeo.java | 10 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/cgeoapplication.java | 336 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/cgeocaches.java | 185 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/cgeonavigate.java | 2 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/cgeopoint.java | 8 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/cgeotrackable.java | 39 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/compatibility/AndroidLevel11Emulation.java (renamed from main/src/cgeo/geocaching/compatibility/AndroidLevel11Dummy.java) | 4 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/compatibility/AndroidLevel13.java | 31 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/compatibility/AndroidLevel13Emulation.java | 33 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/compatibility/AndroidLevel13Interface.java | 11 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/compatibility/AndroidLevel8.java | 20 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/compatibility/AndroidLevel8Dummy.java | 16 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/compatibility/AndroidLevel8Emulation.java | 30 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/compatibility/AndroidLevel8Interface.java | 1 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/compatibility/Compatibility.java | 51 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/connector/ConnectorFactory.java | 2 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/connector/gc/GCConnector.java | 15 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/connector/gc/GCConstants.java | 3 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/connector/gc/GCMap.java | 3 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/connector/gc/GCParser.java | 36 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/connector/gc/Tile.java | 5 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/connector/oc/OkapiClient.java | 5 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/enumerations/CacheAttribute.java | 9 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/enumerations/CacheSize.java | 5 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/enumerations/CacheType.java | 7 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/enumerations/LogType.java | 45 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/export/FieldnoteExport.java | 10 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/export/GpxExport.java | 5 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/files/GPXImporter.java | 5 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/files/GPXParser.java | 28 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/files/LocParser.java | 9 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/files/ParserException.java | 4 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/files/SimpleDirChooser.java | 55 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/filter/AttributeFilter.java | 3 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/filter/FilterUserInterface.java | 2 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/geopoint/DistanceParser.java | 3 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/geopoint/GeopointFormatter.java | 14 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/maps/CGeoMap.java | 21 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/maps/CachesOverlay.java | 4 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/maps/MapProviderFactory.java | 2 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/maps/google/GoogleMapActivity.java | 7 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/maps/mapsforge/MapsforgeMapActivity.java | 8 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/maps/mapsforge/MapsforgeMapProvider.java | 1 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/maps/mapsforge/v024/MapsforgeMapActivity024.java | 8 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/network/HtmlImage.java | 11 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/network/Network.java | 25 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/sorting/FindsComparator.java | 8 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/twitter/Twitter.java | 5 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/ui/CacheListAdapter.java | 23 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/ui/EditorDialog.java | 2 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/ui/ImagesList.java | 4 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/ui/LoggingUI.java | 6 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/ui/WeakReferenceHandler.java | 27 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/utils/AngleUtils.java | 8 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/utils/ImageHelper.java | 11 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/utils/TranslationUtils.java | 5 | ||||
| -rw-r--r-- | main/src/org/openintents/intents/FileManagerIntents.java | 127 | ||||
| -rw-r--r-- | main/templates/mapsapikey.xml | 2 | ||||
| -rw-r--r-- | tests/AndroidManifest.xml | 12 | ||||
| -rw-r--r-- | tests/build.xml | 22 | ||||
| -rw-r--r-- | tests/libs/robotium-solo-3.6.jar | bin | 0 -> 59067 bytes | |||
| -rw-r--r-- | tests/src/cgeo/geocaching/CacheTest.java | 6 | ||||
| -rw-r--r-- | tests/src/cgeo/geocaching/SettingsTest.java | 2 | ||||
| -rw-r--r-- | tests/src/cgeo/geocaching/TrackableTest.java | 18 | ||||
| -rw-r--r-- | tests/src/cgeo/geocaching/cgDataTest.java | 66 | ||||
| -rw-r--r-- | tests/src/cgeo/geocaching/cgWaypointTest.java | 5 | ||||
| -rw-r--r-- | tests/src/cgeo/geocaching/cgeoApplicationTest.java | 12 | ||||
| -rw-r--r-- | tests/src/cgeo/geocaching/compatibility/CompatibilityTest.java | 2 | ||||
| -rw-r--r-- | tests/src/cgeo/geocaching/connector/opencaching/OkapiClientTest.java | 5 | ||||
| -rw-r--r-- | tests/src/cgeo/geocaching/enumerations/CacheSizeTest.java | 7 | ||||
| -rw-r--r-- | tests/src/cgeo/geocaching/enumerations/CacheTypeTest.java | 10 | ||||
| -rw-r--r-- | tests/src/cgeo/geocaching/enumerations/LogTypeTest.java | 3 | ||||
| -rw-r--r-- | tests/src/cgeo/geocaching/export/ExportTest.java | 2 | ||||
| -rw-r--r-- | tests/src/cgeo/geocaching/files/GPXImporterTest.java | 34 | ||||
| -rw-r--r-- | tests/src/cgeo/geocaching/files/GPXParserTest.java | 20 | ||||
| -rw-r--r-- | tests/src/cgeo/geocaching/files/SimpleDirChooserUITest.java | 62 | ||||
| -rw-r--r-- | tests/src/cgeo/geocaching/test/AbstractResourceInstrumentationTestCase.java | 4 | ||||
| -rw-r--r-- | tests/src/cgeo/geocaching/test/mock/GC1ZXX2.html | 445 | ||||
| -rw-r--r-- | tests/src/cgeo/geocaching/test/mock/GC2CJPF.html | 470 | ||||
| -rw-r--r-- | tests/src/cgeo/geocaching/test/mock/GC2JVEH.html | 459 |
336 files changed, 3227 insertions, 3425 deletions
diff --git a/cgeo-calendar/AndroidManifest.xml b/cgeo-calendar/AndroidManifest.xml index b76a6d4..7c2d3a7 100644 --- a/cgeo-calendar/AndroidManifest.xml +++ b/cgeo-calendar/AndroidManifest.xml @@ -1,11 +1,10 @@ <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" - name="c:geo - calendar (add-on)" package="cgeo.calendar" android:versionCode="2" android:versionName="1.1" > - <uses-sdk android:minSdkVersion="4" android:targetSdkVersion="8"/> + <uses-sdk android:minSdkVersion="4" android:targetSdkVersion="13"/> <uses-permission android:name="android.permission.READ_CALENDAR" /> <uses-permission android:name="android.permission.WRITE_CALENDAR" /> @@ -18,7 +17,7 @@ <application android:icon="@drawable/ic_launcher" - android:label="@string/app_name" > + android:label="@string/app_name" android:allowBackup="false"> <activity android:label="@string/app_name" android:name=".CalendarActivity" diff --git a/cgeo-calendar/lint.xml b/cgeo-calendar/lint.xml new file mode 100644 index 0000000..a846461 --- /dev/null +++ b/cgeo-calendar/lint.xml @@ -0,0 +1,4 @@ +<?xml version="1.0" encoding="UTF-8"?> +<lint> + <issue id="MissingTranslation" severity="ignore" /> +</lint>
\ No newline at end of file diff --git a/cgeo-calendar/src/cgeo/calendar/AbstractAddEntry.java b/cgeo-calendar/src/cgeo/calendar/AbstractAddEntry.java index 99bd6d0..2860625 100644 --- a/cgeo-calendar/src/cgeo/calendar/AbstractAddEntry.java +++ b/cgeo-calendar/src/cgeo/calendar/AbstractAddEntry.java @@ -16,6 +16,7 @@ abstract class AbstractAddEntry { void addEntryToCalendar() { try { addEntryToCalendarInternal(); + activity.showToast(R.string.event_success); } catch (Exception e) { activity.showToast(R.string.event_fail); diff --git a/main/AndroidManifest.xml b/main/AndroidManifest.xml index b07e0e7..3594510 100644 --- a/main/AndroidManifest.xml +++ b/main/AndroidManifest.xml @@ -4,7 +4,7 @@ android:versionCode="20121203" package="cgeo.geocaching" android:installLocation="auto"> - <uses-sdk android:minSdkVersion="4" android:targetSdkVersion="8" /> + <uses-sdk android:minSdkVersion="4" android:targetSdkVersion="13" /> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> diff --git a/main/lint.xml b/main/lint.xml new file mode 100644 index 0000000..dc32e31 --- /dev/null +++ b/main/lint.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="UTF-8"?> +<lint> + <issue id="ContentDescription" severity="ignore" /> + <issue id="MissingTranslation" severity="ignore" /> +</lint>
\ No newline at end of file diff --git a/main/project.properties b/main/project.properties index 942b689..a475ee2 100644 --- a/main/project.properties +++ b/main/project.properties @@ -8,4 +8,4 @@ # project structure. # Project target. -target=Google Inc.:Google APIs:11 +target=Google Inc.:Google APIs:17 diff --git a/main/res/drawable-hdpi/ic_menu_mylocation.png b/main/res/drawable-hdpi/ic_menu_mylocation.png Binary files differdeleted file mode 100644 index 1bcb0cd..0000000 --- a/main/res/drawable-hdpi/ic_menu_mylocation.png +++ /dev/null diff --git a/main/res/drawable-hdpi/marker_personalnote.png b/main/res/drawable-hdpi/marker_personalnote.png Binary files differindex 6014320..c9d7c91 100644 --- a/main/res/drawable-hdpi/marker_personalnote.png +++ b/main/res/drawable-hdpi/marker_personalnote.png diff --git a/main/res/drawable-hdpi/marker_usermodifiedcoords.png b/main/res/drawable-hdpi/marker_usermodifiedcoords.png Binary files differindex d537dfc..08fbf11 100644 --- a/main/res/drawable-hdpi/marker_usermodifiedcoords.png +++ b/main/res/drawable-hdpi/marker_usermodifiedcoords.png diff --git a/main/res/drawable/actionbar_cgeo.png b/main/res/drawable-mdpi/actionbar_cgeo.png Binary files differindex a89abf8..a89abf8 100644 --- a/main/res/drawable/actionbar_cgeo.png +++ b/main/res/drawable-mdpi/actionbar_cgeo.png diff --git a/main/res/drawable/actionbar_compass_dark.png b/main/res/drawable-mdpi/actionbar_compass_dark.png Binary files differindex 2f5c22b..2f5c22b 100644 --- a/main/res/drawable/actionbar_compass_dark.png +++ b/main/res/drawable-mdpi/actionbar_compass_dark.png diff --git a/main/res/drawable/actionbar_compass_light.png b/main/res/drawable-mdpi/actionbar_compass_light.png Binary files differindex fa50d54..fa50d54 100644 --- a/main/res/drawable/actionbar_compass_light.png +++ b/main/res/drawable-mdpi/actionbar_compass_light.png diff --git a/main/res/drawable/actionbar_home.png b/main/res/drawable-mdpi/actionbar_home.png Binary files differindex e109f0a..e109f0a 100644 --- a/main/res/drawable/actionbar_home.png +++ b/main/res/drawable-mdpi/actionbar_home.png diff --git a/main/res/drawable/actionbar_manual.png b/main/res/drawable-mdpi/actionbar_manual.png Binary files differindex a71acb3..a71acb3 100644 --- a/main/res/drawable/actionbar_manual.png +++ b/main/res/drawable-mdpi/actionbar_manual.png diff --git a/main/res/drawable/actionbar_map.png b/main/res/drawable-mdpi/actionbar_map.png Binary files differindex 80287d7..80287d7 100644 --- a/main/res/drawable/actionbar_map.png +++ b/main/res/drawable-mdpi/actionbar_map.png diff --git a/main/res/drawable/actionbar_mylocation_off.png b/main/res/drawable-mdpi/actionbar_mylocation_off.png Binary files differindex 1cdeeba..1cdeeba 100644 --- a/main/res/drawable/actionbar_mylocation_off.png +++ b/main/res/drawable-mdpi/actionbar_mylocation_off.png diff --git a/main/res/drawable/actionbar_mylocation_on.png b/main/res/drawable-mdpi/actionbar_mylocation_on.png Binary files differindex 1d1b625..1d1b625 100644 --- a/main/res/drawable/actionbar_mylocation_on.png +++ b/main/res/drawable-mdpi/actionbar_mylocation_on.png diff --git a/main/res/drawable/actionbar_search.png b/main/res/drawable-mdpi/actionbar_search.png Binary files differindex cce7789..cce7789 100644 --- a/main/res/drawable/actionbar_search.png +++ b/main/res/drawable-mdpi/actionbar_search.png diff --git a/main/res/drawable/attribute__strikethru.png b/main/res/drawable-mdpi/attribute__strikethru.png Binary files differindex 3f00745..3f00745 100644 --- a/main/res/drawable/attribute__strikethru.png +++ b/main/res/drawable-mdpi/attribute__strikethru.png diff --git a/main/res/drawable/attribute_abandonedbuilding.png b/main/res/drawable-mdpi/attribute_abandonedbuilding.png Binary files differindex 20be7ba..20be7ba 100644 --- a/main/res/drawable/attribute_abandonedbuilding.png +++ b/main/res/drawable-mdpi/attribute_abandonedbuilding.png diff --git a/main/res/drawable/attribute_available.png b/main/res/drawable-mdpi/attribute_available.png Binary files differindex c587fa7..c587fa7 100644 --- a/main/res/drawable/attribute_available.png +++ b/main/res/drawable-mdpi/attribute_available.png diff --git a/main/res/drawable/attribute_bicycles.png b/main/res/drawable-mdpi/attribute_bicycles.png Binary files differindex 53ea040..53ea040 100644 --- a/main/res/drawable/attribute_bicycles.png +++ b/main/res/drawable-mdpi/attribute_bicycles.png diff --git a/main/res/drawable/attribute_boat.png b/main/res/drawable-mdpi/attribute_boat.png Binary files differindex f4db083..f4db083 100644 --- a/main/res/drawable/attribute_boat.png +++ b/main/res/drawable-mdpi/attribute_boat.png diff --git a/main/res/drawable/attribute_campfires.png b/main/res/drawable-mdpi/attribute_campfires.png Binary files differindex 229bb40..229bb40 100644 --- a/main/res/drawable/attribute_campfires.png +++ b/main/res/drawable-mdpi/attribute_campfires.png diff --git a/main/res/drawable/attribute_camping.png b/main/res/drawable-mdpi/attribute_camping.png Binary files differindex 15f2891..15f2891 100644 --- a/main/res/drawable/attribute_camping.png +++ b/main/res/drawable-mdpi/attribute_camping.png diff --git a/main/res/drawable/attribute_cliff.png b/main/res/drawable-mdpi/attribute_cliff.png Binary files differindex 31b6921..31b6921 100644 --- a/main/res/drawable/attribute_cliff.png +++ b/main/res/drawable-mdpi/attribute_cliff.png diff --git a/main/res/drawable/attribute_climbing.png b/main/res/drawable-mdpi/attribute_climbing.png Binary files differindex 585b841..585b841 100644 --- a/main/res/drawable/attribute_climbing.png +++ b/main/res/drawable-mdpi/attribute_climbing.png diff --git a/main/res/drawable/attribute_cow.png b/main/res/drawable-mdpi/attribute_cow.png Binary files differindex 2a2a2ce..2a2a2ce 100644 --- a/main/res/drawable/attribute_cow.png +++ b/main/res/drawable-mdpi/attribute_cow.png diff --git a/main/res/drawable/attribute_danger.png b/main/res/drawable-mdpi/attribute_danger.png Binary files differindex 25e0fe0..25e0fe0 100644 --- a/main/res/drawable/attribute_danger.png +++ b/main/res/drawable-mdpi/attribute_danger.png diff --git a/main/res/drawable/attribute_dangerousanimals.png b/main/res/drawable-mdpi/attribute_dangerousanimals.png Binary files differindex 9ba4ea4..9ba4ea4 100644 --- a/main/res/drawable/attribute_dangerousanimals.png +++ b/main/res/drawable-mdpi/attribute_dangerousanimals.png diff --git a/main/res/drawable/attribute_dogs.png b/main/res/drawable-mdpi/attribute_dogs.png Binary files differindex f7f0628..f7f0628 100644 --- a/main/res/drawable/attribute_dogs.png +++ b/main/res/drawable-mdpi/attribute_dogs.png diff --git a/main/res/drawable/attribute_fee.png b/main/res/drawable-mdpi/attribute_fee.png Binary files differindex aa0c950..aa0c950 100644 --- a/main/res/drawable/attribute_fee.png +++ b/main/res/drawable-mdpi/attribute_fee.png diff --git a/main/res/drawable/attribute_field_puzzle.png b/main/res/drawable-mdpi/attribute_field_puzzle.png Binary files differindex e524761..e524761 100644 --- a/main/res/drawable/attribute_field_puzzle.png +++ b/main/res/drawable-mdpi/attribute_field_puzzle.png diff --git a/main/res/drawable/attribute_firstaid.png b/main/res/drawable-mdpi/attribute_firstaid.png Binary files differindex 2c2433f..2c2433f 100644 --- a/main/res/drawable/attribute_firstaid.png +++ b/main/res/drawable-mdpi/attribute_firstaid.png diff --git a/main/res/drawable/attribute_flashlight.png b/main/res/drawable-mdpi/attribute_flashlight.png Binary files differindex c4b68d4..c4b68d4 100644 --- a/main/res/drawable/attribute_flashlight.png +++ b/main/res/drawable-mdpi/attribute_flashlight.png diff --git a/main/res/drawable/attribute_food.png b/main/res/drawable-mdpi/attribute_food.png Binary files differindex d14902c..d14902c 100644 --- a/main/res/drawable/attribute_food.png +++ b/main/res/drawable-mdpi/attribute_food.png diff --git a/main/res/drawable/attribute_frontyard.png b/main/res/drawable-mdpi/attribute_frontyard.png Binary files differindex 40affd2..40affd2 100644 --- a/main/res/drawable/attribute_frontyard.png +++ b/main/res/drawable-mdpi/attribute_frontyard.png diff --git a/main/res/drawable/attribute_fuel.png b/main/res/drawable-mdpi/attribute_fuel.png Binary files differindex 363ea34..363ea34 100644 --- a/main/res/drawable/attribute_fuel.png +++ b/main/res/drawable-mdpi/attribute_fuel.png diff --git a/main/res/drawable/attribute_hike_long.png b/main/res/drawable-mdpi/attribute_hike_long.png Binary files differindex 70ca001..70ca001 100644 --- a/main/res/drawable/attribute_hike_long.png +++ b/main/res/drawable-mdpi/attribute_hike_long.png diff --git a/main/res/drawable/attribute_hike_med.png b/main/res/drawable-mdpi/attribute_hike_med.png Binary files differindex d368721..d368721 100644 --- a/main/res/drawable/attribute_hike_med.png +++ b/main/res/drawable-mdpi/attribute_hike_med.png diff --git a/main/res/drawable/attribute_hike_short.png b/main/res/drawable-mdpi/attribute_hike_short.png Binary files differindex ce421ae..ce421ae 100644 --- a/main/res/drawable/attribute_hike_short.png +++ b/main/res/drawable-mdpi/attribute_hike_short.png diff --git a/main/res/drawable/attribute_hiking.png b/main/res/drawable-mdpi/attribute_hiking.png Binary files differindex 1579be0..1579be0 100644 --- a/main/res/drawable/attribute_hiking.png +++ b/main/res/drawable-mdpi/attribute_hiking.png diff --git a/main/res/drawable/attribute_horses.png b/main/res/drawable-mdpi/attribute_horses.png Binary files differindex 171a70f..171a70f 100644 --- a/main/res/drawable/attribute_horses.png +++ b/main/res/drawable-mdpi/attribute_horses.png diff --git a/main/res/drawable/attribute_hunting.png b/main/res/drawable-mdpi/attribute_hunting.png Binary files differindex 816ad49..816ad49 100644 --- a/main/res/drawable/attribute_hunting.png +++ b/main/res/drawable-mdpi/attribute_hunting.png diff --git a/main/res/drawable/attribute_icon_not_found.png b/main/res/drawable-mdpi/attribute_icon_not_found.png Binary files differindex 33e0ce2..33e0ce2 100644 --- a/main/res/drawable/attribute_icon_not_found.png +++ b/main/res/drawable-mdpi/attribute_icon_not_found.png diff --git a/main/res/drawable/attribute_jeeps.png b/main/res/drawable-mdpi/attribute_jeeps.png Binary files differindex e2cec60..e2cec60 100644 --- a/main/res/drawable/attribute_jeeps.png +++ b/main/res/drawable-mdpi/attribute_jeeps.png diff --git a/main/res/drawable/attribute_kids.png b/main/res/drawable-mdpi/attribute_kids.png Binary files differindex f322f5b..f322f5b 100644 --- a/main/res/drawable/attribute_kids.png +++ b/main/res/drawable-mdpi/attribute_kids.png diff --git a/main/res/drawable/attribute_landf.png b/main/res/drawable-mdpi/attribute_landf.png Binary files differindex 1b27327..1b27327 100644 --- a/main/res/drawable/attribute_landf.png +++ b/main/res/drawable-mdpi/attribute_landf.png diff --git a/main/res/drawable/attribute_mine.png b/main/res/drawable-mdpi/attribute_mine.png Binary files differindex 221e210..221e210 100644 --- a/main/res/drawable/attribute_mine.png +++ b/main/res/drawable-mdpi/attribute_mine.png diff --git a/main/res/drawable/attribute_motorcycles.png b/main/res/drawable-mdpi/attribute_motorcycles.png Binary files differindex adf0abb..adf0abb 100644 --- a/main/res/drawable/attribute_motorcycles.png +++ b/main/res/drawable-mdpi/attribute_motorcycles.png diff --git a/main/res/drawable/attribute_night.png b/main/res/drawable-mdpi/attribute_night.png Binary files differindex 416d965..416d965 100644 --- a/main/res/drawable/attribute_night.png +++ b/main/res/drawable-mdpi/attribute_night.png diff --git a/main/res/drawable/attribute_nightcache.png b/main/res/drawable-mdpi/attribute_nightcache.png Binary files differindex 6163808..6163808 100644 --- a/main/res/drawable/attribute_nightcache.png +++ b/main/res/drawable-mdpi/attribute_nightcache.png diff --git a/main/res/drawable/attribute_onehour.png b/main/res/drawable-mdpi/attribute_onehour.png Binary files differindex eb28014..eb28014 100644 --- a/main/res/drawable/attribute_onehour.png +++ b/main/res/drawable-mdpi/attribute_onehour.png diff --git a/main/res/drawable/attribute_parking.png b/main/res/drawable-mdpi/attribute_parking.png Binary files differindex 26e43cc..26e43cc 100644 --- a/main/res/drawable/attribute_parking.png +++ b/main/res/drawable-mdpi/attribute_parking.png diff --git a/main/res/drawable/attribute_parkngrab.png b/main/res/drawable-mdpi/attribute_parkngrab.png Binary files differindex 8cc4fcc..8cc4fcc 100644 --- a/main/res/drawable/attribute_parkngrab.png +++ b/main/res/drawable-mdpi/attribute_parkngrab.png diff --git a/main/res/drawable/attribute_partnership.png b/main/res/drawable-mdpi/attribute_partnership.png Binary files differindex 228c009..228c009 100644 --- a/main/res/drawable/attribute_partnership.png +++ b/main/res/drawable-mdpi/attribute_partnership.png diff --git a/main/res/drawable/attribute_phone.png b/main/res/drawable-mdpi/attribute_phone.png Binary files differindex 1225f2b..1225f2b 100644 --- a/main/res/drawable/attribute_phone.png +++ b/main/res/drawable-mdpi/attribute_phone.png diff --git a/main/res/drawable/attribute_picnic.png b/main/res/drawable-mdpi/attribute_picnic.png Binary files differindex 88229ea..88229ea 100644 --- a/main/res/drawable/attribute_picnic.png +++ b/main/res/drawable-mdpi/attribute_picnic.png diff --git a/main/res/drawable/attribute_poisonoak.png b/main/res/drawable-mdpi/attribute_poisonoak.png Binary files differindex 7112410..7112410 100644 --- a/main/res/drawable/attribute_poisonoak.png +++ b/main/res/drawable-mdpi/attribute_poisonoak.png diff --git a/main/res/drawable/attribute_public.png b/main/res/drawable-mdpi/attribute_public.png Binary files differindex 5fcf129..5fcf129 100644 --- a/main/res/drawable/attribute_public.png +++ b/main/res/drawable-mdpi/attribute_public.png diff --git a/main/res/drawable/attribute_quads.png b/main/res/drawable-mdpi/attribute_quads.png Binary files differindex 844657c..844657c 100644 --- a/main/res/drawable/attribute_quads.png +++ b/main/res/drawable-mdpi/attribute_quads.png diff --git a/main/res/drawable/attribute_rappelling.png b/main/res/drawable-mdpi/attribute_rappelling.png Binary files differindex c97d891..c97d891 100644 --- a/main/res/drawable/attribute_rappelling.png +++ b/main/res/drawable-mdpi/attribute_rappelling.png diff --git a/main/res/drawable/attribute_restrooms.png b/main/res/drawable-mdpi/attribute_restrooms.png Binary files differindex 0d1a841..0d1a841 100644 --- a/main/res/drawable/attribute_restrooms.png +++ b/main/res/drawable-mdpi/attribute_restrooms.png diff --git a/main/res/drawable/attribute_rv.png b/main/res/drawable-mdpi/attribute_rv.png Binary files differindex c344108..c344108 100644 --- a/main/res/drawable/attribute_rv.png +++ b/main/res/drawable-mdpi/attribute_rv.png diff --git a/main/res/drawable/attribute_s_tool.png b/main/res/drawable-mdpi/attribute_s_tool.png Binary files differindex 5ce3a92..5ce3a92 100644 --- a/main/res/drawable/attribute_s_tool.png +++ b/main/res/drawable-mdpi/attribute_s_tool.png diff --git a/main/res/drawable/attribute_scenic.png b/main/res/drawable-mdpi/attribute_scenic.png Binary files differindex f800b40..f800b40 100644 --- a/main/res/drawable/attribute_scenic.png +++ b/main/res/drawable-mdpi/attribute_scenic.png diff --git a/main/res/drawable/attribute_scuba.png b/main/res/drawable-mdpi/attribute_scuba.png Binary files differindex 2fa5faa..2fa5faa 100644 --- a/main/res/drawable/attribute_scuba.png +++ b/main/res/drawable-mdpi/attribute_scuba.png diff --git a/main/res/drawable/attribute_seasonal.png b/main/res/drawable-mdpi/attribute_seasonal.png Binary files differindex 8046ebf..8046ebf 100644 --- a/main/res/drawable/attribute_seasonal.png +++ b/main/res/drawable-mdpi/attribute_seasonal.png diff --git a/main/res/drawable/attribute_skiis.png b/main/res/drawable-mdpi/attribute_skiis.png Binary files differindex 5589442..5589442 100644 --- a/main/res/drawable/attribute_skiis.png +++ b/main/res/drawable-mdpi/attribute_skiis.png diff --git a/main/res/drawable/attribute_snowmobiles.png b/main/res/drawable-mdpi/attribute_snowmobiles.png Binary files differindex 412046e..412046e 100644 --- a/main/res/drawable/attribute_snowmobiles.png +++ b/main/res/drawable-mdpi/attribute_snowmobiles.png diff --git a/main/res/drawable/attribute_snowshoes.png b/main/res/drawable-mdpi/attribute_snowshoes.png Binary files differindex 1da4519..1da4519 100644 --- a/main/res/drawable/attribute_snowshoes.png +++ b/main/res/drawable-mdpi/attribute_snowshoes.png diff --git a/main/res/drawable/attribute_stealth.png b/main/res/drawable-mdpi/attribute_stealth.png Binary files differindex d6d04e1..d6d04e1 100644 --- a/main/res/drawable/attribute_stealth.png +++ b/main/res/drawable-mdpi/attribute_stealth.png diff --git a/main/res/drawable/attribute_stroller.png b/main/res/drawable-mdpi/attribute_stroller.png Binary files differindex f8309b2..f8309b2 100644 --- a/main/res/drawable/attribute_stroller.png +++ b/main/res/drawable-mdpi/attribute_stroller.png diff --git a/main/res/drawable/attribute_swimming.png b/main/res/drawable-mdpi/attribute_swimming.png Binary files differindex 0768b9e..0768b9e 100644 --- a/main/res/drawable/attribute_swimming.png +++ b/main/res/drawable-mdpi/attribute_swimming.png diff --git a/main/res/drawable/attribute_teamwork.png b/main/res/drawable-mdpi/attribute_teamwork.png Binary files differindex ee0df0b..ee0df0b 100644 --- a/main/res/drawable/attribute_teamwork.png +++ b/main/res/drawable-mdpi/attribute_teamwork.png diff --git a/main/res/drawable/attribute_thorn.png b/main/res/drawable-mdpi/attribute_thorn.png Binary files differindex 1800f87..1800f87 100644 --- a/main/res/drawable/attribute_thorn.png +++ b/main/res/drawable-mdpi/attribute_thorn.png diff --git a/main/res/drawable/attribute_ticks.png b/main/res/drawable-mdpi/attribute_ticks.png Binary files differindex 65108a3..65108a3 100644 --- a/main/res/drawable/attribute_ticks.png +++ b/main/res/drawable-mdpi/attribute_ticks.png diff --git a/main/res/drawable/attribute_touristok.png b/main/res/drawable-mdpi/attribute_touristok.png Binary files differindex f264340..f264340 100644 --- a/main/res/drawable/attribute_touristok.png +++ b/main/res/drawable-mdpi/attribute_touristok.png diff --git a/main/res/drawable/attribute_treeclimbing.png b/main/res/drawable-mdpi/attribute_treeclimbing.png Binary files differindex c2623a3..c2623a3 100644 --- a/main/res/drawable/attribute_treeclimbing.png +++ b/main/res/drawable-mdpi/attribute_treeclimbing.png diff --git a/main/res/drawable/attribute_uv.png b/main/res/drawable-mdpi/attribute_uv.png Binary files differindex 859478e..859478e 100644 --- a/main/res/drawable/attribute_uv.png +++ b/main/res/drawable-mdpi/attribute_uv.png diff --git a/main/res/drawable/attribute_wading.png b/main/res/drawable-mdpi/attribute_wading.png Binary files differindex 653bfdc..653bfdc 100644 --- a/main/res/drawable/attribute_wading.png +++ b/main/res/drawable-mdpi/attribute_wading.png diff --git a/main/res/drawable/attribute_water.png b/main/res/drawable-mdpi/attribute_water.png Binary files differindex 59ba217..59ba217 100644 --- a/main/res/drawable/attribute_water.png +++ b/main/res/drawable-mdpi/attribute_water.png diff --git a/main/res/drawable/attribute_wheelchair.png b/main/res/drawable-mdpi/attribute_wheelchair.png Binary files differindex c6fccd1..c6fccd1 100644 --- a/main/res/drawable/attribute_wheelchair.png +++ b/main/res/drawable-mdpi/attribute_wheelchair.png diff --git a/main/res/drawable/attribute_winter.png b/main/res/drawable-mdpi/attribute_winter.png Binary files differindex 29d7421..29d7421 100644 --- a/main/res/drawable/attribute_winter.png +++ b/main/res/drawable-mdpi/attribute_winter.png diff --git a/main/res/drawable/attribute_wirelessbeacon.png b/main/res/drawable-mdpi/attribute_wirelessbeacon.png Binary files differindex a3b05c1..a3b05c1 100644 --- a/main/res/drawable/attribute_wirelessbeacon.png +++ b/main/res/drawable-mdpi/attribute_wirelessbeacon.png diff --git a/main/res/drawable/cgeo.png b/main/res/drawable-mdpi/cgeo.png Binary files differindex 126feb3..126feb3 100644 --- a/main/res/drawable/cgeo.png +++ b/main/res/drawable-mdpi/cgeo.png diff --git a/main/res/drawable/cgeo_logo.png b/main/res/drawable-mdpi/cgeo_logo.png Binary files differindex 0d8654f..0d8654f 100644 --- a/main/res/drawable/cgeo_logo.png +++ b/main/res/drawable-mdpi/cgeo_logo.png diff --git a/main/res/drawable/compass_arrow.png b/main/res/drawable-mdpi/compass_arrow.png Binary files differindex a6524d9..a6524d9 100644 --- a/main/res/drawable/compass_arrow.png +++ b/main/res/drawable-mdpi/compass_arrow.png diff --git a/main/res/drawable/compass_arrow_mini_black.png b/main/res/drawable-mdpi/compass_arrow_mini_black.png Binary files differindex 682f067..682f067 100644 --- a/main/res/drawable/compass_arrow_mini_black.png +++ b/main/res/drawable-mdpi/compass_arrow_mini_black.png diff --git a/main/res/drawable/compass_arrow_mini_white.png b/main/res/drawable-mdpi/compass_arrow_mini_white.png Binary files differindex 2b11847..2b11847 100644 --- a/main/res/drawable/compass_arrow_mini_white.png +++ b/main/res/drawable-mdpi/compass_arrow_mini_white.png diff --git a/main/res/drawable/compass_overlay.png b/main/res/drawable-mdpi/compass_overlay.png Binary files differindex 98b8fd6..98b8fd6 100644 --- a/main/res/drawable/compass_overlay.png +++ b/main/res/drawable-mdpi/compass_overlay.png diff --git a/main/res/drawable/compass_rose.png b/main/res/drawable-mdpi/compass_rose.png Binary files differindex 08e2c8c..08e2c8c 100644 --- a/main/res/drawable/compass_rose.png +++ b/main/res/drawable-mdpi/compass_rose.png diff --git a/main/res/drawable/compass_underlay.png b/main/res/drawable-mdpi/compass_underlay.png Binary files differindex 7b19442..7b19442 100644 --- a/main/res/drawable/compass_underlay.png +++ b/main/res/drawable-mdpi/compass_underlay.png diff --git a/main/res/drawable/helper_barcode.png b/main/res/drawable-mdpi/helper_barcode.png Binary files differindex 0b56af3..0b56af3 100644 --- a/main/res/drawable/helper_barcode.png +++ b/main/res/drawable-mdpi/helper_barcode.png diff --git a/main/res/drawable/helper_bluetoothgps.png b/main/res/drawable-mdpi/helper_bluetoothgps.png Binary files differindex ecae5ee..ecae5ee 100644 --- a/main/res/drawable/helper_bluetoothgps.png +++ b/main/res/drawable-mdpi/helper_bluetoothgps.png diff --git a/main/res/drawable/helper_gpsstatus.png b/main/res/drawable-mdpi/helper_gpsstatus.png Binary files differindex 07c6419..07c6419 100644 --- a/main/res/drawable/helper_gpsstatus.png +++ b/main/res/drawable-mdpi/helper_gpsstatus.png diff --git a/main/res/drawable/helper_locus.png b/main/res/drawable-mdpi/helper_locus.png Binary files differindex 836bb4e..836bb4e 100644 --- a/main/res/drawable/helper_locus.png +++ b/main/res/drawable-mdpi/helper_locus.png diff --git a/main/res/drawable/helper_manual.png b/main/res/drawable-mdpi/helper_manual.png Binary files differindex c3c43db..c3c43db 100644 --- a/main/res/drawable/helper_manual.png +++ b/main/res/drawable-mdpi/helper_manual.png diff --git a/main/res/drawable/ic_menu_add.png b/main/res/drawable-mdpi/ic_menu_add.png Binary files differindex 6752bfd..6752bfd 100644 --- a/main/res/drawable/ic_menu_add.png +++ b/main/res/drawable-mdpi/ic_menu_add.png diff --git a/main/res/drawable/ic_menu_agenda.png b/main/res/drawable-mdpi/ic_menu_agenda.png Binary files differindex 9f2c1dc..9f2c1dc 100644 --- a/main/res/drawable/ic_menu_agenda.png +++ b/main/res/drawable-mdpi/ic_menu_agenda.png diff --git a/main/res/drawable/ic_menu_barcode.png b/main/res/drawable-mdpi/ic_menu_barcode.png Binary files differindex abc13cc..abc13cc 100644 --- a/main/res/drawable/ic_menu_barcode.png +++ b/main/res/drawable-mdpi/ic_menu_barcode.png diff --git a/main/res/drawable/ic_menu_circle.png b/main/res/drawable-mdpi/ic_menu_circle.png Binary files differindex a3a26f9..a3a26f9 100644 --- a/main/res/drawable/ic_menu_circle.png +++ b/main/res/drawable-mdpi/ic_menu_circle.png diff --git a/main/res/drawable/ic_menu_clear_playlist.png b/main/res/drawable-mdpi/ic_menu_clear_playlist.png Binary files differindex 750db62..750db62 100644 --- a/main/res/drawable/ic_menu_clear_playlist.png +++ b/main/res/drawable-mdpi/ic_menu_clear_playlist.png diff --git a/main/res/drawable/ic_menu_compass.png b/main/res/drawable-mdpi/ic_menu_compass.png Binary files differindex 7717dde..7717dde 100644 --- a/main/res/drawable/ic_menu_compass.png +++ b/main/res/drawable-mdpi/ic_menu_compass.png diff --git a/main/res/drawable/ic_menu_delete.png b/main/res/drawable-mdpi/ic_menu_delete.png Binary files differindex 7d95494..7d95494 100644 --- a/main/res/drawable/ic_menu_delete.png +++ b/main/res/drawable-mdpi/ic_menu_delete.png diff --git a/main/res/drawable/ic_menu_edit.png b/main/res/drawable-mdpi/ic_menu_edit.png Binary files differindex 41a9c2e..41a9c2e 100644 --- a/main/res/drawable/ic_menu_edit.png +++ b/main/res/drawable-mdpi/ic_menu_edit.png diff --git a/main/res/drawable/ic_menu_emoticons.png b/main/res/drawable-mdpi/ic_menu_emoticons.png Binary files differindex 765000b..765000b 100644 --- a/main/res/drawable/ic_menu_emoticons.png +++ b/main/res/drawable-mdpi/ic_menu_emoticons.png diff --git a/main/res/drawable/ic_menu_filter.png b/main/res/drawable-mdpi/ic_menu_filter.png Binary files differindex 84176c5..84176c5 100644 --- a/main/res/drawable/ic_menu_filter.png +++ b/main/res/drawable-mdpi/ic_menu_filter.png diff --git a/main/res/drawable/ic_menu_globe.png b/main/res/drawable-mdpi/ic_menu_globe.png Binary files differindex cd283ab..cd283ab 100644 --- a/main/res/drawable/ic_menu_globe.png +++ b/main/res/drawable-mdpi/ic_menu_globe.png diff --git a/main/res/drawable/ic_menu_info_details.png b/main/res/drawable-mdpi/ic_menu_info_details.png Binary files differindex 1786d1e..1786d1e 100644 --- a/main/res/drawable/ic_menu_info_details.png +++ b/main/res/drawable-mdpi/ic_menu_info_details.png diff --git a/main/res/drawable/ic_menu_mapmode.png b/main/res/drawable-mdpi/ic_menu_mapmode.png Binary files differindex d85cab5..d85cab5 100644 --- a/main/res/drawable/ic_menu_mapmode.png +++ b/main/res/drawable-mdpi/ic_menu_mapmode.png diff --git a/main/res/drawable/ic_menu_mark.png b/main/res/drawable-mdpi/ic_menu_mark.png Binary files differindex 5e95da7..5e95da7 100644 --- a/main/res/drawable/ic_menu_mark.png +++ b/main/res/drawable-mdpi/ic_menu_mark.png diff --git a/main/res/drawable/ic_menu_myplaces.png b/main/res/drawable-mdpi/ic_menu_myplaces.png Binary files differindex 06f11ba..06f11ba 100644 --- a/main/res/drawable/ic_menu_myplaces.png +++ b/main/res/drawable-mdpi/ic_menu_myplaces.png diff --git a/main/res/drawable/ic_menu_preferences.png b/main/res/drawable-mdpi/ic_menu_preferences.png Binary files differindex 60dbff6..60dbff6 100644 --- a/main/res/drawable/ic_menu_preferences.png +++ b/main/res/drawable-mdpi/ic_menu_preferences.png diff --git a/main/res/drawable/ic_menu_recent_history.png b/main/res/drawable-mdpi/ic_menu_recent_history.png Binary files differindex 4ccae5d..4ccae5d 100644 --- a/main/res/drawable/ic_menu_recent_history.png +++ b/main/res/drawable-mdpi/ic_menu_recent_history.png diff --git a/main/res/drawable/ic_menu_refresh.png b/main/res/drawable-mdpi/ic_menu_refresh.png Binary files differindex 77d70dd..77d70dd 100644 --- a/main/res/drawable/ic_menu_refresh.png +++ b/main/res/drawable-mdpi/ic_menu_refresh.png diff --git a/main/res/drawable/ic_menu_rotate.png b/main/res/drawable-mdpi/ic_menu_rotate.png Binary files differindex 27368b2..27368b2 100644 --- a/main/res/drawable/ic_menu_rotate.png +++ b/main/res/drawable-mdpi/ic_menu_rotate.png diff --git a/main/res/drawable/ic_menu_save.png b/main/res/drawable-mdpi/ic_menu_save.png Binary files differindex 36d50b3..36d50b3 100644 --- a/main/res/drawable/ic_menu_save.png +++ b/main/res/drawable-mdpi/ic_menu_save.png diff --git a/main/res/drawable/ic_menu_set_as.png b/main/res/drawable-mdpi/ic_menu_set_as.png Binary files differindex cb9dc49..cb9dc49 100644 --- a/main/res/drawable/ic_menu_set_as.png +++ b/main/res/drawable-mdpi/ic_menu_set_as.png diff --git a/main/res/drawable/ic_menu_share.png b/main/res/drawable-mdpi/ic_menu_share.png Binary files differindex 44db9b1..44db9b1 100644 --- a/main/res/drawable/ic_menu_share.png +++ b/main/res/drawable-mdpi/ic_menu_share.png diff --git a/main/res/drawable/ic_menu_shopping.png b/main/res/drawable-mdpi/ic_menu_shopping.png Binary files differindex 7088155..7088155 100644 --- a/main/res/drawable/ic_menu_shopping.png +++ b/main/res/drawable-mdpi/ic_menu_shopping.png diff --git a/main/res/drawable/ic_menu_sort_alphabetically.png b/main/res/drawable-mdpi/ic_menu_sort_alphabetically.png Binary files differindex 2583eb8..2583eb8 100644 --- a/main/res/drawable/ic_menu_sort_alphabetically.png +++ b/main/res/drawable-mdpi/ic_menu_sort_alphabetically.png diff --git a/main/res/drawable/ic_menu_sort_by_size.png b/main/res/drawable-mdpi/ic_menu_sort_by_size.png Binary files differindex 65e2786..65e2786 100644 --- a/main/res/drawable/ic_menu_sort_by_size.png +++ b/main/res/drawable-mdpi/ic_menu_sort_by_size.png diff --git a/main/res/drawable/ic_menu_trail.png b/main/res/drawable-mdpi/ic_menu_trail.png Binary files differindex 34abeab..34abeab 100644 --- a/main/res/drawable/ic_menu_trail.png +++ b/main/res/drawable-mdpi/ic_menu_trail.png diff --git a/main/res/drawable/image_no_placement.png b/main/res/drawable-mdpi/image_no_placement.png Binary files differindex d73f7c7..d73f7c7 100644 --- a/main/res/drawable/image_no_placement.png +++ b/main/res/drawable-mdpi/image_no_placement.png diff --git a/main/res/drawable/image_not_loaded.png b/main/res/drawable-mdpi/image_not_loaded.png Binary files differindex ce7c6d8..ce7c6d8 100644 --- a/main/res/drawable/image_not_loaded.png +++ b/main/res/drawable-mdpi/image_not_loaded.png diff --git a/main/res/drawable/log_img_dark.png b/main/res/drawable-mdpi/log_img_dark.png Binary files differindex b30db2c..b30db2c 100644 --- a/main/res/drawable/log_img_dark.png +++ b/main/res/drawable-mdpi/log_img_dark.png diff --git a/main/res/drawable/log_img_light.png b/main/res/drawable-mdpi/log_img_light.png Binary files differindex a4ad4dd..a4ad4dd 100644 --- a/main/res/drawable/log_img_light.png +++ b/main/res/drawable-mdpi/log_img_light.png diff --git a/main/res/drawable/main_any_default.png b/main/res/drawable-mdpi/main_any_default.png Binary files differindex cea3288..cea3288 100644 --- a/main/res/drawable/main_any_default.png +++ b/main/res/drawable-mdpi/main_any_default.png diff --git a/main/res/drawable/main_filter_default.png b/main/res/drawable-mdpi/main_filter_default.png Binary files differindex 996d15b..996d15b 100644 --- a/main/res/drawable/main_filter_default.png +++ b/main/res/drawable-mdpi/main_filter_default.png diff --git a/main/res/drawable/main_live_default.png b/main/res/drawable-mdpi/main_live_default.png Binary files differindex f2cc262..f2cc262 100644 --- a/main/res/drawable/main_live_default.png +++ b/main/res/drawable-mdpi/main_live_default.png diff --git a/main/res/drawable/main_nearby_default.png b/main/res/drawable-mdpi/main_nearby_default.png Binary files differindex 9166267..9166267 100644 --- a/main/res/drawable/main_nearby_default.png +++ b/main/res/drawable-mdpi/main_nearby_default.png diff --git a/main/res/drawable/main_nearby_disabled.png b/main/res/drawable-mdpi/main_nearby_disabled.png Binary files differindex 8980b9f..8980b9f 100644 --- a/main/res/drawable/main_nearby_disabled.png +++ b/main/res/drawable-mdpi/main_nearby_disabled.png diff --git a/main/res/drawable/main_search_default.png b/main/res/drawable-mdpi/main_search_default.png Binary files differindex c3c1fdc..c3c1fdc 100644 --- a/main/res/drawable/main_search_default.png +++ b/main/res/drawable-mdpi/main_search_default.png diff --git a/main/res/drawable/main_stored_default.png b/main/res/drawable-mdpi/main_stored_default.png Binary files differindex b595723..b595723 100644 --- a/main/res/drawable/main_stored_default.png +++ b/main/res/drawable-mdpi/main_stored_default.png diff --git a/main/res/drawable/marker.png b/main/res/drawable-mdpi/marker.png Binary files differindex f6e0e10..f6e0e10 100644 --- a/main/res/drawable/marker.png +++ b/main/res/drawable-mdpi/marker.png diff --git a/main/res/drawable/marker_disabled.png b/main/res/drawable-mdpi/marker_disabled.png Binary files differindex 6e1c17b..6e1c17b 100644 --- a/main/res/drawable/marker_disabled.png +++ b/main/res/drawable-mdpi/marker_disabled.png diff --git a/main/res/drawable/marker_found.png b/main/res/drawable-mdpi/marker_found.png Binary files differindex aa8b154..aa8b154 100644 --- a/main/res/drawable/marker_found.png +++ b/main/res/drawable-mdpi/marker_found.png diff --git a/main/res/drawable/marker_found_offline.png b/main/res/drawable-mdpi/marker_found_offline.png Binary files differindex 823e972..823e972 100644 --- a/main/res/drawable/marker_found_offline.png +++ b/main/res/drawable-mdpi/marker_found_offline.png diff --git a/main/res/drawable/marker_notreliable.png b/main/res/drawable-mdpi/marker_notreliable.png Binary files differindex fced841..fced841 100644 --- a/main/res/drawable/marker_notreliable.png +++ b/main/res/drawable-mdpi/marker_notreliable.png diff --git a/main/res/drawable/marker_own.png b/main/res/drawable-mdpi/marker_own.png Binary files differindex b091cf3..b091cf3 100644 --- a/main/res/drawable/marker_own.png +++ b/main/res/drawable-mdpi/marker_own.png diff --git a/main/res/drawable/marker_personalnote.png b/main/res/drawable-mdpi/marker_personalnote.png Binary files differindex 70ef9f1..70ef9f1 100644 --- a/main/res/drawable/marker_personalnote.png +++ b/main/res/drawable-mdpi/marker_personalnote.png diff --git a/main/res/drawable/marker_stored.png b/main/res/drawable-mdpi/marker_stored.png Binary files differindex 6689e26..6689e26 100644 --- a/main/res/drawable/marker_stored.png +++ b/main/res/drawable-mdpi/marker_stored.png diff --git a/main/res/drawable/marker_usermodifiedcoords.png b/main/res/drawable-mdpi/marker_usermodifiedcoords.png Binary files differindex f174a17..f174a17 100644 --- a/main/res/drawable/marker_usermodifiedcoords.png +++ b/main/res/drawable-mdpi/marker_usermodifiedcoords.png diff --git a/main/res/drawable/my_location_chevron.png b/main/res/drawable-mdpi/my_location_chevron.png Binary files differindex 67b863f..67b863f 100644 --- a/main/res/drawable/my_location_chevron.png +++ b/main/res/drawable-mdpi/my_location_chevron.png diff --git a/main/res/drawable/star_half.png b/main/res/drawable-mdpi/star_half.png Binary files differindex 1ea9152..1ea9152 100644 --- a/main/res/drawable/star_half.png +++ b/main/res/drawable-mdpi/star_half.png diff --git a/main/res/drawable/star_off.png b/main/res/drawable-mdpi/star_off.png Binary files differindex 126815f..126815f 100644 --- a/main/res/drawable/star_off.png +++ b/main/res/drawable-mdpi/star_off.png diff --git a/main/res/drawable/star_on.png b/main/res/drawable-mdpi/star_on.png Binary files differindex 801928a..801928a 100644 --- a/main/res/drawable/star_on.png +++ b/main/res/drawable-mdpi/star_on.png diff --git a/main/res/drawable/trackable_all.png b/main/res/drawable-mdpi/trackable_all.png Binary files differindex 8c830d4..8c830d4 100644 --- a/main/res/drawable/trackable_all.png +++ b/main/res/drawable-mdpi/trackable_all.png diff --git a/main/res/drawable/type_ape.png b/main/res/drawable-mdpi/type_ape.png Binary files differindex 3487013..3487013 100644 --- a/main/res/drawable/type_ape.png +++ b/main/res/drawable-mdpi/type_ape.png diff --git a/main/res/drawable/type_cito.png b/main/res/drawable-mdpi/type_cito.png Binary files differindex 56f0e5f..56f0e5f 100644 --- a/main/res/drawable/type_cito.png +++ b/main/res/drawable-mdpi/type_cito.png diff --git a/main/res/drawable/type_earth.png b/main/res/drawable-mdpi/type_earth.png Binary files differindex 356b3b8..356b3b8 100644 --- a/main/res/drawable/type_earth.png +++ b/main/res/drawable-mdpi/type_earth.png diff --git a/main/res/drawable/type_event.png b/main/res/drawable-mdpi/type_event.png Binary files differindex 93b60fe..93b60fe 100644 --- a/main/res/drawable/type_event.png +++ b/main/res/drawable-mdpi/type_event.png diff --git a/main/res/drawable/type_hq.png b/main/res/drawable-mdpi/type_hq.png Binary files differindex e4f700a..e4f700a 100644 --- a/main/res/drawable/type_hq.png +++ b/main/res/drawable-mdpi/type_hq.png diff --git a/main/res/drawable/type_letterbox.png b/main/res/drawable-mdpi/type_letterbox.png Binary files differindex 52348f2..52348f2 100644 --- a/main/res/drawable/type_letterbox.png +++ b/main/res/drawable-mdpi/type_letterbox.png diff --git a/main/res/drawable/type_mega.png b/main/res/drawable-mdpi/type_mega.png Binary files differindex 9551892..9551892 100644 --- a/main/res/drawable/type_mega.png +++ b/main/res/drawable-mdpi/type_mega.png diff --git a/main/res/drawable/type_multi.png b/main/res/drawable-mdpi/type_multi.png Binary files differindex 5bcfd31..5bcfd31 100644 --- a/main/res/drawable/type_multi.png +++ b/main/res/drawable-mdpi/type_multi.png diff --git a/main/res/drawable/type_mystery.png b/main/res/drawable-mdpi/type_mystery.png Binary files differindex f462d5d..f462d5d 100644 --- a/main/res/drawable/type_mystery.png +++ b/main/res/drawable-mdpi/type_mystery.png diff --git a/main/res/drawable/type_traditional.png b/main/res/drawable-mdpi/type_traditional.png Binary files differindex e3e1a4b..e3e1a4b 100644 --- a/main/res/drawable/type_traditional.png +++ b/main/res/drawable-mdpi/type_traditional.png diff --git a/main/res/drawable/type_unknown.png b/main/res/drawable-mdpi/type_unknown.png Binary files differindex 67e0dd9..67e0dd9 100644 --- a/main/res/drawable/type_unknown.png +++ b/main/res/drawable-mdpi/type_unknown.png diff --git a/main/res/drawable/type_virtual.png b/main/res/drawable-mdpi/type_virtual.png Binary files differindex 14bc704..14bc704 100644 --- a/main/res/drawable/type_virtual.png +++ b/main/res/drawable-mdpi/type_virtual.png diff --git a/main/res/drawable/type_webcam.png b/main/res/drawable-mdpi/type_webcam.png Binary files differindex 922fddd..922fddd 100644 --- a/main/res/drawable/type_webcam.png +++ b/main/res/drawable-mdpi/type_webcam.png diff --git a/main/res/drawable/type_wherigo.png b/main/res/drawable-mdpi/type_wherigo.png Binary files differindex 96318f6..96318f6 100644 --- a/main/res/drawable/type_wherigo.png +++ b/main/res/drawable-mdpi/type_wherigo.png diff --git a/main/res/drawable/waypoint_flag.png b/main/res/drawable-mdpi/waypoint_flag.png Binary files differindex 123ec84..123ec84 100644 --- a/main/res/drawable/waypoint_flag.png +++ b/main/res/drawable-mdpi/waypoint_flag.png diff --git a/main/res/drawable/waypoint_pkg.png b/main/res/drawable-mdpi/waypoint_pkg.png Binary files differindex 1a901f0..1a901f0 100644 --- a/main/res/drawable/waypoint_pkg.png +++ b/main/res/drawable-mdpi/waypoint_pkg.png diff --git a/main/res/drawable/waypoint_puzzle.png b/main/res/drawable-mdpi/waypoint_puzzle.png Binary files differindex a659f36..a659f36 100644 --- a/main/res/drawable/waypoint_puzzle.png +++ b/main/res/drawable-mdpi/waypoint_puzzle.png diff --git a/main/res/drawable/waypoint_stage.png b/main/res/drawable-mdpi/waypoint_stage.png Binary files differindex 52e0481..52e0481 100644 --- a/main/res/drawable/waypoint_stage.png +++ b/main/res/drawable-mdpi/waypoint_stage.png diff --git a/main/res/drawable/waypoint_trailhead.png b/main/res/drawable-mdpi/waypoint_trailhead.png Binary files differindex 1aca26f..1aca26f 100644 --- a/main/res/drawable/waypoint_trailhead.png +++ b/main/res/drawable-mdpi/waypoint_trailhead.png diff --git a/main/res/drawable/waypoint_waypoint.png b/main/res/drawable-mdpi/waypoint_waypoint.png Binary files differindex 91b69a9..91b69a9 100644 --- a/main/res/drawable/waypoint_waypoint.png +++ b/main/res/drawable-mdpi/waypoint_waypoint.png diff --git a/main/res/drawable/action_button_dark_dialog.xml b/main/res/drawable/action_button_dark_dialog.xml deleted file mode 100644 index 17db3fb..0000000 --- a/main/res/drawable/action_button_dark_dialog.xml +++ /dev/null @@ -1,9 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<shape xmlns:android="http://schemas.android.com/apk/res/android" - android:shape="rectangle"> - <stroke - android:color="#66FFFFFF" - android:width="1px" /> - <solid - android:color="#FF080808" /> -</shape>
\ No newline at end of file diff --git a/main/res/drawable/action_button_light_dialog.xml b/main/res/drawable/action_button_light_dialog.xml deleted file mode 100644 index e17a55a..0000000 --- a/main/res/drawable/action_button_light_dialog.xml +++ /dev/null @@ -1,9 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<shape xmlns:android="http://schemas.android.com/apk/res/android" - android:shape="rectangle"> - <stroke - android:color="#66000000" - android:width="1px" /> - <solid - android:color="#FFEEEEEE" /> -</shape>
\ No newline at end of file diff --git a/main/res/drawable/bcg_dark.xml b/main/res/drawable/bcg_dark.xml deleted file mode 100644 index 0acf0e0..0000000 --- a/main/res/drawable/bcg_dark.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<shape xmlns:android="http://schemas.android.com/apk/res/android" - android:shape="rectangle"> - <solid - android:color="@color/background_dark" /> -</shape>
\ No newline at end of file diff --git a/main/res/drawable/bcg_dialog_dark.xml b/main/res/drawable/bcg_dialog_dark.xml deleted file mode 100644 index 73b2276..0000000 --- a/main/res/drawable/bcg_dialog_dark.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<shape xmlns:android="http://schemas.android.com/apk/res/android" - android:shape="rectangle"> - <solid - android:color="#11FFFFFF" /> -</shape>
\ No newline at end of file diff --git a/main/res/drawable/bcg_dialog_light.xml b/main/res/drawable/bcg_dialog_light.xml deleted file mode 100644 index b89730f..0000000 --- a/main/res/drawable/bcg_dialog_light.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<shape xmlns:android="http://schemas.android.com/apk/res/android" - android:shape="rectangle"> - <solid - android:color="#11000000" /> -</shape>
\ No newline at end of file diff --git a/main/res/drawable/bcg_light.xml b/main/res/drawable/bcg_light.xml deleted file mode 100644 index 0acf0e0..0000000 --- a/main/res/drawable/bcg_light.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<shape xmlns:android="http://schemas.android.com/apk/res/android" - android:shape="rectangle"> - <solid - android:color="@color/background_dark" /> -</shape>
\ No newline at end of file diff --git a/main/res/drawable/cache_dark.xml b/main/res/drawable/cache_dark.xml deleted file mode 100644 index 7e87cd7..0000000 --- a/main/res/drawable/cache_dark.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<selector xmlns:android="http://schemas.android.com/apk/res/android"> - <item android:state_pressed="true" android:drawable="@drawable/cache_dark_pressed" /> - <item android:state_focused="true" android:drawable="@drawable/cache_dark_pressed" /> - <item android:drawable="@drawable/bcg_dark" /> -</selector>
\ No newline at end of file diff --git a/main/res/drawable/cache_light.xml b/main/res/drawable/cache_light.xml deleted file mode 100644 index b2c669a..0000000 --- a/main/res/drawable/cache_light.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<selector xmlns:android="http://schemas.android.com/apk/res/android"> - <item android:state_pressed="true" android:drawable="@drawable/cache_light_pressed" /> - <item android:state_focused="true" android:drawable="@drawable/cache_light_pressed" /> - <item android:drawable="@drawable/bcg_light" /> -</selector>
\ No newline at end of file diff --git a/main/res/drawable/cache_light_pressed.xml b/main/res/drawable/cache_light_pressed.xml deleted file mode 100644 index 411f915..0000000 --- a/main/res/drawable/cache_light_pressed.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<shape xmlns:android="http://schemas.android.com/apk/res/android" - android:shape="rectangle"> - <solid - android:color="#44000000" /> -</shape>
\ No newline at end of file diff --git a/main/res/drawable/client_cgeo.png b/main/res/drawable/client_cgeo.png Binary files differdeleted file mode 100644 index 119f0dd..0000000 --- a/main/res/drawable/client_cgeo.png +++ /dev/null diff --git a/main/res/drawable/client_handygeocaching.png b/main/res/drawable/client_handygeocaching.png Binary files differdeleted file mode 100644 index a842cb5..0000000 --- a/main/res/drawable/client_handygeocaching.png +++ /dev/null diff --git a/main/res/drawable/client_precaching.png b/main/res/drawable/client_precaching.png Binary files differdeleted file mode 100644 index 5fd95d6..0000000 --- a/main/res/drawable/client_precaching.png +++ /dev/null diff --git a/main/res/drawable/dialog_button_dark.xml b/main/res/drawable/dialog_button_dark.xml deleted file mode 100644 index e36438b..0000000 --- a/main/res/drawable/dialog_button_dark.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<selector xmlns:android="http://schemas.android.com/apk/res/android"> - <item android:state_pressed="true" android:drawable="@drawable/action_button_dark_pressed" /> - <item android:state_focused="true" android:drawable="@drawable/action_button_dark_pressed" /> - <item android:drawable="@drawable/action_button_dark_dialog" /> -</selector>
\ No newline at end of file diff --git a/main/res/drawable/dialog_button_light.xml b/main/res/drawable/dialog_button_light.xml deleted file mode 100644 index 95414ff..0000000 --- a/main/res/drawable/dialog_button_light.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<selector xmlns:android="http://schemas.android.com/apk/res/android"> - <item android:state_pressed="true" android:drawable="@drawable/action_button_light_pressed" /> - <item android:state_focused="true" android:drawable="@drawable/action_button_light_pressed" /> - <item android:drawable="@drawable/action_button_light_dialog" /> -</selector>
\ No newline at end of file diff --git a/main/res/drawable/ic_menu_mylocation.png b/main/res/drawable/ic_menu_mylocation.png Binary files differdeleted file mode 100644 index fdbd5ca..0000000 --- a/main/res/drawable/ic_menu_mylocation.png +++ /dev/null diff --git a/main/res/drawable/icon_big.png b/main/res/drawable/icon_big.png Binary files differdeleted file mode 100644 index a7d0d1b..0000000 --- a/main/res/drawable/icon_big.png +++ /dev/null diff --git a/main/res/drawable/map_status_dark.xml b/main/res/drawable/map_status_dark.xml deleted file mode 100644 index bc257ff..0000000 --- a/main/res/drawable/map_status_dark.xml +++ /dev/null @@ -1,9 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<shape xmlns:android="http://schemas.android.com/apk/res/android" - android:shape="rectangle"> - <gradient - android:startColor="#00000000" - android:centerColor="#66000000" - android:endColor="#88000000" - android:angle="90" /> -</shape>
\ No newline at end of file diff --git a/main/res/drawable/map_status_light.xml b/main/res/drawable/map_status_light.xml deleted file mode 100644 index a6ae801..0000000 --- a/main/res/drawable/map_status_light.xml +++ /dev/null @@ -1,9 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<shape xmlns:android="http://schemas.android.com/apk/res/android" - android:shape="rectangle"> - <gradient - android:startColor="#00FFFFFF" - android:centerColor="#66FFFFFF" - android:endColor="#88FFFFFF" - android:angle="90" /> -</shape>
\ No newline at end of file diff --git a/main/res/drawable/cache_dark_pressed.xml b/main/res/drawable/mark_gray.xml index 593caea..239739e 100644 --- a/main/res/drawable/cache_dark_pressed.xml +++ b/main/res/drawable/mark_gray.xml @@ -2,5 +2,5 @@ <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <solid - android:color="#44FFFFFF" /> + android:color="#77777777" /> </shape>
\ No newline at end of file diff --git a/main/res/drawable/separator_dark.xml b/main/res/drawable/separator_dark.xml deleted file mode 100644 index ece89e1..0000000 --- a/main/res/drawable/separator_dark.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<shape xmlns:android="http://schemas.android.com/apk/res/android" - android:shape="rectangle"> - <solid - android:color="#22FFFFFF" /> -</shape>
\ No newline at end of file diff --git a/main/res/drawable/separator_light.xml b/main/res/drawable/separator_light.xml deleted file mode 100644 index f57780a..0000000 --- a/main/res/drawable/separator_light.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<shape xmlns:android="http://schemas.android.com/apk/res/android" - android:shape="rectangle"> - <solid - android:color="#22000000" /> -</shape>
\ No newline at end of file diff --git a/main/res/drawable/user_location.png b/main/res/drawable/user_location.png Binary files differdeleted file mode 100644 index e1bde6e..0000000 --- a/main/res/drawable/user_location.png +++ /dev/null diff --git a/main/res/drawable/user_location_active.png b/main/res/drawable/user_location_active.png Binary files differdeleted file mode 100644 index d7d22d2..0000000 --- a/main/res/drawable/user_location_active.png +++ /dev/null diff --git a/main/res/layout-land/coords.xml b/main/res/layout-land/coords.xml index c2dc9c5..70601d4 100644 --- a/main/res/layout-land/coords.xml +++ b/main/res/layout-land/coords.xml @@ -1,127 +1,192 @@ <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" + xmlns:tools="http://schemas.android.com/tools" + android:id="@+id/linearLayout1" + android:layout_width="fill_parent" + android:layout_height="wrap_content" + android:background="?background_color" + android:orientation="vertical" > + + <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" + + <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_full"/> - <EditText style="@style/edittext_full" - 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_full" - android:gravity="right" - android:inputType="number" - android:selectAllOnFocus="true" /> - <TextView android:id="@+id/LatSeparator2" - android:text="," /> - <EditText android:id="@+id/EditTextLatSec" - style="@style/edittext_full" - android:gravity="right" - android:inputType="number" - android:selectAllOnFocus="true" /> - <TextView android:id="@+id/LatSeparator3" - android:text="," /> - <EditText android:id="@+id/EditTextLatSecFrac" - style="@style/edittext_full" - android:inputType="number" - android:selectAllOnFocus="true" /> - </TableRow> - <TableRow android:id="@+id/tableRow2"> - <Button android:id="@+id/ButtonLon" - style="@style/button_full"/> - <EditText android:id="@+id/EditTextLonDeg" - style="@style/edittext_full" - android:gravity="right" - android:inputType="number" - android:selectAllOnFocus="true" /> - <TextView android:id="@+id/LonSeparator1" - android:text="°" /> - <EditText android:id="@+id/EditTextLonMin" - style="@style/edittext_full" - android:gravity="right" - android:inputType="number" - android:selectAllOnFocus="true" /> - <TextView android:id="@+id/LonSeparator2" - android:text="," /> - <EditText android:id="@+id/EditTextLonSec" - style="@style/edittext_full" - android:gravity="right" - android:inputType="number" - android:selectAllOnFocus="true" /> - <TextView android:id="@+id/LonSeparator3" - android:text="," /> - <EditText android:id="@+id/EditTextLonSecFrac" - style="@style/edittext_full" - android:inputType="number" - android:selectAllOnFocus="true" /> - </TableRow> - </TableLayout> - <EditText - android:id="@+id/latitude" - style="@style/edittext_full" - android:layout_width="fill_parent" - android:layout_height="wrap_content" - android:hint="@string/latitude" /> - <EditText - android:id="@+id/longitude" - style="@style/edittext_full" - 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_full" - 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_full" - 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_full" - android:layout_width="fill_parent" - android:layout_height="wrap_content" - android:id="@+id/done" - android:text="@string/waypoint_done" /> - </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="0dp" + android:layout_weight="1" + android:stretchColumns="0,1,3,5,7" > + + <TableRow android:id="@+id/tableRow1" > + + <Button + android:id="@+id/ButtonLat" + style="@style/button_full" /> + + <EditText + android:id="@+id/EditTextLatDeg" + style="@style/edittext_full" + android:gravity="right" + android:inputType="number" + android:selectAllOnFocus="true" /> + + <TextView + android:id="@+id/LatSeparator1" + android:text="°" + tools:ignore="HardcodedText" /> + + <EditText + android:id="@+id/EditTextLatMin" + style="@style/edittext_full" + android:gravity="right" + android:inputType="number" + android:selectAllOnFocus="true" /> + + <TextView + android:id="@+id/LatSeparator2" + android:text="," + tools:ignore="HardcodedText" /> + + <EditText + android:id="@+id/EditTextLatSec" + style="@style/edittext_full" + android:gravity="right" + android:inputType="number" + android:selectAllOnFocus="true" /> + + <TextView + android:id="@+id/LatSeparator3" + android:text="," + tools:ignore="HardcodedText" /> + + <EditText + android:id="@+id/EditTextLatSecFrac" + style="@style/edittext_full" + android:inputType="number" + android:selectAllOnFocus="true" /> + </TableRow> + + <TableRow android:id="@+id/tableRow2" > + + <Button + android:id="@+id/ButtonLon" + style="@style/button_full" /> + + <EditText + android:id="@+id/EditTextLonDeg" + style="@style/edittext_full" + android:gravity="right" + android:inputType="number" + android:selectAllOnFocus="true" /> + + <TextView + android:id="@+id/LonSeparator1" + android:text="°" + tools:ignore="HardcodedText" /> + + <EditText + android:id="@+id/EditTextLonMin" + style="@style/edittext_full" + android:gravity="right" + android:inputType="number" + android:selectAllOnFocus="true" /> + + <TextView + android:id="@+id/LonSeparator2" + android:text="," + tools:ignore="HardcodedText" /> + + <EditText + android:id="@+id/EditTextLonSec" + style="@style/edittext_full" + android:gravity="right" + android:inputType="number" + android:selectAllOnFocus="true" /> + + <TextView + android:id="@+id/LonSeparator3" + android:text="," + tools:ignore="HardcodedText" /> + + <EditText + android:id="@+id/EditTextLonSecFrac" + style="@style/edittext_full" + android:inputType="number" + android:selectAllOnFocus="true" /> + </TableRow> + </TableLayout> + + <EditText + android:id="@+id/latitude" + style="@style/edittext_full" + android:layout_width="fill_parent" + android:layout_height="wrap_content" + android:hint="@string/latitude" /> + + <EditText + android:id="@+id/longitude" + style="@style/edittext_full" + 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 + android:id="@+id/current" + style="@style/button_full" + android:layout_width="fill_parent" + android:layout_height="wrap_content" + android:layout_weight="1" + android:text="@string/waypoint_my_coordinates" /> + + <Button + android:id="@+id/cache" + style="@style/button_full" + android:layout_width="fill_parent" + android:layout_height="wrap_content" + android:layout_weight="1" + android:text="@string/waypoint_cache_coordinates" /> + </LinearLayout> + + <Button + android:id="@+id/done" + style="@style/button_full" + android:layout_width="fill_parent" + android:layout_height="wrap_content" + android:text="@string/waypoint_done" /> + </LinearLayout> </ScrollView> -</LinearLayout> + +</LinearLayout>
\ No newline at end of file diff --git a/main/res/layout/about.xml b/main/res/layout/about.xml index 13d7c04..39ad8ff 100644 --- a/main/res/layout/about.xml +++ b/main/res/layout/about.xml @@ -17,7 +17,7 @@ android:orientation="vertical" > <LinearLayout android:layout_width="fill_parent" - android:layout_height="fill_parent" + android:layout_height="wrap_content" android:layout_marginTop="10dip" android:orientation="vertical" > <LinearLayout diff --git a/main/res/layout/auth.xml b/main/res/layout/auth.xml index d94b08a..ea06d9c 100644 --- a/main/res/layout/auth.xml +++ b/main/res/layout/auth.xml @@ -1,82 +1,85 @@ <?xml version="1.0" encoding="UTF-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" - android:layout_width="fill_parent" - android:layout_height="fill_parent" - android:orientation="vertical" - android:background="?background_color" > - <LinearLayout style="@style/action_bar"> - <ImageView style="@style/action_bar_action" - android:onClick="goHome" /> - <View style="@style/action_bar_separator" /> - <TextView style="@style/action_bar_title" /> - </LinearLayout> - <ScrollView - android:layout_width="fill_parent" - android:layout_height="fill_parent" - android:padding="4dip" - android:orientation="vertical" > - <LinearLayout - android:layout_width="fill_parent" - android:layout_height="fill_parent" - android:layout_marginTop="10dip" - android:orientation="vertical" > - <LinearLayout - android:layout_width="fill_parent" - android:layout_height="wrap_content" - android:orientation="horizontal" - android:padding="7dip" > - <ImageView - android:layout_width="64dip" - android:layout_height="64dip" - android:maxWidth="64dip" - android:maxHeight="64dip" - android:scaleType="fitXY" - android:layout_marginTop="7dip" - android:layout_marginBottom="7dip" - android:layout_marginLeft="7dip" - android:layout_marginRight="7dip" - android:src="@drawable/icon_big" /> - <TextView - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_marginLeft="10dip" - android:layout_marginRight="10dip" - android:layout_marginBottom="5dip" - android:layout_gravity="left|center_vertical" - android:gravity="left|center_vertical" - android:textSize="14dip" - android:textColor="?text_color" - android:text="@string/about_auth_1" /> - </LinearLayout> - <TextView - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_marginLeft="10dip" - android:layout_marginRight="10dip" - android:layout_marginBottom="5dip" - android:layout_gravity="left|center_vertical" - android:gravity="left|center_vertical" - android:textSize="14dip" - android:textColor="?text_color" - android:text="@string/about_auth_2" /> - <LinearLayout - android:layout_width="fill_parent" - android:layout_height="wrap_content" - android:orientation="vertical" - android:padding="7dip" > - <Button style="@style/button_full" - android:id="@+id/start" - android:text="@string/auth_authorize" /> - <EditText style="@style/edittext_full" - android:id="@+id/pin" - android:visibility="gone" - android:inputType="number" - android:hint="@string/auth_pin_hint" /> - <Button style="@style/button_full" - android:id="@+id/pin_button" - android:visibility="gone" - android:text="@string/auth_finish" /> - </LinearLayout> - </LinearLayout> - </ScrollView> + android:layout_width="fill_parent" + android:layout_height="fill_parent" + android:background="?background_color" + android:orientation="vertical" + android:visibility="visible" > + + <LinearLayout style="@style/action_bar" > + + <ImageView + style="@style/action_bar_action" + android:onClick="goHome"/> + + <View style="@style/action_bar_separator" /> + + <TextView style="@style/action_bar_title" /> + </LinearLayout> + + <ScrollView + android:layout_width="fill_parent" + android:layout_height="fill_parent" + android:orientation="vertical" + android:padding="4dip" > + + <LinearLayout + android:layout_width="fill_parent" + android:layout_height="wrap_content" + android:layout_marginTop="10dip" + android:orientation="vertical" > + + <TextView + android:layout_width="fill_parent" + android:layout_height="wrap_content" + android:layout_gravity="left|center_vertical" + android:layout_marginBottom="20dip" + android:layout_marginLeft="10dip" + android:layout_marginRight="10dip" + android:drawableLeft="@drawable/cgeo" + android:drawablePadding="15dip" + android:gravity="left|center_vertical" + android:text="@string/about_auth_1" + android:textColor="?text_color" + android:textSize="14sp" /> + + <TextView + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_gravity="left|center_vertical" + android:layout_marginBottom="5dip" + android:layout_marginLeft="10dip" + android:layout_marginRight="10dip" + android:gravity="left|center_vertical" + android:text="@string/about_auth_2" + android:textColor="?text_color" + android:textSize="14sp" /> + + <LinearLayout + android:layout_width="fill_parent" + android:layout_height="wrap_content" + android:orientation="vertical" + android:padding="7dip" > + + <Button + android:id="@+id/start" + style="@style/button_full" + android:text="@string/auth_authorize" /> + + <EditText + android:id="@+id/pin" + style="@style/edittext_full" + android:hint="@string/auth_pin_hint" + android:inputType="number" + android:visibility="gone" /> + + <Button + android:id="@+id/pin_button" + style="@style/button_full" + android:text="@string/auth_finish" + android:visibility="visible" /> + </LinearLayout> + </LinearLayout> + </ScrollView> + </LinearLayout>
\ No newline at end of file diff --git a/main/res/layout/cacheview.xml b/main/res/layout/cacheview.xml index 2f6f155..b13fc95 100644 --- a/main/res/layout/cacheview.xml +++ b/main/res/layout/cacheview.xml @@ -36,7 +36,7 @@ <android.support.v4.view.ViewPager
android:id="@+id/viewpager"
android:layout_width="fill_parent"
- android:layout_height="wrap_content"
+ android:layout_height="0dp"
android:layout_weight="1" />
<com.viewpagerindicator.TitlePageIndicator
diff --git a/main/res/layout/cacheview_description.xml b/main/res/layout/cacheview_description.xml index 60e70e7..044329b 100644 --- a/main/res/layout/cacheview_description.xml +++ b/main/res/layout/cacheview_description.xml @@ -5,7 +5,7 @@ <LinearLayout
android:layout_width="fill_parent"
- android:layout_height="fill_parent"
+ android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="4dip" >
diff --git a/main/res/layout/cacheview_details.xml b/main/res/layout/cacheview_details.xml index 2598fdd..62ee2af 100644 --- a/main/res/layout/cacheview_details.xml +++ b/main/res/layout/cacheview_details.xml @@ -6,7 +6,7 @@ <LinearLayout
android:layout_width="fill_parent"
- android:layout_height="fill_parent"
+ android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="4dip" >
diff --git a/main/res/layout/cacheview_waypoints.xml b/main/res/layout/cacheview_waypoints.xml index faf90f5..fc990d5 100644 --- a/main/res/layout/cacheview_waypoints.xml +++ b/main/res/layout/cacheview_waypoints.xml @@ -5,7 +5,7 @@ <LinearLayout
android:layout_width="fill_parent"
- android:layout_height="fill_parent"
+ android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="4dip" >
diff --git a/main/res/layout/coords.xml b/main/res/layout/coords.xml index 3adcb2a..21307f7 100644 --- a/main/res/layout/coords.xml +++ b/main/res/layout/coords.xml @@ -1,118 +1,184 @@ <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" + xmlns:tools="http://schemas.android.com/tools" + android:id="@+id/linearLayout1" + android:layout_width="fill_parent" + android:layout_height="wrap_content" + android:background="?background_color" + android:orientation="vertical" > + + <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" + + <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_full"/> - <EditText style="@style/edittext_full" - 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_full" - android:gravity="right" - android:inputType="number" - android:selectAllOnFocus="true" /> - <TextView android:id="@+id/LatSeparator2" - android:text="," /> - <EditText android:id="@+id/EditTextLatSec" - style="@style/edittext_full" - android:gravity="right" - android:inputType="number" - android:selectAllOnFocus="true" /> - <TextView android:id="@+id/LatSeparator3" - android:text="," /> - <EditText android:id="@+id/EditTextLatSecFrac" - style="@style/edittext_full" - android:inputType="number" - android:selectAllOnFocus="true" /> - </TableRow> - <TableRow android:id="@+id/tableRow2"> - <Button android:id="@+id/ButtonLon" - style="@style/button_full"/> - <EditText android:id="@+id/EditTextLonDeg" - style="@style/edittext_full" - android:gravity="right" - android:inputType="number" - android:selectAllOnFocus="true" /> - <TextView android:id="@+id/LonSeparator1" - android:text="°" /> - <EditText android:id="@+id/EditTextLonMin" - style="@style/edittext_full" - android:gravity="right" - android:inputType="number" - android:selectAllOnFocus="true" /> - <TextView android:id="@+id/LonSeparator2" - android:text="," /> - <EditText android:id="@+id/EditTextLonSec" - style="@style/edittext_full" - android:gravity="right" - android:inputType="number" - android:selectAllOnFocus="true" /> - <TextView android:id="@+id/LonSeparator3" - android:text="," /> - <EditText android:id="@+id/EditTextLonSecFrac" - style="@style/edittext_full" - android:inputType="number" - android:selectAllOnFocus="true" /> - </TableRow> - </TableLayout> - <EditText style="@style/edittext_full" - android:layout_width="fill_parent" - android:layout_height="wrap_content" - android:id="@+id/latitude" - android:hint="@string/latitude" /> - <EditText style="@style/edittext_full" - android:layout_width="fill_parent" - android:layout_height="wrap_content" - android:id="@+id/longitude" - android:hint="@string/longitude" /> - <Button style="@style/button_full" - android:layout_width="fill_parent" - android:layout_height="wrap_content" - android:id="@+id/current" - android:text="@string/waypoint_my_coordinates" /> - <Button style="@style/button_full" - android:layout_width="fill_parent" - android:layout_height="wrap_content" - android:id="@+id/cache" - android:text="@string/waypoint_cache_coordinates" /> - <Button style="@style/button_full" - android:layout_width="fill_parent" - android:layout_height="wrap_content" - android:id="@+id/done" - android:text="@string/waypoint_done" /> - </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="0dp" + android:layout_weight="1" + android:stretchColumns="0,1,3,5,7" > + + <TableRow android:id="@+id/tableRow1" > + + <Button + android:id="@+id/ButtonLat" + style="@style/button_full" /> + + <EditText + android:id="@+id/EditTextLatDeg" + style="@style/edittext_full" + android:gravity="right" + android:inputType="number" + android:selectAllOnFocus="true" /> + + <TextView + android:id="@+id/LatSeparator1" + android:text="°" + tools:ignore="HardcodedText" /> + + <EditText + android:id="@+id/EditTextLatMin" + style="@style/edittext_full" + android:gravity="right" + android:inputType="number" + android:selectAllOnFocus="true" /> + + <TextView + android:id="@+id/LatSeparator2" + android:text="," + tools:ignore="HardcodedText" /> + + <EditText + android:id="@+id/EditTextLatSec" + style="@style/edittext_full" + android:gravity="right" + android:inputType="number" + android:selectAllOnFocus="true" /> + + <TextView + android:id="@+id/LatSeparator3" + android:text="," + tools:ignore="HardcodedText" /> + + <EditText + android:id="@+id/EditTextLatSecFrac" + style="@style/edittext_full" + android:inputType="number" + android:selectAllOnFocus="true" /> + </TableRow> + + <TableRow android:id="@+id/tableRow2" > + + <Button + android:id="@+id/ButtonLon" + style="@style/button_full" /> + + <EditText + android:id="@+id/EditTextLonDeg" + style="@style/edittext_full" + android:gravity="right" + android:inputType="number" + android:selectAllOnFocus="true" /> + + <TextView + android:id="@+id/LonSeparator1" + android:text="°" + tools:ignore="HardcodedText" /> + + <EditText + android:id="@+id/EditTextLonMin" + style="@style/edittext_full" + android:gravity="right" + android:inputType="number" + android:selectAllOnFocus="true" /> + + <TextView + android:id="@+id/LonSeparator2" + android:text="," + tools:ignore="HardcodedText" /> + + <EditText + android:id="@+id/EditTextLonSec" + style="@style/edittext_full" + android:gravity="right" + android:inputType="number" + android:selectAllOnFocus="true" /> + + <TextView + android:id="@+id/LonSeparator3" + android:text="," + tools:ignore="HardcodedText" /> + + <EditText + android:id="@+id/EditTextLonSecFrac" + style="@style/edittext_full" + android:inputType="number" + android:selectAllOnFocus="true" /> + </TableRow> + </TableLayout> + + <EditText + android:id="@+id/latitude" + style="@style/edittext_full" + android:layout_width="fill_parent" + android:layout_height="wrap_content" + android:hint="@string/latitude" /> + + <EditText + android:id="@+id/longitude" + style="@style/edittext_full" + android:layout_width="fill_parent" + android:layout_height="wrap_content" + android:hint="@string/longitude" /> + + <Button + android:id="@+id/current" + style="@style/button_full" + android:layout_width="fill_parent" + android:layout_height="wrap_content" + android:text="@string/waypoint_my_coordinates" /> + + <Button + android:id="@+id/cache" + style="@style/button_full" + android:layout_width="fill_parent" + android:layout_height="wrap_content" + android:text="@string/waypoint_cache_coordinates" /> + + <Button + android:id="@+id/done" + style="@style/button_full" + android:layout_width="fill_parent" + android:layout_height="wrap_content" + android:text="@string/waypoint_done" /> + </LinearLayout> </ScrollView> -</LinearLayout> + +</LinearLayout>
\ No newline at end of file diff --git a/main/res/layout/editor.xml b/main/res/layout/editor.xml index 88b1b10..e07d31f 100644 --- a/main/res/layout/editor.xml +++ b/main/res/layout/editor.xml @@ -8,7 +8,7 @@ <EditText android:id="@+id/editorEditText" android:layout_width="match_parent" - android:layout_height="wrap_content" + android:layout_height="0dp" android:layout_weight="1" android:inputType="textMultiLine" android:scrollbars="vertical" > diff --git a/main/res/layout/filter_bar.xml b/main/res/layout/filter_bar.xml index 35ee929..9df8f84 100644 --- a/main/res/layout/filter_bar.xml +++ b/main/res/layout/filter_bar.xml @@ -1,10 +1,19 @@ <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" - android:id="@+id/filter_bar" - style="@style/filter_bar" - android:visibility="gone"> - <ImageView style="@style/filter_bar_image" - android:src="@drawable/main_filter_default"></ImageView> - <TextView android:id="@+id/filter_text" - style="@style/filter_bar_text"/> + xmlns:tools="http://schemas.android.com/tools" + android:id="@+id/filter_bar" + style="@style/filter_bar" + android:onClick="showFilterMenu" + android:visibility="gone" + tools:ignore="UseCompoundDrawables" > <!-- This cannot be done with a compound drawable as there is no easy way to set the size of the image in XML --> + + <ImageView + style="@style/filter_bar_image" + android:src="@drawable/main_filter_default" > + </ImageView> + + <TextView + android:id="@+id/filter_text" + style="@style/filter_bar_text" /> + </LinearLayout>
\ No newline at end of file diff --git a/main/res/layout/init.xml b/main/res/layout/init.xml index 8450ff8..fc425ec 100644 --- a/main/res/layout/init.xml +++ b/main/res/layout/init.xml @@ -21,7 +21,7 @@ android:orientation="vertical" > <LinearLayout android:layout_width="fill_parent" - android:layout_height="fill_parent" + android:layout_height="wrap_content" android:layout_marginTop="10dip" android:orientation="vertical" > <!-- ** --> @@ -296,7 +296,6 @@ <CheckBox android:id="@+id/offline_wp" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:layout_alignParentLeft="true" android:layout_gravity="left" android:padding="1px" android:gravity="center" /> @@ -527,26 +526,6 @@ android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="horizontal" > - <CheckBox android:id="@+id/gnav" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_gravity="left" - android:padding="1px" - android:gravity="center" /> - <TextView - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_gravity="center_vertical" - android:gravity="left" - android:paddingRight="3dip" - android:textSize="14dip" - android:textColor="?text_color" - android:text="@string/init_nav" /> - </LinearLayout> - <LinearLayout - android:layout_width="fill_parent" - android:layout_height="wrap_content" - android:orientation="horizontal" > <CheckBox android:id="@+id/livelist" android:layout_width="wrap_content" android:layout_height="wrap_content" diff --git a/main/res/layout/navigate.xml b/main/res/layout/navigate.xml index 94ed7bc..61cfe2a 100644 --- a/main/res/layout/navigate.xml +++ b/main/res/layout/navigate.xml @@ -24,14 +24,12 @@ <TextView android:id="@+id/destination" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:layout_centerHorizontal="true" android:layout_gravity="center" android:textSize="14dip" android:textColor="?text_color"/> <TextView android:id="@+id/cacheinfo" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:layout_centerHorizontal="true" android:layout_gravity="center" android:textSize="14dip" android:textColor="?text_color"/> diff --git a/main/res/layout/popup.xml b/main/res/layout/popup.xml index 9a33c55..201b9e6 100644 --- a/main/res/layout/popup.xml +++ b/main/res/layout/popup.xml @@ -26,55 +26,45 @@ android:orientation="vertical" > <LinearLayout android:layout_width="fill_parent" - android:layout_height="fill_parent" + android:layout_height="wrap_content" android:orientation="vertical" > <LinearLayout android:id="@+id/details_list" android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="vertical" > </LinearLayout> - <LinearLayout android:id="@+id/more_details_box" - android:layout_width="fill_parent" - android:layout_height="wrap_content" - android:orientation="vertical" > - <Button style="@style/button_small" - android:id="@+id/more_details" - android:text="@string/popup_more" /> - </LinearLayout> - <LinearLayout android:id="@+id/offline_box" - android:layout_width="fill_parent" - android:layout_height="wrap_content" - android:orientation="vertical" > - <RelativeLayout style="@style/separator_horizontal_layout" > - <View style="@style/separator_horizontal" /> - </RelativeLayout> - <RelativeLayout - android:layout_width="fill_parent" - android:layout_height="wrap_content" > - <TextView android:id="@+id/offline_text" - android:layout_width="fill_parent" - android:layout_height="wrap_content" - android:layout_marginLeft="6dip" - android:layout_marginRight="130dip" - android:layout_alignParentLeft="true" - android:layout_gravity="left" - android:paddingRight="3dip" - android:textSize="14dip" - android:textColor="?text_color" /> - <Button style="@style/button_small" - android:id="@+id/offline_refresh" - android:visibility="gone" - android:layout_width="60dip" - android:layout_marginRight="71dip" - android:layout_alignParentRight="true" - android:text="@string/cache_offline_refresh" /> - <Button style="@style/button_small" - android:id="@+id/offline_store" - android:layout_width="60dip" - android:layout_alignParentRight="true" - android:text="@string/cache_offline_store" /> - </RelativeLayout> - </LinearLayout> + <Button style="@style/button_small" android:id="@+id/more_details" android:text="@string/popup_more" + android:layout_width="fill_parent" android:layout_height="wrap_content" + android:layout_gravity="center_horizontal"/> + <RelativeLayout style="@style/separator_horizontal_layout" > + <View style="@style/separator_horizontal" /> + </RelativeLayout> + <RelativeLayout + android:layout_width="fill_parent" + android:layout_height="wrap_content" > + <TextView android:id="@+id/offline_text" + android:layout_width="fill_parent" + android:layout_height="wrap_content" + android:layout_marginLeft="6dip" + android:layout_marginRight="130dip" + android:layout_alignParentLeft="true" + android:layout_gravity="left" + android:paddingRight="3dip" + android:textSize="14dip" + android:textColor="?text_color" /> + <Button style="@style/button_small" + android:id="@+id/offline_refresh" + android:visibility="gone" + android:layout_width="60dip" + android:layout_marginRight="71dip" + android:layout_alignParentRight="true" + android:text="@string/cache_offline_refresh" /> + <Button style="@style/button_small" + android:id="@+id/offline_store" + android:layout_width="60dip" + android:layout_alignParentRight="true" + android:text="@string/cache_offline_store" /> + </RelativeLayout> </LinearLayout> </ScrollView> </LinearLayout>
\ No newline at end of file diff --git a/main/res/layout/search.xml b/main/res/layout/search.xml index 9848609..5869962 100644 --- a/main/res/layout/search.xml +++ b/main/res/layout/search.xml @@ -1,125 +1,196 @@ <?xml version="1.0" encoding="UTF-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" - android:layout_width="fill_parent" - android:layout_height="fill_parent" - android:orientation="vertical" - android:background="?background_color" > - <LinearLayout style="@style/action_bar"> - <ImageView style="@style/action_bar_action" - android:onClick="goHome" /> - <View style="@style/action_bar_separator" /> - <TextView style="@style/action_bar_title" /> - <View style="@style/action_bar_separator" /> - <ImageView style="@style/action_bar_action" - android:src="@drawable/actionbar_manual" - android:onClick="goManual" /> - </LinearLayout> - <ScrollView - android:layout_width="fill_parent" - android:layout_height="fill_parent" - android:padding="4dip" - android:orientation="vertical" > - <LinearLayout - android:layout_width="fill_parent" - android:layout_height="fill_parent" - android:layout_marginTop="10dip" - android:layout_marginBottom="10dip" - android:orientation="vertical" > - <RelativeLayout style="@style/separator_horizontal_layout" > - <View style="@style/separator_horizontal" /> - <TextView style="@style/separator_horizontal_headline" - android:text="@string/search_coordinates" /> - </RelativeLayout> - <Button style="@style/button_full" - android:hint="@string/latitude" - android:id="@+id/buttonLatitude"/> - <Button style="@style/button_full" - android:hint="@string/longitude" - android:id="@+id/buttonLongitude"/> - <Button style="@style/button_full" - android:id="@+id/search_coordinates" - android:text="@string/search_coordinates_button" /> -<!-- ** --> - <RelativeLayout style="@style/separator_horizontal_layout" > - <View style="@style/separator_horizontal" /> - <TextView style="@style/separator_horizontal_headline" - android:text="@string/search_address" /> - </RelativeLayout> - <EditText style="@style/edittext_full" - android:id="@+id/address" - android:hint="@string/search_address" - android:imeOptions="actionGo" /> - <Button style="@style/button_full" - android:id="@+id/search_address" - android:text="@string/search_address_button" /> -<!-- ** --> - <RelativeLayout style="@style/separator_horizontal_layout" > - <View style="@style/separator_horizontal" /> - <TextView style="@style/separator_horizontal_headline" - android:text="@string/search_gc" /> - </RelativeLayout> - <AutoCompleteTextView style="@style/edittext_full" - android:id="@+id/geocode" - android:hint="@string/search_gc" - android:imeOptions="actionGo" - android:text="GC" - android:inputType="textCapCharacters" /> - <Button style="@style/button_full" - android:id="@+id/display_geocode" - android:text="@string/search_gc_button" /> -<!-- ** --> - <RelativeLayout style="@style/separator_horizontal_layout" > - <View style="@style/separator_horizontal" /> - <TextView style="@style/separator_horizontal_headline" - android:text="@string/search_kw" /> - </RelativeLayout> - <EditText style="@style/edittext_full" - android:id="@+id/keyword" - android:hint="@string/search_kw_prefill" - android:imeOptions="actionGo" /> - <Button style="@style/button_full" - android:id="@+id/search_keyword" - android:text="@string/search_kw_button" /> -<!-- ** --> - <RelativeLayout style="@style/separator_horizontal_layout" > - <View style="@style/separator_horizontal" /> - <TextView style="@style/separator_horizontal_headline" - android:text="@string/search_fbu" /> - </RelativeLayout> - <EditText style="@style/edittext_full" - android:id="@+id/username" - android:hint="@string/search_fbu_prefill" - android:imeOptions="actionGo" /> - <Button style="@style/button_full" - android:id="@+id/search_username" - android:text="@string/search_fbu_button" /> -<!-- ** --> - <RelativeLayout style="@style/separator_horizontal_layout" > - <View style="@style/separator_horizontal" /> - <TextView style="@style/separator_horizontal_headline" - android:text="@string/search_hbu" /> - </RelativeLayout> - <EditText style="@style/edittext_full" - android:id="@+id/owner" - android:hint="@string/search_hbu_prefill" - android:imeOptions="actionGo" /> - <Button style="@style/button_full" - android:id="@+id/search_owner" - android:text="@string/search_hbu_button" /> -<!-- ** --> - <RelativeLayout style="@style/separator_horizontal_layout" > - <View style="@style/separator_horizontal" /> - <TextView style="@style/separator_horizontal_headline" - android:text="@string/search_tb" /> - </RelativeLayout> - <AutoCompleteTextView style="@style/edittext_full" - android:id="@+id/trackable" - android:hint="@string/search_tb_hint" - android:imeOptions="actionGo" - android:inputType="textCapCharacters" /> - <Button style="@style/button_full" - android:id="@+id/display_trackable" - android:text="@string/search_tb_button" /> - </LinearLayout> - </ScrollView> -</LinearLayout> + xmlns:tools="http://schemas.android.com/tools" + android:layout_width="fill_parent" + android:layout_height="fill_parent" + android:background="?background_color" + android:orientation="vertical" > + + <LinearLayout style="@style/action_bar" > + + <ImageView + style="@style/action_bar_action" + android:onClick="goHome" /> + + <View style="@style/action_bar_separator" /> + + <TextView style="@style/action_bar_title" /> + + <View style="@style/action_bar_separator" /> + + <ImageView + style="@style/action_bar_action" + android:onClick="goManual" + android:src="@drawable/actionbar_manual" /> + </LinearLayout> + + <ScrollView + android:layout_width="fill_parent" + android:layout_height="fill_parent" + android:orientation="vertical" + android:padding="4dip" > + + <LinearLayout + android:layout_width="fill_parent" + android:layout_height="wrap_content" + android:layout_marginBottom="10dip" + android:layout_marginTop="10dip" + android:orientation="vertical" > + + <RelativeLayout style="@style/separator_horizontal_layout" > + + <View style="@style/separator_horizontal" /> + + <TextView + style="@style/separator_horizontal_headline" + android:text="@string/search_coordinates" /> + </RelativeLayout> + + <Button + android:id="@+id/buttonLatitude" + style="@style/button_full" + android:hint="@string/latitude" /> + + <Button + android:id="@+id/buttonLongitude" + style="@style/button_full" + android:hint="@string/longitude" /> + + <Button + android:id="@+id/search_coordinates" + style="@style/button_full" + android:text="@string/search_coordinates_button" /> + <!-- ** --> + + <RelativeLayout style="@style/separator_horizontal_layout" > + + <View style="@style/separator_horizontal" /> + + <TextView + style="@style/separator_horizontal_headline" + android:text="@string/search_address" /> + </RelativeLayout> + + <EditText + android:id="@+id/address" + style="@style/edittext_full" + android:hint="@string/search_address" + android:imeOptions="actionGo" /> + + <Button + android:id="@+id/search_address" + style="@style/button_full" + android:text="@string/search_address_button" /> + <!-- ** --> + + <RelativeLayout style="@style/separator_horizontal_layout" > + + <View style="@style/separator_horizontal" /> + + <TextView + style="@style/separator_horizontal_headline" + android:text="@string/search_gc" /> + </RelativeLayout> + + <AutoCompleteTextView + android:id="@+id/geocode" + style="@style/edittext_full" + android:hint="@string/search_gc" + android:imeOptions="actionGo" + android:inputType="textCapCharacters" + android:text="GC" + tools:ignore="HardcodedText" /> + + <Button + android:id="@+id/display_geocode" + style="@style/button_full" + android:text="@string/search_gc_button" /> + <!-- ** --> + + <RelativeLayout style="@style/separator_horizontal_layout" > + + <View style="@style/separator_horizontal" /> + + <TextView + style="@style/separator_horizontal_headline" + android:text="@string/search_kw" /> + </RelativeLayout> + + <EditText + android:id="@+id/keyword" + style="@style/edittext_full" + android:hint="@string/search_kw_prefill" + android:imeOptions="actionGo" /> + + <Button + android:id="@+id/search_keyword" + style="@style/button_full" + android:text="@string/search_kw_button" /> + <!-- ** --> + + <RelativeLayout style="@style/separator_horizontal_layout" > + + <View style="@style/separator_horizontal" /> + + <TextView + style="@style/separator_horizontal_headline" + android:text="@string/search_fbu" /> + </RelativeLayout> + + <EditText + android:id="@+id/username" + style="@style/edittext_full" + android:hint="@string/search_fbu_prefill" + android:imeOptions="actionGo" /> + + <Button + android:id="@+id/search_username" + style="@style/button_full" + android:text="@string/search_fbu_button" /> + <!-- ** --> + + <RelativeLayout style="@style/separator_horizontal_layout" > + + <View style="@style/separator_horizontal" /> + + <TextView + style="@style/separator_horizontal_headline" + android:text="@string/search_hbu" /> + </RelativeLayout> + + <EditText + android:id="@+id/owner" + style="@style/edittext_full" + android:hint="@string/search_hbu_prefill" + android:imeOptions="actionGo" /> + + <Button + android:id="@+id/search_owner" + style="@style/button_full" + android:text="@string/search_hbu_button" /> + <!-- ** --> + + <RelativeLayout style="@style/separator_horizontal_layout" > + + <View style="@style/separator_horizontal" /> + + <TextView + style="@style/separator_horizontal_headline" + android:text="@string/search_tb" /> + </RelativeLayout> + + <AutoCompleteTextView + android:id="@+id/trackable" + style="@style/edittext_full" + android:hint="@string/search_tb_hint" + android:imeOptions="actionGo" + android:inputType="textCapCharacters" /> + + <Button + android:id="@+id/display_trackable" + style="@style/button_full" + android:text="@string/search_tb_button" /> + </LinearLayout> + </ScrollView> + +</LinearLayout>
\ No newline at end of file diff --git a/main/res/layout/trackable_detail.xml b/main/res/layout/trackable_detail.xml index 9ffd5cb..4fc34a5 100644 --- a/main/res/layout/trackable_detail.xml +++ b/main/res/layout/trackable_detail.xml @@ -22,7 +22,7 @@ android:orientation="vertical" > <LinearLayout android:layout_width="fill_parent" - android:layout_height="fill_parent" + android:layout_height="wrap_content" android:orientation="vertical" > <LinearLayout android:id="@+id/details_list" android:layout_width="fill_parent" diff --git a/main/res/layout/trackable_logs_item.xml b/main/res/layout/trackable_logs_item.xml index d13416a..77f057e 100644 --- a/main/res/layout/trackable_logs_item.xml +++ b/main/res/layout/trackable_logs_item.xml @@ -2,7 +2,8 @@ <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="wrap_content" - android:padding="3dip" > + android:paddingTop="3dip" + android:paddingBottom="3dip" > <TextView android:id="@+id/author" android:layout_width="wrap_content" android:layout_height="wrap_content" @@ -62,9 +63,16 @@ android:ellipsize="marquee" android:textSize="14dip" android:textColor="?text_color_headline" /> - </LinearLayout> - </LinearLayout> - <LinearLayout android:id="@+id/log_layout" + </LinearLayout> + <ImageView android:id="@+id/log_mark" + android:layout_width="2dip" + android:layout_height="fill_parent" + android:layout_marginTop="2dip" + android:layout_marginBottom="2dip" + android:scaleType="fitXY" + android:src="@drawable/mark_green" /> + </LinearLayout> + <LinearLayout android:id="@+id/log_layout" android:layout_height="wrap_content" android:layout_width="fill_parent" android:orientation="vertical" diff --git a/main/res/layout/useful_apps.xml b/main/res/layout/useful_apps.xml index d9dbd62..1d7aecd 100644 --- a/main/res/layout/useful_apps.xml +++ b/main/res/layout/useful_apps.xml @@ -18,7 +18,7 @@ <LinearLayout android:id="@+id/parent" android:layout_width="fill_parent" - android:layout_height="fill_parent" + android:layout_height="wrap_content" android:orientation="vertical" > </LinearLayout> </ScrollView> diff --git a/main/res/layout/visit.xml b/main/res/layout/visit.xml index 8e2f06b..e88c21b 100644 --- a/main/res/layout/visit.xml +++ b/main/res/layout/visit.xml @@ -23,7 +23,7 @@ android:orientation="vertical" > <LinearLayout android:layout_width="fill_parent" - android:layout_height="fill_parent" + android:layout_height="wrap_content" android:layout_marginTop="10dip" android:orientation="vertical" > <LinearLayout @@ -131,7 +131,8 @@ android:layout_marginBottom="5dip" android:gravity="right" android:textSize="14dip" - android:text="@string/log_tb_changeall" /> + android:text="@string/log_tb_changeall" + android:layout_height="0dp"/> </LinearLayout> </LinearLayout> </LinearLayout> diff --git a/main/res/values-cs/strings.xml b/main/res/values-cs/strings.xml index bf43a6e..40f724d 100644 --- a/main/res/values-cs/strings.xml +++ b/main/res/values-cs/strings.xml @@ -72,9 +72,6 @@ <string name="log_post_rate">Odeslat log a hlasovat</string> <string name="log_post_no_rate">Odeslat log a nehlasovat</string> <string name="log_add">Přidat</string> - <string name="log_date">Datum</string> - <string name="log_time">Čas</string> - <string name="log_date_time">Datum a čas</string> <string name="log_rating">Hlasovat</string> <string name="log_no_rating">Nehlasovat</string> <string name="log_stars_1">1 hvězdička</string> @@ -111,8 +108,6 @@ <string name="err_missing_auth">nevyplněné uživatelské jméno a/nebo heslo.</string> <string name="err_wrong">uložené přihlašovací údaje jsou špatné</string> <string name="err_license">uživatel nepotvrdil souhlas s licenčním ujednáním serveru Geocaching.com</string> - <string name="err_store">c:geo nemůže uložit keš.</string> - <string name="err_drop">c:geo nemůže smazat keš.</string> <string name="err_detail_open">c:geo nedokáže načíst detaily keše.</string> <string name="err_detail_cache">c:geo nedokáže načíst detaily keše. Je to opravdu keš?</string> <string name="err_detail_cache_find">c:geo nemůže najít keš</string> @@ -123,31 +118,22 @@ <string name="err_detail_cache_forgot_visit">c:geo zapomělo, jakou keš jste pohlížel.</string> <string name="err_detail_no_spoiler">c:geo nenašlo žádný obrázek pro tuto keš.</string> <string name="err_detail_no_map_static">c:geo nenašlo žádnou statickou mapu pro tuto keš.</string> - <string name="err_navigation_no">c:geo nemůže najít žádnou podporovanou navigaci.</string> <string name="err_application_no">c:geo nemůže najít žádnou použitelnou aplikaci.</string> <string name="err_auth_initialize">c:geo nedokázalo zahájit autorizaci.</string> <string name="err_auth_process">Autorizace selhala.</string> <string name="err_cannot_log_visit">c:geo nemá dostatek informací pro zapsání návštěvy. Prosím udělejte to z kompletního detailu keše.</string> <string name="err_init_cleared">c:geo nedokázalo smazat přihlašovací údaje.</string> <string name="err_download_fail">c:geo nemůže načíst keši, protože</string> - <string name="err_list_load_fail">c:geo nemůže načíst seznam keší</string> - <string name="err_store_failed">c:geo nemůže uložit keš</string> - <string name="err_refresh_failed">c:geo nemůže obnovit keš</string> <string name="err_dwld_details_failed">c:geo nemůže stáhnout detaily keše</string> <string name="err_load_descr_failed">c:geo nemůže stáhnout popis keše.</string> <string name="err_location_unknown">c:geo nezná souřadnice keše</string> <string name="err_tb_display">"C:geo nemůže zobrazit trackable. Je to opravdu trackable?</string> <string name="err_tb_details_open">C:geo nemůže otevřít podrobnosti k trackable.</string> - <string name="err_tb_details_download">C:geo nemůže stáhnout podronsti k trackable z důvodu</string> - <string name="err_tb_forgot">C:geo zapomělo, který trackable jste chtěli.</string> <string name="err_tb_forgot_saw">C:geo zapomělo, který trackable jste prohlíželi.</string> <string name="err_tb_find">c:geo nemůže najít trackable.</string> <string name="err_tb_find_that">c:geo nemůže najít toto trackable.</string> <string name="err_waypoint_cache_unknown">c:geo neví k jeké keši chcete přidat bod trasy.</string> - <string name="err_waypoint_unknown">c:geo zapomělo jaký bod trasy chcete zobrazit.</string> <string name="err_waypoint_add_failed">c:geo nemůže přidat bod trasy.</string> - <string name="err_waypoint_load_failed">c:geo nemůže načíst bod trasy.</string> - <string name="err_waypoint_delete_failed">c:geo nemůže smazat bod trasy.</string> <string name="err_point_unknown_position">c:geo neví kde jste.</string> <string name="err_point_no_position_given_title">popis je požadovaný</string> <string name="err_point_no_position_given">Vyplňte alespoň šířku nebo délku nebo vzdálenost a směr. Můžete také vyplnit všechny čtyři pole.</string> @@ -160,7 +146,6 @@ <string name="err_log_load_data_still">c:geo stále načítá data potřebná pro zalogování návštěvy. Prosím počkejte chvilku.</string> <string name="err_log_failed_server">c:geo nemohlo odeslat log, protože server neodpovídá.</string> <string name="err_log_post_failed">c:geo nemohlo odeslat log.</string> - <string name="err_search_address_no_match">c:geo nenašlo žádné odpovídající místo</string> <string name="err_search_address_forgot">c:geo zapomělo adresu, kterou se pokoušíte najít.</string> <string name="err_parse_lat">c:geo nemůže dopočítat šířku.</string> <string name="err_parse_lon">c:geo nemůže dopočítat délku.</string> @@ -267,10 +252,7 @@ <string name="caches_filter_type">Typ</string> <string name="caches_filter_track">Se sledovatelnými předměty</string> <string name="caches_filter_clear">Vymaž filtry</string> - <string name="caches_filter_size_title">Vyber velikost</string> - <string name="caches_filter_type_title">Vyber typ</string> <string name="caches_filter_modified">S upravenými souřadnicemi</string> - <string name="caches_exporting_fieldnote">Exportuji jako Field Notes…</string> <string name="caches_removing_from_history">Mažu z Historie…</string> <!-- caches lists --> @@ -347,7 +329,6 @@ <string name="init_offline_wp">Ukládat statické mapy k waypointům pro offline použití</string> <string name="init_save_log_img">Ulož obrázky z logů</string> <string name="init_units">Používat imperiální jednotky vzdálenosti</string> - <string name="init_nav">Používat Google Navigaci</string> <string name="init_log_offline">Offline logování\n(Při logování nezobrazovat online logovací obrazovku a neodesílat log na server)</string> <string name="init_livelist">Zobrazovat směr v seznamu keší</string> <string name="init_altitude">Výšková korekce</string> @@ -440,7 +421,6 @@ <string name="cache_description">Popis</string> <string name="cache_description_long">Dlouhý popis</string> <string name="cache_description_table_note">Popis obsahuje tabulkové formátování, které je pravděpodobně nutné prohlížet na geocaching.com, aby bylo správně zobrazené.</string> - <string name="cache_watchlist">Watchlist</string> <string name="cache_watchlist_on">Tato je ve vašem watchlistu.</string> <string name="cache_watchlist_not_on">Tato keš není ve vašem watchlistu.</string> <string name="cache_watchlist_add">Přidej na Watchlist</string> @@ -467,7 +447,6 @@ <string name="cache_dialog_refresh_title">Aktualizace</string> <string name="cache_dialog_refresh_message">Aktualizuji detaily keše…</string> <string name="cache_menu_navigate">Navigovat</string> - <string name="cache_menu_tbt">Turn-by-turn</string> <string name="cache_menu_radar">Radar</string> <string name="cache_menu_map">Zobrazit na mapě</string> <string name="cache_menu_map_ext">Zobrazit na jiné mapě</string> @@ -503,7 +482,6 @@ <string name="gpx_import_loading_caches">nahrávání keší z .gpx souboru</string> <string name="gpx_import_loading_waypoints">Načítám soubor s waypointy</string> <string name="gpx_import_store_static_maps">Ukládám statické mapy</string> - <string name="gpx_import_storing">Zapisuji keše do databáze</string> <string name="gpx_import_caches_imported">keše importovány</string> <string name="gpx_import_static_maps_skipped">Stažení statických map zrušeno</string> <string name="gpx_import_title_static_maps">Ulož statické mapy</string> @@ -521,7 +499,6 @@ <string name="map_file_select_title">Vyber mapový soubor</string> <!-- import --> - <string name="import_title">Import…</string> <string name="web_import_title">Import z webu</string> <string name="web_import_waiting">Čekám na nové keše z webu…</string> <string name="web_downloading">Stahuji</string> @@ -531,7 +508,6 @@ <string name="popup_more">více detailů</string> <!-- waypoint --> - <string name="waypoint_title">Bod trasy</string> <string name="waypoint_custom">vlastní</string> <string name="waypoint_my_coordinates">Aktuální poloha</string> <string name="waypoint_bearing">Směr</string> diff --git a/main/res/values-da/strings.xml b/main/res/values-da/strings.xml index 7ff7408..d98a7fe 100644 --- a/main/res/values-da/strings.xml +++ b/main/res/values-da/strings.xml @@ -73,8 +73,6 @@ <string name="err_comm">Ukendt forbindelsesfejl</string> <string name="err_wrong">Fejl i login</string> <string name="err_license">Bruger accepterer betingelser på Geocaching.com</string> - <string name="err_store">Beklager, c:geo kan ikke gemme cachen.</string> - <string name="err_drop">Beklager, c:geo kan ikke slette cachen.</string> <string name="err_detail_open">Beklager, c:geo kan ikke indlæse cachedetaljer.</string> <string name="err_detail_cache">Beklager, c:geo kan ikke vise denne cache.</string> <string name="err_detail_cache_find">Beklager, c:geo kan ikke vise denne cache</string> @@ -82,7 +80,6 @@ <string name="err_detail_cache_forgot">Beklager, c:geo husker ikke hvilken cache du ønskede.</string> <string name="err_detail_no_spoiler">c:geo fandt ingen spoilerbilleder til denne cache.</string> <string name="err_detail_no_map_static">c:geo fandt ingen statiske kort til denne cache.</string> - <string name="err_navigation_no">c:geo kan ikke finde understøttet navigation.</string> <string name="err_application_no">c:geo kan ikke finde en passende applikation.</string> <string name="err_auth_initialize">Beklager, c:geo kan ikke gennemføre godkendelsen.</string> <string name="err_auth_process">Godkendelse fejlede.</string> @@ -150,7 +147,6 @@ <string name="init_disabled">Udelad deaktiverede cacher</string> <string name="init_offline">Gem kort til offlinebrug</string> <string name="init_units">Benyt britiske afstandsmål</string> - <string name="init_nav">Benyt Google Navigation</string> <string name="init_autoload">Auto-indlæs lang cachebeskrivelse</string> <string name="init_livelist">Vis retning til cacher i lister</string> <string name="init_cleared">c:geo slettede login-informationer.</string> @@ -202,7 +198,6 @@ <string name="cache_dialog_refresh_title">Genindlæs</string> <string name="cache_dialog_refresh_message">Genindlæser cachedetaljer…</string> <string name="cache_menu_navigate">Naviger</string> - <string name="cache_menu_tbt">Vejvisning</string> <string name="cache_menu_radar">Radar</string> <string name="cache_menu_map">Vis på kort</string> <string name="cache_menu_map_ext">Vis på ext. kort</string> diff --git a/main/res/values-de/strings.xml b/main/res/values-de/strings.xml index d563608..def9b7d 100644 --- a/main/res/values-de/strings.xml +++ b/main/res/values-de/strings.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<resources> +<resources xmlns:tools="http://schemas.android.com/tools"> <string name="app_name">c:geo</string> <string name="app_name_compass">c:geo Kompass</string> @@ -87,9 +87,6 @@ <string name="log_post_no_rate">Loggen ohne Bewertung</string> <string name="log_post_not_possible">Lade Log-Seite…</string> <string name="log_add">Hinzufügen</string> - <string name="log_date">Datum</string> - <string name="log_time">Uhrzeit</string> - <string name="log_date_time">Datum & Uhrzeit</string> <string name="log_rating">Bewertung</string> <string name="log_no_rating">Keine Bewertung</string> <string name="log_stars_1">1 Stern</string> @@ -139,8 +136,6 @@ <string name="err_license">Die Geocaching.com Nutzungsbedingungen wurden nicht akzeptiert. c:geo kann deshalb keine Koordinaten laden.</string> <string name="err_unpublished">Der aufgerufene Cache ist noch nicht veröffentlicht</string> <string name="err_premium_only">Der Cache ist nur für Premium Mitglieder von Geocaching.com verfügbar</string> - <string name="err_store">c:geo konnte den Cache nicht speichern.</string> - <string name="err_drop">c:geo konnte den Cache nicht löschen.</string> <string name="err_detail_open">c:geo konnte die Cache-Details nicht öffnen.</string> <string name="err_detail_cache">c:geo konnte diesen Cache nicht darstellen. Ist es wirklich ein Cache?</string> <string name="err_detail_cache_find">c:geo konnte keinen Cache finden.</string> @@ -153,20 +148,15 @@ <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 die Watchlist zu aktualisieren.</string> <string name="err_watchlist_failed">Ändern der Watchlist nicht erfolgreich.</string> - <string name="err_navigation_no">c:geo konnte keine unterstützte Art der Navigation finden.</string> <string name="err_application_no">c:geo konnte keine passende Anwendung finden.</string> <string name="err_auth_initialize">c:geo konnte die Autorisierung nicht initialisieren.</string> <string name="err_auth_process">Autorisierung fehlgeschlagen.</string> <string name="err_cannot_log_visit">c:geo hat nicht genügend Informationen um den Besuch zu loggen. Bitte über die Cache-Details versuchen.</string> <string name="err_init_cleared">c:geo konnte die Anmeldedaten nicht entfernen.</string> <string name="err_download_fail">c:geo konnte keine Caches laden, weil </string> - <string name="err_list_load_fail">Laden der Cacheliste fehlgeschlagen.</string> - <string name="err_store_failed">Speichern des Caches fehlgeschlagen.</string> - <string name="err_refresh_failed">Aktualisierung fehlgeschlagen.</string> <string name="err_dwld_details_failed">Download der Cache-Details fehlgeschlagen.</string> <string name="err_load_descr_failed">Laden der Cachebeschreibung fehlgeschlagen.</string> <string name="err_location_unknown">c:geo erkennt die Position des Caches nicht.</string> @@ -174,18 +164,12 @@ <string name="err_tb_display">"c:geo kann den gewünschten Trackable nicht anzeigen. Ist es wirklich einer?</string> <string name="err_tb_details_open">c:geo konnte die Details des Trackables nicht öffnen.</string> - <string name="err_tb_details_download">c:geo konnte die Details des Trackables nicht laden, weil</string> - <string name="err_tb_forgot">c:geo hat vergessen, welcher Trackable geöffnet werden sollte.</string> <string name="err_tb_forgot_saw">c:geo hat vergessen, welcher Trackable gesehen wurde.</string> <string name="err_tb_find">c:geo findet den Trackable nicht</string> <string name="err_tb_find_that">c:geo konnte diesen Trackable nicht finden.</string> <string name="err_waypoint_cache_unknown">c:geo weiß nicht, zu welchem Cache der Wegpunkt hinzugefügt werden soll.</string> - <string name="err_waypoint_unknown">c:geo hat vergessen, welcher Wegpunkt angesehen werden sollte.</string> <string name="err_waypoint_add_failed">c:geo konnte den Wegpunkt nicht hinzufügen.</string> - <string name="err_waypoint_load_failed">c:geo konnte den Wegpunkt nicht laden.</string> - <string name="err_waypoint_delete_failed">c:geo konnte den Wegpunkt nicht löschen.</string> - <string name="err_waypoint_open_cache_failed">c:geo konnte die Cachedetails nicht laden.</string> <string name="err_point_unknown_position">c:geo konnte den aktuellen Standort nicht bestimmen.</string> <string name="err_point_no_position_given_title">Info benötigt</string> <string name="err_point_no_position_given">Mindestens Längen- und Breitengrad oder Entfernung und Richtung angeben. Auch alle Angaben sind möglich.</string> @@ -200,15 +184,12 @@ <string name="err_log_failed_server">c:geo konnte Log nicht senden, weil der Server nicht antwortete.</string> <string name="err_log_post_failed">c:geo konnte Log nicht absenden.</string> - <string name="err_search_address_no_match">Keinen passenden Ort gefunden.</string> <string name="err_search_address_forgot">c:geo hat die Adresse vergessen, die gesucht wurde.</string> <string name="err_parse_lat">c:geo konnte den Breitengrad nicht verarbeiten.</string> <string name="err_parse_lon">c:geo konnte den Längengrad nicht verarbeiten.</string> <string name="err_parse_dist">c:geo konnte die Entfernung nicht verarbeiten.</string> <string name="err_parse_lat_lon">c:geo konnte den Breiten- oder Längengrad nicht verarbeiten.</string> - <string name="err_fieldnotes_export_failed">Exportieren der Field-Notes fehlgeschlagen.</string> - <string name="warn_save_nothing">Es gibt nichts zum Speichern.</string> <string name="warn_no_cache_coord">Es gibt hier keinen Cache mit Koordinaten.</string> <string name="warn_no_coordinates">Keine Koordinaten angegeben.</string> @@ -232,7 +213,6 @@ <string name="info_log_cleared">Log wurde geleert.</string> <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 --> @@ -322,10 +302,7 @@ <string name="caches_filter_type">Typ</string> <string name="caches_filter_track">Mit Trackables</string> <string name="caches_filter_clear">Filter zurücksetzen</string> - <string name="caches_filter_size_title">Größe wählen</string> - <string name="caches_filter_type_title">Typ wählen</string> <string name="caches_filter_modified">Mit geänderten Koordinaten</string> - <string name="caches_exporting_fieldnote">Exportiere als Field-Notes…</string> <string name="caches_removing_from_history">Lösche aus Verlauf…</string> <!-- caches lists --> @@ -403,7 +380,6 @@ <string name="init_offline_wp">Statische Karten zu Wegpunkten für Offline-Verwendung speichern</string> <string name="init_save_log_img">Logbilder abspeichern</string> <string name="init_units">Imperiale Einheiten (Meilen/Fuß)</string> - <string name="init_nav">Google Navigation verwenden</string> <string name="init_log_offline">Offline loggen (Dialog für Online-Log nicht anzeigen)</string> <string name="init_livelist">Richtung zum Cache in der Cache-Liste anzeigen</string> <string name="init_altitude">Höhenkorrektur</string> @@ -427,16 +403,11 @@ <string name="init_mapsources">Kartenherkunft</string> <string name="init_mapsources_description">Hier kann die Quelle der benutzten Karte gewählt werden. Alternativ zu Google Maps stehen verschiedene OpenStreetMap-Stile zur Verfügung und daneben auch Karten-Dateien für die Offline-Nutzung (siehe http://code.google.com/p/mapsforge/ für die Details).\nWeiterhin werden verschiedene Darstellungen(Themes) für Offline-Karten unterstützt.</string> <string name="init_mapsource_select">Kartenquelle wählen</string> - <string name="init_select_themefolder">…</string> - <string name="init_select_gpx_exportdir">…</string> - <string name="init_select_gpx_importdir">…</string> <string name="init_map_directory_description">Verzeichnis mit Offline-Karten</string> <string name="init_gpx_exportdir">Verzeichnis für GPX-Exporte</string> <string name="init_gpx_importdir">Verzeichnis für GPX-Importe</string> <string name="init_gpx_exportdir_description">Hier kann das Verzeichnis für GPX-Exporte gewählt werden.</string> <string name="init_gpx_importdir_description">Hier kann das Verzeichnis für GPX-Importe gewählt werden.</string> - <string name="init_gpx_exportdir_select">Wähle Verzeichnis für GPX-Exporte</string> - <string name="init_gpx_importdir_select">Wähle Verzeichnis für GPX-Importe</string> <string name="init_maptrail">Zeige Spur auf Karte</string> <string name="init_share_after_export">Weiterleiten nach dem Export</string> <string name="init_trackautovisit">Trackables automatisch auf \"besuchen\" setzen</string> @@ -452,7 +423,6 @@ <string name="init_dbonsdcard_title">Datenspeicherung</string> <string name="init_dbonsdcard_note">Die Datenbank von c:geo kann auf eine externe Speicherkarte verschoben werden. Hiermit kann interner Speicher gespart werden, allerdings wird sich die Leistung etwas reduzieren und c:geo funktioniert nicht mehr ohne verfügbare Speicherkarte.</string> <string name="init_dbonsdcard">Datenbank auf externer Karte</string> - <string name="init_dbmove">Verschiebe Datenbank</string> <string name="init_dbmove_dbmove">Verschiebe Datenbank</string> <string name="init_dbmove_running">Verschiebe Datenbank</string> <string name="init_dbmove_success">Die Datenbank wurde erfolgreich verschoben.</string> @@ -521,7 +491,6 @@ <string name="cache_description">Beschreibung</string> <string name="cache_description_long">Ausführliche Beschreibung</string> <string name="cache_description_table_note">Diese Beschreibung enthält Tabellenelemente, die evtl. nur auf Geocaching.com korrekt angezeigt werden.</string> - <string name="cache_watchlist">Watchlist</string> <string name="cache_watchlist_on">Dieser Cache ist auf deiner Watchlist.</string> <string name="cache_watchlist_not_on">Dieser Cache ist nicht auf deiner Watchlist.</string> <string name="cache_watchlist_add">Hinzufügen</string> @@ -562,7 +531,8 @@ <string name="cache_dialog_watchlist_remove_title">Watchlist</string> <string name="cache_dialog_watchlist_remove_message">Entferne den Cache von deiner Watchlist…</string> <string name="cache_menu_navigate">Navigieren</string> - <string name="cache_menu_tbt">Google Maps Navigation</string> + <string name="cache_menu_navigation_drive">Navigation (Fahren)</string> + <string name="cache_menu_navigation_walk">Navigation (Gehen)</string> <string name="cache_menu_radar">Radar</string> <string name="cache_menu_map">Karte</string> <string name="cache_menu_map_static">Statische Karten</string> @@ -610,7 +580,6 @@ <string name="cache_spoiler_images_loading">Lade Hinweisbilder…</string> <string name="cache_log_types">Logs</string> <string name="cache_coordinates_no">Dieser Cache hat keine Koordinaten.</string> - <string name="cache_export_fieldnote">Exportiere als Field-Notes</string> <string name="cache_clear_history">Verlauf leeren</string> <string name="cache_remove_from_history">Aus Verlauf löschen</string> <string name="cache_license">Lizenz</string> @@ -638,7 +607,6 @@ <string name="gpx_import_loading_caches">Lade Caches aus GPX-Datei</string> <string name="gpx_import_loading_waypoints">Lade Wegpunkte aus GPX-Datei</string> <string name="gpx_import_store_static_maps">Schreibe statische Karten</string> - <string name="gpx_import_storing">Schreibe Caches in Datenbank</string> <string name="gpx_import_caches_imported">Caches importiert</string> <string name="gpx_import_static_maps_skipped">Download statischer Karten abgebrochen</string> <string name="gpx_import_title_static_maps">Speichern statischer Karten</string> @@ -658,10 +626,7 @@ <string name="map_file_select_title">Kartendatei wählen</string> <!-- theme file select --> - <string name="theme_file_select_title">Karten-Theme wählen</string> - <!-- import --> - <string name="import_title">Importiere…</string> <string name="web_import_title">Aus dem Internet importieren</string> <string name="web_import_waiting">Warte auf neue Caches aus dem Internet…</string> <string name="web_downloading">Lade herunter</string> @@ -672,7 +637,6 @@ <!-- 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> @@ -686,11 +650,9 @@ <string name="waypoint_note">Notiz</string> <string name="waypoint_save">Speichern</string> <string name="waypoint_loading">Lade Wegpunkt…</string> - <string name="waypoint_unknown_coordinates">Unbekannte Koordinaten</string> <string name="waypoint_done">Fertig</string> <string name="waypoint_duplicate">Duplizieren</string> <string name="waypoint_copy_of">Kopie von</string> - <string name="waypoint_menu_open_cache">Cache öffnen</string> <string name="search_history">Verlauf</string> <string name="search_history_empty">Keine Ziele bisher</string> <string name="search_remove_destination">Ziel gelöscht</string> @@ -828,7 +790,6 @@ <!-- export --> <string name="export">Exportieren</string> - <string name="export_as">Exportieren als…</string> <string name="export_exportedto">exportiert nach</string> <string name="export_failed">Exportieren fehlgeschlagen</string> <string name="export_fieldnotes">Field Notes</string> @@ -1000,11 +961,11 @@ <string name="about_auth_2">Ein Klick auf \"Starte Autorisierung\" öffnet eine Twitter-Seite in einem Browserfenster. Durch die Anmeldung und die Bestätigung wird <b>c:geo</b> ermöglicht, auf den persönlichen Twitter-Account zuzugreifen. Wird dies bestätigt, nennt Twitter eine numerische PIN, diese muss kopiert und in <b>c:geo</b> eingefügt werden. Das ist alles.</string> <!-- status --> - <string name="status_new_release">Neuer Release verfügbar.\nKlicken zum Installieren.</string> - <string name="status_new_nightly">Neuer Nightly Build verfügbar.\nKlicken zum Installieren.</string> - <string name="status_new_rc">Neuer Release Candidate verfügbar.\nKlicken zum Installieren.</string> - <string name="status_geocaching_change">Änderungen auf geocaching.com führen zu Problemen mit c:geo.\nWir arbeiten daran.</string> - <string name="status_geocaching_livemap">Änderungen auf geocaching.com führen zu Problemen mit der Live Map.\nWir arbeiten daran.</string> + <string name="status_new_release" tools:ignore="UnusedResources">Neuer Release verfügbar.\nKlicken zum Installieren.</string> + <string name="status_new_nightly" tools:ignore="UnusedResources">Neuer Nightly Build verfügbar.\nKlicken zum Installieren.</string> + <string name="status_new_rc" tools:ignore="UnusedResources">Neuer Release Candidate verfügbar.\nKlicken zum Installieren.</string> + <string name="status_geocaching_change" tools:ignore="UnusedResources">Änderungen auf geocaching.com führen zu Problemen mit c:geo.\nWir arbeiten daran.</string> + <string name="status_geocaching_livemap" tools:ignore="UnusedResources">Änderungen auf geocaching.com führen zu Problemen mit der Live Map.\nWir arbeiten daran.</string> <string name="clipboard_copy_ok">In Zwischenablage kopiert</string> <plurals name="days_ago"> diff --git a/main/res/values-es/strings.xml b/main/res/values-es/strings.xml index 4fd9a29..f0fe8e1 100644 --- a/main/res/values-es/strings.xml +++ b/main/res/values-es/strings.xml @@ -81,9 +81,6 @@ <string name="log_post_rate">Enviar registro y puntuación</string> <string name="log_post_no_rate">Enviar registro sin puntuar</string> <string name="log_add">Añadir</string> - <string name="log_date">Fecha</string> - <string name="log_time">Hora</string> - <string name="log_date_time">Fecha y hora</string> <string name="log_rating">Puntuación</string> <string name="log_no_rating">Sin puntuación</string> <string name="log_stars_1">1 estrella</string> @@ -121,8 +118,6 @@ <string name="err_missing_auth">Falta nombre de usuario o contraseña.</string> <string name="err_wrong">Información de acceso errónea</string> <string name="err_license">El usuario no ha aceptado las condiciones de Geocaching.com license agreement, por lo que c:geo no puede cargar las coordenadas de los escondites.</string> - <string name="err_store">Lo siento, c:geo no puede almacenar el escondite.</string> - <string name="err_drop">Lo siento, c:geo no puede omitir el escondite.</string> <string name="err_detail_open">Lo siento, c:geo no puede abrir los detalles del escondite.</string> <string name="err_detail_cache">Lo siento, c:geo no puee mostrar el escondite que quieres. ¿Segur que es un geocache?</string> <string name="err_detail_cache_find">Lo siento, c:geo no puede encontrar escondites</string> @@ -136,16 +131,12 @@ <string name="err_detail_not_load_map_static">Lo siento, c:geo no ha podido cargar mapas estáticos.</string> <string name="err_watchlist_still_managing">Seguir gestionando tu lista de seguimiento.</string> <string name="err_watchlist_failed">Error al cambiar la lista de seguimiento.</string> - <string name="err_navigation_no">c:geo no encuentra ninguna navegación soportada.</string> <string name="err_application_no">c:geo no encuentra ninguna aplicación válida.</string> <string name="err_auth_initialize">Lo siento, c:geo no ha podido iniciar el proceso de autorización.</string> <string name="err_auth_process">El proceso de autorización ha fallado.</string> <string name="err_cannot_log_visit">c:geo no tiene información suficiente para registrar la visita. Inténtalo de nuevo con más detalles sobre el escondite.</string> <string name="err_init_cleared">Lo siento, c:geo no puede borrar la información registrada.</string> <string name="err_download_fail">Lo siento, c:geo no ha podido descargar escondites a causa de </string> - <string name="err_list_load_fail">Lo siento, c:geo no ha podido cargar la lista de escondites.</string> - <string name="err_store_failed">Lo siento, c:geo no puede guardar el escondite.</string> - <string name="err_refresh_failed">Lo siento, c:geo no puede actualizar el escondite.</string> <string name="err_dwld_details_failed">Lo siento, c:geo no ha podido descargar los detalles del escondite.</string> <string name="err_load_descr_failed">Lo siento, c:geo no ha podido cargar la descripción.</string> <string name="err_location_unknown">c:geo no conoce la ubicación del escondite.</string> @@ -153,17 +144,12 @@ <string name="err_tb_display">"Lo siento, c:geo no puede mostrar el rastreable que buscas. ¿Es realmente rastreable?</string> <string name="err_tb_details_open">Lo siento, c:geo no puede abrir los detalles del rastreable.</string> - <string name="err_tb_details_download">Lo siento, c:geo no ha podido descargar los detalles del rastreable a causa de</string> - <string name="err_tb_forgot">Lo siento, c:geo ha olvidado qué rastreable quieres.</string> <string name="err_tb_forgot_saw">Lo siento, c:geo ha olvidado qué rastreable has visto.</string> <string name="err_tb_find">Lo siento, c:geo no encuentra el rasteable</string> <string name="err_tb_find_that">Lo siento, c:geo no encuentra ese rastreable.</string> <string name="err_waypoint_cache_unknown">Lo siento, c:geo no sabe a qué escondite quieres añadir un punto de referencia.</string> - <string name="err_waypoint_unknown">Lo siento, c:geo ha olvidado qué punto de referencia quieres visualizar.</string> <string name="err_waypoint_add_failed">Lo siento, c:geo no ha podido añadir tu punto de referencia.</string> - <string name="err_waypoint_load_failed">Lo siento, c:geo no ha podido cargar el punto de referencia.</string> - <string name="err_waypoint_delete_failed">Lo siento, c:geo no puede borrar el punto de referencia.</string> <string name="err_point_unknown_position">Lo siento, c:geo n puedo identificar donde estás.</string> <string name="err_point_no_position_given_title">Información obligatoria</string> <string name="err_point_no_position_given">Rellena como mínimo latitud y longitud o distancia y orientación. También puedes rellenar los cuatro campos.</string> @@ -179,14 +165,11 @@ <string name="err_log_failed_server">Lo siento, c:geo no ha podido enviar el registro porque el servidor no responde.</string> <string name="err_log_post_failed">Lo siento, c:geo no ha podido enviar el registro.</string> - <string name="err_search_address_no_match">Lo siento, c:geo no encuentra ningún lugar coincidente.</string> <string name="err_search_address_forgot">Lo siento, c:geo ha olvidado la dirección que buscabas.</string> <string name="err_parse_lat">Lo siento, c:geo no puede procesar la latitud.</string> <string name="err_parse_lon">Lo siento, c:geo no puede procesar la longitud.</string> <string name="err_parse_dist">Lo siento, c:geo can\'t no puede procesar la distancia.</string> - <string name="err_fieldnotes_export_failed">Eror al exportar notas de campo.</string> - <string name="warn_save_nothing">No hay nada para guardar.</string> <string name="warn_no_cache_coord">No hay escondite con coordenadas.</string> <string name="warn_no_coordinates">No se han dado coordenadas.</string> @@ -208,8 +191,6 @@ <string name="info_log_cleared">Registro borrado.</string> <string name="info_log_type_changed">¡El tipo de registro ha sido cambiado!</string> - <string name="info_fieldnotes_exported_to">Notas de campo exportadas a</string> - <!-- location service --> <string name="loc_last">Última conocida</string> <string name="loc_net">Red</string> @@ -287,9 +268,6 @@ <string name="caches_filter_type">tipo</string> <string name="caches_filter_track">con rastreables</string> <string name="caches_filter_clear">limpiar filtros</string> - <string name="caches_filter_size_title">Indica tamaño</string> - <string name="caches_filter_type_title">Indica tipo</string> - <string name="caches_exporting_fieldnote">Exportando como Notas de campo…</string> <string name="caches_removing_from_history">Borrando del historial…</string> <!-- caches lists --> @@ -351,7 +329,6 @@ <string name="init_offline">Guardar mapas para usar sin conexión</string> <string name="init_save_log_img">Guardar imágenes de los registros</string> <string name="init_units">Usar millas/pies (unidades imperiales)</string> - <string name="init_nav">Usar Google Navigation</string> <string name="init_autoload">Autocargar descripción larga</string> <string name="init_livelist">Mostrar dirección a los escondites en su listado</string> <string name="init_altitude">Corrección de altitud</string> @@ -430,7 +407,6 @@ <string name="cache_log_image_default_title">Foto</string> <string name="cache_personal_note">Nota personal</string> <string name="cache_description">Descripción</string> - <string name="cache_watchlist">Lista de seguimiento</string> <string name="cache_watchlist_on">Este escondite está en tu Lista de seguimiento.</string> <string name="cache_watchlist_not_on">Este escondite no está en tu Lista de seguimiento.</string> <string name="cache_watchlist_add">Añadir a Lista de seguimiento</string> @@ -452,7 +428,6 @@ <string name="cache_dialog_watchlist_remove_title">Lista de seguimiento</string> <string name="cache_dialog_watchlist_remove_message">Borrando escondite de tu Lista de seguimiento…</string> <string name="cache_menu_navigate">Navegar</string> - <string name="cache_menu_tbt">Paso a paso</string> <string name="cache_menu_radar">Radar</string> <string name="cache_menu_map">Ver en mapa</string> <string name="cache_menu_map_static">Mapas estáticos</string> @@ -493,7 +468,6 @@ <string name="cache_spoiler_images_loading">Cargando imágenes reveladoras…</string> <string name="cache_log_types">Tipos de registro</string> <string name="cache_coordinates_no">Este escondite no tiene coordenadas.</string> - <string name="cache_export_fieldnote">Exportar como Notas de campo</string> <string name="cache_clear_history">Borrar historial</string> <string name="cache_remove_from_history">Borrar del historial</string> @@ -514,7 +488,6 @@ <string name="map_file_select_title">Selecciona un mapa</string> <!-- import --> - <string name="import_title">Importar…</string> <string name="web_import_title">Importar de la web</string> <string name="web_import_waiting">Esperando por nuevos escondites desde la web…</string> <string name="web_downloading">Descargando</string> @@ -524,7 +497,6 @@ <string name="popup_more">Más detalles</string> <!-- waypoint --> - <string name="waypoint_title">Punto de referencia</string> <string name="waypoint_custom">A medida</string> <string name="waypoint_my_coordinates">Mis coordenadas</string> <string name="waypoint_bearing">Orientación</string> @@ -537,7 +509,6 @@ <string name="waypoint_note">Nota</string> <string name="waypoint_save">Guardar</string> <string name="waypoint_loading">Cargando punto de referencia…</string> - <string name="waypoint_unknown_coordinates">Coordenadas desconocidas</string> <string name="search_history">Historial</string> <string name="search_history_empty">No hay destinos anteriores</string> <string name="search_remove_destination">Destino borrado</string> diff --git a/main/res/values-fr/strings.xml b/main/res/values-fr/strings.xml index 62d397d..40b0685 100644 --- a/main/res/values-fr/strings.xml +++ b/main/res/values-fr/strings.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<resources> +<resources xmlns:tools="http://schemas.android.com/tools"> <string name="app_name">c:geo</string> <string name="app_name_compass">boussole c:geo</string> @@ -87,9 +87,6 @@ <string name="log_post_no_rate">Envoyer & ne pas noter</string> <string name="log_post_not_possible">Chargement de la page…</string> <string name="log_add">Ajouter</string> - <string name="log_date">Date</string> - <string name="log_time">Heure</string> - <string name="log_date_time">Date & heure</string> <string name="log_rating">Note</string> <string name="log_no_rating">Pas de note</string> <string name="log_stars_1">1 étoile</string> @@ -138,8 +135,6 @@ <string name="err_license">L\'utilisateur n\'a pas accepté les termes et les conditions d\'utilisation de Geocaching.com</string> <string name="err_unpublished">La cache a été retirée de la publication</string> <string name="err_premium_only">La cache est réservée aux membres Premium de Geocaching.com</string> - <string name="err_store">c:geo ne peut pas enregister la cache.</string> - <string name="err_drop">c:geo ne peut pas effacer la cache.</string> <string name="err_detail_open">c:geo ne peut pas ouvrir le détail de la cache.</string> <string name="err_detail_cache">c:geo ne peut pas afficher cette cache. Est-ce vraiment une géocache?</string> <string name="err_detail_cache_find">c:geo ne peut pas trouver de caches</string> @@ -152,20 +147,15 @@ <string name="err_detail_no_spoiler">c:geo n\'a pas trouvé d\'image indice pour cette cache.</string> <string name="err_detail_no_map_static">c:geo n\'a pas trouvé de cartes statiques pour cette cache.</string> <string name="err_detail_not_load_map_static">c:geo n\'a pas réussi à charger les cartes statiques.</string> - <string name="err_detail_ask_store_map_static">c:geo n\'a pas réussi à charger les cartes statiques. Les stocker maintenant ?</string> <string name="err_detail_still_working">Autre tâche déjà en cours.</string> <string name="err_watchlist_still_managing">Liste de suivi toujours en traitement.</string> <string name="err_watchlist_failed">Échec lors du changement de votre liste de suivi.</string> - <string name="err_navigation_no">c:geo ne trouve pas de navigation supportée.</string> <string name="err_application_no">c:geo ne trouve pas d\'application conforme.</string> <string name="err_auth_initialize">c:geo a échoué dans la demande d\'autorisation.</string> <string name="err_auth_process">Échec de la demande d\'autorisation.</string> <string name="err_cannot_log_visit">c:geo n\'a pas assez d\'information pour logger votre visite. Faites le depuis le détail de la cache, s\'il vous plait!</string> <string name="err_init_cleared">c:geo ne peux pas effacer votre nom d\'utilisateur.</string> <string name="err_download_fail">c:geo n\'a pas réussi à télécharger les caches car </string> - <string name="err_list_load_fail">c:geo n\'a pas réussi à charger la liste des caches.</string> - <string name="err_store_failed">c:geo ne peut pas enregistrer la cache.</string> - <string name="err_refresh_failed">c:geo ne peut pas rafraîchir la cache.</string> <string name="err_dwld_details_failed">c:geo n\'a pas réussi à télécharger les détails de la cache.</string> <string name="err_load_descr_failed">c:geo ne peut pas charger la description.</string> <string name="err_location_unknown">c:geo ne connait pas la position de la cache.</string> @@ -173,18 +163,12 @@ <string name="err_tb_display">"c:geo ne peut pas afficher l\'objet voyageur demandé. Est-ce vraiment un objet voyageur?</string> <string name="err_tb_details_open">c:geo ne peut pas ouvrir le détail de l\'objet voyageur.</string> - <string name="err_tb_details_download">c:geo ne peut pas télécharger le détail de l\'objet voyageur car </string> - <string name="err_tb_forgot">c:geo a oublié quel objet voyageur vous vouliez.</string> <string name="err_tb_forgot_saw">c:geo a oublié quel objet voyageur vous avez vu.</string> <string name="err_tb_find">c:geo ne peut pas trouver d\'objet voyageur.</string> <string name="err_tb_find_that">c:geo ne peut pas trouver cet objet voyageur.</string> <string name="err_waypoint_cache_unknown">c:geo ne sait pas à quel cache vous voulez ajouter une étape.</string> - <string name="err_waypoint_unknown">c:geo a oublié quel étape vous vouliez afficher.</string> <string name="err_waypoint_add_failed">c:geo n\'a pas réussi à afficher l\'étape.</string> - <string name="err_waypoint_load_failed">c:geo n\'arrive pas à charger l\'étape.</string> - <string name="err_waypoint_delete_failed">c:geo ne peut pas effacer l\'étape.</string> - <string name="err_waypoint_open_cache_failed">c:geo n\'a pas réussi à obtenir les détails de la cache.</string> <string name="err_point_unknown_position">c:geo ne peut pas savoir où vous êtes.</string> <string name="err_point_no_position_given_title">Information obligatoire</string> <string name="err_point_no_position_given">Remplissez au moins la latitude ou la longitude ou la distance et le relèvement. Vous pouvez aussi remplir tous les champs.</string> @@ -199,15 +183,12 @@ <string name="err_log_failed_server">c:geo n\'a pas réussi à charger les données pour enregistrer votre visite car le serveur ne répond pas.</string> <string name="err_log_post_failed">Il semble que votre visite n\'a pas été enregistrée. Veuillez vérifier sur le site geocaching.com.</string> - <string name="err_search_address_no_match">c:geo n\'a pas trouvé de lieu correspondant.</string> <string name="err_search_address_forgot">c:geo a oublié l\'adresse recherchée.</string> <string name="err_parse_lat">c:geo n\'arrive pas à lire la latitude.</string> <string name="err_parse_lon">c:geo n\'arrive pas à lire la longitude.</string> <string name="err_parse_dist">c:geo n\'arrive pas à lire la distance.</string> <string name="err_parse_lat_lon">c:geo n\'arrive pas à lire la latitude ou la longitude.</string> - <string name="err_fieldnotes_export_failed">L\'export du champ Notes a échoué.</string> - <string name="warn_save_nothing">Il n\'y a rien à sauver.</string> <string name="warn_no_cache_coord">Il n\'y pas de caches avec les coordonnées associées.</string> <string name="warn_no_coordinates">Aucune coordonnée associée.</string> @@ -230,7 +211,6 @@ <string name="info_log_cleared">La visite a été effacée.</string> <string name="info_log_type_changed">Le type de visite a changé!</string> - <string name="info_fieldnotes_exported_to">Notes exporté vers</string> <string name="info_storing_static_maps">Sauvegarde des cartes statiques</string> <!-- location service --> @@ -318,10 +298,7 @@ <string name="caches_filter_type">type</string> <string name="caches_filter_track">avec des trackables</string> <string name="caches_filter_clear">effacer les filtres</string> - <string name="caches_filter_size_title">Choisir la taille</string> - <string name="caches_filter_type_title">Choisir le type</string> <string name="caches_filter_modified">Avec les coordonnées modifiées</string> - <string name="caches_exporting_fieldnote">Exporter commme notes de terrain…</string> <string name="caches_removing_from_history">Effacer de l\'historique…</string> <!-- caches lists --> @@ -399,7 +376,6 @@ <string name="init_offline_wp">Enregistrer les cartes autour des points intermédiaires pour une utilisation hors ligne</string> <string name="init_save_log_img">Sauver les images des visites</string> <string name="init_units">Utiliser des unités de distance impériales</string> - <string name="init_nav">Utiliser Google Navigation</string> <string name="init_log_offline">Toujours utiliser le mode hors-ligne, même si connecté.</string> <string name="init_livelist">Afficher la direction des caches dans les listes</string> <string name="init_altitude">Correction de l\'altitude</string> @@ -437,7 +413,6 @@ <string name="init_dbonsdcard_title">Emplacement de la base</string> <string name="init_dbonsdcard_note">La base de données de c:geo peut être enregistrée sur un support externe. En choisissant cette option, vous récupérerez de l\'espace de stockage sur votre appareil au détriment de performances réduites. c:geo ne fonctionnera pas si votre carte SD est absente.</string> <string name="init_dbonsdcard">Base de données sur stockage externe</string> - <string name="init_dbmove">Déplacement de la base de données</string> <string name="init_dbmove_dbmove">Déplacement de la base de données</string> <string name="init_dbmove_running">Déplacement de la base de données</string> <string name="init_dbmove_success">Base de données déplacée</string> @@ -502,7 +477,6 @@ <string name="cache_description">Description</string> <string name="cache_description_long">Description longue</string> <string name="cache_description_table_note">La description contient des informations de formattages qui nécessitent possiblement d\'être vues sur le site geocaching.com pour être affichées correctement.</string> - <string name="cache_watchlist">Liste de suivi</string> <string name="cache_watchlist_on">Cette cache est dans votre liste de suivi.</string> <string name="cache_watchlist_not_on">Cette cache n\'est pas dans votre liste de suivi.</string> <string name="cache_watchlist_add">Ajouter à votre liste de suivi</string> @@ -542,7 +516,6 @@ <string name="cache_dialog_watchlist_remove_title">Liste de suivi</string> <string name="cache_dialog_watchlist_remove_message">Retrait de la cache de votre liste de suivi…</string> <string name="cache_menu_navigate">Navigation</string> - <string name="cache_menu_tbt">Itinéraire</string> <string name="cache_menu_radar">Radar</string> <string name="cache_menu_map">Carte</string> <string name="cache_menu_map_static">Cartes statiques</string> @@ -589,7 +562,6 @@ <string name="cache_spoiler_images_loading">Chargement des images indices…</string> <string name="cache_log_types">Types de visites</string> <string name="cache_coordinates_no">Cette cache n\'a pas de coordonnées.</string> - <string name="cache_export_fieldnote">Export en tant que champ Notes</string> <string name="cache_clear_history">Effacer l\'historique</string> <string name="cache_remove_from_history">Effacer de l\'historique</string> <string name="cache_license">Licence</string> @@ -609,7 +581,6 @@ <string name="gpx_import_loading_caches">Chargement des caches depuis le fichier .gpx</string> <string name="gpx_import_loading_waypoints">Chargement des points intermédiaires depuis le fichier .gpx</string> <string name="gpx_import_store_static_maps">Écriture des cartes statiques</string> - <string name="gpx_import_storing">Écriture des caches dans la base de données\nEnregistrés :</string> <string name="gpx_import_caches_imported">caches importées</string> <string name="gpx_import_static_maps_skipped">Chargement des cartes statiques interrompu</string> <string name="gpx_import_title_static_maps">Enregistrement des cartes statiques</string> @@ -627,7 +598,6 @@ <string name="map_file_select_title">Choisir un fichier carte</string> <!-- import --> - <string name="import_title">Import…</string> <string name="web_import_title">Import depuis le web</string> <string name="web_import_waiting">En attente de nouvelles caches depuis le web…</string> <string name="web_downloading">Téléchargement</string> @@ -638,7 +608,6 @@ <!-- waypoint --> <string name="waypoint">Étape</string> - <string name="waypoint_title">Étape</string> <string name="waypoint_cache_coordinates">Coordonnées de la cache</string> <string name="waypoint_custom">Personnalisé</string> <string name="waypoint_my_coordinates">Ma position</string> @@ -652,11 +621,9 @@ <string name="waypoint_note">Note</string> <string name="waypoint_save">Sauver</string> <string name="waypoint_loading">Chargement d\'une étape…</string> - <string name="waypoint_unknown_coordinates">Coordonnées inconnues</string> <string name="waypoint_done">Ok</string> <string name="waypoint_duplicate">Dupliquer</string> <string name="waypoint_copy_of">Copie de</string> - <string name="waypoint_menu_open_cache">Ouvrir la cache</string> <string name="search_history">Historique</string> <string name="search_history_empty">Aucune destination précédente</string> <string name="search_remove_destination">Destination effacée</string> @@ -791,7 +758,6 @@ <!-- export --> <string name="export">Exporter</string> - <string name="export_as">Exporter en tant que…</string> <string name="export_exportedto">exporté vers</string> <string name="export_failed">Échec de l\'exportation</string> <string name="export_fieldnotes">Notes de terrain</string> @@ -960,11 +926,11 @@ <string name="about_auth_2">Cliquer sur le bouton \"début d\'autorisation\" pour démarrer. Une fenêtre de navigateur va s\'ouvrir pour vous connecter sur Twitter. Accepter pour que <b>c:geo</b> accéde à votre compte. Twitter vous affichera alors une code PIN composé de chiffres. Merci de coller ce code dans <b>c:geo</b> puis confirmer. C\'est tout!</string> <!-- status --> - <string name="status_new_release">Nouvelle version disponible.\nCliquer pour installer.</string> - <string name="status_new_nightly">Nouvelle version de test disponible.\nCliquer pour installer.</string> - <string name="status_new_rc">Nouvelle version candidate disponible.\nCliquer pour installer.</string> - <string name="status_geocaching_change">Des changements récents sur geocaching.com ont cassé c:geo.\nNous sommes en train de nous en occuper.</string> - <string name="status_geocaching_livemap">Des changements récents sur geocaching.com ont cassé la carte active.\nNous sommes en train de nous en occuper.</string> + <string name="status_new_release" tools:ignore="UnusedResources">Nouvelle version disponible.\nCliquer pour installer.</string> + <string name="status_new_nightly" tools:ignore="UnusedResources">Nouvelle version de test disponible.\nCliquer pour installer.</string> + <string name="status_new_rc" tools:ignore="UnusedResources">Nouvelle version candidate disponible.\nCliquer pour installer.</string> + <string name="status_geocaching_change" tools:ignore="UnusedResources">Des changements récents sur geocaching.com ont cassé c:geo.\nNous sommes en train de nous en occuper.</string> + <string name="status_geocaching_livemap" tools:ignore="UnusedResources">Des changements récents sur geocaching.com ont cassé la carte active.\nNous sommes en train de nous en occuper.</string> <string name="clipboard_copy_ok">Copié dans le presse-papiers</string> <plurals name="days_ago"> diff --git a/main/res/values-hu/strings.xml b/main/res/values-hu/strings.xml index 7b3239d..b4f59c7 100644 --- a/main/res/values-hu/strings.xml +++ b/main/res/values-hu/strings.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<resources> +<resources xmlns:tools="http://schemas.android.com/tools"> <string name="app_name">c:geo</string> <string name="app_name_compass">c:geo iránytű</string> @@ -87,9 +87,6 @@ <string name="log_post_no_rate">Log beküldése & nincs értékelés</string> <string name="log_post_not_possible">Log oldal betöltése…</string> <string name="log_add">Hozzáadás</string> - <string name="log_date">Dátum</string> - <string name="log_time">Idő</string> - <string name="log_date_time">Dátum & idő</string> <string name="log_rating">Értékelés</string> <string name="log_no_rating">Nincs értékelés</string> <string name="log_stars_1">1 csillag</string> @@ -139,8 +136,6 @@ <string name="err_license">A felhasználó nem fogadta el a geocaching.com licenszmegállapodását, így a c:geo nem tudja betölteni a ládák koordinátáit.</string> <string name="err_unpublished">A kért geoládát eltávolították.</string> <string name="err_premium_only">Ez a geoláda csak a Geocaching.com prémium felhasználóinak elérhető.</string> - <string name="err_store">Sajnáljuk, a c:geo nem tudja menteni a ládát.</string> - <string name="err_drop">Sajnáljuk, a c:geo nem tudja elvetni a ládát.</string> <string name="err_detail_open">Sajnáljuk, a c:geo nem tudja megnyitni a geoláda részletes adatait.</string> <string name="err_detail_cache">Sajnáljuk, a c:geo nem tudja megmutatni a geoládát amit szeretnél. Biztos hogy ez egy geoláda?</string> <string name="err_detail_cache_find">Sajnáljuk, a c:geo nem találja a geoládát.</string> @@ -153,20 +148,15 @@ <string name="err_detail_no_spoiler">A c:geo nem talált spoiler képeket ehhez a ládához.</string> <string name="err_detail_no_map_static">A c:geo nem talált statikus térképeket ehhez a ládához.</string> <string name="err_detail_not_load_map_static">Sajnáljuk, a c:geo nem tudott betölteni statikus térképeket.</string> - <string name="err_detail_ask_store_map_static">A c:geonak nem sikerült betölteni a statikus térképeket. Mentés?</string> <string name="err_detail_still_working">Egy másik feladat még folyamatban van.</string> <string name="err_watchlist_still_managing">Még folyik a figyelőlista kezelése.</string> <string name="err_watchlist_failed">A figyelőlita megváltoztatása nem sikerült.</string> - <string name="err_navigation_no">A c:geo nem talál semilyen támogatott navigációt.</string> <string name="err_application_no">A c:geo nem talál megfelelő alkalmazást.</string> <string name="err_auth_initialize">Sajnáljuk, a c:geo nem tudta elindítani az engedélyezési eljárást.</string> <string name="err_auth_process">Az engedélyezési eljárás sikertelen.</string> <string name="err_cannot_log_visit">A c:geo-nak nincs elég információja a láda logolásához. Kérlek logold a ládát a teljes láda leírásnál.</string> <string name="err_init_cleared">Sajnáljuk, a c:geo nem tudja törölni a belépési adatokat.</string> <string name="err_download_fail">Sajnáljuk, a c:geo nem tudja letölteni a ládákat, mert </string> - <string name="err_list_load_fail">Sajnáljuk, a c:geo nem tudja betölteni a ládalistát.</string> - <string name="err_store_failed">Sajnáljuk, a c:geo nem tudja elmenteni a geoládát.</string> - <string name="err_refresh_failed">Sajnáljuk, a c:geo nem tudjarefresh geocache.</string> <string name="err_dwld_details_failed">Sajnáljuk, a c:geo nem tudja letölteni a láda adatait.</string> <string name="err_load_descr_failed">Sajnáljuk, a c:geo nem tudja betölteni a leírást.</string> <string name="err_location_unknown">a c:geo nem ismeri a láda helyzetét.</string> @@ -174,18 +164,12 @@ <string name="err_tb_display">Sajnáljuk, a c:geo nem tudja megjeleníteni a nyomonkövethető tárgyat. Biztos, hogy ez egy nyomonkövethető tárgy?</string> <string name="err_tb_details_open">Sajnáljuk, a c:geo nem tudja megnyitni a nyomonkövethető tárgy részleteit.</string> - <string name="err_tb_details_download">Sajnáljuk, a c:geo nem tudta letölteni a nyomonkövethető tárgy részleteit, mert</string> - <string name="err_tb_forgot">Sajnáljuk, a c:geo elfelejtette melyik nyomonkövethető tárgyat szeretnéd.</string> <string name="err_tb_forgot_saw">Sajnáljuk, a c:geo elfelejtette melyik nyomonkövethető tárgyat láttad.</string> <string name="err_tb_find">Sajnáljuk, a c:geo nem találja a nyomonkövethető tárgyat.</string> <string name="err_tb_find_that">Sajnáljuk, a c:geo nem találja azt a követhető tárgyat.</string> <string name="err_waypoint_cache_unknown">Sajnáljuk, a c:geo nem tudja melyik ládához szeretnéd hozzáadni az útpontot.</string> - <string name="err_waypoint_unknown">Sajnáljuk, a c:geo elfelejtette melyik útpontot szeretnéd megjeleníteni.</string> <string name="err_waypoint_add_failed">Sajnáljuk, a c:geo nem tudta hozzáadni az útpontodat.</string> - <string name="err_waypoint_load_failed">Sajnáljuk, a c:geo nem tudta betölteni az útpontot.</string> - <string name="err_waypoint_delete_failed">Sajnáljuk, a c:geo nem tudja törölni az útpontot.</string> - <string name="err_waypoint_open_cache_failed">A c:geo nem tudja megnyitni a geoláda részleteit.</string> <string name="err_point_unknown_position">Sajnáljuk, a c:geo nem tudja felismerni hol vagy.</string> <string name="err_point_no_position_given_title">Információ szükséges</string> <string name="err_point_no_position_given">Írd be legalább a szélességi, hosszúsági, távolsági vagy irány értéket. Megadhatod mind a négyet is.</string> @@ -200,15 +184,12 @@ <string name="err_log_failed_server">Sajnáljuk, a c:geo-nak nem sikerült hozzáadni a logot mert a szerver nem válaszol.</string> <string name="err_log_post_failed">Úgy tűnik a logot nem került hozzáadásra. Kérlek ellenőrizd a geocaching.com-on.</string> - <string name="err_search_address_no_match">Sajnáljuk, a c:geo nem talált eggyező helyet.</string> <string name="err_search_address_forgot">Sajnáljuk, a c:geo elfelejtette a címet amit kerestél.</string> <string name="err_parse_lat">Sajnáljuk, a c:geo nem tudja értelmezni a szélességet.</string> <string name="err_parse_lon">Sajnáljuk, a c:geo nem tudja értelmezni a hosszúságot.</string> <string name="err_parse_dist">Sajnáljuk, a c:geo nem tudja értelmezni a távolságot.</string> <string name="err_parse_lat_lon">Sajnáljuk, a c:geo nem tudja értelmezni a szélességet vagy a hosszúságot.</string> - <string name="err_fieldnotes_export_failed">A terepjegyzetek exportálása sikertelen.</string> - <string name="warn_save_nothing">Nincs semmi amit menteni lehetne.</string> <string name="warn_no_cache_coord">Nincsenek a láda koordináták megadva.</string> <string name="warn_no_coordinates">Nincsenek koordináták.</string> @@ -233,7 +214,6 @@ <string name="info_log_cleared">A bejegyzés törölve.</string> <string name="info_log_type_changed">A bejegyzés típusa megváltoztatva!</string> - <string name="info_fieldnotes_exported_to">A terepfeljegyzések exportálva lettek ide:</string> <string name="info_storing_static_maps">Kísérlet a statikus térképek mentésére.</string> <!-- location service --> @@ -322,10 +302,7 @@ <string name="caches_filter_type">típu</string> <string name="caches_filter_track">nyomonkövethető tárgyak</string> <string name="caches_filter_clear">szűrők törlése</string> - <string name="caches_filter_size_title">Válassz méretet</string> - <string name="caches_filter_type_title">Válassz típust</string> <string name="caches_filter_modified">Módosított koordinátákkal</string> - <string name="caches_exporting_fieldnote">Exportálás terepjegyzetként…</string> <string name="caches_removing_from_history">Eltávolítás a Előzményekből…</string> <!-- caches lists --> @@ -404,7 +381,6 @@ <string name="init_offline_wp">Az útpontok statikus térképeinek mentése offline használathoz</string> <string name="init_save_log_img">Logokban található képek mentése</string> <string name="init_units">Mérföld/láb használata\n(angolszász mértékegységek)</string> - <string name="init_nav">Google Navigáció használata</string> <string name="init_log_offline">Offline logolás használata mindig (ne mutassa az online log ablakot logoláskor, ne küldje el a logot online)</string> <string name="init_livelist">Mutassa a ládák irányát a listában</string> <string name="init_altitude">Magasság korrekció</string> @@ -428,17 +404,11 @@ <string name="init_mapsources">Térkép források</string> <string name="init_mapsources_description">Itt választhatod ki a térképeid forrását. A Google térképek alternatívájaként több OpenStreetMap stílus is hozzáférhető és offline térkép fájlokat is használhatsz. (További információ <a href="http://code.google.com/p/mapsforge/">http://code.google.com/p/mapsforge/</a>).</string> <string name="init_mapsource_select">Válassz térkép forrást</string> - <string name="init_select_themefolder">…</string> <string name="init_map_directory_description">Könyvtár az offline térképekhez</string> - <string name="init_select_map_directory">…</string> - <string name="init_select_gpx_exportdir">…</string> - <string name="init_select_gpx_importdir">…</string> <string name="init_gpx_exportdir">GPX exportálási könyvtár</string> <string name="init_gpx_importdir">GPX importálási könyvtár</string> <string name="init_gpx_exportdir_description">Itt választhatod ki a könyvtárat a GPX exportálásokhoz.</string> <string name="init_gpx_importdir_description">Itt választhatod ki a könyvtárat a GPX importálásokhoz.</string> - <string name="init_gpx_exportdir_select">A GPX exportálási könyvtár kiválasztása</string> - <string name="init_gpx_importdir_select">A GPX importálási könyvtár kiválasztása</string> <string name="init_maptrail">A nyomvonal mutatása a térképen</string> <string name="init_share_after_export">A megosztás menü megnyitása a GPX exportálás után</string> <string name="init_trackautovisit">A nyomonkövethető tárgyak automatikus \"látogatott\" logolása</string> @@ -454,7 +424,6 @@ <string name="init_dbonsdcard_title">Adatbázis helye</string> <string name="init_dbonsdcard_note">Elmentheted az adatbázist a külső eszközön is. Ezzel belső memóriát takaríthatsz meg, de a teljesítmény csökkenhet és a c:geo nem fog tudni működni ha az SD kártya nem hozzáférhető.</string> <string name="init_dbonsdcard">Az adatbázis a külső eszközön</string> - <string name="init_dbmove">Adatbázis mozgatása</string> <string name="init_dbmove_dbmove">Adatbázis mozgatása</string> <string name="init_dbmove_running">Adatbázis mozgatása</string> <string name="init_dbmove_success">Az adatbázis mozgatása sikeresen lezajlott</string> @@ -525,7 +494,6 @@ <string name="cache_description">Leírás</string> <string name="cache_description_long">Hosszú leírás</string> <string name="cache_description_table_note">A leírás táblázatot is tartalmaz aminek helyes megjelenítéséhez szükség lehet a geocaching.com meglátogatására.</string> - <string name="cache_watchlist">Figyelőlista</string> <string name="cache_watchlist_on">Ez a láda a figyelőlistádon van.</string> <string name="cache_watchlist_not_on">Ez a láda nincs a figyelőlistádon.</string> <string name="cache_watchlist_add">Figyelőlistához adás</string> @@ -566,7 +534,6 @@ <string name="cache_dialog_watchlist_remove_title">Figyelőlista</string> <string name="cache_dialog_watchlist_remove_message">Láda eltávolítása a figyelőlistádról…</string> <string name="cache_menu_navigate">Navigáció</string> - <string name="cache_menu_tbt">Lépésről lépésre</string> <string name="cache_menu_radar">Radar</string> <string name="cache_menu_map">Térkép</string> <string name="cache_menu_map_static">Statikus térképek</string> @@ -618,7 +585,6 @@ <string name="cache_images_loading">Képek betéltése…</string> <string name="cache_log_types">Bejegyzés típusok</string> <string name="cache_coordinates_no">Ennek a ládának nincsenek koordinátái.</string> - <string name="cache_export_fieldnote">Exportálás terepjegyzetként</string> <string name="cache_clear_history">Előzmények törlése</string> <string name="cache_remove_from_history">Eltávolítás az előzményekből</string> <string name="cache_license">Licensz</string> @@ -646,7 +612,6 @@ <string name="gpx_import_loading_caches">Geoládák betöltése .gpx fájlból</string> <string name="gpx_import_loading_waypoints">Útpontfájl betöltése</string> <string name="gpx_import_store_static_maps">Statikus térképek mentése</string> - <string name="gpx_import_storing">Geoládák adatbázisba írása</string> <string name="gpx_import_caches_imported">ládák importálva</string> <string name="gpx_import_static_maps_skipped">A statikus térképek letöltése megszakítva.</string> <string name="gpx_import_title_static_maps">Statikus térképek mentése</string> @@ -665,11 +630,7 @@ <!-- map file select --> <string name="map_file_select_title">Térkép fájl kiválasztása</string> - <!-- theme file select --> - <string name="theme_file_select_title">Válaszd ki az egyéni térképtéma fájlját</string> - <!-- import --> - <string name="import_title">Importálás…</string> <string name="web_import_title">Importálás webről</string> <string name="web_import_waiting">Várakozás új ládákra webről…</string> <string name="web_downloading">Letöltés</string> @@ -680,7 +641,6 @@ <!-- waypoint --> <string name="waypoint">Útpont</string> - <string name="waypoint_title">Útpont neve</string> <string name="waypoint_cache_coordinates">Geoláda koordinátái</string> <string name="waypoint_custom">Egyedi</string> <string name="waypoint_my_coordinates">Az én koordinátáim</string> @@ -694,11 +654,9 @@ <string name="waypoint_note">Jegyzet</string> <string name="waypoint_save">Mentés</string> <string name="waypoint_loading">Útpont betöltése…</string> - <string name="waypoint_unknown_coordinates">Ismeretlen koordináták</string> <string name="waypoint_done">Kész</string> <string name="waypoint_duplicate">Duplikálás</string> <string name="waypoint_copy_of">Ennek másolata</string> - <string name="waypoint_menu_open_cache">Geoláda megnyitása</string> <string name="search_history">Előzmény</string> <string name="search_history_empty">Nincsenek előző célpontok</string> <string name="search_remove_destination">Célpont eltávolítva</string> @@ -837,7 +795,6 @@ <!-- export --> <string name="export">Exportálás</string> - <string name="export_as">Exportálás mint…</string> <string name="export_exportedto">exportálva ide</string> <string name="export_failed">Exportálás sikertelen</string> <string name="export_fieldnotes">Helyszíni jegyzetek</string> @@ -1008,11 +965,11 @@ <string name="about_auth_2">Kattints a \"c:geo engedélyezése\" gombra, hogy elindítsd a folyamatot. Ez a folyamat meg fog nyitni egy böngészőt a Twitter weboldallal. Lépj be ezen az oldalon és hagyd jóvá, hogy a <b>c:geo</b> hozzáférjen a felhasználói fiókodhoz. Ha elfogadod, a Twitter mutatni fog egy számokból álló PIN kódot. Ezt a PIN kódot kell a <b>c:geo</b>-ban beillesztened és jóváhagynod. Ilyen egyszerű.</string> <!-- status --> - <string name="status_new_release">Új kiadás található.\nKattints a telepítéshez.</string> - <string name="status_new_nightly">Új napi verzió található.\nKattints a telepítéshez.</string> - <string name="status_new_rc">Új kiadásra jelölt verzió található.\nKattints a telepítéshez.</string> - <string name="status_geocaching_change">A c:geo a geocaching.com-on nemrégen történt változások miatt nem működik.\nDolgozunk a megoldáson. Nézz vissza hamarosan.</string> - <string name="status_geocaching_livemap">Az élő térkép a geocaching.com-on nemrégen történt változások miatt nem működik.\nDolgozunk a megoldáson. Nézz vissza hamarosan.</string> + <string name="status_new_release" tools:ignore="UnusedResources">Új kiadás található.\nKattints a telepítéshez.</string> + <string name="status_new_nightly" tools:ignore="UnusedResources">Új napi verzió található.\nKattints a telepítéshez.</string> + <string name="status_new_rc" tools:ignore="UnusedResources">Új kiadásra jelölt verzió található.\nKattints a telepítéshez.</string> + <string name="status_geocaching_change" tools:ignore="UnusedResources">A c:geo a geocaching.com-on nemrégen történt változások miatt nem működik.\nDolgozunk a megoldáson. Nézz vissza hamarosan.</string> + <string name="status_geocaching_livemap" tools:ignore="UnusedResources">Az élő térkép a geocaching.com-on nemrégen történt változások miatt nem működik.\nDolgozunk a megoldáson. Nézz vissza hamarosan.</string> <string name="clipboard_copy_ok">Kimásolva a vágólapra</string> <plurals name="days_ago"> diff --git a/main/res/values-it/strings.xml b/main/res/values-it/strings.xml index 016d3f6..a60cde2 100644 --- a/main/res/values-it/strings.xml +++ b/main/res/values-it/strings.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<resources> +<resources xmlns:tools="http://schemas.android.com/tools"> <string name="app_name">c:geo</string> <string name="app_name_compass">c:geo bussola</string> @@ -87,9 +87,6 @@ <string name="log_post_no_rate">Invia log senza voto</string> <string name="log_post_not_possible">Connessione…</string> <string name="log_add">Aggiungi</string> - <string name="log_date">Data</string> - <string name="log_time">Ota</string> - <string name="log_date_time">Data e ora</string> <string name="log_rating">Voto</string> <string name="log_no_rating">Nessun voto</string> <string name="log_stars_1">1 stella</string> @@ -139,8 +136,6 @@ <string name="err_license">L\'utente non ha approvato le condizione del Geocaching.com license agreement, così c:geo non può caricare le coordinate dei cache.</string> <string name="err_unpublished">Il cache richiesto è stato ritirato</string> <string name="err_premium_only">Cache disponibile solo per utenti premium di Geocaching.com</string> - <string name="err_store">c:geo non può salvare il cache.</string> - <string name="err_drop">c:geo non può eliminare il cache.</string> <string name="err_detail_open">c:geo non può aprire i dettagli del cache.</string> <string name="err_detail_cache">c:geo non può visualizzare il cache richiesto. È veramente un geocache?</string> <string name="err_detail_cache_find">c:geo non trova il geocache</string> @@ -153,20 +148,15 @@ <string name="err_detail_no_spoiler">c:geo non trova alcuna immagine spoiler per questo cache.</string> <string name="err_detail_no_map_static">c:geo non trova alcuna mappa statica per questo cache.</string> <string name="err_detail_not_load_map_static">c:geo non riesce a caricare la mappe statiche.</string> - <string name="err_detail_ask_store_map_static">c:geo non riesce a caricare la mappa statica. La salvo ora?</string> <string name="err_detail_still_working">Momentaneamente occupato a svolgere un altro compito.</string> <string name="err_watchlist_still_managing">Sto ancora gestendo la tua watchlist.</string> <string name="err_watchlist_failed">La modifica alla tua watchlist è fallita.</string> - <string name="err_navigation_no">c:geo non trova nessun navigatore supportato.</string> <string name="err_application_no">c:geo non trova nessuna applicazione compatibile.</string> <string name="err_auth_initialize">c:geo ha fallito l\'inizializzazione del processo di autorizzazione.</string> <string name="err_auth_process">Processo di autorizzazione fallito.</string> <string name="err_cannot_log_visit">c:geo non ha abbastanza informazioni per salvare il log. Per cortesia effettuarlo dalla pagina dei dettagli completi del cache.</string> <string name="err_init_cleared">c:geo non può cancellare le informazioni di login.</string> <string name="err_download_fail">c:geo ha fallito il download dei cache perché </string> - <string name="err_list_load_fail">c:geo ha fallito il caricamento della lista cache.</string> - <string name="err_store_failed">c:geo non può salvare i geocache.</string> - <string name="err_refresh_failed">c:geo non può aggiornare i geocache.</string> <string name="err_dwld_details_failed">c:geo ha fallito il download dei dettagli del cache.</string> <string name="err_load_descr_failed">c:geo non può caricare la descrizione.</string> <string name="err_location_unknown">c:geo non conosce la posizione dei cache.</string> @@ -174,18 +164,12 @@ <string name="err_tb_display">c:geo non riesce a visualizzare il trackable che vuoi. È veramente un trackable?</string> <string name="err_tb_details_open">c:geo non riesce ad aprire i dettagli del trackable.</string> - <string name="err_tb_details_download">c:geo ha fallito il download dei dettagli del trackable perché </string> - <string name="err_tb_forgot">c:geo ha dimenticato quale trackable volevi.</string> <string name="err_tb_forgot_saw">c:geo ha dimenticato quale trackable vedevi.</string> <string name="err_tb_find">c:geo non trova nessun trackable</string> <string name="err_tb_find_that">c:geo non trova quel trackable.</string> <string name="err_waypoint_cache_unknown">c:geo non conosce a quale cache vuoi aggiungere un waypoint.</string> - <string name="err_waypoint_unknown">c:geo ha dimenticato quale waypoint vuoi visualizzare.</string> <string name="err_waypoint_add_failed">c:geo non è riuscito ad aggiungere il tuo waypoint.</string> - <string name="err_waypoint_load_failed">c:geo non è riuscito a caricare il waypoint.</string> - <string name="err_waypoint_delete_failed">c:geo non riesce a cancellare il waypoint.</string> - <string name="err_waypoint_open_cache_failed">c:geo non riesce ad aprire i dettagli del cache.</string> <string name="err_point_unknown_position">c:geo non capisce dove ti trovi.</string> <string name="err_point_no_position_given_title">Info richieste</string> <string name="err_point_no_position_given">Inserisci almeno latitudine, o longitudine, o distanza e angolo. Puoi anche inserire tutti e quattro i valori.</string> @@ -200,15 +184,12 @@ <string name="err_log_failed_server">c:geo non è riuscito ad inviare il log perché il server non risponde.</string> <string name="err_log_post_failed">Sembra che il log non sia stato inviato. Prego verificare su Geocaching.com.</string> - <string name="err_search_address_no_match">c:geo non ha trovato luoghi corrispondenti.</string> <string name="err_search_address_forgot">c:geo ha dimenticato l\'indirizzo che vuoi trovare.</string> <string name="err_parse_lat">c:geo non riesce ad interpretare la latitudine.</string> <string name="err_parse_lon">c:geo non riesce ad interpretare la longitudine.</string> <string name="err_parse_dist">c:geo non riesce ad interpretare la distanza.</string> <string name="err_parse_lat_lon">c:geo non riesce ad interpretare la latitudine o la longitudine.</string> - <string name="err_fieldnotes_export_failed">Esportazione delle note fallita.</string> - <string name="warn_save_nothing">Non c\'è nulla da salvare.</string> <string name="warn_no_cache_coord">Non ci sono cache con coordinate.</string> <string name="warn_no_coordinates">Coordinate non fornite.</string> @@ -231,7 +212,6 @@ <string name="info_log_cleared">Il log è stato azzerato.</string> <string name="info_log_type_changed">Il tipo di log è cambiato!</string> - <string name="info_fieldnotes_exported_to">Note esportate verso </string> <string name="info_storing_static_maps">Tento di salvare la static map</string> <!-- location service --> @@ -319,10 +299,7 @@ <string name="caches_filter_type">Tipo</string> <string name="caches_filter_track">Con oggetti trackables</string> <string name="caches_filter_clear">Rimuovi filtri</string> - <string name="caches_filter_size_title">Scegli dimensione</string> - <string name="caches_filter_type_title">Scegli tipo</string> <string name="caches_filter_modified">Con coordinate modificate</string> - <string name="caches_exporting_fieldnote">Esportazione Field Notes…</string> <string name="caches_removing_from_history">Rimozione dalla cronologia…</string> <!-- caches lists --> @@ -398,7 +375,6 @@ <string name="init_offline_wp">Salva i waypoints delle mappe per uso offline</string> <string name="init_save_log_img">Salva immagini contenute nei log</string> <string name="init_units">Usa miglia/piedi</string> - <string name="init_nav">Usa Google Navigation</string> <string name="init_log_offline">Quando salvi log, fallo sempre offline (non visualizzerà lo schermo di log online, non invierà subito il log)</string> <string name="init_livelist">Visualizza in che direzione sono i cache, nelle liste</string> <string name="init_altitude">Correzione di altitudine</string> @@ -422,14 +398,10 @@ <string name="init_mapsources">Tipi di mappe</string> <string name="init_mapsources_description">Qui puoi scegliere dove c:geo preleverà le mappe. Come alternativa a Google maps esistono vari stili di OpenStreetMap disponibili anche per uso offline (vedi <a href="http://code.google.com/p/mapsforge/">http://code.google.com/p/mapsforge/</a> per dettagli).</string> <string name="init_mapsource_select">Seleziona il tipo di mappa</string> - <string name="init_select_gpx_exportdir">…</string> - <string name="init_select_gpx_importdir">…</string> <string name="init_gpx_exportdir">Cartella di export GPX</string> <string name="init_gpx_importdir">Cartella di import GPX</string> <string name="init_gpx_exportdir_description">Qui puoi selezionare la cartella di esportazione GPX.</string> <string name="init_gpx_importdir_description">Qui puoi selezionare la cartella di importazione GPX.</string> - <string name="init_gpx_exportdir_select">Scegli la cartella di esportazione GPX</string> - <string name="init_gpx_importdir_select">Scegli la cartella di esportazione GPX</string> <string name="init_maptrail">Mostra la scia nella Mappa</string> <string name="init_share_after_export">Apri menu condividi dopo export GPX</string> <string name="init_trackautovisit">Setta i miei oggetti Trackables automaticamente su \"visit\" quando invio log</string> @@ -446,7 +418,6 @@ <string name="init_dbonsdcard_title">Posizione Database</string> <string name="init_dbonsdcard_note">Puoi decidere di salvare il database su memoria esterna. In questo caso risparmierai memoria interna ma potresti perdere un pochino di velocità e c:geo non funzionerà se la tua sdcard non sarà disponibile.</string> <string name="init_dbonsdcard">Database su memoria esterna</string> - <string name="init_dbmove">Spostamento Database</string> <string name="init_dbmove_dbmove">Spostamento Database</string> <string name="init_dbmove_running">Spostamento Database</string> <string name="init_dbmove_success">Database spostato con successo.</string> @@ -507,7 +478,6 @@ <string name="cache_description">Descrizione</string> <string name="cache_description_long">Descrizione estesa</string> <string name="cache_description_table_note">La descrizione contiene una tabella formattata in modo tale che potresti aver bisogno di andare su geocaching.com per vederla correttamente.</string> - <string name="cache_watchlist">Watchlist</string> <string name="cache_watchlist_on">Questo cache è nella tua watchlist.</string> <string name="cache_watchlist_not_on">Questo cache non è nella tua watchlist.</string> <string name="cache_watchlist_add">Aggiungi alla watchlist</string> @@ -546,7 +516,6 @@ <string name="cache_dialog_watchlist_remove_title">Watchlist</string> <string name="cache_dialog_watchlist_remove_message">Rimozione dei cache dalla tua watchlist…</string> <string name="cache_menu_navigate">Naviga</string> - <string name="cache_menu_tbt">Itinerario guidato</string> <string name="cache_menu_radar">Radar</string> <string name="cache_menu_map">Mappa</string> <string name="cache_menu_map_static">Mappe statiche</string> @@ -594,7 +563,6 @@ <string name="cache_spoiler_images_loading">Caricamento immagini spoiler…</string> <string name="cache_log_types">Tipi di Log</string> <string name="cache_coordinates_no">Questo cache non ha coordinate.</string> - <string name="cache_export_fieldnote">Esporta le note (Field Notes)</string> <string name="cache_clear_history">Cancella cronologia</string> <string name="cache_remove_from_history">Rimuovi dalla cronologia</string> <string name="cache_license">Licenza</string> @@ -619,7 +587,6 @@ <string name="gpx_import_loading_caches">Caricamento dei cache da file GPX</string> <string name="gpx_import_loading_waypoints">Caricamento file waypoints</string> <string name="gpx_import_store_static_maps">Salvataggio mappe statiche</string> - <string name="gpx_import_storing">Salvataggio dei cache nel database</string> <string name="gpx_import_caches_imported">cache importati</string> <string name="gpx_import_static_maps_skipped">Download mappe statiche interrotto</string> <string name="gpx_import_title_static_maps">Salva mappe statiche</string> @@ -639,7 +606,6 @@ <string name="map_file_select_title">Seleziona il file mappa</string> <!-- import --> - <string name="import_title">Importa…</string> <string name="web_import_title">Importa dal web</string> <string name="web_import_waiting">In attesa di nuovi cache dal web…</string> <string name="web_downloading">Download in corso</string> @@ -650,7 +616,6 @@ <!-- waypoint --> <string name="waypoint">Waypoint</string> - <string name="waypoint_title">Waypoint</string> <string name="waypoint_cache_coordinates">Coordinate cache</string> <string name="waypoint_custom">Custom</string> <string name="waypoint_my_coordinates">Coordinate attuali</string> @@ -664,11 +629,9 @@ <string name="waypoint_note">Note</string> <string name="waypoint_save">Salva</string> <string name="waypoint_loading">Caricamento waypoint…</string> - <string name="waypoint_unknown_coordinates">Coordinate sconosciute</string> <string name="waypoint_done">Fatto</string> <string name="waypoint_duplicate">Duplicato</string> <string name="waypoint_copy_of">Copia di</string> - <string name="waypoint_menu_open_cache">Apri Cache</string> <string name="search_history">Cronologia</string> <string name="search_history_empty">Nessuna precedente destinazione</string> <string name="search_remove_destination">Destinazione rimossa</string> @@ -803,7 +766,6 @@ <!-- export --> <string name="export">Esporta</string> - <string name="export_as">Esporta come…</string> <string name="export_exportedto">esportato in</string> <string name="export_failed">Esportazione fallita</string> <string name="export_fieldnotes">Field Note</string> @@ -974,11 +936,11 @@ <string name="about_auth_2">Clicca sul pulsante \"Autorizza c:geo\" per iniziare. Questa procedura aprirà il browser sulla pagina Twitter. Fai Login su questa pagina e autorizza <b>c:geo</b> ad accedere al tuo account. Se accettato, Twitter mostrerà un PIN code numerico. Questo PIN deve essere riportato in <b>c:geo</b> e confermato.</string> <!-- status --> - <string name="status_new_release">Una nuova versione è disponibile.\nClicca per installarla.</string> - <string name="status_new_nightly">Una nuova versione nightly è disponibile.\nClicca per installarla.</string> - <string name="status_new_rc">Una nuova release candidate è disponibile.\nClicca per installarla.</string> - <string name="status_geocaching_change">Modifiche recenti al sito geocaching hanno disattivato c:geo.\nCi stiamo lavorando, riprova più tardi.</string> - <string name="status_geocaching_livemap">Modifiche recenti al sito geocaching hanno disattivato la mappa live.\nCi stiamo lavorando, riprova più tardi.</string> + <string name="status_new_release" tools:ignore="UnusedResources">Una nuova versione è disponibile.\nClicca per installarla.</string> + <string name="status_new_nightly" tools:ignore="UnusedResources">Una nuova versione nightly è disponibile.\nClicca per installarla.</string> + <string name="status_new_rc" tools:ignore="UnusedResources">Una nuova release candidate è disponibile.\nClicca per installarla.</string> + <string name="status_geocaching_change" tools:ignore="UnusedResources">Modifiche recenti al sito geocaching hanno disattivato c:geo.\nCi stiamo lavorando, riprova più tardi.</string> + <string name="status_geocaching_livemap" tools:ignore="UnusedResources">Modifiche recenti al sito geocaching hanno disattivato la mappa live.\nCi stiamo lavorando, riprova più tardi.</string> <string name="clipboard_copy_ok">Copiato nella clipboard</string> <plurals name="days_ago"> diff --git a/main/res/values-ja/strings.xml b/main/res/values-ja/strings.xml index a8e5ef6..83aae5e 100644 --- a/main/res/values-ja/strings.xml +++ b/main/res/values-ja/strings.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<resources> +<resources xmlns:tools="http://schemas.android.com/tools"> <string name="app_name">c:geo</string> <string name="app_name_compass">c:geo コンパス</string> @@ -87,9 +87,6 @@ <string name="log_post_no_rate">ログの投稿(未評価)</string> <string name="log_post_not_possible">ログのページをロード中…</string> <string name="log_add">挿入</string> - <string name="log_date">日付</string> - <string name="log_time">時間</string> - <string name="log_date_time">日付と時間</string> <string name="log_rating">評価</string> <string name="log_no_rating">未評価</string> <string name="log_stars_1">星1つ</string> @@ -138,8 +135,6 @@ <string name="err_license">Geocaching.comのライセンス契約に同意しなかったのでキャッシュの座標を見ることはできません。</string> <string name="err_unpublished">The requested cache is unpublished.</string> <string name="err_premium_only">このキャッシュはプレミアム会員のみ有効です。</string> - <string name="err_store">キャッシュ情報を保存することができません。</string> - <string name="err_drop">キャッシュ情報を破棄することができません。</string> <string name="err_detail_open">キャッシュの詳細を開くことができません。</string> <string name="err_detail_cache">キャッシュ情報を表示することができません。これは本当にジオキャッシュですか?</string> <string name="err_detail_cache_find">キャッシュ情報が見つかりません。</string> @@ -152,20 +147,15 @@ <string name="err_detail_no_spoiler">このキャッシュのスポイラー画像を見つけることができませんでした。</string> <string name="err_detail_no_map_static">このキャッシュのオフライン地図を見つけることができませんでした。</string> <string name="err_detail_not_load_map_static">オフライン地図のロードに失敗しました。</string> - <string name="err_detail_ask_store_map_static">オフライン地図のロードに失敗しました。再度保存しますか?</string> <string name="err_detail_still_working">他のタスクがまだ動作中です。</string> <string name="err_watchlist_still_managing">Still managing your watchlist.</string> <string name="err_watchlist_failed">ウォッチリストの変更に失敗しました。</string> - <string name="err_navigation_no">使用できるナビゲーションが見つかりません。</string> <string name="err_application_no">適切なアプリケーションが見つかりません。</string> <string name="err_auth_initialize">認証プロセスの初期化に失敗しました。</string> <string name="err_auth_process">認証プロセスに失敗しました。</string> <string name="err_cannot_log_visit">ログを保存するのに十分な情報がありません。キャッシュの詳細を全て入力してください。</string> <string name="err_init_cleared">ログイン情報を消去することができません。</string> <string name="err_download_fail">キャッシュ情報のダウンロードに失敗しました。</string> - <string name="err_list_load_fail">キャッシュリストのロードに失敗しました。</string> - <string name="err_store_failed">キャッシュ情報を保存することができません。</string> - <string name="err_refresh_failed">キャッシュ情報を更新することができません。</string> <string name="err_dwld_details_failed">キャッシュ情報の詳細をダウンロードすることができません。</string> <string name="err_load_descr_failed">キャッシュの説明をロードすることができません。</string> <string name="err_location_unknown">キャッシュの場所が分かりません。</string> @@ -173,18 +163,12 @@ <string name="err_tb_display">トラッカブルアイテムを表示することができません。本当にトラッカブルアイテムですか?</string> <string name="err_tb_details_open">トラッカブルアイテムの詳細を開くことができません。</string> - <string name="err_tb_details_download">トラッカブルアイテムの詳細をダウンロードすることができません。</string> - <string name="err_tb_forgot">c:geo forgot which trackable you want.</string> <string name="err_tb_forgot_saw">c:geo forgot which trackable you saw.</string> <string name="err_tb_find">トラッカブルアイテムが見つかりません。</string> <string name="err_tb_find_that">トラッカブルアイテムが見つかりません。</string> <string name="err_waypoint_cache_unknown">c:geo doesn\'t know to which cache you want to add waypoint.</string> - <string name="err_waypoint_unknown">c:geo forgot what waypoint you want to display.</string> <string name="err_waypoint_add_failed">ウェイポイントを追加することができませんでした。</string> - <string name="err_waypoint_load_failed">ウェイポイントをロードすることができませんでした。</string> - <string name="err_waypoint_delete_failed">ウェイポイントを削除することができません。</string> - <string name="err_waypoint_open_cache_failed">キャッシュの詳細を開くことができません。</string> <string name="err_point_unknown_position">現在地を認識できません。</string> <string name="err_point_no_position_given_title">必要な情報</string> <string name="err_point_no_position_given">少なくとも経度、緯度、または距離と方位を入力してください。全てを入力することもできます。</string> @@ -199,15 +183,12 @@ <string name="err_log_failed_server">サーバの反応がないのでログを投稿することができませんでした。</string> <string name="err_log_post_failed">ログを投稿することができなかったようです。geocaching.comで確認してください。</string> - <string name="err_search_address_no_match">該当する場所が見つかりません。</string> <string name="err_search_address_forgot">c:geo forgot the address you tried to find.</string> <string name="err_parse_lat">緯度の解析ができません。</string> <string name="err_parse_lon">経度の解析ができません。</string> <string name="err_parse_dist">距離の解析ができません。</string> <string name="err_parse_lat_lon">緯度または経度の解析ができません。</string> - <string name="err_fieldnotes_export_failed">フィールドノートのエクスポートに失敗しました。</string> - <string name="warn_save_nothing">保存すべきものがありません。</string> <string name="warn_no_cache_coord">座標のあるキャッシュがありません。</string> <string name="warn_no_coordinates">座標が入力されていません。</string> @@ -231,7 +212,6 @@ <string name="info_log_cleared">ログを消去しました。</string> <string name="info_log_type_changed">ログのタイプを変更しました。</string> - <string name="info_fieldnotes_exported_to">フィールドノートとしてエクスポートしました</string> <string name="info_storing_static_maps">オフライン用に地図を保存中</string> <!-- location service --> @@ -320,10 +300,7 @@ <string name="caches_filter_type">タイプ</string> <string name="caches_filter_track">トラッカブルアイテムあり</string> <string name="caches_filter_clear">フィルターをクリア</string> - <string name="caches_filter_size_title">サイズを選択</string> - <string name="caches_filter_type_title">タイプを選択</string> <string name="caches_filter_modified">座標の更新あり</string> - <string name="caches_exporting_fieldnote">フィールドノートとしてエクスポート中…</string> <string name="caches_removing_from_history">履歴から削除中…</string> <!-- caches lists --> @@ -402,7 +379,6 @@ <string name="init_offline_wp">オフライン用にウェイポイントの地図を保存する</string> <string name="init_save_log_img">オフライン用にログの添付画像を保存する</string> <string name="init_units">距離をマイル/フィートで表示\n(イギリス帝国単位)</string> - <string name="init_nav">Googleマップナビを使う</string> <string name="init_log_offline">ログ書きをオフライン専用にする\n(ログを書く際にオフライン専用にし、オンラインでの投稿をしない。このチェックを外してもオフライン用に保存することは可能です)</string> <string name="init_livelist">キャッシュの一覧で方向をアイコン表示する</string> <string name="init_altitude">標高の修正</string> @@ -426,14 +402,10 @@ <string name="init_mapsources">地図の設定</string> <string name="init_mapsources_description">オンライン地図をGoogleマップからOpenStreetMap(その派生オンライン地図やオフライン地図)に変更できます。詳細は<a href="http://code.google.com/p/mapsforge/">http://code.google.com/p/mapsforge/</a> (英語)をご覧ください。</string> <string name="init_mapsource_select">地図の選択</string> - <string name="init_select_gpx_exportdir">選択…</string> - <string name="init_select_gpx_importdir">選択…</string> <string name="init_gpx_exportdir">GPXエクスポートフォルダ</string> <string name="init_gpx_importdir">GPXインポートフォルダ</string> <string name="init_gpx_exportdir_description">GPXファイルへエクスポートする際の保存先フォルダを選択できます。</string> <string name="init_gpx_importdir_description">GPXファイルへインポートする際の保存先フォルダを選択できます。</string> - <string name="init_gpx_exportdir_select">GPXファイルのエクスポートフォルダを選択</string> - <string name="init_gpx_importdir_select">GPXファイルのインポートフォルダを選択</string> <string name="init_maptrail">地図に軌跡を表示</string> <string name="init_share_after_export">エクスポートした後に共有メニューを表示</string> <string name="init_trackautovisit">「見つけた」ログを書く際に、持っているトラッカブルアイテムを自動的に「訪れた」にする</string> @@ -449,20 +421,11 @@ <string name="init_dbonsdcard_title">データベースの保存場所</string> <string name="init_dbonsdcard_note">c:geoのデータベースを外部メディア(SDカード)に保存することもできます。その場合は端末の内蔵メモリの空き容量は増えますが、c:geoはSDカードなしでは使用できなくなり動作も少し遅くなるかもしれません。</string> <string name="init_dbonsdcard">SDカードにデータベースを保存</string> - <string name="init_dbmove">データベースの移動</string> <string name="init_dbmove_dbmove">データベースの移動</string> <string name="init_dbmove_running">データベースの移動中</string> <string name="init_dbmove_success">データベースを移動しました。</string> <string name="init_dbmove_failed">データベースの移動に失敗しました</string> - <!-- map sources --> - <string-array name="map_sources"> - <item>@string/map_source_google_map</item> - <item>@string/map_source_google_satellite</item> - <item>@string/map_source_osm_mapnik</item> - <item>@string/map_source_osm_cyclemap</item> - <item>@string/map_source_osm_offline</item> - </string-array> <string name="map_source_google_map">Googleマップ:地図</string> <string name="map_source_google_satellite">Googleマップ:航空写真</string> <string name="map_source_osm_mapnik">OpenStreetMap</string> @@ -523,7 +486,6 @@ <string name="cache_description">説明</string> <string name="cache_description_long">全て表示</string> <string name="cache_description_table_note">キャッシュ情報の説明にはhtmlを使ったテーブル表が含まれています。正しく表示するにはブラウザで開く必要があるかもしれません。</string> - <string name="cache_watchlist">ウォッチリスト</string> <string name="cache_watchlist_on">このキャッシュはウォッチリストに登録されています。</string> <string name="cache_watchlist_not_on">このキャッシュはウォッチリストに登録されていません。</string> <string name="cache_watchlist_add">ウォッチリストに追加</string> @@ -563,7 +525,6 @@ <string name="cache_dialog_watchlist_remove_title">ウォッチリスト</string> <string name="cache_dialog_watchlist_remove_message">ウォッチリストから削除中…</string> <string name="cache_menu_navigate">ナビゲーション</string> - <string name="cache_menu_tbt">道順ナビ</string> <string name="cache_menu_radar">レーダー</string> <string name="cache_menu_map">地図で表示</string> <string name="cache_menu_map_static">オフライン地図</string> @@ -611,7 +572,6 @@ <string name="cache_spoiler_images_loading">スポイラー画像をロード中…</string> <string name="cache_log_types">ログタイプ</string> <string name="cache_coordinates_no">このキャッシュに座標値はありません。</string> - <string name="cache_export_fieldnote">フィールドノートとしてエクスポート</string> <string name="cache_clear_history">全履歴を削除</string> <string name="cache_remove_from_history">履歴から削除</string> <string name="cache_license">ライセンス</string> @@ -636,7 +596,6 @@ <string name="gpx_import_loading_caches">GPXファイルからキャッシュをロード中</string> <string name="gpx_import_loading_waypoints">ウェイポイントファイルをロード中</string> <string name="gpx_import_store_static_maps">オフライン地図を保存中</string> - <string name="gpx_import_storing">キャッシュ情報をデータベースに書き込み中</string> <string name="gpx_import_caches_imported">個のキャッシュをインポートしました</string> <string name="gpx_import_static_maps_skipped">オフライン用地図のダウンロードを中止しました</string> <string name="gpx_import_title_static_maps">オフライン用に地図を保存</string> @@ -654,7 +613,6 @@ <string name="map_file_select_title">地図ファイルの選択</string> <!-- import --> - <string name="import_title">インポート…</string> <string name="web_import_title">Webからインポート(Send 2 c:geo経由)</string> <string name="web_import_waiting">Webから新しいキャッシュ情報を確認中…</string> <string name="web_downloading">ダウンロード中</string> @@ -665,7 +623,6 @@ <!-- waypoint --> <string name="waypoint">ウェイポイント</string> - <string name="waypoint_title">ウェイポイント</string> <string name="waypoint_cache_coordinates">キャッシュ座標</string> <string name="waypoint_custom">カスタム</string> <string name="waypoint_my_coordinates">現在地</string> @@ -679,23 +636,15 @@ <string name="waypoint_note">メモ</string> <string name="waypoint_save">保存</string> <string name="waypoint_loading">ウェイポイントをロード中…</string> - <string name="waypoint_unknown_coordinates">座標値が不明</string> <string name="waypoint_done">決定</string> <string name="waypoint_duplicate">複製</string> <string name="waypoint_copy_of">コピー ~ </string> - <string name="waypoint_menu_open_cache">Open Cache</string> <string name="search_history">履歴</string> <string name="search_history_empty">履歴はありません</string> <string name="search_remove_destination">履歴から削除しました</string> <string name="search_clear_history">全履歴を削除</string> <string name="search_history_cleared">全履歴を削除しました</string> - <string-array name="waypoint_coordinate_formats"> - <item>@string/waypoint_coordinate_formats_plain</item> - <item>DDD.DDDDD°</item> - <item>DDD°MM.MMM\'</item> - <item>DDD°MM\'SS.SSS\"</item> - </string-array> <string name="waypoint_coordinate_formats_plain">プレーン</string> <!-- distance units --> @@ -832,7 +781,6 @@ <!-- export --> <string name="export">エクスポート</string> - <string name="export_as">Export as…</string> <string name="export_exportedto">にエクスポートしました</string> <string name="export_failed">エクスポートに失敗しました</string> <string name="export_fieldnotes">フィールドノート</string> @@ -1003,11 +951,11 @@ <string name="about_auth_2">「認証を開始する」ボタンを押すとブラウザでTwitterのページが開きます。そのページにログインすれば<b>c:geo</b>があなたのアカウントにアクセルする許可が得られます。ログインに成功したら数字のPINコードが表示されるので、この下の入力欄にコピー&ペーストして「完了」ボタンを押してください。</string> <!-- status --> - <string name="status_new_release">新しいバージョンがあります。\nクリックしてインストールしてください。</string> - <string name="status_new_nightly">新しいナイトリービルドがあります。\nクリックしてインストールしてください。</string> - <string name="status_new_rc">新しいRCバージョンがあります。\nクリックしてインストールしてください。</string> - <string name="status_geocaching_change">geocaching.comが更新されましたがc:geoはまだ未対応です。\n現在、作業中です。しばらくお待ちください。</string> - <string name="status_geocaching_livemap">geocaching.comが更新されましたがオンライン地図機能はまだ未対応です。\n現在、作業中です。しばらくお待ちください。</string> + <string name="status_new_release" tools:ignore="UnusedResources">新しいバージョンがあります。\nクリックしてインストールしてください。</string> + <string name="status_new_nightly" tools:ignore="UnusedResources">新しいナイトリービルドがあります。\nクリックしてインストールしてください。</string> + <string name="status_new_rc" tools:ignore="UnusedResources">新しいRCバージョンがあります。\nクリックしてインストールしてください。</string> + <string name="status_geocaching_change" tools:ignore="UnusedResources">geocaching.comが更新されましたがc:geoはまだ未対応です。\n現在、作業中です。しばらくお待ちください。</string> + <string name="status_geocaching_livemap" tools:ignore="UnusedResources">geocaching.comが更新されましたがオンライン地図機能はまだ未対応です。\n現在、作業中です。しばらくお待ちください。</string> <string name="clipboard_copy_ok">クリップボードにコピーしました</string> <plurals name="days_ago"> diff --git a/main/res/values-nb/strings.xml b/main/res/values-nb/strings.xml index 6e8435c..b10871e 100644 --- a/main/res/values-nb/strings.xml +++ b/main/res/values-nb/strings.xml @@ -68,9 +68,6 @@ <string name="log_post_rate">Last opp loggen og rangér</string> <string name="log_post_no_rate">Last opp loggen uten å rangere</string> <string name="log_add">Legg til</string> - <string name="log_date">Dato</string> - <string name="log_time">Klokkelsett</string> - <string name="log_date_time">Dato og klokkeslett</string> <string name="log_rating">Rangering</string> <string name="log_no_rating">Ingen rangering</string> <string name="log_stars_1">1 stjerne</string> @@ -94,8 +91,6 @@ <string name="err_missing_auth">Brukernavn eller passord er ikke oppgitt.</string> <string name="err_wrong">Feilaktige innloggings-opplysninger</string> <string name="err_license">Brukeren har ikke akseptert Geocaching.com sin lisens-betingelse, så c:geo kan ikke laste cachens koordinater</string> - <string name="err_store">Beklager, c:geo klarte ikke å lagre cachen.</string> - <string name="err_drop">Beklager, c:geo klarte ikke å slette cachen.</string> <string name="err_detail_open">Beklager, c:geo klarte ikke å finne detaljene.</string> <string name="err_detail_cache">Beklager, c:geo klarte ikke å finne den forespurte cachen. Er du sikker på at den eksisterer?</string> <string name="err_detail_cache_find">Beklager, c:geo klarte ikke å finne geocachen</string> @@ -106,24 +101,18 @@ <string name="err_detail_cache_forgot_visit">Beklager, c:geo glemte hvilken cache du fant.</string> <string name="err_detail_no_spoiler">c:geo fant ingen bilder for denne cachen.</string> <string name="err_detail_no_map_static">c:geo fant ingen statiske kart for denne cachen.</string> - <string name="err_navigation_no">c:geo klarte ikke å finne støttet navigasjon.</string> <string name="err_application_no">c:geo klarte ikke å finne en passende applikasjon.</string> <string name="err_auth_initialize">Beklager, c:geo klarte ikke å igangsette autoriserings-prosessen.</string> <string name="err_auth_process">Autoriserings-prosessen mislyktes.</string> <string name="err_cannot_log_visit">c:geo har ikke nok informasjon til å logge funn. Prøv å laste inn cachens detaljer først.</string> <string name="err_init_cleared">Beklager, c:geo klarte ikke å fjerne innloggings-opplysningene.</string> <string name="err_download_fail">Beklager. c:geo klarte ikke å laste ned cachene p.g.a.</string> - <string name="err_list_load_fail">Beklager, c:geo klarte ikke å laste cache-listen..</string> - <string name="err_store_failed">Beklager, c:geo klarte ikke å lagre cachen.</string> - <string name="err_refresh_failed">Beklager, c:geo klarte ikke å oppdatere cachen.</string> <string name="err_dwld_details_failed">Beklager, c:geo klarte ikke å laste ned cachens detaljer</string> <string name="err_load_descr_failed">Beklager, c:geo klarte ikke å åpne beskrivelsen.</string> <string name="err_location_unknown">c:geo vet ikke hvor cachen er.</string> <string name="err_tb_display">"Beklager, c:geo klarte ikke å finne trackable\'en du etterspurte. Er det virkelig en trackable?</string> <string name="err_tb_details_open">Beklager, c:geo klarte ikke å åpne tracable\'ens detaljer.</string> - <string name="err_tb_details_download">Beklager, c:geo klarte ikke å laste ned trackable\'ens detaljer p.g.a.</string> - <string name="err_tb_forgot">Beklager, c:geo glemte hvilken trackable du etterspurte.</string> <string name="err_tb_forgot_saw">Beklager, c:geo glemte hvilken trackable du oppdaget.</string> <string name="err_tb_find">Beklager, c:geo klarte ikke å finne noen trackable\'er.</string> <string name="err_tb_find_that">Beklager, c:geo kan ikke finne noen trackable\'er</string> @@ -134,7 +123,6 @@ <string name="err_log_failed_server">Beklager, c:geo klarte ikke å logge funnet fordi serveren er nede.</string> <string name="err_log_post_failed">Beklager, c:geo klarte ikke å logge funnet.</string> - <string name="err_search_address_no_match">Beklager, c:geo klarte ikke å finne den forespurte adressen.</string> <string name="err_search_address_forgot">Beklager, c:geo glemte adressen du prøvde å finne.</string> <string name="err_parse_lat">Beklager, c:geo klarte ikke å lese breddegraden.</string> <string name="err_parse_lon">Beklager, c:geo klarte ikke å lese lengdegraden.</string> @@ -230,7 +218,6 @@ <string name="init_disabled">Ekskluder deaktiverte cacher</string> <string name="init_offline">Lagre kartet for offline-bruk (små deler)</string> <string name="init_units">Bruk imperialistiske måleenheter</string> - <string name="init_nav">Bruk Google Navigation</string> <string name="init_autoload">Last full beskrivelse automatisk</string> <string name="init_livelist">Vis cachers retning i listen</string> <string name="init_clear">Ikke husk meg</string> @@ -284,7 +271,6 @@ <string name="cache_dialog_refresh_title">Oppdater</string> <string name="cache_dialog_refresh_message">Laster cachens detaljer på nytt…</string> <string name="cache_menu_navigate">Navigér</string> - <string name="cache_menu_tbt">Punktvis navigasjon</string> <string name="cache_menu_radar">Radar</string> <string name="cache_menu_map">Vis på kartet</string> <string name="cache_menu_map_ext">Vis på utvidet kart</string> diff --git a/main/res/values-nl/strings.xml b/main/res/values-nl/strings.xml index 8013de3..9502d3e 100644 --- a/main/res/values-nl/strings.xml +++ b/main/res/values-nl/strings.xml @@ -87,9 +87,6 @@ <string name="log_post_no_rate">Post log zonder beoordeling</string> <string name="log_post_not_possible">Laden Log Pagina…</string> <string name="log_add">Toevoegen</string> - <string name="log_date">Datum</string> - <string name="log_time">Tijd</string> - <string name="log_date_time">Datum & tijd</string> <string name="log_rating">Beoordeling</string> <string name="log_no_rating">Geen beoordeling</string> <string name="log_stars_1">1 ster</string> @@ -136,8 +133,6 @@ <string name="err_license">Gebruiker heeft de gebruikersvoorwaarden van Geocaching.com niet geaccepteerd.</string> <string name="err_unpublished">De cache is nog niet gepubliceerd</string> <string name="err_premium_only">Deze cache is alleen beschikbaar voor Geocaching.com premium leden.</string> - <string name="err_store">Sorry, c:geo kan de cache niet opslaan.</string> - <string name="err_drop">Sorry, c:geo kan de cache niet wissen.</string> <string name="err_detail_open">Sorry, c:geo kan de geocache details niet openen.</string> <string name="err_detail_cache">Sorry, c:geo kan de gezochte geocache niet weergeven.</string> <string name="err_detail_cache_find">Sorry, c:geo kan de geocache niet vinden.</string> @@ -149,20 +144,15 @@ <string name="err_detail_no_spoiler">c:geo Heeft geen spoiler images gevonden voor deze cache.</string> <string name="err_detail_no_map_static">c:geo Heeft geen statische kaarten gevonden voor deze cache.</string> <string name="err_detail_not_load_map_static">Sorry, c:geo kon de statische kaart niet laden.</string> - <string name="err_detail_ask_store_map_static">c:geo kon statische kaarten niet laden. Nu opslaan?</string> <string name="err_detail_still_working">Nog bezig met een andere (achtergrond)taak.</string> <string name="err_watchlist_still_managing">Bezig je watchlist te beheren.</string> <string name="err_watchlist_failed">Het veranderen van watchlist lukt niet.</string> - <string name="err_navigation_no">c:geo Kan geen ondersteunde navigatie applicatie vinden.</string> <string name="err_application_no">c:geo Kan geen geschikte applicatie vinden.</string> <string name="err_auth_initialize">Sorry, het is c:geo niet gelukt het autorisatie proces te initialiseren.</string> <string name="err_auth_process">Autorisatie proces mislukt.</string> <string name="err_cannot_log_visit">c:geo Heeft onvoldoende informatie om bezoek te loggen. Probeer het vanuit de volledige cache details.</string> <string name="err_init_cleared">Sorry, c:geo kan de inlog informatie niet wissen.</string> <string name="err_download_fail">Sorry, c:geo heeft caches niet kunnen downloaden omdat </string> - <string name="err_list_load_fail">Sorry, c:geo heeft cache lijst niet kunnen laden.</string> - <string name="err_store_failed">Sorry, c:geo kan de geocache niet opslaan.</string> - <string name="err_refresh_failed">Sorry, c:geo kan de geocache niet verversen.</string> <string name="err_dwld_details_failed">Sorry, c:geo kon de cache details niet downloaden.</string> <string name="err_load_descr_failed">Sorry, c:geo kan de omschrijving niet laden.</string> <string name="err_location_unknown">c:geo kent de locatie van de cache niet.</string> @@ -170,18 +160,12 @@ <string name="err_tb_display">Sorry, c:geo kan de gezochte trackable niet weergeven. Is het wel een trackable?</string> <string name="err_tb_details_open">Sorry, c:geo kan de trackable details niet laden.</string> - <string name="err_tb_details_download">Sorry, c:geo kon de trackable details niet downloaden omdat</string> - <string name="err_tb_forgot">Sorry, c:geo is vergeten welke trackable je wilde.</string> <string name="err_tb_forgot_saw">Sorry, c:geo is vergeten welke trackable je gezien hebt.</string> <string name="err_tb_find">Sorry, c:geo kan de trackable niet vinden</string> <string name="err_tb_find_that">Sorry, c:geo kan die trackable niet vinden.</string> <string name="err_waypoint_cache_unknown">Sorry, c:geo weet niet aan welke cache je een waypoint wil toevoegen.</string> - <string name="err_waypoint_unknown">Sorry, c:geo is vergeten welke waypoint je wil laten zien.</string> <string name="err_waypoint_add_failed">Sorry, c:geo kon de waypoint niet toevoegen.</string> - <string name="err_waypoint_load_failed">Sorry, c:geo kon de waypoint niet laden.</string> - <string name="err_waypoint_delete_failed">Sorry, c:geo kan de waypoint niet wissen.</string> - <string name="err_waypoint_open_cache_failed">c:geo kan cachedetails niet openen.</string> <string name="err_point_unknown_position">Sorry, c:geo kan niet bepalen waar je bent.</string> <string name="err_point_no_position_given_title">Info benodigd</string> <string name="err_point_no_position_given">Geef op zijn minst lengte- en breedtegraad of afstand en richting. Of vul alle 4 de velden.</string> @@ -196,15 +180,12 @@ <string name="err_log_failed_server">Sorry, c:geo kon bezoek niet loggen omdat de server niet reageert.</string> <string name="err_log_post_failed">Sorry, het is c:geo niet gelukt het log te posten.</string> - <string name="err_search_address_no_match">Sorry, c:geo heeft geen gelijkende plaats gevonden.</string> <string name="err_search_address_forgot">Sorry, c:geo is het adres dat je zoekt vergeten.</string> <string name="err_parse_lat">Sorry, c:geo kan breedtegraad niet verwerken.</string> <string name="err_parse_lon">Sorry, c:geo kan lengtegraad niet verwerken.</string> <string name="err_parse_dist">Sorry, c:geo kan afstand niet verwerken.</string> <string name="err_parse_lat_lon">Sorry, c:geo kan breedtegraad of lengtegraad niet verwerken.</string> - <string name="err_fieldnotes_export_failed">Exporteren van Field Notes niet gelukt.</string> - <string name="warn_save_nothing">Er is niets op te slaan.</string> <string name="warn_no_cache_coord">Er is geen cache met deze coördinaten.</string> <string name="warn_no_coordinates">Geen coördinaten opgegeven.</string> @@ -225,7 +206,6 @@ <string name="info_log_cleared">Log is gewist.</string> <string name="info_log_type_changed">Type log is gewijzigd!</string> - <string name="info_fieldnotes_exported_to">Field Notes geëxporteerd naar</string> <string name="info_storing_static_maps">Probeer statische kaarten op te slaan</string> <!-- location service --> @@ -310,10 +290,7 @@ <string name="caches_filter_type">type</string> <string name="caches_filter_track">met trackables</string> <string name="caches_filter_clear">maak filters leeg</string> - <string name="caches_filter_size_title">Kies grootte</string> - <string name="caches_filter_type_title">Kies type</string> <string name="caches_filter_modified">Met aangepaste coordinaten</string> - <string name="caches_exporting_fieldnote">Exporteer als Field Notes…</string> <string name="caches_removing_from_history">Verwijderen uit geschiedenis…</string> <!-- caches lists --> @@ -388,7 +365,6 @@ <string name="init_offline_wp">Statische kaarten van waipoints opslaan voor gebruik zonder verbinding</string> <string name="init_save_log_img">Sla afbeeldingen van logs op</string> <string name="init_units">Gebruik imperiale stelsel voor afstanden</string> - <string name="init_nav">Gebruik Google Navigatie</string> <string name="init_log_offline">Als er gelogd word, doe dit altijd offline (Laat het online log scherm niet zien en verzend de log niet)</string> <string name="init_livelist">Toon afstand tot cache in lijst</string> <string name="init_altitude">Hoogte correctie</string> @@ -482,7 +458,6 @@ <string name="cache_description">Omschrijving</string> <string name="cache_description_long">Lange omschrijving</string> <string name="cache_description_table_note">Omschrijving bevat een tabel-layout welke misschien op geocaching.com bekeken moet worden.</string> - <string name="cache_watchlist">Watchlist</string> <string name="cache_watchlist_on">Deze cache komt voor op je watchlist.</string> <string name="cache_watchlist_not_on">Deze cache komt niet voor op je watchlist.</string> <string name="cache_watchlist_add">Voeg aan watchlist toe</string> @@ -516,7 +491,6 @@ <string name="cache_dialog_watchlist_remove_title">Watchlist</string> <string name="cache_dialog_watchlist_remove_message">Verwijder cache van watchlist…</string> <string name="cache_menu_navigate">Navigeer</string> - <string name="cache_menu_tbt">Turn-by-turn</string> <string name="cache_menu_radar">Radar</string> <string name="cache_menu_map">Toon op kaart</string> <string name="cache_menu_map_static">Statische kaarten</string> @@ -562,7 +536,6 @@ <string name="cache_spoiler_images_loading">Spoiler afbeeldingen laden…</string> <string name="cache_log_types">Log types</string> <string name="cache_coordinates_no">Deze cache heeft geen coördinaten.</string> - <string name="cache_export_fieldnote">Exporteer als Field Notes</string> <string name="cache_clear_history">Maak geschiedenis leeg</string> <string name="cache_remove_from_history">Verwijder uit geschiedenis</string> <string name="cache_license">Licentie</string> @@ -582,7 +555,6 @@ <string name="gpx_import_loading_caches">Caches laden van .gpx bestand</string> <string name="gpx_import_loading_waypoints">Waypoints laden van .gpx bestand</string> <string name="gpx_import_store_static_maps">Opslaan statische kaarten</string> - <string name="gpx_import_storing">Opslaan caches in de database</string> <string name="gpx_import_caches_imported">Caches geïmporteerd</string> <string name="gpx_import_static_maps_skipped">Download van statische kaarten afgebroken</string> <string name="gpx_import_title_static_maps">Sla statische kaarten op</string> @@ -600,7 +572,6 @@ <string name="map_file_select_title">Selecteer mapbestand</string> <!-- import --> - <string name="import_title">Import…</string> <string name="web_import_title">Importeer van web</string> <string name="web_import_waiting">Aan het wachten voor nieuwe caches van het web…</string> <string name="web_downloading">Downloading</string> @@ -611,7 +582,6 @@ <!-- waypoint --> <string name="waypoint">Waypoint</string> - <string name="waypoint_title">Waypoint</string> <string name="waypoint_cache_coordinates">Cache coördinaten</string> <string name="waypoint_custom">Aangepast</string> <string name="waypoint_my_coordinates">Mijn coördinaten</string> @@ -625,11 +595,9 @@ <string name="waypoint_note">Notitie</string> <string name="waypoint_save">Opslaan</string> <string name="waypoint_loading">Waypoint laden…</string> - <string name="waypoint_unknown_coordinates">coördinaten niet bekend</string> <string name="waypoint_done">Klaar</string> <string name="waypoint_duplicate">Dubbel</string> <string name="waypoint_copy_of">Kopie van</string> - <string name="waypoint_menu_open_cache">Open Cache</string> <string name="search_history">Geschiedenis</string> <string name="search_history_empty">Geen eerdere bestemmingen</string> <string name="search_remove_destination">Bestemming verwijderd</string> diff --git a/main/res/values-pl/strings.xml b/main/res/values-pl/strings.xml index ce8c875..23220e0 100644 --- a/main/res/values-pl/strings.xml +++ b/main/res/values-pl/strings.xml @@ -81,9 +81,6 @@ <string name="log_post_rate">Wpisz do dziennika & oceń</string> <string name="log_post_no_rate">Wpisz do dziennika & nie oceniaj</string> <string name="log_add">Dodaj</string> - <string name="log_date">Data</string> - <string name="log_time">Godzina</string> - <string name="log_date_time">Data & godzina</string> <string name="log_rating">Ocena</string> <string name="log_no_rating">Bez oceny</string> <string name="log_stars_1">1 gwiazdka</string> @@ -121,8 +118,6 @@ <string name="err_missing_auth">Nie wpisana nazwa użytkownika i/lób hasła.</string> <string name="err_wrong">Niepoprawne dane użytkownika</string> <string name="err_license">Użytkownik nie zgodził się jeszcze z regulaminem serwisu Geocaching.com, c:geo nie jest w stanie załadować współrzędnych.</string> - <string name="err_store">Przepraszam, c:geo nie mógł zapisać skrzynki.</string> - <string name="err_drop">Przepraszam, c:geo nie mógł skasować skrzynki.</string> <string name="err_detail_open">Przepraszam, c:geo nie mógł otworzyć szczegółów skrzynki.</string> <string name="err_detail_cache">Przepraszam, c:geo nie mógł pokazać tobie skrzynki. Czy to jest naprawdę skrzynka?</string> <string name="err_detail_cache_find">Przepraszam, c:geo nie mógł znaleść skrzynki.</string> @@ -136,16 +131,12 @@ <string name="err_detail_not_load_map_static">Przepraszam, c:geo nie mógł załadować statycznej mapki.</string> <string name="err_watchlist_still_managing">Nadal pracuję nad listą obserwowanych.</string> <string name="err_watchlist_failed">c:geo nie mógł zmienić listy obserwowanych.</string> - <string name="err_navigation_no">c:geo nie znalazł żadnych wsparć do nawigacji.</string> <string name="err_application_no">c:geo nie znalazł żadnych odpowiednich aplikacji.</string> <string name="err_auth_initialize">Przepraszam, c:geo nie może zainicjować procesu autoryzacji.</string> <string name="err_auth_process">Proces autoryzacji nie udany.</string> <string name="err_cannot_log_visit">c:geo brakuje informacji aby dodać wpis wizyty. Proszę spróbuj przez szczegóły skrzynki.</string> <string name="err_init_cleared">Przepraszam, c:geo nie może skasować danych logowania.</string> <string name="err_download_fail">Przepraszam, c:geo nie może załadować skrzynki, ponieważ </string> - <string name="err_list_load_fail">Przepraszam, c:geo nie może załadować listy skrzynek.</string> - <string name="err_store_failed">Przepraszam, c:geo nie może zapisać skrzynki.</string> - <string name="err_refresh_failed">Przepraszam, c:geo nie może zaktualizować skrzynki.</string> <string name="err_dwld_details_failed">Przepraszam, c:geo nie może załadować szczegółów skrzynki.</string> <string name="err_load_descr_failed">Przepraszam, c:geo nie może załadować opisu.</string> <string name="err_location_unknown">c:geo nie zna lokalizacji skrzynki.</string> @@ -153,17 +144,12 @@ <string name="err_tb_display">"Przepraszam, c:geo nie może pokazać przedmiotów podróżnych. Czy to rzeczywiście jest przedmiot podróżny?</string> <string name="err_tb_details_open">Przepraszam, c:geo nie może otworzyć szczegółów przedmiotu podróżnego.</string> - <string name="err_tb_details_download">Przepraszam, c:geo nie może otworzyć szczegółów przedmiotu podróżnego, ponieważ</string> - <string name="err_tb_forgot">Przepraszam, c:geo zapomiał jaki przedmiot podróżny chciałeś.</string> <string name="err_tb_forgot_saw">Przepraszam, c:geo zapomiał jaki przedmiot podróżny widziałeś.</string> <string name="err_tb_find">Przepraszam, c:geo nie może znaleźć przedmiotu podróżnego.</string> <string name="err_tb_find_that">Przepraszam, c:geo nie może znaleźć tego przedmiotu podróżnego.</string> <string name="err_waypoint_cache_unknown">Przepraszam, c:geo nie wie do jakiej skrzynki chcesz dodać punkt nawigacji.</string> - <string name="err_waypoint_unknown">Przepraszam, c:geo zapomiał jaki punkt nawigacyjny chciałeś obejrzeć.</string> <string name="err_waypoint_add_failed">Przepraszam, c:geo nie może dodać punktu nawigacyjnego.</string> - <string name="err_waypoint_load_failed">Przepraszam, c:geo nie może załadować punktu nawigacyjnego.</string> - <string name="err_waypoint_delete_failed">Przepraszam, c:geo nie może skasować punktu nawigacyjnego.</string> <string name="err_point_unknown_position">Przepraszam, c:geo nie może określić twojej lokalizacji.</string> <string name="err_point_no_position_given_title">Informacje wymagane</string> <string name="err_point_no_position_given">Wypełnij co najmniej szerokość i długość geograficzną lub odległość i namiar. Można również wypełnić wszystkie cztery pola.</string> @@ -178,14 +164,11 @@ <string name="err_log_failed_server">Przepraszam, c:geo nie może wysłać wpisu ponieważ serwer nie odpowiada.</string> <string name="err_log_post_failed">Przepraszam, c:geo nie mógł dodać wpisu do dziennika.</string> - <string name="err_search_address_no_match">Przepraszam, c:geo nie znalazł pasującego miejsca.</string> <string name="err_search_address_forgot">Przepraszam, c:geo zapomiał jaki adres szukałeś.</string> <string name="err_parse_lat">Przepraszam, c:geo nie może obliczyć szerokości geograficznej.</string> <string name="err_parse_lon">Przepraszam, c:geo nie może obliczyć długości geograficznej.</string> <string name="err_parse_dist">Przepraszam, c:geo nie może obliczyć odległości.</string> - <string name="err_fieldnotes_export_failed">Eksportowanie notatek terenowych nieudane.</string> - <string name="warn_save_nothing">Nie ma nic do zapisania.</string> <string name="warn_no_cache_coord">Nie ma skrzynek z współrzędnymi GPS.</string> <string name="warn_no_coordinates">Nie podane współrzędne.</string> @@ -205,8 +188,6 @@ <string name="info_log_cleared">Wpis został skasowany.</string> <string name="info_log_type_changed">Rodzaj wpisu w dzienniku został zmieniony!</string> - <string name="info_fieldnotes_exported_to">Notatki terenowe eksportowane do</string> - <!-- location service --> <string name="loc_last">Ostatnie stanowisko</string> <string name="loc_net">Sieć</string> @@ -283,9 +264,6 @@ <string name="caches_filter_type">typu</string> <string name="caches_filter_track">z przedmiotmi podróżnymi</string> <string name="caches_filter_clear">wykasój filter</string> - <string name="caches_filter_size_title">Wybierz wielkość</string> - <string name="caches_filter_type_title">Wybierz typ</string> - <string name="caches_exporting_fieldnote">Eksportuj jako notatki terenowe…</string> <string name="caches_removing_from_history">Kasuję z historii…</string> <!-- caches lists --> @@ -347,7 +325,6 @@ <string name="init_offline">Zapisuj mampki do użytku offline</string> <string name="init_save_log_img">Zapisz zdjęcia z wpisów</string> <string name="init_units">Używaj angielskich jednostek miary\n(mile)</string> - <string name="init_nav">Używaj Google Navigation</string> <string name="init_autoload">Długie opisy automatycznie ładować</string> <string name="init_log_offline">Podczas logowania, zawsze logój offline (nie pokazój ekranu logowania online, nie wysyłaj logu online)</string> <string name="init_livelist">Pokazuj na liście kierunek do skrzynek</string> @@ -427,7 +404,6 @@ <string name="cache_personal_note">osobista notatka</string> <string name="cache_description">Opis</string> <string name="cache_description_long">Długi opis</string> - <string name="cache_watchlist">Lista obserwowanych</string> <string name="cache_watchlist_on">Ta skrzynka jest na twojej liscie obserwowanych.</string> <string name="cache_watchlist_not_on">Ta skrzynka nie jest na twojej liscie obserwowanych.</string> <string name="cache_watchlist_add">Obserwuj</string> @@ -448,7 +424,6 @@ <string name="cache_dialog_watchlist_remove_title">Lista obserwowanych</string> <string name="cache_dialog_watchlist_remove_message">Usuwam skrzynkę z listy obserwowanych…</string> <string name="cache_menu_navigate">Nawigować</string> - <string name="cache_menu_tbt">Zakręt po zakręcie</string> <string name="cache_menu_radar">Radar</string> <string name="cache_menu_map">Pokaż na mapie</string> <string name="cache_menu_map_static">Statyczna mapa</string> @@ -490,7 +465,6 @@ <string name="cache_spoiler_images_loading">Ładuje zdjęcia spoiler…</string> <string name="cache_log_types">Rodzaj logu</string> <string name="cache_coordinates_no">Ta skrzynka nie ma współrzędnych GPS.</string> - <string name="cache_export_fieldnote">Eksportuj jako notatka terenowa</string> <string name="cache_clear_history">Wykasuj historię</string> <string name="cache_remove_from_history">Usuń z historii</string> @@ -511,7 +485,6 @@ <string name="map_file_select_title">Wybierz plik z mapą</string> <!-- import --> - <string name="import_title">Import…</string> <string name="web_import_title">Import z internetu</string> <string name="web_import_waiting">Czekam na nowe skrzynki z internetu…</string> <string name="web_downloading">Ściąganie</string> @@ -522,7 +495,6 @@ <!-- waypoint --> <string name="waypoint">Punkt nawigacji</string> - <string name="waypoint_title">Punkt nawigacji</string> <string name="waypoint_custom">Zdefiniowane przez użytkownika</string> <string name="waypoint_my_coordinates">Moje współrzędne</string> <string name="waypoint_bearing">Kierunek</string> @@ -535,7 +507,6 @@ <string name="waypoint_note">Notatka</string> <string name="waypoint_save">Zapisz</string> <string name="waypoint_loading">Ładuje punkt nawigacyjny…</string> - <string name="waypoint_unknown_coordinates">Współrzędne nieznane</string> <string name="search_history">Historia</string> <string name="search_history_empty">Brak poprzednich celów</string> <string name="search_remove_destination">Cel usunięty</string> diff --git a/main/res/values-pt/strings.xml b/main/res/values-pt/strings.xml index 79914e0..7094ed3 100644 --- a/main/res/values-pt/strings.xml +++ b/main/res/values-pt/strings.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<resources> +<resources xmlns:tools="http://schemas.android.com/tools"> <string name="app_name">c:geo</string> <string name="app_name_compass">c:geo bússola</string> @@ -87,9 +87,6 @@ <string name="log_post_no_rate">Publicar registo & Não votar</string> <string name="log_post_not_possible">A carregar página de registo…</string> <string name="log_add">Adicionar</string> - <string name="log_date">Data</string> - <string name="log_time">Hora</string> - <string name="log_date_time">Data & Hora</string> <string name="log_rating">Pontuação</string> <string name="log_no_rating">Não votar</string> <string name="log_stars_1">1 estrela</string> @@ -139,8 +136,6 @@ <string name="err_license">O utilizador não concordou com a licença de utilização de Geocaching.com, por isso c:geo não pode carregar as coordenadas da cache.</string> <string name="err_unpublished">A cache pedida não está publicada.</string> <string name="err_premium_only">Esta cache só está disponível para membros premium do Geocaching.com.</string> - <string name="err_store">O c:geo não consegue arquivar a cache.</string> - <string name="err_drop">O c:geo não consegue apagar a cache.</string> <string name="err_detail_open">O c:geo não consegue abrir os detalhes da geocache.</string> <string name="err_detail_cache">O c:geo não consegue mostrar a cache pretendida. É mesmo uma geocache?</string> <string name="err_detail_cache_find">O c:geo não encontra a geocache</string> @@ -153,20 +148,15 @@ <string name="err_detail_no_spoiler">O c:geo não encontrou images spoiler para esta cache.</string> <string name="err_detail_no_map_static">O c:geo não encontrou mapas estáticos para esta cache.</string> <string name="err_detail_not_load_map_static">O c:geo falhou o carregamento de mapas estáticos.</string> - <string name="err_detail_ask_store_map_static">O c:geo falhou o carregamento de mapas estáticos. Arquivar agora?</string> <string name="err_detail_still_working">A trabalhar noutra tarefa.</string> <string name="err_watchlist_still_managing">Ainda a gerir a sua watchlist.</string> <string name="err_watchlist_failed">A gestão da sua watchlist falhou.</string> - <string name="err_navigation_no">O c:geo não encontra nenhuma navegação suportada.</string> <string name="err_application_no">O c:geo não encontra a aplicação correcta.</string> <string name="err_auth_initialize">O c:geo falhou a iniciar o processo de autorização.</string> <string name="err_auth_process">Processo de autorização falhou.</string> <string name="err_cannot_log_visit">O c:geo não tem informação suficiente para registar a visita. Por favor, faça-o a partir dos detalhes completos da cache.</string> <string name="err_init_cleared">O c:geo não consegue limpar os dados de login.</string> <string name="err_download_fail">O c:geo falhou o download das caches porque </string> - <string name="err_list_load_fail">O c:geo falhou a carregar a lista das caches.</string> - <string name="err_store_failed">O c:geo não pode arquivar a geocache.</string> - <string name="err_refresh_failed">O c:geo não consegue actualizar a geocache.</string> <string name="err_dwld_details_failed">O c:geo falhou o download dos detalhes da cache.</string> <string name="err_load_descr_failed">O c:geo não consegue carregar a descrição.</string> <string name="err_location_unknown">O c:geo não sabe a localização da cache.</string> @@ -174,18 +164,12 @@ <string name="err_tb_display">O c:geo não consegue mostrar o trackable pretendido. É mesmo um trackable?</string> <string name="err_tb_details_open">O c:geo não consegue abrir os detalhes do trackable.</string> - <string name="err_tb_details_download">O c:geo falhou o download dos detalhes do trackable porque</string> - <string name="err_tb_forgot">O c:geo esqueceu o trackable pretendido.</string> <string name="err_tb_forgot_saw">O c:geo esqueceu o trackable que viu.</string> <string name="err_tb_find">O c:geo não encontra o trackable</string> <string name="err_tb_find_that">O c:geo não encontra esse trackable.</string> <string name="err_waypoint_cache_unknown">O c:geo não sabe a que cache quer adicionar o ponto de referência.</string> - <string name="err_waypoint_unknown">O c:geo esqueceu qual o ponto de referência que pretende visualizar.</string> <string name="err_waypoint_add_failed">O c:geo falhou o adicionamento do seu ponto de referência.</string> - <string name="err_waypoint_load_failed">O c:geo falhou o carregamento do ponto de referência.</string> - <string name="err_waypoint_delete_failed">O c:geo falhou a remoção do ponto de referência.</string> - <string name="err_waypoint_open_cache_failed">O c:geo não consegue abrir os detalhes da cache.</string> <string name="err_point_unknown_position">O c:geo não conseguiu reconhecer a sua localização.</string> <string name="err_point_no_position_given_title">Informação requerida</string> <string name="err_point_no_position_given">Preencha pelo menos a latitude, a longitude, a distância ou a direcção. Também pode preencher os quatro campos.</string> @@ -200,15 +184,12 @@ <string name="err_log_failed_server">O c:geo falhou a publicação do registo porque o servidor não responde.</string> <string name="err_log_post_failed">O c:geo falhou a publicação do registo.</string> - <string name="err_search_address_no_match">O c:geo não encontrou um local que corresponda.</string> <string name="err_search_address_forgot">O c:geo esqueceu o endereço que procura.</string> <string name="err_parse_lat">O c:geo não consegue analisar a latitue.</string> <string name="err_parse_lon">O c:geo não consegue analisar a logitude.</string> <string name="err_parse_dist">O c:geo não consegue analisar a distância.</string> <string name="err_parse_lat_lon">O c:geo não consegue analisar a latitue ou a longitude.</string> - <string name="err_fieldnotes_export_failed">A exportação das Notas de Campo falhou.</string> - <string name="warn_save_nothing">Não há nada para guardar.</string> <string name="warn_no_cache_coord">Não há cache com coordenadas.</string> <string name="warn_no_coordinates">Nenhumas coordenadas fornecidas.</string> @@ -233,7 +214,6 @@ <string name="info_log_cleared">O registo foi limpo.</string> <string name="info_log_type_changed">O tipo de registo foi alterado!</string> - <string name="info_fieldnotes_exported_to">Notas de campo exportadas para</string> <string name="info_storing_static_maps">A tentar arquivar mapas estáticos.</string> <!-- location service --> @@ -322,10 +302,7 @@ <string name="caches_filter_type">Tipo</string> <string name="caches_filter_track">Com trackables</string> <string name="caches_filter_clear">Limpar filtros</string> - <string name="caches_filter_size_title">Escolha o tamanho</string> - <string name="caches_filter_type_title">Escolha o tipo</string> <string name="caches_filter_modified">Com as coordenadas modificadas</string> - <string name="caches_exporting_fieldnote">A exportar como Notas de Campo…</string> <string name="caches_removing_from_history">A remover do histórico…</string> <!-- caches lists --> @@ -404,7 +381,6 @@ <string name="init_offline_wp">Armazenar waypoints de mapas estáticos para utilização offline</string> <string name="init_save_log_img">Guardar imagens dos registos</string> <string name="init_units">Utilizar distância nas unidades do sistema imperial</string> - <string name="init_nav">Utilizar Google Navigation</string> <string name="init_log_offline">Activar registo offline\n(Não mostrar o registo online quando fôr registar, não enviar o registo online)</string> <string name="init_livelist">Mostrar a direcção para a cache na lista</string> <string name="init_altitude">Correcção de altitude</string> @@ -428,14 +404,11 @@ <string name="init_mapsources">Fontes de mapa</string> <string name="init_mapsources_description">Aqui pode seleccionar a fonte dos seus mapas. Como alternativa ao Google Maps, vários estilos de OpenStreetMap estão disponíveis, e até ficheiros de mapas offline (veja <a href="http://code.google.com/p/mapsforge/">http://code.google.com/p/mapsforge/</a> para mais detalhes).</string> <string name="init_mapsource_select">Seleccione a fonte de mapa</string> - <string name="init_select_themefolder">…</string> <string name="init_map_directory_description">Directório com os mapas offline</string> <string name="init_gpx_exportdir">Directório para exportar GPX</string> <string name="init_gpx_importdir">Directório para importar GPX</string> <string name="init_gpx_exportdir_description">Aqui pode selecionar o directório para exportar os GPX.</string> <string name="init_gpx_importdir_description">Aqui pode selecionar o directório para importar os GPX.</string> - <string name="init_gpx_exportdir_select">Selecione directório para exportar GPX</string> - <string name="init_gpx_importdir_select">Selecione directório para importar GPX</string> <string name="init_maptrail">Mostrar rasto no mapa</string> <string name="init_share_after_export">Abrir o menu de partilha depois da exportação GPX</string> <string name="init_trackautovisit">Marcar automaticamente os trackables como \"visitados\"</string> @@ -451,7 +424,6 @@ <string name="init_dbonsdcard_title">Localização da base de dados</string> <string name="init_dbonsdcard_note">Pode armazenar a base de dados do c:geo no armazenamento externo. Se o fizer vai poupar memória interna, mas pode perder um pouco de performance e o c:geo pode não funcionar se o armazenamento externo não estiver disponível.</string> <string name="init_dbonsdcard">base de dados no armazenamento externo</string> - <string name="init_dbmove">A mover a base de dados</string> <string name="init_dbmove_dbmove">A mover a base de dados</string> <string name="init_dbmove_running">A mover a base de dados</string> <string name="init_dbmove_success">Base de dados movida com sucesso.</string> @@ -461,13 +433,6 @@ <string name="init_rendertheme_folder">Directório com os temas de mapas offline personalizados (opcional)</string> <!-- map sources --> - <string-array name="map_sources"> - <item>@string/map_source_google_map</item> - <item>@string/map_source_google_satellite</item> - <item>@string/map_source_osm_mapnik</item> - <item>@string/map_source_osm_cyclemap</item> - <item>@string/map_source_osm_offline</item> - </string-array> <string name="map_source_google_map">Google: Mapa</string> <string name="map_source_google_satellite">Google: Satélite</string> <string name="map_source_osm_mapnik">OSM: Mapnik</string> @@ -529,7 +494,6 @@ <string name="cache_description">Descrição</string> <string name="cache_description_long">Descrição longa</string> <string name="cache_description_table_note">A descrição contém a formatação da tabela que pode ser necessário para ser vista correctamente em Geocaching.com.</string> - <string name="cache_watchlist">Lista de observação</string> <string name="cache_watchlist_on">Esta cache está na sua lista de observação.</string> <string name="cache_watchlist_not_on">Esta cache não está na sua lista de observação.</string> <string name="cache_watchlist_add">Adicionar à lista de observação</string> @@ -570,7 +534,9 @@ <string name="cache_dialog_watchlist_remove_title">Lista de observação</string> <string name="cache_dialog_watchlist_remove_message">A remover cache da lista de observação…</string> <string name="cache_menu_navigate">Navegar</string> - <string name="cache_menu_tbt">Turn-by-turn</string> + <string name="cache_menu_navigation_drive">Navegar (Conduzir)</string> + <string name="cache_menu_navigation_walk">Navegar (Andar)</string> + <string name="cache_menu_maps_directions">Direcções pelo Google Maps</string> <string name="cache_menu_radar">Radar</string> <string name="cache_menu_map">Mostrar no mapa</string> <string name="cache_menu_map_static">Mapas estáticos</string> @@ -591,7 +557,6 @@ <string name="cache_menu_whereyougo">WhereYouGo</string> <string name="cache_menu_oruxmaps">OruxMaps</string> <string name="cache_menu_cachebeacon">Cache Beacon</string> - <string name="cache_menu_sygic" translatable="false">Sygic</string> <string name="cache_status">Estado</string> <string name="cache_status_offline_log">Log gravado</string> <string name="cache_status_found">Encontrada</string> @@ -622,7 +587,6 @@ <string name="cache_images_loading">A carregar as imagens…</string> <string name="cache_log_types">Tipos de log</string> <string name="cache_coordinates_no">Esta cache não tem coordenadas.</string> - <string name="cache_export_fieldnote">Exportar como Notas de Campo</string> <string name="cache_clear_history">Apagar histórico</string> <string name="cache_remove_from_history">Remover do histórico</string> <string name="cache_license">Licença</string> @@ -650,7 +614,6 @@ <string name="gpx_import_loading_caches">A carregar as caches do ficheiro .gpx</string> <string name="gpx_import_loading_waypoints">A carregar o ficheiro dos waypoints</string> <string name="gpx_import_store_static_maps">A gravar mapas estáticos</string> - <string name="gpx_import_storing">A gravar as caches na base de dados</string> <string name="gpx_import_caches_imported">caches importadas</string> <string name="gpx_import_static_maps_skipped">Download of static maps aborted</string> <string name="gpx_import_title_static_maps">Gravar mapas estáticos</string> @@ -670,10 +633,7 @@ <string name="map_file_select_title">Seleccione ficheiro de mapa</string> <!-- theme file select --> - <string name="theme_file_select_title">Selecione o ficheiro do tema de mapa personalizado</string> - <!-- import --> - <string name="import_title">Importar…</string> <string name="web_import_title">Importar da web</string> <string name="web_import_waiting">À espera de novas caches da web…</string> <string name="web_downloading">A transferir</string> @@ -684,7 +644,6 @@ <!-- waypoint --> <string name="waypoint">Ponto de referência</string> - <string name="waypoint_title">Ponto de referência</string> <string name="waypoint_cache_coordinates">Coordenadas da cache</string> <string name="waypoint_custom">Personalizado</string> <string name="waypoint_my_coordinates">Minhas coordenadas</string> @@ -698,39 +657,17 @@ <string name="waypoint_note">Nota</string> <string name="waypoint_save">Gravar</string> <string name="waypoint_loading">A carregar ponto de referência…</string> - <string name="waypoint_unknown_coordinates">Coordenadas desconhecidas</string> <string name="waypoint_done">Feito</string> <string name="waypoint_duplicate">Duplicar</string> <string name="waypoint_copy_of">Cópia de</string> - <string name="waypoint_menu_open_cache">Abrir cache</string> <string name="search_history">Histórico</string> <string name="search_history_empty">Não existem destinos recentes</string> <string name="search_remove_destination">Destino removido</string> <string name="search_clear_history">Limpar histórico</string> <string name="search_history_cleared">Histórico limpo</string> - <string-array name="waypoint_coordinate_formats"> - <item>@string/waypoint_coordinate_formats_plain</item> - <item>DDD.DDDDD°</item> - <item>DDD°MM.MMM\'</item> - <item>DDD°MM\'SS.SSS\"</item> - </string-array> <string name="waypoint_coordinate_formats_plain">Plano</string> - <!-- distance units --> - <string-array name="distance_units"> - <item>@string/unit_m</item> - <item>@string/unit_km</item> - <item>@string/unit_ft</item> - <item>@string/unit_yd</item> - <item>@string/unit_mi</item> - </string-array> - <string name="unit_m">m</string> - <string name="unit_km">km</string> - <string name="unit_ft">ft</string> - <string name="unit_yd">yd</string> - <string name="unit_mi">mi</string> - <!-- visit --> <string name="visit_tweet">Publicar esta descoberta no Twitter</string> @@ -854,7 +791,6 @@ <!-- export --> <string name="export">Exportar</string> - <string name="export_as">Exportar como…</string> <string name="export_exportedto">exportado para</string> <string name="export_failed">Exportação falhou</string> <string name="export_fieldnotes">Notas de campo</string> @@ -868,9 +804,6 @@ <string name="export_gpx_info">O ficheiro GPX vai ser exportado para %1$s com a data e a hora actual como nome de ficheiro.</string> <string name="export_gpx_to">Enviar GPX exportado para</string> - <!-- attribute unknown --> - <string name="attribute_unknown_yes">Unknown attribute present</string> - <string name="attribute_unknown_no">Unknown attribute not present</string> <!-- attributes (permissions -> allowed, not allowed) --> <string name="attribute_dogs_yes">Cães permitidos</string> <string name="attribute_dogs_no">Cães não permitidos</string> @@ -1025,11 +958,11 @@ <string name="about_auth_2">Premir o botão \"Autorizar c:geo\" dará início ao processo. Este processo irá abrir a página do Twitter no seu browser. Faça login nesta página e autorize o <b>c:geo</b> a aceder à sua conta. Se autorizar, o Twitter irá mostrar um código PIN numérico. Este PIN deverá ser copiado para o <b>c:geo</b> e sujeito a confirmação. E é tudo.</string> <!-- status --> - <string name="status_new_release">Nova versão disponível.\nClique para instalar.</string> - <string name="status_new_nightly">Nova \'nightly build\' disponível.\nClique para instalar.</string> - <string name="status_new_rc">Nova \'release candidate\' disponível .\nClique para instalar.</string> - <string name="status_geocaching_change">Alterações recentes em geocaching.com fizeram com que c:geo funcione mal.\nEstamos a trabalhar nisto, verifique de novo mais tarde.</string> - <string name="status_geocaching_livemap">Alterações recentes em geocaching.com fizeram com o mapa ao vivo não funcione bem.\nEstamos a trabalhar nisto, verifique de novo mais tarde.</string> + <string name="status_new_release" tools:ignore="UnusedResources">Nova versão disponível.\nClique para instalar.</string> + <string name="status_new_nightly" tools:ignore="UnusedResources">Nova \'nightly build\' disponível.\nClique para instalar.</string> + <string name="status_new_rc" tools:ignore="UnusedResources">Nova \'release candidate\' disponível .\nClique para instalar.</string> + <string name="status_geocaching_change" tools:ignore="UnusedResources">Alterações recentes em geocaching.com fizeram com que c:geo funcione mal.\nEstamos a trabalhar nisto, verifique de novo mais tarde.</string> + <string name="status_geocaching_livemap" tools:ignore="UnusedResources">Alterações recentes em geocaching.com fizeram com o mapa ao vivo não funcione bem.\nEstamos a trabalhar nisto, verifique de novo mais tarde.</string> <string name="clipboard_copy_ok">Copiado para a área de transferência</string> <plurals name="days_ago"> diff --git a/main/res/values-sk/strings.xml b/main/res/values-sk/strings.xml index fadf078..fe2ca66 100644 --- a/main/res/values-sk/strings.xml +++ b/main/res/values-sk/strings.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<resources> +<resources xmlns:tools="http://schemas.android.com/tools"> <string name="app_name">c:geo</string> <string name="app_name_compass">c:geo kompas</string> @@ -87,9 +87,6 @@ <string name="log_post_no_rate">Odoslať log a nehlasovať</string> <string name="log_post_not_possible">Načítanie stránky s logmi…</string> <string name="log_add">Pridať</string> - <string name="log_date">Dátum</string> - <string name="log_time">Čas</string> - <string name="log_date_time">Dátum a čas</string> <string name="log_rating">Hlasovať</string> <string name="log_no_rating">Nehlasovať</string> <string name="log_stars_1">1 hviezdička</string> @@ -139,8 +136,6 @@ <string name="err_license">Používateľ nepotvrdil súhlas s licenčnou dohodou serveru Geocaching.com, takže c:geo nemôže načítať koordináty skrýše.</string> <string name="err_unpublished">Požadovaná skrýša nebola publikovaná</string> <string name="err_premium_only">Skrýša je dostupná iba pre platiacich používateľov Geocaching.com</string> - <string name="err_store">Prepáčte, c:geo nemôže uložiť skrýšu.</string> - <string name="err_drop">Prepáčte, c:geo nemôže zmazať skrýšu.</string> <string name="err_detail_open">Prepáčte, c:geo nedokáže načítať detaily skrýše.</string> <string name="err_detail_cache">Prepáčte, c:geo nedokáže načítať detaily skrýše. Je to naozaj skrýša?</string> <string name="err_detail_cache_find">Prepáčte, c:geo nemôže nájsť skrýšu</string> @@ -153,20 +148,15 @@ <string name="err_detail_no_spoiler">c:geo nenašla pre túto skrýšu žiaden spoilerový obrázok.</string> <string name="err_detail_no_map_static">c:geo nenašla žiadnu statickú mapu pre túto skrýšu.</string> <string name="err_detail_not_load_map_static">Prepáčte, c:geo sa nepodarilo načítať statické mapy.</string> - <string name="err_detail_ask_store_map_static">c:geo sa nepodarilo načítať statické mapy. Chcete ich uložiť teraz?</string> <string name="err_detail_still_working">Stále prebieha práca na inej úlohe.</string> <string name="err_watchlist_still_managing">Stále prebieha správa vášho zoznamu sledovaných.</string> <string name="err_watchlist_failed">Zlyhala zmena sledovaných.</string> - <string name="err_navigation_no">Prepáčte, c:geo nemôže nájsť žiadnu podporovanú navigáciu.</string> <string name="err_application_no">Prepáčte, c:geo nemôže násjť žiadnu použiteľnú aplikáciu.</string> <string name="err_auth_initialize">Prepáčte, c:geo nedokázalo zahájiť autorizáciu.</string> <string name="err_auth_process">Autorizácia zlyhala.</string> <string name="err_cannot_log_visit">c:geo nemá dostatok informácií pre zapísanie návštevy. Prosím urobte to z kompletného detailu skrýše.</string> <string name="err_init_cleared">Prepáčte, c:geo nedokázalo zmazať prihlasovacie údaje.</string> <string name="err_download_fail">Prepáčte, c:geo nemôže načítať skrýšu, pretože</string> - <string name="err_list_load_fail">c:geo nemôže načítať zoznam skrýš.</string> - <string name="err_store_failed">c:geo nemôže uložiť skrýšu.</string> - <string name="err_refresh_failed">c:geo nemôže obnoviť skrýšu.</string> <string name="err_dwld_details_failed">c:geo nemôže stiahnuť detaily skrýše.</string> <string name="err_load_descr_failed">c:geo nemôže načítať popis.</string> <string name="err_location_unknown">c:geo nepozná súradnice skrýše</string> @@ -174,18 +164,12 @@ <string name="err_tb_display">Prepáčte, c:geo nemôže zobraziť trasovateľný predmet. Je to naozaj trasovateľný?</string> <string name="err_tb_details_open">Prepáčte, c:geo nemôže otvoriť podrobnosti k trasovateľnému predmetu.</string> - <string name="err_tb_details_download">Prepáčte, c:geo nemôže stiahnuť podrobnosti k trasovateľnému predmetu, pretože</string> - <string name="err_tb_forgot">c:geo zabudlo, ktorý trasovateľný predmet ste chceli.</string> <string name="err_tb_forgot_saw">c:geo zabudlo, ktorý trasovateľný predmet ste pozerali.</string> <string name="err_tb_find">c:geo nemôže nájsť trasovateľný predmet.</string> <string name="err_tb_find_that">c:geo nemôže nájsť tento trasovateľný predmet.</string> <string name="err_waypoint_cache_unknown">c:geo nevie, ku ktorej skrýši chcete pridať bod trasy.</string> - <string name="err_waypoint_unknown">c:geo zabudlo, ktorý bod trasy chcete zobraziť.</string> <string name="err_waypoint_add_failed">c:geo nemôže pridať bod trasy.</string> - <string name="err_waypoint_load_failed">c:geo nemôže načítať bod trasy.</string> - <string name="err_waypoint_delete_failed">c:geo nemôže zmazať bod trasy.</string> - <string name="err_waypoint_open_cache_failed">c:geo nemôže otvoriť detaily skrýše.</string> <string name="err_point_unknown_position">c:geo nevie, kde ste.</string> <string name="err_point_no_position_given_title">popis je požadovaný</string> <string name="err_point_no_position_given">Vyplňte aspoň šírku alebo dĺžku alebo vzdialenosť a smer. Môžete tiež vyplniť všetky štyri polia.</string> @@ -200,15 +184,12 @@ <string name="err_log_failed_server">c:geo nemohlo odoslať log, pretože server neodpovedá.</string> <string name="err_log_post_failed">c:geo nemohlo odoslať log.</string> - <string name="err_search_address_no_match">c:geo nenašlo žiadne zodpovedajúce miesto</string> <string name="err_search_address_forgot">c:geo zabudlo adresu, ktorú sa pokúšate nájsť.</string> <string name="err_parse_lat">c:geo nemôže dopočítať šírku.</string> <string name="err_parse_lon">c:geo nemôže dopočítať dĺžku.</string> <string name="err_parse_dist">c:geo nemôže dopočítať vzdialenosť.</string> <string name="err_parse_lat_lon">c:geo nemôže zistiť šírku a dĺžku.</string> - <string name="err_fieldnotes_export_failed">Zlyhal export poznámok v poli.</string> - <string name="warn_save_nothing">Nie je čo uložiť.</string> <string name="warn_no_cache_coord">Nie je žiadna skrýša so súradnicami.</string> <string name="warn_no_coordinates">Nezískané súradnice</string> @@ -233,7 +214,6 @@ <string name="info_log_cleared">Log bol vyprázdnený.</string> <string name="info_log_type_changed">Typ logu bol zmenený!</string> - <string name="info_fieldnotes_exported_to">Poznámky exportované do</string> <string name="info_storing_static_maps">ukladanie statických máp</string> <!-- location service --> @@ -322,10 +302,7 @@ <string name="caches_filter_type">podľa typu</string> <string name="caches_filter_track">s trasovateľnými predmetmi</string> <string name="caches_filter_clear">vymazať filtre</string> - <string name="caches_filter_size_title">Výber veľkosti</string> - <string name="caches_filter_type_title">Výber typu</string> <string name="caches_filter_modified">S upravenými súradnicami</string> - <string name="caches_exporting_fieldnote">Exportovanie ako poznámky…</string> <string name="caches_removing_from_history">Odstraňovanie z histórie…</string> <!-- caches lists --> @@ -404,7 +381,6 @@ <string name="init_offline_wp">Uložiť statické mapy bodov strás pre použitie offline</string> <string name="init_save_log_img">Uložiť obrázky zo záznamov</string> <string name="init_units">Používať imperiálne jednotky vzdialenosti</string> - <string name="init_nav">Používať Navigáciu Google</string> <string name="init_log_offline">Pri zaznamenávaní vždy použiť offline režim (nezobrazovať online obrazovku počas zaznamenávania, neposielať záznam online)</string> <string name="init_livelist">Zobrazovať smer v zozname skrýš</string> <string name="init_altitude">Oprava výšky</string> @@ -428,17 +404,11 @@ <string name="init_mapsources">Mapové zdroje</string> <string name="init_mapsources_description">Tu môžete vybrať zdroje pre vaše mapy. Je to alternatíva ku Google mapám rôznych OpenStreetMap styles sú dostupné a dokonca offline mapové súbory (podrobnosti nájdete na <a href="http://code.google.com/p/mapsforge/">http://code.google.com/p/mapsforge/</a>).</string> <string name="init_mapsource_select">Vyberte zdroj máp</string> - <string name="init_select_themefolder">…</string> <string name="init_map_directory_description">Priečinok s offline mapami</string> - <string name="init_select_map_directory">…</string> - <string name="init_select_gpx_exportdir">…</string> - <string name="init_select_gpx_importdir">…</string> <string name="init_gpx_exportdir">Priečinok pre GPX Export</string> <string name="init_gpx_importdir">Priečinok pre GPX Import</string> <string name="init_gpx_exportdir_description">Tu si môžete vybrať priečinok pre GPX exporty.</string> <string name="init_gpx_importdir_description">Tu si môžete vybrať priečinok pre GPX importy.</string> - <string name="init_gpx_exportdir_select">Výber priečinka pre GPX export</string> - <string name="init_gpx_importdir_select">Výber priečinka pre GPX import</string> <string name="init_maptrail">Zobraziť stopu na mape</string> <string name="init_share_after_export">Po exporte GPX otvoriť menu pre zdieľanie</string> <string name="init_trackautovisit">Nastaviť trasovateľné predmety automaticky na „navštívené“</string> @@ -454,7 +424,6 @@ <string name="init_dbonsdcard_title">Umiestnenie databázy</string> <string name="init_dbonsdcard_note">Databázu c:geo môžete umiestniť na externé úložisko. Ak to spravíte, ušetríte vnútornú pamäť, ale môžete stratiť časť z výkonu a c:geo nebude fungovať, keď vaša SD karta nebude dostupná.</string> <string name="init_dbonsdcard">Databáza na externom úložisku</string> - <string name="init_dbmove">Presúvanie databázy</string> <string name="init_dbmove_dbmove">Presúvanie databázy</string> <string name="init_dbmove_running">Prebieha presúvanie databázy</string> <string name="init_dbmove_success">Databáza bola úspešne presunutá.</string> @@ -525,7 +494,6 @@ <string name="cache_description">Popis</string> <string name="cache_description_long">Dlhý popis</string> <string name="cache_description_table_note">Popis obsahuje formátovanie tabuľky, ktorý môže byť pre správne zobrazenie potrebné otvoriť v geocaching.com.</string> - <string name="cache_watchlist">Zoznam sledovaných</string> <string name="cache_watchlist_on">Skrýša je vo vašom zozname sledovaných.</string> <string name="cache_watchlist_not_on">Skrýša nie je vo vašom zozname sledovaných.</string> <string name="cache_watchlist_add">Pridať do zoznamu sledovaných</string> @@ -567,7 +535,6 @@ <string name="cache_dialog_watchlist_remove_title">Zoznam sledovaných</string> <string name="cache_dialog_watchlist_remove_message">Odstraňovanie skrýše zo zoznamu sledovaných…</string> <string name="cache_menu_navigate">Navigovať</string> - <string name="cache_menu_tbt">Navigácia s inštrukciami</string> <string name="cache_menu_radar">Radar</string> <string name="cache_menu_map">Mapa</string> <string name="cache_menu_map_static">Statická mapa</string> @@ -619,7 +586,6 @@ <string name="cache_images_loading">Prebieha načítanie obrázkov…</string> <string name="cache_log_types">Typy záznamov</string> <string name="cache_coordinates_no">Táto skrýša nemá žiadne súradnice.</string> - <string name="cache_export_fieldnote">Exportovať ako poznámky</string> <string name="cache_clear_history">Vymazať históriu</string> <string name="cache_remove_from_history">Odstrániť z histórie</string> <string name="cache_license">Licencia</string> @@ -647,7 +613,6 @@ <string name="gpx_import_loading_caches">Načítanie skrýš z .gpx súboru\nNačítané:</string> <string name="gpx_import_loading_waypoints">Načítanie bodov trasy z .gpx súboru\nNačítané:</string> <string name="gpx_import_store_static_maps">Ukladanie statických máp</string> - <string name="gpx_import_storing">Zapisovanie skrýš do databázy\nZapísané:</string> <string name="gpx_import_caches_imported">skrýše importované</string> <string name="gpx_import_static_maps_skipped">Preberanie statických máp zrušené</string> <string name="gpx_import_title_static_maps">Uloženie statických máp</string> @@ -667,10 +632,7 @@ <string name="map_file_select_title">Výber mapového súboru</string> <!-- theme file select --> - <string name="theme_file_select_title">Výber súboru s témou mapy</string> - <!-- import --> - <string name="import_title">Import…</string> <string name="web_import_title">Import z webu</string> <string name="web_import_waiting">Čakanie na nové skrýše z webu…</string> <string name="web_downloading">Preberanie</string> @@ -681,7 +643,6 @@ <!-- waypoint --> <string name="waypoint">Bod trasy</string> - <string name="waypoint_title">Bod trasy</string> <string name="waypoint_cache_coordinates">Súradnice skrýše</string> <string name="waypoint_custom">vlastný</string> <string name="waypoint_my_coordinates">Aktuálna poloha</string> @@ -695,11 +656,9 @@ <string name="waypoint_note">poznámka</string> <string name="waypoint_save">Uložiť</string> <string name="waypoint_loading">Načítanie bodu trasy…</string> - <string name="waypoint_unknown_coordinates">Neznáme súradnice</string> <string name="waypoint_done">Hotovo</string> <string name="waypoint_duplicate">Duplikovať</string> <string name="waypoint_copy_of">Kópia</string> - <string name="waypoint_menu_open_cache">Otvoriť skrýšu</string> <string name="search_history">História</string> <string name="search_history_empty">Bez predchádzajúcich cieľov</string> <string name="search_remove_destination">Cieľ odstránený</string> @@ -838,7 +797,6 @@ <!-- export --> <string name="export">Exportovať</string> - <string name="export_as">Exportovať ako…</string> <string name="export_exportedto">exportované do</string> <string name="export_failed">Export zlyhal</string> <string name="export_fieldnotes">Poznámky</string> @@ -1009,11 +967,11 @@ <string name="about_auth_2">Ťuknutím na tlačidlo „Zahájiť autorizáciu“ celý proces začne. Tento proces otvorí webovú stránku Twitteru, kde sa sa prihlásite a tlačidlom „Authorize app“ umožníte aplikácii <b>c:geo</b> prístup k vášmu Twitter účtu. Potom čo ťuknete na „Authorize app“, Twitter vám pridelí PIN kód. Tento kód skopírujte a vložte do aplikácie <b>c:geo</b>. A potvrďte. To je všetko.</string> <!-- status --> - <string name="status_new_release">Je dostupné nové vydanie.\nKliknite pre inštaláciu.</string> - <string name="status_new_nightly">Je dostupná nová nočná zostava.\nKliknite pre inštaláciu.</string> - <string name="status_new_rc">Je dostupná nová verzia „release candidate“.\nKliknite pre inštaláciu.</string> - <string name="status_geocaching_change">Nedávne zmeny na geocaching.com znefunkčnili c:geo.\nPracujeme na tom, skúste skontrolovať aktualizácie onedlho.</string> - <string name="status_geocaching_livemap">Nedávne zmeny na geocaching.com znefunkčnili aktívnu mapu.\nPracujeme na tom, skúste skontrolovať aktualizácie onedlho.</string> + <string name="status_new_release" tools:ignore="UnusedResources">Je dostupné nové vydanie.\nKliknite pre inštaláciu.</string> + <string name="status_new_nightly" tools:ignore="UnusedResources">Je dostupná nová nočná zostava.\nKliknite pre inštaláciu.</string> + <string name="status_new_rc" tools:ignore="UnusedResources">Je dostupná nová verzia „release candidate“.\nKliknite pre inštaláciu.</string> + <string name="status_geocaching_change" tools:ignore="UnusedResources">Nedávne zmeny na geocaching.com znefunkčnili c:geo.\nPracujeme na tom, skúste skontrolovať aktualizácie onedlho.</string> + <string name="status_geocaching_livemap" tools:ignore="UnusedResources">Nedávne zmeny na geocaching.com znefunkčnili aktívnu mapu.\nPracujeme na tom, skúste skontrolovať aktualizácie onedlho.</string> <string name="clipboard_copy_ok">Skopírované do schránky</string> <plurals name="days_ago"> diff --git a/main/res/values-sv/strings.xml b/main/res/values-sv/strings.xml index 2c4e004..72b613d 100644 --- a/main/res/values-sv/strings.xml +++ b/main/res/values-sv/strings.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<resources> +<resources xmlns:tools="http://schemas.android.com/tools"> <string name="app_name">c:geo</string> <string name="app_name_compass">c:geo kompass</string> @@ -87,9 +87,6 @@ <string name="log_post_no_rate">Posta logg utan betyg</string> <string name="log_post_not_possible">Laddar loggningssida…</string> <string name="log_add">Lägg till</string> - <string name="log_date">Datum</string> - <string name="log_time">Tid</string> - <string name="log_date_time">Datum & tid</string> <string name="log_rating">Betyg</string> <string name="log_no_rating">Inget betyg</string> <string name="log_stars_1">1 stjärna</string> @@ -139,8 +136,6 @@ <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_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> <string name="err_detail_cache">Tyvärr kan c:geo inte visa den geocache du önskar. Är det verkligen en geocache?</string> <string name="err_detail_cache_find">Tyvärr kan c:geo inte hitta geocache</string> @@ -153,20 +148,15 @@ <string name="err_detail_no_spoiler">c:geo hittade inga spoiler bilder för den här cachen.</string> <string name="err_detail_no_map_static">c:geo hittade inga sparade kartor för denna cache.</string> <string name="err_detail_not_load_map_static">Tyvärr misslyckades c:geo att ladda sparade kartor.</string> - <string name="err_detail_ask_store_map_static">c:geo kunde inte läsa in statiska kartor. Ladda ner nu?</string> <string name="err_detail_still_working">Arbetar fortfarande med annat.</string> <string name="err_watchlist_still_managing">Hanterar fortfarande din watchlist.</string> <string name="err_watchlist_failed">Hanteringen av din watchlist misslyckades.</string> - <string name="err_navigation_no">c:geo kan inte hitta något stöd för navigering.</string> <string name="err_application_no">c:geo kan inte hitta något lämpligt program.</string> <string name="err_auth_initialize">Tyvärr misslyckades c:geo att starta inloggningsproceduren.</string> <string name="err_auth_process">Inloggningsproceduren misslyckades.</string> <string name="err_cannot_log_visit">c:geo har inte tillräckligt med information för att logga ditt besök. Vänligen försök igen från vyn men all information om cachen.</string> <string name="err_init_cleared">Tyvärr kan c:geo inte rensa inloggningsinställningarna.</string> <string name="err_download_fail">Tyvärr misslyckades c:geo att ladda ner cacher pga</string> - <string name="err_list_load_fail">Tyvärr misslyckades c:geo att ladda listan med cacher.</string> - <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_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> @@ -174,18 +164,12 @@ <string name="err_tb_display">Tyvärr kan c:geo inte visa den trackable du önskar. Är den verkligen trackable?</string> <string name="err_tb_details_open">Tyvärr kan c:geo inte öppna detaljer för trackable.</string> - <string name="err_tb_details_download">Tyvärr misslyckades c:geo att ladda ner detaljer för trackable pga</string> - <string name="err_tb_forgot">Tyvärr glömde c:geo vilken trackable önskade.</string> <string name="err_tb_forgot_saw">Tyvärr glömde c:geo vilken trackable du såg.</string> <string name="err_tb_find">Tyvärr kunde c:geo inte hitta trackable</string> <string name="err_tb_find_that">Tyvärr kan c:geo inte hitta önskad trackable.</string> <string name="err_waypoint_cache_unknown">Tyvärr vet inte c:geo till vilken cache du vill lägga till en punkt.</string> - <string name="err_waypoint_unknown">Tyvärr glömde c:geo vilken punkt du ville visa.</string> <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> @@ -200,15 +184,12 @@ <string name="err_log_failed_server">Tyvärr misslyckades c:geo att posta loggen eftersom servern inte svarade.</string> <string name="err_log_post_failed">Tyvärr misslyckades c:geo att posta loggen.</string> - <string name="err_search_address_no_match">Tyvärr hittade c:geo ingen plats som stämde.</string> <string name="err_search_address_forgot">Tyvärr glömde c:geo adressen du sökte efter.</string> <string name="err_parse_lat">Tyvärr kan c:geo inte tolka latitud.</string> <string name="err_parse_lon">Tyvärr kan c:geo inte tolka longitud.</string> <string name="err_parse_dist">Tyvärr kan c:geo inte tolka avstånd.</string> <string name="err_parse_lat_lon">Tyvärr kan c:geo inte tolka latitud eller longitud.</string> - <string name="err_fieldnotes_export_failed">Exportering av Field Notes misslyckades.</string> - <string name="warn_save_nothing">Det finns inget att spara.</string> <string name="warn_no_cache_coord">Det finns inga koordinater för cachen.</string> <string name="warn_no_coordinates">Inga koordinater angivna.</string> @@ -232,7 +213,6 @@ <string name="info_log_cleared">Loggen har rensats.</string> <string name="info_log_type_changed">Typen av logg har ändrats!</string> - <string name="info_fieldnotes_exported_to">Field Notes har exporterats till</string> <string name="info_storing_static_maps">Försöker ladda ner statiska kartor</string> <!-- location service --> @@ -321,10 +301,7 @@ <string name="caches_filter_type">Typ</string> <string name="caches_filter_track">Med trackables</string> <string name="caches_filter_clear">Rensa filter</string> - <string name="caches_filter_size_title">Välj storlek</string> - <string name="caches_filter_type_title">Välj typ</string> <string name="caches_filter_modified">Med tillagda koordinater</string> - <string name="caches_exporting_fieldnote">Exporterar som Field Notes…</string> <string name="caches_removing_from_history">Tar bort från historik…</string> <!-- caches lists --> @@ -403,7 +380,6 @@ <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> <string name="init_log_offline">Vid loggning: spara bara loggen lokalt (visa inte loggningfönster och skicka inte loggen till gc.com)</string> <string name="init_livelist">Visa riktning till cacher i listan</string> <string name="init_altitude">Höjd justering</string> @@ -427,17 +403,11 @@ <string name="init_mapsources">Kartkällor</string> <string name="init_mapsources_description">Här kan du vilken typ av kartor du vill använda. Som alternativ till Google Maps finns olika varianter av OpenStreetMap och till och med offline kartor (se <a href="http://code.google.com/p/mapsforge/">http://code.google.com/p/mapsforge/</a> för detaljer).</string> <string name="init_mapsource_select">Välj kartkälla</string> - <string name="init_select_themefolder">…</string> <string name="init_map_directory_description">Katalog med offline kartor</string> - <string name="init_select_map_directory">…</string> - <string name="init_select_gpx_exportdir">…</string> - <string name="init_select_gpx_importdir">…</string> <string name="init_gpx_exportdir">GPX-exportkatalog</string> <string name="init_gpx_importdir">GPX-importkatalog</string> <string name="init_gpx_exportdir_description">Här kan du välja katalog för GPX-exporteringar.</string> <string name="init_gpx_importdir_description">Här kan du välja katalog för GPX-importeringar.</string> - <string name="init_gpx_exportdir_select">Välj katalog för GPX-export</string> - <string name="init_gpx_importdir_select">Välj katalog för GPX-import</string> <string name="init_maptrail">Visa spår på kartan</string> <string name="init_share_after_export">Visa meny för att dela efter slutförd exportering</string> <string name="init_trackautovisit">Sätt trackable automatiskt till \"besök\" vid loggning av en cache</string> @@ -453,7 +423,6 @@ <string name="init_dbonsdcard_title">Databasplacering</string> <string name="init_dbonsdcard_note">Du kan placera c:geos databas på ditt minneskort. På detta sätt kan du spara internminne, men du kan också få något sämre prestanda och c:geo kommer inte fungera om ditt minneskort inte är tillgängligt (exempelvis när den är kopplad till en dator).</string> <string name="init_dbonsdcard">Databas på minneskort</string> - <string name="init_dbmove">Flyttar databasen</string> <string name="init_dbmove_dbmove">Flyttar databasen</string> <string name="init_dbmove_running">Flyttar databasen</string> <string name="init_dbmove_success">Databasen har ny flyttats.</string> @@ -524,7 +493,6 @@ <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> <string name="cache_watchlist_add">Lägg till i watchlist</string> @@ -565,7 +533,6 @@ <string name="cache_dialog_watchlist_remove_title">Watchlist</string> <string name="cache_dialog_watchlist_remove_message">Tar bort cachen från din watchlist…</string> <string name="cache_menu_navigate">Navigera</string> - <string name="cache_menu_tbt">Sväng-för-sväng</string> <string name="cache_menu_radar">Radar</string> <string name="cache_menu_map">Visa på karta</string> <string name="cache_menu_map_static">Sparade kartor</string> @@ -615,7 +582,6 @@ <string name="cache_images_loading">Laddar bilder…</string> <string name="cache_log_types">Loggtyper</string> <string name="cache_coordinates_no">Cachen saknar koordinater.</string> - <string name="cache_export_fieldnote">Exportera som Field Notes</string> <string name="cache_clear_history">Rensa historik</string> <string name="cache_remove_from_history">Ta bort från historik</string> <string name="cache_license">Licens</string> @@ -643,7 +609,6 @@ <string name="gpx_import_loading_caches">Läser in cacher från .gpx filen</string> <string name="gpx_import_loading_waypoints">Läser in punkter från .gpx file</string> <string name="gpx_import_store_static_maps">Sparar kartor</string> - <string name="gpx_import_storing">Skriver cacher till databasen</string> <string name="gpx_import_caches_imported">cacher importerade</string> <string name="gpx_import_static_maps_skipped">Hämtningen av kartor avbröts</string> <string name="gpx_import_title_static_maps">Sparar kartor</string> @@ -663,10 +628,7 @@ <string name="map_file_select_title">Välj kartfil</string> <!-- theme file select --> - <string name="theme_file_select_title">Välj fil med egna anpassningar för karttema</string> - <!-- import --> - <string name="import_title">Importerar…</string> <string name="web_import_title">Importerar från webben</string> <string name="web_import_waiting">Väntar på nya cacher från webben…</string> <string name="web_downloading">Laddar ner</string> @@ -677,7 +639,6 @@ <!-- waypoint --> <string name="waypoint">Punkt</string> - <string name="waypoint_title">Punkt</string> <string name="waypoint_cache_coordinates">Cache koordinater</string> <string name="waypoint_custom">Egen</string> <string name="waypoint_my_coordinates">Mina koordinater</string> @@ -691,11 +652,9 @@ <string name="waypoint_note">Kommentar</string> <string name="waypoint_save">Spara</string> <string name="waypoint_loading">Laddar punkt…</string> - <string name="waypoint_unknown_coordinates">Koordinaterna ogiltiga</string> <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> @@ -826,7 +785,6 @@ <!-- export --> <string name="export">Exportera</string> - <string name="export_as">Exportera som…</string> <string name="export_exportedto">exporterat till</string> <string name="export_failed">Exporteringen misslyckades</string> <string name="export_fieldnotes">Field Notes</string> @@ -851,11 +809,11 @@ <string name="about_auth_2">Klicka på \"Påbörja koppling mot Twitter\" om du vill koppla ihop <b>c:geo</b> med Twitter. Twitters hemsida kommer att öppnas i en webbläsare. Logga in på den sidan och tillåt <b>c:geo</b> att ansluta till ditt konto. När du godkänt så kommer Twitter att visa en PIN kod. Kom ihåg denna PIN kod, stäng webbläsaren och skriv in PIN koden i <b>c:geo</b> och bekräfta.</string> <!-- status --> - <string name="status_new_release">Ny officiell version finns tillgänglig.\nKlicka för att installera.</string> - <string name="status_new_nightly">Nytt nattligt bygge finns tillgängligt.\nKlicka för att installera.</string> - <string name="status_new_rc">Ny kandidat till officiellt bygge finns tillgängligt.\nKlicka för att installera.</string> - <string name="status_geocaching_change">Ändringar som gjorts på geocaching.com har gjort så att c:geo inte fungerar.\nVi jobbar för att lösa problemen, försök igen om en stund.</string> - <string name="status_geocaching_livemap">Ändringar som gjorts på geocaching.com har gjort så att Live kartan inte fungerar.\nVi jobbar för att lösa problemen, försök igen om en stund.</string> + <string name="status_new_release" tools:ignore="UnusedResources">Ny officiell version finns tillgänglig.\nKlicka för att installera.</string> + <string name="status_new_nightly" tools:ignore="UnusedResources">Nytt nattligt bygge finns tillgängligt.\nKlicka för att installera.</string> + <string name="status_new_rc" tools:ignore="UnusedResources">Ny kandidat till officiellt bygge finns tillgängligt.\nKlicka för att installera.</string> + <string name="status_geocaching_change" tools:ignore="UnusedResources">Ändringar som gjorts på geocaching.com har gjort så att c:geo inte fungerar.\nVi jobbar för att lösa problemen, försök igen om en stund.</string> + <string name="status_geocaching_livemap" tools:ignore="UnusedResources">Ändringar som gjorts på geocaching.com har gjort så att Live kartan inte fungerar.\nVi jobbar för att lösa problemen, försök igen om en stund.</string> <string name="clipboard_copy_ok">Kopierat till urklipp.</string> <plurals name="days_ago"> diff --git a/main/res/values/cache_attributes.xml b/main/res/values/cache_attributes.xml index 3277a42..815e007 100644 --- a/main/res/values/cache_attributes.xml +++ b/main/res/values/cache_attributes.xml @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <resources> - <string-array name="attribute_ids"> + <string-array name="attribute_ids" translatable="false"> <item>dogs_yes</item> <item>dogs_no</item> <item>bicycles_yes</item> diff --git a/main/res/values/colors.xml b/main/res/values/colors.xml index 7289bc7..5a5c4ac 100644 --- a/main/res/values/colors.xml +++ b/main/res/values/colors.xml @@ -9,8 +9,6 @@ <color name="background_light_notice">#FFDFDFDF</color> <color name="background_dark_transparent">#44000000</color> <color name="background_light_transparent">#44FFFFFF</color> - <color name="owncache_background_dark">#FF222222</color> - <color name="owncache_background_light">#FFDDDDDD</color> <color name="separator_dark">#44FFFFFF</color> <color name="separator_light">#44000000</color> <color name="text_icon">#FFFFFFFF</color> diff --git a/main/res/values/strings.xml b/main/res/values/strings.xml index 39f5fde..c0eb9a0 100644 --- a/main/res/values/strings.xml +++ b/main/res/values/strings.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<resources> +<resources xmlns:tools="http://schemas.android.com/tools"> <string name="app_name">c:geo</string> <string name="app_name_compass">c:geo compass</string> @@ -87,9 +87,6 @@ <string name="log_post_no_rate">Submit Log & Do not Rate</string> <string name="log_post_not_possible">Loading Log Page…</string> <string name="log_add">Add</string> - <string name="log_date">Date</string> - <string name="log_time">Time</string> - <string name="log_date_time">Date & Time</string> <string name="log_rating">Rating</string> <string name="log_no_rating">No rating</string> <string name="log_stars_1">1 Star</string> @@ -139,8 +136,6 @@ <string name="err_license">You have not agreed to Geocaching.com license agreement, so c:geo can\'t load cache coordinates.</string> <string name="err_unpublished">The requested cache is unpublished.</string> <string name="err_premium_only">This Cache is only available to Geocaching.com Premium Members.</string> - <string name="err_store">c:geo can\'t store the cache.</string> - <string name="err_drop">c:geo can\'t drop cache.</string> <string name="err_detail_open">c:geo can\'t open geocache details.</string> <string name="err_detail_cache">c:geo can\'t display the geocache you want. Is it really a geocache?</string> <string name="err_detail_cache_find">c:geo can\'t find geocache</string> @@ -153,20 +148,15 @@ <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> - <string name="err_navigation_no">c:geo can\'t find any supported navigation.</string> <string name="err_application_no">c:geo can\'t find any suitable application.</string> <string name="err_auth_initialize">c:geo failed to initialize authorization process.</string> <string name="err_auth_process">Authorization process failed.</string> <string name="err_cannot_log_visit">c:geo is unable to log your visit. Please log your visit from full cache details screen.</string> <string name="err_init_cleared">c:geo can\'t clear login information.</string> <string name="err_download_fail">c:geo failed to download caches.</string> - <string name="err_list_load_fail">c:geo failed to load cache list.</string> - <string name="err_store_failed">c:geo can\'t store geocache.</string> - <string name="err_refresh_failed">c:geo can\'t refresh geocache.</string> <string name="err_dwld_details_failed">c:geo failed to download cache details.</string> <string name="err_load_descr_failed">c:geo can\'t load description.</string> <string name="err_location_unknown">c:geo doesn\'t know location of cache.</string> @@ -174,18 +164,12 @@ <string name="err_tb_display">c:geo can\'t display trackable you want. Is it really a trackable?</string> <string name="err_tb_details_open">c:geo can\'t open trackable details.</string> - <string name="err_tb_details_download">c:geo failed to download trackable details.</string> - <string name="err_tb_forgot">c:geo forgot which trackable you want.</string> <string name="err_tb_forgot_saw">c:geo forgot which trackable you saw.</string> <string name="err_tb_find">c:geo can\'t find trackable</string> <string name="err_tb_find_that">c:geo can\'t find that trackable.</string> <string name="err_waypoint_cache_unknown">c:geo doesn\'t know to which cache you want to add waypoint.</string> - <string name="err_waypoint_unknown">c:geo forgot what waypoint you want to display.</string> <string name="err_waypoint_add_failed">c:geo failed to add your waypoint.</string> - <string name="err_waypoint_load_failed">c:geo failed to load waypoint.</string> - <string name="err_waypoint_delete_failed">c:geo can\'t delete waypoint.</string> - <string name="err_waypoint_open_cache_failed">c:geo can\'t open cache details.</string> <string name="err_point_unknown_position">c:geo can\'t recognize where you are.</string> <string name="err_point_no_position_given_title">Info required</string> <string name="err_point_no_position_given">Fill at least latitude or longitude or distance and bearing. You can also fill all four fields.</string> @@ -200,15 +184,12 @@ <string name="err_log_failed_server">c:geo failed to post log because server is not responding.</string> <string name="err_log_post_failed">It seems that your log was not posted. Please check it on Geocaching.com.</string> - <string name="err_search_address_no_match">c:geo found no matching place.</string> <string name="err_search_address_forgot">c:geo forgot the address you tried to find.</string> <string name="err_parse_lat">c:geo can\'t parse latitude.</string> <string name="err_parse_lon">c:geo can\'t parse longitude.</string> <string name="err_parse_dist">c:geo can\'t parse distance.</string> <string name="err_parse_lat_lon">c:geo can\'t parse latitude or longitude.</string> - <string name="err_fieldnotes_export_failed">Export of Field Notes failed.</string> - <string name="warn_save_nothing">There is nothing to be saved.</string> <string name="warn_no_cache_coord">There is no cache with coordinates.</string> <string name="warn_no_coordinates">No Coordinates given.</string> @@ -233,7 +214,6 @@ <string name="info_log_cleared">Log was cleared.</string> <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 --> @@ -322,10 +302,7 @@ <string name="caches_filter_type">Type</string> <string name="caches_filter_track">With Trackables</string> <string name="caches_filter_clear">Clear filters</string> - <string name="caches_filter_size_title">Choose size</string> - <string name="caches_filter_type_title">Choose type</string> <string name="caches_filter_modified">With modified coordinates</string> - <string name="caches_exporting_fieldnote">Exporting as Field Notes…</string> <string name="caches_removing_from_history">Removing from History…</string> <!-- caches lists --> @@ -404,7 +381,6 @@ <string name="init_offline_wp">Store waypoints static maps for offline use</string> <string name="init_save_log_img">Save Images from Logs</string> <string name="init_units">Use Imperial Units instead of Metric Units</string> - <string name="init_nav">Use Google Navigation</string> <string name="init_log_offline">Enable Offline Logging\n(Don\'t show online Log screen when logging, don\'t send the Log online)</string> <string name="init_livelist">Show Direction to caches in the list</string> <string name="init_altitude">Altitude Correction</string> @@ -428,17 +404,11 @@ <string name="init_mapsources">Map Sources</string> <string name="init_mapsources_description">Here you can select the source for your maps. As an alternative to Google maps various OpenStreetMap styles are available and even offline map files (See <a href="http://code.google.com/p/mapsforge/">http://code.google.com/p/mapsforge/</a> for details).\nFurthermore selectable themes for offline maps are supported.</string> <string name="init_mapsource_select">Select Map Source</string> - <string name="init_select_themefolder">…</string> <string name="init_map_directory_description">Directory with offline maps</string> - <string name="init_select_map_directory">…</string> - <string name="init_select_gpx_exportdir">…</string> - <string name="init_select_gpx_importdir">…</string> <string name="init_gpx_exportdir">GPX Export Directory</string> <string name="init_gpx_importdir">GPX Import Directory</string> <string name="init_gpx_exportdir_description">Here you can select the directory for GPX exports.</string> <string name="init_gpx_importdir_description">Here you can select the directory for GPX imports.</string> - <string name="init_gpx_exportdir_select">Select GPX Export Directory</string> - <string name="init_gpx_importdir_select">Select GPX Import Directory</string> <string name="init_maptrail">Show trail on Map</string> <string name="init_share_after_export">Open share menu after GPX export</string> <string name="init_trackautovisit">Set trackables to \"Visited\" as a default</string> @@ -454,7 +424,6 @@ <string name="init_dbonsdcard_title">Database location</string> <string name="init_dbonsdcard_note">You may store the database of c:geo on the external storage medium. If you do so you will save internal memory, but you may loose a bit of performance and c:geo will not work if your sdcard is not available.</string> <string name="init_dbonsdcard">Database on external storage</string> - <string name="init_dbmove">Moving Database</string> <string name="init_dbmove_dbmove">Moving Database</string> <string name="init_dbmove_running">Moving Database</string> <string name="init_dbmove_success">Successfully moved the database.</string> @@ -464,13 +433,6 @@ <string name="init_rendertheme_folder">Directory with custom offline map themes (optional)</string> <!-- map sources --> - <string-array name="map_sources"> - <item>@string/map_source_google_map</item> - <item>@string/map_source_google_satellite</item> - <item>@string/map_source_osm_mapnik</item> - <item>@string/map_source_osm_cyclemap</item> - <item>@string/map_source_osm_offline</item> - </string-array> <string name="map_source_google_map">Google: Map</string> <string name="map_source_google_satellite">Google: Satellite</string> <string name="map_source_osm_mapnik">OSM: Mapnik</string> @@ -532,7 +494,6 @@ <string name="cache_description">Description</string> <string name="cache_description_long">Long Description</string> <string name="cache_description_table_note">Description contains table formatting which may need to be viewed at geocaching.com to be seen correctly.</string> - <string name="cache_watchlist">Watchlist</string> <string name="cache_watchlist_on">This cache is on your watchlist.</string> <string name="cache_watchlist_not_on">This cache is not on your watchlist.</string> <string name="cache_watchlist_add">Add to Watchlist</string> @@ -573,7 +534,9 @@ <string name="cache_dialog_watchlist_remove_title">Watchlist</string> <string name="cache_dialog_watchlist_remove_message">Removing cache from your watchlist…</string> <string name="cache_menu_navigate">Navigate</string> - <string name="cache_menu_tbt">Turn-by-Turn</string> + <string name="cache_menu_navigation_drive">Navigation (Driving)</string> + <string name="cache_menu_navigation_walk">Navigation (Walking)</string> + <string name="cache_menu_maps_directions">Google Maps Directions</string> <string name="cache_menu_radar">Radar</string> <string name="cache_menu_map">Map</string> <string name="cache_menu_map_static">Static Maps</string> @@ -625,7 +588,6 @@ <string name="cache_images_loading">Loading images…</string> <string name="cache_log_types">Log types</string> <string name="cache_coordinates_no">This cache has no coordinates.</string> - <string name="cache_export_fieldnote">Export as Field Notes</string> <string name="cache_clear_history">Clear history</string> <string name="cache_remove_from_history">Remove from history</string> <string name="cache_license">License</string> @@ -653,7 +615,6 @@ <string name="gpx_import_loading_caches">Loading caches from .gpx file</string> <string name="gpx_import_loading_waypoints">Loading waypoints file</string> <string name="gpx_import_store_static_maps">Storing static maps</string> - <string name="gpx_import_storing">Writing caches to database</string> <string name="gpx_import_caches_imported">caches imported</string> <string name="gpx_import_static_maps_skipped">Download of static maps aborted</string> <string name="gpx_import_title_static_maps">Store static maps</string> @@ -673,10 +634,7 @@ <string name="map_file_select_title">Select map file</string> <!-- theme file select --> - <string name="theme_file_select_title">Select custom map theme file</string> - <!-- import --> - <string name="import_title">Import…</string> <string name="web_import_title">Import from web</string> <string name="web_import_waiting">Waiting for new caches from web…</string> <string name="web_downloading">Downloading</string> @@ -687,7 +645,6 @@ <!-- 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> @@ -701,33 +658,18 @@ <string name="waypoint_note">Note</string> <string name="waypoint_save">Save</string> <string name="waypoint_loading">Loading waypoint…</string> - <string name="waypoint_unknown_coordinates">Coordinates unknown</string> <string name="waypoint_done">Done</string> <string name="waypoint_duplicate">Duplicate</string> <string name="waypoint_copy_of">Copy of</string> - <string name="waypoint_menu_open_cache">Open Cache</string> <string name="search_history">History</string> <string name="search_history_empty">No previous destinations</string> <string name="search_remove_destination">Destination removed</string> <string name="search_clear_history">Clear History</string> <string name="search_history_cleared">History cleared</string> - <string-array name="waypoint_coordinate_formats"> - <item>@string/waypoint_coordinate_formats_plain</item> - <item>DDD.DDDDD°</item> - <item>DDD°MM.MMM\'</item> - <item>DDD°MM\'SS.SSS\"</item> - </string-array> <string name="waypoint_coordinate_formats_plain">Plain</string> <!-- distance units --> - <string-array name="distance_units"> - <item>@string/unit_m</item> - <item>@string/unit_km</item> - <item>@string/unit_ft</item> - <item>@string/unit_yd</item> - <item>@string/unit_mi</item> - </string-array> <string name="unit_m">m</string> <string name="unit_km">km</string> <string name="unit_ft">ft</string> @@ -857,7 +799,6 @@ <!-- export --> <string name="export">Export</string> - <string name="export_as">Export as…</string> <string name="export_exportedto">exported to</string> <string name="export_failed">Export failed</string> <string name="export_fieldnotes">Field Notes</string> @@ -1027,133 +968,16 @@ <string name="about_auth_1">The following process allows <b>c:geo</b> to access Twitter - if agreed.</string> <string name="about_auth_2">A click on the \"authorize c:geo\" button will start the process. This process will open up a web browser with a Twitter page. Login on this page and allow <b>c:geo</b> to access your account. If this is accepted, Twitter will show up a numeric PIN code. This PIN must be pasted into <b>c:geo</b> and confirmed. That\'s all.</string> - <!-- status --> - <string name="status_new_release">New release available.\nClick to install.</string> - <string name="status_new_nightly">New nightly build available.\nClick to install.</string> - <string name="status_new_rc">New release candidate available.\nClick to install.</string> - <string name="status_geocaching_change">Recent changes on geocaching.com broke c:geo.\nWe are working on it, check again soon.</string> - <string name="status_geocaching_livemap">Recent changes on geocaching.com broke the live map feature.\nWe are working on it, check again soon.</string> + <!-- status (used via string based resource loading) --> + <string name="status_new_release" tools:ignore="UnusedResources">New release available.\nClick to install.</string> + <string name="status_new_nightly" tools:ignore="UnusedResources">New nightly build available.\nClick to install.</string> + <string name="status_new_rc" tools:ignore="UnusedResources">New release candidate available.\nClick to install.</string> + <string name="status_geocaching_change" tools:ignore="UnusedResources">Recent changes on geocaching.com broke c:geo.\nWe are working on it, check again soon.</string> + <string name="status_geocaching_livemap" tools:ignore="UnusedResources">Recent changes on geocaching.com broke the live map feature.\nWe are working on it, check again soon.</string> <string name="clipboard_copy_ok">Copied to clipboard</string> <plurals name="days_ago"> <item quantity="one">yesterday</item> <item quantity="other">%d days ago</item> </plurals> - - <!-- ====== please, do not translate (and include in translation) things below this line ====== --> - - <!-- contributors --> - <string name="contributors">\n - · <a href="http://carnero.cc/">carnero</a> as the father of c:geo\n - \n - · 0xErnie (localization DE)\n - · <a href="mailto:bazsy@freemail.hu">Balazs Szabo (Bazsy1983)</a> (loc. HU)\n - · Bananeweizen (code, loc. DE)\n - · blafoo (code, localization DE)\n - · Bonemaro (tester)\n - · BudBundi (localization DE, tester)\n - · campbeb (code)\n - · Charles (localization FR)\n - · Denny (localization DA)\n - · Eisbehr (code)\n - · F. Coello (localization ES)\n - · Filipe C. (code)\n - · <a href="http://www.hunterthornsberry.com">Hunter275</a> (tester)\n - · <a href="http://iirojappinen.com/">Iiro Jäppinen</a> (graphic)\n - · inkantis (localization PL)\n - · <a href="http://www.jaytech.cz/">Jan Žatecký</a> (graphic)\n - · <a href="http://joachim-wilke.de/">JoWi24</a> (code)\n - · <a href="http://github.com/koem">Karsten Priegnitz</a> (code, artwork computation)\n - · <a href="http://www.geocaching.com/email/?guid=d11a3e3d-7db0-4d43-87f2-7893238844a6">Lineflyer</a> (tester, support, localization DE)\n - · Ludovic Valente (localization FR)\n - · marco-jacob (code, loc. DE)\n - · MichielK (code, loc. NL)\n - · mucek4 (code, open source project leader)\n - · ncorreia (code, localization PT)\n - · Pascal (localization NL)\n - · Pavol Babinčák (code, loc. SK)\n - · Peter (localization HU)\n - · <a href="https://github.com/Portree-Kid">Portree Kid</a> (code)\n - · Rainer S. (code)\n - · Ray (code, loc. JA)\n - · <a href="http://seromenho.com/">Ricardo Seromenho</a> (localization PT)\n - · RoadRunner- (code, loc. DE)\n - · <a href="http://www.blueskysoftware.it/">RomNexus6</a> (localization IT)\n - · <a href="http://www.sammyshp.de/">SammysHP</a> (code, localization DE)\n - · <a href="http://www.rfc1149.net/sam.html">Samuel Tardieu</a> (code, localization FR)\n - · serenity (localization DE)\n - · Shan, a.k.a. ShakurNO (localization NO)\n - · Shizo87 (tester)\n - · stephanme/Geoteufel (code)\n - · thiasB (code, loc. DE EN)\n - · YraFyra (code, loc. SV)\n - · zenobios (code, loc. DE EN)\n - \n - · <a href="http://code.google.com/p/mapsforge/">Mapsforge</a> (OSM-rendering)\n - · <a href="http://thenounproject.com/">The Noun Project</a> (basis for attribute icons)\n - · <a href="http://commons.apache.org/">The Apache Commons Project</a>\n - · <a href="http://androidicons.com/">Android Icons</a> (<a href="https://creativecommons.org/licenses/by/3.0/">CC-BY 3.0</a>)\n - · <a href="http://rrze-icon-set.berlios.de/index.html">RRZE Icon set</a> (<a href="http://creativecommons.org/licenses/by-sa/3.0/">CC-BY-SA 3.0</a>)\n - </string> - - <!-- changelog --> - <string name="changelog">\n - <b>2012.12.03</b>\n\n - <b>New Features/Functions:</b>\n - · If static maps are enabled, batch update of caches will now update caches without static maps first\n - · If a cache has a chirp attribute the navigation menu supports starting the Cache Beacon app\n - · Search bar on main screen now allows searching OC geocodes\n - · Removed Go4Cache support as this third party service is no longer available\n - · Selectable GPX import directory\n - · New log template for inserting owner name\n - · New option to remove colors from log entries\n - · Ability to delete GPX files after import\n - · Quick signature insertion\n - · Template for inserting smilies when logging a cache\n - · Option to identify as android browser. Might help in case of login problems on mobile networks\n - · Create and edit a personal note for each cache (not yet synchronized to geocaching.com)\n - · Quick change between different offline maps within live map\n - · Support of custom themes for offline maps (e.g. nightview)\n - · Sygic navigation support\n - · Filter for non premium member caches\n - · New image tab in cache details\n - \n - <b>Bugfixing:</b>\n - · Crash when modifying lists fixed\n - · Improvement for cache description translation\n - · Avoid crash when searching for an unactivated TB\n - · Improvement for enabling live mode on map\n - · Improvement for GPX export operations\n - · Readability improvement for cache description with dark text when using black theme\n - · Store for offline on live map now always available for basic members\n - · Live map now stays live after display rotation\n - · Open in browser improved to allow setting a default browser without losing the option to open coord.info URLs with c:geo\n - · Improve offline stability\n - · Static map download improvements\n - · Failure when importing previously exported GPX file fixed\n - · Opening a link from a TB description improved\n - · Last activity time on TB page corrected\n - · 4-digit favorite points shown correctly in lists\n - · File scan for offline maps improved\n - · Allow HTML in trackable description\n - · Live map filter now also working for basic members\n - · Improved stability for large GPX file import\n - \n - <a href="https://github.com/cgeo/c-geo-opensource/issues?milestone=8&state=closed">Detailed list of all changes</a>\n - \n - <b>Known Limitations/Bugs:</b>\n - · Live map:\n - Approximated coords due to limitations on the GC-website\n - Be aware: If navigation is started directly from live map it may also use the approximated coords!\n - In fast mode the cache type might be wrong in rare cases\n - Fast mode only detectes Tradi, Multi, Mystery, Event caches\n - On low zoom owned/found caches may not be hidden anymore\n - · Other:\n - Log images with huge size cause a long loading time\n - In special situations the logbook might not be shown completely after logging a cache\n - The personal note added to a cache is not synced to geocaching.com but will be overruled by personal notes on geocaching.com\n - On devices with HD display resolution OSM maps might not work. Please use Google maps in this case.\n - <b>Old releases</b>\n - · Please refer to the release notes on the <a href="http://www.cgeo.org">c:geo-website</a>.\n - \n</string> </resources> diff --git a/main/res/values/strings_not_translatable.xml b/main/res/values/strings_not_translatable.xml new file mode 100644 index 0000000..e6fbb70 --- /dev/null +++ b/main/res/values/strings_not_translatable.xml @@ -0,0 +1,109 @@ +<?xml version="1.0" encoding="utf-8"?>
+<resources>
+ <string-array name="waypoint_coordinate_formats" translatable="false">
+ <item>@string/waypoint_coordinate_formats_plain</item>
+ <item>DDD.DDDDD°</item>
+ <item>DDD°MM.MMM\'</item>
+ <item>DDD°MM\'SS.SSS\"</item>
+ </string-array>
+
+ <!-- distance units -->
+ <string-array name="distance_units">
+ <item>@string/unit_m</item>
+ <item>@string/unit_km</item>
+ <item>@string/unit_ft</item>
+ <item>@string/unit_yd</item>
+ <item>@string/unit_mi</item>
+ </string-array>
+
+ <string name="init_select_themefolder" translatable="false">…</string>
+ <string name="init_select_map_directory" translatable="false">…</string>
+ <string name="init_select_gpx_exportdir" translatable="false">…</string>
+ <string name="init_select_gpx_importdir" translatable="false">…</string>
+
+ <!-- contributors -->
+ <string name="contributors" translatable="false">\n
+ · <a href="http://carnero.cc/">carnero</a> as the father of c:geo\n
+ \n
+ · 0xErnie (localization DE)\n
+ · <a href="mailto:bazsy@freemail.hu">Balazs Szabo (Bazsy1983)</a> (loc. HU)\n
+ · Bananeweizen (code, loc. DE)\n
+ · blafoo (code, localization DE)\n
+ · Bonemaro (tester)\n
+ · BudBundi (localization DE, tester)\n
+ · campbeb (code)\n
+ · Charles (localization FR)\n
+ · Denny (localization DA)\n
+ · Eisbehr (code)\n
+ · F. Coello (localization ES)\n
+ · Filipe C. (code)\n
+ · <a href="http://www.hunterthornsberry.com">Hunter275</a> (tester)\n
+ · <a href="http://iirojappinen.com/">Iiro Jäppinen</a> (graphic)\n
+ · inkantis (localization PL)\n
+ · <a href="http://www.jaytech.cz/">Jan Žatecký</a> (graphic)\n
+ · <a href="http://joachim-wilke.de/">JoWi24</a> (code)\n
+ · <a href="http://github.com/koem">Karsten Priegnitz</a> (code, artwork computation)\n
+ · <a href="http://www.geocaching.com/email/?guid=d11a3e3d-7db0-4d43-87f2-7893238844a6">Lineflyer</a> (tester, support, localization DE)\n
+ · Ludovic Valente (localization FR)\n
+ · marco-jacob (code, loc. DE)\n
+ · MichielK (code, loc. NL)\n
+ · mucek4 (code, open source project leader)\n
+ · ncorreia (code, localization PT)\n
+ · Pascal (localization NL)\n
+ · Pavol Babinčák (code, loc. SK)\n
+ · Peter (localization HU)\n
+ · <a href="https://github.com/Portree-Kid">Portree Kid</a> (code)\n
+ · Rainer S. (code)\n
+ · Ray (code, loc. JA)\n
+ · <a href="http://seromenho.com/">Ricardo Seromenho</a> (localization PT)\n
+ · RoadRunner- (code, loc. DE)\n
+ · <a href="http://www.blueskysoftware.it/">RomNexus6</a> (localization IT)\n
+ · <a href="http://www.sammyshp.de/">SammysHP</a> (code, localization DE)\n
+ · <a href="http://www.rfc1149.net/sam.html">Samuel Tardieu</a> (code, localization FR)\n
+ · serenity (localization DE)\n
+ · Shan, a.k.a. ShakurNO (localization NO)\n
+ · Shizo87 (tester)\n
+ · stephanme/Geoteufel (code)\n
+ · thiasB (code, loc. DE EN)\n
+ · YraFyra (code, loc. SV)\n
+ · zenobios (code, loc. DE EN)\n
+ \n
+ · <a href="http://code.google.com/p/mapsforge/">Mapsforge</a> (OSM-rendering)\n
+ · <a href="http://thenounproject.com/">The Noun Project</a> (basis for attribute icons)\n
+ · <a href="http://commons.apache.org/">The Apache Commons Project</a>\n
+ · <a href="http://androidicons.com/">Android Icons</a> (<a href="https://creativecommons.org/licenses/by/3.0/">CC-BY 3.0</a>)\n
+ · <a href="http://rrze-icon-set.berlios.de/index.html">RRZE Icon set</a> (<a href="http://creativecommons.org/licenses/by-sa/3.0/">CC-BY-SA 3.0</a>)\n
+ </string>
+
+ <!-- changelog -->
+ <string name="changelog" translatable="false">\n
+ <b>Next release</b>\n\n
+ <b>New Features/Functions:</b>\n
+ · Alphabetical sorting of OSM:Offline maps in map selection\n
+ · Color markes also in trackable logbook\n
+ · Edit cache type filter by clicking on filter bar\n
+ · Support for searching opencaching.nl caches\n
+ \n
+ <b>Bugfixing:</b>\n
+ · Final flag icon lost when updating cache with self defined final\n
+ · Fixed selection bug in dir chooser\n
+ \n
+ <a href="https://github.com/cgeo/c-geo-opensource/issues?milestone=9&state=closed">Detailed list of all changes</a>\n
+ \n
+ <b>Known Limitations/Bugs:</b>\n
+ · Live map:\n
+ Approximated coords due to limitations on the GC-website\n
+ Be aware: If navigation is started directly from live map it may also use the approximated coords!\n
+ In fast mode the cache type might be wrong in rare cases\n
+ Fast mode only detectes Tradi, Multi, Mystery, Event caches\n
+ On low zoom owned/found caches may not be hidden anymore\n
+ · Other:\n
+ Log images with huge size cause a long loading time\n
+ In special situations the logbook might not be shown completely after logging a cache\n
+ The personal note added to a cache is not synced to geocaching.com but will be overruled by personal notes on geocaching.com\n
+ On devices with HD display resolution OSM maps might not work. Please use Google maps in this case.\n
+ <b>Old releases</b>\n
+ · Please refer to the release notes on the <a href="http://www.cgeo.org">c:geo-website</a>.\n
+ \n</string>
+
+</resources>
\ No newline at end of file diff --git a/main/src/cgeo/geocaching/AbstractPopupActivity.java b/main/src/cgeo/geocaching/AbstractPopupActivity.java index 830d61a..e3f7aeb 100644 --- a/main/src/cgeo/geocaching/AbstractPopupActivity.java +++ b/main/src/cgeo/geocaching/AbstractPopupActivity.java @@ -109,7 +109,7 @@ public abstract class AbstractPopupActivity extends AbstractActivity { } protected void init() { - cache = app.loadCache(geocode, LoadFlags.LOAD_CACHE_OR_DB); + cache = cgData.loadCache(geocode, LoadFlags.LOAD_CACHE_OR_DB); if (cache == null) { showToast(res.getString(R.string.err_detail_cache_find)); @@ -118,7 +118,7 @@ public abstract class AbstractPopupActivity extends AbstractActivity { return; } - geocode = cache.getGeocode().toUpperCase(); + geocode = cache.getGeocode(); } private void showInBrowser() { @@ -251,7 +251,7 @@ public abstract class AbstractPopupActivity extends AbstractActivity { final String cacheSize = cache.getSize() != CacheSize.UNKNOWN ? " (" + cache.getSize().getL10n() + ")" : ""; details.add(R.string.cache_type, cacheType + cacheSize); - details.add(R.string.cache_geocode, cache.getGeocode().toUpperCase()); + details.add(R.string.cache_geocode, cache.getGeocode()); details.addCacheState(cache); details.addDistance(cache, cacheDistance); @@ -276,7 +276,7 @@ public abstract class AbstractPopupActivity extends AbstractActivity { @Override public void onClick(View arg0) { - CacheDetailActivity.startActivity(AbstractPopupActivity.this, geocode.toUpperCase()); + CacheDetailActivity.startActivity(AbstractPopupActivity.this, geocode); finish(); } }); diff --git a/main/src/cgeo/geocaching/CacheDetailActivity.java b/main/src/cgeo/geocaching/CacheDetailActivity.java index 2dcafde..9759684 100644 --- a/main/src/cgeo/geocaching/CacheDetailActivity.java +++ b/main/src/cgeo/geocaching/CacheDetailActivity.java @@ -5,6 +5,7 @@ import cgeo.geocaching.activity.AbstractActivity; import cgeo.geocaching.activity.Progress; import cgeo.geocaching.apps.cache.GeneralAppsFactory; import cgeo.geocaching.apps.cache.navi.NavigationAppFactory; +import cgeo.geocaching.compatibility.Compatibility; import cgeo.geocaching.connector.ConnectorFactory; import cgeo.geocaching.connector.IConnector; import cgeo.geocaching.connector.gc.GCConnector; @@ -15,6 +16,7 @@ import cgeo.geocaching.enumerations.LogType; import cgeo.geocaching.geopoint.GeopointFormatter; import cgeo.geocaching.geopoint.Units; import cgeo.geocaching.network.HtmlImage; +import cgeo.geocaching.network.Network; import cgeo.geocaching.network.Parameters; import cgeo.geocaching.ui.CacheDetailsCreator; import cgeo.geocaching.ui.DecryptTextClickListener; @@ -79,7 +81,6 @@ import android.view.View.OnLongClickListener; import android.view.ViewGroup; import android.view.ViewGroup.LayoutParams; import android.view.ViewParent; -import android.view.WindowManager; import android.widget.AdapterView; import android.widget.AdapterView.OnItemClickListener; import android.widget.ArrayAdapter; @@ -92,7 +93,6 @@ import android.widget.ScrollView; import android.widget.TextView; import android.widget.TextView.BufferType; -import java.net.URLEncoder; import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; @@ -112,7 +112,6 @@ import java.util.regex.Pattern; */ public class CacheDetailActivity extends AbstractActivity { - private static final String EXTRAS_PAGE = "page"; 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; @@ -250,8 +249,8 @@ public class CacheDetailActivity extends AbstractActivity { // try to get data from URI if (geocode == null && guid == null && uri != null) { - String uriHost = uri.getHost().toLowerCase(); - String uriPath = uri.getPath().toLowerCase(); + String uriHost = uri.getHost().toLowerCase(Locale.US); + String uriPath = uri.getPath().toLowerCase(Locale.US); String uriQuery = uri.getQuery(); if (uriQuery != null) { @@ -265,11 +264,11 @@ public class CacheDetailActivity extends AbstractActivity { guid = uri.getQueryParameter("guid"); if (StringUtils.isNotBlank(geocode)) { - geocode = geocode.toUpperCase(); + geocode = geocode.toUpperCase(Locale.US); guid = null; } else if (StringUtils.isNotBlank(guid)) { geocode = null; - guid = guid.toLowerCase(); + guid = guid.toLowerCase(Locale.US); } else { showToast(res.getString(R.string.err_detail_open)); finish(); @@ -277,7 +276,7 @@ public class CacheDetailActivity extends AbstractActivity { } } else if (uriHost.contains("coord.info")) { if (uriPath != null && uriPath.startsWith("/gc")) { - geocode = uriPath.substring(1).toUpperCase(); + geocode = uriPath.substring(1).toUpperCase(Locale.US); } else { showToast(res.getString(R.string.err_detail_open)); finish(); @@ -300,7 +299,7 @@ public class CacheDetailActivity extends AbstractActivity { if (StringUtils.isNotBlank(name)) { title = name; } else if (null != geocode && StringUtils.isNotBlank(geocode)) { // can't be null, but the compiler doesn't understand StringUtils.isNotBlank() - title = geocode.toUpperCase(); + title = geocode; } progress.show(this, title, res.getString(R.string.cache_dialog_loading_details), true, loadCacheHandler.cancelMessage()); } catch (Exception e) { @@ -345,13 +344,7 @@ public class CacheDetailActivity extends AbstractActivity { }); // switch to entry page (last used or 2) - int entryPageIndex; - if (extras != null && extras.get(EXTRAS_PAGE) != null) { - entryPageIndex = extras.getInt(EXTRAS_PAGE); - } - else { - entryPageIndex = Settings.isOpenLastDetailsPage() ? Settings.getLastDetailsPage() : 1; - } + int entryPageIndex = Settings.isOpenLastDetailsPage() ? Settings.getLastDetailsPage() : 1; if (viewPagerAdapter.getCount() < entryPageIndex) { for (int i = 0; i <= entryPageIndex; i++) { // we can't switch to a page that is out of bounds, so we add null-pages @@ -511,46 +504,44 @@ public class CacheDetailActivity extends AbstractActivity { } break; - case CONTEXT_MENU_WAYPOINT_EDIT: { - final cgWaypoint waypoint = cache.getWaypoint(index); - if (waypoint != null) { - EditWaypointActivity.startActivityEditWaypoint(this, waypoint.getId()); + case CONTEXT_MENU_WAYPOINT_EDIT: + final cgWaypoint waypointEdit = cache.getWaypoint(index); + if (waypointEdit != null) { + EditWaypointActivity.startActivityEditWaypoint(this, waypointEdit.getId()); refreshOnResume = true; } break; - } case CONTEXT_MENU_WAYPOINT_DUPLICATE: - if (cache.duplicateWaypoint(index)) { - app.saveCache(cache, EnumSet.of(SaveFlag.SAVE_DB)); + final cgWaypoint waypointDuplicate = cache.getWaypoint(index); + if (cache.duplicateWaypoint(waypointDuplicate)) { + cgData.saveCache(cache, EnumSet.of(SaveFlag.SAVE_DB)); notifyDataSetChanged(); } break; case CONTEXT_MENU_WAYPOINT_DELETE: - if (cache.deleteWaypoint(index)) { - app.saveCache(cache, EnumSet.of(SaveFlag.SAVE_DB)); + final cgWaypoint waypointDelete = cache.getWaypoint(index); + if (cache.deleteWaypoint(waypointDelete)) { + cgData.saveCache(cache, EnumSet.of(SaveFlag.SAVE_DB)); notifyDataSetChanged(); } break; - case CONTEXT_MENU_WAYPOINT_DEFAULT_NAVIGATION: { - final cgWaypoint waypoint = cache.getWaypoint(index); - if (waypoint != null) { - NavigationAppFactory.startDefaultNavigationApplication(1, this, waypoint); + case CONTEXT_MENU_WAYPOINT_DEFAULT_NAVIGATION: + final cgWaypoint waypointNavigation = cache.getWaypoint(index); + if (waypointNavigation != null) { + NavigationAppFactory.startDefaultNavigationApplication(1, this, waypointNavigation); } - } break; - case CONTEXT_MENU_WAYPOINT_NAVIGATE: { - final cgWaypoint waypoint = cache.getWaypoint(contextMenuWPIndex); - if (waypoint != null) { - NavigationAppFactory.showNavigationMenu(this, null, waypoint, null); + case CONTEXT_MENU_WAYPOINT_NAVIGATE: + final cgWaypoint waypointNav = cache.getWaypoint(contextMenuWPIndex); + if (waypointNav != null) { + NavigationAppFactory.showNavigationMenu(this, null, waypointNav, null); } - } break; - case CONTEXT_MENU_WAYPOINT_CACHES_AROUND: { - final cgWaypoint waypoint = cache.getWaypoint(index); - if (waypoint != null) { - cgeocaches.startActivityCoordinates(this, waypoint.getCoords()); + case CONTEXT_MENU_WAYPOINT_CACHES_AROUND: + final cgWaypoint waypointAround = cache.getWaypoint(index); + if (waypointAround != null) { + cgeocaches.startActivityCoordinates(this, waypointAround.getCoords()); } - } break; default: { if (imagesList != null && imagesList.onContextItemSelected(item)) { @@ -695,9 +686,9 @@ public class CacheDetailActivity extends AbstractActivity { // action bar: title and icon (default: mystery icon) if (StringUtils.isNotBlank(cache.getName())) { - setTitle(cache.getName() + " (" + cache.getGeocode().toUpperCase() + ')'); + setTitle(cache.getName() + " (" + cache.getGeocode() + ')'); } else { - setTitle(cache.getGeocode().toUpperCase()); + setTitle(cache.getGeocode()); } ((TextView) findViewById(R.id.actionbar_title)).setCompoundDrawablesWithIntrinsicBounds(getResources().getDrawable(cache.getType().markerId), null, null, null); @@ -933,7 +924,7 @@ public class CacheDetailActivity extends AbstractActivity { cgeocaches.startActivityUserName(CacheDetailActivity.this, name.toString()); return; case 2: - startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.geocaching.com/profile/?u=" + URLEncoder.encode(name.toString())))); + startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.geocaching.com/profile/?u=" + Network.encode(name.toString())))); return; default: break; @@ -962,14 +953,7 @@ public class CacheDetailActivity extends AbstractActivity { public static void startActivity(final Context context, final String geocode) { final Intent detailIntent = new Intent(context, CacheDetailActivity.class); - detailIntent.putExtra("geocode", geocode.toUpperCase()); - context.startActivity(detailIntent); - } - - public static void startActivity(final Context context, final String geocode, final int page) { - final Intent detailIntent = new Intent(context, CacheDetailActivity.class); - detailIntent.putExtra("geocode", geocode.toUpperCase()); - detailIntent.putExtra(EXTRAS_PAGE, page); + detailIntent.putExtra("geocode", geocode); context.startActivity(detailIntent); } @@ -1124,8 +1108,7 @@ public class CacheDetailActivity extends AbstractActivity { attributeBox.removeAllViews(); // maximum width for attribute icons is screen width - paddings of parents - attributeBoxMaxWidth = ((WindowManager) getSystemService(Context.WINDOW_SERVICE)) - .getDefaultDisplay().getWidth(); + attributeBoxMaxWidth = Compatibility.getDisplayWidth(); ViewParent child = attributeBox; do { if (child instanceof View) { @@ -1378,7 +1361,7 @@ public class CacheDetailActivity extends AbstractActivity { details.add(R.string.cache_name, span); details.add(R.string.cache_type, cache.getType().getL10n()); details.addSize(cache); - details.add(R.string.cache_geocode, cache.getGeocode().toUpperCase()); + details.add(R.string.cache_geocode, cache.getGeocode()); details.addCacheState(cache); details.addDistance(cache, cacheDistanceView); @@ -1947,7 +1930,7 @@ public class CacheDetailActivity extends AbstractActivity { public void update(CharSequence editorText) { cache.setPersonalNote(editorText.toString()); setPersonalNote(personalNoteView); - app.saveCache(cache, EnumSet.of(SaveFlag.SAVE_DB)); + cgData.saveCache(cache, EnumSet.of(SaveFlag.SAVE_DB)); } }); editor.show(); @@ -2269,23 +2252,12 @@ public class CacheDetailActivity extends AbstractActivity { } // colored marker - holder.statusMarker.setVisibility(View.VISIBLE); - if (log.type == LogType.FOUND_IT - || log.type == LogType.WEBCAM_PHOTO_TAKEN - || log.type == LogType.ATTENDED) { - holder.statusMarker.setImageResource(R.drawable.mark_green); - } else if (log.type == LogType.PUBLISH_LISTING - || log.type == LogType.ENABLE_LISTING - || log.type == LogType.OWNER_MAINTENANCE) { - holder.statusMarker.setImageResource(R.drawable.mark_green_more); - } else if (log.type == LogType.DIDNT_FIND_IT - || log.type == LogType.NEEDS_MAINTENANCE - || log.type == LogType.NEEDS_ARCHIVE) { - holder.statusMarker.setImageResource(R.drawable.mark_red); - } else if (log.type == LogType.TEMP_DISABLE_LISTING - || log.type == LogType.ARCHIVE) { - holder.statusMarker.setImageResource(R.drawable.mark_red_more); - } else { + int marker = log.type.markerId; + if (marker != 0) { + holder.statusMarker.setVisibility(View.VISIBLE); + holder.statusMarker.setImageResource(marker); + } + else { holder.statusMarker.setVisibility(View.GONE); } diff --git a/main/src/cgeo/geocaching/CachePopup.java b/main/src/cgeo/geocaching/CachePopup.java index e01e4a0..9b0d96d 100644 --- a/main/src/cgeo/geocaching/CachePopup.java +++ b/main/src/cgeo/geocaching/CachePopup.java @@ -79,7 +79,7 @@ public class CachePopup extends AbstractPopupActivity { if (StringUtils.isNotBlank(cache.getName())) { setTitle(cache.getName()); } else { - setTitle(geocode.toUpperCase()); + setTitle(geocode); } // actionbar icon @@ -89,8 +89,6 @@ public class CachePopup extends AbstractPopupActivity { addCacheDetails(); - findViewById(R.id.offline_box).setVisibility(View.VISIBLE); - // offline use final TextView offlineText = (TextView) findViewById(R.id.offline_text); final Button offlineRefresh = (Button) findViewById(R.id.offline_refresh); diff --git a/main/src/cgeo/geocaching/DirectionProvider.java b/main/src/cgeo/geocaching/DirectionProvider.java index 14fd283..c1f83ac 100644 --- a/main/src/cgeo/geocaching/DirectionProvider.java +++ b/main/src/cgeo/geocaching/DirectionProvider.java @@ -14,7 +14,7 @@ public class DirectionProvider extends MemorySubject<Float> implements SensorEve private final SensorManager sensorManager; - // Previous values signalled to observers to avoid resending the same value when the + // Previous values signaled to observers to avoid resending the same value when the // device doesn't change orientation. The orientation is usually given with a 1 degree // precision by Android, so it is not uncommon to obtain exactly the same value several // times. @@ -38,14 +38,14 @@ public class DirectionProvider extends MemorySubject<Float> implements SensorEve @Override public void onAccuracyChanged(final Sensor sensor, int accuracy) { /* - * There is a bug in Android, which appearently causes this method to be called every - * time the sensor _value_ changed, even if the _accuracy_ did not change. So logging - * this event leads to the log being flooded with multiple entries _per second_, - * which I experienced when running cgeo in a building (with GPS and network being - * unreliable). - * - * See for example https://code.google.com/p/android/issues/detail?id=14792 - */ + * There is a bug in Android, which apparently causes this method to be called every + * time the sensor _value_ changed, even if the _accuracy_ did not change. So logging + * this event leads to the log being flooded with multiple entries _per second_, + * which I experienced when running cgeo in a building (with GPS and network being + * unreliable). + * + * See for example https://code.google.com/p/android/issues/detail?id=14792 + */ //Log.i(Settings.tag, "Compass' accuracy is low (" + accuracy + ")"); } diff --git a/main/src/cgeo/geocaching/EditWaypointActivity.java b/main/src/cgeo/geocaching/EditWaypointActivity.java index ef2a2cc..819cb03 100644 --- a/main/src/cgeo/geocaching/EditWaypointActivity.java +++ b/main/src/cgeo/geocaching/EditWaypointActivity.java @@ -250,7 +250,7 @@ public class EditWaypointActivity extends AbstractActivity { @Override public void run() { try { - waypoint = app.loadWaypoint(id); + waypoint = cgData.loadWaypoint(id); loadWaypointHandler.sendMessage(Message.obtain()); } catch (Exception e) { @@ -269,7 +269,7 @@ public class EditWaypointActivity extends AbstractActivity { } else if (gpTemp != null) { gp = gpTemp; } - cgCache cache = app.loadCache(geocode, LoadFlags.LOAD_WAYPOINTS); + cgCache cache = cgData.loadCache(geocode, LoadFlags.LOAD_WAYPOINTS); cgeocoords coordsDialog = new cgeocoords(EditWaypointActivity.this, cache, gp, app.currentGeo()); coordsDialog.setCancelable(true); coordsDialog.setOnCoordinateUpdate(new cgeocoords.CoordinateUpdate() { @@ -401,12 +401,12 @@ public class EditWaypointActivity extends AbstractActivity { waypoint.setNote(note); waypoint.setId(id); - cgCache cache = app.loadCache(geocode, LoadFlags.LOAD_WAYPOINTS); + cgCache cache = cgData.loadCache(geocode, LoadFlags.LOAD_WAYPOINTS); if (null != cache && cache.addOrChangeWaypoint(waypoint, true)) { - app.saveCache(cache, EnumSet.of(SaveFlag.SAVE_DB)); + cgData.saveCache(cache, EnumSet.of(SaveFlag.SAVE_DB)); StaticMapsProvider.removeWpStaticMaps(id, geocode); if (Settings.isStoreOfflineWpMaps()) { - StaticMapsProvider.storeWaypointStaticMap(cache, EditWaypointActivity.this, waypoint, false); + StaticMapsProvider.storeWaypointStaticMap(cache, waypoint, false); } finish(); } else { diff --git a/main/src/cgeo/geocaching/ImagesActivity.java b/main/src/cgeo/geocaching/ImagesActivity.java index 0accf12..82902b5 100644 --- a/main/src/cgeo/geocaching/ImagesActivity.java +++ b/main/src/cgeo/geocaching/ImagesActivity.java @@ -62,7 +62,7 @@ public class ImagesActivity extends AbstractActivity { return; } - offline = app.isOffline(geocode, null) && (imgType == ImageType.SpoilerImages || Settings.isStoreLogImages()); + offline = cgData.isOffline(geocode, null) && (imgType == ImageType.SpoilerImages || Settings.isStoreLogImages()); } @Override @@ -86,7 +86,7 @@ public class ImagesActivity extends AbstractActivity { final Intent logImgIntent = new Intent(fromActivity, ImagesActivity.class); // if resuming our app within this activity, finish it and return to the cache activity logImgIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET) - .putExtra(EXTRAS_GEOCODE, geocode.toUpperCase()) + .putExtra(EXTRAS_GEOCODE, geocode) .putExtra(EXTRAS_TYPE, imageType); // avoid forcing the array list as parameter type diff --git a/main/src/cgeo/geocaching/LogTrackableActivity.java b/main/src/cgeo/geocaching/LogTrackableActivity.java index 4ddec72..a4677d0 100644 --- a/main/src/cgeo/geocaching/LogTrackableActivity.java +++ b/main/src/cgeo/geocaching/LogTrackableActivity.java @@ -127,12 +127,12 @@ public class LogTrackableActivity extends AbstractLoggingActivity implements Dat } } - trackable = app.getTrackableByGeocode(geocode); + trackable = cgData.loadTrackable(geocode); if (StringUtils.isNotBlank(trackable.getName())) { setTitle(res.getString(R.string.trackable_touch) + ": " + trackable.getName()); } else { - setTitle(res.getString(R.string.trackable_touch) + ": " + trackable.getGeocode().toUpperCase()); + setTitle(res.getString(R.string.trackable_touch) + ": " + trackable.getGeocode()); } if (guid == null) { @@ -357,7 +357,7 @@ public class LogTrackableActivity extends AbstractLoggingActivity implements Dat public static void startActivity(final Context context, final cgTrackable trackable) { final Intent logTouchIntent = new Intent(context, LogTrackableActivity.class); - logTouchIntent.putExtra("geocode", trackable.getGeocode().toUpperCase()); + logTouchIntent.putExtra("geocode", trackable.getGeocode()); logTouchIntent.putExtra("guid", trackable.getGuid()); logTouchIntent.putExtra("trackingcode", trackable.getTrackingcode()); context.startActivity(logTouchIntent); diff --git a/main/src/cgeo/geocaching/SearchActivity.java b/main/src/cgeo/geocaching/SearchActivity.java index 5f2bddc..35fe70d 100644 --- a/main/src/cgeo/geocaching/SearchActivity.java +++ b/main/src/cgeo/geocaching/SearchActivity.java @@ -28,6 +28,8 @@ import android.widget.AutoCompleteTextView; import android.widget.Button; import android.widget.EditText; +import java.util.Locale; + public class SearchActivity extends AbstractActivity { private static final String EXTRAS_KEYWORDSEARCH = "keywordsearch"; @@ -104,7 +106,7 @@ public class SearchActivity extends AbstractActivity { final IConnector connector = ConnectorFactory.getConnector(geocode); if (connector instanceof ISearchByGeocode) { final Intent cachesIntent = new Intent(this, CacheDetailActivity.class); - cachesIntent.putExtra("geocode", geocode.toUpperCase()); + cachesIntent.putExtra("geocode", geocode.toUpperCase(Locale.US)); startActivity(cachesIntent); return true; } @@ -113,7 +115,7 @@ public class SearchActivity extends AbstractActivity { final String trackable = BaseUtils.getMatch(query, GCConstants.PATTERN_TB_CODE, true, 0, "", false); if (StringUtils.isNotBlank(trackable)) { final Intent trackablesIntent = new Intent(this, cgeotrackable.class); - trackablesIntent.putExtra("geocode", trackable.toUpperCase()); + trackablesIntent.putExtra("geocode", trackable.toUpperCase(Locale.US)); startActivity(trackablesIntent); return true; } @@ -154,7 +156,7 @@ public class SearchActivity extends AbstractActivity { findByGeocodeFn(); } }); - addHistoryEntries(geocodeEdit, app.geocodesInCache()); + addHistoryEntries(geocodeEdit, cgData.getRecentGeocodesForSearch()); final Button displayByGeocode = (Button) findViewById(R.id.display_geocode); displayByGeocode.setOnClickListener(new findByGeocodeListener()); @@ -206,7 +208,7 @@ public class SearchActivity extends AbstractActivity { findTrackableFn(); } }); - addHistoryEntries(trackable, app.getTrackableCodes()); + addHistoryEntries(trackable, cgData.getTrackableCodes()); disableSuggestions(trackable); @@ -402,7 +404,7 @@ public class SearchActivity extends AbstractActivity { } final Intent trackablesIntent = new Intent(this, cgeotrackable.class); - trackablesIntent.putExtra("geocode", trackableText.toUpperCase()); + trackablesIntent.putExtra("geocode", trackableText.toUpperCase(Locale.US)); startActivity(trackablesIntent); } diff --git a/main/src/cgeo/geocaching/SearchResult.java b/main/src/cgeo/geocaching/SearchResult.java index e21717d..861367b 100644 --- a/main/src/cgeo/geocaching/SearchResult.java +++ b/main/src/cgeo/geocaching/SearchResult.java @@ -170,8 +170,7 @@ public class SearchResult implements Parcelable { SearchResult result = new SearchResult(this); result.geocodes.clear(); final ArrayList<cgCache> cachesForVote = new ArrayList<cgCache>(); - - final Set<cgCache> caches = cgeoapplication.getInstance().loadCaches(geocodes, LoadFlags.LOAD_CACHE_OR_DB); + final Set<cgCache> caches = cgData.loadCaches(geocodes, LoadFlags.LOAD_CACHE_OR_DB); for (cgCache cache : caches) { // Is there any reason to exclude the cache from the list? final boolean excludeCache = (excludeDisabled && cache.isDisabled()) || @@ -188,13 +187,13 @@ public class SearchResult implements Parcelable { public cgCache getFirstCacheFromResult(final EnumSet<LoadFlag> loadFlags) { if (geocodes != null && geocodes.size() >= 1) { - return cgeoapplication.getInstance().loadCache((String) geocodes.toArray()[0], loadFlags); + return cgData.loadCache((String) geocodes.toArray()[0], loadFlags); } return null; } public Set<cgCache> getCachesFromSearchResult(final EnumSet<LoadFlag> loadFlags) { - return cgeoapplication.getInstance().loadCaches(geocodes, loadFlags); + return cgData.loadCaches(geocodes, loadFlags); } /** Add the geocode to the search. No cache is loaded into the CacheCache */ @@ -213,11 +212,24 @@ public class SearchResult implements Parcelable { /** Add the cache geocode to the search and store the cache in the CacheCache */ public boolean addCache(final cgCache cache) { addGeocode(cache.getGeocode()); - return cgeoapplication.getInstance().saveCache(cache, EnumSet.of(SaveFlag.SAVE_CACHE)); + return cgData.saveCache(cache, EnumSet.of(SaveFlag.SAVE_CACHE)); } public boolean isEmpty() { return geocodes.isEmpty(); } + public boolean hasUnsavedCaches() { + if (this == null) { + return false; + } + + for (final String geocode : getGeocodes()) { + if (!cgData.isOffline(geocode, null)) { + return true; + } + } + return false; + } + } diff --git a/main/src/cgeo/geocaching/Settings.java b/main/src/cgeo/geocaching/Settings.java index e1ae9c0..6845169 100644 --- a/main/src/cgeo/geocaching/Settings.java +++ b/main/src/cgeo/geocaching/Settings.java @@ -75,7 +75,6 @@ public final class Settings { private static final String KEY_AUTO_VISIT_TRACKABLES = "trackautovisit"; private static final String KEY_AUTO_INSERT_SIGNATURE = "sigautoinsert"; private static final String KEY_ALTITUDE_CORRECTION = "altcorrection"; - private static final String KEY_USE_GOOGLE_NAVIGATION = "usegnav"; private static final String KEY_STORE_LOG_IMAGES = "logimages"; private static final String KEY_EXCLUDE_DISABLED = "excludedisabled"; private static final String KEY_EXCLUDE_OWN = "excludemine"; @@ -192,7 +191,6 @@ public final class Settings { e.putBoolean(KEY_AUTO_VISIT_TRACKABLES, old.getBoolean(KEY_AUTO_VISIT_TRACKABLES, false)); e.putBoolean(KEY_AUTO_INSERT_SIGNATURE, old.getBoolean(KEY_AUTO_INSERT_SIGNATURE, false)); e.putInt(KEY_ALTITUDE_CORRECTION, old.getInt(KEY_ALTITUDE_CORRECTION, 0)); - e.putBoolean(KEY_USE_GOOGLE_NAVIGATION, 0 != old.getInt(KEY_USE_GOOGLE_NAVIGATION, 1)); e.putBoolean(KEY_STORE_LOG_IMAGES, old.getBoolean(KEY_STORE_LOG_IMAGES, false)); e.putBoolean(KEY_EXCLUDE_DISABLED, 0 != old.getInt(KEY_EXCLUDE_DISABLED, 0)); e.putBoolean(KEY_EXCLUDE_OWN, 0 != old.getInt(KEY_EXCLUDE_OWN, 0)); @@ -672,20 +670,6 @@ public final class Settings { }); } - public static boolean isUseGoogleNavigation() { - return sharedPrefs.getBoolean(KEY_USE_GOOGLE_NAVIGATION, true); - } - - public static void setUseGoogleNavigation(final boolean useGoogleNavigation) { - editSharedSettings(new PrefRunnable() { - - @Override - public void edit(Editor edit) { - edit.putBoolean(KEY_USE_GOOGLE_NAVIGATION, useGoogleNavigation); - } - }); - } - public static boolean isAutoLoadDescription() { return sharedPrefs.getBoolean(KEY_LOAD_DESCRIPTION, false); } diff --git a/main/src/cgeo/geocaching/SettingsActivity.java b/main/src/cgeo/geocaching/SettingsActivity.java index 823b52f..2acdf82 100644 --- a/main/src/cgeo/geocaching/SettingsActivity.java +++ b/main/src/cgeo/geocaching/SettingsActivity.java @@ -5,7 +5,6 @@ import cgeo.geocaching.apps.cache.navi.NavigationAppFactory; import cgeo.geocaching.apps.cache.navi.NavigationAppFactory.NavigationAppsEnum; import cgeo.geocaching.compatibility.Compatibility; import cgeo.geocaching.connector.gc.Login; -import cgeo.geocaching.enumerations.CacheType; import cgeo.geocaching.enumerations.StatusCode; import cgeo.geocaching.files.SimpleDirChooser; import cgeo.geocaching.maps.MapProviderFactory; @@ -24,6 +23,7 @@ import ch.boye.httpclientandroidlib.HttpResponse; import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.tuple.ImmutablePair; +import org.openintents.intents.FileManagerIntents; import android.app.ProgressDialog; import android.content.Context; @@ -495,16 +495,6 @@ public class SettingsActivity extends AbstractActivity { } }); - final CheckBox gnavButton = (CheckBox) findViewById(R.id.gnav); - gnavButton.setChecked(Settings.isUseGoogleNavigation()); - gnavButton.setOnClickListener(new View.OnClickListener() { - - @Override - public void onClick(View v) { - Settings.setUseGoogleNavigation(gnavButton.isChecked()); - } - }); - final CheckBox logOffline = (CheckBox) findViewById(R.id.log_offline); logOffline.setChecked(Settings.getLogOffline()); logOffline.setOnClickListener(new View.OnClickListener() { @@ -577,9 +567,7 @@ public class SettingsActivity extends AbstractActivity { @Override public void onClick(View v) { - Intent dirChooser = new Intent(SettingsActivity.this, SimpleDirChooser.class); - dirChooser.putExtra(SimpleDirChooser.START_DIR, Settings.getCustomRenderThemeBaseFolder()); - startActivityForResult(dirChooser, SELECT_THEMEFOLDER_REQUEST); + selectDirectory(Settings.getCustomRenderThemeBaseFolder(), SELECT_THEMEFOLDER_REQUEST); } }); @@ -591,9 +579,7 @@ public class SettingsActivity extends AbstractActivity { @Override public void onClick(View v) { - Intent dirChooser = new Intent(SettingsActivity.this, SimpleDirChooser.class); - dirChooser.putExtra(SimpleDirChooser.START_DIR, Settings.getGpxExportDir()); - startActivityForResult(dirChooser, SELECT_GPX_EXPORT_REQUEST); + selectDirectory(Settings.getGpxExportDir(), SELECT_GPX_EXPORT_REQUEST); } }); @@ -605,9 +591,7 @@ public class SettingsActivity extends AbstractActivity { @Override public void onClick(View v) { - Intent dirChooser = new Intent(SettingsActivity.this, SimpleDirChooser.class); - dirChooser.putExtra(SimpleDirChooser.START_DIR, Settings.getGpxImportDir()); - startActivityForResult(dirChooser, SELECT_GPX_IMPORT_REQUEST); + selectDirectory(Settings.getGpxImportDir(), SELECT_GPX_IMPORT_REQUEST); } }); @@ -775,7 +759,7 @@ public class SettingsActivity extends AbstractActivity { */ public void backup(View view) { // avoid overwriting an existing backup with an empty database (can happen directly after reinstalling the app) - if (app.getAllStoredCachesCount(true, CacheType.ALL) == 0) { + if (cgData.getAllCachesCount() == 0) { helpDialog(res.getString(R.string.init_backup), res.getString(R.string.init_backup_unnecessary)); return; } @@ -784,7 +768,7 @@ public class SettingsActivity extends AbstractActivity { new Thread() { @Override public void run() { - final String backupFileName = app.backupDatabase(); + final String backupFileName = cgData.backupDatabase(); runOnUiThread(new Runnable() { @Override public void run() { @@ -800,7 +784,7 @@ public class SettingsActivity extends AbstractActivity { private void refreshBackupLabel() { TextView lastBackup = (TextView) findViewById(R.id.backup_last); - File lastBackupFile = cgeoapplication.isRestoreFile(); + File lastBackupFile = cgData.getRestoreFile(); if (lastBackupFile != null) { lastBackup.setText(res.getString(R.string.init_backup_last) + " " + Formatter.formatTime(lastBackupFile.lastModified()) + ", " + Formatter.formatDate(lastBackupFile.lastModified())); } else { @@ -966,9 +950,12 @@ public class SettingsActivity extends AbstractActivity { @Override protected void onActivityResult(int requestCode, int resultCode, final Intent data) { super.onActivityResult(requestCode, resultCode, data); + if (resultCode != RESULT_OK) { + return; + } - if (requestCode == SELECT_MAPFILE_REQUEST) { - if (resultCode == RESULT_OK) { + switch (requestCode) { + case SELECT_MAPFILE_REQUEST: if (data.hasExtra("mapfile")) { final String mapFile = data.getStringExtra("mapfile"); Settings.setMapFile(mapFile); @@ -976,48 +963,76 @@ public class SettingsActivity extends AbstractActivity { showToast(res.getString(R.string.warn_invalid_mapfile)); } } - } - updateMapSourceMenu(); - initMapDirectoryEdittext(true); - } - if (requestCode == SELECT_GPX_EXPORT_REQUEST) { - checkDirectory(resultCode, data, R.id.gpx_exportdir, new RunnableWithArgument<String>() { + updateMapSourceMenu(); + initMapDirectoryEdittext(true); + break; + case SELECT_GPX_EXPORT_REQUEST: + checkDirectory(resultCode, data, R.id.gpx_exportdir, new RunnableWithArgument<String>() { - @Override - public void run(String directory) { - Settings.setGpxExportDir(directory); - } - }); - } - if (requestCode == SELECT_GPX_IMPORT_REQUEST) { - checkDirectory(resultCode, data, R.id.gpx_importdir, new RunnableWithArgument<String>() { + @Override + public void run(String directory) { + Settings.setGpxExportDir(directory); + } + }); + break; + case SELECT_GPX_IMPORT_REQUEST: + checkDirectory(resultCode, data, R.id.gpx_importdir, new RunnableWithArgument<String>() { - @Override - public void run(String directory) { - Settings.setGpxImportDir(directory); - } - }); - } - if (requestCode == SELECT_THEMEFOLDER_REQUEST) { - checkDirectory(resultCode, data, R.id.themefolder, new RunnableWithArgument<String>() { + @Override + public void run(String directory) { + Settings.setGpxImportDir(directory); + } + }); + break; + case SELECT_THEMEFOLDER_REQUEST: + checkDirectory(resultCode, data, R.id.themefolder, new RunnableWithArgument<String>() { - @Override - public void run(String directory) { - Settings.setCustomRenderThemeBaseFolder(directory); - } - }); + @Override + public void run(String directory) { + Settings.setCustomRenderThemeBaseFolder(directory); + } + }); + break; + default: + throw new IllegalArgumentException(); } } private void checkDirectory(int resultCode, Intent data, int textField, RunnableWithArgument<String> runnableSetDir) { - if (resultCode == RESULT_OK) { - if (data.hasExtra(SimpleDirChooser.EXTRA_CHOSEN_DIR)) { - final String directory = data.getStringExtra(SimpleDirChooser.EXTRA_CHOSEN_DIR); - runnableSetDir.run(directory); - EditText directoryText = (EditText) findViewById(textField); - directoryText.setText(directory); - directoryText.requestFocus(); + if (resultCode != RESULT_OK) { + return; + } + String directory = null; + // we may come back from either our selfmade chooser or from the Open Intent manager + if (data.hasExtra(SimpleDirChooser.EXTRA_CHOSEN_DIR)) { + directory = data.getStringExtra(SimpleDirChooser.EXTRA_CHOSEN_DIR); + } + else { + directory = new File(data.getData().getPath()).getAbsolutePath(); + } + if (StringUtils.isNotBlank(directory)) { + runnableSetDir.run(directory); + EditText directoryText = (EditText) findViewById(textField); + directoryText.setText(directory); + directoryText.requestFocus(); + } + } + + private void selectDirectory(String startDirectory, int directoryKind) { + Intent dirChooser; + try { + dirChooser = new Intent(FileManagerIntents.ACTION_PICK_DIRECTORY); + if (StringUtils.isNotBlank(startDirectory)) { + dirChooser.setData(Uri.parse("file://" + new File(startDirectory).getAbsolutePath())); } + dirChooser.putExtra(FileManagerIntents.EXTRA_TITLE, res.getString(R.string.simple_dir_chooser_title)); + dirChooser.putExtra(FileManagerIntents.EXTRA_BUTTON_TEXT, res.getString(android.R.string.ok)); + startActivityForResult(dirChooser, directoryKind); + } catch (android.content.ActivityNotFoundException ex) { + // OI file manager not available + dirChooser = new Intent(SettingsActivity.this, SimpleDirChooser.class); + dirChooser.putExtra(SimpleDirChooser.START_DIR, startDirectory); + startActivityForResult(dirChooser, directoryKind); } } diff --git a/main/src/cgeo/geocaching/StaticMapsActivity.java b/main/src/cgeo/geocaching/StaticMapsActivity.java index 05a18f2..82fa46d 100644 --- a/main/src/cgeo/geocaching/StaticMapsActivity.java +++ b/main/src/cgeo/geocaching/StaticMapsActivity.java @@ -183,16 +183,16 @@ public class StaticMapsActivity extends AbstractActivity { } private boolean downloadStaticMaps() { - final cgCache cache = app.loadCache(geocode, LoadFlags.LOAD_CACHE_OR_DB); + final cgCache cache = cgData.loadCache(geocode, LoadFlags.LOAD_CACHE_OR_DB); if (waypoint_id == null) { showToast(res.getString(R.string.info_storing_static_maps)); - StaticMapsProvider.storeCacheStaticMap(cache, this, true); + StaticMapsProvider.storeCacheStaticMap(cache, true); return cache.hasStaticMap(); } final cgWaypoint waypoint = cache.getWaypointById(waypoint_id); if (waypoint != null) { showToast(res.getString(R.string.info_storing_static_maps)); - StaticMapsProvider.storeWaypointStaticMap(cache, this, waypoint, true); + StaticMapsProvider.storeWaypointStaticMap(cache, waypoint, true); return StaticMapsProvider.hasStaticMapForWaypoint(geocode, waypoint_id); } showToast(res.getString(R.string.err_detail_not_load_map_static)); diff --git a/main/src/cgeo/geocaching/StaticMapsProvider.java b/main/src/cgeo/geocaching/StaticMapsProvider.java index 8292cb4..15193db 100644 --- a/main/src/cgeo/geocaching/StaticMapsProvider.java +++ b/main/src/cgeo/geocaching/StaticMapsProvider.java @@ -1,5 +1,6 @@ package cgeo.geocaching; +import cgeo.geocaching.compatibility.Compatibility; import cgeo.geocaching.concurrent.BlockingThreadPool; import cgeo.geocaching.files.LocalStorage; import cgeo.geocaching.geopoint.GeopointFormatter.Format; @@ -12,10 +13,10 @@ import ch.boye.httpclientandroidlib.HttpResponse; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang3.StringUtils; -import android.app.Activity; import android.content.Context; import android.graphics.Bitmap; import android.graphics.BitmapFactory; +import android.graphics.Point; import android.util.DisplayMetrics; import android.view.Display; import android.view.WindowManager; @@ -80,11 +81,6 @@ public class StaticMapsProvider { } public static void downloadMaps(cgCache cache) { - final Display display = ((WindowManager) cgeoapplication.getInstance().getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay(); - downloadMaps(cache, display); - } - - private static void downloadMaps(cgCache cache, Display display) { if (cache == null) { Log.e("downloadMaps - missing input parameter cache"); return; @@ -92,7 +88,7 @@ public class StaticMapsProvider { if ((!Settings.isStoreOfflineMaps() && !Settings.isStoreOfflineWpMaps()) || StringUtils.isBlank(cache.getGeocode())) { return; } - int edge = guessMaxDisplaySide(display); + int edge = guessMaxDisplaySide(); if (Settings.isStoreOfflineMaps() && cache.getCoords() != null) { storeCachePreviewMap(cache); @@ -109,8 +105,8 @@ public class StaticMapsProvider { } } - public static void storeWaypointStaticMap(cgCache cache, Activity activity, cgWaypoint waypoint, boolean waitForResult) { - int edge = StaticMapsProvider.guessMaxDisplaySide(activity); + public static void storeWaypointStaticMap(cgCache cache, cgWaypoint waypoint, boolean waitForResult) { + int edge = StaticMapsProvider.guessMaxDisplaySide(); storeWaypointStaticMap(cache.getGeocode(), edge, waypoint, waitForResult); } @@ -132,8 +128,8 @@ public class StaticMapsProvider { downloadMaps(geocode, wpMarkerUrl, WAYPOINT_PREFIX + waypoint.getId() + '_', wpLatlonMap, edge, null, waitForResult); } - public static void storeCacheStaticMap(cgCache cache, Activity activity, final boolean waitForResult) { - int edge = guessMaxDisplaySide(activity); + public static void storeCacheStaticMap(cgCache cache, final boolean waitForResult) { + int edge = guessMaxDisplaySide(); storeCacheStaticMap(cache, edge, waitForResult); } @@ -167,19 +163,16 @@ public class StaticMapsProvider { downloadMap(cache.getGeocode(), 15, ROADMAP, markerUrl, PREFIX_PREVIEW, "shadow:false|", latlonMap, width, height, null); } - private static int guessMaxDisplaySide(Display display) { - final int maxWidth = display.getWidth() - 25; - final int maxHeight = display.getHeight() - 25; + private static int guessMaxDisplaySide() { + Point displaySize = Compatibility.getDisplaySize(); + final int maxWidth = displaySize.x - 25; + final int maxHeight = displaySize.y - 25; if (maxWidth > maxHeight) { return maxWidth; } return maxHeight; } - private static int guessMaxDisplaySide(Activity activity) { - return guessMaxDisplaySide(((WindowManager) activity.getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay()); - } - private static void downloadMaps(final String geocode, final String markerUrl, final String prefix, final String latlonMap, final int edge, final Parameters waypoints, boolean waitForResult) { if (waitForResult) { diff --git a/main/src/cgeo/geocaching/StoredList.java b/main/src/cgeo/geocaching/StoredList.java index cdff1cb..bb00506 100644 --- a/main/src/cgeo/geocaching/StoredList.java +++ b/main/src/cgeo/geocaching/StoredList.java @@ -50,7 +50,7 @@ public class StoredList { } public void promptForListSelection(final int titleId, final RunnableWithArgument<Integer> runAfterwards, final boolean onlyMoveTargets) { - final List<StoredList> lists = app.getLists(); + final List<StoredList> lists = cgData.getLists(); if (lists == null) { return; @@ -94,7 +94,7 @@ public class StoredList { @Override public void run(final String listName) { - final int newId = app.createList(listName); + final int newId = cgData.createList(listName); if (newId >= cgData.customListIdOffset) { activity.showToast(res.getString(R.string.list_dialog_create_ok)); @@ -137,12 +137,12 @@ public class StoredList { } public void promptForListRename(final int listId, final Runnable runAfterRename) { - final StoredList list = app.getList(listId); + final StoredList list = cgData.getList(listId); handleListNameInput(list.title, R.string.list_dialog_rename_title, R.string.list_dialog_rename, new RunnableWithArgument<String>() { @Override public void run(final String listName) { - app.renameList(listId, listName); + cgData.renameList(listId, listName); if (runAfterRename != null) { runAfterRename.run(); } diff --git a/main/src/cgeo/geocaching/VisitCacheActivity.java b/main/src/cgeo/geocaching/VisitCacheActivity.java index 443ef3a..76018c0 100644 --- a/main/src/cgeo/geocaching/VisitCacheActivity.java +++ b/main/src/cgeo/geocaching/VisitCacheActivity.java @@ -42,6 +42,7 @@ import java.util.ArrayList; import java.util.Calendar; import java.util.Date; import java.util.List; +import java.util.Locale; public class VisitCacheActivity extends AbstractLoggingActivity implements DateDialog.DateDialogParent { static final String EXTRAS_FOUND = "found"; @@ -250,18 +251,17 @@ public class VisitCacheActivity extends AbstractLoggingActivity implements DateD } if ((StringUtils.isBlank(cacheid)) && StringUtils.isNotBlank(geocode)) { - cacheid = app.getCacheid(geocode); + cacheid = cgData.getCacheidForGeocode(geocode); } if (StringUtils.isBlank(geocode) && StringUtils.isNotBlank(cacheid)) { - geocode = app.getGeocode(cacheid); + geocode = cgData.getGeocodeForGuid(cacheid); } - - cache = cgeoapplication.getInstance().loadCache(geocode, LoadFlags.LOAD_CACHE_OR_DB); + cache = cgData.loadCache(geocode, LoadFlags.LOAD_CACHE_OR_DB); if (StringUtils.isNotBlank(cache.getName())) { setTitle(res.getString(R.string.log_new_log) + ": " + cache.getName()); } else { - setTitle(res.getString(R.string.log_new_log) + ": " + cache.getGeocode().toUpperCase()); + setTitle(res.getString(R.string.log_new_log) + ": " + cache.getGeocode()); } init(); @@ -335,7 +335,7 @@ public class VisitCacheActivity extends AbstractLoggingActivity implements DateD } private static String ratingTextValue(final double rating) { - return String.format("%.1f", rating); + return String.format(Locale.getDefault(), "%.1f", rating); } @Override @@ -449,7 +449,7 @@ public class VisitCacheActivity extends AbstractLoggingActivity implements DateD possibleLogTypes = cache.getPossibleLogTypes(); - final LogEntry log = app.loadLogOffline(geocode); + final LogEntry log = cgData.loadLogOffline(geocode); if (log != null) { typeSelected = log.type; date.setTime(new Date(log.date)); @@ -575,7 +575,7 @@ public class VisitCacheActivity extends AbstractLoggingActivity implements DateD @Override public void onClick(View arg0) { //TODO: unify this method and the code in init() - app.clearLogOffline(geocode); + cgData.clearLogOffline(geocode); if (alreadyFound) { typeSelected = LogType.NOTE; @@ -686,11 +686,11 @@ public class VisitCacheActivity extends AbstractLoggingActivity implements DateD cache.setFound(true); } - app.updateCache(cache); + cgData.saveChangedCache(cache); } if (status == StatusCode.NO_ERROR) { - app.clearLogOffline(geocode); + cgData.clearLogOffline(geocode); } if (status == StatusCode.NO_ERROR && typeSelected == LogType.FOUND_IT && Settings.isUseTwitter() diff --git a/main/src/cgeo/geocaching/WaypointPopup.java b/main/src/cgeo/geocaching/WaypointPopup.java index 7fbfe10..eb0bc17 100644 --- a/main/src/cgeo/geocaching/WaypointPopup.java +++ b/main/src/cgeo/geocaching/WaypointPopup.java @@ -38,12 +38,12 @@ public class WaypointPopup extends AbstractPopupActivity { @Override protected void init() { super.init(); - waypoint = app.loadWaypoint(waypointId); + waypoint = cgData.loadWaypoint(waypointId); try { if (StringUtils.isNotBlank(waypoint.getName())) { setTitle(waypoint.getName()); } else { - setTitle(waypoint.getGeocode().toUpperCase()); + setTitle(waypoint.getGeocode()); } // actionbar icon @@ -53,7 +53,7 @@ public class WaypointPopup extends AbstractPopupActivity { details = new CacheDetailsCreator(this, (LinearLayout) findViewById(R.id.waypoint_details_list)); //Waypoint geocode - details.add(R.string.cache_geocode, waypoint.getPrefix().toUpperCase() + waypoint.getGeocode().toUpperCase().substring(2)); + details.add(R.string.cache_geocode, waypoint.getPrefix() + waypoint.getGeocode().substring(2)); // Edit Button final Button buttonEdit = (Button) findViewById(R.id.edit); diff --git a/main/src/cgeo/geocaching/activity/FilteredActivity.java b/main/src/cgeo/geocaching/activity/FilteredActivity.java new file mode 100644 index 0000000..0370d63 --- /dev/null +++ b/main/src/cgeo/geocaching/activity/FilteredActivity.java @@ -0,0 +1,11 @@ +package cgeo.geocaching.activity; + +import android.view.View; + +public interface FilteredActivity { + /** + * called from the filter bar view + */ + public void showFilterMenu(final View view); + +} diff --git a/main/src/cgeo/geocaching/apps/AbstractLocusApp.java b/main/src/cgeo/geocaching/apps/AbstractLocusApp.java index ac6fc1c..8f61e72 100644 --- a/main/src/cgeo/geocaching/apps/AbstractLocusApp.java +++ b/main/src/cgeo/geocaching/apps/AbstractLocusApp.java @@ -22,6 +22,7 @@ import android.location.Location; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.List; +import java.util.Locale; /** * for the Locus API: @@ -30,7 +31,7 @@ import java.util.List; */ public abstract class AbstractLocusApp extends AbstractApp { private static final String INTENT = Intent.ACTION_VIEW; - private static final SimpleDateFormat ISO8601DATE = new SimpleDateFormat("yyyy-MM-dd'T'"); + private static final SimpleDateFormat ISO8601DATE = new SimpleDateFormat("yyyy-MM-dd'T'", Locale.US); protected AbstractLocusApp() { super(getString(R.string.caches_map_locus), INTENT); @@ -47,11 +48,11 @@ public abstract class AbstractLocusApp extends AbstractApp { /** * Display a list of caches / waypoints in Locus - * + * * @param objectsToShow * which caches/waypoints to show * @param withCacheWaypoints - * wether to give waypoints of caches to Locus or not + * Whether to give waypoints of caches to Locus or not * @param activity */ protected static boolean showInLocus(final List<?> objectsToShow, final boolean withCacheWaypoints, final boolean export, @@ -85,7 +86,7 @@ public abstract class AbstractLocusApp extends AbstractApp { final ArrayList<PointsData> data = new ArrayList<PointsData>(); data.add(pd); DisplayData.sendDataCursor(activity, data, - "content://" + LocusDataStorageProvider.class.getCanonicalName().toLowerCase(), + "content://" + LocusDataStorageProvider.class.getCanonicalName().toLowerCase(Locale.US), export); } diff --git a/main/src/cgeo/geocaching/apps/cache/navi/AbstractNavigationApp.java b/main/src/cgeo/geocaching/apps/cache/navi/AbstractNavigationApp.java deleted file mode 100644 index 27cb47c..0000000 --- a/main/src/cgeo/geocaching/apps/cache/navi/AbstractNavigationApp.java +++ /dev/null @@ -1,26 +0,0 @@ -package cgeo.geocaching.apps.cache.navi; - -import cgeo.geocaching.cgWaypoint; -import cgeo.geocaching.apps.AbstractApp; -import cgeo.geocaching.geopoint.Geopoint; - -abstract class AbstractNavigationApp extends AbstractApp implements NavigationApp { - - protected AbstractNavigationApp(String name, String intent, String packageName) { - super(name, intent, packageName); - } - - protected AbstractNavigationApp(String name, String intent) { - super(name, intent); - } - - @Override - public boolean isEnabled(cgWaypoint waypoint) { - return waypoint != null; - } - - @Override - public boolean isEnabled(Geopoint geopoint) { - return geopoint != null; - } -} diff --git a/main/src/cgeo/geocaching/apps/cache/navi/AbstractStaticMapsApp.java b/main/src/cgeo/geocaching/apps/cache/navi/AbstractStaticMapsApp.java index f27b53c..f8521ad 100644 --- a/main/src/cgeo/geocaching/apps/cache/navi/AbstractStaticMapsApp.java +++ b/main/src/cgeo/geocaching/apps/cache/navi/AbstractStaticMapsApp.java @@ -5,8 +5,8 @@ import cgeo.geocaching.R; import cgeo.geocaching.StaticMapsActivity; import cgeo.geocaching.StaticMapsProvider; import cgeo.geocaching.cgCache; +import cgeo.geocaching.cgData; import cgeo.geocaching.cgWaypoint; -import cgeo.geocaching.cgeoapplication; import cgeo.geocaching.activity.ActivityMixin; import cgeo.geocaching.apps.AbstractApp; @@ -30,11 +30,12 @@ abstract class AbstractStaticMapsApp extends AbstractApp implements CacheNavigat } protected static boolean hasStaticMap(cgWaypoint waypoint) { - if (waypoint==null) + if (waypoint==null) { return false; + } String geocode = waypoint.getGeocode(); int id = waypoint.getId(); - if (StringUtils.isNotEmpty(geocode) && cgeoapplication.getInstance().isOffline(geocode, null)) { + if (StringUtils.isNotEmpty(geocode) && cgData.isOffline(geocode, null)) { return StaticMapsProvider.hasStaticMapForWaypoint(geocode, id); } return false; diff --git a/main/src/cgeo/geocaching/apps/cache/navi/GoogleMapsDirectionApp.java b/main/src/cgeo/geocaching/apps/cache/navi/GoogleMapsDirectionApp.java new file mode 100644 index 0000000..db4fc1c --- /dev/null +++ b/main/src/cgeo/geocaching/apps/cache/navi/GoogleMapsDirectionApp.java @@ -0,0 +1,48 @@ +package cgeo.geocaching.apps.cache.navi; + +import cgeo.geocaching.IGeoData; +import cgeo.geocaching.R; +import cgeo.geocaching.cgeoapplication; +import cgeo.geocaching.geopoint.Geopoint; +import cgeo.geocaching.maps.MapProviderFactory; +import cgeo.geocaching.utils.Log; + +import android.app.Activity; +import android.content.Intent; +import android.net.Uri; + +public class GoogleMapsDirectionApp extends AbstractPointNavigationApp { + + protected GoogleMapsDirectionApp() { + super(getString(R.string.cache_menu_maps_directions), null); + } + + @Override + public boolean isInstalled() { + return MapProviderFactory.isGoogleMapsInstalled(); + } + + @Override + public void navigate(Activity activity, Geopoint coords) { + try { + IGeoData geo = cgeoapplication.getInstance().currentGeo(); + final Geopoint coordsNow = geo == null ? null : geo.getCoords(); + + if (coordsNow != null) { + activity.startActivity(new Intent(Intent.ACTION_VIEW, Uri + .parse("http://maps.google.com/maps?f=d&saddr=" + + coordsNow.getLatitude() + "," + coordsNow.getLongitude() + "&daddr=" + + coords.getLatitude() + "," + coords.getLongitude()))); + } else { + activity.startActivity(new Intent(Intent.ACTION_VIEW, Uri + .parse("http://maps.google.com/maps?f=d&daddr=" + + coords.getLatitude() + "," + coords.getLongitude()))); + } + + } catch (Exception e) { + Log.i("GoogleMapsDirection: application not available."); + } + + } + +} diff --git a/main/src/cgeo/geocaching/apps/cache/navi/GoogleNavigationApp.java b/main/src/cgeo/geocaching/apps/cache/navi/GoogleNavigationApp.java index 7258e11..e74eb89 100644 --- a/main/src/cgeo/geocaching/apps/cache/navi/GoogleNavigationApp.java +++ b/main/src/cgeo/geocaching/apps/cache/navi/GoogleNavigationApp.java @@ -1,10 +1,6 @@ package cgeo.geocaching.apps.cache.navi; -import cgeo.geocaching.IGeoData; import cgeo.geocaching.R; -import cgeo.geocaching.Settings; -import cgeo.geocaching.cgeoapplication; -import cgeo.geocaching.activity.ActivityMixin; import cgeo.geocaching.geopoint.Geopoint; import cgeo.geocaching.utils.Log; @@ -12,10 +8,13 @@ import android.app.Activity; import android.content.Intent; import android.net.Uri; -class GoogleNavigationApp extends AbstractPointNavigationApp { +abstract class GoogleNavigationApp extends AbstractPointNavigationApp { - GoogleNavigationApp() { - super(getString(R.string.cache_menu_tbt), null); + private final String mode; + + GoogleNavigationApp(final int nameResourceId, final String mode) { + super(getString(nameResourceId), null); + this.mode = mode; } @Override @@ -23,49 +22,27 @@ class GoogleNavigationApp extends AbstractPointNavigationApp { return true; } - private static boolean navigateToCoordinates(Activity activity, final Geopoint coords) { - IGeoData geo = cgeoapplication.getInstance().currentGeo(); - final Geopoint coordsNow = geo == null ? null : geo.getCoords(); - - // Google Navigation - if (Settings.isUseGoogleNavigation()) { - try { - activity.startActivity(new Intent(Intent.ACTION_VIEW, Uri - .parse("google.navigation:ll=" + coords.getLatitude() + "," - + coords.getLongitude()))); - - return true; - } catch (Exception e) { - // nothing - } - } - - // Google Maps Directions + @Override + public void navigate(Activity activity, Geopoint coords) { try { - if (coordsNow != null) { - activity.startActivity(new Intent(Intent.ACTION_VIEW, Uri - .parse("http://maps.google.com/maps?f=d&saddr=" - + coordsNow.getLatitude() + "," + coordsNow.getLongitude() + "&daddr=" - + coords.getLatitude() + "," + coords.getLongitude()))); - } else { - activity.startActivity(new Intent(Intent.ACTION_VIEW, Uri - .parse("http://maps.google.com/maps?f=d&daddr=" - + coords.getLatitude() + "," + coords.getLongitude()))); - } + activity.startActivity(new Intent(Intent.ACTION_VIEW, Uri + .parse("google.navigation:ll=" + coords.getLatitude() + "," + + coords.getLongitude() + mode))); - return true; } catch (Exception e) { - // nothing + Log.i("cgBase.runNavigation: No navigation application available."); } + } - Log.i("cgBase.runNavigation: No navigation application available."); - return false; + static class GoogleNavigationWalkingApp extends GoogleNavigationApp { + GoogleNavigationWalkingApp() { + super(R.string.cache_menu_navigation_walk, "&mode=w"); + } } - @Override - public void navigate(Activity activity, Geopoint coords) { - if (!navigateToCoordinates(activity, coords)) { - ActivityMixin.showToast(activity, getString(R.string.err_navigation_no)); + static class GoogleNavigationDrivingApp extends GoogleNavigationApp { + GoogleNavigationDrivingApp() { + super(R.string.cache_menu_navigation_drive, "&mode=d"); } } }
\ No newline at end of file diff --git a/main/src/cgeo/geocaching/apps/cache/navi/NavigationApp.java b/main/src/cgeo/geocaching/apps/cache/navi/NavigationApp.java deleted file mode 100644 index 52d16cf..0000000 --- a/main/src/cgeo/geocaching/apps/cache/navi/NavigationApp.java +++ /dev/null @@ -1,18 +0,0 @@ -package cgeo.geocaching.apps.cache.navi; - -import cgeo.geocaching.cgCache; -import cgeo.geocaching.cgWaypoint; -import cgeo.geocaching.apps.App; -import cgeo.geocaching.geopoint.Geopoint; - -import android.app.Activity; - -public interface NavigationApp extends App { - public boolean invoke(final Activity activity, - final cgCache cache, final cgWaypoint waypoint, - final Geopoint coords); - - boolean isEnabled(final cgWaypoint waypoint); - - boolean isEnabled(final Geopoint geopoint); -} diff --git a/main/src/cgeo/geocaching/apps/cache/navi/NavigationAppFactory.java b/main/src/cgeo/geocaching/apps/cache/navi/NavigationAppFactory.java index 57a71bb..0ff4af2 100644 --- a/main/src/cgeo/geocaching/apps/cache/navi/NavigationAppFactory.java +++ b/main/src/cgeo/geocaching/apps/cache/navi/NavigationAppFactory.java @@ -8,6 +8,8 @@ import cgeo.geocaching.cgeoapplication; import cgeo.geocaching.activity.ActivityMixin; import cgeo.geocaching.apps.AbstractAppFactory; import cgeo.geocaching.apps.App; +import cgeo.geocaching.apps.cache.navi.GoogleNavigationApp.GoogleNavigationDrivingApp; +import cgeo.geocaching.apps.cache.navi.GoogleNavigationApp.GoogleNavigationWalkingApp; import cgeo.geocaching.geopoint.Geopoint; import android.app.Activity; @@ -40,7 +42,7 @@ public final class NavigationAppFactory extends AbstractAppFactory { /** Google Maps */ GOOGLE_MAPS(new GoogleMapsApp(), 6), /** Google Navigation */ - GOOGLE_NAVIGATION(new GoogleNavigationApp(), 7), + GOOGLE_NAVIGATION(new GoogleNavigationDrivingApp(), 7), /** Google Streetview */ GOOGLE_STREETVIEW(new StreetviewApp(), 8), /** The external OruxMaps app */ @@ -48,7 +50,15 @@ public final class NavigationAppFactory extends AbstractAppFactory { /** The external navigon app */ NAVIGON(new NavigonApp(), 10), /** The external Sygic app */ - SYGIC(new SygicNavigationApp(), 11); + SYGIC(new SygicNavigationApp(), 11), + /** + * Google Navigation in walking mode + */ + GOOGLE_NAVIGATION_WALK(new GoogleNavigationWalkingApp(), 12), + /** + * Google Maps Directions + */ + GOOGLE_MAPS_DIRECTIONS(new GoogleMapsDirectionApp(), 13); NavigationAppsEnum(App app, int id) { this.app = app; diff --git a/main/src/cgeo/geocaching/cgCache.java b/main/src/cgeo/geocaching/cgCache.java index 7035d65..6978bfa 100644 --- a/main/src/cgeo/geocaching/cgCache.java +++ b/main/src/cgeo/geocaching/cgCache.java @@ -38,7 +38,6 @@ import android.net.Uri; import android.os.Handler; import android.os.Message; import android.text.Html; -import android.text.Spannable; import java.util.ArrayList; import java.util.Calendar; @@ -66,7 +65,6 @@ public class cgCache implements ICache, IWaypoint { private String guid = ""; private CacheType cacheType = CacheType.UNKNOWN; private String name = ""; - private Spannable nameSp = null; private String ownerDisplayName = ""; private String ownerUserId = ""; private Date hidden = null; @@ -99,20 +97,20 @@ public class cgCache implements ICache, IWaypoint { private LazyInitializedList<String> attributes = new LazyInitializedList<String>() { @Override protected List<String> loadFromDatabase() { - return cgeoapplication.getInstance().loadAttributes(geocode); + return cgData.loadAttributes(geocode); } }; private LazyInitializedList<cgWaypoint> waypoints = new LazyInitializedList<cgWaypoint>() { @Override protected List<cgWaypoint> loadFromDatabase() { - return cgeoapplication.getInstance().loadWaypoints(geocode); + return cgData.loadWaypoints(geocode); } }; private List<cgImage> spoilers = null; private LazyInitializedList<LogEntry> logs = new LazyInitializedList<LogEntry>() { @Override protected List<LogEntry> loadFromDatabase() { - return cgeoapplication.getInstance().loadLogs(geocode); + return cgData.loadLogs(geocode); } }; private List<cgTrackable> inventory = null; @@ -227,9 +225,6 @@ public class cgCache implements ICache, IWaypoint { if (StringUtils.isBlank(name)) { name = other.name; } - if (StringUtils.isBlank(nameSp)) { - nameSp = other.nameSp; - } if (StringUtils.isBlank(ownerDisplayName)) { ownerDisplayName = other.ownerDisplayName; } @@ -294,12 +289,12 @@ public class cgCache implements ICache, IWaypoint { attributes.set(other.attributes); } if (waypoints.isEmpty()) { - waypoints.set(other.waypoints); + this.setWaypoints(other.waypoints.asList(), false); } else { ArrayList<cgWaypoint> newPoints = new ArrayList<cgWaypoint>(waypoints.asList()); - cgWaypoint.mergeWayPoints(newPoints, other.getWaypoints(), false); - waypoints.set(newPoints); + cgWaypoint.mergeWayPoints(newPoints, other.waypoints.asList(), false); + this.setWaypoints(newPoints, false); } if (spoilers == null) { spoilers = other.spoilers; @@ -376,7 +371,6 @@ public class cgCache implements ICache, IWaypoint { (direction != null ? direction.equals(other.direction) : null == other.direction) && (distance != null ? distance.equals(other.distance) : null == other.distance) && (elevation != null ? elevation.equals(other.elevation) : null == other.elevation) && - nameSp == other.nameSp && rating == other.rating && votes == other.votes && myVote == other.myVote && @@ -441,7 +435,7 @@ public class cgCache implements ICache, IWaypoint { } Intent logVisitIntent = new Intent((Activity) fromActivity, VisitCacheActivity.class); logVisitIntent.putExtra(VisitCacheActivity.EXTRAS_ID, cacheId); - logVisitIntent.putExtra(VisitCacheActivity.EXTRAS_GEOCODE, geocode.toUpperCase()); + logVisitIntent.putExtra(VisitCacheActivity.EXTRAS_GEOCODE, geocode); logVisitIntent.putExtra(VisitCacheActivity.EXTRAS_FOUND, found); ((Activity) fromActivity).startActivity(logVisitIntent); @@ -457,13 +451,12 @@ public class cgCache implements ICache, IWaypoint { if (logType == LogType.UNKNOWN) { return; } - cgeoapplication app = (cgeoapplication) fromActivity.getApplication(); - final boolean status = app.saveLogOffline(geocode, date.getTime(), logType, log); + final boolean status = cgData.saveLogOffline(geocode, date.getTime(), logType, log); Resources res = fromActivity.getResources(); if (status) { ActivityMixin.showToast(fromActivity, res.getString(R.string.info_log_saved)); - app.saveVisitDate(geocode); + cgData.saveVisitDate(geocode); logOffline = true; notifyChange(); @@ -603,7 +596,7 @@ public class cgCache implements ICache, IWaypoint { @Override public String getDescription() { if (description == null) { - description = StringUtils.defaultString(cgeoapplication.getInstance().getCacheDescription(geocode)); + description = StringUtils.defaultString(cgData.getCacheDescription(geocode)); } return description; } @@ -661,7 +654,7 @@ public class cgCache implements ICache, IWaypoint { } StringBuilder subject = new StringBuilder("Geocache "); - subject.append(geocode.toUpperCase()); + subject.append(geocode); if (StringUtils.isNotBlank(name)) { subject.append(" - ").append(name); } @@ -809,14 +802,6 @@ public class cgCache implements ICache, IWaypoint { this.detailed = detailed; } - public Spannable getNameSp() { - return nameSp; - } - - public void setNameSp(Spannable nameSp) { - this.nameSp = nameSp; - } - public void setHidden(final Date hidden) { if (hidden == null) { this.hidden = null; @@ -958,8 +943,7 @@ public class cgCache implements ICache, IWaypoint { } } } - - return saveToDatabase && cgeoapplication.getInstance().saveWaypoints(this); + return saveToDatabase && cgData.saveWaypoints(this); } /** @@ -1015,7 +999,7 @@ public class cgCache implements ICache, IWaypoint { } public void setGeocode(String geocode) { - this.geocode = geocode; + this.geocode = StringUtils.upperCase(geocode); } public void setCacheId(String cacheId) { @@ -1166,8 +1150,7 @@ public class cgCache implements ICache, IWaypoint { // when waypoint was edited, finalDefined may have changed resetFinalDefined(); } - - return saveToDatabase && cgeoapplication.getInstance().saveWaypoint(waypoint.getId(), geocode, waypoint); + return saveToDatabase && cgData.saveWaypoint(waypoint.getId(), geocode, waypoint); } public boolean hasWaypoints() { @@ -1206,38 +1189,42 @@ public class cgCache implements ICache, IWaypoint { /** * Duplicate a waypoint. - * - * @param index the waypoint to duplicate + * + * @param original + * the waypoint to duplicate * @return <code>true</code> if the waypoint was duplicated, <code>false</code> otherwise (invalid index) */ - public boolean duplicateWaypoint(final int index) { - final cgWaypoint original = getWaypoint(index); + public boolean duplicateWaypoint(final cgWaypoint original) { if (original == null) { return false; } + final int index = getWaypointIndex(original); final cgWaypoint copy = new cgWaypoint(original); copy.setUserDefined(); copy.setName(cgeoapplication.getInstance().getString(R.string.waypoint_copy_of) + " " + copy.getName()); waypoints.add(index + 1, copy); - return cgeoapplication.getInstance().saveWaypoint(-1, geocode, copy); + return cgData.saveWaypoint(-1, geocode, copy); } /** * delete a user defined waypoint * - * @param index - * of the waypoint in cache's waypoint list + * @param waypoint + * to be removed from cache * @return <code>true</code>, if the waypoint was deleted */ - public boolean deleteWaypoint(final int index) { - final cgWaypoint waypoint = getWaypoint(index); + public boolean deleteWaypoint(final cgWaypoint waypoint) { if (waypoint == null) { return false; } + if (waypoint.getId() <= 0) { + return false; + } if (waypoint.isUserDefined()) { + final int index = getWaypointIndex(waypoint); waypoints.remove(index); - cgeoapplication.getInstance().deleteWaypoint(waypoint.getId()); - cgeoapplication.getInstance().removeCache(geocode, EnumSet.of(RemoveFlag.REMOVE_CACHE)); + cgData.deleteWaypoint(waypoint.getId()); + cgData.removeCache(geocode, EnumSet.of(RemoveFlag.REMOVE_CACHE)); // Check status if Final is defined if (waypoint.isFinalWithCoords()) { resetFinalDefined(); @@ -1248,22 +1235,6 @@ public class cgCache implements ICache, IWaypoint { } /** - * delete a user defined waypoint - * - * @param waypoint - * to be removed from cache - * @return <code>true</code>, if the waypoint was deleted - */ - public boolean deleteWaypoint(final cgWaypoint waypoint) { - if (waypoint.getId() <= 0) { - return false; - } - - final int index = getWaypointIndex(waypoint); - return index >= 0 && deleteWaypoint(index); - } - - /** * Find index of given <code>waypoint</code> in cache's <code>waypoints</code> list * * @param waypoint @@ -1391,8 +1362,8 @@ public class cgCache implements ICache, IWaypoint { public void drop(Handler handler) { try { - cgeoapplication.getInstance().markDropped(Collections.singletonList(this)); - cgeoapplication.getInstance().removeCache(getGeocode(), EnumSet.of(RemoveFlag.REMOVE_CACHE)); + cgData.markDropped(Collections.singletonList(this)); + cgData.removeCache(getGeocode(), EnumSet.of(RemoveFlag.REMOVE_CACHE)); handler.sendMessage(Message.obtain()); } catch (Exception e) { @@ -1443,7 +1414,7 @@ public class cgCache implements ICache, IWaypoint { } public void refresh(int newListId, CancellableHandler handler) { - cgeoapplication.getInstance().removeCache(geocode, EnumSet.of(RemoveFlag.REMOVE_CACHE)); + cgData.removeCache(geocode, EnumSet.of(RemoveFlag.REMOVE_CACHE)); storeCache(null, geocode, newListId, true, handler); } @@ -1516,7 +1487,7 @@ public class cgCache implements ICache, IWaypoint { } cache.setListId(listId); - cgeoapplication.getInstance().saveCache(cache, EnumSet.of(SaveFlag.SAVE_DB)); + cgData.saveCache(cache, EnumSet.of(SaveFlag.SAVE_DB)); if (CancellableHandler.isCancelled(handler)) { return; @@ -1538,10 +1509,9 @@ public class cgCache implements ICache, IWaypoint { return null; } - final cgeoapplication app = cgeoapplication.getInstance(); - if (!forceReload && listId == StoredList.TEMPORARY_LIST_ID && (app.isOffline(geocode, guid) || app.isThere(geocode, guid, true, true))) { + if (!forceReload && listId == StoredList.TEMPORARY_LIST_ID && (cgData.isOffline(geocode, guid) || cgData.isThere(geocode, guid, true, true))) { final SearchResult search = new SearchResult(); - final String realGeocode = StringUtils.isNotBlank(geocode) ? geocode : app.getGeocode(guid); + final String realGeocode = StringUtils.isNotBlank(geocode) ? geocode : cgData.getGeocodeForGuid(guid); search.addGeocode(realGeocode); return search; } @@ -1613,8 +1583,7 @@ public class cgCache implements ICache, IWaypoint { * @return */ public boolean hasAttribute(CacheAttribute attribute, boolean yes) { - // lazy loading of attributes - cgCache fullCache = cgeoapplication.getInstance().loadCache(getGeocode(), EnumSet.of(LoadFlag.LOAD_ATTRIBUTES)); + cgCache fullCache = cgData.loadCache(getGeocode(), EnumSet.of(LoadFlag.LOAD_ATTRIBUTES)); if (fullCache == null) { fullCache = this; } diff --git a/main/src/cgeo/geocaching/cgData.java b/main/src/cgeo/geocaching/cgData.java index b822c2b..c163c57 100644 --- a/main/src/cgeo/geocaching/cgData.java +++ b/main/src/cgeo/geocaching/cgData.java @@ -23,7 +23,6 @@ import android.content.ContextWrapper; import android.content.res.Resources; import android.database.Cursor; import android.database.DatabaseUtils; -import android.database.DatabaseUtils.InsertHelper; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteDatabase.CursorFactory; import android.database.sqlite.SQLiteDoneException; @@ -48,6 +47,10 @@ import java.util.regex.Pattern; public class cgData { + private cgData() { + // utility class + } + public enum StorageLocation { HEAP, CACHE, @@ -72,8 +75,8 @@ public class cgData { * holds the column indexes of the cache table to avoid lookups */ private static int[] cacheColumnIndex; - private CacheCache cacheCache = new CacheCache(); - private SQLiteDatabase database = null; + private static CacheCache cacheCache = new CacheCache(); + private static SQLiteDatabase database = null; private static final int dbVersion = 64; public static final int customListIdOffset = 10; private static final String dbName = "data"; @@ -151,9 +154,6 @@ public class cgData { + "updated long not null, " // date of save + "attribute text " + "); "; - private final static int ATTRIBUTES_GEOCODE = 2; - private final static int ATTRIBUTES_UPDATED = 3; - private final static int ATTRIBUTES_ATTRIBUTE = 4; private static final String dbCreateWaypoints = "" + "create table " + dbTableWaypoints + " (" @@ -191,14 +191,6 @@ public class cgData { + "found integer not null default 0, " + "friend integer " + "); "; - private final static int LOGS_GEOCODE = 2; - private final static int LOGS_UPDATED = 3; - private final static int LOGS_TYPE = 4; - private final static int LOGS_AUTHOR = 5; - private final static int LOGS_LOG = 6; - private final static int LOGS_DATE = 7; - private final static int LOGS_FOUND = 8; - private final static int LOGS_FRIEND = 9; private static final String dbCreateLogCount = "" + "create table " + dbTableLogCount + " (" @@ -246,10 +238,10 @@ public class cgData { + "longitude double " + "); "; - private HashMap<String, SQLiteStatement> statements = new HashMap<String, SQLiteStatement>(); private static boolean newlyCreatedDatabase = false; + private static boolean databaseCleaned = false; - public synchronized void init() { + public synchronized static void init() { if (database != null) { return; } @@ -262,35 +254,28 @@ public class cgData { } } - public void closeDb() { + public static void closeDb() { if (database == null) { return; } cacheCache.removeAllFromCache(); - clearPreparedStatements(); + PreparedStatements.clearPreparedStatements(); database.close(); database = null; } - private void clearPreparedStatements() { - for (SQLiteStatement statement : statements.values()) { - statement.close(); - } - statements.clear(); - } - - private static File backupFile() { + private static File getBackupFile() { return new File(LocalStorage.getStorage(), "cgeo.sqlite"); } - public String backupDatabase() { + public static String backupDatabase() { if (!LocalStorage.isExternalStorageAvailable()) { Log.w("Database wasn't backed up: no external memory"); return null; } - final File target = backupFile(); + final File target = getBackupFile(); closeDb(); final boolean backupDone = LocalStorage.copy(databasePath(), target); init(); @@ -304,7 +289,7 @@ public class cgData { return target.getPath(); } - public boolean moveDatabase() { + public static boolean moveDatabase() { if (!LocalStorage.isExternalStorageAvailable()) { Log.w("Database was not moved: external memory not available"); return false; @@ -340,18 +325,18 @@ public class cgData { return databasePath(Settings.isDbOnSDCard()); } - public static File isRestoreFile() { - final File fileSourceFile = backupFile(); + public static File getRestoreFile() { + final File fileSourceFile = getBackupFile(); return fileSourceFile.exists() ? fileSourceFile : null; } - public boolean restoreDatabase() { + public static boolean restoreDatabase() { if (!LocalStorage.isExternalStorageAvailable()) { Log.w("Database wasn't restored: no external memory"); return false; } - final File sourceFile = backupFile(); + final File sourceFile = getBackupFile(); closeDb(); final boolean restoreDone = LocalStorage.copy(sourceFile, databasePath()); init(); @@ -680,7 +665,7 @@ public class cgData { final FilenameFilter filter = new FilenameFilter() { @Override public boolean accept(File dir, String filename) { - return (filename.startsWith("map_") && filename.contains("__")); + return filename.startsWith("map_") && filename.contains("__"); } }; for (File dir : geocodeDirs) { @@ -751,7 +736,7 @@ public class cgData { db.execSQL("drop table if exists " + dbTableTrackables); } - public String[] allDetailedThere() { + public static String[] getRecentGeocodesForSearch() { init(); Cursor cursor = null; @@ -795,7 +780,7 @@ public class cgData { return list.toArray(new String[list.size()]); } - public boolean isThere(String geocode, String guid, boolean detailed, boolean checkTime) { + public static boolean isThere(String geocode, String guid, boolean detailed, boolean checkTime) { init(); Cursor cursor = null; @@ -878,7 +863,7 @@ public class cgData { } /** is cache stored in one of the lists (not only temporary) */ - public boolean isOffline(String geocode, String guid) { + public static boolean isOffline(String geocode, String guid) { if (StringUtils.isBlank(geocode) && StringUtils.isBlank(guid)) { return false; } @@ -888,11 +873,11 @@ public class cgData { final SQLiteStatement listId; final String value; if (StringUtils.isNotBlank(geocode)) { - listId = getStatementListIdFromGeocode(); + listId = PreparedStatements.getListIdOfGeocode(); value = geocode; } else { - listId = getStatementListIdFromGuid(); + listId = PreparedStatements.getListIdOfGuid(); value = guid; } synchronized (listId) { @@ -908,14 +893,14 @@ public class cgData { return false; } - public String getGeocodeForGuid(String guid) { + public static String getGeocodeForGuid(String guid) { if (StringUtils.isBlank(guid)) { return null; } init(); try { - final SQLiteStatement description = getStatementGeocode(); + final SQLiteStatement description = PreparedStatements.getGeocodeOfGuid(); synchronized (description) { description.bindString(1, guid); return description.simpleQueryForString(); @@ -929,14 +914,14 @@ public class cgData { return null; } - public String getCacheidForGeocode(String geocode) { + public static String getCacheidForGeocode(String geocode) { if (StringUtils.isBlank(geocode)) { return null; } init(); try { - final SQLiteStatement description = getStatementCacheId(); + final SQLiteStatement description = PreparedStatements.getCacheIdOfGeocode(); synchronized (description) { description.bindString(1, geocode); return description.simpleQueryForString(); @@ -959,7 +944,7 @@ public class cgData { * * @return true = cache saved successfully to the CacheCache/DB */ - public boolean saveCache(cgCache cache, EnumSet<LoadFlags.SaveFlag> saveFlags) { + public static boolean saveCache(cgCache cache, EnumSet<LoadFlags.SaveFlag> saveFlags) { if (cache == null) { throw new IllegalArgumentException("cache must not be null"); } @@ -1062,7 +1047,7 @@ public class cgData { database.setTransactionSuccessful(); result = true; } catch (Exception e) { - // nothing + Log.e("SaveCache", e); } finally { database.endTransaction(); } @@ -1070,25 +1055,21 @@ public class cgData { return result; } - private void saveAttributesWithoutTransaction(final cgCache cache) { + private static void saveAttributesWithoutTransaction(final cgCache cache) { String geocode = cache.getGeocode(); database.delete(dbTableAttributes, "geocode = ?", new String[]{geocode}); - if (cache.getAttributes().isNotEmpty()) { - - InsertHelper helper = new InsertHelper(database, dbTableAttributes); - long timeStamp = System.currentTimeMillis(); - - for (String attribute : cache.getAttributes()) { - helper.prepareForInsert(); - - helper.bind(ATTRIBUTES_GEOCODE, geocode); - helper.bind(ATTRIBUTES_UPDATED, timeStamp); - helper.bind(ATTRIBUTES_ATTRIBUTE, attribute); + if (cache.getAttributes().isEmpty()) { + return; + } + SQLiteStatement statement = PreparedStatements.getInsertAttribute(); + final long timestamp = System.currentTimeMillis(); + for (String attribute : cache.getAttributes()) { + statement.bindString(1, geocode); + statement.bindLong(2, timestamp); + statement.bindString(3, attribute); - helper.execute(); - } - helper.close(); + statement.executeInsert(); } } @@ -1098,16 +1079,14 @@ public class cgData { * @param destination * a destination to save */ - public void saveSearchedDestination(final Destination destination) { + public static void saveSearchedDestination(final Destination destination) { init(); database.beginTransaction(); try { - ContentValues values = new ContentValues(); - values.put("date", destination.getDate()); - putCoords(values, destination.getCoords()); - database.insert(dbTableSearchDestionationHistory, null, values); + SQLiteStatement insertDestination = PreparedStatements.getInsertSearchDestination(destination); + insertDestination.executeInsert(); database.setTransactionSuccessful(); } catch (Exception e) { Log.e("Updating searchedDestinations db failed", e); @@ -1116,7 +1095,7 @@ public class cgData { } } - public boolean saveWaypoints(final cgCache cache) { + public static boolean saveWaypoints(final cgCache cache) { boolean result = false; init(); database.beginTransaction(); @@ -1133,7 +1112,7 @@ public class cgData { return result; } - private void saveOriginalWaypointsWithoutTransaction(final cgCache cache) { + private static void saveOriginalWaypointsWithoutTransaction(final cgCache cache) { String geocode = cache.getGeocode(); database.delete(dbTableWaypoints, "geocode = ? and type <> ? and own = 0", new String[]{geocode, "own"}); @@ -1196,7 +1175,7 @@ public class cgData { return new Geopoint(cursor.getDouble(indexLat), cursor.getDouble(indexLon)); } - public boolean saveWaypoint(int id, String geocode, cgWaypoint waypoint) { + private static boolean saveWaypointInternal(int id, String geocode, cgWaypoint waypoint) { if ((StringUtils.isBlank(geocode) && id <= 0) || waypoint == null) { return false; } @@ -1234,7 +1213,7 @@ public class cgData { return ok; } - public boolean deleteWaypoint(int id) { + public static boolean deleteWaypoint(int id) { if (id == 0) { return false; } @@ -1244,28 +1223,32 @@ public class cgData { return database.delete(dbTableWaypoints, "_id = " + id, null) > 0; } - private void saveSpoilersWithoutTransaction(final cgCache cache) { + private static void saveSpoilersWithoutTransaction(final cgCache cache) { String geocode = cache.getGeocode(); database.delete(dbTableSpoilers, "geocode = ?", new String[]{geocode}); List<cgImage> spoilers = cache.getSpoilers(); if (CollectionUtils.isNotEmpty(spoilers)) { - ContentValues values = new ContentValues(); - long timeStamp = System.currentTimeMillis(); + SQLiteStatement insertSpoiler = PreparedStatements.getInsertSpoiler(); + final long timestamp = System.currentTimeMillis(); for (cgImage spoiler : spoilers) { - values.clear(); - values.put("geocode", geocode); - values.put("updated", timeStamp); - values.put("url", spoiler.getUrl()); - values.put("title", spoiler.getTitle()); - values.put("description", spoiler.getDescription()); - - database.insert(dbTableSpoilers, null, values); + insertSpoiler.bindString(1, geocode); + insertSpoiler.bindLong(2, timestamp); + insertSpoiler.bindString(3, spoiler.getUrl()); + insertSpoiler.bindString(4, spoiler.getTitle()); + final String description = spoiler.getDescription(); + if (description != null) { + insertSpoiler.bindString(5, description); + } + else { + insertSpoiler.bindNull(5); + } + insertSpoiler.executeInsert(); } } } - private void saveLogsWithoutTransaction(final String geocode, final Iterable<LogEntry> logs) { + private static void saveLogsWithoutTransaction(final String geocode, final Iterable<LogEntry> logs) { // TODO delete logimages referring these logs database.delete(dbTableLogs, "geocode = ?", new String[]{geocode}); @@ -1273,59 +1256,51 @@ public class cgData { return; } - InsertHelper helper = new InsertHelper(database, dbTableLogs); - long timeStamp = System.currentTimeMillis(); + SQLiteStatement insertLog = PreparedStatements.getInsertLog(); + final long timestamp = System.currentTimeMillis(); for (LogEntry log : logs) { - helper.prepareForInsert(); - - helper.bind(LOGS_GEOCODE, geocode); - helper.bind(LOGS_UPDATED, timeStamp); - helper.bind(LOGS_TYPE, log.type.id); - helper.bind(LOGS_AUTHOR, log.author); - helper.bind(LOGS_LOG, log.log); - helper.bind(LOGS_DATE, log.date); - helper.bind(LOGS_FOUND, log.found); - helper.bind(LOGS_FRIEND, log.friend); - - long log_id = helper.execute(); - + insertLog.bindString(1, geocode); + insertLog.bindLong(2, timestamp); + insertLog.bindLong(3, log.type.id); + insertLog.bindString(4, log.author); + insertLog.bindString(5, log.log); + insertLog.bindLong(6, log.date); + insertLog.bindLong(7, log.found); + insertLog.bindLong(8, log.friend ? 1 : 0); + long logId = insertLog.executeInsert(); if (log.hasLogImages()) { - ContentValues values = new ContentValues(); + SQLiteStatement insertImage = PreparedStatements.getInsertLogImage(); for (cgImage img : log.getLogImages()) { - values.clear(); - values.put("log_id", log_id); - values.put("title", img.getTitle()); - values.put("url", img.getUrl()); - database.insert(dbTableLogImages, null, values); + insertImage.bindLong(1, logId); + insertImage.bindString(2, img.getTitle()); + insertImage.bindString(3, img.getUrl()); + insertImage.executeInsert(); } } } - helper.close(); } - private void saveLogCountsWithoutTransaction(final cgCache cache) { + private static void saveLogCountsWithoutTransaction(final cgCache cache) { String geocode = cache.getGeocode(); database.delete(dbTableLogCount, "geocode = ?", new String[]{geocode}); Map<LogType, Integer> logCounts = cache.getLogCounts(); if (MapUtils.isNotEmpty(logCounts)) { - ContentValues values = new ContentValues(); - Set<Entry<LogType, Integer>> logCountsItems = logCounts.entrySet(); - long timeStamp = System.currentTimeMillis(); + SQLiteStatement insertLogCounts = PreparedStatements.getInsertLogCounts(); + final long timestamp = System.currentTimeMillis(); for (Entry<LogType, Integer> pair : logCountsItems) { - values.clear(); - values.put("geocode", geocode); - values.put("updated", timeStamp); - values.put("type", pair.getKey().id); - values.put("count", pair.getValue()); + insertLogCounts.bindString(1, geocode); + insertLogCounts.bindLong(2, timestamp); + insertLogCounts.bindLong(3, pair.getKey().id); + insertLogCounts.bindLong(4, pair.getValue()); - database.insert(dbTableLogCount, null, values); + insertLogCounts.executeInsert(); } } } - public boolean saveTrackable(final cgTrackable trackable) { + public static boolean saveTrackable(final cgTrackable trackable) { init(); database.beginTransaction(); @@ -1339,7 +1314,7 @@ public class cgData { return true; } - private void saveInventoryWithoutTransaction(final String geocode, final List<cgTrackable> trackables) { + private static void saveInventoryWithoutTransaction(final String geocode, final List<cgTrackable> trackables) { if (geocode != null) { database.delete(dbTableTrackables, "geocode = ?", new String[]{geocode}); } @@ -1376,7 +1351,7 @@ public class cgData { } } - public Viewport getBounds(final Set<String> geocodes) { + public static Viewport getBounds(final Set<String> geocodes) { if (CollectionUtils.isEmpty(geocodes)) { return null; } @@ -1392,7 +1367,7 @@ public class cgData { * The Geocode GCXXXX * @return the loaded cache (if found). Can be null */ - public cgCache loadCache(final String geocode, final EnumSet<LoadFlag> loadFlags) { + public static cgCache loadCache(final String geocode, final EnumSet<LoadFlag> loadFlags) { if (StringUtils.isBlank(geocode)) { throw new IllegalArgumentException("geocode must not be empty"); } @@ -1407,7 +1382,7 @@ public class cgData { * @param geocodes * @return Set of loaded caches. Never null. */ - public Set<cgCache> loadCaches(final Set<String> geocodes, final EnumSet<LoadFlag> loadFlags) { + public static Set<cgCache> loadCaches(final Set<String> geocodes, final EnumSet<LoadFlag> loadFlags) { if (CollectionUtils.isEmpty(geocodes)) { return new HashSet<cgCache>(); } @@ -1463,7 +1438,7 @@ public class cgData { * @param loadFlags * @return Set of loaded caches. Never null. */ - private Set<cgCache> loadCachesFromGeocodes(final Set<String> geocodes, final EnumSet<LoadFlag> loadFlags) { + private static Set<cgCache> loadCachesFromGeocodes(final Set<String> geocodes, final EnumSet<LoadFlag> loadFlags) { if (CollectionUtils.isEmpty(geocodes)) { return Collections.emptySet(); } @@ -1689,7 +1664,7 @@ public class cgData { return cache; } - public List<String> loadAttributes(String geocode) { + public static List<String> loadAttributes(String geocode) { if (StringUtils.isBlank(geocode)) { return null; } @@ -1724,7 +1699,7 @@ public class cgData { return attributes; } - public cgWaypoint loadWaypoint(int id) { + public static cgWaypoint loadWaypoint(int id) { if (id == 0) { return null; } @@ -1758,7 +1733,7 @@ public class cgData { return waypoint; } - public List<cgWaypoint> loadWaypoints(final String geocode) { + public static List<cgWaypoint> loadWaypoints(final String geocode) { if (StringUtils.isBlank(geocode)) { return null; } @@ -1812,7 +1787,7 @@ public class cgData { return waypoint; } - private List<cgImage> loadSpoilers(String geocode) { + private static List<cgImage> loadSpoilers(String geocode) { if (StringUtils.isBlank(geocode)) { return null; } @@ -1857,7 +1832,7 @@ public class cgData { * * @return A list of previously entered destinations or an empty list. */ - public List<Destination> loadHistoryOfSearchedLocations() { + public static List<Destination> loadHistoryOfSearchedLocations() { init(); Cursor cursor = database.query(dbTableSearchDestionationHistory, @@ -1896,7 +1871,7 @@ public class cgData { return destinations; } - public boolean clearSearchedDestinations() { + public static boolean clearSearchedDestinations() { boolean success = true; init(); database.beginTransaction(); @@ -1914,7 +1889,7 @@ public class cgData { return success; } - public List<LogEntry> loadLogs(String geocode) { + public static List<LogEntry> loadLogs(String geocode) { List<LogEntry> logs = new ArrayList<LogEntry>(); if (StringUtils.isBlank(geocode)) { @@ -1967,7 +1942,7 @@ public class cgData { return logs; } - public Map<LogType, Integer> loadLogCounts(String geocode) { + public static Map<LogType, Integer> loadLogCounts(String geocode) { if (StringUtils.isBlank(geocode)) { return null; } @@ -2006,7 +1981,7 @@ public class cgData { return logCounts; } - private List<cgTrackable> loadInventory(String geocode) { + private static List<cgTrackable> loadInventory(String geocode) { if (StringUtils.isBlank(geocode)) { return null; } @@ -2042,7 +2017,7 @@ public class cgData { return trackables; } - public cgTrackable loadTrackable(String geocode) { + public static cgTrackable loadTrackable(String geocode) { if (StringUtils.isBlank(geocode)) { return null; } @@ -2073,7 +2048,7 @@ public class cgData { return trackable; } - private cgTrackable createTrackableFromDatabaseContent(Cursor cursor) { + private static cgTrackable createTrackableFromDatabaseContent(Cursor cursor) { cgTrackable trackable = new cgTrackable(); trackable.setGeocode(cursor.getString(cursor.getColumnIndex("tbcode"))); trackable.setGuid(cursor.getString(cursor.getColumnIndex("guid"))); @@ -2095,84 +2070,65 @@ public class cgData { } /** - * Number of caches stored. The number is shown on the starting activity of c:geo + * Number of caches stored for a given type and/or list * - * @param detailedOnly * @param cacheType * @param list * @return */ - public int getAllStoredCachesCount(final boolean detailedOnly, final CacheType cacheType, final int list) { + public static int getAllStoredCachesCount(final CacheType cacheType, final int list) { if (cacheType == null) { throw new IllegalArgumentException("cacheType must not be null"); } - init(); - - String listSql; - String listSqlW; - if (list == 0) { - listSql = " where reason >= 1"; - listSqlW = " and reason >= 1"; - } else if (list >= 1) { - listSql = " where reason = " + list; - listSqlW = " and reason = " + list; - } else { - return 0; + if (list < 0) { + throw new IllegalArgumentException("list must be >= 0"); } + init(); - int count = 0; try { - String sql; - if (!detailedOnly) { - if (cacheType == CacheType.ALL) { - sql = "select count(_id) from " + dbTableCaches + listSql; - } else { - sql = "select count(_id) from " + dbTableCaches + " where type = " + DatabaseUtils.sqlEscapeString(cacheType.id) + listSqlW; - } - } else { - if (cacheType == CacheType.ALL) { - sql = "select count(_id) from " + dbTableCaches + " where detailed = 1" + listSqlW; - } else { - sql = "select count(_id) from " + dbTableCaches + " where detailed = 1 and type = " + DatabaseUtils.sqlEscapeString(cacheType.id) + listSqlW; - } + StringBuilder sql = new StringBuilder("select count(_id) from " + dbTableCaches + " where detailed = 1"); + if (cacheType != CacheType.ALL) { + sql.append(" and type = " + DatabaseUtils.sqlEscapeString(cacheType.id)); + } + if (list == 0) { + sql.append(" and reason > 0"); + } else if (list >= 1) { + sql.append(" and reason = " + list); } - SQLiteStatement compiledStmnt = database.compileStatement(sql); - count = (int) compiledStmnt.simpleQueryForLong(); - compiledStmnt.close(); + + String key = "CountCaches_" + cacheType.id + "_" + Integer.toString(list); + + SQLiteStatement compiledStmnt = PreparedStatements.getStatement(key, sql.toString()); + return (int) compiledStmnt.simpleQueryForLong(); } catch (Exception e) { Log.e("cgData.loadAllStoredCachesCount: " + e.toString()); } - return count; + return 0; } - public int getAllHistoricCachesCount() { + public static int getAllHistoryCachesCount() { init(); - int count = 0; - try { - SQLiteStatement sqlCount = database.compileStatement("select count(_id) from " + dbTableCaches + " where visiteddate > 0"); - count = (int) sqlCount.simpleQueryForLong(); - sqlCount.close(); + return (int) PreparedStatements.getCountHistoryCaches().simpleQueryForLong(); } catch (Exception e) { Log.e("cgData.getAllHistoricCachesCount: " + e.toString()); } - return count; + return 0; } /** * Return a batch of stored geocodes. * - * @param detailedOnly * @param coords * the current coordinates to sort by distance, or null to sort by geocode * @param cacheType * @param listId * @return */ - public Set<String> loadBatchOfStoredGeocodes(final boolean detailedOnly, final Geopoint coords, final CacheType cacheType, final int listId) { + private static Set<String> loadBatchOfStoredGeocodes(final Geopoint coords, final CacheType cacheType, final int listId) { if (cacheType == null) { throw new IllegalArgumentException("cacheType must not be null"); } @@ -2184,10 +2140,7 @@ public class cgData { specifySql.append("reason "); specifySql.append(listId != StoredList.ALL_LIST_ID ? "=" + Math.max(listId, 1) : ">= " + StoredList.STANDARD_LIST_ID); - - if (detailedOnly) { - specifySql.append(" and detailed = 1 "); - } + specifySql.append(" and detailed = 1 "); if (cacheType != CacheType.ALL) { specifySql.append(" and type = "); @@ -2235,7 +2188,7 @@ public class cgData { return geocodes; } - public Set<String> loadBatchOfHistoricGeocodes(final boolean detailedOnly, final CacheType cacheType) { + private static Set<String> loadBatchOfHistoricGeocodes(final boolean detailedOnly, final CacheType cacheType) { init(); Set<String> geocodes = new HashSet<String>(); @@ -2285,12 +2238,12 @@ public class cgData { } /** Retrieve all stored caches from DB */ - public Set<String> loadCachedInViewport(final Viewport viewport, final CacheType cacheType) { + public static SearchResult loadCachedInViewport(final Viewport viewport, final CacheType cacheType) { return loadInViewport(false, viewport, cacheType); } /** Retrieve stored caches from DB with listId >= 1 */ - public Set<String> loadStoredInViewport(final Viewport viewport, final CacheType cacheType) { + public static SearchResult loadStoredInViewport(final Viewport viewport, final CacheType cacheType) { return loadInViewport(true, viewport, cacheType); } @@ -2306,7 +2259,7 @@ public class cgData { * @param cacheType * @return Set with geocodes */ - private Set<String> loadInViewport(final boolean stored, final Viewport viewport, final CacheType cacheType) { + private static SearchResult loadInViewport(final boolean stored, final Viewport viewport, final CacheType cacheType) { init(); final Set<String> geocodes = new HashSet<String>(); @@ -2353,11 +2306,11 @@ public class cgData { Log.e("cgData.loadInViewport: " + e.toString()); } - return geocodes; + return new SearchResult(geocodes); } /** delete caches from the DB store 3 days or more before */ - public void clean() { + public static void clean() { clean(false); } @@ -2367,7 +2320,11 @@ public class cgData { * @param more * true = all caches false = caches stored 3 days or more before */ - public void clean(boolean more) { + public static void clean(boolean more) { + if (databaseCleaned) { + return; + } + init(); Log.d("Database clean: started"); @@ -2420,24 +2377,20 @@ public class cgData { removeCaches(geocodes, LoadFlags.REMOVE_ALL); } - final SQLiteStatement countSql = database.compileStatement("select count(_id) from " + dbTableCaches + " where reason = 0"); - final int count = (int) countSql.simpleQueryForLong(); - countSql.close(); - Log.d("Database clean: " + count + " geocaches remaining for listId=0"); - } catch (Exception e) { Log.w("cgData.clean: " + e.toString()); } Log.d("Database clean: finished"); + databaseCleaned = true; } - public void removeAllFromCache() { + public static void removeAllFromCache() { // clean up CacheCache cacheCache.removeAllFromCache(); } - public void removeCache(final String geocode, EnumSet<LoadFlags.RemoveFlag> removeFlags) { + public static void removeCache(final String geocode, EnumSet<LoadFlags.RemoveFlag> removeFlags) { removeCaches(Collections.singleton(geocode), removeFlags); } @@ -2447,7 +2400,7 @@ public class cgData { * @param geocodes * list of geocodes to drop from cache */ - public void removeCaches(final Set<String> geocodes, EnumSet<LoadFlags.RemoveFlag> removeFlags) { + public static void removeCaches(final Set<String> geocodes, EnumSet<LoadFlags.RemoveFlag> removeFlags) { if (CollectionUtils.isEmpty(geocodes)) { return; } @@ -2494,7 +2447,7 @@ public class cgData { } } - public boolean saveLogOffline(String geocode, Date date, LogType type, String log) { + public static boolean saveLogOffline(String geocode, Date date, LogType type, String log) { if (StringUtils.isBlank(geocode)) { Log.e("cgData.saveLogOffline: cannot log a blank geocode"); return false; @@ -2521,7 +2474,7 @@ public class cgData { return id != -1; } - public LogEntry loadLogOffline(String geocode) { + public static LogEntry loadLogOffline(String geocode) { if (StringUtils.isBlank(geocode)) { return null; } @@ -2557,7 +2510,7 @@ public class cgData { return log; } - public void clearLogOffline(String geocode) { + public static void clearLogOffline(String geocode) { if (StringUtils.isBlank(geocode)) { return; } @@ -2567,35 +2520,14 @@ public class cgData { database.delete(dbTableLogsOffline, "geocode = ?", new String[]{geocode}); } - private SQLiteStatement getStatementLogCount() { - return getStatement("LogCountFromGeocode", "SELECT count(_id) FROM " + dbTableLogsOffline + " WHERE geocode = ?"); - } - - private synchronized SQLiteStatement getStatement(final String key, final String query) { - SQLiteStatement statement = statements.get(key); - if (statement == null) { - statement = database.compileStatement(query); - statements.put(key, statement); - } - return statement; - } - - private SQLiteStatement getStatementCountStandardList() { - return getStatement("CountStandardList", "SELECT count(_id) FROM " + dbTableCaches + " WHERE reason = " + StoredList.STANDARD_LIST_ID); - } - - private SQLiteStatement getStatementCountAllLists() { - return getStatement("CountAllLists", "SELECT count(_id) FROM " + dbTableCaches + " WHERE reason >= " + StoredList.STANDARD_LIST_ID); - } - - public boolean hasLogOffline(final String geocode) { + public static boolean hasLogOffline(final String geocode) { if (StringUtils.isBlank(geocode)) { return false; } init(); try { - final SQLiteStatement logCount = getStatementLogCount(); + final SQLiteStatement logCount = PreparedStatements.getLogCountOfGeocode(); synchronized (logCount) { logCount.bindString(1, geocode); return logCount.simpleQueryForLong() > 0; @@ -2607,7 +2539,7 @@ public class cgData { return false; } - public void setVisitDate(List<String> geocodes, long visitedDate) { + private static void setVisitDate(List<String> geocodes, long visitedDate) { if (geocodes.isEmpty()) { return; } @@ -2616,11 +2548,12 @@ public class cgData { database.beginTransaction(); try { - ContentValues values = new ContentValues(); - values.put("visiteddate", visitedDate); + SQLiteStatement setVisit = PreparedStatements.getUpdateVisitDate(); for (String geocode : geocodes) { - database.update(dbTableCaches, values, "geocode = ?", new String[]{geocode}); + setVisit.bindLong(1, visitedDate); + setVisit.bindString(2, geocode); + setVisit.execute(); } database.setTransactionSuccessful(); } finally { @@ -2628,11 +2561,12 @@ public class cgData { } } - public List<StoredList> getLists(Resources res) { + public static List<StoredList> getLists() { init(); + Resources res = cgeoapplication.getInstance().getResources(); List<StoredList> lists = new ArrayList<StoredList>(); - lists.add(new StoredList(StoredList.STANDARD_LIST_ID, res.getString(R.string.list_inbox), (int) getStatementCountStandardList().simpleQueryForLong())); + lists.add(new StoredList(StoredList.STANDARD_LIST_ID, res.getString(R.string.list_inbox), (int) PreparedStatements.getCountCachesOnStandardList().simpleQueryForLong())); try { String query = "SELECT l._id as _id, l.title as title, COUNT(c._id) as count" + @@ -2674,7 +2608,7 @@ public class cgData { return result; } - public StoredList getList(int id, Resources res) { + public static StoredList getList(int id) { init(); if (id >= customListIdOffset) { Cursor cursor = database.query( @@ -2691,18 +2625,23 @@ public class cgData { } } + Resources res = cgeoapplication.getInstance().getResources(); if (id == StoredList.ALL_LIST_ID) { - return new StoredList(StoredList.ALL_LIST_ID, res.getString(R.string.list_all_lists), (int) getStatementCountAllLists().simpleQueryForLong()); + return new StoredList(StoredList.ALL_LIST_ID, res.getString(R.string.list_all_lists), getAllCachesCount()); } // fall back to standard list in case of invalid list id if (id == StoredList.STANDARD_LIST_ID || id >= customListIdOffset) { - return new StoredList(StoredList.STANDARD_LIST_ID, res.getString(R.string.list_inbox), (int) getStatementCountStandardList().simpleQueryForLong()); + return new StoredList(StoredList.STANDARD_LIST_ID, res.getString(R.string.list_inbox), (int) PreparedStatements.getCountCachesOnStandardList().simpleQueryForLong()); } return null; } + public static int getAllCachesCount() { + return (int) PreparedStatements.getCountAllCaches().simpleQueryForLong(); + } + /** * Create a new list * @@ -2710,7 +2649,7 @@ public class cgData { * Name * @return new listId */ - public int createList(String name) { + public static int createList(String name) { int id = -1; if (StringUtils.isBlank(name)) { return id; @@ -2740,7 +2679,7 @@ public class cgData { * New name of list * @return Number of lists changed */ - public int renameList(final int listId, final String name) { + public static int renameList(final int listId, final String name) { if (StringUtils.isBlank(name) || StoredList.STANDARD_LIST_ID == listId) { return 0; } @@ -2769,23 +2708,23 @@ public class cgData { * @param listId * @return true if the list got deleted, false else */ - public boolean removeList(int listId) { - boolean status = false; + public static boolean removeList(int listId) { if (listId < customListIdOffset) { - return status; + return false; } init(); + boolean status = false; database.beginTransaction(); try { int cnt = database.delete(dbTableLists, "_id = " + (listId - customListIdOffset), null); if (cnt > 0) { // move caches from deleted list to standard list - ContentValues values = new ContentValues(); - values.put("reason", StoredList.STANDARD_LIST_ID); - database.update(dbTableCaches, values, "reason = " + listId, null); + SQLiteStatement moveToStandard = PreparedStatements.getMoveToStandardList(); + moveToStandard.bindLong(1, listId); + moveToStandard.execute(); status = true; } @@ -2798,7 +2737,7 @@ public class cgData { return status; } - public void moveToList(final List<cgCache> caches, final int listId) { + public static void moveToList(final List<cgCache> caches, final int listId) { if (listId == StoredList.ALL_LIST_ID) { return; } @@ -2807,13 +2746,14 @@ public class cgData { } init(); - final ContentValues values = new ContentValues(); - values.put("reason", listId); + SQLiteStatement move = PreparedStatements.getMoveToList(); database.beginTransaction(); try { for (cgCache cache : caches) { - database.update(dbTableCaches, values, "geocode = ?", new String[]{cache.getGeocode()}); + move.bindLong(1, listId); + move.bindString(2, cache.getGeocode()); + move.execute(); cache.setListId(listId); } database.setTransactionSuccessful(); @@ -2822,61 +2762,39 @@ public class cgData { } } - public synchronized boolean status() { + public static boolean isInitialized() { return database != null; - } - public boolean removeSearchedDestination(Destination destination) { - boolean success = true; + public static boolean removeSearchedDestination(Destination destination) { if (destination == null) { - success = false; - } else { - init(); - - database.beginTransaction(); - try { - database.delete(dbTableSearchDestionationHistory, "_id = " + destination.getId(), null); - database.setTransactionSuccessful(); - } catch (Exception e) { - Log.e("Unable to remove searched destination", e); - success = false; - } finally { - database.endTransaction(); - } + return false; } + init(); - return success; - } - - private SQLiteStatement getStatementDescription() { - return getStatement("descriptionFromGeocode", "SELECT description FROM " + dbTableCaches + " WHERE geocode = ?"); - } - - private SQLiteStatement getStatementListIdFromGeocode() { - return getStatement("listFromGeocode", "SELECT reason FROM " + dbTableCaches + " WHERE geocode = ?"); - } - - private SQLiteStatement getStatementListIdFromGuid() { - return getStatement("listFromGeocode", "SELECT reason FROM " + dbTableCaches + " WHERE guid = ?"); - } - - private SQLiteStatement getStatementCacheId() { - return getStatement("cacheIdFromGeocode", "SELECT cacheid FROM " + dbTableCaches + " WHERE geocode = ?"); - } + boolean result = false; + database.beginTransaction(); + try { + database.delete(dbTableSearchDestionationHistory, "_id = " + destination.getId(), null); + database.setTransactionSuccessful(); + result = true; + } catch (Exception e) { + Log.e("Unable to remove searched destination", e); + } finally { + database.endTransaction(); + } - private SQLiteStatement getStatementGeocode() { - return getStatement("geocodeFromGuid", "SELECT geocode FROM " + dbTableCaches + " WHERE guid = ?"); + return result; } - public String getCacheDescription(String geocode) { + public static String getCacheDescription(String geocode) { if (StringUtils.isBlank(geocode)) { return null; } init(); try { - final SQLiteStatement description = getStatementDescription(); + final SQLiteStatement description = PreparedStatements.getDescriptionOfGeocode(); synchronized (description) { description.bindString(1, geocode); return description.simpleQueryForString(); @@ -2933,7 +2851,7 @@ public class cgData { * @return */ - public Set<cgWaypoint> loadWaypoints(final Viewport viewport, boolean excludeMine, boolean excludeDisabled, CacheType type) { + public static Set<cgWaypoint> loadWaypoints(final Viewport viewport, boolean excludeMine, boolean excludeDisabled, CacheType type) { final StringBuilder where = new StringBuilder(buildCoordinateWhere(dbTableWaypoints, viewport)); if (excludeMine) { where.append(" and ").append(dbTableCaches).append(".own == 0 and ").append(dbTableCaches).append(".found == 0"); @@ -2942,7 +2860,7 @@ public class cgData { where.append(" and ").append(dbTableCaches).append(".disabled == 0"); } if (type != CacheType.ALL) { - where.append(" and ").append(dbTableCaches).append(".type == '").append(type.id).append("'"); + where.append(" and ").append(dbTableCaches).append(".type == '").append(type.id).append('\''); } init(); @@ -2968,7 +2886,7 @@ public class cgData { } } - public String[] getTrackableCodes() { + public static String[] getTrackableCodes() { init(); final Cursor cursor = database.query( @@ -2997,4 +2915,154 @@ public class cgData { return list.toArray(new String[list.size()]); } + public static boolean saveChangedCache(cgCache cache) { + return cgData.saveCache(cache, cache.getStorageLocation().contains(StorageLocation.DATABASE) ? LoadFlags.SAVE_ALL : EnumSet.of(SaveFlag.SAVE_CACHE)); + } + + private static class PreparedStatements { + + private static HashMap<String, SQLiteStatement> statements = new HashMap<String, SQLiteStatement>(); + + private PreparedStatements() { + // utility class + } + + public static SQLiteStatement getMoveToStandardList() { + return getStatement("MoveToStandardList", "UPDATE " + dbTableCaches + " SET reason = " + StoredList.STANDARD_LIST_ID + " WHERE reason = ?"); + } + + public static SQLiteStatement getMoveToList() { + return getStatement("MoveToList", "UPDATE " + dbTableCaches + " SET reason = ? WHERE geocode = ?"); + } + + public static SQLiteStatement getUpdateVisitDate() { + return getStatement("UpdateVisitDate", "UPDATE " + dbTableCaches + " SET visiteddate = ? WHERE geocode = ?"); + } + + public static SQLiteStatement getInsertLogImage() { + return getStatement("InsertLogImage", "INSERT INTO " + dbTableLogImages + " (log_id, title, url) VALUES (?, ?, ?)"); + } + + public static SQLiteStatement getInsertLogCounts() { + return getStatement("InsertLogCounts", "INSERT INTO " + dbTableLogCount + " (geocode, updated, type, count) VALUES (?, ?, ?, ?)"); + } + + public static SQLiteStatement getInsertSpoiler() { + return getStatement("InsertSpoiler", "INSERT INTO " + dbTableSpoilers + " (geocode, updated, url, title, description) VALUES (?, ?, ?, ?, ?)"); + } + + public static SQLiteStatement getInsertSearchDestination(Destination destination) { + final SQLiteStatement statement = getStatement("InsertSearch", "INSERT INTO " + dbTableSearchDestionationHistory + " (date, latitude, longitude) VALUES (?, ?, ?)"); + statement.bindLong(1, destination.getDate()); + final Geopoint coords = destination.getCoords(); + statement.bindDouble(2, coords.getLatitude()); + statement.bindDouble(3, coords.getLongitude()); + return statement; + } + + private static void clearPreparedStatements() { + for (SQLiteStatement statement : statements.values()) { + statement.close(); + } + statements.clear(); + } + + private static synchronized SQLiteStatement getStatement(final String key, final String query) { + SQLiteStatement statement = statements.get(key); + if (statement == null) { + Log.i("Compiling " + key); + statement = database.compileStatement(query); + statements.put(key, statement); + } + return statement; + } + + public static SQLiteStatement getCountHistoryCaches() { + return getStatement("HistoryCount", "select count(_id) from " + dbTableCaches + " where visiteddate > 0"); + } + + private static SQLiteStatement getLogCountOfGeocode() { + return getStatement("LogCountFromGeocode", "SELECT count(_id) FROM " + cgData.dbTableLogsOffline + " WHERE geocode = ?"); + } + + private static SQLiteStatement getCountCachesOnStandardList() { + return getStatement("CountStandardList", "SELECT count(_id) FROM " + dbTableCaches + " WHERE reason = " + StoredList.STANDARD_LIST_ID); + } + + private static SQLiteStatement getCountAllCaches() { + return getStatement("CountAllLists", "SELECT count(_id) FROM " + dbTableCaches + " WHERE reason >= " + StoredList.STANDARD_LIST_ID); + } + + private static SQLiteStatement getInsertLog() { + return getStatement("InsertLog", "INSERT INTO " + dbTableLogs + " (geocode, updated, type, author, log, date, found, friend) VALUES (?, ?, ?, ?, ?, ?, ?, ?)"); + } + + private static SQLiteStatement getInsertAttribute() { + return getStatement("InsertAttribute", "INSERT INTO " + dbTableAttributes + " (geocode, updated, attribute) VALUES (?, ?, ?)"); + } + + private static SQLiteStatement getDescriptionOfGeocode() { + return getStatement("descriptionFromGeocode", "SELECT description FROM " + dbTableCaches + " WHERE geocode = ?"); + } + + private static SQLiteStatement getListIdOfGeocode() { + return getStatement("listFromGeocode", "SELECT reason FROM " + dbTableCaches + " WHERE geocode = ?"); + } + + private static SQLiteStatement getListIdOfGuid() { + return getStatement("listFromGeocode", "SELECT reason FROM " + dbTableCaches + " WHERE guid = ?"); + } + + private static SQLiteStatement getCacheIdOfGeocode() { + return getStatement("cacheIdFromGeocode", "SELECT cacheid FROM " + dbTableCaches + " WHERE geocode = ?"); + } + + private static SQLiteStatement getGeocodeOfGuid() { + return getStatement("geocodeFromGuid", "SELECT geocode FROM " + dbTableCaches + " WHERE guid = ?"); + } + + } + + public static void saveVisitDate(final String geocode) { + setVisitDate(Collections.singletonList(geocode), System.currentTimeMillis()); + } + + public static void markDropped(List<cgCache> caches) { + moveToList(caches, StoredList.TEMPORARY_LIST_ID); + } + + public static Viewport getBounds(String geocode) { + if (geocode == null) { + return null; + } + + return cgData.getBounds(Collections.singleton(geocode)); + } + + public static void clearVisitDate(List<cgCache> caches) { + ArrayList<String> geocodes = new ArrayList<String>(caches.size()); + for (cgCache cache : caches) { + geocodes.add(cache.getGeocode()); + } + setVisitDate(geocodes, 0); + } + + public static SearchResult getBatchOfStoredCaches(Geopoint coords, CacheType cacheType, int listId) { + final Set<String> geocodes = cgData.loadBatchOfStoredGeocodes(coords, cacheType, listId); + return new SearchResult(geocodes, cgData.getAllStoredCachesCount(cacheType, listId)); + } + + public static SearchResult getHistoryOfCaches(boolean detailedOnly, CacheType cacheType) { + final Set<String> geocodes = cgData.loadBatchOfHistoricGeocodes(detailedOnly, cacheType); + return new SearchResult(geocodes, cgData.getAllHistoryCachesCount()); + } + + public static boolean saveWaypoint(int id, String geocode, cgWaypoint waypoint) { + if (cgData.saveWaypointInternal(id, geocode, waypoint)) { + cgData.removeCache(geocode, EnumSet.of(RemoveFlag.REMOVE_CACHE)); + return true; + } + return false; + } + } diff --git a/main/src/cgeo/geocaching/cgTrackable.java b/main/src/cgeo/geocaching/cgTrackable.java index 7ed3424..b03a783 100644 --- a/main/src/cgeo/geocaching/cgTrackable.java +++ b/main/src/cgeo/geocaching/cgTrackable.java @@ -38,8 +38,8 @@ public class cgTrackable implements ILogable { private String trackingcode = null; public String getUrl() { - if (StringUtils.startsWithIgnoreCase(geocode, "GK")) { - String hex = geocode.substring(3); + if (StringUtils.startsWithIgnoreCase(getGeocode(), "GK")) { + String hex = getGeocode().substring(3); try { int id = Integer.parseInt(hex, 16); return "http://geokrety.org/konkret.php?id=" + id; @@ -48,7 +48,7 @@ public class cgTrackable implements ILogable { return null; } } - return "http://www.geocaching.com//track/details.aspx?tracker=" + geocode.toUpperCase(); + return "http://www.geocaching.com//track/details.aspx?tracker=" + geocode; } public String getGuid() { @@ -65,7 +65,7 @@ public class cgTrackable implements ILogable { } public void setGeocode(String geocode) { - this.geocode = geocode; + this.geocode = StringUtils.upperCase(geocode); } public String getIconUrl() { @@ -208,7 +208,7 @@ public class cgTrackable implements ILogable { } public boolean isLoggable() { - return !StringUtils.startsWithIgnoreCase(geocode, "GK"); + return !StringUtils.startsWithIgnoreCase(getGeocode(), "GK"); } public String getTrackingcode() { diff --git a/main/src/cgeo/geocaching/cgWaypoint.java b/main/src/cgeo/geocaching/cgWaypoint.java index 0e21c08..32cc526 100644 --- a/main/src/cgeo/geocaching/cgWaypoint.java +++ b/main/src/cgeo/geocaching/cgWaypoint.java @@ -156,7 +156,7 @@ public class cgWaypoint implements IWaypoint, Comparable<cgWaypoint> { } public String getUrl() { - return "http://www.geocaching.com//seek/cache_details.aspx?wp=" + geocode.toUpperCase(); + return "http://www.geocaching.com//seek/cache_details.aspx?wp=" + geocode; } @Override @@ -174,7 +174,7 @@ public class cgWaypoint implements IWaypoint, Comparable<cgWaypoint> { } public void setGeocode(String geocode) { - this.geocode = geocode; + this.geocode = StringUtils.upperCase(geocode); } @Override diff --git a/main/src/cgeo/geocaching/cgeo.java b/main/src/cgeo/geocaching/cgeo.java index c80ec6f..c5a7e5b 100644 --- a/main/src/cgeo/geocaching/cgeo.java +++ b/main/src/cgeo/geocaching/cgeo.java @@ -415,7 +415,7 @@ public class cgeo extends AbstractActivity { // context menu for offline button if (v.getId() == R.id.search_offline) { menu.setHeaderTitle(res.getString(R.string.list_title)); - for (final StoredList list : app.getLists()) { + for (final StoredList list : cgData.getLists()) { menu.add(Menu.NONE, MENU_OPEN_LIST + list.id, Menu.NONE, list.getTitleAndCount()); } return; @@ -572,7 +572,7 @@ public class cgeo extends AbstractActivity { } private void checkRestore() { - if (!cgData.isNewlyCreatedDatebase() || null == cgData.isRestoreFile()) { + if (!cgData.isNewlyCreatedDatebase() || null == cgData.getRestoreFile()) { return; } new AlertDialog.Builder(this) @@ -759,7 +759,7 @@ public class cgeo extends AbstractActivity { } int checks = 0; - while (!app.storageStatus()) { + while (!cgData.isInitialized()) { try { wait(500); checks++; @@ -772,7 +772,7 @@ public class cgeo extends AbstractActivity { } } - countBubbleCnt = app.getAllStoredCachesCount(true, CacheType.ALL); + countBubbleCnt = cgData.getAllCachesCount(); countBubbleHandler.sendEmptyMessage(0); } @@ -797,7 +797,7 @@ public class cgeo extends AbstractActivity { } cleanupRunning = true; - app.cleanDatabase(more); + cgData.clean(more); cleanupRunning = false; if (version > 0) { diff --git a/main/src/cgeo/geocaching/cgeoapplication.java b/main/src/cgeo/geocaching/cgeoapplication.java index 9e221cd..b936594 100644 --- a/main/src/cgeo/geocaching/cgeoapplication.java +++ b/main/src/cgeo/geocaching/cgeoapplication.java @@ -1,21 +1,10 @@ package cgeo.geocaching; -import cgeo.geocaching.cgData.StorageLocation; import cgeo.geocaching.activity.ActivityMixin; -import cgeo.geocaching.enumerations.CacheType; -import cgeo.geocaching.enumerations.LoadFlags; -import cgeo.geocaching.enumerations.LoadFlags.LoadFlag; -import cgeo.geocaching.enumerations.LoadFlags.RemoveFlag; -import cgeo.geocaching.enumerations.LoadFlags.SaveFlag; -import cgeo.geocaching.enumerations.LogType; -import cgeo.geocaching.geopoint.Geopoint; -import cgeo.geocaching.geopoint.Viewport; import cgeo.geocaching.network.StatusUpdater; import cgeo.geocaching.utils.IObserver; import cgeo.geocaching.utils.Log; -import org.apache.commons.lang3.StringUtils; - import android.app.Activity; import android.app.Application; import android.app.ProgressDialog; @@ -23,24 +12,14 @@ import android.content.res.Resources; import android.os.Handler; import android.os.Message; -import java.io.File; -import java.util.ArrayList; -import java.util.Collections; -import java.util.Date; -import java.util.EnumSet; -import java.util.List; -import java.util.Map; -import java.util.Set; import java.util.concurrent.atomic.AtomicBoolean; public class cgeoapplication extends Application { - final private cgData storage = new cgData(); private volatile GeoDataProvider geo; private volatile DirectionProvider dir; public boolean firstRun = true; // c:geo is just launched public boolean showLoginToast = true; //login toast shown just once. - private boolean databaseCleaned = false; // database was cleaned private boolean liveMapHintShown = false; // livemap hint has been shown final private StatusUpdater statusUpdater = new StatusUpdater(); private static cgeoapplication instance = null; @@ -61,29 +40,21 @@ public class cgeoapplication extends Application { @Override public void onLowMemory() { Log.i("Cleaning applications cache."); - removeAllFromCache(); - } - - public void removeAllFromCache() { - storage.removeAllFromCache(); + cgData.removeAllFromCache(); } @Override public void onTerminate() { Log.d("Terminating c:geo…"); - storage.clean(); - storage.closeDb(); + cgData.clean(); + cgData.closeDb(); super.onTerminate(); } - public String backupDatabase() { - return storage.backupDatabase(); - } - /** - * Move the database to/from external storage in a new thread, + * Move the database to/from external cgdata in a new thread, * showing a progress window * * @param fromActivity @@ -105,18 +76,13 @@ public class cgeoapplication extends Application { @Override public void run() { - atomic.set(storage.moveDatabase()); + atomic.set(cgData.moveDatabase()); handler.sendMessage(handler.obtainMessage()); } }; moveThread.start(); } - - public static File isRestoreFile() { - return cgData.isRestoreFile(); - } - /** * restore the database in a new thread, showing a progress window * @@ -140,7 +106,7 @@ public class cgeoapplication extends Application { @Override public void run() { - atomic.set(storage.restoreDatabase()); + atomic.set(cgData.restoreDatabase()); handler.sendMessage(handler.obtainMessage()); } }; @@ -203,280 +169,6 @@ public class cgeoapplication extends Application { return statusUpdater; } - public boolean storageStatus() { - return storage.status(); - } - - public void cleanDatabase(boolean more) { - if (databaseCleaned) { - return; - } - - storage.clean(more); - databaseCleaned = true; - } - - /** {@link cgData#isThere(String, String, boolean, boolean)} */ - public boolean isThere(String geocode, String guid, boolean detailed, boolean checkTime) { - return storage.isThere(geocode, guid, detailed, checkTime); - } - - /** {@link cgData#isOffline(String, String)} */ - public boolean isOffline(String geocode, String guid) { - return storage.isOffline(geocode, guid); - } - - /** {@link cgData#getGeocodeForGuid(String)} */ - public String getGeocode(String guid) { - return storage.getGeocodeForGuid(guid); - } - - /** {@link cgData#getCacheidForGeocode(String)} */ - public String getCacheid(String geocode) { - return storage.getCacheidForGeocode(geocode); - } - - public boolean hasUnsavedCaches(final SearchResult search) { - if (search == null) { - return false; - } - - for (final String geocode : search.getGeocodes()) { - if (!isOffline(geocode, null)) { - return true; - } - } - return false; - } - - public cgTrackable getTrackableByGeocode(String geocode) { - if (StringUtils.isBlank(geocode)) { - return null; - } - - return storage.loadTrackable(geocode); - } - - /** {@link cgData#allDetailedThere()} */ - public String[] geocodesInCache() { - return storage.allDetailedThere(); - } - - public Viewport getBounds(String geocode) { - if (geocode == null) { - return null; - } - - return getBounds(Collections.singleton(geocode)); - } - - /** {@link cgData#getBounds(Set)} */ - public Viewport getBounds(final Set<String> geocodes) { - return storage.getBounds(geocodes); - } - - /** {@link cgData#loadBatchOfStoredGeocodes(boolean, Geopoint, CacheType, int)} */ - public SearchResult getBatchOfStoredCaches(final boolean detailedOnly, final Geopoint coords, final CacheType cacheType, final int listId) { - final Set<String> geocodes = storage.loadBatchOfStoredGeocodes(detailedOnly, coords, cacheType, listId); - return new SearchResult(geocodes, getAllStoredCachesCount(true, cacheType, listId)); - } - - /** {@link cgData#loadHistoryOfSearchedLocations()} */ - public List<Destination> getHistoryOfSearchedLocations() { - return storage.loadHistoryOfSearchedLocations(); - } - - public SearchResult getHistoryOfCaches(final boolean detailedOnly, final CacheType cacheType) { - final Set<String> geocodes = storage.loadBatchOfHistoricGeocodes(detailedOnly, cacheType); - return new SearchResult(geocodes, getAllHistoricCachesCount()); - } - - /** {@link cgData#loadCachedInViewport(Viewport, CacheType)} */ - public SearchResult getCachedInViewport(final Viewport viewport, final CacheType cacheType) { - final Set<String> geocodes = storage.loadCachedInViewport(viewport, cacheType); - return new SearchResult(geocodes); - } - - /** {@link cgData#loadStoredInViewport(Viewport, CacheType)} */ - public SearchResult getStoredInViewport(final Viewport viewport, final CacheType cacheType) { - final Set<String> geocodes = storage.loadStoredInViewport(viewport, cacheType); - return new SearchResult(geocodes); - } - - /** {@link cgData#getAllStoredCachesCount(boolean, CacheType, int)} */ - public int getAllStoredCachesCount(final boolean detailedOnly, final CacheType cacheType) { - return storage.getAllStoredCachesCount(detailedOnly, cacheType, 0); - } - - /** {@link cgData#getAllStoredCachesCount(boolean, CacheType, int)} */ - public int getAllStoredCachesCount(final boolean detailedOnly, final CacheType cacheType, final Integer list) { - return storage.getAllStoredCachesCount(detailedOnly, cacheType, list); - } - - /** {@link cgData#getAllHistoricCachesCount()} */ - public int getAllHistoricCachesCount() { - return storage.getAllHistoricCachesCount(); - } - - /** {@link cgData#moveToList(List, int)} */ - public void markStored(List<cgCache> caches, int listId) { - storage.moveToList(caches, listId); - } - - /** {@link cgData#moveToList(List, int)} */ - public void markDropped(List<cgCache> caches) { - storage.moveToList(caches, StoredList.TEMPORARY_LIST_ID); - } - - /** {@link cgData#clearSearchedDestinations()} */ - public boolean clearSearchedDestinations() { - return storage.clearSearchedDestinations(); - } - - /** {@link cgData#saveSearchedDestination(Destination)} */ - public void saveSearchedDestination(Destination destination) { - storage.saveSearchedDestination(destination); - } - - /** {@link cgData#saveWaypoints(cgCache)} */ - public boolean saveWaypoints(final cgCache cache) { - return storage.saveWaypoints(cache); - } - - public boolean saveWaypoint(int id, String geocode, cgWaypoint waypoint) { - if (storage.saveWaypoint(id, geocode, waypoint)) { - this.removeCache(geocode, EnumSet.of(RemoveFlag.REMOVE_CACHE)); - return true; - } - return false; - } - - /** {@link cgData#deleteWaypoint(int)} */ - public boolean deleteWaypoint(int id) { - return storage.deleteWaypoint(id); - } - - public boolean saveTrackable(cgTrackable trackable) { - return storage.saveTrackable(trackable); - } - - /** {@link cgData#loadLogCounts(String)} */ - public Map<LogType, Integer> loadLogCounts(String geocode) { - return storage.loadLogCounts(geocode); - } - - /** {@link cgData#loadWaypoint(int)} */ - public cgWaypoint loadWaypoint(int id) { - return storage.loadWaypoint(id); - } - - /** {@link cgData#saveLogOffline(String, Date, LogType, String)} */ - public boolean saveLogOffline(String geocode, Date date, LogType logtype, String log) { - return storage.saveLogOffline(geocode, date, logtype, log); - } - - /** {@link cgData#loadLogOffline(String)} */ - public LogEntry loadLogOffline(String geocode) { - return storage.loadLogOffline(geocode); - } - - /** {@link cgData#clearLogOffline(String)} */ - public void clearLogOffline(String geocode) { - storage.clearLogOffline(geocode); - } - - /** {@link cgData#setVisitDate(List, long)} */ - public void saveVisitDate(String geocode) { - storage.setVisitDate(Collections.singletonList(geocode), System.currentTimeMillis()); - } - - /** {@link cgData#setVisitDate(List, long)} */ - public void clearVisitDate(List<cgCache> caches) { - ArrayList<String> geocodes = new ArrayList<String>(caches.size()); - for (cgCache cache : caches) { - geocodes.add(cache.getGeocode()); - } - storage.setVisitDate(geocodes, 0); - } - - /** {@link cgData#getLists(Resources)} */ - public List<StoredList> getLists() { - return storage.getLists(getResources()); - } - - /** {@link cgData#getList(int, Resources)} */ - public StoredList getList(int id) { - return storage.getList(id, getResources()); - } - - /** {@link cgData#createList(String)} */ - public int createList(String title) { - return storage.createList(title); - } - - /** {@link cgData#renameList(int, String)} */ - public int renameList(final int listId, final String title) { - return storage.renameList(listId, title); - } - - /** {@link cgData#removeList(int)} */ - public boolean removeList(int id) { - return storage.removeList(id); - } - - /** {@link cgData#removeSearchedDestination(Destination)} */ - public boolean removeSearchedDestinations(Destination destination) { - return storage.removeSearchedDestination(destination); - } - - /** {@link cgData#moveToList(List, int)} */ - public void moveToList(List<cgCache> caches, int listId) { - storage.moveToList(caches, listId); - } - - /** {@link cgData#getCacheDescription(String)} */ - public String getCacheDescription(String geocode) { - return storage.getCacheDescription(geocode); - } - - /** {@link cgData#loadCaches} */ - public cgCache loadCache(final String geocode, final EnumSet<LoadFlag> loadFlags) { - return storage.loadCache(geocode, loadFlags); - } - - /** {@link cgData#loadCaches} */ - public Set<cgCache> loadCaches(final Set<String> geocodes, final EnumSet<LoadFlag> loadFlags) { - return storage.loadCaches(geocodes, loadFlags); - } - - /** - * Update a cache in the DB or in the CacheCace depending on it's storage location - * - * {@link cgData#saveCache} - */ - public boolean updateCache(cgCache cache) { - return saveCache(cache, cache.getStorageLocation().contains(StorageLocation.DATABASE) ? LoadFlags.SAVE_ALL : EnumSet.of(SaveFlag.SAVE_CACHE)); - } - - /** {@link cgData#saveCache} */ - public boolean saveCache(cgCache cache, EnumSet<LoadFlags.SaveFlag> saveFlags) { - return storage.saveCache(cache, saveFlags); - } - - /** {@link cgData#removeCache} */ - public void removeCache(String geocode, EnumSet<LoadFlags.RemoveFlag> removeFlags) { - storage.removeCache(geocode, removeFlags); - } - - /** {@link cgData#removeCaches} */ - public void removeCaches(final Set<String> geocodes, EnumSet<LoadFlags.RemoveFlag> removeFlags) { - storage.removeCaches(geocodes, removeFlags); - } - - public Set<cgWaypoint> getWaypointsInViewport(final Viewport viewport, boolean excludeMine, boolean excludeDisabled, CacheType type) { - return storage.loadWaypoints(viewport, excludeMine, excludeDisabled, type); - } - public boolean isLiveMapHintShown() { return liveMapHintShown; } @@ -485,20 +177,4 @@ public class cgeoapplication extends Application { liveMapHintShown = true; } - public String[] getTrackableCodes() { - return storage.getTrackableCodes(); - } - - public List<LogEntry> loadLogs(final String geocode) { - return storage.loadLogs(geocode); - } - - public List<String> loadAttributes(final String geocode) { - return storage.loadAttributes(geocode); - } - - public List<cgWaypoint> loadWaypoints(final String geocode) { - return storage.loadWaypoints(geocode); - } - } diff --git a/main/src/cgeo/geocaching/cgeocaches.java b/main/src/cgeo/geocaching/cgeocaches.java index 57fdb9c..d4802ed 100644 --- a/main/src/cgeo/geocaching/cgeocaches.java +++ b/main/src/cgeo/geocaching/cgeocaches.java @@ -3,6 +3,7 @@ package cgeo.geocaching; import cgeo.geocaching.activity.AbstractActivity; import cgeo.geocaching.activity.AbstractListActivity; import cgeo.geocaching.activity.ActivityMixin; +import cgeo.geocaching.activity.FilteredActivity; import cgeo.geocaching.activity.Progress; import cgeo.geocaching.apps.cache.navi.NavigationAppFactory; import cgeo.geocaching.apps.cachelist.CacheListAppFactory; @@ -28,6 +29,7 @@ import cgeo.geocaching.sorting.EventDateComparator; import cgeo.geocaching.sorting.VisitComparator; import cgeo.geocaching.ui.CacheListAdapter; import cgeo.geocaching.ui.LoggingUI; +import cgeo.geocaching.ui.WeakReferenceHandler; import cgeo.geocaching.utils.GeoDirHandler; import cgeo.geocaching.utils.Log; import cgeo.geocaching.utils.RunnableWithArgument; @@ -64,7 +66,7 @@ import java.util.HashSet; import java.util.List; import java.util.Set; -public class cgeocaches extends AbstractListActivity { +public class cgeocaches extends AbstractListActivity implements FilteredActivity { private static final String EXTRAS_USERNAME = "username"; private static final String EXTRAS_ADDRESS = "address"; @@ -156,57 +158,42 @@ public class cgeocaches extends AbstractListActivity { */ private MenuItem navigationMenu; - private Handler loadCachesHandler = new Handler() { - - @Override - public void handleMessage(Message msg) { - try { - setAdapter(); - - updateTitle(); - - setDateComparatorForEventList(); + public void handleCachesLoaded() { + try { + setAdapter(); - showFooterMoreCaches(); + updateTitle(); - if (search != null && search.getError() == StatusCode.UNAPPROVED_LICENSE) { - AlertDialog.Builder dialog = new AlertDialog.Builder(cgeocaches.this); - dialog.setTitle(res.getString(R.string.license)); - dialog.setMessage(res.getString(R.string.err_license)); - dialog.setCancelable(true); - dialog.setNegativeButton(res.getString(R.string.license_dismiss), new DialogInterface.OnClickListener() { - - @Override - public void onClick(DialogInterface dialog, int id) { - Cookies.clearCookies(); - dialog.cancel(); - } - }); - dialog.setPositiveButton(res.getString(R.string.license_show), new DialogInterface.OnClickListener() { + setDateComparatorForEventList(); - @Override - public void onClick(DialogInterface dialog, int id) { - Cookies.clearCookies(); - startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.geocaching.com/software/agreement.aspx?ID=0"))); - } - }); + showFooterMoreCaches(); - AlertDialog alert = dialog.create(); - alert.show(); - } else if (search != null && search.getError() != null) { - showToast(res.getString(R.string.err_download_fail) + ' ' + search.getError().getErrorString(res) + '.'); + if (search != null && search.getError() == StatusCode.UNAPPROVED_LICENSE) { + AlertDialog.Builder dialog = new AlertDialog.Builder(cgeocaches.this); + dialog.setTitle(res.getString(R.string.license)); + dialog.setMessage(res.getString(R.string.err_license)); + dialog.setCancelable(true); + dialog.setNegativeButton(res.getString(R.string.license_dismiss), new DialogInterface.OnClickListener() { - hideLoading(); - showProgress(false); + @Override + public void onClick(DialogInterface dialog, int id) { + Cookies.clearCookies(); + dialog.cancel(); + } + }); + dialog.setPositiveButton(res.getString(R.string.license_show), new DialogInterface.OnClickListener() { - finish(); - return; - } + @Override + public void onClick(DialogInterface dialog, int id) { + Cookies.clearCookies(); + startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.geocaching.com/software/agreement.aspx?ID=0"))); + } + }); - setAdapterCurrentCoordinates(false); - } catch (Exception e) { - showToast(res.getString(R.string.err_detail_cache_find_any)); - Log.e("cgeocaches.loadCachesHandler: " + e.toString()); + AlertDialog alert = dialog.create(); + alert.show(); + } else if (search != null && search.getError() != null) { + showToast(res.getString(R.string.err_download_fail) + ' ' + search.getError().getErrorString(res) + '.'); hideLoading(); showProgress(false); @@ -215,16 +202,45 @@ public class cgeocaches extends AbstractListActivity { return; } - try { - hideLoading(); - showProgress(false); - } catch (Exception e2) { - Log.e("cgeocaches.loadCachesHandler.2: " + e2.toString()); - } + setAdapterCurrentCoordinates(false); + } catch (Exception e) { + showToast(res.getString(R.string.err_detail_cache_find_any)); + Log.e("cgeocaches.loadCachesHandler: " + e.toString()); - if (adapter != null) { - adapter.setSelectMode(false); + hideLoading(); + showProgress(false); + + finish(); + return; + } + + try { + hideLoading(); + showProgress(false); + } catch (Exception e2) { + Log.e("cgeocaches.loadCachesHandler.2: " + e2.toString()); + } + + if (adapter != null) { + adapter.setSelectMode(false); + } + } + + private Handler loadCachesHandler = new LoadCachesHandler(this); + + private static class LoadCachesHandler extends WeakReferenceHandler<cgeocaches> { + + protected LoadCachesHandler(cgeocaches activity) { + super(activity); + } + + @Override + public void handleMessage(Message msg) { + final cgeocaches activity = getActivity(); + if (activity == null) { + return; } + activity.handleCachesLoaded(); } }; private Handler loadNextPageHandler = new Handler() { @@ -479,7 +495,7 @@ public class cgeocaches extends AbstractListActivity { listId = StoredList.STANDARD_LIST_ID; title = res.getString(R.string.stored_caches_button); } else { - final StoredList list = app.getList(listId); + final StoredList list = cgData.getList(listId); // list.id may be different if listId was not valid listId = list.id; title = list.title; @@ -642,7 +658,7 @@ public class cgeocaches extends AbstractListActivity { // refresh standard list if it has changed (new caches downloaded) if (type == CacheListType.OFFLINE && listId >= StoredList.STANDARD_LIST_ID && search != null) { - SearchResult newSearch = cgeoapplication.getInstance().getBatchOfStoredCaches(true, coords, Settings.getCacheType(), listId); + SearchResult newSearch = cgData.getBatchOfStoredCaches(coords, Settings.getCacheType(), listId); if (newSearch != null && newSearch.getTotal() != search.getTotal()) { refreshCurrentList(); } @@ -784,7 +800,7 @@ public class cgeocaches extends AbstractListActivity { item.setVisible(isNonDefaultList); } - final boolean multipleLists = app.getLists().size() >= 2; + final boolean multipleLists = cgData.getLists().size() >= 2; item = menu.findItem(MENU_SWITCH_LIST); if (item != null) { item.setVisible(multipleLists); @@ -864,20 +880,7 @@ public class cgeocaches extends AbstractListActivity { invalidateOptionsMenuCompatible(); return false; case MENU_FILTER: - new FilterUserInterface(this).selectFilter(new RunnableWithArgument<IFilter>() { - @Override - public void run(IFilter selectedFilter) { - if (selectedFilter != null) { - setFilter(selectedFilter); - } - else { - // clear filter - if (adapter != null) { - setFilter(null); - } - } - } - }); + showFilterMenu(null); return true; case MENU_SORT: new ComparatorUserInterface(this).selectComparator(adapter.getCacheComparator(), new RunnableWithArgument<CacheComparator>() { @@ -906,6 +909,26 @@ public class cgeocaches extends AbstractListActivity { return CacheListAppFactory.onMenuItemSelected(item, cacheList, this, search); } + /** + * called from the filter bar view + */ + public void showFilterMenu(@SuppressWarnings("unused") final View view) { + new FilterUserInterface(this).selectFilter(new RunnableWithArgument<IFilter>() { + @Override + public void run(IFilter selectedFilter) { + if (selectedFilter != null) { + setFilter(selectedFilter); + } + else { + // clear filter + if (adapter != null) { + setFilter(null); + } + } + } + }); + } + private void setComparator(final CacheComparator comparator) { if (adapter != null) { adapter.setComparator(comparator); @@ -944,7 +967,7 @@ public class cgeocaches extends AbstractListActivity { } if (cache.isOffline()) { menu.add(0, MENU_DROP_CACHE, 0, res.getString(R.string.cache_offline_drop)); - final List<StoredList> cacheLists = app.getLists(); + final List<StoredList> cacheLists = cgData.getLists(); if (cacheLists.size() > 1) { menu.add(0, MENU_MOVE_TO_LIST, 0, res.getString(R.string.cache_menu_move_list)); } @@ -960,7 +983,7 @@ public class cgeocaches extends AbstractListActivity { @Override public void run(Integer newListId) { - app.moveToList(adapter.getCheckedOrAllCaches(), newListId); + cgData.moveToList(adapter.getCheckedOrAllCaches(), newListId); adapter.setSelectMode(false); refreshCurrentList(); @@ -1003,7 +1026,7 @@ public class cgeocaches extends AbstractListActivity { break; case MENU_CACHE_DETAILS: final Intent cachesIntent = new Intent(this, CacheDetailActivity.class); - cachesIntent.putExtra("geocode", cache.getGeocode().toUpperCase()); + cachesIntent.putExtra("geocode", cache.getGeocode()); cachesIntent.putExtra("name", cache.getName()); startActivity(cachesIntent); break; @@ -1021,7 +1044,7 @@ public class cgeocaches extends AbstractListActivity { @Override public void run(Integer newListId) { - app.moveToList(Collections.singletonList(cache), newListId); + cgData.moveToList(Collections.singletonList(cache), newListId); adapter.setSelectMode(false); refreshCurrentList(); } @@ -1283,7 +1306,7 @@ public class cgeocaches extends AbstractListActivity { @Override public void run() { - search = cgeoapplication.getInstance().getBatchOfStoredCaches(true, coords, Settings.getCacheType(), listId); + search = cgData.getBatchOfStoredCaches(coords, Settings.getCacheType(), listId); replaceCacheListFromSearch(); loadCachesHandler.sendMessage(Message.obtain()); } @@ -1292,7 +1315,7 @@ public class cgeocaches extends AbstractListActivity { private class LoadByHistoryThread extends Thread { @Override public void run() { - search = cgeoapplication.getInstance().getHistoryOfCaches(true, coords != null ? Settings.getCacheType() : CacheType.ALL); + search = cgData.getHistoryOfCaches(true, coords != null ? Settings.getCacheType() : CacheType.ALL); replaceCacheListFromSearch(); loadCachesHandler.sendMessage(Message.obtain()); } @@ -1581,7 +1604,7 @@ public class cgeocaches extends AbstractListActivity { @Override public void run() { removeGeoAndDir(); - app.markDropped(selected); + cgData.markDropped(selected); handler.sendEmptyMessage(MSG_DONE); startGeoAndDir(); @@ -1600,7 +1623,7 @@ public class cgeocaches extends AbstractListActivity { @Override public void run() { - app.clearVisitDate(selected); + cgData.clearVisitDate(selected); handler.sendEmptyMessage(MSG_DONE); } } @@ -1650,7 +1673,7 @@ public class cgeocaches extends AbstractListActivity { return; } - StoredList list = app.getList(id); + StoredList list = cgData.getList(id); if (list == null) { return; } @@ -1693,7 +1716,7 @@ public class cgeocaches extends AbstractListActivity { @Override public void run() { final List<cgCache> caches = adapter.getCheckedCaches(); - app.moveToList(caches, listId); + cgData.moveToList(caches, listId); handler.sendEmptyMessage(listId); } } @@ -1725,7 +1748,7 @@ public class cgeocaches extends AbstractListActivity { } private void removeListInternal() { - if (app.removeList(listId)) { + if (cgData.removeList(listId)) { showToast(res.getString(R.string.list_dialog_remove_ok)); switchListById(StoredList.STANDARD_LIST_ID); } else { diff --git a/main/src/cgeo/geocaching/cgeonavigate.java b/main/src/cgeo/geocaching/cgeonavigate.java index 64b7cd8..61870a5 100644 --- a/main/src/cgeo/geocaching/cgeonavigate.java +++ b/main/src/cgeo/geocaching/cgeonavigate.java @@ -293,7 +293,7 @@ public class cgeonavigate extends AbstractActivity { final Intent navigateIntent = new Intent(context, cgeonavigate.class); navigateIntent.putExtra(EXTRAS_COORDS, coords); - navigateIntent.putExtra(EXTRAS_GEOCODE, geocode.toUpperCase()); + navigateIntent.putExtra(EXTRAS_GEOCODE, geocode); if (null != displayedName) { navigateIntent.putExtra(EXTRAS_NAME, displayedName); } diff --git a/main/src/cgeo/geocaching/cgeopoint.java b/main/src/cgeo/geocaching/cgeopoint.java index 025b96a..0e0d98b 100644 --- a/main/src/cgeo/geocaching/cgeopoint.java +++ b/main/src/cgeo/geocaching/cgeopoint.java @@ -207,7 +207,7 @@ public class cgeopoint extends AbstractActivity { private List<Destination> getHistoryOfSearchedLocations() { if (historyOfSearchedLocations == null) { // Load from database - historyOfSearchedLocations = app.getHistoryOfSearchedLocations(); + historyOfSearchedLocations = cgData.loadHistoryOfSearchedLocations(); } return historyOfSearchedLocations; @@ -393,7 +393,7 @@ public class cgeopoint extends AbstractActivity { getHistoryOfSearchedLocations().add(0, loc); // Save location - app.saveSearchedDestination(loc); + cgData.saveSearchedDestination(loc); // Ensure to remove the footer historyListView.removeFooterView(getEmptyHistoryFooter()); @@ -405,7 +405,7 @@ public class cgeopoint extends AbstractActivity { getHistoryOfSearchedLocations().remove(destination); // Save - app.removeSearchedDestinations(destination); + cgData.removeSearchedDestination(destination); if (getHistoryOfSearchedLocations().isEmpty()) { if (historyListView.getFooterViewsCount() == 0) { @@ -424,7 +424,7 @@ public class cgeopoint extends AbstractActivity { getHistoryOfSearchedLocations().clear(); // Save - app.clearSearchedDestinations(); + cgData.clearSearchedDestinations(); if (historyListView.getFooterViewsCount() == 0) { historyListView.addFooterView(getEmptyHistoryFooter()); diff --git a/main/src/cgeo/geocaching/cgeotrackable.java b/main/src/cgeo/geocaching/cgeotrackable.java index 93b410a..3c9e554 100644 --- a/main/src/cgeo/geocaching/cgeotrackable.java +++ b/main/src/cgeo/geocaching/cgeotrackable.java @@ -5,6 +5,7 @@ import cgeo.geocaching.connector.gc.GCParser; import cgeo.geocaching.enumerations.LogType; import cgeo.geocaching.geopoint.Units; import cgeo.geocaching.network.HtmlImage; +import cgeo.geocaching.network.Network; import cgeo.geocaching.ui.CacheDetailsCreator; import cgeo.geocaching.ui.Formatter; import cgeo.geocaching.utils.BaseUtils; @@ -32,9 +33,9 @@ import android.widget.LinearLayout; import android.widget.RelativeLayout; import android.widget.TextView; -import java.net.URLEncoder; import java.util.ArrayList; import java.util.Arrays; +import java.util.Locale; public class cgeotrackable extends AbstractActivity { private static final int MENU_LOG_TOUCH = 1; @@ -68,12 +69,12 @@ public class cgeotrackable extends AbstractActivity { try { inflater = getLayoutInflater(); - geocode = trackable.getGeocode().toUpperCase(); + geocode = trackable.getGeocode(); if (StringUtils.isNotBlank(trackable.getName())) { setTitle(Html.fromHtml(trackable.getName()).toString()); } else { - setTitle(trackable.getName().toUpperCase()); + setTitle(trackable.getName()); } findViewById(R.id.details_list_box).setVisibility(View.VISIBLE); @@ -99,7 +100,7 @@ public class cgeotrackable extends AbstractActivity { details.add(R.string.trackable_type, tbType); // trackable geocode - details.add(R.string.trackable_code, trackable.getGeocode().toUpperCase()); + details.add(R.string.trackable_code, trackable.getGeocode()); // trackable owner TextView owner = details.add(R.string.trackable_owner, res.getString(R.string.trackable_unknown)); @@ -274,33 +275,33 @@ public class cgeotrackable extends AbstractActivity { // try to get data from URI if (geocode == null && guid == null && id == null && uri != null) { - String uriHost = uri.getHost().toLowerCase(); + String uriHost = uri.getHost().toLowerCase(Locale.US); if (uriHost.contains("geocaching.com")) { geocode = uri.getQueryParameter("tracker"); guid = uri.getQueryParameter("guid"); id = uri.getQueryParameter("id"); if (StringUtils.isNotBlank(geocode)) { - geocode = geocode.toUpperCase(); + geocode = geocode.toUpperCase(Locale.US); guid = null; id = null; } else if (StringUtils.isNotBlank(guid)) { geocode = null; - guid = guid.toLowerCase(); + guid = guid.toLowerCase(Locale.US); id = null; } else if (StringUtils.isNotBlank(id)) { geocode = null; guid = null; - id = id.toLowerCase(); + id = id.toLowerCase(Locale.US); } else { showToast(res.getString(R.string.err_tb_details_open)); finish(); return; } } else if (uriHost.contains("coord.info")) { - String uriPath = uri.getPath().toLowerCase(); + String uriPath = uri.getPath().toLowerCase(Locale.US); if (uriPath != null && uriPath.startsWith("/tb")) { - geocode = uriPath.substring(1).toUpperCase(); + geocode = uriPath.substring(1).toUpperCase(Locale.US); guid = null; id = null; } else { @@ -322,7 +323,7 @@ public class cgeotrackable extends AbstractActivity { if (StringUtils.isNotBlank(name)) { message = Html.fromHtml(name).toString(); } else if (StringUtils.isNotBlank(geocode)) { - message = geocode.toUpperCase(); + message = geocode; } else { message = res.getString(R.string.trackable); } @@ -367,7 +368,7 @@ public class cgeotrackable extends AbstractActivity { cgeocaches.startActivityUserName(this, contextMenuUser); return true; case 3: - startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.geocaching.com/profile/?u=" + URLEncoder.encode(contextMenuUser)))); + startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.geocaching.com/profile/?u=" + Network.encode(contextMenuUser)))); return true; default: return false; @@ -416,8 +417,7 @@ public class cgeotrackable extends AbstractActivity { @Override public void run() { - // for non TB trackables, we should just use what we have in the database - trackable = cgeoapplication.getInstance().getTrackableByGeocode(geocode); + trackable = cgData.loadTrackable(geocode); if ((trackable == null || trackable.isLoggable()) && !StringUtils.startsWithIgnoreCase(geocode, "GK")) { trackable = GCParser.searchTrackable(geocode, guid, id); @@ -470,6 +470,17 @@ public class cgeotrackable extends AbstractActivity { logView.setText(logText); } + ImageView statusMarker = (ImageView) rowView.findViewById(R.id.log_mark); + // colored marker + int marker = log.type.markerId; + if (marker != 0) { + statusMarker.setVisibility(View.VISIBLE); + statusMarker.setImageResource(marker); + } + else { + statusMarker.setVisibility(View.GONE); + } + // add LogImages LinearLayout logLayout = (LinearLayout) rowView.findViewById(R.id.log_layout); diff --git a/main/src/cgeo/geocaching/compatibility/AndroidLevel11Dummy.java b/main/src/cgeo/geocaching/compatibility/AndroidLevel11Emulation.java index 9c2bb8c..6a23ed5 100644 --- a/main/src/cgeo/geocaching/compatibility/AndroidLevel11Dummy.java +++ b/main/src/cgeo/geocaching/compatibility/AndroidLevel11Emulation.java @@ -3,9 +3,9 @@ package cgeo.geocaching.compatibility; import android.app.Activity; /** - * dummy class which has no functionality in the level 11 API + * implement level 11 API using older methods */ -public class AndroidLevel11Dummy implements AndroidLevel11Interface { +public class AndroidLevel11Emulation implements AndroidLevel11Interface { @Override public void invalidateOptionsMenu(final Activity activity) { diff --git a/main/src/cgeo/geocaching/compatibility/AndroidLevel13.java b/main/src/cgeo/geocaching/compatibility/AndroidLevel13.java new file mode 100644 index 0000000..4eac205 --- /dev/null +++ b/main/src/cgeo/geocaching/compatibility/AndroidLevel13.java @@ -0,0 +1,31 @@ +package cgeo.geocaching.compatibility; + +import cgeo.geocaching.cgeoapplication; + +import android.annotation.TargetApi; +import android.content.Context; +import android.graphics.Point; +import android.view.WindowManager; + +@TargetApi(value = 13) +public class AndroidLevel13 implements AndroidLevel13Interface { + + @Override + public int getDisplayWidth() { + return getDisplaySize().x; + } + + @Override + public Point getDisplaySize() { + Point dimensions = new Point(); + ((WindowManager) cgeoapplication.getInstance().getSystemService(Context.WINDOW_SERVICE)) + .getDefaultDisplay().getSize(dimensions); + return dimensions; + } + + @Override + public int getDisplayHeight() { + return getDisplaySize().y; + } + +} diff --git a/main/src/cgeo/geocaching/compatibility/AndroidLevel13Emulation.java b/main/src/cgeo/geocaching/compatibility/AndroidLevel13Emulation.java new file mode 100644 index 0000000..2257d83 --- /dev/null +++ b/main/src/cgeo/geocaching/compatibility/AndroidLevel13Emulation.java @@ -0,0 +1,33 @@ +package cgeo.geocaching.compatibility; + +import cgeo.geocaching.cgeoapplication; + +import android.content.Context; +import android.graphics.Point; +import android.view.Display; +import android.view.WindowManager; + +@SuppressWarnings("deprecation") +public class AndroidLevel13Emulation implements AndroidLevel13Interface { + + @Override + public int getDisplayWidth() { + return getDisplay().getWidth(); + } + + @Override + public int getDisplayHeight() { + return getDisplay().getHeight(); + } + + @Override + public Point getDisplaySize() { + final Display display = getDisplay(); + return new Point(display.getWidth(), display.getHeight()); + } + + private static Display getDisplay() { + return ((WindowManager) cgeoapplication.getInstance().getSystemService(Context.WINDOW_SERVICE)) + .getDefaultDisplay(); + } +} diff --git a/main/src/cgeo/geocaching/compatibility/AndroidLevel13Interface.java b/main/src/cgeo/geocaching/compatibility/AndroidLevel13Interface.java new file mode 100644 index 0000000..f4e1975 --- /dev/null +++ b/main/src/cgeo/geocaching/compatibility/AndroidLevel13Interface.java @@ -0,0 +1,11 @@ +package cgeo.geocaching.compatibility; + +import android.graphics.Point; + +public interface AndroidLevel13Interface { + int getDisplayWidth(); + + int getDisplayHeight(); + + Point getDisplaySize(); +} diff --git a/main/src/cgeo/geocaching/compatibility/AndroidLevel8.java b/main/src/cgeo/geocaching/compatibility/AndroidLevel8.java index ea5a795..a388adb 100644 --- a/main/src/cgeo/geocaching/compatibility/AndroidLevel8.java +++ b/main/src/cgeo/geocaching/compatibility/AndroidLevel8.java @@ -6,6 +6,7 @@ import android.annotation.TargetApi; import android.app.Activity; import android.app.backup.BackupManager; import android.view.Display; +import android.view.Surface; @TargetApi(8) public class AndroidLevel8 implements AndroidLevel8Interface { @@ -21,4 +22,23 @@ public class AndroidLevel8 implements AndroidLevel8Interface { Log.i("Requesting settings backup with settings manager"); BackupManager.dataChanged(name); } + + @Override + public int getRotationOffset(final Activity activity) { + try { + final int rotation = getRotation(activity); + if (rotation == Surface.ROTATION_90) { + return 90; + } else if (rotation == Surface.ROTATION_180) { + return 180; + } else if (rotation == Surface.ROTATION_270) { + return 270; + } + } catch (final Exception e) { + // This should never happen: IllegalArgumentException, IllegalAccessException or InvocationTargetException + Log.e("Cannot call getRotation()", e); + } + + return 0; + } } diff --git a/main/src/cgeo/geocaching/compatibility/AndroidLevel8Dummy.java b/main/src/cgeo/geocaching/compatibility/AndroidLevel8Dummy.java deleted file mode 100644 index d0ab911..0000000 --- a/main/src/cgeo/geocaching/compatibility/AndroidLevel8Dummy.java +++ /dev/null @@ -1,16 +0,0 @@ -package cgeo.geocaching.compatibility; - -import android.app.Activity; - -public class AndroidLevel8Dummy implements AndroidLevel8Interface { - - @Override - public int getRotation(final Activity activity) { - return 0; - } - - @Override - public void dataChanged(final String name) { - // do nothing - } -} diff --git a/main/src/cgeo/geocaching/compatibility/AndroidLevel8Emulation.java b/main/src/cgeo/geocaching/compatibility/AndroidLevel8Emulation.java new file mode 100644 index 0000000..197993d --- /dev/null +++ b/main/src/cgeo/geocaching/compatibility/AndroidLevel8Emulation.java @@ -0,0 +1,30 @@ +package cgeo.geocaching.compatibility; + +import android.annotation.TargetApi; +import android.app.Activity; +import android.content.res.Configuration; +import android.view.Display; + +@TargetApi(value = 7) +public class AndroidLevel8Emulation implements AndroidLevel8Interface { + + @Override + public int getRotation(final Activity activity) { + return 0; + } + + @Override + public void dataChanged(final String name) { + // do nothing + } + + @Override + public int getRotationOffset(Activity activity) { + final Display display = activity.getWindowManager().getDefaultDisplay(); + final int rotation = display.getOrientation(); + if (rotation == Configuration.ORIENTATION_LANDSCAPE) { + return 90; + } + return 0; + } +} diff --git a/main/src/cgeo/geocaching/compatibility/AndroidLevel8Interface.java b/main/src/cgeo/geocaching/compatibility/AndroidLevel8Interface.java index b1c4f81..761c23a 100644 --- a/main/src/cgeo/geocaching/compatibility/AndroidLevel8Interface.java +++ b/main/src/cgeo/geocaching/compatibility/AndroidLevel8Interface.java @@ -6,4 +6,5 @@ public interface AndroidLevel8Interface { public int getRotation(final Activity activity); public void dataChanged(final String name); + public int getRotationOffset(final Activity activity); }
\ No newline at end of file diff --git a/main/src/cgeo/geocaching/compatibility/Compatibility.java b/main/src/cgeo/geocaching/compatibility/Compatibility.java index 0821655..05a3331 100644 --- a/main/src/cgeo/geocaching/compatibility/Compatibility.java +++ b/main/src/cgeo/geocaching/compatibility/Compatibility.java @@ -8,11 +8,9 @@ import org.apache.commons.lang3.reflect.MethodUtils; import android.app.Activity; import android.content.Intent; -import android.content.res.Configuration; +import android.graphics.Point; import android.os.Build; import android.text.InputType; -import android.view.Display; -import android.view.Surface; import android.widget.EditText; public final class Compatibility { @@ -23,19 +21,26 @@ public final class Compatibility { private final static AndroidLevel8Interface level8; private final static AndroidLevel11Interface level11; + private final static AndroidLevel13Interface level13; static { if (isLevel8) { level8 = new AndroidLevel8(); } else { - level8 = new AndroidLevel8Dummy(); + level8 = new AndroidLevel8Emulation(); } if (sdkVersion >= 11) { level11 = new AndroidLevel11(); } else { - level11 = new AndroidLevel11Dummy(); + level11 = new AndroidLevel11Emulation(); + } + if (sdkVersion >= 13) { + level13 = new AndroidLevel13(); + } + else { + level13 = new AndroidLevel13Emulation(); } } @@ -47,29 +52,7 @@ public final class Compatibility { * @return the adjusted direction, in the [0, 360[ range */ public static float getDirectionNow(final float directionNowPre, final Activity activity) { - float offset = 0; - if (isLevel8) { - try { - final int rotation = level8.getRotation(activity); - if (rotation == Surface.ROTATION_90) { - offset = 90; - } else if (rotation == Surface.ROTATION_180) { - offset = 180; - } else if (rotation == Surface.ROTATION_270) { - offset = 270; - } - } catch (final Exception e) { - // This should never happen: IllegalArgumentException, IllegalAccessException or InvocationTargetException - Log.e("Cannot call getRotation()", e); - } - } else { - final Display display = activity.getWindowManager().getDefaultDisplay(); - final int rotation = display.getOrientation(); - if (rotation == Configuration.ORIENTATION_LANDSCAPE) { - offset = 90; - } - } - return AngleUtils.normalize(directionNowPre + offset); + return AngleUtils.normalize(directionNowPre + level8.getRotationOffset(activity)); } public static void dataChanged(final String name) { @@ -113,4 +96,16 @@ public final class Compatibility { level11.invalidateOptionsMenu(activity); } + public static int getDisplayWidth() { + return level13.getDisplayWidth(); + } + + public static int getDisplayHeight() { + return level13.getDisplayHeight(); + } + + public static Point getDisplaySize() { + return level13.getDisplaySize(); + } + } diff --git a/main/src/cgeo/geocaching/connector/ConnectorFactory.java b/main/src/cgeo/geocaching/connector/ConnectorFactory.java index 56ec431..b9b8263 100644 --- a/main/src/cgeo/geocaching/connector/ConnectorFactory.java +++ b/main/src/cgeo/geocaching/connector/ConnectorFactory.java @@ -22,7 +22,7 @@ public final class ConnectorFactory { new OCConnector("OpenCaching.IT", "www.opencaching.it", "OC"), new OCConnector("OpenCaching.JP", "www.opencaching.jp", "OJ"), new OCConnector("OpenCaching.NO/SE", "www.opencaching.no", "OS"), - new OCConnector("OpenCaching.NL", "www.opencaching.nl", "OB"), + new OCApiConnector("OpenCaching.NL", "www.opencaching.nl", "OB", "PdzU8jzIlcfMADXaYN8j"), new OCApiConnector("OpenCaching.PL", "www.opencaching.pl", "OP", "GkxM47WkUkLQXXsZ9qSh"), new OCApiConnector("OpenCaching.US", "www.opencaching.us", "OU", "pTsYAYSXFcfcRQnYE6uA"), new OXConnector(), diff --git a/main/src/cgeo/geocaching/connector/gc/GCConnector.java b/main/src/cgeo/geocaching/connector/gc/GCConnector.java index 5607d97..db43239 100644 --- a/main/src/cgeo/geocaching/connector/gc/GCConnector.java +++ b/main/src/cgeo/geocaching/connector/gc/GCConnector.java @@ -3,7 +3,7 @@ package cgeo.geocaching.connector.gc; import cgeo.geocaching.R; import cgeo.geocaching.SearchResult; import cgeo.geocaching.cgCache; -import cgeo.geocaching.cgeoapplication; +import cgeo.geocaching.cgData; import cgeo.geocaching.connector.AbstractConnector; import cgeo.geocaching.connector.capability.ISearchByCenter; import cgeo.geocaching.connector.capability.ISearchByGeocode; @@ -82,11 +82,10 @@ public class GCConnector extends AbstractConnector implements ISearchByGeocode, if (StringUtils.isEmpty(page)) { final SearchResult search = new SearchResult(); - if (cgeoapplication.getInstance().isThere(geocode, guid, true, false)) { + if (cgData.isThere(geocode, guid, true, false)) { if (StringUtils.isBlank(geocode) && StringUtils.isNotBlank(guid)) { Log.i("Loading old cache from cache."); - - search.addGeocode(cgeoapplication.getInstance().getGeocode(guid)); + search.addGeocode(cgData.getGeocodeForGuid(guid)); } else { search.addGeocode(geocode); } @@ -128,7 +127,7 @@ public class GCConnector extends AbstractConnector implements ISearchByGeocode, public static boolean addToWatchlist(cgCache cache) { final boolean added = GCParser.addToWatchlist(cache); if (added) { - cgeoapplication.getInstance().updateCache(cache); + cgData.saveChangedCache(cache); } return added; } @@ -136,7 +135,7 @@ public class GCConnector extends AbstractConnector implements ISearchByGeocode, public static boolean removeFromWatchlist(cgCache cache) { final boolean removed = GCParser.removeFromWatchlist(cache); if (removed) { - cgeoapplication.getInstance().updateCache(cache); + cgData.saveChangedCache(cache); } return removed; } @@ -144,7 +143,7 @@ public class GCConnector extends AbstractConnector implements ISearchByGeocode, public static boolean addToFavorites(cgCache cache) { final boolean added = GCParser.addToFavorites(cache); if (added) { - cgeoapplication.getInstance().updateCache(cache); + cgData.saveChangedCache(cache); } return added; } @@ -152,7 +151,7 @@ public class GCConnector extends AbstractConnector implements ISearchByGeocode, public static boolean removeFromFavorites(cgCache cache) { final boolean removed = GCParser.removeFromFavorites(cache); if (removed) { - cgeoapplication.getInstance().updateCache(cache); + cgData.saveChangedCache(cache); } return removed; } diff --git a/main/src/cgeo/geocaching/connector/gc/GCConstants.java b/main/src/cgeo/geocaching/connector/gc/GCConstants.java index 69c2d5b..69f9878 100644 --- a/main/src/cgeo/geocaching/connector/gc/GCConstants.java +++ b/main/src/cgeo/geocaching/connector/gc/GCConstants.java @@ -1,5 +1,6 @@ package cgeo.geocaching.connector.gc; +import java.util.Locale; import java.util.regex.Pattern; /** @@ -187,7 +188,7 @@ public final class GCConstants { public static long gccodeToGCId(final String gccode) { long gcid = 0; long base = GC_BASE31; - String geocodeWO = gccode.substring(2).toUpperCase(); + String geocodeWO = gccode.substring(2).toUpperCase(Locale.US); if ((geocodeWO.length() < 4) || (geocodeWO.length() == 4 && SEQUENCE_GCID.indexOf(geocodeWO.charAt(0)) < 16)) { base = GC_BASE16; diff --git a/main/src/cgeo/geocaching/connector/gc/GCMap.java b/main/src/cgeo/geocaching/connector/gc/GCMap.java index 681a1d7..049748c 100644 --- a/main/src/cgeo/geocaching/connector/gc/GCMap.java +++ b/main/src/cgeo/geocaching/connector/gc/GCMap.java @@ -3,6 +3,7 @@ package cgeo.geocaching.connector.gc; import cgeo.geocaching.SearchResult; import cgeo.geocaching.Settings; import cgeo.geocaching.cgCache; +import cgeo.geocaching.cgData; import cgeo.geocaching.cgeoapplication; import cgeo.geocaching.enumerations.CacheSize; import cgeo.geocaching.enumerations.CacheType; @@ -341,7 +342,7 @@ public class GCMap { if (search != null && !search.isEmpty()) { final Set<String> geocodes = search.getGeocodes(); if (Settings.isPremiumMember()) { - lastSearchViewport = cgeoapplication.getInstance().getBounds(geocodes); + lastSearchViewport = cgData.getBounds(geocodes); } else { lastSearchViewport = new Viewport(center, center); } diff --git a/main/src/cgeo/geocaching/connector/gc/GCParser.java b/main/src/cgeo/geocaching/connector/gc/GCParser.java index 3b8f893..f2a86d9 100644 --- a/main/src/cgeo/geocaching/connector/gc/GCParser.java +++ b/main/src/cgeo/geocaching/connector/gc/GCParser.java @@ -6,6 +6,7 @@ import cgeo.geocaching.SearchResult; import cgeo.geocaching.Settings; import cgeo.geocaching.TrackableLog; import cgeo.geocaching.cgCache; +import cgeo.geocaching.cgData; import cgeo.geocaching.cgImage; import cgeo.geocaching.cgTrackable; import cgeo.geocaching.cgWaypoint; @@ -43,12 +44,7 @@ import org.json.JSONObject; import android.net.Uri; import android.text.Html; -import android.text.Spannable; -import android.text.Spanned; -import android.text.style.ForegroundColorSpan; -import android.text.style.StrikethroughSpan; -import java.net.URLDecoder; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.ArrayList; @@ -165,14 +161,14 @@ public abstract class GCParser { String inventoryPre = null; - cache.setGeocode(BaseUtils.getMatch(row, GCConstants.PATTERN_SEARCH_GEOCODE, true, 1, cache.getGeocode(), true).toUpperCase()); + cache.setGeocode(BaseUtils.getMatch(row, GCConstants.PATTERN_SEARCH_GEOCODE, true, 1, cache.getGeocode(), true)); // cache type cache.setType(CacheType.getByPattern(BaseUtils.getMatch(row, GCConstants.PATTERN_SEARCH_TYPE, true, 1, null, true))); // cache direction - image if (Settings.getLoadDirImg()) { - cache.setDirectionImg(URLDecoder.decode(BaseUtils.getMatch(row, GCConstants.PATTERN_SEARCH_DIRECTION, true, 1, cache.getDirectionImg(), true))); + cache.setDirectionImg(Network.decode(BaseUtils.getMatch(row, GCConstants.PATTERN_SEARCH_DIRECTION, true, 1, cache.getDirectionImg(), true))); } // cache inventory @@ -222,16 +218,6 @@ public abstract class GCParser { Log.w("GCParser.parseSearch: Failed to parse favourite count"); } - if (cache.getNameSp() == null) { - cache.setNameSp((new Spannable.Factory()).newSpannable(cache.getName())); - if (cache.isDisabled() || cache.isArchived()) { // strike - cache.getNameSp().setSpan(new StrikethroughSpan(), 0, cache.getNameSp().toString().length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); - } - if (cache.isArchived()) { - cache.getNameSp().setSpan(new ForegroundColorSpan(cgeoapplication.getInstance().getResources().getColor(R.color.archived_cache_color)), 0, cache.getNameSp().toString().length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); - } - } - searchResult.addCache(cache); } @@ -326,7 +312,7 @@ public abstract class GCParser { // save full detailed caches CancellableHandler.sendLoadProgressDetail(handler, R.string.cache_dialog_loading_details_status_cache); - cgeoapplication.getInstance().saveCache(cache, EnumSet.of(SaveFlag.SAVE_DB)); + cgData.saveCache(cache, EnumSet.of(SaveFlag.SAVE_DB)); // update progress message so user knows we're still working. This is more of a place holder than // actual indication of what the program is doing @@ -383,7 +369,7 @@ public abstract class GCParser { cache.setName(cacheName); // owner real name - cache.setOwnerUserId(URLDecoder.decode(BaseUtils.getMatch(page, GCConstants.PATTERN_OWNER_USERID, true, cache.getOwnerUserId()))); + cache.setOwnerUserId(Network.decode(BaseUtils.getMatch(page, GCConstants.PATTERN_OWNER_USERID, true, cache.getOwnerUserId()))); cache.setOwn(StringUtils.equalsIgnoreCase(cache.getOwnerUserId(), Settings.getUsername())); @@ -435,7 +421,7 @@ public abstract class GCParser { cache.setFavoritePoints(Integer.parseInt(BaseUtils.getMatch(tableInside, GCConstants.PATTERN_FAVORITECOUNT, true, "0"))); // cache size - cache.setSize(CacheSize.getById(BaseUtils.getMatch(tableInside, GCConstants.PATTERN_SIZE, true, CacheSize.NOT_CHOSEN.id).toLowerCase())); + cache.setSize(CacheSize.getById(BaseUtils.getMatch(tableInside, GCConstants.PATTERN_SIZE, true, CacheSize.NOT_CHOSEN.id))); } // cache found @@ -503,7 +489,7 @@ public abstract class GCParser { while (matcherAttributesInside.find()) { if (matcherAttributesInside.groupCount() > 1 && !matcherAttributesInside.group(2).equalsIgnoreCase("blank")) { // by default, use the tooltip of the attribute - String attribute = matcherAttributesInside.group(2).toLowerCase(); + String attribute = matcherAttributesInside.group(2).toLowerCase(Locale.US); // if the image name can be recognized, use the image name as attribute String imageName = matcherAttributesInside.group(1).trim(); @@ -511,7 +497,7 @@ public abstract class GCParser { int start = imageName.lastIndexOf('/'); int end = imageName.lastIndexOf('.'); if (start >= 0 && end >= 0) { - attribute = imageName.substring(start + 1, end).replace('-', '_').toLowerCase(); + attribute = imageName.substring(start + 1, end).replace('-', '_').toLowerCase(Locale.US); } } attributes.add(attribute); @@ -1052,7 +1038,7 @@ public abstract class GCParser { Log.i("Log successfully posted to cache #" + cacheid); if (geocode != null) { - cgeoapplication.getInstance().saveVisitDate(geocode); + cgData.saveVisitDate(geocode); } Login.getLoginStatus(page); @@ -1267,7 +1253,7 @@ public abstract class GCParser { final cgTrackable trackable = new cgTrackable(); // trackable geocode - trackable.setGeocode(BaseUtils.getMatch(page, GCConstants.PATTERN_TRACKABLE_GEOCODE, true, trackable.getGeocode()).toUpperCase()); + trackable.setGeocode(BaseUtils.getMatch(page, GCConstants.PATTERN_TRACKABLE_GEOCODE, true, trackable.getGeocode())); // trackable id trackable.setGuid(BaseUtils.getMatch(page, GCConstants.PATTERN_TRACKABLE_GUID, true, trackable.getGuid())); @@ -1421,7 +1407,7 @@ public abstract class GCParser { } if (cgeoapplication.getInstance() != null) { - cgeoapplication.getInstance().saveTrackable(trackable); + cgData.saveTrackable(trackable); } return trackable; diff --git a/main/src/cgeo/geocaching/connector/gc/Tile.java b/main/src/cgeo/geocaching/connector/gc/Tile.java index 5404446..73ded4d 100644 --- a/main/src/cgeo/geocaching/connector/gc/Tile.java +++ b/main/src/cgeo/geocaching/connector/gc/Tile.java @@ -17,6 +17,7 @@ import java.io.IOException; import java.util.ArrayList; import java.util.Collection; import java.util.HashSet; +import java.util.Locale; import java.util.Set; /** @@ -99,7 +100,7 @@ public class Tile { /** * Calculate latitude/longitude for a given x/y position in this tile. - * + * * @see <a * href="http://developers.cloudmade.com/projects/tiles/examples/convert-coordinates-to-tile-numbers">Cloudmade</a> */ @@ -115,7 +116,7 @@ public class Tile { @Override public String toString() { - return String.format("(%d/%d), zoom=%d", tileX, tileY, zoomlevel); + return String.format(Locale.US, "(%d/%d), zoom=%d", tileX, tileY, zoomlevel); } /** diff --git a/main/src/cgeo/geocaching/connector/oc/OkapiClient.java b/main/src/cgeo/geocaching/connector/oc/OkapiClient.java index 87cc3a1..b135877 100644 --- a/main/src/cgeo/geocaching/connector/oc/OkapiClient.java +++ b/main/src/cgeo/geocaching/connector/oc/OkapiClient.java @@ -2,8 +2,8 @@ package cgeo.geocaching.connector.oc; import cgeo.geocaching.LogEntry; import cgeo.geocaching.cgCache; +import cgeo.geocaching.cgData; import cgeo.geocaching.cgImage; -import cgeo.geocaching.cgeoapplication; import cgeo.geocaching.connector.ConnectorFactory; import cgeo.geocaching.connector.IConnector; import cgeo.geocaching.enumerations.CacheSize; @@ -171,9 +171,8 @@ final public class OkapiClient { cache.setUpdated(System.currentTimeMillis()); cache.setDetailedUpdate(cache.getUpdated()); cache.setDetailed(true); - // save full detailed caches - cgeoapplication.getInstance().saveCache(cache, EnumSet.of(SaveFlag.SAVE_DB)); + cgData.saveCache(cache, EnumSet.of(SaveFlag.SAVE_DB)); } catch (JSONException e) { Log.e("OkapiClient.parseCache", e); } diff --git a/main/src/cgeo/geocaching/enumerations/CacheAttribute.java b/main/src/cgeo/geocaching/enumerations/CacheAttribute.java index a31b0cc..e29e176 100644 --- a/main/src/cgeo/geocaching/enumerations/CacheAttribute.java +++ b/main/src/cgeo/geocaching/enumerations/CacheAttribute.java @@ -110,15 +110,6 @@ public enum CacheAttribute { FIND_BY_GCRAWNAME = Collections.unmodifiableMap(mapGcRawNames); } - public static CacheAttribute getById(final int id) { - for (CacheAttribute attr : values()) { - if (attr.id == id) { - return attr; - } - } - return UNKNOWN; - } - public static CacheAttribute getByGcRawName(final String gcRawName) { final CacheAttribute result = gcRawName != null ? FIND_BY_GCRAWNAME.get(gcRawName) : null; if (result == null) { diff --git a/main/src/cgeo/geocaching/enumerations/CacheSize.java b/main/src/cgeo/geocaching/enumerations/CacheSize.java index 155c9a5..a686dd6 100644 --- a/main/src/cgeo/geocaching/enumerations/CacheSize.java +++ b/main/src/cgeo/geocaching/enumerations/CacheSize.java @@ -5,6 +5,7 @@ import cgeo.geocaching.cgeoapplication; import java.util.Collections; import java.util.HashMap; +import java.util.Locale; import java.util.Map; /** @@ -34,7 +35,7 @@ public enum CacheSize { static { final HashMap<String, CacheSize> mapping = new HashMap<String, CacheSize>(); for (CacheSize cs : values()) { - mapping.put(cs.id.toLowerCase(), cs); + mapping.put(cs.id.toLowerCase(Locale.US), cs); } // add medium as additional string for Regular mapping.put("medium", CacheSize.REGULAR); @@ -51,7 +52,7 @@ public enum CacheSize { return result; } // only if String was not found, normalize it - final CacheSize resultNormalized = CacheSize.FIND_BY_ID.get(id.toLowerCase().trim()); + final CacheSize resultNormalized = CacheSize.FIND_BY_ID.get(id.toLowerCase(Locale.US).trim()); if (resultNormalized != null) { return resultNormalized; } diff --git a/main/src/cgeo/geocaching/enumerations/CacheType.java b/main/src/cgeo/geocaching/enumerations/CacheType.java index 730c989..251790f 100644 --- a/main/src/cgeo/geocaching/enumerations/CacheType.java +++ b/main/src/cgeo/geocaching/enumerations/CacheType.java @@ -5,6 +5,7 @@ import cgeo.geocaching.cgeoapplication; import java.util.Collections; import java.util.HashMap; +import java.util.Locale; import java.util.Map; /** @@ -59,14 +60,14 @@ public enum CacheType { final HashMap<String, CacheType> mappingPattern = new HashMap<String, CacheType>(); for (CacheType ct : values()) { mappingId.put(ct.id, ct); - mappingPattern.put(ct.pattern.toLowerCase(), ct); + mappingPattern.put(ct.pattern.toLowerCase(Locale.US), ct); } FIND_BY_ID = Collections.unmodifiableMap(mappingId); FIND_BY_PATTERN = Collections.unmodifiableMap(mappingPattern); } public static CacheType getById(final String id) { - final CacheType result = (id != null) ? CacheType.FIND_BY_ID.get(id.toLowerCase().trim()) : null; + final CacheType result = (id != null) ? CacheType.FIND_BY_ID.get(id.toLowerCase(Locale.US).trim()) : null; if (result == null) { return UNKNOWN; } @@ -74,7 +75,7 @@ public enum CacheType { } public static CacheType getByPattern(final String pattern) { - final CacheType result = (pattern != null) ? CacheType.FIND_BY_PATTERN.get(pattern.toLowerCase().trim()) : null; + final CacheType result = (pattern != null) ? CacheType.FIND_BY_PATTERN.get(pattern.toLowerCase(Locale.US).trim()) : null; if (result == null) { return UNKNOWN; } diff --git a/main/src/cgeo/geocaching/enumerations/LogType.java b/main/src/cgeo/geocaching/enumerations/LogType.java index ac64ed1..06bd8d3 100644 --- a/main/src/cgeo/geocaching/enumerations/LogType.java +++ b/main/src/cgeo/geocaching/enumerations/LogType.java @@ -5,6 +5,7 @@ import cgeo.geocaching.cgeoapplication; import java.util.Collections; import java.util.HashMap; +import java.util.Locale; import java.util.Map; @@ -14,41 +15,47 @@ import java.util.Map; */ public enum LogType { - FOUND_IT(2,"icon_smile","found it",R.string.log_found), - DIDNT_FIND_IT(3, "icon_sad", "didn't find it", R.string.log_dnf), + FOUND_IT(2, "icon_smile", "found it", R.string.log_found, R.drawable.mark_green), + DIDNT_FIND_IT(3, "icon_sad", "didn't find it", R.string.log_dnf, R.drawable.mark_red), NOTE(4,"icon_note","write note",R.string.log_note), - PUBLISH_LISTING(1003, "icon_greenlight", "publish listing", R.string.log_published), - ENABLE_LISTING(23,"icon_enabled","enable listing",R.string.log_enabled), - ARCHIVE(5,"traffic_cone","archive",R.string.log_archived), - TEMP_DISABLE_LISTING(22,"icon_disabled","temporarily disable listing",R.string.log_disabled), - NEEDS_ARCHIVE(7,"icon_remove","needs archived",R.string.log_needs_archived), + PUBLISH_LISTING(1003, "icon_greenlight", "publish listing", R.string.log_published, R.drawable.mark_green_more), + ENABLE_LISTING(23, "icon_enabled", "enable listing", R.string.log_enabled, R.drawable.mark_green_more), + ARCHIVE(5, "traffic_cone", "archive", R.string.log_archived, R.drawable.mark_red_more), + TEMP_DISABLE_LISTING(22, "icon_disabled", "temporarily disable listing", R.string.log_disabled, R.drawable.mark_red_more), + NEEDS_ARCHIVE(7, "icon_remove", "needs archived", R.string.log_needs_archived, R.drawable.mark_red), WILL_ATTEND(9,"icon_rsvp","will attend",R.string.log_attend), - ATTENDED(10,"icon_attended","attended",R.string.log_attended), - RETRIEVED_IT(13,"picked_up","retrieved it",R.string.log_retrieved), + ATTENDED(10, "icon_attended", "attended", R.string.log_attended, R.drawable.mark_green), + RETRIEVED_IT(13, "picked_up", "retrieved it", R.string.log_retrieved, R.drawable.mark_green), PLACED_IT(14,"dropped_off","placed it",R.string.log_placed), - GRABBED_IT(19,"transfer","grabbed it",R.string.log_grabbed), - NEEDS_MAINTENANCE(45,"icon_needsmaint","needs maintenance",R.string.log_maintenance_needed), - OWNER_MAINTENANCE(46,"icon_maint","owner maintenance",R.string.log_maintained), + GRABBED_IT(19, "transfer", "grabbed it", R.string.log_grabbed, R.drawable.mark_green), + NEEDS_MAINTENANCE(45, "icon_needsmaint", "needs maintenance", R.string.log_maintenance_needed, R.drawable.mark_red), + OWNER_MAINTENANCE(46, "icon_maint", "owner maintenance", R.string.log_maintained, R.drawable.mark_green_more), UPDATE_COORDINATES(47,"coord_update","update coordinates",R.string.log_update), - DISCOVERED_IT(48,"icon_discovered","discovered it",R.string.log_discovered), + DISCOVERED_IT(48, "icon_discovered", "discovered it", R.string.log_discovered, R.drawable.mark_green), POST_REVIEWER_NOTE(18,"big_smile","post reviewer note",R.string.log_reviewer), - VISIT(1001, "icon_visited", "visit", R.string.log_tb_visit), - WEBCAM_PHOTO_TAKEN(11, "icon_camera", "webcam photo taken", R.string.log_webcam), + VISIT(1001, "icon_visited", "visit", R.string.log_tb_visit, R.drawable.mark_green), + WEBCAM_PHOTO_TAKEN(11, "icon_camera", "webcam photo taken", R.string.log_webcam, R.drawable.mark_green), ANNOUNCEMENT(74, "icon_announcement", "announcement", R.string.log_announcement), MOVE_COLLECTION(69, "conflict_collection_icon_note", "unused_collection", R.string.log_movecollection), MOVE_INVENTORY(70, "conflict_inventory_icon_note", "unused_inventory", R.string.log_moveinventory), - UNKNOWN(0, "unknown", "", R.string.err_unknown); // LogType not init. yet + UNKNOWN(0, "unknown", "", R.string.err_unknown, R.drawable.mark_red); // LogType not init. yet public final int id; public final String iconName; public final String type; private final int stringId; + public final int markerId; - private LogType(int id, String iconName, String type, int stringId) { + private LogType(int id, String iconName, String type, int stringId, int markerId) { this.id = id; this.iconName = iconName; this.type = type; this.stringId = stringId; + this.markerId = markerId; + } + + private LogType(int id, String iconName, String type, int stringId) { + this(id, iconName, type, stringId, R.drawable.mark_gray); } private final static Map<String, LogType> FIND_BY_ICONNAME; @@ -74,7 +81,7 @@ public enum LogType { } public static LogType getByIconName(final String imageType) { - final LogType result = imageType != null ? LogType.FIND_BY_ICONNAME.get(imageType.toLowerCase().trim()) : null; + final LogType result = imageType != null ? LogType.FIND_BY_ICONNAME.get(imageType.toLowerCase(Locale.US).trim()) : null; if (result == null) { return UNKNOWN; } @@ -82,7 +89,7 @@ public enum LogType { } public static LogType getByType(final String type) { - final LogType result = type != null ? LogType.FIND_BY_TYPE.get(type.toLowerCase().trim()) : null; + final LogType result = type != null ? LogType.FIND_BY_TYPE.get(type.toLowerCase(Locale.US).trim()) : null; if (result == null) { return UNKNOWN; } diff --git a/main/src/cgeo/geocaching/export/FieldnoteExport.java b/main/src/cgeo/geocaching/export/FieldnoteExport.java index 11214db..cbb4762 100644 --- a/main/src/cgeo/geocaching/export/FieldnoteExport.java +++ b/main/src/cgeo/geocaching/export/FieldnoteExport.java @@ -3,7 +3,7 @@ package cgeo.geocaching.export; import cgeo.geocaching.LogEntry; import cgeo.geocaching.R; import cgeo.geocaching.cgCache; -import cgeo.geocaching.cgeoapplication; +import cgeo.geocaching.cgData; import cgeo.geocaching.activity.ActivityMixin; import cgeo.geocaching.activity.Progress; import cgeo.geocaching.connector.gc.Login; @@ -31,6 +31,7 @@ import java.text.SimpleDateFormat; import java.util.Date; import java.util.List; import java.util.Locale; +import java.util.TimeZone; /** * Exports offline-logs in the Groundspeak Field Note format.<br> @@ -42,6 +43,9 @@ import java.util.Locale; class FieldnoteExport extends AbstractExport { private static final File exportLocation = new File(Environment.getExternalStorageDirectory().getAbsolutePath() + "/field-notes"); private static final SimpleDateFormat fieldNoteDateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'", Locale.US); + static { + fieldNoteDateFormat.setTimeZone(TimeZone.getTimeZone("UTC")); + } protected FieldnoteExport() { super(getString(R.string.export_fieldnotes)); @@ -135,13 +139,11 @@ class FieldnoteExport extends AbstractExport { @Override protected Boolean doInBackground(Void... params) { final StringBuilder fieldNoteBuffer = new StringBuilder(); - final cgeoapplication app = cgeoapplication.getInstance(); - try { int i = 0; for (cgCache cache : caches) { if (cache.isLogOffline()) { - appendFieldNote(fieldNoteBuffer, cache, app.loadLogOffline(cache.getGeocode())); + appendFieldNote(fieldNoteBuffer, cache, cgData.loadLogOffline(cache.getGeocode())); publishProgress(++i); } } diff --git a/main/src/cgeo/geocaching/export/GpxExport.java b/main/src/cgeo/geocaching/export/GpxExport.java index 7573db9..b1834b9 100644 --- a/main/src/cgeo/geocaching/export/GpxExport.java +++ b/main/src/cgeo/geocaching/export/GpxExport.java @@ -4,8 +4,8 @@ import cgeo.geocaching.LogEntry; import cgeo.geocaching.R; import cgeo.geocaching.Settings; import cgeo.geocaching.cgCache; +import cgeo.geocaching.cgData; import cgeo.geocaching.cgWaypoint; -import cgeo.geocaching.cgeoapplication; import cgeo.geocaching.activity.ActivityMixin; import cgeo.geocaching.activity.Progress; import cgeo.geocaching.enumerations.CacheAttribute; @@ -143,8 +143,7 @@ class GpxExport extends AbstractExport { gpx.write("<gpx version=\"1.0\" creator=\"c:geo - http://www.cgeo.org\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns=\"http://www.topografix.com/GPX/1/0\" xsi:schemaLocation=\"http://www.topografix.com/GPX/1/0 http://www.topografix.com/GPX/1/0/gpx.xsd http://www.topografix.com/GPX/1/0 http://www.topografix.com/GPX/1/0/gpx.xsd http://www.groundspeak.com/cache/1/0/1 http://www.groundspeak.com/cache/1/0/1/cache.xsd\">"); for (int i = 0; i < caches.size(); i++) { - // reload the cache. otherwise logs, attributes and other detailed information is not available - final cgCache cache = cgeoapplication.getInstance().loadCache(caches.get(i).getGeocode(), LoadFlags.LOAD_ALL_DB_ONLY); + final cgCache cache = cgData.loadCache(caches.get(i).getGeocode(), LoadFlags.LOAD_ALL_DB_ONLY); gpx.write("<wpt "); gpx.write("lat=\""); diff --git a/main/src/cgeo/geocaching/files/GPXImporter.java b/main/src/cgeo/geocaching/files/GPXImporter.java index fb78360..d8d0c24 100644 --- a/main/src/cgeo/geocaching/files/GPXImporter.java +++ b/main/src/cgeo/geocaching/files/GPXImporter.java @@ -5,7 +5,7 @@ import cgeo.geocaching.SearchResult; import cgeo.geocaching.Settings;
import cgeo.geocaching.StaticMapsProvider;
import cgeo.geocaching.cgCache;
-import cgeo.geocaching.cgeoapplication;
+import cgeo.geocaching.cgData;
import cgeo.geocaching.activity.IAbstractActivity;
import cgeo.geocaching.activity.Progress;
import cgeo.geocaching.enumerations.LoadFlags;
@@ -171,10 +171,9 @@ public class GPXImporter { protected abstract Collection<cgCache> doImport() throws IOException, ParserException;
private boolean importStaticMaps(final SearchResult importedCaches) {
- final cgeoapplication app = cgeoapplication.getInstance();
int storedCacheMaps = 0;
for (String geocode : importedCaches.getGeocodes()) {
- cgCache cache = app.loadCache(geocode, LoadFlags.LOAD_WAYPOINTS);
+ cgCache cache = cgData.loadCache(geocode, LoadFlags.LOAD_WAYPOINTS);
Log.d("GPXImporter.ImportThread.importStaticMaps start downloadMaps for cache " + geocode);
StaticMapsProvider.downloadMaps(cache);
storedCacheMaps++;
diff --git a/main/src/cgeo/geocaching/files/GPXParser.java b/main/src/cgeo/geocaching/files/GPXParser.java index b9d3f53..60ebd69 100644 --- a/main/src/cgeo/geocaching/files/GPXParser.java +++ b/main/src/cgeo/geocaching/files/GPXParser.java @@ -4,6 +4,7 @@ import cgeo.geocaching.LogEntry; import cgeo.geocaching.R; import cgeo.geocaching.StoredList; import cgeo.geocaching.cgCache; +import cgeo.geocaching.cgData; import cgeo.geocaching.cgTrackable; import cgeo.geocaching.cgWaypoint; import cgeo.geocaching.cgeoapplication; @@ -287,7 +288,7 @@ public abstract class GPXParser extends FileParser { // take the name as code, if nothing else is available if (StringUtils.isBlank(cache.getGeocode())) { if (StringUtils.isNotBlank(name)) { - cache.setGeocode(name.trim().toUpperCase()); + cache.setGeocode(name.trim()); } } @@ -311,8 +312,8 @@ public abstract class GPXParser extends FileParser { // finally store the cache in the database result.add(geocode); - cgeoapplication.getInstance().saveCache(cache, EnumSet.of(SaveFlag.SAVE_DB)); - cgeoapplication.getInstance().removeAllFromCache(); + cgData.saveCache(cache, EnumSet.of(SaveFlag.SAVE_DB)); + cgData.removeAllFromCache(); showProgressMessage(progressHandler, progressStream.getProgress()); } else if (StringUtils.isNotBlank(cache.getName()) && StringUtils.containsIgnoreCase(type, "waypoint")) { @@ -326,10 +327,9 @@ public abstract class GPXParser extends FileParser { fixCache(cache); if (cache.getName().length() > 2) { - final String cacheGeocodeForWaypoint = "GC" + cache.getName().substring(2).toUpperCase(); - + final String cacheGeocodeForWaypoint = "GC" + cache.getName().substring(2).toUpperCase(Locale.US); // lookup cache for waypoint in already parsed caches - final cgCache cacheForWaypoint = cgeoapplication.getInstance().loadCache(cacheGeocodeForWaypoint, LoadFlags.LOAD_CACHE_OR_DB); + final cgCache cacheForWaypoint = cgData.loadCache(cacheGeocodeForWaypoint, LoadFlags.LOAD_CACHE_OR_DB); if (cacheForWaypoint != null) { final cgWaypoint waypoint = new cgWaypoint(cache.getShortdesc(), convertWaypointSym2Type(sym), false); waypoint.setId(-1); @@ -347,7 +347,7 @@ public abstract class GPXParser extends FileParser { newPoints.add(waypoint); cgWaypoint.mergeWayPoints(newPoints, mergedWayPoints, true); cacheForWaypoint.setWaypoints(newPoints, false); - cgeoapplication.getInstance().saveCache(cacheForWaypoint, EnumSet.of(SaveFlag.SAVE_DB)); + cgData.saveCache(cacheForWaypoint, EnumSet.of(SaveFlag.SAVE_DB)); showProgressMessage(progressHandler, progressStream.getProgress()); } } @@ -410,7 +410,7 @@ public abstract class GPXParser extends FileParser { public void end(String body) { final String[] content = body.split("\\|"); if (content.length > 0) { - type = content[0].toLowerCase().trim(); + type = content[0].toLowerCase(Locale.US).trim(); } } }); @@ -420,7 +420,7 @@ public abstract class GPXParser extends FileParser { @Override public void end(final String body) { - sym = body.toLowerCase(); + sym = body.toLowerCase(Locale.US); if (sym.contains("geocache") && sym.contains("found")) { cache.setFound(true); } @@ -526,7 +526,7 @@ public abstract class GPXParser extends FileParser { @Override public void end(String body) { - cache.setType(CacheType.getByPattern(validate(body.toLowerCase()))); + cache.setType(CacheType.getByPattern(validate(body))); } }); @@ -535,7 +535,7 @@ public abstract class GPXParser extends FileParser { @Override public void end(String body) { - cache.setSize(CacheSize.getById(validate(body.toLowerCase()))); + cache.setSize(CacheSize.getById(validate(body))); } }); @@ -665,7 +665,7 @@ public abstract class GPXParser extends FileParser { try { if (attrs.getIndex("ref") > -1) { - trackable.setGeocode(attrs.getValue("ref").toUpperCase()); + trackable.setGeocode(attrs.getValue("ref")); } } catch (Exception e) { // nothing @@ -745,7 +745,7 @@ public abstract class GPXParser extends FileParser { @Override public void end(String body) { - final String logType = validate(body).toLowerCase(); + final String logType = validate(body); log.type = LogType.getByType(logType); } }); @@ -772,7 +772,7 @@ public abstract class GPXParser extends FileParser { try { progressStream = new ProgressInputStream(stream); Xml.parse(progressStream, Xml.Encoding.UTF_8, root.getContentHandler()); - return cgeoapplication.getInstance().loadCaches(result, EnumSet.of(LoadFlag.LOAD_DB_MINIMAL)); + return cgData.loadCaches(result, EnumSet.of(LoadFlag.LOAD_DB_MINIMAL)); } catch (SAXException e) { Log.e("Cannot parse .gpx file as GPX " + version + ": could not parse XML - " + e.toString()); throw new ParserException("Cannot parse .gpx file as GPX " + version + ": could not parse XML", e); diff --git a/main/src/cgeo/geocaching/files/LocParser.java b/main/src/cgeo/geocaching/files/LocParser.java index b17b203..982ef4c 100644 --- a/main/src/cgeo/geocaching/files/LocParser.java +++ b/main/src/cgeo/geocaching/files/LocParser.java @@ -2,7 +2,7 @@ package cgeo.geocaching.files; import cgeo.geocaching.SearchResult; import cgeo.geocaching.cgCache; -import cgeo.geocaching.cgeoapplication; +import cgeo.geocaching.cgData; import cgeo.geocaching.enumerations.CacheSize; import cgeo.geocaching.enumerations.CacheType; import cgeo.geocaching.enumerations.LoadFlags; @@ -65,7 +65,7 @@ public final class LocParser extends FileParser { contained.add(geocode); } } - Set<cgCache> caches = cgeoapplication.getInstance().loadCaches(contained, LoadFlags.LOAD_CACHE_OR_DB); + Set<cgCache> caches = cgData.loadCaches(contained, LoadFlags.LOAD_CACHE_OR_DB); for (cgCache cache : caches) { cgCache coord = cidCoords.get(cache.getGeocode()); copyCoordToCache(coord, cache); @@ -77,7 +77,7 @@ public final class LocParser extends FileParser { cache.setDifficulty(coord.getDifficulty()); cache.setTerrain(coord.getTerrain()); cache.setSize(coord.getSize()); - cache.setGeocode(coord.getGeocode().toUpperCase()); + cache.setGeocode(coord.getGeocode()); cache.setReliableLatLon(true); if (StringUtils.isBlank(cache.getName())) { cache.setName(coord.getName()); @@ -149,8 +149,7 @@ public final class LocParser extends FileParser { final cgCache cache = new cgCache(); final Matcher matcherGeocode = patternGeocode.matcher(pointString); if (matcherGeocode.find()) { - final String geocode = matcherGeocode.group(1).trim().toUpperCase(); - cache.setGeocode(geocode.toUpperCase()); + cache.setGeocode(matcherGeocode.group(1).trim()); } final Matcher matcherName = patternName.matcher(pointString); diff --git a/main/src/cgeo/geocaching/files/ParserException.java b/main/src/cgeo/geocaching/files/ParserException.java index 5aa152c..c0076cc 100644 --- a/main/src/cgeo/geocaching/files/ParserException.java +++ b/main/src/cgeo/geocaching/files/ParserException.java @@ -13,10 +13,6 @@ public class ParserException extends Exception { super(detailMessage); } - public ParserException(Throwable throwable) { - super(throwable); - } - public ParserException(String detailMessage, Throwable throwable) { super(detailMessage, throwable); } diff --git a/main/src/cgeo/geocaching/files/SimpleDirChooser.java b/main/src/cgeo/geocaching/files/SimpleDirChooser.java index 781eb8e..4a4220c 100644 --- a/main/src/cgeo/geocaching/files/SimpleDirChooser.java +++ b/main/src/cgeo/geocaching/files/SimpleDirChooser.java @@ -36,15 +36,17 @@ public class SimpleDirChooser extends ListActivity { private static final String PARENT_DIR = ".. "; private File currentDir; private FileArrayAdapter adapter; - private CheckBox lastBoxChecked = null; private Button okButton = null; - private String checkedText = null; + private int lastPosition = -1; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); final Bundle extras = getIntent().getExtras(); - String startDir = extras.getString(START_DIR); + String startDir = ""; + if (extras != null) { + startDir = extras.getString(START_DIR); + } if (StringUtils.isBlank(startDir)) { startDir = Environment.getExternalStorageDirectory().getPath(); } else { @@ -65,7 +67,7 @@ public class SimpleDirChooser extends ListActivity { @Override public void onClick(View v) { Intent intent = new Intent(); - String chosenDirName = File.separator + checkedText; + String chosenDirName = File.separator + adapter.getItem(lastPosition).getName(); intent.putExtra(EXTRA_CHOSEN_DIR, currentDir.getAbsolutePath() + chosenDirName); setResult(RESULT_OK, intent); finish(); @@ -142,7 +144,8 @@ public class SimpleDirChooser extends ListActivity { } CheckBox check = (CheckBox) v.findViewById(R.id.CheckBox); if (check != null) { - check.setOnClickListener(new OnCheckBoxClickListener(option.getName())); + check.setOnClickListener(new OnCheckBoxClickListener(position)); + check.setChecked(option.isChecked()); } } return v; @@ -173,37 +176,37 @@ public class SimpleDirChooser extends ListActivity { } public class OnCheckBoxClickListener implements OnClickListener { - private String checkedText; + private int position; - OnCheckBoxClickListener(String checkedText) { - this.checkedText = checkedText; + OnCheckBoxClickListener(int position) { + this.position = position; } @Override public void onClick(View arg0) { - CheckBox check = (CheckBox) arg0; - if (lastBoxChecked == check) { - check.setChecked(false); - lastBoxChecked = null; - okButton.setEnabled(false); - okButton.setVisibility(View.INVISIBLE); - SimpleDirChooser.this.checkedText = ""; - } else { - if (lastBoxChecked != null) { - lastBoxChecked.setChecked(false); - } - check.setChecked(true); - lastBoxChecked = check; + Option lastOption = (lastPosition > -1) ? adapter.getItem(lastPosition) : null; + Option currentOption = adapter.getItem(position); + if (lastOption != null) { + lastOption.setChecked(false); + } + if (currentOption != lastOption) { + currentOption.setChecked(true); + lastPosition = position; okButton.setEnabled(true); okButton.setVisibility(View.VISIBLE); - SimpleDirChooser.this.checkedText = checkedText; + } else { + lastPosition = -1; + okButton.setEnabled(false); + okButton.setVisibility(View.INVISIBLE); } + arg0.refreshDrawableState(); } } public class Option implements Comparable<Option> { private final String name; private final String path; + private boolean checked = false; public Option(String name, String path) { this.name = name; @@ -218,6 +221,14 @@ public class SimpleDirChooser extends ListActivity { return path; } + public boolean isChecked() { + return this.checked; + } + + public void setChecked(boolean checked) { + this.checked = checked; + } + @Override public int compareTo(Option other) { if (other != null && this.name != null) { diff --git a/main/src/cgeo/geocaching/filter/AttributeFilter.java b/main/src/cgeo/geocaching/filter/AttributeFilter.java index 2565178..837e9d1 100644 --- a/main/src/cgeo/geocaching/filter/AttributeFilter.java +++ b/main/src/cgeo/geocaching/filter/AttributeFilter.java @@ -2,6 +2,7 @@ package cgeo.geocaching.filter; import cgeo.geocaching.R; import cgeo.geocaching.cgCache; +import cgeo.geocaching.cgData; import cgeo.geocaching.cgeoapplication; import cgeo.geocaching.enumerations.LoadFlags.LoadFlag; @@ -34,7 +35,7 @@ class AttributeFilter extends AbstractFilter { @Override public boolean accepts(final cgCache cache) { - cgCache fullCache = cgeoapplication.getInstance().loadCache(cache.getGeocode(), EnumSet.of(LoadFlag.LOAD_ATTRIBUTES)); + cgCache fullCache = cgData.loadCache(cache.getGeocode(), EnumSet.of(LoadFlag.LOAD_ATTRIBUTES)); if (fullCache == null) { fullCache = cache; } diff --git a/main/src/cgeo/geocaching/filter/FilterUserInterface.java b/main/src/cgeo/geocaching/filter/FilterUserInterface.java index 230bc91..e2472fd 100644 --- a/main/src/cgeo/geocaching/filter/FilterUserInterface.java +++ b/main/src/cgeo/geocaching/filter/FilterUserInterface.java @@ -73,7 +73,7 @@ public final class FilterUserInterface { public void selectFilter(final RunnableWithArgument<IFilter> runAfterwards) { final AlertDialog.Builder builder = new AlertDialog.Builder(activity); - builder.setTitle(R.string.caches_filter); + builder.setTitle(R.string.caches_filter_title); final ArrayAdapter<FactoryEntry> adapter = new ArrayAdapter<FactoryEntry>(activity, android.R.layout.select_dialog_item, registry); diff --git a/main/src/cgeo/geocaching/geopoint/DistanceParser.java b/main/src/cgeo/geocaching/geopoint/DistanceParser.java index 5f02895..61d1ecd 100644 --- a/main/src/cgeo/geocaching/geopoint/DistanceParser.java +++ b/main/src/cgeo/geocaching/geopoint/DistanceParser.java @@ -1,5 +1,6 @@ package cgeo.geocaching.geopoint; +import java.util.Locale; import java.util.regex.Matcher; import java.util.regex.Pattern; @@ -26,7 +27,7 @@ public final class DistanceParser { } final float value = Float.parseFloat(matcher.group(1).replace(',', '.')); - final String unit = matcher.group(2).toLowerCase(); + final String unit = matcher.group(2).toLowerCase(Locale.US); if (unit.equals("m") || (unit.length() == 0 && metricUnit)) { return value / 1000; diff --git a/main/src/cgeo/geocaching/geopoint/GeopointFormatter.java b/main/src/cgeo/geocaching/geopoint/GeopointFormatter.java index c706e77..892335c 100644 --- a/main/src/cgeo/geocaching/geopoint/GeopointFormatter.java +++ b/main/src/cgeo/geocaching/geopoint/GeopointFormatter.java @@ -61,13 +61,13 @@ public class GeopointFormatter switch (format) { case LAT_LON_DECDEGREE: - return String.format("%.6f %.6f", latSigned, lonSigned); + return String.format(Locale.getDefault(), "%.6f %.6f", latSigned, lonSigned); case LAT_LON_DECDEGREE_COMMA: return String.format((Locale) null, "%.6f,%.6f", latSigned, lonSigned); case LAT_LON_DECMINUTE: - return String.format("%c %02d° %06.3f · %c %03d° %06.3f", + return String.format(Locale.getDefault(), "%c %02d° %06.3f · %c %03d° %06.3f", gp.getLatDir(), gp.getLatDeg(), gp.getLatMinRaw(), gp.getLonDir(), gp.getLonDeg(), gp.getLonMinRaw()); case LAT_LON_DECMINUTE_RAW: @@ -75,7 +75,7 @@ public class GeopointFormatter gp.getLatDir(), gp.getLatDeg(), gp.getLatMinRaw(), gp.getLonDir(), gp.getLonDeg(), gp.getLonMinRaw()); case LAT_LON_DECSECOND: - return String.format("%c %02d° %02d' %06.3f\" · %c %03d° %02d' %06.3f\"", + return String.format(Locale.getDefault(), "%c %02d° %02d' %06.3f\" · %c %03d° %02d' %06.3f\"", gp.getLatDir(), gp.getLatDeg(), gp.getLatMin(), gp.getLatSecRaw(), gp.getLonDir(), gp.getLonDeg(), gp.getLonMin(), gp.getLonSecRaw()); @@ -83,19 +83,19 @@ public class GeopointFormatter return String.format((Locale) null, "%.6f", latSigned); case LAT_DECMINUTE: - return String.format("%c %02d° %06.3f", gp.getLatDir(), gp.getLatDeg(), gp.getLatMinRaw()); + return String.format(Locale.getDefault(), "%c %02d° %06.3f", gp.getLatDir(), gp.getLatDeg(), gp.getLatMinRaw()); case LAT_DECMINUTE_RAW: - return String.format("%c %02d %06.3f", gp.getLatDir(), gp.getLatDeg(), gp.getLatMinRaw()); + return String.format(Locale.getDefault(), "%c %02d %06.3f", gp.getLatDir(), gp.getLatDeg(), gp.getLatMinRaw()); case LON_DECDEGREE_RAW: return String.format((Locale) null, "%.6f", lonSigned); case LON_DECMINUTE: - return String.format("%c %03d° %06.3f", gp.getLonDir(), gp.getLonDeg(), gp.getLonMinRaw()); + return String.format(Locale.getDefault(), "%c %03d° %06.3f", gp.getLonDir(), gp.getLonDeg(), gp.getLonMinRaw()); case LON_DECMINUTE_RAW: - return String.format("%c %03d %06.3f", gp.getLonDir(), gp.getLonDeg(), gp.getLonMinRaw()); + return String.format(Locale.getDefault(), "%c %03d %06.3f", gp.getLonDir(), gp.getLonDeg(), gp.getLonMinRaw()); } // Keep the compiler happy even though it cannot happen diff --git a/main/src/cgeo/geocaching/maps/CGeoMap.java b/main/src/cgeo/geocaching/maps/CGeoMap.java index 6856a63..7aa3135 100644 --- a/main/src/cgeo/geocaching/maps/CGeoMap.java +++ b/main/src/cgeo/geocaching/maps/CGeoMap.java @@ -9,6 +9,7 @@ import cgeo.geocaching.SearchResult; import cgeo.geocaching.Settings; import cgeo.geocaching.StoredList; import cgeo.geocaching.cgCache; +import cgeo.geocaching.cgData; import cgeo.geocaching.cgWaypoint; import cgeo.geocaching.cgeoapplication; import cgeo.geocaching.cgeocaches; @@ -368,7 +369,7 @@ public class CGeoMap extends AbstractMap implements OnMapDragListener, ViewFacto activity = this.getActivity(); app = (cgeoapplication) activity.getApplication(); - int countBubbleCnt = app.getAllStoredCachesCount(true, CacheType.ALL); + int countBubbleCnt = cgData.getAllCachesCount(); caches = new LeastRecentlyUsedSet<cgCache>(MAX_CACHES + countBubbleCnt); final MapProvider mapProvider = Settings.getMapProvider(); @@ -494,7 +495,7 @@ public class CGeoMap extends AbstractMap implements OnMapDragListener, ViewFacto if (!CollectionUtils.isEmpty(dirtyCaches)) { for (String geocode : dirtyCaches) { - cgCache cache = app.loadCache(geocode, LoadFlags.LOAD_WAYPOINTS); + cgCache cache = cgData.loadCache(geocode, LoadFlags.LOAD_WAYPOINTS); // remove to update the cache caches.remove(cache); caches.add(cache); @@ -594,7 +595,7 @@ public class CGeoMap extends AbstractMap implements OnMapDragListener, ViewFacto } final Set<String> geocodesInViewport = getGeocodesForCachesInViewport(); - menu.findItem(MENU_STORE_CACHES).setEnabled(!isLoading() && CollectionUtils.isNotEmpty(geocodesInViewport) && app.hasUnsavedCaches(new SearchResult(geocodesInViewport))); + menu.findItem(MENU_STORE_CACHES).setEnabled(!isLoading() && CollectionUtils.isNotEmpty(geocodesInViewport) && new SearchResult(geocodesInViewport).hasUnsavedCaches()); item = menu.findItem(MENU_CIRCLE_MODE); // show circles if (overlayCaches != null && overlayCaches.getCircles()) { @@ -640,7 +641,7 @@ public class CGeoMap extends AbstractMap implements OnMapDragListener, ViewFacto final List<String> geocodes = new ArrayList<String>(); for (final String geocode : geocodesInViewport) { - if (!app.isOffline(geocode, null)) { + if (!cgData.isOffline(geocode, null)) { geocodes.add(geocode); } } @@ -1121,7 +1122,7 @@ public class CGeoMap extends AbstractMap implements OnMapDragListener, ViewFacto if (isLiveEnabled) { searchResult = new SearchResult(); } else { - searchResult = new SearchResult(app.getStoredInViewport(viewport, Settings.getCacheType())); + searchResult = new SearchResult(cgData.loadStoredInViewport(viewport, Settings.getCacheType())); } } else { // map started from another activity @@ -1132,7 +1133,7 @@ public class CGeoMap extends AbstractMap implements OnMapDragListener, ViewFacto } // live mode search result if (isLiveEnabled) { - SearchResult liveResult = new SearchResult(app.getCachedInViewport(viewport, Settings.getCacheType())); + SearchResult liveResult = new SearchResult(cgData.loadCachedInViewport(viewport, Settings.getCacheType())); searchResult.addGeocodes(liveResult.getGeocodes()); } @@ -1160,7 +1161,7 @@ public class CGeoMap extends AbstractMap implements OnMapDragListener, ViewFacto if (isLiveEnabled || mapMode == MapMode.COORDS) { //All visible waypoints CacheType type = Settings.getCacheType(); - Set<cgWaypoint> waypointsInViewport = app.getWaypointsInViewport(viewport, Settings.isExcludeMyCaches(), Settings.isExcludeDisabledCaches(), type); + Set<cgWaypoint> waypointsInViewport = cgData.loadWaypoints(viewport, Settings.isExcludeMyCaches(), Settings.isExcludeDisabledCaches(), type); waypoints.addAll(waypointsInViewport); } else @@ -1394,7 +1395,7 @@ public class CGeoMap extends AbstractMap implements OnMapDragListener, ViewFacto break; } - if (!app.isOffline(geocode, null)) { + if (!cgData.isOffline(geocode, null)) { if ((System.currentTimeMillis() - last) < 1500) { try { int delay = 1000 + (int) (Math.random() * 1000.0) - (int) (System.currentTimeMillis() - last); @@ -1484,9 +1485,9 @@ public class CGeoMap extends AbstractMap implements OnMapDragListener, ViewFacto Viewport viewport = null; if (geocodeCenter != null) { - viewport = app.getBounds(geocodeCenter); + viewport = cgData.getBounds(geocodeCenter); } else if (searchCenter != null) { - viewport = app.getBounds(searchCenter.getGeocodes()); + viewport = cgData.getBounds(searchCenter.getGeocodes()); } if (viewport == null) { diff --git a/main/src/cgeo/geocaching/maps/CachesOverlay.java b/main/src/cgeo/geocaching/maps/CachesOverlay.java index b656900..e7c3903 100644 --- a/main/src/cgeo/geocaching/maps/CachesOverlay.java +++ b/main/src/cgeo/geocaching/maps/CachesOverlay.java @@ -6,7 +6,7 @@ import cgeo.geocaching.R; import cgeo.geocaching.Settings; import cgeo.geocaching.WaypointPopup; import cgeo.geocaching.cgCache; -import cgeo.geocaching.cgeoapplication; +import cgeo.geocaching.cgData; import cgeo.geocaching.activity.Progress; import cgeo.geocaching.connector.gc.GCMap; import cgeo.geocaching.enumerations.CacheType; @@ -228,7 +228,7 @@ public class CachesOverlay extends AbstractItemizedOverlay { final IWaypoint coordinate = item.getCoord(); if (StringUtils.isNotBlank(coordinate.getCoordType()) && coordinate.getCoordType().equalsIgnoreCase("cache") && StringUtils.isNotBlank(coordinate.getGeocode())) { - cgCache cache = cgeoapplication.getInstance().loadCache(coordinate.getGeocode(), LoadFlags.LOAD_CACHE_OR_DB); + cgCache cache = cgData.loadCache(coordinate.getGeocode(), LoadFlags.LOAD_CACHE_OR_DB); RequestDetailsThread requestDetailsThread = new RequestDetailsThread(cache); if (!requestDetailsThread.requestRequired()) { // don't show popup if we have enough details diff --git a/main/src/cgeo/geocaching/maps/MapProviderFactory.java b/main/src/cgeo/geocaching/maps/MapProviderFactory.java index cb1f87f..483189f 100644 --- a/main/src/cgeo/geocaching/maps/MapProviderFactory.java +++ b/main/src/cgeo/geocaching/maps/MapProviderFactory.java @@ -23,7 +23,7 @@ public class MapProviderFactory { MapsforgeMapProvider.getInstance(); } - private static boolean isGoogleMapsInstalled() { + public static boolean isGoogleMapsInstalled() { boolean googleMaps = true; try { Class.forName("com.google.android.maps.MapActivity"); diff --git a/main/src/cgeo/geocaching/maps/google/GoogleMapActivity.java b/main/src/cgeo/geocaching/maps/google/GoogleMapActivity.java index 0377fe9..5649d19 100644 --- a/main/src/cgeo/geocaching/maps/google/GoogleMapActivity.java +++ b/main/src/cgeo/geocaching/maps/google/GoogleMapActivity.java @@ -1,5 +1,6 @@ package cgeo.geocaching.maps.google; +import cgeo.geocaching.activity.FilteredActivity; import cgeo.geocaching.maps.AbstractMap; import cgeo.geocaching.maps.CGeoMap; import cgeo.geocaching.maps.interfaces.MapActivityImpl; @@ -12,7 +13,7 @@ import android.view.Menu; import android.view.MenuItem; import android.view.View; -public class GoogleMapActivity extends MapActivity implements MapActivityImpl { +public class GoogleMapActivity extends MapActivity implements MapActivityImpl, FilteredActivity { private AbstractMap mapBase; @@ -127,4 +128,8 @@ public class GoogleMapActivity extends MapActivity implements MapActivityImpl { mapBase.goManual(view); } + @Override + public void showFilterMenu(View view) { + // do nothing, the filter bar only shows the global filter + } } diff --git a/main/src/cgeo/geocaching/maps/mapsforge/MapsforgeMapActivity.java b/main/src/cgeo/geocaching/maps/mapsforge/MapsforgeMapActivity.java index 6cb2539..f850402 100644 --- a/main/src/cgeo/geocaching/maps/mapsforge/MapsforgeMapActivity.java +++ b/main/src/cgeo/geocaching/maps/mapsforge/MapsforgeMapActivity.java @@ -1,5 +1,6 @@ package cgeo.geocaching.maps.mapsforge; +import cgeo.geocaching.activity.FilteredActivity; import cgeo.geocaching.maps.AbstractMap; import cgeo.geocaching.maps.CGeoMap; import cgeo.geocaching.maps.interfaces.MapActivityImpl; @@ -12,7 +13,7 @@ import android.view.Menu; import android.view.MenuItem; import android.view.View; -public class MapsforgeMapActivity extends MapActivity implements MapActivityImpl { +public class MapsforgeMapActivity extends MapActivity implements MapActivityImpl, FilteredActivity { private AbstractMap mapBase; @@ -121,4 +122,9 @@ public class MapsforgeMapActivity extends MapActivity implements MapActivityImpl public void goManual(View view) { mapBase.goManual(view); } + + @Override + public void showFilterMenu(View view) { + // do nothing, the filter bar only shows the global filter + } } diff --git a/main/src/cgeo/geocaching/maps/mapsforge/MapsforgeMapProvider.java b/main/src/cgeo/geocaching/maps/mapsforge/MapsforgeMapProvider.java index 299bf30..8eef130 100644 --- a/main/src/cgeo/geocaching/maps/mapsforge/MapsforgeMapProvider.java +++ b/main/src/cgeo/geocaching/maps/mapsforge/MapsforgeMapProvider.java @@ -65,6 +65,7 @@ public final class MapsforgeMapProvider extends AbstractMapProvider { } } } + Collections.sort(mapFileList, String.CASE_INSENSITIVE_ORDER); return mapFileList; } catch (Exception e) { Log.e("Settings.getOfflineMaps: " + e); diff --git a/main/src/cgeo/geocaching/maps/mapsforge/v024/MapsforgeMapActivity024.java b/main/src/cgeo/geocaching/maps/mapsforge/v024/MapsforgeMapActivity024.java index d45db9a..ed8a7bc 100644 --- a/main/src/cgeo/geocaching/maps/mapsforge/v024/MapsforgeMapActivity024.java +++ b/main/src/cgeo/geocaching/maps/mapsforge/v024/MapsforgeMapActivity024.java @@ -1,5 +1,6 @@ package cgeo.geocaching.maps.mapsforge.v024; +import cgeo.geocaching.activity.FilteredActivity; import cgeo.geocaching.maps.AbstractMap; import cgeo.geocaching.maps.CGeoMap; import cgeo.geocaching.maps.interfaces.MapActivityImpl; @@ -12,7 +13,7 @@ import android.view.Menu; import android.view.MenuItem; import android.view.View; -public class MapsforgeMapActivity024 extends MapActivity implements MapActivityImpl { +public class MapsforgeMapActivity024 extends MapActivity implements MapActivityImpl, FilteredActivity { private AbstractMap mapBase; @@ -121,4 +122,9 @@ public class MapsforgeMapActivity024 extends MapActivity implements MapActivityI public void goManual(View view) { mapBase.goManual(view); } + + @Override + public void showFilterMenu(View view) { + // do nothing, the filter bar only shows the global filter + } } diff --git a/main/src/cgeo/geocaching/network/HtmlImage.java b/main/src/cgeo/geocaching/network/HtmlImage.java index d47afb9..e25eec5 100644 --- a/main/src/cgeo/geocaching/network/HtmlImage.java +++ b/main/src/cgeo/geocaching/network/HtmlImage.java @@ -3,6 +3,7 @@ package cgeo.geocaching.network; import cgeo.geocaching.R; import cgeo.geocaching.StoredList; import cgeo.geocaching.cgeoapplication; +import cgeo.geocaching.compatibility.Compatibility; import cgeo.geocaching.connector.ConnectorFactory; import cgeo.geocaching.files.LocalStorage; import cgeo.geocaching.utils.ImageHelper; @@ -12,15 +13,13 @@ import ch.boye.httpclientandroidlib.HttpResponse; import org.apache.commons.lang3.StringUtils; -import android.content.Context; import android.content.res.Resources; import android.graphics.Bitmap; import android.graphics.BitmapFactory; +import android.graphics.Point; import android.graphics.drawable.BitmapDrawable; import android.net.Uri; import android.text.Html; -import android.view.Display; -import android.view.WindowManager; import java.io.File; import java.io.FileInputStream; @@ -66,9 +65,9 @@ public class HtmlImage implements Html.ImageGetter { bfOptions = new BitmapFactory.Options(); bfOptions.inTempStorage = new byte[16 * 1024]; - final Display display = ((WindowManager) cgeoapplication.getInstance().getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay(); - this.maxWidth = display.getWidth() - 25; - this.maxHeight = display.getHeight() - 25; + Point displaySize = Compatibility.getDisplaySize(); + this.maxWidth = displaySize.x - 25; + this.maxHeight = displaySize.y - 25; this.resources = cgeoapplication.getInstance().getResources(); } diff --git a/main/src/cgeo/geocaching/network/Network.java b/main/src/cgeo/geocaching/network/Network.java index 72b325e..ed921b2 100644 --- a/main/src/cgeo/geocaching/network/Network.java +++ b/main/src/cgeo/geocaching/network/Network.java @@ -34,6 +34,7 @@ import ch.boye.httpclientandroidlib.params.HttpParams; import ch.boye.httpclientandroidlib.protocol.HttpContext; import ch.boye.httpclientandroidlib.util.EntityUtils; +import org.apache.commons.lang3.CharEncoding; import org.apache.commons.lang3.StringUtils; import org.json.JSONException; import org.json.JSONObject; @@ -43,11 +44,13 @@ import android.net.Uri; import java.io.File; import java.io.IOException; import java.io.UnsupportedEncodingException; +import java.net.URLDecoder; import java.net.URLEncoder; public abstract class Network { private static final int NB_DOWNLOAD_RETRIES = 4; + /** User agent id */ private final static String PC_USER_AGENT = "Mozilla/5.0 (X11; Linux x86_64; rv:9.0.1) Gecko/20100101 Firefox/9.0.1"; /** Native user agent, taken from a Android 2.2 Nexus **/ @@ -397,7 +400,27 @@ public abstract class Network { } public static String rfc3986URLEncode(String text) { - return StringUtils.replace(URLEncoder.encode(text).replace("+", "%20"), "%7E", "~"); + return StringUtils.replace(Network.encode(text).replace("+", "%20"), "%7E", "~"); + } + + public static String decode(final String text) { + try { + return URLDecoder.decode(text, CharEncoding.UTF_8); + } catch (UnsupportedEncodingException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + return null; + } + + public static String encode(final String text) { + try { + return URLEncoder.encode(text, CharEncoding.UTF_8); + } catch (UnsupportedEncodingException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + return null; } } diff --git a/main/src/cgeo/geocaching/sorting/FindsComparator.java b/main/src/cgeo/geocaching/sorting/FindsComparator.java index 6407b11..47e3844 100644 --- a/main/src/cgeo/geocaching/sorting/FindsComparator.java +++ b/main/src/cgeo/geocaching/sorting/FindsComparator.java @@ -1,13 +1,11 @@ package cgeo.geocaching.sorting; import cgeo.geocaching.cgCache; -import cgeo.geocaching.cgeoapplication; +import cgeo.geocaching.cgData; import cgeo.geocaching.enumerations.LogType; public class FindsComparator extends AbstractCacheComparator { - private final cgeoapplication app = cgeoapplication.getInstance(); - @Override protected boolean canCompare(cgCache cache1, cgCache cache2) { return cache1.getLogCounts() != null && cache2.getLogCounts() != null; @@ -20,9 +18,9 @@ public class FindsComparator extends AbstractCacheComparator { return finds2 - finds1; } - private int getFindsCount(cgCache cache) { + private static int getFindsCount(cgCache cache) { if (cache.getLogCounts().isEmpty()) { - cache.setLogCounts(app.loadLogCounts(cache.getGeocode())); + cache.setLogCounts(cgData.loadLogCounts(cache.getGeocode())); } Integer logged = cache.getLogCounts().get(LogType.FOUND_IT); if (logged != null) { diff --git a/main/src/cgeo/geocaching/twitter/Twitter.java b/main/src/cgeo/geocaching/twitter/Twitter.java index c630cec..c86c633 100644 --- a/main/src/cgeo/geocaching/twitter/Twitter.java +++ b/main/src/cgeo/geocaching/twitter/Twitter.java @@ -2,6 +2,7 @@ package cgeo.geocaching.twitter; import cgeo.geocaching.Settings; import cgeo.geocaching.cgCache; +import cgeo.geocaching.cgData; import cgeo.geocaching.cgTrackable; import cgeo.geocaching.cgeoapplication; import cgeo.geocaching.enumerations.LoadFlags; @@ -55,7 +56,7 @@ public final class Twitter { } public static void postTweetCache(String geocode) { - final cgCache cache = cgeoapplication.getInstance().loadCache(geocode, LoadFlags.LOAD_CACHE_OR_DB); + final cgCache cache = cgData.loadCache(geocode, LoadFlags.LOAD_CACHE_OR_DB); String status; final String url = cache.getUrl(); if (url.length() >= 100) { @@ -76,7 +77,7 @@ public final class Twitter { } public static void postTweetTrackable(String geocode) { - final cgTrackable trackable = cgeoapplication.getInstance().getTrackableByGeocode(geocode); + final cgTrackable trackable = cgData.loadTrackable(geocode); String name = trackable.getName(); if (name.length() > 82) { name = name.substring(0, 81) + '…'; diff --git a/main/src/cgeo/geocaching/ui/CacheListAdapter.java b/main/src/cgeo/geocaching/ui/CacheListAdapter.java index 65d3fbc..a2221c9 100644 --- a/main/src/cgeo/geocaching/ui/CacheListAdapter.java +++ b/main/src/cgeo/geocaching/ui/CacheListAdapter.java @@ -390,17 +390,24 @@ public class CacheListAdapter extends ArrayAdapter<cgCache> { holder.logStatusMark.setVisibility(View.GONE); } - if (cache.getNameSp() == null) { - cache.setNameSp((new Spannable.Factory()).newSpannable(cache.getName())); - if (cache.isDisabled() || cache.isArchived()) { // strike - cache.getNameSp().setSpan(new StrikethroughSpan(), 0, cache.getNameSp().toString().length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); - } - if (cache.isArchived()) { - cache.getNameSp().setSpan(new ForegroundColorSpan(res.getColor(R.color.archived_cache_color)), 0, cache.getNameSp().toString().length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); + Spannable spannable = null; + if (cache.isDisabled() || cache.isArchived()) { // strike + spannable = Spannable.Factory.getInstance().newSpannable(cache.getName()); + spannable.setSpan(new StrikethroughSpan(), 0, spannable.toString().length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); + } + if (cache.isArchived()) { // red color + if (spannable == null) { + spannable = Spannable.Factory.getInstance().newSpannable(cache.getName()); } + spannable.setSpan(new ForegroundColorSpan(res.getColor(R.color.archived_cache_color)), 0, spannable.toString().length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); } - holder.text.setText(cache.getNameSp(), TextView.BufferType.SPANNABLE); + if (spannable != null) { + holder.text.setText(spannable, TextView.BufferType.SPANNABLE); + } + else { + holder.text.setText(cache.getName()); + } holder.text.setCompoundDrawablesWithIntrinsicBounds(getCacheIcon(cache), null, null, null); if (cache.getInventoryItems() > 0) { diff --git a/main/src/cgeo/geocaching/ui/EditorDialog.java b/main/src/cgeo/geocaching/ui/EditorDialog.java index 50b3e27..6dcf546 100644 --- a/main/src/cgeo/geocaching/ui/EditorDialog.java +++ b/main/src/cgeo/geocaching/ui/EditorDialog.java @@ -53,7 +53,7 @@ public class EditorDialog extends Dialog { @Override public void show() { super.show(); - getWindow().setLayout(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT); + getWindow().setLayout(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT); } } diff --git a/main/src/cgeo/geocaching/ui/ImagesList.java b/main/src/cgeo/geocaching/ui/ImagesList.java index 3d6f95c..91b4fde 100644 --- a/main/src/cgeo/geocaching/ui/ImagesList.java +++ b/main/src/cgeo/geocaching/ui/ImagesList.java @@ -179,10 +179,6 @@ public class ImagesList { bitmaps.clear(); } - public cgImage getImage(int id) { - return images.get(id); - } - public void onCreateContextMenu(ContextMenu menu, View v) { final Resources res = activity.getResources(); menu.setHeaderTitle(res.getString(R.string.cache_image)); diff --git a/main/src/cgeo/geocaching/ui/LoggingUI.java b/main/src/cgeo/geocaching/ui/LoggingUI.java index 0e048c3..c5d9bf6 100644 --- a/main/src/cgeo/geocaching/ui/LoggingUI.java +++ b/main/src/cgeo/geocaching/ui/LoggingUI.java @@ -4,7 +4,7 @@ import cgeo.geocaching.LogEntry; import cgeo.geocaching.R; import cgeo.geocaching.Settings; import cgeo.geocaching.cgCache; -import cgeo.geocaching.cgeoapplication; +import cgeo.geocaching.cgData; import cgeo.geocaching.activity.IAbstractActivity; import cgeo.geocaching.enumerations.LogType; @@ -94,7 +94,7 @@ public class LoggingUI extends AbstractUIFactory { } private static void showOfflineMenu(final cgCache cache, final Activity activity) { - final LogEntry currentLog = cgeoapplication.getInstance().loadLogOffline(cache.getGeocode()); + final LogEntry currentLog = cgData.loadLogOffline(cache.getGeocode()); final LogType currentLogType = currentLog == null ? null : currentLog.type; final List<LogType> logTypes = cache.getPossibleLogTypes(); @@ -123,7 +123,7 @@ public class LoggingUI extends AbstractUIFactory { break; case CLEAR_LOG: - cgeoapplication.getInstance().clearLogOffline(cache.getGeocode()); + cgData.clearLogOffline(cache.getGeocode()); } } else { cache.logOffline(activity, logTypeEntry.logType); diff --git a/main/src/cgeo/geocaching/ui/WeakReferenceHandler.java b/main/src/cgeo/geocaching/ui/WeakReferenceHandler.java new file mode 100644 index 0000000..4724466 --- /dev/null +++ b/main/src/cgeo/geocaching/ui/WeakReferenceHandler.java @@ -0,0 +1,27 @@ +package cgeo.geocaching.ui; + +import android.app.Activity; +import android.os.Handler; + +import java.lang.ref.WeakReference; + +/** + * Standard handler implementation which uses a weak reference to its activity. This avoids that activities stay in + * memory due to references from the handler to the activity (see Android Lint warning "HandlerLeak") + * + * Create static private subclasses of this handler class in your activity. + * + * @param <ActivityType> + */ +public abstract class WeakReferenceHandler<ActivityType extends Activity> extends Handler { + + private final WeakReference<ActivityType> activityRef; + + protected WeakReferenceHandler(final ActivityType activity) { + this.activityRef = new WeakReference<ActivityType>(activity); + } + + protected ActivityType getActivity() { + return activityRef.get(); + } +} diff --git a/main/src/cgeo/geocaching/utils/AngleUtils.java b/main/src/cgeo/geocaching/utils/AngleUtils.java index e2b4a66..6e59a91 100644 --- a/main/src/cgeo/geocaching/utils/AngleUtils.java +++ b/main/src/cgeo/geocaching/utils/AngleUtils.java @@ -8,9 +8,11 @@ public class AngleUtils { /** * Return the angle to turn of to go from an angle to the other - * - * @param from the origin angle in degrees - * @param to the target angle in degreees + * + * @param from + * the origin angle in degrees + * @param to + * the target angle in degrees * @return a value in degrees, in the [-180, 180[ range */ public static float difference(final float from, final float to) { diff --git a/main/src/cgeo/geocaching/utils/ImageHelper.java b/main/src/cgeo/geocaching/utils/ImageHelper.java index 4c18b06..98cad64 100644 --- a/main/src/cgeo/geocaching/utils/ImageHelper.java +++ b/main/src/cgeo/geocaching/utils/ImageHelper.java @@ -1,13 +1,12 @@ package cgeo.geocaching.utils; import cgeo.geocaching.cgeoapplication; +import cgeo.geocaching.compatibility.Compatibility; -import android.content.Context; import android.graphics.Bitmap; +import android.graphics.Point; import android.graphics.Rect; import android.graphics.drawable.BitmapDrawable; -import android.view.Display; -import android.view.WindowManager; public class ImageHelper { @@ -24,9 +23,9 @@ public class ImageHelper { */ public static BitmapDrawable scaleBitmapToFitDisplay(final Bitmap image) { final cgeoapplication app = cgeoapplication.getInstance(); - final Display display = ((WindowManager) app.getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay(); - final int maxWidth = display.getWidth() - 25; - final int maxHeight = display.getHeight() - 25; + Point displaySize = Compatibility.getDisplaySize(); + final int maxWidth = displaySize.x - 25; + final int maxHeight = displaySize.y - 25; Bitmap result = image; int width = image.getWidth(); diff --git a/main/src/cgeo/geocaching/utils/TranslationUtils.java b/main/src/cgeo/geocaching/utils/TranslationUtils.java index a29c5a7..4d318f0 100644 --- a/main/src/cgeo/geocaching/utils/TranslationUtils.java +++ b/main/src/cgeo/geocaching/utils/TranslationUtils.java @@ -1,12 +1,11 @@ package cgeo.geocaching.utils; import cgeo.geocaching.activity.AbstractActivity; +import cgeo.geocaching.network.Network; import android.content.Intent; import android.net.Uri; -import java.net.URLEncoder; - /** * Utilities used for translating */ @@ -30,7 +29,7 @@ public final class TranslationUtils { * @return URI ready to be parsed */ private static String buildTranslationURI(final String toLang, final String text) { - String content = URLEncoder.encode(text); + String content = Network.encode(text); // the app works better without the "+", the website works better with "+", therefore assume using the app if installed if (ProcessUtils.isInstalled(TRANSLATION_APP)) { content = content.replace("+", "%20"); diff --git a/main/src/org/openintents/intents/FileManagerIntents.java b/main/src/org/openintents/intents/FileManagerIntents.java new file mode 100644 index 0000000..8ff10c8 --- /dev/null +++ b/main/src/org/openintents/intents/FileManagerIntents.java @@ -0,0 +1,127 @@ +/*
+ * Copyright (C) 2008 OpenIntents.org
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.openintents.intents;
+
+/**
+ * Provides OpenIntents actions, extras, and categories used by providers.
+ * <p>These specifiers extend the standard Android specifiers.</p>
+ */
+public final class FileManagerIntents {
+
+ /**
+ * Activity Action: Pick a file through the file manager, or let user
+ * specify a custom file name.
+ * Data is the current file name or file name suggestion.
+ * Returns a new file name as file URI in data.
+ *
+ * <p>Constant Value: "org.openintents.action.PICK_FILE"</p>
+ */
+ public static final String ACTION_PICK_FILE = "org.openintents.action.PICK_FILE";
+
+ /**
+ * Activity Action: Pick a directory through the file manager, or let user
+ * specify a custom file name.
+ * Data is the current directory name or directory name suggestion.
+ * Returns a new directory name as file URI in data.
+ *
+ * <p>Constant Value: "org.openintents.action.PICK_DIRECTORY"</p>
+ */
+ public static final String ACTION_PICK_DIRECTORY = "org.openintents.action.PICK_DIRECTORY";
+
+ /**
+ * Activity Action: Move, copy or delete after select entries.
+ * Data is the current directory name or directory name suggestion.
+ *
+ * <p>Constant Value: "org.openintents.action.MULTI_SELECT"</p>
+ */
+ public static final String ACTION_MULTI_SELECT = "org.openintents.action.MULTI_SELECT";
+
+ public static final String ACTION_SEARCH_STARTED = "org.openintents.action.SEARCH_STARTED";
+
+ public static final String ACTION_SEARCH_FINISHED = "org.openintens.action.SEARCH_FINISHED";
+
+ /**
+ * The title to display.
+ *
+ * <p>This is shown in the title bar of the file manager.</p>
+ *
+ * <p>Constant Value: "org.openintents.extra.TITLE"</p>
+ */
+ public static final String EXTRA_TITLE = "org.openintents.extra.TITLE";
+
+ /**
+ * The text on the button to display.
+ *
+ * <p>Depending on the use, it makes sense to set this to "Open" or "Save".</p>
+ *
+ * <p>Constant Value: "org.openintents.extra.BUTTON_TEXT"</p>
+ */
+ public static final String EXTRA_BUTTON_TEXT = "org.openintents.extra.BUTTON_TEXT";
+
+ /**
+ * Flag indicating to show only writeable files and folders.
+ *
+ * <p>Constant Value: "org.openintents.extra.WRITEABLE_ONLY"</p>
+ */
+ public static final String EXTRA_WRITEABLE_ONLY = "org.openintents.extra.WRITEABLE_ONLY";
+
+ /**
+ * The path to prioritize in search. Usually denotes the path the user was on when the search was initiated.
+ *
+ * <p>Constant Value: "org.openintents.extra.SEARCH_INIT_PATH"</p>
+ */
+ public static final String EXTRA_SEARCH_INIT_PATH = "org.openintents.extra.SEARCH_INIT_PATH";
+
+ /**
+ * The search query as sent to SearchService.
+ *
+ * <p>Constant Value: "org.openintents.extra.SEARCH_QUERY"</p>
+ */
+ public static final String EXTRA_SEARCH_QUERY = "org.openintents.extra.SEARCH_QUERY";
+
+ /**
+ * <p>Constant Value: "org.openintents.extra.DIR_PATH"</p>
+ */
+ public static final String EXTRA_DIR_PATH = "org.openintents.extra.DIR_PATH";
+
+ /**
+ * Extension by which to filter.
+ *
+ * <p>Constant Value: "org.openintents.extra.FILTER_FILETYPE"</p>
+ */
+ public static final String EXTRA_FILTER_FILETYPE = "org.openintents.extra.FILTER_FILETYPE";
+
+ /**
+ * Mimetype by which to filter.
+ *
+ * <p>Constant Value: "org.openintents.extra.FILTER_MIMETYPE"</p>
+ */
+ public static final String EXTRA_FILTER_MIMETYPE = "org.openintents.extra.FILTER_MIMETYPE";
+
+ /**
+ * Only show directories.
+ *
+ * <p>Constant Value: "org.openintents.extra.DIRECTORIES_ONLY"</p>
+ */
+ public static final String EXTRA_DIRECTORIES_ONLY = "org.openintents.extra.DIRECTORIES_ONLY";
+
+ public static final String EXTRA_DIALOG_FILE_HOLDER = "org.openintents.extra.DIALOG_FILE";
+
+ public static final String EXTRA_IS_GET_CONTENT_INITIATED = "org.openintents.extra.ENABLE_ACTIONS";
+
+ public static final String EXTRA_FILENAME = "org.openintents.extra.FILENAME";
+}
diff --git a/main/templates/mapsapikey.xml b/main/templates/mapsapikey.xml index 5514121..3655b5e 100644 --- a/main/templates/mapsapikey.xml +++ b/main/templates/mapsapikey.xml @@ -1,4 +1,4 @@ <?xml version="1.0" encoding="UTF-8"?> <resources> - <string name="maps_api_key">@maps.api.key@</string> + <string name="maps_api_key" translatable="false">@maps.api.key@</string> </resources> diff --git a/tests/AndroidManifest.xml b/tests/AndroidManifest.xml index 62813a2..64d30cd 100644 --- a/tests/AndroidManifest.xml +++ b/tests/AndroidManifest.xml @@ -1,12 +1,12 @@ <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" - package="cgeo.geocaching.test" - android:versionCode="1" - android:versionName="1.0" - name="c:geo Tests"> - <uses-sdk android:minSdkVersion="4" /> + package="cgeo.geocaching.test" + android:versionCode="1" + android:versionName="1.0" > + + <uses-sdk android:minSdkVersion="4" android:targetSdkVersion="13"/> <instrumentation android:targetPackage="cgeo.geocaching" android:name="android.test.InstrumentationTestRunner" /> - <application android:icon="@drawable/icon" android:label="@string/app_name"> + <application android:icon="@drawable/icon" android:label="@string/app_name" android:allowBackup="false"> <uses-library android:name="android.test.runner" /> </application> diff --git a/tests/build.xml b/tests/build.xml index b5596c3..2afa27b 100644 --- a/tests/build.xml +++ b/tests/build.xml @@ -45,6 +45,26 @@ unless="sdk.dir"
/>
+ <target name="run-acceptance-tests" depends="clean, debug, install" >
+
+ <property name="log.file" value="acceptance_tests_standard_out.txt" />
+ <!-- because we don't have control over the 'test' target (to check for passes an fails) this prints to standard out
+ we capture standard out into a file and query this to see if we have any test failures, using this to pass/fail our task -->
+ <record name="${log.file}" action="start" />
+ <antcall target="test" />
+ <record name="${log.file}" action="stop" />
+
+ <loadfile property="tests.output" srcFile="${log.file}" />
+
+ <echo>Checking for failures</echo>
+ <fail message="Acceptance tests FAILED!!!" >
+ <condition>
+ <contains string="${tests.output}" substring="FAILURES" />
+ </condition>
+ </fail>
+
+ <echo>Acceptance tests passed!</echo>
+ </target>
<!-- extension targets. Uncomment the ones where you want to do custom work
in between standard targets -->
@@ -79,7 +99,7 @@ In all cases you must update the value of version-tag below to read 'custom' instead of an integer,
in order to avoid having your file be overridden by tools such as "android update project"
-->
- <!-- version-tag: 1 -->
+ <!-- version-tag: custom -->
<import file="${sdk.dir}/tools/ant/build.xml" />
</project>
diff --git a/tests/libs/robotium-solo-3.6.jar b/tests/libs/robotium-solo-3.6.jar Binary files differnew file mode 100644 index 0000000..4280906 --- /dev/null +++ b/tests/libs/robotium-solo-3.6.jar diff --git a/tests/src/cgeo/geocaching/CacheTest.java b/tests/src/cgeo/geocaching/CacheTest.java index e1d6efb..905cab0 100644 --- a/tests/src/cgeo/geocaching/CacheTest.java +++ b/tests/src/cgeo/geocaching/CacheTest.java @@ -41,4 +41,10 @@ public class CacheTest extends AndroidTestCase { // different objects with same geocode shall be equal assertTrue(one.equals(two)); } + + public static void testGeocodeUppercase() { + cgCache cache = new cgCache(); + cache.setGeocode("gc1234"); + assertEquals("GC1234", cache.getGeocode()); + } } diff --git a/tests/src/cgeo/geocaching/SettingsTest.java b/tests/src/cgeo/geocaching/SettingsTest.java index 0d395f4..f113180 100644 --- a/tests/src/cgeo/geocaching/SettingsTest.java +++ b/tests/src/cgeo/geocaching/SettingsTest.java @@ -30,6 +30,6 @@ public class SettingsTest extends ActivityInstrumentationTestCase2<cgeo> { } public static void testSettings() { - assertEquals(Settings.getMemberStatus(), GCConstants.MEMBER_STATUS_PM); + assertEquals(GCConstants.MEMBER_STATUS_PM, Settings.getMemberStatus()); } } diff --git a/tests/src/cgeo/geocaching/TrackableTest.java b/tests/src/cgeo/geocaching/TrackableTest.java new file mode 100644 index 0000000..b52139a --- /dev/null +++ b/tests/src/cgeo/geocaching/TrackableTest.java @@ -0,0 +1,18 @@ +package cgeo.geocaching; + +import android.test.AndroidTestCase; + +public class TrackableTest extends AndroidTestCase { + + public static void testGetGeocode() { + cgTrackable trackable = new cgTrackable(); + trackable.setGeocode("tb1234"); + assertEquals("TB1234", trackable.getGeocode()); + } + + public static void testSetLogsNull() { + cgTrackable trackable = new cgTrackable(); + trackable.setLogs(null); + assertNotNull("Trackable logs must not be null!", trackable.getLogs()); + } +} diff --git a/tests/src/cgeo/geocaching/cgDataTest.java b/tests/src/cgeo/geocaching/cgDataTest.java index 3cee32f..f4b71f3 100644 --- a/tests/src/cgeo/geocaching/cgDataTest.java +++ b/tests/src/cgeo/geocaching/cgDataTest.java @@ -18,7 +18,6 @@ public class cgDataTest extends CGeoTestCase { public static void testStoredLists() { - cgeoapplication app = cgeoapplication.getInstance(); int listId1 = StoredList.STANDARD_LIST_ID; int listId2 = StoredList.STANDARD_LIST_ID; @@ -32,11 +31,11 @@ public class cgDataTest extends CGeoTestCase { try { // create lists - listId1 = app.createList("cgData Test"); + listId1 = cgData.createList("cgData Test"); assertTrue(listId1 > StoredList.STANDARD_LIST_ID); - listId2 = app.createList("cgDataTest"); + listId2 = cgData.createList("cgDataTest"); assertTrue(listId2 > StoredList.STANDARD_LIST_ID); - assertTrue(app.getLists().size() >= 2); + assertTrue(cgData.getLists().size() >= 2); cache1.setDetailed(true); cache1.setListId(listId1); @@ -44,33 +43,33 @@ public class cgDataTest extends CGeoTestCase { cache2.setListId(listId1); // save caches to DB (cache1=listId1, cache2=listId1) - app.saveCache(cache1, LoadFlags.SAVE_ALL); - app.saveCache(cache2, LoadFlags.SAVE_ALL); - assertTrue(app.getAllStoredCachesCount(false, CacheType.ALL) >= 2); + cgData.saveCache(cache1, LoadFlags.SAVE_ALL); + cgData.saveCache(cache2, LoadFlags.SAVE_ALL); + assertTrue(cgData.getAllCachesCount() >= 2); // rename list (cache1=listId1, cache2=listId1) - assertEquals(1, app.renameList(listId1, "cgData Test (renamed)")); + assertEquals(1, cgData.renameList(listId1, "cgData Test (renamed)")); // get list - StoredList list1 = app.getList(listId1); + StoredList list1 = cgData.getList(listId1); assertEquals("cgData Test (renamed)", list1.title); // move to list (cache1=listId2, cache2=listId2) - app.moveToList(Collections.singletonList(cache1), listId2); - assertEquals(1, app.getAllStoredCachesCount(false, CacheType.ALL, listId2)); + cgData.moveToList(Collections.singletonList(cache1), listId2); + assertEquals(1, cgData.getAllStoredCachesCount(CacheType.ALL, listId2)); // remove list (cache1=listId2, cache2=listId2) - assertTrue(app.removeList(listId1)); + assertTrue(cgData.removeList(listId1)); // mark dropped (cache1=1, cache2=0) - app.markDropped(Collections.singletonList(cache2)); + cgData.markDropped(Collections.singletonList(cache2)); // mark stored (cache1=1, cache2=listId2) - app.markStored(Collections.singletonList(cache2), listId2); - assertEquals(2, app.getAllStoredCachesCount(false, CacheType.ALL, listId2)); + cgData.moveToList(Collections.singletonList(cache2), listId2); + assertEquals(2, cgData.getAllStoredCachesCount(CacheType.ALL, listId2)); // drop stored (cache1=0, cache2=0) - app.removeList(listId2); + cgData.removeList(listId2); } finally { @@ -78,33 +77,30 @@ public class cgDataTest extends CGeoTestCase { Set<String> geocodes = new HashSet<String>(); geocodes.add(cache1.getGeocode()); geocodes.add(cache2.getGeocode()); - app.removeCaches(geocodes, LoadFlags.REMOVE_ALL); + cgData.removeCaches(geocodes, LoadFlags.REMOVE_ALL); // remove list - app.removeList(listId1); - app.removeList(listId2); + cgData.removeList(listId1); + cgData.removeList(listId2); } } // Check that queries don't throw an exception (see issue #1429). public static void testLoadWaypoints() { final Viewport viewport = new Viewport(new Geopoint(-1, -2), new Geopoint(3, 4)); - final cgeoapplication app = cgeoapplication.getInstance(); - app.getWaypointsInViewport(viewport, false, false, CacheType.ALL); - app.getWaypointsInViewport(viewport, false, true, CacheType.ALL); - app.getWaypointsInViewport(viewport, true, false, CacheType.ALL); - app.getWaypointsInViewport(viewport, true, true, CacheType.ALL); - app.getWaypointsInViewport(viewport, false, false, CacheType.TRADITIONAL); - app.getWaypointsInViewport(viewport, false, true, CacheType.TRADITIONAL); - app.getWaypointsInViewport(viewport, true, false, CacheType.TRADITIONAL); - app.getWaypointsInViewport(viewport, true, true, CacheType.TRADITIONAL); + cgData.loadWaypoints(viewport, false, false, CacheType.ALL); + cgData.loadWaypoints(viewport, false, true, CacheType.ALL); + cgData.loadWaypoints(viewport, true, false, CacheType.ALL); + cgData.loadWaypoints(viewport, true, true, CacheType.ALL); + cgData.loadWaypoints(viewport, false, false, CacheType.TRADITIONAL); + cgData.loadWaypoints(viewport, false, true, CacheType.TRADITIONAL); + cgData.loadWaypoints(viewport, true, false, CacheType.TRADITIONAL); + cgData.loadWaypoints(viewport, true, true, CacheType.TRADITIONAL); } // Check that saving a cache and trackable without logs works (see #2199) public static void testSaveWithoutLogs() { - cgeoapplication app = cgeoapplication.getInstance(); - final String GEOCODE_CACHE = "TEST"; // create cache and trackable @@ -118,21 +114,19 @@ public class cgDataTest extends CGeoTestCase { cache.setInventory(inventory); try { - app.saveCache(cache, EnumSet.of(SaveFlag.SAVE_DB)); - final cgCache loadedCache = app.loadCache(GEOCODE_CACHE, LoadFlags.LOAD_ALL_DB_ONLY); + cgData.saveCache(cache, EnumSet.of(SaveFlag.SAVE_DB)); + final cgCache loadedCache = cgData.loadCache(GEOCODE_CACHE, LoadFlags.LOAD_ALL_DB_ONLY); assertNotNull("Cache was not saved!", loadedCache); assertEquals(1, loadedCache.getInventory().size()); } finally { - app.removeCache(GEOCODE_CACHE, LoadFlags.REMOVE_ALL); + cgData.removeCache(GEOCODE_CACHE, LoadFlags.REMOVE_ALL); } } // Loading logs for an empty geocode should return an empty list, not null! public static void testLoadLogsFromEmptyGeocode() { - cgeoapplication app = cgeoapplication.getInstance(); - - List<LogEntry> logs = app.loadLogs(""); + List<LogEntry> logs = cgData.loadLogs(""); assertNotNull("Logs must not be null", logs); assertEquals("Logs from empty geocode must be empty", 0, logs.size()); diff --git a/tests/src/cgeo/geocaching/cgWaypointTest.java b/tests/src/cgeo/geocaching/cgWaypointTest.java index 324d562..6665c51 100644 --- a/tests/src/cgeo/geocaching/cgWaypointTest.java +++ b/tests/src/cgeo/geocaching/cgWaypointTest.java @@ -33,4 +33,9 @@ public class cgWaypointTest extends AndroidTestCase { assertTrue(parking.compareTo(trailhead) < 0); } + public static void testGeocode() { + cgWaypoint waypoint = new cgWaypoint("Test waypoint", WaypointType.PARKING, false); + waypoint.setGeocode("p1"); + assertEquals("P1", waypoint.getGeocode()); + } } diff --git a/tests/src/cgeo/geocaching/cgeoApplicationTest.java b/tests/src/cgeo/geocaching/cgeoApplicationTest.java index f7d3158..32cbe40 100644 --- a/tests/src/cgeo/geocaching/cgeoApplicationTest.java +++ b/tests/src/cgeo/geocaching/cgeoApplicationTest.java @@ -109,7 +109,7 @@ public class cgeoApplicationTest extends CGeoTestCase { if (Settings.isPremiumMember() || search.getError() == null) { assertEquals(1, search.getGeocodes().size()); assertTrue(search.getGeocodes().contains(geocode)); - return cgeoapplication.getInstance().loadCache(geocode, LoadFlags.LOAD_CACHE_OR_DB); + return cgData.loadCache(geocode, LoadFlags.LOAD_CACHE_OR_DB); } assertEquals(0, search.getGeocodes().size()); return null; @@ -279,8 +279,7 @@ public class cgeoApplicationTest extends CGeoTestCase { SearchResult search = ConnectorFactory.searchByViewport(viewport, tokens); assertNotNull(search); assertTrue(search.getGeocodes().contains(mockedCache.getGeocode())); - - cgCache parsedCache = cgeoapplication.getInstance().loadCache(mockedCache.getGeocode(), LoadFlags.LOAD_CACHE_OR_DB); + cgCache parsedCache = cgData.loadCache(mockedCache.getGeocode(), LoadFlags.LOAD_CACHE_OR_DB); assertEquals(Settings.isPremiumMember(), mockedCache.getCoords().equals(parsedCache.getCoords())); assertEquals(Settings.isPremiumMember(), parsedCache.isReliableLatLon()); @@ -292,8 +291,7 @@ public class cgeoApplicationTest extends CGeoTestCase { search = ConnectorFactory.searchByViewport(viewport, tokens); assertNotNull(search); assertTrue(search.getGeocodes().contains(mockedCache.getGeocode())); - - parsedCache = cgeoapplication.getInstance().loadCache(mockedCache.getGeocode(), LoadFlags.LOAD_CACHE_OR_DB); + parsedCache = cgData.loadCache(mockedCache.getGeocode(), LoadFlags.LOAD_CACHE_OR_DB); assertEquals(Settings.isPremiumMember(), mockedCache.getCoords().equals(parsedCache.getCoords())); assertEquals(Settings.isPremiumMember(), parsedCache.isReliableLatLon()); @@ -332,7 +330,7 @@ public class cgeoApplicationTest extends CGeoTestCase { assertNotNull(search); assertTrue(search.getGeocodes().contains(cache.getGeocode())); // coords differ - cgCache cacheFromViewport = cgeoapplication.getInstance().loadCache(cache.getGeocode(), LoadFlags.LOAD_CACHE_OR_DB); + cgCache cacheFromViewport = cgData.loadCache(cache.getGeocode(), LoadFlags.LOAD_CACHE_OR_DB); Log.d("cgeoApplicationTest.testSearchByViewportNotLoggedIn: Coords expected = " + cache.getCoords()); Log.d("cgeoApplicationTest.testSearchByViewportNotLoggedIn: Coords actual = " + cacheFromViewport.getCoords()); assertFalse(cache.getCoords().isEqualTo(cacheFromViewport.getCoords(), 1e-3)); @@ -390,7 +388,7 @@ public class cgeoApplicationTest extends CGeoTestCase { /** Remove cache from DB and cache to ensure that the cache is not loaded from the database */ private static void deleteCacheFromDB(String geocode) { - cgeoapplication.getInstance().removeCache(geocode, LoadFlags.REMOVE_ALL); + cgData.removeCache(geocode, LoadFlags.REMOVE_ALL); } /** Remove cache from DB and cache to ensure that the cache is not loaded from the database */ diff --git a/tests/src/cgeo/geocaching/compatibility/CompatibilityTest.java b/tests/src/cgeo/geocaching/compatibility/CompatibilityTest.java index 03034f8..35baa8c 100644 --- a/tests/src/cgeo/geocaching/compatibility/CompatibilityTest.java +++ b/tests/src/cgeo/geocaching/compatibility/CompatibilityTest.java @@ -11,7 +11,7 @@ public class CompatibilityTest extends ActivityInstrumentationTestCase2<cgeo> { private cgeo activity; public CompatibilityTest() { - super(cgeo.class); + super("cgeo.geocaching", cgeo.class); } @Override diff --git a/tests/src/cgeo/geocaching/connector/opencaching/OkapiClientTest.java b/tests/src/cgeo/geocaching/connector/opencaching/OkapiClientTest.java index 5576028..0519b58 100644 --- a/tests/src/cgeo/geocaching/connector/opencaching/OkapiClientTest.java +++ b/tests/src/cgeo/geocaching/connector/opencaching/OkapiClientTest.java @@ -2,7 +2,7 @@ package cgeo.geocaching.connector.opencaching; import cgeo.CGeoTestCase; import cgeo.geocaching.cgCache; -import cgeo.geocaching.cgeoapplication; +import cgeo.geocaching.cgData; import cgeo.geocaching.connector.oc.OkapiClient; import cgeo.geocaching.enumerations.LoadFlags; @@ -15,9 +15,8 @@ public class OkapiClientTest extends CGeoTestCase { assertEquals(geoCode, cache.getGeocode()); assertEquals("Oshkosh Municipal Tank", cache.getName()); assertTrue(cache.isDetailed()); - // cache should be stored to DB (to listID 0) when loaded above - cache = cgeoapplication.getInstance().loadCache(geoCode, LoadFlags.LOAD_ALL_DB_ONLY); + cache = cgData.loadCache(geoCode, LoadFlags.LOAD_ALL_DB_ONLY); assertNotNull(cache); assertEquals(geoCode, cache.getGeocode()); assertEquals("Oshkosh Municipal Tank", cache.getName()); diff --git a/tests/src/cgeo/geocaching/enumerations/CacheSizeTest.java b/tests/src/cgeo/geocaching/enumerations/CacheSizeTest.java index c872c9d..9c3063d 100644 --- a/tests/src/cgeo/geocaching/enumerations/CacheSizeTest.java +++ b/tests/src/cgeo/geocaching/enumerations/CacheSizeTest.java @@ -2,6 +2,8 @@ package cgeo.geocaching.enumerations; import android.test.AndroidTestCase; +import java.util.Locale; + public class CacheSizeTest extends AndroidTestCase { public static void testOrder() { @@ -15,13 +17,14 @@ public class CacheSizeTest extends AndroidTestCase { assertEquals(CacheSize.UNKNOWN, CacheSize.getById(null)); assertEquals(CacheSize.UNKNOWN, CacheSize.getById("random garbage")); assertEquals(CacheSize.LARGE, CacheSize.getById("large")); + assertEquals(CacheSize.LARGE, CacheSize.getById("LARGE")); } public static void testGetByIdComplete() { for (CacheSize size : CacheSize.values()) { assertEquals(size, CacheSize.getById(size.id)); - assertEquals(size, CacheSize.getById(size.id.toLowerCase())); - assertEquals(size, CacheSize.getById(size.id.toUpperCase())); + assertEquals(size, CacheSize.getById(size.id.toLowerCase(Locale.US))); + assertEquals(size, CacheSize.getById(size.id.toUpperCase(Locale.US))); } } } diff --git a/tests/src/cgeo/geocaching/enumerations/CacheTypeTest.java b/tests/src/cgeo/geocaching/enumerations/CacheTypeTest.java index dd35669..21e97c0 100644 --- a/tests/src/cgeo/geocaching/enumerations/CacheTypeTest.java +++ b/tests/src/cgeo/geocaching/enumerations/CacheTypeTest.java @@ -2,6 +2,8 @@ package cgeo.geocaching.enumerations; import android.test.AndroidTestCase; +import java.util.Locale; + public class CacheTypeTest extends AndroidTestCase { public static void testGetById() { @@ -21,16 +23,16 @@ public class CacheTypeTest extends AndroidTestCase { public static void testGetByIdComplete() { for (CacheType type : CacheType.values()) { assertEquals(type, CacheType.getById(type.id)); - assertEquals(type, CacheType.getById(type.id.toLowerCase())); - assertEquals(type, CacheType.getById(type.id.toUpperCase())); + assertEquals(type, CacheType.getById(type.id.toLowerCase(Locale.US))); + assertEquals(type, CacheType.getById(type.id.toUpperCase(Locale.US))); } } public static void testGetByPatternComplete() { for (CacheType type : CacheType.values()) { assertEquals(type, CacheType.getByPattern(type.pattern)); - assertEquals(type, CacheType.getByPattern(type.pattern.toLowerCase())); - assertEquals(type, CacheType.getByPattern(type.pattern.toUpperCase())); + assertEquals(type, CacheType.getByPattern(type.pattern.toLowerCase(Locale.US))); + assertEquals(type, CacheType.getByPattern(type.pattern.toUpperCase(Locale.US))); } } } diff --git a/tests/src/cgeo/geocaching/enumerations/LogTypeTest.java b/tests/src/cgeo/geocaching/enumerations/LogTypeTest.java index ce2a37a..d4c8f5e 100644 --- a/tests/src/cgeo/geocaching/enumerations/LogTypeTest.java +++ b/tests/src/cgeo/geocaching/enumerations/LogTypeTest.java @@ -19,7 +19,8 @@ public class LogTypeTest extends AndroidTestCase { public static void testGetByType() { assertEquals(LogType.UNKNOWN, LogType.getByIconName("")); assertEquals(LogType.UNKNOWN, LogType.getByIconName(null)); - assertEquals(LogType.GRABBED_IT, LogType.getByType("grabbed IT ")); + assertEquals(LogType.GRABBED_IT, LogType.getByType("grabbed it")); + assertEquals(LogType.GRABBED_IT, LogType.getByType(" gRAbbed IT ")); } } diff --git a/tests/src/cgeo/geocaching/export/ExportTest.java b/tests/src/cgeo/geocaching/export/ExportTest.java index 5d3d137..cdd64b2 100644 --- a/tests/src/cgeo/geocaching/export/ExportTest.java +++ b/tests/src/cgeo/geocaching/export/ExportTest.java @@ -13,7 +13,7 @@ public class ExportTest extends CGeoTestCase { final LogEntry log = new LogEntry(1353244820000L, LogType.FOUND_IT, "Hidden in a tree"); final StringBuilder logStr = new StringBuilder(); FieldnoteExport.appendFieldNote(logStr, cache, log); - assertEquals("GCX1234,2012-11-18T14:20:20Z,Found it,\"Hidden in a tree\"\n", logStr.toString()); + assertEquals("Non matching export " + logStr.toString(), "GCX1234,2012-11-18T13:20:20Z,Found it,\"Hidden in a tree\"\n", logStr.toString()); } } diff --git a/tests/src/cgeo/geocaching/files/GPXImporterTest.java b/tests/src/cgeo/geocaching/files/GPXImporterTest.java index da99c11..8c05ee0 100644 --- a/tests/src/cgeo/geocaching/files/GPXImporterTest.java +++ b/tests/src/cgeo/geocaching/files/GPXImporterTest.java @@ -3,7 +3,7 @@ package cgeo.geocaching.files; import cgeo.geocaching.SearchResult; import cgeo.geocaching.Settings; import cgeo.geocaching.cgCache; -import cgeo.geocaching.cgeoapplication; +import cgeo.geocaching.cgData; import cgeo.geocaching.enumerations.CacheType; import cgeo.geocaching.enumerations.LoadFlags; import cgeo.geocaching.test.AbstractResourceInstrumentationTestCase; @@ -71,8 +71,7 @@ public class GPXImporterTest extends AbstractResourceInstrumentationTestCase { assertEquals(GPXImporter.IMPORT_STEP_FINISHED, iMsg.next().what); SearchResult search = (SearchResult) importStepHandler.messages.get(3).obj; assertEquals(Collections.singletonList(geocode), new ArrayList<String>(search.getGeocodes())); - - cgCache cache = cgeoapplication.getInstance().loadCache(geocode, LoadFlags.LOAD_CACHE_OR_DB); + cgCache cache = cgData.loadCache(geocode, LoadFlags.LOAD_CACHE_OR_DB); assertCacheProperties(cache); assertTrue(cache.getWaypoints().isEmpty()); @@ -99,8 +98,7 @@ public class GPXImporterTest extends AbstractResourceInstrumentationTestCase { assertImportStepMessages(GPXImporter.IMPORT_STEP_START, GPXImporter.IMPORT_STEP_READ_FILE, GPXImporter.IMPORT_STEP_READ_WPT_FILE, GPXImporter.IMPORT_STEP_STORE_STATIC_MAPS, GPXImporter.IMPORT_STEP_FINISHED); SearchResult search = (SearchResult) importStepHandler.messages.get(4).obj; assertEquals(Collections.singletonList("GC31J2H"), new ArrayList<String>(search.getGeocodes())); - - cgCache cache = cgeoapplication.getInstance().loadCache("GC31J2H", LoadFlags.LOAD_CACHE_OR_DB); + cgCache cache = cgData.loadCache("GC31J2H", LoadFlags.LOAD_CACHE_OR_DB); assertCacheProperties(cache); assertEquals(2, cache.getWaypoints().size()); } @@ -113,8 +111,7 @@ public class GPXImporterTest extends AbstractResourceInstrumentationTestCase { runImportThread(importThread); assertImportStepMessages(GPXImporter.IMPORT_STEP_START, GPXImporter.IMPORT_STEP_READ_FILE, GPXImporter.IMPORT_STEP_STORE_STATIC_MAPS, GPXImporter.IMPORT_STEP_FINISHED); - - final cgCache cache = cgeoapplication.getInstance().loadCache("AID1", LoadFlags.LOAD_CACHE_OR_DB); + final cgCache cache = cgData.loadCache("AID1", LoadFlags.LOAD_CACHE_OR_DB); assertCacheProperties(cache); assertEquals("First Aid Station #1", cache.getName()); } @@ -136,8 +133,7 @@ public class GPXImporterTest extends AbstractResourceInstrumentationTestCase { assertImportStepMessages(GPXImporter.IMPORT_STEP_START, GPXImporter.IMPORT_STEP_READ_FILE, GPXImporter.IMPORT_STEP_STORE_STATIC_MAPS, GPXImporter.IMPORT_STEP_FINISHED); SearchResult search = (SearchResult) importStepHandler.messages.get(3).obj; assertEquals(Collections.singletonList("OC5952"), new ArrayList<String>(search.getGeocodes())); - - cgCache cache = cgeoapplication.getInstance().loadCache("OC5952", LoadFlags.LOAD_CACHE_OR_DB); + cgCache cache = cgData.loadCache("OC5952", LoadFlags.LOAD_CACHE_OR_DB); assertCacheProperties(cache); } @@ -179,8 +175,7 @@ public class GPXImporterTest extends AbstractResourceInstrumentationTestCase { assertImportStepMessages(GPXImporter.IMPORT_STEP_START, GPXImporter.IMPORT_STEP_READ_FILE, GPXImporter.IMPORT_STEP_STORE_STATIC_MAPS, GPXImporter.IMPORT_STEP_FINISHED); SearchResult search = (SearchResult) importStepHandler.messages.get(3).obj; assertEquals(Collections.singletonList(geocode), new ArrayList<String>(search.getGeocodes())); - - cgCache cache = cgeoapplication.getInstance().loadCache(geocode, LoadFlags.LOAD_CACHE_OR_DB); + cgCache cache = cgData.loadCache(geocode, LoadFlags.LOAD_CACHE_OR_DB); assertCacheProperties(cache); assertTrue(cache.getWaypoints().isEmpty()); @@ -198,8 +193,7 @@ public class GPXImporterTest extends AbstractResourceInstrumentationTestCase { assertImportStepMessages(GPXImporter.IMPORT_STEP_START, GPXImporter.IMPORT_STEP_READ_FILE, GPXImporter.IMPORT_STEP_READ_WPT_FILE, GPXImporter.IMPORT_STEP_STORE_STATIC_MAPS, GPXImporter.IMPORT_STEP_FINISHED); SearchResult search = (SearchResult) importStepHandler.messages.get(4).obj; assertEquals(Collections.singletonList(geocode), new ArrayList<String>(search.getGeocodes())); - - cgCache cache = cgeoapplication.getInstance().loadCache(geocode, LoadFlags.LOAD_CACHE_OR_DB); + cgCache cache = cgData.loadCache(geocode, LoadFlags.LOAD_CACHE_OR_DB); assertCacheProperties(cache); assertEquals(1, cache.getWaypoints().size()); // this is the original pocket query result without test waypoint } @@ -225,8 +219,7 @@ public class GPXImporterTest extends AbstractResourceInstrumentationTestCase { assertImportStepMessages(GPXImporter.IMPORT_STEP_START, GPXImporter.IMPORT_STEP_READ_FILE, GPXImporter.IMPORT_STEP_READ_WPT_FILE, GPXImporter.IMPORT_STEP_STORE_STATIC_MAPS, GPXImporter.IMPORT_STEP_FINISHED); SearchResult search = (SearchResult) importStepHandler.messages.get(4).obj; assertEquals(Collections.singletonList(geocode), new ArrayList<String>(search.getGeocodes())); - - cgCache cache = cgeoapplication.getInstance().loadCache(geocode, LoadFlags.LOAD_CACHE_OR_DB); + cgCache cache = cgData.loadCache(geocode, LoadFlags.LOAD_CACHE_OR_DB); assertCacheProperties(cache); assertEquals(1, cache.getWaypoints().size()); // this is the original pocket query result without test waypoint } @@ -266,10 +259,9 @@ public class GPXImporterTest extends AbstractResourceInstrumentationTestCase { tempDir = new File(System.getProperty("java.io.tmpdir"), "cgeogpxesTest"); tempDir.mkdir(); - // workaround to get storage initialized - cgeoapplication.getInstance().getAllHistoricCachesCount(); - listId = cgeoapplication.getInstance().createList("cgeogpxesTest"); + cgData.getAllHistoryCachesCount(); + listId = cgData.createList("cgeogpxesTest"); importCacheStaticMaps = Settings.isStoreOfflineMaps(); Settings.setStoreOfflineMaps(true); @@ -279,11 +271,11 @@ public class GPXImporterTest extends AbstractResourceInstrumentationTestCase { @Override protected void tearDown() throws Exception { - SearchResult search = cgeoapplication.getInstance().getBatchOfStoredCaches(false, null, CacheType.ALL, listId); + SearchResult search = cgData.getBatchOfStoredCaches(null, CacheType.ALL, listId); List<cgCache> cachesInList = new ArrayList<cgCache>(); cachesInList.addAll(search.getCachesFromSearchResult(LoadFlags.LOAD_CACHE_OR_DB)); - cgeoapplication.getInstance().markDropped(cachesInList); - cgeoapplication.getInstance().removeList(listId); + cgData.markDropped(cachesInList); + cgData.removeList(listId); deleteDirectory(tempDir); Settings.setStoreOfflineMaps(importCacheStaticMaps); Settings.setStoreOfflineWpMaps(importWpStaticMaps); diff --git a/tests/src/cgeo/geocaching/files/GPXParserTest.java b/tests/src/cgeo/geocaching/files/GPXParserTest.java index 6c3c237..f6e6e66 100644 --- a/tests/src/cgeo/geocaching/files/GPXParserTest.java +++ b/tests/src/cgeo/geocaching/files/GPXParserTest.java @@ -4,8 +4,8 @@ import cgeo.geocaching.LogEntry; import cgeo.geocaching.SearchResult; import cgeo.geocaching.StoredList; import cgeo.geocaching.cgCache; +import cgeo.geocaching.cgData; import cgeo.geocaching.cgWaypoint; -import cgeo.geocaching.cgeoapplication; import cgeo.geocaching.enumerations.CacheSize; import cgeo.geocaching.enumerations.CacheType; import cgeo.geocaching.enumerations.LoadFlags; @@ -24,10 +24,11 @@ import java.util.Collection; import java.util.EnumSet; import java.util.HashSet; import java.util.List; +import java.util.Locale; import java.util.Set; public class GPXParserTest extends AbstractResourceInstrumentationTestCase { - private static final SimpleDateFormat LOG_DATE_FORMAT = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'"); // 2010-04-20T07:00:00Z + private static final SimpleDateFormat LOG_DATE_FORMAT = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'", Locale.US); // 2010-04-20T07:00:00Z private int listId; public void testGPXVersion100() throws Exception { @@ -212,7 +213,7 @@ public class GPXParserTest extends AbstractResourceInstrumentationTestCase { } } // reload caches, because the parser only returns the minimum version of each cache - return new ArrayList<cgCache>(cgeoapplication.getInstance().loadCaches(result, LoadFlags.LOAD_ALL_DB_ONLY)); + return new ArrayList<cgCache>(cgData.loadCaches(result, LoadFlags.LOAD_ALL_DB_ONLY)); } public static void testParseDateWithFractionalSeconds() { @@ -265,10 +266,9 @@ public class GPXParserTest extends AbstractResourceInstrumentationTestCase { removeCacheCompletely(geocode); final List<cgCache> caches = readGPX10(R.raw.lazy); assertEquals(1, caches.size()); - cgeoapplication.getInstance().removeAllFromCache(); - + cgData.removeAllFromCache(); // load only the minimum cache, it has several members missing - final cgCache minimalCache = cgeoapplication.getInstance().loadCache(geocode, EnumSet.of(LoadFlag.LOAD_DB_MINIMAL)); + final cgCache minimalCache = cgData.loadCache(geocode, EnumSet.of(LoadFlag.LOAD_DB_MINIMAL)); // now check that we load lazy members on demand assertFalse(minimalCache.getAttributes().isEmpty()); @@ -297,17 +297,17 @@ public class GPXParserTest extends AbstractResourceInstrumentationTestCase { @Override protected void setUp() throws Exception { super.setUp(); - listId = cgeoapplication.getInstance().createList("Temporary unit testing"); + listId = cgData.createList("Temporary unit testing"); assertTrue(listId != StoredList.TEMPORARY_LIST_ID); assertTrue(listId != StoredList.STANDARD_LIST_ID); } @Override protected void tearDown() throws Exception { - SearchResult search = cgeoapplication.getInstance().getBatchOfStoredCaches(false, null, CacheType.ALL, listId); + SearchResult search = cgData.getBatchOfStoredCaches(null, CacheType.ALL, listId); assertNotNull(search); - cgeoapplication.getInstance().removeCaches(search.getGeocodes(), LoadFlags.REMOVE_ALL); - cgeoapplication.getInstance().removeList(listId); + cgData.removeCaches(search.getGeocodes(), LoadFlags.REMOVE_ALL); + cgData.removeList(listId); super.tearDown(); } } diff --git a/tests/src/cgeo/geocaching/files/SimpleDirChooserUITest.java b/tests/src/cgeo/geocaching/files/SimpleDirChooserUITest.java new file mode 100644 index 0000000..b1a4649 --- /dev/null +++ b/tests/src/cgeo/geocaching/files/SimpleDirChooserUITest.java @@ -0,0 +1,62 @@ +package cgeo.geocaching.files; + +import com.jayway.android.robotium.solo.Solo; + +import android.annotation.TargetApi; +import android.os.Build; +import android.test.ActivityInstrumentationTestCase2; +import android.widget.CheckBox; + +import java.util.ArrayList; + +@TargetApi(Build.VERSION_CODES.FROYO) +public class SimpleDirChooserUITest extends ActivityInstrumentationTestCase2<SimpleDirChooser> { + + private Solo solo; + + public SimpleDirChooserUITest() { + super(SimpleDirChooser.class); + } + + @Override + public void setUp() throws Exception { + solo = new Solo(getInstrumentation(), getActivity()); + } + + public void testSingleSelection() throws InterruptedException { + final ArrayList<CheckBox> boxes = solo.getCurrentCheckBoxes(); + final int lastIndex = boxes.size() - 1; + assertChecked("Newly opened activity", 0); + + solo.scrollToBottom(); + solo.clickOnCheckBox(lastIndex); + assertTrue(solo.getCurrentCheckBoxes().get(lastIndex).isChecked()); + assertFalse(solo.getCurrentCheckBoxes().get(0).isChecked()); + assertChecked("Clicked last checkbox", 1); + + solo.scrollUp(); + Thread.sleep(20); + solo.scrollToBottom(); + Thread.sleep(20); + assertChecked("Refreshing last checkbox", 1); + + solo.scrollToTop(); + solo.clickOnCheckBox(0); + assertChecked("Clicked first checkbox", 1); + assertTrue(solo.getCurrentCheckBoxes().get(0).isChecked()); + } + + private void assertChecked(String message, int expectedChecked) { + int checked = 0; + final ArrayList<CheckBox> boxes = solo.getCurrentCheckBoxes(); + assertNotNull("Could not get checkboxes", boxes); + assertTrue("There are no checkboxes", boxes.size() > 1); + for (CheckBox checkBox : boxes) { + if (checkBox.isChecked()) { + checked++; + } + } + assertEquals(message, expectedChecked, checked); + } + +} diff --git a/tests/src/cgeo/geocaching/test/AbstractResourceInstrumentationTestCase.java b/tests/src/cgeo/geocaching/test/AbstractResourceInstrumentationTestCase.java index 0d3d53b..cd8b5e7 100644 --- a/tests/src/cgeo/geocaching/test/AbstractResourceInstrumentationTestCase.java +++ b/tests/src/cgeo/geocaching/test/AbstractResourceInstrumentationTestCase.java @@ -1,6 +1,6 @@ package cgeo.geocaching.test; -import cgeo.geocaching.cgeoapplication; +import cgeo.geocaching.cgData; import cgeo.geocaching.enumerations.LoadFlags; import cgeo.geocaching.enumerations.LoadFlags.RemoveFlag; @@ -18,7 +18,7 @@ public abstract class AbstractResourceInstrumentationTestCase extends Instrument protected static void removeCacheCompletely(final String geocode) { final EnumSet<RemoveFlag> flags = EnumSet.copyOf(LoadFlags.REMOVE_ALL); flags.add(RemoveFlag.REMOVE_OWN_WAYPOINTS_ONLY_FOR_TESTING); - cgeoapplication.getInstance().removeCache(geocode, flags); + cgData.removeCache(geocode, flags); } protected InputStream getResourceStream(int resourceId) { diff --git a/tests/src/cgeo/geocaching/test/mock/GC1ZXX2.html b/tests/src/cgeo/geocaching/test/mock/GC1ZXX2.html index 6169144..33364ef 100644 --- a/tests/src/cgeo/geocaching/test/mock/GC1ZXX2.html +++ b/tests/src/cgeo/geocaching/test/mock/GC1ZXX2.html @@ -127,11 +127,11 @@ resize: none;
}
legend.note{
- background:url('../images/silk/note.png') no-repeat 0 0;
+ background:url('../images/icons/16/user_note.png') no-repeat 0 0;
padding-left:18px;
}
legend.warning{
- background:url('../images/silk/exclamation.png') no-repeat 0 0;
+ background:url('../images/icons/16/take_note.png') no-repeat 0 0;
padding-left:18px;
}
fieldset.CacheNote{
@@ -154,6 +154,7 @@ }
#tiptip_content{
*background-color:#000;
+ box-shadow:none;
}
.maxed{
color:#992a2a;
@@ -167,7 +168,7 @@ .edit-cache-coordinates{
text-decoration: none;
color: #000 !important;
- background: url(/images/silk/pencil.png) no-repeat right 0;
+ background: url(/images/icons/16/edit.png) no-repeat right 0;
padding:2px 20px 2px 0px;
margin-right:4px;
}
@@ -243,9 +244,10 @@ <div>
<input type="hidden" name="__EVENTTARGET" id="__EVENTTARGET" value="" />
<input type="hidden" name="__EVENTARGUMENT" id="__EVENTARGUMENT" value="" />
-<input type="hidden" name="__VIEWSTATEFIELDCOUNT" id="__VIEWSTATEFIELDCOUNT" value="2" />
-<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwUKLTI5ODA0Nzc1OQ8WAh4EQy5JRCgpWVN5c3RlbS5JbnQ2NCwgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5BzE0MzM5MDkWAmYPZBYGZg9kFgoCBg8WAh4EVGV4dAViPG1ldGEgbmFtZT0iQ29weXJpZ2h0IiBjb250ZW50PSJDb3B5cmlnaHQgKGMpIDIwMDAtMjAxMiBHcm91bmRzcGVhaywgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLiIgLz5kAgcPFgIfAQVHPCEtLSBDb3B5cmlnaHQgKGMpIDIwMDAtMjAxMiBHcm91bmRzcGVhaywgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLiAtLT5kAhoPFgIeBGhyZWYFHX4vY3NzL3Rsbk1hc3RlclNjcmVlbi5jc3M/cj0xZAIbDxYCHwIFFX4vY3NzL3Rsbk1haW4uY3NzP3I9MWQCIA8WAh4HVmlzaWJsZWhkAgEPZBYQAgUPFgIfAWRkAggPFgIfA2cWCAIBDw8WAh4ISW1hZ2VVcmwFTmh0dHA6Ly9pbWcuZ2VvY2FjaGluZy5jb20vdXNlci9hdmF0YXIvNTBmODMxMjMtMjdkOC00ZGNmLTlmZGUtMmFmMDA2ZWZhZjJiLmpwZ2RkAgMPFgIfAQVoSGVsbG8sIDxhIGhyZWY9Ii9teS9kZWZhdWx0LmFzcHgiIHRpdGxlPSJWaWV3IFByb2ZpbGUgZm9yIGJsYWZvbyIgY2xhc3M9IlNpZ25lZEluUHJvZmlsZUxpbmsiPmJsYWZvbzwvYT5kAgUPDxYCHgtOYXZpZ2F0ZVVybAWtAWh0dHBzOi8vd3d3Lmdlb2NhY2hpbmcuY29tL2xvZ2luL2RlZmF1bHQuYXNweD9SRVNFVD1ZJnJlZGlyPWh0dHAlM2ElMmYlMmZ3d3cuZ2VvY2FjaGluZy5jb20lMmZzZWVrJTJmY2FjaGVfZGV0YWlscy5hc3B4JTNmbG9nJTNkeSUyNndwJTNkR0MxWlhYMiUyNm51bWxvZ3MlM2QzNSUyNmRlY3J5cHQlM2R5ZGQCCw8WAh8BBasBPGltZyBzcmM9Ii9pbWFnZXMvaWNvbnMvaWNvbl9zbWlsZS5wbmciIHRpdGxlPSJDYWNoZXMgRm91bmQiIC8+IDY5MiZuYnNwOyZuYnNwOyZuYnNwOzxpbWcgc3JjPSIvaW1hZ2VzL2NoYWxsZW5nZXMvdHlwZXMvc20vY2hhbGxlbmdlLnBuZyIgdGl0bGU9IkNoYWxsZW5nZXMgQ29tcGxldGVkIiAvPiAzZAINDxYCHwNnFgICDQ8PFgIfBQVAfi90cmFjay9zZWFyY2guYXNweD9vPTEmdWlkPTA1NjRhOTQwLTgzMTEtNDBlZS04ZTc2LTdlOTFiMmNmNjI4NGRkAhAPDxYCHwNnZGQCLg9kFgICAw8WAh8DaGQCLw8WAh4FY2xhc3MFDHNwYW4tMjQgbGFzdBYCAgEPZBYuAgEPZBYCZg9kFgICAQ8PFgIfAQUHR0MxWlhYMmRkAgIPFgIfAQWmATxhIGhyZWY9Ii9hYm91dC9jYWNoZV90eXBlcy5hc3B4IiB0YXJnZXQ9Il9ibGFuayIgdGl0bGU9IkFib3V0IENhY2hlIFR5cGVzIj48aW1nIHNyYz0iL2ltYWdlcy9XcHRUeXBlcy8yLmdpZiIgYWx0PSJUcmFkaXRpb25hbCBDYWNoZSIgdGl0bGU9IlRyYWRpdGlvbmFsIENhY2hlIiAvPjwvYT5kAgYPZBYEAgEPFgIfA2dkAgYPFgIfA2hkAgsPZBYEAgEPFgIfAQUCNDFkAgUPDxYCHwUFRC9zZWVrL2NhY2hlX2Zhdm9yaXRlZC5hc3B4P2d1aWQ9MzZkNDU4NzEtYjk5ZC00NmQ2LTk1ZmMtZmY4NmFiNTY0Yzk4ZGQCDQ8PFgIfA2hkZAIPDxYEHwEFvgE8cCBjbGFzcz0iT2xkV2FybmluZyBOb0JvdHRvbVNwYWNpbmciPjxzdHJvbmc+Q2FjaGUgSXNzdWVzOjwvc3Ryb25nPjwvcD48dWwgY2xhc3M9Ik9sZFdhcm5pbmciPjxsaT5UaGlzIGNhY2hlIGhhcyBiZWVuIGFyY2hpdmVkLCBidXQgaXMgYXZhaWxhYmxlIGZvciB2aWV3aW5nIGZvciBhcmNoaXZhbCBwdXJwb3Nlcy48L2xpPjwvdWw+HwNnZAIQDxYCHwNoZAIRDxYCHwNoZAISD2QWDAIDDxYCHgVzdHlsZQUPZGlzcGxheTppbmxpbmU7FgICAQ8WAh8BBRtVVE06IDMyVSBFIDU0ODM4OSBOIDU4MDI3ODdkAg0PDxYCHwUFM2NkcGYuYXNweD9ndWlkPTM2ZDQ1ODcxLWI5OWQtNDZkNi05NWZjLWZmODZhYjU2NGM5OGRkAg8PDxYCHwUFOGNkcGYuYXNweD9ndWlkPTM2ZDQ1ODcxLWI5OWQtNDZkNi05NWZjLWZmODZhYjU2NGM5OCZsYz01ZGQCEQ8PFgIfBQU5Y2RwZi5hc3B4P2d1aWQ9MzZkNDU4NzEtYjk5ZC00NmQ2LTk1ZmMtZmY4NmFiNTY0Yzk4JmxjPTEwZGQCEw8PFgQfBQWCAWh0dHA6Ly9tYXBzLmdvb2dsZS5jb20vbWFwcz9mPWQmaGw9ZW4mc2FkZHI9NTIuNDE2Miw5LjU5NDExNyAoSG9tZSBMb2NhdGlvbikmZGFkZHI9NTIuMzczMjE3LDkuNzEwOChIYW5ub3BvbHklM2ErRWlzbGlzZW5zdHJhc3NlKykeBlRhcmdldAUGX2JsYW5rZGQCGw9kFggCAQ8PFgQeCUZvcmVDb2xvcgweBF8hU0ICBGRkAgMPDxYEHwkMHwoCBGRkAgUPDxYCHwNnFgIeB29uY2xpY2sFO3MyZ3BzKCczNmQ0NTg3MS1iOTlkLTQ2ZDYtOTVmYy1mZjg2YWI1NjRjOTgnKTtyZXR1cm4gZmFsc2U7ZAIHDw8WAh8DZxYCHwsFIHMycGhvbmUoJ0dDMVpYWDInKTtyZXR1cm4gZmFsc2U7ZAIUDxYCHwNnFgICAw8WAh8BBQ9UZXN0IGbDvHIgYzpnZW9kAhcPZBYIZg8WAh8DaGQCAQ8PFgIfA2hkZAICDw8WAh8DaGRkAgMPFgIfA2hkAhgPZBYCAgMPDxYCHwEFE05vIGhpbnRzIGF2YWlsYWJsZS4WAh8LBQ1yZXR1cm4gZmFsc2U7ZAIZDxYCHwNoZAIcDxYCHwNoZAIeDxYCHwNnZAIfDxYCHwNoZAIiD2QWAgIBD2QWBAIBDw8WAh8BBf8DPGlmcmFtZSB0eXBlPSJpZnJhbWUiIHNyYz0iaHR0cDovL2Fkcy5ncm91bmRzcGVhay5jb20vYS5hc3B4P1pvbmVJRD05JlRhc2s9R2V0JlNpdGVJRD0xJlg9J2M1OTI3MTFkY2E3NjQwZjU4YTgzMmEwOWIzZDYyMDdlJyIgd2lkdGg9IjEyMCIgaGVpZ2h0PSIyNDAiIE1hcmdpbndpZHRoPSIwIiBNYXJnaW5oZWlnaHQ9IjAiIEhzcGFjZT0iMCIgVnNwYWNlPSIwIiBGcmFtZWJvcmRlcj0iMCIgU2Nyb2xsaW5nPSJubyIgc3R5bGU9IndpZHRoOjEyMHB4O0hlaWdodDoyNDBweDsiPjxhIGhyZWY9Imh0dHA6Ly9hZHMuZ3JvdW5kc3BlYWsuY29tL2EuYXNweD9ab25lSUQ9OSZUYXNrPUNsaWNrJjtNb2RlPUhUTUwmU2l0ZUlEPTEiIHRhcmdldD0iX2JsYW5rIj48aW1nIHNyYz0iaHR0cDovL2Fkcy5ncm91bmRzcGVhay5jb20vYS5hc3B4P1pvbmVJRD05JlRhc2s9R2V0Jk1vZGU9SFRNTCZTaXRlSUQ9MSIgd2lkdGg9IjEyMCIgaGVpZ2h0PSIyNDAiIGJvcmRlcj0iMCIgYWx0PSIiIC8+PC9hPjwvaWZyYW1lPmRkAgMPFgIeCWlubmVyaHRtbAUTQWR2ZXJ0aXNpbmcgd2l0aCBVc2QCJg9kFgQCBw8PFgIfA2dkZAILDw8WAh8FBTx+L3RyYWNrL3NlYXJjaC5hc3B4P3dpZD0zNmQ0NTg3MS1iOTlkLTQ2ZDYtOTVmYy1mZjg2YWI1NjRjOThkZAInDw8WAh8DZ2QWAmYPFgIeC18hSXRlbUNvdW50AgMWBgIBD2QWBGYPFQMAV2h0dHA6Ly93d3cuZ2VvY2FjaGluZy5jb20vYm9va21hcmtzL3ZpZXcuYXNweD9ndWlkPTQxY2Q1NmI2LTAwZjEtNDcwMi1iODY2LTFhMjY4YzY0OWQxMxVBbGxlIEhhbm5vcG9seSBDYWNoZXNkAgIPFQJMaHR0cDovL3d3dy5nZW9jYWNoaW5nLmNvbS9wcm9maWxlLz9ndWlkPWRmMjE4NGFiLWE5ZWEtNGQzMC05OGVkLWVjNGU4NTFjMzcwNgpHdW1taXNlZWxlZAICD2QWBGYPFQMOQWx0ZXJuYXRpbmdSb3dXaHR0cDovL3d3dy5nZW9jYWNoaW5nLmNvbS9ib29rbWFya3Mvdmlldy5hc3B4P2d1aWQ9MGRjZjNmODYtOTM3Mi00OTljLThiNTctZWQ0MTliZDQ4ZTIxEE1laW5lIEVtcGZlaGx1bmdkAgIPFQJMaHR0cDovL3d3dy5nZW9jYWNoaW5nLmNvbS9wcm9maWxlLz9ndWlkPWM0NjU0MWZjLTZhZTktNDQ1Mi04ODMzLTQ3MGRkZmJlOWNlZQZza3JlbGxkAgMPZBYEZg8VAwBXaHR0cDovL3d3dy5nZW9jYWNoaW5nLmNvbS9ib29rbWFya3Mvdmlldy5hc3B4P2d1aWQ9OWEyNDhkYjktMzA2My00NDU3LTkyMDUtODUxZmJlMDZhMDNlCUhhbm5vcG9seWQCAg8VAkxodHRwOi8vd3d3Lmdlb2NhY2hpbmcuY29tL3Byb2ZpbGUvP2d1aWQ9NWM0YjA5MTUtNWNlYy00ZmExLThhZmQt" />
-<input type="hidden" name="__VIEWSTATE1" id="__VIEWSTATE1" value="NGIzY2E2N2UwMDRlB2thaTI3MDdkAikPZBYWAgEPDxYCHwNoZGQCAw9kFgICAQ8PFgIfBQVFL2hpZGUvd3B0bGlzdC5hc3B4P1JlZldwdElEPTM2ZDQ1ODcxLWI5OWQtNDZkNi05NWZjLWZmODZhYjU2NGM5OCZEUz0xZGQCBw8PFgYeBlJEUy5JRAspdkdyb3VuZHNwZWFrLldlYi5HUFguV3B0RGF0YVNvdXJjZXMsIFR1Y3Nvbi5Db21tb24uTGVnYWN5LCBWZXJzaW9uPTMuMC40NjcyLjE3OTQzLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPW51bGwBHgdSV1BULklEKCsEBzE0MzM5MDkfA2hkZAIJDw8WAh8DZ2QWAgIBDw8WBB8FBSovbWFwL2RlZmF1bHQuYXNweD9sYXQ9NTIuMzczMjE3JmxuZz05LjcxMDgfA2dkZAIRDw8WAh8FBR4vc2Vlay9uZWFyZXN0LmFzcHg/dT1kYW5pZWwzNTRkZAIVDw8WAh8FBR8vc2Vlay9uZWFyZXN0LmFzcHg/dWw9ZGFuaWVsMzU0ZGQCGQ9kFgoCAw8PFgIfBQVVL3NlZWsvbmVhcmVzdC5hc3B4P3R4PTMyYmM5MzMzLTVlNTItNDk1Ny1iMGY2LTVhMmM4ZmM3YjI1NyZsYXQ9NTIuMzczMjE3JmxuZz05LjcxMDgwMGRkAgUPDxYCHwUFWS9zZWVrL25lYXJlc3QuYXNweD90eD0zMmJjOTMzMy01ZTUyLTQ5NTctYjBmNi01YTJjOGZjN2IyNTcmbGF0PTUyLjM3MzIxNyZsbmc9OS43MTA4MDAmZj0xZGQCCQ8PFgIfBQUtL3NlZWsvbmVhcmVzdC5hc3B4P2xhdD01Mi4zNzMyMTcmbG5nPTkuNzEwODAwZGQCCw8PFgIfBQUxL3NlZWsvbmVhcmVzdC5hc3B4P2xhdD01Mi4zNzMyMTcmbG5nPTkuNzEwODAwJmY9MWRkAg8PDxYCHwUFR2h0dHA6Ly93d3cud2F5bWFya2luZy5jb20vZGlyZWN0b3J5LmFzcHg/Zj0xJmxhdD01Mi4zNzMyMTcmbG9uPTkuNzEwODAwZGQCGw8WAh8DaGQCHw8PFgIfBQUlL3Jldmlld3MvaG90ZWxzLWNvb3Jkcy01Mi4zNzMyLDkuNzEwOGRkAiMPZBYCAgEPDxYEHwEFtAc8bGk+PGEgaHJlZj0iaHR0cDovL3d3dy5nZW9jYWNoaW5nLmNvbS9tYXAvZGVmYXVsdC5hc3B4P2xhdD01Mi4zNzMyMiZsbmc9OS43MTA4IiB0YXJnZXQ9Il9ibGFuayI+R2VvY2FjaGluZy5jb20gTWFwPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9tYXBzLmdvb2dsZS5jb20vbWFwcz9xPU4rNTIlYzIlYjArMjIuMzkzK0UrMDA5JWMyJWIwKzQyLjY0OCsoR0MxWlhYMikrIiB0YXJnZXQ9Il9ibGFuayI+R29vZ2xlIE1hcHM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy5tYXBxdWVzdC5jb20vbWFwcy9tYXAuYWRwP3NlYXJjaHR5cGU9YWRkcmVzcyZmb3JtdHlwZT1sYXRsb25nJmxhdGxvbmd0eXBlPWRlY2ltYWwmbGF0aXR1ZGU9NTIuMzczMjImbG9uZ2l0dWRlPTkuNzEwOCZ6b29tPTEwIiB0YXJnZXQ9Il9ibGFuayI+TWFwUXVlc3Q8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL21hcHMueWFob28uY29tLyNsYXQ9NTIuMzczMjImbG9uPTkuNzEwOCZ6b29tPTE2JnE9NTIuMzczMjIsOS43MTA4JmNvbmY9MSZzdGFydD0xJm12dD1tJnRyZj0wIiB0YXJnZXQ9Il9ibGFuayI+WWFob28gTWFwczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LmJpbmcuY29tL21hcHMvZGVmYXVsdC5hc3B4P3Y9MiZsdmw9MTQmc3A9cG9pbnQuNTIuMzczMjJfOS43MTA4X0dDMVpYWDIiIHRhcmdldD0iX2JsYW5rIj5CaW5nIE1hcHM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy5vcGVuY3ljbGVtYXAub3JnLz96b29tPTEyJmxhdD01Mi4zNzMyMiZsb249OS43MTA4IiB0YXJnZXQ9Il9ibGFuayI+T3BlbiBDeWNsZSBNYXBzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cub3BlbnN0cmVldG1hcC5vcmcvP21sYXQ9NTIuMzczMjImbWxvbj05LjcxMDgmem9vbT0xMiIgdGFyZ2V0PSJfYmxhbmsiPk9wZW4gU3RyZWV0IE1hcHM8L2E+PC9saT4fA2dkZAInD2QWBgIBDxYCHwEFETQwMCBMb2dnZWQgVmlzaXRzZAIHDw8WAh8FBUN+L3NlZWsvY2FjaGVfbG9nYm9vay5hc3B4P2d1aWQ9MzZkNDU4NzEtYjk5ZC00NmQ2LTk1ZmMtZmY4NmFiNTY0Yzk4ZGQCCQ8PFgQfBQU9fi9zZWVrL2dhbGxlcnkuYXNweD9ndWlkPTM2ZDQ1ODcxLWI5OWQtNDZkNi05NWZjLWZmODZhYjU2NGM5OB8BBSJWaWV3IHRoZSBJbWFnZSBHYWxsZXJ5IG9mIDIgaW1hZ2VzZGQCKg8WAh8BBQR0cnVlZAIrDxYCHwEFSWxhdD01Mi4zNzMyMTc7IGxuZz05LjcxMDg7IGd1aWQ9JzM2ZDQ1ODcxLWI5OWQtNDZkNi05NWZjLWZmODZhYjU2NGM5OCc7DQpkAiwPFgIfAQVxdHJ5IHsgX2dhcS5wdXNoKFsnX3RyYWNrRXZlbnQnLCAnR2VvY2FjaGluZycsICdDYWNoZURldGFpbHNNZW1iZXJUeXBlJywgJ1ByZW1pdW0nLCBudWxsLCB0cnVlXSk7IH0gY2F0Y2goZXJyKSB7IH1kAjAPFgIfA2hkAjEPZBYEAgMPFgIfAQUHRW5nbGlzaGQCBQ8WAh8NAhAWIGYPZBYCAgEPDxYIHg9Db21tYW5kQXJndW1lbnQFBWVuLVVTHgtDb21tYW5kTmFtZQUNU2V0VGVtcExvY2FsZR8BBQdFbmdsaXNoHhBDYXVzZXNWYWxpZGF0aW9uaGRkAgEPZBYCAgEPDxYIHxAFBWRlLURFHxEFDVNldFRlbXBMb2NhbGUfAQUHRGV1dHNjaB8SaGRkAgIPZBYCAgEPDxYIHxAFBWZyLUZSHxEFDVNldFRlbXBMb2NhbGUfAQUJRnJhbsOnYWlzHxJoZGQCAw9kFgICAQ8PFggfEAUFcHQtUFQfEQUNU2V0VGVtcExvY2FsZR8BBQpQb3J0dWd1w6pzHxJoZGQCBA9kFgICAQ8PFggfEAUFY3MtQ1ofEQUNU2V0VGVtcExvY2FsZR8BBQnEjGXFoXRpbmEfEmhkZAIFD2QWAgIBDw8WCB8QBQVzdi1TRR8RBQ1TZXRUZW1wTG9jYWxlHwEFB1N2ZW5za2EfEmhkZAIGD2QWAgIBDw8WCB8QBQVlcy1FUx8RBQ1TZXRUZW1wTG9jYWxlHwEFCEVzcGHDsW9sHxJoZGQCBw9kFgICAQ8PFggfEAUFaXQtSVQfEQUNU2V0VGVtcExvY2FsZR8BBQhJdGFsaWFubx8SaGRkAggPZBYCAgEPDxYIHxAFBW5sLU5MHxEFDVNldFRlbXBMb2NhbGUfAQUKTmVkZXJsYW5kcx8SaGRkAgkPZBYCAgEPDxYIHxAFBWNhLUVTHxEFDVNldFRlbXBMb2NhbGUfAQUHQ2F0YWzDoB8SaGRkAgoPZBYCAgEPDxYIHxAFBXBsLVBMHxEFDVNldFRlbXBMb2NhbGUfAQUGUG9sc2tpHxJoZGQCCw9kFgICAQ8PFggfEAUFZXQtRUUfEQUNU2V0VGVtcExvY2FsZR8BBQVFZXN0aR8SaGRkAgwPZBYCAgEPDxYIHxAFBW5iLU5PHxEFDVNldFRlbXBMb2NhbGUfAQUOTm9yc2ssIEJva23DpWwfEmhkZAIND2QWAgIBDw8WCB8QBQVrby1LUh8RBQ1TZXRUZW1wTG9jYWxlHwEFCe2VnOq1reyWtB8SaGRkAg4PZBYCAgEPDxYIHxAFBWh1LUhVHxEFDVNldFRlbXBMb2NhbGUfAQUGTWFneWFyHxJoZGQCDw9kFgICAQ8PFggfEAUFcm8tUk8fEQUNU2V0VGVtcExvY2FsZR8BBQhSb23Dom7Egx8SaGRkAgMPFgIfAQUrU2VydmVyOiBXRUIwOTsgQnVpbGQ6IFdlYi5Ib3RGaXhfMjAxMjEwMTYuM2Rk2wmnTPC8XNAWQeyiCZT6l5TTkUo=" />
+<input type="hidden" name="__VIEWSTATEFIELDCOUNT" id="__VIEWSTATEFIELDCOUNT" value="3" />
+<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwUKLTc1MjcwNzgxNg8WAh4EQy5JRCgpWVN5c3RlbS5JbnQ2NCwgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5BzE0MzM5MDkWAmYPZBYGZg9kFgoCBg8WAh4EVGV4dAViPG1ldGEgbmFtZT0iQ29weXJpZ2h0IiBjb250ZW50PSJDb3B5cmlnaHQgKGMpIDIwMDAtMjAxMiBHcm91bmRzcGVhaywgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLiIgLz5kAgcPFgIfAQVHPCEtLSBDb3B5cmlnaHQgKGMpIDIwMDAtMjAxMiBHcm91bmRzcGVhaywgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLiAtLT5kAhoPFgIeBGhyZWYFHX4vY3NzL3Rsbk1hc3RlclNjcmVlbi5jc3M/cj0xZAIbDxYCHwIFFX4vY3NzL3Rsbk1haW4uY3NzP3I9MWQCIA8WAh4HVmlzaWJsZWhkAgEPZBYSAgUPFgIfAWRkAggPFgIfA2cWCAIBDw8WAh4ISW1hZ2VVcmwFTmh0dHA6Ly9pbWcuZ2VvY2FjaGluZy5jb20vdXNlci9hdmF0YXIvNTBmODMxMjMtMjdkOC00ZGNmLTlmZGUtMmFmMDA2ZWZhZjJiLmpwZ2RkAgMPFgIfAQVoSGVsbG8sIDxhIGhyZWY9Ii9teS9kZWZhdWx0LmFzcHgiIHRpdGxlPSJWaWV3IFByb2ZpbGUgZm9yIGJsYWZvbyIgY2xhc3M9IlNpZ25lZEluUHJvZmlsZUxpbmsiPmJsYWZvbzwvYT5kAgUPDxYCHgtOYXZpZ2F0ZVVybAWtAWh0dHBzOi8vd3d3Lmdlb2NhY2hpbmcuY29tL2xvZ2luL2RlZmF1bHQuYXNweD9SRVNFVD1ZJnJlZGlyPWh0dHAlM2ElMmYlMmZ3d3cuZ2VvY2FjaGluZy5jb20lMmZzZWVrJTJmY2FjaGVfZGV0YWlscy5hc3B4JTNmbG9nJTNkeSUyNndwJTNkR0MxWlhYMiUyNm51bWxvZ3MlM2QzNSUyNmRlY3J5cHQlM2R5ZGQCCw8WAh8BBRA3MjUgQ2FjaGVzIEZvdW5kZAINDxYCHwNnFgICDQ8PFgIfBQVAfi90cmFjay9zZWFyY2guYXNweD9vPTEmdWlkPTA1NjRhOTQwLTgzMTEtNDBlZS04ZTc2LTdlOTFiMmNmNjI4NGRkAhAPDxYCHwNnZGQCLA9kFgQCAw8WAh8BBQdFbmdsaXNoZAIFDxYCHgtfIUl0ZW1Db3VudAIQFiBmD2QWAgIBDw8WCB4PQ29tbWFuZEFyZ3VtZW50BQVlbi1VUx4LQ29tbWFuZE5hbWUFDVNldFRlbXBMb2NhbGUfAQUHRW5nbGlzaB4QQ2F1c2VzVmFsaWRhdGlvbmhkZAIBD2QWAgIBDw8WCB8HBQVkZS1ERR8IBQ1TZXRUZW1wTG9jYWxlHwEFB0RldXRzY2gfCWhkZAICD2QWAgIBDw8WCB8HBQVmci1GUh8IBQ1TZXRUZW1wTG9jYWxlHwEFCUZyYW7Dp2Fpcx8JaGRkAgMPZBYCAgEPDxYIHwcFBXB0LVBUHwgFDVNldFRlbXBMb2NhbGUfAQUKUG9ydHVndcOqcx8JaGRkAgQPZBYCAgEPDxYIHwcFBWNzLUNaHwgFDVNldFRlbXBMb2NhbGUfAQUJxIxlxaF0aW5hHwloZGQCBQ9kFgICAQ8PFggfBwUFc3YtU0UfCAUNU2V0VGVtcExvY2FsZR8BBQdTdmVuc2thHwloZGQCBg9kFgICAQ8PFggfBwUFZXMtRVMfCAUNU2V0VGVtcExvY2FsZR8BBQhFc3Bhw7FvbB8JaGRkAgcPZBYCAgEPDxYIHwcFBWl0LUlUHwgFDVNldFRlbXBMb2NhbGUfAQUISXRhbGlhbm8fCWhkZAIID2QWAgIBDw8WCB8HBQVubC1OTB8IBQ1TZXRUZW1wTG9jYWxlHwEFCk5lZGVybGFuZHMfCWhkZAIJD2QWAgIBDw8WCB8HBQVjYS1FUx8IBQ1TZXRUZW1wTG9jYWxlHwEFB0NhdGFsw6AfCWhkZAIKD2QWAgIBDw8WCB8HBQVwbC1QTB8IBQ1TZXRUZW1wTG9jYWxlHwEFBlBvbHNraR8JaGRkAgsPZBYCAgEPDxYIHwcFBWV0LUVFHwgFDVNldFRlbXBMb2NhbGUfAQUFRWVzdGkfCWhkZAIMD2QWAgIBDw8WCB8HBQVuYi1OTx8IBQ1TZXRUZW1wTG9jYWxlHwEFDk5vcnNrLCBCb2ttw6VsHwloZGQCDQ9kFgICAQ8PFggfBwUFa28tS1IfCAUNU2V0VGVtcExvY2FsZR8BBQntlZzqta3slrQfCWhkZAIOD2QWAgIBDw8WCB8HBQVodS1IVR8IBQ1TZXRUZW1wTG9jYWxlHwEFBk1hZ3lhch8JaGRkAg8PZBYCAgEPDxYIHwcFBXJvLVJPHwgFDVNldFRlbXBMb2NhbGUfAQUIUm9tw6JuxIMfCWhkZAIuD2QWAgIDDxYCHwNoZAIvDxYCHgVjbGFzcwUMc3Bhbi0yNCBsYXN0FgICAQ9kFi4CAQ9kFgJmD2QWAgIBDw8WAh8BBQdHQzFaWFgyZGQCAg8WAh8BBaYBPGEgaHJlZj0iL2Fib3V0L2NhY2hlX3R5cGVzLmFzcHgiIHRhcmdldD0iX2JsYW5rIiB0aXRsZT0iQWJvdXQgQ2FjaGUgVHlwZXMiPjxpbWcgc3JjPSIvaW1hZ2VzL1dwdFR5cGVzLzIuZ2lmIiBhbHQ9IlRyYWRpdGlvbmFsIENhY2hlIiB0aXRsZT0iVHJhZGl0aW9uYWwgQ2FjaGUiIC8+PC9hPmQCBg9kFgQCAQ8WAh8DZ2QCBg8WAh8DaGQCCw9kFgQCAQ8WAh8BBQI0MWQCBQ8PFgIfBQVEL3NlZWsvY2FjaGVfZmF2b3JpdGVkLmFzcHg/Z3VpZD0zNmQ0NTg3MS1iOTlkLTQ2ZDYtOTVmYy1mZjg2YWI1NjRjOThkZAINDw8WAh8DaGRkAg8PFgQfAQW+ATxwIGNsYXNzPSJPbGRXYXJuaW5nIE5vQm90dG9tU3BhY2luZyI+PHN0cm9uZz5DYWNoZSBJc3N1ZXM6PC9zdHJvbmc+PC9wPjx1bCBjbGFzcz0iT2xkV2FybmluZyI+PGxpPlRoaXMgY2FjaGUgaGFzIGJlZW4gYXJjaGl2ZWQsIGJ1dCBpcyBhdmFpbGFibGUgZm9yIHZpZXdpbmcgZm9yIGFyY2hpdmFsIHB1cnBvc2VzLjwvbGk+PC91bD4fA2dkAhAPFgIfA2hkAhEPFgIfA2hkAhIPZBYMAgMPFgIeBXN0eWxlBQ9kaXNwbGF5OmlubGluZTsWAgIBDxYCHwEFG1VUTTogMzJVIEUgNTQ4Mzg5IE4gNTgwMjc4N2QCDQ8PFgIfBQUzY2RwZi5hc3B4P2d1aWQ9MzZkNDU4NzEtYjk5ZC00NmQ2LTk1ZmMtZmY4NmFiNTY0Yzk4ZGQCDw8PFgIfBQU4Y2RwZi5hc3B4P2d1aWQ9MzZkNDU4NzEtYjk5ZC00NmQ2LTk1ZmMtZmY4NmFiNTY0Yzk4JmxjPTVkZAIRDw8WAh8FBTljZHBmLmFzcHg/Z3VpZD0zNmQ0NTg3MS1iOTlkLTQ2ZDYtOTVmYy1mZjg2YWI1NjRjOTgmbGM9MTBkZAITDw8WBB8FBYIBaHR0cDovL21hcHMuZ29vZ2xlLmNvbS9tYXBzP2Y9ZCZobD1lbiZzYWRkcj01Mi40MTYyLDkuNTk0MTE3IChIb21lIExvY2F0aW9uKSZkYWRkcj01Mi4zNzMyMTcsOS43MTA4KEhhbm5vcG9seSUzYStFaXNsaXNlbnN0cmFzc2UrKR4GVGFyZ2V0BQZfYmxhbmtkZAIbD2QWCAIBDw8WBB4JRm9yZUNvbG9yDB4EXyFTQgIEZGQCAw8PFgQfDQwfDgIEZGQCBQ8PFgIfA2cWAh4Hb25jbGljawU7czJncHMoJzM2ZDQ1ODcxLWI5OWQtNDZkNi05NWZjLWZmODZhYjU2NGM5OCcpO3JldHVybiBmYWxzZTtkAgcPDxYCHwNnFgIfDwUgczJwaG9uZSgnR0MxWlhYMicpO3JldHVybiBmYWxzZTtkAhQPFgIfA2cWAgIDDxYCHwEFD1Rlc3QgZsO8ciBjOmdlb2QCFw9kFghmDxYCHwNoZAIBDw8WAh8DaGRkAgIPDxYCHwNoZGQCAw8WAh8DaGQCGA9kFgICAw8PFgIfAQUTTm8gaGludHMgYXZhaWxhYmxlLhYCHw8FDXJldHVybiBmYWxzZTtkAhkPFgIfA2hkAhwPFgIfA2hkAh4PFgIfA2dkAh8PFgIfA2hkAiIPZBYCAgEPZBYEAgEPDxYCHwEF/wM8aWZyYW1lIHR5cGU9ImlmcmFtZSIgc3JjPSJodHRwOi8vYWRzLmdyb3VuZHNwZWFrLmNvbS9hLmFzcHg/Wm9uZUlEPTkmVGFzaz1HZXQmU2l0ZUlEPTEmWD0nZTNjNjg4MTJhOGYyNDhkNzk0MTMwZTUxNzMzOTA1ZjQnIiB3aWR0aD0iMTIwIiBoZWlnaHQ9IjI0MCIgTWFyZ2lud2lkdGg9IjAiIE1hcmdpbmhlaWdodD0iMCIgSHNwYWNlPSIwIiBWc3BhY2U9IjAiIEZyYW1lYm9yZGVyPSIwIiBTY3JvbGxpbmc9Im5vIiBzdHlsZT0id2lkdGg6MTIwcHg7SGVpZ2h0OjI0MHB4OyI+PGEgaHJlZj0iaHR0cDovL2Fkcy5ncm91bmRzcGVhay5jb20vYS5hc3B4P1pvbmVJRD05JlRhc2s9Q2xpY2smO01vZGU9SFRNTCZTaXRlSUQ9MSIgdGFyZ2V0PSJfYmxhbmsiPjxpbWcgc3JjPSJodHRwOi8vYWRzLmdyb3VuZHNwZWFrLmNvbS9hLmFzcHg/Wm9uZUlEPTkmVGFzaz1HZXQmTW9kZT1IVE1MJlNpdGVJRD0xIiB3aWR0aD0iMTIwIiBoZWlnaHQ9IjI0MCIg" />
+<input type="hidden" name="__VIEWSTATE1" id="__VIEWSTATE1" value="Ym9yZGVyPSIwIiBhbHQ9IiIgLz48L2E+PC9pZnJhbWU+ZGQCAw8WAh4JaW5uZXJodG1sBRNBZHZlcnRpc2luZyB3aXRoIFVzZAImD2QWBAIFDw8WAh8DZ2RkAgkPDxYCHwUFPH4vdHJhY2svc2VhcmNoLmFzcHg/d2lkPTM2ZDQ1ODcxLWI5OWQtNDZkNi05NWZjLWZmODZhYjU2NGM5OGRkAicPDxYCHwNnZBYCZg8WAh8GAgMWBgIBD2QWBGYPFQMAV2h0dHA6Ly93d3cuZ2VvY2FjaGluZy5jb20vYm9va21hcmtzL3ZpZXcuYXNweD9ndWlkPTQxY2Q1NmI2LTAwZjEtNDcwMi1iODY2LTFhMjY4YzY0OWQxMxVBbGxlIEhhbm5vcG9seSBDYWNoZXNkAgIPFQJMaHR0cDovL3d3dy5nZW9jYWNoaW5nLmNvbS9wcm9maWxlLz9ndWlkPWRmMjE4NGFiLWE5ZWEtNGQzMC05OGVkLWVjNGU4NTFjMzcwNgpHdW1taXNlZWxlZAICD2QWBGYPFQMOQWx0ZXJuYXRpbmdSb3dXaHR0cDovL3d3dy5nZW9jYWNoaW5nLmNvbS9ib29rbWFya3Mvdmlldy5hc3B4P2d1aWQ9MGRjZjNmODYtOTM3Mi00OTljLThiNTctZWQ0MTliZDQ4ZTIxEE1laW5lIEVtcGZlaGx1bmdkAgIPFQJMaHR0cDovL3d3dy5nZW9jYWNoaW5nLmNvbS9wcm9maWxlLz9ndWlkPWM0NjU0MWZjLTZhZTktNDQ1Mi04ODMzLTQ3MGRkZmJlOWNlZQZza3JlbGxkAgMPZBYEZg8VAwBXaHR0cDovL3d3dy5nZW9jYWNoaW5nLmNvbS9ib29rbWFya3Mvdmlldy5hc3B4P2d1aWQ9OWEyNDhkYjktMzA2My00NDU3LTkyMDUtODUxZmJlMDZhMDNlCUhhbm5vcG9seWQCAg8VAkxodHRwOi8vd3d3Lmdlb2NhY2hpbmcuY29tL3Byb2ZpbGUvP2d1aWQ9NWM0YjA5MTUtNWNlYy00ZmExLThhZmQtNGIzY2E2N2UwMDRlB2thaTI3MDdkAikPZBYWAgEPDxYCHwNoZGQCAw9kFgICAQ8PFgIfBQVFL2hpZGUvd3B0bGlzdC5hc3B4P1JlZldwdElEPTM2ZDQ1ODcxLWI5OWQtNDZkNi05NWZjLWZmODZhYjU2NGM5OCZEUz0xZGQCBw8PFgYeBlJEUy5JRAspdkdyb3VuZHNwZWFrLldlYi5HUFguV3B0RGF0YVNvdXJjZXMsIFR1Y3Nvbi5Db21tb24uTGVnYWN5LCBWZXJzaW9uPTMuMC40NzI4LjE2MTUyLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPW51bGwBHgdSV1BULklEKCsEBzE0MzM5MDkfA2hkZAIJDw8WAh8DZ2QWAgIBDw8WBB8FBSovbWFwL2RlZmF1bHQuYXNweD9sYXQ9NTIuMzczMjE3JmxuZz05LjcxMDgfA2dkZAIRDw8WAh8FBR4vc2Vlay9uZWFyZXN0LmFzcHg/dT1kYW5pZWwzNTRkZAIVDw8WAh8FBR8vc2Vlay9uZWFyZXN0LmFzcHg/dWw9ZGFuaWVsMzU0ZGQCGQ9kFgoCAw8PFgIfBQVVL3NlZWsvbmVhcmVzdC5hc3B4P3R4PTMyYmM5MzMzLTVlNTItNDk1Ny1iMGY2LTVhMmM4ZmM3YjI1NyZsYXQ9NTIuMzczMjE3JmxuZz05LjcxMDgwMGRkAgUPDxYCHwUFWS9zZWVrL25lYXJlc3QuYXNweD90eD0zMmJjOTMzMy01ZTUyLTQ5NTctYjBmNi01YTJjOGZjN2IyNTcmbGF0PTUyLjM3MzIxNyZsbmc9OS43MTA4MDAmZj0xZGQCCQ8PFgIfBQUtL3NlZWsvbmVhcmVzdC5hc3B4P2xhdD01Mi4zNzMyMTcmbG5nPTkuNzEwODAwZGQCCw8PFgIfBQUxL3NlZWsvbmVhcmVzdC5hc3B4P2xhdD01Mi4zNzMyMTcmbG5nPTkuNzEwODAwJmY9MWRkAg8PDxYCHwUFR2h0dHA6Ly93d3cud2F5bWFya2luZy5jb20vZGlyZWN0b3J5LmFzcHg/Zj0xJmxhdD01Mi4zNzMyMTcmbG9uPTkuNzEwODAwZGQCGw8WAh8DaGQCHw8PFgIfBQUlL3Jldmlld3MvaG90ZWxzLWNvb3Jkcy01Mi4zNzMyLDkuNzEwOGRkAiMPZBYCAgEPDxYEHwEFtAc8bGk+PGEgaHJlZj0iaHR0cDovL3d3dy5nZW9jYWNoaW5nLmNvbS9tYXAvZGVmYXVsdC5hc3B4P2xhdD01Mi4zNzMyMiZsbmc9OS43MTA4IiB0YXJnZXQ9Il9ibGFuayI+R2VvY2FjaGluZy5jb20gTWFwPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9tYXBzLmdvb2dsZS5jb20vbWFwcz9xPU4rNTIlYzIlYjArMjIuMzkzK0UrMDA5JWMyJWIwKzQyLjY0OCsoR0MxWlhYMikrIiB0YXJnZXQ9Il9ibGFuayI+R29vZ2xlIE1hcHM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy5tYXBxdWVzdC5jb20vbWFwcy9tYXAuYWRwP3NlYXJjaHR5cGU9YWRkcmVzcyZmb3JtdHlwZT1sYXRsb25nJmxhdGxvbmd0eXBlPWRlY2ltYWwmbGF0aXR1ZGU9NTIuMzczMjImbG9uZ2l0dWRlPTkuNzEwOCZ6b29tPTEwIiB0YXJnZXQ9Il9ibGFuayI+TWFwUXVlc3Q8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL21hcHMueWFob28uY29tLyNsYXQ9NTIuMzczMjImbG9uPTkuNzEwOCZ6b29tPTE2JnE9NTIuMzczMjIsOS43MTA4JmNvbmY9MSZzdGFydD0xJm12dD1tJnRyZj0wIiB0YXJnZXQ9Il9ibGFuayI+WWFob28gTWFwczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LmJpbmcuY29tL21hcHMvZGVmYXVsdC5hc3B4P3Y9MiZsdmw9MTQmc3A9cG9pbnQuNTIuMzczMjJfOS43MTA4X0dDMVpYWDIiIHRhcmdldD0iX2JsYW5rIj5CaW5nIE1hcHM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy5vcGVuY3ljbGVtYXAub3JnLz96b29tPTEyJmxhdD01Mi4zNzMyMiZsb249OS43MTA4IiB0YXJnZXQ9Il9ibGFuayI+T3BlbiBDeWNsZSBNYXBzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cub3BlbnN0cmVldG1hcC5vcmcvP21sYXQ9NTIuMzczMjImbWxvbj05LjcxMDgmem9vbT0xMiIgdGFyZ2V0PSJfYmxhbmsiPk9wZW4gU3RyZWV0IE1hcHM8L2E+PC9saT4fA2dkZAInD2QWBgIBDxYCHwEFETQwMCBMb2dnZWQgVmlzaXRzZAIHDw8WAh8FBUN+L3NlZWsvY2FjaGVfbG9nYm9vay5hc3B4P2d1aWQ9MzZkNDU4NzEtYjk5ZC00NmQ2LTk1ZmMtZmY4NmFiNTY0Yzk4ZGQCCQ8PFgQfBQU9fi9zZWVrL2dhbGxlcnkuYXNweD9ndWlkPTM2ZDQ1ODcxLWI5OWQtNDZkNi05NWZjLWZmODZhYjU2NGM5OB8BBSJWaWV3IHRoZSBJbWFnZSBHYWxsZXJ5IG9mIDIgaW1hZ2VzZGQCKg8WAh8BBQR0cnVlZAIrDxYCHwEFSWxhdD01Mi4zNzMyMTc7IGxuZz05LjcxMDg7IGd1aWQ9JzM2ZDQ1ODcxLWI5OWQtNDZkNi05NWZjLWZmODZhYjU2NGM5OCc7DQpkAiwPFgIfAQVxdHJ5IHsgX2dhcS5wdXNoKFsnX3RyYWNrRXZlbnQnLCAnR2VvY2FjaGluZycsICdDYWNoZURldGFpbHNNZW1iZXJUeXBlJywgJ1ByZW1pdW0nLCBudWxsLCB0cnVlXSk7IH0gY2F0Y2goZXJyKSB7IH1kAjAPFgIfA2hkAjEPZBYEAgMPFgIfAQUHRW5nbGlzaGQCBQ8WAh8GAhAWIGYPZBYCAgEPDxYIHwcFBWVuLVVTHwgFDVNldFRlbXBMb2NhbGUfAQUHRW5nbGlzaB8JaGRkAgEPZBYCAgEPDxYIHwcFBWRlLURFHwgFDVNldFRlbXBMb2NhbGUfAQUHRGV1dHNjaB8JaGRkAgIPZBYCAgEPDxYIHwcFBWZyLUZSHwgFDVNldFRlbXBMb2NhbGUfAQUJRnJhbsOnYWlzHwloZGQCAw9kFgICAQ8PFggfBwUFcHQtUFQfCAUNU2V0VGVtcExvY2FsZR8BBQpQb3J0dWd1w6pzHwloZGQCBA9kFgICAQ8PFggfBwUFY3MtQ1ofCAUNU2V0VGVtcExvY2FsZR8BBQnEjGXFoXRpbmEfCWhkZAIFD2QWAgIBDw8WCB8HBQVzdi1TRR8IBQ1TZXRUZW1wTG9jYWxlHwEFB1N2ZW5za2EfCWhkZAIGD2QWAgIBDw8WCB8HBQVlcy1FUx8IBQ1TZXRUZW1wTG9jYWxlHwEFCEVzcGHDsW9sHwloZGQCBw9kFgICAQ8PFggfBwUFaXQtSVQfCAUNU2V0VGVtcExvY2FsZR8BBQhJdGFsaWFubx8JaGRkAggPZBYCAgEPDxYIHwcFBW5sLU5MHwgFDVNldFRlbXBMb2NhbGUfAQUKTmVkZXJsYW5kcx8JaGRkAgkPZBYCAgEPDxYIHwcFBWNhLUVTHwgFDVNldFRlbXBMb2NhbGUfAQUHQ2F0YWzDoB8JaGRkAgoPZBYCAgEPDxYIHwcFBXBsLVBMHwgFDVNldFRlbXBMb2NhbGUfAQUGUG9sc2tpHwloZGQCCw9kFgICAQ8PFggfBwUFZXQtRUUfCAUNU2V0VGVtcExvY2FsZR8BBQVFZXN0aR8JaGRkAgwPZBYCAgEPDxYIHwcFBW5iLU5PHwgF" />
+<input type="hidden" name="__VIEWSTATE2" id="__VIEWSTATE2" value="DVNldFRlbXBMb2NhbGUfAQUOTm9yc2ssIEJva23DpWwfCWhkZAIND2QWAgIBDw8WCB8HBQVrby1LUh8IBQ1TZXRUZW1wTG9jYWxlHwEFCe2VnOq1reyWtB8JaGRkAg4PZBYCAgEPDxYIHwcFBWh1LUhVHwgFDVNldFRlbXBMb2NhbGUfAQUGTWFneWFyHwloZGQCDw9kFgICAQ8PFggfBwUFcm8tUk8fCAUNU2V0VGVtcExvY2FsZR8BBQhSb23Dom7Egx8JaGRkAgMPFgIfAQUrU2VydmVyOiBXRUIxMzsgQnVpbGQ6IFdlYi5Ib3RGaXhfMjAxMjEyMTEuMWRkGvEXY+k5iJfIFWyn2NnRG+pbJow=" />
</div>
<script type="text/javascript">
@@ -265,13 +267,13 @@ function __doPostBack(eventTarget, eventArgument) { </script>
-<script src="/WebResource.axd?d=Dh2VENdI9XyWNN0f7DnYfR8WWRCRIzdVqal2y0yjiQ5nC_eHhLchYgnQDHIk0d3RCcSUMVZ36ciRD0qmhXKmeu3S_RE1&t=634320874095713794" type="text/javascript"></script>
+<script src="/WebResource.axd?d=Dh2VENdI9XyWNN0f7DnYfR8WWRCRIzdVqal2y0yjiQ5nC_eHhLchYgnQDHIk0d3RCcSUMVZ36ciRD0qmhXKmeu3S_RE1&t=634811478295920770" type="text/javascript"></script>
-<script src="/ScriptResource.axd?d=I9_m2Hb1Tv_B0qTMDG8bMbnkNSHUkv5oUaG9-V5NZ8qQ2VFlu60I8y8gfr3vPmZjbiPnu43MOQdFVDeYF-nDAEKBLmyxD3DCTGmes9NNbbvaDEHyEuuRWgccIkK3ik5TI48YGDxjHjqdn-gTK4Fkgd17LGw1&t=2610f696" type="text/javascript"></script>
-<script src="/ScriptResource.axd?d=8vNbe34dAujgZMPnfnacfjeoweX1vHgyns8KlAV4vpGpsZC9Cf3pro__lv8ekBa0NiCgXGMMolzOUNH__lrnEI_qjlNBIAuuLeemtAXV_i6E0QIMZa8nGSYmWGF5nQOJK3rmZzvTxsr2Mh4Ebdba_1ywGLUSH_U_XIe-jzecfRQwwvjZ0&t=2610f696" type="text/javascript"></script>
-<script src="/ScriptResource.axd?d=xn_XthUDTB7olgcUtLPfBc6T8T6KQJeWQqX-S5SXQszTnUMfMoY-_5LGD_TTtk-ziPIcDt2u4ItIrMD8KSt1gxC4geqllJ30o1Wha1PY6q9Bu3kg0D9DC5M-XAaM-2yLG-E2ZJbNKvASegbH_2zGkDlJRJl9DxQFNJ0KuhdfR8Zre1hg4i3ncHbDUESrAb2Vzr2b9FqYpbFfGpAis__FnVeUutU1" type="text/javascript"></script>
-<script src="/ScriptResource.axd?d=5CyDhZ1QrMZSVcCqxKlXl3yO1U7ML8hppu9nneB8d06m0ASEsmoWvx8yKVZxdQgA6Uo4BZLAdyt7SUoqd9jZFjVos_CF_mGR4G3Vtsbub3PzOc5-yRg5gRLwSoDbah4m09wBVM5_FhjR68q6UT-yfhoG47eb2gPVrNdEdcHlcN0Xe7_BEJvnAvNgAXuVnpnmU3tN5c1Er5rvLNMh7i34YE2E4sPCUD9Ymg8ddmvCFrZMS7ISxiJyRxd_fs-4EPZ9G3SeBu8bcZ-PWCec7GCjObIbCPX5wPdL8s227n_qIOldojTRHFwCHOYTIOiBIneKedRKFqL10yu1HnvXprBGzr7bc17tnQQRYC-AtjxcPiQA6bdUp5qT-RMnXFIOeUBC5qDcx-nLVDRluEoGUo6_BcPatJleyDBr-Huz1EcedROE0pdAIGGY_JsTOni7hgsv3UaV8rhgvWDyyiqQ_QlQl1ScW3eV6CCKLxmU7_cnPlPI65v7_rAaVytJdSInQa9MemNiPirJGMaeTxcBcDVz3pWhNt2iuRrSuMjUMx1-TNPtnWZefOnrOKJX_Kg1CCdsQPZLcWgi3UXmjXd5kZ9XcHS92KR7GguI2SaRtb0_fx_Dd84Z6U852-sYEbr4wAyIoyqEuIw69TeTBbs1m6YwuUQeqNV3t0m8U95phK7TB5-P_c4N1JDsYMnb_dqb5b69_Rw1c-GM7xQB6MBu2jZ61mL9ZD9XiP5kdzqXHxoWZHWYG1ZG0" type="text/javascript"></script>
+<script src="/ScriptResource.axd?d=I9_m2Hb1Tv_B0qTMDG8bMbnkNSHUkv5oUaG9-V5NZ8qQ2VFlu60I8y8gfr3vPmZjbiPnu43MOQdFVDeYF-nDAEKBLmyxD3DCTGmes9NNbbvaDEHyEuuRWgccIkK3ik5TI48YGDxjHjqdn-gTK4Fkgd17LGw1&t=ffffffff940d030f" type="text/javascript"></script>
+<script src="/ScriptResource.axd?d=8vNbe34dAujgZMPnfnacfjeoweX1vHgyns8KlAV4vpGpsZC9Cf3pro__lv8ekBa0NiCgXGMMolzOUNH__lrnEI_qjlNBIAuuLeemtAXV_i6E0QIMZa8nGSYmWGF5nQOJK3rmZzvTxsr2Mh4Ebdba_1ywGLUSH_U_XIe-jzecfRQwwvjZ0&t=ffffffff940d030f" type="text/javascript"></script>
+<script src="/ScriptResource.axd?d=dR_fP-aTT-wJ0h4Kl4BIDCBBDS-bsINyUUisfmt6XGhnkXEezB-GAbsBSOjJBs1PwGfeyGYXrsKI5rjvB656mhG30LHrKxvfU-2NYKCxpxLK0hYG6ooF1pG6oP8oLMWhVpQbIt_fjHjdLjWOPzpGJX_L3fbMlwJFqwL6A35_t9C7Di9McDsCNk6mmIsVaQLzPAUiwge5EtjIHV5WOKnwkv9lVWc1" type="text/javascript"></script>
+<script src="/ScriptResource.axd?d=ZLUp71IFurmo9PJWgt4KAyNwGuWylI6HaHusH9-0d05t7twYSBEKMKX5_7TMGQzUCY_cVE4E_mIBGBVWK2hhG209IpahhwLh8LiuTU30A-9gRQTiOrfU5Z2Dj991D4w0ZC35T2e0uH60Acn9z2PmsDsj43jy9GAkjAnqhXbU3TqMChAch7_0XPqAV7ynsautHOiDQ4aCQugVDrwCSIZ8coHOoGbkoQNR9n7LtpFbsAojS0iyOe9gm3sTA5tarc1ThNXlQ0H7hGm_jFX-cLw_kDrNHGqjjd14dpdBa9qm8m6XD9LApMcyqBho13lWg4A4gPB_mF_W09lnFEcRsLPg3nBh2XH0oUGLYLNpE_g9-3Jo-K7zrRXfRx4pUe3fT0NEn4mLIRkSMjcrbmCcS47HnmsR0Nelw4--RjJPoVlU24Z3Mnlv-INjeG9JqMPZmHLO2gjR-ZT0sE3rlx61xDQNUBHv8YqyIK68DLjFhwXvnyfUEcbhJloV3faPxk6n7lw8EyuQG7lyq6yxhZdyUWuFdVDQMzgIVWUOigzr2XWFncCg6SYMHUiosTIiKvTI7V-lrNWYjl2UvtMN62HS0Yp4SGgARywHU9yYcVi2Ss0xjMWuwvbLURhgqKeuHoF4b-VkWMSYzkw9DM3-Q2cEUdMNJuo1e2fJ_3EIRd84Ib4niw-BZlkZjLXt5asRBWS5Rsx4gFIvbI7RhdU3z9HQgj1nslM5MmawfRSjQGsJ1EZDFmmWOxlR0" type="text/javascript"></script>
<script src="js/cachedetails.js" type="text/javascript"></script>
<script src="../js/latlng.js" type="text/javascript"></script>
<script type="text/javascript">
@@ -325,7 +327,7 @@ Sys.WebForms.PageRequestManager._initialize('ctl00$uxMainScriptManager', 'aspnet <span id="ctl00_litPMLevel">Premium Member</span>
<strong style="display:block">
- <img src="/images/icons/icon_smile.png" title="Caches Found" /> 692 <img src="/images/challenges/types/sm/challenge.png" title="Challenges Completed" /> 3</strong>
+ 725 Caches Found</strong>
</p>
@@ -334,122 +336,196 @@ Sys.WebForms.PageRequestManager._initialize('ctl00$uxMainScriptManager', 'aspnet </div>
- <nav id="Navigation" class="span-24 last">
-
- <ul class="Menu">
- <li>
- <a id="ctl00_hlNavLearn" accesskey="1" title="Learn" href="../guide/">Learn ▼</a>
- <ul class="SubMenu">
- <li>
- <a id="ctl00_hlSubNavGeocaching101" accesskey="i" title="Geocaching 101" href="../guide/">Geocaching 101</a></li>
- <li>
- <a id="ctl00_hlSubNavGeocaching2Minutes" title="Geocaching in 2 Minutes" href="../videos/#cat=cat:newbies&vid=-4VFeYZTTYs">Geocaching in 2 Minutes</a></li>
- </ul>
- </li>
+ <div class="NavContainer span-24 last">
+ <nav id="Navigation">
- <li id="ctl00_liNavProfile">
- <a id="ctl00_hlNavProfile" accesskey="2" title="Your Profile" href="../my/">Your Profile ▼</a>
- <ul class="SubMenu">
- <li>
- <a id="ctl00_hlSubNavQuickView" accesskey="p" title="Quick View" href="../my/">Quick View</a></li>
- <li>
- <a id="ctl00_hlSubNavLists" accesskey="q" title="Lists" href="../my/lists.aspx">Lists</a></li>
- <li class="ExtraText">
- <a id="ctl00_hlSubNavGeocaches" accesskey="m" title="Geocaches" class="NoRightPadding" href="../my/geocaches.aspx">Geocaches</a>
- (<a id="ctl00_hlSubNavGeocachesYours" accesskey="y" title="Yours" class="NoSidePadding" href="../my/owned.aspx">Yours</a>)</li>
- <li class="ExtraText">
- <a id="ctl00_hlSubNavProfileTrackables" title="Trackables" class="NoRightPadding" href="../my/travelbugs.aspx">Trackables</a>
- (<a id="ctl00_hlSubNavTrackablesYours" accesskey="8" title="Yours" class="NoSidePadding" href="../track/search.aspx?o=1&uid=0564a940-8311-40ee-8e76-7e91b2cf6284">Yours</a>)</li>
- <li>
- <a id="ctl00_hlSubNavPocketQueries" accesskey="9" title="Pocket Queries" href="../pocket/">Pocket Queries</a></li>
- <li>
- <a id="ctl00_hlSubNavFieldNotes" accesskey="0" title="Field Notes" href="../my/fieldnotes.aspx">Field Notes</a></li>
- <li>
- <a id="ctl00_hlSubNavProfileChallenges" title="Challenges" href="../my/challenges.aspx">Challenges</a></li>
- <li>
- <a id="ctl00_hlSubNavAccount" accesskey="a" title="Account Details" href="../account/">Account Details</a></li>
- </ul>
- </li>
- <li>
- <a id="ctl00_hlNavPlay" accesskey="3" title="Play" href="./">Play ▼</a>
- <ul class="SubMenu">
- <li>
- <a id="ctl00_hlSubNavHide" accesskey="d" title="Hide & Seek a Cache" href="./">Hide & Seek a Cache</a></li>
- <li>
- <a id="ctl00_hlSubNavLogCache" title="Log a Cache" href="../my/recentlyviewedcaches.aspx">Log a Cache</a></li>
- <li><a id="ctl00_hlSubNavMap" accesskey="/" title="View Geocache Map" href="../map/">View Geocache Map</a></li>
- <li>
- <a id="ctl00_hlSubNavChallenges" title="Find Challenges" href="../challenges/">Find Challenges</a></li>
- <li>
- <a id="ctl00_hlSubNavTrackables" accesskey="e" title="Find Trackables" href="../track/">Find Trackables</a></li>
- <li>
- <a id="ctl00_hlSubNavHelpCenter" title="Help Center" rel="external" href="http://support.groundspeak.com/index.php">Help Center</a></li>
- </ul>
- </li>
- <li>
- <a id="ctl00_hlNavCommunity" accesskey="6" title="Community" href="../forums/">Community ▼</a>
- <ul class="SubMenu">
-
- <li>
- <a id="ctl00_hlSubNavTellaFriend" accesskey="-" title="Tell a Friend" href="../account/SendReferral.aspx">Tell a Friend</a></li>
-
- <li><a id="ctl00_hlSubNavVolunteers" accesskey="+" title="Volunteers" href="../volunteers/">Volunteers</a></li>
- <li>
- <a id="ctl00_hlSubNavLocal" accesskey="z" title="Local Organizations" href="../organizations/">Local Organizations</a></li>
- <li>
- <a id="ctl00_hlSubNavDiscussionForums" accesskey="f" title="Discussion Forums" href="../forums/">Discussion Forums</a></li>
- <li>
- <a id="ctl00_hlSubNavBlog" accesskey="b" title="Blog" rel="external" href="http://blog.geocaching.com/">Blog</a></li>
- <li>
- <a id="ctl00_hlSubNavEvents" accesskey="v" title="Events" href="../calendar/">Events</a></li>
- </ul>
- </li>
- <li>
- <a id="ctl00_hlNavShop" accesskey="4" title="Shop" href="http://shop.geocaching.com/">Shop ▼</a>
- <ul class="SubMenu">
- <li>
- <a id="ctl00_hlSubNavShop" accesskey="j" title="Shop Geocaching" rel="external" href="http://shop.geocaching.com/">Shop Geocaching</a></li>
- <li>
- <a id="ctl00_hlSubNavIntlRetailers" title="International Retailers" rel="external" href="http://shop.geocaching.com/default/international-retailers/">International Retailers</a></li>
- <li>
- <a id="ctl00_hlSubNavGPSReviews" accesskey="w" title="GPS Reviews" href="/reviews/gps">GPS Reviews</a></li>
- <li>
- <a id="ctl00_hlSubNavGPSGuide" accesskey="k" title="Guide to Buying a GPS Device" href="../about/buying.aspx">Guide to Buying a GPS Device</a></li>
- </ul>
- </li>
- <li>
- <a id="ctl00_hlNavPartnering" accesskey="5" title="Partnering" href="../travel/">Partnering ▼</a>
- <ul class="SubMenu">
- <li>
- <a id="ctl00_hlSubNavTravel" title="Travel and GeoTourism" href="../travel/">Travel and GeoTourism</a></li>
- <li>
- <a id="ctl00_hlSubNavBrandedPromotions" title="Branded Promotions" href="../brandedpromotions/">Branded Promotions</a></li>
- <li>
- <a id="ctl00_hlSubNavEducation" title="Geocaching and Education" href="../education/">Geocaching and Education</a></li>
- <li>
- <a id="ctl00_hlSubNavAdvertisingWithUs" title="Advertising with Us" href="../about/advertising.aspx">Advertising with Us</a></li>
- <li>
- <a id="ctl00_hlSubNavAPIProgram" title="API Program" href="../live/apidevelopers/">API Program</a></li>
- </ul>
- </li>
- <li>
- <a id="ctl00_hlNavVideos" accesskey="7" title="Videos" href="../videos/">Videos</a></li>
- <li>
- <a id="ctl00_hlNavFollowUs" title="Follow Us" href="http://www.facebook.com/pages/Geocachingcom/45625464679?ref=ts">Follow Us ▼</a>
- <ul class="SubMenu NavSocialMedia">
- <li>
- <a id="ctl00_hlSubNavFacebook" title="Facebook" class="SubNavFacebook" href="http://www.facebook.com/pages/Geocachingcom/45625464679?ref=ts">Facebook</a></li>
- <li>
- <a id="ctl00_hlSubNavTwitter" title="Twitter" class="SubNavTwitter" href="http://twitter.com/GoGeocaching">Twitter</a></li>
- <li>
- <a id="ctl00_hlSubNavFlickr" title="Flickr" class="SubNavFlickr" href="http://www.flickr.com/photos/geocaching_com/">Flickr</a></li>
- <li>
- <a id="ctl00_hlSubNavYouTube" title="YouTube" class="SubNavYouTube" href="http://www.youtube.com/user/GoGeocaching">YouTube</a></li>
- </ul>
- </li>
- </ul>
-
- </nav>
+ <ul class="Menu">
+ <li>
+ <a id="ctl00_hlNavLearn" accesskey="1" title="Learn" href="../guide/">Learn ▼</a>
+ <ul class="SubMenu">
+ <li>
+ <a id="ctl00_hlSubNavGeocaching101" accesskey="i" title="Geocaching 101" href="../guide/">Geocaching 101</a></li>
+ <li>
+ <a id="ctl00_hlSubNavGeocaching2Minutes" title="Geocaching in 2 Minutes" href="../videos/#cat=cat:newbies&vid=-4VFeYZTTYs">Geocaching in 2 Minutes</a></li>
+ </ul>
+ </li>
+
+ <li id="ctl00_liNavProfile">
+ <a id="ctl00_hlNavProfile" accesskey="2" title="Your Profile" href="../my/">Your Profile ▼</a>
+ <ul class="SubMenu">
+ <li>
+ <a id="ctl00_hlSubNavQuickView" accesskey="p" title="Quick View" href="../my/">Quick View</a></li>
+ <li>
+ <a id="ctl00_hlSubNavLists" accesskey="q" title="Lists" href="../my/lists.aspx">Lists</a></li>
+ <li class="ExtraText">
+ <a id="ctl00_hlSubNavGeocaches" accesskey="m" title="Geocaches" class="NoRightPadding" href="../my/geocaches.aspx">Geocaches</a>
+ (<a id="ctl00_hlSubNavGeocachesYours" accesskey="y" title="Yours" class="NoSidePadding" href="../my/owned.aspx">Yours</a>)</li>
+ <li class="ExtraText">
+ <a id="ctl00_hlSubNavProfileTrackables" title="Trackables" class="NoRightPadding" href="../my/travelbugs.aspx">Trackables</a>
+ (<a id="ctl00_hlSubNavTrackablesYours" accesskey="8" title="Yours" class="NoSidePadding" href="../track/search.aspx?o=1&uid=0564a940-8311-40ee-8e76-7e91b2cf6284">Yours</a>)</li>
+ <li>
+ <a id="ctl00_hlSubNavPocketQueries" accesskey="9" title="Pocket Queries" href="../pocket/">Pocket Queries</a></li>
+ <li>
+ <a id="ctl00_hlSubNavFieldNotes" accesskey="0" title="Field Notes" href="../my/fieldnotes.aspx">Field Notes</a></li>
+ <li>
+ <a id="ctl00_hlSubNavAccount" accesskey="a" title="Account Details" href="../account/">Account Details</a></li>
+ </ul>
+ </li>
+ <li>
+ <a id="ctl00_hlNavPlay" accesskey="3" title="Play" href="./">Play ▼</a>
+ <ul class="SubMenu">
+ <li>
+ <a id="ctl00_hlSubNavHide" accesskey="d" title="Hide & Seek a Cache" href="./">Hide & Seek a Cache</a></li>
+ <li>
+ <a id="ctl00_hlSubNavLogCache" title="Log a Cache" href="../my/recentlyviewedcaches.aspx">Log a Cache</a></li>
+ <li><a id="ctl00_hlSubNavMap" accesskey="/" title="View Geocache Map" href="../map/">View Geocache Map</a></li>
+ <li>
+ <a id="ctl00_hlSubNavTrackables" accesskey="e" title="Find Trackables" href="../track/">Find Trackables</a></li>
+ <li>
+ <a id="ctl00_hlSubNavHelpCenter" title="Help Center" rel="external" href="http://support.groundspeak.com/index.php">Help Center</a></li>
+ </ul>
+ </li>
+ <li>
+ <a id="ctl00_hlNavCommunity" accesskey="6" title="Community" href="../forums/">Community ▼</a>
+ <ul class="SubMenu">
+
+ <li>
+ <a id="ctl00_hlSubNavTellaFriend" accesskey="-" title="Tell a Friend" href="../account/SendReferral.aspx">Tell a Friend</a></li>
+
+ <li><a id="ctl00_hlSubNavVolunteers" accesskey="+" title="Volunteers" href="../volunteers/">Volunteers</a></li>
+ <li>
+ <a id="ctl00_hlSubNavLocal" accesskey="z" title="Local Organizations" href="../organizations/">Local Organizations</a></li>
+ <li>
+ <a id="ctl00_hlSubNavDiscussionForums" accesskey="f" title="Discussion Forums" href="../forums/">Discussion Forums</a></li>
+ <li>
+ <a id="ctl00_hlSubNavBlog" accesskey="b" title="Blog" rel="external" href="http://blog.geocaching.com/">Blog</a></li>
+ <li>
+ <a id="ctl00_hlSubNavEvents" accesskey="v" title="Events" href="../calendar/">Events</a></li>
+ </ul>
+ </li>
+ <li>
+ <a id="ctl00_hlNavShop" accesskey="4" title="Shop" href="http://shop.geocaching.com/">Shop ▼</a>
+ <ul class="SubMenu">
+ <li>
+ <a id="ctl00_hlSubNavShop" accesskey="j" title="Shop Geocaching" rel="external" href="http://shop.geocaching.com/">Shop Geocaching</a></li>
+ <li>
+ <a id="ctl00_hlSubNavIntlRetailers" title="International Retailers" rel="external" href="http://shop.geocaching.com/default/international-retailers/">International Retailers</a></li>
+ <li>
+ <a id="ctl00_hlSubNavGPSReviews" accesskey="w" title="GPS Reviews" href="/reviews/gps">GPS Reviews</a></li>
+ <li>
+ <a id="ctl00_hlSubNavGPSGuide" accesskey="k" title="Guide to Buying a GPS Device" href="../about/buying.aspx">Guide to Buying a GPS Device</a></li>
+ </ul>
+ </li>
+ <li>
+ <a id="ctl00_hlNavPartnering" accesskey="5" title="Partnering" href="../travel/">Partnering ▼</a>
+ <ul class="SubMenu">
+ <li>
+ <a id="ctl00_hlSubNavTravel" title="Travel and GeoTourism" href="../travel/">Travel and GeoTourism</a></li>
+ <li>
+ <a id="ctl00_hlSubNavBrandedPromotions" title="Branded Promotions" href="../brandedpromotions/">Branded Promotions</a></li>
+ <li>
+ <a id="ctl00_hlSubNavEducation" title="Geocaching and Education" href="../education/">Geocaching and Education</a></li>
+ <li>
+ <a id="ctl00_hlSubNavAdvertisingWithUs" title="Advertising with Us" href="../about/advertising.aspx">Advertising with Us</a></li>
+ <li>
+ <a id="ctl00_hlSubNavAPIProgram" title="API Program" href="../live/apidevelopers/">API Program</a></li>
+ </ul>
+ </li>
+ <li>
+ <a id="ctl00_hlNavVideos" accesskey="7" title="Videos" href="../videos/">Videos</a></li>
+ <li>
+ <a id="ctl00_hlNavFollowUs" title="Follow Us" href="http://www.facebook.com/pages/Geocachingcom/45625464679?ref=ts">Follow Us ▼</a>
+ <ul class="SubMenu NavSocialMedia">
+ <li>
+ <a id="ctl00_hlSubNavFacebook" title="Facebook" class="SubNavFacebook" href="http://www.facebook.com/pages/Geocachingcom/45625464679?ref=ts">Facebook</a></li>
+ <li>
+ <a id="ctl00_hlSubNavTwitter" title="Twitter" class="SubNavTwitter" href="http://twitter.com/GoGeocaching">Twitter</a></li>
+ <li>
+ <a id="ctl00_hlSubNavFlickr" title="Flickr" class="SubNavFlickr" href="http://www.flickr.com/photos/geocaching_com/">Flickr</a></li>
+ <li>
+ <a id="ctl00_hlSubNavYouTube" title="YouTube" class="SubNavYouTube" href="http://www.youtube.com/user/GoGeocaching">YouTube</a></li>
+ </ul>
+ </li>
+ </ul>
+
+ </nav>
+ <div class="LanguageSelector">
+
+
+<div class="LocaleText">
+
+ <strong>Choose Your Language:</strong>
+
+</div>
+<div class="LocaleList">
+
+ <div class="selected-language">
+
+ <a href="#">English▼</a>
+
+ </div>
+ <ul class="language-list">
+
+ <li><a id="ctl00_uxLocaleListTop_uxLocaleList_ctl00_uxLocaleItem" href="javascript:__doPostBack('ctl00$uxLocaleListTop$uxLocaleList$ctl00$uxLocaleItem','')">English</a></li>
+
+ <li><a id="ctl00_uxLocaleListTop_uxLocaleList_ctl01_uxLocaleItem" href="javascript:__doPostBack('ctl00$uxLocaleListTop$uxLocaleList$ctl01$uxLocaleItem','')">Deutsch</a></li>
+
+ <li><a id="ctl00_uxLocaleListTop_uxLocaleList_ctl02_uxLocaleItem" href="javascript:__doPostBack('ctl00$uxLocaleListTop$uxLocaleList$ctl02$uxLocaleItem','')">Français</a></li>
+
+ <li><a id="ctl00_uxLocaleListTop_uxLocaleList_ctl03_uxLocaleItem" href="javascript:__doPostBack('ctl00$uxLocaleListTop$uxLocaleList$ctl03$uxLocaleItem','')">Português</a></li>
+
+ <li><a id="ctl00_uxLocaleListTop_uxLocaleList_ctl04_uxLocaleItem" href="javascript:__doPostBack('ctl00$uxLocaleListTop$uxLocaleList$ctl04$uxLocaleItem','')">Čeština</a></li>
+
+ <li><a id="ctl00_uxLocaleListTop_uxLocaleList_ctl05_uxLocaleItem" href="javascript:__doPostBack('ctl00$uxLocaleListTop$uxLocaleList$ctl05$uxLocaleItem','')">Svenska</a></li>
+
+ <li><a id="ctl00_uxLocaleListTop_uxLocaleList_ctl06_uxLocaleItem" href="javascript:__doPostBack('ctl00$uxLocaleListTop$uxLocaleList$ctl06$uxLocaleItem','')">Español</a></li>
+
+ <li><a id="ctl00_uxLocaleListTop_uxLocaleList_ctl07_uxLocaleItem" href="javascript:__doPostBack('ctl00$uxLocaleListTop$uxLocaleList$ctl07$uxLocaleItem','')">Italiano</a></li>
+
+ <li><a id="ctl00_uxLocaleListTop_uxLocaleList_ctl08_uxLocaleItem" href="javascript:__doPostBack('ctl00$uxLocaleListTop$uxLocaleList$ctl08$uxLocaleItem','')">Nederlands</a></li>
+
+ <li><a id="ctl00_uxLocaleListTop_uxLocaleList_ctl09_uxLocaleItem" href="javascript:__doPostBack('ctl00$uxLocaleListTop$uxLocaleList$ctl09$uxLocaleItem','')">Català</a></li>
+
+ <li><a id="ctl00_uxLocaleListTop_uxLocaleList_ctl10_uxLocaleItem" href="javascript:__doPostBack('ctl00$uxLocaleListTop$uxLocaleList$ctl10$uxLocaleItem','')">Polski</a></li>
+
+ <li><a id="ctl00_uxLocaleListTop_uxLocaleList_ctl11_uxLocaleItem" href="javascript:__doPostBack('ctl00$uxLocaleListTop$uxLocaleList$ctl11$uxLocaleItem','')">Eesti</a></li>
+
+ <li><a id="ctl00_uxLocaleListTop_uxLocaleList_ctl12_uxLocaleItem" href="javascript:__doPostBack('ctl00$uxLocaleListTop$uxLocaleList$ctl12$uxLocaleItem','')">Norsk, Bokmål</a></li>
+
+ <li><a id="ctl00_uxLocaleListTop_uxLocaleList_ctl13_uxLocaleItem" href="javascript:__doPostBack('ctl00$uxLocaleListTop$uxLocaleList$ctl13$uxLocaleItem','')">한국어</a></li>
+
+ <li><a id="ctl00_uxLocaleListTop_uxLocaleList_ctl14_uxLocaleItem" href="javascript:__doPostBack('ctl00$uxLocaleListTop$uxLocaleList$ctl14$uxLocaleItem','')">Magyar</a></li>
+
+ <li><a id="ctl00_uxLocaleListTop_uxLocaleList_ctl15_uxLocaleItem" href="javascript:__doPostBack('ctl00$uxLocaleListTop$uxLocaleList$ctl15$uxLocaleItem','')">Română</a></li>
+
+ </ul>
+
+</div>
+<script type="text/javascript">
+
+ jQuery(document).ready(function () {
+ jQuery(".selected-language a").click(function (e) {
+ e.preventDefault();
+ var $loc = jQuery(this).parent().next();
+ jQuery($loc).show().position({
+ of: $loc.parent(),
+ my: "left top",
+ at: "left bottom",
+ offset: "0 0",
+ collision: "fit fit"
+ });
+ jQuery(this).addClass("Expanded");
+ jQuery(document).click(function () {
+ jQuery(".language-list").fadeOut("fast");
+ jQuery(".selected-language a").removeClass("Expanded");
+ });
+ return false;
+ });
+ });
+</script>
+ </div>
+ </div>
+
</div>
@@ -485,8 +561,8 @@ Sys.WebForms.PageRequestManager._initialize('ctl00$uxMainScriptManager', 'aspnet </div>
<div id="dlgClipboard">
<input type="text" class="TextFormat" />
- <a href="#" onclick="$('#dlgClipboard').hide();return false;">
- <img src="/images/stockholm/mini/close.gif" alt="Close" title="Close" /></a>
+ <a href="#" onclick="$('#dlgClipboard').hide();return false;" title="Close" class="Close">
+ x</a>
</div>
<script type="text/javascript">
$("a.CoordInfoLink").click(function (e) {
@@ -583,11 +659,11 @@ Sys.WebForms.PageRequestManager._initialize('ctl00$uxMainScriptManager', 'aspnet </dl>
<dl class="bottom">
<dt>
- <img src="/images/silk/group_go.png" alt="View Who Favorited this Cache" title="View Who Favorited this Cache" /></dt>
+ <img src="/images/icons/16/view_user.png" alt="View Who Favorited this Cache" title="View Who Favorited this Cache" /></dt>
<dd>
<a id="hlViewWhoFavorited" title="View Who Favorited this Cache" href="/seek/cache_favorited.aspx?guid=36d45871-b99d-46d6-95fc-ff86ab564c98">View Who Favorited this Cache</a></dd>
<dt>
- <img src="/images/silk/help.png" alt="About Favorites" title="About Favorites" /></dt>
+ <img src="/images/icons/16/help.png" alt="About Favorites" title="About Favorites" /></dt>
<dd>
<a id="hlAboutFavorites" title="About Favorites" href="http://support.groundspeak.com/index.php?pg=kb.page&id=287" target="_blank">About Favorites</a>
</dd>
@@ -632,14 +708,14 @@ Sys.WebForms.PageRequestManager._initialize('ctl00$uxMainScriptManager', 'aspnet <br />
<small>
<a id="ctl00_ContentBody_lnkPrintFriendly" class="lnk" href="cdpf.aspx?guid=36d45871-b99d-46d6-95fc-ff86ab564c98" target="_blank">
- <img src="/images/silk/printer.png" alt="Print" title="Print" width="16" height="16" /> <span>
+ <img src="/images/icons/16/print.png" alt="Print" title="Print" width="16" height="16" /> <span>
No Logs
</span>
</a>
<a id="ctl00_ContentBody_lnkPrintFriendly5Logs" href="cdpf.aspx?guid=36d45871-b99d-46d6-95fc-ff86ab564c98&lc=5" target="_blank">5 Logs</a>
<a id="ctl00_ContentBody_lnkPrintFriendly10Logs" href="cdpf.aspx?guid=36d45871-b99d-46d6-95fc-ff86ab564c98&lc=10" target="_blank">10 Logs</a> ·
<a id="ctl00_ContentBody_lnkPrintDirectionsSimple" class="lnk" href="http://maps.google.com/maps?f=d&hl=en&saddr=52.4162,9.594117 (Home Location)&daddr=52.373217,9.7108(Hannopoly%3a+Eislisenstrasse+)" target="_blank">
- <img src="/images/silk/car.png" alt="Driving Directions" title="Driving Directions" width="16" height="16" /> <span>
+ <img src="/images/icons/16/directions.png" alt="Driving Directions" title="Driving Directions" width="16" height="16" /> <span>
Driving Directions
</span>
</a></small></p>
@@ -683,7 +759,7 @@ Sys.WebForms.PageRequestManager._initialize('ctl00$uxMainScriptManager', 'aspnet <legend class="note">
Personal Cache Note
</legend>
- <img src="/images/silk/help.png" id="pcn_help" class="CacheNoteHelpImg" />
+ <img src="/images/icons/16/help.png" id="pcn_help" class="CacheNoteHelpImg" />
<p id="cache_note" class="NoBottomSpacing">
Test für c:geo</p>
</fieldset>
@@ -781,17 +857,15 @@ Man weiß hier Bescheid. Dieser Cache ist rund um die Uhr zu finden, ohne ein Ge <div class="CacheDetailNavigationWidget NoPrint">
<h3 class="WidgetHeader">
- <img id="ctl00_ContentBody_GeoNav2_uxHeaderImage" src="../images/stockholm/16x16/home.gif" alt="Navigation" style="border-width:0px;" />
Navigation
</h3>
<div class="WidgetBody">
<ul class="CacheDetailsNavLinks">
- <li><a href="/seek/log.aspx?ID=1433909" class="lnk"><img src="/images/stockholm/16x16/comment_add.gif" /> <span>Log your visit</span></a></li>
-<li><a href="/seek/gallery.aspx?guid=36d45871-b99d-46d6-95fc-ff86ab564c98" class="lnk"><img src="/images/stockholm/16x16/photos.gif" /> <span>View Gallery</span></a></li>
-<li><a href="/my/watchlist.aspx?ds=1&id=1433909&action=rem" class="lnk"><img src="/images/stockholm/16x16/icon_stop_watchlist.gif" /> <span>Remove from Watchlist</span></a></li>
-<li><a href="/bookmarks/ignore.aspx?guid=36d45871-b99d-46d6-95fc-ff86ab564c98&WptTypeID=2" class="lnk"><img src="/images/stockholm/16x16/cross.gif" /> <span>Ignore Listing</span></a></li>
-<li><a href="/bookmarks/mark.aspx?guid=36d45871-b99d-46d6-95fc-ff86ab564c98&WptTypeID=2" class="lnk"><img src="/images/stockholm/16x16/book_open_mark.gif" /> <span>Bookmark Listing</span></a></li>
+ <li><a href="/seek/log.aspx?ID=1433909" class="lnk"><img src="/images/icons/16/write_log.png" /> <span>Log your visit</span></a></li>
+<li><a href="/my/watchlist.aspx?w=1433909" class="lnk"><img src="/images/icons/16/watch.png" /> <span>Watch Listing</span></a></li>
+<li><a href="/bookmarks/ignore.aspx?guid=36d45871-b99d-46d6-95fc-ff86ab564c98&WptTypeID=2" class="lnk"><img src="/images/icons/16/ignore.png" /> <span>Ignore Listing</span></a></li>
+<li><a href="/bookmarks/mark.aspx?guid=36d45871-b99d-46d6-95fc-ff86ab564c98&WptTypeID=2" class="lnk"><img src="/images/icons/16/bookmark_list.png" /> <span>Bookmark Listing</span></a></li>
</ul>
@@ -807,8 +881,8 @@ Man weiß hier Bescheid. Dieser Cache ist rund um die Uhr zu finden, ohne ein Ge <div id="ctl00_ContentBody_pnlWatchedCount">
- <p>
- <img src="/images/icons/icon_watchlist.gif" alt="Watching" /> You are 1 of 6 users watching this.</p>
+ <p class="WatchIcon">
+ 5 user(s) watching this cache.</p>
</div>
@@ -824,8 +898,6 @@ Man weiß hier Bescheid. Dieser Cache ist rund um die Uhr zu finden, ohne ein Ge <div id="ctl00_ContentBody_detailWidget" class="CacheDetailNavigationWidget TopSpacing BottomSpacing">
<h3 class="WidgetHeader">
-
- <img src="/images/icon_Boardattention.gif" height="16" width="16" alt="Info" title="Info" />
Attributes</h3>
<div class="WidgetBody">
<img src="/images/attributes/bicycles-yes.gif" alt="bikes allowed" title="bikes allowed" width="30" height="30" /> <img src="/images/attributes/available-yes.gif" alt="available 24-7" title="available 24-7" width="30" height="30" /> <img src="/images/attributes/stroller-yes.gif" alt="stroller accessible" title="stroller accessible" width="30" height="30" /> <img src="/images/attributes/parking-yes.gif" alt="parking available" title="parking available" width="30" height="30" /> <img src="/images/attributes/onehour-yes.gif" alt="takes less than 1 hour" title="takes less than 1 hour" width="30" height="30" /> <img src="/images/attributes/kids-yes.gif" alt="kid friendly" title="kid friendly" width="30" height="30" /> <img src="/images/attributes/dogs-yes.gif" alt="dogs allowed" title="dogs allowed" width="30" height="30" /> <img src="/images/attributes/attribute-blank.gif" alt="blank" title="blank" width="30" height="30" /> <img src="/images/attributes/attribute-blank.gif" alt="blank" title="blank" width="30" height="30" /> <img src="/images/attributes/attribute-blank.gif" alt="blank" title="blank" width="30" height="30" /> <img src="/images/attributes/attribute-blank.gif" alt="blank" title="blank" width="30" height="30" /> <img src="/images/attributes/attribute-blank.gif" alt="blank" title="blank" width="30" height="30" /> <p class="NoBottomSpacing"><small><a href="/about/icons.aspx" title="What are Attributes?">What are Attributes?</a></small></p>
@@ -839,7 +911,7 @@ Man weiß hier Bescheid. Dieser Cache ist rund um die Uhr zu finden, ohne ein Ge <div id="ctl00_ContentBody_divContentSide">
<p class="NoBottomSpacing">
- <span id="ctl00_ContentBody_ADModules_09"><iframe type="iframe" src="http://ads.groundspeak.com/a.aspx?ZoneID=9&Task=Get&SiteID=1&X='c592711dca7640f58a832a09b3d6207e'" width="120" height="240" Marginwidth="0" Marginheight="0" Hspace="0" Vspace="0" Frameborder="0" Scrolling="no" style="width:120px;Height:240px;"><a href="http://ads.groundspeak.com/a.aspx?ZoneID=9&Task=Click&;Mode=HTML&SiteID=1" target="_blank"><img src="http://ads.groundspeak.com/a.aspx?ZoneID=9&Task=Get&Mode=HTML&SiteID=1" width="120" height="240" border="0" alt="" /></a></iframe></span>
+ <span id="ctl00_ContentBody_ADModules_09"><iframe type="iframe" src="http://ads.groundspeak.com/a.aspx?ZoneID=9&Task=Get&SiteID=1&X='e3c68812a8f248d794130e51733905f4'" width="120" height="240" Marginwidth="0" Marginheight="0" Hspace="0" Vspace="0" Frameborder="0" Scrolling="no" style="width:120px;Height:240px;"><a href="http://ads.groundspeak.com/a.aspx?ZoneID=9&Task=Click&;Mode=HTML&SiteID=1" target="_blank"><img src="http://ads.groundspeak.com/a.aspx?ZoneID=9&Task=Get&Mode=HTML&SiteID=1" width="120" height="240" border="0" alt="" /></a></iframe></span>
</p>
<p class="AlignCenter">
<small><a href="../about/advertising.aspx" id="ctl00_ContentBody_advertisingWithUs" title="Advertising with Us">Advertising with Us</a></small></p>
@@ -861,7 +933,6 @@ Man weiß hier Bescheid. Dieser Cache ist rund um die Uhr zu finden, ohne ein Ge <div class="CacheDetailNavigationWidget">
<h3 class="WidgetHeader">
- <img id="ctl00_ContentBody_uxTravelBugList_uxInventoryIcon" src="../images/WptTypes/sm/tb_coin.gif" alt="Inventory" style="height:16px;width:16px;border-width:0px;" />
<span id="ctl00_ContentBody_uxTravelBugList_uxInventoryLabel">Inventory</span>
</h3>
<div class="WidgetBody">
@@ -887,8 +958,7 @@ Man weiß hier Bescheid. Dieser Cache ist rund um die Uhr zu finden, ohne ein Ge <div class="CacheDetailNavigationWidget">
- <h3 class="WidgetHeader">
- <img src="/images/stockholm/16x16/pages.gif" width="16" height="16" alt="" /> Bookmark Lists</h3>
+ <h3 class="WidgetHeader">Bookmark Lists</h3>
<div class="WidgetBody">
@@ -954,7 +1024,7 @@ Man weiß hier Bescheid. Dieser Cache ist rund um die Uhr zu finden, ohne ein Ge </div>
<div class="CDMapWidget">
<p class="WidgetHeader NoBottomSpacing">
- <a id="ctl00_ContentBody_uxViewLargerMap" title="View Larger Map" class="lnk" href="/map/default.aspx?lat=52.373217&lng=9.7108" target="_blank"><img src="/images/silk/map_go.png" /> <span>View Larger Map</span></a>
+ <a id="ctl00_ContentBody_uxViewLargerMap" title="View Larger Map" href="/map/default.aspx?lat=52.373217&lng=9.7108" target="_blank">View Larger Map</a>
</p>
<div id="map_canvas" style="width: 325px; height: 325px;">
@@ -1026,7 +1096,7 @@ Man weiß hier Bescheid. Dieser Cache ist rund um die Uhr zu finden, ohne ein Ge Decrypt
</a>
</div>
- <span id="ctl00_ContentBody_lblFindCounts"><p class="LogTotals"><img src="/images/icons/icon_smile.gif" alt="Found it" title="Found it" /> 368 <img src="/images/icons/icon_sad.gif" alt="Didn't find it" title="Didn't find it" /> 7 <img src="/images/icons/icon_note.gif" alt="Write note" title="Write note" /> 10 <img src="/images/icons/traffic_cone.gif" alt="Archive" title="Archive" /> 1 <img src="/images/icons/icon_disabled.gif" alt="Temporarily Disable Listing" title="Temporarily Disable Listing" /> 3 <img src="/images/icons/icon_enabled.gif" alt="Enable Listing" title="Enable Listing" /> 2 <img src="/images/icons/icon_greenlight.gif" alt="Publish Listing" title="Publish Listing" /> 1 <img src="/images/icons/icon_maint.gif" alt="Owner Maintenance" title="Owner Maintenance" /> 7 <img src="/images/icons/big_smile.gif" alt="Post Reviewer Note" title="Post Reviewer Note" /> 1 </p></span>
+ <span id="ctl00_ContentBody_lblFindCounts"><p class="LogTotals"><img src="/images/logtypes/2.png" alt="Found it" title="Found it" /> 368 <img src="/images/logtypes/3.png" alt="Didn't find it" title="Didn't find it" /> 7 <img src="/images/logtypes/4.png" alt="Write note" title="Write note" /> 10 <img src="/images/logtypes/5.png" alt="Archive" title="Archive" /> 1 <img src="/images/logtypes/22.png" alt="Temporarily Disable Listing" title="Temporarily Disable Listing" /> 3 <img src="/images/logtypes/23.png" alt="Enable Listing" title="Enable Listing" /> 2 <img src="/images/logtypes/24.png" alt="Publish Listing" title="Publish Listing" /> 1 <img src="/images/logtypes/46.png" alt="Owner Maintenance" title="Owner Maintenance" /> 7 <img src="/images/logtypes/68.png" alt="Post Reviewer Note" title="Post Reviewer Note" /> 1 </p></span>
<p class="HalfLeft">
<a id="ctl00_ContentBody_uxLogbookLink" href="cache_logbook.aspx?guid=36d45871-b99d-46d6-95fc-ff86ab564c98">View Logbook</a> | <a id="ctl00_ContentBody_uxGalleryImagesLink" DisplayFormatPlural="View the Image Gallery of {0:#,###} images" DisplayFormatSingular="View the Image Gallery" href="gallery.aspx?guid=36d45871-b99d-46d6-95fc-ff86ab564c98">View the Image Gallery of 2 images</a>
</p>
@@ -1057,7 +1127,7 @@ Man weiß hier Bescheid. Dieser Cache ist rund um die Uhr zu finden, ohne ein Ge </div>
<p>
<small>
- Current Time: <time datetime="2012-10-18T12:49:32Z">10/18/2012 12:49:32 Pacific Daylight Time (19:49 GMT)</time><br/>Last Updated: <time class="timeago" datetime="2012-10-13T22:07:50Z">2012-10-13T22:07:50Z</time> on 10/13/2012 15:07:50 Pacific Daylight Time (22:07 GMT) <br/>Rendered From:Unknown<br />Coordinates are in the WGS84 datum
+ Current Time: <time datetime="2012-12-11T12:35:28Z">12/11/2012 12:35:28 (UTC-08:00) Pacific Time (US & Canada) (20:35 GMT)</time><br/>Last Updated: <time class="timeago" datetime="2012-10-13T22:07:50Z">2012-10-13T22:07:50Z</time> on 10/13/2012 15:07:50 Pacific Daylight Time (22:07 GMT) <br/>Rendered From:Unknown<br />Coordinates are in the WGS84 datum
</small>
</p>
@@ -1070,7 +1140,7 @@ Man weiß hier Bescheid. Dieser Cache ist rund um die Uhr zu finden, ohne ein Ge <p class="logOwnerProfileName">
<strong><a id="143568283" href="/profile/?guid=${AccountGuid}">${UserName}</a></strong></p>
<p class="logOwnerBadge">
- <img title="${creator.GroupTitle}" src="${creator.GroupImageUrl}" align="absmiddle" style="vertical-align:middle">${creator.GroupTitle}
+ <img title="${creator.GroupTitle}" src="${creator.GroupImageUrl}">${creator.GroupTitle}
</p>
<p class="logOwnerAvatar">
<a href="/profile/?guid=${AccountGuid}">
@@ -1085,18 +1155,13 @@ Man weiß hier Bescheid. Dieser Cache ist rund um die Uhr zu finden, ohne ein Ge {{if GeocacheFindCount > 0 }}
<img title="Caches Found" src="/images/icons/icon_smile.png"> ${GeocacheFindCount}
{{/if}}
- {{if GeocacheFindCount > 0 && ChallengesCompleted > 0 }}
- ·
- {{/if}}
- {{if ChallengesCompleted > 0 }}
- <img title="Challenges Completed" src="/images/challenges/types/sm/challenge.png"> ${ChallengesCompleted}
- {{/if}}
+
</p>
</div>
<div class="FloatLeft LogDisplayRight">
<div class="HalfLeft LogType">
<strong>
- <img title="${LogType}" alt="${LogType}" src="/images/icons/${LogTypeImage}"> ${LogType}</strong></div>
+ <img title="${LogType}" alt="${LogType}" src="/images/logtypes/${LogTypeImage}"> ${LogType}</strong></div>
<div class="HalfRight AlignRight">
<span class="minorDetails LogDate">${Visited}</span></div>
<div class="Clear LogContent">
@@ -1131,7 +1196,7 @@ Man weiß hier Bescheid. Dieser Cache ist rund um die Uhr zu finden, ohne ein Ge <tr>
<td>
<a class="tb_images lnk" rel="tb_images[grp${LogID}]" href="http://img.geocaching.com/cache/log/large/${FileName}" data-title="{{tmpl "tmplCacheLogImagesTitle"}}">
- <img title="Photo" alt="Photo" src="/images/silk/photo.png">
+ <img title="Photo" alt="Photo" src="/images/icons/16/photo.png">
<span>${ $('<div />').text($('<div />').html($item.data.Name).text()).html() }</span>
</a>
</td>
@@ -1710,7 +1775,8 @@ Man weiß hier Bescheid. Dieser Cache ist rund um die Uhr zu finden, ohne ein Ge if (parseCoords.length == 0) {
alert('Please provide valid coordinates.');
} else {
- $.getJSON("/challenges/location.search", { p: parseCoords }, function (response) {
+ //$.getJSON("/challenges/location.search", { p: parseCoords }, function (response) {
+ $.getJSON("/api/geocode", { parse: parseCoords}, function (response) {
if (response.status == "success") {
var newLatLng = new LatLon(response.data.lat, response.data.lng);
@@ -1826,12 +1892,12 @@ Man weiß hier Bescheid. Dieser Cache ist rund um die Uhr zu finden, ohne ein Ge </div>
<div class="LocaleList">
- <div id="selected_language">
+ <div class="selected-language">
<a href="#">English▼</a>
</div>
- <ul id="locale_list">
+ <ul class="language-list">
<li><a id="ctl00_uxLocaleList_uxLocaleList_ctl00_uxLocaleItem" href="javascript:__doPostBack('ctl00$uxLocaleList$uxLocaleList$ctl00$uxLocaleItem','')">English</a></li>
@@ -1869,19 +1935,22 @@ Man weiß hier Bescheid. Dieser Cache ist rund um die Uhr zu finden, ohne ein Ge </div>
<script type="text/javascript">
-
- jQuery(document).ready(function() {
- jQuery("#selected_language a").click(function (e) {
+
+ jQuery(document).ready(function () {
+ jQuery(".selected-language a").click(function (e) {
e.preventDefault();
- jQuery("#locale_list").show().position({
- of: $("#selected_language"),
+ var $loc = jQuery(this).parent().next();
+ jQuery($loc).show().position({
+ of: $loc.parent(),
my: "left top",
at: "left bottom",
- offset: "0 3",
+ offset: "0 0",
collision: "fit fit"
});
+ jQuery(this).addClass("Expanded");
jQuery(document).click(function () {
- jQuery("#locale_list").fadeOut("fast");
+ jQuery(".language-list").fadeOut("fast");
+ jQuery(".selected-language a").removeClass("Expanded");
});
return false;
});
@@ -2003,14 +2072,14 @@ Man weiß hier Bescheid. Dieser Cache ist rund um die Uhr zu finden, ohne ein Ge <script type="text/javascript">
//<![CDATA[
-var uvtoken = 'DbFDfIrSTaXyfNf74lbdopy%2bTw%2fC84Gn87pU%2b3r69toc4lYTKyii0cXY42BXT7amAeAEUCcV1MyzYH%2f69bWOOFRruXKz4Y7dmdEb5hkzMmPM3y5xmGJNt8gPIbp6rr%2fxkbM%2bQ7RJ5IHWFwhOFX37papOxiP%2fzlvJoxK2lSTYz4ZwueztzsjjdFlUj7xbPOcC10RFgjRsrwVyG81%2b4wjZBhipaDeY%2fZzTma2tnAAKkDnrxFqsw5Y0WIynIdFEn1JI8cu%2bnDhOVP6AO9mpVPRaXrN01V38EfI%2fkoZzQdjNVGlZ3Vby1lsyMV3AK%2b2C%2bhkJx%2fSdgJYr7sRuh5mlW8uTlNNuOZdZJEP7nMN2KpoZ8YGSsWqpOSQKlFmH7DsCZZ0OyVPANvEdZ7zw4m77AtIabAl6OIY%2bJJYf3rcDAkjyMwA%3d';var isLoggedIn = true;
+var uvtoken = 'DbFDfIrSTaXyfNf74lbdopy%2bTw%2fC84Gn87pU%2b3r69toc4lYTKyii0cXY42BXT7amAeAEUCcV1MyzYH%2f69bWOODB8zVLynRLbTkxx%2f8hPffEHKq%2ftoRaVm0yXjdPzGQ5n9jW1y0pwsokb3j6S7vVPg8iV8nDqEIU6a07uKMHBEDwwXGOXO%2bIfXpwATkAQ39JGxsiK8GPHlJE5%2besotPd2aFe0L69BktKUFC%2fpddxY6i9ToCvJI7%2fD81HsQ1pJjiigHa2tp6E4zFxJ50Re1NazmCpfLFU%2fd4ZvsZrk1MKlbEeUJIX5I9F5VsYFpnMiy07HwK7%2b4ehrPS3lhjbA0F2U%2fzt%2fBc8ut27HgDC4jDLGumKbDM7cEMEityUG%2fyqWaeD8Glm3UeHwjGMuURoYa9dIzbRafUqRp7qkrd2s1I9RyyY%3d';var isLoggedIn = true;
var userDefinedCoords = {"status":"fail","data":{"isUserDefined":false,"oldLatLngDisplay":"N 52° 22.393' E 009° 42.648'"}};
mapLatLng = {"lat":52.37322,"lng":9.7108,"type":2,"name":"Hannopoly: Eislisenstrasse "};
var ccConversions = [{"t":"Decimal","k":"DD","d":"WGS84","v":"52.373217, 009.710800"},{"t":"DDD MM SS.SSS","k":"DMS","d":"WGS84","v":"N 52° 22' 23.581\" E 009° 42' 38.880\""},{"t":"UTM","k":"UTM","d":"WGS84","v":"32U E 548389 N 5802787"}];
userInfo = {ID: 1912314};
-userToken = 'FOUTFKOKLELXOJAYT35WSZBNGADBNKFSYIMKJ2YI6247JORDCSRPR3LYUNKEOR2PQUOHC7OGY223V2X2ADNEDT25JD2QHOXIHYLH7J5XLOWJSK5WTLLQ5UJQMIZEGXYFSHPFRQQ5A374RP7GSKIVLW2RCI53UZFIABL6BZOBU6IDYHWJSCVNM2YEQ7AOUWCQHTAVICNX7GH7X5EMIOYV6DLOMJUFBTCCPD4PGRNFC325XROH2B6A';
+userToken = 'FOUTFKOKLELXOJAYT35WSZBNGADBNKFSYIMKJ2YI6247JORDCSRPR3LYUNKEOR2PQUOHC7OGY223V2X2ADNEDT25JD2QHOXIHYLH7J5XLOWJSK5WTLLQ5UJQMIZEGXYFSHPFRQQ5A374RP7GSKIVLW2RCI53UZFIABL6BZOBU6IDYHWJSCVNM2YEQ7AOUWCQHTAVICNX7GH7XGF2IUG5C6D4NTADU2FGQIFA7DRMYK2UKVVDS7IA';
includeAvatars = true;
-initalLogs = {"status":"success", "data": [{"LogID":196904781,"CacheID":1433909,"LogGuid":"26f89faf-aa71-406e-9ea3-cdfa18a846e6","Latitude":null,"Longitude":null,"LatLonString":"","LogType":"Write note","LogTypeImage":"icon_note.gif","LogText":"s. mein Log bei Seestr.","Created":"05/11/2011","Visited":"05/11/2011","UserName":"daniel354","MembershipLevel":3,"AccountID":1477880,"AccountGuid":"8186d342-6f46-4d9e-8ba3-2e7b51426798","Email":"","AvatarImage":"b82a4dec-bd35-4cc8-b6dc-fe8bced5cbca.jpg","GeocacheFindCount":5177,"GeocacheHideCount":42,"ChallengesCompleted":2,"IsEncoded":false,"creator":{"GroupTitle":"Premium Member","GroupImageUrl":"/images/icons/prem_user.gif"},"Images":[]},{"LogID":196899232,"CacheID":1433909,"LogGuid":"f755b34d-0cc1-4740-827a-07311fe1a3b1","Latitude":null,"Longitude":null,"LatLonString":"","LogType":"Write note","LogTypeImage":"icon_note.gif","LogText":"Äh, Logbuch ist nicht mehr vor Ort - wie kann man da \"Found\" loggen ? Ansonsten würde ich auch \"Found\" loggen da ich Dienstag vor Ort war und genau weiß vor sich der Cache befand....","Created":"05/11/2011","Visited":"05/11/2011","UserName":"blafoo","MembershipLevel":3,"AccountID":1912314,"AccountGuid":"0564a940-8311-40ee-8e76-7e91b2cf6284","Email":"","AvatarImage":"50f83123-27d8-4dcf-9fde-2af006efaf2b.jpg","GeocacheFindCount":692,"GeocacheHideCount":8,"ChallengesCompleted":3,"IsEncoded":false,"creator":{"GroupTitle":"Premium Member","GroupImageUrl":"/images/icons/prem_user.gif"},"Images":[]},{"LogID":189731769,"CacheID":1433909,"LogGuid":"e674d2ed-7cac-4b49-96b1-3020e5c7f479","Latitude":null,"Longitude":null,"LatLonString":"","LogType":"Archive","LogTypeImage":"traffic_cone.gif","LogText":"Auch hier fehlt mir leider eine passende neue Idee. Wie alle archivierten Hannopolys wird auch diese Besitzrechtskarte ab sofort auf www.hannopoly.de zu finden sein. Danke für die sehr schönen Logs!","Created":"01/10/2011","Visited":"01/10/2011","UserName":"daniel354","MembershipLevel":3,"AccountID":1477880,"AccountGuid":"8186d342-6f46-4d9e-8ba3-2e7b51426798","Email":"","AvatarImage":"b82a4dec-bd35-4cc8-b6dc-fe8bced5cbca.jpg","GeocacheFindCount":5177,"GeocacheHideCount":42,"ChallengesCompleted":2,"IsEncoded":false,"creator":{"GroupTitle":"Premium Member","GroupImageUrl":"/images/icons/prem_user.gif"},"Images":[]},{"LogID":189390319,"CacheID":1433909,"LogGuid":"4510051e-2c87-4d09-b77d-d90f645bafe9","Latitude":null,"Longitude":null,"LatLonString":"","LogType":"Found it","LogTypeImage":"icon_smile.gif","LogText":"wahrscheinlich nicht mehr so schön wie geplant, dennoch alles da, was der logger so braucht ... sogar´n herry ;-)<br /><br />dfdc","Created":"29/09/2011","Visited":"29/09/2011","UserName":"Sir5al","MembershipLevel":3,"AccountID":3229535,"AccountGuid":"66de7735-1888-479b-8dbd-ada710747374","Email":"","AvatarImage":"9da1d6ed-3a3f-47cb-aba3-f5550abe7d11.jpg","GeocacheFindCount":987,"GeocacheHideCount":4,"ChallengesCompleted":0,"IsEncoded":false,"creator":{"GroupTitle":"Premium Member","GroupImageUrl":"/images/icons/prem_user.gif"},"Images":[]},{"LogID":186118551,"CacheID":1433909,"LogGuid":"acce0114-1712-4f32-b120-4b8bd4ef7200","Latitude":null,"Longitude":null,"LatLonString":"","LogType":"Found it","LogTypeImage":"icon_smile.gif","LogText":"Leider habe ich erst gesehen das der Cache auf Eis liegt nach dem ich ihn gefunden habe.<br /><br />Ich konnte ihn denn noch gut finden und mich im großem Logbuch eintragen!<br /><br /><br />DFDC","Created":"11/09/2011","Visited":"27/08/2011","UserName":"Smootje1","MembershipLevel":3,"AccountID":4186572,"AccountGuid":"41b96bb9-ed81-473a-9032-1096d5c94423","Email":"","AvatarImage":"6052e05a-f2ce-45f1-86c4-c56fe8da6d2b.jpg","GeocacheFindCount":3486,"GeocacheHideCount":33,"ChallengesCompleted":1,"IsEncoded":false,"creator":{"GroupTitle":"Premium Member","GroupImageUrl":"/images/icons/prem_user.gif"},"Images":[]},{"LogID":171398380,"CacheID":1433909,"LogGuid":"845e6ead-bf44-4dd8-900e-81a78afc0887","Latitude":null,"Longitude":null,"LatLonString":"","LogType":"Write note","LogTypeImage":"icon_note.gif","LogText":"Daniel, du sprichst uns aus der Seele.. gestern Nacht dagewesen, um ihn ENDLICH zu heben, aber ohne Erfolg.. SCHNIEF","Created":"08/07/2011","Visited":"08/07/2011","UserName":"Steinbreit","MembershipLevel":3,"AccountID":4430835,"AccountGuid":"86281f53-49a2-4051-bc15-394d43724d65","Email":"","AvatarImage":"90f468a9-7059-43a7-a3c5-256879458a63.jpg","GeocacheFindCount":479,"GeocacheHideCount":8,"ChallengesCompleted":0,"IsEncoded":false,"creator":{"GroupTitle":"Premium Member","GroupImageUrl":"/images/icons/prem_user.gif"},"Images":[]},{"LogID":171063566,"CacheID":1433909,"LogGuid":"fc463b7b-ce41-4d16-a7a4-2107b8454a91","Latitude":null,"Longitude":null,"LatLonString":"","LogType":"Temporarily Disable Listing","LogTypeImage":"icon_disabled.gif","LogText":"Mist...","Created":"06/07/2011","Visited":"06/07/2011","UserName":"daniel354","MembershipLevel":3,"AccountID":1477880,"AccountGuid":"8186d342-6f46-4d9e-8ba3-2e7b51426798","Email":"","AvatarImage":"b82a4dec-bd35-4cc8-b6dc-fe8bced5cbca.jpg","GeocacheFindCount":5177,"GeocacheHideCount":42,"ChallengesCompleted":2,"IsEncoded":false,"creator":{"GroupTitle":"Premium Member","GroupImageUrl":"/images/icons/prem_user.gif"},"Images":[]},{"LogID":170116614,"CacheID":1433909,"LogGuid":"09c89c9c-ec9f-4387-a6ae-05fe6d11d9bf","Latitude":null,"Longitude":null,"LatLonString":"","LogType":"Found it","LogTypeImage":"icon_smile.gif","LogText":"Ging schneller als gedacht. :-)<br /><br />TFTC","Created":"02/07/2011","Visited":"01/07/2011","UserName":"urbannature","MembershipLevel":1,"AccountID":2510965,"AccountGuid":"1f223c0d-d9ee-44c4-b411-35eee724b868","Email":"","AvatarImage":"476ea58f-a917-46c4-8e5a-b99484b514f6.jpg","GeocacheFindCount":2019,"GeocacheHideCount":8,"ChallengesCompleted":0,"IsEncoded":false,"creator":{"GroupTitle":"Member","GroupImageUrl":"/images/icons/reg_user.gif"},"Images":[]},{"LogID":168683009,"CacheID":1433909,"LogGuid":"53e3436d-3bbc-4b46-aa34-ca28bbd0723a","Latitude":null,"Longitude":null,"LatLonString":"","LogType":"Found it","LogTypeImage":"icon_smile.gif","LogText":"Erster Hanopoly-Cach! Nach langem suchen und richtig lesen gefunden! ;)","Created":"24/06/2011","Visited":"24/06/2011","UserName":"anady","MembershipLevel":3,"AccountID":3551788,"AccountGuid":"c6d0f76b-df41-44d0-9d1f-e60b0ffa4f0a","Email":"","AvatarImage":"","GeocacheFindCount":148,"GeocacheHideCount":0,"ChallengesCompleted":0,"IsEncoded":false,"creator":{"GroupTitle":"Premium Member","GroupImageUrl":"/images/icons/prem_user.gif"},"Images":[]},{"LogID":168640932,"CacheID":1433909,"LogGuid":"fc364b9d-8ddb-4d0e-aa42-09b4dce93c94","Latitude":null,"Longitude":null,"LatLonString":"","LogType":"Found it","LogTypeImage":"icon_smile.gif","LogText":"Zusammen mit anady hier gewesen und die bald Karte gefunden. Doch irgendwie war kein Logbuch auffindbar. Während wir noch etwas hin und her hantierten wurde es uns überraschend übergeben. Ob das so sein soll?<br /><br />Die Idee aber ist prima.<br /><br />TFTC! :-)","Created":"24/06/2011","Visited":"24/06/2011","UserName":"CriDi","MembershipLevel":3,"AccountID":3383487,"AccountGuid":"78aeaa8b-044d-40ac-8a80-656a1c7f85c1","Email":"","AvatarImage":"09f0aca7-6fcf-4d9a-bbf9-0f4b31c68f36.jpg","GeocacheFindCount":989,"GeocacheHideCount":13,"ChallengesCompleted":0,"IsEncoded":false,"creator":{"GroupTitle":"Premium Member","GroupImageUrl":"/images/icons/prem_user.gif"},"Images":[]},{"LogID":167383966,"CacheID":1433909,"LogGuid":"6a4c21a6-c795-4d8e-8f0c-a4d7a357f837","Latitude":null,"Longitude":null,"LatLonString":"","LogType":"Found it","LogTypeImage":"icon_smile.gif","LogText":"Interessantes Geschehen am Sonnabendvormittag; die Müllabfuhr kommt, die Post bringt Neuigkeiten ins Haus, Nachbarn treffen sich auf der Straße und klönen eine Runde, ein Auto aus SFA blockiert die Kreuzung, ein Radfahrer entsorgt den Müll aus dem Fahrradkorb direkt am Baum und unser Team vergisst fast die Suche ...<br /><br />DfdC!","Created":"18/06/2011","Visited":"18/06/2011","UserName":"2bupa","MembershipLevel":3,"AccountID":2675170,"AccountGuid":"e6a84779-ad63-4ba1-93fa-558a7190c8b4","Email":"","AvatarImage":"e30c21ec-8bce-4b90-9c6f-ee7e618da9fe.jpg","GeocacheFindCount":4335,"GeocacheHideCount":13,"ChallengesCompleted":0,"IsEncoded":false,"creator":{"GroupTitle":"Premium Member","GroupImageUrl":"/images/icons/prem_user.gif"},"Images":[]},{"LogID":167163052,"CacheID":1433909,"LogGuid":"2d51d81f-1581-4ae6-9254-0a5ffa163585","Latitude":null,"Longitude":null,"LatLonString":"","LogType":"Found it","LogTypeImage":"icon_smile.gif","LogText":"War schon öfters hier, aber die Muggels saßen da nur so rum. Heute früh aufgestanden....<br /><br />DFDC grüße Putze","Created":"16/06/2011","Visited":"15/06/2011","UserName":"Weltallputze","MembershipLevel":1,"AccountID":4512106,"AccountGuid":"07449e94-85c8-4d2f-b387-cb0910b2d854","Email":"","AvatarImage":"0b9746f6-1fd4-47b9-8f07-5b2bb3b21cc0.jpg","GeocacheFindCount":226,"GeocacheHideCount":0,"ChallengesCompleted":0,"IsEncoded":false,"creator":{"GroupTitle":"Member","GroupImageUrl":"/images/icons/reg_user.gif"},"Images":[]},{"LogID":166633564,"CacheID":1433909,"LogGuid":"f6c8b6f6-527b-4ea0-ba85-8637cf47bd73","Latitude":null,"Longitude":null,"LatLonString":"","LogType":"Found it","LogTypeImage":"icon_smile.gif","LogText":"Voll geil. Juhu und danke","Created":"13/06/2011","Visited":"13/06/2011","UserName":"Lumisch","MembershipLevel":1,"AccountID":4464524,"AccountGuid":"fcc7da31-928a-418f-ae3e-9f015b41ead6","Email":"","AvatarImage":"","GeocacheFindCount":54,"GeocacheHideCount":0,"ChallengesCompleted":0,"IsEncoded":false,"creator":{"GroupTitle":"Member","GroupImageUrl":"/images/icons/reg_user.gif"},"Images":[]},{"LogID":165707570,"CacheID":1433909,"LogGuid":"1adb0f76-9bfa-47a4-a7f2-4b3aab0ffcfb","Latitude":null,"Longitude":null,"LatLonString":"","LogType":"Found it","LogTypeImage":"icon_smile.gif","LogText":"lecker eis :)","Created":"09/06/2011","Visited":"09/06/2011","UserName":"Nico Rohrssen","MembershipLevel":1,"AccountID":4523346,"AccountGuid":"3c66a437-1bbc-4cb1-bda0-8f609ac6efef","Email":"","AvatarImage":"","GeocacheFindCount":25,"GeocacheHideCount":2,"ChallengesCompleted":0,"IsEncoded":false,"creator":{"GroupTitle":"Member","GroupImageUrl":"/images/icons/reg_user.gif"},"Images":[]},{"LogID":164530395,"CacheID":1433909,"LogGuid":"477f0186-9c2a-40f9-8696-98afb9868205","Latitude":null,"Longitude":null,"LatLonString":"","LogType":"Found it","LogTypeImage":"icon_smile.gif","LogText":"Nach langer sorgfältiger Vorplanung (an welchem Tag lohnt sich das frühe Aufstehen?) bei Sonnenaufgang angeschlichen und... gefunden! Gotcha! DfdC!","Created":"03/06/2011","Visited":"03/06/2011","UserName":"Deistermonster","MembershipLevel":3,"AccountID":4165483,"AccountGuid":"116149cb-3e0f-4c50-b51e-95b756d64da4","Email":"","AvatarImage":"54fe057c-f79a-4d82-b587-53c5b2b9386f.jpg","GeocacheFindCount":1414,"GeocacheHideCount":0,"ChallengesCompleted":0,"IsEncoded":false,"creator":{"GroupTitle":"Premium Member","GroupImageUrl":"/images/icons/prem_user.gif"},"Images":[]},{"LogID":164413372,"CacheID":1433909,"LogGuid":"e2c9bdad-9282-49f2-aba4-7e2ac058afa5","Latitude":null,"Longitude":null,"LatLonString":"","LogType":"Found it","LogTypeImage":"icon_smile.gif","LogText":"Morgens um 6 Uhr muggelfrei geloggt.<img src=\"/images/icons/icon_smile_big.gif\" border=\"0\" align=\"middle\" />Endlich! Der war schon ewig geplant, aber um unserer Idee nachzugehen, fehlte zur \"normalen\" Tageszeit der Mut. Ist schon ein lustiges Versteck... TFTC sagt Soukousa","Created":"03/06/2011","Visited":"03/06/2011","UserName":"Soukousa","MembershipLevel":3,"AccountID":4154048,"AccountGuid":"399bef0c-1cdd-4024-a00e-3199484131af","Email":"","AvatarImage":"8480d5e4-f43e-48e5-a449-c01ce424ff05.jpg","GeocacheFindCount":1414,"GeocacheHideCount":0,"ChallengesCompleted":0,"IsEncoded":false,"creator":{"GroupTitle":"Premium Member","GroupImageUrl":"/images/icons/prem_user.gif"},"Images":[]},{"LogID":163515249,"CacheID":1433909,"LogGuid":"cda47e99-cd5f-4fc1-aa40-cb3bccff4f46","Latitude":null,"Longitude":null,"LatLonString":"","LogType":"Found it","LogTypeImage":"icon_smile.gif","LogText":"Bei einem leckerem Eis das Logbuch siegniert.<br /><br />TFTC<br />Don Canallie","Created":"29/05/2011","Visited":"29/05/2011","UserName":"Don Canallie","MembershipLevel":3,"AccountID":3891097,"AccountGuid":"80970931-2e97-4291-abfd-564635f5d86f","Email":"","AvatarImage":"e6944e25-df18-45fb-acca-93ee08e923da.jpg","GeocacheFindCount":734,"GeocacheHideCount":2,"ChallengesCompleted":0,"IsEncoded":false,"creator":{"GroupTitle":"Premium Member","GroupImageUrl":"/images/icons/prem_user.gif"},"Images":[]},{"LogID":163307833,"CacheID":1433909,"LogGuid":"caad1abc-eb5c-4b99-ae92-232057825f41","Latitude":null,"Longitude":null,"LatLonString":"","LogType":"Found it","LogTypeImage":"icon_smile.gif","LogText":"Während einer schönen Li-Li-Ahlem Fahrrad Cachingtour gesucht und geborgen, danach wieder korrekt versteckt, damit es nicht zu einfach wird. dfdc <img src=\"/images/icons/icon_smile.gif\" border=\"0\" align=\"middle\" />","Created":"29/05/2011","Visited":"28/05/2011","UserName":"rimini08","MembershipLevel":3,"AccountID":4088331,"AccountGuid":"2fe34526-d72d-478e-9b7f-9dc5c3e1d6c1","Email":"","AvatarImage":"","GeocacheFindCount":501,"GeocacheHideCount":0,"ChallengesCompleted":0,"IsEncoded":false,"creator":{"GroupTitle":"Premium Member","GroupImageUrl":"/images/icons/prem_user.gif"},"Images":[]},{"LogID":163325464,"CacheID":1433909,"LogGuid":"c3475f2f-1e55-43aa-89a8-3a1ce8ddc525","Latitude":null,"Longitude":null,"LatLonString":"","LogType":"Found it","LogTypeImage":"icon_smile.gif","LogText":"<i>gut gefunden, danke fürs verstecken!</i> <br /><br /><b> <font color=\"red\">TFTC<br /><br /><b> <font color=\"green\">...sprechenden Cachern kann geholfen werden <img src=\"/images/icons/icon_smile.gif\" border=\"0\" align=\"middle\" /><br /><br /><img src=\"/images/icons/icon_smile.gif\" border=\"0\" align=\"middle\" /> <b> <font size=\"3\"> <font color=\"green\">J<font color=\"black\">o<font color=\"green\">h<font color=\"black\">a<font color=\"green\">n<font color=\"black\">s<font color=\"green\">i<font color=\"black\">b<font color=\"green\">ä<font color=\"black\">r <font color=\"orange\">2011</font> <img src=\"/images/icons/icon_smile.gif\" border=\"0\" align=\"middle\" /></font></font></font></font></font></font></font></font></font></font></font></b><font size=\"3\"><font color=\"green\"><font color=\"black\"><font color=\"green\"><font color=\"black\"><font color=\"green\"><font color=\"black\"><font color=\"green\"><font color=\"black\"><font color=\"green\"><font color=\"black\"></font></font></font></font></font></font></font></font></font></font></font></font></b></font></b>","Created":"29/05/2011","Visited":"22/05/2011","UserName":"Johansibär","MembershipLevel":3,"AccountID":1858674,"AccountGuid":"05f9d911-9cdc-4224-84b3-8e4923228958","Email":"","AvatarImage":"4d235c2f-81b6-42c4-a28c-5df2182a289d.jpg","GeocacheFindCount":1191,"GeocacheHideCount":17,"ChallengesCompleted":0,"IsEncoded":false,"creator":{"GroupTitle":"Premium Member","GroupImageUrl":"/images/icons/prem_user.gif"},"Images":[]},{"LogID":162246062,"CacheID":1433909,"LogGuid":"e9eec580-6831-40ba-8530-c9722017a142","Latitude":null,"Longitude":null,"LatLonString":"","LogType":"Found it","LogTypeImage":"icon_smile.gif","LogText":"Schon vor ein paar Tagen die Karte entdeckt aber das loggen war uns nicht so klar...nun haben wir uns heute auch im Logbuch verewigt. Nette Idee, DfdC.","Created":"22/05/2011","Visited":"22/05/2011","UserName":"Flunin","MembershipLevel":3,"AccountID":3435189,"AccountGuid":"4c851b2a-967c-427d-91eb-268b5ffb0f0a","Email":"","AvatarImage":"","GeocacheFindCount":612,"GeocacheHideCount":2,"ChallengesCompleted":0,"IsEncoded":false,"creator":{"GroupTitle":"Premium Member","GroupImageUrl":"/images/icons/prem_user.gif"},"Images":[]},{"LogID":161705502,"CacheID":1433909,"LogGuid":"0b303d23-fb26-4b29-b5d2-2bb8828682ae","Latitude":null,"Longitude":null,"LatLonString":"","LogType":"Found it","LogTypeImage":"icon_smile.gif","LogText":"Nach nem kleinen Tipp dann doch noch loggen können :-)<br />DFDC","Created":"20/05/2011","Visited":"20/05/2011","UserName":"Leafhoppers","MembershipLevel":1,"AccountID":3766111,"AccountGuid":"37bd64d5-a74f-4a12-b040-460f83652198","Email":"","AvatarImage":"","GeocacheFindCount":582,"GeocacheHideCount":0,"ChallengesCompleted":7,"IsEncoded":false,"creator":{"GroupTitle":"Member","GroupImageUrl":"/images/icons/reg_user.gif"},"Images":[]},{"LogID":161990811,"CacheID":1433909,"LogGuid":"1ac63b3e-075a-48b7-9a1f-222b19c71868","Latitude":null,"Longitude":null,"LatLonString":"","LogType":"Found it","LogTypeImage":"icon_smile.gif","LogText":"Zusammen mit i-teg um 15:25 Uhr geloggt. <br />TFTC!<br />#488","Created":"21/05/2011","Visited":"19/05/2011","UserName":"justify-jay","MembershipLevel":1,"AccountID":3936481,"AccountGuid":"af49ff9e-5331-4565-97e8-5f5bf45e33b2","Email":"","AvatarImage":"198d173a-7efa-416c-b495-b15ed30f94a1.jpg","GeocacheFindCount":1105,"GeocacheHideCount":2,"ChallengesCompleted":2,"IsEncoded":false,"creator":{"GroupTitle":"Member","GroupImageUrl":"/images/icons/reg_user.gif"},"Images":[]},{"LogID":161988577,"CacheID":1433909,"LogGuid":"19a1ae8a-e3d7-492c-a866-002064968183","Latitude":null,"Longitude":null,"LatLonString":"","LogType":"Found it","LogTypeImage":"icon_smile.gif","LogText":"Auf Spontantour zusammen mit justify-jay um 15:25 Uhr zum Logbuch durchgedrungen :-) ! <br />TFTC!<br />#488","Created":"21/05/2011","Visited":"19/05/2011","UserName":"i-teg","MembershipLevel":1,"AccountID":3936536,"AccountGuid":"a30caa8b-0ba4-4a20-875f-ac825eacbf41","Email":"","AvatarImage":"533a43c0-8416-452f-8011-f575dee42268.jpg","GeocacheFindCount":1105,"GeocacheHideCount":2,"ChallengesCompleted":2,"IsEncoded":false,"creator":{"GroupTitle":"Member","GroupImageUrl":"/images/icons/reg_user.gif"},"Images":[]},{"LogID":161489085,"CacheID":1433909,"LogGuid":"0686f7dd-e12b-4b99-b7c7-24df895f48fb","Latitude":null,"Longitude":null,"LatLonString":"","LogType":"Found it","LogTypeImage":"icon_smile.gif","LogText":"Schnell gefunden da unsere Vorlogger scheinbar den Cache nicht wieder ganz genau plaziert hatten. Weils so schnell ging ne leckeres Eis in der Sonne genossen.<br />Ein super Cache, vielen Dank dafür.<br />Kartoffelhunter","Created":"18/05/2011","Visited":"18/05/2011","UserName":"Kartoffelhunter","MembershipLevel":3,"AccountID":3579558,"AccountGuid":"344121a1-10f3-443a-9ff6-f90fc43ba8be","Email":"","AvatarImage":"61105259-e319-4793-9bc3-51aae0eb9e10.jpg","GeocacheFindCount":1027,"GeocacheHideCount":2,"ChallengesCompleted":3,"IsEncoded":false,"creator":{"GroupTitle":"Premium Member","GroupImageUrl":"/images/icons/prem_user.gif"},"Images":[]},{"LogID":160254911,"CacheID":1433909,"LogGuid":"f315eb63-43e2-48ad-a3b9-fc775dfc9e27","Latitude":null,"Longitude":null,"LatLonString":"","LogType":"Found it","LogTypeImage":"icon_smile.gif","LogText":"Unsere erste gefundene Hannopoly-Karte, bei bestem Wetter. Und zur Belohnung ein Lecker Eis für Leona, Tomke und mich.","Created":"11/05/2011","Visited":"11/05/2011","UserName":"janko74","MembershipLevel":1,"AccountID":4460156,"AccountGuid":"bc9f2cab-dad8-465f-8b73-0d7d420e043c","Email":"","AvatarImage":"","GeocacheFindCount":4,"GeocacheHideCount":0,"ChallengesCompleted":0,"IsEncoded":false,"creator":{"GroupTitle":"Member","GroupImageUrl":"/images/icons/reg_user.gif"},"Images":[]}], "pageInfo": { "idx":1, "size": 25, "totalRows": 400, "rows": 400 } };
+initalLogs = {"status":"success", "data": [{"LogID":196904781,"CacheID":1433909,"LogGuid":"26f89faf-aa71-406e-9ea3-cdfa18a846e6","Latitude":null,"Longitude":null,"LatLonString":"","LogType":"Write note","LogTypeImage":"4.png","LogText":"s. mein Log bei Seestr.","Created":"05/11/2011","Visited":"05/11/2011","UserName":"daniel354","MembershipLevel":3,"AccountID":1477880,"AccountGuid":"8186d342-6f46-4d9e-8ba3-2e7b51426798","Email":"","AvatarImage":"b82a4dec-bd35-4cc8-b6dc-fe8bced5cbca.jpg","GeocacheFindCount":5203,"GeocacheHideCount":42,"ChallengesCompleted":2,"IsEncoded":false,"creator":{"GroupTitle":"Premium Member","GroupImageUrl":"/images/icons/prem_user.gif"},"Images":[]},{"LogID":196899232,"CacheID":1433909,"LogGuid":"f755b34d-0cc1-4740-827a-07311fe1a3b1","Latitude":null,"Longitude":null,"LatLonString":"","LogType":"Write note","LogTypeImage":"4.png","LogText":"Äh, Logbuch ist nicht mehr vor Ort - wie kann man da \"Found\" loggen ? Ansonsten würde ich auch \"Found\" loggen da ich Dienstag vor Ort war und genau weiß vor sich der Cache befand....","Created":"05/11/2011","Visited":"05/11/2011","UserName":"blafoo","MembershipLevel":3,"AccountID":1912314,"AccountGuid":"0564a940-8311-40ee-8e76-7e91b2cf6284","Email":"","AvatarImage":"50f83123-27d8-4dcf-9fde-2af006efaf2b.jpg","GeocacheFindCount":725,"GeocacheHideCount":8,"ChallengesCompleted":3,"IsEncoded":false,"creator":{"GroupTitle":"Premium Member","GroupImageUrl":"/images/icons/prem_user.gif"},"Images":[]},{"LogID":189731769,"CacheID":1433909,"LogGuid":"e674d2ed-7cac-4b49-96b1-3020e5c7f479","Latitude":null,"Longitude":null,"LatLonString":"","LogType":"Archive","LogTypeImage":"5.png","LogText":"Auch hier fehlt mir leider eine passende neue Idee. Wie alle archivierten Hannopolys wird auch diese Besitzrechtskarte ab sofort auf www.hannopoly.de zu finden sein. Danke für die sehr schönen Logs!","Created":"01/10/2011","Visited":"01/10/2011","UserName":"daniel354","MembershipLevel":3,"AccountID":1477880,"AccountGuid":"8186d342-6f46-4d9e-8ba3-2e7b51426798","Email":"","AvatarImage":"b82a4dec-bd35-4cc8-b6dc-fe8bced5cbca.jpg","GeocacheFindCount":5203,"GeocacheHideCount":42,"ChallengesCompleted":2,"IsEncoded":false,"creator":{"GroupTitle":"Premium Member","GroupImageUrl":"/images/icons/prem_user.gif"},"Images":[]},{"LogID":189390319,"CacheID":1433909,"LogGuid":"4510051e-2c87-4d09-b77d-d90f645bafe9","Latitude":null,"Longitude":null,"LatLonString":"","LogType":"Found it","LogTypeImage":"2.png","LogText":"wahrscheinlich nicht mehr so schön wie geplant, dennoch alles da, was der logger so braucht ... sogar´n herry ;-)<br /><br />dfdc","Created":"29/09/2011","Visited":"29/09/2011","UserName":"Sir5al","MembershipLevel":3,"AccountID":3229535,"AccountGuid":"66de7735-1888-479b-8dbd-ada710747374","Email":"","AvatarImage":"9da1d6ed-3a3f-47cb-aba3-f5550abe7d11.jpg","GeocacheFindCount":1019,"GeocacheHideCount":4,"ChallengesCompleted":0,"IsEncoded":false,"creator":{"GroupTitle":"Premium Member","GroupImageUrl":"/images/icons/prem_user.gif"},"Images":[]},{"LogID":186118551,"CacheID":1433909,"LogGuid":"acce0114-1712-4f32-b120-4b8bd4ef7200","Latitude":null,"Longitude":null,"LatLonString":"","LogType":"Found it","LogTypeImage":"2.png","LogText":"Leider habe ich erst gesehen das der Cache auf Eis liegt nach dem ich ihn gefunden habe.<br /><br />Ich konnte ihn denn noch gut finden und mich im großem Logbuch eintragen!<br /><br /><br />DFDC","Created":"11/09/2011","Visited":"27/08/2011","UserName":"Smootje1","MembershipLevel":3,"AccountID":4186572,"AccountGuid":"41b96bb9-ed81-473a-9032-1096d5c94423","Email":"","AvatarImage":"6052e05a-f2ce-45f1-86c4-c56fe8da6d2b.jpg","GeocacheFindCount":3836,"GeocacheHideCount":35,"ChallengesCompleted":1,"IsEncoded":false,"creator":{"GroupTitle":"Premium Member","GroupImageUrl":"/images/icons/prem_user.gif"},"Images":[]},{"LogID":171398380,"CacheID":1433909,"LogGuid":"845e6ead-bf44-4dd8-900e-81a78afc0887","Latitude":null,"Longitude":null,"LatLonString":"","LogType":"Write note","LogTypeImage":"4.png","LogText":"Daniel, du sprichst uns aus der Seele.. gestern Nacht dagewesen, um ihn ENDLICH zu heben, aber ohne Erfolg.. SCHNIEF","Created":"08/07/2011","Visited":"08/07/2011","UserName":"Steinbreit","MembershipLevel":3,"AccountID":4430835,"AccountGuid":"86281f53-49a2-4051-bc15-394d43724d65","Email":"","AvatarImage":"90f468a9-7059-43a7-a3c5-256879458a63.jpg","GeocacheFindCount":490,"GeocacheHideCount":8,"ChallengesCompleted":0,"IsEncoded":false,"creator":{"GroupTitle":"Premium Member","GroupImageUrl":"/images/icons/prem_user.gif"},"Images":[]},{"LogID":171063566,"CacheID":1433909,"LogGuid":"fc463b7b-ce41-4d16-a7a4-2107b8454a91","Latitude":null,"Longitude":null,"LatLonString":"","LogType":"Temporarily Disable Listing","LogTypeImage":"22.png","LogText":"Mist...","Created":"06/07/2011","Visited":"06/07/2011","UserName":"daniel354","MembershipLevel":3,"AccountID":1477880,"AccountGuid":"8186d342-6f46-4d9e-8ba3-2e7b51426798","Email":"","AvatarImage":"b82a4dec-bd35-4cc8-b6dc-fe8bced5cbca.jpg","GeocacheFindCount":5203,"GeocacheHideCount":42,"ChallengesCompleted":2,"IsEncoded":false,"creator":{"GroupTitle":"Premium Member","GroupImageUrl":"/images/icons/prem_user.gif"},"Images":[]},{"LogID":170116614,"CacheID":1433909,"LogGuid":"09c89c9c-ec9f-4387-a6ae-05fe6d11d9bf","Latitude":null,"Longitude":null,"LatLonString":"","LogType":"Found it","LogTypeImage":"2.png","LogText":"Ging schneller als gedacht. :-)<br /><br />TFTC","Created":"02/07/2011","Visited":"01/07/2011","UserName":"urbannature","MembershipLevel":1,"AccountID":2510965,"AccountGuid":"1f223c0d-d9ee-44c4-b411-35eee724b868","Email":"","AvatarImage":"476ea58f-a917-46c4-8e5a-b99484b514f6.jpg","GeocacheFindCount":2119,"GeocacheHideCount":8,"ChallengesCompleted":0,"IsEncoded":false,"creator":{"GroupTitle":"Member","GroupImageUrl":"/images/icons/reg_user.gif"},"Images":[]},{"LogID":168683009,"CacheID":1433909,"LogGuid":"53e3436d-3bbc-4b46-aa34-ca28bbd0723a","Latitude":null,"Longitude":null,"LatLonString":"","LogType":"Found it","LogTypeImage":"2.png","LogText":"Erster Hanopoly-Cach! Nach langem suchen und richtig lesen gefunden! ;)","Created":"24/06/2011","Visited":"24/06/2011","UserName":"anady","MembershipLevel":3,"AccountID":3551788,"AccountGuid":"c6d0f76b-df41-44d0-9d1f-e60b0ffa4f0a","Email":"","AvatarImage":"","GeocacheFindCount":148,"GeocacheHideCount":0,"ChallengesCompleted":0,"IsEncoded":false,"creator":{"GroupTitle":"Premium Member","GroupImageUrl":"/images/icons/prem_user.gif"},"Images":[]},{"LogID":168640932,"CacheID":1433909,"LogGuid":"fc364b9d-8ddb-4d0e-aa42-09b4dce93c94","Latitude":null,"Longitude":null,"LatLonString":"","LogType":"Found it","LogTypeImage":"2.png","LogText":"Zusammen mit anady hier gewesen und die bald Karte gefunden. Doch irgendwie war kein Logbuch auffindbar. Während wir noch etwas hin und her hantierten wurde es uns überraschend übergeben. Ob das so sein soll?<br /><br />Die Idee aber ist prima.<br /><br />TFTC! :-)","Created":"24/06/2011","Visited":"24/06/2011","UserName":"CriDi","MembershipLevel":3,"AccountID":3383487,"AccountGuid":"78aeaa8b-044d-40ac-8a80-656a1c7f85c1","Email":"","AvatarImage":"09f0aca7-6fcf-4d9a-bbf9-0f4b31c68f36.jpg","GeocacheFindCount":1026,"GeocacheHideCount":13,"ChallengesCompleted":0,"IsEncoded":false,"creator":{"GroupTitle":"Premium Member","GroupImageUrl":"/images/icons/prem_user.gif"},"Images":[]},{"LogID":167383966,"CacheID":1433909,"LogGuid":"6a4c21a6-c795-4d8e-8f0c-a4d7a357f837","Latitude":null,"Longitude":null,"LatLonString":"","LogType":"Found it","LogTypeImage":"2.png","LogText":"Interessantes Geschehen am Sonnabendvormittag; die Müllabfuhr kommt, die Post bringt Neuigkeiten ins Haus, Nachbarn treffen sich auf der Straße und klönen eine Runde, ein Auto aus SFA blockiert die Kreuzung, ein Radfahrer entsorgt den Müll aus dem Fahrradkorb direkt am Baum und unser Team vergisst fast die Suche ...<br /><br />DfdC!","Created":"18/06/2011","Visited":"18/06/2011","UserName":"2bupa","MembershipLevel":3,"AccountID":2675170,"AccountGuid":"e6a84779-ad63-4ba1-93fa-558a7190c8b4","Email":"","AvatarImage":"e30c21ec-8bce-4b90-9c6f-ee7e618da9fe.jpg","GeocacheFindCount":4550,"GeocacheHideCount":13,"ChallengesCompleted":0,"IsEncoded":false,"creator":{"GroupTitle":"Premium Member","GroupImageUrl":"/images/icons/prem_user.gif"},"Images":[]},{"LogID":167163052,"CacheID":1433909,"LogGuid":"2d51d81f-1581-4ae6-9254-0a5ffa163585","Latitude":null,"Longitude":null,"LatLonString":"","LogType":"Found it","LogTypeImage":"2.png","LogText":"War schon öfters hier, aber die Muggels saßen da nur so rum. Heute früh aufgestanden....<br /><br />DFDC grüße Putze","Created":"16/06/2011","Visited":"15/06/2011","UserName":"Weltallputze","MembershipLevel":1,"AccountID":4512106,"AccountGuid":"07449e94-85c8-4d2f-b387-cb0910b2d854","Email":"","AvatarImage":"0b9746f6-1fd4-47b9-8f07-5b2bb3b21cc0.jpg","GeocacheFindCount":226,"GeocacheHideCount":0,"ChallengesCompleted":0,"IsEncoded":false,"creator":{"GroupTitle":"Member","GroupImageUrl":"/images/icons/reg_user.gif"},"Images":[]},{"LogID":166633564,"CacheID":1433909,"LogGuid":"f6c8b6f6-527b-4ea0-ba85-8637cf47bd73","Latitude":null,"Longitude":null,"LatLonString":"","LogType":"Found it","LogTypeImage":"2.png","LogText":"Voll geil. Juhu und danke","Created":"13/06/2011","Visited":"13/06/2011","UserName":"Lumisch","MembershipLevel":1,"AccountID":4464524,"AccountGuid":"fcc7da31-928a-418f-ae3e-9f015b41ead6","Email":"","AvatarImage":"","GeocacheFindCount":54,"GeocacheHideCount":0,"ChallengesCompleted":0,"IsEncoded":false,"creator":{"GroupTitle":"Member","GroupImageUrl":"/images/icons/reg_user.gif"},"Images":[]},{"LogID":165707570,"CacheID":1433909,"LogGuid":"1adb0f76-9bfa-47a4-a7f2-4b3aab0ffcfb","Latitude":null,"Longitude":null,"LatLonString":"","LogType":"Found it","LogTypeImage":"2.png","LogText":"lecker eis :)","Created":"09/06/2011","Visited":"09/06/2011","UserName":"Nico Rohrssen","MembershipLevel":1,"AccountID":4523346,"AccountGuid":"3c66a437-1bbc-4cb1-bda0-8f609ac6efef","Email":"","AvatarImage":"","GeocacheFindCount":25,"GeocacheHideCount":2,"ChallengesCompleted":0,"IsEncoded":false,"creator":{"GroupTitle":"Member","GroupImageUrl":"/images/icons/reg_user.gif"},"Images":[]},{"LogID":164530395,"CacheID":1433909,"LogGuid":"477f0186-9c2a-40f9-8696-98afb9868205","Latitude":null,"Longitude":null,"LatLonString":"","LogType":"Found it","LogTypeImage":"2.png","LogText":"Nach langer sorgfältiger Vorplanung (an welchem Tag lohnt sich das frühe Aufstehen?) bei Sonnenaufgang angeschlichen und... gefunden! Gotcha! DfdC!","Created":"03/06/2011","Visited":"03/06/2011","UserName":"Deistermonster","MembershipLevel":3,"AccountID":4165483,"AccountGuid":"116149cb-3e0f-4c50-b51e-95b756d64da4","Email":"","AvatarImage":"54fe057c-f79a-4d82-b587-53c5b2b9386f.jpg","GeocacheFindCount":1506,"GeocacheHideCount":0,"ChallengesCompleted":0,"IsEncoded":false,"creator":{"GroupTitle":"Premium Member","GroupImageUrl":"/images/icons/prem_user.gif"},"Images":[]},{"LogID":164413372,"CacheID":1433909,"LogGuid":"e2c9bdad-9282-49f2-aba4-7e2ac058afa5","Latitude":null,"Longitude":null,"LatLonString":"","LogType":"Found it","LogTypeImage":"2.png","LogText":"Morgens um 6 Uhr muggelfrei geloggt.<img src=\"/images/icons/icon_smile_big.gif\" border=\"0\" align=\"middle\" />Endlich! Der war schon ewig geplant, aber um unserer Idee nachzugehen, fehlte zur \"normalen\" Tageszeit der Mut. Ist schon ein lustiges Versteck... TFTC sagt Soukousa","Created":"03/06/2011","Visited":"03/06/2011","UserName":"Soukousa","MembershipLevel":3,"AccountID":4154048,"AccountGuid":"399bef0c-1cdd-4024-a00e-3199484131af","Email":"","AvatarImage":"8480d5e4-f43e-48e5-a449-c01ce424ff05.jpg","GeocacheFindCount":1506,"GeocacheHideCount":0,"ChallengesCompleted":0,"IsEncoded":false,"creator":{"GroupTitle":"Premium Member","GroupImageUrl":"/images/icons/prem_user.gif"},"Images":[]},{"LogID":163515249,"CacheID":1433909,"LogGuid":"cda47e99-cd5f-4fc1-aa40-cb3bccff4f46","Latitude":null,"Longitude":null,"LatLonString":"","LogType":"Found it","LogTypeImage":"2.png","LogText":"Bei einem leckerem Eis das Logbuch siegniert.<br /><br />TFTC<br />Don Canallie","Created":"29/05/2011","Visited":"29/05/2011","UserName":"Don Canallie","MembershipLevel":3,"AccountID":3891097,"AccountGuid":"80970931-2e97-4291-abfd-564635f5d86f","Email":"","AvatarImage":"e6944e25-df18-45fb-acca-93ee08e923da.jpg","GeocacheFindCount":757,"GeocacheHideCount":2,"ChallengesCompleted":0,"IsEncoded":false,"creator":{"GroupTitle":"Premium Member","GroupImageUrl":"/images/icons/prem_user.gif"},"Images":[]},{"LogID":163307833,"CacheID":1433909,"LogGuid":"caad1abc-eb5c-4b99-ae92-232057825f41","Latitude":null,"Longitude":null,"LatLonString":"","LogType":"Found it","LogTypeImage":"2.png","LogText":"Während einer schönen Li-Li-Ahlem Fahrrad Cachingtour gesucht und geborgen, danach wieder korrekt versteckt, damit es nicht zu einfach wird. dfdc <img src=\"/images/icons/icon_smile.gif\" border=\"0\" align=\"middle\" />","Created":"29/05/2011","Visited":"28/05/2011","UserName":"rimini08","MembershipLevel":3,"AccountID":4088331,"AccountGuid":"2fe34526-d72d-478e-9b7f-9dc5c3e1d6c1","Email":"","AvatarImage":"","GeocacheFindCount":509,"GeocacheHideCount":0,"ChallengesCompleted":0,"IsEncoded":false,"creator":{"GroupTitle":"Premium Member","GroupImageUrl":"/images/icons/prem_user.gif"},"Images":[]},{"LogID":163325464,"CacheID":1433909,"LogGuid":"c3475f2f-1e55-43aa-89a8-3a1ce8ddc525","Latitude":null,"Longitude":null,"LatLonString":"","LogType":"Found it","LogTypeImage":"2.png","LogText":"<i>gut gefunden, danke fürs verstecken!</i> <br /><br /><b> <font color=\"red\">TFTC<br /><br /><b> <font color=\"green\">...sprechenden Cachern kann geholfen werden <img src=\"/images/icons/icon_smile.gif\" border=\"0\" align=\"middle\" /><br /><br /><img src=\"/images/icons/icon_smile.gif\" border=\"0\" align=\"middle\" /> <b> <font size=\"3\"> <font color=\"green\">J<font color=\"black\">o<font color=\"green\">h<font color=\"black\">a<font color=\"green\">n<font color=\"black\">s<font color=\"green\">i<font color=\"black\">b<font color=\"green\">ä<font color=\"black\">r <font color=\"orange\">2011</font> <img src=\"/images/icons/icon_smile.gif\" border=\"0\" align=\"middle\" /></font></font></font></font></font></font></font></font></font></font></font></b><font size=\"3\"><font color=\"green\"><font color=\"black\"><font color=\"green\"><font color=\"black\"><font color=\"green\"><font color=\"black\"><font color=\"green\"><font color=\"black\"><font color=\"green\"><font color=\"black\"></font></font></font></font></font></font></font></font></font></font></font></font></b></font></b>","Created":"29/05/2011","Visited":"22/05/2011","UserName":"Johansibär","MembershipLevel":3,"AccountID":1858674,"AccountGuid":"05f9d911-9cdc-4224-84b3-8e4923228958","Email":"","AvatarImage":"4d235c2f-81b6-42c4-a28c-5df2182a289d.jpg","GeocacheFindCount":1193,"GeocacheHideCount":17,"ChallengesCompleted":0,"IsEncoded":false,"creator":{"GroupTitle":"Premium Member","GroupImageUrl":"/images/icons/prem_user.gif"},"Images":[]},{"LogID":162246062,"CacheID":1433909,"LogGuid":"e9eec580-6831-40ba-8530-c9722017a142","Latitude":null,"Longitude":null,"LatLonString":"","LogType":"Found it","LogTypeImage":"2.png","LogText":"Schon vor ein paar Tagen die Karte entdeckt aber das loggen war uns nicht so klar...nun haben wir uns heute auch im Logbuch verewigt. Nette Idee, DfdC.","Created":"22/05/2011","Visited":"22/05/2011","UserName":"Flunin","MembershipLevel":3,"AccountID":3435189,"AccountGuid":"4c851b2a-967c-427d-91eb-268b5ffb0f0a","Email":"","AvatarImage":"","GeocacheFindCount":620,"GeocacheHideCount":2,"ChallengesCompleted":0,"IsEncoded":false,"creator":{"GroupTitle":"Premium Member","GroupImageUrl":"/images/icons/prem_user.gif"},"Images":[]},{"LogID":161705502,"CacheID":1433909,"LogGuid":"0b303d23-fb26-4b29-b5d2-2bb8828682ae","Latitude":null,"Longitude":null,"LatLonString":"","LogType":"Found it","LogTypeImage":"2.png","LogText":"Nach nem kleinen Tipp dann doch noch loggen können :-)<br />DFDC","Created":"20/05/2011","Visited":"20/05/2011","UserName":"Leafhoppers","MembershipLevel":1,"AccountID":3766111,"AccountGuid":"37bd64d5-a74f-4a12-b040-460f83652198","Email":"","AvatarImage":"","GeocacheFindCount":588,"GeocacheHideCount":0,"ChallengesCompleted":7,"IsEncoded":false,"creator":{"GroupTitle":"Member","GroupImageUrl":"/images/icons/reg_user.gif"},"Images":[]},{"LogID":161990811,"CacheID":1433909,"LogGuid":"1ac63b3e-075a-48b7-9a1f-222b19c71868","Latitude":null,"Longitude":null,"LatLonString":"","LogType":"Found it","LogTypeImage":"2.png","LogText":"Zusammen mit i-teg um 15:25 Uhr geloggt. <br />TFTC!<br />#488","Created":"21/05/2011","Visited":"19/05/2011","UserName":"justify-jay","MembershipLevel":1,"AccountID":3936481,"AccountGuid":"af49ff9e-5331-4565-97e8-5f5bf45e33b2","Email":"","AvatarImage":"198d173a-7efa-416c-b495-b15ed30f94a1.jpg","GeocacheFindCount":1105,"GeocacheHideCount":2,"ChallengesCompleted":2,"IsEncoded":false,"creator":{"GroupTitle":"Member","GroupImageUrl":"/images/icons/reg_user.gif"},"Images":[]},{"LogID":161988577,"CacheID":1433909,"LogGuid":"19a1ae8a-e3d7-492c-a866-002064968183","Latitude":null,"Longitude":null,"LatLonString":"","LogType":"Found it","LogTypeImage":"2.png","LogText":"Auf Spontantour zusammen mit justify-jay um 15:25 Uhr zum Logbuch durchgedrungen :-) ! <br />TFTC!<br />#488","Created":"21/05/2011","Visited":"19/05/2011","UserName":"i-teg","MembershipLevel":1,"AccountID":3936536,"AccountGuid":"a30caa8b-0ba4-4a20-875f-ac825eacbf41","Email":"","AvatarImage":"533a43c0-8416-452f-8011-f575dee42268.jpg","GeocacheFindCount":1105,"GeocacheHideCount":2,"ChallengesCompleted":2,"IsEncoded":false,"creator":{"GroupTitle":"Member","GroupImageUrl":"/images/icons/reg_user.gif"},"Images":[]},{"LogID":161489085,"CacheID":1433909,"LogGuid":"0686f7dd-e12b-4b99-b7c7-24df895f48fb","Latitude":null,"Longitude":null,"LatLonString":"","LogType":"Found it","LogTypeImage":"2.png","LogText":"Schnell gefunden da unsere Vorlogger scheinbar den Cache nicht wieder ganz genau plaziert hatten. Weils so schnell ging ne leckeres Eis in der Sonne genossen.<br />Ein super Cache, vielen Dank dafür.<br />Kartoffelhunter","Created":"18/05/2011","Visited":"18/05/2011","UserName":"Kartoffelhunter","MembershipLevel":3,"AccountID":3579558,"AccountGuid":"344121a1-10f3-443a-9ff6-f90fc43ba8be","Email":"","AvatarImage":"61105259-e319-4793-9bc3-51aae0eb9e10.jpg","GeocacheFindCount":1027,"GeocacheHideCount":2,"ChallengesCompleted":3,"IsEncoded":false,"creator":{"GroupTitle":"Premium Member","GroupImageUrl":"/images/icons/prem_user.gif"},"Images":[]},{"LogID":160254911,"CacheID":1433909,"LogGuid":"f315eb63-43e2-48ad-a3b9-fc775dfc9e27","Latitude":null,"Longitude":null,"LatLonString":"","LogType":"Found it","LogTypeImage":"2.png","LogText":"Unsere erste gefundene Hannopoly-Karte, bei bestem Wetter. Und zur Belohnung ein Lecker Eis für Leona, Tomke und mich.","Created":"11/05/2011","Visited":"11/05/2011","UserName":"janko74","MembershipLevel":1,"AccountID":4460156,"AccountGuid":"bc9f2cab-dad8-465f-8b73-0d7d420e043c","Email":"","AvatarImage":"","GeocacheFindCount":4,"GeocacheHideCount":0,"ChallengesCompleted":0,"IsEncoded":false,"creator":{"GroupTitle":"Member","GroupImageUrl":"/images/icons/reg_user.gif"},"Images":[]}], "pageInfo": { "idx":1, "size": 25, "totalRows": 400, "rows": 400 } };
//]]>
</script>
</form>
@@ -2072,38 +2141,14 @@ initalLogs = {"status":"success", "data": [{"LogID":196904781,"CacheID":1433909, });
</script>
- <script id="loc_favPointsWhatsThisDesc" type="text/html">
- Geocaching Favorites is a simple way to track and share the caches that you enjoyed the most. For every 10 distinct caches that you have found, you will be able to Favorite 1 exceptional cache in your find history. The Favorites accumulated by a cache are displayed in search results and on the cache page so everyone can see which caches stand above the rest.
- </script>
- <script id="loc_favPointsWhatsThisTitle" type="text/html">
- About Favorite Points
- </script>
+
<script id="loc_favPointsScoreDesc" type="text/html">
Favorites/Premium Logs
</script>
<script type="text/javascript" language="javascript">
<!--
- $('#uxFavPointsWhatsThis').qtip({
- content: {
- text: $("#loc_favPointsWhatsThisDesc").html(),
- title: {
- text: $("#loc_favPointsWhatsThisTitle").html(),
- button: true
- }
- },
- position: {
- my: 'top center',
- at: 'bottom center'
- },
- show: {
- event: 'click'
- },
- hide: 'click unfocus',
- style: {
- classes: 'ui-tooltip'
- }
- })
+
var gotScore = false;
var favDropDown = $('.favorite-dropdown');
@@ -2225,6 +2270,6 @@ initalLogs = {"status":"success", "data": [{"LogID":196904781,"CacheID":1433909, </div>
<!-- End Quantcast tag -->
- <!-- Server: WEB09; Build: Web.HotFix_20121016.3 -->
+ <!-- Server: WEB13; Build: Web.HotFix_20121211.1 -->
</body>
</html>
diff --git a/tests/src/cgeo/geocaching/test/mock/GC2CJPF.html b/tests/src/cgeo/geocaching/test/mock/GC2CJPF.html index 893cecc..b06215d 100644 --- a/tests/src/cgeo/geocaching/test/mock/GC2CJPF.html +++ b/tests/src/cgeo/geocaching/test/mock/GC2CJPF.html @@ -127,11 +127,11 @@ resize: none;
}
legend.note{
- background:url('../images/silk/note.png') no-repeat 0 0;
+ background:url('../images/icons/16/user_note.png') no-repeat 0 0;
padding-left:18px;
}
legend.warning{
- background:url('../images/silk/exclamation.png') no-repeat 0 0;
+ background:url('../images/icons/16/take_note.png') no-repeat 0 0;
padding-left:18px;
}
fieldset.CacheNote{
@@ -154,6 +154,7 @@ }
#tiptip_content{
*background-color:#000;
+ box-shadow:none;
}
.maxed{
color:#992a2a;
@@ -167,7 +168,7 @@ .edit-cache-coordinates{
text-decoration: none;
color: #000 !important;
- background: url(/images/silk/pencil.png) no-repeat right 0;
+ background: url(/images/icons/16/edit.png) no-repeat right 0;
padding:2px 20px 2px 0px;
margin-right:4px;
}
@@ -244,9 +245,9 @@ <input type="hidden" name="__EVENTTARGET" id="__EVENTTARGET" value="" />
<input type="hidden" name="__EVENTARGUMENT" id="__EVENTARGUMENT" value="" />
<input type="hidden" name="__VIEWSTATEFIELDCOUNT" id="__VIEWSTATEFIELDCOUNT" value="3" />
-<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwUKLTI5ODA0Nzc1OQ8WAh4EQy5JRCgpWVN5c3RlbS5JbnQ2NCwgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5BzE4MTE0MDkWAmYPZBYGZg9kFgoCBg8WAh4EVGV4dAViPG1ldGEgbmFtZT0iQ29weXJpZ2h0IiBjb250ZW50PSJDb3B5cmlnaHQgKGMpIDIwMDAtMjAxMiBHcm91bmRzcGVhaywgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLiIgLz5kAgcPFgIfAQVHPCEtLSBDb3B5cmlnaHQgKGMpIDIwMDAtMjAxMiBHcm91bmRzcGVhaywgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLiAtLT5kAhoPFgIeBGhyZWYFHX4vY3NzL3Rsbk1hc3RlclNjcmVlbi5jc3M/cj0xZAIbDxYCHwIFFX4vY3NzL3Rsbk1haW4uY3NzP3I9MWQCIA8WAh4HVmlzaWJsZWhkAgEPZBYQAgUPFgIfAWRkAggPFgIfA2cWCAIBDw8WAh4ISW1hZ2VVcmwFTmh0dHA6Ly9pbWcuZ2VvY2FjaGluZy5jb20vdXNlci9hdmF0YXIvNTBmODMxMjMtMjdkOC00ZGNmLTlmZGUtMmFmMDA2ZWZhZjJiLmpwZ2RkAgMPFgIfAQVoSGVsbG8sIDxhIGhyZWY9Ii9teS9kZWZhdWx0LmFzcHgiIHRpdGxlPSJWaWV3IFByb2ZpbGUgZm9yIGJsYWZvbyIgY2xhc3M9IlNpZ25lZEluUHJvZmlsZUxpbmsiPmJsYWZvbzwvYT5kAgUPDxYCHgtOYXZpZ2F0ZVVybAWtAWh0dHBzOi8vd3d3Lmdlb2NhY2hpbmcuY29tL2xvZ2luL2RlZmF1bHQuYXNweD9SRVNFVD1ZJnJlZGlyPWh0dHAlM2ElMmYlMmZ3d3cuZ2VvY2FjaGluZy5jb20lMmZzZWVrJTJmY2FjaGVfZGV0YWlscy5hc3B4JTNmbG9nJTNkeSUyNndwJTNkR0MyQ0pQRiUyNm51bWxvZ3MlM2QzNSUyNmRlY3J5cHQlM2R5ZGQCCw8WAh8BBasBPGltZyBzcmM9Ii9pbWFnZXMvaWNvbnMvaWNvbl9zbWlsZS5wbmciIHRpdGxlPSJDYWNoZXMgRm91bmQiIC8+IDY5MiZuYnNwOyZuYnNwOyZuYnNwOzxpbWcgc3JjPSIvaW1hZ2VzL2NoYWxsZW5nZXMvdHlwZXMvc20vY2hhbGxlbmdlLnBuZyIgdGl0bGU9IkNoYWxsZW5nZXMgQ29tcGxldGVkIiAvPiAzZAINDxYCHwNnFgICDQ8PFgIfBQVAfi90cmFjay9zZWFyY2guYXNweD9vPTEmdWlkPTA1NjRhOTQwLTgzMTEtNDBlZS04ZTc2LTdlOTFiMmNmNjI4NGRkAhAPDxYCHwNnZGQCLg9kFgICAw8WAh8DaGQCLw8WAh4FY2xhc3MFDHNwYW4tMjQgbGFzdBYCAgEPZBYwAgEPZBYCZg9kFgICAQ8PFgIfAQUHR0MyQ0pQRmRkAgIPFgIfAQWaATxhIGhyZWY9Ii9hYm91dC9jYWNoZV90eXBlcy5hc3B4IiB0YXJnZXQ9Il9ibGFuayIgdGl0bGU9IkFib3V0IENhY2hlIFR5cGVzIj48aW1nIHNyYz0iL2ltYWdlcy9XcHRUeXBlcy8zLmdpZiIgYWx0PSJNdWx0aS1jYWNoZSIgdGl0bGU9Ik11bHRpLWNhY2hlIiAvPjwvYT5kAgYPZBYEAgEPFgIfA2dkAgYPFgIfA2hkAgsPZBYEAgEPFgIfAQUCMTNkAgUPDxYCHwUFRC9zZWVrL2NhY2hlX2Zhdm9yaXRlZC5hc3B4P2d1aWQ9NzMyNDZhNWEtZWJiOS00ZDRmLThkYjktYTk1MTAzNmY1Mzc2ZGQCDQ8PFgIfBQUZaHR0cDovL3d3dy5raW5kZXJ3YWxkLmRlL2RkAhAPFgIfA2hkAhEPFgIfA2hkAhIPZBYMAgMPFgIeBXN0eWxlBQ9kaXNwbGF5OmlubGluZTsWAgIBDxYCHwEFG1VUTTogMzJVIEUgNTQ1MTY0IE4gNTgwODUyNGQCDQ8PFgIfBQUzY2RwZi5hc3B4P2d1aWQ9NzMyNDZhNWEtZWJiOS00ZDRmLThkYjktYTk1MTAzNmY1Mzc2ZGQCDw8PFgIfBQU4Y2RwZi5hc3B4P2d1aWQ9NzMyNDZhNWEtZWJiOS00ZDRmLThkYjktYTk1MTAzNmY1Mzc2JmxjPTVkZAIRDw8WAh8FBTljZHBmLmFzcHg/Z3VpZD03MzI0NmE1YS1lYmI5LTRkNGYtOGRiOS1hOTUxMDM2ZjUzNzYmbGM9MTBkZAITDw8WBB8FBXNodHRwOi8vbWFwcy5nb29nbGUuY29tL21hcHM/Zj1kJmhsPWVuJnNhZGRyPTUyLjQxNjIsOS41OTQxMTcgKEhvbWUgTG9jYXRpb24pJmRhZGRyPTUyLjQyNTA2Nyw5LjY2NDIoS2luZGVyd2FsZCtLaUMpHgZUYXJnZXQFBl9ibGFua2RkAhsPZBYIAgEPDxYEHglGb3JlQ29sb3IMHgRfIVNCAgRkZAIDDw8WBB8JDB8KAgRkZAIFDw8WAh8DZxYCHgdvbmNsaWNrBTtzMmdwcygnNzMyNDZhNWEtZWJiOS00ZDRmLThkYjktYTk1MTAzNmY1Mzc2Jyk7cmV0dXJuIGZhbHNlO2QCBw8PFgIfA2cWAh8LBSBzMnBob25lKCdHQzJDSlBGJyk7cmV0dXJuIGZhbHNlO2QCFA8WAh8DZ2QCFw9kFghmDxYCHwNoZAIBDw8WAh8DaGRkAgIPDxYCHwNoZGQCAw8WAh8DaGQCGA9kFgICAw8PFgIfAQUHRW5jcnlwdGRkAhkPFgIfAQUbRGFzIEZpbmFsIGlzdCB1bnRlciBTdGVpbmVuZAIcD2QWBAIBDw8WBB4IQ3NzQ2xhc3NkHwoCAmRkAgQPFgIfAQUCMTNkAh0PZBYCAgEPFgIfA2cWAgIBDw8WAh8FBTgvc2Vlay9sb2cuYXNweD9MVUlEPTdjNmYwODkxLTcwMDMtNGFlNS05MjMxLWMyZTQxN2QxYzVlNGRkAh4PFgIfA2dkAh8PFgIfA2hkAiIPZBYCAgEPZBYEAgEPDxYCHwEF/wM8aWZyYW1lIHR5cGU9ImlmcmFtZSIgc3JjPSJodHRwOi8vYWRzLmdyb3VuZHNwZWFrLmNvbS9hLmFzcHg/Wm9uZUlEPTkmVGFzaz1HZXQmU2l0ZUlEPTEmWD0nM2I2ZThjNjU0NGZkNDEyNmIxY2U1MDJlMTMxZTQyNmYnIiB3aWR0aD0iMTIwIiBoZWlnaHQ9IjI0MCIgTWFyZ2lud2lkdGg9IjAiIE1hcmdpbmhlaWdodD0iMCIgSHNwYWNlPSIwIiBWc3BhY2U9IjAiIEZyYW1lYm9yZGVyPSIwIiBTY3JvbGxpbmc9Im5vIiBzdHlsZT0id2lkdGg6MTIwcHg7SGVpZ2h0OjI0MHB4OyI+PGEgaHJlZj0iaHR0cDovL2Fkcy5ncm91bmRzcGVhay5jb20vYS5hc3B4P1pvbmVJRD05JlRhc2s9Q2xpY2smO01vZGU9SFRNTCZTaXRlSUQ9MSIgdGFyZ2V0PSJfYmxhbmsiPjxpbWcgc3JjPSJodHRwOi8vYWRzLmdyb3VuZHNwZWFrLmNvbS9hLmFzcHg/Wm9uZUlEPTkmVGFzaz1HZXQmTW9kZT1IVE1MJlNpdGVJRD0xIiB3aWR0aD0iMTIwIiBoZWlnaHQ9IjI0MCIgYm9yZGVyPSIwIiBhbHQ9IiIgLz48L2E+PC9pZnJhbWU+ZGQCAw8WAh4JaW5uZXJodG1sBRNBZHZlcnRpc2luZyB3aXRoIFVzZAImD2QWBAIHDw8WAh8DZ2RkAgsPDxYCHwUFPH4vdHJhY2svc2VhcmNoLmFzcHg/d2lkPTczMjQ2YTVhLWViYjktNGQ0Zi04ZGI5LWE5NTEwMzZmNTM3NmRkAicPDxYCHwNnZBYCZg8WAh4LXyFJdGVtQ291bnQCARYCAgEPZBYEZg8VAwBXaHR0cDovL3d3dy5nZW9jYWNoaW5nLmNvbS9ib29rbWFya3Mvdmlldy5hc3B4P2d1aWQ9M2VlZWEwNTctZjYwNS00ODVhLWE0NWEtZjVmZWExNDI2NjEyEktpbmRlcmNhY2hlcyAoS2lDKWQCAg8VAkxodHRwOi8vd3d3Lmdlb2NhY2hpbmcuY29tL3Byb2ZpbGUvP2d1aWQ9MDU2NGE5NDAtODMxMS00MGVlLThlNzYtN2U5MWIyY2Y2Mjg0BmJsYWZvb2QCKA8PFgIfA2dkFgJmDxYCHw4CARYCAgEPZBYEZg8VAwBXaHR0cDovL3d3dy5nZW9jYWNoaW5nLmNvbS9ib29rbWFya3Mvdmlldy5hc3B4P2d1aWQ9M2VlZWEwNTctZjYwNS00ODVhLWE0NWEtZjVmZWExNDI2NjEyEktpbmRlcmNhY2hlcyAoS2lDKWQCAg8VAkxodHRwOi8vd3d3Lmdlb2NhY2hpbmcuY29tL3Byb2ZpbGUvP2d1aWQ9MDU2NGE5NDAtODMxMS00MGVlLThlNzYtN2U5MWIyY2Y2Mjg0BmJsYWZvb2QCKQ9kFhQCAw9kFgICAQ8PFgIfBQVFL2hpZGUvd3B0bGlzdC5hc3B4P1JlZldwdElEPTczMjQ2YTVhLWViYjktNGQ0Zi04ZGI5LWE5NTEwMzZmNTM3NiZEUz0xZGQCBw8PFgQeBlJEUy5JRAspdkdyb3VuZHNwZWFrLldlYi5HUFguV3B0RGF0YVNvdXJjZXMsIFR1Y3Nvbi5Db21tb24uTGVnYWN5LCBWZXJzaW9uPTMuMC40NjcyLjE3OTQzLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPW51bGwBHgdSV1BULklEKCsEBzE4MTE0MDlkFgJmDxYCHw4CBBYKZg9kFgJmDw8WAh8DaGRkAgEPZBYOZg8VAgAFZmFsc2Vk" />
-<input type="hidden" name="__VIEWSTATE1" id="__VIEWSTATE1" value="AgIPFQd0PGltZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHNyYz0iL2ltYWdlcy9pY29ucy9pY29uX25vY29vcmRzLmpwZyIgYWx0PSJIaWRlIENvb3JkaW5hdGVzIiB0aXRsZT0iSGlkZSBDb29yZGluYXRlcyIgLz6GATxpbWcgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiBzcmM9Imh0dHA6Ly93d3cuZ2VvY2FjaGluZy5jb20vaW1hZ2VzL3dwdHR5cGVzL3NtL2ZsYWcuanBnIiBhbHQ9IkZpbmFsIExvY2F0aW9uIiB0aXRsZT0iRmluYWwgTG9jYXRpb24iIC8+AkZOAkZOBUZJTkFMsAE8YSBocmVmPSJodHRwOi8vd3d3Lmdlb2NhY2hpbmcuY29tL3NlZWsvd3B0LmFzcHg/V0lEPTMwZjFiMzdjLWQzOTUtNGM3YS05NGUyLTBjNjQ5ZDVmMjMxYiZSZWZJRD03MzI0NmE1YS1lYmI5LTRkNGYtOGRiOS1hOTUxMDM2ZjUzNzYmUmVmRFM9MSI+R0MyQ0pQRiBGaW5hbDwvYT4gKEZpbmFsIExvY2F0aW9uKQM/Pz9kAgUPDxYCHgdUb29sVGlwBQRFZGl0ZGQCBw8PFgIfEQUDTWFwZGQCCw8PFgIeDUFsdGVybmF0ZVRleHQFBlJlbW92ZRYCHwsFQHJldHVybiBjb25maXJtKCdBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gcmVtb3ZlIHRoaXMgd2F5cG9pbnQ/JylkAgwPFQEAZAIODxUBAGQCAg9kFg5mDxUCDkFsdGVybmF0aW5nUm93BWZhbHNlZAICDxUHYjxpbWcgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiBzcmM9Ii9pbWFnZXMvaWNvbnMvaWNvbl92aWV3YWJsZS5qcGciIGFsdD0iVmlzaWJsZSIgdGl0bGU9IlZpc2libGUiIC8+gQE8aW1nIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgc3JjPSJodHRwOi8vd3d3Lmdlb2NhY2hpbmcuY29tL2ltYWdlcy93cHR0eXBlcy9zbS9wa2cuanBnIiBhbHQ9IlBhcmtpbmcgQXJlYSIgdGl0bGU9IlBhcmtpbmcgQXJlYSIgLz4CUEsCUEsGUEFSS05HsAE8YSBocmVmPSJodHRwOi8vd3d3Lmdlb2NhY2hpbmcuY29tL3NlZWsvd3B0LmFzcHg/V0lEPTk4Y2IxMzg3LTQ5Y2UtNGY5NC05YjA1LTVjYjA3OWQzMzJiMSZSZWZJRD03MzI0NmE1YS1lYmI5LTRkNGYtOGRiOS1hOTUxMDM2ZjUzNzYmUmVmRFM9MSI+R0MyQ0pQRiBQYXJraW5nPC9hPiAoUGFya2luZyBBcmVhKRxOIDUywrAgMjUuMzg0IEUgMDA5wrAgMzkuMDIzZAIFDw8WAh8RBQRFZGl0ZGQCBw8PFgIfEQUDTWFwZGQCCw8PFgIfEgUGUmVtb3ZlFgIfCwVAcmV0dXJuIGNvbmZpcm0oJ0FyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byByZW1vdmUgdGhpcyB3YXlwb2ludD8nKWQCDA8VAQ5BbHRlcm5hdGluZ1Jvd2QCDg8VATdLZWluICJvZmZpemllbGxlciIgUGFya3BsYXR6LCBQYXJrZW4gdHJvdHpkZW0gbcO2Z2xpY2guZAIDD2QWDmYPFQIABWZhbHNlZAICDxUHYjxpbWcgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiBzcmM9Ii9pbWFnZXMvaWNvbnMvaWNvbl92aWV3YWJsZS5qcGciIGFsdD0iVmlzaWJsZSIgdGl0bGU9IlZpc2libGUiIC8+kAE8aW1nIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgc3JjPSJodHRwOi8vd3d3Lmdlb2NhY2hpbmcuY29tL2ltYWdlcy93cHR0eXBlcy9zbS9wdXp6bGUuanBnIiBhbHQ9IlF1ZXN0aW9uIHRvIEFuc3dlciIgdGl0bGU9IlF1ZXN0aW9uIHRvIEFuc3dlciIgLz4CU1QCU1QFU1RBUlS0ATxhIGhyZWY9Imh0dHA6Ly93d3cuZ2VvY2FjaGluZy5jb20vc2Vlay93cHQuYXNweD9XSUQ9MDQxMTNiYWQtNjRjYS00OTlhLTk4NDgtYjU5MzdlMTNkYTFiJlJlZklEPTczMjQ2YTVhLWViYjktNGQ0Zi04ZGI5LWE5NTEwMzZmNTM3NiZSZWZEUz0xIj5HQzJDSlBGIFN0YXJ0PC9hPiAoUXVlc3Rpb24gdG8gQW5zd2VyKRxOIDUywrAgMjUuNTA0IEUgMDA5wrAgMzkuODUyZAIFDw8WAh8RBQRFZGl0ZGQCBw8PFgIfEQUDTWFwZGQCCw8PFgIfEgUGUmVtb3ZlFgIfCwVAcmV0dXJuIGNvbmZpcm0oJ0FyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byByZW1vdmUgdGhpcyB3YXlwb2ludD8nKWQCDA8VAQBkAg4PFQEAZAIED2QWDmYPFQIOQWx0ZXJuYXRpbmdSb3cFZmFsc2VkAgIPFQdiPGltZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHNyYz0iL2ltYWdlcy9pY29ucy9pY29uX3ZpZXdhYmxlLmpwZyIgYWx0PSJWaXNpYmxlIiB0aXRsZT0iVmlzaWJsZSIgLz6MATxpbWcgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiBzcmM9Imh0dHA6Ly93d3cuZ2VvY2FjaGluZy5jb20vaW1hZ2VzL3dwdHR5cGVzL3NtL3dheXBvaW50LmpwZyIgYWx0PSJSZWZlcmVuY2UgUG9pbnQiIHRpdGxlPSJSZWZlcmVuY2UgUG9pbnQiIC8+AldPAldPBlNDRU5JQ7IBPGEgaHJlZj0iaHR0cDovL3d3dy5nZW9jYWNoaW5nLmNvbS9zZWVrL3dwdC5hc3B4P1dJRD1iMjhjNTg3OS0zMTgxLTQ1MTAtOTRmYS02ZWM1ZTMwZmQwNTYmUmVmSUQ9NzMyNDZhNWEtZWJiOS00ZDRmLThkYjktYTk1MTAzNmY1Mzc2JlJlZkRTPTEiPkF1c3NpY2h0c3B1bmt0PC9hPiAoUmVmZXJlbmNlIFBvaW50KRxOIDUywrAgMjUuNDg4IEUgMDA5wrAgMzkuNDMyZAIFDw8WAh8RBQRFZGl0ZGQCBw8PFgIfEQUDTWFwZGQCCw8PFgIfEgUGUmVtb3ZlFgIfCwVAcmV0dXJuIGNvbmZpcm0oJ0FyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byByZW1vdmUgdGhpcyB3YXlwb2ludD8nKWQCDA8VAQ5BbHRlcm5hdGluZ1Jvd2QCDg8VAU9FaGVtYWxpZ2UgRmluYWxsb2NhdGlvbiB3byBlcyBnZWJyYW5udCBoYXQuIEdsZWljaHplaXRpZyBuZXR0ZXIgQXVzc2ljaHRzcHVua3QuZAIJDw8WAh8DZ2QWAgIBDw8WBB8FBSovbWFwL2RlZmF1bHQuYXNweD9sYXQ9NTIuNDI1MDY3JmxuZz05LjY2NDIfA2dkZAIRDw8WAh8FBRovc2Vlay9uZWFyZXN0LmFzcHg/dT1Ub20wM2RkAhUPDxYCHwUFGy9zZWVrL25lYXJlc3QuYXNweD91bD1Ub20wM2RkAhkPZBYKAgMPDxYCHwUFVS9zZWVrL25lYXJlc3QuYXNweD90eD1hNWY2ZDBhZC1kMmYyLTQwMTEtOGMxNC05NDBhOWViZjNjNzQmbGF0PTUyLjQyNTA2NyZsbmc9OS42NjQyMDBkZAIFDw8WAh8FBVkvc2Vlay9uZWFyZXN0LmFzcHg/dHg9YTVmNmQwYWQtZDJmMi00MDExLThjMTQtOTQwYTllYmYzYzc0JmxhdD01Mi40MjUwNjcmbG5nPTkuNjY0MjAwJmY9MWRkAgkPDxYCHwUFLS9zZWVrL25lYXJlc3QuYXNweD9sYXQ9NTIuNDI1MDY3JmxuZz05LjY2NDIwMGRkAgsPDxYCHwUFMS9zZWVrL25lYXJlc3QuYXNweD9sYXQ9NTIuNDI1MDY3JmxuZz05LjY2NDIwMCZmPTFkZAIPDw8WAh8FBUdodHRwOi8vd3d3LndheW1hcmtpbmcuY29tL2RpcmVjdG9yeS5hc3B4P2Y9MSZsYXQ9NTIuNDI1MDY3Jmxvbj05LjY2NDIwMGRkAhsPFgIfA2hkAh8PDxYCHwUFJS9yZXZpZXdzL2hvdGVscy1jb29yZHMtNTIuNDI1MSw5LjY2NDJkZAIjD2QWAgIBDw8WBB8BBbQHPGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuZ2VvY2FjaGluZy5jb20vbWFwL2RlZmF1bHQuYXNweD9sYXQ9NTIuNDI1MDcmbG5nPTkuNjY0MiIgdGFyZ2V0PSJfYmxhbmsiPkdlb2NhY2hpbmcuY29tIE1hcDwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vbWFwcy5nb29nbGUuY29tL21hcHM/cT1OKzUyJWMyJWIwKzI1LjUwNCtFKzAwOSVjMiViMCszOS44NTIrKEdDMkNKUEYpKyIgdGFyZ2V0PSJfYmxhbmsiPkdvb2dsZSBNYXBzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cubWFwcXVlc3QuY29tL21hcHMvbWFwLmFkcD9zZWFyY2h0eXBlPWFkZHJlc3MmZm9ybXR5cGU9bGF0bG9uZyZsYXRsb25ndHlwZT1kZWNpbWFsJmxhdGl0dWRlPTUyLjQyNTA3JmxvbmdpdHVkZT05LjY2NDImem9vbT0xMCIgdGFyZ2V0PSJfYmxhbmsiPk1hcFF1ZXN0PC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9tYXBzLnlhaG9vLmNvbS8jbGF0PTUyLjQyNTA3Jmxvbj05LjY2NDImem9vbT0xNiZxPTUyLjQyNTA3LDkuNjY0MiZjb25mPTEmc3RhcnQ9MSZtdnQ9bSZ0cmY9MCIgdGFyZ2V0PSJfYmxhbmsiPllhaG9v" />
-<input type="hidden" name="__VIEWSTATE2" id="__VIEWSTATE2" value="IE1hcHM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy5iaW5nLmNvbS9tYXBzL2RlZmF1bHQuYXNweD92PTImbHZsPTE0JnNwPXBvaW50LjUyLjQyNTA3XzkuNjY0Ml9HQzJDSlBGIiB0YXJnZXQ9Il9ibGFuayI+QmluZyBNYXBzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cub3BlbmN5Y2xlbWFwLm9yZy8/em9vbT0xMiZsYXQ9NTIuNDI1MDcmbG9uPTkuNjY0MiIgdGFyZ2V0PSJfYmxhbmsiPk9wZW4gQ3ljbGUgTWFwczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3Lm9wZW5zdHJlZXRtYXAub3JnLz9tbGF0PTUyLjQyNTA3Jm1sb249OS42NjQyJnpvb209MTIiIHRhcmdldD0iX2JsYW5rIj5PcGVuIFN0cmVldCBNYXBzPC9hPjwvbGk+HwNnZGQCJw9kFgYCAQ8WAh8BBRExMjkgTG9nZ2VkIFZpc2l0c2QCBw8PFgIfBQVDfi9zZWVrL2NhY2hlX2xvZ2Jvb2suYXNweD9ndWlkPTczMjQ2YTVhLWViYjktNGQ0Zi04ZGI5LWE5NTEwMzZmNTM3NmRkAgkPDxYEHwUFPX4vc2Vlay9nYWxsZXJ5LmFzcHg/Z3VpZD03MzI0NmE1YS1lYmI5LTRkNGYtOGRiOS1hOTUxMDM2ZjUzNzYfAQUjVmlldyB0aGUgSW1hZ2UgR2FsbGVyeSBvZiAxNyBpbWFnZXNkZAIqDxYCHwEFBHRydWVkAisPFgIfAQVJbGF0PTUyLjQyNTA2NzsgbG5nPTkuNjY0MjsgZ3VpZD0nNzMyNDZhNWEtZWJiOS00ZDRmLThkYjktYTk1MTAzNmY1Mzc2JzsNCmQCLA8WAh8BBXF0cnkgeyBfZ2FxLnB1c2goWydfdHJhY2tFdmVudCcsICdHZW9jYWNoaW5nJywgJ0NhY2hlRGV0YWlsc01lbWJlclR5cGUnLCAnUHJlbWl1bScsIG51bGwsIHRydWVdKTsgfSBjYXRjaChlcnIpIHsgfWQCMA8WAh8DaGQCMQ9kFgQCAw8WAh8BBQdFbmdsaXNoZAIFDxYCHw4CEBYgZg9kFgICAQ8PFggeD0NvbW1hbmRBcmd1bWVudAUFZW4tVVMeC0NvbW1hbmROYW1lBQ1TZXRUZW1wTG9jYWxlHwEFB0VuZ2xpc2geEENhdXNlc1ZhbGlkYXRpb25oZGQCAQ9kFgICAQ8PFggfEwUFZGUtREUfFAUNU2V0VGVtcExvY2FsZR8BBQdEZXV0c2NoHxVoZGQCAg9kFgICAQ8PFggfEwUFZnItRlIfFAUNU2V0VGVtcExvY2FsZR8BBQlGcmFuw6dhaXMfFWhkZAIDD2QWAgIBDw8WCB8TBQVwdC1QVB8UBQ1TZXRUZW1wTG9jYWxlHwEFClBvcnR1Z3XDqnMfFWhkZAIED2QWAgIBDw8WCB8TBQVjcy1DWh8UBQ1TZXRUZW1wTG9jYWxlHwEFCcSMZcWhdGluYR8VaGRkAgUPZBYCAgEPDxYIHxMFBXN2LVNFHxQFDVNldFRlbXBMb2NhbGUfAQUHU3ZlbnNrYR8VaGRkAgYPZBYCAgEPDxYIHxMFBWVzLUVTHxQFDVNldFRlbXBMb2NhbGUfAQUIRXNwYcOxb2wfFWhkZAIHD2QWAgIBDw8WCB8TBQVpdC1JVB8UBQ1TZXRUZW1wTG9jYWxlHwEFCEl0YWxpYW5vHxVoZGQCCA9kFgICAQ8PFggfEwUFbmwtTkwfFAUNU2V0VGVtcExvY2FsZR8BBQpOZWRlcmxhbmRzHxVoZGQCCQ9kFgICAQ8PFggfEwUFY2EtRVMfFAUNU2V0VGVtcExvY2FsZR8BBQdDYXRhbMOgHxVoZGQCCg9kFgICAQ8PFggfEwUFcGwtUEwfFAUNU2V0VGVtcExvY2FsZR8BBQZQb2xza2kfFWhkZAILD2QWAgIBDw8WCB8TBQVldC1FRR8UBQ1TZXRUZW1wTG9jYWxlHwEFBUVlc3RpHxVoZGQCDA9kFgICAQ8PFggfEwUFbmItTk8fFAUNU2V0VGVtcExvY2FsZR8BBQ5Ob3JzaywgQm9rbcOlbB8VaGRkAg0PZBYCAgEPDxYIHxMFBWtvLUtSHxQFDVNldFRlbXBMb2NhbGUfAQUJ7ZWc6rWt7Ja0HxVoZGQCDg9kFgICAQ8PFggfEwUFaHUtSFUfFAUNU2V0VGVtcExvY2FsZR8BBQZNYWd5YXIfFWhkZAIPD2QWAgIBDw8WCB8TBQVyby1STx8UBQ1TZXRUZW1wTG9jYWxlHwEFCFJvbcOibsSDHxVoZGQCAw8WAh8BBStTZXJ2ZXI6IFdFQjA5OyBCdWlsZDogV2ViLkhvdEZpeF8yMDEyMTAxNi4zZGQ0Kvoiq/WIia7WeIDv/mJ1GDgrFA==" />
+<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwUKLTc1MjcwNzgxNg8WAh4EQy5JRCgpWVN5c3RlbS5JbnQ2NCwgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5BzE4MTE0MDkWAmYPZBYGZg9kFgoCBg8WAh4EVGV4dAViPG1ldGEgbmFtZT0iQ29weXJpZ2h0IiBjb250ZW50PSJDb3B5cmlnaHQgKGMpIDIwMDAtMjAxMiBHcm91bmRzcGVhaywgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLiIgLz5kAgcPFgIfAQVHPCEtLSBDb3B5cmlnaHQgKGMpIDIwMDAtMjAxMiBHcm91bmRzcGVhaywgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLiAtLT5kAhoPFgIeBGhyZWYFHX4vY3NzL3Rsbk1hc3RlclNjcmVlbi5jc3M/cj0xZAIbDxYCHwIFFX4vY3NzL3Rsbk1haW4uY3NzP3I9MWQCIA8WAh4HVmlzaWJsZWhkAgEPZBYSAgUPFgIfAWRkAggPFgIfA2cWCAIBDw8WAh4ISW1hZ2VVcmwFTmh0dHA6Ly9pbWcuZ2VvY2FjaGluZy5jb20vdXNlci9hdmF0YXIvNTBmODMxMjMtMjdkOC00ZGNmLTlmZGUtMmFmMDA2ZWZhZjJiLmpwZ2RkAgMPFgIfAQVoSGVsbG8sIDxhIGhyZWY9Ii9teS9kZWZhdWx0LmFzcHgiIHRpdGxlPSJWaWV3IFByb2ZpbGUgZm9yIGJsYWZvbyIgY2xhc3M9IlNpZ25lZEluUHJvZmlsZUxpbmsiPmJsYWZvbzwvYT5kAgUPDxYCHgtOYXZpZ2F0ZVVybAWtAWh0dHBzOi8vd3d3Lmdlb2NhY2hpbmcuY29tL2xvZ2luL2RlZmF1bHQuYXNweD9SRVNFVD1ZJnJlZGlyPWh0dHAlM2ElMmYlMmZ3d3cuZ2VvY2FjaGluZy5jb20lMmZzZWVrJTJmY2FjaGVfZGV0YWlscy5hc3B4JTNmbG9nJTNkeSUyNndwJTNkR0MyQ0pQRiUyNm51bWxvZ3MlM2QzNSUyNmRlY3J5cHQlM2R5ZGQCCw8WAh8BBRA3MjUgQ2FjaGVzIEZvdW5kZAINDxYCHwNnFgICDQ8PFgIfBQVAfi90cmFjay9zZWFyY2guYXNweD9vPTEmdWlkPTA1NjRhOTQwLTgzMTEtNDBlZS04ZTc2LTdlOTFiMmNmNjI4NGRkAhAPDxYCHwNnZGQCLA9kFgQCAw8WAh8BBQdFbmdsaXNoZAIFDxYCHgtfIUl0ZW1Db3VudAIQFiBmD2QWAgIBDw8WCB4PQ29tbWFuZEFyZ3VtZW50BQVlbi1VUx4LQ29tbWFuZE5hbWUFDVNldFRlbXBMb2NhbGUfAQUHRW5nbGlzaB4QQ2F1c2VzVmFsaWRhdGlvbmhkZAIBD2QWAgIBDw8WCB8HBQVkZS1ERR8IBQ1TZXRUZW1wTG9jYWxlHwEFB0RldXRzY2gfCWhkZAICD2QWAgIBDw8WCB8HBQVmci1GUh8IBQ1TZXRUZW1wTG9jYWxlHwEFCUZyYW7Dp2Fpcx8JaGRkAgMPZBYCAgEPDxYIHwcFBXB0LVBUHwgFDVNldFRlbXBMb2NhbGUfAQUKUG9ydHVndcOqcx8JaGRkAgQPZBYCAgEPDxYIHwcFBWNzLUNaHwgFDVNldFRlbXBMb2NhbGUfAQUJxIxlxaF0aW5hHwloZGQCBQ9kFgICAQ8PFggfBwUFc3YtU0UfCAUNU2V0VGVtcExvY2FsZR8BBQdTdmVuc2thHwloZGQCBg9kFgICAQ8PFggfBwUFZXMtRVMfCAUNU2V0VGVtcExvY2FsZR8BBQhFc3Bhw7FvbB8JaGRkAgcPZBYCAgEPDxYIHwcFBWl0LUlUHwgFDVNldFRlbXBMb2NhbGUfAQUISXRhbGlhbm8fCWhkZAIID2QWAgIBDw8WCB8HBQVubC1OTB8IBQ1TZXRUZW1wTG9jYWxlHwEFCk5lZGVybGFuZHMfCWhkZAIJD2QWAgIBDw8WCB8HBQVjYS1FUx8IBQ1TZXRUZW1wTG9jYWxlHwEFB0NhdGFsw6AfCWhkZAIKD2QWAgIBDw8WCB8HBQVwbC1QTB8IBQ1TZXRUZW1wTG9jYWxlHwEFBlBvbHNraR8JaGRkAgsPZBYCAgEPDxYIHwcFBWV0LUVFHwgFDVNldFRlbXBMb2NhbGUfAQUFRWVzdGkfCWhkZAIMD2QWAgIBDw8WCB8HBQVuYi1OTx8IBQ1TZXRUZW1wTG9jYWxlHwEFDk5vcnNrLCBCb2ttw6VsHwloZGQCDQ9kFgICAQ8PFggfBwUFa28tS1IfCAUNU2V0VGVtcExvY2FsZR8BBQntlZzqta3slrQfCWhkZAIOD2QWAgIBDw8WCB8HBQVodS1IVR8IBQ1TZXRUZW1wTG9jYWxlHwEFBk1hZ3lhch8JaGRkAg8PZBYCAgEPDxYIHwcFBXJvLVJPHwgFDVNldFRlbXBMb2NhbGUfAQUIUm9tw6JuxIMfCWhkZAIuD2QWAgIDDxYCHwNoZAIvDxYCHgVjbGFzcwUMc3Bhbi0yNCBsYXN0FgICAQ9kFjACAQ9kFgJmD2QWAgIBDw8WAh8BBQdHQzJDSlBGZGQCAg8WAh8BBZoBPGEgaHJlZj0iL2Fib3V0L2NhY2hlX3R5cGVzLmFzcHgiIHRhcmdldD0iX2JsYW5rIiB0aXRsZT0iQWJvdXQgQ2FjaGUgVHlwZXMiPjxpbWcgc3JjPSIvaW1hZ2VzL1dwdFR5cGVzLzMuZ2lmIiBhbHQ9Ik11bHRpLWNhY2hlIiB0aXRsZT0iTXVsdGktY2FjaGUiIC8+PC9hPmQCBg9kFgQCAQ8WAh8DZ2QCBg8WAh8DaGQCCw9kFgQCAQ8WAh8BBQIxM2QCBQ8PFgIfBQVEL3NlZWsvY2FjaGVfZmF2b3JpdGVkLmFzcHg/Z3VpZD03MzI0NmE1YS1lYmI5LTRkNGYtOGRiOS1hOTUxMDM2ZjUzNzZkZAINDw8WAh8FBRlodHRwOi8vd3d3LmtpbmRlcndhbGQuZGUvZGQCEA8WAh8DaGQCEQ8WAh8DaGQCEg9kFgwCAw8WAh4Fc3R5bGUFD2Rpc3BsYXk6aW5saW5lOxYCAgEPFgIfAQUbVVRNOiAzMlUgRSA1NDUxNjQgTiA1ODA4NTI0ZAINDw8WAh8FBTNjZHBmLmFzcHg/Z3VpZD03MzI0NmE1YS1lYmI5LTRkNGYtOGRiOS1hOTUxMDM2ZjUzNzZkZAIPDw8WAh8FBThjZHBmLmFzcHg/Z3VpZD03MzI0NmE1YS1lYmI5LTRkNGYtOGRiOS1hOTUxMDM2ZjUzNzYmbGM9NWRkAhEPDxYCHwUFOWNkcGYuYXNweD9ndWlkPTczMjQ2YTVhLWViYjktNGQ0Zi04ZGI5LWE5NTEwMzZmNTM3NiZsYz0xMGRkAhMPDxYEHwUFc2h0dHA6Ly9tYXBzLmdvb2dsZS5jb20vbWFwcz9mPWQmaGw9ZW4mc2FkZHI9NTIuNDE2Miw5LjU5NDExNyAoSG9tZSBMb2NhdGlvbikmZGFkZHI9NTIuNDI1MDY3LDkuNjY0MihLaW5kZXJ3YWxkK0tpQykeBlRhcmdldAUGX2JsYW5rZGQCGw9kFggCAQ8PFgQeCUZvcmVDb2xvcgweBF8hU0ICBGRkAgMPDxYEHw0MHw4CBGRkAgUPDxYCHwNnFgIeB29uY2xpY2sFO3MyZ3BzKCc3MzI0NmE1YS1lYmI5LTRkNGYtOGRiOS1hOTUxMDM2ZjUzNzYnKTtyZXR1cm4gZmFsc2U7ZAIHDw8WAh8DZxYCHw8FIHMycGhvbmUoJ0dDMkNKUEYnKTtyZXR1cm4gZmFsc2U7ZAIUDxYCHwNnZAIXD2QWCGYPFgIfA2hkAgEPDxYCHwNoZGQCAg8PFgIfA2hkZAIDDxYCHwNoZAIYD2QWAgIDDw8WAh8BBQdFbmNyeXB0ZGQCGQ8WAh8BBRtEYXMgRmluYWwgaXN0IHVudGVyIFN0ZWluZW5kAhwPZBYEAgEPDxYEHghDc3NDbGFzc2QfDgICZGQCBA8WAh8BBQIxMWQCHQ9kFgICAQ8WAh8DZxYCAgEPDxYCHwUFOC9zZWVrL2xvZy5hc3B4P0xVSUQ9N2M2ZjA4OTEtNzAwMy00YWU1LTkyMzEtYzJlNDE3ZDFjNWU0ZGQCHg8WAh8DZ2QCHw8WAh8DaGQCIg9kFgICAQ9kFgQCAQ8PFgIfAQX/AzxpZnJhbWUgdHlwZT0iaWZyYW1lIiBzcmM9Imh0dHA6Ly9hZHMuZ3JvdW5kc3BlYWsuY29tL2EuYXNweD9ab25lSUQ9OSZUYXNrPUdldCZTaXRlSUQ9MSZYPSdlYjkwNzhmNjkwOGM0NWMzODEyMjc0NGM5N2VkNjllYSciIHdpZHRoPSIxMjAiIGhlaWdodD0iMjQwIiBNYXJnaW53aWR0aD0iMCIgTWFyZ2luaGVpZ2h0PSIwIiBIc3BhY2U9IjAiIFZzcGFjZT0iMCIgRnJhbWVib3JkZXI9IjAiIFNjcm9sbGluZz0ibm8iIHN0eWxlPSJ3aWR0aDoxMjBweDtIZWlnaHQ6MjQwcHg7Ij48YSBocmVmPSJodHRwOi8vYWRzLmdyb3VuZHNwZWFrLmNvbS9hLmFzcHg/Wm9uZUlEPTkmVGFzaz1DbGljayY7TW9kZT1IVE1MJlNpdGVJRD0xIiB0YXJnZXQ9Il9ibGFuayI+PGltZyBzcmM9Imh0dHA6Ly9hZHMuZ3JvdW5kc3BlYWsuY29tL2EuYXNweD9ab25lSUQ9OSZUYXNrPUdldCZNb2RlPUhUTUwmU2l0ZUlEPTEiIHdpZHRoPSIxMjAiIGhlaWdodD0iMjQwIiBib3JkZXI9IjAiIGFsdD0iIiAvPjwvYT48L2lmcmFtZT5kZAIDDxYCHglpbm5lcmh0bWwFE0FkdmVydGlzaW5nIHdpdGggVXNkAiYPZBYGAgMPFgIfBgIBFgICAQ9kFgJmDxUDVmh0dHA6Ly93d3cuZ2VvY2Fj" />
+<input type="hidden" name="__VIEWSTATE1" id="__VIEWSTATE1" value="aGluZy5jb20vdHJhY2svZGV0YWlscy5hc3B4P2d1aWQ9MzkyNWZkYmMtYmQwNy00Njg4LWI2NjEtNzU4YjA3Y2I3MDYzNWh0dHA6Ly93d3cuZ2VvY2FjaGluZy5jb20vaW1hZ2VzL3dwdHR5cGVzL3NtLzUwNDkuZ2lmCUZpc2hHYXRvcmQCBw8PFgIfA2dkFgICAQ8PFgQfAQUTVmlldyBhbGwgVHJhY2thYmxlcx8FBUl+L3RyYWNrL3NlYXJjaC5hc3B4P3dpZD03MzI0NmE1YS1lYmI5LTRkNGYtOGRiOS1hOTUxMDM2ZjUzNzYmY2NpZD0xODExNDA5ZGQCCQ8PFgIfBQU8fi90cmFjay9zZWFyY2guYXNweD93aWQ9NzMyNDZhNWEtZWJiOS00ZDRmLThkYjktYTk1MTAzNmY1Mzc2ZGQCJw8PFgIfA2dkFgJmDxYCHwYCARYCAgEPZBYEZg8VAwBXaHR0cDovL3d3dy5nZW9jYWNoaW5nLmNvbS9ib29rbWFya3Mvdmlldy5hc3B4P2d1aWQ9M2VlZWEwNTctZjYwNS00ODVhLWE0NWEtZjVmZWExNDI2NjEyEktpbmRlcmNhY2hlcyAoS2lDKWQCAg8VAkxodHRwOi8vd3d3Lmdlb2NhY2hpbmcuY29tL3Byb2ZpbGUvP2d1aWQ9MDU2NGE5NDAtODMxMS00MGVlLThlNzYtN2U5MWIyY2Y2Mjg0BmJsYWZvb2QCKA8PFgIfA2dkFgJmDxYCHwYCARYCAgEPZBYEZg8VAwBXaHR0cDovL3d3dy5nZW9jYWNoaW5nLmNvbS9ib29rbWFya3Mvdmlldy5hc3B4P2d1aWQ9M2VlZWEwNTctZjYwNS00ODVhLWE0NWEtZjVmZWExNDI2NjEyEktpbmRlcmNhY2hlcyAoS2lDKWQCAg8VAkxodHRwOi8vd3d3Lmdlb2NhY2hpbmcuY29tL3Byb2ZpbGUvP2d1aWQ9MDU2NGE5NDAtODMxMS00MGVlLThlNzYtN2U5MWIyY2Y2Mjg0BmJsYWZvb2QCKQ9kFhQCAw9kFgICAQ8PFgIfBQVFL2hpZGUvd3B0bGlzdC5hc3B4P1JlZldwdElEPTczMjQ2YTVhLWViYjktNGQ0Zi04ZGI5LWE5NTEwMzZmNTM3NiZEUz0xZGQCBw8PFgQeBlJEUy5JRAspdkdyb3VuZHNwZWFrLldlYi5HUFguV3B0RGF0YVNvdXJjZXMsIFR1Y3Nvbi5Db21tb24uTGVnYWN5LCBWZXJzaW9uPTMuMC40NzI4LjE2MTUyLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPW51bGwBHgdSV1BULklEKCsEBzE4MTE0MDlkFgJmDxYCHwYCBBYKZg9kFgJmDw8WAh8DaGRkAgEPZBYOZg8VAgAFZmFsc2VkAgIPFQd0PGltZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHNyYz0iL2ltYWdlcy9pY29ucy9pY29uX25vY29vcmRzLmpwZyIgYWx0PSJIaWRlIENvb3JkaW5hdGVzIiB0aXRsZT0iSGlkZSBDb29yZGluYXRlcyIgLz6GATxpbWcgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiBzcmM9Imh0dHA6Ly93d3cuZ2VvY2FjaGluZy5jb20vaW1hZ2VzL3dwdHR5cGVzL3NtL2ZsYWcuanBnIiBhbHQ9IkZpbmFsIExvY2F0aW9uIiB0aXRsZT0iRmluYWwgTG9jYXRpb24iIC8+AkZOAkZOBUZJTkFMsAE8YSBocmVmPSJodHRwOi8vd3d3Lmdlb2NhY2hpbmcuY29tL3NlZWsvd3B0LmFzcHg/V0lEPTMwZjFiMzdjLWQzOTUtNGM3YS05NGUyLTBjNjQ5ZDVmMjMxYiZSZWZJRD03MzI0NmE1YS1lYmI5LTRkNGYtOGRiOS1hOTUxMDM2ZjUzNzYmUmVmRFM9MSI+R0MyQ0pQRiBGaW5hbDwvYT4gKEZpbmFsIExvY2F0aW9uKQM/Pz9kAgUPDxYCHgdUb29sVGlwBQRFZGl0ZGQCBw8PFgIfFAUDTWFwZGQCCw8PFgIeDUFsdGVybmF0ZVRleHQFBlJlbW92ZRYCHw8FQHJldHVybiBjb25maXJtKCdBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gcmVtb3ZlIHRoaXMgd2F5cG9pbnQ/JylkAgwPFQEAZAIODxUBAGQCAg9kFg5mDxUCDkFsdGVybmF0aW5nUm93BWZhbHNlZAICDxUHYjxpbWcgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiBzcmM9Ii9pbWFnZXMvaWNvbnMvaWNvbl92aWV3YWJsZS5qcGciIGFsdD0iVmlzaWJsZSIgdGl0bGU9IlZpc2libGUiIC8+gQE8aW1nIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgc3JjPSJodHRwOi8vd3d3Lmdlb2NhY2hpbmcuY29tL2ltYWdlcy93cHR0eXBlcy9zbS9wa2cuanBnIiBhbHQ9IlBhcmtpbmcgQXJlYSIgdGl0bGU9IlBhcmtpbmcgQXJlYSIgLz4CUEsCUEsGUEFSS05HsAE8YSBocmVmPSJodHRwOi8vd3d3Lmdlb2NhY2hpbmcuY29tL3NlZWsvd3B0LmFzcHg/V0lEPTk4Y2IxMzg3LTQ5Y2UtNGY5NC05YjA1LTVjYjA3OWQzMzJiMSZSZWZJRD03MzI0NmE1YS1lYmI5LTRkNGYtOGRiOS1hOTUxMDM2ZjUzNzYmUmVmRFM9MSI+R0MyQ0pQRiBQYXJraW5nPC9hPiAoUGFya2luZyBBcmVhKRxOIDUywrAgMjUuMzg0IEUgMDA5wrAgMzkuMDIzZAIFDw8WAh8UBQRFZGl0ZGQCBw8PFgIfFAUDTWFwZGQCCw8PFgIfFQUGUmVtb3ZlFgIfDwVAcmV0dXJuIGNvbmZpcm0oJ0FyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byByZW1vdmUgdGhpcyB3YXlwb2ludD8nKWQCDA8VAQ5BbHRlcm5hdGluZ1Jvd2QCDg8VATdLZWluICJvZmZpemllbGxlciIgUGFya3BsYXR6LCBQYXJrZW4gdHJvdHpkZW0gbcO2Z2xpY2guZAIDD2QWDmYPFQIABWZhbHNlZAICDxUHYjxpbWcgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiBzcmM9Ii9pbWFnZXMvaWNvbnMvaWNvbl92aWV3YWJsZS5qcGciIGFsdD0iVmlzaWJsZSIgdGl0bGU9IlZpc2libGUiIC8+kAE8aW1nIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgc3JjPSJodHRwOi8vd3d3Lmdlb2NhY2hpbmcuY29tL2ltYWdlcy93cHR0eXBlcy9zbS9wdXp6bGUuanBnIiBhbHQ9IlF1ZXN0aW9uIHRvIEFuc3dlciIgdGl0bGU9IlF1ZXN0aW9uIHRvIEFuc3dlciIgLz4CU1QCU1QFU1RBUlS0ATxhIGhyZWY9Imh0dHA6Ly93d3cuZ2VvY2FjaGluZy5jb20vc2Vlay93cHQuYXNweD9XSUQ9MDQxMTNiYWQtNjRjYS00OTlhLTk4NDgtYjU5MzdlMTNkYTFiJlJlZklEPTczMjQ2YTVhLWViYjktNGQ0Zi04ZGI5LWE5NTEwMzZmNTM3NiZSZWZEUz0xIj5HQzJDSlBGIFN0YXJ0PC9hPiAoUXVlc3Rpb24gdG8gQW5zd2VyKRxOIDUywrAgMjUuNTA0IEUgMDA5wrAgMzkuODUyZAIFDw8WAh8UBQRFZGl0ZGQCBw8PFgIfFAUDTWFwZGQCCw8PFgIfFQUGUmVtb3ZlFgIfDwVAcmV0dXJuIGNvbmZpcm0oJ0FyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byByZW1vdmUgdGhpcyB3YXlwb2ludD8nKWQCDA8VAQBkAg4PFQEAZAIED2QWDmYPFQIOQWx0ZXJuYXRpbmdSb3cFZmFsc2VkAgIPFQdiPGltZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHNyYz0iL2ltYWdlcy9pY29ucy9pY29uX3ZpZXdhYmxlLmpwZyIgYWx0PSJWaXNpYmxlIiB0aXRsZT0iVmlzaWJsZSIgLz6MATxpbWcgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiBzcmM9Imh0dHA6Ly93d3cuZ2VvY2FjaGluZy5jb20vaW1hZ2VzL3dwdHR5cGVzL3NtL3dheXBvaW50LmpwZyIgYWx0PSJSZWZlcmVuY2UgUG9pbnQiIHRpdGxlPSJSZWZlcmVuY2UgUG9pbnQiIC8+AldPAldPBlNDRU5JQ7IBPGEgaHJlZj0iaHR0cDovL3d3dy5nZW9jYWNoaW5nLmNvbS9zZWVrL3dwdC5hc3B4P1dJRD1iMjhjNTg3OS0zMTgxLTQ1MTAtOTRmYS02ZWM1ZTMwZmQwNTYmUmVmSUQ9NzMyNDZhNWEtZWJiOS00ZDRmLThkYjktYTk1MTAzNmY1Mzc2JlJlZkRTPTEiPkF1c3NpY2h0c3B1bmt0PC9hPiAoUmVmZXJlbmNlIFBvaW50KRxOIDUywrAgMjUuNDg4IEUgMDA5wrAgMzkuNDMyZAIFDw8WAh8UBQRFZGl0ZGQCBw8PFgIfFAUDTWFwZGQCCw8PFgIfFQUGUmVtb3ZlFgIfDwVAcmV0dXJuIGNvbmZpcm0oJ0FyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byByZW1vdmUgdGhpcyB3YXlwb2ludD8nKWQCDA8VAQ5BbHRlcm5hdGluZ1Jvd2QCDg8VAU9FaGVtYWxpZ2UgRmluYWxsb2NhdGlvbiB3byBlcyBnZWJyYW5udCBoYXQuIEdsZWljaHplaXRpZyBuZXR0ZXIgQXVzc2ljaHRzcHVua3QuZAIJDw8WAh8DZ2QWAgIBDw8WBB8FBSovbWFwL2RlZmF1bHQuYXNweD9sYXQ9NTIuNDI1MDY3JmxuZz05LjY2NDIfA2dkZAIRDw8WAh8FBRovc2Vlay9uZWFyZXN0LmFzcHg/dT1Ub20wM2RkAhUPDxYC" />
+<input type="hidden" name="__VIEWSTATE2" id="__VIEWSTATE2" value="HwUFGy9zZWVrL25lYXJlc3QuYXNweD91bD1Ub20wM2RkAhkPZBYKAgMPDxYCHwUFVS9zZWVrL25lYXJlc3QuYXNweD90eD1hNWY2ZDBhZC1kMmYyLTQwMTEtOGMxNC05NDBhOWViZjNjNzQmbGF0PTUyLjQyNTA2NyZsbmc9OS42NjQyMDBkZAIFDw8WAh8FBVkvc2Vlay9uZWFyZXN0LmFzcHg/dHg9YTVmNmQwYWQtZDJmMi00MDExLThjMTQtOTQwYTllYmYzYzc0JmxhdD01Mi40MjUwNjcmbG5nPTkuNjY0MjAwJmY9MWRkAgkPDxYCHwUFLS9zZWVrL25lYXJlc3QuYXNweD9sYXQ9NTIuNDI1MDY3JmxuZz05LjY2NDIwMGRkAgsPDxYCHwUFMS9zZWVrL25lYXJlc3QuYXNweD9sYXQ9NTIuNDI1MDY3JmxuZz05LjY2NDIwMCZmPTFkZAIPDw8WAh8FBUdodHRwOi8vd3d3LndheW1hcmtpbmcuY29tL2RpcmVjdG9yeS5hc3B4P2Y9MSZsYXQ9NTIuNDI1MDY3Jmxvbj05LjY2NDIwMGRkAhsPFgIfA2hkAh8PDxYCHwUFJS9yZXZpZXdzL2hvdGVscy1jb29yZHMtNTIuNDI1MSw5LjY2NDJkZAIjD2QWAgIBDw8WBB8BBbQHPGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuZ2VvY2FjaGluZy5jb20vbWFwL2RlZmF1bHQuYXNweD9sYXQ9NTIuNDI1MDcmbG5nPTkuNjY0MiIgdGFyZ2V0PSJfYmxhbmsiPkdlb2NhY2hpbmcuY29tIE1hcDwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vbWFwcy5nb29nbGUuY29tL21hcHM/cT1OKzUyJWMyJWIwKzI1LjUwNCtFKzAwOSVjMiViMCszOS44NTIrKEdDMkNKUEYpKyIgdGFyZ2V0PSJfYmxhbmsiPkdvb2dsZSBNYXBzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cubWFwcXVlc3QuY29tL21hcHMvbWFwLmFkcD9zZWFyY2h0eXBlPWFkZHJlc3MmZm9ybXR5cGU9bGF0bG9uZyZsYXRsb25ndHlwZT1kZWNpbWFsJmxhdGl0dWRlPTUyLjQyNTA3JmxvbmdpdHVkZT05LjY2NDImem9vbT0xMCIgdGFyZ2V0PSJfYmxhbmsiPk1hcFF1ZXN0PC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9tYXBzLnlhaG9vLmNvbS8jbGF0PTUyLjQyNTA3Jmxvbj05LjY2NDImem9vbT0xNiZxPTUyLjQyNTA3LDkuNjY0MiZjb25mPTEmc3RhcnQ9MSZtdnQ9bSZ0cmY9MCIgdGFyZ2V0PSJfYmxhbmsiPllhaG9vIE1hcHM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy5iaW5nLmNvbS9tYXBzL2RlZmF1bHQuYXNweD92PTImbHZsPTE0JnNwPXBvaW50LjUyLjQyNTA3XzkuNjY0Ml9HQzJDSlBGIiB0YXJnZXQ9Il9ibGFuayI+QmluZyBNYXBzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cub3BlbmN5Y2xlbWFwLm9yZy8/em9vbT0xMiZsYXQ9NTIuNDI1MDcmbG9uPTkuNjY0MiIgdGFyZ2V0PSJfYmxhbmsiPk9wZW4gQ3ljbGUgTWFwczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3Lm9wZW5zdHJlZXRtYXAub3JnLz9tbGF0PTUyLjQyNTA3Jm1sb249OS42NjQyJnpvb209MTIiIHRhcmdldD0iX2JsYW5rIj5PcGVuIFN0cmVldCBNYXBzPC9hPjwvbGk+HwNnZGQCJw9kFgYCAQ8WAh8BBRExMzkgTG9nZ2VkIFZpc2l0c2QCBw8PFgIfBQVDfi9zZWVrL2NhY2hlX2xvZ2Jvb2suYXNweD9ndWlkPTczMjQ2YTVhLWViYjktNGQ0Zi04ZGI5LWE5NTEwMzZmNTM3NmRkAgkPDxYEHwUFPX4vc2Vlay9nYWxsZXJ5LmFzcHg/Z3VpZD03MzI0NmE1YS1lYmI5LTRkNGYtOGRiOS1hOTUxMDM2ZjUzNzYfAQUjVmlldyB0aGUgSW1hZ2UgR2FsbGVyeSBvZiAxNyBpbWFnZXNkZAIqDxYCHwEFBHRydWVkAisPFgIfAQVJbGF0PTUyLjQyNTA2NzsgbG5nPTkuNjY0MjsgZ3VpZD0nNzMyNDZhNWEtZWJiOS00ZDRmLThkYjktYTk1MTAzNmY1Mzc2JzsNCmQCLA8WAh8BBXF0cnkgeyBfZ2FxLnB1c2goWydfdHJhY2tFdmVudCcsICdHZW9jYWNoaW5nJywgJ0NhY2hlRGV0YWlsc01lbWJlclR5cGUnLCAnUHJlbWl1bScsIG51bGwsIHRydWVdKTsgfSBjYXRjaChlcnIpIHsgfWQCMA8WAh8DaGQCMQ9kFgQCAw8WAh8BBQdFbmdsaXNoZAIFDxYCHwYCEBYgZg9kFgICAQ8PFggfBwUFZW4tVVMfCAUNU2V0VGVtcExvY2FsZR8BBQdFbmdsaXNoHwloZGQCAQ9kFgICAQ8PFggfBwUFZGUtREUfCAUNU2V0VGVtcExvY2FsZR8BBQdEZXV0c2NoHwloZGQCAg9kFgICAQ8PFggfBwUFZnItRlIfCAUNU2V0VGVtcExvY2FsZR8BBQlGcmFuw6dhaXMfCWhkZAIDD2QWAgIBDw8WCB8HBQVwdC1QVB8IBQ1TZXRUZW1wTG9jYWxlHwEFClBvcnR1Z3XDqnMfCWhkZAIED2QWAgIBDw8WCB8HBQVjcy1DWh8IBQ1TZXRUZW1wTG9jYWxlHwEFCcSMZcWhdGluYR8JaGRkAgUPZBYCAgEPDxYIHwcFBXN2LVNFHwgFDVNldFRlbXBMb2NhbGUfAQUHU3ZlbnNrYR8JaGRkAgYPZBYCAgEPDxYIHwcFBWVzLUVTHwgFDVNldFRlbXBMb2NhbGUfAQUIRXNwYcOxb2wfCWhkZAIHD2QWAgIBDw8WCB8HBQVpdC1JVB8IBQ1TZXRUZW1wTG9jYWxlHwEFCEl0YWxpYW5vHwloZGQCCA9kFgICAQ8PFggfBwUFbmwtTkwfCAUNU2V0VGVtcExvY2FsZR8BBQpOZWRlcmxhbmRzHwloZGQCCQ9kFgICAQ8PFggfBwUFY2EtRVMfCAUNU2V0VGVtcExvY2FsZR8BBQdDYXRhbMOgHwloZGQCCg9kFgICAQ8PFggfBwUFcGwtUEwfCAUNU2V0VGVtcExvY2FsZR8BBQZQb2xza2kfCWhkZAILD2QWAgIBDw8WCB8HBQVldC1FRR8IBQ1TZXRUZW1wTG9jYWxlHwEFBUVlc3RpHwloZGQCDA9kFgICAQ8PFggfBwUFbmItTk8fCAUNU2V0VGVtcExvY2FsZR8BBQ5Ob3JzaywgQm9rbcOlbB8JaGRkAg0PZBYCAgEPDxYIHwcFBWtvLUtSHwgFDVNldFRlbXBMb2NhbGUfAQUJ7ZWc6rWt7Ja0HwloZGQCDg9kFgICAQ8PFggfBwUFaHUtSFUfCAUNU2V0VGVtcExvY2FsZR8BBQZNYWd5YXIfCWhkZAIPD2QWAgIBDw8WCB8HBQVyby1STx8IBQ1TZXRUZW1wTG9jYWxlHwEFCFJvbcOibsSDHwloZGQCAw8WAh8BBStTZXJ2ZXI6IFdFQjEzOyBCdWlsZDogV2ViLkhvdEZpeF8yMDEyMTIxMS4xZGQq85BNRGze8Sa/glZr/oTi+LL52g==" />
</div>
<script type="text/javascript">
@@ -266,13 +267,13 @@ function __doPostBack(eventTarget, eventArgument) { </script>
-<script src="/WebResource.axd?d=Dh2VENdI9XyWNN0f7DnYfR8WWRCRIzdVqal2y0yjiQ5nC_eHhLchYgnQDHIk0d3RCcSUMVZ36ciRD0qmhXKmeu3S_RE1&t=634320874095713794" type="text/javascript"></script>
+<script src="/WebResource.axd?d=Dh2VENdI9XyWNN0f7DnYfR8WWRCRIzdVqal2y0yjiQ5nC_eHhLchYgnQDHIk0d3RCcSUMVZ36ciRD0qmhXKmeu3S_RE1&t=634811478295920770" type="text/javascript"></script>
-<script src="/ScriptResource.axd?d=I9_m2Hb1Tv_B0qTMDG8bMbnkNSHUkv5oUaG9-V5NZ8qQ2VFlu60I8y8gfr3vPmZjbiPnu43MOQdFVDeYF-nDAEKBLmyxD3DCTGmes9NNbbvaDEHyEuuRWgccIkK3ik5TI48YGDxjHjqdn-gTK4Fkgd17LGw1&t=2610f696" type="text/javascript"></script>
-<script src="/ScriptResource.axd?d=8vNbe34dAujgZMPnfnacfjeoweX1vHgyns8KlAV4vpGpsZC9Cf3pro__lv8ekBa0NiCgXGMMolzOUNH__lrnEI_qjlNBIAuuLeemtAXV_i6E0QIMZa8nGSYmWGF5nQOJK3rmZzvTxsr2Mh4Ebdba_1ywGLUSH_U_XIe-jzecfRQwwvjZ0&t=2610f696" type="text/javascript"></script>
-<script src="/ScriptResource.axd?d=xn_XthUDTB7olgcUtLPfBc6T8T6KQJeWQqX-S5SXQszTnUMfMoY-_5LGD_TTtk-ziPIcDt2u4ItIrMD8KSt1gxC4geqllJ30o1Wha1PY6q9Bu3kg0D9DC5M-XAaM-2yLG-E2ZJbNKvASegbH_2zGkDlJRJl9DxQFNJ0KuhdfR8Zre1hg4i3ncHbDUESrAb2Vzr2b9FqYpbFfGpAis__FnVeUutU1" type="text/javascript"></script>
-<script src="/ScriptResource.axd?d=5CyDhZ1QrMZSVcCqxKlXl3yO1U7ML8hppu9nneB8d06m0ASEsmoWvx8yKVZxdQgA6Uo4BZLAdyt7SUoqd9jZFjVos_CF_mGR4G3Vtsbub3PzOc5-yRg5gRLwSoDbah4m09wBVM5_FhjR68q6UT-yfhoG47eb2gPVrNdEdcHlcN0Xe7_BEJvnAvNgAXuVnpnmU3tN5c1Er5rvLNMh7i34YE2E4sPCUD9Ymg8ddmvCFrZMS7ISxiJyRxd_fs-4EPZ9G3SeBu8bcZ-PWCec7GCjObIbCPX5wPdL8s227n_qIOldojTRHFwCHOYTIOiBIneKedRKFqL10yu1HnvXprBGzr7bc17tnQQRYC-AtjxcPiQA6bdUp5qT-RMnXFIOeUBC5qDcx-nLVDRluEoGUo6_BcPatJleyDBr-Huz1EcedROE0pdAIGGY_JsTOni7hgsv3UaV8rhgvWDyyiqQ_QlQl1ScW3eV6CCKLxmU7_cnPlPI65v7_rAaVytJdSInQa9MemNiPirJGMaeTxcBcDVz3pWhNt2iuRrSuMjUMx1-TNPtnWZefOnrOKJX_Kg1CCdsQPZLcWgi3UXmjXd5kZ9XcHS92KR7GguI2SaRtb0_fx_Dd84Z6U852-sYEbr4wAyIoyqEuIw69TeTBbs1m6YwuUQeqNV3t0m8U95phK7TB5-P_c4N1JDsYMnb_dqb5b69_Rw1c-GM7xQB6MBu2jZ61mL9ZD9XiP5kdzqXHxoWZHWYG1ZG0" type="text/javascript"></script>
+<script src="/ScriptResource.axd?d=I9_m2Hb1Tv_B0qTMDG8bMbnkNSHUkv5oUaG9-V5NZ8qQ2VFlu60I8y8gfr3vPmZjbiPnu43MOQdFVDeYF-nDAEKBLmyxD3DCTGmes9NNbbvaDEHyEuuRWgccIkK3ik5TI48YGDxjHjqdn-gTK4Fkgd17LGw1&t=ffffffff940d030f" type="text/javascript"></script>
+<script src="/ScriptResource.axd?d=8vNbe34dAujgZMPnfnacfjeoweX1vHgyns8KlAV4vpGpsZC9Cf3pro__lv8ekBa0NiCgXGMMolzOUNH__lrnEI_qjlNBIAuuLeemtAXV_i6E0QIMZa8nGSYmWGF5nQOJK3rmZzvTxsr2Mh4Ebdba_1ywGLUSH_U_XIe-jzecfRQwwvjZ0&t=ffffffff940d030f" type="text/javascript"></script>
+<script src="/ScriptResource.axd?d=dR_fP-aTT-wJ0h4Kl4BIDCBBDS-bsINyUUisfmt6XGhnkXEezB-GAbsBSOjJBs1PwGfeyGYXrsKI5rjvB656mhG30LHrKxvfU-2NYKCxpxLK0hYG6ooF1pG6oP8oLMWhVpQbIt_fjHjdLjWOPzpGJX_L3fbMlwJFqwL6A35_t9C7Di9McDsCNk6mmIsVaQLzPAUiwge5EtjIHV5WOKnwkv9lVWc1" type="text/javascript"></script>
+<script src="/ScriptResource.axd?d=ZLUp71IFurmo9PJWgt4KAyNwGuWylI6HaHusH9-0d05t7twYSBEKMKX5_7TMGQzUCY_cVE4E_mIBGBVWK2hhG209IpahhwLh8LiuTU30A-9gRQTiOrfU5Z2Dj991D4w0ZC35T2e0uH60Acn9z2PmsDsj43jy9GAkjAnqhXbU3TqMChAch7_0XPqAV7ynsautHOiDQ4aCQugVDrwCSIZ8coHOoGbkoQNR9n7LtpFbsAojS0iyOe9gm3sTA5tarc1ThNXlQ0H7hGm_jFX-cLw_kDrNHGqjjd14dpdBa9qm8m6XD9LApMcyqBho13lWg4A4gPB_mF_W09lnFEcRsLPg3nBh2XH0oUGLYLNpE_g9-3Jo-K7zrRXfRx4pUe3fT0NEn4mLIRkSMjcrbmCcS47HnmsR0Nelw4--RjJPoVlU24Z3Mnlv-INjeG9JqMPZmHLO2gjR-ZT0sE3rlx61xDQNUBHv8YqyIK68DLjFhwXvnyfUEcbhJloV3faPxk6n7lw8EyuQG7lyq6yxhZdyUWuFdVDQMzgIVWUOigzr2XWFncCg6SYMHUiosTIiKvTI7V-lrNWYjl2UvtMN62HS0Yp4SGgARywHU9yYcVi2Ss0xjMWuwvbLURhgqKeuHoF4b-VkWMSYzkw9DM3-Q2cEUdMNJuo1e2fJ_3EIRd84Ib4niw-BZlkZjLXt5asRBWS5Rsx4gFIvbI7RhdU3z9HQgj1nslM5MmawfRSjQGsJ1EZDFmmWOxlR0" type="text/javascript"></script>
<script src="js/cachedetails.js" type="text/javascript"></script>
<script src="../js/latlng.js" type="text/javascript"></script>
<script type="text/javascript">
@@ -326,7 +327,7 @@ Sys.WebForms.PageRequestManager._initialize('ctl00$uxMainScriptManager', 'aspnet <span id="ctl00_litPMLevel">Premium Member</span>
<strong style="display:block">
- <img src="/images/icons/icon_smile.png" title="Caches Found" /> 692 <img src="/images/challenges/types/sm/challenge.png" title="Challenges Completed" /> 3</strong>
+ 725 Caches Found</strong>
</p>
@@ -335,122 +336,196 @@ Sys.WebForms.PageRequestManager._initialize('ctl00$uxMainScriptManager', 'aspnet </div>
- <nav id="Navigation" class="span-24 last">
-
- <ul class="Menu">
- <li>
- <a id="ctl00_hlNavLearn" accesskey="1" title="Learn" href="../guide/">Learn ▼</a>
- <ul class="SubMenu">
- <li>
- <a id="ctl00_hlSubNavGeocaching101" accesskey="i" title="Geocaching 101" href="../guide/">Geocaching 101</a></li>
- <li>
- <a id="ctl00_hlSubNavGeocaching2Minutes" title="Geocaching in 2 Minutes" href="../videos/#cat=cat:newbies&vid=-4VFeYZTTYs">Geocaching in 2 Minutes</a></li>
- </ul>
- </li>
+ <div class="NavContainer span-24 last">
+ <nav id="Navigation">
- <li id="ctl00_liNavProfile">
- <a id="ctl00_hlNavProfile" accesskey="2" title="Your Profile" href="../my/">Your Profile ▼</a>
- <ul class="SubMenu">
- <li>
- <a id="ctl00_hlSubNavQuickView" accesskey="p" title="Quick View" href="../my/">Quick View</a></li>
- <li>
- <a id="ctl00_hlSubNavLists" accesskey="q" title="Lists" href="../my/lists.aspx">Lists</a></li>
- <li class="ExtraText">
- <a id="ctl00_hlSubNavGeocaches" accesskey="m" title="Geocaches" class="NoRightPadding" href="../my/geocaches.aspx">Geocaches</a>
- (<a id="ctl00_hlSubNavGeocachesYours" accesskey="y" title="Yours" class="NoSidePadding" href="../my/owned.aspx">Yours</a>)</li>
- <li class="ExtraText">
- <a id="ctl00_hlSubNavProfileTrackables" title="Trackables" class="NoRightPadding" href="../my/travelbugs.aspx">Trackables</a>
- (<a id="ctl00_hlSubNavTrackablesYours" accesskey="8" title="Yours" class="NoSidePadding" href="../track/search.aspx?o=1&uid=0564a940-8311-40ee-8e76-7e91b2cf6284">Yours</a>)</li>
- <li>
- <a id="ctl00_hlSubNavPocketQueries" accesskey="9" title="Pocket Queries" href="../pocket/">Pocket Queries</a></li>
- <li>
- <a id="ctl00_hlSubNavFieldNotes" accesskey="0" title="Field Notes" href="../my/fieldnotes.aspx">Field Notes</a></li>
- <li>
- <a id="ctl00_hlSubNavProfileChallenges" title="Challenges" href="../my/challenges.aspx">Challenges</a></li>
- <li>
- <a id="ctl00_hlSubNavAccount" accesskey="a" title="Account Details" href="../account/">Account Details</a></li>
- </ul>
- </li>
- <li>
- <a id="ctl00_hlNavPlay" accesskey="3" title="Play" href="./">Play ▼</a>
- <ul class="SubMenu">
- <li>
- <a id="ctl00_hlSubNavHide" accesskey="d" title="Hide & Seek a Cache" href="./">Hide & Seek a Cache</a></li>
- <li>
- <a id="ctl00_hlSubNavLogCache" title="Log a Cache" href="../my/recentlyviewedcaches.aspx">Log a Cache</a></li>
- <li><a id="ctl00_hlSubNavMap" accesskey="/" title="View Geocache Map" href="../map/">View Geocache Map</a></li>
- <li>
- <a id="ctl00_hlSubNavChallenges" title="Find Challenges" href="../challenges/">Find Challenges</a></li>
- <li>
- <a id="ctl00_hlSubNavTrackables" accesskey="e" title="Find Trackables" href="../track/">Find Trackables</a></li>
- <li>
- <a id="ctl00_hlSubNavHelpCenter" title="Help Center" rel="external" href="http://support.groundspeak.com/index.php">Help Center</a></li>
- </ul>
- </li>
- <li>
- <a id="ctl00_hlNavCommunity" accesskey="6" title="Community" href="../forums/">Community ▼</a>
- <ul class="SubMenu">
-
- <li>
- <a id="ctl00_hlSubNavTellaFriend" accesskey="-" title="Tell a Friend" href="../account/SendReferral.aspx">Tell a Friend</a></li>
-
- <li><a id="ctl00_hlSubNavVolunteers" accesskey="+" title="Volunteers" href="../volunteers/">Volunteers</a></li>
- <li>
- <a id="ctl00_hlSubNavLocal" accesskey="z" title="Local Organizations" href="../organizations/">Local Organizations</a></li>
- <li>
- <a id="ctl00_hlSubNavDiscussionForums" accesskey="f" title="Discussion Forums" href="../forums/">Discussion Forums</a></li>
- <li>
- <a id="ctl00_hlSubNavBlog" accesskey="b" title="Blog" rel="external" href="http://blog.geocaching.com/">Blog</a></li>
- <li>
- <a id="ctl00_hlSubNavEvents" accesskey="v" title="Events" href="../calendar/">Events</a></li>
- </ul>
- </li>
- <li>
- <a id="ctl00_hlNavShop" accesskey="4" title="Shop" href="http://shop.geocaching.com/">Shop ▼</a>
- <ul class="SubMenu">
- <li>
- <a id="ctl00_hlSubNavShop" accesskey="j" title="Shop Geocaching" rel="external" href="http://shop.geocaching.com/">Shop Geocaching</a></li>
- <li>
- <a id="ctl00_hlSubNavIntlRetailers" title="International Retailers" rel="external" href="http://shop.geocaching.com/default/international-retailers/">International Retailers</a></li>
- <li>
- <a id="ctl00_hlSubNavGPSReviews" accesskey="w" title="GPS Reviews" href="/reviews/gps">GPS Reviews</a></li>
- <li>
- <a id="ctl00_hlSubNavGPSGuide" accesskey="k" title="Guide to Buying a GPS Device" href="../about/buying.aspx">Guide to Buying a GPS Device</a></li>
- </ul>
- </li>
- <li>
- <a id="ctl00_hlNavPartnering" accesskey="5" title="Partnering" href="../travel/">Partnering ▼</a>
- <ul class="SubMenu">
- <li>
- <a id="ctl00_hlSubNavTravel" title="Travel and GeoTourism" href="../travel/">Travel and GeoTourism</a></li>
- <li>
- <a id="ctl00_hlSubNavBrandedPromotions" title="Branded Promotions" href="../brandedpromotions/">Branded Promotions</a></li>
- <li>
- <a id="ctl00_hlSubNavEducation" title="Geocaching and Education" href="../education/">Geocaching and Education</a></li>
- <li>
- <a id="ctl00_hlSubNavAdvertisingWithUs" title="Advertising with Us" href="../about/advertising.aspx">Advertising with Us</a></li>
- <li>
- <a id="ctl00_hlSubNavAPIProgram" title="API Program" href="../live/apidevelopers/">API Program</a></li>
- </ul>
- </li>
- <li>
- <a id="ctl00_hlNavVideos" accesskey="7" title="Videos" href="../videos/">Videos</a></li>
- <li>
- <a id="ctl00_hlNavFollowUs" title="Follow Us" href="http://www.facebook.com/pages/Geocachingcom/45625464679?ref=ts">Follow Us ▼</a>
- <ul class="SubMenu NavSocialMedia">
- <li>
- <a id="ctl00_hlSubNavFacebook" title="Facebook" class="SubNavFacebook" href="http://www.facebook.com/pages/Geocachingcom/45625464679?ref=ts">Facebook</a></li>
- <li>
- <a id="ctl00_hlSubNavTwitter" title="Twitter" class="SubNavTwitter" href="http://twitter.com/GoGeocaching">Twitter</a></li>
- <li>
- <a id="ctl00_hlSubNavFlickr" title="Flickr" class="SubNavFlickr" href="http://www.flickr.com/photos/geocaching_com/">Flickr</a></li>
- <li>
- <a id="ctl00_hlSubNavYouTube" title="YouTube" class="SubNavYouTube" href="http://www.youtube.com/user/GoGeocaching">YouTube</a></li>
- </ul>
- </li>
- </ul>
-
- </nav>
+ <ul class="Menu">
+ <li>
+ <a id="ctl00_hlNavLearn" accesskey="1" title="Learn" href="../guide/">Learn ▼</a>
+ <ul class="SubMenu">
+ <li>
+ <a id="ctl00_hlSubNavGeocaching101" accesskey="i" title="Geocaching 101" href="../guide/">Geocaching 101</a></li>
+ <li>
+ <a id="ctl00_hlSubNavGeocaching2Minutes" title="Geocaching in 2 Minutes" href="../videos/#cat=cat:newbies&vid=-4VFeYZTTYs">Geocaching in 2 Minutes</a></li>
+ </ul>
+ </li>
+
+ <li id="ctl00_liNavProfile">
+ <a id="ctl00_hlNavProfile" accesskey="2" title="Your Profile" href="../my/">Your Profile ▼</a>
+ <ul class="SubMenu">
+ <li>
+ <a id="ctl00_hlSubNavQuickView" accesskey="p" title="Quick View" href="../my/">Quick View</a></li>
+ <li>
+ <a id="ctl00_hlSubNavLists" accesskey="q" title="Lists" href="../my/lists.aspx">Lists</a></li>
+ <li class="ExtraText">
+ <a id="ctl00_hlSubNavGeocaches" accesskey="m" title="Geocaches" class="NoRightPadding" href="../my/geocaches.aspx">Geocaches</a>
+ (<a id="ctl00_hlSubNavGeocachesYours" accesskey="y" title="Yours" class="NoSidePadding" href="../my/owned.aspx">Yours</a>)</li>
+ <li class="ExtraText">
+ <a id="ctl00_hlSubNavProfileTrackables" title="Trackables" class="NoRightPadding" href="../my/travelbugs.aspx">Trackables</a>
+ (<a id="ctl00_hlSubNavTrackablesYours" accesskey="8" title="Yours" class="NoSidePadding" href="../track/search.aspx?o=1&uid=0564a940-8311-40ee-8e76-7e91b2cf6284">Yours</a>)</li>
+ <li>
+ <a id="ctl00_hlSubNavPocketQueries" accesskey="9" title="Pocket Queries" href="../pocket/">Pocket Queries</a></li>
+ <li>
+ <a id="ctl00_hlSubNavFieldNotes" accesskey="0" title="Field Notes" href="../my/fieldnotes.aspx">Field Notes</a></li>
+ <li>
+ <a id="ctl00_hlSubNavAccount" accesskey="a" title="Account Details" href="../account/">Account Details</a></li>
+ </ul>
+ </li>
+ <li>
+ <a id="ctl00_hlNavPlay" accesskey="3" title="Play" href="./">Play ▼</a>
+ <ul class="SubMenu">
+ <li>
+ <a id="ctl00_hlSubNavHide" accesskey="d" title="Hide & Seek a Cache" href="./">Hide & Seek a Cache</a></li>
+ <li>
+ <a id="ctl00_hlSubNavLogCache" title="Log a Cache" href="../my/recentlyviewedcaches.aspx">Log a Cache</a></li>
+ <li><a id="ctl00_hlSubNavMap" accesskey="/" title="View Geocache Map" href="../map/">View Geocache Map</a></li>
+ <li>
+ <a id="ctl00_hlSubNavTrackables" accesskey="e" title="Find Trackables" href="../track/">Find Trackables</a></li>
+ <li>
+ <a id="ctl00_hlSubNavHelpCenter" title="Help Center" rel="external" href="http://support.groundspeak.com/index.php">Help Center</a></li>
+ </ul>
+ </li>
+ <li>
+ <a id="ctl00_hlNavCommunity" accesskey="6" title="Community" href="../forums/">Community ▼</a>
+ <ul class="SubMenu">
+
+ <li>
+ <a id="ctl00_hlSubNavTellaFriend" accesskey="-" title="Tell a Friend" href="../account/SendReferral.aspx">Tell a Friend</a></li>
+
+ <li><a id="ctl00_hlSubNavVolunteers" accesskey="+" title="Volunteers" href="../volunteers/">Volunteers</a></li>
+ <li>
+ <a id="ctl00_hlSubNavLocal" accesskey="z" title="Local Organizations" href="../organizations/">Local Organizations</a></li>
+ <li>
+ <a id="ctl00_hlSubNavDiscussionForums" accesskey="f" title="Discussion Forums" href="../forums/">Discussion Forums</a></li>
+ <li>
+ <a id="ctl00_hlSubNavBlog" accesskey="b" title="Blog" rel="external" href="http://blog.geocaching.com/">Blog</a></li>
+ <li>
+ <a id="ctl00_hlSubNavEvents" accesskey="v" title="Events" href="../calendar/">Events</a></li>
+ </ul>
+ </li>
+ <li>
+ <a id="ctl00_hlNavShop" accesskey="4" title="Shop" href="http://shop.geocaching.com/">Shop ▼</a>
+ <ul class="SubMenu">
+ <li>
+ <a id="ctl00_hlSubNavShop" accesskey="j" title="Shop Geocaching" rel="external" href="http://shop.geocaching.com/">Shop Geocaching</a></li>
+ <li>
+ <a id="ctl00_hlSubNavIntlRetailers" title="International Retailers" rel="external" href="http://shop.geocaching.com/default/international-retailers/">International Retailers</a></li>
+ <li>
+ <a id="ctl00_hlSubNavGPSReviews" accesskey="w" title="GPS Reviews" href="/reviews/gps">GPS Reviews</a></li>
+ <li>
+ <a id="ctl00_hlSubNavGPSGuide" accesskey="k" title="Guide to Buying a GPS Device" href="../about/buying.aspx">Guide to Buying a GPS Device</a></li>
+ </ul>
+ </li>
+ <li>
+ <a id="ctl00_hlNavPartnering" accesskey="5" title="Partnering" href="../travel/">Partnering ▼</a>
+ <ul class="SubMenu">
+ <li>
+ <a id="ctl00_hlSubNavTravel" title="Travel and GeoTourism" href="../travel/">Travel and GeoTourism</a></li>
+ <li>
+ <a id="ctl00_hlSubNavBrandedPromotions" title="Branded Promotions" href="../brandedpromotions/">Branded Promotions</a></li>
+ <li>
+ <a id="ctl00_hlSubNavEducation" title="Geocaching and Education" href="../education/">Geocaching and Education</a></li>
+ <li>
+ <a id="ctl00_hlSubNavAdvertisingWithUs" title="Advertising with Us" href="../about/advertising.aspx">Advertising with Us</a></li>
+ <li>
+ <a id="ctl00_hlSubNavAPIProgram" title="API Program" href="../live/apidevelopers/">API Program</a></li>
+ </ul>
+ </li>
+ <li>
+ <a id="ctl00_hlNavVideos" accesskey="7" title="Videos" href="../videos/">Videos</a></li>
+ <li>
+ <a id="ctl00_hlNavFollowUs" title="Follow Us" href="http://www.facebook.com/pages/Geocachingcom/45625464679?ref=ts">Follow Us ▼</a>
+ <ul class="SubMenu NavSocialMedia">
+ <li>
+ <a id="ctl00_hlSubNavFacebook" title="Facebook" class="SubNavFacebook" href="http://www.facebook.com/pages/Geocachingcom/45625464679?ref=ts">Facebook</a></li>
+ <li>
+ <a id="ctl00_hlSubNavTwitter" title="Twitter" class="SubNavTwitter" href="http://twitter.com/GoGeocaching">Twitter</a></li>
+ <li>
+ <a id="ctl00_hlSubNavFlickr" title="Flickr" class="SubNavFlickr" href="http://www.flickr.com/photos/geocaching_com/">Flickr</a></li>
+ <li>
+ <a id="ctl00_hlSubNavYouTube" title="YouTube" class="SubNavYouTube" href="http://www.youtube.com/user/GoGeocaching">YouTube</a></li>
+ </ul>
+ </li>
+ </ul>
+
+ </nav>
+ <div class="LanguageSelector">
+
+
+<div class="LocaleText">
+
+ <strong>Choose Your Language:</strong>
+
+</div>
+<div class="LocaleList">
+
+ <div class="selected-language">
+
+ <a href="#">English▼</a>
+
+ </div>
+ <ul class="language-list">
+
+ <li><a id="ctl00_uxLocaleListTop_uxLocaleList_ctl00_uxLocaleItem" href="javascript:__doPostBack('ctl00$uxLocaleListTop$uxLocaleList$ctl00$uxLocaleItem','')">English</a></li>
+
+ <li><a id="ctl00_uxLocaleListTop_uxLocaleList_ctl01_uxLocaleItem" href="javascript:__doPostBack('ctl00$uxLocaleListTop$uxLocaleList$ctl01$uxLocaleItem','')">Deutsch</a></li>
+
+ <li><a id="ctl00_uxLocaleListTop_uxLocaleList_ctl02_uxLocaleItem" href="javascript:__doPostBack('ctl00$uxLocaleListTop$uxLocaleList$ctl02$uxLocaleItem','')">Français</a></li>
+
+ <li><a id="ctl00_uxLocaleListTop_uxLocaleList_ctl03_uxLocaleItem" href="javascript:__doPostBack('ctl00$uxLocaleListTop$uxLocaleList$ctl03$uxLocaleItem','')">Português</a></li>
+
+ <li><a id="ctl00_uxLocaleListTop_uxLocaleList_ctl04_uxLocaleItem" href="javascript:__doPostBack('ctl00$uxLocaleListTop$uxLocaleList$ctl04$uxLocaleItem','')">Čeština</a></li>
+
+ <li><a id="ctl00_uxLocaleListTop_uxLocaleList_ctl05_uxLocaleItem" href="javascript:__doPostBack('ctl00$uxLocaleListTop$uxLocaleList$ctl05$uxLocaleItem','')">Svenska</a></li>
+
+ <li><a id="ctl00_uxLocaleListTop_uxLocaleList_ctl06_uxLocaleItem" href="javascript:__doPostBack('ctl00$uxLocaleListTop$uxLocaleList$ctl06$uxLocaleItem','')">Español</a></li>
+
+ <li><a id="ctl00_uxLocaleListTop_uxLocaleList_ctl07_uxLocaleItem" href="javascript:__doPostBack('ctl00$uxLocaleListTop$uxLocaleList$ctl07$uxLocaleItem','')">Italiano</a></li>
+
+ <li><a id="ctl00_uxLocaleListTop_uxLocaleList_ctl08_uxLocaleItem" href="javascript:__doPostBack('ctl00$uxLocaleListTop$uxLocaleList$ctl08$uxLocaleItem','')">Nederlands</a></li>
+
+ <li><a id="ctl00_uxLocaleListTop_uxLocaleList_ctl09_uxLocaleItem" href="javascript:__doPostBack('ctl00$uxLocaleListTop$uxLocaleList$ctl09$uxLocaleItem','')">Català</a></li>
+
+ <li><a id="ctl00_uxLocaleListTop_uxLocaleList_ctl10_uxLocaleItem" href="javascript:__doPostBack('ctl00$uxLocaleListTop$uxLocaleList$ctl10$uxLocaleItem','')">Polski</a></li>
+
+ <li><a id="ctl00_uxLocaleListTop_uxLocaleList_ctl11_uxLocaleItem" href="javascript:__doPostBack('ctl00$uxLocaleListTop$uxLocaleList$ctl11$uxLocaleItem','')">Eesti</a></li>
+
+ <li><a id="ctl00_uxLocaleListTop_uxLocaleList_ctl12_uxLocaleItem" href="javascript:__doPostBack('ctl00$uxLocaleListTop$uxLocaleList$ctl12$uxLocaleItem','')">Norsk, Bokmål</a></li>
+
+ <li><a id="ctl00_uxLocaleListTop_uxLocaleList_ctl13_uxLocaleItem" href="javascript:__doPostBack('ctl00$uxLocaleListTop$uxLocaleList$ctl13$uxLocaleItem','')">한국어</a></li>
+
+ <li><a id="ctl00_uxLocaleListTop_uxLocaleList_ctl14_uxLocaleItem" href="javascript:__doPostBack('ctl00$uxLocaleListTop$uxLocaleList$ctl14$uxLocaleItem','')">Magyar</a></li>
+
+ <li><a id="ctl00_uxLocaleListTop_uxLocaleList_ctl15_uxLocaleItem" href="javascript:__doPostBack('ctl00$uxLocaleListTop$uxLocaleList$ctl15$uxLocaleItem','')">Română</a></li>
+
+ </ul>
+
+</div>
+<script type="text/javascript">
+
+ jQuery(document).ready(function () {
+ jQuery(".selected-language a").click(function (e) {
+ e.preventDefault();
+ var $loc = jQuery(this).parent().next();
+ jQuery($loc).show().position({
+ of: $loc.parent(),
+ my: "left top",
+ at: "left bottom",
+ offset: "0 0",
+ collision: "fit fit"
+ });
+ jQuery(this).addClass("Expanded");
+ jQuery(document).click(function () {
+ jQuery(".language-list").fadeOut("fast");
+ jQuery(".selected-language a").removeClass("Expanded");
+ });
+ return false;
+ });
+ });
+</script>
+ </div>
+ </div>
+
</div>
@@ -486,8 +561,8 @@ Sys.WebForms.PageRequestManager._initialize('ctl00$uxMainScriptManager', 'aspnet </div>
<div id="dlgClipboard">
<input type="text" class="TextFormat" />
- <a href="#" onclick="$('#dlgClipboard').hide();return false;">
- <img src="/images/stockholm/mini/close.gif" alt="Close" title="Close" /></a>
+ <a href="#" onclick="$('#dlgClipboard').hide();return false;" title="Close" class="Close">
+ x</a>
</div>
<script type="text/javascript">
$("a.CoordInfoLink").click(function (e) {
@@ -584,11 +659,11 @@ Sys.WebForms.PageRequestManager._initialize('ctl00$uxMainScriptManager', 'aspnet </dl>
<dl class="bottom">
<dt>
- <img src="/images/silk/group_go.png" alt="View Who Favorited this Cache" title="View Who Favorited this Cache" /></dt>
+ <img src="/images/icons/16/view_user.png" alt="View Who Favorited this Cache" title="View Who Favorited this Cache" /></dt>
<dd>
<a id="hlViewWhoFavorited" title="View Who Favorited this Cache" href="/seek/cache_favorited.aspx?guid=73246a5a-ebb9-4d4f-8db9-a951036f5376">View Who Favorited this Cache</a></dd>
<dt>
- <img src="/images/silk/help.png" alt="About Favorites" title="About Favorites" /></dt>
+ <img src="/images/icons/16/help.png" alt="About Favorites" title="About Favorites" /></dt>
<dd>
<a id="hlAboutFavorites" title="About Favorites" href="http://support.groundspeak.com/index.php?pg=kb.page&id=287" target="_blank">About Favorites</a>
</dd>
@@ -633,14 +708,14 @@ Sys.WebForms.PageRequestManager._initialize('ctl00$uxMainScriptManager', 'aspnet <br />
<small>
<a id="ctl00_ContentBody_lnkPrintFriendly" class="lnk" href="cdpf.aspx?guid=73246a5a-ebb9-4d4f-8db9-a951036f5376" target="_blank">
- <img src="/images/silk/printer.png" alt="Print" title="Print" width="16" height="16" /> <span>
+ <img src="/images/icons/16/print.png" alt="Print" title="Print" width="16" height="16" /> <span>
No Logs
</span>
</a>
<a id="ctl00_ContentBody_lnkPrintFriendly5Logs" href="cdpf.aspx?guid=73246a5a-ebb9-4d4f-8db9-a951036f5376&lc=5" target="_blank">5 Logs</a>
<a id="ctl00_ContentBody_lnkPrintFriendly10Logs" href="cdpf.aspx?guid=73246a5a-ebb9-4d4f-8db9-a951036f5376&lc=10" target="_blank">10 Logs</a> ·
<a id="ctl00_ContentBody_lnkPrintDirectionsSimple" class="lnk" href="http://maps.google.com/maps?f=d&hl=en&saddr=52.4162,9.594117 (Home Location)&daddr=52.425067,9.6642(Kinderwald+KiC)" target="_blank">
- <img src="/images/silk/car.png" alt="Driving Directions" title="Driving Directions" width="16" height="16" /> <span>
+ <img src="/images/icons/16/directions.png" alt="Driving Directions" title="Driving Directions" width="16" height="16" /> <span>
Driving Directions
</span>
</a></small></p>
@@ -684,7 +759,7 @@ Sys.WebForms.PageRequestManager._initialize('ctl00$uxMainScriptManager', 'aspnet <legend class="note">
Personal Cache Note
</legend>
- <img src="/images/silk/help.png" id="pcn_help" class="CacheNoteHelpImg" />
+ <img src="/images/icons/16/help.png" id="pcn_help" class="CacheNoteHelpImg" />
<p id="cache_note" class="NoBottomSpacing">
</p>
</fieldset>
@@ -764,17 +839,15 @@ P.S. An warmen Tagen Badesachen und Handtuch mitnehmen.</span> <div class="CacheDetailNavigationWidget NoPrint">
<h3 class="WidgetHeader">
- <img id="ctl00_ContentBody_GeoNav2_uxHeaderImage" src="../images/stockholm/16x16/home.gif" alt="Navigation" style="border-width:0px;" />
Navigation
</h3>
<div class="WidgetBody">
<ul class="CacheDetailsNavLinks">
- <li><a href="/seek/log.aspx?ID=1811409" class="lnk"><img src="/images/stockholm/16x16/comment_add.gif" /> <span>Log your visit</span></a></li>
-<li><a href="/seek/gallery.aspx?guid=73246a5a-ebb9-4d4f-8db9-a951036f5376" class="lnk"><img src="/images/stockholm/16x16/photos.gif" /> <span>View Gallery</span></a></li>
-<li><a href="/my/watchlist.aspx?w=1811409" class="lnk"><img src="/images/stockholm/16x16/icon_watchlist.gif" /> <span>Watch Listing</span></a></li>
-<li><a href="/bookmarks/ignore.aspx?guid=73246a5a-ebb9-4d4f-8db9-a951036f5376&WptTypeID=3" class="lnk"><img src="/images/stockholm/16x16/cross.gif" /> <span>Ignore Listing</span></a></li>
-<li><a href="/bookmarks/mark.aspx?guid=73246a5a-ebb9-4d4f-8db9-a951036f5376&WptTypeID=3" class="lnk"><img src="/images/stockholm/16x16/book_open_mark.gif" /> <span>Bookmark Listing</span></a></li>
+ <li><a href="/seek/log.aspx?ID=1811409" class="lnk"><img src="/images/icons/16/write_log.png" /> <span>Log your visit</span></a></li>
+<li><a href="/my/watchlist.aspx?w=1811409" class="lnk"><img src="/images/icons/16/watch.png" /> <span>Watch Listing</span></a></li>
+<li><a href="/bookmarks/ignore.aspx?guid=73246a5a-ebb9-4d4f-8db9-a951036f5376&WptTypeID=3" class="lnk"><img src="/images/icons/16/ignore.png" /> <span>Ignore Listing</span></a></li>
+<li><a href="/bookmarks/mark.aspx?guid=73246a5a-ebb9-4d4f-8db9-a951036f5376&WptTypeID=3" class="lnk"><img src="/images/icons/16/bookmark_list.png" /> <span>Bookmark Listing</span></a></li>
</ul>
@@ -801,7 +874,7 @@ P.S. An warmen Tagen Badesachen und Handtuch mitnehmen.</span> </div>
<p>
<span class="favorite-rank Clear">
- 13
+ 11
</span>
<a id="ctl00_ContentBody_hlFavoritePointsRemaining" href="/my/favorites.aspx">Favorite points remaining</a>
</p>
@@ -813,12 +886,12 @@ P.S. An warmen Tagen Badesachen und Handtuch mitnehmen.</span> <p>
<a id="ctl00_ContentBody_hlFoundItLog" href="/seek/log.aspx?LUID=7c6f0891-7003-4ae5-9231-c2e417d1c5e4">
- <img src="/images/stockholm/16x16/check.gif" alt="Found It" title="Found It" />You logged this as Found on 19/08/2010.</a></p>
+ <img src="/images/icons/16/check.png" alt="Found It" title="Found It" />You logged this as Found on 19/08/2010.</a></p>
<div id="ctl00_ContentBody_pnlWatchedCount">
- <p>
- <img src="/images/icons/icon_watchlist.gif" alt="Watching" /> 1 user(s) watching this cache.</p>
+ <p class="WatchIcon">
+ 2 user(s) watching this cache.</p>
</div>
@@ -834,8 +907,6 @@ P.S. An warmen Tagen Badesachen und Handtuch mitnehmen.</span> <div id="ctl00_ContentBody_detailWidget" class="CacheDetailNavigationWidget TopSpacing BottomSpacing">
<h3 class="WidgetHeader">
-
- <img src="/images/icon_Boardattention.gif" height="16" width="16" alt="Info" title="Info" />
Attributes</h3>
<div class="WidgetBody">
<img src="/images/attributes/motorcycles-no.gif" alt="no motorcycles" title="no motorcycles" width="30" height="30" /> <img src="/images/attributes/wheelchair-no.gif" alt="not wheelchair accessible" title="not wheelchair accessible" width="30" height="30" /> <img src="/images/attributes/winter-yes.gif" alt="available in winter" title="available in winter" width="30" height="30" /> <img src="/images/attributes/available-yes.gif" alt="available 24-7" title="available 24-7" width="30" height="30" /> <img src="/images/attributes/wading-yes.gif" alt="may require wading" title="may require wading" width="30" height="30" /> <img src="/images/attributes/scenic-yes.gif" alt="scenic view" title="scenic view" width="30" height="30" /> <img src="/images/attributes/onehour-yes.gif" alt="takes less than 1 hour" title="takes less than 1 hour" width="30" height="30" /> <img src="/images/attributes/kids-yes.gif" alt="kid friendly" title="kid friendly" width="30" height="30" /> <img src="/images/attributes/bicycles-yes.gif" alt="bikes allowed" title="bikes allowed" width="30" height="30" /> <img src="/images/attributes/dogs-yes.gif" alt="dogs allowed" title="dogs allowed" width="30" height="30" /> <img src="/images/attributes/attribute-blank.gif" alt="blank" title="blank" width="30" height="30" /> <img src="/images/attributes/attribute-blank.gif" alt="blank" title="blank" width="30" height="30" /> <p class="NoBottomSpacing"><small><a href="/about/icons.aspx" title="What are Attributes?">What are Attributes?</a></small></p>
@@ -849,7 +920,7 @@ P.S. An warmen Tagen Badesachen und Handtuch mitnehmen.</span> <div id="ctl00_ContentBody_divContentSide">
<p class="NoBottomSpacing">
- <span id="ctl00_ContentBody_ADModules_09"><iframe type="iframe" src="http://ads.groundspeak.com/a.aspx?ZoneID=9&Task=Get&SiteID=1&X='3b6e8c6544fd4126b1ce502e131e426f'" width="120" height="240" Marginwidth="0" Marginheight="0" Hspace="0" Vspace="0" Frameborder="0" Scrolling="no" style="width:120px;Height:240px;"><a href="http://ads.groundspeak.com/a.aspx?ZoneID=9&Task=Click&;Mode=HTML&SiteID=1" target="_blank"><img src="http://ads.groundspeak.com/a.aspx?ZoneID=9&Task=Get&Mode=HTML&SiteID=1" width="120" height="240" border="0" alt="" /></a></iframe></span>
+ <span id="ctl00_ContentBody_ADModules_09"><iframe type="iframe" src="http://ads.groundspeak.com/a.aspx?ZoneID=9&Task=Get&SiteID=1&X='eb9078f6908c45c38122744c97ed69ea'" width="120" height="240" Marginwidth="0" Marginheight="0" Hspace="0" Vspace="0" Frameborder="0" Scrolling="no" style="width:120px;Height:240px;"><a href="http://ads.groundspeak.com/a.aspx?ZoneID=9&Task=Click&;Mode=HTML&SiteID=1" target="_blank"><img src="http://ads.groundspeak.com/a.aspx?ZoneID=9&Task=Get&Mode=HTML&SiteID=1" width="120" height="240" border="0" alt="" /></a></iframe></span>
</p>
<p class="AlignCenter">
<small><a href="../about/advertising.aspx" id="ctl00_ContentBody_advertisingWithUs" title="Advertising with Us">Advertising with Us</a></small></p>
@@ -871,19 +942,27 @@ P.S. An warmen Tagen Badesachen und Handtuch mitnehmen.</span> <div class="CacheDetailNavigationWidget">
<h3 class="WidgetHeader">
- <img id="ctl00_ContentBody_uxTravelBugList_uxInventoryIcon" src="../images/WptTypes/sm/tb_coin.gif" alt="Inventory" style="height:16px;width:16px;border-width:0px;" />
<span id="ctl00_ContentBody_uxTravelBugList_uxInventoryLabel">Inventory</span>
</h3>
<div class="WidgetBody">
- <div id="ctl00_ContentBody_uxTravelBugList_uxNoTrackableItems">
-
- <p class="NoBottomSpacing"><span id="ctl00_ContentBody_uxTravelBugList_uxNoTrackableItemsLabel">There are no Trackables in this cache.</span></p>
+ <ul>
+
+ <li>
+ <a href="http://www.geocaching.com/track/details.aspx?guid=3925fdbc-bd07-4688-b661-758b07cb7063" class="lnk">
+ <img src="http://www.geocaching.com/images/wpttypes/sm/5049.gif" width="16" /><span>FishGator</span></a>
+ </li>
+
+ </ul>
+
-</div>
<div class="TopSpacing">
+ <div id="ctl00_ContentBody_uxTravelBugList_uxTrackableItemsLinks">
+
+ <p class="NoBottomSpacing"><a id="ctl00_ContentBody_uxTravelBugList_uxViewAllTrackableItems" href="../track/search.aspx?wid=73246a5a-ebb9-4d4f-8db9-a951036f5376&ccid=1811409">View all Trackables</a></p>
+</div>
<p class="NoBottomSpacing"><a id="ctl00_ContentBody_uxTravelBugList_uxTrackableItemsHistory" href="../track/search.aspx?wid=73246a5a-ebb9-4d4f-8db9-a951036f5376">View past Trackables</a></p>
<p class="NoBottomSpacing"><a id="ctl00_ContentBody_uxTravelBugList_uxWhatAreTrackables" title="What are Trackable Items?" href="../track/default.aspx">What are Trackable Items?</a></p>
</div>
@@ -897,8 +976,7 @@ P.S. An warmen Tagen Badesachen und Handtuch mitnehmen.</span> <div class="CacheDetailNavigationWidget">
- <h3 class="WidgetHeader">
- <img src="/images/stockholm/16x16/pages.gif" width="16" height="16" alt="" /> Bookmark Lists</h3>
+ <h3 class="WidgetHeader">Bookmark Lists</h3>
<div class="WidgetBody">
@@ -929,8 +1007,7 @@ P.S. An warmen Tagen Badesachen und Handtuch mitnehmen.</span> <div class="CacheDetailNavigationWidget">
- <h3 class="WidgetHeader">
- <img src="/images/stockholm/16x16/pages.gif" width="16" height="16" alt="" /> My Bookmark Lists</h3>
+ <h3 class="WidgetHeader">My Bookmark Lists</h3>
<div class="WidgetBody">
@@ -1291,7 +1368,7 @@ P.S. An warmen Tagen Badesachen und Handtuch mitnehmen.</span> </div>
<div class="CDMapWidget">
<p class="WidgetHeader NoBottomSpacing">
- <a id="ctl00_ContentBody_uxViewLargerMap" title="View Larger Map" class="lnk" href="/map/default.aspx?lat=52.425067&lng=9.6642" target="_blank"><img src="/images/silk/map_go.png" /> <span>View Larger Map</span></a>
+ <a id="ctl00_ContentBody_uxViewLargerMap" title="View Larger Map" href="/map/default.aspx?lat=52.425067&lng=9.6642" target="_blank">View Larger Map</a>
</p>
<div id="map_canvas" style="width: 325px; height: 325px;">
@@ -1357,13 +1434,13 @@ P.S. An warmen Tagen Badesachen und Handtuch mitnehmen.</span> <div class="InformationWidget Clear">
<h3>
- 129 Logged Visits</h3>
+ 139 Logged Visits</h3>
<div class="EncryptDecrypt">
<a href="#" class="decrypt-link">
Decrypt
</a>
</div>
- <span id="ctl00_ContentBody_lblFindCounts"><p class="LogTotals"><img src="/images/icons/icon_smile.gif" alt="Found it" title="Found it" /> 109 <img src="/images/icons/icon_sad.gif" alt="Didn't find it" title="Didn't find it" /> 3 <img src="/images/icons/icon_note.gif" alt="Write note" title="Write note" /> 7 <img src="/images/icons/icon_disabled.gif" alt="Temporarily Disable Listing" title="Temporarily Disable Listing" /> 2 <img src="/images/icons/icon_enabled.gif" alt="Enable Listing" title="Enable Listing" /> 2 <img src="/images/icons/icon_greenlight.gif" alt="Publish Listing" title="Publish Listing" /> 1 <img src="/images/icons/icon_needsmaint.gif" alt="Needs Maintenance" title="Needs Maintenance" /> 2 <img src="/images/icons/icon_maint.gif" alt="Owner Maintenance" title="Owner Maintenance" /> 3 </p></span>
+ <span id="ctl00_ContentBody_lblFindCounts"><p class="LogTotals"><img src="/images/logtypes/2.png" alt="Found it" title="Found it" /> 119 <img src="/images/logtypes/3.png" alt="Didn't find it" title="Didn't find it" /> 3 <img src="/images/logtypes/4.png" alt="Write note" title="Write note" /> 7 <img src="/images/logtypes/22.png" alt="Temporarily Disable Listing" title="Temporarily Disable Listing" /> 2 <img src="/images/logtypes/23.png" alt="Enable Listing" title="Enable Listing" /> 2 <img src="/images/logtypes/24.png" alt="Publish Listing" title="Publish Listing" /> 1 <img src="/images/logtypes/45.png" alt="Needs Maintenance" title="Needs Maintenance" /> 2 <img src="/images/logtypes/46.png" alt="Owner Maintenance" title="Owner Maintenance" /> 3 </p></span>
<p class="HalfLeft">
<a id="ctl00_ContentBody_uxLogbookLink" href="cache_logbook.aspx?guid=73246a5a-ebb9-4d4f-8db9-a951036f5376">View Logbook</a> | <a id="ctl00_ContentBody_uxGalleryImagesLink" DisplayFormatPlural="View the Image Gallery of {0:#,###} images" DisplayFormatSingular="View the Image Gallery" href="gallery.aspx?guid=73246a5a-ebb9-4d4f-8db9-a951036f5376">View the Image Gallery of 17 images</a>
</p>
@@ -1394,7 +1471,7 @@ P.S. An warmen Tagen Badesachen und Handtuch mitnehmen.</span> </div>
<p>
<small>
- Current Time: <time datetime="2012-10-18T12:51:21Z">10/18/2012 12:51:21 Pacific Daylight Time (19:51 GMT)</time><br/>Last Updated: <time class="timeago" datetime="2012-09-30T17:19:54Z">2012-09-30T17:19:54Z</time> on 09/30/2012 10:19:54 Pacific Daylight Time (17:19 GMT) <br/>Rendered From:Unknown<br />Coordinates are in the WGS84 datum
+ Current Time: <time datetime="2012-12-11T12:33:09Z">12/11/2012 12:33:09 (UTC-08:00) Pacific Time (US & Canada) (20:33 GMT)</time><br/>Last Updated: <time class="timeago" datetime="2012-11-12T08:45:04Z">2012-11-12T08:45:04Z</time> on 11/12/2012 00:45:04 (UTC-08:00) Pacific Time (US & Canada) (08:45 GMT) <br/>Rendered From:Unknown<br />Coordinates are in the WGS84 datum
</small>
</p>
@@ -1407,7 +1484,7 @@ P.S. An warmen Tagen Badesachen und Handtuch mitnehmen.</span> <p class="logOwnerProfileName">
<strong><a id="143568283" href="/profile/?guid=${AccountGuid}">${UserName}</a></strong></p>
<p class="logOwnerBadge">
- <img title="${creator.GroupTitle}" src="${creator.GroupImageUrl}" align="absmiddle" style="vertical-align:middle">${creator.GroupTitle}
+ <img title="${creator.GroupTitle}" src="${creator.GroupImageUrl}">${creator.GroupTitle}
</p>
<p class="logOwnerAvatar">
<a href="/profile/?guid=${AccountGuid}">
@@ -1422,18 +1499,13 @@ P.S. An warmen Tagen Badesachen und Handtuch mitnehmen.</span> {{if GeocacheFindCount > 0 }}
<img title="Caches Found" src="/images/icons/icon_smile.png"> ${GeocacheFindCount}
{{/if}}
- {{if GeocacheFindCount > 0 && ChallengesCompleted > 0 }}
- ·
- {{/if}}
- {{if ChallengesCompleted > 0 }}
- <img title="Challenges Completed" src="/images/challenges/types/sm/challenge.png"> ${ChallengesCompleted}
- {{/if}}
+
</p>
</div>
<div class="FloatLeft LogDisplayRight">
<div class="HalfLeft LogType">
<strong>
- <img title="${LogType}" alt="${LogType}" src="/images/icons/${LogTypeImage}"> ${LogType}</strong></div>
+ <img title="${LogType}" alt="${LogType}" src="/images/logtypes/${LogTypeImage}"> ${LogType}</strong></div>
<div class="HalfRight AlignRight">
<span class="minorDetails LogDate">${Visited}</span></div>
<div class="Clear LogContent">
@@ -1468,7 +1540,7 @@ P.S. An warmen Tagen Badesachen und Handtuch mitnehmen.</span> <tr>
<td>
<a class="tb_images lnk" rel="tb_images[grp${LogID}]" href="http://img.geocaching.com/cache/log/large/${FileName}" data-title="{{tmpl "tmplCacheLogImagesTitle"}}">
- <img title="Photo" alt="Photo" src="/images/silk/photo.png">
+ <img title="Photo" alt="Photo" src="/images/icons/16/photo.png">
<span>${ $('<div />').text($('<div />').html($item.data.Name).text()).html() }</span>
</a>
</td>
@@ -2047,7 +2119,8 @@ P.S. An warmen Tagen Badesachen und Handtuch mitnehmen.</span> if (parseCoords.length == 0) {
alert('Please provide valid coordinates.');
} else {
- $.getJSON("/challenges/location.search", { p: parseCoords }, function (response) {
+ //$.getJSON("/challenges/location.search", { p: parseCoords }, function (response) {
+ $.getJSON("/api/geocode", { parse: parseCoords}, function (response) {
if (response.status == "success") {
var newLatLng = new LatLon(response.data.lat, response.data.lng);
@@ -2163,12 +2236,12 @@ P.S. An warmen Tagen Badesachen und Handtuch mitnehmen.</span> </div>
<div class="LocaleList">
- <div id="selected_language">
+ <div class="selected-language">
<a href="#">English▼</a>
</div>
- <ul id="locale_list">
+ <ul class="language-list">
<li><a id="ctl00_uxLocaleList_uxLocaleList_ctl00_uxLocaleItem" href="javascript:__doPostBack('ctl00$uxLocaleList$uxLocaleList$ctl00$uxLocaleItem','')">English</a></li>
@@ -2206,19 +2279,22 @@ P.S. An warmen Tagen Badesachen und Handtuch mitnehmen.</span> </div>
<script type="text/javascript">
-
- jQuery(document).ready(function() {
- jQuery("#selected_language a").click(function (e) {
+
+ jQuery(document).ready(function () {
+ jQuery(".selected-language a").click(function (e) {
e.preventDefault();
- jQuery("#locale_list").show().position({
- of: $("#selected_language"),
+ var $loc = jQuery(this).parent().next();
+ jQuery($loc).show().position({
+ of: $loc.parent(),
my: "left top",
at: "left bottom",
- offset: "0 3",
+ offset: "0 0",
collision: "fit fit"
});
+ jQuery(this).addClass("Expanded");
jQuery(document).click(function () {
- jQuery("#locale_list").fadeOut("fast");
+ jQuery(".language-list").fadeOut("fast");
+ jQuery(".selected-language a").removeClass("Expanded");
});
return false;
});
@@ -2340,15 +2416,15 @@ P.S. An warmen Tagen Badesachen und Handtuch mitnehmen.</span> <script type="text/javascript">
//<![CDATA[
-var uvtoken = 'DbFDfIrSTaXyfNf74lbdopy%2bTw%2fC84Gn87pU%2b3r69toc4lYTKyii0cXY42BXT7amAeAEUCcV1MyzYH%2f69bWOOCGn52%2bvLztqOphcV19IWyW1A25z57oqSJ1sAkVlZuzmQGT6GR77RKSkZXO5AYbAcgko8HsLil1XMjRdDRmBtySwc90x8Q0mNxe99nuyoUxtRN0XygwKEms2NkuZ5dl4%2flu5MBN0Q9EmHqt0VFqdFflA9XyAXZFFc0rdD0xixXSkUxXn6c%2f%2fLu7sgxDTeaYIAWN1rWaoEQs%2fSnItfInWjtlrWAWd%2bFjg9KGYgSi5TDdWV%2bnuwDxycx4A18MCLz6BCh5mf7byqH7k26NVX9QmmNMFmfA%2fJaftLTxUnWqoCX8zLY3XS3PvfNkNKev12xNqJAHs0z3GYXQbkI2fkEikXjo%3d';var isLoggedIn = true;
+var uvtoken = 'DbFDfIrSTaXyfNf74lbdopy%2bTw%2fC84Gn87pU%2b3r69toc4lYTKyii0cXY42BXT7amAeAEUCcV1MyzYH%2f69bWOOJT6ZtmMDX37JlPdU8h3ceeupFKixrABHiQ%2f4GoAKzkZts3VTt2NFKbzEwzecrVDnzLzncL6DFln%2fopayuT93TzGxA6pNBTarvltcOdM8Fe%2fCzHVMd5W11H8IHsvqrOqt3umpkqFt7R8c%2fXvf04lvvALPagUv7w7L7Dyq7Eq0MPjvH5xsBYhEERMG1ko9ud8LdlyKjB8ALy7pXOGI9pd%2bARs0BI6Q4vMG7bICBY3AhOf%2fxx6j5sT1AkbE8bKCcXc2TSIw0t9Gxg1vxr%2fCGjEjakYwnjvgkr0luAI9%2faPYq2bq%2faAP0YDxvKmOtQPMgz86zZE3cmJxPCtmEsGkntZhFM%3d';var isLoggedIn = true;
var userDefinedCoords = {"status":"success","data":{"isUserDefined":false,"oldLatLngDisplay":"N 52° 25.504' E 009° 39.852'"}};
cmapAdditionalWaypoints = [{"lat":52.42307,"lng":9.65038,"type":217,"name":"GC2CJPF Parking ( Parking Area )","pf":"PK"},{"lat":52.42507,"lng":9.6642,"type":218,"name":"GC2CJPF Start ( Question to Answer )","pf":"ST"},{"lat":52.4248,"lng":9.6572,"type":452,"name":"Aussichtspunkt ( Reference Point )","pf":"WO"}];
mapLatLng = {"lat":52.42507,"lng":9.6642,"type":3,"name":"Kinderwald KiC"};
var ccConversions = [{"t":"Decimal","k":"DD","d":"WGS84","v":"52.425067, 009.664200"},{"t":"DDD MM SS.SSS","k":"DMS","d":"WGS84","v":"N 52° 25' 30.241\" E 009° 39' 51.120\""},{"t":"UTM","k":"UTM","d":"WGS84","v":"32U E 545164 N 5808524"}];
userInfo = {ID: 1912314};
-userToken = 'FOUTFKOKLELXOJAYT35WSZBNGADBNKFSYIMKJ2YI6247JORDCSRPR3LYUNKEOR2PQUOHC7OGY223V2X2ADNEDT25JD2QHOXIHYLH7J5XLOWJSK5WTLLQ5UJQMIZEGXYFSHPFRQQ5A374RP7GSKIVLW2RCI53UZFIABL6BZOMFKJVUGRZNB2WTXZKPVBKQDJB76DIMLU2RDXSENNGGFODWKCJFWGPTWIZNIJKNBTXN7PEIXPS6T6Q';
+userToken = 'FOUTFKOKLELXOJAYT35WSZBNGADBNKFSYIMKJ2YI6247JORDCSRPR3LYUNKEOR2PQUOHC7OGY223V2X2ADNEDT25JD2QHOXIHYLH7J5XLOWJSK5WTLLQ5UJQMIZEGXYFSHPFRQQ5A374RP7GSKIVLW2RCI53UZFIABL6BZOMFKJVUGRZNB2WTXZKPVBKQDJB76DIMLU2RDXSEIEBC65XR7VB4ZCCSNMCSTUGGWWBH7IKHWDWEQKA';
includeAvatars = true;
-initalLogs = {"status":"success", "data": [{"LogID":269736455,"CacheID":1811409,"LogGuid":"8029670b-1e40-4828-947a-35b1bd384c08","Latitude":null,"Longitude":null,"LatLonString":"","LogType":"Found it","LogTypeImage":"icon_smile.gif","LogText":"Schöner, entspannender Multi, hat Spaß gemacht<br /> 30.09.12 18:34 Find #112<br />DfdC :)","Created":"30/09/2012","Visited":"30/09/2012","UserName":"Vincent-Shezar","MembershipLevel":3,"AccountID":5412756,"AccountGuid":"ff83a8a9-95a6-4a3a-bff8-37ef16522000","Email":"","AvatarImage":"","GeocacheFindCount":153,"GeocacheHideCount":1,"ChallengesCompleted":0,"IsEncoded":false,"creator":{"GroupTitle":"Premium Member","GroupImageUrl":"/images/icons/prem_user.gif"},"Images":[]},{"LogID":269707464,"CacheID":1811409,"LogGuid":"5f3d71ed-a9f0-4c80-a18d-62853dc908b6","Latitude":null,"Longitude":null,"LatLonString":"","LogType":"Found it","LogTypeImage":"icon_smile.gif","LogText":"Schöner Cache mit interessanter Umgebung :) dfdc","Created":"30/09/2012","Visited":"30/09/2012","UserName":"OdessaXxX","MembershipLevel":3,"AccountID":4149541,"AccountGuid":"f936faba-1a7e-4868-94ef-a009b8cc8a81","Email":"","AvatarImage":"afb33499-53bd-4ea0-8e88-6f6e9eec822e.jpg","GeocacheFindCount":153,"GeocacheHideCount":1,"ChallengesCompleted":0,"IsEncoded":false,"creator":{"GroupTitle":"Premium Member","GroupImageUrl":"/images/icons/prem_user.gif"},"Images":[]},{"LogID":269588958,"CacheID":1811409,"LogGuid":"74492efd-6dd8-4a37-acb1-3ec4ec95501d","Latitude":null,"Longitude":null,"LatLonString":"","LogType":"Found it","LogTypeImage":"icon_smile.gif","LogText":"Mit Familie Spürnase einen schönen Nachmittag an diesem für Kinder herrlichen Ort verbracht. Wir Großen haben es uns gemütlich gemacht und die Mädels haben in der Zeit das Rätsel gelöst, die Großen anschließend die Koordinaten überprüft und die Jungs das Final gesucht.<br /><br /><b><font color=\"orange\">cebu </font></b><font color=\"orange\"></font> <b><font color=\"blue\">68 </font></b><font color=\"blue\"></font> <img src=\"/images/icons/icon_smile.gif\" border=\"0\" align=\"middle\" /><br />- no owners - no caches - no fun !","Created":"30/09/2012","Visited":"23/09/2012","UserName":"Cebu68","MembershipLevel":3,"AccountID":3143046,"AccountGuid":"c55421d0-ebe4-4c3c-b792-2edc7740d2de","Email":"","AvatarImage":"845c5c2d-0c75-4320-9121-a239805920f1.jpg","GeocacheFindCount":415,"GeocacheHideCount":14,"ChallengesCompleted":0,"IsEncoded":false,"creator":{"GroupTitle":"Premium Member","GroupImageUrl":"/images/icons/prem_user.gif"},"Images":[]},{"LogID":268995741,"CacheID":1811409,"LogGuid":"f87914e5-1b15-41e6-8372-b59017009272","Latitude":null,"Longitude":null,"LatLonString":"","LogType":"Found it","LogTypeImage":"icon_smile.gif","LogText":"Mit Cebu68 und allen Kids am schönen sonnigen Tage geloggt.<br />Schöne Gegend und pflegt den Wald.<br /><br />DFDC","Created":"27/09/2012","Visited":"23/09/2012","UserName":"LFW-Spürnase","MembershipLevel":3,"AccountID":3110175,"AccountGuid":"fd91728b-6e8f-4ab6-bfb9-9feca18df6e5","Email":"","AvatarImage":"8d658766-32ff-48a4-964b-e0391dd9bc86.jpg","GeocacheFindCount":575,"GeocacheHideCount":0,"ChallengesCompleted":0,"IsEncoded":false,"creator":{"GroupTitle":"Premium Member","GroupImageUrl":"/images/icons/prem_user.gif"},"Images":[]},{"LogID":265792529,"CacheID":1811409,"LogGuid":"fb73713c-d5d3-41a9-b140-22aa8cdf1554","Latitude":null,"Longitude":null,"LatLonString":"","LogType":"Found it","LogTypeImage":"icon_smile.gif","LogText":"... auf verregneter Nachmittagsrunde auch mal diesen Multi angegangen und erfolgreich gelogt. Nettes Plätzchen. Lange nicht mehr hier gewesen. Hat sich doch einiges zum positiven verändert. Besten Dank...","Created":"14/09/2012","Visited":"14/09/2012","UserName":"Manny1967","MembershipLevel":3,"AccountID":1481532,"AccountGuid":"23866f7d-0f8d-41b2-9197-493d5230d011","Email":"","AvatarImage":"033df32f-8845-4fb4-8a4c-ceaf756b4e4f.jpg","GeocacheFindCount":6913,"GeocacheHideCount":3,"ChallengesCompleted":47,"IsEncoded":false,"creator":{"GroupTitle":"Premium Member","GroupImageUrl":"/images/icons/prem_user.gif"},"Images":[]},{"LogID":264722006,"CacheID":1811409,"LogGuid":"30f4f238-b03e-4460-bc67-6b37d11d3ade","Latitude":null,"Longitude":null,"LatLonString":"","LogType":"Found it","LogTypeImage":"icon_smile.gif","LogText":"Bei herrlichem Wetter eine kleine Radtour in den Kinderwald gemacht. Alle Rätsel gelöst und den Cache gleich gut gefunden! Danke!","Created":"09/09/2012","Visited":"09/09/2012","UserName":"Die Füenf","MembershipLevel":1,"AccountID":5688523,"AccountGuid":"325e30ad-ec49-4e4b-a359-93745a7f29a3","Email":"","AvatarImage":"","GeocacheFindCount":31,"GeocacheHideCount":0,"ChallengesCompleted":0,"IsEncoded":false,"creator":{"GroupTitle":"Member","GroupImageUrl":"/images/icons/reg_user.gif"},"Images":[]},{"LogID":262759127,"CacheID":1811409,"LogGuid":"32d1b334-60d7-4b50-bd2f-86d1e2b86d47","Latitude":null,"Longitude":null,"LatLonString":"","LogType":"Found it","LogTypeImage":"icon_smile.gif","LogText":"Auf dem Gelände vor Jahren schon mal einen NC gemacht. Daher kam mir alles etwas bekannt vor.<br />Ein schöner Cache (auch für große Kinder).<br /><br />DFDC Goebue69","Created":"02/09/2012","Visited":"02/09/2012","UserName":"goebue69","MembershipLevel":3,"AccountID":1392617,"AccountGuid":"eb02f2f3-0054-411a-924e-37d49aa72abc","Email":"","AvatarImage":"284a2377-b591-4afe-9f7f-f58d1265990d.jpg","GeocacheFindCount":1969,"GeocacheHideCount":9,"ChallengesCompleted":0,"IsEncoded":false,"creator":{"GroupTitle":"Premium Member","GroupImageUrl":"/images/icons/prem_user.gif"},"Images":[]},{"LogID":252338005,"CacheID":1811409,"LogGuid":"411364f4-b680-4380-8a51-ac4f751326c0","Latitude":null,"Longitude":null,"LatLonString":"","LogType":"Found it","LogTypeImage":"icon_smile.gif","LogText":"Viel zu viel los bei schönem Wetter! Ansonsten ein angenehmer Waldspaziergang. tftc","Created":"27/07/2012","Visited":"25/07/2012","UserName":"Kagir","MembershipLevel":1,"AccountID":4315295,"AccountGuid":"177be480-8d64-497c-ad36-00e708ddde6f","Email":"","AvatarImage":"","GeocacheFindCount":29,"GeocacheHideCount":0,"ChallengesCompleted":0,"IsEncoded":false,"creator":{"GroupTitle":"Member","GroupImageUrl":"/images/icons/reg_user.gif"},"Images":[]},{"LogID":251975636,"CacheID":1811409,"LogGuid":"e80e572b-fe15-4ab0-81de-6122c512a288","Latitude":null,"Longitude":null,"LatLonString":"","LogType":"Found it","LogTypeImage":"icon_smile.gif","LogText":"Schöner Weg durch den Wald, nur war es heute defintiv zu warm :-) Die Seilfähre haben wir den badenden Kindermuggeln überlassen...<br /><br />TFTC","Created":"25/07/2012","Visited":"25/07/2012","UserName":"Mrs. Columbo","MembershipLevel":1,"AccountID":1402345,"AccountGuid":"c36196ce-810e-455e-948c-c053356a3eae","Email":"","AvatarImage":"c9289d12-2013-4617-9a6d-81337cb98889.jpg","GeocacheFindCount":67,"GeocacheHideCount":0,"ChallengesCompleted":0,"IsEncoded":false,"creator":{"GroupTitle":"Member","GroupImageUrl":"/images/icons/reg_user.gif"},"Images":[]},{"LogID":251593551,"CacheID":1811409,"LogGuid":"052d44d6-4be9-4562-9275-2a42c28c8fd9","Latitude":null,"Longitude":null,"LatLonString":"","LogType":"Found it","LogTypeImage":"icon_smile.gif","LogText":"Ein kleiner Abendspaziergang inklusive dem obligatorischen Sturz von der Seilfähre lies uns dieses Döschen entdecken. Es danken die goldenen Herzen.","Created":"24/07/2012","Visited":"24/07/2012","UserName":"Die goldenen Herzen","MembershipLevel":3,"AccountID":1296372,"AccountGuid":"045766bd-9cb9-4f80-9ea4-17d9d3568fdd","Email":"","AvatarImage":"57b838dd-5771-413a-84d9-38ee10ed4e10.jpg","GeocacheFindCount":6166,"GeocacheHideCount":11,"ChallengesCompleted":3,"IsEncoded":false,"creator":{"GroupTitle":"Premium Member","GroupImageUrl":"/images/icons/prem_user.gif"},"Images":[]},{"LogID":252191162,"CacheID":1811409,"LogGuid":"b8ce976f-5b32-4141-8b42-760497746371","Latitude":null,"Longitude":null,"LatLonString":"","LogType":"Found it","LogTypeImage":"icon_smile.gif","LogText":"Kinder, Kinder, Kinderwald, wir gehen in den Kinderwald. Wir werden mit den Bäumen alt - wir sind die Kinderwaldkinder (Text von Unmada). Danke für einen schönen Tag mit Coffee0815 im Mai - jetzt geloggt.","Created":"26/07/2012","Visited":"22/07/2012","UserName":"Toffee Fee","MembershipLevel":1,"AccountID":5904887,"AccountGuid":"84d6a9e2-3da3-4545-b960-dbde00f473a6","Email":"","AvatarImage":"5c129384-6211-4723-9162-2213ba214e91.jpg","GeocacheFindCount":70,"GeocacheHideCount":0,"ChallengesCompleted":0,"IsEncoded":false,"creator":{"GroupTitle":"Member","GroupImageUrl":"/images/icons/reg_user.gif"},"Images":[]},{"LogID":245510055,"CacheID":1811409,"LogGuid":"7374db3b-1904-431b-88f3-9e5a6f9a8968","Latitude":null,"Longitude":null,"LatLonString":"","LogType":"Found it","LogTypeImage":"icon_smile.gif","LogText":"Bei einem schönen Spaziergang mit den Kids gut gefunden.. Danke","Created":"30/06/2012","Visited":"30/06/2012","UserName":"Team Vesprit","MembershipLevel":3,"AccountID":3013353,"AccountGuid":"176d040c-d753-4060-82d4-8d352aa2cd76","Email":"","AvatarImage":"","GeocacheFindCount":374,"GeocacheHideCount":0,"ChallengesCompleted":0,"IsEncoded":false,"creator":{"GroupTitle":"Premium Member","GroupImageUrl":"/images/icons/prem_user.gif"},"Images":[]},{"LogID":245489284,"CacheID":1811409,"LogGuid":"8985a77a-449f-4508-9afa-f51173845e77","Latitude":null,"Longitude":null,"LatLonString":"","LogType":"Found it","LogTypeImage":"icon_smile.gif","LogText":"Ein netter Cache, bei dem man mal von den gewohnten Vorgehensweisen etwas abweichen muss, weil ein großer Teil der Suche ohne GPS erledigt werden muss. Bei der Seilfähre waren wir dann auch etwas ratlos, weil wir nichts Sinnvolles finden konnten; aber zum Glück kann man die benötigte Zahl auch anders bekommen.<br />Besonders gut hat uns die Schafherde gefallen.<br />Während unserer Tour haben wir dann noch die Taumelkäfer getroffen, die auch gerade dort auf der Suche waren.<br /><br />TFTC - The Snowowl","Created":"30/06/2012","Visited":"30/06/2012","UserName":"The Snowowl","MembershipLevel":1,"AccountID":1686756,"AccountGuid":"016c0d41-4157-4aa1-8f97-a31ad75a03da","Email":"","AvatarImage":"134375ae-05bc-45f1-941f-e02ffb0ddf7b.jpg","GeocacheFindCount":844,"GeocacheHideCount":1,"ChallengesCompleted":1,"IsEncoded":false,"creator":{"GroupTitle":"Member","GroupImageUrl":"/images/icons/reg_user.gif"},"Images":[]},{"LogID":245455436,"CacheID":1811409,"LogGuid":"a45c0a4c-0811-4850-ae3a-8dacd0f2dec8","Latitude":null,"Longitude":null,"LatLonString":"","LogType":"Found it","LogTypeImage":"icon_smile.gif","LogText":"Netter Spaziergang und alles gut gefunden, nur die Fähre war von Muggel-Kindern erobert. Aber das geht ja auch so..TFTC","Created":"30/06/2012","Visited":"30/06/2012","UserName":"Taumelkäfer","MembershipLevel":3,"AccountID":3345917,"AccountGuid":"759cc4b8-217b-4c7b-8cc5-5ec9831c9fb0","Email":"","AvatarImage":"1d7d177e-2279-4d9c-a9e0-35ae06424469.jpg","GeocacheFindCount":372,"GeocacheHideCount":1,"ChallengesCompleted":0,"IsEncoded":false,"creator":{"GroupTitle":"Premium Member","GroupImageUrl":"/images/icons/prem_user.gif"},"Images":[]},{"LogID":244104601,"CacheID":1811409,"LogGuid":"a3ac5579-94f0-413f-bb43-24a687a594e8","Latitude":null,"Longitude":null,"LatLonString":"","LogType":"Found it","LogTypeImage":"icon_smile.gif","LogText":"Lustig gewesen :)","Created":"24/06/2012","Visited":"23/06/2012","UserName":"submersus","MembershipLevel":1,"AccountID":5865540,"AccountGuid":"f3dcd7f1-0645-4322-a1db-e5c1d3629cac","Email":"","AvatarImage":"","GeocacheFindCount":1,"GeocacheHideCount":0,"ChallengesCompleted":0,"IsEncoded":false,"creator":{"GroupTitle":"Member","GroupImageUrl":"/images/icons/reg_user.gif"},"Images":[]},{"LogID":243027211,"CacheID":1811409,"LogGuid":"02c6075a-c79f-4a24-b32b-0d00994e3852","Latitude":null,"Longitude":null,"LatLonString":"","LogType":"Found it","LogTypeImage":"icon_smile.gif","LogText":"Heute bei sonnigem Wetter zusammen mit Flitze71 und Pammi72<br />den Kinderwald unsicher gemacht. :-)<br />Lustiger Multi der richtig Spaß gemacht hat.<br />DFDC","Created":"18/06/2012","Visited":"18/06/2012","UserName":"Schnuffi06","MembershipLevel":1,"AccountID":3710551,"AccountGuid":"fabfb0e6-28be-4e2f-9742-cfaf4e2eac72","Email":"","AvatarImage":"","GeocacheFindCount":158,"GeocacheHideCount":0,"ChallengesCompleted":0,"IsEncoded":false,"creator":{"GroupTitle":"Member","GroupImageUrl":"/images/icons/reg_user.gif"},"Images":[]},{"LogID":243023271,"CacheID":1811409,"LogGuid":"bf235b98-43a8-4e6a-84ef-2c30708b5733","Latitude":null,"Longitude":null,"LatLonString":"","LogType":"Found it","LogTypeImage":"icon_smile.gif","LogText":"Zusammen mit Schnuffi06 und Flitze71 einen schönen Tag im Kinderwald verbracht.<br />Diesen schönen Multi genutzt um den Park kennenzulernen.<br />DFDC","Created":"18/06/2012","Visited":"18/06/2012","UserName":"Pammi72","MembershipLevel":1,"AccountID":3710542,"AccountGuid":"d711eeaf-0238-4b2a-9497-c43fb07a1ed4","Email":"","AvatarImage":"","GeocacheFindCount":152,"GeocacheHideCount":0,"ChallengesCompleted":0,"IsEncoded":false,"creator":{"GroupTitle":"Member","GroupImageUrl":"/images/icons/reg_user.gif"},"Images":[]},{"LogID":243021332,"CacheID":1811409,"LogGuid":"bc1335ba-0f67-47e1-ac5b-1b2ecec324a1","Latitude":null,"Longitude":null,"LatLonString":"","LogType":"Found it","LogTypeImage":"icon_smile.gif","LogText":"Heute zusammen mit Pammi72 und Schnuffi06 bei sommerlichem Wetter<br />den Kinderwald besucht. Der Cache eignet sich klasse um sich die Gegend<br />wirklich genau anzusehen. Wir hatten unseren Spaß im Kinderwald und mit diesem Cache.<br />DFDC<br /><br />out: Coin<br />in: Fav.Point","Created":"18/06/2012","Visited":"18/06/2012","UserName":"Flitze71","MembershipLevel":3,"AccountID":3694466,"AccountGuid":"36a6599b-b866-4841-8ce1-d8ce9cd5d88b","Email":"","AvatarImage":"2d9fc76f-1e7c-4714-9b50-24a333e050cb.jpg","GeocacheFindCount":1176,"GeocacheHideCount":1,"ChallengesCompleted":4,"IsEncoded":false,"creator":{"GroupTitle":"Premium Member","GroupImageUrl":"/images/icons/prem_user.gif"},"Images":[]},{"LogID":242750801,"CacheID":1811409,"LogGuid":"79807be9-0f96-414b-9a27-e3fd3938f549","Latitude":null,"Longitude":null,"LatLonString":"","LogType":"Found it","LogTypeImage":"icon_smile.gif","LogText":"Das war richtig lustig, als Gast hatten wir Opa mit, nachdem unser Sohn noch zweifelte wie man dort wohl trocken rüber kommt, stieg Opa schon auf und ziemlich schnell auch wieder ab, von wegen nasse Füsse, das war weit mehr. Zum Glück war es warm und Opa hielt auch mit nasser Jeans bis zum Schluss durch. Mit triefenden Schuhen gings dann aber mit dem Fahrrad zurück, na ja fast, noch ein kurzer Zwischenstop an der Torwand, man trifft übrigens auch mit nassen Schuhen.<br />Schön gemachter Cache, hier waren wir in Kindergartenzeiten und auch mit der Grundschule das lezte mal. Von uns gibt es einen Favouritenpunkt.","Created":"17/06/2012","Visited":"17/06/2012","UserName":"flecki1","MembershipLevel":3,"AccountID":4110776,"AccountGuid":"31d92d97-022d-4238-8c2a-3c4fcf28d128","Email":"","AvatarImage":"480cfb25-3f69-494b-86b5-0212cb6e2b33.jpg","GeocacheFindCount":646,"GeocacheHideCount":0,"ChallengesCompleted":0,"IsEncoded":false,"creator":{"GroupTitle":"Premium Member","GroupImageUrl":"/images/icons/prem_user.gif"},"Images":[]},{"LogID":242142641,"CacheID":1811409,"LogGuid":"1aabd37f-8f66-466d-96e7-4dd20fc33170","Latitude":null,"Longitude":null,"LatLonString":"","LogType":"Write note","LogTypeImage":"icon_note.gif","LogText":"ich habe noch was abgelegt","Created":"15/06/2012","Visited":"02/06/2012","UserName":"A Backenhörnchen","MembershipLevel":3,"AccountID":3092779,"AccountGuid":"6fa924e7-e655-40d3-81b0-152dd5620f49","Email":"","AvatarImage":"904d24a2-343d-4204-8f92-40ad1bd90871.jpg","GeocacheFindCount":1991,"GeocacheHideCount":19,"ChallengesCompleted":0,"IsEncoded":false,"creator":{"GroupTitle":"Premium Member","GroupImageUrl":"/images/icons/prem_user.gif"},"Images":[]},{"LogID":242142405,"CacheID":1811409,"LogGuid":"f527d546-7ae5-4274-9dd1-f020e26e7da2","Latitude":null,"Longitude":null,"LatLonString":"","LogType":"Found it","LogTypeImage":"icon_smile.gif","LogText":"Musikkatze sucht einen \"Kindercache\" und das Backenhörnchen war dabei :-)","Created":"15/06/2012","Visited":"02/06/2012","UserName":"A Backenhörnchen","MembershipLevel":3,"AccountID":3092779,"AccountGuid":"6fa924e7-e655-40d3-81b0-152dd5620f49","Email":"","AvatarImage":"904d24a2-343d-4204-8f92-40ad1bd90871.jpg","GeocacheFindCount":1991,"GeocacheHideCount":19,"ChallengesCompleted":0,"IsEncoded":false,"creator":{"GroupTitle":"Premium Member","GroupImageUrl":"/images/icons/prem_user.gif"},"Images":[]},{"LogID":239255282,"CacheID":1811409,"LogGuid":"16e51eac-036f-4046-93ba-8afdb0268981","Latitude":null,"Longitude":null,"LatLonString":"","LogType":"Found it","LogTypeImage":"icon_smile.gif","LogText":"An einem Tag, der etwas schöner ist kann man sich schon mal nasse Füsse holen. <img src=\"/images/icons/icon_smile_blackeye.gif\" border=\"0\" align=\"middle\" /><img src=\"/images/icons/icon_smile_tongue.gif\" border=\"0\" align=\"middle\" /><br /><br />Mit dem Backenhörnchen eine schöne kleine Runde durch den Kinderwald gemacht und viel gelacht. Erst recht als ich mit Schuhen und Hose bis zu den Unterschenkeln im Wasser stand. Es watschte dann die restliche Runde so schön in den Schuhen. <br /><br />musikkatze sagt TFTC","Created":"03/06/2012","Visited":"02/06/2012","UserName":"musikkatze","MembershipLevel":3,"AccountID":2740299,"AccountGuid":"8374f1fd-89b5-4882-8c85-38b671734aa6","Email":"","AvatarImage":"512d00ee-6505-4918-b409-5dfd2c5e41e2.jpg","GeocacheFindCount":1989,"GeocacheHideCount":3,"ChallengesCompleted":1,"IsEncoded":false,"creator":{"GroupTitle":"Premium Member","GroupImageUrl":"/images/icons/prem_user.gif"},"Images":[]},{"LogID":235811065,"CacheID":1811409,"LogGuid":"f2ce71da-70ff-4fe5-a21e-b62305003fd2","Latitude":null,"Longitude":null,"LatLonString":"","LogType":"Found it","LogTypeImage":"icon_smile.gif","LogText":"Na, das war ja mal ein Spaß. Meine Freundin hat mich heute begleitet und war begeistert. Danke für diese tolle Runde durch den Wald.","Created":"20/05/2012","Visited":"20/05/2012","UserName":"coffee0815","MembershipLevel":1,"AccountID":1863358,"AccountGuid":"84841360-77f2-4c52-ba49-a278b5f63542","Email":"","AvatarImage":"7df8adda-c430-463f-9a82-c4afc449308b.jpg","GeocacheFindCount":1324,"GeocacheHideCount":0,"ChallengesCompleted":0,"IsEncoded":false,"creator":{"GroupTitle":"Member","GroupImageUrl":"/images/icons/reg_user.gif"},"Images":[{"ImageID":14144569,"ImageGuid":"6785afa7-c606-4a0e-9ae8-98336f01b638","Name":"Kinderwald","Descr":"","FileName":"6785afa7-c606-4a0e-9ae8-98336f01b638.jpg","Created":"20/05/2012","LogID":235811065,"CacheID":1811409,"ImageUrl":null}]},{"LogID":231530286,"CacheID":1811409,"LogGuid":"8eb0b604-5ef7-4a57-a705-8a1d4ed1b494","Latitude":null,"Longitude":null,"LatLonString":"","LogType":"Found it","LogTypeImage":"icon_smile.gif","LogText":"Nach der Pflege der chaches durch den Owner nun gut gefunden.<br />Danke","Created":"04/05/2012","Visited":"28/04/2012","UserName":"Fluti","MembershipLevel":1,"AccountID":5366533,"AccountGuid":"63f7ba3b-a343-43eb-b5a7-eb022b79d5c8","Email":"","AvatarImage":"","GeocacheFindCount":290,"GeocacheHideCount":0,"ChallengesCompleted":0,"IsEncoded":false,"creator":{"GroupTitle":"Member","GroupImageUrl":"/images/icons/reg_user.gif"},"Images":[]},{"LogID":229810425,"CacheID":1811409,"LogGuid":"d511c614-da66-4add-a3fb-b99e366eb6cb","Latitude":null,"Longitude":null,"LatLonString":"","LogType":"Found it","LogTypeImage":"icon_smile.gif","LogText":"Heute hat's endlich geklappt. Beim letzten Mal war die Villa leider zerstört. Undich muss zugeben, dass ich \"F\" ausgerechnet habe; die Fähre hat doch zu sehr gewackelt. So war zusammen mit Fluti der Final schnell gefunden. <br /><br />Out: Coin, die hier nicht geloggt war<br /><br />DFDC<br />holgi30926","Created":"28/04/2012","Visited":"28/04/2012","UserName":"holgi30926","MembershipLevel":3,"AccountID":2098710,"AccountGuid":"096bdcf2-2a4c-41f7-991c-909ac1ce6f66","Email":"","AvatarImage":"4f14ffff-58ec-4e2f-8c4d-3995d11cadc5.jpg","GeocacheFindCount":1758,"GeocacheHideCount":10,"ChallengesCompleted":0,"IsEncoded":false,"creator":{"GroupTitle":"Premium Member","GroupImageUrl":"/images/icons/prem_user.gif"},"Images":[]}], "pageInfo": { "idx":1, "size": 25, "totalRows": 129, "rows": 129 } };
+initalLogs = {"status":"success", "data": [{"LogID":279154355,"CacheID":1811409,"LogGuid":"8b405a78-1653-4809-b6ee-38f905db205e","Latitude":null,"Longitude":null,"LatLonString":"","LogType":"Found it","LogTypeImage":"2.png","LogText":"mit olla66 gefunden.","Created":"12/11/2012","Visited":"10/11/2012","UserName":"hjansen67","MembershipLevel":1,"AccountID":5614762,"AccountGuid":"fcdfa621-d616-4496-8ff8-5a5cba25dd75","Email":"","AvatarImage":"","GeocacheFindCount":407,"GeocacheHideCount":0,"ChallengesCompleted":0,"IsEncoded":false,"creator":{"GroupTitle":"Member","GroupImageUrl":"/images/icons/reg_user.gif"},"Images":[]},{"LogID":278602993,"CacheID":1811409,"LogGuid":"a793e95e-ae4f-4461-9a45-13529479bca6","Latitude":null,"Longitude":null,"LatLonString":"","LogType":"Found it","LogTypeImage":"2.png","LogText":"Hallo,<br />das es das Kinderwäldchen geben soll, hatte ich schon oft gehört. Früher schon immer mal mit den Kids hier her gewollt. Aber wie es ist... nix geworden.<br />Aber nun mit dem Caching Hobby.... Alles Toll. Hier werden wir im Sommer mal herkommen.<br />Danke für die Runde.<br />Am Ziel angekommen trafen wir Zwei Mitstreiter. Nach kurzem Plausch dann gesucht..gefunden und zusammen geloggt.<br /><br />+ Schleifchen<br /><br /><br />DFDC sagen olla und kids<br /><br />This entry was edited by olla66 on Saturday, 10 November 2012 at 17:31:53 UTC.","Created":"10/11/2012","Visited":"10/11/2012","UserName":"olla66","MembershipLevel":3,"AccountID":5570656,"AccountGuid":"3f8fbb08-da63-42f3-bbf5-13839fed8be3","Email":"","AvatarImage":"de9bc470-63a4-4f2c-9519-d3fbc228f2e2.gif","GeocacheFindCount":512,"GeocacheHideCount":0,"ChallengesCompleted":0,"IsEncoded":false,"creator":{"GroupTitle":"Premium Member","GroupImageUrl":"/images/icons/prem_user.gif"},"Images":[]},{"LogID":278588958,"CacheID":1811409,"LogGuid":"c0614861-49a3-4741-b002-652c0958ef7f","Latitude":null,"Longitude":null,"LatLonString":"","LogType":"Found it","LogTypeImage":"2.png","LogText":"Auch den haben wir endlich gefunden, beim ersten Anlauf war es uns fuers Final zu dunkel und regnerisch . Schön gemacht. Danke","Created":"10/11/2012","Visited":"10/11/2012","UserName":"Der Dicke Hund aus Bangkok","MembershipLevel":3,"AccountID":1045929,"AccountGuid":"fc110a3f-f712-4d97-9ff6-4d12df9ac5a9","Email":"","AvatarImage":"","GeocacheFindCount":2296,"GeocacheHideCount":5,"ChallengesCompleted":0,"IsEncoded":false,"creator":{"GroupTitle":"Premium Member","GroupImageUrl":"/images/icons/prem_user.gif"},"Images":[]},{"LogID":277696513,"CacheID":1811409,"LogGuid":"b3b15708-9caa-4478-8ef7-3b22a6f5c50b","Latitude":null,"Longitude":null,"LatLonString":"","LogType":"Found it","LogTypeImage":"2.png","LogText":"Diesen Cache für einen Geburtstagsnachmittag genutzt. Die Kinder waren sehr begeistert, vorallem auch von der tollen Gegend. Vielen Dank für das Zeigen dieser schönen Gegend. TFTC","Created":"04/11/2012","Visited":"03/11/2012","UserName":"DanSte","MembershipLevel":3,"AccountID":2752144,"AccountGuid":"579ea9ad-7907-4b50-8923-7ccebc0d8a5f","Email":"","AvatarImage":"","GeocacheFindCount":505,"GeocacheHideCount":0,"ChallengesCompleted":0,"IsEncoded":false,"creator":{"GroupTitle":"Premium Member","GroupImageUrl":"/images/icons/prem_user.gif"},"Images":[]},{"LogID":276634237,"CacheID":1811409,"LogGuid":"bc9c31d0-b30b-4d0d-b952-8e86976f0046","Latitude":null,"Longitude":null,"LatLonString":"","LogType":"Found it","LogTypeImage":"2.png","LogText":"Auf kleiner Urlaubstour gut gefunden. Danke für den tollen Cache!","Created":"30/10/2012","Visited":"30/10/2012","UserName":"pille-palle84","MembershipLevel":3,"AccountID":1918474,"AccountGuid":"e5655c6f-dd64-47d5-abc3-85d4ec2d00b6","Email":"","AvatarImage":"c4226573-600e-4e17-8935-460fd7fbe6a7.jpg","GeocacheFindCount":4942,"GeocacheHideCount":5,"ChallengesCompleted":102,"IsEncoded":false,"creator":{"GroupTitle":"Premium Member","GroupImageUrl":"/images/icons/prem_user.gif"},"Images":[]},{"LogID":275550323,"CacheID":1811409,"LogGuid":"55664edc-8ed4-4b72-9be4-02283d371068","Latitude":null,"Longitude":null,"LatLonString":"","LogType":"Found it","LogTypeImage":"2.png","LogText":"Trotz schlechten Wetter gefunden.<br />DFDC","Created":"25/10/2012","Visited":"25/10/2012","UserName":"Kuha25","MembershipLevel":1,"AccountID":5428575,"AccountGuid":"dfcedce1-8dff-405e-87fc-76833f28a372","Email":"","AvatarImage":"","GeocacheFindCount":9,"GeocacheHideCount":0,"ChallengesCompleted":0,"IsEncoded":false,"creator":{"GroupTitle":"Member","GroupImageUrl":"/images/icons/reg_user.gif"},"Images":[]},{"LogID":275549638,"CacheID":1811409,"LogGuid":"2f46d961-6d88-4e3f-9540-54365f38310a","Latitude":null,"Longitude":null,"LatLonString":"","LogType":"Found it","LogTypeImage":"2.png","LogText":"Mit kuha25 die Aufgaben schnell gelöst und die Finale nach einer kurzen Suche gefunden.<br />DFDC","Created":"25/10/2012","Visited":"25/10/2012","UserName":"KariMikael","MembershipLevel":3,"AccountID":2796742,"AccountGuid":"986c9e4b-6848-4713-a849-514b7b5f8b60","Email":"","AvatarImage":"","GeocacheFindCount":344,"GeocacheHideCount":0,"ChallengesCompleted":0,"IsEncoded":false,"creator":{"GroupTitle":"Premium Member","GroupImageUrl":"/images/icons/prem_user.gif"},"Images":[]},{"LogID":273990958,"CacheID":1811409,"LogGuid":"5539fc01-708e-4b34-8996-68d77ef4f6bd","Latitude":null,"Longitude":null,"LatLonString":"","LogType":"Found it","LogTypeImage":"2.png","LogText":"Heute, auf Besuch in Hannover, hat es mich und meinen Neffen bei der \"Schatzsuche\" in den Kinderwald verschlagen. Die Stationen waren alle gut zu finden und während der Kleine fleißig zählte, habe ich den Rechenpart übernommen <img src=\"/images/icons/icon_smile_wink.gif\" border=\"0\" align=\"middle\" />. Die Dose war dann auch fix gefunden, nur leider war fast nix zum Tauschen darin <img src=\"/images/icons/icon_smile_sad.gif\" border=\"0\" align=\"middle\" />. Wir haben dann drei Wachskreiden reingelegt. <br />Von dem Wald waren wir beide begeistert, von den Tipis, dem Plumpsklo ..., nur die Seilfähre hat der Kleine arg vermisst, so dass ich ihm versprechen musste, im Sommer auf jeden Fall noch mal wiederzukommen <img src=\"/images/icons/icon_smile.gif\" border=\"0\" align=\"middle\" />.<br />Danke für´s Zeigen dieses schönen Kinderortes und viele Grüße aus NRW","Created":"19/10/2012","Visited":"16/10/2012","UserName":"Jinglebee","MembershipLevel":3,"AccountID":5128650,"AccountGuid":"365fd29b-2fb9-48ee-9cdf-9e09a274c52b","Email":"","AvatarImage":"023553d6-9924-40b4-8432-62f47433c145.jpg","GeocacheFindCount":249,"GeocacheHideCount":0,"ChallengesCompleted":0,"IsEncoded":false,"creator":{"GroupTitle":"Premium Member","GroupImageUrl":"/images/icons/prem_user.gif"},"Images":[]},{"LogID":273976850,"CacheID":1811409,"LogGuid":"3b5adf41-dfc9-45c5-acec-8894625101fc","Latitude":null,"Longitude":null,"LatLonString":"","LogType":"Found it","LogTypeImage":"2.png","LogText":"Als Mitglied im kinderwald e.V. hatte ich diesen schon lange machen wollen. Aber irgendwas kam immer dazwischen. <br />Heute war ich Alleine auf dem Gelände und konnte in Ruhe suchen und loggen.<br />DfdC sagt Hawkhunter.","Created":"18/10/2012","Visited":"16/10/2012","UserName":"Hawkhunter","MembershipLevel":3,"AccountID":1286695,"AccountGuid":"a8c0f0e5-58db-4d16-885e-87446a79ffdc","Email":"","AvatarImage":"c7ddc254-5f33-40e4-b9f0-0abaf89c8697.jpg","GeocacheFindCount":1947,"GeocacheHideCount":0,"ChallengesCompleted":7,"IsEncoded":false,"creator":{"GroupTitle":"Premium Member","GroupImageUrl":"/images/icons/prem_user.gif"},"Images":[]},{"LogID":269736455,"CacheID":1811409,"LogGuid":"8029670b-1e40-4828-947a-35b1bd384c08","Latitude":null,"Longitude":null,"LatLonString":"","LogType":"Found it","LogTypeImage":"2.png","LogText":"Schöner, entspannender Multi, hat Spaß gemacht<br /> 30.09.12 18:34 Find #112<br />DfdC :)","Created":"30/09/2012","Visited":"30/09/2012","UserName":"Vincent-Shezar","MembershipLevel":3,"AccountID":5412756,"AccountGuid":"ff83a8a9-95a6-4a3a-bff8-37ef16522000","Email":"","AvatarImage":"","GeocacheFindCount":233,"GeocacheHideCount":1,"ChallengesCompleted":0,"IsEncoded":false,"creator":{"GroupTitle":"Premium Member","GroupImageUrl":"/images/icons/prem_user.gif"},"Images":[]},{"LogID":269707464,"CacheID":1811409,"LogGuid":"5f3d71ed-a9f0-4c80-a18d-62853dc908b6","Latitude":null,"Longitude":null,"LatLonString":"","LogType":"Found it","LogTypeImage":"2.png","LogText":"Schöner Cache mit interessanter Umgebung :) dfdc","Created":"30/09/2012","Visited":"30/09/2012","UserName":"OdessaXxX","MembershipLevel":3,"AccountID":4149541,"AccountGuid":"f936faba-1a7e-4868-94ef-a009b8cc8a81","Email":"","AvatarImage":"afb33499-53bd-4ea0-8e88-6f6e9eec822e.jpg","GeocacheFindCount":233,"GeocacheHideCount":1,"ChallengesCompleted":0,"IsEncoded":false,"creator":{"GroupTitle":"Premium Member","GroupImageUrl":"/images/icons/prem_user.gif"},"Images":[]},{"LogID":269588958,"CacheID":1811409,"LogGuid":"74492efd-6dd8-4a37-acb1-3ec4ec95501d","Latitude":null,"Longitude":null,"LatLonString":"","LogType":"Found it","LogTypeImage":"2.png","LogText":"Mit Familie Spürnase einen schönen Nachmittag an diesem für Kinder herrlichen Ort verbracht. Wir Großen haben es uns gemütlich gemacht und die Mädels haben in der Zeit das Rätsel gelöst, die Großen anschließend die Koordinaten überprüft und die Jungs das Final gesucht.<br /><br /><b><font color=\"orange\">cebu </font></b><font color=\"orange\"></font> <b><font color=\"blue\">68 </font></b><font color=\"blue\"></font> <img src=\"/images/icons/icon_smile.gif\" border=\"0\" align=\"middle\" /><br />- no owners - no caches - no fun !","Created":"30/09/2012","Visited":"23/09/2012","UserName":"Cebu68","MembershipLevel":3,"AccountID":3143046,"AccountGuid":"c55421d0-ebe4-4c3c-b792-2edc7740d2de","Email":"","AvatarImage":"845c5c2d-0c75-4320-9121-a239805920f1.jpg","GeocacheFindCount":417,"GeocacheHideCount":14,"ChallengesCompleted":0,"IsEncoded":false,"creator":{"GroupTitle":"Premium Member","GroupImageUrl":"/images/icons/prem_user.gif"},"Images":[]},{"LogID":268995741,"CacheID":1811409,"LogGuid":"f87914e5-1b15-41e6-8372-b59017009272","Latitude":null,"Longitude":null,"LatLonString":"","LogType":"Found it","LogTypeImage":"2.png","LogText":"Mit Cebu68 und allen Kids am schönen sonnigen Tage geloggt.<br />Schöne Gegend und pflegt den Wald.<br /><br />DFDC","Created":"27/09/2012","Visited":"23/09/2012","UserName":"LFW-Spürnase","MembershipLevel":3,"AccountID":3110175,"AccountGuid":"fd91728b-6e8f-4ab6-bfb9-9feca18df6e5","Email":"","AvatarImage":"8d658766-32ff-48a4-964b-e0391dd9bc86.jpg","GeocacheFindCount":592,"GeocacheHideCount":0,"ChallengesCompleted":0,"IsEncoded":false,"creator":{"GroupTitle":"Premium Member","GroupImageUrl":"/images/icons/prem_user.gif"},"Images":[]},{"LogID":265792529,"CacheID":1811409,"LogGuid":"fb73713c-d5d3-41a9-b140-22aa8cdf1554","Latitude":null,"Longitude":null,"LatLonString":"","LogType":"Found it","LogTypeImage":"2.png","LogText":"... auf verregneter Nachmittagsrunde auch mal diesen Multi angegangen und erfolgreich gelogt. Nettes Plätzchen. Lange nicht mehr hier gewesen. Hat sich doch einiges zum positiven verändert. Besten Dank...","Created":"14/09/2012","Visited":"14/09/2012","UserName":"Manny1967","MembershipLevel":3,"AccountID":1481532,"AccountGuid":"23866f7d-0f8d-41b2-9197-493d5230d011","Email":"","AvatarImage":"033df32f-8845-4fb4-8a4c-ceaf756b4e4f.jpg","GeocacheFindCount":7178,"GeocacheHideCount":3,"ChallengesCompleted":47,"IsEncoded":false,"creator":{"GroupTitle":"Premium Member","GroupImageUrl":"/images/icons/prem_user.gif"},"Images":[]},{"LogID":264722006,"CacheID":1811409,"LogGuid":"30f4f238-b03e-4460-bc67-6b37d11d3ade","Latitude":null,"Longitude":null,"LatLonString":"","LogType":"Found it","LogTypeImage":"2.png","LogText":"Bei herrlichem Wetter eine kleine Radtour in den Kinderwald gemacht. Alle Rätsel gelöst und den Cache gleich gut gefunden! Danke!","Created":"09/09/2012","Visited":"09/09/2012","UserName":"Die Füenf","MembershipLevel":1,"AccountID":5688523,"AccountGuid":"325e30ad-ec49-4e4b-a359-93745a7f29a3","Email":"","AvatarImage":"","GeocacheFindCount":36,"GeocacheHideCount":0,"ChallengesCompleted":0,"IsEncoded":false,"creator":{"GroupTitle":"Member","GroupImageUrl":"/images/icons/reg_user.gif"},"Images":[]},{"LogID":262759127,"CacheID":1811409,"LogGuid":"32d1b334-60d7-4b50-bd2f-86d1e2b86d47","Latitude":null,"Longitude":null,"LatLonString":"","LogType":"Found it","LogTypeImage":"2.png","LogText":"Auf dem Gelände vor Jahren schon mal einen NC gemacht. Daher kam mir alles etwas bekannt vor.<br />Ein schöner Cache (auch für große Kinder).<br /><br />DFDC Goebue69","Created":"02/09/2012","Visited":"02/09/2012","UserName":"goebue69","MembershipLevel":3,"AccountID":1392617,"AccountGuid":"eb02f2f3-0054-411a-924e-37d49aa72abc","Email":"","AvatarImage":"284a2377-b591-4afe-9f7f-f58d1265990d.jpg","GeocacheFindCount":2029,"GeocacheHideCount":9,"ChallengesCompleted":0,"IsEncoded":false,"creator":{"GroupTitle":"Premium Member","GroupImageUrl":"/images/icons/prem_user.gif"},"Images":[]},{"LogID":252338005,"CacheID":1811409,"LogGuid":"411364f4-b680-4380-8a51-ac4f751326c0","Latitude":null,"Longitude":null,"LatLonString":"","LogType":"Found it","LogTypeImage":"2.png","LogText":"Viel zu viel los bei schönem Wetter! Ansonsten ein angenehmer Waldspaziergang. tftc","Created":"27/07/2012","Visited":"25/07/2012","UserName":"Kagir","MembershipLevel":1,"AccountID":4315295,"AccountGuid":"177be480-8d64-497c-ad36-00e708ddde6f","Email":"","AvatarImage":"","GeocacheFindCount":29,"GeocacheHideCount":0,"ChallengesCompleted":0,"IsEncoded":false,"creator":{"GroupTitle":"Member","GroupImageUrl":"/images/icons/reg_user.gif"},"Images":[]},{"LogID":251975636,"CacheID":1811409,"LogGuid":"e80e572b-fe15-4ab0-81de-6122c512a288","Latitude":null,"Longitude":null,"LatLonString":"","LogType":"Found it","LogTypeImage":"2.png","LogText":"Schöner Weg durch den Wald, nur war es heute defintiv zu warm :-) Die Seilfähre haben wir den badenden Kindermuggeln überlassen...<br /><br />TFTC","Created":"25/07/2012","Visited":"25/07/2012","UserName":"Mrs. Columbo","MembershipLevel":1,"AccountID":1402345,"AccountGuid":"c36196ce-810e-455e-948c-c053356a3eae","Email":"","AvatarImage":"c9289d12-2013-4617-9a6d-81337cb98889.jpg","GeocacheFindCount":67,"GeocacheHideCount":0,"ChallengesCompleted":0,"IsEncoded":false,"creator":{"GroupTitle":"Member","GroupImageUrl":"/images/icons/reg_user.gif"},"Images":[]},{"LogID":251593551,"CacheID":1811409,"LogGuid":"052d44d6-4be9-4562-9275-2a42c28c8fd9","Latitude":null,"Longitude":null,"LatLonString":"","LogType":"Found it","LogTypeImage":"2.png","LogText":"Ein kleiner Abendspaziergang inklusive dem obligatorischen Sturz von der Seilfähre lies uns dieses Döschen entdecken. Es danken die goldenen Herzen.","Created":"24/07/2012","Visited":"24/07/2012","UserName":"Die goldenen Herzen","MembershipLevel":3,"AccountID":1296372,"AccountGuid":"045766bd-9cb9-4f80-9ea4-17d9d3568fdd","Email":"","AvatarImage":"57b838dd-5771-413a-84d9-38ee10ed4e10.jpg","GeocacheFindCount":6370,"GeocacheHideCount":11,"ChallengesCompleted":3,"IsEncoded":false,"creator":{"GroupTitle":"Premium Member","GroupImageUrl":"/images/icons/prem_user.gif"},"Images":[]},{"LogID":252191162,"CacheID":1811409,"LogGuid":"b8ce976f-5b32-4141-8b42-760497746371","Latitude":null,"Longitude":null,"LatLonString":"","LogType":"Found it","LogTypeImage":"2.png","LogText":"Kinder, Kinder, Kinderwald, wir gehen in den Kinderwald. Wir werden mit den Bäumen alt - wir sind die Kinderwaldkinder (Text von Unmada). Danke für einen schönen Tag mit Coffee0815 im Mai - jetzt geloggt.","Created":"26/07/2012","Visited":"22/07/2012","UserName":"Toffee Fee","MembershipLevel":1,"AccountID":5904887,"AccountGuid":"84d6a9e2-3da3-4545-b960-dbde00f473a6","Email":"","AvatarImage":"5c129384-6211-4723-9162-2213ba214e91.jpg","GeocacheFindCount":80,"GeocacheHideCount":0,"ChallengesCompleted":0,"IsEncoded":false,"creator":{"GroupTitle":"Member","GroupImageUrl":"/images/icons/reg_user.gif"},"Images":[]},{"LogID":245510055,"CacheID":1811409,"LogGuid":"7374db3b-1904-431b-88f3-9e5a6f9a8968","Latitude":null,"Longitude":null,"LatLonString":"","LogType":"Found it","LogTypeImage":"2.png","LogText":"Bei einem schönen Spaziergang mit den Kids gut gefunden.. Danke","Created":"30/06/2012","Visited":"30/06/2012","UserName":"Team Vesprit","MembershipLevel":3,"AccountID":3013353,"AccountGuid":"176d040c-d753-4060-82d4-8d352aa2cd76","Email":"","AvatarImage":"","GeocacheFindCount":384,"GeocacheHideCount":0,"ChallengesCompleted":0,"IsEncoded":false,"creator":{"GroupTitle":"Premium Member","GroupImageUrl":"/images/icons/prem_user.gif"},"Images":[]},{"LogID":245489284,"CacheID":1811409,"LogGuid":"8985a77a-449f-4508-9afa-f51173845e77","Latitude":null,"Longitude":null,"LatLonString":"","LogType":"Found it","LogTypeImage":"2.png","LogText":"Ein netter Cache, bei dem man mal von den gewohnten Vorgehensweisen etwas abweichen muss, weil ein großer Teil der Suche ohne GPS erledigt werden muss. Bei der Seilfähre waren wir dann auch etwas ratlos, weil wir nichts Sinnvolles finden konnten; aber zum Glück kann man die benötigte Zahl auch anders bekommen.<br />Besonders gut hat uns die Schafherde gefallen.<br />Während unserer Tour haben wir dann noch die Taumelkäfer getroffen, die auch gerade dort auf der Suche waren.<br /><br />TFTC - The Snowowl","Created":"30/06/2012","Visited":"30/06/2012","UserName":"The Snowowl","MembershipLevel":1,"AccountID":1686756,"AccountGuid":"016c0d41-4157-4aa1-8f97-a31ad75a03da","Email":"","AvatarImage":"134375ae-05bc-45f1-941f-e02ffb0ddf7b.jpg","GeocacheFindCount":857,"GeocacheHideCount":1,"ChallengesCompleted":1,"IsEncoded":false,"creator":{"GroupTitle":"Member","GroupImageUrl":"/images/icons/reg_user.gif"},"Images":[]},{"LogID":245455436,"CacheID":1811409,"LogGuid":"a45c0a4c-0811-4850-ae3a-8dacd0f2dec8","Latitude":null,"Longitude":null,"LatLonString":"","LogType":"Found it","LogTypeImage":"2.png","LogText":"Netter Spaziergang und alles gut gefunden, nur die Fähre war von Muggel-Kindern erobert. Aber das geht ja auch so..TFTC","Created":"30/06/2012","Visited":"30/06/2012","UserName":"Taumelkäfer","MembershipLevel":3,"AccountID":3345917,"AccountGuid":"759cc4b8-217b-4c7b-8cc5-5ec9831c9fb0","Email":"","AvatarImage":"1d7d177e-2279-4d9c-a9e0-35ae06424469.jpg","GeocacheFindCount":400,"GeocacheHideCount":1,"ChallengesCompleted":0,"IsEncoded":false,"creator":{"GroupTitle":"Premium Member","GroupImageUrl":"/images/icons/prem_user.gif"},"Images":[]},{"LogID":244104601,"CacheID":1811409,"LogGuid":"a3ac5579-94f0-413f-bb43-24a687a594e8","Latitude":null,"Longitude":null,"LatLonString":"","LogType":"Found it","LogTypeImage":"2.png","LogText":"Lustig gewesen :)","Created":"24/06/2012","Visited":"23/06/2012","UserName":"submersus","MembershipLevel":1,"AccountID":5865540,"AccountGuid":"f3dcd7f1-0645-4322-a1db-e5c1d3629cac","Email":"","AvatarImage":"","GeocacheFindCount":1,"GeocacheHideCount":0,"ChallengesCompleted":0,"IsEncoded":false,"creator":{"GroupTitle":"Member","GroupImageUrl":"/images/icons/reg_user.gif"},"Images":[]},{"LogID":243027211,"CacheID":1811409,"LogGuid":"02c6075a-c79f-4a24-b32b-0d00994e3852","Latitude":null,"Longitude":null,"LatLonString":"","LogType":"Found it","LogTypeImage":"2.png","LogText":"Heute bei sonnigem Wetter zusammen mit Flitze71 und Pammi72<br />den Kinderwald unsicher gemacht. :-)<br />Lustiger Multi der richtig Spaß gemacht hat.<br />DFDC","Created":"18/06/2012","Visited":"18/06/2012","UserName":"Schnuffi06","MembershipLevel":1,"AccountID":3710551,"AccountGuid":"fabfb0e6-28be-4e2f-9742-cfaf4e2eac72","Email":"","AvatarImage":"","GeocacheFindCount":175,"GeocacheHideCount":0,"ChallengesCompleted":0,"IsEncoded":false,"creator":{"GroupTitle":"Member","GroupImageUrl":"/images/icons/reg_user.gif"},"Images":[]}], "pageInfo": { "idx":1, "size": 25, "totalRows": 139, "rows": 139 } };
//]]>
</script>
</form>
@@ -2410,38 +2486,14 @@ initalLogs = {"status":"success", "data": [{"LogID":269736455,"CacheID":1811409, });
</script>
- <script id="loc_favPointsWhatsThisDesc" type="text/html">
- Geocaching Favorites is a simple way to track and share the caches that you enjoyed the most. For every 10 distinct caches that you have found, you will be able to Favorite 1 exceptional cache in your find history. The Favorites accumulated by a cache are displayed in search results and on the cache page so everyone can see which caches stand above the rest.
- </script>
- <script id="loc_favPointsWhatsThisTitle" type="text/html">
- About Favorite Points
- </script>
+
<script id="loc_favPointsScoreDesc" type="text/html">
Favorites/Premium Logs
</script>
<script type="text/javascript" language="javascript">
<!--
- $('#uxFavPointsWhatsThis').qtip({
- content: {
- text: $("#loc_favPointsWhatsThisDesc").html(),
- title: {
- text: $("#loc_favPointsWhatsThisTitle").html(),
- button: true
- }
- },
- position: {
- my: 'top center',
- at: 'bottom center'
- },
- show: {
- event: 'click'
- },
- hide: 'click unfocus',
- style: {
- classes: 'ui-tooltip'
- }
- })
+
var gotScore = false;
var favDropDown = $('.favorite-dropdown');
@@ -2563,6 +2615,6 @@ initalLogs = {"status":"success", "data": [{"LogID":269736455,"CacheID":1811409, </div>
<!-- End Quantcast tag -->
- <!-- Server: WEB09; Build: Web.HotFix_20121016.3 -->
+ <!-- Server: WEB13; Build: Web.HotFix_20121211.1 -->
</body>
</html>
diff --git a/tests/src/cgeo/geocaching/test/mock/GC2JVEH.html b/tests/src/cgeo/geocaching/test/mock/GC2JVEH.html index dbf45f5..9e1a44f 100644 --- a/tests/src/cgeo/geocaching/test/mock/GC2JVEH.html +++ b/tests/src/cgeo/geocaching/test/mock/GC2JVEH.html @@ -127,11 +127,11 @@ resize: none;
}
legend.note{
- background:url('../images/silk/note.png') no-repeat 0 0;
+ background:url('../images/icons/16/user_note.png') no-repeat 0 0;
padding-left:18px;
}
legend.warning{
- background:url('../images/silk/exclamation.png') no-repeat 0 0;
+ background:url('../images/icons/16/take_note.png') no-repeat 0 0;
padding-left:18px;
}
fieldset.CacheNote{
@@ -154,6 +154,7 @@ }
#tiptip_content{
*background-color:#000;
+ box-shadow:none;
}
.maxed{
color:#992a2a;
@@ -167,7 +168,7 @@ .edit-cache-coordinates{
text-decoration: none;
color: #000 !important;
- background: url(/images/silk/pencil.png) no-repeat right 0;
+ background: url(/images/icons/16/edit.png) no-repeat right 0;
padding:2px 20px 2px 0px;
margin-right:4px;
}
@@ -244,9 +245,9 @@ <input type="hidden" name="__EVENTTARGET" id="__EVENTTARGET" value="" />
<input type="hidden" name="__EVENTARGUMENT" id="__EVENTARGUMENT" value="" />
<input type="hidden" name="__VIEWSTATEFIELDCOUNT" id="__VIEWSTATEFIELDCOUNT" value="3" />
-<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwUKLTI5ODA0Nzc1OQ8WAh4EQy5JRCgpWVN5c3RlbS5JbnQ2NCwgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5BzE5OTc1OTcWAmYPZBYGZg9kFgoCBg8WAh4EVGV4dAViPG1ldGEgbmFtZT0iQ29weXJpZ2h0IiBjb250ZW50PSJDb3B5cmlnaHQgKGMpIDIwMDAtMjAxMiBHcm91bmRzcGVhaywgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLiIgLz5kAgcPFgIfAQVHPCEtLSBDb3B5cmlnaHQgKGMpIDIwMDAtMjAxMiBHcm91bmRzcGVhaywgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLiAtLT5kAhoPFgIeBGhyZWYFHX4vY3NzL3Rsbk1hc3RlclNjcmVlbi5jc3M/cj0xZAIbDxYCHwIFFX4vY3NzL3Rsbk1haW4uY3NzP3I9MWQCIA8WAh4HVmlzaWJsZWhkAgEPZBYQAgUPFgIfAWRkAggPFgIfA2cWCAIBDw8WAh4ISW1hZ2VVcmwFTmh0dHA6Ly9pbWcuZ2VvY2FjaGluZy5jb20vdXNlci9hdmF0YXIvNTBmODMxMjMtMjdkOC00ZGNmLTlmZGUtMmFmMDA2ZWZhZjJiLmpwZ2RkAgMPFgIfAQVoSGVsbG8sIDxhIGhyZWY9Ii9teS9kZWZhdWx0LmFzcHgiIHRpdGxlPSJWaWV3IFByb2ZpbGUgZm9yIGJsYWZvbyIgY2xhc3M9IlNpZ25lZEluUHJvZmlsZUxpbmsiPmJsYWZvbzwvYT5kAgUPDxYCHgtOYXZpZ2F0ZVVybAWtAWh0dHBzOi8vd3d3Lmdlb2NhY2hpbmcuY29tL2xvZ2luL2RlZmF1bHQuYXNweD9SRVNFVD1ZJnJlZGlyPWh0dHAlM2ElMmYlMmZ3d3cuZ2VvY2FjaGluZy5jb20lMmZzZWVrJTJmY2FjaGVfZGV0YWlscy5hc3B4JTNmbG9nJTNkeSUyNndwJTNkR0MySlZFSCUyNm51bWxvZ3MlM2QzNSUyNmRlY3J5cHQlM2R5ZGQCCw8WAh8BBasBPGltZyBzcmM9Ii9pbWFnZXMvaWNvbnMvaWNvbl9zbWlsZS5wbmciIHRpdGxlPSJDYWNoZXMgRm91bmQiIC8+IDY5MiZuYnNwOyZuYnNwOyZuYnNwOzxpbWcgc3JjPSIvaW1hZ2VzL2NoYWxsZW5nZXMvdHlwZXMvc20vY2hhbGxlbmdlLnBuZyIgdGl0bGU9IkNoYWxsZW5nZXMgQ29tcGxldGVkIiAvPiAzZAINDxYCHwNnFgICDQ8PFgIfBQVAfi90cmFjay9zZWFyY2guYXNweD9vPTEmdWlkPTA1NjRhOTQwLTgzMTEtNDBlZS04ZTc2LTdlOTFiMmNmNjI4NGRkAhAPDxYCHwNnZGQCLg9kFgICAw8WAh8DaGQCLw8WAh4FY2xhc3MFDHNwYW4tMjQgbGFzdBYCAgEPZBYyAgEPZBYCZg9kFgICAQ8PFgIfAQUHR0MySlZFSGRkAgIPFgIfAQWeATxhIGhyZWY9Ii9hYm91dC9jYWNoZV90eXBlcy5hc3B4IiB0YXJnZXQ9Il9ibGFuayIgdGl0bGU9IkFib3V0IENhY2hlIFR5cGVzIj48aW1nIHNyYz0iL2ltYWdlcy9XcHRUeXBlcy84LmdpZiIgYWx0PSJVbmtub3duIENhY2hlIiB0aXRsZT0iVW5rbm93biBDYWNoZSIgLz48L2E+ZAIGD2QWBAIBDxYCHwNnZAIGDxYCHwNoZAILD2QWBAIBDxYCHwEFAjUxZAIFDw8WAh8FBUQvc2Vlay9jYWNoZV9mYXZvcml0ZWQuYXNweD9ndWlkPTA3MjcwZThjLTcyZWMtNDgyMS04Y2I3LWIwMTQ4M2Y5NGNiNWRkAg0PDxYCHwNoZGQCDg8WBB8BBUs8cCBjbGFzcz0iV2FybmluZyBOb0JvdHRvbVNwYWNpbmciPlRoaXMgaXMgYSBQcmVtaXVtIE1lbWJlciBPbmx5IGNhY2hlLjwvcD4fA2dkAhAPFgIfA2hkAhEPFgIfA2hkAhIPZBYMAgMPFgIeBXN0eWxlBQ9kaXNwbGF5OmlubGluZTsWAgIBDxYCHwEFG1VUTTogMzJVIEUgNTUwMDYzIE4gNTgwMjY5NmQCDQ8PFgIfBQUzY2RwZi5hc3B4P2d1aWQ9MDcyNzBlOGMtNzJlYy00ODIxLThjYjctYjAxNDgzZjk0Y2I1ZGQCDw8PFgIfBQU4Y2RwZi5hc3B4P2d1aWQ9MDcyNzBlOGMtNzJlYy00ODIxLThjYjctYjAxNDgzZjk0Y2I1JmxjPTVkZAIRDw8WAh8FBTljZHBmLmFzcHg/Z3VpZD0wNzI3MGU4Yy03MmVjLTQ4MjEtOGNiNy1iMDE0ODNmOTRjYjUmbGM9MTBkZAITDw8WBB8FBY4BaHR0cDovL21hcHMuZ29vZ2xlLmNvbS9tYXBzP2Y9ZCZobD1lbiZzYWRkcj01Mi40MTYyLDkuNTk0MTE3IChIb21lIExvY2F0aW9uKSZkYWRkcj01Mi4zNzIyNSw5LjczNTM2NyhBdWYrZGVuK1NwdXJlbitkZXMrSW5kaWFuZXIrSm9uZXMrVGVpbCsxKR4GVGFyZ2V0BQZfYmxhbmtkZAIbD2QWCAIBDw8WBB4JRm9yZUNvbG9yDB4EXyFTQgIEZGQCAw8PFgQfCQwfCgIEZGQCBQ8PFgIfA2cWAh4Hb25jbGljawU7czJncHMoJzA3MjcwZThjLTcyZWMtNDgyMS04Y2I3LWIwMTQ4M2Y5NGNiNScpO3JldHVybiBmYWxzZTtkAgcPDxYCHwNnFgIfCwUgczJwaG9uZSgnR0MySlZFSCcpO3JldHVybiBmYWxzZTtkAhQPFgIfA2cWAgIDDxYCHwEFVFNlZWxpZyBzaW5kIGRpZSBCYXJtaGVyemlnZW4sIGRlbm4gc2llIHdlcmRlbiBCYXJtaGVyemlna2VpdCBlcmxhbmdlbiBHYXJ0ZW5mcmllZGhvZmQCFw9kFghmDxYCHwNoZAIBDw8WAh8DaGRkAgIPDxYCHwNoZGQCAw8WAh8DaGQCGA9kFgICAw8PFgIfAQUTTm8gaGludHMgYXZhaWxhYmxlLhYCHwsFDXJldHVybiBmYWxzZTtkAhkPFgIfA2hkAhwPZBYEAgEPDxYEHghDc3NDbGFzc2QfCgICZGQCBA8WAh8BBQIxM2QCHQ9kFgICAQ8WAh8DZxYCAgEPDxYCHwUFOC9zZWVrL2xvZy5hc3B4P0xVSUQ9YjhhMDZmMGEtMDVlNi00ZGVhLWFiMjctNTNhNWYwMDI2ZTUxZGQCHg8WAh8DZ2QCHw8WAh8DaGQCIg9kFgICAQ9kFgQCAQ8PFgIfAQX/AzxpZnJhbWUgdHlwZT0iaWZyYW1lIiBzcmM9Imh0dHA6Ly9hZHMuZ3JvdW5kc3BlYWsuY29tL2EuYXNweD9ab25lSUQ9OSZUYXNrPUdldCZTaXRlSUQ9MSZYPScwNjdhZTI0MWEwODQ0NGI2OWU0YjVhMzZkNzBkZWMwYyciIHdpZHRoPSIxMjAiIGhlaWdodD0iMjQwIiBNYXJnaW53aWR0aD0iMCIgTWFyZ2luaGVpZ2h0PSIwIiBIc3BhY2U9IjAiIFZzcGFjZT0iMCIgRnJhbWVib3JkZXI9IjAiIFNjcm9sbGluZz0ibm8iIHN0eWxlPSJ3aWR0aDoxMjBweDtIZWlnaHQ6MjQwcHg7Ij48YSBocmVmPSJodHRwOi8vYWRzLmdyb3VuZHNwZWFrLmNvbS9hLmFzcHg/Wm9uZUlEPTkmVGFzaz1DbGljayY7TW9kZT1IVE1MJlNpdGVJRD0xIiB0YXJnZXQ9Il9ibGFuayI+PGltZyBzcmM9Imh0dHA6Ly9hZHMuZ3JvdW5kc3BlYWsuY29tL2EuYXNweD9ab25lSUQ9OSZUYXNrPUdldCZNb2RlPUhUTUwmU2l0ZUlEPTEiIHdpZHRoPSIxMjAiIGhlaWdodD0iMjQwIiBib3JkZXI9IjAiIGFsdD0iIiAvPjwvYT48L2lmcmFtZT5kZAIDDxYCHglpbm5lcmh0bWwFE0FkdmVydGlzaW5nIHdpdGggVXNkAiYPZBYGAgUPFgIeC18hSXRlbUNvdW50AgEWAgIBD2QWAmYPFQNWaHR0cDovL3d3dy5nZW9jYWNoaW5nLmNvbS90cmFjay9kZXRhaWxzLmFzcHg/Z3VpZD1lMzI5MTlkMy1lYjk1LTRkMDMtYTZjNC1kMGFkZmZmOTc4NjUzaHR0cDovL3d3dy5nZW9jYWNoaW5nLmNvbS9pbWFnZXMvd3B0dHlwZXMvc20vMjEuZ2lmFUljaHRoeW9zYXVydXMgSHVtZXJ1c2QCCQ8PFgIfA2dkFgICAQ8PFgQfAQUTVmlldyBhbGwgVHJhY2thYmxlcx8FBUl+L3RyYWNrL3NlYXJjaC5hc3B4P3dpZD0wNzI3MGU4Yy03MmVjLTQ4MjEtOGNiNy1iMDE0ODNmOTRjYjUmY2NpZD0xOTk3NTk3ZGQCCw8PFgIfBQU8fi90cmFjay9zZWFyY2guYXNweD93aWQ9MDcyNzBlOGMtNzJlYy00ODIxLThjYjctYjAxNDgzZjk0Y2I1ZGQCJw8PFgIfA2dkFgJmDxYCHw4CAxYGAgEPZBYEZg8VAwBXaHR0cDovL3d3dy5nZW9jYWNoaW5nLmNvbS9ib29rbWFya3Mvdmlldy5hc3B4P2d1aWQ9NzYwZWIzMTQtODM4ZC00YWZjLWFhNWItNDViMjIxMmVlNDljDVQ1IGFic29sdmllcnRkAgIPFQJMaHR0cDovL3d3dy5nZW9jYWNoaW5nLmNvbS9wcm9maWxlLz9ndWlkPTVjNGIwOTE1LTVjZWMtNGZhMS04YWZkLTRiM2NhNjdlMDA0ZQdrYWkyNzA3ZAICD2QWBGYPFQMOQWx0ZXJuYXRpbmdSb3dXaHR0cDovL3d3dy5nZW9jYWNoaW5n" />
-<input type="hidden" name="__VIEWSTATE1" id="__VIEWSTATE1" value="LmNvbS9ib29rbWFya3Mvdmlldy5hc3B4P2d1aWQ9MGEyZTRiMzItMTFjZC00ZTQ2LWI1MmItYWZhNmJmYzg0ZGQyBFRvRG9kAgIPFQJMaHR0cDovL3d3dy5nZW9jYWNoaW5nLmNvbS9wcm9maWxlLz9ndWlkPTgyMmMwZmViLTRkZDAtNDMxOC05YmRmLWVhMTk3NjQxOTNhOAZILldhaWlkAgMPZBYEZg8VAwBXaHR0cDovL3d3dy5nZW9jYWNoaW5nLmNvbS9ib29rbWFya3Mvdmlldy5hc3B4P2d1aWQ9ODMwMTYyYzItNzJkZS00ODc2LWJmMjItMjQ0ZDU5ZjhiYTI3G0RpZXNlIHNpbmQgbm9jaCBmJiMyMjg7bGxpZ2QCAg8VAkxodHRwOi8vd3d3Lmdlb2NhY2hpbmcuY29tL3Byb2ZpbGUvP2d1aWQ9ZjNiOWU2MDktNjMzYi00M2FmLTllMzQtMWY4ZjU0Yjg2YTllBmNlZXdlZWQCKA8PFgIfA2dkFgJmDxYCHw4CARYCAgEPZBYEZg8VAwBXaHR0cDovL3d3dy5nZW9jYWNoaW5nLmNvbS9ib29rbWFya3Mvdmlldy5hc3B4P2d1aWQ9ODE4YTk2ZWYtOTQ5ZC00MjM4LThlMTMtZTU2OTQ3ZGMwNGEyBkZpbmFsc2QCAg8VAkxodHRwOi8vd3d3Lmdlb2NhY2hpbmcuY29tL3Byb2ZpbGUvP2d1aWQ9MDU2NGE5NDAtODMxMS00MGVlLThlNzYtN2U5MWIyY2Y2Mjg0BmJsYWZvb2QCKQ9kFhYCAQ8PFgIfA2hkZAIDD2QWAgIBDw8WAh8FBUUvaGlkZS93cHRsaXN0LmFzcHg/UmVmV3B0SUQ9MDcyNzBlOGMtNzJlYy00ODIxLThjYjctYjAxNDgzZjk0Y2I1JkRTPTFkZAIHDw8WBh4GUkRTLklECyl2R3JvdW5kc3BlYWsuV2ViLkdQWC5XcHREYXRhU291cmNlcywgVHVjc29uLkNvbW1vbi5MZWdhY3ksIFZlcnNpb249My4wLjQ2NzIuMTc5NDMsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49bnVsbAEeB1JXUFQuSUQoKwQHMTk5NzU5Nx8DaGRkAgkPDxYCHwNnZBYCAgEPDxYEHwUFKy9tYXAvZGVmYXVsdC5hc3B4P2xhdD01Mi4zNzIyNSZsbmc9OS43MzUzNjcfA2dkZAIRDw8WAh8FBSIvc2Vlay9uZWFyZXN0LmFzcHg/dT1pbmRpYW5lcmpvbmVzZGQCFQ8PFgIfBQUjL3NlZWsvbmVhcmVzdC5hc3B4P3VsPWluZGlhbmVyam9uZXNkZAIZD2QWCgIDDw8WAh8FBVUvc2Vlay9uZWFyZXN0LmFzcHg/dHg9NDA4NjE4MjEtMTgzNS00ZTExLWI2NjYtOGQ0MTA2NGQwM2ZlJmxhdD01Mi4zNzIyNTAmbG5nPTkuNzM1MzY3ZGQCBQ8PFgIfBQVZL3NlZWsvbmVhcmVzdC5hc3B4P3R4PTQwODYxODIxLTE4MzUtNGUxMS1iNjY2LThkNDEwNjRkMDNmZSZsYXQ9NTIuMzcyMjUwJmxuZz05LjczNTM2NyZmPTFkZAIJDw8WAh8FBS0vc2Vlay9uZWFyZXN0LmFzcHg/bGF0PTUyLjM3MjI1MCZsbmc9OS43MzUzNjdkZAILDw8WAh8FBTEvc2Vlay9uZWFyZXN0LmFzcHg/bGF0PTUyLjM3MjI1MCZsbmc9OS43MzUzNjcmZj0xZGQCDw8PFgIfBQVHaHR0cDovL3d3dy53YXltYXJraW5nLmNvbS9kaXJlY3RvcnkuYXNweD9mPTEmbGF0PTUyLjM3MjI1MCZsb249OS43MzUzNjdkZAIbDxYCHwNoZAIfDw8WAh8FBSUvcmV2aWV3cy9ob3RlbHMtY29vcmRzLTUyLjM3MjMsOS43MzU0ZGQCIw9kFgICAQ8PFgQfAQW7BzxsaT48YSBocmVmPSJodHRwOi8vd3d3Lmdlb2NhY2hpbmcuY29tL21hcC9kZWZhdWx0LmFzcHg/bGF0PTUyLjM3MjI1JmxuZz05LjczNTM3IiB0YXJnZXQ9Il9ibGFuayI+R2VvY2FjaGluZy5jb20gTWFwPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9tYXBzLmdvb2dsZS5jb20vbWFwcz9xPU4rNTIlYzIlYjArMjIuMzM1K0UrMDA5JWMyJWIwKzQ0LjEyMisoR0MySlZFSCkrIiB0YXJnZXQ9Il9ibGFuayI+R29vZ2xlIE1hcHM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy5tYXBxdWVzdC5jb20vbWFwcy9tYXAuYWRwP3NlYXJjaHR5cGU9YWRkcmVzcyZmb3JtdHlwZT1sYXRsb25nJmxhdGxvbmd0eXBlPWRlY2ltYWwmbGF0aXR1ZGU9NTIuMzcyMjUmbG9uZ2l0dWRlPTkuNzM1Mzcmem9vbT0xMCIgdGFyZ2V0PSJfYmxhbmsiPk1hcFF1ZXN0PC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9tYXBzLnlhaG9vLmNvbS8jbGF0PTUyLjM3MjI1Jmxvbj05LjczNTM3Jnpvb209MTYmcT01Mi4zNzIyNSw5LjczNTM3JmNvbmY9MSZzdGFydD0xJm12dD1tJnRyZj0wIiB0YXJnZXQ9Il9ibGFuayI+WWFob28gTWFwczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LmJpbmcuY29tL21hcHMvZGVmYXVsdC5hc3B4P3Y9MiZsdmw9MTQmc3A9cG9pbnQuNTIuMzcyMjVfOS43MzUzN19HQzJKVkVIIiB0YXJnZXQ9Il9ibGFuayI+QmluZyBNYXBzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cub3BlbmN5Y2xlbWFwLm9yZy8/em9vbT0xMiZsYXQ9NTIuMzcyMjUmbG9uPTkuNzM1MzciIHRhcmdldD0iX2JsYW5rIj5PcGVuIEN5Y2xlIE1hcHM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy5vcGVuc3RyZWV0bWFwLm9yZy8/bWxhdD01Mi4zNzIyNSZtbG9uPTkuNzM1Mzcmem9vbT0xMiIgdGFyZ2V0PSJfYmxhbmsiPk9wZW4gU3RyZWV0IE1hcHM8L2E+PC9saT4fA2dkZAInD2QWBgIBDxYCHwEFETEwOSBMb2dnZWQgVmlzaXRzZAIHDw8WAh8FBUN+L3NlZWsvY2FjaGVfbG9nYm9vay5hc3B4P2d1aWQ9MDcyNzBlOGMtNzJlYy00ODIxLThjYjctYjAxNDgzZjk0Y2I1ZGQCCQ8PFgQfBQU9fi9zZWVrL2dhbGxlcnkuYXNweD9ndWlkPTA3MjcwZThjLTcyZWMtNDgyMS04Y2I3LWIwMTQ4M2Y5NGNiNR8BBSJWaWV3IHRoZSBJbWFnZSBHYWxsZXJ5IG9mIDQgaW1hZ2VzZGQCKg8WAh8BBQR0cnVlZAIrDxYCHwEFSmxhdD01Mi4zNzIyNTsgbG5nPTkuNzM1MzY3OyBndWlkPScwNzI3MGU4Yy03MmVjLTQ4MjEtOGNiNy1iMDE0ODNmOTRjYjUnOw0KZAIsDxYCHwEFcXRyeSB7IF9nYXEucHVzaChbJ190cmFja0V2ZW50JywgJ0dlb2NhY2hpbmcnLCAnQ2FjaGVEZXRhaWxzTWVtYmVyVHlwZScsICdQcmVtaXVtJywgbnVsbCwgdHJ1ZV0pOyB9IGNhdGNoKGVycikgeyB9ZAIwDxYCHwNoZAIxD2QWBAIDDxYCHwEFB0VuZ2xpc2hkAgUPFgIfDgIQFiBmD2QWAgIBDw8WCB4PQ29tbWFuZEFyZ3VtZW50BQVlbi1VUx4LQ29tbWFuZE5hbWUFDVNldFRlbXBMb2NhbGUfAQUHRW5nbGlzaB4QQ2F1c2VzVmFsaWRhdGlvbmhkZAIBD2QWAgIBDw8WCB8RBQVkZS1ERR8SBQ1TZXRUZW1wTG9jYWxlHwEFB0RldXRzY2gfE2hkZAICD2QWAgIBDw8WCB8RBQVmci1GUh8SBQ1TZXRUZW1wTG9jYWxlHwEFCUZyYW7Dp2Fpcx8TaGRkAgMPZBYCAgEPDxYIHxEFBXB0LVBUHxIFDVNldFRlbXBMb2NhbGUfAQUKUG9ydHVndcOqcx8TaGRkAgQPZBYCAgEPDxYIHxEFBWNzLUNaHxIFDVNldFRlbXBMb2NhbGUfAQUJxIxlxaF0aW5hHxNoZGQCBQ9kFgICAQ8PFggfEQUFc3YtU0UfEgUNU2V0VGVtcExvY2FsZR8BBQdTdmVuc2thHxNoZGQCBg9kFgICAQ8PFggfEQUFZXMtRVMfEgUNU2V0VGVtcExvY2FsZR8BBQhFc3Bhw7FvbB8TaGRkAgcPZBYCAgEPDxYIHxEFBWl0LUlUHxIFDVNldFRlbXBMb2NhbGUfAQUISXRhbGlhbm8fE2hkZAIID2QWAgIBDw8WCB8RBQVubC1OTB8SBQ1TZXRUZW1wTG9jYWxlHwEFCk5lZGVybGFuZHMfE2hkZAIJD2QWAgIBDw8WCB8RBQVjYS1FUx8SBQ1TZXRUZW1wTG9jYWxlHwEFB0NhdGFsw6AfE2hkZAIKD2QWAgIBDw8WCB8RBQVwbC1QTB8SBQ1TZXRUZW1wTG9jYWxlHwEFBlBvbHNraR8TaGRkAgsPZBYCAgEPDxYIHxEFBWV0LUVFHxIFDVNldFRlbXBMb2NhbGUfAQUFRWVzdGkfE2hkZAIMD2QWAgIBDw8WCB8RBQVuYi1OTx8SBQ1TZXRUZW1wTG9jYWxlHwEFDk5vcnNrLCBCb2ttw6VsHxNoZGQCDQ9kFgICAQ8PFggfEQUFa28tS1IfEgUNU2V0VGVtcExvY2FsZR8BBQntlZzqta3slrQfE2hkZAIOD2QWAgIBDw8WCB8RBQVodS1IVR8SBQ1TZXRUZW1wTG9jYWxlHwEFBk1hZ3lhch8TaGRkAg8PZBYCAgEPDxYIHxEFBXJv" />
-<input type="hidden" name="__VIEWSTATE2" id="__VIEWSTATE2" value="LVJPHxIFDVNldFRlbXBMb2NhbGUfAQUIUm9tw6JuxIMfE2hkZAIDDxYCHwEFK1NlcnZlcjogV0VCMDk7IEJ1aWxkOiBXZWIuSG90Rml4XzIwMTIxMDE2LjNkZFFZDrDpoggt0+DM8vh8Ms2xTwIQ" />
+<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwUKLTc1MjcwNzgxNg8WAh4EQy5JRCgpWVN5c3RlbS5JbnQ2NCwgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5BzE5OTc1OTcWAmYPZBYGZg9kFgoCBg8WAh4EVGV4dAViPG1ldGEgbmFtZT0iQ29weXJpZ2h0IiBjb250ZW50PSJDb3B5cmlnaHQgKGMpIDIwMDAtMjAxMiBHcm91bmRzcGVhaywgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLiIgLz5kAgcPFgIfAQVHPCEtLSBDb3B5cmlnaHQgKGMpIDIwMDAtMjAxMiBHcm91bmRzcGVhaywgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLiAtLT5kAhoPFgIeBGhyZWYFHX4vY3NzL3Rsbk1hc3RlclNjcmVlbi5jc3M/cj0xZAIbDxYCHwIFFX4vY3NzL3Rsbk1haW4uY3NzP3I9MWQCIA8WAh4HVmlzaWJsZWhkAgEPZBYSAgUPFgIfAWRkAggPFgIfA2cWCAIBDw8WAh4ISW1hZ2VVcmwFTmh0dHA6Ly9pbWcuZ2VvY2FjaGluZy5jb20vdXNlci9hdmF0YXIvNTBmODMxMjMtMjdkOC00ZGNmLTlmZGUtMmFmMDA2ZWZhZjJiLmpwZ2RkAgMPFgIfAQVoSGVsbG8sIDxhIGhyZWY9Ii9teS9kZWZhdWx0LmFzcHgiIHRpdGxlPSJWaWV3IFByb2ZpbGUgZm9yIGJsYWZvbyIgY2xhc3M9IlNpZ25lZEluUHJvZmlsZUxpbmsiPmJsYWZvbzwvYT5kAgUPDxYCHgtOYXZpZ2F0ZVVybAWtAWh0dHBzOi8vd3d3Lmdlb2NhY2hpbmcuY29tL2xvZ2luL2RlZmF1bHQuYXNweD9SRVNFVD1ZJnJlZGlyPWh0dHAlM2ElMmYlMmZ3d3cuZ2VvY2FjaGluZy5jb20lMmZzZWVrJTJmY2FjaGVfZGV0YWlscy5hc3B4JTNmbG9nJTNkeSUyNndwJTNkR0MySlZFSCUyNm51bWxvZ3MlM2QzNSUyNmRlY3J5cHQlM2R5ZGQCCw8WAh8BBRA3MjUgQ2FjaGVzIEZvdW5kZAINDxYCHwNnFgICDQ8PFgIfBQVAfi90cmFjay9zZWFyY2guYXNweD9vPTEmdWlkPTA1NjRhOTQwLTgzMTEtNDBlZS04ZTc2LTdlOTFiMmNmNjI4NGRkAhAPDxYCHwNnZGQCLA9kFgQCAw8WAh8BBQdFbmdsaXNoZAIFDxYCHgtfIUl0ZW1Db3VudAIQFiBmD2QWAgIBDw8WCB4PQ29tbWFuZEFyZ3VtZW50BQVlbi1VUx4LQ29tbWFuZE5hbWUFDVNldFRlbXBMb2NhbGUfAQUHRW5nbGlzaB4QQ2F1c2VzVmFsaWRhdGlvbmhkZAIBD2QWAgIBDw8WCB8HBQVkZS1ERR8IBQ1TZXRUZW1wTG9jYWxlHwEFB0RldXRzY2gfCWhkZAICD2QWAgIBDw8WCB8HBQVmci1GUh8IBQ1TZXRUZW1wTG9jYWxlHwEFCUZyYW7Dp2Fpcx8JaGRkAgMPZBYCAgEPDxYIHwcFBXB0LVBUHwgFDVNldFRlbXBMb2NhbGUfAQUKUG9ydHVndcOqcx8JaGRkAgQPZBYCAgEPDxYIHwcFBWNzLUNaHwgFDVNldFRlbXBMb2NhbGUfAQUJxIxlxaF0aW5hHwloZGQCBQ9kFgICAQ8PFggfBwUFc3YtU0UfCAUNU2V0VGVtcExvY2FsZR8BBQdTdmVuc2thHwloZGQCBg9kFgICAQ8PFggfBwUFZXMtRVMfCAUNU2V0VGVtcExvY2FsZR8BBQhFc3Bhw7FvbB8JaGRkAgcPZBYCAgEPDxYIHwcFBWl0LUlUHwgFDVNldFRlbXBMb2NhbGUfAQUISXRhbGlhbm8fCWhkZAIID2QWAgIBDw8WCB8HBQVubC1OTB8IBQ1TZXRUZW1wTG9jYWxlHwEFCk5lZGVybGFuZHMfCWhkZAIJD2QWAgIBDw8WCB8HBQVjYS1FUx8IBQ1TZXRUZW1wTG9jYWxlHwEFB0NhdGFsw6AfCWhkZAIKD2QWAgIBDw8WCB8HBQVwbC1QTB8IBQ1TZXRUZW1wTG9jYWxlHwEFBlBvbHNraR8JaGRkAgsPZBYCAgEPDxYIHwcFBWV0LUVFHwgFDVNldFRlbXBMb2NhbGUfAQUFRWVzdGkfCWhkZAIMD2QWAgIBDw8WCB8HBQVuYi1OTx8IBQ1TZXRUZW1wTG9jYWxlHwEFDk5vcnNrLCBCb2ttw6VsHwloZGQCDQ9kFgICAQ8PFggfBwUFa28tS1IfCAUNU2V0VGVtcExvY2FsZR8BBQntlZzqta3slrQfCWhkZAIOD2QWAgIBDw8WCB8HBQVodS1IVR8IBQ1TZXRUZW1wTG9jYWxlHwEFBk1hZ3lhch8JaGRkAg8PZBYCAgEPDxYIHwcFBXJvLVJPHwgFDVNldFRlbXBMb2NhbGUfAQUIUm9tw6JuxIMfCWhkZAIuD2QWAgIDDxYCHwNoZAIvDxYCHgVjbGFzcwUMc3Bhbi0yNCBsYXN0FgICAQ9kFjICAQ9kFgJmD2QWAgIBDw8WAh8BBQdHQzJKVkVIZGQCAg8WAh8BBZ4BPGEgaHJlZj0iL2Fib3V0L2NhY2hlX3R5cGVzLmFzcHgiIHRhcmdldD0iX2JsYW5rIiB0aXRsZT0iQWJvdXQgQ2FjaGUgVHlwZXMiPjxpbWcgc3JjPSIvaW1hZ2VzL1dwdFR5cGVzLzguZ2lmIiBhbHQ9IlVua25vd24gQ2FjaGUiIHRpdGxlPSJVbmtub3duIENhY2hlIiAvPjwvYT5kAgYPZBYEAgEPFgIfA2dkAgYPFgIfA2hkAgsPZBYEAgEPFgIfAQUCNTJkAgUPDxYCHwUFRC9zZWVrL2NhY2hlX2Zhdm9yaXRlZC5hc3B4P2d1aWQ9MDcyNzBlOGMtNzJlYy00ODIxLThjYjctYjAxNDgzZjk0Y2I1ZGQCDQ8PFgIfA2hkZAIODxYEHwEFSzxwIGNsYXNzPSJXYXJuaW5nIE5vQm90dG9tU3BhY2luZyI+VGhpcyBpcyBhIFByZW1pdW0gTWVtYmVyIE9ubHkgY2FjaGUuPC9wPh8DZ2QCEA8WAh8DaGQCEQ8WAh8DaGQCEg9kFgwCAw8WAh4Fc3R5bGUFD2Rpc3BsYXk6aW5saW5lOxYCAgEPFgIfAQUbVVRNOiAzMlUgRSA1NTAwNjMgTiA1ODAyNjk2ZAINDw8WAh8FBTNjZHBmLmFzcHg/Z3VpZD0wNzI3MGU4Yy03MmVjLTQ4MjEtOGNiNy1iMDE0ODNmOTRjYjVkZAIPDw8WAh8FBThjZHBmLmFzcHg/Z3VpZD0wNzI3MGU4Yy03MmVjLTQ4MjEtOGNiNy1iMDE0ODNmOTRjYjUmbGM9NWRkAhEPDxYCHwUFOWNkcGYuYXNweD9ndWlkPTA3MjcwZThjLTcyZWMtNDgyMS04Y2I3LWIwMTQ4M2Y5NGNiNSZsYz0xMGRkAhMPDxYEHwUFjgFodHRwOi8vbWFwcy5nb29nbGUuY29tL21hcHM/Zj1kJmhsPWVuJnNhZGRyPTUyLjQxNjIsOS41OTQxMTcgKEhvbWUgTG9jYXRpb24pJmRhZGRyPTUyLjM3MjI1LDkuNzM1MzY3KEF1ZitkZW4rU3B1cmVuK2RlcytJbmRpYW5lcitKb25lcytUZWlsKzEpHgZUYXJnZXQFBl9ibGFua2RkAhsPZBYIAgEPDxYEHglGb3JlQ29sb3IMHgRfIVNCAgRkZAIDDw8WBB8NDB8OAgRkZAIFDw8WAh8DZxYCHgdvbmNsaWNrBTtzMmdwcygnMDcyNzBlOGMtNzJlYy00ODIxLThjYjctYjAxNDgzZjk0Y2I1Jyk7cmV0dXJuIGZhbHNlO2QCBw8PFgIfA2cWAh8PBSBzMnBob25lKCdHQzJKVkVIJyk7cmV0dXJuIGZhbHNlO2QCFA8WAh8DZxYCAgMPFgIfAQVUU2VlbGlnIHNpbmQgZGllIEJhcm1oZXJ6aWdlbiwgZGVubiBzaWUgd2VyZGVuIEJhcm1oZXJ6aWdrZWl0IGVybGFuZ2VuIEdhcnRlbmZyaWVkaG9mZAIXD2QWCGYPFgIfA2hkAgEPDxYCHwNoZGQCAg8PFgIfA2hkZAIDDxYCHwNoZAIYD2QWAgIDDw8WAh8BBRNObyBoaW50cyBhdmFpbGFibGUuFgIfDwUNcmV0dXJuIGZhbHNlO2QCGQ8WAh8DaGQCHA9kFgQCAQ8PFgQeCENzc0NsYXNzZB8OAgJkZAIEDxYCHwEFAjExZAIdD2QWAgIBDxYCHwNnFgICAQ8PFgIfBQU4L3NlZWsvbG9nLmFzcHg/TFVJRD1iOGEwNmYwYS0wNWU2LTRkZWEtYWIyNy01M2E1ZjAwMjZlNTFkZAIeDxYCHwNnZAIfDxYCHwNoZAIiD2QWAgIBD2QWBAIBDw8WAh8BBf8DPGlmcmFtZSB0eXBlPSJpZnJhbWUiIHNyYz0iaHR0cDovL2Fkcy5ncm91bmRzcGVhay5jb20vYS5hc3B4P1pvbmVJRD05JlRhc2s9R2V0JlNpdGVJRD0xJlg9J2E2Yzc3OTEzOGM0YzQyYmY5ZGMzZDA5OWY2YTk3YzIwJyIgd2lkdGg9IjEyMCIgaGVpZ2h0PSIyNDAiIE1hcmdpbndpZHRoPSIwIiBNYXJnaW5oZWlnaHQ9IjAiIEhzcGFjZT0iMCIgVnNwYWNlPSIwIiBGcmFtZWJvcmRlcj0iMCIgU2Nyb2xsaW5nPSJubyIgc3R5bGU9IndpZHRoOjEyMHB4O0hlaWdodDoyNDBweDsiPjxhIGhyZWY9Imh0dHA6Ly9hZHMuZ3JvdW5kc3BlYWsuY29tL2EuYXNweD9ab25lSUQ9OSZUYXNrPUNsaWNrJjtNb2RlPUhUTUwmU2l0ZUlEPTEiIHRhcmdldD0iX2JsYW5rIj48aW1nIHNyYz0iaHR0cDovL2Fkcy5ncm91bmRzcGVhay5j" />
+<input type="hidden" name="__VIEWSTATE1" id="__VIEWSTATE1" value="b20vYS5hc3B4P1pvbmVJRD05JlRhc2s9R2V0Jk1vZGU9SFRNTCZTaXRlSUQ9MSIgd2lkdGg9IjEyMCIgaGVpZ2h0PSIyNDAiIGJvcmRlcj0iMCIgYWx0PSIiIC8+PC9hPjwvaWZyYW1lPmRkAgMPFgIeCWlubmVyaHRtbAUTQWR2ZXJ0aXNpbmcgd2l0aCBVc2QCJg9kFgYCAw8WAh8GAgEWAgIBD2QWAmYPFQNWaHR0cDovL3d3dy5nZW9jYWNoaW5nLmNvbS90cmFjay9kZXRhaWxzLmFzcHg/Z3VpZD1lMzI5MTlkMy1lYjk1LTRkMDMtYTZjNC1kMGFkZmZmOTc4NjUzaHR0cDovL3d3dy5nZW9jYWNoaW5nLmNvbS9pbWFnZXMvd3B0dHlwZXMvc20vMjEuZ2lmFUljaHRoeW9zYXVydXMgSHVtZXJ1c2QCBw8PFgIfA2dkFgICAQ8PFgQfAQUTVmlldyBhbGwgVHJhY2thYmxlcx8FBUl+L3RyYWNrL3NlYXJjaC5hc3B4P3dpZD0wNzI3MGU4Yy03MmVjLTQ4MjEtOGNiNy1iMDE0ODNmOTRjYjUmY2NpZD0xOTk3NTk3ZGQCCQ8PFgIfBQU8fi90cmFjay9zZWFyY2guYXNweD93aWQ9MDcyNzBlOGMtNzJlYy00ODIxLThjYjctYjAxNDgzZjk0Y2I1ZGQCJw8PFgIfA2dkFgJmDxYCHwYCAxYGAgEPZBYEZg8VAwBXaHR0cDovL3d3dy5nZW9jYWNoaW5nLmNvbS9ib29rbWFya3Mvdmlldy5hc3B4P2d1aWQ9NzYwZWIzMTQtODM4ZC00YWZjLWFhNWItNDViMjIxMmVlNDljDVQ1IGFic29sdmllcnRkAgIPFQJMaHR0cDovL3d3dy5nZW9jYWNoaW5nLmNvbS9wcm9maWxlLz9ndWlkPTVjNGIwOTE1LTVjZWMtNGZhMS04YWZkLTRiM2NhNjdlMDA0ZQdrYWkyNzA3ZAICD2QWBGYPFQMOQWx0ZXJuYXRpbmdSb3dXaHR0cDovL3d3dy5nZW9jYWNoaW5nLmNvbS9ib29rbWFya3Mvdmlldy5hc3B4P2d1aWQ9MGEyZTRiMzItMTFjZC00ZTQ2LWI1MmItYWZhNmJmYzg0ZGQyBFRvRG9kAgIPFQJMaHR0cDovL3d3dy5nZW9jYWNoaW5nLmNvbS9wcm9maWxlLz9ndWlkPTgyMmMwZmViLTRkZDAtNDMxOC05YmRmLWVhMTk3NjQxOTNhOAZILldhaWlkAgMPZBYEZg8VAwBXaHR0cDovL3d3dy5nZW9jYWNoaW5nLmNvbS9ib29rbWFya3Mvdmlldy5hc3B4P2d1aWQ9ODMwMTYyYzItNzJkZS00ODc2LWJmMjItMjQ0ZDU5ZjhiYTI3G0RpZXNlIHNpbmQgbm9jaCBmJiMyMjg7bGxpZ2QCAg8VAkxodHRwOi8vd3d3Lmdlb2NhY2hpbmcuY29tL3Byb2ZpbGUvP2d1aWQ9ZjNiOWU2MDktNjMzYi00M2FmLTllMzQtMWY4ZjU0Yjg2YTllBmNlZXdlZWQCKA8PFgIfA2dkFgJmDxYCHwYCARYCAgEPZBYEZg8VAwBXaHR0cDovL3d3dy5nZW9jYWNoaW5nLmNvbS9ib29rbWFya3Mvdmlldy5hc3B4P2d1aWQ9ODE4YTk2ZWYtOTQ5ZC00MjM4LThlMTMtZTU2OTQ3ZGMwNGEyBkZpbmFsc2QCAg8VAkxodHRwOi8vd3d3Lmdlb2NhY2hpbmcuY29tL3Byb2ZpbGUvP2d1aWQ9MDU2NGE5NDAtODMxMS00MGVlLThlNzYtN2U5MWIyY2Y2Mjg0BmJsYWZvb2QCKQ9kFhYCAQ8PFgIfA2hkZAIDD2QWAgIBDw8WAh8FBUUvaGlkZS93cHRsaXN0LmFzcHg/UmVmV3B0SUQ9MDcyNzBlOGMtNzJlYy00ODIxLThjYjctYjAxNDgzZjk0Y2I1JkRTPTFkZAIHDw8WBh4GUkRTLklECyl2R3JvdW5kc3BlYWsuV2ViLkdQWC5XcHREYXRhU291cmNlcywgVHVjc29uLkNvbW1vbi5MZWdhY3ksIFZlcnNpb249My4wLjQ3MjguMTYxNTIsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49bnVsbAEeB1JXUFQuSUQoKwQHMTk5NzU5Nx8DaGRkAgkPDxYCHwNnZBYCAgEPDxYEHwUFKy9tYXAvZGVmYXVsdC5hc3B4P2xhdD01Mi4zNzIyNSZsbmc9OS43MzUzNjcfA2dkZAIRDw8WAh8FBSIvc2Vlay9uZWFyZXN0LmFzcHg/dT1pbmRpYW5lcmpvbmVzZGQCFQ8PFgIfBQUjL3NlZWsvbmVhcmVzdC5hc3B4P3VsPWluZGlhbmVyam9uZXNkZAIZD2QWCgIDDw8WAh8FBVUvc2Vlay9uZWFyZXN0LmFzcHg/dHg9NDA4NjE4MjEtMTgzNS00ZTExLWI2NjYtOGQ0MTA2NGQwM2ZlJmxhdD01Mi4zNzIyNTAmbG5nPTkuNzM1MzY3ZGQCBQ8PFgIfBQVZL3NlZWsvbmVhcmVzdC5hc3B4P3R4PTQwODYxODIxLTE4MzUtNGUxMS1iNjY2LThkNDEwNjRkMDNmZSZsYXQ9NTIuMzcyMjUwJmxuZz05LjczNTM2NyZmPTFkZAIJDw8WAh8FBS0vc2Vlay9uZWFyZXN0LmFzcHg/bGF0PTUyLjM3MjI1MCZsbmc9OS43MzUzNjdkZAILDw8WAh8FBTEvc2Vlay9uZWFyZXN0LmFzcHg/bGF0PTUyLjM3MjI1MCZsbmc9OS43MzUzNjcmZj0xZGQCDw8PFgIfBQVHaHR0cDovL3d3dy53YXltYXJraW5nLmNvbS9kaXJlY3RvcnkuYXNweD9mPTEmbGF0PTUyLjM3MjI1MCZsb249OS43MzUzNjdkZAIbDxYCHwNoZAIfDw8WAh8FBSUvcmV2aWV3cy9ob3RlbHMtY29vcmRzLTUyLjM3MjMsOS43MzU0ZGQCIw9kFgICAQ8PFgQfAQW7BzxsaT48YSBocmVmPSJodHRwOi8vd3d3Lmdlb2NhY2hpbmcuY29tL21hcC9kZWZhdWx0LmFzcHg/bGF0PTUyLjM3MjI1JmxuZz05LjczNTM3IiB0YXJnZXQ9Il9ibGFuayI+R2VvY2FjaGluZy5jb20gTWFwPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9tYXBzLmdvb2dsZS5jb20vbWFwcz9xPU4rNTIlYzIlYjArMjIuMzM1K0UrMDA5JWMyJWIwKzQ0LjEyMisoR0MySlZFSCkrIiB0YXJnZXQ9Il9ibGFuayI+R29vZ2xlIE1hcHM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy5tYXBxdWVzdC5jb20vbWFwcy9tYXAuYWRwP3NlYXJjaHR5cGU9YWRkcmVzcyZmb3JtdHlwZT1sYXRsb25nJmxhdGxvbmd0eXBlPWRlY2ltYWwmbGF0aXR1ZGU9NTIuMzcyMjUmbG9uZ2l0dWRlPTkuNzM1Mzcmem9vbT0xMCIgdGFyZ2V0PSJfYmxhbmsiPk1hcFF1ZXN0PC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9tYXBzLnlhaG9vLmNvbS8jbGF0PTUyLjM3MjI1Jmxvbj05LjczNTM3Jnpvb209MTYmcT01Mi4zNzIyNSw5LjczNTM3JmNvbmY9MSZzdGFydD0xJm12dD1tJnRyZj0wIiB0YXJnZXQ9Il9ibGFuayI+WWFob28gTWFwczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LmJpbmcuY29tL21hcHMvZGVmYXVsdC5hc3B4P3Y9MiZsdmw9MTQmc3A9cG9pbnQuNTIuMzcyMjVfOS43MzUzN19HQzJKVkVIIiB0YXJnZXQ9Il9ibGFuayI+QmluZyBNYXBzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cub3BlbmN5Y2xlbWFwLm9yZy8/em9vbT0xMiZsYXQ9NTIuMzcyMjUmbG9uPTkuNzM1MzciIHRhcmdldD0iX2JsYW5rIj5PcGVuIEN5Y2xlIE1hcHM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy5vcGVuc3RyZWV0bWFwLm9yZy8/bWxhdD01Mi4zNzIyNSZtbG9uPTkuNzM1Mzcmem9vbT0xMiIgdGFyZ2V0PSJfYmxhbmsiPk9wZW4gU3RyZWV0IE1hcHM8L2E+PC9saT4fA2dkZAInD2QWBgIBDxYCHwEFETExMSBMb2dnZWQgVmlzaXRzZAIHDw8WAh8FBUN+L3NlZWsvY2FjaGVfbG9nYm9vay5hc3B4P2d1aWQ9MDcyNzBlOGMtNzJlYy00ODIxLThjYjctYjAxNDgzZjk0Y2I1ZGQCCQ8PFgQfBQU9fi9zZWVrL2dhbGxlcnkuYXNweD9ndWlkPTA3MjcwZThjLTcyZWMtNDgyMS04Y2I3LWIwMTQ4M2Y5NGNiNR8BBSJWaWV3IHRoZSBJbWFnZSBHYWxsZXJ5IG9mIDQgaW1hZ2VzZGQCKg8WAh8BBQR0cnVlZAIrDxYCHwEFSmxhdD01Mi4zNzIyNTsgbG5nPTkuNzM1MzY3OyBndWlkPScwNzI3MGU4Yy03MmVjLTQ4MjEtOGNiNy1iMDE0ODNmOTRjYjUnOw0KZAIsDxYCHwEFcXRyeSB7IF9nYXEucHVzaChbJ190cmFja0V2ZW50JywgJ0dlb2NhY2hpbmcnLCAnQ2FjaGVEZXRhaWxzTWVtYmVyVHlwZScsICdQcmVtaXVtJywgbnVsbCwgdHJ1ZV0pOyB9IGNhdGNoKGVycikgeyB9ZAIwDxYCHwNoZAIxD2QWBAIDDxYCHwEFB0VuZ2xpc2hkAgUPFgIfBgIQFiBmD2QWAgIBDw8WCB8HBQVlbi1VUx8IBQ1TZXRUZW1wTG9jYWxlHwEFB0VuZ2xpc2gfCWhkZAIBD2QWAgIBDw8WCB8HBQVkZS1ERR8IBQ1TZXRUZW1w" />
+<input type="hidden" name="__VIEWSTATE2" id="__VIEWSTATE2" value="TG9jYWxlHwEFB0RldXRzY2gfCWhkZAICD2QWAgIBDw8WCB8HBQVmci1GUh8IBQ1TZXRUZW1wTG9jYWxlHwEFCUZyYW7Dp2Fpcx8JaGRkAgMPZBYCAgEPDxYIHwcFBXB0LVBUHwgFDVNldFRlbXBMb2NhbGUfAQUKUG9ydHVndcOqcx8JaGRkAgQPZBYCAgEPDxYIHwcFBWNzLUNaHwgFDVNldFRlbXBMb2NhbGUfAQUJxIxlxaF0aW5hHwloZGQCBQ9kFgICAQ8PFggfBwUFc3YtU0UfCAUNU2V0VGVtcExvY2FsZR8BBQdTdmVuc2thHwloZGQCBg9kFgICAQ8PFggfBwUFZXMtRVMfCAUNU2V0VGVtcExvY2FsZR8BBQhFc3Bhw7FvbB8JaGRkAgcPZBYCAgEPDxYIHwcFBWl0LUlUHwgFDVNldFRlbXBMb2NhbGUfAQUISXRhbGlhbm8fCWhkZAIID2QWAgIBDw8WCB8HBQVubC1OTB8IBQ1TZXRUZW1wTG9jYWxlHwEFCk5lZGVybGFuZHMfCWhkZAIJD2QWAgIBDw8WCB8HBQVjYS1FUx8IBQ1TZXRUZW1wTG9jYWxlHwEFB0NhdGFsw6AfCWhkZAIKD2QWAgIBDw8WCB8HBQVwbC1QTB8IBQ1TZXRUZW1wTG9jYWxlHwEFBlBvbHNraR8JaGRkAgsPZBYCAgEPDxYIHwcFBWV0LUVFHwgFDVNldFRlbXBMb2NhbGUfAQUFRWVzdGkfCWhkZAIMD2QWAgIBDw8WCB8HBQVuYi1OTx8IBQ1TZXRUZW1wTG9jYWxlHwEFDk5vcnNrLCBCb2ttw6VsHwloZGQCDQ9kFgICAQ8PFggfBwUFa28tS1IfCAUNU2V0VGVtcExvY2FsZR8BBQntlZzqta3slrQfCWhkZAIOD2QWAgIBDw8WCB8HBQVodS1IVR8IBQ1TZXRUZW1wTG9jYWxlHwEFBk1hZ3lhch8JaGRkAg8PZBYCAgEPDxYIHwcFBXJvLVJPHwgFDVNldFRlbXBMb2NhbGUfAQUIUm9tw6JuxIMfCWhkZAIDDxYCHwEFK1NlcnZlcjogV0VCMTM7IEJ1aWxkOiBXZWIuSG90Rml4XzIwMTIxMjExLjFkZPzd/DrK8v/INy+Lyi1NcclupBKS" />
</div>
<script type="text/javascript">
@@ -266,13 +267,13 @@ function __doPostBack(eventTarget, eventArgument) { </script>
-<script src="/WebResource.axd?d=Dh2VENdI9XyWNN0f7DnYfR8WWRCRIzdVqal2y0yjiQ5nC_eHhLchYgnQDHIk0d3RCcSUMVZ36ciRD0qmhXKmeu3S_RE1&t=634320874095713794" type="text/javascript"></script>
+<script src="/WebResource.axd?d=Dh2VENdI9XyWNN0f7DnYfR8WWRCRIzdVqal2y0yjiQ5nC_eHhLchYgnQDHIk0d3RCcSUMVZ36ciRD0qmhXKmeu3S_RE1&t=634811478295920770" type="text/javascript"></script>
-<script src="/ScriptResource.axd?d=I9_m2Hb1Tv_B0qTMDG8bMbnkNSHUkv5oUaG9-V5NZ8qQ2VFlu60I8y8gfr3vPmZjbiPnu43MOQdFVDeYF-nDAEKBLmyxD3DCTGmes9NNbbvaDEHyEuuRWgccIkK3ik5TI48YGDxjHjqdn-gTK4Fkgd17LGw1&t=2610f696" type="text/javascript"></script>
-<script src="/ScriptResource.axd?d=8vNbe34dAujgZMPnfnacfjeoweX1vHgyns8KlAV4vpGpsZC9Cf3pro__lv8ekBa0NiCgXGMMolzOUNH__lrnEI_qjlNBIAuuLeemtAXV_i6E0QIMZa8nGSYmWGF5nQOJK3rmZzvTxsr2Mh4Ebdba_1ywGLUSH_U_XIe-jzecfRQwwvjZ0&t=2610f696" type="text/javascript"></script>
-<script src="/ScriptResource.axd?d=xn_XthUDTB7olgcUtLPfBc6T8T6KQJeWQqX-S5SXQszTnUMfMoY-_5LGD_TTtk-ziPIcDt2u4ItIrMD8KSt1gxC4geqllJ30o1Wha1PY6q9Bu3kg0D9DC5M-XAaM-2yLG-E2ZJbNKvASegbH_2zGkDlJRJl9DxQFNJ0KuhdfR8Zre1hg4i3ncHbDUESrAb2Vzr2b9FqYpbFfGpAis__FnVeUutU1" type="text/javascript"></script>
-<script src="/ScriptResource.axd?d=5CyDhZ1QrMZSVcCqxKlXl3yO1U7ML8hppu9nneB8d06m0ASEsmoWvx8yKVZxdQgA6Uo4BZLAdyt7SUoqd9jZFjVos_CF_mGR4G3Vtsbub3PzOc5-yRg5gRLwSoDbah4m09wBVM5_FhjR68q6UT-yfhoG47eb2gPVrNdEdcHlcN0Xe7_BEJvnAvNgAXuVnpnmU3tN5c1Er5rvLNMh7i34YE2E4sPCUD9Ymg8ddmvCFrZMS7ISxiJyRxd_fs-4EPZ9G3SeBu8bcZ-PWCec7GCjObIbCPX5wPdL8s227n_qIOldojTRHFwCHOYTIOiBIneKedRKFqL10yu1HnvXprBGzr7bc17tnQQRYC-AtjxcPiQA6bdUp5qT-RMnXFIOeUBC5qDcx-nLVDRluEoGUo6_BcPatJleyDBr-Huz1EcedROE0pdAIGGY_JsTOni7hgsv3UaV8rhgvWDyyiqQ_QlQl1ScW3eV6CCKLxmU7_cnPlPI65v7_rAaVytJdSInQa9MemNiPirJGMaeTxcBcDVz3pWhNt2iuRrSuMjUMx1-TNPtnWZefOnrOKJX_Kg1CCdsQPZLcWgi3UXmjXd5kZ9XcHS92KR7GguI2SaRtb0_fx_Dd84Z6U852-sYEbr4wAyIoyqEuIw69TeTBbs1m6YwuUQeqNV3t0m8U95phK7TB5-P_c4N1JDsYMnb_dqb5b69_Rw1c-GM7xQB6MBu2jZ61mL9ZD9XiP5kdzqXHxoWZHWYG1ZG0" type="text/javascript"></script>
+<script src="/ScriptResource.axd?d=I9_m2Hb1Tv_B0qTMDG8bMbnkNSHUkv5oUaG9-V5NZ8qQ2VFlu60I8y8gfr3vPmZjbiPnu43MOQdFVDeYF-nDAEKBLmyxD3DCTGmes9NNbbvaDEHyEuuRWgccIkK3ik5TI48YGDxjHjqdn-gTK4Fkgd17LGw1&t=ffffffff940d030f" type="text/javascript"></script>
+<script src="/ScriptResource.axd?d=8vNbe34dAujgZMPnfnacfjeoweX1vHgyns8KlAV4vpGpsZC9Cf3pro__lv8ekBa0NiCgXGMMolzOUNH__lrnEI_qjlNBIAuuLeemtAXV_i6E0QIMZa8nGSYmWGF5nQOJK3rmZzvTxsr2Mh4Ebdba_1ywGLUSH_U_XIe-jzecfRQwwvjZ0&t=ffffffff940d030f" type="text/javascript"></script>
+<script src="/ScriptResource.axd?d=dR_fP-aTT-wJ0h4Kl4BIDCBBDS-bsINyUUisfmt6XGhnkXEezB-GAbsBSOjJBs1PwGfeyGYXrsKI5rjvB656mhG30LHrKxvfU-2NYKCxpxLK0hYG6ooF1pG6oP8oLMWhVpQbIt_fjHjdLjWOPzpGJX_L3fbMlwJFqwL6A35_t9C7Di9McDsCNk6mmIsVaQLzPAUiwge5EtjIHV5WOKnwkv9lVWc1" type="text/javascript"></script>
+<script src="/ScriptResource.axd?d=ZLUp71IFurmo9PJWgt4KAyNwGuWylI6HaHusH9-0d05t7twYSBEKMKX5_7TMGQzUCY_cVE4E_mIBGBVWK2hhG209IpahhwLh8LiuTU30A-9gRQTiOrfU5Z2Dj991D4w0ZC35T2e0uH60Acn9z2PmsDsj43jy9GAkjAnqhXbU3TqMChAch7_0XPqAV7ynsautHOiDQ4aCQugVDrwCSIZ8coHOoGbkoQNR9n7LtpFbsAojS0iyOe9gm3sTA5tarc1ThNXlQ0H7hGm_jFX-cLw_kDrNHGqjjd14dpdBa9qm8m6XD9LApMcyqBho13lWg4A4gPB_mF_W09lnFEcRsLPg3nBh2XH0oUGLYLNpE_g9-3Jo-K7zrRXfRx4pUe3fT0NEn4mLIRkSMjcrbmCcS47HnmsR0Nelw4--RjJPoVlU24Z3Mnlv-INjeG9JqMPZmHLO2gjR-ZT0sE3rlx61xDQNUBHv8YqyIK68DLjFhwXvnyfUEcbhJloV3faPxk6n7lw8EyuQG7lyq6yxhZdyUWuFdVDQMzgIVWUOigzr2XWFncCg6SYMHUiosTIiKvTI7V-lrNWYjl2UvtMN62HS0Yp4SGgARywHU9yYcVi2Ss0xjMWuwvbLURhgqKeuHoF4b-VkWMSYzkw9DM3-Q2cEUdMNJuo1e2fJ_3EIRd84Ib4niw-BZlkZjLXt5asRBWS5Rsx4gFIvbI7RhdU3z9HQgj1nslM5MmawfRSjQGsJ1EZDFmmWOxlR0" type="text/javascript"></script>
<script src="js/cachedetails.js" type="text/javascript"></script>
<script src="../js/latlng.js" type="text/javascript"></script>
<script type="text/javascript">
@@ -326,7 +327,7 @@ Sys.WebForms.PageRequestManager._initialize('ctl00$uxMainScriptManager', 'aspnet <span id="ctl00_litPMLevel">Premium Member</span>
<strong style="display:block">
- <img src="/images/icons/icon_smile.png" title="Caches Found" /> 692 <img src="/images/challenges/types/sm/challenge.png" title="Challenges Completed" /> 3</strong>
+ 725 Caches Found</strong>
</p>
@@ -335,122 +336,196 @@ Sys.WebForms.PageRequestManager._initialize('ctl00$uxMainScriptManager', 'aspnet </div>
- <nav id="Navigation" class="span-24 last">
-
- <ul class="Menu">
- <li>
- <a id="ctl00_hlNavLearn" accesskey="1" title="Learn" href="../guide/">Learn ▼</a>
- <ul class="SubMenu">
- <li>
- <a id="ctl00_hlSubNavGeocaching101" accesskey="i" title="Geocaching 101" href="../guide/">Geocaching 101</a></li>
- <li>
- <a id="ctl00_hlSubNavGeocaching2Minutes" title="Geocaching in 2 Minutes" href="../videos/#cat=cat:newbies&vid=-4VFeYZTTYs">Geocaching in 2 Minutes</a></li>
- </ul>
- </li>
+ <div class="NavContainer span-24 last">
+ <nav id="Navigation">
- <li id="ctl00_liNavProfile">
- <a id="ctl00_hlNavProfile" accesskey="2" title="Your Profile" href="../my/">Your Profile ▼</a>
- <ul class="SubMenu">
- <li>
- <a id="ctl00_hlSubNavQuickView" accesskey="p" title="Quick View" href="../my/">Quick View</a></li>
- <li>
- <a id="ctl00_hlSubNavLists" accesskey="q" title="Lists" href="../my/lists.aspx">Lists</a></li>
- <li class="ExtraText">
- <a id="ctl00_hlSubNavGeocaches" accesskey="m" title="Geocaches" class="NoRightPadding" href="../my/geocaches.aspx">Geocaches</a>
- (<a id="ctl00_hlSubNavGeocachesYours" accesskey="y" title="Yours" class="NoSidePadding" href="../my/owned.aspx">Yours</a>)</li>
- <li class="ExtraText">
- <a id="ctl00_hlSubNavProfileTrackables" title="Trackables" class="NoRightPadding" href="../my/travelbugs.aspx">Trackables</a>
- (<a id="ctl00_hlSubNavTrackablesYours" accesskey="8" title="Yours" class="NoSidePadding" href="../track/search.aspx?o=1&uid=0564a940-8311-40ee-8e76-7e91b2cf6284">Yours</a>)</li>
- <li>
- <a id="ctl00_hlSubNavPocketQueries" accesskey="9" title="Pocket Queries" href="../pocket/">Pocket Queries</a></li>
- <li>
- <a id="ctl00_hlSubNavFieldNotes" accesskey="0" title="Field Notes" href="../my/fieldnotes.aspx">Field Notes</a></li>
- <li>
- <a id="ctl00_hlSubNavProfileChallenges" title="Challenges" href="../my/challenges.aspx">Challenges</a></li>
- <li>
- <a id="ctl00_hlSubNavAccount" accesskey="a" title="Account Details" href="../account/">Account Details</a></li>
- </ul>
- </li>
- <li>
- <a id="ctl00_hlNavPlay" accesskey="3" title="Play" href="./">Play ▼</a>
- <ul class="SubMenu">
- <li>
- <a id="ctl00_hlSubNavHide" accesskey="d" title="Hide & Seek a Cache" href="./">Hide & Seek a Cache</a></li>
- <li>
- <a id="ctl00_hlSubNavLogCache" title="Log a Cache" href="../my/recentlyviewedcaches.aspx">Log a Cache</a></li>
- <li><a id="ctl00_hlSubNavMap" accesskey="/" title="View Geocache Map" href="../map/">View Geocache Map</a></li>
- <li>
- <a id="ctl00_hlSubNavChallenges" title="Find Challenges" href="../challenges/">Find Challenges</a></li>
- <li>
- <a id="ctl00_hlSubNavTrackables" accesskey="e" title="Find Trackables" href="../track/">Find Trackables</a></li>
- <li>
- <a id="ctl00_hlSubNavHelpCenter" title="Help Center" rel="external" href="http://support.groundspeak.com/index.php">Help Center</a></li>
- </ul>
- </li>
- <li>
- <a id="ctl00_hlNavCommunity" accesskey="6" title="Community" href="../forums/">Community ▼</a>
- <ul class="SubMenu">
-
- <li>
- <a id="ctl00_hlSubNavTellaFriend" accesskey="-" title="Tell a Friend" href="../account/SendReferral.aspx">Tell a Friend</a></li>
-
- <li><a id="ctl00_hlSubNavVolunteers" accesskey="+" title="Volunteers" href="../volunteers/">Volunteers</a></li>
- <li>
- <a id="ctl00_hlSubNavLocal" accesskey="z" title="Local Organizations" href="../organizations/">Local Organizations</a></li>
- <li>
- <a id="ctl00_hlSubNavDiscussionForums" accesskey="f" title="Discussion Forums" href="../forums/">Discussion Forums</a></li>
- <li>
- <a id="ctl00_hlSubNavBlog" accesskey="b" title="Blog" rel="external" href="http://blog.geocaching.com/">Blog</a></li>
- <li>
- <a id="ctl00_hlSubNavEvents" accesskey="v" title="Events" href="../calendar/">Events</a></li>
- </ul>
- </li>
- <li>
- <a id="ctl00_hlNavShop" accesskey="4" title="Shop" href="http://shop.geocaching.com/">Shop ▼</a>
- <ul class="SubMenu">
- <li>
- <a id="ctl00_hlSubNavShop" accesskey="j" title="Shop Geocaching" rel="external" href="http://shop.geocaching.com/">Shop Geocaching</a></li>
- <li>
- <a id="ctl00_hlSubNavIntlRetailers" title="International Retailers" rel="external" href="http://shop.geocaching.com/default/international-retailers/">International Retailers</a></li>
- <li>
- <a id="ctl00_hlSubNavGPSReviews" accesskey="w" title="GPS Reviews" href="/reviews/gps">GPS Reviews</a></li>
- <li>
- <a id="ctl00_hlSubNavGPSGuide" accesskey="k" title="Guide to Buying a GPS Device" href="../about/buying.aspx">Guide to Buying a GPS Device</a></li>
- </ul>
- </li>
- <li>
- <a id="ctl00_hlNavPartnering" accesskey="5" title="Partnering" href="../travel/">Partnering ▼</a>
- <ul class="SubMenu">
- <li>
- <a id="ctl00_hlSubNavTravel" title="Travel and GeoTourism" href="../travel/">Travel and GeoTourism</a></li>
- <li>
- <a id="ctl00_hlSubNavBrandedPromotions" title="Branded Promotions" href="../brandedpromotions/">Branded Promotions</a></li>
- <li>
- <a id="ctl00_hlSubNavEducation" title="Geocaching and Education" href="../education/">Geocaching and Education</a></li>
- <li>
- <a id="ctl00_hlSubNavAdvertisingWithUs" title="Advertising with Us" href="../about/advertising.aspx">Advertising with Us</a></li>
- <li>
- <a id="ctl00_hlSubNavAPIProgram" title="API Program" href="../live/apidevelopers/">API Program</a></li>
- </ul>
- </li>
- <li>
- <a id="ctl00_hlNavVideos" accesskey="7" title="Videos" href="../videos/">Videos</a></li>
- <li>
- <a id="ctl00_hlNavFollowUs" title="Follow Us" href="http://www.facebook.com/pages/Geocachingcom/45625464679?ref=ts">Follow Us ▼</a>
- <ul class="SubMenu NavSocialMedia">
- <li>
- <a id="ctl00_hlSubNavFacebook" title="Facebook" class="SubNavFacebook" href="http://www.facebook.com/pages/Geocachingcom/45625464679?ref=ts">Facebook</a></li>
- <li>
- <a id="ctl00_hlSubNavTwitter" title="Twitter" class="SubNavTwitter" href="http://twitter.com/GoGeocaching">Twitter</a></li>
- <li>
- <a id="ctl00_hlSubNavFlickr" title="Flickr" class="SubNavFlickr" href="http://www.flickr.com/photos/geocaching_com/">Flickr</a></li>
- <li>
- <a id="ctl00_hlSubNavYouTube" title="YouTube" class="SubNavYouTube" href="http://www.youtube.com/user/GoGeocaching">YouTube</a></li>
- </ul>
- </li>
- </ul>
-
- </nav>
+ <ul class="Menu">
+ <li>
+ <a id="ctl00_hlNavLearn" accesskey="1" title="Learn" href="../guide/">Learn ▼</a>
+ <ul class="SubMenu">
+ <li>
+ <a id="ctl00_hlSubNavGeocaching101" accesskey="i" title="Geocaching 101" href="../guide/">Geocaching 101</a></li>
+ <li>
+ <a id="ctl00_hlSubNavGeocaching2Minutes" title="Geocaching in 2 Minutes" href="../videos/#cat=cat:newbies&vid=-4VFeYZTTYs">Geocaching in 2 Minutes</a></li>
+ </ul>
+ </li>
+
+ <li id="ctl00_liNavProfile">
+ <a id="ctl00_hlNavProfile" accesskey="2" title="Your Profile" href="../my/">Your Profile ▼</a>
+ <ul class="SubMenu">
+ <li>
+ <a id="ctl00_hlSubNavQuickView" accesskey="p" title="Quick View" href="../my/">Quick View</a></li>
+ <li>
+ <a id="ctl00_hlSubNavLists" accesskey="q" title="Lists" href="../my/lists.aspx">Lists</a></li>
+ <li class="ExtraText">
+ <a id="ctl00_hlSubNavGeocaches" accesskey="m" title="Geocaches" class="NoRightPadding" href="../my/geocaches.aspx">Geocaches</a>
+ (<a id="ctl00_hlSubNavGeocachesYours" accesskey="y" title="Yours" class="NoSidePadding" href="../my/owned.aspx">Yours</a>)</li>
+ <li class="ExtraText">
+ <a id="ctl00_hlSubNavProfileTrackables" title="Trackables" class="NoRightPadding" href="../my/travelbugs.aspx">Trackables</a>
+ (<a id="ctl00_hlSubNavTrackablesYours" accesskey="8" title="Yours" class="NoSidePadding" href="../track/search.aspx?o=1&uid=0564a940-8311-40ee-8e76-7e91b2cf6284">Yours</a>)</li>
+ <li>
+ <a id="ctl00_hlSubNavPocketQueries" accesskey="9" title="Pocket Queries" href="../pocket/">Pocket Queries</a></li>
+ <li>
+ <a id="ctl00_hlSubNavFieldNotes" accesskey="0" title="Field Notes" href="../my/fieldnotes.aspx">Field Notes</a></li>
+ <li>
+ <a id="ctl00_hlSubNavAccount" accesskey="a" title="Account Details" href="../account/">Account Details</a></li>
+ </ul>
+ </li>
+ <li>
+ <a id="ctl00_hlNavPlay" accesskey="3" title="Play" href="./">Play ▼</a>
+ <ul class="SubMenu">
+ <li>
+ <a id="ctl00_hlSubNavHide" accesskey="d" title="Hide & Seek a Cache" href="./">Hide & Seek a Cache</a></li>
+ <li>
+ <a id="ctl00_hlSubNavLogCache" title="Log a Cache" href="../my/recentlyviewedcaches.aspx">Log a Cache</a></li>
+ <li><a id="ctl00_hlSubNavMap" accesskey="/" title="View Geocache Map" href="../map/">View Geocache Map</a></li>
+ <li>
+ <a id="ctl00_hlSubNavTrackables" accesskey="e" title="Find Trackables" href="../track/">Find Trackables</a></li>
+ <li>
+ <a id="ctl00_hlSubNavHelpCenter" title="Help Center" rel="external" href="http://support.groundspeak.com/index.php">Help Center</a></li>
+ </ul>
+ </li>
+ <li>
+ <a id="ctl00_hlNavCommunity" accesskey="6" title="Community" href="../forums/">Community ▼</a>
+ <ul class="SubMenu">
+
+ <li>
+ <a id="ctl00_hlSubNavTellaFriend" accesskey="-" title="Tell a Friend" href="../account/SendReferral.aspx">Tell a Friend</a></li>
+
+ <li><a id="ctl00_hlSubNavVolunteers" accesskey="+" title="Volunteers" href="../volunteers/">Volunteers</a></li>
+ <li>
+ <a id="ctl00_hlSubNavLocal" accesskey="z" title="Local Organizations" href="../organizations/">Local Organizations</a></li>
+ <li>
+ <a id="ctl00_hlSubNavDiscussionForums" accesskey="f" title="Discussion Forums" href="../forums/">Discussion Forums</a></li>
+ <li>
+ <a id="ctl00_hlSubNavBlog" accesskey="b" title="Blog" rel="external" href="http://blog.geocaching.com/">Blog</a></li>
+ <li>
+ <a id="ctl00_hlSubNavEvents" accesskey="v" title="Events" href="../calendar/">Events</a></li>
+ </ul>
+ </li>
+ <li>
+ <a id="ctl00_hlNavShop" accesskey="4" title="Shop" href="http://shop.geocaching.com/">Shop ▼</a>
+ <ul class="SubMenu">
+ <li>
+ <a id="ctl00_hlSubNavShop" accesskey="j" title="Shop Geocaching" rel="external" href="http://shop.geocaching.com/">Shop Geocaching</a></li>
+ <li>
+ <a id="ctl00_hlSubNavIntlRetailers" title="International Retailers" rel="external" href="http://shop.geocaching.com/default/international-retailers/">International Retailers</a></li>
+ <li>
+ <a id="ctl00_hlSubNavGPSReviews" accesskey="w" title="GPS Reviews" href="/reviews/gps">GPS Reviews</a></li>
+ <li>
+ <a id="ctl00_hlSubNavGPSGuide" accesskey="k" title="Guide to Buying a GPS Device" href="../about/buying.aspx">Guide to Buying a GPS Device</a></li>
+ </ul>
+ </li>
+ <li>
+ <a id="ctl00_hlNavPartnering" accesskey="5" title="Partnering" href="../travel/">Partnering ▼</a>
+ <ul class="SubMenu">
+ <li>
+ <a id="ctl00_hlSubNavTravel" title="Travel and GeoTourism" href="../travel/">Travel and GeoTourism</a></li>
+ <li>
+ <a id="ctl00_hlSubNavBrandedPromotions" title="Branded Promotions" href="../brandedpromotions/">Branded Promotions</a></li>
+ <li>
+ <a id="ctl00_hlSubNavEducation" title="Geocaching and Education" href="../education/">Geocaching and Education</a></li>
+ <li>
+ <a id="ctl00_hlSubNavAdvertisingWithUs" title="Advertising with Us" href="../about/advertising.aspx">Advertising with Us</a></li>
+ <li>
+ <a id="ctl00_hlSubNavAPIProgram" title="API Program" href="../live/apidevelopers/">API Program</a></li>
+ </ul>
+ </li>
+ <li>
+ <a id="ctl00_hlNavVideos" accesskey="7" title="Videos" href="../videos/">Videos</a></li>
+ <li>
+ <a id="ctl00_hlNavFollowUs" title="Follow Us" href="http://www.facebook.com/pages/Geocachingcom/45625464679?ref=ts">Follow Us ▼</a>
+ <ul class="SubMenu NavSocialMedia">
+ <li>
+ <a id="ctl00_hlSubNavFacebook" title="Facebook" class="SubNavFacebook" href="http://www.facebook.com/pages/Geocachingcom/45625464679?ref=ts">Facebook</a></li>
+ <li>
+ <a id="ctl00_hlSubNavTwitter" title="Twitter" class="SubNavTwitter" href="http://twitter.com/GoGeocaching">Twitter</a></li>
+ <li>
+ <a id="ctl00_hlSubNavFlickr" title="Flickr" class="SubNavFlickr" href="http://www.flickr.com/photos/geocaching_com/">Flickr</a></li>
+ <li>
+ <a id="ctl00_hlSubNavYouTube" title="YouTube" class="SubNavYouTube" href="http://www.youtube.com/user/GoGeocaching">YouTube</a></li>
+ </ul>
+ </li>
+ </ul>
+
+ </nav>
+ <div class="LanguageSelector">
+
+
+<div class="LocaleText">
+
+ <strong>Choose Your Language:</strong>
+
+</div>
+<div class="LocaleList">
+
+ <div class="selected-language">
+
+ <a href="#">English▼</a>
+
+ </div>
+ <ul class="language-list">
+
+ <li><a id="ctl00_uxLocaleListTop_uxLocaleList_ctl00_uxLocaleItem" href="javascript:__doPostBack('ctl00$uxLocaleListTop$uxLocaleList$ctl00$uxLocaleItem','')">English</a></li>
+
+ <li><a id="ctl00_uxLocaleListTop_uxLocaleList_ctl01_uxLocaleItem" href="javascript:__doPostBack('ctl00$uxLocaleListTop$uxLocaleList$ctl01$uxLocaleItem','')">Deutsch</a></li>
+
+ <li><a id="ctl00_uxLocaleListTop_uxLocaleList_ctl02_uxLocaleItem" href="javascript:__doPostBack('ctl00$uxLocaleListTop$uxLocaleList$ctl02$uxLocaleItem','')">Français</a></li>
+
+ <li><a id="ctl00_uxLocaleListTop_uxLocaleList_ctl03_uxLocaleItem" href="javascript:__doPostBack('ctl00$uxLocaleListTop$uxLocaleList$ctl03$uxLocaleItem','')">Português</a></li>
+
+ <li><a id="ctl00_uxLocaleListTop_uxLocaleList_ctl04_uxLocaleItem" href="javascript:__doPostBack('ctl00$uxLocaleListTop$uxLocaleList$ctl04$uxLocaleItem','')">Čeština</a></li>
+
+ <li><a id="ctl00_uxLocaleListTop_uxLocaleList_ctl05_uxLocaleItem" href="javascript:__doPostBack('ctl00$uxLocaleListTop$uxLocaleList$ctl05$uxLocaleItem','')">Svenska</a></li>
+
+ <li><a id="ctl00_uxLocaleListTop_uxLocaleList_ctl06_uxLocaleItem" href="javascript:__doPostBack('ctl00$uxLocaleListTop$uxLocaleList$ctl06$uxLocaleItem','')">Español</a></li>
+
+ <li><a id="ctl00_uxLocaleListTop_uxLocaleList_ctl07_uxLocaleItem" href="javascript:__doPostBack('ctl00$uxLocaleListTop$uxLocaleList$ctl07$uxLocaleItem','')">Italiano</a></li>
+
+ <li><a id="ctl00_uxLocaleListTop_uxLocaleList_ctl08_uxLocaleItem" href="javascript:__doPostBack('ctl00$uxLocaleListTop$uxLocaleList$ctl08$uxLocaleItem','')">Nederlands</a></li>
+
+ <li><a id="ctl00_uxLocaleListTop_uxLocaleList_ctl09_uxLocaleItem" href="javascript:__doPostBack('ctl00$uxLocaleListTop$uxLocaleList$ctl09$uxLocaleItem','')">Català</a></li>
+
+ <li><a id="ctl00_uxLocaleListTop_uxLocaleList_ctl10_uxLocaleItem" href="javascript:__doPostBack('ctl00$uxLocaleListTop$uxLocaleList$ctl10$uxLocaleItem','')">Polski</a></li>
+
+ <li><a id="ctl00_uxLocaleListTop_uxLocaleList_ctl11_uxLocaleItem" href="javascript:__doPostBack('ctl00$uxLocaleListTop$uxLocaleList$ctl11$uxLocaleItem','')">Eesti</a></li>
+
+ <li><a id="ctl00_uxLocaleListTop_uxLocaleList_ctl12_uxLocaleItem" href="javascript:__doPostBack('ctl00$uxLocaleListTop$uxLocaleList$ctl12$uxLocaleItem','')">Norsk, Bokmål</a></li>
+
+ <li><a id="ctl00_uxLocaleListTop_uxLocaleList_ctl13_uxLocaleItem" href="javascript:__doPostBack('ctl00$uxLocaleListTop$uxLocaleList$ctl13$uxLocaleItem','')">한국어</a></li>
+
+ <li><a id="ctl00_uxLocaleListTop_uxLocaleList_ctl14_uxLocaleItem" href="javascript:__doPostBack('ctl00$uxLocaleListTop$uxLocaleList$ctl14$uxLocaleItem','')">Magyar</a></li>
+
+ <li><a id="ctl00_uxLocaleListTop_uxLocaleList_ctl15_uxLocaleItem" href="javascript:__doPostBack('ctl00$uxLocaleListTop$uxLocaleList$ctl15$uxLocaleItem','')">Română</a></li>
+
+ </ul>
+
+</div>
+<script type="text/javascript">
+
+ jQuery(document).ready(function () {
+ jQuery(".selected-language a").click(function (e) {
+ e.preventDefault();
+ var $loc = jQuery(this).parent().next();
+ jQuery($loc).show().position({
+ of: $loc.parent(),
+ my: "left top",
+ at: "left bottom",
+ offset: "0 0",
+ collision: "fit fit"
+ });
+ jQuery(this).addClass("Expanded");
+ jQuery(document).click(function () {
+ jQuery(".language-list").fadeOut("fast");
+ jQuery(".selected-language a").removeClass("Expanded");
+ });
+ return false;
+ });
+ });
+</script>
+ </div>
+ </div>
+
</div>
@@ -486,8 +561,8 @@ Sys.WebForms.PageRequestManager._initialize('ctl00$uxMainScriptManager', 'aspnet </div>
<div id="dlgClipboard">
<input type="text" class="TextFormat" />
- <a href="#" onclick="$('#dlgClipboard').hide();return false;">
- <img src="/images/stockholm/mini/close.gif" alt="Close" title="Close" /></a>
+ <a href="#" onclick="$('#dlgClipboard').hide();return false;" title="Close" class="Close">
+ x</a>
</div>
<script type="text/javascript">
$("a.CoordInfoLink").click(function (e) {
@@ -570,7 +645,7 @@ Sys.WebForms.PageRequestManager._initialize('ctl00$uxMainScriptManager', 'aspnet <a id="uxFavContainerLink" href="javascript:void(0);">
<div class="favorite-container">
<span class="favorite-value">
- 51</span><br />
+ 52</span><br />
Favorites
<img id="imgFavoriteArrow" src="/images/arrow-down.png" alt="Expand" title="Expand" />
</div>
@@ -584,11 +659,11 @@ Sys.WebForms.PageRequestManager._initialize('ctl00$uxMainScriptManager', 'aspnet </dl>
<dl class="bottom">
<dt>
- <img src="/images/silk/group_go.png" alt="View Who Favorited this Cache" title="View Who Favorited this Cache" /></dt>
+ <img src="/images/icons/16/view_user.png" alt="View Who Favorited this Cache" title="View Who Favorited this Cache" /></dt>
<dd>
<a id="hlViewWhoFavorited" title="View Who Favorited this Cache" href="/seek/cache_favorited.aspx?guid=07270e8c-72ec-4821-8cb7-b01483f94cb5">View Who Favorited this Cache</a></dd>
<dt>
- <img src="/images/silk/help.png" alt="About Favorites" title="About Favorites" /></dt>
+ <img src="/images/icons/16/help.png" alt="About Favorites" title="About Favorites" /></dt>
<dd>
<a id="hlAboutFavorites" title="About Favorites" href="http://support.groundspeak.com/index.php?pg=kb.page&id=287" target="_blank">About Favorites</a>
</dd>
@@ -633,14 +708,14 @@ Sys.WebForms.PageRequestManager._initialize('ctl00$uxMainScriptManager', 'aspnet <br />
<small>
<a id="ctl00_ContentBody_lnkPrintFriendly" class="lnk" href="cdpf.aspx?guid=07270e8c-72ec-4821-8cb7-b01483f94cb5" target="_blank">
- <img src="/images/silk/printer.png" alt="Print" title="Print" width="16" height="16" /> <span>
+ <img src="/images/icons/16/print.png" alt="Print" title="Print" width="16" height="16" /> <span>
No Logs
</span>
</a>
<a id="ctl00_ContentBody_lnkPrintFriendly5Logs" href="cdpf.aspx?guid=07270e8c-72ec-4821-8cb7-b01483f94cb5&lc=5" target="_blank">5 Logs</a>
<a id="ctl00_ContentBody_lnkPrintFriendly10Logs" href="cdpf.aspx?guid=07270e8c-72ec-4821-8cb7-b01483f94cb5&lc=10" target="_blank">10 Logs</a> ·
<a id="ctl00_ContentBody_lnkPrintDirectionsSimple" class="lnk" href="http://maps.google.com/maps?f=d&hl=en&saddr=52.4162,9.594117 (Home Location)&daddr=52.37225,9.735367(Auf+den+Spuren+des+Indianer+Jones+Teil+1)" target="_blank">
- <img src="/images/silk/car.png" alt="Driving Directions" title="Driving Directions" width="16" height="16" /> <span>
+ <img src="/images/icons/16/directions.png" alt="Driving Directions" title="Driving Directions" width="16" height="16" /> <span>
Driving Directions
</span>
</a></small></p>
@@ -684,7 +759,7 @@ Sys.WebForms.PageRequestManager._initialize('ctl00$uxMainScriptManager', 'aspnet <legend class="note">
Personal Cache Note
</legend>
- <img src="/images/silk/help.png" id="pcn_help" class="CacheNoteHelpImg" />
+ <img src="/images/icons/16/help.png" id="pcn_help" class="CacheNoteHelpImg" />
<p id="cache_note" class="NoBottomSpacing">
Seelig sind die Barmherzigen, denn sie werden Barmherzigkeit erlangen Gartenfriedhof</p>
</fieldset>
@@ -728,17 +803,15 @@ Sys.WebForms.PageRequestManager._initialize('ctl00$uxMainScriptManager', 'aspnet <div class="CacheDetailNavigationWidget NoPrint">
<h3 class="WidgetHeader">
- <img id="ctl00_ContentBody_GeoNav2_uxHeaderImage" src="../images/stockholm/16x16/home.gif" alt="Navigation" style="border-width:0px;" />
Navigation
</h3>
<div class="WidgetBody">
<ul class="CacheDetailsNavLinks">
- <li><a href="/seek/log.aspx?ID=1997597" class="lnk"><img src="/images/stockholm/16x16/comment_add.gif" /> <span>Log your visit</span></a></li>
-<li><a href="/seek/gallery.aspx?guid=07270e8c-72ec-4821-8cb7-b01483f94cb5" class="lnk"><img src="/images/stockholm/16x16/photos.gif" /> <span>View Gallery</span></a></li>
-<li><a href="/my/watchlist.aspx?w=1997597" class="lnk"><img src="/images/stockholm/16x16/icon_watchlist.gif" /> <span>Watch Listing</span></a></li>
-<li><a href="/bookmarks/ignore.aspx?guid=07270e8c-72ec-4821-8cb7-b01483f94cb5&WptTypeID=8" class="lnk"><img src="/images/stockholm/16x16/cross.gif" /> <span>Ignore Listing</span></a></li>
-<li><a href="/bookmarks/mark.aspx?guid=07270e8c-72ec-4821-8cb7-b01483f94cb5&WptTypeID=8" class="lnk"><img src="/images/stockholm/16x16/book_open_mark.gif" /> <span>Bookmark Listing</span></a></li>
+ <li><a href="/seek/log.aspx?ID=1997597" class="lnk"><img src="/images/icons/16/write_log.png" /> <span>Log your visit</span></a></li>
+<li><a href="/my/watchlist.aspx?w=1997597" class="lnk"><img src="/images/icons/16/watch.png" /> <span>Watch Listing</span></a></li>
+<li><a href="/bookmarks/ignore.aspx?guid=07270e8c-72ec-4821-8cb7-b01483f94cb5&WptTypeID=8" class="lnk"><img src="/images/icons/16/ignore.png" /> <span>Ignore Listing</span></a></li>
+<li><a href="/bookmarks/mark.aspx?guid=07270e8c-72ec-4821-8cb7-b01483f94cb5&WptTypeID=8" class="lnk"><img src="/images/icons/16/bookmark_list.png" /> <span>Bookmark Listing</span></a></li>
</ul>
@@ -765,7 +838,7 @@ Sys.WebForms.PageRequestManager._initialize('ctl00$uxMainScriptManager', 'aspnet </div>
<p>
<span class="favorite-rank Clear">
- 13
+ 11
</span>
<a id="ctl00_ContentBody_hlFavoritePointsRemaining" href="/my/favorites.aspx">Favorite points remaining</a>
</p>
@@ -777,12 +850,12 @@ Sys.WebForms.PageRequestManager._initialize('ctl00$uxMainScriptManager', 'aspnet <p>
<a id="ctl00_ContentBody_hlFoundItLog" href="/seek/log.aspx?LUID=b8a06f0a-05e6-4dea-ab27-53a5f0026e51">
- <img src="/images/stockholm/16x16/check.gif" alt="Found It" title="Found It" />You logged this as Found on 30/06/2012.</a></p>
+ <img src="/images/icons/16/check.png" alt="Found It" title="Found It" />You logged this as Found on 30/06/2012.</a></p>
<div id="ctl00_ContentBody_pnlWatchedCount">
- <p>
- <img src="/images/icons/icon_watchlist.gif" alt="Watching" /> 13 user(s) watching this cache.</p>
+ <p class="WatchIcon">
+ 14 user(s) watching this cache.</p>
</div>
@@ -798,8 +871,6 @@ Sys.WebForms.PageRequestManager._initialize('ctl00$uxMainScriptManager', 'aspnet <div id="ctl00_ContentBody_detailWidget" class="CacheDetailNavigationWidget TopSpacing BottomSpacing">
<h3 class="WidgetHeader">
-
- <img src="/images/icon_Boardattention.gif" height="16" width="16" alt="Info" title="Info" />
Attributes</h3>
<div class="WidgetBody">
<img src="/images/attributes/winter-yes.gif" alt="available in winter" title="available in winter" width="30" height="30" /> <img src="/images/attributes/flashlight-yes.gif" alt="flashlight required" title="flashlight required" width="30" height="30" /> <img src="/images/attributes/stealth-yes.gif" alt="stealth required" title="stealth required" width="30" height="30" /> <img src="/images/attributes/parking-yes.gif" alt="parking available" title="parking available" width="30" height="30" /> <img src="/images/attributes/AbandonedBuilding-yes.gif" alt="in abandoned structure" title="in abandoned structure" width="30" height="30" /> <img src="/images/attributes/hike_med-yes.gif" alt="hike between 1km-10km" title="hike between 1km-10km" width="30" height="30" /> <img src="/images/attributes/rappelling-yes.gif" alt="climbing gear" title="climbing gear" width="30" height="30" /> <img src="/images/attributes/attribute-blank.gif" alt="blank" title="blank" width="30" height="30" /> <img src="/images/attributes/attribute-blank.gif" alt="blank" title="blank" width="30" height="30" /> <img src="/images/attributes/attribute-blank.gif" alt="blank" title="blank" width="30" height="30" /> <img src="/images/attributes/attribute-blank.gif" alt="blank" title="blank" width="30" height="30" /> <img src="/images/attributes/attribute-blank.gif" alt="blank" title="blank" width="30" height="30" /> <p class="NoBottomSpacing"><small><a href="/about/icons.aspx" title="What are Attributes?">What are Attributes?</a></small></p>
@@ -813,7 +884,7 @@ Sys.WebForms.PageRequestManager._initialize('ctl00$uxMainScriptManager', 'aspnet <div id="ctl00_ContentBody_divContentSide">
<p class="NoBottomSpacing">
- <span id="ctl00_ContentBody_ADModules_09"><iframe type="iframe" src="http://ads.groundspeak.com/a.aspx?ZoneID=9&Task=Get&SiteID=1&X='067ae241a08444b69e4b5a36d70dec0c'" width="120" height="240" Marginwidth="0" Marginheight="0" Hspace="0" Vspace="0" Frameborder="0" Scrolling="no" style="width:120px;Height:240px;"><a href="http://ads.groundspeak.com/a.aspx?ZoneID=9&Task=Click&;Mode=HTML&SiteID=1" target="_blank"><img src="http://ads.groundspeak.com/a.aspx?ZoneID=9&Task=Get&Mode=HTML&SiteID=1" width="120" height="240" border="0" alt="" /></a></iframe></span>
+ <span id="ctl00_ContentBody_ADModules_09"><iframe type="iframe" src="http://ads.groundspeak.com/a.aspx?ZoneID=9&Task=Get&SiteID=1&X='a6c779138c4c42bf9dc3d099f6a97c20'" width="120" height="240" Marginwidth="0" Marginheight="0" Hspace="0" Vspace="0" Frameborder="0" Scrolling="no" style="width:120px;Height:240px;"><a href="http://ads.groundspeak.com/a.aspx?ZoneID=9&Task=Click&;Mode=HTML&SiteID=1" target="_blank"><img src="http://ads.groundspeak.com/a.aspx?ZoneID=9&Task=Get&Mode=HTML&SiteID=1" width="120" height="240" border="0" alt="" /></a></iframe></span>
</p>
<p class="AlignCenter">
<small><a href="../about/advertising.aspx" id="ctl00_ContentBody_advertisingWithUs" title="Advertising with Us">Advertising with Us</a></small></p>
@@ -835,7 +906,6 @@ Sys.WebForms.PageRequestManager._initialize('ctl00$uxMainScriptManager', 'aspnet <div class="CacheDetailNavigationWidget">
<h3 class="WidgetHeader">
- <img id="ctl00_ContentBody_uxTravelBugList_uxInventoryIcon" src="../images/WptTypes/sm/tb_coin.gif" alt="Inventory" style="height:16px;width:16px;border-width:0px;" />
<span id="ctl00_ContentBody_uxTravelBugList_uxInventoryLabel">Inventory</span>
</h3>
<div class="WidgetBody">
@@ -870,8 +940,7 @@ Sys.WebForms.PageRequestManager._initialize('ctl00$uxMainScriptManager', 'aspnet <div class="CacheDetailNavigationWidget">
- <h3 class="WidgetHeader">
- <img src="/images/stockholm/16x16/pages.gif" width="16" height="16" alt="" /> Bookmark Lists</h3>
+ <h3 class="WidgetHeader">Bookmark Lists</h3>
<div class="WidgetBody">
@@ -907,7 +976,7 @@ Sys.WebForms.PageRequestManager._initialize('ctl00$uxMainScriptManager', 'aspnet </ul>
<p class="NoBottomSpacing">
- <a href="/bookmarks/default.aspx?guid=07270e8c-72ec-4821-8cb7-b01483f94cb5&WptTypeID=8" title="View all 9 bookmark lists...">View all 9 bookmark lists...</a>
+ <a href="/bookmarks/default.aspx?guid=07270e8c-72ec-4821-8cb7-b01483f94cb5&WptTypeID=8" title="View all 10 bookmark lists...">View all 10 bookmark lists...</a>
</p>
</div>
@@ -920,8 +989,7 @@ Sys.WebForms.PageRequestManager._initialize('ctl00$uxMainScriptManager', 'aspnet <div class="CacheDetailNavigationWidget">
- <h3 class="WidgetHeader">
- <img src="/images/stockholm/16x16/pages.gif" width="16" height="16" alt="" /> My Bookmark Lists</h3>
+ <h3 class="WidgetHeader">My Bookmark Lists</h3>
<div class="WidgetBody">
@@ -968,7 +1036,7 @@ Sys.WebForms.PageRequestManager._initialize('ctl00$uxMainScriptManager', 'aspnet </div>
<div class="CDMapWidget">
<p class="WidgetHeader NoBottomSpacing">
- <a id="ctl00_ContentBody_uxViewLargerMap" title="View Larger Map" class="lnk" href="/map/default.aspx?lat=52.37225&lng=9.735367" target="_blank"><img src="/images/silk/map_go.png" /> <span>View Larger Map</span></a>
+ <a id="ctl00_ContentBody_uxViewLargerMap" title="View Larger Map" href="/map/default.aspx?lat=52.37225&lng=9.735367" target="_blank">View Larger Map</a>
</p>
<div id="map_canvas" style="width: 325px; height: 325px;">
@@ -1029,18 +1097,18 @@ Sys.WebForms.PageRequestManager._initialize('ctl00$uxMainScriptManager', 'aspnet </span>
<p class="NoPrint">
- <a href="http://img.geocaching.com/cache/large/1711f8a1-796a-405b-82ba-8685f2e9f024.jpg" rel="lightbox" class="lnk"><img class="StatusIcon" src="/images/stockholm/16x16/images.gif" alt="Photos" title="Photos" /><span>indy mit text netz Kopie</span></a><br /><a href="http://img.geocaching.com/cache/large/62f39911-86ab-422c-8322-259d0f118848.jpg" rel="lightbox" class="lnk"><img class="StatusIcon" src="/images/stockholm/16x16/images.gif" alt="Photos" title="Photos" /><span>Spoiler st.1</span></a><br /><a href="http://img.geocaching.com/cache/large/b7c3df61-2403-4ce8-87be-41c54244116f.jpg" rel="lightbox" class="lnk"><img class="StatusIcon" src="/images/stockholm/16x16/images.gif" alt="Photos" title="Photos" /><span>Zahlenpause</span></a><br />
+ <a href="http://img.geocaching.com/cache/large/1711f8a1-796a-405b-82ba-8685f2e9f024.jpg" rel="lightbox" class="lnk"><img class="StatusIcon" src="/images/icons/16/photo.png" alt="Photos" title="Photos" /><span>indy mit text netz Kopie</span></a><br /><a href="http://img.geocaching.com/cache/large/62f39911-86ab-422c-8322-259d0f118848.jpg" rel="lightbox" class="lnk"><img class="StatusIcon" src="/images/icons/16/photo.png" alt="Photos" title="Photos" /><span>Spoiler st.1</span></a><br /><a href="http://img.geocaching.com/cache/large/b7c3df61-2403-4ce8-87be-41c54244116f.jpg" rel="lightbox" class="lnk"><img class="StatusIcon" src="/images/icons/16/photo.png" alt="Photos" title="Photos" /><span>Zahlenpause</span></a><br />
</p>
<div class="InformationWidget Clear">
<h3>
- 109 Logged Visits</h3>
+ 111 Logged Visits</h3>
<div class="EncryptDecrypt">
<a href="#" class="decrypt-link">
Decrypt
</a>
</div>
- <span id="ctl00_ContentBody_lblFindCounts"><p class="LogTotals"><img src="/images/icons/icon_smile.gif" alt="Found it" title="Found it" /> 99 <img src="/images/icons/icon_note.gif" alt="Write note" title="Write note" /> 7 <img src="/images/icons/icon_disabled.gif" alt="Temporarily Disable Listing" title="Temporarily Disable Listing" /> 1 <img src="/images/icons/icon_enabled.gif" alt="Enable Listing" title="Enable Listing" /> 1 <img src="/images/icons/icon_greenlight.gif" alt="Publish Listing" title="Publish Listing" /> 1 </p></span>
+ <span id="ctl00_ContentBody_lblFindCounts"><p class="LogTotals"><img src="/images/logtypes/2.png" alt="Found it" title="Found it" /> 101 <img src="/images/logtypes/4.png" alt="Write note" title="Write note" /> 7 <img src="/images/logtypes/22.png" alt="Temporarily Disable Listing" title="Temporarily Disable Listing" /> 1 <img src="/images/logtypes/23.png" alt="Enable Listing" title="Enable Listing" /> 1 <img src="/images/logtypes/24.png" alt="Publish Listing" title="Publish Listing" /> 1 </p></span>
<p class="HalfLeft">
<a id="ctl00_ContentBody_uxLogbookLink" href="cache_logbook.aspx?guid=07270e8c-72ec-4821-8cb7-b01483f94cb5">View Logbook</a> | <a id="ctl00_ContentBody_uxGalleryImagesLink" DisplayFormatPlural="View the Image Gallery of {0:#,###} images" DisplayFormatSingular="View the Image Gallery" href="gallery.aspx?guid=07270e8c-72ec-4821-8cb7-b01483f94cb5">View the Image Gallery of 4 images</a>
</p>
@@ -1071,7 +1139,7 @@ Sys.WebForms.PageRequestManager._initialize('ctl00$uxMainScriptManager', 'aspnet </div>
<p>
<small>
- Current Time: <time datetime="2012-10-18T12:52:18Z">10/18/2012 12:52:18 Pacific Daylight Time (19:52 GMT)</time><br/>Last Updated: <time class="timeago" datetime="2012-10-01T06:41:06Z">2012-10-01T06:41:06Z</time> on 09/30/2012 23:41:06 Pacific Daylight Time (06:41 GMT) <br/>Rendered From:Unknown<br />Coordinates are in the WGS84 datum
+ Current Time: <time datetime="2012-12-11T12:33:39Z">12/11/2012 12:33:39 (UTC-08:00) Pacific Time (US & Canada) (20:33 GMT)</time><br/>Last Updated: <time class="timeago" datetime="2012-10-22T18:27:09Z">2012-10-22T18:27:09Z</time> on 10/22/2012 11:27:09 Pacific Daylight Time (18:27 GMT) <br/>Rendered From:Unknown<br />Coordinates are in the WGS84 datum
</small>
</p>
@@ -1084,7 +1152,7 @@ Sys.WebForms.PageRequestManager._initialize('ctl00$uxMainScriptManager', 'aspnet <p class="logOwnerProfileName">
<strong><a id="143568283" href="/profile/?guid=${AccountGuid}">${UserName}</a></strong></p>
<p class="logOwnerBadge">
- <img title="${creator.GroupTitle}" src="${creator.GroupImageUrl}" align="absmiddle" style="vertical-align:middle">${creator.GroupTitle}
+ <img title="${creator.GroupTitle}" src="${creator.GroupImageUrl}">${creator.GroupTitle}
</p>
<p class="logOwnerAvatar">
<a href="/profile/?guid=${AccountGuid}">
@@ -1099,18 +1167,13 @@ Sys.WebForms.PageRequestManager._initialize('ctl00$uxMainScriptManager', 'aspnet {{if GeocacheFindCount > 0 }}
<img title="Caches Found" src="/images/icons/icon_smile.png"> ${GeocacheFindCount}
{{/if}}
- {{if GeocacheFindCount > 0 && ChallengesCompleted > 0 }}
- ·
- {{/if}}
- {{if ChallengesCompleted > 0 }}
- <img title="Challenges Completed" src="/images/challenges/types/sm/challenge.png"> ${ChallengesCompleted}
- {{/if}}
+
</p>
</div>
<div class="FloatLeft LogDisplayRight">
<div class="HalfLeft LogType">
<strong>
- <img title="${LogType}" alt="${LogType}" src="/images/icons/${LogTypeImage}"> ${LogType}</strong></div>
+ <img title="${LogType}" alt="${LogType}" src="/images/logtypes/${LogTypeImage}"> ${LogType}</strong></div>
<div class="HalfRight AlignRight">
<span class="minorDetails LogDate">${Visited}</span></div>
<div class="Clear LogContent">
@@ -1145,7 +1208,7 @@ Sys.WebForms.PageRequestManager._initialize('ctl00$uxMainScriptManager', 'aspnet <tr>
<td>
<a class="tb_images lnk" rel="tb_images[grp${LogID}]" href="http://img.geocaching.com/cache/log/large/${FileName}" data-title="{{tmpl "tmplCacheLogImagesTitle"}}">
- <img title="Photo" alt="Photo" src="/images/silk/photo.png">
+ <img title="Photo" alt="Photo" src="/images/icons/16/photo.png">
<span>${ $('<div />').text($('<div />').html($item.data.Name).text()).html() }</span>
</a>
</td>
@@ -1724,7 +1787,8 @@ Sys.WebForms.PageRequestManager._initialize('ctl00$uxMainScriptManager', 'aspnet if (parseCoords.length == 0) {
alert('Please provide valid coordinates.');
} else {
- $.getJSON("/challenges/location.search", { p: parseCoords }, function (response) {
+ //$.getJSON("/challenges/location.search", { p: parseCoords }, function (response) {
+ $.getJSON("/api/geocode", { parse: parseCoords}, function (response) {
if (response.status == "success") {
var newLatLng = new LatLon(response.data.lat, response.data.lng);
@@ -1840,12 +1904,12 @@ Sys.WebForms.PageRequestManager._initialize('ctl00$uxMainScriptManager', 'aspnet </div>
<div class="LocaleList">
- <div id="selected_language">
+ <div class="selected-language">
<a href="#">English▼</a>
</div>
- <ul id="locale_list">
+ <ul class="language-list">
<li><a id="ctl00_uxLocaleList_uxLocaleList_ctl00_uxLocaleItem" href="javascript:__doPostBack('ctl00$uxLocaleList$uxLocaleList$ctl00$uxLocaleItem','')">English</a></li>
@@ -1883,19 +1947,22 @@ Sys.WebForms.PageRequestManager._initialize('ctl00$uxMainScriptManager', 'aspnet </div>
<script type="text/javascript">
-
- jQuery(document).ready(function() {
- jQuery("#selected_language a").click(function (e) {
+
+ jQuery(document).ready(function () {
+ jQuery(".selected-language a").click(function (e) {
e.preventDefault();
- jQuery("#locale_list").show().position({
- of: $("#selected_language"),
+ var $loc = jQuery(this).parent().next();
+ jQuery($loc).show().position({
+ of: $loc.parent(),
my: "left top",
at: "left bottom",
- offset: "0 3",
+ offset: "0 0",
collision: "fit fit"
});
+ jQuery(this).addClass("Expanded");
jQuery(document).click(function () {
- jQuery("#locale_list").fadeOut("fast");
+ jQuery(".language-list").fadeOut("fast");
+ jQuery(".selected-language a").removeClass("Expanded");
});
return false;
});
@@ -2017,14 +2084,14 @@ Sys.WebForms.PageRequestManager._initialize('ctl00$uxMainScriptManager', 'aspnet <script type="text/javascript">
//<![CDATA[
-var uvtoken = 'DbFDfIrSTaXyfNf74lbdopy%2bTw%2fC84Gn87pU%2b3r69toc4lYTKyii0cXY42BXT7amAeAEUCcV1MyzYH%2f69bWOOAMh%2b%2fXZDy5evfaVNXnGxAl30YXn1wFH2CYMuuHRIKnlIpNm0oF2TJjRR%2bezF6ABvpwfUG8JcX1AHPAqSzswHtAxthB9Owjp2uq%2ftuZSVM8zX91kzlgdie55liHhL%2faUuEbs1kZ3FwSxyO6Wac4un%2ftAqOgkOWz1BFyA4uPo8vGVNNFr60bWV76a8GXPNJL8MgLWRv3R0394HVGjIHy4qTichd2XeEcrVP1NXQMwExIRZrS3ZHqsotozBpDkw7UULuPxVgg4yTbNGMMM%2bPdsPXDoGrOKR%2bTJ0dWCa%2bb6tfZ8lZ6IjL6EShcq5FbJXDd4NO6nwxx1fbocwubd2LiFa5s%3d';var isLoggedIn = true;
+var uvtoken = 'DbFDfIrSTaXyfNf74lbdopy%2bTw%2fC84Gn87pU%2b3r69toc4lYTKyii0cXY42BXT7amAeAEUCcV1MyzYH%2f69bWOOFi%2brQkwu9XpMKHn9RrK3yg0%2bRbHyt7%2bn7CnIMOwT%2bj%2bNeOK4M%2fZmb6V7ptvTJONRtAMnZG1bqxa2vT86SgqmJvm1AaizFQemaawFSr1Ajt8HbBatacP0vQyRSUhcI1FiMY7by5u4y1YAmPxvUoPOfq3Du5elIbL182sAD%2bFebGsh77NSOBDnTcgP%2fj%2fXHeTh4nbtx0YyK9PNMhXsjL4Ottf56EtBALIpWjnYiXB42fermXeWU8KUseMN3oj6OaQZAnkbA%2f1pGPQT%2bZYO%2fCzIigqctKvJrOWprF2gI3RjF5ZHdUe%2b9xfgxGZB4e4EA0qW4xu88beQlMmAgbNoY8vYPE%3d';var isLoggedIn = true;
var userDefinedCoords = {"status":"success","data":{"isUserDefined":false,"oldLatLngDisplay":"N 52° 22.335' E 009° 44.122'"}};
mapLatLng = {"lat":52.37225,"lng":9.73537,"type":8,"name":"Auf den Spuren des Indianer Jones Teil 1"};
var ccConversions = [{"t":"Decimal","k":"DD","d":"WGS84","v":"52.372250, 009.735367"},{"t":"DDD MM SS.SSS","k":"DMS","d":"WGS84","v":"N 52° 22' 20.100\" E 009° 44' 07.321\""},{"t":"UTM","k":"UTM","d":"WGS84","v":"32U E 550063 N 5802696"}];
userInfo = {ID: 1912314};
-userToken = 'FOUTFKOKLELXOJAYT35WSZBNGADBNKFSYIMKJ2YI6247JORDCSRPR3LYUNKEOR2PQUOHC7OGY223V2X2ADNEDT25JD2QHOXIHYLH7J5XLOWJSK5WTLLQ5UJQMIZEGXYFSHPFRQQ5A374RP7GSKIVLW2RCI53UZFIABL6BZONCN4XB6QIBKAEXW2B3SU6EYDNCNSS4QUTB5T2F4FTITLZMGY2QI2Z6XAJHFNU224QMGX26VDNLJFA';
+userToken = 'FOUTFKOKLELXOJAYT35WSZBNGADBNKFSYIMKJ2YI6247JORDCSRPR3LYUNKEOR2PQUOHC7OGY223V2X2ADNEDT25JD2QHOXIHYLH7J5XLOWJSK5WTLLQ5UJQMIZEGXYFSHPFRQQ5A374RP7GSKIVLW2RCI53UZFIABL6BZONCN4XB6QIBKAEXW2B3SU6EYDNCNSS4QUTB5T2F32M5ZMTF7NJ25B2LH33XBDSPGGHLXI7VRJISIYA';
includeAvatars = true;
-initalLogs = {"status":"success", "data": [{"LogID":269970920,"CacheID":1997597,"LogGuid":"deae18a7-b101-486e-ad07-8026343d765d","Latitude":null,"Longitude":null,"LatLonString":"","LogType":"Found it","LogTypeImage":"icon_smile.gif","LogText":"Endlich geschafft...Hat lange gedauert und war jede Minute Einsatz wert.<br />Vielen Dank für die Herausforderung...<br />DFDC und Fav. Punkt","Created":"30/09/2012","Visited":"26/09/2012","UserName":"leonberger307","MembershipLevel":3,"AccountID":1179496,"AccountGuid":"d017e12b-83b3-4ec9-bd05-54cbb0d9c150","Email":"","AvatarImage":"112aa46e-fe0a-464c-990e-6bff1c61bda7.jpg","GeocacheFindCount":2396,"GeocacheHideCount":0,"ChallengesCompleted":0,"IsEncoded":false,"creator":{"GroupTitle":"Premium Member","GroupImageUrl":"/images/icons/prem_user.gif"},"Images":[]},{"LogID":256692614,"CacheID":1997597,"LogGuid":"0b464bea-2c26-4f71-a750-4503a55e901f","Latitude":null,"Longitude":null,"LatLonString":"","LogType":"Found it","LogTypeImage":"icon_smile.gif","LogText":"Was soll ich nur schreiben, was noch nicht geschrieben wurde?<br />Obwohl ich ja schon einige von Indi gemacht habe, wird man jedesmal wieder positiv überrascht.<br />Da ich nicht oft nach Hannover komme, musst ich diesen mysteriösen Multi stückeln um zum gewünschten Erfolg zu kommen. <br />Vielen Dank für diese tolle Tour, die natürlich (wie schon so oft bei den Indi-Dosen) eine blaue Schleife bekommt.<br /><br />Schöne Grüße,<br />Majoti","Created":"11/08/2012","Visited":"11/08/2012","UserName":"Majoti","MembershipLevel":3,"AccountID":3432542,"AccountGuid":"1ec93712-382c-4859-aa64-1eca126b5914","Email":"","AvatarImage":"22a4b94a-a38b-4db1-8ac3-0582a6281759.jpg","GeocacheFindCount":1585,"GeocacheHideCount":15,"ChallengesCompleted":0,"IsEncoded":false,"creator":{"GroupTitle":"Premium Member","GroupImageUrl":"/images/icons/prem_user.gif"},"Images":[]},{"LogID":255282680,"CacheID":1997597,"LogGuid":"f7cb6941-dcea-4c31-ba43-f3d9d3cf3862","Latitude":null,"Longitude":null,"LatLonString":"","LogType":"Found it","LogTypeImage":"icon_smile.gif","LogText":"Irgendwie fehlte immer die Zeit mit dieser tollen Serie endlich einmal anzufangen.<br />Dies wurde dann in den letzten Tagen in kleinen Mittagspausenetappen peu a peu nachgeholt.<br /><br />Schnell waren wir gefangen von den tollen Rätseln, die - ohne viel übertriebenem Pomp - die Stimmung der Filme gut eingefangen haben.<br /><br />Wie bei guten Filmen schwang dann heute mit dem Fund des Finals auch ein wenig Wehmut - wie schon vorbei? - mit.<br />Glücklicherweise haben wir ja noch 3 Teile dieser tollen Serie vor uns, auf die wir uns freuen können <img src=\"/images/icons/icon_smile_big.gif\" border=\"0\" align=\"middle\" /><br /><br />Die Wurms bedanken sich für diesen tollen ersten Teil und steigen ein in die Planung von Bonus, Teil 2 und Megabonus","Created":"06/08/2012","Visited":"06/08/2012","UserName":"Wurms","MembershipLevel":3,"AccountID":1807277,"AccountGuid":"77ee9fa9-15ae-49f6-9fea-1a9617fd69e2","Email":"","AvatarImage":"4dcfbc24-ff19-439d-bc08-78eea619a9ad.jpg","GeocacheFindCount":1112,"GeocacheHideCount":3,"ChallengesCompleted":3,"IsEncoded":false,"creator":{"GroupTitle":"Premium Member","GroupImageUrl":"/images/icons/prem_user.gif"},"Images":[]},{"LogID":248418841,"CacheID":1997597,"LogGuid":"fa0a5d50-393b-42cf-be22-04e92fcc406c","Latitude":null,"Longitude":null,"LatLonString":"","LogType":"Found it","LogTypeImage":"icon_smile.gif","LogText":"Geschafft! Aus Zeitgründen in mehreren Etappen die Angaben für den Bonus erarbeitet (auch dieser wird wieder eine separate Etappe). SEHR schöne Rätsel, wie von Indy nicht anders erwartet.<br />Freuen uns schon auf den Bonus und vor allem auf Teil 2!<br /><br />TFTC!<br /><br />Und natürlich gibt es hier einen FAV-Punkt!","Created":"12/07/2012","Visited":"11/07/2012","UserName":"Bergwerksdirektor","MembershipLevel":3,"AccountID":1953807,"AccountGuid":"a48e7098-1972-4401-8dda-92e242fda777","Email":"","AvatarImage":"2f8cb388-7ef0-4b76-8e4b-2de047e69d8e.jpg","GeocacheFindCount":2506,"GeocacheHideCount":11,"ChallengesCompleted":1,"IsEncoded":false,"creator":{"GroupTitle":"Premium Member","GroupImageUrl":"/images/icons/prem_user.gif"},"Images":[]},{"LogID":248535464,"CacheID":1997597,"LogGuid":"73524950-f7ab-4f42-9152-7867210357ca","Latitude":null,"Longitude":null,"LatLonString":"","LogType":"Found it","LogTypeImage":"icon_smile.gif","LogText":"Puh, das war eine harte Nuss. Es bedurfte mehrerer Anläufe und der tatkräftigen Hilfe eines größeren Herrns, bis wir endlich vor dem Final standen. Tolle Locations, knackige Rätsel, abwechslungsreiche Stationen,so macht Geocaching richtig Spaß. Und das Beste: Mit diesem Fund ist unsere Matrix voll. Ich freue mich schon auf Teil 2.<br />Danke für für diesen Supercache, das ist einen FP wert.","Created":"12/07/2012","Visited":"08/07/2012","UserName":"I Carbonari","MembershipLevel":3,"AccountID":2941642,"AccountGuid":"3b9ac9a6-3d82-48aa-ab00-caf78d1de23a","Email":"","AvatarImage":"","GeocacheFindCount":1300,"GeocacheHideCount":0,"ChallengesCompleted":0,"IsEncoded":false,"creator":{"GroupTitle":"Premium Member","GroupImageUrl":"/images/icons/prem_user.gif"},"Images":[]},{"LogID":247532751,"CacheID":1997597,"LogGuid":"57ea561d-40ad-4dee-bfe7-a2cef652ebc6","Latitude":null,"Longitude":null,"LatLonString":"","LogType":"Found it","LogTypeImage":"icon_smile.gif","LogText":"Mit den ausgezeichnet ausgewählten Stationen und den zugehörigen tollen Rätseln konnte ich sehr gut in die Rolle des Indiana Jones schlüpfen. Das war eine klasse Runde!<br /><br />An der schönen Finallokation zelebrierten die manchmal hier anzutreffenden Bacchus-Muggel aufgrund des vorangegangen Regens wahrscheinlich anderorts, so dass sich das Final relativ ungestört finden lies.<br /><br />DfdC, der von mir einen FP bekommt.","Created":"08/07/2012","Visited":"08/07/2012","UserName":"CaptnSharky","MembershipLevel":3,"AccountID":3673438,"AccountGuid":"357368ce-02f6-4419-8ba7-279afe889345","Email":"","AvatarImage":"f33d597e-c33f-4d29-bca6-9d49b4a3e09b.jpg","GeocacheFindCount":659,"GeocacheHideCount":1,"ChallengesCompleted":2,"IsEncoded":false,"creator":{"GroupTitle":"Premium Member","GroupImageUrl":"/images/icons/prem_user.gif"},"Images":[]},{"LogID":245388909,"CacheID":1997597,"LogGuid":"b8a06f0a-05e6-4dea-ab27-53a5f0026e51","Latitude":null,"Longitude":null,"LatLonString":"","LogType":"Found it","LogTypeImage":"icon_smile.gif","LogText":"Vor einem halben Jahr hatte ich endlich die richtige Idee wo die Schattenlinie zu finden ist. Aber wieso steht in den Attributen das Kletterausrüstung benötigt wird ? Sicherheitshalber noch mal den Owner kontaktiert, Entwarnung ! Passenderweise bin ich den Tag drauf in der Nähe des Starts, wo ich schon zwei Wochen zuvor nichtsahnend gewesen bin...<br /><br />Der Start: Es ist dunkel. Es ist ein LP mitten in der City !. Niemand da. Das was ich suche, finde ich nicht. Dafür etwas anderes Brauchbares. Also auf gut Glück versucht. Und siehe da: Erfolg ! Aber was ist das: wo zeigen die KOs hin ? Doch klettern ? Kurz die Gegend abgecheckt, Spoiler rausgekramt... Erneut Entwarnung. Kleinen Umweg für den nächsten Tag eingeplant.<br /><br />ZS1: Ich bin ganz allein auf dem großen Gelände. Da es schon dunkel wird kommt richtig Grusel-Stimmung auf. Die ZS kann ich schnell finden. Zum Enträtseln vor Ort ist es mir aber zu kalt.<br /><br />ZS2: Die Location kann zügig ermittelt werden. Da ich nur sehr selten in dieser Gegend bin übernimmt ein befreundeter Cacher die \"Besorgung\".<br /><br />Finale: Zusammen mit JoSaMaJa suche ich erneut das Finale auf nach dem ich unter der Woche keinen Erfolg hatte (starker Regen & nichtseßhafte Person direkt vor Ort). Heute haben wir bei diesem LP Erfolg !<br /><br />Fazit: Großes Kino - ein Cache der bei mir das richtige Indianer Jones Feeling aufkommen ließ. Tolle LPs in der Stadt, Archäologen-Tätigkeiten, was will man mehr !","Created":"30/06/2012","Visited":"30/06/2012","UserName":"blafoo","MembershipLevel":3,"AccountID":1912314,"AccountGuid":"0564a940-8311-40ee-8e76-7e91b2cf6284","Email":"","AvatarImage":"50f83123-27d8-4dcf-9fde-2af006efaf2b.jpg","GeocacheFindCount":692,"GeocacheHideCount":8,"ChallengesCompleted":3,"IsEncoded":false,"creator":{"GroupTitle":"Premium Member","GroupImageUrl":"/images/icons/prem_user.gif"},"Images":[]},{"LogID":245426156,"CacheID":1997597,"LogGuid":"07775c35-04d0-4aeb-a356-7cd98eb458c2","Latitude":null,"Longitude":null,"LatLonString":"","LogType":"Found it","LogTypeImage":"icon_smile.gif","LogText":"Ohne Blafoo hätte ich den nie geschafft. Durch Zufall und mit viel Hilfe konnte ich dann auch hier zugreifen. Vielen Dank an den Owner vom Nachbarort!","Created":"30/06/2012","Visited":"29/06/2012","UserName":"JoSaMaJa","MembershipLevel":3,"AccountID":4793174,"AccountGuid":"4d416461-d1a7-4cc5-8ee7-336bb910feb8","Email":"","AvatarImage":"e8a97a05-a051-4da9-bc93-6a830b866aff.jpg","GeocacheFindCount":328,"GeocacheHideCount":4,"ChallengesCompleted":0,"IsEncoded":false,"creator":{"GroupTitle":"Premium Member","GroupImageUrl":"/images/icons/prem_user.gif"},"Images":[]},{"LogID":241251492,"CacheID":1997597,"LogGuid":"87247535-a79a-468e-985e-5d99abd07729","Latitude":null,"Longitude":null,"LatLonString":"","LogType":"Found it","LogTypeImage":"icon_smile.gif","LogText":"<img src=\"/images/icons/icon_smile_big.gif\" border=\"0\" align=\"middle\" /><img src=\"/images/icons/icon_smile_big.gif\" border=\"0\" align=\"middle\" /><img src=\"/images/icons/icon_smile_big.gif\" border=\"0\" align=\"middle\" /> Nr. 2.000 <img src=\"/images/icons/icon_smile_big.gif\" border=\"0\" align=\"middle\" /><img src=\"/images/icons/icon_smile_big.gif\" border=\"0\" align=\"middle\" /><img src=\"/images/icons/icon_smile_big.gif\" border=\"0\" align=\"middle\" /><br /><br />Schon vor einiger Zeit haben wir überlegt, was wohl ein würdiger Cache für unser Jubiläum sein könnte. Schnell einigten wir uns darauf, dafür den Spuren des Indianer Jones zu folgen.<br />Also den Schlapphut aufgesetzt und die Peitsche aus der SM-Schublade geschnappt und los ging's! Von Station zu Station hangelten wir uns Prof-Jones-like vorwärts und wurden heute mit dem Fund der Dose punktgenau nach dem 1999. gestern belohnt! <br />Die Wahl war die richtige: Ein ganz toller Cache, der uns sehr viel Spaß gemacht hat und an den wir uns jetzt immer, wenn wir unsere Statistik ansehen, erinnern können. Natürlich gibt's dafür einen Favoritenpunkt von uns. Dann noch ein herzliches Dankeschön und viele Grüße an Indi, den Merlyn und Reflektordetektor!<br /><br />P.S. Wir freuen uns schon auf Teil 2. Hoffen aber, dass wir ihn vor dem 3000. finden werden!<br />P.P.S. Vielen Dank an die Baumfee und den Schnatzfänger für die Begleitung, die Glückwünsche und das Erinnerungsfoto!","Created":"10/06/2012","Visited":"10/06/2012","UserName":"4Engel","MembershipLevel":3,"AccountID":2473723,"AccountGuid":"e5356bcb-f3b4-4b90-89a7-e01fb70d5ebb","Email":"","AvatarImage":"1eafbd7c-d6e2-4f57-86bf-05f316ec9026.jpg","GeocacheFindCount":2267,"GeocacheHideCount":20,"ChallengesCompleted":0,"IsEncoded":false,"creator":{"GroupTitle":"Premium Member","GroupImageUrl":"/images/icons/prem_user.gif"},"Images":[]},{"LogID":241063085,"CacheID":1997597,"LogGuid":"0b32b7a8-2a91-465a-8917-00f15371cbc7","Latitude":null,"Longitude":null,"LatLonString":"","LogType":"Found it","LogTypeImage":"icon_smile.gif","LogText":"# 1691 - als uns die 4Engel vor einigen Tagen ansprachen, ob wir gemeinsam diesen Indiana Jones Cache angehen wollen, war ich sofort \"Feuer und Flamme\". Schließlich hat man diese Filme schon mehrfach im Kino bzw. im Fernsehen mit Begeisterung angeschaut.<br />In mehreren Etappen haben wir uns dem Final genähert. Bei der Sucherei und Recherche konnte man<br />gut in die Rolle des Dr. Jones schlüpfen. Besonders gut gefallen hat mir dabei die Station 1.<br />Für diesen etwas anderen Cache bedanke ich mich beim Owner und natürlich bei dem Team - Schnatzfänger<br /><br />Werden weitere Abenteuer folgen??? Auf jeden Fall erst einmal einen Fav.-Punkt.<br />Die 4Engel hatten heute ein weiteren Grund zum Feiern - dieser besondere Cache war die Nr. 2000","Created":"10/06/2012","Visited":"10/06/2012","UserName":"Schnatzfänger","MembershipLevel":3,"AccountID":3963266,"AccountGuid":"deef3a33-242e-44a3-9520-30105d838d7b","Email":"","AvatarImage":"bc17b3a6-29ee-427d-b819-755b1e6986e3.jpg","GeocacheFindCount":2131,"GeocacheHideCount":3,"ChallengesCompleted":3,"IsEncoded":false,"creator":{"GroupTitle":"Premium Member","GroupImageUrl":"/images/icons/prem_user.gif"},"Images":[{"ImageID":14387354,"ImageGuid":"7f0e3db3-8969-4c35-a14d-f0af69f0b652","Name":"die glücklichen 4Engel","Descr":"Glückwunsch zum 2000. Cache am 10.06.2012","FileName":"7f0e3db3-8969-4c35-a14d-f0af69f0b652.jpg","Created":"10/06/2012","LogID":241063085,"CacheID":1997597,"ImageUrl":null}]},{"LogID":240175314,"CacheID":1997597,"LogGuid":"5021a2d1-63be-4e67-ab1b-4c45ecf2e3eb","Latitude":null,"Longitude":null,"LatLonString":"","LogType":"Found it","LogTypeImage":"icon_smile.gif","LogText":"Das ist doch mal ein schönes Beispiel eines urbanen Caches, der intelligent gemacht ist. <br /><br />Schöne Tour, die viel Spass gemacht hat. Leider ist das Gebiet rund ums Final ziemlich verdreckt und teilweise echt mit Vorsicht zu geniessen. Trotzdem: Fav-Punkt von mir...<br /><br />Gruß<br />Alex","Created":"07/06/2012","Visited":"07/06/2012","UserName":"GrafEssinghausen","MembershipLevel":3,"AccountID":1724814,"AccountGuid":"637708df-0b93-4ff8-a20b-48ed5d1ab2eb","Email":"","AvatarImage":"691d0302-1e78-4fa5-9570-1b5aaf899f5c.jpg","GeocacheFindCount":762,"GeocacheHideCount":11,"ChallengesCompleted":3,"IsEncoded":false,"creator":{"GroupTitle":"Premium Member","GroupImageUrl":"/images/icons/prem_user.gif"},"Images":[]},{"LogID":239040984,"CacheID":1997597,"LogGuid":"a2f40089-7656-4a37-82c7-a6157730d5cb","Latitude":null,"Longitude":null,"LatLonString":"","LogType":"Found it","LogTypeImage":"icon_smile.gif","LogText":"Ja, der ist mal richtig geil... Diesen hier zu machen hat uns so viel Spaß gebracht, dass wir uns erstmal ganz lieb beim Owner bedanken möchten.<br /><br />Alles top ausgearbeitet, logische Rätsel etc. nur am Start taten wir uns etwas schwer, weil wir hier viel zu kompliziert gedacht haben.<br />Aber dann machte sich ein grinsen in unseren Gesichtern breit <img src=\"/images/icons/icon_smile_big.gif\" border=\"0\" align=\"middle\" /> und wir summten die Indi Melody.<br /><br />Freuen uns schon riesig, wie die Serie weiter geht, einziges Problem ist nur das wir keine T5 Ausrüstung besitzen... schluchz... aber vielleicht lernen wir ja noch das Fliegen. <img src=\"/images/icons/icon_smile_big.gif\" border=\"0\" align=\"middle\" /><br /><br />Der bekommt natürlich auch einen FAVpoint.<br /><br />Danke für diesen schönen Cache !!!<br /><br />Haben keinen TB gesichtet und Zettel zum mitnehmen sind keine mehr da (haben den letzten drin gelassen).","Created":"02/06/2012","Visited":"02/06/2012","UserName":"dghobbit","MembershipLevel":3,"AccountID":4213957,"AccountGuid":"41d21c3a-5131-475d-aa27-e60b24fb5049","Email":"","AvatarImage":"f6341881-f5ca-4a2c-9af3-c6402a8aa27e.jpg","GeocacheFindCount":717,"GeocacheHideCount":0,"ChallengesCompleted":0,"IsEncoded":false,"creator":{"GroupTitle":"Premium Member","GroupImageUrl":"/images/icons/prem_user.gif"},"Images":[]},{"LogID":238434288,"CacheID":1997597,"LogGuid":"29d3f400-9e8f-44e3-b6bf-0671ef3583f0","Latitude":null,"Longitude":null,"LatLonString":"","LogType":"Found it","LogTypeImage":"icon_smile.gif","LogText":"Uahhhuahhh!! Krass!!! <img src=\"/images/icons/icon_smile_cool.gif\" border=\"0\" align=\"middle\" /> <img src=\"/images/icons/icon_smile_approve.gif\" border=\"0\" align=\"middle\" /><br /><br />WOW!! Keine Ahnung.... eigentlich kann ich hier nix schreiben... jedenfalls nichts Vernünftiges. Es ist schon ziemlich fett.<br /><br />Mit Indianer Jones 2 fing es eigentlich bei uns an, gefolgt von einigen Pigmentoseschwaden und danach war es für mich erledigt! DAS WILL ICH JETZT AUCH!!<br /><br />Aber, ... <img src=\"/images/icons/icon_smile_question.gif\" border=\"0\" align=\"middle\" /> <img src=\"/images/icons/icon_smile_question.gif\" border=\"0\" align=\"middle\" /> <img src=\"/images/icons/icon_smile_question.gif\" border=\"0\" align=\"middle\" /> ... okay..... vielleicht doch nicht ... DOCH!!!! <br /><br />Also blieb nichts, als Gehirnschmalz zu mischen und irgendwie, weiss nicht... einfach mal los!<br /><br />Raus aus der Sicherheit des Heimatdorfes und hinein in das Ungewisse. <img src=\"/images/icons/icon_smile_question.gif\" border=\"0\" align=\"middle\" /> Jaaaa.... da wurden mir schon einige Steine in den Weg gelegt, die den Weg zum Ziel schon sehr verlängerten..... <img src=\"/images/icons/icon_smile_wink.gif\" border=\"0\" align=\"middle\" /> <br /><br />Aber einmal festgebissen ist festgebissen.<br /><br /><br />COOL , COOL, COOL!!! FP ist klar!<br /><br />Danke für dieses Riesenabenteuer sagt Aufm","Created":"30/05/2012","Visited":"30/05/2012","UserName":"Aufm","MembershipLevel":3,"AccountID":4579634,"AccountGuid":"82f457a9-b981-47e9-a9d4-bae00100dd52","Email":"","AvatarImage":"352ea3ae-0f0b-40dd-9885-ee187bb1ad18.jpg","GeocacheFindCount":954,"GeocacheHideCount":14,"ChallengesCompleted":2,"IsEncoded":false,"creator":{"GroupTitle":"Premium Member","GroupImageUrl":"/images/icons/prem_user.gif"},"Images":[]},{"LogID":236934812,"CacheID":1997597,"LogGuid":"a1a214fa-6e56-429d-808a-59fae88a4f12","Latitude":null,"Longitude":null,"LatLonString":"","LogType":"Found it","LogTypeImage":"icon_smile.gif","LogText":"<b>WOW!!!</b><br /><br />Der hier hat richtig Spaß gemacht!!! Der Name des Caches verspricht nicht zu viel und auch als zugereister Hannoveraner mit mehreren Jahren Stadtkenntnis durfte ich noch einige neue interessante Orte kennen lernen. Aber von Vorne:<br /><br />Bereits am Tage der Veröffentlichung hatte ich den Cache auf meine Watchlist gesetzt. Das Listing versprach viel Spaß und Spannung, nur keine Schokolade (was ich aber billigend in Kauf nehmen wollte!). Da ich seit geraumer Zeit nicht mehr in der Stadt sondern im Umfeld Hannovers wohne, hat sich immer kein richtiger Anlass ergeben, diesen Cache mal anzugehen. Anfang April sollte es dann endlich so weit sein: Insgesamt vier Wochen, jeweils im Abstand von mehreren Wochen, Seminar stand an. Und so ergaben sich dann nach anstrengenden Tag die gerechten Möglichkeiten zum entspannten Ausgleich!<br /><br />Also ging es dann Anfang April an den Start, den ich natürlich bereits lange vorher ausfindig gemacht hatte. Dummerweise hatte ich seit dem Erscheinen des Caches das Listing nicht mehr durchgelesen, wodurch ich unverrichteter Dinge wieder verschwinden musste, da ich logischerweise auch nicht das Hilfsmittel dabei hatte... <br /><br />Zwei Tage später ging es dann aber noch einmal mit der richtigen Ausrüstung hierher und es blitzte das erste Mal die Qualität und der Ideenreichtum dieses Caches auf. Die Folgekoordinaten waren schnell ermittelt. Da ich mich bereits auf dem Weg zu einer Verabredung war, beschloss ich am kommenden Tag, die nächste Station nach dem Seminar anzugehen.<br /><br />Gesagt getan! Doch leider machten mir \"bestimmte Randbedingungen\" einen Strich durch meine Rechnung, so dass ich unverrichteter Dinge wieder verschwinden musste. Da der Seminar-Samstag nicht so lang war wie die anderen Tage, konnte ich am Ende der ersten Seminarwoche dann hier auch endlich fündig werden. Wie am Start auch, war ich vom gewählten Ort fasziniert und genoss nach dem Finden noch ein wenig die tolle Atmosphäre des Ortes, von dessen Existenz ich zwar wusste, aber nie geahnt hätte, welche Schönheit und Faszination sich dahinter verbirgt.<br /><br />Der nächste Anlauf auf diesen Cache sollte dann in der nächsten Seminarwoche - Anfang Mai - vollzogen werden.<br /><br />Wieder mit einem schönen und dem Cachenamen angemessenen Rätsel ging es dann an einen öffentlichen Ort, an dem ich in Indi-Manier die nächsten Puzzleteile zusammensetzte. Grandios!<br /><br />Am Ende der zweiten Seminarwoche sollte es dann an den ermittelten Zielkoordinaten weiter gehen. Dort musste ich zwar ein wenig suchen, doch als ich dann fündig wurde, vereitelte mir eine Hochzeitsgesellschaft den Zugriff. Außerdem ist der gewählte Ort nicht besonders dazu geeignet, ohne Stealth-Modus nach der Dose zu suchen. So beschloss ich, mir meine Ideen für diese Station per Mail bestätigen zu lassen und dann - nicht nur um die Stimmung dieses Ortes zu steigern - bei Dunkelheit wieder zu kommen. <br /><br />Die Antwort auf meine Petition ließ nicht lange auf sich warten (nochmals herzlichen Dank dafür!) und so ging es dann gestern Abend wieder an den Ort des Geschehens. Entsetzt musste ich feststellen, dass ein Muggelpaar die nahestehende Parkbank besetzt hatte. Da ich aber nicht noch einen weiteren Anlauf nehmen wollte und die Möglichkeit der ungesehenen Annäherung bestand, konnte ich doch letztendlich gut zugreifen und musste ... \"Öh?!? Das ist ja das Final!\"... schon fast ein wenig enttäuscht feststellen, dass dieser ausgezeichnete Cache für mich beendet war.<br /><br />Wirklich ein kleiner Leckerbissen in der Cacheszene Hannover! Wer den noch nicht hat (und wie ich an den Logs sehe: Das sind viele!): MACHEN!<br /><br />Vielen Dank für diesen schönen Cache, für den ich gerne 4.5 Sterne bei <a href=\"http://www.gcvote.com\" target=\"_blank\" rel=\"nofollow\">GCVote</a> (einen halben Stern Abzug gibt es, weil einige Stationen doch etwas grenzwertig liegen) und einen Fav-Point gebe, sagt<br /><br />DJ_JAS (#1.045)<br /><br />in: Schleifchen!<br />out: Ganz viel Spaß und Spannung!","Created":"25/05/2012","Visited":"25/05/2012","UserName":"dj_jas","MembershipLevel":3,"AccountID":1708158,"AccountGuid":"a6a5c07c-3fc0-4237-a71d-6588cb2c5940","Email":"","AvatarImage":"19b59a16-c74e-4a73-bc8a-569885d80fff.jpg","GeocacheFindCount":1112,"GeocacheHideCount":0,"ChallengesCompleted":0,"IsEncoded":false,"creator":{"GroupTitle":"Premium Member","GroupImageUrl":"/images/icons/prem_user.gif"},"Images":[]},{"LogID":228379603,"CacheID":1997597,"LogGuid":"c7d5b309-1c52-4d53-8d86-25884fecee7d","Latitude":null,"Longitude":null,"LatLonString":"","LogType":"Found it","LogTypeImage":"icon_smile.gif","LogText":"Nachdem ich mich letzte Woche bei einem wunderschönen NC mit Rei von den Reimeyers über diese schöne Serie unterhalten habe, hat es auch nicht lange gedauert und ich bekam eine Email von den Reimeyers, mit einer Idee, wo sich der Start dieses schönen Caches befinden könnte und es wurde auch schon ein möglicher Termin ins Auge gefasst, diesen Gedankengängen mal nachzugehen. Heute war dann der Tag und siehe da, Reimeyers hatten ins Goldene getroffen <img src=\"/images/icons/icon_smile_big.gif\" border=\"0\" align=\"middle\" />.<br />Und von da ab lief es wie am Schnürchen, Puzzleteil für Puzzleteil fügte sich aneinander und das Bild erschien immer deutlicher. HAMMER, es war ein reiner Genuss den Gedankengängen des Owners auf die Spur zu kommen. Besonders die Station zwei war für mich ein absolutes Highlight.<br />Und so konnten wir uns nach einigen Stunden perfekter Teamarbeit mit einem fetten Grinsen im Logbuch verewigen.<br />Auch bei diesem Cache kann ich nur den Hut ziehen und sagen: perfekte Arbeit, so wie ich das vom Owner kenne und er hat von mir auf jeden Fall ein Fav. verdient.<br />Ich freue mich schon auf den Bonus.<br />Herzlichen Dank und Gruß vom Rattenmann <img src=\"/images/icons/icon_smile_big.gif\" border=\"0\" align=\"middle\" />","Created":"22/04/2012","Visited":"21/04/2012","UserName":"Rattenmann","MembershipLevel":3,"AccountID":4316747,"AccountGuid":"372fe2f7-553e-456f-838b-baa8e43111f4","Email":"","AvatarImage":"cd44c372-779a-45e2-a329-f69e467729c1.jpg","GeocacheFindCount":799,"GeocacheHideCount":6,"ChallengesCompleted":1,"IsEncoded":false,"creator":{"GroupTitle":"Premium Member","GroupImageUrl":"/images/icons/prem_user.gif"},"Images":[]},{"LogID":228157160,"CacheID":1997597,"LogGuid":"c9ee50f6-8431-4857-b5a2-f52f1d307325","Latitude":null,"Longitude":null,"LatLonString":"","LogType":"Found it","LogTypeImage":"icon_smile.gif","LogText":"sofort gewusst wo das final ist und muggelfrei geloggt.<br />DFDC<br /><br /><br /><br /><br /><img src=\"/images/icons/icon_smile_big.gif\" border=\"0\" align=\"middle\" /> <img src=\"/images/icons/icon_smile_wink.gif\" border=\"0\" align=\"middle\" /> <img src=\"/images/icons/icon_smile_big.gif\" border=\"0\" align=\"middle\" /> <img src=\"/images/icons/icon_smile_wink.gif\" border=\"0\" align=\"middle\" /> <img src=\"/images/icons/icon_smile_big.gif\" border=\"0\" align=\"middle\" /> <img src=\"/images/icons/icon_smile_wink.gif\" border=\"0\" align=\"middle\" /> <img src=\"/images/icons/icon_smile_big.gif\" border=\"0\" align=\"middle\" /> <img src=\"/images/icons/icon_smile_wink.gif\" border=\"0\" align=\"middle\" /> <img src=\"/images/icons/icon_smile_big.gif\" border=\"0\" align=\"middle\" /> <img src=\"/images/icons/icon_smile_wink.gif\" border=\"0\" align=\"middle\" /> <img src=\"/images/icons/icon_smile_big.gif\" border=\"0\" align=\"middle\" /> <img src=\"/images/icons/icon_smile_wink.gif\" border=\"0\" align=\"middle\" /> <img src=\"/images/icons/icon_smile_big.gif\" border=\"0\" align=\"middle\" /> <img src=\"/images/icons/icon_smile_wink.gif\" border=\"0\" align=\"middle\" /> <img src=\"/images/icons/icon_smile_big.gif\" border=\"0\" align=\"middle\" /><br /><br /><br /><br /><br /><br /><br />und nun mal scherz beiseite. als Herr Rei verkündete, glauben zu wissen wo der start ist war die freude erstmal groß. jetzt bloss noch eine passende gelegenheit finden und nichts wie hin. <br /><br />da man indianer jones ja nicht unterschätzen soll, noch tatkräftige unterstützung durch den Rattenmann erbeten. der ließ sich dann auch nicht lange bitten und schon an der ersten station war seine blendende vorarbeit gold wert (ok, dafür ging das frühstück drauf, aber was soll´s <img src=\"/images/icons/icon_smile_big.gif\" border=\"0\" align=\"middle\" />).<br /><br />im kleinen rudel wandelten wir dann weiter auf den spuren und nach und nach setzte sich das bild zusammen. um nicht zu spoilern, fassen wir uns jetzt mal kurz:<br /><br />die spuren waren gut getarnt, das wetter nicht ganz einladend, das kleine rudel toll und jeder sollte sich mal auf indi´s spuren begeben, es lohnt sich! <img src=\"/images/icons/icon_smile.gif\" border=\"0\" align=\"middle\" /> <br /><br />wir sagen danke und packen das auto für den bonus <img src=\"/images/icons/icon_smile_wink.gif\" border=\"0\" align=\"middle\" /><br /><br />viele grüße,<br />die Reimeyers<br /><br />ps.: FAV.PUNKT IN","Created":"21/04/2012","Visited":"21/04/2012","UserName":"Reimeyers","MembershipLevel":3,"AccountID":4808031,"AccountGuid":"b20a5415-05c2-4789-9ce7-6e9d106beb6f","Email":"","AvatarImage":"f9539da1-2c9e-4e49-81ae-57565521b81e.jpg","GeocacheFindCount":869,"GeocacheHideCount":4,"ChallengesCompleted":32,"IsEncoded":false,"creator":{"GroupTitle":"Premium Member","GroupImageUrl":"/images/icons/prem_user.gif"},"Images":[]},{"LogID":227521067,"CacheID":1997597,"LogGuid":"496f563e-04af-47cf-bb6a-43536f3e98ab","Latitude":null,"Longitude":null,"LatLonString":"","LogType":"Found it","LogTypeImage":"icon_smile.gif","LogText":"Indiana Jones?!? Wer ist das? Zwar schon mal gehört, aber das war es auch! Aber auch ohne Kenntnisse ist dieses ? lösbar, es dauer nur länger, oder man hat jemanden der sich auskennt. So war es uns dann doch möglich die schönen Stationen zu besichtigen und auch als Hannoveraner unbekannte Stellen zu erkunden. Danke für die tollen Ideen, das ist einen FAV wert!","Created":"18/04/2012","Visited":"16/04/2012","UserName":"Kummer und Elend","MembershipLevel":3,"AccountID":3842885,"AccountGuid":"407157b8-7113-405b-a09a-bbb724d0564d","Email":"","AvatarImage":"03d750e5-4dd1-4e9a-a6f7-b1fb56acbfe5.jpg","GeocacheFindCount":968,"GeocacheHideCount":0,"ChallengesCompleted":0,"IsEncoded":false,"creator":{"GroupTitle":"Premium Member","GroupImageUrl":"/images/icons/prem_user.gif"},"Images":[]},{"LogID":227330805,"CacheID":1997597,"LogGuid":"f754fc8b-5a7a-498e-a297-3b0db4338f88","Latitude":null,"Longitude":null,"LatLonString":"","LogType":"Found it","LogTypeImage":"icon_smile.gif","LogText":"Wer die Filme von Indiana Jones kennt weiss was ihn erwartet. Viel Abenteuer und ganz schwierige Rätsel. Ohne technische Hilfsmittel und Insiderwissen der Hannoveraner hätte ich das Final nie gefunden. Danke für den spannenden Cache, wenn du diesen machst brauchst du keinen Fernseher mehr. Favi obligatorisch.","Created":"16/04/2012","Visited":"16/04/2012","UserName":"Tialys","MembershipLevel":3,"AccountID":2091449,"AccountGuid":"4ed54215-9b99-4de0-b334-c27a99ee3149","Email":"","AvatarImage":"073b0c05-e36f-4cb0-9435-81b1ca80324c.jpg","GeocacheFindCount":1413,"GeocacheHideCount":7,"ChallengesCompleted":0,"IsEncoded":false,"creator":{"GroupTitle":"Premium Member","GroupImageUrl":"/images/icons/prem_user.gif"},"Images":[]},{"LogID":227239669,"CacheID":1997597,"LogGuid":"650462d5-cedf-4f6c-95b7-605e91c4ef2b","Latitude":null,"Longitude":null,"LatLonString":"","LogType":"Found it","LogTypeImage":"icon_smile.gif","LogText":"Hut ab!<br />Geniale Idee und klasse Umsetzung! Irre was es so zu entdecken gibt!<br /><br />TFTC<br />Witchy70","Created":"16/04/2012","Visited":"16/04/2012","UserName":"witchy70","MembershipLevel":3,"AccountID":1406174,"AccountGuid":"439a004f-25b4-4381-9edd-69f41fbde9cf","Email":"","AvatarImage":"e316a5e6-134a-4364-a311-aee2fbee3f8f.jpg","GeocacheFindCount":937,"GeocacheHideCount":2,"ChallengesCompleted":0,"IsEncoded":false,"creator":{"GroupTitle":"Premium Member","GroupImageUrl":"/images/icons/prem_user.gif"},"Images":[]},{"LogID":226076070,"CacheID":1997597,"LogGuid":"161e24c9-4a29-4b64-8734-9ecc5ad32f45","Latitude":null,"Longitude":null,"LatLonString":"","LogType":"Found it","LogTypeImage":"icon_smile.gif","LogText":"Der Hammer! Ich bin restlos begeistert und freue mich auf die nächsten Teile. Wirklich eine super Idee und tolle Locations \t<img src=\"/images/icons/icon_smile_cool.gif\" border=\"0\" align=\"middle\" />.<br />Alles andere haben meine drei Mitstreiter ja schon gesagt und ich schließe mich da voll und ganz an.<br /><br />Vielen Dank dafür!","Created":"13/04/2012","Visited":"11/04/2012","UserName":"moosrose0815","MembershipLevel":3,"AccountID":2169157,"AccountGuid":"af88d3d2-4d7a-40c7-926c-eff39aaff531","Email":"","AvatarImage":"f9f27159-8351-4f9a-a43b-dae2faab5a98.jpg","GeocacheFindCount":936,"GeocacheHideCount":0,"ChallengesCompleted":0,"IsEncoded":false,"creator":{"GroupTitle":"Premium Member","GroupImageUrl":"/images/icons/prem_user.gif"},"Images":[]},{"LogID":225983123,"CacheID":1997597,"LogGuid":"c1947936-ff3c-477d-802f-1e0ddc21df40","Latitude":null,"Longitude":null,"LatLonString":"","LogType":"Found it","LogTypeImage":"icon_smile.gif","LogText":"Ich kann mich meiner Vorrednerin nur anschließen: Das war echt 'ne geile Nummer! <img src=\"/images/icons/icon_smile_cool.gif\" border=\"0\" align=\"middle\" /><br /><br />Besonders interessant fand ich, was man so quasi nebenbei über die unmittelbare Umgebung von ST1 und Final gelernt hat. Hundertmal dran vorbeigefahren und nie wirklich beachtet! <img src=\"/images/icons/icon_smile_blush.gif\" border=\"0\" align=\"middle\" /><br /><br />Über den Rest hat Holly ja ausführlich berichtet, daher bleibt mir nur Danke zu sagen für diese Exkursion in die Lokalhistorie und natürlich für die Dose! <img src=\"/images/icons/icon_smile_big.gif\" border=\"0\" align=\"middle\" /><br /><br /> In: Fav-Punkt<br />Out: Nix<br /><br />#934","Created":"12/04/2012","Visited":"11/04/2012","UserName":"Maxx Volume","MembershipLevel":3,"AccountID":1583481,"AccountGuid":"a1482ae1-352c-4ef4-98cd-fc979bf114e8","Email":"","AvatarImage":"e09b3bae-dc52-4dd7-80b4-2d70276aa043.jpg","GeocacheFindCount":1089,"GeocacheHideCount":0,"ChallengesCompleted":0,"IsEncoded":false,"creator":{"GroupTitle":"Premium Member","GroupImageUrl":"/images/icons/prem_user.gif"},"Images":[]},{"LogID":225802294,"CacheID":1997597,"LogGuid":"5e301b26-a0ca-4165-87d3-8de3507a0e43","Latitude":null,"Longitude":null,"LatLonString":"","LogType":"Found it","LogTypeImage":"icon_smile.gif","LogText":"Heiliger Mist....war das ein Erlebniss!<img src=\"/images/icons/icon_smile_big.gif\" border=\"0\" align=\"middle\" /> Aber mal von vorne:<br /><br />Bereits letztes Jahr hatte uns Maxx Volume auf diesen Cache gestossen und auch den vermeintlichen Startpunkt hatte er schon verifiziert. Leider liessen Bauzäune keine weiteren Untersuchungen zu und so gelangte dieses Vorhaben leider erstmal in Vergessenheit.<br /><br />Vor 2 Wochen kam dann Solit spontan die Idee, doch mal einfach vorbei zu schauen wie es da heute aussieht und siehe da: Keine Zäune mehr :-)<br />Prima, dann konnte es ja endlich losgehen.<br /><br />Ostermontag dann mal das mistige Wetter zum urbanen Besuch genutzt und schwupps: Schlapphut auf und mit der richtigen Melodie gings auf die Spuren von Indianer Jones <img src=\"/images/icons/icon_smile_cool.gif\" border=\"0\" align=\"middle\" /><br />Die erste Station war ja schon irgendwie der Knaller und flux die Koordinaten eingetippt. Irritationen gab es dabei ausnahmsweise, aufgrund der Vorlogger, nicht. Was ein grandioses Zwischenziel!!<br />Zu meiner Schande muss ich gestehen, dass ich hier noch nie in meinen doch jetzt fast 40 Jahren war. Ich hab da defintiv was verpasst und sage hier schon mal Danke für`s herführen.<br /><br />Das führte auch dazu, dass wir uns hier bestimmt 2 Std aufgehalten hatten, obwohl wir die Botschaft in Form des nächsten Rätsels bereits in der Tasche hatten. Der Lösungsweg war zwar aufgrund des Hinweises schnell klar, aber vor Ort hatten wir da keine Chance, schon gar nicht an einem Feiertag. Na gut...Abbruch und dafür noch ein wenig die Lokation genossen <img src=\"/images/icons/icon_smile_wink.gif\" border=\"0\" align=\"middle\" /><br /><br />Aus dem Kopf habe ich es aber nicht bekommen. Am nächsten Tag auf der Arbeit dann ein wenig Internetrecherche, Telefon in die Hand und kackfrech mal unter einem unaufälligem Vorwand nachgeforscht. Fazit: Okay, nur der halbe Lösungsweg, aber die Erkenntis: Auch Beamte können durchaus freundlich und hilfbereit sein, auch wenn man mit einer noch so dämlichen Begründung kommt, warum man jene oder welche Information braucht <img src=\"/images/icons/icon_smile_big.gif\" border=\"0\" align=\"middle\" /><br />Netterweise habe ich aber die benötigten Informationen dann doch per Mail bekommen und konnte mir einen kleinen Weg sparen. Also Rundmail an die Mitcacher und noch am selben Abend hatten wir des Rätsels Lösung :-)<br />Heute gings dann auf die entscheidene Expedition. Nachdem unser, durchaus mit blindem Vertrauen ausgestattteten, Kletteraffe das erste mal den Kopf schüttelte, kam auch noch eine interessierte Muggelfrau angetrabt, die uns begeistert empfangen hat, weil wir uns für diese tolle Örtlichkeit in Hannover interessieren.<img src=\"/images/icons/icon_smile_big.gif\" border=\"0\" align=\"middle\" /><br /> Gott sei Dank hatten wir aber alle ja schon den ganzen Tag das Internet durchforstet, weil dieser schöne Ort eine Menge Interesse geweckt hatte. So konnten wir völlig überzeugend behaupten, dass wir uns hier alleine für die Historie an diesem Ort interessieren. Wir alle glänzten wohl so mit Wissen über diesen leider schon fast vergessenen Ort, dass sie befriedigt wieder abdampfte, natürlich nicht ohne uns noch für die nächste Veranstalltung hier einzuladen <img src=\"/images/icons/icon_smile_cool.gif\" border=\"0\" align=\"middle\" /><br /><br />Vorsichtshalber sind wir aber erstmal abgedampft, riskieren wollten wir dann doch lieber nix.<br /><br />Blöd, dass 30 Minuten später sich aber jemand auf der Bank in der Nähe niedergelassen hat...also wieder Abruch und unsere Vermutung lieber nochmal durch einen TJ bestätigen lassen.<br /><br />1 Std später dann der 3. Versuch und siehe da: Maxx hatte endlich den richtigen Griff und über das blinde Vertrauen zu Solit diskutieren wir dann nochmal <img src=\"/images/icons/icon_smile_big.gif\" border=\"0\" align=\"middle\" /> Das hätte schneller gehen können an dem Abend <img src=\"/images/icons/icon_smile_wink.gif\" border=\"0\" align=\"middle\" /><br />Zielgebiet für den Bonus ist auch schon ausgemacht, hoffe wir kriegen das jetzt Zeitnah hin.<br /><br />Mein lieber Scholli! Ich habs ja nicht so mit dem urbanen, aber dieser Cache hat`s echt rausgehauen. Tolle Story und super schöne Lokations. Alles Stimmig, aber trotzdem gibts nur 4,5 * bei GCvote! Warum? Der war eindeutig zu kurz <img src=\"/images/icons/icon_smile_big.gif\" border=\"0\" align=\"middle\" /> Begeistert hat mich vorallendingen die Phantasie des Owners und die schönen Orte die er dabei zeigt.<br /><br />Ich freu mich auf den 2. Teil!!<br /><br />P.S.: Natürlich gibts nen Schleifchen <img src=\"/images/icons/icon_smile_wink.gif\" border=\"0\" align=\"middle\" />","Created":"11/04/2012","Visited":"11/04/2012","UserName":"Holly72","MembershipLevel":3,"AccountID":1629836,"AccountGuid":"ba5ae6a6-6772-43ef-94a0-2acbe791eab6","Email":"","AvatarImage":"ed678d94-8425-48f3-89d8-baa77e4a1792.jpg","GeocacheFindCount":1312,"GeocacheHideCount":2,"ChallengesCompleted":0,"IsEncoded":false,"creator":{"GroupTitle":"Premium Member","GroupImageUrl":"/images/icons/prem_user.gif"},"Images":[]},{"LogID":225792839,"CacheID":1997597,"LogGuid":"39317443-7fc7-4694-9000-e483b451a976","Latitude":null,"Longitude":null,"LatLonString":"","LogType":"Found it","LogTypeImage":"icon_smile.gif","LogText":"Schön vor längerer Zeit viel uns dieser Cache mit dem verheißungsvollen Listing auf. Beim ersten Versuch hielt uns noch der Bauzaun auf und da urbanes Cachen sonst nicht sonst unser ist, war erst einmal Pause. Trotzdem hielt mich der Cache weiter in seinem Bann und tief in meinem Gedächtnis wurde ich auf geheimnisvolle Weise immer wieder erinnert. <br />Am Osterwochenende war es dann soweit. Der Bauzaun ist weg, die erste Station wurde gefunden und auch die zweite konnte sich nicht lange verbergen. Leider war Ostermontag und das folgende Rätsel konnte erstmal nicht gelöst werden. Also abwarten bis Dienstag, die Fährte wurde durch die Rätselabteilung wieder aufgenommen und am heutigen Mittwoche folgte dann der finale Akt. <br />Zuerst war ich mit Blindheit geschlagen und konnte leider nichts finden. Als dann noch einige Muggels auftauchten kam der vorläufige Abbruch. <br />Etwas später am Abend und nach kurzer Rückversicherung durch einen geheimen Informanten dann der zweite und glücklichere Versuch. Ein Griff von Maxx Volume und der Schatz war unser.<br /><br />Vielen Dank für den schönen und stimmigen Cache. Ich freue mich schon jetzt auf die kommenden Aufgaben.<br /><br />Trade: out nix, in Coin und Fav P<br /><br />PS: Der TB befindet sich nicht mehr in der Dose","Created":"11/04/2012","Visited":"11/04/2012","UserName":"SoliT","MembershipLevel":3,"AccountID":1585608,"AccountGuid":"eaa49324-c13c-4731-bf47-2215d490ae36","Email":"","AvatarImage":"b869a475-59fe-46e2-ba08-993365f3fbea.jpg","GeocacheFindCount":1380,"GeocacheHideCount":6,"ChallengesCompleted":0,"IsEncoded":false,"creator":{"GroupTitle":"Premium Member","GroupImageUrl":"/images/icons/prem_user.gif"},"Images":[]},{"LogID":218682490,"CacheID":1997597,"LogGuid":"c33663a4-35d1-4754-85c4-91217bbd6a6f","Latitude":null,"Longitude":null,"LatLonString":"","LogType":"Found it","LogTypeImage":"icon_smile.gif","LogText":"Was soll ich sagen, einfach klasse! <br />Auf den Cache kam ich durch Erzählungen von MASET. Der Herr berichtete mir ausführlich von den Stationen und von allem anderen auch und auch von dem Bonus.<br />Total gespannt schnappte ich mir Jango192002 und die Tour ging los.<br />Am Start angekommen wurde versucht und versucht und keine Idee. Die Zeit verstrich. Bis dann die Idee von Jango kam. Guck mal hier hieß es und es ging dann zügig los.<br />Die nächste Station wurde schnell gefunden und auf zur nächsten Station.<br />Da saßen wir nun. Mit wirren Sachen auf dem Zettel und irgendwie nur was halbsinnvollem. Also Internet raus, Tante Google wusste Rat. Auf zur nächsten Station und suchen.<br />Die Sucherei dauerte doch länger als geplant, bis dann beim zweiten Mal gucken alles gesehen wurde.<br /><br />Der Cache war eine tolle Herausforderung und hat richtig Spaß gemacht.","Created":"15/03/2012","Visited":"14/03/2012","UserName":"Trangfoedsel","MembershipLevel":3,"AccountID":3341409,"AccountGuid":"564f0139-4b21-4790-aa52-ac56c8588a67","Email":"","AvatarImage":"049bf355-9e39-44e5-8ecb-cff24fa74d00.jpg","GeocacheFindCount":1103,"GeocacheHideCount":7,"ChallengesCompleted":0,"IsEncoded":false,"creator":{"GroupTitle":"Premium Member","GroupImageUrl":"/images/icons/prem_user.gif"},"Images":[]},{"LogID":218518534,"CacheID":1997597,"LogGuid":"0631a4c1-2735-4139-96ff-4c620addd7ce","Latitude":null,"Longitude":null,"LatLonString":"","LogType":"Found it","LogTypeImage":"icon_smile.gif","LogText":"Heute mit Trangfoedsel gemacht. Schöne Idee!! Hat Spaß gemacht.","Created":"14/03/2012","Visited":"14/03/2012","UserName":"Jango192002","MembershipLevel":3,"AccountID":5239707,"AccountGuid":"2100d9e8-3203-41a4-9c2a-28fa37532690","Email":"","AvatarImage":"161fd5b3-c6ae-4753-9180-ab527695f163.jpg","GeocacheFindCount":111,"GeocacheHideCount":1,"ChallengesCompleted":0,"IsEncoded":false,"creator":{"GroupTitle":"Premium Member","GroupImageUrl":"/images/icons/prem_user.gif"},"Images":[]}], "pageInfo": { "idx":1, "size": 25, "totalRows": 109, "rows": 109 } };
+initalLogs = {"status":"success", "data": [{"LogID":275052035,"CacheID":1997597,"LogGuid":"bfdce334-fc48-426a-8088-fb3d18e630fe","Latitude":null,"Longitude":null,"LatLonString":"","LogType":"Found it","LogTypeImage":"2.png","LogText":"Wirklich schöne Ideen sind in diesem Cache integriert, wofür sich auch die etwas weiteren Wege zwischen den Stationen lohnen. Am mit einem mobilen Cachemobil ist auch das kein Problem. Nur irgendwie hatten wir uns auch auf mehr Stationen eingestellt und somit waren wir am Final ziemlich erstaunt, als wir plötzlich eine Dose mit Logbuch in der Hand hielten ;-) Somit heisst es jetzt also: Auf zu den nächsten Teilen!<br /><br />Dnake sagt,<br />Team mcruiser","Created":"22/10/2012","Visited":"19/10/2012","UserName":"mcruiser","MembershipLevel":3,"AccountID":2871577,"AccountGuid":"b9304189-bc78-46ad-8030-de65273ab51f","Email":"","AvatarImage":"db316631-c9a7-445d-abaf-a8f279395c3e.jpg","GeocacheFindCount":731,"GeocacheHideCount":0,"ChallengesCompleted":0,"IsEncoded":false,"creator":{"GroupTitle":"Premium Member","GroupImageUrl":"/images/icons/prem_user.gif"},"Images":[]},{"LogID":274038781,"CacheID":1997597,"LogGuid":"34c782af-80bb-4cf8-b24a-f3f95dd17392","Latitude":null,"Longitude":null,"LatLonString":"","LogType":"Found it","LogTypeImage":"2.png","LogText":"Sehr sehr schön gemacht, nur warum war er so schnell vorbei? Da standen wir nun und hatten die Barmherzigkeit gefunden ... Schöne Statíonen, Klasse umsetzung. TFTC und Gruß Team Zaboe","Created":"19/10/2012","Visited":"19/10/2012","UserName":"Zaboe","MembershipLevel":1,"AccountID":1317590,"AccountGuid":"f0e14fc7-7199-425c-8d27-7d7b9713bf40","Email":"","AvatarImage":"1bdd7883-33ef-40fe-b422-59b07b196be3.jpg","GeocacheFindCount":3204,"GeocacheHideCount":73,"ChallengesCompleted":0,"IsEncoded":false,"creator":{"GroupTitle":"Member","GroupImageUrl":"/images/icons/reg_user.gif"},"Images":[]},{"LogID":269970920,"CacheID":1997597,"LogGuid":"deae18a7-b101-486e-ad07-8026343d765d","Latitude":null,"Longitude":null,"LatLonString":"","LogType":"Found it","LogTypeImage":"2.png","LogText":"Endlich geschafft...Hat lange gedauert und war jede Minute Einsatz wert.<br />Vielen Dank für die Herausforderung...<br />DFDC und Fav. Punkt","Created":"30/09/2012","Visited":"26/09/2012","UserName":"leonberger307","MembershipLevel":3,"AccountID":1179496,"AccountGuid":"d017e12b-83b3-4ec9-bd05-54cbb0d9c150","Email":"","AvatarImage":"112aa46e-fe0a-464c-990e-6bff1c61bda7.jpg","GeocacheFindCount":2481,"GeocacheHideCount":0,"ChallengesCompleted":0,"IsEncoded":false,"creator":{"GroupTitle":"Premium Member","GroupImageUrl":"/images/icons/prem_user.gif"},"Images":[]},{"LogID":256692614,"CacheID":1997597,"LogGuid":"0b464bea-2c26-4f71-a750-4503a55e901f","Latitude":null,"Longitude":null,"LatLonString":"","LogType":"Found it","LogTypeImage":"2.png","LogText":"Was soll ich nur schreiben, was noch nicht geschrieben wurde?<br />Obwohl ich ja schon einige von Indi gemacht habe, wird man jedesmal wieder positiv überrascht.<br />Da ich nicht oft nach Hannover komme, musst ich diesen mysteriösen Multi stückeln um zum gewünschten Erfolg zu kommen. <br />Vielen Dank für diese tolle Tour, die natürlich (wie schon so oft bei den Indi-Dosen) eine blaue Schleife bekommt.<br /><br />Schöne Grüße,<br />Majoti","Created":"11/08/2012","Visited":"11/08/2012","UserName":"Majoti","MembershipLevel":3,"AccountID":3432542,"AccountGuid":"1ec93712-382c-4859-aa64-1eca126b5914","Email":"","AvatarImage":"22a4b94a-a38b-4db1-8ac3-0582a6281759.jpg","GeocacheFindCount":1625,"GeocacheHideCount":15,"ChallengesCompleted":0,"IsEncoded":false,"creator":{"GroupTitle":"Premium Member","GroupImageUrl":"/images/icons/prem_user.gif"},"Images":[]},{"LogID":255282680,"CacheID":1997597,"LogGuid":"f7cb6941-dcea-4c31-ba43-f3d9d3cf3862","Latitude":null,"Longitude":null,"LatLonString":"","LogType":"Found it","LogTypeImage":"2.png","LogText":"Irgendwie fehlte immer die Zeit mit dieser tollen Serie endlich einmal anzufangen.<br />Dies wurde dann in den letzten Tagen in kleinen Mittagspausenetappen peu a peu nachgeholt.<br /><br />Schnell waren wir gefangen von den tollen Rätseln, die - ohne viel übertriebenem Pomp - die Stimmung der Filme gut eingefangen haben.<br /><br />Wie bei guten Filmen schwang dann heute mit dem Fund des Finals auch ein wenig Wehmut - wie schon vorbei? - mit.<br />Glücklicherweise haben wir ja noch 3 Teile dieser tollen Serie vor uns, auf die wir uns freuen können <img src=\"/images/icons/icon_smile_big.gif\" border=\"0\" align=\"middle\" /><br /><br />Die Wurms bedanken sich für diesen tollen ersten Teil und steigen ein in die Planung von Bonus, Teil 2 und Megabonus","Created":"06/08/2012","Visited":"06/08/2012","UserName":"Wurms","MembershipLevel":3,"AccountID":1807277,"AccountGuid":"77ee9fa9-15ae-49f6-9fea-1a9617fd69e2","Email":"","AvatarImage":"4dcfbc24-ff19-439d-bc08-78eea619a9ad.jpg","GeocacheFindCount":1119,"GeocacheHideCount":3,"ChallengesCompleted":3,"IsEncoded":false,"creator":{"GroupTitle":"Premium Member","GroupImageUrl":"/images/icons/prem_user.gif"},"Images":[]},{"LogID":248418841,"CacheID":1997597,"LogGuid":"fa0a5d50-393b-42cf-be22-04e92fcc406c","Latitude":null,"Longitude":null,"LatLonString":"","LogType":"Found it","LogTypeImage":"2.png","LogText":"Geschafft! Aus Zeitgründen in mehreren Etappen die Angaben für den Bonus erarbeitet (auch dieser wird wieder eine separate Etappe). SEHR schöne Rätsel, wie von Indy nicht anders erwartet.<br />Freuen uns schon auf den Bonus und vor allem auf Teil 2!<br /><br />TFTC!<br /><br />Und natürlich gibt es hier einen FAV-Punkt!","Created":"12/07/2012","Visited":"11/07/2012","UserName":"Bergwerksdirektor","MembershipLevel":3,"AccountID":1953807,"AccountGuid":"a48e7098-1972-4401-8dda-92e242fda777","Email":"","AvatarImage":"2f8cb388-7ef0-4b76-8e4b-2de047e69d8e.jpg","GeocacheFindCount":2539,"GeocacheHideCount":11,"ChallengesCompleted":1,"IsEncoded":false,"creator":{"GroupTitle":"Premium Member","GroupImageUrl":"/images/icons/prem_user.gif"},"Images":[]},{"LogID":248535464,"CacheID":1997597,"LogGuid":"73524950-f7ab-4f42-9152-7867210357ca","Latitude":null,"Longitude":null,"LatLonString":"","LogType":"Found it","LogTypeImage":"2.png","LogText":"Puh, das war eine harte Nuss. Es bedurfte mehrerer Anläufe und der tatkräftigen Hilfe eines größeren Herrns, bis wir endlich vor dem Final standen. Tolle Locations, knackige Rätsel, abwechslungsreiche Stationen,so macht Geocaching richtig Spaß. Und das Beste: Mit diesem Fund ist unsere Matrix voll. Ich freue mich schon auf Teil 2.<br />Danke für für diesen Supercache, das ist einen FP wert.","Created":"12/07/2012","Visited":"08/07/2012","UserName":"I Carbonari","MembershipLevel":3,"AccountID":2941642,"AccountGuid":"3b9ac9a6-3d82-48aa-ab00-caf78d1de23a","Email":"","AvatarImage":"","GeocacheFindCount":1356,"GeocacheHideCount":0,"ChallengesCompleted":0,"IsEncoded":false,"creator":{"GroupTitle":"Premium Member","GroupImageUrl":"/images/icons/prem_user.gif"},"Images":[]},{"LogID":247532751,"CacheID":1997597,"LogGuid":"57ea561d-40ad-4dee-bfe7-a2cef652ebc6","Latitude":null,"Longitude":null,"LatLonString":"","LogType":"Found it","LogTypeImage":"2.png","LogText":"Mit den ausgezeichnet ausgewählten Stationen und den zugehörigen tollen Rätseln konnte ich sehr gut in die Rolle des Indiana Jones schlüpfen. Das war eine klasse Runde!<br /><br />An der schönen Finallokation zelebrierten die manchmal hier anzutreffenden Bacchus-Muggel aufgrund des vorangegangen Regens wahrscheinlich anderorts, so dass sich das Final relativ ungestört finden lies.<br /><br />DfdC, der von mir einen FP bekommt.","Created":"08/07/2012","Visited":"08/07/2012","UserName":"CaptnSharky","MembershipLevel":3,"AccountID":3673438,"AccountGuid":"357368ce-02f6-4419-8ba7-279afe889345","Email":"","AvatarImage":"c4a9b686-1602-4ee2-a252-2ba59921867d.jpg","GeocacheFindCount":702,"GeocacheHideCount":1,"ChallengesCompleted":2,"IsEncoded":false,"creator":{"GroupTitle":"Premium Member","GroupImageUrl":"/images/icons/prem_user.gif"},"Images":[]},{"LogID":245388909,"CacheID":1997597,"LogGuid":"b8a06f0a-05e6-4dea-ab27-53a5f0026e51","Latitude":null,"Longitude":null,"LatLonString":"","LogType":"Found it","LogTypeImage":"2.png","LogText":"Vor einem halben Jahr hatte ich endlich die richtige Idee wo die Schattenlinie zu finden ist. Aber wieso steht in den Attributen das Kletterausrüstung benötigt wird ? Sicherheitshalber noch mal den Owner kontaktiert, Entwarnung ! Passenderweise bin ich den Tag drauf in der Nähe des Starts, wo ich schon zwei Wochen zuvor nichtsahnend gewesen bin...<br /><br />Der Start: Es ist dunkel. Es ist ein LP mitten in der City !. Niemand da. Das was ich suche, finde ich nicht. Dafür etwas anderes Brauchbares. Also auf gut Glück versucht. Und siehe da: Erfolg ! Aber was ist das: wo zeigen die KOs hin ? Doch klettern ? Kurz die Gegend abgecheckt, Spoiler rausgekramt... Erneut Entwarnung. Kleinen Umweg für den nächsten Tag eingeplant.<br /><br />ZS1: Ich bin ganz allein auf dem großen Gelände. Da es schon dunkel wird kommt richtig Grusel-Stimmung auf. Die ZS kann ich schnell finden. Zum Enträtseln vor Ort ist es mir aber zu kalt.<br /><br />ZS2: Die Location kann zügig ermittelt werden. Da ich nur sehr selten in dieser Gegend bin übernimmt ein befreundeter Cacher die \"Besorgung\".<br /><br />Finale: Zusammen mit JoSaMaJa suche ich erneut das Finale auf nach dem ich unter der Woche keinen Erfolg hatte (starker Regen & nichtseßhafte Person direkt vor Ort). Heute haben wir bei diesem LP Erfolg !<br /><br />Fazit: Großes Kino - ein Cache der bei mir das richtige Indianer Jones Feeling aufkommen ließ. Tolle LPs in der Stadt, Archäologen-Tätigkeiten, was will man mehr !","Created":"30/06/2012","Visited":"30/06/2012","UserName":"blafoo","MembershipLevel":3,"AccountID":1912314,"AccountGuid":"0564a940-8311-40ee-8e76-7e91b2cf6284","Email":"","AvatarImage":"50f83123-27d8-4dcf-9fde-2af006efaf2b.jpg","GeocacheFindCount":725,"GeocacheHideCount":8,"ChallengesCompleted":3,"IsEncoded":false,"creator":{"GroupTitle":"Premium Member","GroupImageUrl":"/images/icons/prem_user.gif"},"Images":[]},{"LogID":245426156,"CacheID":1997597,"LogGuid":"07775c35-04d0-4aeb-a356-7cd98eb458c2","Latitude":null,"Longitude":null,"LatLonString":"","LogType":"Found it","LogTypeImage":"2.png","LogText":"Ohne Blafoo hätte ich den nie geschafft. Durch Zufall und mit viel Hilfe konnte ich dann auch hier zugreifen. Vielen Dank an den Owner vom Nachbarort!","Created":"30/06/2012","Visited":"29/06/2012","UserName":"JoSaMaJa","MembershipLevel":3,"AccountID":4793174,"AccountGuid":"4d416461-d1a7-4cc5-8ee7-336bb910feb8","Email":"","AvatarImage":"e8a97a05-a051-4da9-bc93-6a830b866aff.jpg","GeocacheFindCount":372,"GeocacheHideCount":4,"ChallengesCompleted":0,"IsEncoded":false,"creator":{"GroupTitle":"Premium Member","GroupImageUrl":"/images/icons/prem_user.gif"},"Images":[]},{"LogID":241251492,"CacheID":1997597,"LogGuid":"87247535-a79a-468e-985e-5d99abd07729","Latitude":null,"Longitude":null,"LatLonString":"","LogType":"Found it","LogTypeImage":"2.png","LogText":"<img src=\"/images/icons/icon_smile_big.gif\" border=\"0\" align=\"middle\" /><img src=\"/images/icons/icon_smile_big.gif\" border=\"0\" align=\"middle\" /><img src=\"/images/icons/icon_smile_big.gif\" border=\"0\" align=\"middle\" /> Nr. 2.000 <img src=\"/images/icons/icon_smile_big.gif\" border=\"0\" align=\"middle\" /><img src=\"/images/icons/icon_smile_big.gif\" border=\"0\" align=\"middle\" /><img src=\"/images/icons/icon_smile_big.gif\" border=\"0\" align=\"middle\" /><br /><br />Schon vor einiger Zeit haben wir überlegt, was wohl ein würdiger Cache für unser Jubiläum sein könnte. Schnell einigten wir uns darauf, dafür den Spuren des Indianer Jones zu folgen.<br />Also den Schlapphut aufgesetzt und die Peitsche aus der SM-Schublade geschnappt und los ging's! Von Station zu Station hangelten wir uns Prof-Jones-like vorwärts und wurden heute mit dem Fund der Dose punktgenau nach dem 1999. gestern belohnt! <br />Die Wahl war die richtige: Ein ganz toller Cache, der uns sehr viel Spaß gemacht hat und an den wir uns jetzt immer, wenn wir unsere Statistik ansehen, erinnern können. Natürlich gibt's dafür einen Favoritenpunkt von uns. Dann noch ein herzliches Dankeschön und viele Grüße an Indi, den Merlyn und Reflektordetektor!<br /><br />P.S. Wir freuen uns schon auf Teil 2. Hoffen aber, dass wir ihn vor dem 3000. finden werden!<br />P.P.S. Vielen Dank an die Baumfee und den Schnatzfänger für die Begleitung, die Glückwünsche und das Erinnerungsfoto!","Created":"10/06/2012","Visited":"10/06/2012","UserName":"4Engel","MembershipLevel":3,"AccountID":2473723,"AccountGuid":"e5356bcb-f3b4-4b90-89a7-e01fb70d5ebb","Email":"","AvatarImage":"1eafbd7c-d6e2-4f57-86bf-05f316ec9026.jpg","GeocacheFindCount":2346,"GeocacheHideCount":20,"ChallengesCompleted":0,"IsEncoded":false,"creator":{"GroupTitle":"Premium Member","GroupImageUrl":"/images/icons/prem_user.gif"},"Images":[]},{"LogID":241063085,"CacheID":1997597,"LogGuid":"0b32b7a8-2a91-465a-8917-00f15371cbc7","Latitude":null,"Longitude":null,"LatLonString":"","LogType":"Found it","LogTypeImage":"2.png","LogText":"# 1691 - als uns die 4Engel vor einigen Tagen ansprachen, ob wir gemeinsam diesen Indiana Jones Cache angehen wollen, war ich sofort \"Feuer und Flamme\". Schließlich hat man diese Filme schon mehrfach im Kino bzw. im Fernsehen mit Begeisterung angeschaut.<br />In mehreren Etappen haben wir uns dem Final genähert. Bei der Sucherei und Recherche konnte man<br />gut in die Rolle des Dr. Jones schlüpfen. Besonders gut gefallen hat mir dabei die Station 1.<br />Für diesen etwas anderen Cache bedanke ich mich beim Owner und natürlich bei dem Team - Schnatzfänger<br /><br />Werden weitere Abenteuer folgen??? Auf jeden Fall erst einmal einen Fav.-Punkt.<br />Die 4Engel hatten heute ein weiteren Grund zum Feiern - dieser besondere Cache war die Nr. 2000","Created":"10/06/2012","Visited":"10/06/2012","UserName":"Schnatzfänger","MembershipLevel":3,"AccountID":3963266,"AccountGuid":"deef3a33-242e-44a3-9520-30105d838d7b","Email":"","AvatarImage":"bc17b3a6-29ee-427d-b819-755b1e6986e3.jpg","GeocacheFindCount":2267,"GeocacheHideCount":3,"ChallengesCompleted":3,"IsEncoded":false,"creator":{"GroupTitle":"Premium Member","GroupImageUrl":"/images/icons/prem_user.gif"},"Images":[{"ImageID":14387354,"ImageGuid":"7f0e3db3-8969-4c35-a14d-f0af69f0b652","Name":"die glücklichen 4Engel","Descr":"Glückwunsch zum 2000. Cache am 10.06.2012","FileName":"7f0e3db3-8969-4c35-a14d-f0af69f0b652.jpg","Created":"10/06/2012","LogID":241063085,"CacheID":1997597,"ImageUrl":null}]},{"LogID":240175314,"CacheID":1997597,"LogGuid":"5021a2d1-63be-4e67-ab1b-4c45ecf2e3eb","Latitude":null,"Longitude":null,"LatLonString":"","LogType":"Found it","LogTypeImage":"2.png","LogText":"Das ist doch mal ein schönes Beispiel eines urbanen Caches, der intelligent gemacht ist. <br /><br />Schöne Tour, die viel Spass gemacht hat. Leider ist das Gebiet rund ums Final ziemlich verdreckt und teilweise echt mit Vorsicht zu geniessen. Trotzdem: Fav-Punkt von mir...<br /><br />Gruß<br />Alex","Created":"07/06/2012","Visited":"07/06/2012","UserName":"GrafEssinghausen","MembershipLevel":3,"AccountID":1724814,"AccountGuid":"637708df-0b93-4ff8-a20b-48ed5d1ab2eb","Email":"","AvatarImage":"691d0302-1e78-4fa5-9570-1b5aaf899f5c.jpg","GeocacheFindCount":846,"GeocacheHideCount":13,"ChallengesCompleted":3,"IsEncoded":false,"creator":{"GroupTitle":"Premium Member","GroupImageUrl":"/images/icons/prem_user.gif"},"Images":[]},{"LogID":239040984,"CacheID":1997597,"LogGuid":"a2f40089-7656-4a37-82c7-a6157730d5cb","Latitude":null,"Longitude":null,"LatLonString":"","LogType":"Found it","LogTypeImage":"2.png","LogText":"Ja, der ist mal richtig geil... Diesen hier zu machen hat uns so viel Spaß gebracht, dass wir uns erstmal ganz lieb beim Owner bedanken möchten.<br /><br />Alles top ausgearbeitet, logische Rätsel etc. nur am Start taten wir uns etwas schwer, weil wir hier viel zu kompliziert gedacht haben.<br />Aber dann machte sich ein grinsen in unseren Gesichtern breit <img src=\"/images/icons/icon_smile_big.gif\" border=\"0\" align=\"middle\" /> und wir summten die Indi Melody.<br /><br />Freuen uns schon riesig, wie die Serie weiter geht, einziges Problem ist nur das wir keine T5 Ausrüstung besitzen... schluchz... aber vielleicht lernen wir ja noch das Fliegen. <img src=\"/images/icons/icon_smile_big.gif\" border=\"0\" align=\"middle\" /><br /><br />Der bekommt natürlich auch einen FAVpoint.<br /><br />Danke für diesen schönen Cache !!!<br /><br />Haben keinen TB gesichtet und Zettel zum mitnehmen sind keine mehr da (haben den letzten drin gelassen).","Created":"02/06/2012","Visited":"02/06/2012","UserName":"dghobbit","MembershipLevel":3,"AccountID":4213957,"AccountGuid":"41d21c3a-5131-475d-aa27-e60b24fb5049","Email":"","AvatarImage":"f6341881-f5ca-4a2c-9af3-c6402a8aa27e.jpg","GeocacheFindCount":764,"GeocacheHideCount":0,"ChallengesCompleted":0,"IsEncoded":false,"creator":{"GroupTitle":"Premium Member","GroupImageUrl":"/images/icons/prem_user.gif"},"Images":[]},{"LogID":238434288,"CacheID":1997597,"LogGuid":"29d3f400-9e8f-44e3-b6bf-0671ef3583f0","Latitude":null,"Longitude":null,"LatLonString":"","LogType":"Found it","LogTypeImage":"2.png","LogText":"Uahhhuahhh!! Krass!!! <img src=\"/images/icons/icon_smile_cool.gif\" border=\"0\" align=\"middle\" /> <img src=\"/images/icons/icon_smile_approve.gif\" border=\"0\" align=\"middle\" /><br /><br />WOW!! Keine Ahnung.... eigentlich kann ich hier nix schreiben... jedenfalls nichts Vernünftiges. Es ist schon ziemlich fett.<br /><br />Mit Indianer Jones 2 fing es eigentlich bei uns an, gefolgt von einigen Pigmentoseschwaden und danach war es für mich erledigt! DAS WILL ICH JETZT AUCH!!<br /><br />Aber, ... <img src=\"/images/icons/icon_smile_question.gif\" border=\"0\" align=\"middle\" /> <img src=\"/images/icons/icon_smile_question.gif\" border=\"0\" align=\"middle\" /> <img src=\"/images/icons/icon_smile_question.gif\" border=\"0\" align=\"middle\" /> ... okay..... vielleicht doch nicht ... DOCH!!!! <br /><br />Also blieb nichts, als Gehirnschmalz zu mischen und irgendwie, weiss nicht... einfach mal los!<br /><br />Raus aus der Sicherheit des Heimatdorfes und hinein in das Ungewisse. <img src=\"/images/icons/icon_smile_question.gif\" border=\"0\" align=\"middle\" /> Jaaaa.... da wurden mir schon einige Steine in den Weg gelegt, die den Weg zum Ziel schon sehr verlängerten..... <img src=\"/images/icons/icon_smile_wink.gif\" border=\"0\" align=\"middle\" /> <br /><br />Aber einmal festgebissen ist festgebissen.<br /><br /><br />COOL , COOL, COOL!!! FP ist klar!<br /><br />Danke für dieses Riesenabenteuer sagt Aufm","Created":"30/05/2012","Visited":"30/05/2012","UserName":"Aufm","MembershipLevel":3,"AccountID":4579634,"AccountGuid":"82f457a9-b981-47e9-a9d4-bae00100dd52","Email":"","AvatarImage":"352ea3ae-0f0b-40dd-9885-ee187bb1ad18.jpg","GeocacheFindCount":1078,"GeocacheHideCount":14,"ChallengesCompleted":2,"IsEncoded":false,"creator":{"GroupTitle":"Premium Member","GroupImageUrl":"/images/icons/prem_user.gif"},"Images":[]},{"LogID":236934812,"CacheID":1997597,"LogGuid":"a1a214fa-6e56-429d-808a-59fae88a4f12","Latitude":null,"Longitude":null,"LatLonString":"","LogType":"Found it","LogTypeImage":"2.png","LogText":"<b>WOW!!!</b><br /><br />Der hier hat richtig Spaß gemacht!!! Der Name des Caches verspricht nicht zu viel und auch als zugereister Hannoveraner mit mehreren Jahren Stadtkenntnis durfte ich noch einige neue interessante Orte kennen lernen. Aber von Vorne:<br /><br />Bereits am Tage der Veröffentlichung hatte ich den Cache auf meine Watchlist gesetzt. Das Listing versprach viel Spaß und Spannung, nur keine Schokolade (was ich aber billigend in Kauf nehmen wollte!). Da ich seit geraumer Zeit nicht mehr in der Stadt sondern im Umfeld Hannovers wohne, hat sich immer kein richtiger Anlass ergeben, diesen Cache mal anzugehen. Anfang April sollte es dann endlich so weit sein: Insgesamt vier Wochen, jeweils im Abstand von mehreren Wochen, Seminar stand an. Und so ergaben sich dann nach anstrengenden Tag die gerechten Möglichkeiten zum entspannten Ausgleich!<br /><br />Also ging es dann Anfang April an den Start, den ich natürlich bereits lange vorher ausfindig gemacht hatte. Dummerweise hatte ich seit dem Erscheinen des Caches das Listing nicht mehr durchgelesen, wodurch ich unverrichteter Dinge wieder verschwinden musste, da ich logischerweise auch nicht das Hilfsmittel dabei hatte... <br /><br />Zwei Tage später ging es dann aber noch einmal mit der richtigen Ausrüstung hierher und es blitzte das erste Mal die Qualität und der Ideenreichtum dieses Caches auf. Die Folgekoordinaten waren schnell ermittelt. Da ich mich bereits auf dem Weg zu einer Verabredung war, beschloss ich am kommenden Tag, die nächste Station nach dem Seminar anzugehen.<br /><br />Gesagt getan! Doch leider machten mir \"bestimmte Randbedingungen\" einen Strich durch meine Rechnung, so dass ich unverrichteter Dinge wieder verschwinden musste. Da der Seminar-Samstag nicht so lang war wie die anderen Tage, konnte ich am Ende der ersten Seminarwoche dann hier auch endlich fündig werden. Wie am Start auch, war ich vom gewählten Ort fasziniert und genoss nach dem Finden noch ein wenig die tolle Atmosphäre des Ortes, von dessen Existenz ich zwar wusste, aber nie geahnt hätte, welche Schönheit und Faszination sich dahinter verbirgt.<br /><br />Der nächste Anlauf auf diesen Cache sollte dann in der nächsten Seminarwoche - Anfang Mai - vollzogen werden.<br /><br />Wieder mit einem schönen und dem Cachenamen angemessenen Rätsel ging es dann an einen öffentlichen Ort, an dem ich in Indi-Manier die nächsten Puzzleteile zusammensetzte. Grandios!<br /><br />Am Ende der zweiten Seminarwoche sollte es dann an den ermittelten Zielkoordinaten weiter gehen. Dort musste ich zwar ein wenig suchen, doch als ich dann fündig wurde, vereitelte mir eine Hochzeitsgesellschaft den Zugriff. Außerdem ist der gewählte Ort nicht besonders dazu geeignet, ohne Stealth-Modus nach der Dose zu suchen. So beschloss ich, mir meine Ideen für diese Station per Mail bestätigen zu lassen und dann - nicht nur um die Stimmung dieses Ortes zu steigern - bei Dunkelheit wieder zu kommen. <br /><br />Die Antwort auf meine Petition ließ nicht lange auf sich warten (nochmals herzlichen Dank dafür!) und so ging es dann gestern Abend wieder an den Ort des Geschehens. Entsetzt musste ich feststellen, dass ein Muggelpaar die nahestehende Parkbank besetzt hatte. Da ich aber nicht noch einen weiteren Anlauf nehmen wollte und die Möglichkeit der ungesehenen Annäherung bestand, konnte ich doch letztendlich gut zugreifen und musste ... \"Öh?!? Das ist ja das Final!\"... schon fast ein wenig enttäuscht feststellen, dass dieser ausgezeichnete Cache für mich beendet war.<br /><br />Wirklich ein kleiner Leckerbissen in der Cacheszene Hannover! Wer den noch nicht hat (und wie ich an den Logs sehe: Das sind viele!): MACHEN!<br /><br />Vielen Dank für diesen schönen Cache, für den ich gerne 4.5 Sterne bei <a href=\"http://www.gcvote.com\" target=\"_blank\" rel=\"nofollow\">GCVote</a> (einen halben Stern Abzug gibt es, weil einige Stationen doch etwas grenzwertig liegen) und einen Fav-Point gebe, sagt<br /><br />DJ_JAS (#1.045)<br /><br />in: Schleifchen!<br />out: Ganz viel Spaß und Spannung!","Created":"25/05/2012","Visited":"25/05/2012","UserName":"dj_jas","MembershipLevel":3,"AccountID":1708158,"AccountGuid":"a6a5c07c-3fc0-4237-a71d-6588cb2c5940","Email":"","AvatarImage":"19b59a16-c74e-4a73-bc8a-569885d80fff.jpg","GeocacheFindCount":1139,"GeocacheHideCount":0,"ChallengesCompleted":1,"IsEncoded":false,"creator":{"GroupTitle":"Premium Member","GroupImageUrl":"/images/icons/prem_user.gif"},"Images":[]},{"LogID":228379603,"CacheID":1997597,"LogGuid":"c7d5b309-1c52-4d53-8d86-25884fecee7d","Latitude":null,"Longitude":null,"LatLonString":"","LogType":"Found it","LogTypeImage":"2.png","LogText":"Nachdem ich mich letzte Woche bei einem wunderschönen NC mit Rei von den Reimeyers über diese schöne Serie unterhalten habe, hat es auch nicht lange gedauert und ich bekam eine Email von den Reimeyers, mit einer Idee, wo sich der Start dieses schönen Caches befinden könnte und es wurde auch schon ein möglicher Termin ins Auge gefasst, diesen Gedankengängen mal nachzugehen. Heute war dann der Tag und siehe da, Reimeyers hatten ins Goldene getroffen <img src=\"/images/icons/icon_smile_big.gif\" border=\"0\" align=\"middle\" />.<br />Und von da ab lief es wie am Schnürchen, Puzzleteil für Puzzleteil fügte sich aneinander und das Bild erschien immer deutlicher. HAMMER, es war ein reiner Genuss den Gedankengängen des Owners auf die Spur zu kommen. Besonders die Station zwei war für mich ein absolutes Highlight.<br />Und so konnten wir uns nach einigen Stunden perfekter Teamarbeit mit einem fetten Grinsen im Logbuch verewigen.<br />Auch bei diesem Cache kann ich nur den Hut ziehen und sagen: perfekte Arbeit, so wie ich das vom Owner kenne und er hat von mir auf jeden Fall ein Fav. verdient.<br />Ich freue mich schon auf den Bonus.<br />Herzlichen Dank und Gruß vom Rattenmann <img src=\"/images/icons/icon_smile_big.gif\" border=\"0\" align=\"middle\" />","Created":"22/04/2012","Visited":"21/04/2012","UserName":"Rattenmann","MembershipLevel":3,"AccountID":4316747,"AccountGuid":"372fe2f7-553e-456f-838b-baa8e43111f4","Email":"","AvatarImage":"cd44c372-779a-45e2-a329-f69e467729c1.jpg","GeocacheFindCount":853,"GeocacheHideCount":6,"ChallengesCompleted":1,"IsEncoded":false,"creator":{"GroupTitle":"Premium Member","GroupImageUrl":"/images/icons/prem_user.gif"},"Images":[]},{"LogID":228157160,"CacheID":1997597,"LogGuid":"c9ee50f6-8431-4857-b5a2-f52f1d307325","Latitude":null,"Longitude":null,"LatLonString":"","LogType":"Found it","LogTypeImage":"2.png","LogText":"sofort gewusst wo das final ist und muggelfrei geloggt.<br />DFDC<br /><br /><br /><br /><br /><img src=\"/images/icons/icon_smile_big.gif\" border=\"0\" align=\"middle\" /> <img src=\"/images/icons/icon_smile_wink.gif\" border=\"0\" align=\"middle\" /> <img src=\"/images/icons/icon_smile_big.gif\" border=\"0\" align=\"middle\" /> <img src=\"/images/icons/icon_smile_wink.gif\" border=\"0\" align=\"middle\" /> <img src=\"/images/icons/icon_smile_big.gif\" border=\"0\" align=\"middle\" /> <img src=\"/images/icons/icon_smile_wink.gif\" border=\"0\" align=\"middle\" /> <img src=\"/images/icons/icon_smile_big.gif\" border=\"0\" align=\"middle\" /> <img src=\"/images/icons/icon_smile_wink.gif\" border=\"0\" align=\"middle\" /> <img src=\"/images/icons/icon_smile_big.gif\" border=\"0\" align=\"middle\" /> <img src=\"/images/icons/icon_smile_wink.gif\" border=\"0\" align=\"middle\" /> <img src=\"/images/icons/icon_smile_big.gif\" border=\"0\" align=\"middle\" /> <img src=\"/images/icons/icon_smile_wink.gif\" border=\"0\" align=\"middle\" /> <img src=\"/images/icons/icon_smile_big.gif\" border=\"0\" align=\"middle\" /> <img src=\"/images/icons/icon_smile_wink.gif\" border=\"0\" align=\"middle\" /> <img src=\"/images/icons/icon_smile_big.gif\" border=\"0\" align=\"middle\" /><br /><br /><br /><br /><br /><br /><br />und nun mal scherz beiseite. als Herr Rei verkündete, glauben zu wissen wo der start ist war die freude erstmal groß. jetzt bloss noch eine passende gelegenheit finden und nichts wie hin. <br /><br />da man indianer jones ja nicht unterschätzen soll, noch tatkräftige unterstützung durch den Rattenmann erbeten. der ließ sich dann auch nicht lange bitten und schon an der ersten station war seine blendende vorarbeit gold wert (ok, dafür ging das frühstück drauf, aber was soll´s <img src=\"/images/icons/icon_smile_big.gif\" border=\"0\" align=\"middle\" />).<br /><br />im kleinen rudel wandelten wir dann weiter auf den spuren und nach und nach setzte sich das bild zusammen. um nicht zu spoilern, fassen wir uns jetzt mal kurz:<br /><br />die spuren waren gut getarnt, das wetter nicht ganz einladend, das kleine rudel toll und jeder sollte sich mal auf indi´s spuren begeben, es lohnt sich! <img src=\"/images/icons/icon_smile.gif\" border=\"0\" align=\"middle\" /> <br /><br />wir sagen danke und packen das auto für den bonus <img src=\"/images/icons/icon_smile_wink.gif\" border=\"0\" align=\"middle\" /><br /><br />viele grüße,<br />die Reimeyers<br /><br />ps.: FAV.PUNKT IN","Created":"21/04/2012","Visited":"21/04/2012","UserName":"Reimeyers","MembershipLevel":3,"AccountID":4808031,"AccountGuid":"b20a5415-05c2-4789-9ce7-6e9d106beb6f","Email":"","AvatarImage":"f9539da1-2c9e-4e49-81ae-57565521b81e.jpg","GeocacheFindCount":933,"GeocacheHideCount":5,"ChallengesCompleted":33,"IsEncoded":false,"creator":{"GroupTitle":"Premium Member","GroupImageUrl":"/images/icons/prem_user.gif"},"Images":[]},{"LogID":227521067,"CacheID":1997597,"LogGuid":"496f563e-04af-47cf-bb6a-43536f3e98ab","Latitude":null,"Longitude":null,"LatLonString":"","LogType":"Found it","LogTypeImage":"2.png","LogText":"Indiana Jones?!? Wer ist das? Zwar schon mal gehört, aber das war es auch! Aber auch ohne Kenntnisse ist dieses ? lösbar, es dauer nur länger, oder man hat jemanden der sich auskennt. So war es uns dann doch möglich die schönen Stationen zu besichtigen und auch als Hannoveraner unbekannte Stellen zu erkunden. Danke für die tollen Ideen, das ist einen FAV wert!","Created":"18/04/2012","Visited":"16/04/2012","UserName":"Kummer und Elend","MembershipLevel":3,"AccountID":3842885,"AccountGuid":"407157b8-7113-405b-a09a-bbb724d0564d","Email":"","AvatarImage":"03d750e5-4dd1-4e9a-a6f7-b1fb56acbfe5.jpg","GeocacheFindCount":970,"GeocacheHideCount":0,"ChallengesCompleted":0,"IsEncoded":false,"creator":{"GroupTitle":"Premium Member","GroupImageUrl":"/images/icons/prem_user.gif"},"Images":[]},{"LogID":227330805,"CacheID":1997597,"LogGuid":"f754fc8b-5a7a-498e-a297-3b0db4338f88","Latitude":null,"Longitude":null,"LatLonString":"","LogType":"Found it","LogTypeImage":"2.png","LogText":"Wer die Filme von Indiana Jones kennt weiss was ihn erwartet. Viel Abenteuer und ganz schwierige Rätsel. Ohne technische Hilfsmittel und Insiderwissen der Hannoveraner hätte ich das Final nie gefunden. Danke für den spannenden Cache, wenn du diesen machst brauchst du keinen Fernseher mehr. Favi obligatorisch.","Created":"16/04/2012","Visited":"16/04/2012","UserName":"Tialys","MembershipLevel":3,"AccountID":2091449,"AccountGuid":"4ed54215-9b99-4de0-b334-c27a99ee3149","Email":"","AvatarImage":"073b0c05-e36f-4cb0-9435-81b1ca80324c.jpg","GeocacheFindCount":1457,"GeocacheHideCount":7,"ChallengesCompleted":0,"IsEncoded":false,"creator":{"GroupTitle":"Premium Member","GroupImageUrl":"/images/icons/prem_user.gif"},"Images":[]},{"LogID":227239669,"CacheID":1997597,"LogGuid":"650462d5-cedf-4f6c-95b7-605e91c4ef2b","Latitude":null,"Longitude":null,"LatLonString":"","LogType":"Found it","LogTypeImage":"2.png","LogText":"Hut ab!<br />Geniale Idee und klasse Umsetzung! Irre was es so zu entdecken gibt!<br /><br />TFTC<br />Witchy70","Created":"16/04/2012","Visited":"16/04/2012","UserName":"witchy70","MembershipLevel":3,"AccountID":1406174,"AccountGuid":"439a004f-25b4-4381-9edd-69f41fbde9cf","Email":"","AvatarImage":"e316a5e6-134a-4364-a311-aee2fbee3f8f.jpg","GeocacheFindCount":951,"GeocacheHideCount":2,"ChallengesCompleted":0,"IsEncoded":false,"creator":{"GroupTitle":"Premium Member","GroupImageUrl":"/images/icons/prem_user.gif"},"Images":[]},{"LogID":226076070,"CacheID":1997597,"LogGuid":"161e24c9-4a29-4b64-8734-9ecc5ad32f45","Latitude":null,"Longitude":null,"LatLonString":"","LogType":"Found it","LogTypeImage":"2.png","LogText":"Der Hammer! Ich bin restlos begeistert und freue mich auf die nächsten Teile. Wirklich eine super Idee und tolle Locations \t<img src=\"/images/icons/icon_smile_cool.gif\" border=\"0\" align=\"middle\" />.<br />Alles andere haben meine drei Mitstreiter ja schon gesagt und ich schließe mich da voll und ganz an.<br /><br />Vielen Dank dafür!","Created":"13/04/2012","Visited":"11/04/2012","UserName":"moosrose0815","MembershipLevel":3,"AccountID":2169157,"AccountGuid":"af88d3d2-4d7a-40c7-926c-eff39aaff531","Email":"","AvatarImage":"f9f27159-8351-4f9a-a43b-dae2faab5a98.jpg","GeocacheFindCount":956,"GeocacheHideCount":0,"ChallengesCompleted":0,"IsEncoded":false,"creator":{"GroupTitle":"Premium Member","GroupImageUrl":"/images/icons/prem_user.gif"},"Images":[]},{"LogID":225983123,"CacheID":1997597,"LogGuid":"c1947936-ff3c-477d-802f-1e0ddc21df40","Latitude":null,"Longitude":null,"LatLonString":"","LogType":"Found it","LogTypeImage":"2.png","LogText":"Ich kann mich meiner Vorrednerin nur anschließen: Das war echt 'ne geile Nummer! <img src=\"/images/icons/icon_smile_cool.gif\" border=\"0\" align=\"middle\" /><br /><br />Besonders interessant fand ich, was man so quasi nebenbei über die unmittelbare Umgebung von ST1 und Final gelernt hat. Hundertmal dran vorbeigefahren und nie wirklich beachtet! <img src=\"/images/icons/icon_smile_blush.gif\" border=\"0\" align=\"middle\" /><br /><br />Über den Rest hat Holly ja ausführlich berichtet, daher bleibt mir nur Danke zu sagen für diese Exkursion in die Lokalhistorie und natürlich für die Dose! <img src=\"/images/icons/icon_smile_big.gif\" border=\"0\" align=\"middle\" /><br /><br /> In: Fav-Punkt<br />Out: Nix<br /><br />#934","Created":"12/04/2012","Visited":"11/04/2012","UserName":"Maxx Volume","MembershipLevel":3,"AccountID":1583481,"AccountGuid":"a1482ae1-352c-4ef4-98cd-fc979bf114e8","Email":"","AvatarImage":"e09b3bae-dc52-4dd7-80b4-2d70276aa043.jpg","GeocacheFindCount":1112,"GeocacheHideCount":0,"ChallengesCompleted":0,"IsEncoded":false,"creator":{"GroupTitle":"Premium Member","GroupImageUrl":"/images/icons/prem_user.gif"},"Images":[]},{"LogID":225802294,"CacheID":1997597,"LogGuid":"5e301b26-a0ca-4165-87d3-8de3507a0e43","Latitude":null,"Longitude":null,"LatLonString":"","LogType":"Found it","LogTypeImage":"2.png","LogText":"Heiliger Mist....war das ein Erlebniss!<img src=\"/images/icons/icon_smile_big.gif\" border=\"0\" align=\"middle\" /> Aber mal von vorne:<br /><br />Bereits letztes Jahr hatte uns Maxx Volume auf diesen Cache gestossen und auch den vermeintlichen Startpunkt hatte er schon verifiziert. Leider liessen Bauzäune keine weiteren Untersuchungen zu und so gelangte dieses Vorhaben leider erstmal in Vergessenheit.<br /><br />Vor 2 Wochen kam dann Solit spontan die Idee, doch mal einfach vorbei zu schauen wie es da heute aussieht und siehe da: Keine Zäune mehr :-)<br />Prima, dann konnte es ja endlich losgehen.<br /><br />Ostermontag dann mal das mistige Wetter zum urbanen Besuch genutzt und schwupps: Schlapphut auf und mit der richtigen Melodie gings auf die Spuren von Indianer Jones <img src=\"/images/icons/icon_smile_cool.gif\" border=\"0\" align=\"middle\" /><br />Die erste Station war ja schon irgendwie der Knaller und flux die Koordinaten eingetippt. Irritationen gab es dabei ausnahmsweise, aufgrund der Vorlogger, nicht. Was ein grandioses Zwischenziel!!<br />Zu meiner Schande muss ich gestehen, dass ich hier noch nie in meinen doch jetzt fast 40 Jahren war. Ich hab da defintiv was verpasst und sage hier schon mal Danke für`s herführen.<br /><br />Das führte auch dazu, dass wir uns hier bestimmt 2 Std aufgehalten hatten, obwohl wir die Botschaft in Form des nächsten Rätsels bereits in der Tasche hatten. Der Lösungsweg war zwar aufgrund des Hinweises schnell klar, aber vor Ort hatten wir da keine Chance, schon gar nicht an einem Feiertag. Na gut...Abbruch und dafür noch ein wenig die Lokation genossen <img src=\"/images/icons/icon_smile_wink.gif\" border=\"0\" align=\"middle\" /><br /><br />Aus dem Kopf habe ich es aber nicht bekommen. Am nächsten Tag auf der Arbeit dann ein wenig Internetrecherche, Telefon in die Hand und kackfrech mal unter einem unaufälligem Vorwand nachgeforscht. Fazit: Okay, nur der halbe Lösungsweg, aber die Erkenntis: Auch Beamte können durchaus freundlich und hilfbereit sein, auch wenn man mit einer noch so dämlichen Begründung kommt, warum man jene oder welche Information braucht <img src=\"/images/icons/icon_smile_big.gif\" border=\"0\" align=\"middle\" /><br />Netterweise habe ich aber die benötigten Informationen dann doch per Mail bekommen und konnte mir einen kleinen Weg sparen. Also Rundmail an die Mitcacher und noch am selben Abend hatten wir des Rätsels Lösung :-)<br />Heute gings dann auf die entscheidene Expedition. Nachdem unser, durchaus mit blindem Vertrauen ausgestattteten, Kletteraffe das erste mal den Kopf schüttelte, kam auch noch eine interessierte Muggelfrau angetrabt, die uns begeistert empfangen hat, weil wir uns für diese tolle Örtlichkeit in Hannover interessieren.<img src=\"/images/icons/icon_smile_big.gif\" border=\"0\" align=\"middle\" /><br /> Gott sei Dank hatten wir aber alle ja schon den ganzen Tag das Internet durchforstet, weil dieser schöne Ort eine Menge Interesse geweckt hatte. So konnten wir völlig überzeugend behaupten, dass wir uns hier alleine für die Historie an diesem Ort interessieren. Wir alle glänzten wohl so mit Wissen über diesen leider schon fast vergessenen Ort, dass sie befriedigt wieder abdampfte, natürlich nicht ohne uns noch für die nächste Veranstalltung hier einzuladen <img src=\"/images/icons/icon_smile_cool.gif\" border=\"0\" align=\"middle\" /><br /><br />Vorsichtshalber sind wir aber erstmal abgedampft, riskieren wollten wir dann doch lieber nix.<br /><br />Blöd, dass 30 Minuten später sich aber jemand auf der Bank in der Nähe niedergelassen hat...also wieder Abruch und unsere Vermutung lieber nochmal durch einen TJ bestätigen lassen.<br /><br />1 Std später dann der 3. Versuch und siehe da: Maxx hatte endlich den richtigen Griff und über das blinde Vertrauen zu Solit diskutieren wir dann nochmal <img src=\"/images/icons/icon_smile_big.gif\" border=\"0\" align=\"middle\" /> Das hätte schneller gehen können an dem Abend <img src=\"/images/icons/icon_smile_wink.gif\" border=\"0\" align=\"middle\" /><br />Zielgebiet für den Bonus ist auch schon ausgemacht, hoffe wir kriegen das jetzt Zeitnah hin.<br /><br />Mein lieber Scholli! Ich habs ja nicht so mit dem urbanen, aber dieser Cache hat`s echt rausgehauen. Tolle Story und super schöne Lokations. Alles Stimmig, aber trotzdem gibts nur 4,5 * bei GCvote! Warum? Der war eindeutig zu kurz <img src=\"/images/icons/icon_smile_big.gif\" border=\"0\" align=\"middle\" /> Begeistert hat mich vorallendingen die Phantasie des Owners und die schönen Orte die er dabei zeigt.<br /><br />Ich freu mich auf den 2. Teil!!<br /><br />P.S.: Natürlich gibts nen Schleifchen <img src=\"/images/icons/icon_smile_wink.gif\" border=\"0\" align=\"middle\" />","Created":"11/04/2012","Visited":"11/04/2012","UserName":"Holly72","MembershipLevel":3,"AccountID":1629836,"AccountGuid":"ba5ae6a6-6772-43ef-94a0-2acbe791eab6","Email":"","AvatarImage":"ed678d94-8425-48f3-89d8-baa77e4a1792.jpg","GeocacheFindCount":1339,"GeocacheHideCount":2,"ChallengesCompleted":0,"IsEncoded":false,"creator":{"GroupTitle":"Premium Member","GroupImageUrl":"/images/icons/prem_user.gif"},"Images":[]},{"LogID":225792839,"CacheID":1997597,"LogGuid":"39317443-7fc7-4694-9000-e483b451a976","Latitude":null,"Longitude":null,"LatLonString":"","LogType":"Found it","LogTypeImage":"2.png","LogText":"Schön vor längerer Zeit viel uns dieser Cache mit dem verheißungsvollen Listing auf. Beim ersten Versuch hielt uns noch der Bauzaun auf und da urbanes Cachen sonst nicht sonst unser ist, war erst einmal Pause. Trotzdem hielt mich der Cache weiter in seinem Bann und tief in meinem Gedächtnis wurde ich auf geheimnisvolle Weise immer wieder erinnert. <br />Am Osterwochenende war es dann soweit. Der Bauzaun ist weg, die erste Station wurde gefunden und auch die zweite konnte sich nicht lange verbergen. Leider war Ostermontag und das folgende Rätsel konnte erstmal nicht gelöst werden. Also abwarten bis Dienstag, die Fährte wurde durch die Rätselabteilung wieder aufgenommen und am heutigen Mittwoche folgte dann der finale Akt. <br />Zuerst war ich mit Blindheit geschlagen und konnte leider nichts finden. Als dann noch einige Muggels auftauchten kam der vorläufige Abbruch. <br />Etwas später am Abend und nach kurzer Rückversicherung durch einen geheimen Informanten dann der zweite und glücklichere Versuch. Ein Griff von Maxx Volume und der Schatz war unser.<br /><br />Vielen Dank für den schönen und stimmigen Cache. Ich freue mich schon jetzt auf die kommenden Aufgaben.<br /><br />Trade: out nix, in Coin und Fav P<br /><br />PS: Der TB befindet sich nicht mehr in der Dose","Created":"11/04/2012","Visited":"11/04/2012","UserName":"SoliT","MembershipLevel":3,"AccountID":1585608,"AccountGuid":"eaa49324-c13c-4731-bf47-2215d490ae36","Email":"","AvatarImage":"b869a475-59fe-46e2-ba08-993365f3fbea.jpg","GeocacheFindCount":1407,"GeocacheHideCount":6,"ChallengesCompleted":0,"IsEncoded":false,"creator":{"GroupTitle":"Premium Member","GroupImageUrl":"/images/icons/prem_user.gif"},"Images":[]}], "pageInfo": { "idx":1, "size": 25, "totalRows": 111, "rows": 111 } };
//]]>
</script>
</form>
@@ -2086,38 +2153,14 @@ initalLogs = {"status":"success", "data": [{"LogID":269970920,"CacheID":1997597, });
</script>
- <script id="loc_favPointsWhatsThisDesc" type="text/html">
- Geocaching Favorites is a simple way to track and share the caches that you enjoyed the most. For every 10 distinct caches that you have found, you will be able to Favorite 1 exceptional cache in your find history. The Favorites accumulated by a cache are displayed in search results and on the cache page so everyone can see which caches stand above the rest.
- </script>
- <script id="loc_favPointsWhatsThisTitle" type="text/html">
- About Favorite Points
- </script>
+
<script id="loc_favPointsScoreDesc" type="text/html">
Favorites/Premium Logs
</script>
<script type="text/javascript" language="javascript">
<!--
- $('#uxFavPointsWhatsThis').qtip({
- content: {
- text: $("#loc_favPointsWhatsThisDesc").html(),
- title: {
- text: $("#loc_favPointsWhatsThisTitle").html(),
- button: true
- }
- },
- position: {
- my: 'top center',
- at: 'bottom center'
- },
- show: {
- event: 'click'
- },
- hide: 'click unfocus',
- style: {
- classes: 'ui-tooltip'
- }
- })
+
var gotScore = false;
var favDropDown = $('.favorite-dropdown');
@@ -2239,6 +2282,6 @@ initalLogs = {"status":"success", "data": [{"LogID":269970920,"CacheID":1997597, </div>
<!-- End Quantcast tag -->
- <!-- Server: WEB09; Build: Web.HotFix_20121016.3 -->
+ <!-- Server: WEB13; Build: Web.HotFix_20121211.1 -->
</body>
</html>
|
