+ g_message("main: log_level_changed");
+ log_levels = int2log(gtk_spin_button_get_value_as_int(spinner));
+}
+
+static void set_location_time(AWeatherGui *gui, char *site, char *time)
+{
+ /* Set time
+ * Do this before setting setting location
+ * so that it doesn't refresh twice */
+ if (time) {
+ int year, mon, day, hour, min;
+ sscanf(time, "%d-%d-%d %d:%d", &year, &mon, &day, &hour, &min);
+ time_t sec = mktime(&(struct tm){0, year-1900, mon-1, day, hour, min});
+ if (sec > 0)
+ grits_viewer_set_time(gui->viewer, sec);
+ g_debug("date = [%s] == %lu\n", time, sec);
+ }
+
+ /* Set location */
+ if (site) {
+ for (city_t *city = cities; city->type; city++) {
+ if (city->type == LOCATION_CITY && g_str_equal(city->code, site)) {
+ grits_viewer_set_location(gui->viewer,
+ city->pos.lat, city->pos.lon, EARTH_R/35);
+ break;
+ }
+ }
+ }
+}
+
+static void set_toggle_action(AWeatherGui *gui, const char *action, gboolean enabled)
+{
+ GObject *object = aweather_gui_get_object(gui, action);
+ gtk_toggle_action_set_active(GTK_TOGGLE_ACTION(object), enabled);