diff options
author | Benjamin Otte <otte@redhat.com> | 2011-10-13 01:20:46 -0700 |
---|---|---|
committer | Benjamin Otte <otte@redhat.com> | 2011-10-14 00:31:15 -0700 |
commit | 7855806ed806cabe61acd807d6a69b63c6eba45d (patch) | |
tree | e381718932a5566468de7691d80fe292fc5e5857 | |
parent | 3744fb097006ed0f46bc3b02d580e921142bd453 (diff) |
gnome: Convert glade to GtkBuilder
This removes the requirement for libglade.
-rw-r--r-- | configure.ac | 9 | ||||
-rw-r--r-- | po/POTFILES.in | 3 | ||||
-rw-r--r-- | src/gnome/data/Makefile.am | 8 | ||||
-rw-r--r-- | src/gnome/data/connect-multiplayer.glade | 234 | ||||
-rw-r--r-- | src/gnome/data/connect-multiplayer.ui | 219 | ||||
-rw-r--r-- | src/gnome/data/start-multiplayer.glade | 221 | ||||
-rw-r--r-- | src/gnome/data/start-multiplayer.ui | 205 | ||||
-rw-r--r-- | src/gnome/gnome-window.c | 68 | ||||
-rw-r--r-- | tests/Makefile.am | 2 |
9 files changed, 471 insertions, 498 deletions
diff --git a/configure.ac b/configure.ac index cc2f558..64eafb2 100644 --- a/configure.ac +++ b/configure.ac @@ -75,7 +75,6 @@ GAME_CFLAGS="-I\$(top_srcdir)" GAME_LIBS="\$(top_builddir)/libgame/$PACKAGE-$LIBGAME_VERS.la" dnl Gnome Frontend -PKG_CHECK_MODULES(GNOME, libglade-2.0) PKG_CHECK_MODULES(GCONF, gconf-2.0 >= 2.10.0, HAVE_GCONF="yes", HAVE_GCONF="no") AM_CONDITIONAL(HAVE_GCONF, test "x$HAVE_GCONF" = "xyes") if test "x$HAVE_GCONF" = "xyes" @@ -91,12 +90,12 @@ AC_SUBST(GNOME_LIBS) libgame_datadir="${datadir}/libgame" AC_SUBST(libgame_datadir) AC_DEFINE_DIR(LIBGAME_DATADIR, "${libgame_datadir}", [Data Directory]) -gladedir="${datadir}/libgame/glade" -AC_SUBST(gladedir) -AC_DEFINE_DIR(GLADEDIR, "${gladedir}", [Glade Resources Directory]) +uidir="${datadir}/libgame/ui" +AC_SUBST(uidir) +AC_DEFINE_DIR(UIDIR, "${uidir}", [UI file Resources Directory]) HIGHSCOREDIR="${localstatedir}/games/libgame" AC_SUBST(HIGHSCOREDIR) - AC_DEFINE_DIR(HIGHSCOREDIR, "${HIGHSCOREDIR}", [High Scores Directory]) +AC_DEFINE_DIR(HIGHSCOREDIR, "${HIGHSCOREDIR}", [High Scores Directory]) dnl the games GAME_CFLAGS="$GAME_CFLAGS $LIBGAME_CFLAGS" diff --git a/po/POTFILES.in b/po/POTFILES.in index cc54a2e..1a47bc8 100644 --- a/po/POTFILES.in +++ b/po/POTFILES.in @@ -34,7 +34,8 @@ libgame/game-text.c libgame/game-types.c libgame/game-viewport.c libgame/game-xml.c -src/gnome/data/start-multiplayer.glade +src/gnome/data/connect-multiplayer.ui +src/gnome/data/start-multiplayer.ui src/gnome/gnome-board.c src/gnome/gnome-cellrenderercolor.c src/gnome/gnome-cellrendererkeys.c diff --git a/src/gnome/data/Makefile.am b/src/gnome/data/Makefile.am index 69187a5..8f873f6 100644 --- a/src/gnome/data/Makefile.am +++ b/src/gnome/data/Makefile.am @@ -1,6 +1,6 @@ -glade_DATA = \ - connect-multiplayer.glade \ - start-multiplayer.glade +ui_DATA = \ + connect-multiplayer.ui \ + start-multiplayer.ui -EXTRA_DIST = $(glade_DATA) +EXTRA_DIST = $(ui_DATA) diff --git a/src/gnome/data/connect-multiplayer.glade b/src/gnome/data/connect-multiplayer.glade deleted file mode 100644 index a6d851d..0000000 --- a/src/gnome/data/connect-multiplayer.glade +++ /dev/null @@ -1,234 +0,0 @@ -<?xml version="1.0" standalone="no"?> <!--*- mode: xml -*--> -<!DOCTYPE glade-interface SYSTEM "http://glade.gnome.org/glade-2.0.dtd"> - -<glade-interface> - -<widget class="GtkDialog" id="dialog"> - <property name="visible">True</property> - <property name="title" translatable="yes">Connect to Game</property> - <property name="type">GTK_WINDOW_TOPLEVEL</property> - <property name="window_position">GTK_WIN_POS_NONE</property> - <property name="modal">False</property> - <property name="resizable">True</property> - <property name="destroy_with_parent">False</property> - <property name="icon_name">gtk-network</property> - <property name="decorated">True</property> - <property name="skip_taskbar_hint">False</property> - <property name="skip_pager_hint">False</property> - <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property> - <property name="gravity">GDK_GRAVITY_NORTH_WEST</property> - <property name="focus_on_map">True</property> - <property name="urgency_hint">False</property> - <property name="has_separator">True</property> - - <child internal-child="vbox"> - <widget class="GtkVBox" id="dialog-vbox1"> - <property name="visible">True</property> - <property name="homogeneous">False</property> - <property name="spacing">0</property> - - <child internal-child="action_area"> - <widget class="GtkHButtonBox" id="dialog-action_area1"> - <property name="visible">True</property> - <property name="layout_style">GTK_BUTTONBOX_END</property> - - <child> - <widget class="GtkButton" id="button1"> - <property name="visible">True</property> - <property name="can_default">True</property> - <property name="can_focus">True</property> - <property name="label">gtk-cancel</property> - <property name="use_stock">True</property> - <property name="relief">GTK_RELIEF_NORMAL</property> - <property name="focus_on_click">True</property> - <property name="response_id">-6</property> - </widget> - </child> - - <child> - <widget class="GtkButton" id="button2"> - <property name="visible">True</property> - <property name="can_default">True</property> - <property name="has_default">True</property> - <property name="can_focus">True</property> - <property name="relief">GTK_RELIEF_NORMAL</property> - <property name="focus_on_click">True</property> - <property name="response_id">-3</property> - - <child> - <widget class="GtkAlignment" id="alignment1"> - <property name="visible">True</property> - <property name="xalign">0.5</property> - <property name="yalign">0.5</property> - <property name="xscale">0</property> - <property name="yscale">0</property> - <property name="top_padding">0</property> - <property name="bottom_padding">0</property> - <property name="left_padding">0</property> - <property name="right_padding">0</property> - - <child> - <widget class="GtkHBox" id="hbox1"> - <property name="visible">True</property> - <property name="homogeneous">False</property> - <property name="spacing">2</property> - - <child> - <widget class="GtkImage" id="image1"> - <property name="visible">True</property> - <property name="stock">gtk-network</property> - <property name="icon_size">4</property> - <property name="xalign">0.5</property> - <property name="yalign">0.5</property> - <property name="xpad">0</property> - <property name="ypad">0</property> - </widget> - <packing> - <property name="padding">0</property> - <property name="expand">False</property> - <property name="fill">False</property> - </packing> - </child> - - <child> - <widget class="GtkLabel" id="label1"> - <property name="visible">True</property> - <property name="label" translatable="yes">_Connect</property> - <property name="use_underline">True</property> - <property name="use_markup">False</property> - <property name="justify">GTK_JUSTIFY_LEFT</property> - <property name="wrap">False</property> - <property name="selectable">False</property> - <property name="xalign">0.5</property> - <property name="yalign">0.5</property> - <property name="xpad">0</property> - <property name="ypad">0</property> - <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> - <property name="width_chars">-1</property> - <property name="single_line_mode">False</property> - <property name="angle">0</property> - </widget> - <packing> - <property name="padding">0</property> - <property name="expand">False</property> - <property name="fill">False</property> - </packing> - </child> - </widget> - </child> - </widget> - </child> - </widget> - </child> - </widget> - <packing> - <property name="padding">0</property> - <property name="expand">False</property> - <property name="fill">True</property> - <property name="pack_type">GTK_PACK_END</property> - </packing> - </child> - - <child> - <widget class="GtkAlignment" id="alignment2"> - <property name="visible">True</property> - <property name="xalign">0.5</property> - <property name="yalign">0.5</property> - <property name="xscale">0</property> - <property name="yscale">0</property> - <property name="top_padding">0</property> - <property name="bottom_padding">0</property> - <property name="left_padding">0</property> - <property name="right_padding">0</property> - - <child> - <widget class="GtkVBox" id="vbox1"> - <property name="visible">True</property> - <property name="homogeneous">False</property> - <property name="spacing">0</property> - - <child> - <widget class="GtkHBox" id="hbox2"> - <property name="visible">True</property> - <property name="homogeneous">False</property> - <property name="spacing">6</property> - - <child> - <widget class="GtkLabel" id="label2"> - <property name="visible">True</property> - <property name="label" translatable="yes">Enter address to connect to:</property> - <property name="use_underline">False</property> - <property name="use_markup">False</property> - <property name="justify">GTK_JUSTIFY_RIGHT</property> - <property name="wrap">False</property> - <property name="selectable">False</property> - <property name="xalign">1</property> - <property name="yalign">0.5</property> - <property name="xpad">0</property> - <property name="ypad">0</property> - <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> - <property name="width_chars">-1</property> - <property name="single_line_mode">False</property> - <property name="angle">0</property> - </widget> - <packing> - <property name="padding">0</property> - <property name="expand">False</property> - <property name="fill">False</property> - </packing> - </child> - - <child> - <widget class="GtkEntry" id="entry"> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="editable">True</property> - <property name="visibility">True</property> - <property name="max_length">0</property> - <property name="text" translatable="yes">localhost</property> - <property name="has_frame">True</property> - <property name="invisible_char">*</property> - <property name="activates_default">True</property> - </widget> - <packing> - <property name="padding">0</property> - <property name="expand">True</property> - <property name="fill">True</property> - <property name="pack_type">GTK_PACK_END</property> - </packing> - </child> - </widget> - <packing> - <property name="padding">0</property> - <property name="expand">True</property> - <property name="fill">True</property> - </packing> - </child> - - <child> - <widget class="GtkProgressBar" id="progress"> - <property name="orientation">GTK_PROGRESS_LEFT_TO_RIGHT</property> - <property name="fraction">0</property> - <property name="pulse_step">0.10000000149</property> - <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> - </widget> - <packing> - <property name="padding">0</property> - <property name="expand">False</property> - <property name="fill">False</property> - </packing> - </child> - </widget> - </child> - </widget> - <packing> - <property name="padding">0</property> - <property name="expand">True</property> - <property name="fill">True</property> - </packing> - </child> - </widget> - </child> -</widget> - -</glade-interface> diff --git a/src/gnome/data/connect-multiplayer.ui b/src/gnome/data/connect-multiplayer.ui new file mode 100644 index 0000000..4f1dfb5 --- /dev/null +++ b/src/gnome/data/connect-multiplayer.ui @@ -0,0 +1,219 @@ +<?xml version="1.0"?> +<!--*- mode: xml -*--> +<interface> + <object class="GtkDialog" id="dialog"> + <property name="visible">True</property> + <property name="title" translatable="yes">Connect to Game</property> + <property name="type">GTK_WINDOW_TOPLEVEL</property> + <property name="window_position">GTK_WIN_POS_NONE</property> + <property name="modal">False</property> + <property name="resizable">True</property> + <property name="destroy_with_parent">False</property> + <property name="icon_name">gtk-network</property> + <property name="decorated">True</property> + <property name="skip_taskbar_hint">False</property> + <property name="skip_pager_hint">False</property> + <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property> + <property name="gravity">GDK_GRAVITY_NORTH_WEST</property> + <property name="focus_on_map">True</property> + <property name="urgency_hint">False</property> + <property name="has_separator">True</property> + <child internal-child="vbox"> + <object class="GtkVBox" id="dialog-vbox1"> + <property name="visible">True</property> + <property name="homogeneous">False</property> + <property name="spacing">0</property> + <child internal-child="action_area"> + <object class="GtkHButtonBox" id="dialog-action_area1"> + <property name="visible">True</property> + <property name="layout_style">GTK_BUTTONBOX_END</property> + <child> + <object class="GtkButton" id="button1"> + <property name="visible">True</property> + <property name="can_default">True</property> + <property name="can_focus">True</property> + <property name="label">gtk-cancel</property> + <property name="use_stock">True</property> + <property name="relief">GTK_RELIEF_NORMAL</property> + <property name="focus_on_click">True</property> + </object> + </child> + <child> + <object class="GtkButton" id="button2"> + <property name="visible">True</property> + <property name="can_default">True</property> + <property name="has_default">True</property> + <property name="can_focus">True</property> + <property name="relief">GTK_RELIEF_NORMAL</property> + <property name="focus_on_click">True</property> + <child> + <object class="GtkAlignment" id="alignment1"> + <property name="visible">True</property> + <property name="xalign">0.5</property> + <property name="yalign">0.5</property> + <property name="xscale">0</property> + <property name="yscale">0</property> + <property name="top_padding">0</property> + <property name="bottom_padding">0</property> + <property name="left_padding">0</property> + <property name="right_padding">0</property> + <child> + <object class="GtkHBox" id="hbox1"> + <property name="visible">True</property> + <property name="homogeneous">False</property> + <property name="spacing">2</property> + <child> + <object class="GtkImage" id="image1"> + <property name="visible">True</property> + <property name="stock">gtk-network</property> + <property name="icon_size">4</property> + <property name="xalign">0.5</property> + <property name="yalign">0.5</property> + <property name="xpad">0</property> + <property name="ypad">0</property> + </object> + <packing> + <property name="padding">0</property> + <property name="expand">False</property> + <property name="fill">False</property> + </packing> + </child> + <child> + <object class="GtkLabel" id="label1"> + <property name="visible">True</property> + <property name="label" translatable="yes">_Connect</property> + <property name="use_underline">True</property> + <property name="use_markup">False</property> + <property name="justify">GTK_JUSTIFY_LEFT</property> + <property name="wrap">False</property> + <property name="selectable">False</property> + <property name="xalign">0.5</property> + <property name="yalign">0.5</property> + <property name="xpad">0</property> + <property name="ypad">0</property> + <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> + <property name="width_chars">-1</property> + <property name="single_line_mode">False</property> + <property name="angle">0</property> + </object> + <packing> + <property name="padding">0</property> + <property name="expand">False</property> + <property name="fill">False</property> + </packing> + </child> + </object> + </child> + </object> + </child> + </object> + </child> + </object> + <packing> + <property name="padding">0</property> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="pack_type">GTK_PACK_END</property> + </packing> + </child> + <child> + <object class="GtkAlignment" id="alignment2"> + <property name="visible">True</property> + <property name="xalign">0.5</property> + <property name="yalign">0.5</property> + <property name="xscale">0</property> + <property name="yscale">0</property> + <property name="top_padding">0</property> + <property name="bottom_padding">0</property> + <property name="left_padding">0</property> + <property name="right_padding">0</property> + <child> + <object class="GtkVBox" id="vbox1"> + <property name="visible">True</property> + <property name="homogeneous">False</property> + <property name="spacing">0</property> + <child> + <object class="GtkHBox" id="hbox2"> + <property name="visible">True</property> + <property name="homogeneous">False</property> + <property name="spacing">6</property> + <child> + <object class="GtkLabel" id="label2"> + <property name="visible">True</property> + <property name="label" translatable="yes">Enter address to connect to:</property> + <property name="use_underline">False</property> + <property name="use_markup">False</property> + <property name="justify">GTK_JUSTIFY_RIGHT</property> + <property name="wrap">False</property> + <property name="selectable">False</property> + <property name="xalign">1</property> + <property name="yalign">0.5</property> + <property name="xpad">0</property> + <property name="ypad">0</property> + <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> + <property name="width_chars">-1</property> + <property name="single_line_mode">False</property> + <property name="angle">0</property> + </object> + <packing> + <property name="padding">0</property> + <property name="expand">False</property> + <property name="fill">False</property> + </packing> + </child> + <child> + <object class="GtkEntry" id="entry"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="editable">True</property> + <property name="visibility">True</property> + <property name="max_length">0</property> + <property name="text" translatable="yes">localhost</property> + <property name="has_frame">True</property> + <property name="invisible_char">*</property> + <property name="activates_default">True</property> + </object> + <packing> + <property name="padding">0</property> + <property name="expand">True</property> + <property name="fill">True</property> + <property name="pack_type">GTK_PACK_END</property> + </packing> + </child> + </object> + <packing> + <property name="padding">0</property> + <property name="expand">True</property> + <property name="fill">True</property> + </packing> + </child> + <child> + <object class="GtkProgressBar" id="progress"> + <property name="orientation">GTK_PROGRESS_LEFT_TO_RIGHT</property> + <property name="fraction">0</property> + <property name="pulse_step">0.10000000149</property> + <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> + </object> + <packing> + <property name="padding">0</property> + <property name="expand">False</property> + <property name="fill">False</property> + </packing> + </child> + </object> + </child> + </object> + <packing> + <property name="padding">0</property> + <property name="expand">True</property> + <property name="fill">True</property> + </packing> + </child> + </object> + </child> + <action-widgets> + <action-widget response="-6">button1</action-widget> + <action-widget response="-3">button2</action-widget> + </action-widgets> + </object> +</interface> diff --git a/src/gnome/data/start-multiplayer.glade b/src/gnome/data/start-multiplayer.glade deleted file mode 100644 index 6813dcf..0000000 --- a/src/gnome/data/start-multiplayer.glade +++ /dev/null @@ -1,221 +0,0 @@ -<?xml version="1.0" standalone="no"?> <!--*- mode: xml -*--> -<!DOCTYPE glade-interface SYSTEM "http://glade.gnome.org/glade-2.0.dtd"> - -<glade-interface> - -<widget class="GtkDialog" id="dialog"> - <property name="visible">True</property> - <property name="title" translatable="yes">Start Multiplayer Game</property> - <property name="type">GTK_WINDOW_TOPLEVEL</property> - <property name="window_position">GTK_WIN_POS_NONE</property> - <property name="modal">False</property> - <property name="default_width">400</property> - <property name="default_height">300</property> - <property name="resizable">True</property> - <property name="destroy_with_parent">False</property> - <property name="icon_name">gtk-network</property> - <property name="decorated">True</property> - <property name="skip_taskbar_hint">False</property> - <property name="skip_pager_hint">False</property> - <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property> - <property name="gravity">GDK_GRAVITY_NORTH_WEST</property> - <property name="focus_on_map">True</property> - <property name="urgency_hint">False</property> - <property name="has_separator">True</property> - - <child internal-child="vbox"> - <widget class="GtkVBox" id="dialog-vbox1"> - <property name="visible">True</property> - <property name="homogeneous">False</property> - <property name="spacing">0</property> - - <child internal-child="action_area"> - <widget class="GtkHButtonBox" id="dialog-action_area1"> - <property name="visible">True</property> - <property name="layout_style">GTK_BUTTONBOX_END</property> - - <child> - <widget class="GtkButton" id="button1"> - <property name="visible">True</property> - <property name="can_default">True</property> - <property name="can_focus">True</property> - <property name="label">gtk-cancel</property> - <property name="use_stock">True</property> - <property name="relief">GTK_RELIEF_NORMAL</property> - <property name="focus_on_click">True</property> - <property name="response_id">-6</property> - </widget> - </child> - - <child> - <widget class="GtkButton" id="start"> - <property name="visible">True</property> - <property name="can_default">True</property> - <property name="has_default">True</property> - <property name="can_focus">True</property> - <property name="relief">GTK_RELIEF_NORMAL</property> - <property name="focus_on_click">True</property> - <property name="response_id">-3</property> - - <child> - <widget class="GtkAlignment" id="alignment1"> - <property name="visible">True</property> - <property name="xalign">0.5</property> - <property name="yalign">0.5</property> - <property name="xscale">0</property> - <property name="yscale">0</property> - <property name="top_padding">0</property> - <property name="bottom_padding">0</property> - <property name="left_padding">0</property> - <property name="right_padding">0</property> - - <child> - <widget class="GtkHBox" id="hbox1"> - <property name="visible">True</property> - <property name="homogeneous">False</property> - <property name="spacing">2</property> - - <child> - <widget class="GtkImage" id="image1"> - <property name="visible">True</property> - <property name="stock">gtk-media-play</property> - <property name="icon_size">4</property> - <property name="xalign">0.5</property> - <property name="yalign">0.5</property> - <property name="xpad">0</property> - <property name="ypad">0</property> - </widget> - <packing> - <property name="padding">0</property> - <property name="expand">False</property> - <property name="fill">False</property> - </packing> - </child> - - <child> - <widget class="GtkLabel" id="label1"> - <property name="visible">True</property> - <property name="label" translatable="yes">_Start Game</property> - <property name="use_underline">True</property> - <property name="use_markup">False</property> - <property name="justify">GTK_JUSTIFY_LEFT</property> - <property name="wrap">False</property> - <property name="selectable">False</property> - <property name="xalign">0.5</property> - <property name="yalign">0.5</property> - <property name="xpad">0</property> - <property name="ypad">0</property> - <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> - <property name="width_chars">-1</property> - <property name="single_line_mode">False</property> - <property name="angle">0</property> - </widget> - <packing> - <property name="padding">0</property> - <property name="expand">False</property> - <property name="fill">False</property> - </packing> - </child> - </widget> - </child> - </widget> - </child> - </widget> - </child> - </widget> - <packing> - <property name="padding">0</property> - <property name="expand">False</property> - <property name="fill">True</property> - <property name="pack_type">GTK_PACK_END</property> - </packing> - </child> - - <child> - <widget class="GtkHBox" id="hbox2"> - <property name="visible">True</property> - <property name="homogeneous">False</property> - <property name="spacing">6</property> - - <child> - <widget class="GtkScrolledWindow" id="scrolledwindow1"> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property> - <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property> - <property name="shadow_type">GTK_SHADOW_IN</property> - <property name="window_placement">GTK_CORNER_TOP_LEFT</property> - - <child> - <widget class="GtkTreeView" id="players"> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="headers_visible">True</property> - <property name="rules_hint">False</property> - <property name="reorderable">False</property> - <property name="enable_search">True</property> - <property name="fixed_height_mode">False</property> - <property name="hover_selection">False</property> - <property name="hover_expand">False</property> - </widget> - </child> - </widget> - <packing> - <property name="padding">0</property> - <property name="expand">True</property> - <property name="fill">True</property> - </packing> - </child> - - <child> - <widget class="GtkVBox" id="vbox1"> - <property name="visible">True</property> - <property name="homogeneous">False</property> - <property name="spacing">0</property> - - <child> - <widget class="GtkCheckButton" id="networkgame"> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="label" translatable="yes">Network Game</property> - <property name="use_underline">True</property> - <property name="relief">GTK_RELIEF_NORMAL</property> - <property name="focus_on_click">True</property> - <property name="active">True</property> - <property name="inconsistent">False</property> - <property name="draw_indicator">True</property> - </widget> - <packing> - <property name="padding">0</property> - <property name="expand">False</property> - <property name="fill">False</property> - <property name="pack_type">GTK_PACK_END</property> - </packing> - </child> - - <child> - <placeholder/> - </child> - - <child> - <placeholder/> - </child> - </widget> - <packing> - <property name="padding">0</property> - <property name="expand">False</property> - <property name="fill">False</property> - </packing> - </child> - </widget> - <packing> - <property name="padding">0</property> - <property name="expand">True</property> - <property name="fill">True</property> - </packing> - </child> - </widget> - </child> -</widget> - -</glade-interface> diff --git a/src/gnome/data/start-multiplayer.ui b/src/gnome/data/start-multiplayer.ui new file mode 100644 index 0000000..6fadb5f --- /dev/null +++ b/src/gnome/data/start-multiplayer.ui @@ -0,0 +1,205 @@ +<?xml version="1.0"?> +<!--*- mode: xml -*--> +<interface> + <object class="GtkDialog" id="dialog"> + <property name="visible">True</property> + <property name="title" translatable="yes">Start Multiplayer Game</property> + <property name="type">GTK_WINDOW_TOPLEVEL</property> + <property name="window_position">GTK_WIN_POS_NONE</property> + <property name="modal">False</property> + <property name="default_width">400</property> + <property name="default_height">300</property> + <property name="resizable">True</property> + <property name="destroy_with_parent">False</property> + <property name="icon_name">gtk-network</property> + <property name="decorated">True</property> + <property name="skip_taskbar_hint">False</property> + <property name="skip_pager_hint">False</property> + <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property> + <property name="gravity">GDK_GRAVITY_NORTH_WEST</property> + <property name="focus_on_map">True</property> + <property name="urgency_hint">False</property> + <property name="has_separator">True</property> + <child internal-child="vbox"> + <object class="GtkVBox" id="dialog-vbox1"> + <property name="visible">True</property> + <property name="homogeneous">False</property> + <property name="spacing">0</property> + <child internal-child="action_area"> + <object class="GtkHButtonBox" id="dialog-action_area1"> + <property name="visible">True</property> + <property name="layout_style">GTK_BUTTONBOX_END</property> + <child> + <object class="GtkButton" id="button1"> + <property name="visible">True</property> + <property name="can_default">True</property> + <property name="can_focus">True</property> + <property name="label">gtk-cancel</property> + <property name="use_stock">True</property> + <property name="relief">GTK_RELIEF_NORMAL</property> + <property name="focus_on_click">True</property> + </object> + </child> + <child> + <object class="GtkButton" id="start"> + <property name="visible">True</property> + <property name="can_default">True</property> + <property name="has_default">True</property> + <property name="can_focus">True</property> + <property name="relief">GTK_RELIEF_NORMAL</property> + <property name="focus_on_click">True</property> + <child> + <object class="GtkAlignment" id="alignment1"> + <property name="visible">True</property> + <property name="xalign">0.5</property> + <property name="yalign">0.5</property> + <property name="xscale">0</property> + <property name="yscale">0</property> + <property name="top_padding">0</property> + <property name="bottom_padding">0</property> + <property name="left_padding">0</property> + <property name="right_padding">0</property> + <child> + <object class="GtkHBox" id="hbox1"> + <property name="visible">True</property> + <property name="homogeneous">False</property> + <property name="spacing">2</property> + <child> + <object class="GtkImage" id="image1"> + <property name="visible">True</property> + <property name="stock">gtk-media-play</property> + <property name="icon_size">4</property> + <property name="xalign">0.5</property> + <property name="yalign">0.5</property> + <property name="xpad">0</property> + <property name="ypad">0</property> + </object> + <packing> + <property name="padding">0</property> + <property name="expand">False</property> + <property name="fill">False</property> + </packing> + </child> + <child> + <object class="GtkLabel" id="label1"> + <property name="visible">True</property> + <property name="label" translatable="yes">_Start Game</property> + <property name="use_underline">True</property> + <property name="use_markup">False</property> + <property name="justify">GTK_JUSTIFY_LEFT</property> + <property name="wrap">False</property> + <property name="selectable">False</property> + <property name="xalign">0.5</property> + <property name="yalign">0.5</property> + <property name="xpad">0</property> + <property name="ypad">0</property> + <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> + <property name="width_chars">-1</property> + <property name="single_line_mode">False</property> + <property name="angle">0</property> + </object> + <packing> + <property name="padding">0</property> + <property name="expand">False</property> + <property name="fill">False</property> + </packing> + </child> + </object> + </child> + </object> + </child> + </object> + </child> + </object> + <packing> + <property name="padding">0</property> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="pack_type">GTK_PACK_END</property> + </packing> + </child> + <child> + <object class="GtkHBox" id="hbox2"> + <property name="visible">True</property> + <property name="homogeneous">False</property> + <property name="spacing">6</property> + <child> + <object class="GtkScrolledWindow" id="scrolledwindow1"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property> + <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property> + <property name="shadow_type">GTK_SHADOW_IN</property> + <property name="window_placement">GTK_CORNER_TOP_LEFT</property> + <child> + <object class="GtkTreeView" id="players"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="headers_visible">True</property> + <property name="rules_hint">False</property> + <property name="reorderable">False</property> + <property name="enable_search">True</property> + <property name="fixed_height_mode">False</property> + <property name="hover_selection">False</property> + <property name="hover_expand">False</property> + </object> + </child> + </object> + <packing> + <property name="padding">0</property> + <property name="expand">True</property> + <property name="fill">True</property> + </packing> + </child> + <child> + <object class="GtkVBox" id="vbox1"> + <property name="visible">True</property> + <property name="homogeneous">False</property> + <property name="spacing">0</property> + <child> + <object class="GtkCheckButton" id="networkgame"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="label" translatable="yes">Network Game</property> + <property name="use_underline">True</property> + <property name="relief">GTK_RELIEF_NORMAL</property> + <property name="focus_on_click">True</property> + <property name="active">True</property> + <property name="inconsistent">False</property> + <property name="draw_indicator">True</property> + </object> + <packing> + <property name="padding">0</property> + <property name="expand">False</property> + <property name="fill">False</property> + <property name="pack_type">GTK_PACK_END</property> + </packing> + </child> + <child> + <placeholder/> + </child> + <child> + <placeholder/> + </child> + </object> + <packing> + <property name="padding">0</property> + <property name="expand">False</property> + <property name="fill">False</property> + </packing> + </child> + </object> + <packing> + <property name="padding">0</property> + <property name="expand">True</property> + <property name="fill">True</property> + </packing> + </child> + </object> + </child> + <action-widgets> + <action-widget response="-6">button1</action-widget> + <action-widget response="-3">start</action-widget> + </action-widgets> + </object> +</interface> diff --git a/src/gnome/gnome-window.c b/src/gnome/gnome-window.c index 6f3d09f..6db1656 100644 --- a/src/gnome/gnome-window.c +++ b/src/gnome/gnome-window.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2003 Benjamin Otte <otte@gnome.org> + * Copyright (C) 2003,2011 Benjamin Otte <otte@gnome.org> * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -28,7 +28,6 @@ #include <string.h> #include <libgame/libgame.h> #include <libgame/knot/knot.h> -#include <glade/glade-xml.h> #include "gnome-board.h" #include "gnome-cellrenderercolor.h" @@ -341,29 +340,34 @@ multiplayer_notify_cb (GameNetworkMatch *match, GParamSpec *pspec, GtkDialog *di } } -static GladeXML * -open_glade_xml (const char *filename) +static GtkBuilder * +open_builder (const char *filename) { char *path; - GladeXML *xml; + GtkBuilder *builder; + GError *error = NULL; #ifdef G_OS_WIN32 char *dir; dir = g_win32_get_package_installation_subdirectory ("libgame", "libgame", "data"); - path = g_build_filename (dir, "glade", filename, NULL); + path = g_build_filename (dir, "ui", filename, NULL); g_free (dir); #else - path = g_build_filename (GLADEDIR, filename, NULL); + path = g_build_filename (UIDIR, filename, NULL); #endif - xml = glade_xml_new (path, NULL, NULL); - - if (!xml) - g_warning ("failed to load Glade file %s, which was expected at \"%s\"", - filename, path); + + builder = gtk_builder_new (); + + if (!gtk_builder_add_from_file (builder, path, &error)) + { + g_warning ("failed to load Glade file %s, which was expected at \"%s\": %s", + filename, path, error->message); + g_error_free (error); + } g_free (path); - return xml; + return builder; } static void @@ -381,16 +385,16 @@ create_multiplayer_window (GameGnomeWindow *window, GameMatch *match) GtkWidget *widget; GtkTreeView *tree; GameGnomeMatch *model; - GladeXML *xml; + GtkBuilder *builder; g_assert (window->window_multiplayer == NULL); g_assert (GAME_IS_NETWORK_MATCH (match)); - xml = open_glade_xml ("start-multiplayer.glade"); - if (!xml) + builder = open_builder ("start-multiplayer.ui"); + if (!builder) return; g_object_set (match, "networked", TRUE, NULL); - window->window_multiplayer = glade_xml_get_widget (xml, "dialog"); + window->window_multiplayer = GTK_WIDGET (gtk_builder_get_object (builder, "dialog")); g_signal_connect (window->window_multiplayer, "response", G_CALLBACK (callback_host_response), window); model = game_gnome_match_new (match); @@ -398,10 +402,10 @@ create_multiplayer_window (GameGnomeWindow *window, GameMatch *match) g_object_set_data_full (G_OBJECT (window->window_multiplayer), "game-match", match, g_object_unref); - tree = GTK_TREE_VIEW (glade_xml_get_widget (xml, "players")); + tree = GTK_TREE_VIEW (gtk_builder_get_object (builder, "players")); callback_host_populate_treeview (tree, GTK_TREE_MODEL (model)); - widget = glade_xml_get_widget (xml, "networkgame"); + widget = GTK_WIDGET (gtk_builder_get_object (builder, "networkgame")); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (widget), GAME_NETWORK_MATCH (match)->networked); knot_knot_create_for_properties (match, "networked", widget, "active"); @@ -410,10 +414,10 @@ create_multiplayer_window (GameGnomeWindow *window, GameMatch *match) window->window_multiplayer); g_object_weak_ref (G_OBJECT (window->window_multiplayer), remove_match_callbacks, match); - widget = glade_xml_get_widget (xml, "start"); + widget = GTK_WIDGET (gtk_builder_get_object (builder, "start")); gtk_widget_set_sensitive (widget, GAME_NETWORK_MATCH (match)->host); - g_object_unref (xml); + g_object_unref (builder); g_signal_connect (window->window_multiplayer, "delete-event", G_CALLBACK (gtk_widget_hide_on_delete), NULL); gtk_widget_show (window->window_multiplayer); @@ -449,8 +453,8 @@ remove_notify_signal (gpointer match, GObject *dialog) static void callback_client_cancel_connect (GtkWidget *dialog) { - GladeXML *xml = g_object_get_data (G_OBJECT (dialog), "xml"); - GtkWidget *progress = glade_xml_get_widget (xml, "progress"); + GtkBuilder *builder = g_object_get_data (G_OBJECT (dialog), "builder"); + GtkWidget *progress = GTK_WIDGET (gtk_builder_get_object (builder, "progress")); GameMatch *match; match = g_object_steal_data (G_OBJECT (dialog), "match"); @@ -492,9 +496,9 @@ callback_client_response (GtkWidget *dialog, gint response, GameGnomeWindow *win if (response == GTK_RESPONSE_ACCEPT) { GameMatch *match; GSource *source; - GladeXML *xml = g_object_get_data (G_OBJECT (dialog), "xml"); - GtkWidget *entry = glade_xml_get_widget (xml, "entry"); - GtkWidget *progress = glade_xml_get_widget (xml, "progress"); + GtkBuilder *builder = g_object_get_data (G_OBJECT (dialog), "builder"); + GtkWidget *entry = GTK_WIDGET (gtk_builder_get_object (builder, "entry")); + GtkWidget *progress = GTK_WIDGET (gtk_builder_get_object (builder, "progress")); callback_client_cancel_connect (dialog); /* add new text to the list */ @@ -549,7 +553,7 @@ set_strv_entry_completion (GtkEntry *entry, GameGnomeState *state, const char *p static void callback_client (GtkAction *action, GameGnomeWindow *window) { - GladeXML *xml; + GtkBuilder *builder; GtkWidget *entry; if (window->window_multiplayer != NULL) { @@ -562,15 +566,15 @@ callback_client (GtkAction *action, GameGnomeWindow *window) return; } - xml = open_glade_xml ("connect-multiplayer.glade"); - if (!xml) + builder = open_builder ("connect-multiplayer.ui"); + if (!builder) return; - window->window_client = glade_xml_get_widget (xml, "dialog"); + window->window_client = GTK_WIDGET (gtk_builder_get_object (builder, "dialog")); g_signal_connect (window->window_client, "response", G_CALLBACK (callback_client_response), window); - g_object_set_data_full (G_OBJECT (window->window_client), "xml", xml, + g_object_set_data_full (G_OBJECT (window->window_client), "builder", builder, g_object_unref); - entry = glade_xml_get_widget (xml, "entry"); + entry = GTK_WIDGET (gtk_builder_get_object (builder, "entry")); set_strv_entry_completion (GTK_ENTRY (entry), window->state, "/network-locations"); gtk_widget_show (window->window_client); diff --git a/tests/Makefile.am b/tests/Makefile.am index 7378be5..76d5387 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -1,4 +1,4 @@ -noinst_PROGRAMS = view text idle-client +check_PROGRAMS = view text idle-client INCLUDES = $(LIBGAME_CFLAGS) $(GAME_CFLAGS) -I$(top_srcdir) LIBS = $(LIBGAME_LIBS) $(GAME_LIBS) |