summaryrefslogtreecommitdiff
path: root/gdk/gdkkeys.c
diff options
context:
space:
mode:
authorOwen Taylor <otaylor@redhat.com>2001-06-08 16:07:00 +0000
committerOwen Taylor <otaylor@src.gnome.org>2001-06-08 16:07:00 +0000
commitda562f4dc8db7722ffc89198d42eb9e2efbda62a (patch)
tree2b8c0442454fe272752ac51a961df4628298160b /gdk/gdkkeys.c
parent11699349bb47a354bc602ad1bf0f57a0975c9b24 (diff)
downloadgtk+-da562f4dc8db7722ffc89198d42eb9e2efbda62a.tar.gz
Add a direction-changed signal, and gdk_keymap_get_current_direction().
Fri Jun 8 12:03:07 2001 Owen Taylor <otaylor@redhat.com> * gdk/gdkkeys.[ch]: Add a direction-changed signal, and gdk_keymap_get_current_direction(). * gdk/x11/gdkevents-x11.c gdk/x11/gdkkeys-x11.c gdk/x11/gdkmain-x11.c gdk/x11/gdkprivate-x11.h: Track the current locked group, use it to set the keymap direction. * gtk/gtksettings.c: Add a new gtk-split-cursor setting to determine whether we draw a split cursor or use a jumping cursor based on the current direction. * gtk/gtkentry.c gtk/gtktextview.c gtk/gtktextlayout.[ch]: Obey the split cursor setting. Fri Jun 8 11:57:50 2001 Owen Taylor <otaylor@redhat.com> * gtk/gtkimmulticontext.c (activate_cb): Only activate when toggling on, not when toggling off... (#55906) Wed Jun 6 10:37:07 2001 Owen Taylor <otaylor@redhat.com> * gtk/gtkwidget.c (gtk_widget_set_double_buffered): s/gdk_window_begin_paint/gdk_window_begin_paint_region/ in docs. (#55812, Vitaly Tishkov)
Diffstat (limited to 'gdk/gdkkeys.c')
-rw-r--r--gdk/gdkkeys.c28
1 files changed, 17 insertions, 11 deletions
diff --git a/gdk/gdkkeys.c b/gdk/gdkkeys.c
index 9b5911fd30..a47d8a9a59 100644
--- a/gdk/gdkkeys.c
+++ b/gdk/gdkkeys.c
@@ -27,12 +27,19 @@
#include "gdkkeys.h"
#include <config.h>
+enum {
+ DIRECTION_CHANGED,
+ LAST_SIGNAL
+};
+
static void gdk_keymap_init (GdkKeymap *keymap);
static void gdk_keymap_class_init (GdkKeymapClass *klass);
static void gdk_keymap_finalize (GObject *object);
static gpointer parent_class = NULL;
+static guint signals[LAST_SIGNAL] = { 0 };
+
GType
gdk_keymap_get_type (void)
{
@@ -75,6 +82,16 @@ gdk_keymap_class_init (GdkKeymapClass *klass)
parent_class = g_type_class_peek_parent (klass);
object_class->finalize = gdk_keymap_finalize;
+
+ signals[DIRECTION_CHANGED] =
+ g_signal_newc ("direction_changed",
+ G_OBJECT_CLASS_TYPE (object_class),
+ G_SIGNAL_RUN_LAST,
+ G_STRUCT_OFFSET (GdkKeymapClass, direction_changed),
+ NULL, NULL,
+ g_cclosure_marshal_VOID__VOID,
+ G_TYPE_NONE,
+ 0);
}
static void
@@ -85,17 +102,6 @@ gdk_keymap_finalize (GObject *object)
G_OBJECT_CLASS (parent_class)->finalize (object);
}
-GdkKeymap*
-gdk_keymap_get_default (void)
-{
- static GdkKeymap *keymap = NULL;
-
- if (keymap == NULL)
- keymap = g_object_new (gdk_keymap_get_type (), NULL);
-
- return keymap;
-}
-
/* Other key-handling stuff