summaryrefslogtreecommitdiff
path: root/gtk/gtksettings.c
diff options
context:
space:
mode:
authorMichael Natterer <mitch@imendio.com>2006-02-22 10:10:23 +0000
committerMichael Natterer <mitch@src.gnome.org>2006-02-22 10:10:23 +0000
commit3b3b722ccffb4a3517cbbf80c2718f99f7393e97 (patch)
tree07999b126d14d21f62aeb95481771215eb4f6dd2 /gtk/gtksettings.c
parent9c359af5d8422b90605af964f2a073901a34cbfe (diff)
downloadgtk+-3b3b722ccffb4a3517cbbf80c2718f99f7393e97.tar.gz
added boolean property gtk-touchscreen-mode, which essentially means
2006-02-22 Michael Natterer <mitch@imendio.com> * gtk/gtksettings.c: added boolean property gtk-touchscreen-mode, which essentially means "there are no motion notify events", so widgets can't use the pointer hovering them for anything. * gtk/gtkmenu.c: if gtk-touchscreen-mode is TRUE, scroll menus when clicking the scroll arrows, since hovering goes undetected. Fixes bug #323028. Added boolean style property "double-arrows" which always makes both scroll arrows visible when the menu is too long. For pushed-in popup menus, both arrows are always shown (regardless of double-arrows), in order to fix user confusion about the blank area. Fixes bug #129463.
Diffstat (limited to 'gtk/gtksettings.c')
-rw-r--r--gtk/gtksettings.c20
1 files changed, 19 insertions, 1 deletions
diff --git a/gtk/gtksettings.c b/gtk/gtksettings.c
index 5c15391521..ea2f375ec0 100644
--- a/gtk/gtksettings.c
+++ b/gtk/gtksettings.c
@@ -89,6 +89,7 @@ enum {
PROP_TIMEOUT_REPEAT,
PROP_COLOR_SCHEME,
PROP_ENABLE_ANIMATIONS,
+ PROP_TOUCHSCREEN_MODE,
PROP_COLOR_HASH
};
@@ -491,6 +492,24 @@ gtk_settings_class_init (GtkSettingsClass *class)
g_assert (result == PROP_ENABLE_ANIMATIONS);
+ /**
+ * GtkSettings:gtk-touchscreen-mode:
+ *
+ * When TRUE, there are no motion notify events delivered on this screen,
+ * and widgets can't use the pointer hovering them for any essential
+ * functionality.
+ *
+ * Since: 2.10
+ */
+ result = settings_install_property_parser (class,
+ g_param_spec_boolean ("gtk-touchscreen-mode",
+ P_("Enable Touchscreen Mode"),
+ P_("When TRUE, there are no motion notify events delivered on this screen"),
+ FALSE,
+ GTK_PARAM_READWRITE),
+ NULL);
+
+ g_assert (result == PROP_TOUCHSCREEN_MODE);
/**
* GtkSettings:color-hash:
@@ -509,7 +528,6 @@ gtk_settings_class_init (GtkSettingsClass *class)
GTK_PARAM_READABLE));
class_n_properties++;
-
}
static void