aboutsummaryrefslogtreecommitdiffstats
path: root/packages/gtk+/gtk+-2.6.4-1.osso7/gtktextbuffer.c.diff
diff options
context:
space:
mode:
authorMichael Lauer <mickey@vanille-media.de>2006-11-06 07:42:50 +0000
committerMichael Lauer <mickey@vanille-media.de>2006-11-06 07:42:50 +0000
commitd6ed5ee9f9682d7de5012fac6528f46675cfb43c (patch)
tree0804d8877d5dc17adb6be4ad617a531d10d47a3a /packages/gtk+/gtk+-2.6.4-1.osso7/gtktextbuffer.c.diff
parenta9c8c4187d22b0420bb6e40bbd699cb5fa7af083 (diff)
downloadopenembedded-d6ed5ee9f9682d7de5012fac6528f46675cfb43c.tar.gz
gtk+: remove a couple of obsolete versions, major stable versions remain
gtk+-2.6.10: add menu styling patch based on gtk+ 2.7
Diffstat (limited to 'packages/gtk+/gtk+-2.6.4-1.osso7/gtktextbuffer.c.diff')
-rw-r--r--packages/gtk+/gtk+-2.6.4-1.osso7/gtktextbuffer.c.diff443
1 files changed, 0 insertions, 443 deletions
diff --git a/packages/gtk+/gtk+-2.6.4-1.osso7/gtktextbuffer.c.diff b/packages/gtk+/gtk+-2.6.4-1.osso7/gtktextbuffer.c.diff
deleted file mode 100644
index 7a984dfb8c..0000000000
--- a/packages/gtk+/gtk+-2.6.4-1.osso7/gtktextbuffer.c.diff
+++ /dev/null
@@ -1,443 +0,0 @@
---- gtk+-2.6.4/gtk/gtktextbuffer.c 2004-11-01 21:57:13.000000000 +0200
-+++ gtk+-2.6.4/gtk/gtktextbuffer.c 2005-04-06 16:19:38.023757872 +0300
-@@ -1,5 +1,6 @@
- /* GTK - The GIMP Toolkit
- * gtktextbuffer.c Copyright (C) 2000 Red Hat, Inc.
-+ * Copyright (C) 2004 Nokia Corporation
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
-@@ -39,6 +40,17 @@
- #include "gtktextbtree.h"
- #include "gtktextiterprivate.h"
- #include "gtkintl.h"
-+#include "gtktextbufferserialize.h"
-+
-+#define GTK_TEXT_BUFFER_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE ((obj), GTK_TYPE_TEXT_BUFFER, GtkTextBufferPrivate))
-+
-+typedef struct _GtkTextBufferPrivate GtkTextBufferPrivate;
-+
-+struct _GtkTextBufferPrivate
-+{
-+ gboolean can_paste_rich_text;
-+ gchar *rich_text_format;
-+};
-
- typedef struct _ClipboardRequest ClipboardRequest;
-
-@@ -71,7 +83,10 @@
- PROP_0,
-
- /* Construct */
-- PROP_TAG_TABLE
-+ PROP_TAG_TABLE,
-+
-+ PROP_CAN_PASTE_RICH_TEXT,
-+ PROP_RICH_TEXT_FORMAT
- };
-
- enum {
-@@ -79,6 +94,8 @@
- TARGET_TEXT,
- TARGET_COMPOUND_TEXT,
- TARGET_UTF8_STRING,
-+ TARGET_TEXT_VIEW_MARKUP,
-+ TARGET_TEXT_VIEW_RICH_TEXT_FORMAT,
- TARGET_TEXT_BUFFER_CONTENTS
- };
-
-@@ -185,7 +202,20 @@
- P_("Text Tag Table"),
- GTK_TYPE_TEXT_TAG_TABLE,
- G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY));
-+ g_object_class_install_property (object_class,
-+ PROP_CAN_PASTE_RICH_TEXT,
-+ g_param_spec_boolean ("can_paste_rich_text",
-+ P_("Can paste rich text"),
-+ P_("Whether it should be possible to paste rich text to the buffer"),
-+ FALSE, G_PARAM_READWRITE));
-+ g_object_class_install_property (object_class,
-+ PROP_RICH_TEXT_FORMAT,
-+ g_param_spec_string ("rich_text_format",
-+ P_("Rich Text Format"),
-+ P_("Name of a collection of tags that the text view supports"),
-+ NULL, G_PARAM_READWRITE));
-
-+
- signals[INSERT_TEXT] =
- g_signal_new ("insert_text",
- G_OBJECT_CLASS_TYPE (object_class),
-@@ -335,7 +365,9 @@
- NULL, NULL,
- _gtk_marshal_VOID__VOID,
- G_TYPE_NONE,
-- 0);
-+ 0);
-+
-+ g_type_class_add_private (object_class, sizeof (GtkTextBufferPrivate));
- }
-
- static void
-@@ -385,7 +417,12 @@
- case PROP_TAG_TABLE:
- set_table (text_buffer, g_value_get_object (value));
- break;
--
-+ case PROP_CAN_PASTE_RICH_TEXT:
-+ gtk_text_buffer_set_can_paste_rich_text (text_buffer, g_value_get_boolean (value));
-+ break;
-+ case PROP_RICH_TEXT_FORMAT:
-+ gtk_text_buffer_set_rich_text_format (text_buffer, g_value_get_string (value));
-+ break;
- default:
- break;
- }
-@@ -406,7 +443,14 @@
- case PROP_TAG_TABLE:
- g_value_set_object (value, get_table (text_buffer));
- break;
--
-+ case PROP_CAN_PASTE_RICH_TEXT:
-+ g_value_set_boolean (value,
-+ gtk_text_buffer_get_can_paste_rich_text (text_buffer));
-+ break;
-+ case PROP_RICH_TEXT_FORMAT:
-+ g_value_set_string (value,
-+ gtk_text_buffer_get_rich_text_format (text_buffer));
-+ break;
- default:
- break;
- }
-@@ -434,11 +478,14 @@
- gtk_text_buffer_finalize (GObject *object)
- {
- GtkTextBuffer *buffer;
-+ GtkTextBufferPrivate *priv;
-
- buffer = GTK_TEXT_BUFFER (object);
-
- remove_all_selection_clipboards (buffer);
-
-+ priv = GTK_TEXT_BUFFER_GET_PRIVATE (buffer);
-+
- if (buffer->tag_table)
- {
- _gtk_text_tag_table_remove_buffer (buffer->tag_table, buffer);
-@@ -456,7 +503,9 @@
- free_log_attr_cache (buffer->log_attr_cache);
-
- buffer->log_attr_cache = NULL;
--
-+
-+ g_free (priv->rich_text_format);
-+
- G_OBJECT_CLASS (parent_class)->finalize (object);
- }
-
-@@ -2738,8 +2787,7 @@
-
- if (gtk_text_buffer_get_selection_bounds (buffer, &start, &end))
- {
-- if (selection_data->target ==
-- gdk_atom_intern ("GTK_TEXT_BUFFER_CONTENTS", FALSE))
-+ if (info == TARGET_TEXT_BUFFER_CONTENTS)
- {
- /* Provide the address of the buffer; this will only be
- * used within-process
-@@ -2750,6 +2798,32 @@
- (void*)&buffer,
- sizeof (buffer));
- }
-+ else if (info == TARGET_TEXT_VIEW_MARKUP)
-+ {
-+ gchar *str;
-+ gint len;
-+
-+ str = gtk_text_buffer_serialize_rich_text (buffer, &start, &end, &len);
-+
-+ gtk_selection_data_set (selection_data,
-+ gdk_atom_intern ("application/x-gtk-text-view-markup", FALSE),
-+ 8, /* bytes */
-+ str, len);
-+ g_free (str);
-+ }
-+ else if (info == TARGET_TEXT_VIEW_RICH_TEXT_FORMAT)
-+ {
-+ gint len;
-+ gchar *format;
-+
-+ format = g_object_get_data (G_OBJECT (buffer), "gtk-text-buffer-clipboard-format");
-+ len = format ? strlen (format) : -1;
-+
-+ gtk_selection_data_set (selection_data,
-+ gdk_atom_intern ("application/x-gtk-text-view-rich-text-format", FALSE),
-+ 8, /* bytes */
-+ format, len);
-+ }
- else
- {
- gchar *str;
-@@ -2765,10 +2839,16 @@
- create_clipboard_contents_buffer (GtkTextBuffer *buffer)
- {
- GtkTextBuffer *contents;
-+ gchar *format;
-
- contents = gtk_text_buffer_new (gtk_text_buffer_get_tag_table (buffer));
-
-+ format = GTK_TEXT_BUFFER_GET_PRIVATE (buffer)->rich_text_format;
-+
- g_object_set_data (G_OBJECT (contents), "gtk-text-buffer-clipboard", GINT_TO_POINTER (1));
-+
-+ g_object_set_data_full (G_OBJECT (contents), "gtk-text-buffer-clipboard-format",
-+ format ? g_strdup (format) : NULL, g_free);
-
- return contents;
- }
-@@ -2786,8 +2866,7 @@
-
- g_assert (contents); /* This should never be called unless we own the clipboard */
-
-- if (selection_data->target ==
-- gdk_atom_intern ("GTK_TEXT_BUFFER_CONTENTS", FALSE))
-+ if (info == TARGET_TEXT_BUFFER_CONTENTS)
- {
- /* Provide the address of the clipboard buffer; this will only
- * be used within-process. OK to supply a NULL value for contents.
-@@ -2798,6 +2877,35 @@
- (void*)&contents,
- sizeof (contents));
- }
-+ else if (info == TARGET_TEXT_VIEW_MARKUP)
-+ {
-+ gchar *str;
-+ gint *len;
-+ GtkTextIter start, end;
-+
-+ gtk_text_buffer_get_bounds (contents, &start, &end);
-+
-+ str = gtk_text_buffer_serialize_rich_text (contents, &start, &end, &len);
-+
-+ gtk_selection_data_set (selection_data,
-+ gdk_atom_intern ("application/x-gtk-text-view-markup", FALSE),
-+ 8, /* bytes */
-+ str, len);
-+ g_free (str);
-+ }
-+ else if (info == TARGET_TEXT_VIEW_RICH_TEXT_FORMAT)
-+ {
-+ gint len;
-+ gchar *format;
-+
-+ format = g_object_get_data (G_OBJECT (contents), "gtk-text-buffer-clipboard-format");
-+ len = format ? strlen (format) : -1;
-+
-+ gtk_selection_data_set (selection_data,
-+ gdk_atom_intern ("application/x-gtk-text-view-rich-text-format", FALSE),
-+ 8, /* bytes */
-+ format, len);
-+ }
- else
- {
- gchar *str;
-@@ -2992,6 +3100,54 @@
- #endif
-
- static void
-+clipboard_text_view_markup_received (GtkClipboard *clipboard,
-+ GtkSelectionData *selection_data,
-+ gpointer data)
-+{
-+ ClipboardRequest *request_data = data;
-+ GtkTextIter insert_point;
-+ gboolean retval = TRUE;
-+ GError *error = NULL;
-+ GtkTextBufferPrivate *priv;
-+
-+ priv = GTK_TEXT_BUFFER_GET_PRIVATE (request_data->buffer);
-+
-+ if (selection_data->target ==
-+ gdk_atom_intern ("application/x-gtk-text-view-markup", FALSE))
-+ {
-+ pre_paste_prep (request_data, &insert_point);
-+
-+ if (request_data->interactive)
-+ gtk_text_buffer_begin_user_action (request_data->buffer);
-+
-+ if (!request_data->interactive ||
-+ gtk_text_iter_can_insert (&insert_point, request_data->default_editable))
-+ retval = gtk_text_buffer_deserialize_rich_text (request_data->buffer,
-+ &insert_point,
-+ selection_data->data, selection_data->length,
-+ priv->rich_text_format == NULL, &error);
-+
-+ if (!retval)
-+ {
-+ g_warning ("error pasting: %s\n", error->message);
-+ }
-+
-+ if (request_data->interactive)
-+ gtk_text_buffer_end_user_action (request_data->buffer);
-+
-+ if (retval) {
-+ post_paste_cleanup (request_data);
-+ return;
-+ }
-+ }
-+
-+ /* Request the text selection instead */
-+ gtk_clipboard_request_text (clipboard,
-+ clipboard_text_received,
-+ data);
-+}
-+
-+static void
- paste_from_buffer (ClipboardRequest *request_data,
- GtkTextBuffer *src_buffer,
- const GtkTextIter *start,
-@@ -3029,6 +3185,35 @@
- g_free (request_data);
- }
-
-+static gboolean
-+formats_match (GtkClipboard *clipboard, const gchar *format)
-+{
-+ GtkSelectionData *data;
-+ gchar *tmp;
-+ gboolean retval;
-+
-+ if (!format)
-+ return TRUE;
-+
-+ data = gtk_clipboard_wait_for_contents (clipboard,
-+ gdk_atom_intern ("application/x-gtk-text-view-rich-text-format", FALSE));
-+
-+ if (data->length <= 0)
-+ retval = FALSE;
-+ else
-+ {
-+ tmp = g_strndup (data->data, data->length);
-+
-+ retval = (strcmp (tmp, format) == 0);
-+
-+ g_free (tmp);
-+ }
-+
-+ gtk_selection_data_free (data);
-+
-+ return retval;
-+}
-+
- static void
- clipboard_clipboard_buffer_received (GtkClipboard *clipboard,
- GtkSelectionData *selection_data,
-@@ -3036,6 +3221,7 @@
- {
- ClipboardRequest *request_data = data;
- GtkTextBuffer *src_buffer;
-+ GtkTextBufferPrivate *priv;
-
- src_buffer = selection_data_get_buffer (selection_data, request_data);
-
-@@ -3059,10 +3245,19 @@
- }
- else
- {
-- /* Request the text selection instead */
-- gtk_clipboard_request_text (clipboard,
-- clipboard_text_received,
-- data);
-+ priv = GTK_TEXT_BUFFER_GET_PRIVATE (request_data->buffer);
-+
-+ if (priv->can_paste_rich_text &&
-+ formats_match (clipboard, priv->rich_text_format))
-+ /* Request markup */
-+ gtk_clipboard_request_contents (clipboard,
-+ gdk_atom_intern ("application/x-gtk-text-view-markup", FALSE),
-+ clipboard_text_view_markup_received, data);
-+ else
-+ /* Request the text selection instead */
-+ gtk_clipboard_request_text (clipboard,
-+ clipboard_text_received,
-+ data);
- }
- }
-
-@@ -3071,6 +3266,8 @@
- { "TEXT", 0, TARGET_TEXT },
- { "COMPOUND_TEXT", 0, TARGET_COMPOUND_TEXT },
- { "UTF8_STRING", 0, TARGET_UTF8_STRING },
-+ { "application/x-gtk-text-view-markup", 0, TARGET_TEXT_VIEW_MARKUP },
-+ { "application/x-gtk-text-view-rich-text-format", 0, TARGET_TEXT_VIEW_RICH_TEXT_FORMAT },
- { "GTK_TEXT_BUFFER_CONTENTS", 0, TARGET_TEXT_BUFFER_CONTENTS }
- };
-
-@@ -3591,6 +3788,68 @@
- }
- }
-
-+void
-+gtk_text_buffer_set_can_paste_rich_text (GtkTextBuffer *buffer,
-+ gboolean can_paste_rich_text)
-+{
-+ GtkTextBufferPrivate *priv;
-+
-+ g_return_if_fail (GTK_IS_TEXT_BUFFER (buffer));
-+
-+ priv = GTK_TEXT_BUFFER_GET_PRIVATE (buffer);
-+
-+ can_paste_rich_text = (can_paste_rich_text != FALSE);
-+
-+ if (priv->can_paste_rich_text != can_paste_rich_text)
-+ {
-+ priv->can_paste_rich_text = can_paste_rich_text;
-+
-+ g_object_notify (G_OBJECT (buffer), "can_paste_rich_text");
-+ }
-+}
-+
-+gboolean
-+gtk_text_buffer_get_can_paste_rich_text (GtkTextBuffer *buffer)
-+{
-+ GtkTextBufferPrivate *priv;
-+
-+ g_return_val_if_fail (GTK_IS_TEXT_BUFFER (buffer), FALSE);
-+
-+ priv = GTK_TEXT_BUFFER_GET_PRIVATE (buffer);
-+
-+ return priv->can_paste_rich_text;
-+}
-+
-+void
-+gtk_text_buffer_set_rich_text_format (GtkTextBuffer *buffer,
-+ const gchar *format)
-+{
-+ gchar *new_format;
-+ GtkTextBufferPrivate *priv;
-+
-+ g_return_if_fail (GTK_IS_TEXT_BUFFER (buffer));
-+
-+ priv = GTK_TEXT_BUFFER_GET_PRIVATE (buffer);
-+
-+ new_format = g_strdup (format);
-+ g_free (priv->rich_text_format);
-+
-+ priv->rich_text_format = new_format;
-+ g_object_notify (G_OBJECT (buffer), "rich_text_format");
-+}
-+
-+G_CONST_RETURN gchar *
-+gtk_text_buffer_get_rich_text_format (GtkTextBuffer *buffer)
-+{
-+ GtkTextBufferPrivate *priv;
-+
-+ g_return_val_if_fail (GTK_IS_TEXT_BUFFER (buffer), NULL);
-+
-+ priv = GTK_TEXT_BUFFER_GET_PRIVATE (buffer);
-+
-+ return priv->rich_text_format;
-+}
-+
- /*
- * Logical attribute cache
- */