diff options
| -rw-r--r-- | meta/conf/distro/poky.conf | 2 | ||||
| -rw-r--r-- | meta/packages/puzzles/files/oh-puzzles-owl-menu.patch | 198 | ||||
| -rw-r--r-- | meta/packages/puzzles/oh-puzzles_svn.bb | 3 | 
3 files changed, 201 insertions, 2 deletions
| diff --git a/meta/conf/distro/poky.conf b/meta/conf/distro/poky.conf index 9df93c1d57..b7d6df47a2 100644 --- a/meta/conf/distro/poky.conf +++ b/meta/conf/distro/poky.conf @@ -107,7 +107,7 @@ SRCDATE_tasks = "20070711"  SRCREV_pn-sato-icon-theme = "90"  SRCREV_pn-matchbox-desktop-sato = "76"  SRCREV_pn-evince = "2437" -SRCREV_pn-oh-puzzles = "21" +SRCREV_pn-oh-puzzles = "22"  SRCREV_pn-libowl = "277"  SRCDATE_libxcalibrate = "20070607"  SRCDATE_calibrateproto = "20070607" diff --git a/meta/packages/puzzles/files/oh-puzzles-owl-menu.patch b/meta/packages/puzzles/files/oh-puzzles-owl-menu.patch new file mode 100644 index 0000000000..e280ea81bd --- /dev/null +++ b/meta/packages/puzzles/files/oh-puzzles-owl-menu.patch @@ -0,0 +1,198 @@ +Index: src/gtk.c +=================================================================== +--- src/gtk.c	(revision 22) ++++ src/gtk.c	(working copy) +@@ -28,6 +28,8 @@ + #include <gdk/gdkx.h> + #include <gdk-pixbuf/gdk-pixbuf.h> +  ++#include <owlwindowmenu.h> ++ + #include <librsvg/rsvg.h> +  + #include <X11/Xlib.h> +@@ -1237,6 +1239,7 @@ +     } + } +  ++#if 0 + static void + add_widget (GtkUIManager *merge, + 	    GtkWidget *widget, +@@ -1247,10 +1250,11 @@ +     gtk_box_pack_start (box, widget, FALSE, FALSE, 0); +  +     toplevel = gtk_widget_get_toplevel (GTK_WIDGET (box)); +-    gtk_widget_show_all (toplevel); + } ++#endif +  + static GtkActionEntry toplevel_actions[] = { ++    { "Top", NULL, "" }, +     { "Game", NULL, N_("Game") }, +     { "Settings", NULL, N_("Settings") }, +     { "Help", NULL, N_("Help") }, +@@ -1303,11 +1307,13 @@ + 			frontend *fe) + { +     GString *xml; ++    GError *error = NULL; +     gboolean presets = FALSE; +     GSList *radio_group = NULL; +     int i; +  +-    xml = g_string_new ("<ui><menubar><placeholder name=\"TypePlaceholder\">" ++    xml = g_string_new ("<ui><menubar><menu name=\"TopMenu\" action=\"Top\">" ++			"<placeholder name=\"TypePlaceholder\">" + 			"<menu name=\"SettingsMenu\" action=\"Settings\">"); +  +     for (i = 0; i < midend_num_presets(fe->me); i++) { +@@ -1359,8 +1365,14 @@ + 			 "<menuitem name=\"CustomMenu\" action=\"Custom\"/>"); +     } +      +-    g_string_append (xml, "</menu></placeholder></menubar></ui>"); +-    gtk_ui_manager_add_ui_from_string (merge, xml->str, -1, NULL); ++    g_string_append (xml, "</menu></placeholder></menu></menubar></ui>"); ++ ++    gtk_ui_manager_add_ui_from_string (merge, xml->str, -1, &error); ++    if (error != NULL) { ++	g_warning ("Error adding custom: %s", error->message); ++	g_error_free (error); ++    } ++ +     g_string_free (xml, TRUE); + } +  +@@ -1434,6 +1446,7 @@ + new_window(char *arg, char **error) + { +     frontend *fe; ++    GError *err = NULL; +     GtkBox *vbox; +     GtkUIManager *merge; +     GtkActionGroup *actions; +@@ -1496,8 +1509,6 @@ +     gtk_window_add_accel_group(GTK_WINDOW(fe->window), fe->accelgroup); +  +     merge = gtk_ui_manager_new (); +-    g_signal_connect (G_OBJECT (merge), "add_widget", +-		      G_CALLBACK (add_widget), vbox); +  +     actions = gtk_action_group_new ("PuzzleActions"); +     gtk_action_group_add_actions (actions, toplevel_actions, +@@ -1509,22 +1520,39 @@ +  +     gtk_ui_manager_insert_action_group (merge, actions, 0); +      +-    gtk_ui_manager_add_ui_from_file (merge, DATADIR "/oh-puzzles/ui/menu.xml", NULL); ++    gtk_ui_manager_add_ui_from_file (merge, DATADIR "/oh-puzzles/ui/menu.xml",  ++				     &err); ++    if (err != NULL) { ++	g_warning ("Error making UI: %s", err->message); ++	g_error_free (err); ++	err = NULL; ++    } +  +     if (thegame.can_solve) { +-	    char *str = "<ui><menubar><menu name=\"GameMenu\" action=\"Game\">" ++	char *str = "<ui><menubar><menu name=\"TopMenu\" action=\"Top\">" ++	    "<menu name=\"GameMenu\" action=\"Game\">" + 	    "<placeholder name=\"SolvePlaceholder\">" + 	    "<separator name=\"SolveSep\"/>" + 	    "<menuitem name=\"SolveMenu\" action=\"Solve\"/>" +-	    "</placeholder></menu></menubar></ui>"; ++	    "</placeholder></menu></menu></menubar></ui>"; +  +-	gtk_ui_manager_add_ui_from_string (merge, str, -1, NULL); ++	gtk_ui_manager_add_ui_from_string (merge, str, -1, &err); ++	if (err != NULL) { ++	    g_warning ("Error adding solve. %s", err->message); ++	    g_error_free (err); ++	} +     } +  +     if ((n = midend_num_presets(fe->me)) > 0 || thegame.can_configure) { + 	generate_settings_menu (merge, actions, fe); +     } +  ++    /* Do this so that the menu is packed now instead of in the idle loop */ ++    gtk_ui_manager_ensure_update (merge); ++ ++    owl_set_window_menu_item (GTK_WINDOW (fe->window), ++			      GTK_MENU_ITEM (gtk_ui_manager_get_widget (merge, "/menubar/Top"))); ++     +     setup_colours (fe); +     setup_pixbufs (fe); +  +@@ -1572,7 +1600,7 @@ +                           GDK_BUTTON_RELEASE_MASK | + 			  GDK_BUTTON_MOTION_MASK); +  +-    /* The window is shown once the menubar has been added */ ++    gtk_widget_show_all (fe->window); +     return fe; + } +  +Index: src/menu.xml +=================================================================== +--- src/menu.xml	(revision 22) ++++ src/menu.xml	(working copy) +@@ -1,26 +1,25 @@ + <ui> + <menubar> +-<menu name="GameMenu" action="Game"> +-	<menuitem name="NewMenu" action="New"/> +-	<menuitem name="RestartMenu" action="Restart"/> +-<!--	<menuitem name="SpecificMenu" action="Specific"/> --> +-	<menuitem name="RandomMenu" action="Random"/> +-	<separator name="GameSep1"/> +-	<menuitem name="LoadMenu" action="Load"/> +-	<menuitem name="SaveMenu" action="Save"/> +-	<separator name="GameSep2"/> +-	<menuitem name="UndoMenu" action="Undo"/> +-	<menuitem name="RedoMenu" action="Redo"/> +-	<placeholder name="CopyPlaceholder"/> +-	<placeholder name="SolvePlaceholder"/> +-	<separator name="GameSep3"/> +-	<menuitem name="QuitMenu" action="Quit"/> +-</menu> ++<menu action="Top"> ++	<menu name="GameMenu" action="Game"> ++		<menuitem name="NewMenu" action="New"/> ++		<menuitem name="RestartMenu" action="Restart"/> ++	<!--	<menuitem name="SpecificMenu" action="Specific"/> --> ++		<menuitem name="RandomMenu" action="Random"/> ++		<separator name="GameSep1"/> ++		<menuitem name="LoadMenu" action="Load"/> ++		<menuitem name="SaveMenu" action="Save"/> ++		<separator name="GameSep2"/> ++		<menuitem name="UndoMenu" action="Undo"/> ++		<menuitem name="RedoMenu" action="Redo"/> ++		<placeholder name="CopyPlaceholder"/> ++		<placeholder name="SolvePlaceholder"/> ++	</menu> +  +-<placeholder name="TypePlaceholder"/> +- +-<menu name="HelpMenu" action="Help"> ++	<placeholder name="TypePlaceholder"/> + 	<menuitem name="AboutMenu" action="About"/> ++	<menuitem name="QuitMenu" action="Quit"/> ++ + </menu> + </menubar> + </ui> +Index: src/Makefile.am +=================================================================== +--- src/Makefile.am	(revision 22) ++++ src/Makefile.am	(working copy) +@@ -10,7 +10,7 @@ + 	lightup loopy map mines net netslide pattern pegs rect samegame \ + 	sixteen slant solo tents twiddle untangle +  +-libpuzzles_la_LIBADD = $(PUZZLES_LIBS) ++libpuzzles_la_LIBADD = $(PUZZLES_LIBS) -lowl + libpuzzles_la_SOURCES = combi.c \ + 			configuration.c \ + 			drawing.c \ diff --git a/meta/packages/puzzles/oh-puzzles_svn.bb b/meta/packages/puzzles/oh-puzzles_svn.bb index cf6a9d990e..8f02bf221a 100644 --- a/meta/packages/puzzles/oh-puzzles_svn.bb +++ b/meta/packages/puzzles/oh-puzzles_svn.bb @@ -7,7 +7,8 @@ PR = "r0"  inherit autotools pkgconfig -SRC_URI = "svn://svn.o-hand.com/repos/;module=oh-puzzles;proto=http" +SRC_URI = "svn://svn.o-hand.com/repos/;module=oh-puzzles;proto=http \ +	file://oh-puzzles-owl-menu.patch;patch=1;pnum=0"  S = "${WORKDIR}/${PN}"  do_install_append () { | 
