[gtk+] GtkTextView: Remove the Unicode and input method menus
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+] GtkTextView: Remove the Unicode and input method menus
- Date: Fri, 7 Jun 2013 22:16:02 +0000 (UTC)
commit 27a15d9a7d1375df1ef6ce0db73b6c5a9924167c
Author: Matthias Clasen <mclasen redhat com>
Date: Fri Jun 7 18:13:20 2013 -0400
GtkTextView: Remove the Unicode and input method menus
Submenus in the context menu are not great, and these two
in particular are not something we want to have there.
gtk/gtktextview.c | 83 +++++++++--------------------------------------------
1 files changed, 14 insertions(+), 69 deletions(-)
---
diff --git a/gtk/gtktextview.c b/gtk/gtktextview.c
index 2d02add..f317681 100644
--- a/gtk/gtktextview.c
+++ b/gtk/gtktextview.c
@@ -8574,20 +8574,11 @@ range_contains_editable_text (const GtkTextIter *start,
{
if (gtk_text_iter_editable (&iter, default_editability))
return TRUE;
-
+
gtk_text_iter_forward_to_tag_toggle (&iter, NULL);
}
return FALSE;
-}
-
-static void
-unichar_chosen_func (const char *text,
- gpointer data)
-{
- GtkTextView *text_view = GTK_TEXT_VIEW (data);
-
- gtk_text_view_commit_text (text_view, text);
}
static void
@@ -8609,34 +8600,31 @@ popup_targets_received (GtkClipboard *clipboard,
*/
gboolean clipboard_contains_text;
GtkWidget *menuitem;
- GtkWidget *submenu;
gboolean have_selection;
gboolean can_insert;
GtkTextIter iter;
GtkTextIter sel_start, sel_end;
- gboolean show_input_method_menu;
- gboolean show_unicode_menu;
-
+
clipboard_contains_text = gtk_selection_data_targets_include_text (data);
if (priv->popup_menu)
gtk_widget_destroy (priv->popup_menu);
priv->popup_menu = gtk_menu_new ();
-
+
gtk_menu_attach_to_widget (GTK_MENU (priv->popup_menu),
GTK_WIDGET (text_view),
popup_menu_detach);
-
+
have_selection = gtk_text_buffer_get_selection_bounds (get_buffer (text_view),
&sel_start, &sel_end);
-
+
gtk_text_buffer_get_iter_at_mark (get_buffer (text_view),
&iter,
gtk_text_buffer_get_insert (get_buffer (text_view)));
-
+
can_insert = gtk_text_iter_can_insert (&iter, priv->editable);
-
+
append_action_signal (text_view, priv->popup_menu, GTK_STOCK_CUT, "cut-clipboard",
have_selection &&
range_contains_editable_text (&sel_start, &sel_end,
@@ -8645,9 +8633,9 @@ popup_targets_received (GtkClipboard *clipboard,
have_selection);
append_action_signal (text_view, priv->popup_menu, GTK_STOCK_PASTE, "paste-clipboard",
can_insert && clipboard_contains_text);
-
+
menuitem = gtk_image_menu_item_new_from_stock (GTK_STOCK_DELETE, NULL);
- gtk_widget_set_sensitive (menuitem,
+ gtk_widget_set_sensitive (menuitem,
have_selection &&
range_contains_editable_text (&sel_start, &sel_end,
priv->editable));
@@ -8668,56 +8656,13 @@ popup_targets_received (GtkClipboard *clipboard,
gtk_widget_show (menuitem);
gtk_menu_shell_append (GTK_MENU_SHELL (priv->popup_menu), menuitem);
- g_object_get (gtk_widget_get_settings (GTK_WIDGET (text_view)),
- "gtk-show-input-method-menu", &show_input_method_menu,
- "gtk-show-unicode-menu", &show_unicode_menu,
- NULL);
-
- if (show_input_method_menu || show_unicode_menu)
- {
- menuitem = gtk_separator_menu_item_new ();
- gtk_widget_show (menuitem);
- gtk_menu_shell_append (GTK_MENU_SHELL (priv->popup_menu), menuitem);
- }
-
- if (show_input_method_menu)
- {
- menuitem = gtk_menu_item_new_with_mnemonic (_("Input _Methods"));
- gtk_widget_show (menuitem);
- gtk_widget_set_sensitive (menuitem, can_insert);
-
- submenu = gtk_menu_new ();
- gtk_menu_item_set_submenu (GTK_MENU_ITEM (menuitem), submenu);
- gtk_menu_shell_append (GTK_MENU_SHELL (priv->popup_menu), menuitem);
-
- gtk_im_multicontext_append_menuitems (GTK_IM_MULTICONTEXT (priv->im_context),
- GTK_MENU_SHELL (submenu));
- }
+ g_signal_emit (text_view, signals[POPULATE_POPUP],
+ 0, priv->popup_menu);
- if (show_unicode_menu)
- {
- menuitem = gtk_menu_item_new_with_mnemonic (_("_Insert Unicode Control Character"));
- gtk_widget_show (menuitem);
- gtk_widget_set_sensitive (menuitem, can_insert);
-
- submenu = gtk_menu_new ();
- gtk_menu_item_set_submenu (GTK_MENU_ITEM (menuitem), submenu);
- gtk_menu_shell_append (GTK_MENU_SHELL (priv->popup_menu), menuitem);
-
- _gtk_text_util_append_special_char_menuitems (GTK_MENU_SHELL (submenu),
- unichar_chosen_func,
- text_view);
- }
-
- g_signal_emit (text_view,
- signals[POPULATE_POPUP],
- 0,
- priv->popup_menu);
-
if (info->device)
- gtk_menu_popup_for_device (GTK_MENU (priv->popup_menu),
- info->device, NULL, NULL, NULL, NULL, NULL,
- info->button, info->time);
+ gtk_menu_popup_for_device (GTK_MENU (priv->popup_menu),
+ info->device, NULL, NULL, NULL, NULL, NULL,
+ info->button, info->time);
else
{
gtk_menu_popup (GTK_MENU (priv->popup_menu), NULL, NULL,
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]