[Goodies-commits] r6640 - xfce4-xkb-plugin/trunk/panel-plugin
Alexander Iliev
sasoiliev at xfce.org
Tue Feb 3 23:29:47 CET 2009
Author: sasoiliev
Date: 2009-02-03 22:29:47 +0000 (Tue, 03 Feb 2009)
New Revision: 6640
Modified:
xfce4-xkb-plugin/trunk/panel-plugin/xfce4-xkb-plugin.c
xfce4-xkb-plugin/trunk/panel-plugin/xkb-config.c
xfce4-xkb-plugin/trunk/panel-plugin/xkb-settings-dialog.c
Log:
Added an option to not select the compose key position - bugzilla #4895
Modified: xfce4-xkb-plugin/trunk/panel-plugin/xfce4-xkb-plugin.c
===================================================================
--- xfce4-xkb-plugin/trunk/panel-plugin/xfce4-xkb-plugin.c 2009-02-03 22:03:02 UTC (rev 6639)
+++ xfce4-xkb-plugin/trunk/panel-plugin/xfce4-xkb-plugin.c 2009-02-03 22:29:47 UTC (rev 6640)
@@ -269,7 +269,9 @@
xfce_rc_write_entry (rcfile, "layouts", xkb->settings->kbd_config->layouts);
xfce_rc_write_entry (rcfile, "variants", xkb->settings->kbd_config->variants);
xfce_rc_write_entry (rcfile, "toggle_option", xkb->settings->kbd_config->toggle_option);
- xfce_rc_write_entry (rcfile, "compose_key_position", xkb->settings->kbd_config->compose_key_position);
+ if (xkb->settings->kbd_config->compose_key_position == NULL)
+ xfce_rc_write_entry (rcfile, "compose_key_position", "");
+ else xfce_rc_write_entry (rcfile, "compose_key_position", xkb->settings->kbd_config->compose_key_position);
}
xfce_rc_close (rcfile);
Modified: xfce4-xkb-plugin/trunk/panel-plugin/xkb-config.c
===================================================================
--- xfce4-xkb-plugin/trunk/panel-plugin/xkb-config.c 2009-02-03 22:03:02 UTC (rev 6639)
+++ xfce4-xkb-plugin/trunk/panel-plugin/xkb-config.c 2009-02-03 22:29:47 UTC (rev 6640)
@@ -288,7 +288,8 @@
config->config_rec->variants = g_strsplit_set (settings->kbd_config->variants, ",", 0);
options = g_strdup (settings->kbd_config->toggle_option);
- if (strlen (settings->kbd_config->compose_key_position) > 0)
+ if (settings->kbd_config->compose_key_position
+ && strlen (settings->kbd_config->compose_key_position) > 0)
{
gchar *tmp = options;
options = g_strconcat (options, ",", settings->kbd_config->compose_key_position, NULL);
@@ -300,6 +301,8 @@
/* select the first "grp" option and use it (should be fixed to support more options) */
g_free (settings->kbd_config->toggle_option);
settings->kbd_config->toggle_option = NULL;
+ g_free (settings->kbd_config->compose_key_position);
+ settings->kbd_config->compose_key_position = NULL;
opt = config->config_rec->options;
while (opt && *opt)
{
Modified: xfce4-xkb-plugin/trunk/panel-plugin/xkb-settings-dialog.c
===================================================================
--- xfce4-xkb-plugin/trunk/panel-plugin/xkb-settings-dialog.c 2009-02-03 22:03:02 UTC (rev 6639)
+++ xfce4-xkb-plugin/trunk/panel-plugin/xkb-settings-dialog.c 2009-02-03 22:29:47 UTC (rev 6640)
@@ -139,10 +139,20 @@
}
static void
-xkb_settings_add_combo_key_position_options_to_list (XklConfigRegistry * config_registry,
+xkb_settings_add_compose_key_position_options_to_list (XklConfigRegistry * config_registry,
XklConfigItem * config_item,
t_xkb *xkb)
{
+ /* add a possibility to set no position for the compose key */
+ if (config_item == NULL)
+ {
+ gtk_list_store_append (xkb->compose_key_options_store, &iter);
+ gtk_list_store_set (xkb->compose_key_options_store, &iter,
+ DESC, "-",
+ NOM, "", -1);
+ return;
+ }
+
char *utf_option_name = xci_desc_to_utf8 (config_item);
gtk_list_store_append (xkb->compose_key_options_store, &iter);
gtk_list_store_set (xkb->compose_key_options_store, &iter,
@@ -206,12 +216,17 @@
t_xkb_kbd_config *config = xkb->settings->kbd_config;
+ model = GTK_TREE_MODEL (xkb->compose_key_options_store);
+ gtk_tree_model_get_iter_first (model, &iter);
+ gtk_tree_model_get (model, &iter, NOM, &id, -1);
+
if (config->compose_key_position == NULL)
+ {
+ /* select the empty option if compose_key_position is null */
+ gtk_combo_box_set_active_iter (GTK_COMBO_BOX (xkb->compose_key_options_combo), &iter);
return;
+ }
- model = GTK_TREE_MODEL (xkb->compose_key_options_store);
- gtk_tree_model_get_iter_first (model, &iter);
- gtk_tree_model_get (model, &iter, NOM, &id, -1);
if (strcmp (id, config->compose_key_position) == 0)
{
gtk_combo_box_set_active_iter (GTK_COMBO_BOX (xkb->compose_key_options_combo), &iter);
@@ -512,9 +527,10 @@
xfce_framebox_add (XFCE_FRAMEBOX (frame), xkb->compose_key_options_combo);
gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (xkb->compose_key_options_combo), renderer, TRUE);
gtk_cell_layout_add_attribute (GTK_CELL_LAYOUT (xkb->compose_key_options_combo), renderer, "text", 0);
+ xkb_settings_add_compose_key_position_options_to_list (NULL, NULL, xkb);
xkl_config_registry_foreach_option (registry,
"Compose key",
- (ConfigItemProcessFunc) xkb_settings_add_combo_key_position_options_to_list,
+ (ConfigItemProcessFunc) xkb_settings_add_compose_key_position_options_to_list,
xkb);
gtk_tree_sortable_set_sort_column_id (GTK_TREE_SORTABLE (xkb->compose_key_options_store),
0, GTK_SORT_ASCENDING);
@@ -818,7 +834,10 @@
{
gtk_tree_model_get (model, &iter, NOM, &compose_key_position, -1);
g_free (kbd_config->compose_key_position);
- kbd_config->compose_key_position = g_strdup (compose_key_position);
+ if (strcmp ("", compose_key_position) == 0)
+ kbd_config->compose_key_position = NULL;
+ else kbd_config->compose_key_position = g_strdup (compose_key_position);
+
}
model = GTK_TREE_MODEL (xkb->layout_store);
More information about the Goodies-commits
mailing list