a bit more cleanup
svn path=/trunk/; revision=7420
This commit is contained in:
parent
a3cac171e0
commit
d173601ca5
4 changed files with 46 additions and 31 deletions
|
@ -29,11 +29,6 @@
|
||||||
#include "libgnomekbd/gkbd-keyboard-config.h"
|
#include "libgnomekbd/gkbd-keyboard-config.h"
|
||||||
|
|
||||||
G_BEGIN_DECLS
|
G_BEGIN_DECLS
|
||||||
#define SEL_LAYOUT_TREE_COL_DESCRIPTION 0
|
|
||||||
#define SEL_LAYOUT_TREE_COL_DEFAULT 1
|
|
||||||
#define SEL_LAYOUT_TREE_COL_ID 2
|
|
||||||
#define AVAIL_LAYOUT_TREE_COL_DESCRIPTION 0
|
|
||||||
#define AVAIL_LAYOUT_TREE_COL_ID 1
|
|
||||||
#define CWID(s) glade_xml_get_widget (chooser_dialog, s)
|
#define CWID(s) glade_xml_get_widget (chooser_dialog, s)
|
||||||
extern XklEngine *engine;
|
extern XklEngine *engine;
|
||||||
extern XklConfigRegistry *config_registry;
|
extern XklConfigRegistry *config_registry;
|
||||||
|
@ -100,5 +95,8 @@ extern GtkWidget *xkb_layout_preview_create_widget (GladeXML *
|
||||||
|
|
||||||
extern void xkb_layout_preview_update (GladeXML * chooser_dialog);
|
extern void xkb_layout_preview_update (GladeXML * chooser_dialog);
|
||||||
|
|
||||||
|
extern gchar *xkb_layout_chooser_get_selected_id (GladeXML *
|
||||||
|
chooser_dialog);
|
||||||
|
|
||||||
G_END_DECLS
|
G_END_DECLS
|
||||||
#endif /* __GNOME_KEYBOARD_PROPERTY_XKB_H */
|
#endif /* __GNOME_KEYBOARD_PROPERTY_XKB_H */
|
||||||
|
|
|
@ -35,6 +35,10 @@
|
||||||
|
|
||||||
#include "gnome-keyboard-properties-xkb.h"
|
#include "gnome-keyboard-properties-xkb.h"
|
||||||
|
|
||||||
|
#define SEL_LAYOUT_TREE_COL_DESCRIPTION 0
|
||||||
|
#define SEL_LAYOUT_TREE_COL_DEFAULT 1
|
||||||
|
#define SEL_LAYOUT_TREE_COL_ID 2
|
||||||
|
|
||||||
static int idx2select = -1;
|
static int idx2select = -1;
|
||||||
static int max_selected_layouts = -1;
|
static int max_selected_layouts = -1;
|
||||||
static int default_group = -1;
|
static int default_group = -1;
|
||||||
|
@ -219,8 +223,8 @@ xkb_layouts_prepare_selected_tree (GladeXML * dialog,
|
||||||
text_renderer = GTK_CELL_RENDERER (gtk_cell_renderer_text_new ());
|
text_renderer = GTK_CELL_RENDERER (gtk_cell_renderer_text_new ());
|
||||||
toggle_renderer =
|
toggle_renderer =
|
||||||
GTK_CELL_RENDERER (gtk_cell_renderer_toggle_new ());
|
GTK_CELL_RENDERER (gtk_cell_renderer_toggle_new ());
|
||||||
gtk_cell_renderer_toggle_set_radio (
|
gtk_cell_renderer_toggle_set_radio (GTK_CELL_RENDERER_TOGGLE
|
||||||
GTK_CELL_RENDERER_TOGGLE (toggle_renderer), TRUE);
|
(toggle_renderer), TRUE);
|
||||||
|
|
||||||
desc_column =
|
desc_column =
|
||||||
gtk_tree_view_column_new_with_attributes (_("Layout"),
|
gtk_tree_view_column_new_with_attributes (_("Layout"),
|
||||||
|
|
|
@ -37,6 +37,9 @@
|
||||||
#define GROUP_SWITCHERS_GROUP "grp"
|
#define GROUP_SWITCHERS_GROUP "grp"
|
||||||
#define DEFAULT_GROUP_SWITCH "grp:alts_toggle"
|
#define DEFAULT_GROUP_SWITCH "grp:alts_toggle"
|
||||||
|
|
||||||
|
#define AVAIL_LAYOUT_TREE_COL_DESCRIPTION 0
|
||||||
|
#define AVAIL_LAYOUT_TREE_COL_ID 1
|
||||||
|
|
||||||
static GtkTreeIter current1st_level_iter;
|
static GtkTreeIter current1st_level_iter;
|
||||||
static const char *current1st_level_id;
|
static const char *current1st_level_id;
|
||||||
|
|
||||||
|
@ -289,3 +292,22 @@ xkb_layout_choose (GladeXML * dialog)
|
||||||
gtk_dialog_run (GTK_DIALOG (chooser));
|
gtk_dialog_run (GTK_DIALOG (chooser));
|
||||||
gtk_widget_destroy (chooser);
|
gtk_widget_destroy (chooser);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
gchar *
|
||||||
|
xkb_layout_chooser_get_selected_id (GladeXML * chooser_dialog)
|
||||||
|
{
|
||||||
|
GtkWidget *available_layouts_tree = CWID ("xkb_layouts_available");
|
||||||
|
GtkTreeSelection *selection =
|
||||||
|
gtk_tree_view_get_selection (GTK_TREE_VIEW
|
||||||
|
(available_layouts_tree));
|
||||||
|
GtkTreeIter selected_iter;
|
||||||
|
GtkTreeModel *model;
|
||||||
|
if (gtk_tree_selection_get_selected (selection, &model,
|
||||||
|
&selected_iter)) {
|
||||||
|
gchar *id;
|
||||||
|
gtk_tree_model_get (model, &selected_iter,
|
||||||
|
AVAIL_LAYOUT_TREE_COL_ID, &id, -1);
|
||||||
|
return id;
|
||||||
|
}
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
|
@ -72,24 +72,15 @@ xkb_layout_preview_update (GladeXML * chooser_dialog)
|
||||||
{
|
{
|
||||||
#ifdef HAVE_X11_EXTENSIONS_XKB_H
|
#ifdef HAVE_X11_EXTENSIONS_XKB_H
|
||||||
GtkWidget *chooser = CWID ("xkb_layout_chooser");
|
GtkWidget *chooser = CWID ("xkb_layout_chooser");
|
||||||
GtkWidget *available_layouts_tree = CWID ("xkb_layouts_available");
|
|
||||||
GtkTreeSelection *selection =
|
|
||||||
gtk_tree_view_get_selection (GTK_TREE_VIEW
|
|
||||||
(available_layouts_tree));
|
|
||||||
GtkTreeIter selected_iter;
|
|
||||||
GtkTreeModel *model;
|
|
||||||
GtkWidget *kbdraw =
|
GtkWidget *kbdraw =
|
||||||
GTK_WIDGET (g_object_get_data (G_OBJECT (chooser), "kbdraw"));
|
GTK_WIDGET (g_object_get_data (G_OBJECT (chooser), "kbdraw"));
|
||||||
if (kbdraw != NULL
|
gchar *id = xkb_layout_chooser_get_selected_id (chooser_dialog);
|
||||||
&& gtk_tree_selection_get_selected (selection, &model,
|
|
||||||
&selected_iter)) {
|
if (kbdraw != NULL && id != NULL) {
|
||||||
gchar *id;
|
|
||||||
XklConfigRec *data;
|
XklConfigRec *data;
|
||||||
char **p, *layout, *variant;
|
char **p, *layout, *variant;
|
||||||
XkbComponentNamesRec component_names;
|
XkbComponentNamesRec component_names;
|
||||||
|
|
||||||
gtk_tree_model_get (model, &selected_iter,
|
|
||||||
AVAIL_LAYOUT_TREE_COL_ID, &id, -1);
|
|
||||||
data = xkl_config_rec_new ();
|
data = xkl_config_rec_new ();
|
||||||
if (xkl_config_rec_get_from_server (data, engine)) {
|
if (xkl_config_rec_get_from_server (data, engine)) {
|
||||||
if ((p = data->layouts) != NULL)
|
if ((p = data->layouts) != NULL)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue