]> git.street.me.uk Git - andy/viking.git/blobdiff - src/vikmapslayer.c
Add Terraserver
[andy/viking.git] / src / vikmapslayer.c
index a1c2f96795d3dad81d890389fbb49e087ee567de..901b7f6658be28d9d065ce6db20bced7ef81c0ac 100644 (file)
@@ -36,7 +36,6 @@
 #include <glib/gstdio.h>
 #include <glib/gi18n.h>
 
 #include <glib/gstdio.h>
 #include <glib/gi18n.h>
 
-#include <stdio.h>
 #include <string.h>
 #include <math.h>
 #include "globals.h"
 #include <string.h>
 #include <math.h>
 #include "globals.h"
@@ -46,7 +45,6 @@
 #include "vikviewport.h"
 #include "viklayer.h"
 #include "vikmapslayer.h"
 #include "vikviewport.h"
 #include "viklayer.h"
 #include "vikmapslayer.h"
-#include "vikmapslayer_pixmap.h"
 
 #ifdef HAVE_UNISTD_H
 #include <unistd.h>
 
 #ifdef HAVE_UNISTD_H
 #include <unistd.h>
@@ -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,
 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"),
 };
 
 VikLayerInterface vik_maps_layer_interface = {
   N_("Map"),
-  &mapslayer_pixbuf,
+  &vikmapslayer_pixbuf,
 
   maps_tools,
   sizeof(maps_tools) / sizeof(maps_tools[0]),
 
   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 = 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));
 
   /* 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 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
 #ifdef WINDOWS
-#define MAPS_CACHE_DIR "C:\\VIKING-MAPS\\"
+#include <io.h>
+#define GLOBAL_MAPS_DIR "C:\\VIKING-MAPS\\"
+#define LOCAL_MAPS_DIR "VIKING-MAPS"
 #else /* POSIX */
 #else /* POSIX */
-
 #include <stdlib.h>
 #include <stdlib.h>
-
-#define MAPS_CACHE_DIR maps_layer_default_dir()
 #define GLOBAL_MAPS_DIR "/var/cache/maps/"
 #define GLOBAL_MAPS_DIR "/var/cache/maps/"
+#define LOCAL_MAPS_DIR ".viking-maps"
+#endif
 
 gchar *maps_layer_default_dir ()
 {
 
 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 {
     } 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 )
       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
       else
-        defaultdir = g_strdup ( ".viking-maps" );
+        defaultdir = g_strdup ( LOCAL_MAPS_DIR );
     }
     if (defaultdir && (defaultdir[strlen(defaultdir)-1] != G_DIR_SEPARATOR))
     {
     }
     if (defaultdir && (defaultdir[strlen(defaultdir)-1] != G_DIR_SEPARATOR))
     {
@@ -292,8 +293,6 @@ gchar *maps_layer_default_dir ()
   return defaultdir;
 }
 
   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 )
 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)
       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) )
       {
 
       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))
         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 )
         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)
     {
                      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 );
     }
   }
 }
     }
   }
 }