diff options
| author | Bananeweizen <bananeweizen@gmx.de> | 2012-02-26 19:17:15 +0100 |
|---|---|---|
| committer | Bananeweizen <bananeweizen@gmx.de> | 2012-02-26 19:17:15 +0100 |
| commit | d89d01c0a9f02972ebe910b04ff0b64f2fc64b35 (patch) | |
| tree | 0f3064aea0f85b43785fe23152cd0296d1c2c784 | |
| parent | 4324854eed22d4157f2829790721499e674f00af (diff) | |
| download | cgeo-d89d01c0a9f02972ebe910b04ff0b64f2fc64b35.zip cgeo-d89d01c0a9f02972ebe910b04ff0b64f2fc64b35.tar.gz cgeo-d89d01c0a9f02972ebe910b04ff0b64f2fc64b35.tar.bz2 | |
fix #1002: Filter Mysteries when solved
| -rw-r--r-- | main/res/values-de/strings.xml | 1 | ||||
| -rw-r--r-- | main/res/values/strings.xml | 1 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/cgeocaches.java | 6 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/filter/ModifiedFilter.java | 28 |
4 files changed, 36 insertions, 0 deletions
diff --git a/main/res/values-de/strings.xml b/main/res/values-de/strings.xml index b5be79c..e3c1f5c 100644 --- a/main/res/values-de/strings.xml +++ b/main/res/values-de/strings.xml @@ -322,6 +322,7 @@ <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">Wähle den Typ</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> diff --git a/main/res/values/strings.xml b/main/res/values/strings.xml index ef1ceed..f1507be 100644 --- a/main/res/values/strings.xml +++ b/main/res/values/strings.xml @@ -322,6 +322,7 @@ <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> diff --git a/main/src/cgeo/geocaching/cgeocaches.java b/main/src/cgeo/geocaching/cgeocaches.java index d6b37cd..b6324f0 100644 --- a/main/src/cgeo/geocaching/cgeocaches.java +++ b/main/src/cgeo/geocaching/cgeocaches.java @@ -13,6 +13,7 @@ import cgeo.geocaching.enumerations.StatusCode; import cgeo.geocaching.files.GPXImporter; import cgeo.geocaching.filter.AttributeFilter; import cgeo.geocaching.filter.IFilter; +import cgeo.geocaching.filter.ModifiedFilter; import cgeo.geocaching.filter.SizeFilter; import cgeo.geocaching.filter.StateFilter; import cgeo.geocaching.filter.TrackablesFilter; @@ -132,6 +133,7 @@ public class cgeocaches extends AbstractListActivity { private static final int SUBMENU_FILTER_ATTRIBUTES = 67; private static final int SUBMENU_FILTER_STATE = 68; private static final int MENU_NAVIGATION = 69; + private static final int MENU_FILTER_MODIFIED = 70; private String action = null; private CacheListType type = null; @@ -783,6 +785,7 @@ public class cgeocaches extends AbstractListActivity { subMenuFilter.add(0, SUBMENU_FILTER_ATTRIBUTES, 0, res.getString(R.string.cache_attributes)); subMenuFilter.add(0, SUBMENU_FILTER_STATE, 0, res.getString(R.string.cache_status)); subMenuFilter.add(0, MENU_FILTER_TRACKABLES, 0, res.getString(R.string.caches_filter_track)); + subMenuFilter.add(0, MENU_FILTER_MODIFIED, 0, res.getString(R.string.caches_filter_modified)); subMenuFilter.add(0, MENU_FILTER_CLEAR, 0, res.getString(R.string.caches_filter_clear)); SubMenu subMenuSort = menu.addSubMenu(0, SUBMENU_SORT, 0, res.getString(R.string.caches_sort)).setIcon(android.R.drawable.ic_menu_sort_alphabetically); @@ -1072,6 +1075,9 @@ public class cgeocaches extends AbstractListActivity { case MENU_FILTER_TRACKABLES: setFilter(new TrackablesFilter(res.getString(R.string.caches_filter_track))); return true; + case MENU_FILTER_MODIFIED: + setFilter(new ModifiedFilter(res.getString(R.string.caches_filter_modified))); + return true; case MENU_FILTER_CLEAR: if (adapter != null) { setFilter(null); diff --git a/main/src/cgeo/geocaching/filter/ModifiedFilter.java b/main/src/cgeo/geocaching/filter/ModifiedFilter.java new file mode 100644 index 0000000..cecd210 --- /dev/null +++ b/main/src/cgeo/geocaching/filter/ModifiedFilter.java @@ -0,0 +1,28 @@ +package cgeo.geocaching.filter; + +import cgeo.geocaching.cgCache; +import cgeo.geocaching.cgWaypoint; + +public class ModifiedFilter extends AbstractFilter { + + public ModifiedFilter(String name) { + super(name); + } + + @Override + public boolean accepts(final cgCache cache) { + // modified on GC + if (cache.hasUserModifiedCoords()) { + return true; + } + + // or with added/modified waypoints + for (cgWaypoint waypoint : cache.getWaypoints()) { + if (waypoint.isUserDefined()) { + return true; + } + } + + return false; + } +} |
