+void on_about(GtkMenuItem *item, AWeatherGui *gui)
+{
+ GError *error = NULL;
+ GtkBuilder *builder = gtk_builder_new();
+ if (!gtk_builder_add_from_file(builder, DATADIR "/aweather/about.xml", &error))
+ g_error("Failed to create gtk builder: %s", error->message);
+ gtk_builder_connect_signals(builder, NULL);
+ GtkWidget *window = GTK_WIDGET(gtk_builder_get_object(builder, "window"));
+ gtk_window_set_transient_for(GTK_WINDOW(window),
+ GTK_WINDOW(aweather_gui_get_widget(gui, "window")));
+ gtk_widget_show_all(window);
+ g_object_unref(builder);
+}
+
+void on_location_changed(AWeatherView *view,
+ gdouble x, gdouble y, gdouble z, AWeatherGui *gui)
+{
+ /* Reset clipping area and redraw */
+ GtkWidget *da = aweather_gui_get_widget(gui, "drawing");
+ on_configure(da, NULL, gui);
+ aweather_gui_gl_redraw(gui);
+}
+