Author: jhaitsma Date: Sun Feb 17 13:58:31 2008 New Revision: 513 URL: http://svn.gnome.org/viewvc/cheese?rev=513&view=rev
Log: Drop libglade and use GtkBuilder instead. Yay one dependency less again Added: trunk/data/cheese.ui Modified: trunk/ChangeLog trunk/README trunk/configure.ac trunk/data/Makefile.am trunk/data/wscript_build trunk/src/cheese-thumb-view.c trunk/src/cheese-window.c trunk/wscript Modified: trunk/README ============================================================================== --- trunk/README (original) +++ trunk/README Sun Feb 17 13:58:31 2008 @@ -9,7 +9,6 @@ - glib-2.0 >= 2.15.4 - gobject-2.0 - gtk+-2.0 >= 2.10.0 - - libglade-2.0 >= 2.0.0 - gdk-2.0 - dbus-1 - hal Modified: trunk/configure.ac ============================================================================== --- trunk/configure.ac (original) +++ trunk/configure.ac Sun Feb 17 13:58:31 2008 @@ -57,7 +57,6 @@ GLIB_REQUIRED=2.15.5 GIO_REQUIRED=2.15.5 GTK_REQUIRED=2.10.0 -LIBGLADE_REQUIRED=2.6.0 LIBGNOMEUI_REQUIRED=2.14.0 GCONF_REQUIRED=2.16.0 GSTREAMER_REQUIRED=0.10.15 @@ -74,7 +73,6 @@ gio-2.0 >= $GIO_REQUIRED \ gtk+-2.0 >= $GTK_REQUIRED \ libgnomeui-2.0 >= $LIBGNOMEUI_REQUIRED \ - libglade-2.0 >= $LIBGLADE_REQUIRED \ gconf-2.0 >= $GCONF_REQUIRED \ gstreamer-0.10 >= $GSTREAMER_REQUIRED \ gstreamer-plugins-base-0.10 >= $GSTREAMER_REQUIRED \ Modified: trunk/data/Makefile.am ============================================================================== --- trunk/data/Makefile.am (original) +++ trunk/data/Makefile.am Sun Feb 17 13:58:31 2008 @@ -12,7 +12,7 @@ pkgdata_DATA = \ - cheese.glade \ + cheese.ui \ cheese-ui.xml EXTRA_DIST = \ Added: trunk/data/cheese.ui ============================================================================== --- (empty file) +++ trunk/data/cheese.ui Sun Feb 17 13:58:31 2008 @@ -0,0 +1,331 @@ +<?xml version="1.0"?> +<!--*- mode: xml -*--> +<interface> + <object class="GtkWindow" id="cheese_window"> + <property name="visible">True</property> + <property name="title" translatable="yes">Cheese</property> + <property name="default_width">640</property> + <property name="default_height">670</property> + <property name="icon_name">cheese</property> + <child> + <object class="GtkVBox" id="main_vbox"> + <property name="visible">True</property> + <child> + <placeholder/> + </child> + <child> + <object class="GtkVBox" id="video_vbox"> + <property name="visible">True</property> + <property name="spacing">6</property> + <child> + <object class="GtkNotebook" id="notebook"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> + <property name="show_tabs">False</property> + <property name="show_border">False</property> + <child> + <object class="GtkAspectFrame" id="video_frame"> + <property name="visible">True</property> + <property name="label_xalign">0</property> + <property name="shadow_type">GTK_SHADOW_NONE</property> + <property name="ratio">1.3300000429153442</property> + <property name="obey_child">False</property> + <child> + <object class="GtkDrawingArea" id="video_screen"> + <property name="width_request">320</property> + <property name="height_request">240</property> + <property name="visible">True</property> + </object> + </child> + </object> + </child> + <child type="tab"> + <placeholder/> + </child> + <child> + <object class="GtkAspectFrame" id="effect_frame"> + <property name="visible">True</property> + <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> + <property name="label_xalign">0</property> + <property name="shadow_type">GTK_SHADOW_NONE</property> + <property name="ratio">1.3300000429153442</property> + <property name="obey_child">False</property> + <child> + <placeholder/> + </child> + </object> + </child> + <child> + <object class="GtkAspectFrame" id="throbber_frame"> + <property name="visible">True</property> + <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> + <property name="label_xalign">0</property> + <property name="shadow_type">GTK_SHADOW_NONE</property> + <property name="ratio">1.3300000429153442</property> + <property name="obey_child">False</property> + <child> + <placeholder/> + </child> + </object> + </child> + </object> + </child> + <child> + <object class="GtkNotebook" id="notebook_bar"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> + <property name="show_tabs">False</property> + <property name="show_border">False</property> + <child> + <object class="GtkHBox" id="hbox1"> + <property name="visible">True</property> + <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> + <property name="homogeneous">True</property> + <child> + <object class="GtkAlignment" id="alignment3"> + <property name="visible">True</property> + <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> + <child> + <object class="GtkHBox" id="hbox2"> + <property name="visible">True</property> + <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> + <child> + <object class="GtkToggleButton" id="button_photo"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">True</property> + <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> + <child> + <object class="GtkAlignment" id="alignment4"> + <property name="visible">True</property> + <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> + <child> + <object class="GtkHBox" id="hbox5"> + <property name="visible">True</property> + <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> + <property name="homogeneous">True</property> + <child> + <object class="GtkImage" id="image4"> + <property name="visible">True</property> + <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> + <property name="icon_name">camera-photo</property> + </object> + </child> + <child> + <object class="GtkLabel" id="label_photo"> + <property name="visible">True</property> + <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> + <property name="label" translatable="yes">_Photo</property> + <property name="use_markup">True</property> + <property name="use_underline">True</property> + <property name="mnemonic_widget">button_photo</property> + </object> + <packing> + <property name="position">1</property> + </packing> + </child> + </object> + </child> + </object> + </child> + </object> + </child> + <child> + <object class="GtkToggleButton" id="button_video"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">True</property> + <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> + <child> + <object class="GtkAlignment" id="alignment5"> + <property name="visible">True</property> + <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> + <child> + <object class="GtkHBox" id="hbox6"> + <property name="visible">True</property> + <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> + <property name="homogeneous">True</property> + <child> + <object class="GtkImage" id="image5"> + <property name="visible">True</property> + <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> + <property name="icon_name">camera-video</property> + </object> + </child> + <child> + <object class="GtkLabel" id="label_video"> + <property name="visible">True</property> + <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> + <property name="label" translatable="yes">_Video</property> + <property name="use_markup">True</property> + <property name="use_underline">True</property> + <property name="mnemonic_widget">button_video</property> + </object> + <packing> + <property name="position">1</property> + </packing> + </child> + </object> + </child> + </object> + </child> + </object> + <packing> + <property name="position">1</property> + </packing> + </child> + </object> + </child> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">False</property> + </packing> + </child> + <child> + <object class="GtkButton" id="take_picture"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <child> + <object class="GtkAlignment" id="alignment1"> + <property name="visible">True</property> + <property name="xscale">0</property> + <property name="yscale">0</property> + <child> + <object class="GtkHBox" id="hbox3"> + <property name="visible">True</property> + <property name="spacing">2</property> + <child> + <object class="GtkImage" id="image_take_photo"> + <property name="visible">True</property> + <property name="stock">gtk-media-record</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">False</property> + </packing> + </child> + <child> + <object class="GtkLabel" id="label_take_photo"> + <property name="visible">True</property> + <property name="label" translatable="yes">_Take a photo</property> + <property name="use_markup">True</property> + <property name="use_underline">True</property> + <property name="mnemonic_widget">take_picture</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">False</property> + <property name="position">1</property> + </packing> + </child> + </object> + </child> + </object> + </child> + </object> + <packing> + <property name="expand">False</property> + <property name="padding">16</property> + <property name="position">1</property> + </packing> + </child> + <child> + <object class="GtkButton" id="button_effects"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">True</property> + <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> + <child> + <object class="GtkAlignment" id="alignment2"> + <property name="visible">True</property> + <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> + <child> + <object class="GtkHBox" id="hbox4"> + <property name="visible">True</property> + <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> + <property name="spacing">2</property> + <child> + <object class="GtkImage" id="image2"> + <property name="visible">True</property> + <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> + <property name="icon_name">applications-graphics</property> + </object> + </child> + <child> + <object class="GtkLabel" id="label_effects"> + <property name="visible">True</property> + <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> + <property name="label" translatable="yes">_Effects</property> + <property name="use_markup">True</property> + <property name="use_underline">True</property> + <property name="mnemonic_widget">button_effects</property> + </object> + <packing> + <property name="position">1</property> + </packing> + </child> + </object> + </child> + </object> + </child> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">False</property> + <property name="padding">40</property> + <property name="pack_type">GTK_PACK_END</property> + <property name="position">2</property> + </packing> + </child> + </object> + </child> + <child type="tab"> + <placeholder/> + </child> + <child> + <object class="GtkAlignment" id="countdown_frame"> + <property name="visible">True</property> + <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> + <child> + <placeholder/> + </child> + </object> + </child> + <child type="tab"> + <placeholder/> + </child> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">False</property> + <property name="position">1</property> + </packing> + </child> + <child> + <object class="GtkScrolledWindow" id="thumb_scrollwindow"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> + <property name="vscrollbar_policy">GTK_POLICY_NEVER</property> + <child> + <placeholder/> + </child> + </object> + <packing> + <property name="expand">False</property> + <property name="position">2</property> + </packing> + </child> + </object> + <packing> + <property name="pack_type">GTK_PACK_END</property> + <property name="position">1</property> + </packing> + </child> + </object> + </child> + </object> +</interface> Modified: trunk/data/wscript_build ============================================================================== --- trunk/data/wscript_build (original) +++ trunk/data/wscript_build Sun Feb 17 13:58:31 2008 @@ -14,7 +14,7 @@ env = bld.env() install_files('PACKAGE_DATADIR', '', 'cheese-ui.xml') -install_files('PACKAGE_DATADIR', '', 'cheese.glade') +install_files('PACKAGE_DATADIR', '', 'cheese.ui') install_files('PACKAGE_DATADIR', '', 'cheese-bugreport.sh') # process schemas.in file Modified: trunk/src/cheese-thumb-view.c ============================================================================== --- trunk/src/cheese-thumb-view.c (original) +++ trunk/src/cheese-thumb-view.c Sun Feb 17 13:58:31 2008 @@ -19,14 +19,13 @@ */ #ifdef HAVE_CONFIG_H -#include <cheese-config.h> +#include "cheese-config.h" #endif #include <glib.h> #include <gtk/gtk.h> #include <gio/gio.h> #include <libgnomeui/libgnomeui.h> -#include <glade/glade.h> #include "cheese-fileutil.h" #include "eog-thumbnail.h" Modified: trunk/src/cheese-window.c ============================================================================== --- trunk/src/cheese-window.c (original) +++ trunk/src/cheese-window.c Sun Feb 17 13:58:31 2008 @@ -20,7 +20,7 @@ */ #ifdef HAVE_CONFIG_H -#include <cheese-config.h> +#include "cheese-config.h" #endif #include <string.h> @@ -34,7 +34,6 @@ #include <gst/interfaces/xoverlay.h> #include <gtk/gtk.h> #include <libebook/e-book.h> -#include <glade/glade.h> #include "cheese-countdown.h" #include "cheese-effect-chooser.h" @@ -45,8 +44,7 @@ #include "ephy-spinner.h" #include "gst-audio-play.h" -#define GLADE_FILE PACKAGE_DATADIR"/cheese.glade" -#define UI_FILE PACKAGE_DATADIR"/cheese-ui.xml" + #define SHUTTER_SOUNDS 5 typedef enum @@ -975,50 +973,60 @@ static void cheese_window_create_window (CheeseWindow *cheese_window) { - GladeXML *gxml; GtkWidget *menubar; GError *error=NULL; char *path; + GtkBuilder* builder; + + builder = gtk_builder_new (); + gtk_builder_add_from_file (builder, PACKAGE_DATADIR"/cheese.ui", &error); + + if (error) + { + g_error ("building ui from %s failed: %s", PACKAGE_DATADIR"/cheese.ui", error->message); + g_clear_error (&error); + } + + cheese_window->window = GTK_WIDGET (gtk_builder_get_object (builder, "cheese_window")); + cheese_window->button_effects = GTK_WIDGET (gtk_builder_get_object (builder, "button_effects")); + cheese_window->button_photo = GTK_WIDGET (gtk_builder_get_object (builder, "button_photo")); + cheese_window->button_video = GTK_WIDGET (gtk_builder_get_object (builder, "button_video")); + cheese_window->image_take_photo = GTK_WIDGET (gtk_builder_get_object (builder, "image_take_photo")); + cheese_window->label_effects = GTK_WIDGET (gtk_builder_get_object (builder, "label_effects")); + cheese_window->label_photo = GTK_WIDGET (gtk_builder_get_object (builder, "label_photo")); + cheese_window->label_take_photo = GTK_WIDGET (gtk_builder_get_object (builder, "label_take_photo")); + cheese_window->label_video = GTK_WIDGET (gtk_builder_get_object (builder, "label_video")); + cheese_window->main_vbox = GTK_WIDGET (gtk_builder_get_object (builder, "main_vbox")); + cheese_window->notebook = GTK_WIDGET (gtk_builder_get_object (builder, "notebook")); + cheese_window->notebook_bar = GTK_WIDGET (gtk_builder_get_object (builder, "notebook_bar")); + cheese_window->screen = GTK_WIDGET (gtk_builder_get_object (builder, "video_screen")); + cheese_window->take_picture = GTK_WIDGET (gtk_builder_get_object (builder, "take_picture")); + cheese_window->thumb_scrollwindow = GTK_WIDGET (gtk_builder_get_object (builder, "thumb_scrollwindow")); + cheese_window->throbber_frame = GTK_WIDGET (gtk_builder_get_object (builder, "throbber_frame")); + cheese_window->countdown_frame = GTK_WIDGET (gtk_builder_get_object (builder, "countdown_frame")); + cheese_window->effect_frame = GTK_WIDGET (gtk_builder_get_object (builder, "effect_frame")); - gxml = glade_xml_new (GLADE_FILE, NULL, NULL); - cheese_window->window = glade_xml_get_widget (gxml, "cheese_window"); - cheese_window->button_effects = glade_xml_get_widget (gxml, "button_effects"); - cheese_window->button_photo = glade_xml_get_widget (gxml, "button_photo"); - cheese_window->button_video = glade_xml_get_widget (gxml, "button_video"); - cheese_window->image_take_photo = glade_xml_get_widget (gxml, "image_take_photo"); - cheese_window->label_effects = glade_xml_get_widget (gxml, "label_effects"); - cheese_window->label_photo = glade_xml_get_widget (gxml, "label_photo"); - cheese_window->label_take_photo = glade_xml_get_widget (gxml, "label_take_photo"); - cheese_window->label_video = glade_xml_get_widget (gxml, "label_video"); - cheese_window->main_vbox = glade_xml_get_widget (gxml, "main_vbox"); - cheese_window->notebook = glade_xml_get_widget (gxml, "notebook"); - cheese_window->notebook_bar = glade_xml_get_widget (gxml, "notebook_bar"); - cheese_window->screen = glade_xml_get_widget (gxml, "video_screen"); - cheese_window->take_picture = glade_xml_get_widget (gxml, "take_picture"); + g_object_unref (builder); char *str = g_strconcat ("<b>", _("_Take a photo"), "</b>", NULL); gtk_label_set_text_with_mnemonic (GTK_LABEL (cheese_window->label_take_photo), str); g_free (str); gtk_label_set_use_markup (GTK_LABEL (cheese_window->label_take_photo), TRUE); - cheese_window->thumb_scrollwindow = glade_xml_get_widget (gxml, "thumb_scrollwindow"); - cheese_window->thumb_view = cheese_thumb_view_new (); + cheese_window->thumb_view = cheese_thumb_view_new (); gtk_container_add (GTK_CONTAINER (cheese_window->thumb_scrollwindow), cheese_window->thumb_view); char *gconf_effects; g_object_get (cheese_window->gconf, "gconf_prop_selected_effects", &gconf_effects, NULL); - cheese_window->effect_frame = glade_xml_get_widget (gxml, "effect_frame"); cheese_window->effect_chooser = cheese_effect_chooser_new (gconf_effects); gtk_container_add (GTK_CONTAINER (cheese_window->effect_frame), cheese_window->effect_chooser); g_free (gconf_effects); - cheese_window->throbber_frame = glade_xml_get_widget (gxml, "throbber_frame"); cheese_window->throbber = ephy_spinner_new (); ephy_spinner_set_size (EPHY_SPINNER (cheese_window->throbber), GTK_ICON_SIZE_DIALOG); gtk_container_add (GTK_CONTAINER (cheese_window->throbber_frame), cheese_window->throbber); gtk_widget_show (cheese_window->throbber); - cheese_window->countdown_frame = glade_xml_get_widget (gxml, "countdown_frame"); cheese_window->countdown = cheese_countdown_new (); gtk_container_add (GTK_CONTAINER (cheese_window->countdown_frame), cheese_window->countdown); gtk_widget_show (cheese_window->countdown); @@ -1089,11 +1097,11 @@ gtk_action_group_set_visible (cheese_window->actions_flickr, path != NULL); g_free (path); - gtk_ui_manager_add_ui_from_file (cheese_window->ui_manager, UI_FILE, &error); + gtk_ui_manager_add_ui_from_file (cheese_window->ui_manager, PACKAGE_DATADIR"/cheese-ui.xml", &error); if (error) { - g_critical ("building menus from %s failed: %s", UI_FILE, error->message); + g_critical ("building menus from %s failed: %s", PACKAGE_DATADIR"/cheese-ui.xml", error->message); g_error_free (error); } Modified: trunk/wscript ============================================================================== --- trunk/wscript (original) +++ trunk/wscript Sun Feb 17 13:58:31 2008 @@ -40,7 +40,6 @@ conf.check_pkg('pangocairo', destvar='PANGOCAIRO', vnum='1.18.0', mandatory=True) conf.check_pkg('gdk-2.0', destvar='GDK', vnum='2.12.0', mandatory=True) conf.check_pkg('gtk+-2.0', destvar='GTK', vnum='2.10.0', mandatory=True) - conf.check_pkg('libglade-2.0', destvar='LIBGLADE', vnum='2.0.0', mandatory=True) conf.check_pkg('librsvg-2.0', destvar='LIBRSVG', vnum='2.18.0', mandatory=True) conf.check_pkg('hal', destvar='HAL', vnum='0.5.0', mandatory=True) conf.check_pkg('gstreamer-0.10', destvar='GSTREAMER', vnum='0.10.15', mandatory=True) _______________________________________________ SVN-commits-list mailing list (read only) http://mail.gnome.org/mailman/listinfo/svn-commits-list Want to limit the commits to a few modules? Go to above URL, log in to edit your options and select the modules ('topics') you want. Module maintainer? It is possible to set the reply-to to your development mailing list. Email [EMAIL PROTECTED] if interested.