summaryrefslogtreecommitdiff
path: root/meta/packages/pcmanfm/files/owl-window-menu.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta/packages/pcmanfm/files/owl-window-menu.patch')
-rw-r--r--meta/packages/pcmanfm/files/owl-window-menu.patch112
1 files changed, 68 insertions, 44 deletions
diff --git a/meta/packages/pcmanfm/files/owl-window-menu.patch b/meta/packages/pcmanfm/files/owl-window-menu.patch
index d11140cf4..f3d4e61a2 100644
--- a/meta/packages/pcmanfm/files/owl-window-menu.patch
+++ b/meta/packages/pcmanfm/files/owl-window-menu.patch
@@ -1,56 +1,80 @@
-Index: pcmanfm-0.5/configure.in
+0.9.7 use a new menu bar from gtk_ui_manager, so need a translation here to
+enable owl menu
+
+Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
+
+Index: pcmanfm-0.9.7/configure.ac
===================================================================
---- pcmanfm-0.5.orig/configure.in
-+++ pcmanfm-0.5/configure.in
-@@ -25,6 +25,12 @@
- gtk_modules="gtk+-2.0 >= 2.6.0 \
- gthread-2.0"
+--- pcmanfm-0.9.7.orig/configure.ac 2010-07-27 10:28:12.000000000 +0800
++++ pcmanfm-0.9.7/configure.ac 2010-07-27 18:03:42.000000000 +0800
+@@ -70,6 +70,8 @@
+
+ gtk_modules="gtk+-2.0 >= 2.16.0"
PKG_CHECK_MODULES(GTK, [$gtk_modules])
-+
-+OWL_CFLAGS=""
+OWL_LIBS="-lowl"
-+GTK_CFLAGS="$GTK_CFLAGS $OWL_CFLAGS"
+GTK_LIBS="$GTK_LIBS $OWL_LIBS"
-+
AC_SUBST(GTK_CFLAGS)
AC_SUBST(GTK_LIBS)
-Index: pcmanfm-0.5/src/main-window.c
-===================================================================
---- pcmanfm-0.5.orig/src/main-window.c
-+++ pcmanfm-0.5/src/main-window.c
-@@ -534,9 +534,7 @@
- main_window->splitter_pos = app_settings.splitter_pos;
-
- /* Create menu bar */
-- main_window->menu_bar = gtk_menu_bar_new ();
-- gtk_box_pack_start ( GTK_BOX ( main_window->main_vbox ),
-- main_window->menu_bar, FALSE, FALSE, 0 );
-+ main_window->menu_bar = gtk_menu_new ();
-
- main_window->accel_group = gtk_accel_group_new ();
- fm_side_pane_menu[ 0 ].ret = ( GtkWidget** ) (GtkWidget*) & main_window->open_side_pane_menu;
-Index: pcmanfm-0.5/src/main.c
+Index: pcmanfm-0.9.7/src/main-win.c
===================================================================
---- pcmanfm-0.5.orig/src/main.c
-+++ pcmanfm-0.5/src/main.c
-@@ -48,6 +48,8 @@
-
- #include "desktop.h"
+--- pcmanfm-0.9.7.orig/src/main-win.c 2010-07-27 10:56:08.000000000 +0800
++++ pcmanfm-0.9.7/src/main-win.c 2010-07-27 17:28:59.000000000 +0800
+@@ -36,6 +36,8 @@
+ #include "main-win.h"
+ #include "pref.h"
+#include "libowl/owlwindowmenu.h"
+
- typedef enum{
- CMD_OPEN = 1,
- CMD_OPEN_TAB,
-@@ -320,6 +322,10 @@
- gtk_window_maximize( GTK_WINDOW( main_window ) );
- }
- gtk_widget_show ( GTK_WIDGET( main_window ) );
-+ gtk_widget_show_all (main_window->menu_bar);
-+ owl_set_window_menu (GTK_WINDOW(main_window),
-+ GTK_MENU(main_window->menu_bar));
-+
- return main_window;
+ static void fm_main_win_finalize (GObject *object);
+ G_DEFINE_TYPE(FmMainWin, fm_main_win, GTK_TYPE_WINDOW);
+
+@@ -466,9 +468,27 @@
+ fm_main_win_chdir(win, path);
}
- #if 0
+
++/* Transfer gtk_ui_manager menubar to gtk menubar */
++static GtkWidget * ui_menubar_to_menu(GtkWidget *menubar)
++{
++ GtkWidget *main_menu;
++ GList *iter;
++
++ main_menu = gtk_menu_new();
++
++ for ( iter = gtk_container_get_children(GTK_CONTAINER(menubar));
++ iter;
++ iter = g_list_next(iter) )
++ {
++ GtkWidget *menu = GTK_WIDGET(iter->data);
++ gtk_widget_reparent(menu, main_menu);
++ }
++ return main_menu;
++}
++
+ static void fm_main_win_init(FmMainWin *self)
+ {
+- GtkWidget *vbox, *menubar, *toolitem, *scroll;
++ GtkWidget *vbox, *menubar, *owl_menubar, *toolitem, *scroll;
+ GtkUIManager* ui;
+ GtkActionGroup* act_grp;
+ GtkAction* act;
+@@ -537,7 +557,6 @@
+
+ self->popup = gtk_ui_manager_get_widget(ui, "/popup");
+
+- gtk_box_pack_start( (GtkBox*)vbox, menubar, FALSE, TRUE, 0 );
+ gtk_box_pack_start( (GtkBox*)vbox, self->toolbar, FALSE, TRUE, 0 );
+
+ /* load bookmarks menu */
+@@ -586,6 +605,11 @@
+ gtk_container_add( (GtkContainer*)self, vbox );
+ gtk_widget_show_all(vbox);
+
++ owl_menubar = ui_menubar_to_menu(menubar);
++ gtk_widget_show_all (owl_menubar);
++ owl_set_window_menu (GTK_WINDOW(self),
++ GTK_MENU(owl_menubar));
++
+ /* create new tab */
+ fm_main_win_add_tab(self, fm_path_get_home());
+ gtk_widget_grab_focus(self->folder_view);