[maemo-commits] [maemo-commits] r9379 - in projects/haf/branches/gtk+/maemo-gtk-2-10: . gtk

From: subversion at stage.maemo.org subversion at stage.maemo.org
Date: Sun Jan 28 18:48:59 EET 2007
Author: kris
Date: 2007-01-28 18:48:55 +0200 (Sun, 28 Jan 2007)
New Revision: 9379

Modified:
   projects/haf/branches/gtk+/maemo-gtk-2-10/ChangeLog
   projects/haf/branches/gtk+/maemo-gtk-2-10/gtk/gtkimmulticontext.c
Log:
2007-01-28  Kristian Rietveld  <kris at imendio.com>

	* gtk/gtkimmulticontext.c: conditionalize with MAEMO_CHANGES.



Modified: projects/haf/branches/gtk+/maemo-gtk-2-10/ChangeLog
===================================================================
--- projects/haf/branches/gtk+/maemo-gtk-2-10/ChangeLog	2007-01-28 16:31:05 UTC (rev 9378)
+++ projects/haf/branches/gtk+/maemo-gtk-2-10/ChangeLog	2007-01-28 16:48:55 UTC (rev 9379)
@@ -1,5 +1,9 @@
 2007-01-28  Kristian Rietveld  <kris at imendio.com>
 
+	* gtk/gtkimmulticontext.c: conditionalize with MAEMO_CHANGES.
+
+2007-01-28  Kristian Rietveld  <kris at imendio.com>
+
 	* gtk/gtktreeview.c: conditionalize with MAEMO_CHANGES.
 
 2007-01-28  Kristian Rietveld  <kris at imendio.com>

Modified: projects/haf/branches/gtk+/maemo-gtk-2-10/gtk/gtkimmulticontext.c
===================================================================
--- projects/haf/branches/gtk+/maemo-gtk-2-10/gtk/gtkimmulticontext.c	2007-01-28 16:31:05 UTC (rev 9378)
+++ projects/haf/branches/gtk+/maemo-gtk-2-10/gtk/gtkimmulticontext.c	2007-01-28 16:48:55 UTC (rev 9379)
@@ -85,7 +85,7 @@
 							     gint               n_chars,
 							     GtkIMMulticontext *multicontext);
 
-/* MAEMO START */
+#ifdef MAEMO_CHANGES
 static gboolean hildon_gtk_im_multicontext_filter_event (GtkIMContext            *context,
 							 GdkEvent                *event);
 
@@ -105,8 +105,12 @@
                                                                  GtkIMMulticontext              *multicontext);
 
 static GtkIMContext *gtk_im_multicontext_get_slave              (GtkIMMulticontext              *multicontext);
+#endif /* MAEMO_CHANGES */
 
 
+#ifndef MAEMO_CHANGES
+static const gchar *global_context_id = NULL;
+#else /* MAEMO_CHANGES */
 static gchar *
 get_global_context_id (void)
 {
@@ -139,12 +143,12 @@
 
   return context_id;
 }
-/* MAEMO END */
+#endif /* MAEMO_CHANGES */
 
 
 G_DEFINE_TYPE (GtkIMMulticontext, gtk_im_multicontext, GTK_TYPE_IM_CONTEXT)
 
-/* MAEMO START */
+#ifdef MAEMO_CHANGES
 static void
 gtk_im_multicontext_set_property (GObject      *object,
 				  guint         property_id,
@@ -171,7 +175,7 @@
 
   g_object_get_property (G_OBJECT (slave), pspec->name, value);
 }
-/* MAEMO END */
+#endif /* MAEMO_CHANGES */
 
 static void
 gtk_im_multicontext_class_init (GtkIMMulticontextClass *class)
@@ -192,7 +196,7 @@
 
   gobject_class->finalize = gtk_im_multicontext_finalize;
 
-  /* MAEMO START */
+#ifdef MAEMO_CHANGES
   im_context_class->filter_event = hildon_gtk_im_multicontext_filter_event;
   im_context_class->show = gtk_im_multicontext_show;
   im_context_class->hide = gtk_im_multicontext_hide;
