Merge pull request 'master' (#6) from YanTheKaller/ubl-settings-keyboard:master into master

Reviewed-on: #6
pull/15/head^2 v2.0
Dmitry Razumov 7 months ago
commit d0232cf2ac

@ -112,12 +112,13 @@ gboolean yon_interface_update(main_window *widgets){
gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->NumLockCombo),0);
GtkTreeIter iter;
gtk_entry_set_text(GTK_ENTRY(widgets->OptionsEntry),DEFAULT_LABEL);
char *name = yon_config_get_by_key("XkbModel");
{
char *name = yon_config_get_by_key(model_parameter);
char *id;
if (name) {
int valid = gtk_tree_model_get_iter_first(GTK_TREE_MODEL(widgets->modelsList),&iter);
for (;valid;valid=gtk_tree_model_iter_next(GTK_TREE_MODEL(widgets->modelsList),&iter)){
gtk_tree_model_get(GTK_TREE_MODEL(widgets->modelsList),&iter,0,&id,-1);
gtk_tree_model_get(GTK_TREE_MODEL(widgets->modelsList),&iter,1,&id,-1);
if (!strcmp(name,id)){
gtk_combo_box_set_active_iter(GTK_COMBO_BOX(widgets->ModelCombo),&iter);
break;
@ -125,18 +126,25 @@ gboolean yon_interface_update(main_window *widgets){
}
} else gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->ModelCombo),0);
free(name);
name = yon_config_get_by_key("XkbOptions");
}
{
char *name = yon_config_get_by_key(options_parameter);
if (name) {
char *id, *rname;
gtk_entry_set_text(GTK_ENTRY(widgets->OptionsEntry),name);
int valid = gtk_tree_model_get_iter_first(GTK_TREE_MODEL(main_config.options_list),&iter);
for (;valid;valid=gtk_tree_model_iter_next(GTK_TREE_MODEL(main_config.options_list),&iter)){
gtk_tree_model_get(GTK_TREE_MODEL(main_config.options_list),&iter,0,&id,1,&rname,-1);
if (!strcmp(id,name)) gtk_entry_set_text(GTK_ENTRY(widgets->OptionsEntry),rname);
if (!strcmp(id,name)){
gtk_entry_set_text(GTK_ENTRY(widgets->OptionsEntry),rname);
break;
}
}
}
free(name);
name = yon_config_get_by_key("NUMLOCK");
}
{
char *name = yon_config_get_by_key(num_lock_boot_parameter);
if (name) {
if (!strcmp(name,"yes")) gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->NumLockCombo),1);
else if (!strcmp(name,"no")) gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->NumLockCombo),2);
@ -145,14 +153,13 @@ gboolean yon_interface_update(main_window *widgets){
free(name);
if (main_config.layouts_list){
int size=0;
name = yon_config_get_by_key("XkbLayout");
name = yon_config_get_by_key(keyboard_layout_parameter);
config_str layouts = yon_char_parse(name,&size,",");
GtkTreeIter iter;
char *rid,*rname;
gtk_list_store_clear(widgets->layoutsList);
for (int i=0;i<size;i++){
int valid = gtk_tree_model_get_iter_first(GTK_TREE_MODEL(main_config.layouts_list),&iter);
for (;valid;valid=gtk_tree_model_iter_next(GTK_TREE_MODEL(main_config.layouts_list),&iter)){
for_iter(main_config.layouts_list,&iter){
gtk_tree_model_get(GTK_TREE_MODEL(main_config.layouts_list),&iter,0,&rid,1,&rname,-1);
if (!strcmp(layouts[i],rid)){
gtk_list_store_append(widgets->layoutsList,&iter);
@ -161,6 +168,7 @@ gboolean yon_interface_update(main_window *widgets){
}
}
}
}
return G_SOURCE_REMOVE;
}

@ -35,11 +35,11 @@
#define options_parameter "XKBOPTIONS"
#define options_parameter_command "ubconfig --source global get keyboard XKBOPTIONS"
#define num_lock_boot_parameter "NUMLOCK"
#define num_lock_boot_parameter_command "ubconfig --source global get config NUMLOCK"
#define num_lock_boot_parameter_command "ubconfig --source global get keyboard NUMLOCK"
#define yon_config_get_custom_command(target) yon_char_unite("ubconfig --source ",target," get config NUMLOCK; ubconfig --source ",target," get keyboard XKBMODEL XKBLAYOUT XKBOPTIONS",NULL)
#define config_get_local_command "ubconfig --source system get config NUMLOCK; ubconfig --source global get keyboard XKBMODEL XKBLAYOUT XKBOPTIONS"
#define config_get_global_command "ubconfig --source global get config NUMLOCK; ubconfig --source global get keyboard XKBMODEL XKBLAYOUT XKBOPTIONS"
#define yon_config_get_custom_command(target) yon_char_unite("ubconfig --source ",target," get keyboard XKBMODEL XKBLAYOUT XKBOPTIONS NUMLOCK",NULL)
#define config_get_local_command "ubconfig --source system get keyboard XKBMODEL XKBLAYOUT XKBOPTIONS NUMLOCK"
#define config_get_global_command "ubconfig --source global get keyboard XKBMODEL XKBLAYOUT XKBOPTIONS NUMLOCK"
#define config_get_default_command ""
#define config_get_global_only_parameters ""

Loading…
Cancel
Save