Add convenient function to get/set per-keyboard group/level.
This commit is contained in:
		@ -200,20 +200,13 @@ eek_keyboard_set_property (GObject      *object,
 | 
			
		||||
                           GParamSpec   *pspec)
 | 
			
		||||
{
 | 
			
		||||
    EekKeyboardPrivate *priv = EEK_KEYBOARD_GET_PRIVATE(object);
 | 
			
		||||
    gint group, level;
 | 
			
		||||
 | 
			
		||||
    switch (prop_id) {
 | 
			
		||||
    case PROP_GROUP:
 | 
			
		||||
        eek_keyboard_get_keysym_index (EEK_KEYBOARD(object), &group, &level);
 | 
			
		||||
        eek_keyboard_set_keysym_index (EEK_KEYBOARD(object),
 | 
			
		||||
                                       g_value_get_int (value),
 | 
			
		||||
                                       level);
 | 
			
		||||
        eek_keyboard_set_group (EEK_KEYBOARD(object), g_value_get_int (value));
 | 
			
		||||
        break;
 | 
			
		||||
    case PROP_LEVEL:
 | 
			
		||||
        eek_keyboard_get_keysym_index (EEK_KEYBOARD(object), &group, &level);
 | 
			
		||||
        eek_keyboard_set_keysym_index (EEK_KEYBOARD(object),
 | 
			
		||||
                                       group,
 | 
			
		||||
                                       g_value_get_int (value));
 | 
			
		||||
        eek_keyboard_set_level (EEK_KEYBOARD(object), g_value_get_int (value));
 | 
			
		||||
        break;
 | 
			
		||||
    case PROP_LAYOUT:
 | 
			
		||||
        priv->layout = g_value_get_object (value);
 | 
			
		||||
@ -234,16 +227,15 @@ eek_keyboard_get_property (GObject    *object,
 | 
			
		||||
                           GParamSpec *pspec)
 | 
			
		||||
{
 | 
			
		||||
    EekKeyboardPrivate *priv = EEK_KEYBOARD_GET_PRIVATE(object);
 | 
			
		||||
    gint group, level;
 | 
			
		||||
 | 
			
		||||
    switch (prop_id) {
 | 
			
		||||
    case PROP_GROUP:
 | 
			
		||||
        eek_keyboard_get_keysym_index (EEK_KEYBOARD(object), &group, &level);
 | 
			
		||||
        g_value_set_int (value, group);
 | 
			
		||||
        g_value_set_int (value,
 | 
			
		||||
                         eek_keyboard_get_group (EEK_KEYBOARD(object)));
 | 
			
		||||
        break;
 | 
			
		||||
    case PROP_LEVEL:
 | 
			
		||||
        eek_keyboard_get_keysym_index (EEK_KEYBOARD(object), &level, &level);
 | 
			
		||||
        g_value_set_int (value, level);
 | 
			
		||||
        g_value_set_int (value,
 | 
			
		||||
                         eek_keyboard_get_level (EEK_KEYBOARD(object)));
 | 
			
		||||
        break;
 | 
			
		||||
    case PROP_LAYOUT:
 | 
			
		||||
        g_value_set_object (value, priv->layout);
 | 
			
		||||
@ -434,6 +426,64 @@ eek_keyboard_get_keysym_index (EekKeyboard *keyboard,
 | 
			
		||||
    EEK_KEYBOARD_GET_CLASS(keyboard)->get_keysym_index (keyboard, group, level);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * eek_keyboard_set_group:
 | 
			
		||||
 * @keyboard: an #EekKeyboard
 | 
			
		||||
 * @group: group index of @keyboard
 | 
			
		||||
 *
 | 
			
		||||
 * Set the group index of symbol matrix of @keyboard.
 | 
			
		||||
 */
 | 
			
		||||
void
 | 
			
		||||
eek_keyboard_set_group (EekKeyboard *keyboard,
 | 
			
		||||
                        gint         group)
 | 
			
		||||
{
 | 
			
		||||
    gint level = eek_keyboard_get_level (keyboard);
 | 
			
		||||
    eek_keyboard_set_keysym_index (keyboard, group, level);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * eek_keyboard_set_level:
 | 
			
		||||
 * @keyboard: an #EekKeyboard
 | 
			
		||||
 * @level: level index of @keyboard
 | 
			
		||||
 *
 | 
			
		||||
 * Set the level index of symbol matrix of @keyboard.
 | 
			
		||||
 */
 | 
			
		||||
void
 | 
			
		||||
eek_keyboard_set_level (EekKeyboard *keyboard,
 | 
			
		||||
                        gint         level)
 | 
			
		||||
{
 | 
			
		||||
    gint group = eek_keyboard_get_group (keyboard);
 | 
			
		||||
    eek_keyboard_set_keysym_index (keyboard, group, level);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * eek_keyboard_get_group:
 | 
			
		||||
 * @keyboard: an #EekKeyboard
 | 
			
		||||
 *
 | 
			
		||||
 * Return the group index of @keyboard.
 | 
			
		||||
 */
 | 
			
		||||
gint
 | 
			
		||||
eek_keyboard_get_group (EekKeyboard *keyboard)
 | 
			
		||||
{
 | 
			
		||||
    gint group;
 | 
			
		||||
    eek_keyboard_get_keysym_index (keyboard, &group, NULL);
 | 
			
		||||
    return group;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * eek_keyboard_get_level:
 | 
			
		||||
 * @keyboard: an #EekKeyboard
 | 
			
		||||
 *
 | 
			
		||||
 * Return the level index of @keyboard.
 | 
			
		||||
 */
 | 
			
		||||
gint
 | 
			
		||||
eek_keyboard_get_level (EekKeyboard *keyboard)
 | 
			
		||||
{
 | 
			
		||||
    gint level;
 | 
			
		||||
    eek_keyboard_get_keysym_index (keyboard, NULL, &level);
 | 
			
		||||
    return level;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * eek_keyboard_create_section:
 | 
			
		||||
 * @keyboard: an #EekKeyboard
 | 
			
		||||
 | 
			
		||||
@ -100,6 +100,13 @@ void         eek_keyboard_get_keysym_index    (EekKeyboard *keyboard,
 | 
			
		||||
                                               gint        *group,
 | 
			
		||||
                                               gint        *level);
 | 
			
		||||
 | 
			
		||||
void         eek_keyboard_set_group           (EekKeyboard *keyboard,
 | 
			
		||||
                                               gint         group);
 | 
			
		||||
void         eek_keyboard_set_level           (EekKeyboard *keyboard,
 | 
			
		||||
                                               gint         level);
 | 
			
		||||
gint         eek_keyboard_get_group           (EekKeyboard *keyboard);
 | 
			
		||||
gint         eek_keyboard_get_level           (EekKeyboard *keyboard);
 | 
			
		||||
 | 
			
		||||
EekSection  *eek_keyboard_create_section      (EekKeyboard *keyboard);
 | 
			
		||||
 | 
			
		||||
EekKey      *eek_keyboard_find_key_by_keycode (EekKeyboard *keyboard,
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user