aboutsummaryrefslogtreecommitdiffstats
path: root/packages/gtk+/gtk+-2.6.4-1.osso7/gtktextview.c.diff
diff options
context:
space:
mode:
Diffstat (limited to 'packages/gtk+/gtk+-2.6.4-1.osso7/gtktextview.c.diff')
-rw-r--r--packages/gtk+/gtk+-2.6.4-1.osso7/gtktextview.c.diff417
1 files changed, 0 insertions, 417 deletions
diff --git a/packages/gtk+/gtk+-2.6.4-1.osso7/gtktextview.c.diff b/packages/gtk+/gtk+-2.6.4-1.osso7/gtktextview.c.diff
deleted file mode 100644
index 7323574a64..0000000000
--- a/packages/gtk+/gtk+-2.6.4-1.osso7/gtktextview.c.diff
+++ /dev/null
@@ -1,417 +0,0 @@
---- gtk+-2.6.4/gtk/gtktextview.c 2005-03-01 08:28:56.000000000 +0200
-+++ gtk+-2.6.4/gtk/gtktextview.c 2005-04-06 16:19:38.152738264 +0300
-@@ -99,6 +99,11 @@
-
- #define SPACE_FOR_CURSOR 1
-
-+typedef struct _GtkTextViewPrivate GtkTextViewPrivate;
-+
-+#define GTK_TEXT_VIEW_GET_PRIVATE(obj) ( G_TYPE_INSTANCE_GET_PRIVATE ((obj),\
-+ GTK_TYPE_TEXT_VIEW, GtkTextViewPrivate) )
-+
- struct _GtkTextPendingScroll
- {
- GtkTextMark *mark;
-@@ -145,6 +150,8 @@
- PROP_BUFFER,
- PROP_OVERWRITE,
- PROP_ACCEPTS_TAB,
-+ PROP_AUTOCAP,
-+ PROP_INPUT_MODE,
- LAST_PROP
- };
-
-@@ -343,6 +350,13 @@
-
- static void gtk_text_view_update_im_spot_location (GtkTextView *text_view);
-
-+static void gtk_text_view_set_autocap (GtkTextView *text_view,
-+ gboolean autocap);
-+static gboolean gtk_text_view_get_autocap (GtkTextView *text_view);
-+static void gtk_text_view_set_input_mode (GtkTextView *text_view,
-+ gint mode);
-+static gint gtk_text_view_get_input_mode (GtkTextView *text_view);
-+
- /* Container methods */
- static void gtk_text_view_add (GtkContainer *container,
- GtkWidget *child);
-@@ -412,6 +426,10 @@
- static gint text_window_get_width (GtkTextWindow *win);
- static gint text_window_get_height (GtkTextWindow *win);
-
-+struct _GtkTextViewPrivate
-+{
-+ guint release_selection : 1;
-+};
-
- static const GtkTargetEntry target_table[] = {
- { "GTK_TEXT_BUFFER_CONTENTS", GTK_TARGET_SAME_APP, 0 },
-@@ -481,6 +499,7 @@
-
- parent_class = g_type_class_peek_parent (klass);
-
-+ g_type_class_add_private( klass, sizeof(GtkTextViewPrivate) );
- /* Default handlers and virtual methods
- */
- gobject_class->set_property = gtk_text_view_set_property;
-@@ -667,6 +686,24 @@
- TRUE,
- G_PARAM_READWRITE));
-
-+ g_object_class_install_property (gobject_class,
-+ PROP_AUTOCAP,
-+ g_param_spec_boolean ("autocap",
-+ P_("auto capitalization"),
-+ P_("Enable autocap support"),
-+ TRUE,
-+ G_PARAM_READABLE | G_PARAM_WRITABLE));
-+
-+ g_object_class_install_property (gobject_class,
-+ PROP_INPUT_MODE,
-+ g_param_spec_int ("input_mode",
-+ P_("input mode"),
-+ P_("Define widget's input mode"),
-+ 0,
-+ 9, /* keep me updated */
-+ 0,
-+ G_PARAM_READABLE | G_PARAM_WRITABLE));
-+
- /*
- * Style properties
- */
-@@ -676,6 +713,14 @@
- P_("Color with which to draw error-indication underlines"),
- GDK_TYPE_COLOR,
- G_PARAM_READABLE));
-+
-+ gtk_widget_class_install_style_property (widget_class,
-+ g_param_spec_boolean ("autocap",
-+ _("auto capitalization"),
-+ _("Enable autocap support"),
-+ TRUE,
-+ G_PARAM_READABLE));
-+
-
- /*
- * Signals
-@@ -1040,8 +1085,9 @@
- gtk_text_view_init (GtkTextView *text_view)
- {
- GtkWidget *widget;
--
-+ GtkTextViewPrivate *priv = NULL;
- widget = GTK_WIDGET (text_view);
-+ priv = GTK_TEXT_VIEW_GET_PRIVATE(text_view);
-
- GTK_WIDGET_SET_FLAGS (widget, GTK_CAN_FOCUS);
-
-@@ -1057,6 +1103,8 @@
- text_view->tabs = NULL;
- text_view->editable = TRUE;
-
-+ priv->release_selection = TRUE;
-+
- gtk_drag_dest_set (widget,
- 0,
- target_table, G_N_ELEMENTS (target_table),
-@@ -1070,6 +1118,10 @@
- * to it; so we create it here and destroy it in finalize ().
- */
- text_view->im_context = gtk_im_multicontext_new ();
-+ /* Set default stuff. */
-+ gtk_text_view_set_autocap (text_view, TRUE);
-+ gtk_text_view_set_input_mode (text_view, 0); /* alpha-numeric-special */
-+ g_object_set (G_OBJECT (text_view->im_context), "use-show-hide", TRUE, NULL);
-
- g_signal_connect (text_view->im_context, "commit",
- G_CALLBACK (gtk_text_view_commit_handler), text_view);
-@@ -2664,6 +2716,14 @@
- gtk_text_view_set_accepts_tab (text_view, g_value_get_boolean (value));
- break;
-
-+ case PROP_AUTOCAP:
-+ gtk_text_view_set_autocap (text_view, g_value_get_boolean (value));
-+ break;
-+
-+ case PROP_INPUT_MODE:
-+ gtk_text_view_set_input_mode (text_view, g_value_get_int (value));
-+ break;
-+
- default:
- g_assert_not_reached ();
- break;
-@@ -2738,6 +2798,14 @@
- g_value_set_boolean (value, text_view->accepts_tab);
- break;
-
-+ case PROP_AUTOCAP:
-+ g_value_set_boolean (value, gtk_text_view_get_autocap (text_view));
-+ break;
-+
-+ case PROP_INPUT_MODE:
-+ g_value_set_int (value, gtk_text_view_get_input_mode (text_view));
-+ break;
-+
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
- break;
-@@ -3916,7 +3984,7 @@
- GtkTextView *text_view = GTK_TEXT_VIEW (widget);
- GtkTextMark *insert;
- GtkTextIter iter;
--
-+
- if (text_view->layout == NULL || get_buffer (text_view) == NULL)
- return FALSE;
-
-@@ -4039,6 +4107,9 @@
- if (event->window != text_view->text_window->bin_window)
- return FALSE;
-
-+ if (text_view->editable)
-+ gtk_im_context_show (text_view->im_context);
-+
- if (event->button == 1)
- {
- if (text_view->drag_start_x >= 0)
-@@ -4083,7 +4154,15 @@
- static gint
- gtk_text_view_focus_in_event (GtkWidget *widget, GdkEventFocus *event)
- {
-+ /*gboolean have_selection;
-+ GtkTextIter sel_start, sel_end;*/
-+
- GtkTextView *text_view = GTK_TEXT_VIEW (widget);
-+
-+ /*have_selection = gtk_text_buffer_get_selection_bounds(text_view->buffer, &sel_start, &sel_end);
-+
-+ if(!have_selection)
-+ gtk_text_view_move_cursor(text_view, GTK_MOVEMENT_BUFFER_ENDS, 1, FALSE);*//*FIXME some other way to place the cursor in the end*/
-
- gtk_widget_queue_draw (widget);
-
-@@ -4100,8 +4179,10 @@
- G_CALLBACK (keymap_direction_changed), text_view);
- gtk_text_view_check_keymap_direction (text_view);
-
-+ /* Keyboard hack */
- text_view->need_im_reset = TRUE;
- gtk_im_context_focus_in (GTK_TEXT_VIEW (widget)->im_context);
-+ gtk_text_view_reset_im_context (text_view);
-
- return FALSE;
- }
-@@ -4110,6 +4191,14 @@
- gtk_text_view_focus_out_event (GtkWidget *widget, GdkEventFocus *event)
- {
- GtkTextView *text_view = GTK_TEXT_VIEW (widget);
-+ GtkTextViewPrivate *priv = GTK_TEXT_VIEW_GET_PRIVATE(text_view);
-+ /*{
-+ GtkTextIter start;
-+ GtkTextIter end;
-+
-+ gtk_text_buffer_get_bounds(text_view->buffer, &start, &end);
-+ gtk_text_buffer_select_range(text_view->buffer, &start, &start);
-+ }*//*FIXME need a hack here to take away the focus*/
-
- gtk_widget_queue_draw (widget);
-
-@@ -4125,8 +4214,11 @@
- keymap_direction_changed,
- text_view);
-
-- text_view->need_im_reset = TRUE;
-- gtk_im_context_focus_out (GTK_TEXT_VIEW (widget)->im_context);
-+ /* This is commented out to disable unselect feature.
-+ When the decition of this has been made, we can either remove this patch
-+ or to leave it.
-+ if( priv->release_selection )
-+ gtk_text_view_unselect( text_view );*/
-
- return FALSE;
- }
-@@ -5082,7 +5174,8 @@
- GtkTextIter end;
- gboolean leave_one = FALSE;
-
-- gtk_text_view_reset_im_context (text_view);
-+ /*gtk_text_view_reset_im_context (text_view);*/ /*backspace should not clear
-+ the word completion*/
-
- if (type == GTK_DELETE_CHARS)
- {
-@@ -5200,7 +5293,8 @@
- {
- GtkTextIter insert;
-
-- gtk_text_view_reset_im_context (text_view);
-+ /*gtk_text_view_reset_im_context (text_view);*/ /*backspace should not clear
-+ the word completion*/
-
- /* Backspace deletes the selection, if one exists */
- if (gtk_text_buffer_delete_selection (get_buffer (text_view), TRUE,
-@@ -5928,11 +6022,11 @@
- static void
- gtk_text_view_reset_im_context (GtkTextView *text_view)
- {
-- if (text_view->need_im_reset)
-+/* if (text_view->need_im_reset)
- {
-- text_view->need_im_reset = FALSE;
-+ text_view->need_im_reset = FALSE;*/
- gtk_im_context_reset (text_view->im_context);
-- }
-+/* }*/
- }
-
- /*
-@@ -6665,18 +6759,23 @@
- {
- GtkTextIter start;
- GtkTextIter end;
-- gint pos;
-+ gint pos, endpos;
- gchar *text;
-
-- gtk_text_buffer_get_iter_at_mark (text_view->buffer, &start,
-+ gtk_text_buffer_get_iter_at_line (text_view->buffer, &start, 0);
-+ gtk_text_buffer_get_iter_at_mark (text_view->buffer, &end,
- gtk_text_buffer_get_insert (text_view->buffer));
-- end = start;
-
-- pos = gtk_text_iter_get_line_index (&start);
-- gtk_text_iter_set_line_offset (&start, 0);
-+ pos = gtk_text_iter_get_line_index (&end);
-+
- gtk_text_iter_forward_to_line_end (&end);
-+ endpos = gtk_text_iter_get_line_index (&end);
-
- text = gtk_text_iter_get_slice (&start, &end);
-+ if (text)
-+ pos = strlen (text) - (endpos - pos); /* want bytes, not characters */
-+ else
-+ pos = 0;
- gtk_im_context_set_surrounding (context, text, -1, pos);
- g_free (text);
-
-@@ -6726,8 +6825,8 @@
- need_reset = TRUE;
- }
-
-- if (need_reset)
-- gtk_text_view_reset_im_context (text_view);
-+ /*if (need_reset)
-+ gtk_text_view_reset_im_context (text_view);*//*FIXME need a hack here*/
- }
-
- static void
-@@ -6957,6 +7056,13 @@
- }
-
- static void
-+block_selection_change( GtkMenuShell *menushell, gpointer user_data )
-+{
-+ GtkTextViewPrivate *priv = GTK_TEXT_VIEW_GET_PRIVATE(user_data);
-+ priv->release_selection = TRUE;
-+}
-+
-+static void
- unichar_chosen_func (const char *text,
- gpointer data)
- {
-@@ -7064,7 +7170,12 @@
- signals[POPULATE_POPUP],
- 0,
- text_view->popup_menu);
--
-+ {
-+ GtkTextViewPrivate *priv = GTK_TEXT_VIEW_GET_PRIVATE(text_view);
-+ g_signal_connect( GTK_WIDGET(text_view->popup_menu), "selection-done",
-+ G_CALLBACK(block_selection_change), text_view );
-+ priv->release_selection = FALSE;
-+ }
- if (info->button)
- gtk_menu_popup (GTK_MENU (text_view->popup_menu), NULL, NULL,
- NULL, NULL,
-@@ -8301,3 +8412,81 @@
-
- return gtk_text_layout_move_iter_visually (text_view->layout, iter, count);
- }
-+
-+/*
-+ * gtk_text_view_set_autocap:
-+ * @entry: a #GtkTextView
-+ * @autocap: autocap
-+ *
-+ * Sets autocapitalization of the widget.
-+ */
-+static void
-+gtk_text_view_set_autocap (GtkTextView *text_view,
-+ gboolean autocap)
-+{
-+ g_return_if_fail (GTK_IS_TEXT_VIEW (text_view));
-+
-+ if (gtk_text_view_get_autocap (text_view) != autocap)
-+ {
-+ g_object_set (G_OBJECT (text_view->im_context), "autocap", autocap, NULL);
-+ g_object_notify (G_OBJECT (text_view), "autocap");
-+ }
-+}
-+
-+/*
-+ * gtk_text_view_get_autocap:
-+ * @entry: a #GtkTextView
-+ *
-+ * Gets autocapitalization state of the widget.
-+ *
-+ * Return value: a state
-+ */
-+static gboolean
-+gtk_text_view_get_autocap (GtkTextView *text_view)
-+{
-+ gboolean autocap;
-+ g_return_val_if_fail (GTK_IS_TEXT_VIEW (text_view), FALSE);
-+
-+ g_object_get (G_OBJECT (text_view->im_context), "autocap", &autocap, NULL);
-+
-+ return autocap;
-+}
-+
-+/*
-+ * gtk_text_view_set_input_mode:
-+ * @text_view: a #GtkTextView
-+ * @mode: input mode
-+ *
-+ * Sets autocapitalization of the widget.
-+ */
-+static void
-+gtk_text_view_set_input_mode (GtkTextView *text_view,
-+ gint mode)
-+{
-+ g_return_if_fail (GTK_IS_TEXT_VIEW (text_view));
-+
-+ if (gtk_text_view_get_input_mode (text_view) != mode)
-+ {
-+ g_object_set (G_OBJECT (text_view->im_context), "input_mode", mode, NULL);
-+ g_object_notify (G_OBJECT (text_view), "input_mode");
-+ }
-+}
-+
-+/*
-+ * gtk_text_view_get_input_mode:
-+ * @text_view: a #GtkTextView
-+ *
-+ * Gets input mode of the widget.
-+ *
-+ * Return value: input mode
-+ */
-+static gint
-+gtk_text_view_get_input_mode (GtkTextView *text_view)
-+{
-+ gint mode;
-+ g_return_val_if_fail (GTK_IS_TEXT_VIEW (text_view), FALSE);
-+
-+ g_object_get (G_OBJECT (text_view->im_context), "input_mode", &mode, NULL);
-+
-+ return mode;
-+}