Mailing List Archive

r19499 - in projects/haf/trunk/gtk+: . gtk
Author: kalikiana
Date: 2009-11-16 14:04:30 +0200 (Mon, 16 Nov 2009)
New Revision: 19499

Modified:
projects/haf/trunk/gtk+/ChangeLog
projects/haf/trunk/gtk+/gtk/gtkentry.c
Log:
2009-11-16 Christian Dywan <christian@lanedo.com>

Fixes: NB#143062 - Browser, "Save page as" title right-aligned

* gtk/gtkentry.c (gtk_entry_class_init),
(gtk_entry_set_selection_bounds): Restrict the direction flipping to
select-all, by implementing a keybinding signal and using that, and
comparing the selection bounds. So Shift+Arrow works normally.

Modified: projects/haf/trunk/gtk+/ChangeLog
===================================================================
--- projects/haf/trunk/gtk+/ChangeLog 2009-11-16 09:23:04 UTC (rev 19498)
+++ projects/haf/trunk/gtk+/ChangeLog 2009-11-16 12:04:30 UTC (rev 19499)
@@ -1,3 +1,12 @@
+2009-11-16 Christian Dywan <christian@lanedo.com>
+
+ Fixes: NB#143062 - Browser, "Save page as" title right-aligned
+
+ * gtk/gtkentry.c (gtk_entry_class_init),
+ (gtk_entry_set_selection_bounds): Restrict the direction flipping to
+ select-all, by implementing a keybinding signal and using that, and
+ comparing the selection bounds. So Shift+Arrow works normally.
+
2009-11-10 Christian Dywan <christian@lanedo.com>

Fixes: NB#143062 - Browser, "Save page as" title right-aligned

Modified: projects/haf/trunk/gtk+/gtk/gtkentry.c
===================================================================
--- projects/haf/trunk/gtk+/gtk/gtkentry.c 2009-11-16 09:23:04 UTC (rev 19498)
+++ projects/haf/trunk/gtk+/gtk/gtkentry.c 2009-11-16 12:04:30 UTC (rev 19499)
@@ -128,6 +128,7 @@
TOGGLE_OVERWRITE,
#ifdef MAEMO_CHANGES
INVALID_INPUT,
+ SELECT_ALL,
#endif /* MAEMO_CHANGES */
LAST_SIGNAL
};
@@ -912,6 +913,27 @@
_gtk_marshal_VOID__ENUM,
G_TYPE_NONE, 1,
GTK_TYPE_INVALID_INPUT_TYPE);
+
+ /**
+ * GtkEntry::select-all:
+ * @entry: the object which received the signal
+ *
+ * The ::select-all signal is a
+ * <link linkend="keybinding-signals">keybinding signal</link>
+ * which gets emitted to select the complete contents of the entry.
+ *
+ * The default bindings for this signal are Ctrl-a and Ctrl-/.
+ *
+ * Since: 2.20
+ */
+ signals[SELECT_ALL] =
+ g_signal_new_class_handler (I_("select-all"),
+ G_OBJECT_CLASS_TYPE (gobject_class),
+ G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION,
+ G_CALLBACK (gtk_entry_select_all),
+ NULL, NULL,
+ g_cclosure_marshal_VOID__VOID,
+ G_TYPE_NONE, 0, G_TYPE_NONE);
#endif /* MAEMO_CHANGES */

/*
@@ -971,7 +993,13 @@

/* Select all
*/
+#ifdef MAEMO_CHANGES
gtk_binding_entry_add_signal (binding_set, GDK_a, GDK_CONTROL_MASK,
+ "select-all", 0);
+ gtk_binding_entry_add_signal (binding_set, GDK_slash, GDK_CONTROL_MASK,
+ "select-all", 0);
+#else
+ gtk_binding_entry_add_signal (binding_set, GDK_a, GDK_CONTROL_MASK,
"move-cursor", 3,
GTK_TYPE_MOVEMENT_STEP, GTK_MOVEMENT_BUFFER_ENDS,
G_TYPE_INT, -1,
@@ -992,6 +1020,8 @@
GTK_TYPE_MOVEMENT_STEP, GTK_MOVEMENT_BUFFER_ENDS,
G_TYPE_INT, 1,
G_TYPE_BOOLEAN, TRUE);
+#endif
+
/* Unselect all
*/
gtk_binding_entry_add_signal (binding_set, GDK_backslash, GDK_CONTROL_MASK,
@@ -2750,6 +2780,12 @@
#ifdef MAEMO_CHANGES
GtkWidget *widget = GTK_WIDGET (editable);
gboolean flip = FALSE;
+
+ if (start == 0 && end == -1 && gtk_widget_has_screen (widget))
+ {
+ GtkSettings *settings = gtk_widget_get_settings (widget);
+ g_object_get (settings, "gtk-touchscreen-mode", &flip, NULL);
+ }
#endif

if (start < 0)
@@ -2764,11 +2800,6 @@
MIN (end, entry->text_length),
MIN (start, entry->text_length));
#else
- if (gtk_widget_has_screen (widget))
- {
- GtkSettings *settings = gtk_widget_get_settings (widget);
- g_object_get (settings, "gtk-touchscreen-mode", &flip, NULL);
- }
if (flip)
gtk_entry_set_positions (entry,
MIN (start, entry->text_length),

_______________________________________________
maemo-commits mailing list
maemo-commits@maemo.org
https://lists.maemo.org/mailman/listinfo/maemo-commits