@@ -201,7 +205,7 @@
 
   gobject_class->set_property = gtk_im_multicontext_set_property;
   gobject_class->get_property = gtk_im_multicontext_get_property;
-  /* MAEMO END */
+#endif /* MAEMO_CHANGES */
 
   g_type_class_add_private (gobject_class, sizeof (GtkIMMulticontextPrivate));   
 }
@@ -247,9 +251,9 @@
 {
   GtkIMMulticontextPrivate *priv = multicontext->priv;
   gboolean need_preedit_changed = FALSE;
-  /* MAEMO START */
+#ifdef MAEMO_CHANGES
   HildonGtkInputMode input_mode;
-  /* MAEMO END */
+#endif /* MAEMO_CHANGES */
   
   if (multicontext->slave)
     {
@@ -269,7 +273,7 @@
 					    gtk_im_multicontext_commit_cb,
 					    multicontext);
 
-      /* MAEMO START */
+#ifdef MAEMO_CHANGES
       g_signal_handlers_disconnect_by_func (multicontext->slave,
 					    gtk_im_multicontext_retrieve_surrounding_cb,
 					    multicontext);
@@ -285,15 +289,15 @@
       g_signal_handlers_disconnect_by_func (multicontext->slave,
 					    gtk_im_multicontext_slave_input_mode_changed_cb,
 					    multicontext);
-      /* MAEMO END */
+#endif /* MAEMO_CHANGES */
 
       g_object_unref (multicontext->slave);
       multicontext->slave = NULL;
 
-      /* MAEMO START */
+#ifdef MAEMO_CHANGES
       g_free (multicontext->context_id);
       multicontext->context_id = NULL;
-      /* MAEMO END */
+#endif /* MAEMO_CHANGES */
 
       if (!finalizing)
 	need_preedit_changed = TRUE;
@@ -324,7 +328,7 @@
 			G_CALLBACK (gtk_im_multicontext_delete_surrounding_cb),
 			multicontext);
 
-      /* MAEMO START */
+#ifdef MAEMO_CHANGES
       g_signal_connect (multicontext->slave, "has_selection",
 			G_CALLBACK (gtk_im_multicontext_has_selection_cb),
 			multicontext);
@@ -337,7 +341,7 @@
 
       g_object_get(multicontext, "hildon-input-mode", &input_mode, NULL);
       g_object_set(multicontext->slave, "hildon-input-mode", input_mode, NULL);
-      /* MAEMO END */
+#endif /* MAEMO_CHANGES */
       
       if (!priv->use_preedit)	/* Default is TRUE */
 	gtk_im_context_set_use_preedit (slave, FALSE);
@@ -360,17 +364,24 @@
     {
       GtkIMContext *slave;
 
-      /* MAEMO START */
+#ifdef MAEMO_CHANGES
       gchar *global_context_id = get_global_context_id();
-      /* MAEMO END */
+#else /* !MAEMO_CHANGES */
+      if (!global_context_id)
+        {
+	  gchar *locale = _gtk_get_lc_ctype ();
+	  global_context_id = _gtk_im_module_get_default_context_id (locale);
+	  g_free (locale);
+	}
+#endif /* MAEMO_CHANGES */
 	
       slave = _gtk_im_module_create (global_context_id);
       gtk_im_multicontext_set_slave (multicontext, slave, FALSE);
       g_object_unref (slave);
 
-      /* MAEMO START */
+#ifdef MAEMO_CHANGES
       g_free (multicontext->context_id);
-      /* MAEMO END */
+#endif /* MAEMO_CHANGES */
       multicontext->context_id = global_context_id;
     }
 
@@ -424,7 +435,7 @@
     return FALSE;
 }
 
-/* MAEMO START */
+#ifdef MAEMO_CHANGES
 static gboolean
 hildon_gtk_im_multicontext_filter_event (GtkIMContext *context,
 					 GdkEvent *event)
@@ -437,16 +448,16 @@
   else
     return FALSE;
 }
