Convert the UI plugin to use GtkComboBox instead of GtkOptionMenu. Signed-Off-By: Darren Salt Index: plugins/ui_plugin/ui_plugin.c =================================================================== --- plugins/ui_plugin/ui_plugin.c (revision 22745) +++ plugins/ui_plugin/ui_plugin.c (working copy) @@ -171,11 +171,6 @@ GtkWidget *optionmenu1; GtkWidget *frame5; GtkWidget *accel_checkbox; - GtkWidget *menu1; - GtkWidget *menuitem1; - GtkWidget *menuitem2; - GtkWidget *menuitem3; - GtkWidget *menuitem4; GtkWidget *icon_theme_treeview; GtkWidget *icon_theme_swindow; @@ -188,17 +183,9 @@ GtkWidget *aa_checkbox2; GtkWidget *aa_table; GtkWidget *aa_omenu1; - GtkWidget *aa_menu1; - GtkWidget *aa_item11; - GtkWidget *aa_item12; - GtkWidget *aa_item13; GtkWidget *aa_checkbox3; GtkWidget *aa_omenu2; - GtkWidget *aa_menu2; - GtkWidget *aa_item21; - GtkWidget *aa_item22; - GtkWidget *aa_item23; - GtkWidget *aa_item24; + GtkListStore *aa_omenu2_list; GtkWidget *dialog_action_area1; GtkWidget *helpbutton1; @@ -207,6 +194,10 @@ GtkWidget *font_selection; }; +static const char *const icons_styles[] = { "icons", "text", "both", "both-horiz", NULL }; +static const char *const xft_hintstyles[] = { "hintslight", "hintmedium", "hintfull", NULL }; +static const char *const xft_rgba_styles[] = { "rgb", "bgr", "vrgb", "vbgr", NULL }; + static void create_channel(McsPlugin * mcs_plugin); static void apply_xft_options(Itf * itf); static gboolean write_options(McsPlugin * mcs_plugin); @@ -542,70 +533,20 @@ } } -static void on_icons_activate(GtkMenuItem * menuitem, gpointer user_data) -{ - Itf *itf = (Itf *) user_data; - McsPlugin *mcs_plugin = itf->mcs_plugin; - if(current_toolbar_style && strcmp(current_toolbar_style, "icons")) - { - g_free(current_toolbar_style); - current_toolbar_style = g_strdup("icons"); - mcs_manager_set_string(mcs_plugin->manager, "Gtk/ToolbarStyle", CHANNEL, current_toolbar_style); - mcs_manager_notify(mcs_plugin->manager, CHANNEL); - write_options(mcs_plugin); - } -} - - -static void on_text_activate(GtkMenuItem * menuitem, gpointer user_data) +static void on_icons_changed(GtkComboBox * menu, gpointer user_data) { Itf *itf = (Itf *) user_data; McsPlugin *mcs_plugin = itf->mcs_plugin; - if(current_toolbar_style && strcmp(current_toolbar_style, "text")) - { - g_free(current_toolbar_style); - current_toolbar_style = g_strdup("text"); - mcs_manager_set_string(mcs_plugin->manager, "Gtk/ToolbarStyle", CHANNEL, current_toolbar_style); - mcs_manager_notify(mcs_plugin->manager, CHANNEL); - write_options(mcs_plugin); - } + g_free(current_toolbar_style); + current_toolbar_style = g_strdup(icons_styles[gtk_combo_box_get_active(menu)]); + mcs_manager_set_string(mcs_plugin->manager, "Gtk/ToolbarStyle", CHANNEL, current_toolbar_style); + mcs_manager_notify(mcs_plugin->manager, CHANNEL); + write_options(mcs_plugin); } -static void on_both_activate(GtkMenuItem * menuitem, gpointer user_data) -{ - Itf *itf = (Itf *) user_data; - McsPlugin *mcs_plugin = itf->mcs_plugin; - - if(current_toolbar_style && strcmp(current_toolbar_style, "both")) - { - g_free(current_toolbar_style); - current_toolbar_style = g_strdup("both"); - mcs_manager_set_string(mcs_plugin->manager, "Gtk/ToolbarStyle", CHANNEL, current_toolbar_style); - mcs_manager_notify(mcs_plugin->manager, CHANNEL); - write_options(mcs_plugin); - } -} - - -static void on_both_horiz_activate(GtkMenuItem * menuitem, gpointer user_data) -{ - Itf *itf = (Itf *) user_data; - McsPlugin *mcs_plugin = itf->mcs_plugin; - - if(current_toolbar_style && strcmp(current_toolbar_style, "both-horiz")) - { - g_free(current_toolbar_style); - current_toolbar_style = g_strdup("both-horiz"); - mcs_manager_set_string(mcs_plugin->manager, "Gtk/ToolbarStyle", CHANNEL, current_toolbar_style); - mcs_manager_notify(mcs_plugin->manager, CHANNEL); - write_options(mcs_plugin); - } -} - - static void on_change_accel_toggled(GtkToggleButton * button, gpointer user_data) { Itf *itf = (Itf *) user_data; @@ -659,57 +600,20 @@ } -static void on_hintslight_activate(GtkMenuItem * item, gpointer user_data) +static void on_hints_changed(GtkComboBox *menu, gpointer user_data) { Itf *itf = (Itf *) user_data; McsPlugin *mcs_plugin = itf->mcs_plugin; - if(current_xft_hintstyle && strcmp(current_xft_hintstyle, "hintslight") != 0) - { - g_free(current_xft_hintstyle); - current_xft_hintstyle = g_strdup("hintslight"); - mcs_manager_set_string(mcs_plugin->manager, "Xft/HintStyle", CHANNEL, current_xft_hintstyle); - mcs_manager_notify(mcs_plugin->manager, CHANNEL); - write_options(mcs_plugin); - apply_xft_options(itf); - } + g_free(current_xft_hintstyle); + current_xft_hintstyle = g_strdup(xft_hintstyles[gtk_combo_box_get_active(menu)]); + mcs_manager_set_string(mcs_plugin->manager, "Xft/HintStyle", CHANNEL, current_xft_hintstyle); + mcs_manager_notify(mcs_plugin->manager, CHANNEL); + write_options(mcs_plugin); + apply_xft_options(itf); } -static void on_hintmedium_activate(GtkMenuItem * item, gpointer user_data) -{ - Itf *itf = (Itf *) user_data; - McsPlugin *mcs_plugin = itf->mcs_plugin; - - if(current_xft_hintstyle && strcmp(current_xft_hintstyle, "hintmedium") != 0) - { - g_free(current_xft_hintstyle); - current_xft_hintstyle = g_strdup("hintmedium"); - mcs_manager_set_string(mcs_plugin->manager, "Xft/HintStyle", CHANNEL, current_xft_hintstyle); - mcs_manager_notify(mcs_plugin->manager, CHANNEL); - write_options(mcs_plugin); - apply_xft_options(itf); - } -} - - -static void on_hintfull_activate(GtkMenuItem * item, gpointer user_data) -{ - Itf *itf = (Itf *) user_data; - McsPlugin *mcs_plugin = itf->mcs_plugin; - - if(current_xft_hintstyle && strcmp(current_xft_hintstyle, "hintfull") != 0) - { - g_free(current_xft_hintstyle); - current_xft_hintstyle = g_strdup("hintfull"); - mcs_manager_set_string(mcs_plugin->manager, "Xft/HintStyle", CHANNEL, current_xft_hintstyle); - mcs_manager_notify(mcs_plugin->manager, CHANNEL); - write_options(mcs_plugin); - apply_xft_options(itf); - } -} - - static void on_rgba_toggled(GtkToggleButton * button, gpointer user_data) { Itf *itf = (Itf *) user_data; @@ -725,7 +629,7 @@ else { current_xft_rgba = g_strdup("rgb"); - gtk_option_menu_set_history(GTK_OPTION_MENU(itf->aa_omenu2), 0); + gtk_combo_box_set_active(GTK_COMBO_BOX(itf->aa_omenu2), 0); } mcs_manager_set_string(mcs_plugin->manager, "Xft/RGBA", CHANNEL, current_xft_rgba); @@ -737,79 +641,36 @@ } -static void on_rgba_rgb_activate(GtkMenuItem * item, gpointer user_data) +static void on_rgba_changed(GtkComboBox * menu, gpointer user_data) { Itf *itf = (Itf *) user_data; McsPlugin *mcs_plugin = itf->mcs_plugin; - if(strcmp(current_xft_rgba, "rgb") != 0) - { - g_free(current_xft_rgba); - current_xft_rgba = g_strdup("rgb"); - mcs_manager_set_string(mcs_plugin->manager, "Xft/RGBA", CHANNEL, current_xft_rgba); - mcs_manager_notify(mcs_plugin->manager, CHANNEL); - write_options(mcs_plugin); - apply_xft_options(itf); - } + g_free(current_xft_rgba); + current_xft_rgba = g_strdup(xft_rgba_styles[gtk_combo_box_get_active(menu)]); + mcs_manager_set_string(mcs_plugin->manager, "Xft/RGBA", CHANNEL, current_xft_rgba); + mcs_manager_notify(mcs_plugin->manager, CHANNEL); + write_options(mcs_plugin); + apply_xft_options(itf); } -static void on_rgba_bgr_activate(GtkMenuItem * item, gpointer user_data) +static void combo_box_set_active(GtkComboBox * menu, const char *const list[], const char *current, int fallback) { - Itf *itf = (Itf *) user_data; - McsPlugin *mcs_plugin = itf->mcs_plugin; - - if(strcmp(current_xft_rgba, "bgr") != 0) - { - g_free(current_xft_rgba); - current_xft_rgba = g_strdup("bgr"); - mcs_manager_set_string(mcs_plugin->manager, "Xft/RGBA", CHANNEL, current_xft_rgba); - mcs_manager_notify(mcs_plugin->manager, CHANNEL); - write_options(mcs_plugin); - apply_xft_options(itf); - } + int i; + for (i = 0; list[i]; ++i) + if(!strcmp(list[i], current)) + break; + gtk_combo_box_set_active(menu, list[i] ? i : fallback); } -static void on_rgba_vrgb_activate(GtkMenuItem * item, gpointer user_data) -{ - Itf *itf = (Itf *) user_data; - McsPlugin *mcs_plugin = itf->mcs_plugin; - - if(strcmp(current_xft_rgba, "vrgb") != 0) - { - g_free(current_xft_rgba); - current_xft_rgba = g_strdup("vrgb"); - mcs_manager_set_string(mcs_plugin->manager, "Xft/RGBA", CHANNEL, current_xft_rgba); - mcs_manager_notify(mcs_plugin->manager, CHANNEL); - write_options(mcs_plugin); - apply_xft_options(itf); - } -} - - -static void on_rgba_vbgr_activate(GtkMenuItem * item, gpointer user_data) -{ - Itf *itf = (Itf *) user_data; - McsPlugin *mcs_plugin = itf->mcs_plugin; - - if(strcmp(current_xft_rgba, "vbgr") != 0) - { - g_free(current_xft_rgba); - current_xft_rgba = g_strdup("vbgr"); - mcs_manager_set_string(mcs_plugin->manager, "Xft/RGBA", CHANNEL, current_xft_rgba); - mcs_manager_notify(mcs_plugin->manager, CHANNEL); - write_options(mcs_plugin); - apply_xft_options(itf); - } -} - - Itf *create_theme_dialog(McsPlugin * mcs_plugin) { Itf *dialog; - GtkWidget *image; GdkPixbuf *icon; + GtkTreeIter iter; + GtkCellRenderer *cell[2]; dialog = g_new(Itf, 1); @@ -903,39 +764,17 @@ gtk_widget_show(dialog->frame3); gtk_box_pack_start(GTK_BOX(dialog->vbox3), dialog->frame3, TRUE, FALSE, 0); - dialog->optionmenu1 = gtk_option_menu_new(); + dialog->optionmenu1 = gtk_combo_box_new_text(); gtk_widget_show(dialog->optionmenu1); xfce_framebox_add(XFCE_FRAMEBOX(dialog->frame3), dialog->optionmenu1); - dialog->menu1 = gtk_menu_new(); + gtk_combo_box_append_text(GTK_COMBO_BOX(dialog->optionmenu1), _("Icons")); + gtk_combo_box_append_text(GTK_COMBO_BOX(dialog->optionmenu1), _("Text")); + gtk_combo_box_append_text(GTK_COMBO_BOX(dialog->optionmenu1), _("Both")); + gtk_combo_box_append_text(GTK_COMBO_BOX(dialog->optionmenu1), _("Both horizontal")); - dialog->menuitem1 = gtk_menu_item_new_with_mnemonic(_("Icons")); - gtk_widget_show(dialog->menuitem1); - gtk_container_add(GTK_CONTAINER(dialog->menu1), dialog->menuitem1); + combo_box_set_active(GTK_COMBO_BOX(dialog->optionmenu1), icons_styles, current_toolbar_style, 0); - dialog->menuitem2 = gtk_menu_item_new_with_mnemonic(_("Text")); - gtk_widget_show(dialog->menuitem2); - gtk_container_add(GTK_CONTAINER(dialog->menu1), dialog->menuitem2); - - dialog->menuitem3 = gtk_menu_item_new_with_mnemonic(_("Both")); - gtk_widget_show(dialog->menuitem3); - gtk_container_add(GTK_CONTAINER(dialog->menu1), dialog->menuitem3); - - dialog->menuitem4 = gtk_menu_item_new_with_mnemonic(_("Both horizontal")); - gtk_widget_show(dialog->menuitem4); - gtk_container_add(GTK_CONTAINER(dialog->menu1), dialog->menuitem4); - - gtk_option_menu_set_menu(GTK_OPTION_MENU(dialog->optionmenu1), dialog->menu1); - - if(!strcmp(current_toolbar_style, "text")) - gtk_option_menu_set_history(GTK_OPTION_MENU(dialog->optionmenu1), 1); - else if(!strcmp(current_toolbar_style, "both")) - gtk_option_menu_set_history(GTK_OPTION_MENU(dialog->optionmenu1), 2); - else if(!strcmp(current_toolbar_style, "both-horiz")) - gtk_option_menu_set_history(GTK_OPTION_MENU(dialog->optionmenu1), 3); - else - gtk_option_menu_set_history(GTK_OPTION_MENU(dialog->optionmenu1), 0); - dialog->frame5 = xfce_framebox_new(_("Menu Accelerators"), TRUE); gtk_widget_show(dialog->frame5); gtk_box_pack_start(GTK_BOX(dialog->vbox3), dialog->frame5, TRUE, FALSE, 0); @@ -975,34 +814,17 @@ "and an at low screen resolutions. Select one " "of the options to specify how to apply hinting."), NULL); - dialog->aa_omenu1 = gtk_option_menu_new(); + dialog->aa_omenu1 = gtk_combo_box_new_text(); gtk_widget_show(dialog->aa_omenu1); gtk_table_attach(GTK_TABLE(dialog->aa_table), dialog->aa_omenu1, 2, 3, 1, 2, GTK_EXPAND | GTK_FILL, GTK_EXPAND, 5, 5); gtk_widget_set_sensitive(dialog->aa_omenu1, current_xft_hinting); - dialog->aa_menu1 = gtk_menu_new(); + gtk_combo_box_append_text(GTK_COMBO_BOX(dialog->aa_omenu1), _("Slight")); + gtk_combo_box_append_text(GTK_COMBO_BOX(dialog->aa_omenu1), _("Medium")); + gtk_combo_box_append_text(GTK_COMBO_BOX(dialog->aa_omenu1), _("Full")); - dialog->aa_item11 = gtk_menu_item_new_with_label(_("Slight")); - gtk_widget_show(dialog->aa_item11); - gtk_container_add(GTK_CONTAINER(dialog->aa_menu1), dialog->aa_item11); + combo_box_set_active(GTK_COMBO_BOX(dialog->aa_omenu1), xft_hintstyles, current_xft_hintstyle, 2); - dialog->aa_item12 = gtk_menu_item_new_with_label(_("Medium")); - gtk_widget_show(dialog->aa_item12); - gtk_container_add(GTK_CONTAINER(dialog->aa_menu1), dialog->aa_item12); - - dialog->aa_item13 = gtk_menu_item_new_with_label(_("Full")); - gtk_widget_show(dialog->aa_item13); - gtk_container_add(GTK_CONTAINER(dialog->aa_menu1), dialog->aa_item13); - - gtk_option_menu_set_menu(GTK_OPTION_MENU(dialog->aa_omenu1), dialog->aa_menu1); - - if(strcmp(current_xft_hintstyle, "hintslight") == 0) - gtk_option_menu_set_history(GTK_OPTION_MENU(dialog->aa_omenu1), 0); - else if(strcmp(current_xft_hintstyle, "hintmedium") == 0) - gtk_option_menu_set_history(GTK_OPTION_MENU(dialog->aa_omenu1), 1); - else - gtk_option_menu_set_history(GTK_OPTION_MENU(dialog->aa_omenu1), 2); - dialog->aa_checkbox3 = gtk_check_button_new_with_label(_("Use sub-pixel hinting:")); gtk_widget_show(dialog->aa_checkbox3); gtk_table_attach(GTK_TABLE(dialog->aa_table), dialog->aa_checkbox3, 1, 2, 2, 3, GTK_EXPAND | GTK_FILL, GTK_EXPAND, 5, 5); @@ -1012,60 +834,37 @@ "color order for your fonts. Use this option for " "LCD or flat-screen displays."), NULL); - dialog->aa_omenu2 = gtk_option_menu_new(); + dialog->aa_omenu2_list = gtk_list_store_new(2, GDK_TYPE_PIXBUF, G_TYPE_STRING); + dialog->aa_omenu2 = gtk_combo_box_new_with_model(GTK_TREE_MODEL(dialog->aa_omenu2_list)); gtk_widget_show(dialog->aa_omenu2); gtk_table_attach(GTK_TABLE(dialog->aa_table), dialog->aa_omenu2, 2, 3, 2, 3, GTK_EXPAND | GTK_FILL, GTK_EXPAND, 5, 5); gtk_widget_set_sensitive(dialog->aa_omenu2, strcmp(current_xft_rgba, "none") != 0); - dialog->aa_menu2 = gtk_menu_new(); + cell[0] = gtk_cell_renderer_pixbuf_new(); + gtk_cell_layout_pack_start(GTK_CELL_LAYOUT(dialog->aa_omenu2), cell[0], FALSE); + gtk_cell_layout_set_attributes(GTK_CELL_LAYOUT (dialog->aa_omenu2), cell[0], "pixbuf", 0, NULL); + cell[1] = gtk_cell_renderer_text_new(); + gtk_cell_layout_pack_start(GTK_CELL_LAYOUT(dialog->aa_omenu2), cell[1], TRUE); + gtk_cell_layout_set_attributes(GTK_CELL_LAYOUT(dialog->aa_omenu2), cell[1], "text", 1, NULL); - dialog->aa_item21 = gtk_image_menu_item_new_with_label(_("RGB")); icon = gdk_pixbuf_new_from_xpm_data(aa_rgb_xpm); - image = gtk_image_new_from_pixbuf(icon); - gtk_widget_show(image); + gtk_list_store_insert_with_values(dialog->aa_omenu2_list, &iter, 0, 0, icon, 1, _("RGB"), -1); g_object_unref(icon); - gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(dialog->aa_item21), image); - gtk_widget_show(dialog->aa_item21); - gtk_container_add(GTK_CONTAINER(dialog->aa_menu2), dialog->aa_item21); - dialog->aa_item22 = gtk_image_menu_item_new_with_label(_("BGR")); icon = gdk_pixbuf_new_from_xpm_data(aa_bgr_xpm); - image = gtk_image_new_from_pixbuf(icon); - gtk_widget_show(image); + gtk_list_store_insert_with_values(dialog->aa_omenu2_list, &iter, 1, 0, icon, 1, _("BGR"), -1); g_object_unref(icon); - gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(dialog->aa_item22), image); - gtk_widget_show(dialog->aa_item22); - gtk_container_add(GTK_CONTAINER(dialog->aa_menu2), dialog->aa_item22); - dialog->aa_item23 = gtk_image_menu_item_new_with_label(_("Vertical RGB")); icon = gdk_pixbuf_new_from_xpm_data(aa_vrgb_xpm); - image = gtk_image_new_from_pixbuf(icon); - gtk_widget_show(image); + gtk_list_store_insert_with_values(dialog->aa_omenu2_list, &iter, 2, 0, icon, 1, _("Vertical RGB"), -1); g_object_unref(icon); - gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(dialog->aa_item23), image); - gtk_widget_show(dialog->aa_item23); - gtk_container_add(GTK_CONTAINER(dialog->aa_menu2), dialog->aa_item23); - dialog->aa_item24 = gtk_image_menu_item_new_with_label(_("Vertical BGR")); icon = gdk_pixbuf_new_from_xpm_data(aa_vbgr_xpm); - image = gtk_image_new_from_pixbuf(icon); - gtk_widget_show(image); + gtk_list_store_insert_with_values(dialog->aa_omenu2_list, &iter, 3, 0, icon, 1, _("Vertical BGR"), -1); g_object_unref(icon); - gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(dialog->aa_item24), image); - gtk_widget_show(dialog->aa_item24); - gtk_container_add(GTK_CONTAINER(dialog->aa_menu2), dialog->aa_item24); - gtk_option_menu_set_menu(GTK_OPTION_MENU(dialog->aa_omenu2), dialog->aa_menu2); + combo_box_set_active(GTK_COMBO_BOX(dialog->aa_omenu2), xft_rgba_styles, current_xft_rgba, 0); - if(strcmp(current_xft_rgba, "rgb") == 0) - gtk_option_menu_set_history(GTK_OPTION_MENU(dialog->aa_omenu2), 0); - else if(strcmp(current_xft_rgba, "bgr") == 0) - gtk_option_menu_set_history(GTK_OPTION_MENU(dialog->aa_omenu2), 1); - else if(strcmp(current_xft_rgba, "vrgb") == 0) - gtk_option_menu_set_history(GTK_OPTION_MENU(dialog->aa_omenu2), 2); - else if(strcmp(current_xft_rgba, "vbgr") == 0) - gtk_option_menu_set_history(GTK_OPTION_MENU(dialog->aa_omenu2), 3); - dialog->dialog_action_area1 = GTK_DIALOG(dialog->theme_dialog)->action_area; gtk_widget_show(dialog->dialog_action_area1); gtk_button_box_set_layout(GTK_BUTTON_BOX(dialog->dialog_action_area1), GTK_BUTTONBOX_END); @@ -1117,23 +916,15 @@ g_signal_connect(G_OBJECT(itf->theme_dialog), "response", G_CALLBACK(cb_dialog_response), itf->mcs_plugin); g_signal_connect(G_OBJECT(itf->button3), "clicked", G_CALLBACK(show_font_selection), itf); - g_signal_connect(G_OBJECT(itf->menuitem1), "activate", G_CALLBACK(on_icons_activate), itf); - g_signal_connect(G_OBJECT(itf->menuitem2), "activate", G_CALLBACK(on_text_activate), itf); - g_signal_connect(G_OBJECT(itf->menuitem3), "activate", G_CALLBACK(on_both_activate), itf); - g_signal_connect(G_OBJECT(itf->menuitem4), "activate", G_CALLBACK(on_both_horiz_activate), itf); + g_signal_connect(G_OBJECT(itf->optionmenu1), "changed", G_CALLBACK(on_icons_changed), itf); g_signal_connect(G_OBJECT(itf->accel_checkbox), "toggled", G_CALLBACK(on_change_accel_toggled), itf); g_signal_connect(G_OBJECT(itf->aa_checkbox1), "toggled", G_CALLBACK(on_antialiasing_toggled), itf); g_signal_connect(G_OBJECT(itf->aa_checkbox2), "toggled", G_CALLBACK(on_hinting_toggled), itf); - g_signal_connect(G_OBJECT(itf->aa_item11), "activate", G_CALLBACK(on_hintslight_activate), itf); - g_signal_connect(G_OBJECT(itf->aa_item12), "activate", G_CALLBACK(on_hintmedium_activate), itf); - g_signal_connect(G_OBJECT(itf->aa_item13), "activate", G_CALLBACK(on_hintfull_activate), itf); + g_signal_connect(G_OBJECT(itf->aa_omenu1), "changed", G_CALLBACK(on_hints_changed), itf); g_signal_connect(G_OBJECT(itf->aa_checkbox3), "toggled", G_CALLBACK(on_rgba_toggled), itf); - g_signal_connect(G_OBJECT(itf->aa_item21), "activate", G_CALLBACK(on_rgba_rgb_activate), itf); - g_signal_connect(G_OBJECT(itf->aa_item22), "activate", G_CALLBACK(on_rgba_bgr_activate), itf); - g_signal_connect(G_OBJECT(itf->aa_item23), "activate", G_CALLBACK(on_rgba_vrgb_activate), itf); - g_signal_connect(G_OBJECT(itf->aa_item24), "activate", G_CALLBACK(on_rgba_vbgr_activate), itf); + g_signal_connect(G_OBJECT(itf->aa_omenu2), "changed", G_CALLBACK(on_rgba_changed), itf); xfce_gtk_window_center_on_monitor_with_pointer (GTK_WINDOW (itf->theme_dialog)); gdk_x11_window_set_user_time(GTK_WIDGET (itf->theme_dialog)->window,