rpms/gtk2/devel gtk+-2.8.6-inputmethod.patch, NONE, 1.1 gtk2.spec, 1.96, 1.97

fedora-cvs-commits at redhat.com fedora-cvs-commits at redhat.com
Mon Oct 24 19:54:23 UTC 2005


Author: mclasen

Update of /cvs/dist/rpms/gtk2/devel
In directory cvs.devel.redhat.com:/tmp/cvs-serv7734

Modified Files:
	gtk2.spec 
Added Files:
	gtk+-2.8.6-inputmethod.patch 
Log Message:
Add a setting to hide the input method menu


gtk+-2.8.6-inputmethod.patch:
 gdk/x11/gdkevents-x11.c |    2 +
 gtk/gtkentry.c          |   72 ++++++++++++++++++++++++++++------------------
 gtk/gtksettings.c       |   23 ++++++++++++++
 gtk/gtktextview.c       |   74 +++++++++++++++++++++++++++++-------------------
 4 files changed, 114 insertions(+), 57 deletions(-)

--- NEW FILE gtk+-2.8.6-inputmethod.patch ---
? gtk/globdup.patch
? gtk/gtkassistant.c
? gtk/gtkassistant.h
? gtk/xdgmime/LOG
? gtk/xdgmime/cachefix.patch
? gtk/xdgmime/test-mime-data
? gtk/xdgmime/test-mime-data.c
? gtk/xdgmime/testdata
? gtk/xdgmime/tests
Index: gdk/x11/gdkevents-x11.c
===================================================================
RCS file: /cvs/gnome/gtk+/gdk/x11/gdkevents-x11.c,v
retrieving revision 1.159
diff -u -r1.159 gdkevents-x11.c
--- gdk/x11/gdkevents-x11.c	20 Sep 2005 05:28:33 -0000	1.159
+++ gdk/x11/gdkevents-x11.c	24 Oct 2005 19:48:27 -0000
@@ -2805,6 +2805,8 @@
   { "Gtk/MenuBarAccel", "gtk-menu-bar-accel" },
   { "Gtk/CursorThemeName", "gtk-cursor-theme-name" },
   { "Gtk/CursorThemeSize", "gtk-cursor-theme-size" },
+  { "Gtk/ShowInputMethodMenu", "gtk-show-input-method-menu" },
+  { "Gtk/ShowUnicodeMenu", "gtk-show-unicode-menu" },
   { "Xft/Antialias", "gtk-xft-antialias" },
   { "Xft/Hinting", "gtk-xft-hinting" },
   { "Xft/HintStyle", "gtk-xft-hintstyle" },
