X-Git-Url: https://git.street.me.uk/andy/viking.git/blobdiff_plain/f83131b9214303509234021bcf5cff939d4ce2c7..de2fc9aa9e8db8e0258c8328161c6b5eda176a0a:/src/vikmapslayer.c?ds=sidebyside diff --git a/src/vikmapslayer.c b/src/vikmapslayer.c index a1c2f967..901b7f66 100644 --- a/src/vikmapslayer.c +++ b/src/vikmapslayer.c @@ -36,7 +36,6 @@ #include #include -#include #include #include #include "globals.h" @@ -46,7 +45,6 @@ #include "vikviewport.h" #include "viklayer.h" #include "vikmapslayer.h" -#include "vikmapslayer_pixmap.h" #ifdef HAVE_UNISTD_H #include @@ -125,12 +123,12 @@ enum { PARAM_MAPTYPE=0, PARAM_CACHE_DIR, PARAM_ALPHA, PARAM_AUTODOWNLOAD, PARAM_ static VikToolInterface maps_tools[] = { { N_("Maps Download"), (VikToolConstructorFunc) maps_layer_download_create, NULL, NULL, NULL, (VikToolMouseFunc) maps_layer_download_click, NULL, (VikToolMouseFunc) maps_layer_download_release, - (VikToolKeyFunc) NULL, GDK_CURSOR_IS_PIXMAP, &cursor_mapdl }, + (VikToolKeyFunc) NULL, GDK_CURSOR_IS_PIXMAP, &cursor_mapdl_pixbuf }, }; VikLayerInterface vik_maps_layer_interface = { N_("Map"), - &mapslayer_pixbuf, + &vikmapslayer_pixbuf, maps_tools, sizeof(maps_tools) / sizeof(maps_tools[0]), @@ -213,7 +211,7 @@ void maps_layer_register_type ( const char *label, guint id, VikMapsLayer_MapTyp params_maptypes = g_list_append(params_maptypes, g_strdup(label)); /* Add the id */ - params_maptypes_ids = g_list_append(params_maptypes_ids, (gpointer)id); + params_maptypes_ids = g_list_append(params_maptypes_ids, GUINT_TO_POINTER (id)); /* We have to clone */ VikMapsLayer_MapType *clone = g_memdup(map_type, sizeof(VikMapsLayer_MapType)); @@ -251,14 +249,17 @@ gchar *vik_maps_layer_get_map_label(VikMapsLayer *vml) /****************************************/ #define DIRSTRUCTURE "%st%ds%dz%d" G_DIR_SEPARATOR_S "%d" G_DIR_SEPARATOR_S "%d" +#define MAPS_CACHE_DIR maps_layer_default_dir() + #ifdef WINDOWS -#define MAPS_CACHE_DIR "C:\\VIKING-MAPS\\" +#include +#define GLOBAL_MAPS_DIR "C:\\VIKING-MAPS\\" +#define LOCAL_MAPS_DIR "VIKING-MAPS" #else /* POSIX */ - #include - -#define MAPS_CACHE_DIR maps_layer_default_dir() #define GLOBAL_MAPS_DIR "/var/cache/maps/" +#define LOCAL_MAPS_DIR ".viking-maps" +#endif gchar *maps_layer_default_dir () { @@ -272,13 +273,13 @@ gchar *maps_layer_default_dir () } else if ( g_access ( GLOBAL_MAPS_DIR, W_OK ) == 0 ) { defaultdir = g_strdup ( GLOBAL_MAPS_DIR ); } else { - const gchar *home = g_getenv("HOME"); + const gchar *home = g_get_home_dir(); if (!home || g_access(home, W_OK)) home = g_get_home_dir (); if ( home ) - defaultdir = g_build_filename ( home, ".viking-maps", NULL ); + defaultdir = g_build_filename ( home, LOCAL_MAPS_DIR, NULL ); else - defaultdir = g_strdup ( ".viking-maps" ); + defaultdir = g_strdup ( LOCAL_MAPS_DIR ); } if (defaultdir && (defaultdir[strlen(defaultdir)-1] != G_DIR_SEPARATOR)) { @@ -292,8 +293,6 @@ gchar *maps_layer_default_dir () return defaultdir; } -#endif - static void maps_layer_mkdir_if_default_dir ( VikMapsLayer *vml ) { if ( vml->cache_dir && strcmp ( vml->cache_dir, MAPS_CACHE_DIR ) == 0 && g_file_test ( vml->cache_dir, G_FILE_TEST_EXISTS ) == FALSE ) @@ -788,7 +787,7 @@ static void map_download_thread ( MapDownloadInfo *mdi, gpointer threaddata ) a_background_thread_progress ( threaddata, ((gdouble)donemaps) / mdi->mapstoget ); /* this also calls testcancel */ if ( mdi->redownload == REDOWNLOAD_ALL) - remove ( mdi->filename_buf ); + g_remove ( mdi->filename_buf ); else if ( (mdi->redownload == REDOWNLOAD_BAD) && (g_file_test ( mdi->filename_buf, G_FILE_TEST_EXISTS ) == TRUE) ) { @@ -796,7 +795,7 @@ static void map_download_thread ( MapDownloadInfo *mdi, gpointer threaddata ) GError *gx = NULL; GdkPixbuf *pixbuf = gdk_pixbuf_new_from_file ( mdi->filename_buf, &gx ); if (gx || (!pixbuf)) - remove ( mdi->filename_buf ); + g_remove ( mdi->filename_buf ); if ( pixbuf ) g_object_unref ( pixbuf ); if ( gx ) @@ -850,7 +849,7 @@ static void mdi_cancel_cleanup ( MapDownloadInfo *mdi ) mdi->mapcoord.scale, mdi->mapcoord.z, mdi->mapcoord.x, mdi->mapcoord.y ); if ( g_file_test ( mdi->filename_buf, G_FILE_TEST_EXISTS ) == TRUE) { - remove ( mdi->filename_buf ); + g_remove ( mdi->filename_buf ); } } }