Rob Norris [Mon, 29 Oct 2012 01:04:05 +0000 (01:04 +0000)]
SF#2831256: Allow generation of large pixel sized images.
Also actually check returned pixmap reference is valid.
Unfortunately no simple way to tell ahead of time what the maximum allowed size is.
Thus enable trapping of X errors on Linux like systems and simply ignore them.
AFAIK no simple way to trap such memory allocation errors on Windows,
so add warning on save to image file dialog about 'large area may crash the program',
on Windows builds only.
Rob Norris [Fri, 12 Oct 2012 12:09:49 +0000 (13:09 +0100)]
SF#356778: Download Map Tiles using F5
Enable refreshing and redownloading the upper most visible map layer via standard keyboard shortcuts.
Enable key press event on the layers panel to, so that they can be processed.
Expose download map onscreen method in maps layer
Use F5 and Ctrl+r to refresh maps.
Also add Ctrl+F5 and Ctrl+Shift+R to redownload all maps.
Move show Scale Indicator toggle to Shift+F5.
Rob Norris [Sun, 30 Sep 2012 18:40:12 +0000 (19:40 +0100)]
Allow GPS Upload from any selected TrackWaypoint layer or individual track.
Use the newly exposed GPS datasource GUI to get GPS options and then pass on to the newly exposed GPS layer communication method to handle the actual processing and feedback.
Create new submenu for Uploading, putting the GPS Upload there and moving the OSM Upload there too.
Rob Norris [Sun, 30 Sep 2012 18:09:13 +0000 (19:09 +0100)]
Fix opening GPX files with own internal "hidden" markers on waypoints.
Processing of attr used to fail on waypoints as it previously got confused with the "lat" and "long" text.
Modify track hidden code operate in clearer manner too.
Rob Norris [Sun, 30 Sep 2012 18:04:24 +0000 (19:04 +0100)]
Enable option to not write invisible tracks or waypoints in GPX file and don't write them on GPSBabel convert to method.
This is primarily for only transferring enabled items when uploading to a GPS device.
Solidify a_gpx_write_X functions to always specify writing options, although the options can be set to NULL for default behaviour.
Set OSM uploads to not use invisible tracks since the user won't be expecting those to be transferred and probably shouldn't be transferring 'unusual' GPX files with the non-standard "hidden" text anyway
Rob Norris [Sat, 29 Sep 2012 10:17:21 +0000 (11:17 +0100)]
Use the signalling method to the update statusbar from OSM traces background thread.
ATM this introduces a small memory leak, note OSM traces isn't heavily used so this is not significant.
This is better than potentially crashing from multi thread GUI updates.
Rob Norris [Thu, 20 Sep 2012 21:16:06 +0000 (22:16 +0100)]
Fix non slippy maps from complaining about lack of function definition.
Follow on from commit:2673b29d1b6f58ed54cad164bab5d325960bb8c6
Best to define a function to return a value (even if it is always false) for TMS/WMS/Terraserver Maps.
Rob Norris [Thu, 20 Sep 2012 19:07:34 +0000 (20:07 +0100)]
Disable direction finding via Google services as they no longer support KML output.
From https://developers.google.com/maps/documentation/directions/ only JSON and some kind of XML
GPSBabel doesn't support GeoJSON and Google Maps XML (google) doesn't seem to work any more either
[http://www.gpsbabel.org/htmldoc-development/fmt_google.html]
Rob Norris [Wed, 19 Sep 2012 00:20:16 +0000 (01:20 +0100)]
Fix flickering map background when creating a new track and panning the map with the mouse.
Due to the new way of drawing the next potential trackpoint, the pixmap held becomes invalid when the display is panned.
Thus a way of preventing this update is made by exposing the middle button clicks to the tools when they explicitly request it.
Hence the potential trackpoint drawing is temporarily disabled when the map is panning.
Rob Norris [Fri, 31 Aug 2012 14:36:40 +0000 (15:36 +0100)]
Rework the create track drawing with a specific GC on which to draw the next potential point.
This means this GC is reset on each update and then redrawn. It also ensures the correct colour is used.
This is more reliable than trying to undraw previous information via the GDK_INVERT method, especially for Windows systems.
Rob Norris [Sat, 15 Sep 2012 00:03:46 +0000 (01:03 +0100)]
Fix for Debian#685817: Statusbar Update From Thread Instability
Move the direct statusbar GTK update from the background thread into a signal to the main thread.
The statusbar update in the main thread is then performed according to GTK scheduler via the idle update mechanism.
Rob Norris [Thu, 6 Sep 2012 20:14:26 +0000 (21:14 +0100)]
[Geotagging] Improve detection of image files having GPS information.
Encountered some images which have just the EXIF_TAG_GPS_VERSION_ID but nothing else.
So to confirm GPS info, check existance of more EXIF GPS tags (Latitude and Longitude)
Thus when such images are requested for geotagging they won't be erroneously skipped over.
Rob Norris [Wed, 5 Sep 2012 23:47:24 +0000 (00:47 +0100)]
Fix GPSBabel Dynamic Device List generation on Windows Systems.
Rework babel_general_convert() to be cross platform and support the progress callback on Windows systems.
Minimize the platform specific code by using g_child_watch_add() for cleanup operations and fdopen() or _fdopen() to access the stdout stream.
The previous Windows version of the function has been removed and now all systems use the same babel_general_convert().
Hence with support of the progress callback, the means the Acquire GPS Device list and Import File With GPSBabel file types will be dynamically generated on Windows.
Rob Norris [Sun, 26 Aug 2012 13:18:10 +0000 (14:18 +0100)]
Add zoom by bounds capability when using the zoom tool and holding the SHIFT key and left click to select the zoom in area.
Similar to zooming in on the OpenStreetMap default map.
In the zoom tool mode, when the SHIFT key is held down and then left mouse button is pressed it draws a bounding box area on the display.
When the left mouse button is released the zoom is performed on the selected area.
Rob Norris [Thu, 2 Aug 2012 01:09:04 +0000 (02:09 +0100)]
More intuitive zoom actions involving the mouse to retain the location under the pointer within the viewport bounds.
As per request SF#3547438, which is clearly much better behaviour - since clearly this is the point of interest the user wants to see and thus subsequent zoom requests keep focusing on that area without having to recenter the display.
The modifiers of CTRL+SHIFT and mouse zoom retain keeping the center point in the center (which is in fact a reversal of the previous setting - unlikely to effect many users, as I didn't even know of this feature myself).
Note the keyboard & menu zoom requests always maintain the center point.
Rob Norris [Tue, 4 Sep 2012 22:37:20 +0000 (23:37 +0100)]
Prevent crashing when attempting to import with GPSBabel a file and not specifying the file type (due to a malformed (null) result of the GPSBabel file types list).