Index: gtk/gtkentry.c
===================================================================
RCS file: /cvs/gnome/gtk+/gtk/gtkentry.c,v
retrieving revision 1.297
diff -u -r1.297 gtkentry.c
--- gtk/gtkentry.c	20 Sep 2005 15:20:11 -0000	1.297
+++ gtk/gtkentry.c	24 Oct 2005 19:48:28 -0000
@@ -4557,10 +4557,13 @@
   
   if (GTK_WIDGET_REALIZED (entry))
     {
-      gboolean clipboard_contains_text = gtk_selection_data_targets_include_text (data);
+      gboolean clipboard_contains_text;
       GtkWidget *menuitem;
       GtkWidget *submenu;
+      gboolean show_input_method_menu;
+      gboolean show_unicode_menu;
       
+        clipboard_contains_text = gtk_selection_data_targets_include_text (data);
       if (entry->popup_menu)
 	gtk_widget_destroy (entry->popup_menu);
       
@@ -4594,33 +4597,46 @@
       gtk_widget_show (menuitem);
       gtk_menu_shell_append (GTK_MENU_SHELL (entry->popup_menu), menuitem);
       
-      menuitem = gtk_separator_menu_item_new ();
-      gtk_widget_show (menuitem);
-      gtk_menu_shell_append (GTK_MENU_SHELL (entry->popup_menu), menuitem);
-      
-      menuitem = gtk_menu_item_new_with_mnemonic (_("Input _Methods"));
-      gtk_widget_set_sensitive (menuitem, entry->editable);      
-      gtk_widget_show (menuitem);
-      submenu = gtk_menu_new ();
-      gtk_menu_item_set_submenu (GTK_MENU_ITEM (menuitem), submenu);
-      
-      gtk_menu_shell_append (GTK_MENU_SHELL (entry->popup_menu), menuitem);
-      
-      gtk_im_multicontext_append_menuitems (GTK_IM_MULTICONTEXT (entry->im_context),
-					    GTK_MENU_SHELL (submenu));
-      
-      menuitem = gtk_menu_item_new_with_mnemonic (_("_Insert Unicode Control Character"));
-      gtk_widget_show (menuitem);
-      
-      submenu = gtk_menu_new ();
-      gtk_menu_item_set_submenu (GTK_MENU_ITEM (menuitem), submenu);
-      gtk_menu_shell_append (GTK_MENU_SHELL (entry->popup_menu), menuitem);      
-
-      _gtk_text_util_append_special_char_menuitems (GTK_MENU_SHELL (submenu),
-                                                    unichar_chosen_func,
-                                                    entry);
-      if (!entry->editable)
-        gtk_widget_set_sensitive (menuitem, FALSE);
+      g_object_get (gtk_widget_get_settings (GTK_WIDGET (entry)),
+                    "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 (entry->popup_menu), menuitem);
+        }
+      
+      if (show_input_method_menu)
+        {
+          menuitem = gtk_menu_item_new_with_mnemonic (_("Input _Methods"));
+          gtk_widget_set_sensitive (menuitem, entry->editable);      
+          gtk_widget_show (menuitem);
+          submenu = gtk_menu_new ();
+          gtk_menu_item_set_submenu (GTK_MENU_ITEM (menuitem), submenu);
+          
+          gtk_menu_shell_append (GTK_MENU_SHELL (entry->popup_menu), menuitem);
+      
+          gtk_im_multicontext_append_menuitems (GTK_IM_MULTICONTEXT (entry->im_context),
+                                                GTK_MENU_SHELL (submenu));
+        }
+      
+      if (show_unicode_menu)
+        {
+          menuitem = gtk_menu_item_new_with_mnemonic (_("_Insert Unicode Control Character"));
+          gtk_widget_set_sensitive (menuitem, entry->editable);      
+          gtk_widget_show (menuitem);
+          
+          submenu = gtk_menu_new ();
+          gtk_menu_item_set_submenu (GTK_MENU_ITEM (menuitem), submenu);
+          gtk_menu_shell_append (GTK_MENU_SHELL (entry->popup_menu), menuitem);      
+          
+          _gtk_text_util_append_special_char_menuitems (GTK_MENU_SHELL (submenu),
+                                                        unichar_chosen_func,
+                                                        entry);
+        }
       
       g_signal_emit (entry,
 		     signals[POPULATE_POPUP],
Index: gtk/gtksettings.c
===================================================================
RCS file: /cvs/gnome/gtk+/gtk/gtksettings.c,v
retrieving revision 1.77
diff -u -r1.77 gtksettings.c
--- gtk/gtksettings.c	13 Sep 2005 19:57:42 -0000	1.77
+++ gtk/gtksettings.c	24 Oct 2005 19:48:28 -0000
@@ -77,7 +77,9 @@
   PROP_CURSOR_THEME_NAME,
   PROP_CURSOR_THEME_SIZE,
 #endif
-  PROP_ALTERNATIVE_BUTTON_ORDER
+  PROP_ALTERNATIVE_BUTTON_ORDER,
+  PROP_SHOW_INPUT_METHOD_MENU,
+  PROP_SHOW_UNICODE_MENU
 };
 
 
@@ -385,6 +387,25 @@
 								   GTK_PARAM_READWRITE),
                                              NULL);
   g_assert (result == PROP_ALTERNATIVE_BUTTON_ORDER);
+
+  result = settings_install_property_parser (class,
+					     g_param_spec_boolean ("gtk-show-input-method-menu",
+								   P_("Show the 'Input Methods' menu"),
+								   P_("Whether the context menus of entries and text views should offer to change the input method"),
+								   TRUE,
+								   GTK_PARAM_READWRITE),
+					     NULL);
+  g_assert (result == PROP_SHOW_INPUT_METHOD_MENU);
+
+  result = settings_install_property_parser (class,
+					     g_param_spec_boolean ("gtk-show-unicode-menu",
+								   P_("Show the 'Insert Unicode Control Character' menu"),
+								   P_("Whether the context menus of entries and text views should offer to insert control characters"),
+								   TRUE,
+								   GTK_PARAM_READWRITE),
+					     NULL);
+  g_assert (result == PROP_SHOW_UNICODE_MENU);
+
 }
 
 static void
