From f32b173243cf46f8a9cf84b610139b3d4bd20803 Mon Sep 17 00:00:00 2001 From: Cyrille Bagard Date: Mon, 17 Sep 2012 20:49:05 +0000 Subject: Fixed a bug when splitting panels. git-svn-id: svn://svn.gna.org/svn/chrysalide/trunk@263 abbe820e-26c8-41b2-8c08-b7b2b41f8b0a --- ChangeLog | 11 +++++++++++ plugins/python/androperms/androperms.py | 2 +- src/gtkext/gtkdockstation.c | 12 ++++++------ src/gui/panels/panel.c | 2 ++ 4 files changed, 20 insertions(+), 7 deletions(-) diff --git a/ChangeLog b/ChangeLog index a2e548b..0b64d20 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,14 @@ +12-09-17 Cyrille Bagard + + * plugins/python/androperms/androperms.py: + Change the destination area of the permissions panel. + + * src/gtkext/gtkdockstation.c: + Fix compilation warnings. Show the last added tab first. + + * src/gui/panels/panel.c: + Fix a bug when splitting panels. + 12-09-15 Cyrille Bagard * configure.ac: diff --git a/plugins/python/androperms/androperms.py b/plugins/python/androperms/androperms.py index 6d65ca4..c9af7c4 100644 --- a/plugins/python/androperms/androperms.py +++ b/plugins/python/androperms/androperms.py @@ -110,5 +110,5 @@ class AndroPerms(Plugin): self._store = gtk.TreeStore(str, str) self._tree.set_model(self._store) - pi = PanelItem(name="Permissions", lname="Permissions", widget=self._scrolled_window, path="S") + pi = PanelItem(name="Permissions", lname="Permissions", widget=self._scrolled_window, path="SE") pi.dock() diff --git a/src/gtkext/gtkdockstation.c b/src/gtkext/gtkdockstation.c index ba17788..49f4fa1 100644 --- a/src/gtkext/gtkdockstation.c +++ b/src/gtkext/gtkdockstation.c @@ -222,8 +222,7 @@ void gtk_dock_panel_add_widget(GtkDockStation *station, GtkWidget *widget, const gtk_dock_panel_update_title(station, widget, caption); - if (gtk_notebook_get_n_pages(station->notebook) == 1) - g_signal_emit_by_name(station, "switch-widget", widget); + gtk_notebook_set_current_page(station->notebook, -1); } @@ -255,13 +254,13 @@ void gtk_dock_panel_change_active_widget(GtkDockStation *station, GtkWidget *wid old = gtk_notebook_get_nth_page(station->notebook, index); label = gtk_notebook_get_tab_label(station->notebook, old); - gtk_widget_ref(old); - gtk_widget_ref(label); + g_object_ref(G_OBJECT(old)); + g_object_ref(G_OBJECT(label)); gtk_notebook_remove_page(station->notebook, index); gtk_notebook_insert_page(station->notebook, widget, label, index); - gtk_widget_unref(label); + g_object_unref(G_OBJECT(label)); gtk_notebook_set_current_page(station->notebook, index); @@ -293,7 +292,8 @@ void gtk_dock_panel_remove_widget(GtkDockStation *station, GtkWidget *widget) gtk_notebook_remove_page(station->notebook, index); if (gtk_notebook_get_n_pages(station->notebook) == 0) - gtk_container_remove(gtk_widget_get_parent(GTK_WIDGET(station)), GTK_WIDGET(station)); + gtk_container_remove(GTK_CONTAINER(gtk_widget_get_parent(GTK_WIDGET(station))), + GTK_WIDGET(station)); } diff --git a/src/gui/panels/panel.c b/src/gui/panels/panel.c index dc6a89f..b101f4b 100644 --- a/src/gui/panels/panel.c +++ b/src/gui/panels/panel.c @@ -467,6 +467,8 @@ static void attach_panel_node_to_paned(panel_node *parent, panel_node *node, boo else parent->second = node; + node->parent = parent; + /* Raccordement graphique */ widget = GET_PANEL_NODE_WIDGET(node); -- cgit v0.11.2-87-g4458