Updating branch refs/heads/master to 43724f5775973dd6dd28eaa958a81d1c98b70989 (commit) from 207a6b076d69cd0ad1255d9f48838fbf4ec7b0e5 (commit)
commit 43724f5775973dd6dd28eaa958a81d1c98b70989 Author: Harald Judt <h.j...@gmx.at> Date: Thu Jul 26 16:08:14 2012 +0200 Reformat source code: weather-config panel-plugin/weather-config.c | 1061 ++++++++++++++++++++--------------------- panel-plugin/weather-config.h | 62 ++-- 2 files changed, 541 insertions(+), 582 deletions(-) diff --git a/panel-plugin/weather-config.c b/panel-plugin/weather-config.c index b1bf8ad..ea40fb6 100644 --- a/panel-plugin/weather-config.c +++ b/panel-plugin/weather-config.c @@ -31,680 +31,643 @@ #include "weather-scrollbox.h" #define OPTIONS_N 13 -#define BORDER 8 +#define BORDER 8 #define LOC_NAME_MAX_LEN 50 static const labeloption labeloptions[OPTIONS_N] = { - {N_("Temperature (T)"), TEMPERATURE}, - {N_("Atmosphere pressure (P)"), PRESSURE}, - {N_("Wind speed (WS)"), WIND_SPEED}, - {N_("Wind speed - Beaufort scale (WB)"), WIND_BEAUFORT}, - {N_("Wind direction (WD)"), WIND_DIRECTION}, - {N_("Wind direction in degrees (WD)"), WIND_DIRECTION_DEG}, - {N_("Humidity (H)"), HUMIDITY}, - {N_("Low clouds (CL)"), CLOUDS_LOW}, - {N_("Medium clouds (CM)"), CLOUDS_MED}, - {N_("High clouds (CH)"), CLOUDS_HIGH}, - {N_("Cloudiness (C)"), CLOUDINESS}, - {N_("Fog (F)"), FOG}, - {N_("Precipitations (R)"), PRECIPITATIONS}, + {N_("Temperature (T)"), TEMPERATURE}, + {N_("Atmosphere pressure (P)"), PRESSURE}, + {N_("Wind speed (WS)"), WIND_SPEED}, + {N_("Wind speed - Beaufort scale (WB)"), WIND_BEAUFORT}, + {N_("Wind direction (WD)"), WIND_DIRECTION}, + {N_("Wind direction in degrees (WD)"), WIND_DIRECTION_DEG}, + {N_("Humidity (H)"), HUMIDITY}, + {N_("Low clouds (CL)"), CLOUDS_LOW}, + {N_("Medium clouds (CM)"), CLOUDS_MED}, + {N_("High clouds (CH)"), CLOUDS_HIGH}, + {N_("Cloudiness (C)"), CLOUDINESS}, + {N_("Fog (F)"), FOG}, + {N_("Precipitations (R)"), PRECIPITATIONS}, }; typedef void (*cb_function) (xfceweather_data *); static cb_function cb = NULL; + static void -add_mdl_option (GtkListStore *mdl, - gint opt) +add_mdl_option(GtkListStore *mdl, + gint opt) { - GtkTreeIter iter; + GtkTreeIter iter; - gtk_list_store_append (mdl, &iter); - gtk_list_store_set (mdl, &iter, - 0, _(labeloptions[opt].name), - 1, labeloptions[opt].number, -1); + gtk_list_store_append(mdl, &iter); + gtk_list_store_set(mdl, &iter, + 0, _(labeloptions[opt].name), + 1, labeloptions[opt].number, -1); } - static gboolean -cb_addoption (GtkWidget *widget, - gpointer data) +cb_addoption(GtkWidget *widget, + gpointer data) { - xfceweather_dialog *dialog; - gint history; + xfceweather_dialog *dialog; + gint history; - dialog = (xfceweather_dialog *) data; - history = gtk_option_menu_get_history (GTK_OPTION_MENU (dialog->opt_xmloption)); + dialog = (xfceweather_dialog *) data; + history = + gtk_option_menu_get_history(GTK_OPTION_MENU(dialog->opt_xmloption)); + add_mdl_option(dialog->mdl_xmloption, history); - add_mdl_option (dialog->mdl_xmloption, history); - - return FALSE; + return FALSE; } - static gboolean -cb_deloption (GtkWidget *widget, - gpointer data) +cb_deloption(GtkWidget *widget, + gpointer data) { - xfceweather_dialog *dialog = (xfceweather_dialog *) data; - GtkTreeSelection *selection; - GtkTreeIter iter; + xfceweather_dialog *dialog = (xfceweather_dialog *) data; + GtkTreeSelection *selection; + GtkTreeIter iter; - selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (dialog->lst_xmloption)); + selection = + gtk_tree_view_get_selection(GTK_TREE_VIEW(dialog->lst_xmloption)); + if (gtk_tree_selection_get_selected(selection, NULL, &iter)) + gtk_list_store_remove(GTK_LIST_STORE(dialog->mdl_xmloption), &iter); - if (gtk_tree_selection_get_selected (selection, NULL, &iter)) - gtk_list_store_remove (GTK_LIST_STORE (dialog->mdl_xmloption), &iter); - - return FALSE; + return FALSE; } - static gboolean -cb_upoption (GtkWidget *widget, - gpointer data) +cb_upoption(GtkWidget *widget, + gpointer data) { - xfceweather_dialog *dialog = (xfceweather_dialog *) data; - GtkTreeSelection *selection; - GtkTreeIter iter, prev; - GtkTreePath *path; - - selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (dialog->lst_xmloption)); - - if (gtk_tree_selection_get_selected (selection, NULL, &iter)) - { - path = gtk_tree_model_get_path (GTK_TREE_MODEL (dialog->mdl_xmloption), &iter); - if (gtk_tree_path_prev (path)) - { - if (gtk_tree_model_get_iter (GTK_TREE_MODEL (dialog->mdl_xmloption), &prev, path)) - gtk_list_store_move_before (GTK_LIST_STORE (dialog->mdl_xmloption), &iter, &prev); - - gtk_tree_path_free(path); + xfceweather_dialog *dialog = (xfceweather_dialog *) data; + GtkTreeSelection *selection; + GtkTreeIter iter, prev; + GtkTreePath *path; + + selection = + gtk_tree_view_get_selection(GTK_TREE_VIEW(dialog->lst_xmloption)); + if (gtk_tree_selection_get_selected(selection, NULL, &iter)) { + path = gtk_tree_model_get_path(GTK_TREE_MODEL(dialog->mdl_xmloption), + &iter); + if (gtk_tree_path_prev(path)) { + if (gtk_tree_model_get_iter(GTK_TREE_MODEL(dialog->mdl_xmloption), + &prev, path)) + gtk_list_store_move_before(GTK_LIST_STORE(dialog->mdl_xmloption), + &iter, &prev); + + gtk_tree_path_free(path); } } - return FALSE; + return FALSE; } - static gboolean -cb_downoption (GtkWidget *widget, - gpointer data) +cb_downoption(GtkWidget *widget, + gpointer data) { - xfceweather_dialog *dialog = (xfceweather_dialog *) data; - GtkTreeIter iter, next; - GtkTreeSelection *selection; - - selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (dialog->lst_xmloption)); - - if (gtk_tree_selection_get_selected (selection, NULL, &iter)) - { - next = iter; - if (gtk_tree_model_iter_next (GTK_TREE_MODEL (dialog->mdl_xmloption), &next)) - gtk_list_store_move_after (GTK_LIST_STORE (dialog->mdl_xmloption), &iter, &next); + xfceweather_dialog *dialog = (xfceweather_dialog *) data; + GtkTreeIter iter, next; + GtkTreeSelection *selection; + + selection = + gtk_tree_view_get_selection(GTK_TREE_VIEW(dialog->lst_xmloption)); + if (gtk_tree_selection_get_selected(selection, NULL, &iter)) { + next = iter; + if (gtk_tree_model_iter_next(GTK_TREE_MODEL(dialog->mdl_xmloption), + &next)) + gtk_list_store_move_after(GTK_LIST_STORE(dialog->mdl_xmloption), + &iter, &next); } - return FALSE; + return FALSE; } - static gboolean -cb_toggle (GtkWidget *widget, - gpointer data) +cb_toggle(GtkWidget *widget, + gpointer data) { - GtkWidget *target = (GtkWidget *) data; - - gtk_widget_set_sensitive (target, - gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON + GtkWidget *target = (GtkWidget *) data; + gtk_widget_set_sensitive(target, + gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON (widget))); - - return FALSE; + return FALSE; } - static gboolean -cb_not_toggle (GtkWidget *widget, - gpointer data) +cb_not_toggle(GtkWidget *widget, + gpointer data) { - GtkWidget *target = (GtkWidget *) data; - - gtk_widget_set_sensitive (target, - !gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON + GtkWidget *target = (GtkWidget *) data; + gtk_widget_set_sensitive(target, + !gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON (widget))); - - return FALSE; + return FALSE; } - static GtkWidget * -make_label (void) +make_label(void) { - guint i; - GtkWidget *widget, *menu; - - menu = gtk_menu_new (); - widget = gtk_option_menu_new (); + GtkWidget *widget, *menu; + guint i; - for (i = 0; i < OPTIONS_N; i++) - { - labeloption opt = labeloptions[i]; + menu = gtk_menu_new(); + widget = gtk_option_menu_new(); + for (i = 0; i < OPTIONS_N; i++) { + labeloption opt = labeloptions[i]; - gtk_menu_shell_append (GTK_MENU_SHELL (menu), - gtk_menu_item_new_with_label (_(opt.name))); + gtk_menu_shell_append(GTK_MENU_SHELL(menu), + gtk_menu_item_new_with_label(_(opt.name))); } - - gtk_option_menu_set_menu (GTK_OPTION_MENU (widget), menu); - - return widget; + gtk_option_menu_set_menu(GTK_OPTION_MENU(widget), menu); + return widget; } - gchar * sanitize_location_name(const gchar *location_name) { - gchar *pos, sane[LOC_NAME_MAX_LEN * 4]; - glong len, offset; - - pos = g_utf8_strchr (location_name, -1, ','); - if (pos != NULL) - { - offset = g_utf8_pointer_to_offset (location_name, pos); - if (offset > LOC_NAME_MAX_LEN) - offset = LOC_NAME_MAX_LEN; - (void) g_utf8_strncpy (sane, location_name, offset); - sane[LOC_NAME_MAX_LEN * 4 - 1] = '\0'; - return g_strdup (sane); - } - else - { - len = g_utf8_strlen(location_name, LOC_NAME_MAX_LEN); - - if (len >= LOC_NAME_MAX_LEN) - { - (void) g_utf8_strncpy (sane, location_name, len); - sane[LOC_NAME_MAX_LEN * 4 - 1] = '\0'; - return g_strdup (sane); + gchar *pos, sane[LOC_NAME_MAX_LEN * 4]; + glong len, offset; + + pos = g_utf8_strchr(location_name, -1, ','); + if (pos != NULL) { + offset = g_utf8_pointer_to_offset(location_name, pos); + if (offset > LOC_NAME_MAX_LEN) + offset = LOC_NAME_MAX_LEN; + (void) g_utf8_strncpy(sane, location_name, offset); + sane[LOC_NAME_MAX_LEN * 4 - 1] = '\0'; + return g_strdup(sane); + } else { + len = g_utf8_strlen(location_name, LOC_NAME_MAX_LEN); + + if (len >= LOC_NAME_MAX_LEN) { + (void) g_utf8_strncpy(sane, location_name, len); + sane[LOC_NAME_MAX_LEN * 4 - 1] = '\0'; + return g_strdup(sane); } - if (len > 0) - return g_strdup(location_name); + if (len > 0) + return g_strdup(location_name); - return g_strdup(_("Unset")); + return g_strdup(_("Unset")); } } - void -apply_options (xfceweather_dialog *dialog) +apply_options(xfceweather_dialog *dialog) { - gint option; - gboolean hasiter = FALSE; - GtkTreeIter iter; - gchar *text; - GValue value = { 0, }; - GtkWidget *widget; - - xfceweather_data *data = (xfceweather_data *) dialog->wd; - - option = gtk_combo_box_get_active(GTK_COMBO_BOX(dialog->combo_unit_system)); - - if (option == IMPERIAL) - data->unit_system = IMPERIAL; - else - data->unit_system = METRIC; - - if (data->lat) - g_free (data->lat); - - if (data->lon) - g_free (data->lon); - - if (data->location_name) - g_free (data->location_name); - - data->lat = - g_strdup (gtk_entry_get_text (GTK_ENTRY (dialog->txt_lat))); - - data->lon = - g_strdup (gtk_entry_get_text (GTK_ENTRY (dialog->txt_lon))); - - data->location_name = - g_strdup (gtk_entry_get_text (GTK_ENTRY (dialog->txt_loc_name))); - - /* call labels_clear() here */ - if (data->labels && data->labels->len > 0) - g_array_free (data->labels, TRUE); - - data->labels = g_array_new (FALSE, TRUE, sizeof (datas)); - - for (hasiter = - gtk_tree_model_get_iter_first (GTK_TREE_MODEL (dialog->mdl_xmloption), - &iter); hasiter == TRUE; - hasiter = - gtk_tree_model_iter_next (GTK_TREE_MODEL (dialog->mdl_xmloption), - &iter)) - { - gtk_tree_model_get_value (GTK_TREE_MODEL (dialog->mdl_xmloption), &iter, - 1, &value); - option = g_value_get_int (&value); - g_array_append_val (data->labels, option); - g_value_unset (&value); + gint option; + gboolean hasiter = FALSE; + GtkTreeIter iter; + gchar *text; + GValue value = { 0, }; + GtkWidget *widget; + xfceweather_data *data = (xfceweather_data *) dialog->wd; + + option = gtk_combo_box_get_active(GTK_COMBO_BOX(dialog->combo_unit_system)); + if (option == IMPERIAL) + data->unit_system = IMPERIAL; + else + data->unit_system = METRIC; + + if (data->lat) + g_free(data->lat); + if (data->lon) + g_free(data->lon); + if (data->location_name) + g_free(data->location_name); + + data->lat = + g_strdup(gtk_entry_get_text(GTK_ENTRY(dialog->txt_lat))); + data->lon = + g_strdup(gtk_entry_get_text(GTK_ENTRY(dialog->txt_lon))); + data->location_name = + g_strdup(gtk_entry_get_text(GTK_ENTRY(dialog->txt_loc_name))); + + /* call labels_clear() here */ + if (data->labels && data->labels->len > 0) + g_array_free(data->labels, TRUE); + + data->labels = g_array_new(FALSE, TRUE, sizeof(datas)); + for (hasiter = + gtk_tree_model_get_iter_first(GTK_TREE_MODEL + (dialog->mdl_xmloption), + &iter); + hasiter == TRUE; + hasiter = + gtk_tree_model_iter_next(GTK_TREE_MODEL(dialog->mdl_xmloption), + &iter)) { + gtk_tree_model_get_value(GTK_TREE_MODEL(dialog->mdl_xmloption), &iter, + 1, &value); + option = g_value_get_int(&value); + g_array_append_val(data->labels, option); + g_value_unset(&value); } - if (data->proxy_host) - { - g_free (data->proxy_host); - data->proxy_host = NULL; + if (data->proxy_host) { + g_free(data->proxy_host); + data->proxy_host = NULL; } - data->forecast_days = (gint) gtk_spin_button_get_value (GTK_SPIN_BUTTON (dialog->spin_forecast_days)); - - data->animation_transitions = gtk_toggle_button_get_active( - GTK_TOGGLE_BUTTON(dialog->chk_animate_transition)); - - gtk_scrollbox_set_animate(GTK_SCROLLBOX(data->scrollbox), data->animation_transitions); - - if (!gtk_toggle_button_get_active - (GTK_TOGGLE_BUTTON (dialog->chk_proxy_use))) - data->proxy_fromenv = FALSE; - else - if (gtk_toggle_button_get_active - (GTK_TOGGLE_BUTTON (dialog->chk_proxy_fromenv))) - { - data->proxy_fromenv = TRUE; - check_envproxy (&data->proxy_host, &data->proxy_port); - } - else /* use provided proxy settings */ - { - data->proxy_fromenv = FALSE; - text = - g_strdup (gtk_entry_get_text (GTK_ENTRY (dialog->txt_proxy_host))); - - if (strlen (text) == 0) - { - widget = gtk_message_dialog_new (NULL, GTK_DIALOG_NO_SEPARATOR, - GTK_MESSAGE_ERROR, GTK_BUTTONS_CLOSE, + data->forecast_days = + (gint) gtk_spin_button_get_value(GTK_SPIN_BUTTON + (dialog->spin_forecast_days)); + + data->animation_transitions = + gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON + (dialog->chk_animate_transition)); + gtk_scrollbox_set_animate(GTK_SCROLLBOX(data->scrollbox), + data->animation_transitions); + + if (!gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(dialog->chk_proxy_use))) + data->proxy_fromenv = FALSE; + else + if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON + (dialog->chk_proxy_fromenv))) { + data->proxy_fromenv = TRUE; + check_envproxy(&data->proxy_host, &data->proxy_port); + } else { + /* use provided proxy settings */ + data->proxy_fromenv = FALSE; + text = + g_strdup(gtk_entry_get_text(GTK_ENTRY(dialog->txt_proxy_host))); + + if (strlen(text) == 0) { + widget = + gtk_message_dialog_new(NULL, + GTK_DIALOG_NO_SEPARATOR, + GTK_MESSAGE_ERROR, + GTK_BUTTONS_CLOSE, _("Please enter proxy settings")); - gtk_dialog_run (GTK_DIALOG (widget)); - gtk_widget_destroy (widget); + gtk_dialog_run(GTK_DIALOG(widget)); + gtk_widget_destroy(widget); - gtk_widget_grab_focus (dialog->txt_proxy_host); - g_free (text); + gtk_widget_grab_focus(dialog->txt_proxy_host); + g_free(text); + return; + } - return; - } - - data->proxy_host = g_strdup (text); - data->proxy_port = - gtk_spin_button_get_value (GTK_SPIN_BUTTON (dialog->txt_proxy_port)); + data->proxy_host = g_strdup(text); + data->proxy_port = + gtk_spin_button_get_value(GTK_SPIN_BUTTON + (dialog->txt_proxy_port)); - if (data->saved_proxy_host) - g_free (data->saved_proxy_host); + if (data->saved_proxy_host) + g_free(data->saved_proxy_host); - data->saved_proxy_host = g_strdup (text); - data->saved_proxy_port = data->proxy_port; + data->saved_proxy_host = g_strdup(text); + data->saved_proxy_port = data->proxy_port; - g_free (text); - } + g_free(text); + } - if (cb) - cb (data); + if (cb) + cb(data); } - static int -option_i (datas opt) +option_i(datas opt) { - guint i; + guint i; - for (i = 0; i < OPTIONS_N; i++) - { - if (labeloptions[i].number == opt) - return i; - } + for (i = 0; i < OPTIONS_N; i++) + if (labeloptions[i].number == opt) + return i; - return -1; + return -1; } -static void auto_locate_cb(const gchar *loc_name, const gchar *lat, const gchar *lon, unit_systems unit_system, gpointer user_data) + +static void +auto_locate_cb(const gchar *loc_name, + const gchar *lat, + const gchar *lon, + unit_systems unit_system, + gpointer user_data) { - xfceweather_dialog *dialog = (xfceweather_dialog *) user_data; + xfceweather_dialog *dialog = (xfceweather_dialog *) user_data; - if (lat && lon && loc_name) { - gtk_entry_set_text (GTK_ENTRY (dialog->txt_lat), lat); - gtk_entry_set_text (GTK_ENTRY (dialog->txt_lon), lon); - gtk_entry_set_text (GTK_ENTRY (dialog->txt_loc_name), loc_name); - gtk_widget_set_sensitive(dialog->txt_loc_name, TRUE); + if (lat && lon && loc_name) { + gtk_entry_set_text(GTK_ENTRY(dialog->txt_lat), lat); + gtk_entry_set_text(GTK_ENTRY(dialog->txt_lon), lon); + gtk_entry_set_text(GTK_ENTRY(dialog->txt_loc_name), loc_name); + gtk_widget_set_sensitive(dialog->txt_loc_name, TRUE); #if GTK_CHECK_VERSION(2,12,0) - gtk_widget_set_tooltip_text(dialog->txt_loc_name,loc_name); + gtk_widget_set_tooltip_text(dialog->txt_loc_name,loc_name); #endif - } else { - gtk_entry_set_text (GTK_ENTRY (dialog->txt_lat), ""); - gtk_entry_set_text (GTK_ENTRY (dialog->txt_lon), ""); - gtk_entry_set_text (GTK_ENTRY (dialog->txt_loc_name), _("Unset")); - gtk_widget_set_sensitive(dialog->txt_loc_name, FALSE); - } - gtk_combo_box_set_active (GTK_COMBO_BOX (dialog->combo_unit_system), unit_system); + } else { + gtk_entry_set_text(GTK_ENTRY(dialog->txt_lat), ""); + gtk_entry_set_text(GTK_ENTRY(dialog->txt_lon), ""); + gtk_entry_set_text(GTK_ENTRY(dialog->txt_loc_name), _("Unset")); + gtk_widget_set_sensitive(dialog->txt_loc_name, FALSE); + } + gtk_combo_box_set_active(GTK_COMBO_BOX(dialog->combo_unit_system), + unit_system); } -static void start_auto_locate(xfceweather_dialog *dialog) + +static void +start_auto_locate(xfceweather_dialog *dialog) { - gtk_widget_set_sensitive(dialog->txt_loc_name, FALSE); - gtk_entry_set_text (GTK_ENTRY (dialog->txt_loc_name), _("Detecting...")); - weather_search_by_ip(dialog->wd->proxy_host, dialog->wd->proxy_port, - auto_locate_cb, dialog); + gtk_widget_set_sensitive(dialog->txt_loc_name, FALSE); + gtk_entry_set_text(GTK_ENTRY(dialog->txt_loc_name), _("Detecting...")); + weather_search_by_ip(dialog->wd->proxy_host, dialog->wd->proxy_port, + auto_locate_cb, dialog); } + static gboolean -cb_findlocation (GtkButton *button, - gpointer user_data) +cb_findlocation(GtkButton *button, + gpointer user_data) { - xfceweather_dialog *dialog = (xfceweather_dialog *) user_data; - search_dialog *sdialog; - gchar *loc_name; - - sdialog = create_search_dialog (NULL, - dialog->wd->proxy_host, - dialog->wd->proxy_port); - - if (run_search_dialog (sdialog)) { - gtk_entry_set_text (GTK_ENTRY (dialog->txt_lat), sdialog->result_lat); - gtk_entry_set_text (GTK_ENTRY (dialog->txt_lon), sdialog->result_lon); - loc_name = sanitize_location_name(sdialog->result_name); - gtk_entry_set_text (GTK_ENTRY (dialog->txt_loc_name), loc_name); - g_free(loc_name); - gtk_widget_set_sensitive(dialog->txt_loc_name, TRUE); + xfceweather_dialog *dialog = (xfceweather_dialog *) user_data; + search_dialog *sdialog; + gchar *loc_name; + + sdialog = create_search_dialog(NULL, + dialog->wd->proxy_host, + dialog->wd->proxy_port); + + if (run_search_dialog(sdialog)) { + gtk_entry_set_text(GTK_ENTRY(dialog->txt_lat), sdialog->result_lat); + gtk_entry_set_text(GTK_ENTRY(dialog->txt_lon), sdialog->result_lon); + loc_name = sanitize_location_name(sdialog->result_name); + gtk_entry_set_text(GTK_ENTRY(dialog->txt_loc_name), loc_name); + g_free(loc_name); + gtk_widget_set_sensitive(dialog->txt_loc_name, TRUE); #if GTK_CHECK_VERSION(2,12,0) - gtk_widget_set_tooltip_text(dialog->txt_loc_name,sdialog->result_name); + gtk_widget_set_tooltip_text(dialog->txt_loc_name,sdialog->result_name); #endif - } - free_search_dialog (sdialog); + } + free_search_dialog(sdialog); - return FALSE; + return FALSE; } - xfceweather_dialog * -create_config_dialog (xfceweather_data *data, - GtkWidget *vbox) +create_config_dialog(xfceweather_data *data, + GtkWidget *vbox) { - xfceweather_dialog *dialog; - GtkWidget *vbox2, *vbox3, *hbox, *hbox2, *label, - *button_add, *button_del, *button_up, *button_down, - *image, *button, *scroll; - GtkSizeGroup *sg, *sg_buttons; - GtkTreeViewColumn *column; - GtkCellRenderer *renderer; - datas opt; - guint i; - gint n; - - sg = gtk_size_group_new (GTK_SIZE_GROUP_HORIZONTAL); - sg_buttons = gtk_size_group_new (GTK_SIZE_GROUP_HORIZONTAL); - - dialog = g_slice_new0 (xfceweather_dialog); - - dialog->wd = (xfceweather_data *) data; - dialog->dialog = gtk_widget_get_toplevel (vbox); - - label = gtk_label_new_with_mnemonic (_("System of _Measurement:")); - gtk_misc_set_alignment (GTK_MISC (label), 0, 0.5); - - dialog->combo_unit_system = gtk_combo_box_new_text(); - gtk_combo_box_append_text(GTK_COMBO_BOX(dialog->combo_unit_system), - _("Imperial")); - gtk_combo_box_append_text(GTK_COMBO_BOX(dialog->combo_unit_system), - _("Metric")); - gtk_label_set_mnemonic_widget(GTK_LABEL(label), - GTK_WIDGET(dialog->combo_unit_system)); - - gtk_combo_box_set_active(GTK_COMBO_BOX(dialog->combo_unit_system), - dialog->wd->unit_system); - - hbox = gtk_hbox_new (FALSE, BORDER); - gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0); - gtk_box_pack_start (GTK_BOX (hbox), dialog->combo_unit_system, TRUE, TRUE, 0); - gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0); - gtk_size_group_add_widget (sg, label); - - label = gtk_label_new_with_mnemonic (_("L_ocation:")); - dialog->txt_lat = gtk_entry_new (); - dialog->txt_lon = gtk_entry_new (); - dialog->txt_loc_name = gtk_entry_new (); - - gtk_misc_set_alignment (GTK_MISC (label), 0, 0.5); - gtk_label_set_mnemonic_widget (GTK_LABEL (label), GTK_WIDGET (dialog->txt_loc_name)); - - if (dialog->wd->lat != NULL && strlen(dialog->wd->lat) > 0) - gtk_entry_set_text (GTK_ENTRY (dialog->txt_lat), - dialog->wd->lat); - else - gtk_widget_set_sensitive(dialog->txt_loc_name, FALSE); - - if (dialog->wd->lon != NULL && strlen(dialog->wd->lon) > 0) - gtk_entry_set_text (GTK_ENTRY (dialog->txt_lon), - dialog->wd->lon); - else - gtk_widget_set_sensitive(dialog->txt_loc_name, FALSE); - - if (dialog->wd->location_name != NULL) - gtk_entry_set_text (GTK_ENTRY (dialog->txt_loc_name), - dialog->wd->location_name); - else - gtk_entry_set_text (GTK_ENTRY (dialog->txt_loc_name), _("Unset")); - gtk_entry_set_max_length (GTK_ENTRY (dialog->txt_loc_name), LOC_NAME_MAX_LEN); - + xfceweather_dialog *dialog; + GtkWidget *vbox2, *vbox3, *hbox, *hbox2, *label; + GtkWidget *button_add, *button_del, *button_up, *button_down; + GtkWidget *image, *button, *scroll; + GtkSizeGroup *sg, *sg_buttons; + GtkTreeViewColumn *column; + GtkCellRenderer *renderer; + datas opt; + guint i; + gint n; + + sg = gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL); + sg_buttons = gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL); + + dialog = g_slice_new0(xfceweather_dialog); + dialog->wd = (xfceweather_data *) data; + dialog->dialog = gtk_widget_get_toplevel(vbox); + + /* system of measurement */ + label = gtk_label_new_with_mnemonic(_("System of _Measurement:")); + gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); + dialog->combo_unit_system = gtk_combo_box_new_text(); + gtk_combo_box_append_text(GTK_COMBO_BOX(dialog->combo_unit_system), + _("Imperial")); + gtk_combo_box_append_text(GTK_COMBO_BOX(dialog->combo_unit_system), + _("Metric")); + gtk_label_set_mnemonic_widget(GTK_LABEL(label), + GTK_WIDGET(dialog->combo_unit_system)); + gtk_combo_box_set_active(GTK_COMBO_BOX(dialog->combo_unit_system), + dialog->wd->unit_system); + hbox = gtk_hbox_new(FALSE, BORDER); + gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); + gtk_box_pack_start(GTK_BOX(hbox), dialog->combo_unit_system, TRUE, TRUE, 0); + gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); + gtk_size_group_add_widget(sg, label); + + /* location */ + label = gtk_label_new_with_mnemonic(_("L_ocation:")); + dialog->txt_lat = gtk_entry_new(); + dialog->txt_lon = gtk_entry_new(); + dialog->txt_loc_name = gtk_entry_new(); + gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); + gtk_label_set_mnemonic_widget(GTK_LABEL(label), + GTK_WIDGET(dialog->txt_loc_name)); + if (dialog->wd->lat != NULL && strlen(dialog->wd->lat) > 0) + gtk_entry_set_text(GTK_ENTRY(dialog->txt_lat), + dialog->wd->lat); + else + gtk_widget_set_sensitive(dialog->txt_loc_name, FALSE); + if (dialog->wd->lon != NULL && strlen(dialog->wd->lon) > 0) + gtk_entry_set_text(GTK_ENTRY(dialog->txt_lon), + dialog->wd->lon); + else + gtk_widget_set_sensitive(dialog->txt_loc_name, FALSE); + if (dialog->wd->location_name != NULL) + gtk_entry_set_text(GTK_ENTRY(dialog->txt_loc_name), + dialog->wd->location_name); + else + gtk_entry_set_text(GTK_ENTRY(dialog->txt_loc_name), _("Unset")); + gtk_entry_set_max_length(GTK_ENTRY(dialog->txt_loc_name), LOC_NAME_MAX_LEN); #if GTK_CHECK_VERSION(2,12,0) - gtk_widget_set_tooltip_text (dialog->txt_loc_name, - gtk_entry_get_text (GTK_ENTRY (dialog->txt_loc_name))); + gtk_widget_set_tooltip_text(dialog->txt_loc_name, + gtk_entry_get_text(GTK_ENTRY + (dialog->txt_loc_name))); #endif - - if ((dialog->wd->lat == NULL || dialog->wd->lon == NULL) - || (! strlen(dialog->wd->lat) || ! strlen(dialog->wd->lon))) { - start_auto_locate(dialog); - } - gtk_size_group_add_widget (sg, label); - - button = gtk_button_new_with_mnemonic(_("Chan_ge...")); - image = gtk_image_new_from_stock (GTK_STOCK_FIND, GTK_ICON_SIZE_BUTTON); - gtk_button_set_image (GTK_BUTTON (button), image); - g_signal_connect (G_OBJECT (button), "clicked", - G_CALLBACK (cb_findlocation), dialog); - - hbox = gtk_hbox_new (FALSE, BORDER); - gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0); - gtk_box_pack_start (GTK_BOX (hbox), dialog->txt_loc_name, TRUE, TRUE, 0); - gtk_box_pack_start (GTK_BOX (hbox), button, FALSE, FALSE, 0); - gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0); - - /* proxy */ - label = gtk_label_new_with_mnemonic (_("_Proxy server:")); - dialog->txt_proxy_host = gtk_entry_new (); - gtk_label_set_mnemonic_widget(GTK_LABEL (label), - GTK_WIDGET (dialog->txt_proxy_host)); - dialog->chk_proxy_use = - gtk_check_button_new_with_mnemonic (_("Use proxy _server")); - dialog->chk_proxy_fromenv = - gtk_check_button_new_with_mnemonic (_("Auto-detect from _environment")); - dialog->txt_proxy_port = gtk_spin_button_new_with_range (0, 65536, 1); - - gtk_misc_set_alignment (GTK_MISC (label), 0, 0); - - gtk_size_group_add_widget (sg, label); - - vbox3 = gtk_vbox_new (FALSE, BORDER); - gtk_box_pack_start (GTK_BOX (vbox3), dialog->chk_proxy_use, FALSE, FALSE, - 0); - gtk_box_pack_start (GTK_BOX (vbox3), dialog->chk_proxy_fromenv, FALSE, - FALSE, 0); - - hbox = gtk_hbox_new (FALSE, BORDER); - gtk_box_pack_start (GTK_BOX (hbox), dialog->txt_proxy_host, TRUE, TRUE, 0); - gtk_box_pack_start (GTK_BOX (hbox), dialog->txt_proxy_port, FALSE, FALSE, - 0); - gtk_box_pack_start (GTK_BOX (vbox3), hbox, FALSE, FALSE, 0); - - - hbox2 = gtk_hbox_new (FALSE, BORDER); - gtk_box_pack_start (GTK_BOX (hbox2), label, FALSE, FALSE, 0); - gtk_box_pack_start (GTK_BOX (hbox2), vbox3, TRUE, TRUE, 0); - - gtk_box_pack_start (GTK_BOX (vbox), hbox2, FALSE, FALSE, 0); - - g_signal_connect (G_OBJECT (dialog->chk_proxy_use), "toggled", - G_CALLBACK (cb_toggle), dialog->txt_proxy_host); - g_signal_connect (G_OBJECT (dialog->chk_proxy_use), "toggled", - G_CALLBACK (cb_toggle), dialog->txt_proxy_port); - g_signal_connect (G_OBJECT (dialog->chk_proxy_use), "toggled", - G_CALLBACK (cb_toggle), dialog->chk_proxy_fromenv); - g_signal_connect (G_OBJECT (dialog->chk_proxy_fromenv), "toggled", - G_CALLBACK (cb_not_toggle), dialog->txt_proxy_host); - g_signal_connect (G_OBJECT (dialog->chk_proxy_fromenv), "toggled", - G_CALLBACK (cb_not_toggle), dialog->txt_proxy_port); - - if (dialog->wd->saved_proxy_host != NULL) - { - gtk_entry_set_text (GTK_ENTRY (dialog->txt_proxy_host), - dialog->wd->saved_proxy_host); - - gtk_spin_button_set_value (GTK_SPIN_BUTTON (dialog->txt_proxy_port), - dialog->wd->saved_proxy_port); - } - - if (dialog->wd->proxy_host || dialog->wd->proxy_fromenv) - { - gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (dialog->chk_proxy_use), - TRUE); - - if (dialog->wd->proxy_fromenv) - gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON - (dialog->chk_proxy_fromenv), TRUE); + if ((dialog->wd->lat == NULL || dialog->wd->lon == NULL) || + (! strlen(dialog->wd->lat) || ! strlen(dialog->wd->lon))) + start_auto_locate(dialog); + gtk_size_group_add_widget(sg, label); + button = gtk_button_new_with_mnemonic(_("Chan_ge...")); + image = gtk_image_new_from_stock(GTK_STOCK_FIND, GTK_ICON_SIZE_BUTTON); + gtk_button_set_image(GTK_BUTTON(button), image); + g_signal_connect(G_OBJECT(button), "clicked", + G_CALLBACK(cb_findlocation), dialog); + hbox = gtk_hbox_new(FALSE, BORDER); + gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); + gtk_box_pack_start(GTK_BOX(hbox), dialog->txt_loc_name, TRUE, TRUE, 0); + gtk_box_pack_start(GTK_BOX(hbox), button, FALSE, FALSE, 0); + gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); + + /* proxy settings */ + label = gtk_label_new_with_mnemonic(_("_Proxy server:")); + dialog->txt_proxy_host = gtk_entry_new(); + gtk_label_set_mnemonic_widget(GTK_LABEL(label), + GTK_WIDGET(dialog->txt_proxy_host)); + dialog->chk_proxy_use = + gtk_check_button_new_with_mnemonic(_("Use proxy _server")); + dialog->chk_proxy_fromenv = + gtk_check_button_new_with_mnemonic(_("Auto-detect from _environment")); + dialog->txt_proxy_port = gtk_spin_button_new_with_range(0, 65536, 1); + gtk_misc_set_alignment(GTK_MISC(label), 0, 0); + gtk_size_group_add_widget(sg, label); + + vbox3 = gtk_vbox_new(FALSE, BORDER); + gtk_box_pack_start(GTK_BOX(vbox3), dialog->chk_proxy_use, FALSE, FALSE, + 0); + gtk_box_pack_start(GTK_BOX(vbox3), dialog->chk_proxy_fromenv, FALSE, + FALSE, 0); + hbox = gtk_hbox_new(FALSE, BORDER); + gtk_box_pack_start(GTK_BOX(hbox), dialog->txt_proxy_host, TRUE, TRUE, 0); + gtk_box_pack_start(GTK_BOX(hbox), dialog->txt_proxy_port, FALSE, FALSE, + 0); + gtk_box_pack_start(GTK_BOX(vbox3), hbox, FALSE, FALSE, 0); + hbox2 = gtk_hbox_new(FALSE, BORDER); + gtk_box_pack_start(GTK_BOX(hbox2), label, FALSE, FALSE, 0); + gtk_box_pack_start(GTK_BOX(hbox2), vbox3, TRUE, TRUE, 0); + + gtk_box_pack_start(GTK_BOX(vbox), hbox2, FALSE, FALSE, 0); + + g_signal_connect(G_OBJECT(dialog->chk_proxy_use), "toggled", + G_CALLBACK(cb_toggle), dialog->txt_proxy_host); + g_signal_connect(G_OBJECT(dialog->chk_proxy_use), "toggled", + G_CALLBACK(cb_toggle), dialog->txt_proxy_port); + g_signal_connect(G_OBJECT(dialog->chk_proxy_use), "toggled", + G_CALLBACK(cb_toggle), dialog->chk_proxy_fromenv); + g_signal_connect(G_OBJECT(dialog->chk_proxy_fromenv), "toggled", + G_CALLBACK(cb_not_toggle), dialog->txt_proxy_host); + g_signal_connect(G_OBJECT(dialog->chk_proxy_fromenv), "toggled", + G_CALLBACK(cb_not_toggle), dialog->txt_proxy_port); + + if (dialog->wd->saved_proxy_host != NULL) { + gtk_entry_set_text(GTK_ENTRY(dialog->txt_proxy_host), + dialog->wd->saved_proxy_host); + + gtk_spin_button_set_value(GTK_SPIN_BUTTON(dialog->txt_proxy_port), + dialog->wd->saved_proxy_port); } - else - { - gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (dialog->chk_proxy_use), - TRUE); - gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (dialog->chk_proxy_use), - FALSE); + if (dialog->wd->proxy_host || dialog->wd->proxy_fromenv) { + gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(dialog->chk_proxy_use), + TRUE); + if (dialog->wd->proxy_fromenv) + gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON + (dialog->chk_proxy_fromenv), TRUE); + } else { + gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(dialog->chk_proxy_use), + TRUE); + gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(dialog->chk_proxy_use), + FALSE); } - - /* number of days shown in forecast */ - label = gtk_label_new_with_mnemonic (_("Number of _forecast days:")); - dialog->spin_forecast_days = gtk_spin_button_new_with_range (1, MAX_FORECAST_DAYS, 1); - gtk_spin_button_set_value (GTK_SPIN_BUTTON (dialog->spin_forecast_days), - (dialog->wd->forecast_days) ? dialog->wd->forecast_days : 5); - gtk_label_set_mnemonic_widget(GTK_LABEL (label), - GTK_WIDGET (dialog->spin_forecast_days)); - - hbox = gtk_hbox_new (FALSE, BORDER); - gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0); - gtk_box_pack_start (GTK_BOX (hbox), dialog->spin_forecast_days, FALSE, FALSE, 0); - gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0); - gtk_size_group_add_widget (sg, label); - - - /* labels */ - dialog->opt_xmloption = make_label (); - dialog->mdl_xmloption = gtk_list_store_new (2, G_TYPE_STRING, G_TYPE_INT); - dialog->lst_xmloption = - gtk_tree_view_new_with_model (GTK_TREE_MODEL (dialog->mdl_xmloption)); - - renderer = gtk_cell_renderer_text_new (); - column = - gtk_tree_view_column_new_with_attributes (_("_Labels to display"), - renderer, "text", 0, NULL); - gtk_tree_view_append_column (GTK_TREE_VIEW (dialog->lst_xmloption), column); - - button_add = gtk_button_new_with_mnemonic (_("_Add")); - image = gtk_image_new_from_stock (GTK_STOCK_ADD, GTK_ICON_SIZE_BUTTON); - gtk_button_set_image (GTK_BUTTON (button_add), image); - gtk_size_group_add_widget (sg_buttons, button_add); - hbox = gtk_hbox_new (FALSE, BORDER); - gtk_box_pack_start (GTK_BOX (hbox), dialog->opt_xmloption, TRUE, TRUE, 0); - gtk_box_pack_start (GTK_BOX (hbox), button_add, FALSE, FALSE, 0); - gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0); - - hbox = gtk_hbox_new (FALSE, BORDER); - scroll = gtk_scrolled_window_new (NULL, NULL); - gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scroll), - GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC); - gtk_container_add (GTK_CONTAINER (scroll), dialog->lst_xmloption); - gtk_box_pack_start (GTK_BOX (hbox), scroll, TRUE, TRUE, 0); - - button_del = gtk_button_new_with_mnemonic (_("_Remove")); - image = gtk_image_new_from_stock (GTK_STOCK_REMOVE, GTK_ICON_SIZE_BUTTON); - gtk_button_set_image (GTK_BUTTON (button_del), image); - gtk_size_group_add_widget (sg_buttons, button_del); - - button_up = gtk_button_new_with_mnemonic (_("Move _Up")); - image = gtk_image_new_from_stock (GTK_STOCK_GO_UP, GTK_ICON_SIZE_BUTTON); - gtk_button_set_image (GTK_BUTTON (button_up), image); - gtk_size_group_add_widget (sg_buttons, button_up); - - button_down = gtk_button_new_with_mnemonic (_("Move _Down")); - image = gtk_image_new_from_stock (GTK_STOCK_GO_DOWN, GTK_ICON_SIZE_BUTTON); - gtk_button_set_image (GTK_BUTTON (button_down), image); - gtk_size_group_add_widget (sg_buttons, button_down); - - vbox2 = gtk_vbox_new (FALSE, 0); - gtk_box_pack_start (GTK_BOX (vbox2), button_del, FALSE, FALSE, 0); - gtk_box_pack_start (GTK_BOX (vbox2), button_up, FALSE, FALSE, 0); - gtk_box_pack_start (GTK_BOX (vbox2), button_down, FALSE, FALSE, 0); - gtk_box_pack_start (GTK_BOX (hbox), vbox2, FALSE, FALSE, 0); - gtk_box_pack_start (GTK_BOX (vbox), hbox, TRUE, TRUE, 0); - gtk_widget_set_size_request (dialog->lst_xmloption, -1, 120); - - - if (data->labels->len > 0) - { - for (i = 0; i < data->labels->len; i++) - { - opt = g_array_index (data->labels, datas, i); - - if ((n = option_i (opt)) != -1) - add_mdl_option (dialog->mdl_xmloption, n); + /* number of days shown in forecast */ + label = gtk_label_new_with_mnemonic(_("Number of _forecast days:")); + dialog->spin_forecast_days = + gtk_spin_button_new_with_range(1, MAX_FORECAST_DAYS, 1); + gtk_spin_button_set_value(GTK_SPIN_BUTTON(dialog->spin_forecast_days), + (dialog->wd->forecast_days) + ? dialog->wd->forecast_days : 5); + gtk_label_set_mnemonic_widget(GTK_LABEL(label), + GTK_WIDGET(dialog->spin_forecast_days)); + hbox = gtk_hbox_new(FALSE, BORDER); + gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); + gtk_box_pack_start(GTK_BOX(hbox), + dialog->spin_forecast_days, FALSE, FALSE, 0); + gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); + gtk_size_group_add_widget(sg, label); + + /* labels and buttons */ + dialog->opt_xmloption = make_label(); + dialog->mdl_xmloption = gtk_list_store_new(2, G_TYPE_STRING, G_TYPE_INT); + dialog->lst_xmloption = + gtk_tree_view_new_with_model(GTK_TREE_MODEL(dialog->mdl_xmloption)); + renderer = gtk_cell_renderer_text_new(); + column = + gtk_tree_view_column_new_with_attributes(_("_Labels to display"), + renderer, "text", 0, NULL); + gtk_tree_view_append_column(GTK_TREE_VIEW(dialog->lst_xmloption), column); + + /* button "add" */ + button_add = gtk_button_new_with_mnemonic(_("_Add")); + image = gtk_image_new_from_stock(GTK_STOCK_ADD, GTK_ICON_SIZE_BUTTON); + gtk_button_set_image(GTK_BUTTON(button_add), image); + gtk_size_group_add_widget(sg_buttons, button_add); + hbox = gtk_hbox_new(FALSE, BORDER); + gtk_box_pack_start(GTK_BOX(hbox), dialog->opt_xmloption, TRUE, TRUE, 0); + gtk_box_pack_start(GTK_BOX(hbox), button_add, FALSE, FALSE, 0); + gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); + hbox = gtk_hbox_new(FALSE, BORDER); + scroll = gtk_scrolled_window_new(NULL, NULL); + gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scroll), + GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC); + gtk_container_add(GTK_CONTAINER(scroll), dialog->lst_xmloption); + gtk_box_pack_start(GTK_BOX(hbox), scroll, TRUE, TRUE, 0); + + /* button "remove" */ + button_del = gtk_button_new_with_mnemonic(_("_Remove")); + image = gtk_image_new_from_stock(GTK_STOCK_REMOVE, GTK_ICON_SIZE_BUTTON); + gtk_button_set_image(GTK_BUTTON(button_del), image); + gtk_size_group_add_widget(sg_buttons, button_del); + + /* button "move up" */ + button_up = gtk_button_new_with_mnemonic(_("Move _Up")); + image = gtk_image_new_from_stock(GTK_STOCK_GO_UP, GTK_ICON_SIZE_BUTTON); + gtk_button_set_image(GTK_BUTTON(button_up), image); + gtk_size_group_add_widget(sg_buttons, button_up); + + /* button "move down" */ + button_down = gtk_button_new_with_mnemonic(_("Move _Down")); + image = gtk_image_new_from_stock(GTK_STOCK_GO_DOWN, GTK_ICON_SIZE_BUTTON); + gtk_button_set_image(GTK_BUTTON(button_down), image); + gtk_size_group_add_widget(sg_buttons, button_down); + + vbox2 = gtk_vbox_new(FALSE, 0); + gtk_box_pack_start(GTK_BOX(vbox2), button_del, FALSE, FALSE, 0); + gtk_box_pack_start(GTK_BOX(vbox2), button_up, FALSE, FALSE, 0); + gtk_box_pack_start(GTK_BOX(vbox2), button_down, FALSE, FALSE, 0); + gtk_box_pack_start(GTK_BOX(hbox), vbox2, FALSE, FALSE, 0); + gtk_box_pack_start(GTK_BOX(vbox), hbox, TRUE, TRUE, 0); + gtk_widget_set_size_request(dialog->lst_xmloption, -1, 120); + + if (data->labels->len > 0) { + for (i = 0; i < data->labels->len; i++) { + opt = g_array_index(data->labels, datas, i); + + if ((n = option_i(opt)) != -1) + add_mdl_option(dialog->mdl_xmloption, n); } } - g_object_unref (G_OBJECT (sg)); - g_object_unref (G_OBJECT (sg_buttons)); - - g_signal_connect (G_OBJECT (button_add), "clicked", - G_CALLBACK (cb_addoption), dialog); - g_signal_connect (G_OBJECT (button_del), "clicked", - G_CALLBACK (cb_deloption), dialog); - g_signal_connect (G_OBJECT (button_up), "clicked", - G_CALLBACK (cb_upoption), dialog); - g_signal_connect (G_OBJECT (button_down), "clicked", - G_CALLBACK (cb_downoption), dialog); - - dialog->chk_animate_transition = - gtk_check_button_new_with_mnemonic (_("Animate _transitions between labels")); - gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON - (dialog->chk_animate_transition), dialog->wd->animation_transitions); - gtk_box_pack_start (GTK_BOX (vbox), dialog->chk_animate_transition, FALSE, FALSE, 0); - - gtk_widget_show_all (vbox); - - return dialog; + g_object_unref(G_OBJECT(sg)); + g_object_unref(G_OBJECT(sg_buttons)); + + g_signal_connect(G_OBJECT(button_add), "clicked", + G_CALLBACK(cb_addoption), dialog); + g_signal_connect(G_OBJECT(button_del), "clicked", + G_CALLBACK(cb_deloption), dialog); + g_signal_connect(G_OBJECT(button_up), "clicked", + G_CALLBACK(cb_upoption), dialog); + g_signal_connect(G_OBJECT(button_down), "clicked", + G_CALLBACK(cb_downoption), dialog); + + dialog->chk_animate_transition = + gtk_check_button_new_with_mnemonic(_("Animate _transitions between labels")); + gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON + (dialog->chk_animate_transition), + dialog->wd->animation_transitions); + gtk_box_pack_start(GTK_BOX(vbox), dialog->chk_animate_transition, + FALSE, FALSE, 0); + + gtk_widget_show_all(vbox); + + return dialog; } - void -set_callback_config_dialog (xfceweather_dialog *dialog, - cb_function cb_new) +set_callback_config_dialog(xfceweather_dialog *dialog, + cb_function cb_new) { - cb = cb_new; + cb = cb_new; } diff --git a/panel-plugin/weather-config.h b/panel-plugin/weather-config.h index 2b41c88..224afa3 100644 --- a/panel-plugin/weather-config.h +++ b/panel-plugin/weather-config.h @@ -20,47 +20,43 @@ G_BEGIN_DECLS -typedef struct -{ - gchar *name; - datas number; -} -labeloption; +typedef struct { + gchar *name; + datas number; +} labeloption; -typedef struct -{ - GtkWidget *dialog; - GtkWidget *combo_unit_system; - GtkWidget *txt_lat; - GtkWidget *txt_lon; - GtkWidget *txt_loc_name; - GtkWidget *txt_proxy_host; - GtkWidget *txt_proxy_port; - GtkWidget *chk_proxy_use; - GtkWidget *chk_proxy_fromenv; - GtkWidget *spin_forecast_days; +typedef struct { + GtkWidget *dialog; + GtkWidget *combo_unit_system; + GtkWidget *txt_lat; + GtkWidget *txt_lon; + GtkWidget *txt_loc_name; + GtkWidget *txt_proxy_host; + GtkWidget *txt_proxy_port; + GtkWidget *chk_proxy_use; + GtkWidget *chk_proxy_fromenv; + GtkWidget *spin_forecast_days; - GtkWidget *tooltip_yes; - GtkWidget *tooltip_no; + GtkWidget *tooltip_yes; + GtkWidget *tooltip_no; - GtkWidget *opt_xmloption; - GtkWidget *lst_xmloption; - GtkListStore *mdl_xmloption; + GtkWidget *opt_xmloption; + GtkWidget *lst_xmloption; + GtkListStore *mdl_xmloption; - GtkWidget *chk_animate_transition; + GtkWidget *chk_animate_transition; - xfceweather_data *wd; -} -xfceweather_dialog; + xfceweather_data *wd; +} xfceweather_dialog; -xfceweather_dialog *create_config_dialog (xfceweather_data * data, - GtkWidget * vbox); -void -set_callback_config_dialog (xfceweather_dialog * dialog, - void (cb) (xfceweather_data *)); +xfceweather_dialog *create_config_dialog(xfceweather_data *data, + GtkWidget *vbox); -void apply_options (xfceweather_dialog * dialog); +void set_callback_config_dialog(xfceweather_dialog *dialog, + void (cb) (xfceweather_data *data)); + +void apply_options(xfceweather_dialog *dialog); G_END_DECLS _______________________________________________ Xfce4-commits mailing list Xfce4-commits@xfce.org https://mail.xfce.org/mailman/listinfo/xfce4-commits