diff options
author | Sergey V. Udaltsov <svu@gnome.org> | 2011-01-04 21:13:35 +0000 |
---|---|---|
committer | Sergey V. Udaltsov <svu@gnome.org> | 2011-01-04 21:13:35 +0000 |
commit | 2e76ce5ece796a39fc9af690b48a06c2b67d32f5 (patch) | |
tree | d556516f4806d911bb3b3e4eb2532864fa84decd /libgnomekbd/gkbd-configuration.c | |
parent | d7786f60cca7353a83183afbaccc8e2182a464fb (diff) | |
download | libgnomekbd-2e76ce5ece796a39fc9af690b48a06c2b67d32f5.tar.gz |
added gkbd_configuration_get_current_group
For js API
Diffstat (limited to 'libgnomekbd/gkbd-configuration.c')
-rw-r--r-- | libgnomekbd/gkbd-configuration.c | 40 |
1 files changed, 25 insertions, 15 deletions
diff --git a/libgnomekbd/gkbd-configuration.c b/libgnomekbd/gkbd-configuration.c index 4971887..a592683 100644 --- a/libgnomekbd/gkbd-configuration.c +++ b/libgnomekbd/gkbd-configuration.c @@ -109,8 +109,10 @@ gkbd_configuration_load_group_names (GkbdConfiguration * configuration, xklrec->layouts, (const char **) xklrec->variants, - &priv->short_group_names, - &priv->full_group_names)) + &priv-> + short_group_names, + &priv-> + full_group_names)) { /* We just populate no short names (remain NULL) - * full names are going to be used anyway */ @@ -356,8 +358,8 @@ gkbd_configuration_get_image_filename (GkbdConfiguration * configuration, { if (!configuration->priv->ind_cfg.show_flags) return NULL; - return (gchar *) g_slist_nth_data (configuration->priv-> - ind_cfg.image_filenames, group); + return (gchar *) g_slist_nth_data (configuration->priv->ind_cfg. + image_filenames, group); } /** @@ -383,8 +385,8 @@ gkbd_configuration_get_current_tooltip (GkbdConfiguration * configuration) return NULL; return g_strdup_printf (configuration->priv->tooltips_format, - configuration-> - priv->full_group_names[state->group]); + configuration->priv-> + full_group_names[state->group]); } gboolean @@ -405,8 +407,8 @@ gkbd_configuration_extract_layout_name (GkbdConfiguration * configuration, if (xkl_engine_get_features (engine) & XKLF_MULTIPLE_LAYOUTS_SUPPORTED) { char *full_layout_name = - configuration->priv-> - kbd_cfg.layouts_variants[group]; + configuration->priv->kbd_cfg. + layouts_variants[group]; char *variant_name; if (!gkbd_keyboard_config_split_items (full_layout_name, &layout_name, @@ -446,11 +448,19 @@ gkbd_configuration_lock_next_group (GkbdConfiguration * configuration) } void -gkbd_configuration_lock_group (GkbdConfiguration * configuration, guint group) +gkbd_configuration_lock_group (GkbdConfiguration * configuration, + guint group) { xkl_engine_lock_group (configuration->priv->engine, group); } +guint +gkbd_configuration_get_current_group (GkbdConfiguration * configuration) +{ + XklState *state = + xkl_engine_get_current_state (configuration->priv->engine); + return state ? state->group : 0; +} /** * gkbd_configuration_get_indicator_config: @@ -509,10 +519,10 @@ gkbd_configuration_load_images (GkbdConfiguration * configuration) GSList *image_filename, *images; images = NULL; - gkbd_indicator_config_load_image_filenames (&configuration->priv-> - ind_cfg, - &configuration->priv-> - kbd_cfg); + gkbd_indicator_config_load_image_filenames (&configuration-> + priv->ind_cfg, + &configuration-> + priv->kbd_cfg); if (!configuration->priv->ind_cfg.show_flags) return NULL; @@ -548,8 +558,8 @@ gkbd_configuration_free_images (GkbdConfiguration * configuration, GdkPixbuf *pi; GSList *img_node; - gkbd_indicator_config_free_image_filenames (&configuration->priv-> - ind_cfg); + gkbd_indicator_config_free_image_filenames (&configuration-> + priv->ind_cfg); while ((img_node = images) != NULL) { pi = GDK_PIXBUF (img_node->data); |