Add keyboard selection dialog to preferences.
This commit is contained in:
@ -36,8 +36,8 @@
|
||||
enum {
|
||||
ENABLED,
|
||||
DISABLED,
|
||||
KEY_PRESSED,
|
||||
DESTROYED,
|
||||
KEY_ACTIVATED,
|
||||
LAST_SIGNAL
|
||||
};
|
||||
|
||||
@ -80,14 +80,19 @@ eekboard_context_real_g_signal (GDBusProxy *self,
|
||||
return;
|
||||
}
|
||||
|
||||
if (g_strcmp0 (signal_name, "Destroyed") == 0) {
|
||||
g_signal_emit (context, signals[DESTROYED], 0);
|
||||
return;
|
||||
}
|
||||
|
||||
if (g_strcmp0 (signal_name, "KeyActivated") == 0) {
|
||||
const gchar *keyname;
|
||||
guint keycode;
|
||||
GVariant *variant = NULL;
|
||||
guint modifiers = 0;
|
||||
EekSerializable *serializable;
|
||||
|
||||
g_variant_get (parameters, "(&svu)",
|
||||
&keyname, &variant, &modifiers);
|
||||
g_variant_get (parameters, "(uvu)",
|
||||
&keycode, &variant, &modifiers);
|
||||
g_return_if_fail (variant != NULL);
|
||||
|
||||
serializable = eek_serializable_deserialize (variant);
|
||||
@ -95,8 +100,8 @@ eekboard_context_real_g_signal (GDBusProxy *self,
|
||||
|
||||
g_return_if_fail (EEK_IS_SYMBOL(serializable));
|
||||
|
||||
g_signal_emit (context, signals[KEY_PRESSED], 0,
|
||||
keyname, EEK_SYMBOL(serializable), modifiers);
|
||||
g_signal_emit (context, signals[KEY_ACTIVATED], 0,
|
||||
keycode, EEK_SYMBOL(serializable), modifiers);
|
||||
g_object_unref (serializable);
|
||||
|
||||
return;
|
||||
@ -140,15 +145,15 @@ eekboard_context_real_disabled (EekboardContext *self)
|
||||
}
|
||||
|
||||
static void
|
||||
eekboard_context_real_key_pressed (EekboardContext *self,
|
||||
const gchar *keyname,
|
||||
EekSymbol *symbol,
|
||||
guint modifiers)
|
||||
eekboard_context_real_destroyed (EekboardContext *self)
|
||||
{
|
||||
}
|
||||
|
||||
static void
|
||||
eekboard_context_real_destroyed (EekboardContext *self)
|
||||
eekboard_context_real_key_activated (EekboardContext *self,
|
||||
const gchar *keyname,
|
||||
EekSymbol *symbol,
|
||||
guint modifiers)
|
||||
{
|
||||
}
|
||||
|
||||
@ -181,8 +186,8 @@ eekboard_context_class_init (EekboardContextClass *klass)
|
||||
|
||||
klass->enabled = eekboard_context_real_enabled;
|
||||
klass->disabled = eekboard_context_real_disabled;
|
||||
klass->key_pressed = eekboard_context_real_key_pressed;
|
||||
klass->destroyed = eekboard_context_real_destroyed;
|
||||
klass->key_activated = eekboard_context_real_key_activated;
|
||||
|
||||
proxy_class->g_signal = eekboard_context_real_g_signal;
|
||||
|
||||
@ -237,26 +242,26 @@ eekboard_context_class_init (EekboardContextClass *klass)
|
||||
0);
|
||||
|
||||
/**
|
||||
* EekboardContext::key-pressed:
|
||||
* EekboardContext::key-activated:
|
||||
* @context: an #EekboardContext
|
||||
* @keycode: keycode
|
||||
* @keycode: a keycode
|
||||
* @symbol: an #EekSymbol
|
||||
* @modifiers: modifiers
|
||||
*
|
||||
* The ::key-pressed signal is emitted each time a key is pressed
|
||||
* in @context.
|
||||
* The ::key-activated signal is emitted each time a key is
|
||||
* pressed in @context.
|
||||
*/
|
||||
signals[KEY_PRESSED] =
|
||||
g_signal_new (I_("key-pressed"),
|
||||
signals[KEY_ACTIVATED] =
|
||||
g_signal_new (I_("key-activated"),
|
||||
G_TYPE_FROM_CLASS(gobject_class),
|
||||
G_SIGNAL_RUN_LAST,
|
||||
G_STRUCT_OFFSET(EekboardContextClass, key_pressed),
|
||||
G_STRUCT_OFFSET(EekboardContextClass, key_activated),
|
||||
NULL,
|
||||
NULL,
|
||||
_eekboard_marshal_VOID__STRING_OBJECT_UINT,
|
||||
_eekboard_marshal_VOID__UINT_OBJECT_UINT,
|
||||
G_TYPE_NONE,
|
||||
3,
|
||||
G_TYPE_STRING,
|
||||
G_TYPE_UINT,
|
||||
G_TYPE_OBJECT,
|
||||
G_TYPE_UINT);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user