From e5d8d840d5988546870468367d8491ac1ef146be Mon Sep 17 00:00:00 2001 From: Thomas Wood Date: Sat, 11 Jul 2009 12:53:27 +0100 Subject: [appearance] migrate appearance capplet to GtkBuilder This removes the dependency on the deprecated libglade library. --- capplets/appearance/Makefile.am | 6 +- capplets/appearance/appearance-desktop.c | 24 +++--- capplets/appearance/appearance-font.c | 122 +++++++++++++++---------------- capplets/appearance/appearance-main.c | 43 ++++++----- capplets/appearance/appearance-style.c | 86 +++++++++++----------- capplets/appearance/appearance-themes.c | 46 ++++++------ capplets/appearance/appearance-ui.c | 18 ++--- capplets/appearance/appearance.h | 8 +- capplets/appearance/data/Makefile.am | 4 +- capplets/appearance/theme-save.c | 26 ++++--- 10 files changed, 199 insertions(+), 184 deletions(-) diff --git a/capplets/appearance/Makefile.am b/capplets/appearance/Makefile.am index 27288ccb9..0ebe389a4 100644 --- a/capplets/appearance/Makefile.am +++ b/capplets/appearance/Makefile.am @@ -37,7 +37,7 @@ gnome_appearance_properties_SOURCES = \ caption-cellrenderer.c \ caption-cellrenderer.h -gnome_appearance_properties_CFLAGS = -DGNOME_DESKTOP_USE_UNSTABLE_API +AM_CFLAGS = -DGNOME_DESKTOP_USE_UNSTABLE_API gnome_appearance_properties_LDADD = \ $(top_builddir)/libwindow-settings/libgnome-window-settings.la \ @@ -47,7 +47,7 @@ gnome_appearance_properties_LDADD = \ $(METACITY_LIBS) gnome_appearance_properties_LDFLAGS = -export-dynamic -gladedir = $(pkgdatadir)/glade +gtkbuilderdir = $(pkgdatadir)/gtkbuilder pixmapdir = $(pkgdatadir)/pixmaps wallpaperdir = $(datadir)/gnome-background-properties @@ -57,7 +57,7 @@ INCLUDES = \ $(FONT_CAPPLET_CFLAGS) \ -DGNOMELOCALEDIR="\"$(datadir)/locale\"" \ -DGNOMECC_DATA_DIR="\"$(pkgdatadir)\"" \ - -DGNOMECC_GLADE_DIR="\"$(gladedir)\"" \ + -DGNOMECC_GTKBUILDER_DIR="\"$(gtkbuilderdir)\"" \ -DGNOMECC_PIXMAP_DIR="\"$(pixmapdir)\"" \ -DWALLPAPER_DATADIR="\"$(wallpaperdir)\"" diff --git a/capplets/appearance/appearance-desktop.c b/capplets/appearance/appearance-desktop.c index 3942690ac..cb27a1816 100644 --- a/capplets/appearance/appearance-desktop.c +++ b/capplets/appearance/appearance-desktop.c @@ -211,10 +211,12 @@ wp_add_images (AppearanceData *data, GSList *images) { GdkWindow *window; + GtkWidget *w; GdkCursor *cursor; GnomeWPItem *item; - window = glade_xml_get_widget (data->xml, "appearance_window")->window; + w = appearance_capplet_get_widget (data, "appearance_window"); + window = gtk_widget_get_window (w); item = NULL; cursor = gdk_cursor_new_for_display (gdk_display_get_default (), @@ -627,7 +629,7 @@ wp_create_filechooser (AppearanceData *data) data->wp_filesel = GTK_FILE_CHOOSER ( gtk_file_chooser_dialog_new_with_backend (_("Add Wallpaper"), - GTK_WINDOW (glade_xml_get_widget (data->xml, "appearance_window")), + GTK_WINDOW (appearance_capplet_get_widget (data, "appearance_window")), GTK_FILE_CHOOSER_ACTION_OPEN, "gtk+", GTK_STOCK_CANCEL, @@ -713,11 +715,13 @@ wp_drag_received (GtkWidget *widget, uris = g_uri_list_extract_uris ((gchar *) selection_data->data); if (uris != NULL) { + GtkWidget *w; GdkWindow *window; GdkCursor *cursor; gchar **uri; - window = glade_xml_get_widget (data->xml, "appearance_window")->window; + w = appearance_capplet_get_widget (data, "appearance_window"); + window = gtk_widget_get_window (w); cursor = gdk_cursor_new_for_display (gdk_display_get_default (), GDK_WATCH); @@ -1038,7 +1042,7 @@ desktop_init (AppearanceData *data, G_TYPE_STRING, G_TYPE_STRING)); - data->wp_view = GTK_ICON_VIEW (glade_xml_get_widget (data->xml, "wp_view")); + data->wp_view = GTK_ICON_VIEW (appearance_capplet_get_widget (data, "wp_view")); gtk_icon_view_set_model (data->wp_view, GTK_TREE_MODEL (data->wp_model)); g_signal_connect_after (data->wp_view, "realize", @@ -1071,34 +1075,34 @@ desktop_init (AppearanceData *data, g_signal_connect (data->wp_view, "drag-data-get", (GCallback) wp_drag_get_data, data); - data->wp_style_menu = glade_xml_get_widget (data->xml, "wp_style_menu"); + data->wp_style_menu = appearance_capplet_get_widget (data, "wp_style_menu"); g_signal_connect (data->wp_style_menu, "changed", (GCallback) wp_scale_type_changed, data); - data->wp_color_menu = glade_xml_get_widget (data->xml, "wp_color_menu"); + data->wp_color_menu = appearance_capplet_get_widget (data, "wp_color_menu"); g_signal_connect (data->wp_color_menu, "changed", (GCallback) wp_shade_type_changed, data); - data->wp_scpicker = glade_xml_get_widget (data->xml, "wp_scpicker"); + data->wp_scpicker = appearance_capplet_get_widget (data, "wp_scpicker"); g_signal_connect (data->wp_scpicker, "color-set", (GCallback) wp_scolor_changed, data); - data->wp_pcpicker = glade_xml_get_widget (data->xml, "wp_pcpicker"); + data->wp_pcpicker = appearance_capplet_get_widget (data, "wp_pcpicker"); g_signal_connect (data->wp_pcpicker, "color-set", (GCallback) wp_scolor_changed, data); - add_button = glade_xml_get_widget (data->xml, "wp_add_button"); + add_button = appearance_capplet_get_widget (data, "wp_add_button"); gtk_button_set_image (GTK_BUTTON (add_button), gtk_image_new_from_stock ("gtk-add", GTK_ICON_SIZE_BUTTON)); g_signal_connect (add_button, "clicked", (GCallback) wp_file_open_dialog, data); - data->wp_rem_button = glade_xml_get_widget (data->xml, "wp_rem_button"); + data->wp_rem_button = appearance_capplet_get_widget (data, "wp_rem_button"); g_signal_connect (data->wp_rem_button, "clicked", (GCallback) wp_remove_wallpaper, data); diff --git a/capplets/appearance/appearance-font.c b/capplets/appearance/appearance-font.c index 97d4a61ba..f12977324 100644 --- a/capplets/appearance/appearance-font.c +++ b/capplets/appearance/appearance-font.c @@ -429,7 +429,7 @@ setup_font_pair (GtkWidget *radio, static void metacity_titlebar_load_sensitivity (AppearanceData *data) { - gtk_widget_set_sensitive (glade_xml_get_widget (data->xml, "window_title_font"), + gtk_widget_set_sensitive (appearance_capplet_get_widget (data, "window_title_font"), !gconf_client_get_bool (data->client, WINDOW_TITLE_USES_SYSTEM_KEY, NULL)); @@ -820,12 +820,12 @@ cb_show_details (GtkWidget *button, GtkWidget *widget; EnumGroup *group; - data->font_details = glade_xml_get_widget (data->xml, "render_details"); + data->font_details = appearance_capplet_get_widget (data, "render_details"); gtk_window_set_transient_for (GTK_WINDOW (data->font_details), - GTK_WINDOW (glade_xml_get_widget (data->xml, "appearance_window"))); + GTK_WINDOW (appearance_capplet_get_widget (data, "appearance_window"))); - widget = glade_xml_get_widget (data->xml, "dpi_spinner"); + widget = appearance_capplet_get_widget (data, "dpi_spinner"); /* pick a sensible maximum dpi */ adjustment = gtk_spin_button_get_adjustment (GTK_SPIN_BUTTON (widget)); @@ -838,48 +838,46 @@ cb_show_details (GtkWidget *button, gconf_client_notify_add (data->client, FONT_DPI_KEY, dpi_changed, widget, NULL, NULL); - setup_font_sample (glade_xml_get_widget (data->xml, "antialias_none_sample"), ANTIALIAS_NONE, HINT_FULL); - setup_font_sample (glade_xml_get_widget (data->xml, "antialias_grayscale_sample"), ANTIALIAS_GRAYSCALE, HINT_FULL); - setup_font_sample (glade_xml_get_widget (data->xml, "antialias_subpixel_sample"), ANTIALIAS_RGBA, HINT_FULL); + setup_font_sample (appearance_capplet_get_widget (data, "antialias_none_sample"), ANTIALIAS_NONE, HINT_FULL); + setup_font_sample (appearance_capplet_get_widget (data, "antialias_grayscale_sample"), ANTIALIAS_GRAYSCALE, HINT_FULL); + setup_font_sample (appearance_capplet_get_widget (data, "antialias_subpixel_sample"), ANTIALIAS_RGBA, HINT_FULL); group = enum_group_create ( FONT_ANTIALIASING_KEY, antialias_enums, ANTIALIAS_GRAYSCALE, - glade_xml_get_widget (data->xml, "antialias_none_radio"), ANTIALIAS_NONE, - glade_xml_get_widget (data->xml, "antialias_grayscale_radio"), ANTIALIAS_GRAYSCALE, - glade_xml_get_widget (data->xml, "antialias_subpixel_radio"), ANTIALIAS_RGBA, + appearance_capplet_get_widget (data, "antialias_none_radio"), ANTIALIAS_NONE, + appearance_capplet_get_widget (data, "antialias_grayscale_radio"), ANTIALIAS_GRAYSCALE, + appearance_capplet_get_widget (data, "antialias_subpixel_radio"), ANTIALIAS_RGBA, NULL); data->font_groups = g_slist_prepend (data->font_groups, group); - setup_font_sample (glade_xml_get_widget (data->xml, "hint_none_sample"), ANTIALIAS_GRAYSCALE, HINT_NONE); - setup_font_sample (glade_xml_get_widget (data->xml, "hint_slight_sample"), ANTIALIAS_GRAYSCALE, HINT_SLIGHT); - setup_font_sample (glade_xml_get_widget (data->xml, "hint_medium_sample"), ANTIALIAS_GRAYSCALE, HINT_MEDIUM); - setup_font_sample (glade_xml_get_widget (data->xml, "hint_full_sample"), ANTIALIAS_GRAYSCALE, HINT_FULL); - - group = enum_group_create ( - FONT_HINTING_KEY, hint_enums, HINT_FULL, - glade_xml_get_widget (data->xml, "hint_none_radio"), HINT_NONE, - glade_xml_get_widget (data->xml, "hint_slight_radio"), HINT_SLIGHT, - glade_xml_get_widget (data->xml, "hint_medium_radio"), HINT_MEDIUM, - glade_xml_get_widget (data->xml, "hint_full_radio"), HINT_FULL, - NULL); + setup_font_sample (appearance_capplet_get_widget (data, "hint_none_sample"), ANTIALIAS_GRAYSCALE, HINT_NONE); + setup_font_sample (appearance_capplet_get_widget (data, "hint_slight_sample"), ANTIALIAS_GRAYSCALE, HINT_SLIGHT); + setup_font_sample (appearance_capplet_get_widget (data, "hint_medium_sample"), ANTIALIAS_GRAYSCALE, HINT_MEDIUM); + setup_font_sample (appearance_capplet_get_widget (data, "hint_full_sample"), ANTIALIAS_GRAYSCALE, HINT_FULL); + + group = enum_group_create (FONT_HINTING_KEY, hint_enums, HINT_FULL, + appearance_capplet_get_widget (data, "hint_none_radio"), HINT_NONE, + appearance_capplet_get_widget (data, "hint_slight_radio"), HINT_SLIGHT, + appearance_capplet_get_widget (data, "hint_medium_radio"), HINT_MEDIUM, + appearance_capplet_get_widget (data, "hint_full_radio"), HINT_FULL, + NULL); data->font_groups = g_slist_prepend (data->font_groups, group); - gtk_image_set_from_file (GTK_IMAGE (glade_xml_get_widget (data->xml, "subpixel_rgb_image")), - GNOMECC_PIXMAP_DIR "/subpixel-rgb.png"); - gtk_image_set_from_file (GTK_IMAGE (glade_xml_get_widget (data->xml, "subpixel_bgr_image")), - GNOMECC_PIXMAP_DIR "/subpixel-bgr.png"); - gtk_image_set_from_file (GTK_IMAGE (glade_xml_get_widget (data->xml, "subpixel_vrgb_image")), - GNOMECC_PIXMAP_DIR "/subpixel-vrgb.png"); - gtk_image_set_from_file (GTK_IMAGE (glade_xml_get_widget (data->xml, "subpixel_vbgr_image")), - GNOMECC_PIXMAP_DIR "/subpixel-vbgr.png"); - - group = enum_group_create ( - FONT_RGBA_ORDER_KEY, rgba_order_enums, RGBA_RGB, - glade_xml_get_widget (data->xml, "subpixel_rgb_radio"), RGBA_RGB, - glade_xml_get_widget (data->xml, "subpixel_bgr_radio"), RGBA_BGR, - glade_xml_get_widget (data->xml, "subpixel_vrgb_radio"), RGBA_VRGB, - glade_xml_get_widget (data->xml, "subpixel_vbgr_radio"), RGBA_VBGR, - NULL); + gtk_image_set_from_file (GTK_IMAGE (appearance_capplet_get_widget (data, "subpixel_rgb_image")), + GNOMECC_PIXMAP_DIR "/subpixel-rgb.png"); + gtk_image_set_from_file (GTK_IMAGE (appearance_capplet_get_widget (data, "subpixel_bgr_image")), + GNOMECC_PIXMAP_DIR "/subpixel-bgr.png"); + gtk_image_set_from_file (GTK_IMAGE (appearance_capplet_get_widget (data, "subpixel_vrgb_image")), + GNOMECC_PIXMAP_DIR "/subpixel-vrgb.png"); + gtk_image_set_from_file (GTK_IMAGE (appearance_capplet_get_widget (data, "subpixel_vbgr_image")), + GNOMECC_PIXMAP_DIR "/subpixel-vbgr.png"); + + group = enum_group_create (FONT_RGBA_ORDER_KEY, rgba_order_enums, RGBA_RGB, + appearance_capplet_get_widget (data, "subpixel_rgb_radio"), RGBA_RGB, + appearance_capplet_get_widget (data, "subpixel_bgr_radio"), RGBA_BGR, + appearance_capplet_get_widget (data, "subpixel_vrgb_radio"), RGBA_VRGB, + appearance_capplet_get_widget (data, "subpixel_vbgr_radio"), RGBA_VBGR, + NULL); data->font_groups = g_slist_prepend (data->font_groups, group); g_signal_connect (G_OBJECT (data->font_details), @@ -914,7 +912,7 @@ font_init (AppearanceData *data) GCONF_CLIENT_PRELOAD_ONELEVEL, NULL); #endif /* HAVE_XFT2 */ - widget = glade_xml_get_widget (data->xml, "application_font"); + widget = appearance_capplet_get_widget (data, "application_font"); peditor = gconf_peditor_new_font (NULL, GTK_FONT_KEY, widget, "conv-from-widget-cb", application_font_to_gconf, @@ -925,20 +923,20 @@ font_init (AppearanceData *data) application_font_changed (widget); peditor = gconf_peditor_new_font (NULL, DOCUMENT_FONT_KEY, - glade_xml_get_widget (data->xml, "document_font"), - NULL); + appearance_capplet_get_widget (data, "document_font"), + NULL); peditor = gconf_peditor_new_font (NULL, DESKTOP_FONT_KEY, - glade_xml_get_widget (data->xml, "desktop_font"), - NULL); + appearance_capplet_get_widget (data, "desktop_font"), + NULL); peditor = gconf_peditor_new_font (NULL, WINDOW_TITLE_FONT_KEY, - glade_xml_get_widget (data->xml, "window_title_font"), - NULL); + appearance_capplet_get_widget (data, "window_title_font"), + NULL); peditor = gconf_peditor_new_font (NULL, MONOSPACE_FONT_KEY, - glade_xml_get_widget (data->xml, "monospace_font"), - NULL); + appearance_capplet_get_widget (data, "monospace_font"), + NULL); gconf_client_notify_add (data->client, WINDOW_TITLE_USES_SYSTEM_KEY, metacity_changed, @@ -947,18 +945,18 @@ font_init (AppearanceData *data) metacity_titlebar_load_sensitivity (data); #ifdef HAVE_XFT2 - setup_font_pair (glade_xml_get_widget (data->xml, "monochrome_radio"), - glade_xml_get_widget (data->xml, "monochrome_sample"), - ANTIALIAS_NONE, HINT_FULL); - setup_font_pair (glade_xml_get_widget (data->xml, "best_shapes_radio"), - glade_xml_get_widget (data->xml, "best_shapes_sample"), - ANTIALIAS_GRAYSCALE, HINT_MEDIUM); - setup_font_pair (glade_xml_get_widget (data->xml, "best_contrast_radio"), - glade_xml_get_widget (data->xml, "best_contrast_sample"), - ANTIALIAS_GRAYSCALE, HINT_FULL); - setup_font_pair (glade_xml_get_widget (data->xml, "subpixel_radio"), - glade_xml_get_widget (data->xml, "subpixel_sample"), - ANTIALIAS_RGBA, HINT_FULL); + setup_font_pair (appearance_capplet_get_widget (data, "monochrome_radio"), + appearance_capplet_get_widget (data, "monochrome_sample"), + ANTIALIAS_NONE, HINT_FULL); + setup_font_pair (appearance_capplet_get_widget (data, "best_shapes_radio"), + appearance_capplet_get_widget (data, "best_shapes_sample"), + ANTIALIAS_GRAYSCALE, HINT_MEDIUM); + setup_font_pair (appearance_capplet_get_widget (data, "best_contrast_radio"), + appearance_capplet_get_widget (data, "best_contrast_sample"), + ANTIALIAS_GRAYSCALE, HINT_FULL); + setup_font_pair (appearance_capplet_get_widget (data, "subpixel_radio"), + appearance_capplet_get_widget (data, "subpixel_sample"), + ANTIALIAS_RGBA, HINT_FULL); font_render_load (data->client); @@ -966,10 +964,10 @@ font_init (AppearanceData *data) font_render_changed, data->client, NULL, NULL); - g_signal_connect (glade_xml_get_widget (data->xml, "details_button"), - "clicked", G_CALLBACK (cb_show_details), data); + g_signal_connect (appearance_capplet_get_widget (data, "details_button"), + "clicked", G_CALLBACK (cb_show_details), data); #else /* !HAVE_XFT2 */ - gtk_widget_hide (glade_xml_get_widget (data->xml, "font_render_frame")); + gtk_widget_hide (appearance_capplet_get_widget (data, "font_render_frame")); #endif /* HAVE_XFT2 */ } diff --git a/capplets/appearance/appearance-main.c b/capplets/appearance/appearance-main.c index 75d7d1f50..99faeeee6 100644 --- a/capplets/appearance/appearance-main.c +++ b/capplets/appearance/appearance-main.c @@ -34,8 +34,9 @@ static AppearanceData * init_appearance_data (int *argc, char ***argv, GOptionContext *context) { AppearanceData *data = NULL; - gchar *gladefile; - GladeXML *ui; + gchar *uifile; + GtkBuilder *ui; + GError *err = NULL; g_thread_init (NULL); theme_thumbnail_factory_init (*argc, *argv); @@ -43,16 +44,24 @@ init_appearance_data (int *argc, char ***argv, GOptionContext *context) activate_settings_daemon (); /* set up the data */ - gladefile = g_build_filename (GNOMECC_GLADE_DIR, "appearance.glade", NULL); - ui = glade_xml_new (gladefile, NULL, NULL); - g_free (gladefile); - - if (ui) { - data = g_new (AppearanceData, 1); - data->client = gconf_client_get_default (); - data->xml = ui; - data->thumb_factory = gnome_desktop_thumbnail_factory_new (GNOME_DESKTOP_THUMBNAIL_SIZE_NORMAL); - } + uifile = g_build_filename (GNOMECC_GTKBUILDER_DIR, "appearance.ui", + NULL); + ui = gtk_builder_new(); + gtk_builder_add_from_file (ui, uifile, &err); + g_free (uifile); + + if (err) + { + g_warning (_("Could not load user interface file: %s"), err->message); + g_error_free (err); + } + else + { + data = g_new (AppearanceData, 1); + data->client = gconf_client_get_default (); + data->ui = ui; + data->thumb_factory = gnome_desktop_thumbnail_factory_new (GNOME_DESKTOP_THUMBNAIL_SIZE_NORMAL); + } return data; } @@ -74,14 +83,14 @@ main_window_response (GtkWidget *widget, g_object_unref (data->thumb_factory); g_object_unref (data->client); - g_object_unref (data->xml); + g_object_unref (data->ui); } else if (response_id == GTK_RESPONSE_HELP) { GtkNotebook *nb; gint pindex; - nb = GTK_NOTEBOOK (glade_xml_get_widget (data->xml, "main_notebook")); + nb = GTK_NOTEBOOK (appearance_capplet_get_widget (data, "main_notebook")); pindex = gtk_notebook_get_current_page (nb); switch (pindex) @@ -165,7 +174,7 @@ main (int argc, char **argv) ui_init (data); /* prepare the main window */ - w = glade_xml_get_widget (data->xml, "appearance_window"); + w = appearance_capplet_get_widget (data, "appearance_window"); capplet_set_icon (w, "preferences-desktop-theme"); gtk_widget_show_all (w); @@ -182,12 +191,12 @@ main (int argc, char **argv) page_name = g_strconcat (start_page, "_vbox", NULL); g_free (start_page); - w = glade_xml_get_widget (data->xml, page_name); + w = appearance_capplet_get_widget (data, page_name); if (w != NULL) { GtkNotebook *nb; gint pindex; - nb = GTK_NOTEBOOK (glade_xml_get_widget (data->xml, "main_notebook")); + nb = GTK_NOTEBOOK (appearance_capplet_get_widget (data, "main_notebook")); pindex = gtk_notebook_page_num (nb, w); if (pindex != -1) gtk_notebook_set_current_page (nb, pindex); diff --git a/capplets/appearance/appearance-style.c b/capplets/appearance/appearance-style.c index 859d7af82..ae95d904f 100644 --- a/capplets/appearance/appearance-style.c +++ b/capplets/appearance/appearance-style.c @@ -247,7 +247,7 @@ update_message_area (AppearanceData *data) gtk_widget_show_all (data->style_message_area); gtk_widget_set_no_show_all (data->style_message_area, TRUE); - parent = glade_xml_get_widget (data->xml, "gtk_themes_vbox"); + parent = appearance_capplet_get_widget (data, "gtk_themes_vbox"); gtk_box_pack_start (GTK_BOX (parent), data->style_message_area, FALSE, FALSE, 0); } @@ -282,7 +282,7 @@ update_color_buttons_from_string (const gchar *color_scheme, AppearanceData *dat /* now set all the buttons to the correct settings */ for (i = 0; i < NUM_SYMBOLIC_COLORS; ++i) { - widget = glade_xml_get_widget (data->xml, symbolic_names[i]); + widget = appearance_capplet_get_widget (data, symbolic_names[i]); gtk_color_button_set_color (GTK_COLOR_BUTTON (widget), &colors[i]); } } @@ -297,7 +297,7 @@ update_color_buttons_from_settings (GtkSettings *settings, g_object_get (settings, "gtk-color-scheme", &setting, NULL); if (scheme == NULL || strcmp (scheme, "") == 0) - gtk_widget_set_sensitive (glade_xml_get_widget (data->xml, "color_scheme_defaults_button"), FALSE); + gtk_widget_set_sensitive (appearance_capplet_get_widget (data, "color_scheme_defaults_button"), FALSE); g_free (scheme); update_color_buttons_from_string (setting, data); @@ -333,7 +333,7 @@ check_color_schemes_enabled (GtkSettings *settings, gboolean found; found = (g_slist_find_custom (symbolic_colors, symbolic_names[i], (GCompareFunc) strcmp) != NULL); - gtk_widget_set_sensitive (glade_xml_get_widget (data->xml, symbolic_names[i]), found); + gtk_widget_set_sensitive (appearance_capplet_get_widget (data, symbolic_names[i]), found); enable_colors |= found; } @@ -341,13 +341,13 @@ check_color_schemes_enabled (GtkSettings *settings, g_slist_foreach (symbolic_colors, (GFunc) g_free, NULL); g_slist_free (symbolic_colors); - gtk_widget_set_sensitive (glade_xml_get_widget (data->xml, "color_scheme_table"), enable_colors); - gtk_widget_set_sensitive (glade_xml_get_widget (data->xml, "color_scheme_defaults_button"), enable_colors); + gtk_widget_set_sensitive (appearance_capplet_get_widget (data, "color_scheme_table"), enable_colors); + gtk_widget_set_sensitive (appearance_capplet_get_widget (data, "color_scheme_defaults_button"), enable_colors); if (enable_colors) - gtk_widget_hide (glade_xml_get_widget (data->xml, "color_scheme_message_hbox")); + gtk_widget_hide (appearance_capplet_get_widget (data, "color_scheme_message_hbox")); else - gtk_widget_show (glade_xml_get_widget (data->xml, "color_scheme_message_hbox")); + gtk_widget_show (appearance_capplet_get_widget (data, "color_scheme_message_hbox")); } static void @@ -361,7 +361,7 @@ color_button_clicked_cb (GtkWidget *colorbutton, AppearanceData *data) gint i; for (i = 0; i < NUM_SYMBOLIC_COLORS; ++i) { - widget = glade_xml_get_widget (data->xml, symbolic_names[i]); + widget = appearance_capplet_get_widget (data, symbolic_names[i]); gtk_color_button_get_color (GTK_COLOR_BUTTON (widget), &color); colstr = gdk_color_to_string (&color); @@ -377,7 +377,7 @@ color_button_clicked_cb (GtkWidget *colorbutton, AppearanceData *data) if (!gnome_theme_color_scheme_equal (old_scheme, scheme->str)) { gconf_client_set_string (data->client, COLOR_SCHEME_KEY, scheme->str, NULL); - gtk_widget_set_sensitive (glade_xml_get_widget (data->xml, "color_scheme_defaults_button"), TRUE); + gtk_widget_set_sensitive (appearance_capplet_get_widget (data, "color_scheme_defaults_button"), TRUE); } g_free (old_scheme); g_string_free (scheme, TRUE); @@ -387,7 +387,7 @@ static void color_scheme_defaults_button_clicked_cb (GtkWidget *button, AppearanceData *data) { gconf_client_unset (data->client, COLOR_SCHEME_KEY, NULL); - gtk_widget_set_sensitive (glade_xml_get_widget (data->xml, "color_scheme_defaults_button"), FALSE); + gtk_widget_set_sensitive (appearance_capplet_get_widget (data, "color_scheme_defaults_button"), FALSE); } static void @@ -431,7 +431,7 @@ gtk_theme_changed (GConfPropertyEditor *peditor, update_color_buttons_from_settings (settings, data); } - gtk_widget_set_sensitive (glade_xml_get_widget (data->xml, "gtk_themes_delete"), + gtk_widget_set_sensitive (appearance_capplet_get_widget (data, "gtk_themes_delete"), theme_is_writable (theme)); } @@ -447,7 +447,7 @@ window_theme_changed (GConfPropertyEditor *peditor, if (value && (name = gconf_value_get_string (value))) theme = gnome_theme_info_find (name); - gtk_widget_set_sensitive (glade_xml_get_widget (data->xml, "window_themes_delete"), + gtk_widget_set_sensitive (appearance_capplet_get_widget (data, "window_themes_delete"), theme_is_writable (theme)); } @@ -463,7 +463,7 @@ icon_theme_changed (GConfPropertyEditor *peditor, if (value && (name = gconf_value_get_string (value))) theme = gnome_theme_icon_info_find (name); - gtk_widget_set_sensitive (glade_xml_get_widget (data->xml, "icon_themes_delete"), + gtk_widget_set_sensitive (appearance_capplet_get_widget (data, "icon_themes_delete"), theme_is_writable (theme)); } @@ -508,10 +508,10 @@ update_cursor_size_scale (GnomeThemeCursorInfo *theme, gboolean sensitive; gint size, gconf_size; - cursor_size_scale = glade_xml_get_widget (data->xml, "cursor_size_scale"); - cursor_size_label = glade_xml_get_widget (data->xml, "cursor_size_label"); - cursor_size_small_label = glade_xml_get_widget (data->xml, "cursor_size_small_label"); - cursor_size_large_label = glade_xml_get_widget (data->xml, "cursor_size_large_label"); + cursor_size_scale = appearance_capplet_get_widget (data, "cursor_size_scale"); + cursor_size_label = appearance_capplet_get_widget (data, "cursor_size_label"); + cursor_size_small_label = appearance_capplet_get_widget (data, "cursor_size_small_label"); + cursor_size_large_label = appearance_capplet_get_widget (data, "cursor_size_large_label"); sensitive = theme && theme->sizes->len > 1; gtk_widget_set_sensitive (cursor_size_scale, sensitive); @@ -585,7 +585,7 @@ cursor_theme_changed (GConfPropertyEditor *peditor, update_cursor_size_scale (theme, data); - gtk_widget_set_sensitive (glade_xml_get_widget (data->xml, "cursor_themes_delete"), + gtk_widget_set_sensitive (appearance_capplet_get_widget (data, "cursor_themes_delete"), theme_is_writable (theme)); } @@ -593,7 +593,7 @@ cursor_theme_changed (GConfPropertyEditor *peditor, static void generic_theme_delete (const gchar *tv_name, ThemeType type, AppearanceData *data) { - GtkTreeView *treeview = GTK_TREE_VIEW (glade_xml_get_widget (data->xml, tv_name)); + GtkTreeView *treeview = GTK_TREE_VIEW (appearance_capplet_get_widget (data, tv_name)); GtkTreeSelection *selection = gtk_tree_view_get_selection (treeview); GtkTreeModel *model; GtkTreeIter iter; @@ -661,7 +661,7 @@ add_to_treeview (const gchar *tv_name, GtkTreeView *treeview; GtkListStore *model; - treeview = GTK_TREE_VIEW (glade_xml_get_widget (data->xml, tv_name)); + treeview = GTK_TREE_VIEW (appearance_capplet_get_widget (data, tv_name)); model = GTK_LIST_STORE ( gtk_tree_model_sort_get_model ( GTK_TREE_MODEL_SORT (gtk_tree_view_get_model (treeview)))); @@ -682,7 +682,7 @@ remove_from_treeview (const gchar *tv_name, GtkListStore *model; GtkTreeIter iter; - treeview = GTK_TREE_VIEW (glade_xml_get_widget (data->xml, tv_name)); + treeview = GTK_TREE_VIEW (appearance_capplet_get_widget (data, tv_name)); model = GTK_LIST_STORE ( gtk_tree_model_sort_get_model ( GTK_TREE_MODEL_SORT (gtk_tree_view_get_model (treeview)))); @@ -701,7 +701,7 @@ update_in_treeview (const gchar *tv_name, GtkListStore *model; GtkTreeIter iter; - treeview = GTK_TREE_VIEW (glade_xml_get_widget (data->xml, tv_name)); + treeview = GTK_TREE_VIEW (appearance_capplet_get_widget (data, tv_name)); model = GTK_LIST_STORE ( gtk_tree_model_sort_get_model ( GTK_TREE_MODEL_SORT (gtk_tree_view_get_model (treeview)))); @@ -727,7 +727,7 @@ update_thumbnail_in_treeview (const gchar *tv_name, if (theme_thumbnail == NULL) return; - treeview = GTK_TREE_VIEW (glade_xml_get_widget (data->xml, tv_name)); + treeview = GTK_TREE_VIEW (appearance_capplet_get_widget (data, tv_name)); model = GTK_LIST_STORE ( gtk_tree_model_sort_get_model ( GTK_TREE_MODEL_SORT (gtk_tree_view_get_model (treeview)))); @@ -997,19 +997,19 @@ style_init (AppearanceData *data) data->style_message_label = NULL; data->style_install_button = NULL; - w = glade_xml_get_widget (data->xml, "theme_details"); + w = appearance_capplet_get_widget (data, "theme_details"); g_signal_connect (w, "response", (GCallback) style_response_cb, NULL); g_signal_connect (w, "delete_event", (GCallback) gtk_true, NULL); - prepare_list (data, glade_xml_get_widget (data->xml, "window_themes_list"), THEME_TYPE_WINDOW, (GCallback) window_theme_changed); - prepare_list (data, glade_xml_get_widget (data->xml, "gtk_themes_list"), THEME_TYPE_GTK, (GCallback) gtk_theme_changed); - prepare_list (data, glade_xml_get_widget (data->xml, "icon_themes_list"), THEME_TYPE_ICON, (GCallback) icon_theme_changed); - prepare_list (data, glade_xml_get_widget (data->xml, "cursor_themes_list"), THEME_TYPE_CURSOR, (GCallback) cursor_theme_changed); + prepare_list (data, appearance_capplet_get_widget (data, "window_themes_list"), THEME_TYPE_WINDOW, (GCallback) window_theme_changed); + prepare_list (data, appearance_capplet_get_widget (data, "gtk_themes_list"), THEME_TYPE_GTK, (GCallback) gtk_theme_changed); + prepare_list (data, appearance_capplet_get_widget (data, "icon_themes_list"), THEME_TYPE_ICON, (GCallback) icon_theme_changed); + prepare_list (data, appearance_capplet_get_widget (data, "cursor_themes_list"), THEME_TYPE_CURSOR, (GCallback) cursor_theme_changed); - w = glade_xml_get_widget (data->xml, "color_scheme_message_hbox"); + w = appearance_capplet_get_widget (data, "color_scheme_message_hbox"); gtk_widget_set_no_show_all (w, TRUE); - w = glade_xml_get_widget (data->xml, "color_scheme_defaults_button"); + w = appearance_capplet_get_widget (data, "color_scheme_defaults_button"); gtk_button_set_image (GTK_BUTTON (w), gtk_image_new_from_stock (GTK_STOCK_REVERT_TO_SAVED, GTK_ICON_SIZE_BUTTON)); @@ -1018,38 +1018,38 @@ style_init (AppearanceData *data) g_signal_connect (settings, "notify::gtk-color-scheme", (GCallback) color_scheme_changed, data); #ifdef HAVE_XCURSOR - w = glade_xml_get_widget (data->xml, "cursor_size_scale"); + w = appearance_capplet_get_widget (data, "cursor_size_scale"); g_signal_connect (w, "value-changed", (GCallback) cursor_size_scale_value_changed_cb, data); - w = glade_xml_get_widget (data->xml, "cursor_size_small_label"); + w = appearance_capplet_get_widget (data, "cursor_size_small_label"); label = g_strdup_printf ("%s", gtk_label_get_text (GTK_LABEL (w))); gtk_label_set_markup (GTK_LABEL (w), label); g_free (label); - w = glade_xml_get_widget (data->xml, "cursor_size_large_label"); + w = appearance_capplet_get_widget (data, "cursor_size_large_label"); label = g_strdup_printf ("%s", gtk_label_get_text (GTK_LABEL (w))); gtk_label_set_markup (GTK_LABEL (w), label); g_free (label); #else - w = glade_xml_get_widget (data->xml, "cursor_size_hbox"); + w = appearance_capplet_get_widget (data, "cursor_size_hbox"); gtk_widget_set_no_show_all (w, TRUE); gtk_widget_hide (w); - gtk_widget_show (glade_xml_get_widget (data->xml, "cursor_message_hbox")); - gtk_box_set_spacing (GTK_BOX (glade_xml_get_widget (data->xml, "cursor_vbox")), 12); + gtk_widget_show (appearance_capplet_get_widget (data, "cursor_message_hbox")); + gtk_box_set_spacing (GTK_BOX (appearance_capplet_get_widget (data, "cursor_vbox")), 12); #endif /* connect signals */ /* color buttons */ for (i = 0; i < NUM_SYMBOLIC_COLORS; ++i) - g_signal_connect (glade_xml_get_widget (data->xml, symbolic_names[i]), "color-set", (GCallback) color_button_clicked_cb, data); + g_signal_connect (appearance_capplet_get_widget (data, symbolic_names[i]), "color-set", (GCallback) color_button_clicked_cb, data); /* revert button */ - g_signal_connect (glade_xml_get_widget (data->xml, "color_scheme_defaults_button"), "clicked", (GCallback) color_scheme_defaults_button_clicked_cb, data); + g_signal_connect (appearance_capplet_get_widget (data, "color_scheme_defaults_button"), "clicked", (GCallback) color_scheme_defaults_button_clicked_cb, data); /* delete buttons */ - g_signal_connect (glade_xml_get_widget (data->xml, "gtk_themes_delete"), "clicked", (GCallback) gtk_theme_delete_cb, data); - g_signal_connect (glade_xml_get_widget (data->xml, "window_themes_delete"), "clicked", (GCallback) window_theme_delete_cb, data); - g_signal_connect (glade_xml_get_widget (data->xml, "icon_themes_delete"), "clicked", (GCallback) icon_theme_delete_cb, data); - g_signal_connect (glade_xml_get_widget (data->xml, "cursor_themes_delete"), "clicked", (GCallback) cursor_theme_delete_cb, data); + g_signal_connect (appearance_capplet_get_widget (data, "gtk_themes_delete"), "clicked", (GCallback) gtk_theme_delete_cb, data); + g_signal_connect (appearance_capplet_get_widget (data, "window_themes_delete"), "clicked", (GCallback) window_theme_delete_cb, data); + g_signal_connect (appearance_capplet_get_widget (data, "icon_themes_delete"), "clicked", (GCallback) icon_theme_delete_cb, data); + g_signal_connect (appearance_capplet_get_widget (data, "cursor_themes_delete"), "clicked", (GCallback) cursor_theme_delete_cb, data); update_message_area (data); gnome_theme_info_register_theme_change ((ThemeChangedCallback) changed_on_disk_cb, data); diff --git a/capplets/appearance/appearance-themes.c b/capplets/appearance/appearance-themes.c index 71fefdb1c..0a84eef38 100644 --- a/capplets/appearance/appearance-themes.c +++ b/capplets/appearance/appearance-themes.c @@ -361,7 +361,7 @@ static void theme_set_custom_from_theme (const GnomeThemeMetaInfo *info, AppearanceData *data) { GnomeThemeMetaInfo *custom = data->theme_custom; - GtkIconView *icon_view = GTK_ICON_VIEW (glade_xml_get_widget (data->xml, "theme_list")); + GtkIconView *icon_view = GTK_ICON_VIEW (appearance_capplet_get_widget (data, "theme_list")); GtkTreeModel *model; GtkTreeIter iter; GtkTreePath *path; @@ -448,7 +448,7 @@ theme_message_area_response_cb (GtkWidget *w, gchar *tmpfont; gchar *engine_path; - theme = theme_get_selected (GTK_ICON_VIEW (glade_xml_get_widget (data->xml, "theme_list")), data); + theme = theme_get_selected (GTK_ICON_VIEW (appearance_capplet_get_widget (data, "theme_list")), data); if (!theme) return; @@ -597,7 +597,7 @@ theme_message_area_update (AppearanceData *data) gchar *font; GError *error = NULL; - theme = theme_get_selected (GTK_ICON_VIEW (glade_xml_get_widget (data->xml, "theme_list")), data); + theme = theme_get_selected (GTK_ICON_VIEW (appearance_capplet_get_widget (data, "theme_list")), data); if (!theme) { if (data->theme_message_area != NULL) @@ -703,7 +703,7 @@ theme_message_area_update (AppearanceData *data) gtk_box_pack_start (GTK_BOX (hbox), data->theme_message_label, TRUE, TRUE, 0); gedit_message_area_set_contents (GEDIT_MESSAGE_AREA (data->theme_message_area), hbox); - parent = glade_xml_get_widget (data->xml, "theme_list_vbox"); + parent = appearance_capplet_get_widget (data, "theme_list_vbox"); gtk_box_pack_start (GTK_BOX (parent), data->theme_message_area, FALSE, FALSE, 0); } @@ -802,9 +802,9 @@ theme_selection_changed_cb (GtkWidget *icon_view, AppearanceData *data) g_list_free (selection); } - gtk_widget_set_sensitive (glade_xml_get_widget (data->xml, "theme_delete"), + gtk_widget_set_sensitive (appearance_capplet_get_widget (data, "theme_delete"), theme_is_writable (theme)); - gtk_widget_set_sensitive (glade_xml_get_widget (data->xml, "theme_save"), is_custom); + gtk_widget_set_sensitive (appearance_capplet_get_widget (data, "theme_save"), is_custom); } static void @@ -812,8 +812,8 @@ theme_custom_cb (GtkWidget *button, AppearanceData *data) { GtkWidget *w, *parent; - w = glade_xml_get_widget (data->xml, "theme_details"); - parent = glade_xml_get_widget (data->xml, "appearance_window"); + w = appearance_capplet_get_widget (data, "theme_details"); + parent = appearance_capplet_get_widget (data, "appearance_window"); gtk_window_set_transient_for (GTK_WINDOW (w), GTK_WINDOW (parent)); gtk_widget_show_all (w); } @@ -828,13 +828,13 @@ static void theme_install_cb (GtkWidget *button, AppearanceData *data) { gnome_theme_installer_run ( - GTK_WINDOW (glade_xml_get_widget (data->xml, "appearance_window")), NULL); + GTK_WINDOW (appearance_capplet_get_widget (data, "appearance_window")), NULL); } static void theme_delete_cb (GtkWidget *button, AppearanceData *data) { - GtkIconView *icon_view = GTK_ICON_VIEW (glade_xml_get_widget (data->xml, "theme_list")); + GtkIconView *icon_view = GTK_ICON_VIEW (appearance_capplet_get_widget (data, "theme_list")); GList *selected = gtk_icon_view_get_selected_items (icon_view); if (selected) { @@ -880,7 +880,7 @@ theme_details_changed_cb (AppearanceData *data) gconf_theme = theme_load_from_gconf (data->client); /* check if it's our currently selected theme */ - icon_view = GTK_ICON_VIEW (glade_xml_get_widget (data->xml, "theme_list")); + icon_view = GTK_ICON_VIEW (appearance_capplet_get_widget (data, "theme_list")); selected = theme_get_selected (icon_view, data); if (!selected || !(done = theme_is_equal (selected, gconf_theme))) { @@ -991,7 +991,7 @@ theme_drag_data_received_cb (GtkWidget *widget, GFile *f = g_file_new_for_uri (uris[0]); gnome_theme_install (f, - GTK_WINDOW (glade_xml_get_widget (data->xml, "appearance_window"))); + GTK_WINDOW (appearance_capplet_get_widget (data, "appearance_window"))); g_object_unref (f); } @@ -1076,7 +1076,7 @@ themes_init (AppearanceData *data) g_list_foreach (theme_list, (GFunc) theme_thumbnail_generate, data); g_list_free (theme_list); - icon_view = GTK_ICON_VIEW (glade_xml_get_widget (data->xml, "theme_list")); + icon_view = GTK_ICON_VIEW (appearance_capplet_get_widget (data, "theme_list")); renderer = cell_renderer_wallpaper_new (); g_object_set (renderer, "xpad", 5, "ypad", 5, @@ -1103,25 +1103,25 @@ themes_init (AppearanceData *data) g_signal_connect (icon_view, "selection-changed", (GCallback) theme_selection_changed_cb, data); g_signal_connect_after (icon_view, "realize", (GCallback) theme_select_name, meta_theme->name); - w = glade_xml_get_widget (data->xml, "theme_install"); + w = appearance_capplet_get_widget (data, "theme_install"); gtk_button_set_image (GTK_BUTTON (w), gtk_image_new_from_stock (GTK_STOCK_OPEN, GTK_ICON_SIZE_BUTTON)); g_signal_connect (w, "clicked", (GCallback) theme_install_cb, data); - w = glade_xml_get_widget (data->xml, "theme_save"); + w = appearance_capplet_get_widget (data, "theme_save"); gtk_button_set_image (GTK_BUTTON (w), gtk_image_new_from_stock (GTK_STOCK_SAVE_AS, GTK_ICON_SIZE_BUTTON)); g_signal_connect (w, "clicked", (GCallback) theme_save_cb, data); - w = glade_xml_get_widget (data->xml, "theme_custom"); + w = appearance_capplet_get_widget (data, "theme_custom"); gtk_button_set_image (GTK_BUTTON (w), gtk_image_new_from_stock (GTK_STOCK_EDIT, GTK_ICON_SIZE_BUTTON)); g_signal_connect (w, "clicked", (GCallback) theme_custom_cb, data); - del_button = glade_xml_get_widget (data->xml, "theme_delete"); + del_button = appearance_capplet_get_widget (data, "theme_delete"); g_signal_connect (del_button, "clicked", (GCallback) theme_delete_cb, data); - w = glade_xml_get_widget (data->xml, "theme_vbox"); + w = appearance_capplet_get_widget (data, "theme_vbox"); gtk_drag_dest_set (w, GTK_DEST_DEFAULT_ALL, drop_types, G_N_ELEMENTS (drop_types), GDK_ACTION_COPY | GDK_ACTION_LINK | GDK_ACTION_MOVE); @@ -1151,15 +1151,15 @@ themes_init (AppearanceData *data) /* monitor individual font choice buttons, so "revert font" option (if any) can be cleared */ - w = glade_xml_get_widget (data->xml, "application_font"); + w = appearance_capplet_get_widget (data, "application_font"); g_signal_connect (w, "font_set", (GCallback) custom_font_cb, data); - w = glade_xml_get_widget (data->xml, "document_font"); + w = appearance_capplet_get_widget (data, "document_font"); g_signal_connect (w, "font_set", (GCallback) custom_font_cb, data); - w = glade_xml_get_widget (data->xml, "desktop_font"); + w = appearance_capplet_get_widget (data, "desktop_font"); g_signal_connect (w, "font_set", (GCallback) custom_font_cb, data); - w = glade_xml_get_widget (data->xml, "window_title_font"); + w = appearance_capplet_get_widget (data, "window_title_font"); g_signal_connect (w, "font_set", (GCallback) custom_font_cb, data); - w = glade_xml_get_widget (data->xml, "monospace_font"); + w = appearance_capplet_get_widget (data, "monospace_font"); g_signal_connect (w, "font_set", (GCallback) custom_font_cb, data); } diff --git a/capplets/appearance/appearance-ui.c b/capplets/appearance/appearance-ui.c index 6ed07ac0b..1bec903d6 100644 --- a/capplets/appearance/appearance-ui.c +++ b/capplets/appearance/appearance-ui.c @@ -35,9 +35,9 @@ static GConfEnumStringPair toolbar_style_enums[] = { static void show_handlebar (AppearanceData *data, gboolean show) { - GtkWidget *handlebox = glade_xml_get_widget (data->xml, "toolbar_handlebox"); - GtkWidget *toolbar = glade_xml_get_widget (data->xml, "toolbar_toolbar"); - GtkWidget *align = glade_xml_get_widget (data->xml, "toolbar_align"); + GtkWidget *handlebox = appearance_capplet_get_widget (data, "toolbar_handlebox"); + GtkWidget *toolbar = appearance_capplet_get_widget (data, "toolbar_toolbar"); + GtkWidget *align = appearance_capplet_get_widget (data, "toolbar_align"); g_object_ref (handlebox); g_object_ref (toolbar); @@ -70,7 +70,7 @@ set_toolbar_style (AppearanceData *data, const char *value) if (!gconf_string_to_enum (toolbar_style_enums, value, &enum_val)) enum_val = 0; - gtk_toolbar_set_style (GTK_TOOLBAR (glade_xml_get_widget (data->xml, "toolbar_toolbar")), + gtk_toolbar_set_style (GTK_TOOLBAR (appearance_capplet_get_widget (data, "toolbar_toolbar")), gtk_toolbar_styles[enum_val]); } @@ -92,7 +92,7 @@ set_have_icons (AppearanceData *data, gboolean value) const char **name; for (name = menu_item_names; *name != NULL; name++) { - GtkImageMenuItem *item = GTK_IMAGE_MENU_ITEM (glade_xml_get_widget (data->xml, *name)); + GtkImageMenuItem *item = GTK_IMAGE_MENU_ITEM (appearance_capplet_get_widget (data, *name)); GtkWidget *image; if (value) { @@ -193,11 +193,11 @@ ui_init (AppearanceData *data) peditor = gconf_peditor_new_boolean (NULL, "/desktop/gnome/interface/can_change_accels", - glade_xml_get_widget (data->xml, "menu_accel_toggle"), NULL); + appearance_capplet_get_widget (data, "menu_accel_toggle"), NULL); peditor = gconf_peditor_new_boolean (NULL, "/desktop/gnome/interface/menus_have_icons", - glade_xml_get_widget (data->xml, "menu_icons_toggle"), NULL); + appearance_capplet_get_widget (data, "menu_icons_toggle"), NULL); g_signal_connect (peditor, "value_changed", (GCallback) menus_have_icons_cb, data); @@ -208,14 +208,14 @@ ui_init (AppearanceData *data) peditor = gconf_peditor_new_combo_box (NULL, "/desktop/gnome/interface/toolbar_style", - glade_xml_get_widget (data->xml, "toolbar_style_select"), + appearance_capplet_get_widget (data, "toolbar_style_select"), "conv-to-widget-cb", toolbar_to_widget, "conv-from-widget-cb", toolbar_from_widget, NULL); g_signal_connect (peditor, "value_changed", (GCallback) toolbar_style_cb, data); - g_signal_connect (glade_xml_get_widget (data->xml, "toolbar_handlebox"), + g_signal_connect (appearance_capplet_get_widget (data, "toolbar_handlebox"), "button_press_event", (GCallback) button_press_block_cb, NULL); diff --git a/capplets/appearance/appearance.h b/capplets/appearance/appearance.h index cfdbe1f07..7c3068780 100644 --- a/capplets/appearance/appearance.h +++ b/capplets/appearance/appearance.h @@ -22,15 +22,15 @@ #include #include -#include #include #include #include "gnome-theme-info.h" -typedef struct { +typedef struct +{ GConfClient *client; - GladeXML *xml; + GtkBuilder *ui; GnomeDesktopThumbnailFactory *thumb_factory; /* desktop */ @@ -78,3 +78,5 @@ typedef struct { GtkWidget *style_message_label; GtkWidget *style_install_button; } AppearanceData; + +#define appearance_capplet_get_widget(x, y) (GtkWidget *) gtk_builder_get_object (x->ui, y) diff --git a/capplets/appearance/data/Makefile.am b/capplets/appearance/data/Makefile.am index 56eacaf51..df392ca4b 100644 --- a/capplets/appearance/data/Makefile.am +++ b/capplets/appearance/data/Makefile.am @@ -1,6 +1,6 @@ -gladedir = $(pkgdatadir)/glade -dist_glade_DATA = appearance.glade +gtkbuilderdir = $(pkgdatadir)/gtkbuilder +dist_gtkbuilder_DATA = appearance.ui pixmapdir = $(pkgdatadir)/pixmaps dist_pixmap_DATA = \ diff --git a/capplets/appearance/theme-save.c b/capplets/appearance/theme-save.c index 5dec24eab..adab2f824 100644 --- a/capplets/appearance/theme-save.c +++ b/capplets/appearance/theme-save.c @@ -303,10 +303,10 @@ save_dialog_response (GtkWidget *save_dialog, gboolean save_background; GError *error = NULL; - entry = glade_xml_get_widget (data->xml, "save_dialog_entry"); + entry = appearance_capplet_get_widget (data, "save_dialog_entry"); theme_name = escape_string_and_dup (gtk_entry_get_text (GTK_ENTRY (entry))); - text_view = glade_xml_get_widget (data->xml, "save_dialog_textview"); + text_view = appearance_capplet_get_widget (data, "save_dialog_textview"); buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (text_view)); gtk_text_buffer_get_start_iter (buffer, &start_iter); gtk_text_buffer_get_end_iter (buffer, &end_iter); @@ -315,7 +315,7 @@ save_dialog_response (GtkWidget *save_dialog, g_free (buffer_text); theme_info = (GnomeThemeMetaInfo *) g_object_get_data (G_OBJECT (save_dialog), "meta-theme-info"); save_background = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON ( - glade_xml_get_widget (data->xml, "save_background_checkbutton"))); + appearance_capplet_get_widget (data, "save_background_checkbutton"))); if (save_theme_to_disk (theme_info, theme_name, theme_description, save_background, &error)) { /* remove the custom theme */ @@ -335,13 +335,15 @@ save_dialog_response (GtkWidget *save_dialog, static void entry_text_changed (GtkEditable *editable, - GladeXML *dialog) + AppearanceData *data) { const gchar *text; + GtkWidget *button; text = gtk_entry_get_text (GTK_ENTRY (editable)); - gtk_widget_set_sensitive (glade_xml_get_widget (dialog, "save_dialog_save_button"), - text != NULL && text[0] != '\000'); + button = appearance_capplet_get_widget (data, "save_dialog_save_button"); + + gtk_widget_set_sensitive (button, text != NULL && text[0] != '\000'); } void @@ -352,28 +354,28 @@ theme_save_dialog_run (GnomeThemeMetaInfo *theme_info, GtkWidget *text_view; GtkTextBuffer *text_buffer; - entry = glade_xml_get_widget (data->xml, "save_dialog_entry"); - text_view = glade_xml_get_widget (data->xml, "save_dialog_textview"); + entry = appearance_capplet_get_widget (data, "save_dialog_entry"); + text_view = appearance_capplet_get_widget (data, "save_dialog_textview"); if (data->theme_save_dialog == NULL) { - data->theme_save_dialog = glade_xml_get_widget (data->xml, "theme_save_dialog"); + data->theme_save_dialog = appearance_capplet_get_widget (data, "theme_save_dialog"); g_signal_connect (data->theme_save_dialog, "response", (GCallback) save_dialog_response, data); g_signal_connect (data->theme_save_dialog, "delete-event", (GCallback) gtk_true, NULL); - g_signal_connect (entry, "changed", (GCallback) entry_text_changed, data->xml); + g_signal_connect (entry, "changed", (GCallback) entry_text_changed, data); error_quark = g_quark_from_string ("gnome-theme-save"); gtk_widget_set_size_request (text_view, 300, 100); } gtk_entry_set_text (GTK_ENTRY (entry), ""); - entry_text_changed (GTK_EDITABLE (entry), data->xml); + entry_text_changed (GTK_EDITABLE (entry), data); gtk_widget_grab_focus (entry); text_buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (text_view)); gtk_text_buffer_set_text (text_buffer, "", 0); g_object_set_data (G_OBJECT (data->theme_save_dialog), "meta-theme-info", theme_info); gtk_window_set_transient_for (GTK_WINDOW (data->theme_save_dialog), - GTK_WINDOW (glade_xml_get_widget (data->xml, "appearance_window"))); + GTK_WINDOW (appearance_capplet_get_widget (data, "appearance_window"))); gtk_widget_show (data->theme_save_dialog); } -- cgit v1.2.1