enable/disable default group depending on the WPG setting
This commit is contained in:
parent
9a171517c1
commit
7ecb79383c
3 changed files with 43 additions and 17 deletions
|
@ -127,6 +127,15 @@ update_model (GConfClient * client,
|
|||
enable_disable_restoring (dialog);
|
||||
}
|
||||
|
||||
static void
|
||||
chk_separate_group_per_window_toggled (GConfPropertyEditor *peditor,
|
||||
const gchar *key,
|
||||
const GConfValue *value,
|
||||
GladeXML* dialog)
|
||||
{
|
||||
xkb_layouts_enable_disable_default (dialog, value && gconf_value_get_bool (value));
|
||||
}
|
||||
|
||||
void
|
||||
setup_xkb_tabs (GladeXML * dialog, GConfChangeSet * changeset)
|
||||
{
|
||||
|
@ -147,7 +156,7 @@ setup_xkb_tabs (GladeXML * dialog, GConfChangeSet * changeset)
|
|||
(changeset, (gchar *) GSWITCHIT_CONFIG_KEY_GROUP_PER_WINDOW,
|
||||
WID ("chk_separate_group_per_window"), NULL);
|
||||
|
||||
/*g_signal_connect (peditor, "value-changed", (GCallback) left_handed_toggle_cb, WID ("orientation_image"));*/
|
||||
g_signal_connect (peditor, "value-changed", (GCallback)chk_separate_group_per_window_toggled , dialog);
|
||||
|
||||
/* tab 2 */
|
||||
/*fill_available_layouts_tree (dialog);*/
|
||||
|
@ -182,6 +191,10 @@ setup_xkb_tabs (GladeXML * dialog, GConfChangeSet * changeset)
|
|||
GSwitchItKbdConfigLoadInitial (&initialConfig);
|
||||
|
||||
enable_disable_restoring (dialog);
|
||||
xkb_layouts_enable_disable_default (dialog,
|
||||
gconf_client_get_bool (xkbGConfClient,
|
||||
GSWITCHIT_CONFIG_KEY_GROUP_PER_WINDOW,
|
||||
NULL));
|
||||
}
|
||||
|
||||
void
|
||||
|
|
|
@ -69,6 +69,9 @@ extern void choose_model (GladeXML * dialog);
|
|||
|
||||
extern void xkb_layout_choose (GladeXML * dialog);
|
||||
|
||||
extern void xkb_layouts_enable_disable_default (GladeXML * dialog,
|
||||
gboolean enable);
|
||||
|
||||
#define xkb_layouts_get_selected_list() \
|
||||
gconf_client_get_list (gconf_client_get_default (), \
|
||||
GSWITCHIT_KBD_CONFIG_KEY_LAYOUTS, \
|
||||
|
|
|
@ -58,6 +58,9 @@ static int idx2Select = -1;
|
|||
static int maxSelectedLayouts = -1;
|
||||
static int defaultGroup = -1;
|
||||
|
||||
static GtkCellRenderer *textRenderer;
|
||||
static GtkCellRenderer *toggleRenderer;
|
||||
|
||||
void
|
||||
clear_xkb_elements_list (GSList * list)
|
||||
{
|
||||
|
@ -232,29 +235,36 @@ xkb_layout_chooser_enable_disable_buttons (GladeXML * chooserDialog)
|
|||
GTK_RESPONSE_OK, nSelectedAvailableLayouts > 0);
|
||||
}
|
||||
|
||||
void xkb_layouts_enable_disable_default (GladeXML * dialog,
|
||||
gboolean enable)
|
||||
{
|
||||
GValue val = {0};
|
||||
g_value_init (&val, G_TYPE_BOOLEAN);
|
||||
g_value_set_boolean (&val, enable);
|
||||
g_object_set_property (G_OBJECT (toggleRenderer), "activatable", &val);
|
||||
}
|
||||
|
||||
void
|
||||
xkb_layouts_prepare_selected_tree (GladeXML * dialog, GConfChangeSet * changeset)
|
||||
{
|
||||
GtkListStore *listStore =
|
||||
gtk_list_store_new (3, G_TYPE_STRING, G_TYPE_BOOLEAN, G_TYPE_STRING);
|
||||
GtkWidget *treeView = WID ("xkb_layouts_selected");
|
||||
GtkCellRenderer *textRenderer =
|
||||
GTK_CELL_RENDERER (gtk_cell_renderer_text_new ());
|
||||
GtkCellRenderer *toggleRenderer =
|
||||
GTK_CELL_RENDERER (gtk_cell_renderer_toggle_new ());
|
||||
GtkTreeViewColumn * descColumn, * defColumn;
|
||||
GtkTreeSelection *selection;
|
||||
|
||||
GtkTreeViewColumn *descColumn = gtk_tree_view_column_new_with_attributes (_("Layout"),
|
||||
textRenderer,
|
||||
"text",
|
||||
SLT_COL_DESCRIPTION,
|
||||
NULL);
|
||||
GtkTreeViewColumn *defColumn = gtk_tree_view_column_new_with_attributes (_("Default"),
|
||||
toggleRenderer,
|
||||
"active",
|
||||
SLT_COL_DEFAULT,
|
||||
NULL);
|
||||
GtkTreeSelection *selection =
|
||||
gtk_tree_view_get_selection (GTK_TREE_VIEW (treeView));
|
||||
textRenderer = GTK_CELL_RENDERER (gtk_cell_renderer_text_new ());
|
||||
toggleRenderer = GTK_CELL_RENDERER (gtk_cell_renderer_toggle_new ());
|
||||
|
||||
descColumn = gtk_tree_view_column_new_with_attributes (_("Layout"),
|
||||
textRenderer,
|
||||
"text", SLT_COL_DESCRIPTION,
|
||||
NULL);
|
||||
defColumn = gtk_tree_view_column_new_with_attributes (_("Default"),
|
||||
toggleRenderer,
|
||||
"active", SLT_COL_DEFAULT,
|
||||
NULL);
|
||||
selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (treeView));
|
||||
|
||||
gtk_tree_view_set_model (GTK_TREE_VIEW (treeView),
|
||||
GTK_TREE_MODEL (listStore));
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue