[gnome-maps/wip/jonasdn/vector-tiles] Add autoreload of stylesheet
- From: Jonas Danielsson <jonasdn src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-maps/wip/jonasdn/vector-tiles] Add autoreload of stylesheet
- Date: Mon, 27 Apr 2015 19:53:28 +0000 (UTC)
commit 1c41224c794de4084d777035dc38975bc4d76b64
Author: Jonas Danielsson <jonas threetimestwo org>
Date: Mon Apr 27 21:52:44 2015 +0200
Add autoreload of stylesheet
lib/maps-mapbox-renderer.c | 21 +++++++++++++++++++++
1 files changed, 21 insertions(+), 0 deletions(-)
---
diff --git a/lib/maps-mapbox-renderer.c b/lib/maps-mapbox-renderer.c
index cbb9b80..2798a70 100644
--- a/lib/maps-mapbox-renderer.c
+++ b/lib/maps-mapbox-renderer.c
@@ -116,13 +116,34 @@ maps_mapbox_renderer_set_view (MapsMapboxRenderer *renderer,
champlain_view_add_layer (view, (ChamplainLayer *) renderer->priv->layer);
}
+static void
+on_stylesheet_changed (GFileMonitor *monitor,
+ GFile *file,
+ GFile *other_file,
+ GFileMonitorEvent event_type,
+ VTileMapCSS *stylesheet)
+{
+ if (event_type == G_FILE_MONITOR_EVENT_CHANGES_DONE_HINT)
+ vtile_mapcss_load (stylesheet, g_file_get_path (file), NULL);
+}
+
void
maps_mapbox_renderer_load_css (MapsMapboxRenderer *renderer,
const char *filename,
GError **error)
{
+ GFile *file;
+ GFileMonitor *monitor;
+
renderer->priv->stylesheet = vtile_mapcss_new ();
vtile_mapcss_load (renderer->priv->stylesheet, filename, error);
+
+ file = g_file_new_for_path (filename);
+ monitor = g_file_monitor_file (file, G_FILE_MONITOR_NONE, NULL, NULL);
+ g_signal_connect (monitor, "changed",
+ G_CALLBACK (on_stylesheet_changed),
+ renderer->priv->stylesheet);
+
}
static void
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]