-/* MAEMO END */
+#endif /* MAEMO_CHANGES */
 
 static void
 gtk_im_multicontext_focus_in (GtkIMContext   *context)
 {
   GtkIMMulticontext *multicontext = GTK_IM_MULTICONTEXT (context);
   GtkIMContext *slave;
-  /* MAEMO START */
+#ifdef MAEMO_CHANGES
   gchar *global_context_id = get_global_context_id ();
-  /* MAEMO END */
+#endif /* MAEMO_CHANGES */
 
   /* If the global context type is different from the context we were
    * using before, get rid of the old slave and create a new one
@@ -463,9 +474,9 @@
   if (slave)
     gtk_im_context_focus_in (slave);
 
-  /* MAEMO START */
+#ifdef MAEMO_CHANGES
   g_free (global_context_id);
-  /* MAEMO END */
+#endif /* MAEMO_CHANGES */
 }
 
 static void
@@ -553,7 +564,7 @@
     gtk_im_context_set_surrounding (slave, text, len, cursor_index);
 }
 
-/* MAEMO START */
+#ifdef MAEMO_CHANGES
 static void
 gtk_im_multicontext_notify (GObject      *object,
                             GParamSpec   *pspec)
@@ -578,7 +589,7 @@
 		      NULL);
     }
 }
-/* MAEMO END */
+#endif /* MAEMO_CHANGES */
 
 static void
 gtk_im_multicontext_preedit_start_cb   (GtkIMContext      *slave,
@@ -634,7 +645,7 @@
   return result;
 }
 
-/* MAEMO START */
+#ifdef MAEMO_CHANGES
 static gboolean
 gtk_im_multicontext_has_selection_cb (GtkIMContext      *slave,
                                       GtkIMMulticontext *multicontext)
@@ -669,7 +680,7 @@
   if (input_mode_slave != input_mode_multi)
     g_object_set (multicontext, "hildon-input-mode", input_mode_slave, NULL);
 }
-/* MAEMO END */
+#endif /* MAEMO_CHANGES */
 
 static void
 activate_cb (GtkWidget         *menuitem,
@@ -677,9 +688,15 @@
 {
   if (GTK_CHECK_MENU_ITEM (menuitem)->active)
     {
-      /* MAEMO CHANGE: code which overwrote global_context_id has been removed */
+#ifndef MAEMO_CHANGES
+      const gchar *id = g_object_get_data (G_OBJECT (menuitem), "gtk-context-id");
+#endif /* MAEMO_CHANGES */
+
       gtk_im_context_reset (GTK_IM_CONTEXT (context));
-      
+
+#ifndef MAEMO_CHANGES
+      global_context_id = id;
+#endif /* MAEMO_CHANGES */
       gtk_im_multicontext_set_slave (context, NULL, FALSE);
     }
 }
@@ -700,9 +717,9 @@
   const GtkIMContextInfo **contexts;
   guint n_contexts, i;
   GSList *group = NULL;
-  /* MAEMO START */
+#ifdef MAEMO_CHANGES
   gchar *global_context_id = get_global_context_id();
-  /* MAEMO END */
+#endif /* MAEMO_CHANGES */
   
   _gtk_im_module_list (&contexts, &n_contexts);
 
@@ -757,13 +774,13 @@
       gtk_menu_shell_append (menushell, menuitem);
     }
 
-  /* MAEMO START */
+#ifdef MAEMO_CHANGES
   g_free (global_context_id);
-  /* MAEMO END */
+#endif /* MAEMO_CHANGES */
   g_free (contexts);
 }
 
-/* MAEMO START */
+#ifdef MAEMO_CHANGES
 static void
 gtk_im_multicontext_show (GtkIMContext *context)
 {
@@ -800,7 +817,7 @@
   if (slave)
     gtk_im_context_hide (slave);
 }
-/* MAEMO END */
+#endif /* MAEMO_CHANGES */
 
 #define __GTK_IM_MULTICONTEXT_C__
 #include "gtkaliasdef.c"


More information about the maemo-commits mailing list