[gedit] tab context menu: implement move left/right
- From: Ignacio Casal Quinteiro <icq src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gedit] tab context menu: implement move left/right
- Date: Tue, 12 Nov 2013 19:56:28 +0000 (UTC)
commit 110ecd5caaad176b02c84a079b2e4d3293847100
Author: Ignacio Casal Quinteiro <icq gnome org>
Date: Tue Nov 12 09:12:37 2013 +0100
tab context menu: implement move left/right
gedit/gedit-notebook-popup-menu.c | 91 +++++++++++++++++++++----------------
1 files changed, 51 insertions(+), 40 deletions(-)
---
diff --git a/gedit/gedit-notebook-popup-menu.c b/gedit/gedit-notebook-popup-menu.c
index c188cfa..3e69e85 100644
--- a/gedit/gedit-notebook-popup-menu.c
+++ b/gedit/gedit-notebook-popup-menu.c
@@ -20,6 +20,7 @@
#include "gedit-notebook-popup-menu.h"
+#include "gedit-multi-notebook.h"
#include "gedit-commands.h"
#include <glib/gi18n.h>
@@ -121,11 +122,10 @@ gedit_notebook_popup_menu_class_init (GeditNotebookPopupMenuClass *klass)
}
static void
-on_move_to_new_window_menuitem_activate (GtkMenuItem *menuitem,
- GeditNotebookPopupMenu *menu)
+on_file_close_menuitem_activate (GtkMenuItem *menuitem,
+ GeditNotebookPopupMenu *menu)
{
- _gedit_window_move_tab_to_new_window (menu->priv->window,
- menu->priv->tab);
+ _gedit_cmd_file_close_tab (menu->priv->tab, menu->priv->window);
}
static void
@@ -137,31 +137,53 @@ on_move_to_new_tab_group_menuitem_activate (GtkMenuItem *menuitem,
}
static void
-on_file_save_menuitem_activate (GtkMenuItem *menuitem,
- GeditNotebookPopupMenu *menu)
-{
- _gedit_cmd_file_save_tab (menu->priv->tab, menu->priv->window);
-}
-
-static void
-on_file_save_as_menuitem_activate (GtkMenuItem *menuitem,
- GeditNotebookPopupMenu *menu)
+on_move_to_new_window_menuitem_activate (GtkMenuItem *menuitem,
+ GeditNotebookPopupMenu *menu)
{
- _gedit_cmd_file_save_as_tab (menu->priv->tab, menu->priv->window);
+ _gedit_window_move_tab_to_new_window (menu->priv->window,
+ menu->priv->tab);
}
static void
-on_file_print_menuitem_activate (GtkMenuItem *menuitem,
+on_move_right_menuitem_activate (GtkMenuItem *menuitem,
GeditNotebookPopupMenu *menu)
{
- _gedit_tab_print (menu->priv->tab);
+ GeditMultiNotebook *mnb;
+ GtkNotebook *notebook;
+ gint page_num;
+ gint n_pages;
+
+ mnb = GEDIT_MULTI_NOTEBOOK (_gedit_window_get_multi_notebook (menu->priv->window));
+
+ notebook = GTK_NOTEBOOK (gedit_multi_notebook_get_notebook_for_tab (mnb, menu->priv->tab));
+ n_pages = gtk_notebook_get_n_pages (notebook);
+ page_num = gtk_notebook_page_num (notebook, GTK_WIDGET (menu->priv->tab));
+
+ if (page_num < (n_pages - 1))
+ {
+ gtk_notebook_reorder_child (notebook, GTK_WIDGET (menu->priv->tab),
+ page_num + 1);
+ }
}
static void
-on_file_close_menuitem_activate (GtkMenuItem *menuitem,
- GeditNotebookPopupMenu *menu)
+on_move_left_menuitem_activate (GtkMenuItem *menuitem,
+ GeditNotebookPopupMenu *menu)
{
- _gedit_cmd_file_close_tab (menu->priv->tab, menu->priv->window);
+ GeditMultiNotebook *mnb;
+ GtkNotebook *notebook;
+ gint page_num;
+
+ mnb = GEDIT_MULTI_NOTEBOOK (_gedit_window_get_multi_notebook (menu->priv->window));
+
+ notebook = GTK_NOTEBOOK (gedit_multi_notebook_get_notebook_for_tab (mnb, menu->priv->tab));
+ page_num = gtk_notebook_page_num (notebook, GTK_WIDGET (menu->priv->tab));
+
+ if (page_num > 0)
+ {
+ gtk_notebook_reorder_child (notebook, GTK_WIDGET (menu->priv->tab),
+ page_num - 1);
+ }
}
static void
@@ -172,16 +194,9 @@ gedit_notebook_popup_menu_init (GeditNotebookPopupMenu *menu)
menu->priv = gedit_notebook_popup_menu_get_instance_private (menu);
/* Keep in sync with the respective GtkActions */
- menu_item = gtk_menu_item_new_with_mnemonic (_("_Move to New Window"));
- g_signal_connect (menu_item, "activate",
- G_CALLBACK (on_move_to_new_window_menuitem_activate),
- menu);
- gtk_menu_shell_prepend (GTK_MENU_SHELL (menu), menu_item);
- gtk_widget_show (menu_item);
-
- menu_item = gtk_menu_item_new_with_mnemonic (_("_Move to New Tab Group"));
+ menu_item = gtk_menu_item_new_with_mnemonic (_("_Close"));
g_signal_connect (menu_item, "activate",
- G_CALLBACK (on_move_to_new_tab_group_menuitem_activate),
+ G_CALLBACK (on_file_close_menuitem_activate),
menu);
gtk_menu_shell_prepend (GTK_MENU_SHELL (menu), menu_item);
gtk_widget_show (menu_item);
@@ -190,16 +205,16 @@ gedit_notebook_popup_menu_init (GeditNotebookPopupMenu *menu)
gtk_menu_shell_prepend (GTK_MENU_SHELL (menu), menu_item);
gtk_widget_show (menu_item);
- menu_item = gtk_menu_item_new_with_mnemonic (_("_Save"));
+ menu_item = gtk_menu_item_new_with_mnemonic (_("_Move to New Tab Group"));
g_signal_connect (menu_item, "activate",
- G_CALLBACK (on_file_save_menuitem_activate),
+ G_CALLBACK (on_move_to_new_tab_group_menuitem_activate),
menu);
gtk_menu_shell_prepend (GTK_MENU_SHELL (menu), menu_item);
gtk_widget_show (menu_item);
- menu_item = gtk_menu_item_new_with_mnemonic (_("Save _As..."));
+ menu_item = gtk_menu_item_new_with_mnemonic (_("_Move to New Window"));
g_signal_connect (menu_item, "activate",
- G_CALLBACK (on_file_save_as_menuitem_activate),
+ G_CALLBACK (on_move_to_new_window_menuitem_activate),
menu);
gtk_menu_shell_prepend (GTK_MENU_SHELL (menu), menu_item);
gtk_widget_show (menu_item);
@@ -208,20 +223,16 @@ gedit_notebook_popup_menu_init (GeditNotebookPopupMenu *menu)
gtk_menu_shell_prepend (GTK_MENU_SHELL (menu), menu_item);
gtk_widget_show (menu_item);
- menu_item = gtk_menu_item_new_with_mnemonic (_("_Print..."));
+ menu_item = gtk_menu_item_new_with_mnemonic (_("_Move Right"));
g_signal_connect (menu_item, "activate",
- G_CALLBACK (on_file_print_menuitem_activate),
+ G_CALLBACK (on_move_right_menuitem_activate),
menu);
gtk_menu_shell_prepend (GTK_MENU_SHELL (menu), menu_item);
gtk_widget_show (menu_item);
- menu_item = gtk_separator_menu_item_new ();
- gtk_menu_shell_prepend (GTK_MENU_SHELL (menu), menu_item);
- gtk_widget_show (menu_item);
-
- menu_item = gtk_menu_item_new_with_mnemonic (_("_Close"));
+ menu_item = gtk_menu_item_new_with_mnemonic (_("_Move Left"));
g_signal_connect (menu_item, "activate",
- G_CALLBACK (on_file_close_menuitem_activate),
+ G_CALLBACK (on_move_left_menuitem_activate),
menu);
gtk_menu_shell_prepend (GTK_MENU_SHELL (menu), menu_item);
gtk_widget_show (menu_item);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]