Index: gtk/gtktextview.c
===================================================================
RCS file: /cvs/gnome/gtk+/gtk/gtktextview.c,v
retrieving revision 1.296
diff -u -r1.296 gtktextview.c
--- gtk/gtktextview.c	13 Sep 2005 19:57:42 -0000	1.296
+++ gtk/gtktextview.c	24 Oct 2005 19:48:29 -0000
@@ -7070,14 +7070,18 @@
       /* We implicitely rely here on the fact that if we are pasting ourself, we'll
        * have text targets as well as the private GTK_TEXT_BUFFER_CONTENTS target.
        */
-      gboolean clipboard_contains_text = gtk_selection_data_targets_include_text (data);
+      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 (text_view->popup_menu)
 	gtk_widget_destroy (text_view->popup_menu);
 
@@ -7125,33 +7129,47 @@
       gtk_widget_show (menuitem);
       gtk_menu_shell_append (GTK_MENU_SHELL (text_view->popup_menu), menuitem);
 
-      menuitem = gtk_separator_menu_item_new ();
-      gtk_widget_show (menuitem);
-      gtk_menu_shell_append (GTK_MENU_SHELL (text_view->popup_menu), menuitem);
-      
-      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 (text_view->popup_menu), menuitem);
-      
-      gtk_im_multicontext_append_menuitems (GTK_IM_MULTICONTEXT (text_view->im_context),
-					    GTK_MENU_SHELL (submenu));
-
-      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 (text_view->popup_menu), menuitem);      
-
-      _gtk_text_util_append_special_char_menuitems (GTK_MENU_SHELL (submenu),
-                                                    unichar_chosen_func,
-                                                    text_view);
-      
+      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 (text_view->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 (text_view->popup_menu), menuitem);
+	  
+	  gtk_im_multicontext_append_menuitems (GTK_IM_MULTICONTEXT (text_view->im_context),
+						GTK_MENU_SHELL (submenu));
+	}
+
+      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 (text_view->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,


Index: gtk2.spec
===================================================================
RCS file: /cvs/dist/rpms/gtk2/devel/gtk2.spec,v
retrieving revision 1.96
retrieving revision 1.97
diff -u -r1.96 -r1.97
--- gtk2.spec	19 Oct 2005 12:08:00 -0000	1.96
+++ gtk2.spec	24 Oct 2005 19:54:18 -0000	1.97
@@ -16,7 +16,7 @@
 Summary: The GIMP ToolKit (GTK+), a library for creating GUIs for X.
 Name: gtk2
 Version: %{base_version}
-Release: 2
+Release: 3
 License: LGPL
 Group: System Environment/Libraries
 Source: gtk+-%{version}.tar.bz2
@@ -26,6 +26,8 @@
 Patch0: gtk+-2.4.1-lib64.patch
 # Fixed in 2.8.7
 Patch1: gtk+-2.8.6-mimecache.patch
+# Backported from 2.10
+Patch2: gtk+-2.8.6-inputmethod.patch
 
 BuildPrereq: atk-devel >= %{atk_version}
 BuildPrereq: pango-devel >= %{pango_version}
@@ -86,6 +88,7 @@
 
 %patch0 -p1 -b .lib64
 %patch1 -p1 -b .mimecache
+%patch2 -p0 -b .inputmethod
 
 for i in config.guess config.sub ; do
 	test -f %{_datadir}/libtool/$i && cp %{_datadir}/libtool/$i .
@@ -254,6 +257,9 @@
 %doc tmpdocs/examples
 
 %changelog
+* Mon Oct 24 2005 Matthias Clasen <mclasen at redhat.com> 2.8.6-3
+- Add a setting to hide the input method menu
+
 * Wed Oct 19 2005 Matthias Clasen <mclasen at redhat.com> 2.8.6-2
 - Sync to upstream xdgmime
 




More information about the fedora-cvs-commits mailing list