X-Git-Url: http://pileus.org/git/?p=grits;a=blobdiff_plain;f=src%2Faweather-gui.c;h=07fb089b69cdf58b8e35756ae64597f2b151b105;hp=771ff20b1745d0b03209e38d3ccf1b7bdc5f050b;hb=1ac2b7c2d9465293d168c33555a43862320b5c04;hpb=1cf8b4ecd92f49dfbbe0472e02d4e5bc8841fe2f diff --git a/src/aweather-gui.c b/src/aweather-gui.c index 771ff20..07fb089 100644 --- a/src/aweather-gui.c +++ b/src/aweather-gui.c @@ -427,19 +427,25 @@ AWeatherGui *aweather_gui_new() AWeatherGui *self = g_object_new(AWEATHER_TYPE_GUI, NULL); self->view = aweather_view_new(); self->builder = gtk_builder_new(); - if (!gtk_builder_add_from_file(self->builder, DATADIR "/aweather/main.ui", &error)) g_error("Failed to create gtk builder: %s", error->message); - gtk_builder_connect_signals(self->builder, self); - g_signal_connect(self, "key-press-event", G_CALLBACK(on_gui_key_press), self); gtk_widget_reparent(aweather_gui_get_widget(self, "body"), GTK_WIDGET(self)); + /* Connect signals */ + gtk_builder_connect_signals(self->builder, self); + g_signal_connect(self, "key-press-event", + G_CALLBACK(on_gui_key_press), self); + g_signal_connect(self->view, "location-changed", + G_CALLBACK(on_location_changed), self); + g_signal_connect_swapped(self->view, "offline", + G_CALLBACK(gtk_toggle_action_set_active), + aweather_gui_get_object(self, "offline")); + /* Load components */ - aweather_view_set_location(self->view, 0, 0, -300*1000); - g_signal_connect(self->view, "location-changed", G_CALLBACK(on_location_changed), self); site_setup(self); time_setup(self); opengl_setup(self); + return self; } AWeatherView *aweather_gui_get_view(AWeatherGui *gui)