From 16383d431a2db634eed7fed3950256604cff3cd6 Mon Sep 17 00:00:00 2001 From: Johannes Schmid Date: Mon, 31 Dec 2007 16:26:18 +0000 Subject: [PATCH] Also reorder menu when reordering tabs by drag & drop (Bug #506474) 2007-12-30 Johannes Schmid * gtk/gtknotebook.c: (gtk_notebook_stop_reorder): Also reorder menu when reordering tabs by drag & drop (Bug #506474) * tests/testnotebookdnd.c: (create_notebook_with_notebooks): Add a menu to one of the notebooks to have a test-case for the change mentioned above. svn path=/trunk/; revision=19294 --- ChangeLog | 10 ++++++++++ gtk/gtknotebook.c | 5 ++++- tests/testnotebookdnd.c | 5 +++-- 3 files changed, 17 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index d790a88db..7169b66b6 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,13 @@ +2007-12-30 Johannes Schmid + + * gtk/gtknotebook.c: (gtk_notebook_stop_reorder): + Also reorder menu when reordering tabs by drag & drop + (Bug #506474) + + * tests/testnotebookdnd.c: (create_notebook_with_notebooks): + Add a menu to one of the notebooks to have a test-case for + the change mentioned above. + 2007-12-31 Philip Van Hoof * gtk/gtktreemodel.c: Using GSlice for GtkTreePath diff --git a/gtk/gtknotebook.c b/gtk/gtknotebook.c index 4f5e1dd85..846502c8c 100644 --- a/gtk/gtknotebook.c +++ b/gtk/gtknotebook.c @@ -352,6 +352,8 @@ static GList * gtk_notebook_search_page (GtkNotebook *notebook, GList *list, gint direction, gboolean find_visible); +static void gtk_notebook_child_reordered (GtkNotebook *notebook, + GtkNotebookPage *page); /*** GtkNotebook Drawing Functions ***/ static void gtk_notebook_paint (GtkWidget *widget, @@ -2765,7 +2767,8 @@ gtk_notebook_stop_reorder (GtkNotebook *notebook) element = get_drop_position (notebook, page->pack); old_page_num = g_list_position (notebook->children, notebook->focus_tab); page_num = reorder_tab (notebook, element, notebook->focus_tab); - + gtk_notebook_child_reordered (notebook, page); + if (priv->has_scrolled || old_page_num != page_num) g_signal_emit (notebook, notebook_signals[PAGE_REORDERED], 0, diff --git a/tests/testnotebookdnd.c b/tests/testnotebookdnd.c index 869439469..04a4aef5d 100644 --- a/tests/testnotebookdnd.c +++ b/tests/testnotebookdnd.c @@ -201,13 +201,14 @@ create_notebook_with_notebooks (gchar **labels, while (*labels) { page = create_notebook (labels, group, packing, pos); - + gtk_notebook_popup_enable (GTK_NOTEBOOK (page)); + title = gtk_label_new (*labels); gtk_notebook_append_page (GTK_NOTEBOOK (notebook), page, title); gtk_notebook_set_tab_reorderable (GTK_NOTEBOOK (notebook), page, TRUE); gtk_notebook_set_tab_detachable (GTK_NOTEBOOK (notebook), page, TRUE); - + if (packing == PACK_END || (packing == PACK_ALTERNATE && count % 2 == 1)) gtk_container_child_set (GTK_CONTAINER (notebook), page, "tab-pack", GTK_PACK_END, NULL);