X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=src%2Fgis-viewer.c;h=f85f60939dfa737fb748cf132a3a3abe0d2c2e38;hb=ccfdb537f75386aa38db18660f14f0dc41b54ed8;hp=a9284d5c1d40030d9d82e32c75cb797854ff0425;hpb=3ebe95528320be9e3821fe23e39d41fd89b10fdd;p=grits diff --git a/src/gis-viewer.c b/src/gis-viewer.c index a9284d5..f85f609 100644 --- a/src/gis-viewer.c +++ b/src/gis-viewer.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2009 Andy Spencer + * Copyright (C) 2009-2010 Andy Spencer * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -28,7 +28,6 @@ /* Constants */ enum { SIG_TIME_CHANGED, - SIG_SITE_CHANGED, SIG_LOCATION_CHANGED, SIG_ROTATION_CHANGED, SIG_REFRESH, @@ -71,11 +70,6 @@ static void _gis_viewer_emit_time_changed(GisViewer *self) g_signal_emit(self, signals[SIG_TIME_CHANGED], 0, self->time); } -static void _gis_viewer_emit_site_changed(GisViewer *self) -{ - g_signal_emit(self, signals[SIG_SITE_CHANGED], 0, - self->site); -} static void _gis_viewer_emit_refresh(GisViewer *self) { g_signal_emit(self, signals[SIG_REFRESH], 0); @@ -126,6 +120,13 @@ static void on_view_changed(GisViewer *self, /*********** * Methods * ***********/ +void gis_viewer_setup(GisViewer *self, GisPlugins *plugins, GisPrefs *prefs) +{ + self->plugins = plugins; + self->prefs = prefs; + self->offline = gis_prefs_get_boolean(prefs, "gis/offline", NULL); +} + void gis_viewer_set_time(GisViewer *self, const char *time) { g_assert(GIS_IS_VIEWER(self)); @@ -210,23 +211,6 @@ void gis_viewer_rotate(GisViewer *self, gdouble x, gdouble y, gdouble z) _gis_viewer_emit_rotation_changed(self); } -/* To be deprecated, use {get,set}_location */ -void gis_viewer_set_site(GisViewer *self, const gchar *site) -{ - g_assert(GIS_IS_VIEWER(self)); - g_debug("GisViewer: set_site"); - g_free(self->site); - self->site = g_strdup(site); - _gis_viewer_emit_site_changed(self); -} - -gchar *gis_viewer_get_site(GisViewer *self) -{ - g_assert(GIS_IS_VIEWER(self)); - g_debug("GisViewer: get_site - %s", self->site); - return self->site; -} - void gis_viewer_refresh(GisViewer *self) { g_debug("GisViewer: refresh"); @@ -237,6 +221,7 @@ void gis_viewer_set_offline(GisViewer *self, gboolean offline) { g_assert(GIS_IS_VIEWER(self)); g_debug("GisViewer: set_offline - %d", offline); + gis_prefs_set_boolean(self->prefs, "gis/offline", offline); self->offline = offline; _gis_viewer_emit_offline(self); } @@ -344,7 +329,6 @@ static void gis_viewer_init(GisViewer *self) g_debug("GisViewer: init"); /* Default values */ self->time = g_strdup(""); - self->site = g_strdup(""); self->location[0] = 40; self->location[1] = -100; self->location[2] = 1.5*EARTH_R; @@ -363,7 +347,6 @@ static void gis_viewer_finalize(GObject *gobject) g_debug("GisViewer: finalize"); GisViewer *self = GIS_VIEWER(gobject); g_free(self->time); - g_free(self->site); G_OBJECT_CLASS(gis_viewer_parent_class)->finalize(gobject); } static void gis_viewer_class_init(GisViewerClass *klass) @@ -382,17 +365,6 @@ static void gis_viewer_class_init(GisViewerClass *klass) G_TYPE_NONE, 1, G_TYPE_STRING); - signals[SIG_SITE_CHANGED] = g_signal_new( - "site-changed", - G_TYPE_FROM_CLASS(gobject_class), - G_SIGNAL_RUN_LAST, - 0, - NULL, - NULL, - g_cclosure_marshal_VOID__STRING, - G_TYPE_NONE, - 1, - G_TYPE_STRING); signals[SIG_LOCATION_CHANGED] = g_signal_new( "location-changed", G_TYPE_FROM_CLASS(gobject_class),