2007-10-30 Jeff Garrett * data/Makefile.am: * data/tiger-states.txt: Add list of TIGER states * src/Makefile.am * src/import_tiger.c * src/tiger.c * src/tiger.h: Use list of TIGER states instead of hard-coded array 2007-10-30 Jeff Garrett * src/import_tiger.c: Allow remote URIs in import_tiger_from_uri 2007-09-09 Jeff Garrett * src/main.c: Fix typo in database configuration file parse 2007-09-08 Jeff Garrett * src/downloadmanager.c: * src/locationeditwindow.c: * src/locationset.h: * src/mainwindow.c: * src/mapinfowindow.c: * src/scenemanager.c: * src/tooltipwindow.c: Do not use __unused as it may be reserved 2007-09-08 Jeff Garrett * src/mainwindow.c: Update website URL to point to the cairo wiki 2007-09-08 Jeff Garrett * src/import.c: Check TIGER filenames have the correct case 2007-09-08 Jeff Garrett * src/import_tiger.c: Use places instead of primary county subdivisions 2007-09-08 Jeff Garrett * src/location.c: * src/locationset.c: Remove (deprecated) GMemChunk 2007-09-08 Jeff Garrett * src/main.c: Add configuration for external MySQL server * configure.ac: * src/db.c: Remove MySQL embedded server 2005-10-26 Ian McIntosh * src/*: Fix all compiler warnings that showed up after adding -Wall. 2005-10-26 Ian McIntosh * src/road.c: * src/road.h: Remove hardcoded road suffix list. 2005-10-26 Ian McIntosh * src/road.c: * src/util.c: * data/road-suffix-list.txt: Moved list of road suffixes to data file. 2005-10-25 Ian McIntosh * src/map.c: Switch from gfreelist to g_new and g_free for the list of selected POI (currently not really used). * src/gfreelist.h: * src/gfreelist.c: Removed. 2005-10-20 Ian McIntosh * roadster.spec: Added RPM .spec file contributed by Ofer Achler. * src/search_coordinate.c: Added file to allow pasting/typing text containing lat and lon coordinates into search box. (Currently not implemented!) * src/search.c: Init and use search_coordinate stuff. * src/mainwindow.c: Disable hittesting related to tooltip for preview release. Make GPS checkboxes insensitive when 'show position on map' is off. * src/db.c: Add db_city_get_name(id) * src/map_draw_cairo.c: Add miter limit. * src/mapinfowindow.c: Improve a lot. May not make it into the preview release though. 2005-10-18 Ian McIntosh * src/mainwindow.c: * src/map.c: * src/map_draw_cairo.c: Add Debug menu toggle for GDK/Cairo. * src/map_draw_gdk.c: Remove dead code. 2005-10-17 Ian McIntosh * configure.ac: Added -Wall compiler option (show all warnings). * src/map_draw_cairo.c: The return of Cairo! Now drawing from tile data and using bounding box overlap tests. * src/map_hittest.c: The return of hittesting! * src/db.c: Remove dead code. * src/downloadmanager.c: Properly return a value from a GnomeVFS callback. * src/import_tiger.c: Switch from GPtrArrays to GArrays for points. * src/main.c: Properly include libintl.h * src/map.c: Cleanups. Dead code removal. * src/map_draw_gdk.c: Add random road segment color option for debugging. * src/map_math.c: Added polygon clipping and line stitching. * src/map_tilemanager.c: Do basic line stitching at load time. * src/mainwindow.c: Cleanups. Move some code to util.c * src/util.c: Receive some code from mainwindow.c 2005-10-12 Ian McIntosh * src/mapinfowindow.c: * src/mapinfowindow.h: Added. 2005-10-12 Ian McIntosh * src/directionswindow.c: * src/directionswindow.h: Added. 2005-10-12 Ian McIntosh * src/test_poly.c: Add checkbox to hide original line. * src/import_tiger.c: Fix cleanup code (remove memory leak?) * src/util.c: Add util_g_free_with_param, a generic g_free-like callback that takes an (unused) user-data param. 2005-10-11 Ian McIntosh * src/test_poly.c: * src/test_poly.h: Added to test polygon point reduction algorithm and others. * src/map_draw_gdk.c: Prepare for rectangle clipping. * src/map_math.c: Add Douglas-Peucker point simplification algorithm. Add point distance from line function. Add in/out/partial rect overlap function. 2005-10-10 Ian McIntosh * data/layers.xml: * src/map.c: Adjusting of zoom scales and styles. * src/dc.c: Properly insert LOD3 table. * src/import_tiger.c: Rivers only exist on LOD0. * src/main.h: Add constant for middle mouse button. * src/mainwindow.c: Make zoomscale widget instant. Middle mouse button drags map regardless of tool. Improvement of some web map URLs. * src/util.c: Add zoomscale utility functions. 2005-10-05 Ian McIntosh * src/map_math.c: * src/map_math.h: Added missing files. 2005-10-05 Ian McIntosh * src/map_hittest.c: * src/map_hittest.h: Added missing files. 2005-10-05 Ian McIntosh * src/import_tiger.c: * src/search_road.c: * src/db.c: Add level of detail concept. * src/mainwindow.c: Add zoomtool. * src/map_draw_gdk.c: * src/map_draw_cairo.c: Calculate bounding box on load instead of draw. Update to tile drawing. * src/map.c: Begin splitting this file up more. Add lots more zoom levels. * src/scenemanager.c: Remove empty module init. * src/main.c: Don't need to init scenemanager module. 2005-10-01 Ian McIntosh * src/downloadmanager.c: Remove _ from public function _downloadmanager_new(). * src/mainwindow.c: Set check on View/Fullscreen and View/Sidebar when state changes for reasons other than the user clicking the menu item. * src/map_history.c: Add some debug printing support. * src/searchwindow.c: Add a new history item when user selects a search result. * src/util.c: Moved some basic window state set/test functions here. 2005-10-01 Ian McIntosh * Renamed src/history.c to src/map_history.c * Renamed src/tooltip.c to src/tooltipwindow.c * Renamed src/downloader.c to src/downloadmanager.c * src/glyph.c: Only require a targetwidget when generating a pixmap. * src/main.c: Move glyph module init here. * src/*: Fix all compiler warning messages. 2005-09-30 Ian McIntosh * src/welcomewindow.c: Removed. * src/gui.c: Removed welcome window. * src/db.c: Added bounding rect calculation to pointstring loading. * src/search_road.c: Update to new pointstring loading function. * src/mainwindow.c: Removed unneeded includes. * src/map.c: Add rect overlap test function. * src/map_draw_gdk.c: Use rect overlap test from map.c. * src/tooltip.c: Remove unused init function. 2005-09-30 Ian McIntosh * src/road.c: Removed alloc/dealloc of road_t. * src/point.c: * src/point.h: * src/pointstring.c: * src/pointstring.h: Removed, since road_t now has a basic GArray of mappoint_t objects. * src/*.c: Use new road_t format. 2005-09-30 Ian McIntosh * src/locationselection.c: * src/locationselection.h: * src/track.c: * src/track.h: Removed these unused files. * src/map_draw_gdk.c: * src/mainwindow.c: Commented out track code. * src/animator.c: * src/downloader.c: Removed unused init() functions. * src/main.c: Removed calls to *_init() for above. 2005-09-30 Ian McIntosh * src/downloader.c: Added. This provides an easy interface to asyncronous file downloads. 2005-09-29 Ian McIntosh * src/map_style.c: Removed "constants"-- found out that XML already has this feature! * src/glyph.c: Don't load the same image twice. Allow loading at image's native resolution. * src/map_draw_gdk.c: Can now fill polygons with a tiled image. Beginning support for moving POI to the layers.XML file. * src/util.c: Add code for GtkEntry "hints". These are messages shown when there is nothing in the entry. May be used for search box. 2005-09-26 Ian McIntosh * data/help/roadster-help.xml: * data/help/legal.xml: * data/help/figures/window_layout.png: Added the basics of a help system. * src/db.c: Removed debug stuff. * src/glyph.c: Added glyph drawing (via gdk/pixbufs). * src/location.c: Added location attribute name inserting / retrieving. * src/locationset.c: Added 'icon' field. * src/main.c: Add some debug code to insert test POI data. * src/search.c: Removed knowledge of search result type icons. Now each type can provide its own. * src/search_*.c: Provide an icon suggestion along with results. * src/map.c: * src/map_draw_gdk.c: Re-enable / fix POI drawing. * src/point.c: * src/pointstring.c: * src/locationset.c: Fixed area_size of chunk allocators. 2005-09-25 Ian McIntosh * data/roadster-icon.png: * data/roadster-logo.png: Added. Not necessarily the final ones, just what I'm using now. 2005-09-25 Ian McIntosh * src/*: Removed "m_" prefix from all struct variables! (It makes much more sense in C++ where you can access this-> without writing it.) * src/searchwindow.c: Refactoring and changes to what/when messages get shown to users. 2005-09-24 Ian McIntosh * data/roadster.glade: New "Go" menu with web maps. General GUI cleanup. * src/glyph.c: Complete rework. Removes direct usage of librsvg. Now uses only gdkpixbuf loaders (including the librsvg one!) * src/locationeditwindow.c: * src/mainwindow.c: Use GLADE_LINK_WIDGET. Add "web maps" menu options. Add glyph reload debug menu option. Possibly fix 'failure to stop scrolling' bug. * src/map.c: Beginning of support for "enhancing" map objects at run-time (adding points, smoothing sharp edges). * src/map.h: Fix a few 'double' which should be 'gdouble' * src/search_city.c: New search type matches city names. * src/search_road.c: Removed common code. No longer do wildcard "search*" matching. No longer display house #s in results. * src/search_location.c: Removed common code. * src/search.c: Moved common search code here. * src/searchwindow.c: Add icon. Lots of small "look & feel" updates. * src/util.c: Add new word-in-sentence matching for treeview searches. Add some treeview utility functions. Add util_str_replace_many() for replacing eg "{LAT}" with a number for web map URLs. * src/welcomewindow.c: Update currently unused TIGER Data Web URL. * src/db.c: Playing with soundex() matching for roads and city names. * configure.ac: Bumped version. Hey why not. 2005-09-14 Ian McIntosh * src/*.c: Removed many unneeded #includes. Removed NUM_ELEMS in favor of existing glib G_N_ELEMENTS. * src/*window.c: Use GLADE_LINK_WIDGET to connect widget to Glade XML element. * src/gpsclient.c: Work to make GPSD support optional at compile time. * src/mainwindow.c: Fixed bug: mouse cursor returning to default pointer while scrolling. * src/searchwindow.c: Change map zoomlevel when going to search results. Some code refactoring. * src/gotowindow.c: Removed dead code. * src/map_style.c: Added to replace layers.c. Add support for arbitrary dash patterns. * src/map_draw_gdk.c: Support new arbitrary dash patterns. * src/ma_draw_cairo.c: More work to restore Cairo drawing. * src/prefs.c: * src/prefs.h: * src/layers.c: * src/layers.h: Removed. 2005-09-05 Ian McIntosh * src/db.c: Better error handling (silences "duplicate key" warning on startup). * src/import_tiger.c: Comment out some cleanup code that has a crasher bug somewhere (now it's just a memory leak!). * src/mainwindow.c: Updated comments, removed some dead code. * src/importwindow.c: Add a printf showing # of files received from file chooser dialog. * src/layers.c: Implemented new layers XML format. Draw order is now dictated by the XML file. Removed concept of "sublayers". Unlimited layers are now supported. * src/map.c: Removed layer draw order table. Changed scenemanager test from a rectangle to a diamond. * src/map_draw_cairo.c: Added map scale rendering. Cairo rendering commented out until it can be updated to new layer style stuff. * src/map_draw_gdk.c: Updated for new layer format. * data/layers.xml: Complete rewrite for new layers format. * configure.ac: Remove old/incorrect tests. * data/roadster.glade: Removed some old/unused dialogs. 2005-08-31 Ian McIntosh * src/db.c: Remove incorrect 'UNIQUE' attribute on Name index in RoadName table. * src/scenemanager.c: Add 'on screen' as additional (optional) criteria for allowing drawing. * src/map_draw_cairo.c: Update to new scenemanager API. Add new dual-line smart area labeler. * src/util.c: Function util_split_words_onto_two_lines() is now used. * data/layers.xml: Various style tweaks. It's fun. * src/map.c: Style tweaks. 2005-08-28 Ian McIntosh * data/roadster.glade: UI cleanup. Moved many items into a 'Debug' menu. * src/gpsclient.c: Update to newest gpsd lib. * src/db.c: Format coordinates using g_ascii_dtostr to avoid i18n. * src/mainwindow.c: Add GTK About dialog. * src/map.c: Back to GDK rendering as default (not fast enough without hardware accel.). Use g_ascii_dtostr. Add hack to turn circular rivers into lakes. * src/map_draw_cairo.c: Update to Cairo 1.0. Add hack to round text rotation angles down to better utilize font cache (which isn't in 1.0 yet). * src/pointstring.c: * src/point.c: Add debugging function. * src/search_road.c: Move function to util.c * src/searchwindow.c: Remove unused variables. * src/util.c: Added util_split_words_onto_two_lines(), currently unused. 2005-05-26 Keith Packard * data/layers.xml: Label more stuff. * src/map.c: (map_draw): Use cairo by default (it is reasonably usable this way) * src/map_draw_cairo.c: (map_draw_cairo), (map_draw_cairo_background), (map_draw_cairo_layer_road_labels), (map_draw_cairo_layer_polygon_labels), (map_draw_cairo_layer_roads), (map_draw_cairo_layer_polygons), (map_draw_cairo_layer_points), (map_draw_cairo_road_label_one_segment), (map_draw_cairo_road_label), (map_draw_cairo_polygon_label), (map_draw_cairo_locationselection_outline), (map_draw_cairo_locationselection): API updates to 0.5 snapshot. 2005-04-23 Ian McIntosh * src/gui.c: Add new generic way to load XML files. * src/location.c: Add loading of locations and their attributes. * src/map.c: Add tracking of selected POI. Add hit-testing for POI info boxes. * src/mainwindow.c: Add response to clicks on POI info box and its various bits. * src/map_draw_cairo.c: Add rendering of POI info boxes. * src/map_draw_gdk.c: Minor changes to colors (shouldn't be hardcoded though!). * src/search_location.c: Add new POI search. All words must be present in ANY attribute of a POI. * src/search_road.c: Cleanup. * src/searchwindow.c: Cleanup. * src/util.c: Add ability to open URIs. 2005-03-31 Ian McIntosh * src/animator.c: Use a better math function for smooth scrolling. * src/mainwindow.c: Tweak sliding a bit. * src/map.c: Cleanup. * src/search_location.c: Use all query words. 2005-03-30 Ian McIntosh * src/location.c: Inserting of POI and POI attributes. * src/locationset.c: Keep track of whether a set is visible. * src/search_road.c: * src/search_location.c: Add basic POI searching. * src/mainwindow.c: Sidebar now shows POI sets and can toggle their visibility. * src/map.c: Some changes to layer draw order to facilitate river borders. Also made important roads get labeled first. * src/map_draw_cairo.c: Fixed Cairo road drawing bug from 2005-03-28's switch to road_t. * src/map_draw_gdk.c: Respect a POI set's visibility status. * src/searchwindow.c: Remove incorrect attempt to set results list not-sorted before adding results. * data/layers.xml: Major style changes. Changed colors and added outlines for parks, lakes, rivers. 2005-03-29 Ian McIntosh * src/db.c: Add parsing for WKB points. Change an index on the LocationAttributeValue table. * src/location.c: Add support for inserting POIs. * src/locationset.c: Add support for loading a list of POI sets. Cleanup. * src/main.c: Re-ordered init to allow loading of POI set list on GUI init. * src/mainwindow.c: Added POI set list in sidebar. Added support for POI tooltips. Cleanup. * src/map.c: Added support for POI loading/freeing and hit-testing. * src/map_draw_gdk.c: Added support for POI rendering. * src/tooltip.c: Added support for changing tooltip background color. 2005-03-28 Ian McIntosh * src/main.h: Added this file for global flags. * src/*: Added #include for main.h. Change from using pointstring_t to road_t for map geometry objects. * src/map.c: Add map_side_test_line() to test which side of a line a point is. * src/mainwindow.c: Tooltip now reports the address range of that part of the street. * data/roadster.glade: Removed GPS tab temporarily. * data/layers.xml: Minor style changes. 2005-03-26 Ian McIntosh * src/mainwindow.c: Made zoom and history buttons (and menuitems) go insentitive when clicking them would do nothing. Changed single-click on border to always scroll half of window width/height/diagonal. * src/map.c: Added map_can_zoom_in() and map_can_zoom_out(). * src/searchwindow.c: Added a "no results" message. * src/db.c: Cleanup. 2005-03-25 Ian McIntosh * src/mainwindow.c: Tweak when mouse cursor changes during drags, etc. * src/map_draw_gdk.c: * src/map_draw_cairo.c: Use lat,lon in bounding box tests instead of screen X,Y to help avoid integer overflow issues when zoomed in. 2005-03-23 Ian McIntosh * src/map.c: Fixed off-by-one error in selecting line widths for hit testing. * data/layers.xml: Changed style to never use single-color roads (ugly). 2005-03-23 Ian McIntosh * src/mainwindow.c: Single click on the border now does a big jump, instead of a single 80-pixel scroll. 2005-03-23 Ian McIntosh * src/tooltip.h: * src/tooltip.c: Added. * src/mainwindow.c: Added tooltip (currently only showing name of road under mouse). Change border-scroll corner hit targets to be L shaped and take 1/3 of each border. * src/map.c: Added hit testing: the ability to test a point for proximity to lines (roads). * src/*: Cleanup and code commenting. 2005-03-20 Ian McIntosh * src/history.h: * src/history.c: Added. Stores a list of places for the back/forward buttons. * src/Makefile.am: Added history.c. * src/gpsclient.c: Re-enabled GPS support. * src/mainwindow.c: Added back/forward buttons. Added GTK about box. * src/map.c: Added basic support for tracks (for GPS track). * src/map_draw_gdk.c: Added basic drawing of tracks. * src/search_road.c: Improved GLib version check. * src/track.c: Removed debugging message. 2005-03-19 Ian McIntosh * src/gfreelist.h: * src/gfreelist.c: Added. * src/Makefile.am: Added gfreelist.c. * src/animator.c: Cleanup. * src/gui.c: Always show welcome window. * src/main.c: Remove gnome_program_init() and add gtk_init() and g_type_init(). * src/mainwindow.c: Slide to search results, if close enough. * src/map.c: Add map_get_distance_in_pixels() and map_points_equal(). * src/map.h: Limit zoomlevels to 6-10 for preview release. * src/map_draw_cairo.c: Add a little padding around labels. * src/point.c: * src/pointstring.c: Use gfreelist instead of gmemchunk. * src/searchwindow.c: Slide to results. * data/roadster.glade: Remove gnome widgets. Change welcome window to explain preview release. 2005-03-18 Ian McIntosh * src/animator.h: * src/animator.c: New files. Animates from 0.0 to 1.0 in various ways. * src/main.c: Add init for animator.c. * src/mainwindow.c: Add smoothly animated recentering. Add different "draw pretty" timeout values for different operations. * src/gpsclient.c: Disabled temporarily, since we're not using it. * src/map_draw_cairo.c: Set font once per layer. Do crude bounding box test for all objects (prevents nasty Cairo/X swap-death). * src/map_draw_gdk.c: Do crude bounding box test for all objects (faster). * src/welcomewindow.c: Point to new 2004 TIGER data. * data/layers.xml: Style tweaks. 2005-03-16 Carl Worth * README: Clean up URL. 2005-03-13 Ian McIntosh * src/db.c: Index on column 'Name' of table 'LocationAttributeName' should be UNIQUE. * src/mainwindow.c: Add test for event->is_hint in mainwindow_on_mouse_motion to hopefully avoid situation where we continue drawing after mouse button is up. * src/map.c: Play with zoom level ratios. 2005-03-13 Ian McIntosh * src/db.c: Switch to mysql_use_result(). Add more memory related paramaters to embedded MySQL. * src/mainwindow.c: Rename a few map related functions. Fix mousewheel zoomin/zoomout. Keep statusbar lat/lon updated when dragging/scrolling. Slow down scrolling slightly. * src/searchwindow.c: * src/gotowindow.c: Use new mainwindow function names. * src/importwindow.c: Move GTK_PROCESS_MAINLOOP macro to src/util.h. * src/layers.c: Add dash settings using integer in addition to floating point (for GDK). * src/map_draw_*: Use new dash settings. 2005-03-13 Ian McIntosh * src/map.c: Remove debugging message. 2005-03-13 Ian McIntosh * src/layers.c: Add warning for bad color strings in layers.xml file. * src/map.c: Read map in fixed-location tiles to take advantage of MySQL query caching. * src/db.c: Enable query cache in embedded MySQL server. * src/map_draw_cairo.c: Allowing drawing of more road labels by permitting label to go over end of road slightly (scenemanager still prevents overlapping with other labels). 2005-03-13 Ian McIntosh * src/point.c: * src/track.c: * src/location.c: * src/locationset.c: * src/pointstring.c: Change name of chunk allocators (just the text name used for debugging). * src/pointstring.c: Pass TRUE to g_ptr_array_free to free array memory. Properly free pointstring name. * src/import_tiger.c: Pass TRUE to g_ptr_array_free to free array memory. * src/map.c: Add assertion that cleanup behaves as expected. 2005-03-10 Ian McIntosh * src/map.c: Commented out scenemanager demo (rectangle). 2005-03-09 Ian McIntosh * src/map.c: MySQL optimization regarding GeomFromText() which saves about 10% total application CPU time. (Not as big of a deal as it sounds since we're currently disk-bound.) * src/map_draw_cairo.c: Re-add check for font size == 0 and don't draw labels for that layer if it is (this is how styles say "no labels"). * src/scenemanager.c: Minor cleanup. 2005-03-09 Ian McIntosh * src/search_road.c: * src/import_tiger.c: * src/db.c: Removed Road_RoadName joiner table. Roads can have only one name now (we never used this feature). * src/db.c: Removed warning for failed inserts (really should only avoid printing warnings for duplicates on unique keys). Removed db_parse_point() that used MySQL's text format (no replacement yet but it's not used). Removed some dead code. * src/mainwindow.c: Don't draw twice on zoom in/out. * src/map.c: Pulled font selection up a level, so it's done once per layer. Added a demo of the scenemanager code (a square drawn on the map that text avoids!). Tweaked scales for the zoom levels. * src/map_draw_cairo.c: Added a simpler line labeler for single-segment roads (we need to profile it to see if it's worth using). Curved text is temporarily turned off because it doesn't use the scenemanager yet. All gfloats to gdoubles. * src/scenemanager.c: Added scenemanager_can_draw_rectangle(). 2005-03-09 Nathan Fredrickson * src/map_draw_cairo.c: First round of improvements to map_draw_cairo_line_label(). Instead of centering the label on the line, the label is now positioned so that it is as horizontal as possible with the fewest bends. 2005-03-08 Ian McIntosh * src/location.c: * src/location.h: Added. * src/locationset.c: location code moved to location.c. Code cleanup. * src/scenemanager.c: Implement using GdkRegion to prevent overlapping labels. * src/map_draw_cairo.c: Add new scenemanager calls. 2005-03-07 Ian McIntosh * src/prefs.c: * src/prefs.h: Added. (Not currently used.) * src/main.c: Add init for prefs. * src/mainwindow.c: Squelch redraw if user drags 0 distance. 2005-03-07 Ian McIntosh * src/searchwindow.c: Sort search results by distance from user, starting with closest. Also set zoomlevel based on type of result (road, city, state). * src/mainwindow.c: Add mainwindow_set_zoomlevel() and mainwindow_get_centerpoint() functions for searchwindow's use. * src/map.c: Uncomment map_get_distance_in_meters() for use by searchwindow. * src/search_road.c: Suggest zoomlevel of 3 for road search results. 2005-03-06 Ian McIntosh * src/mainwindow.c: Scroll once when user clicks map border. Change map drag mouse cursor to closed hand. * src/map_draw_cairo.c: Fix halo drawing. 2005-03-05 Ian McIntosh * README: Provide URL to Wiki for help with compiling. * src/mainwindow.c: Use 'implicit pointer grab' instead of gdk_pointer_grab() due to bitching of Carl, Owen and Keith :) * src/map_draw_gdk.c: Better support for dashed lines (not complete). 2005-03-04 Ian McIntosh * src/mainwindow.c: Added click-and-hold to scroll at map window edge. * src/map_draw_cairo.c: Switch from cairo_text_path/cairo_fill to cairo_show_text. Much faster! * src/map_draw_gdk.c: Switch from hardcoding GDK_CAP_BUTT line ends to GDK_CAP_PROJECTING. * src/searchwindow.c: Auto-show sidebar and choose search results tab on search. Preview search result on select (no need to double-click). 2005-03-03 Ian McIntosh * src/*.c: Use gtk/gtk.h instead of gnome.h where possible. * src/mainwindow.c: Added map dragging and scroll wheel zooming. Made sure all callbacks start with mainwindow_ * src/map.c: Allow draw flags to allow caller to specify which map elements get drawn. * src/map_draw_*: Respect draw flags. 2005-03-03 Nathan Fredrickson * configure.ac: Enable directives to disable deprecated features. * src/main.c: Call gnome_program_init() instead of deprecated gnome_init(). * src/mainwindow.c: Call gdk_draw_drawable() instead of deprecated gdk_draw_pixmap(). 2005-03-03 Nathan Fredrickson * src/gui.c: Call gtk_main_quit() to shutdown properly and look for glade file in source dir first. * src/main.c: Clean up. * src/layers.c: Look for style file in source dir first. * src/gpsclient.c * src/map.c: Add prototype. 2005-03-03 Ian McIntosh * src/map.c: Removed drawing code, added two rendering backends. * src/map_draw_cairo.c: * src/map_draw_gdk.c: Added. * src/glyph.c: Made libsvg optional. * src/gotowindow.c: Removed lots of unused code. * src/main.c: Initialize threading (currently disabled). * src/search_road.c: Don't pass RoadID to search results window. 2005-03-03 Nathan Fredrickson * data/layers.xml: * src/layers.c: Parse dash style and fix the railroads. * src/mainwindow.c: Redraw map after reloading styles. * data/roadster.glade: Set accelerator for style reload to F5. 2005-03-03 Nathan Fredrickson * src/*.h: Change extern "C" to G_BEGIN_DECLS/G_END_DECLS * src/layers.h: * src/layers.c: Add layers_reload() to reload the layer styles. * data/roadster.glade * src/mainwindow.c: Add "Debug" menu and "Reload Styles" menuitem. 2005-03-03 Nathan Fredrickson * data/Makefile.am: * configure.ac: Add dependency on libxml-2.0. * data/layers.xml: Map layer styles defined in XML. * src/main.c: * src/map.c: * src/layers.h: * src/layers.c: Load map layer styles from an XML file. 2005-03-02 Nathan Fredrickson * src/Makefile.am: * configure.ac: Check separately for libsvg and continue if not found. Define HAVE_LIBSVG if present. 2005-03-02 Ian McIntosh * search_road.c: * map.c: * db.c: Switch to binary format for MySQL geometry results. 2005-03-01 Ian McIntosh * road.c: * road.h: Added with code removed from map module. * geometryset.c: * geometryset.h: Removed. * map.c: Moved static data to road.c. Removed global map object and moved to allocated map object (all map_* functions take a map pointer now). Trying to switch to threaded rendering (currently disabled). * db.c: Added support for locking. * mainwindow.c: Now owns an allocated map object. Switched from single-click to double-click to move around. * gotowindow.c: Talk to mainwindow only, not map. * layers.c: Don't store loaded map data in the layers settings structure. (Stored in map object now.) * main.c: Changed main_init() to return boolean. * scenemanager.c: Removed global data, switched to allocated (a scenemanager is owned by a map). * search.c: Can now deal with search strings containing newlines and other whitespace junk. * search_road.c: Perform exact-match for street names of 3 or fewer chars for speed and results quality. 2005-02-28 Nathan Fredrickson * README: Update dependency list. * configure.ac: Re-add -lmygcc. Clean up. 2005-02-28 Nathan Fredrickson * main.c: Make main_init() return a value. * mainwindow.c: Add missing prototype. * configure.ac: Add pkgconfig check for libsvg and libsvg-cairo. * src/Makefile.am: Remove the hacky inclusion of libsvg-cairo. 2005-02-27 Ian McIntosh * glyph.c: * glyph.h: Added. 2005-02-27 Ian McIntosh * configure.ac: Added libsvg-cairo as dependency. (Not quite correct? Nate will fix it.:) * Makefile.am: Added glyph.c. * datasetwindow.c: Removed Import button. * db.c: Removed debugging comments. City with the same name are no longer shared between states. * geometryset.c: Expired a bunch of old code. * gotowindow.c: Use mappoint_t instead of loose lat/lon variables. * gui.c: Changed an error message. * main.c: Move init/deinit code from main() to main_init() and main_deinit() * mainwindow.c: Some cleanup and early support for SVG icon loading. * map.c: Renamed some variables and functions. Moved start location from arbitrary spot in MA, USA to (0,0) * pointstring.c: Clean up. * search_location.c: Use new map_* function names. * search_road.c: Use city, state, and zip if present. * searchwindow.c: Correctly use G_TYPE_DOUBLE to store coordinates. Use mappoint_t instead of loose variables. 2005-02-26 Ian McIntosh * db.c: Added City and State tables and functions to search / add them. * import_tiger.c: Extract City, State, and ZIP and save them to DB. Fix bug in ALL tables where the last row wasn't being imported. * search_road.c: Display City, State, and ZIP in results list. 2005-02-25 Ian McIntosh * track.c: * track.h: Actually include these files. 2005-02-25 Ian McIntosh * track.c: * track.h: * point.c: * point.h: * pointstring.c: * pointstring.h: Added. * configure.ac: Updated for embedded mysql. * src/Makefile.am: Added new files. * databasewindow.c: Made all dead code. (No need for database window with embedded mysql) * db.c: Assume string format from embedded DB is reasonable in db_parse_point() and db_parse_pointstring(). * geometryset.c: Move point and pointstring code into separate files. * gpsclient.c: Misc cleanup. * gui.c: Remove databasewindow from startup code path. * import.c: Remove GnomeVFS init. * main.c: Add GnomeVFS init. Create ~/.roadster if missing. * layers.c: Style tweaks. * mainwindow.c: Add quasi-hack to record/draw GPS tracks. * map.c: Layer "halo" setting is now a stroke width number, not a boolean. Don't call cairo_set_dash for solid lines. New track drawing. * search_road.c: Use renamed pointstring functions. 2005-02-24 Nathan Fredrickson * po/roadster.pot: Removed, this is generated. * po/POTFILES.in: Add glade file to the translatable files. * data/.cvsignore: Added. * .cvsignore: Add some more build files. * configure.ac: Look for MySQL in given prefix before $PATH. 2005-02-23 Ian McIntosh * data/Makefile.am: Added. * configure.ac: Removed GNOME_DEBUG_CHECK. 2005-02-23 Ian McIntosh * include/.cvsignore: Removed. * intl/.cvsignore: Removed. * macros/* Removed. * macros/ax_compare_version.m4: Added. 2005-02-23 Ian McIntosh * roadster.desktop.in: * roadster.glade: * roadster.glade.scrap: Moved to new data directory. * intl/*: Removed. * include/Makefile.am: Removed. * configure.in: Removed. 2005-02-23 Ian McIntosh * Header files actually removed from include/. Phew! 2005-02-23 Ian McIntosh * configure.ac: Added. * Header files actually moved. 2005-02-23 Ian McIntosh * Major build file cleanup by Nathan Fredrickson * All header files moved into src/ * configure: Check for mysql and gpsd. 2005-02-22 Ian McIntosh * main.c: Added call to init scenemanager. * scenemanager.c: Added quasi-hack to prevent road/label names from showing up twice on one screen. * map.c: Request permission from scenemanager before drawing a label. 2005-02-22 Ian McIntosh * import_tiger.c: Removed some debug output. 2005-02-22 Ian McIntosh * import_tiger.c: Added extracting of polygon labels. * map.c: Added polygon label drawing. 2005-02-22 Carl Worth * configure.in: * include/databasewindow.h: * include/datasetwindow.h: * include/db.h: * include/geometryset.h: * include/gotowindow.h: * include/gpsclient.h: * include/gui.h: * include/import.h: * include/importwindow.h: * include/layers.h: * include/locationset.h: * include/mainwindow.h: * include/map.h: * include/scenemanager.h: * include/searchwindow.h: * include/util.h: * include/welcomewindow.h: * src/Makefile.am: * src/databasewindow.c: (databasewindow_connect), (databasewindow_on_connectbutton_clicked): * src/datasetwindow.c: (datasetwindow_show), (datasetwindow_confirm_delete): * src/db.c: (db_insert), (db_is_connected), (db_count_table_rows), (db_disconnect), (db_roadname_get_id): * src/geometryset.c: * src/gotowindow.c: (gotowindow_show), (gotowindow_hide), (util_string_to_double), (gotowindow_go): * src/gpsclient.c: (gpsclient_callback_update), (gpsclient_connect), (gpsclient_debug_print): * src/import.c: (import_progress_pulse): * src/import_tiger.c: (import_tiger_read_lat), (import_tiger_read_lon), (import_tiger_read_int), (import_tiger_read_address), (import_tiger_read_string), (import_tiger_read_layer_type), (debug_print_string), (import_tiger_copy_line), (import_tiger_parse_MET), (import_tiger_parse_table_1), (import_tiger_parse_table_2), (import_tiger_parse_table_7), (import_tiger_parse_table_8), (import_tiger_parse_table_i), (callback_save_rt1_chains), (tiger_util_add_RT1_points_to_array), (callback_save_rti_polygons): * src/importwindow.c: (importwindow_show), (importwindow_progress_pulse), (importwindow_begin): * src/locationset.c: (locationset_util_new_locationset), (locationset_clear_all_locations), (locationset_find_by_id): * src/mainwindow.c: (util_set_image_to_stock), (mainwindow_set_statusbar_position), (mainwindow_set_statusbar_zoomscale), (mainwindow_set_busy), (mainwindow_load_locationset_list), (mainwindow_show), (mainwindow_hide), (mainwindow_get_toolbar_visible), (mainwindow_get_statusbar_visible), (mainwindow_statusbar_update_zoomscale), (mainwindow_statusbar_update_position), (mainwindow_get_sidebox_visible), (mainwindow_get_window), (mainwindow_toggle_fullscreen), (on_searchbox_key_press_event), (on_searchbox_editing_done), (zoom_in_one), (zoom_out_one), (gui_set_tool), (on_preferencesmenuitem_activate), (on_gotodialoggobutton_activate), (mainwindow_begin_import_geography_data), (mainwindow_setup_selected_tool), (mainwindow_draw_map), (mainwindow_show_on_startup): * src/map.c: (map_pixels_to_degrees), (map_degrees_to_pixels), (map_get_distance_in_meters), (map_draw_line_label): * src/scenemanager.c: (scenemanager_init), (scenemanager_add_label_line), (scenemanager_add_label_polygon), (scenemanager_draw), (scenemanager_clear): * src/search.c: * src/search_location.c: (search_location_execute): * src/search_road.c: (search_road_on_words), (point_calc_distance), (pointstring_walk_percentage), (min4), (max4): * src/searchwindow.c: (fill_combobox_with_distance_unit_names), (searchwindow_get_selected_locationset), (searchwindow_clear_results), (searchwindow_go_to_selected_result): * src/util.c: (util_random_color): * src/welcomewindow.c: (welcomewindow_show), (welcomewindow_hide): Enable lots of warning flags when compiling with gcc. Fix things to silence all the warnings, (missing #include, missing void in prototype, missing prototypes, missing static, etc.). * src/search_road.c: Fix glib version check logic for checking for glib < 2.6. * src/importwindow.c: (importwindow_progress_pulse): Fix to call import_from_uri correctly with only one argument. 2005-02-21 Ian McIntosh * roadster.glade: Removed sidebar search, put search field in toolbar. * search_road.c: Added room for city, state, zip to search results. * layers.h: Added LAYER_MISC_AREA for schools, hospitals, etc. Added "bold" setting for layer font style. * scenemanager.c: Added beginning of a scenemanager to handle font layout. * import.c: Don't disable database indexes during import (may be causing flaky behavior) * import_tiger.c: Fixed 'nan' import bug. Fixed bug in polygon stitching. Added check for county boundaries (currently unused). Added check for LAYER_MISC_AREA type. Added support for LAYER_RIVER. * layers.c: Added LAYER_MISC_AREA style. Added font styles to all layers. * mainwindow.c: Changed cairo include path from to * map.c: Added #define to hack around Cairo line cap bug. Tweaked zoom level. Added support for label styles. 2005-02-20 Ian McIntosh * roadster.glade.scrap: Moved some unused windows from roadster.glade here to quiet libglade on startup. * configure.in: Added 'cairo' to package config. * db.c: Added ability to temporarily enable/disable database indexes. * import.c: Disable database indexes during import. * import_tiger.c: Fix bug in lat/lon parsing for values < -100 or > 100. * mainwindow.c: Commented out some unused code. * map.c: Tweaked some style settings. 2005-02-19 Ian McIntosh * intl/Makefile.in: Added so configure works. 2005-02-19 Carl Worth * acconfig.h: Add this file which was in the original tar file, so that autogen.sh works again, (the file sure looked auto-generated to me...). 2005-02-19 Ian McIntosh * autogen.sh: Add autogen.sh. 2005-02-18 Carl Worth * .cvsignore: Ignore config.h.in. 2005-02-18 Carl Worth * .cvsignore: Don't ignore autogen.sh. 2005-02-18 Carl Worth * src/db.c: (db_init, db_deinit): Wrap all mysql_embed-related code in #if HAVE_MYSQL_EMBED. 2005-02-18 Carl Worth * src/search_road.c: Add missing include of stdlib.h. * README: Added gettext and gpsd to the dependency list. * .cvsignore: * include/.cvsignore: * intl/.cvsignore: * macros/.cvsignore: * pixmaps/.cvsignore: * po/.cvsignore: * src/.cvsignore: Add a bunch of .cvsignore files. * config.h.in: Remove file that shouldn't have been in CVS. * src/Makefile.am: Don't force a static build.