Merge pull request 'master' (#95) from YanTheKaller/ubinstall-gtk:master into master

Reviewed-on: #95
master
Dmitry Razumov 4 months ago
commit e09aad9ad3

@ -31,6 +31,7 @@ int yon_kernel_save(main_window *widgets){
} }
int yon_kernel_addon_save(main_window *widgets){ int yon_kernel_addon_save(main_window *widgets){
yon_kernel_save(widgets);
GList *list = gtk_container_get_children(GTK_CONTAINER(widgets->KernelAddonListBox)); GList *list = gtk_container_get_children(GTK_CONTAINER(widgets->KernelAddonListBox));
char *install_modules = ""; char *install_modules = "";
for(GList *iter = list;iter;iter = iter->next){ for(GList *iter = list;iter;iter = iter->next){
@ -44,7 +45,7 @@ int yon_kernel_addon_save(main_window *widgets){
if (!yon_char_is_empty(install_modules)){ if (!yon_char_is_empty(install_modules)){
char *parameter = config(modules_extra_parameter); char *parameter = config(modules_extra_parameter);
char *parameter_new = yon_char_unite(!yon_char_is_empty(parameter)?parameter:"",!yon_char_is_empty(parameter)?",":"",install_modules,NULL); char *parameter_new = yon_char_unite(!yon_char_is_empty(parameter)?parameter:"",!yon_char_is_empty(parameter)?" ":"",install_modules,NULL);
yon_config_register(modules_extra_parameter,modules_extra_parameter_command,parameter_new); yon_config_register(modules_extra_parameter,modules_extra_parameter_command,parameter_new);
free(parameter_new); free(parameter_new);
} }
@ -160,7 +161,7 @@ void yon_os_components_init(main_window *widgets){
if (yon_char_parsed_check_exist(parsed,parsed_size,target)>-1){ if (yon_char_parsed_check_exist(parsed,parsed_size,target)>-1){
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(row->InstallCheck),1); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(row->InstallCheck),1);
} else { } else {
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(row->InstallCheck),1); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(row->InstallCheck),0);
} }
} }
yon_char_parsed_free(parsed,parsed_size); yon_char_parsed_free(parsed,parsed_size);
@ -246,6 +247,7 @@ int yon_pacman_software_save(main_window *widgets){
} }
void yon_pacman_init(main_window *widgets){ void yon_pacman_init(main_window *widgets){
gtk_list_store_clear(widgets->PacmanSoftwareChosenList);
char *pacman_packages = config(packages_parameter); char *pacman_packages = config(packages_parameter);
int size; int size;

@ -1,57 +1,42 @@
#include "ubinstall-gtk.h" #include "ubinstall-gtk.h"
void on_layout_toggle_button_switch(GtkWidget *self, main_window *widgets){
if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(self))){
gtk_widget_set_sensitive(widgets->DefaultLayoutRadio,1);
gtk_widget_set_sensitive(widgets->ManualLayoutRadio,1);
if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->ManualLayoutRadio))){
gtk_widget_set_sensitive(widgets->LayoutTree,1);
gtk_widget_set_sensitive(widgets->AddButton,1);
gtk_widget_set_sensitive(widgets->RemoveButton,1);
} else {
gtk_widget_set_sensitive(widgets->LayoutTree,0);
gtk_widget_set_sensitive(widgets->AddButton,0);
gtk_widget_set_sensitive(widgets->RemoveButton,0);
}
} else {
gtk_widget_set_sensitive(widgets->DefaultLayoutRadio,0);
gtk_widget_set_sensitive(widgets->ManualLayoutRadio,0);
gtk_widget_set_sensitive(widgets->LayoutTree,0);
gtk_widget_set_sensitive(widgets->AddButton,0);
gtk_widget_set_sensitive(widgets->RemoveButton,0);
}
}
int yon_keyboard_save(main_window *widgets){ int yon_keyboard_save(main_window *widgets){
if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->ManualLayoutRadio))){ GtkTreeIter iter,iter_child;
GtkTreeIter iter;
if (!gtk_tree_model_get_iter_first(GTK_TREE_MODEL(widgets->LayoutList),&iter)){ if (!gtk_tree_model_get_iter_first(GTK_TREE_MODEL(widgets->LayoutList),&iter)){
yon_ubl_status_box_spawn(GTK_CONTAINER(widgets->StatusBox),LAYOUTS_CHOSEN_BUT_EMPTY_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE); yon_ubl_status_box_spawn(GTK_CONTAINER(widgets->StatusBox),LAYOUTS_CHOSEN_BUT_EMPTY_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE);
yon_ubl_status_highlight_incorrect(widgets->ManualLayoutRadio);
yon_ubl_status_highlight_incorrect(gtk_widget_get_parent(widgets->LayoutTree)); yon_ubl_status_highlight_incorrect(gtk_widget_get_parent(widgets->LayoutTree));
return 0; return 0;
} }
}
char *layouts_list=""; char *layouts_list="";
if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->ManualLayoutRadio))&&gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->LayoutSensitiveCheck))){
GtkTreeModel *layouts_model=GTK_TREE_MODEL(widgets->LayoutList); GtkTreeModel *layouts_model=GTK_TREE_MODEL(widgets->LayoutList);
GtkTreeIter iter;
char *cur_layout=NULL; char *cur_layout=NULL;
for_iter(layouts_model,&iter){ for_iter(layouts_model,&iter){
int chosen=0; int chosen=0;
gtk_tree_model_get(layouts_model,&iter,0,&cur_layout,3,&chosen,-1); int primary=0;
gtk_tree_model_get(layouts_model,&iter,0,&cur_layout,3,&chosen,4,&primary,-1);
if (chosen) if (chosen)
layouts_list = yon_char_unite(layouts_list,yon_char_is_empty(layouts_list)?"":",",cur_layout,NULL); layouts_list = yon_char_unite(layouts_list,yon_char_is_empty(layouts_list)?"":",",cur_layout,NULL);
if (primary){
yon_config_register(xkbvariant_parameter,xkbvariant_parameter_command,cur_layout);
}
if (gtk_tree_model_iter_children(layouts_model,&iter_child,&iter)){
for(int valid2=1;valid2;valid2 = gtk_tree_model_iter_next(GTK_TREE_MODEL(widgets->LayoutList),&iter_child)){
gtk_tree_model_get(layouts_model,&iter_child,0,&cur_layout,3,&chosen,4,&primary,-1);
if (chosen)
layouts_list = yon_char_unite(layouts_list,yon_char_is_empty(layouts_list)?"":",",cur_layout,NULL);
if (primary){
yon_config_register(xkbvariant_parameter,xkbvariant_parameter_command,cur_layout);
}
}
}
} }
}
if (yon_char_is_empty(layouts_list)&&gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->LayoutSensitiveCheck))) if (!yon_char_is_empty(layouts_list))
yon_config_register(xkblayout_parameter,xkblayout_parameter_command,layouts_list); yon_config_register(xkblayout_parameter,xkblayout_parameter_command,layouts_list);
else else
yon_config_remove_by_key(xkblayout_parameter); yon_config_remove_by_key(xkblayout_parameter);
if (gtk_combo_box_get_active(GTK_COMBO_BOX(widgets->KeyboardModelCombo))&&gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->KeyboardModelSensitiveCheck))){ if (gtk_combo_box_get_active(GTK_COMBO_BOX(widgets->KeyboardModelCombo))){
char *model = (char*)gtk_combo_box_get_active_id(GTK_COMBO_BOX(widgets->KeyboardModelCombo)); char *model = (char*)gtk_combo_box_get_active_id(GTK_COMBO_BOX(widgets->KeyboardModelCombo));
if (!yon_char_is_empty(model)) if (!yon_char_is_empty(model))
yon_config_register(xkbmodel_parameter,xkbmodel_parameter_command,model); yon_config_register(xkbmodel_parameter,xkbmodel_parameter_command,model);
@ -59,7 +44,7 @@ int yon_keyboard_save(main_window *widgets){
yon_config_remove_by_key(xkbmodel_parameter); yon_config_remove_by_key(xkbmodel_parameter);
} }
if (gtk_combo_box_get_active(GTK_COMBO_BOX(widgets->LayoutBindingCombo))&&gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->OptionsSensitiveCheck))){ if (gtk_combo_box_get_active(GTK_COMBO_BOX(widgets->LayoutBindingCombo))){
char *options = (char*)gtk_combo_box_get_active_id(GTK_COMBO_BOX(widgets->LayoutBindingCombo)); char *options = (char*)gtk_combo_box_get_active_id(GTK_COMBO_BOX(widgets->LayoutBindingCombo));
if (options){}; if (options){};
yon_config_register(xkboptions_parameter,xkboptions_parameter_command,options); yon_config_register(xkboptions_parameter,xkboptions_parameter_command,options);
@ -240,6 +225,7 @@ void on_keyboard_clicked (GtkWidget *, main_window *widgets){
ubinstall_keyboard_window *window = yon_ubinstall_keyboard_new(); ubinstall_keyboard_window *window = yon_ubinstall_keyboard_new();
yon_gtk_window_setup(GTK_WINDOW(window->MainWindow),GTK_WINDOW(widgets->MainWindow),KEYBOARD_TITLE_LABEL,icon_path,"keyboard-window"); yon_gtk_window_setup(GTK_WINDOW(window->MainWindow),GTK_WINDOW(widgets->MainWindow),KEYBOARD_TITLE_LABEL,icon_path,"keyboard-window");
gtk_tree_view_set_model(GTK_TREE_VIEW(window->LayoutsTree),GTK_TREE_MODEL(widgets->LayoutList)); gtk_tree_view_set_model(GTK_TREE_VIEW(window->LayoutsTree),GTK_TREE_MODEL(widgets->LayoutList));
gtk_tree_view_column_clicked(gtk_tree_view_get_column(GTK_TREE_VIEW(window->LayoutsTree),1));
g_signal_connect(G_OBJECT(window->ActiveToggle),"toggled",G_CALLBACK(on_layout_toggle),window); g_signal_connect(G_OBJECT(window->ActiveToggle),"toggled",G_CALLBACK(on_layout_toggle),window);
g_signal_connect(G_OBJECT(window->SaveButton),"clicked",G_CALLBACK(on_keyboard_accept),widgets); g_signal_connect(G_OBJECT(window->SaveButton),"clicked",G_CALLBACK(on_keyboard_accept),widgets);
@ -257,7 +243,7 @@ void yon_layout_build(char *key, GHashTable *value, main_window *widgets){
for (iterator=list;iterator;iterator=iterator->next){ for (iterator=list;iterator;iterator=iterator->next){
if (!yon_char_is_empty((char*)iterator->data)){ if (!yon_char_is_empty((char*)iterator->data)){
gtk_tree_store_append(widgets->LayoutList,&iter,&parent); gtk_tree_store_append(widgets->LayoutList,&iter,&parent);
gtk_tree_store_set(widgets->LayoutList,&iter,0,(char*)iterator->data,1,_((char*)g_hash_table_lookup(value,iterator->data)),2,1,3,0,-1); gtk_tree_store_set(widgets->LayoutList,&iter,0,(char*)iterator->data,1,_((char*)g_hash_table_lookup(value,iterator->data)),2,1,3,0,4,0,-1);
} }
} }
} }
@ -297,6 +283,7 @@ void yon_keyboard_init(main_window *widgets){
char *keyboard = config(xkbmodel_parameter); char *keyboard = config(xkbmodel_parameter);
char *option_parameter = config(xkboptions_parameter); char *option_parameter = config(xkboptions_parameter);
char *layouts = config(xkblayout_parameter); char *layouts = config(xkblayout_parameter);
char *variant = config(xkbvariant_parameter);
if (!yon_char_is_empty(keyboard)){ if (!yon_char_is_empty(keyboard)){
gtk_combo_box_set_active_id(GTK_COMBO_BOX(widgets->KeyboardModelCombo),keyboard); gtk_combo_box_set_active_id(GTK_COMBO_BOX(widgets->KeyboardModelCombo),keyboard);
@ -311,25 +298,69 @@ void yon_keyboard_init(main_window *widgets){
} }
if (!yon_char_is_empty(layouts)){ if (!yon_char_is_empty(layouts)){
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widgets->LayoutSensitiveCheck),1);
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widgets->ManualLayoutRadio),1);
int parsed_size; int parsed_size;
config_str parsed = yon_char_parse(layouts,&parsed_size,","); config_str parsed = yon_char_parse(layouts,&parsed_size,",");
GtkTreeIter iter; GtkTreeIter iter, chiter;
GtkTreeModel *model = GTK_TREE_MODEL(widgets->LayoutList); GtkTreeModel *model = GTK_TREE_MODEL(widgets->LayoutList);
for_iter(model,&iter){ for_iter(model,&iter){
char *target; char *target;
gtk_tree_model_get(model,&iter,0,&target,-1); gtk_tree_model_get(model,&iter,0,&target,-1);
if (yon_char_parsed_check_exist(parsed,parsed_size,target)>-1){ if (yon_char_parsed_check_exist(parsed,parsed_size,target)>-1){
gtk_tree_store_set(widgets->LayoutList,&iter,2,1,3,1,-1); gtk_tree_store_set(widgets->LayoutList,&iter,2,1,3,1,-1);
if (!strcmp(variant,target)){
gtk_tree_store_set(widgets->LayoutList,&iter,4,1,-1);
} else {
gtk_tree_store_set(widgets->LayoutList,&iter,4,0,-1);
}
for (int valid2 = gtk_tree_model_iter_children(model,&chiter,&iter);valid2;valid2 = gtk_tree_model_iter_next(model,&chiter)){
gtk_tree_model_get(model,&chiter,0,&target,-1);
if (yon_char_parsed_check_exist(parsed,parsed_size,target)>-1){
gtk_tree_store_set(widgets->LayoutList,&chiter,2,1,3,1,-1);
if (!strcmp(variant,target)){
gtk_tree_store_set(widgets->LayoutList,&chiter,4,1,-1);
}
} else {
gtk_tree_store_set(widgets->LayoutList,&chiter,3,0,4,0,-1);
}
}
} else { } else {
gtk_tree_store_set(widgets->LayoutList,&iter,3,0,-1); gtk_tree_store_set(widgets->LayoutList,&iter,3,0,4,0,-1);
} }
} }
} else { } else {
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widgets->LayoutSensitiveCheck),0); }
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widgets->DefaultLayoutRadio),1); }
void on_keyboard_layout_chosen(GtkCellRenderer *, gchar *path, main_window *widgets){
GtkTreeIter iter, itar, itor, itur;
gtk_tree_model_get_iter_from_string(GTK_TREE_MODEL(widgets->LayoutsFilter),&iter,path);
int status;
char *target;
gtk_tree_model_filter_convert_iter_to_child_iter(GTK_TREE_MODEL_FILTER(widgets->LayoutsFilter),&itur,&iter);
gtk_tree_model_get(GTK_TREE_MODEL(widgets->LayoutList),&itur,4,&status,1,&target,-1);
// g_signal_handlers_block_by_func(self,G_CALLBACK(on_keyboard_layout_chosen),widgets);
for_iter(GTK_TREE_MODEL(widgets->LayoutsFilter),&itar){
gtk_tree_model_filter_convert_iter_to_child_iter(GTK_TREE_MODEL_FILTER(widgets->LayoutsFilter),&itor,&itar);
// gtk_tree_model_sort_convert_iter_to_child_iter(GTK_TREE_MODEL_SORT(widgets->LayoutList),&itar,&itor);
gtk_tree_store_set(widgets->LayoutList,&itor,4,0,-1);
GtkTreeIter itor_child;
if (gtk_tree_model_iter_children(GTK_TREE_MODEL(widgets->LayoutList),&itor_child,&itor)){
for(int valid2=1;valid2;valid2 = gtk_tree_model_iter_next(GTK_TREE_MODEL(widgets->LayoutList),&itor_child)){
gtk_tree_store_set(widgets->LayoutList,&itor_child,4,0,-1);
}
}
}
gtk_tree_store_set(widgets->LayoutList,&itur,4,!status,-1);
// g_signal_handlers_unblock_by_func(self,G_CALLBACK(on_keyboard_layout_chosen),widgets);
if (!status){
yon_config_register(xkbvariant_parameter,xkbvariant_parameter_command,target);
} else {
yon_config_remove_by_key(xkbvariant_parameter);
} }
} }

@ -174,6 +174,7 @@ int yon_network_save(main_window *widgets){
yon_ubl_status_highlight_incorrect(widgets->NetworkDomainPasswordEntry); yon_ubl_status_highlight_incorrect(widgets->NetworkDomainPasswordEntry);
return 0; return 0;
} }
yon_char_remove_last_symbol(encrypted_password[0],'\n');
char *admin_string_full = yon_char_unite(domain_admin,":",encrypted_password[0],NULL); char *admin_string_full = yon_char_unite(domain_admin,":",encrypted_password[0],NULL);
yon_config_register(DOMAIN_admanger_parameter,DOMAIN_parameter_command,admin_string_full); yon_config_register(DOMAIN_admanger_parameter,DOMAIN_parameter_command,admin_string_full);
} else { } else {
@ -209,6 +210,24 @@ int yon_network_save(main_window *widgets){
} else { } else {
yon_config_remove_by_key(NTPSERVERS_parameter); yon_config_remove_by_key(NTPSERVERS_parameter);
} }
if (gtk_switch_get_active(GTK_SWITCH(widgets->HostnameSensitiveSwitch))){
int autohostname = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->AutoHostnameCheck));
char *hostname = NULL;
if (autohostname) {
hostname = "auto";
} else {
hostname = (char*)gtk_entry_get_text(GTK_ENTRY(widgets->HotnameEntry));
}
if (yon_char_is_empty(hostname)){
yon_ubl_status_box_render(EMPTY_IMPORTANT_LABEL,BACKGROUND_IMAGE_FAIL_TYPE);
yon_ubl_status_highlight_incorrect(widgets->HotnameEntry);
return 0;
}
yon_config_register(hostname_parameter,hostname_parameter_command,hostname);
} else {
yon_config_remove_by_key(hostname_parameter);
}
GList *list = gtk_container_get_children(GTK_CONTAINER(widgets->NetworkConnectionsBox)); GList *list = gtk_container_get_children(GTK_CONTAINER(widgets->NetworkConnectionsBox));
GList *iter; GList *iter;
for (iter=list;iter;iter=iter->next){ for (iter=list;iter;iter=iter->next){
@ -283,36 +302,90 @@ void yon_network_init(main_window *widgets){
} }
yon_char_parsed_free(network_types,size); yon_char_parsed_free(network_types,size);
char *domain = config(DOMAIN_parameter);
char *domain_admanger = config(DOMAIN_admanger_parameter);
char *ntp = config(NTPSERVERS_parameter);
char *hostname = config(hostname_parameter);
if (!yon_char_is_empty(domain)){
gtk_switch_set_active(GTK_SWITCH(widgets->NetworkDomainSwitch),1);
gtk_entry_set_text(GTK_ENTRY(widgets->NetworkDomainNameEntry),domain);
if (!yon_char_is_empty(domain_admanger)){
char *domain_password = yon_char_new(domain_admanger);
char *domain_admin = yon_char_divide_search(domain_password,":",-1);
gtk_entry_set_text(GTK_ENTRY(widgets->NetworkDomainAdminEntry),domain_admin);
gtk_entry_set_text(GTK_ENTRY(widgets->NetworkDomainPasswordEntry),domain_password);
}
}
if (!yon_char_is_empty(ntp)){
gtk_switch_set_active(GTK_SWITCH(widgets->NetworkNTPServerSwitch),1);
gtk_widget_set_sensitive(widgets->NetworkNTPEntry,0);
if (!strcmp(ntp,"dhcp")){
gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->NetworkNTPCombo),1);
} else if (!strcmp(ntp,"default")){
gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->NetworkNTPCombo),2);
} else if (!strcmp(ntp,"ntp-ru")){
gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->NetworkNTPCombo),3);
} else if (!strcmp(ntp,"no")||!strcmp(ntp,"disable")){
gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->NetworkNTPCombo),5);
} else if (!strcmp(ntp,"stop")){
gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->NetworkNTPCombo),6);
} else {
gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->NetworkNTPCombo),4);
gtk_widget_set_sensitive(widgets->NetworkNTPEntry,1);
gtk_entry_set_text(GTK_ENTRY(widgets->NetworkNTPEntry),ntp);
}
} else {
gtk_widget_set_sensitive(widgets->NetworkNTPEntry,0);
gtk_entry_set_text(GTK_ENTRY(widgets->NetworkNTPEntry),"");
gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->NetworkNTPCombo),0);
}
gtk_entry_set_text(GTK_ENTRY(widgets->HotnameEntry),"");
if (!yon_char_is_empty(hostname)){
gtk_switch_set_active(GTK_SWITCH(widgets->HostnameSensitiveSwitch),1);
if (!strcmp(hostname,"auto")){
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widgets->AutoHostnameCheck),1);
} else {
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widgets->AutoHostnameCheck),0);
gtk_entry_set_text(GTK_ENTRY(widgets->HotnameEntry),hostname);
}
}
config_str parameters = yon_config_get_all_by_key(NETWORK_parameter_search,&size); config_str parameters = yon_config_get_all_by_key(NETWORK_parameter_search,&size);
for (int i=0;i<size;i++){ for (int i=0;i<size;i++){
char *parameter = yon_char_new(parameters[i]); char *parameter = yon_char_new(parameters[i]);
char *parameter_name = yon_char_divide_search(parameter,"=",-1); char *parameter_name = yon_char_divide_search(parameter,"=",-1);
char *key = yon_config_parameter_get_key(parameter_name); char *key = yon_config_parameter_get_key(parameter_name);
char *key_type = yon_char_divide_search(key,"@",-1); char *key_sub = key+yon_char_find_last(key,'[');
char *subkey = yon_config_parameter_get_key(key_sub);
char *key_type = yon_char_divide_search(subkey,"@",-1);
if (!strcmp(key_type,"connmod")){ if (!strcmp(subkey,"connmod")){
network_info *info = yon_network_info_new(); network_info *info = yon_network_info_new();
gtk_box_pack_start(GTK_BOX(widgets->NetworkConnectionsBox),info->MainBox,0,0,0); gtk_box_pack_start(GTK_BOX(widgets->NetworkConnectionsBox),info->MainBox,0,0,0);
gtk_widget_show(info->MainBox); gtk_widget_show(info->MainBox);
int connection_size; int connection_size;
config_str connection = yon_char_parse(parameter,&connection_size," "); config_str connection = yon_char_parse(parameter,&connection_size," ");
for (int k=0;k<connection_size;k++){ if (yon_char_parsed_check_exist(connection,connection_size,"ipv4.method")>-1){
if (!strcmp(connection[k],"ipv4.method")){ gtk_switch_set_active(GTK_SWITCH(info->AutoGetIPSwitch),1);
gtk_switch_set_active(GTK_SWITCH(info->AutoGetIPSwitch),0); } else {
} else if (!strcmp(connection[k],"ipv4.addr")){ int addr_active = yon_char_parsed_check_exist(connection,connection_size,"ipv4.addr");
char *mask = yon_char_new(connection[++k]); if (addr_active>-1){
char *ip = yon_char_divide_search(mask,"/",-1); char *mask = yon_char_new(connection[addr_active+1]);
gtk_entry_set_text(GTK_ENTRY(info->MaskEntry),mask); char *ip = yon_char_divide_search(mask,"/",-1);
gtk_entry_set_text(GTK_ENTRY(info->IpAdressEntry),ip); gtk_entry_set_text(GTK_ENTRY(info->MaskEntry),mask);
free(mask); gtk_entry_set_text(GTK_ENTRY(info->IpAdressEntry),ip);
free(ip); free(mask);
free(ip);
} else if (!strcmp(connection[k],"ipv4.gateway")){ }
gtk_entry_set_text(GTK_ENTRY(info->GatewayEntry),connection[++k]); addr_active = yon_char_parsed_check_exist(connection,connection_size,"ipv4.gateway");
if (addr_active>-1){
gtk_entry_set_text(GTK_ENTRY(info->GatewayEntry),connection[addr_active+1]);
} else if (!strcmp(connection[k],"ipv4.dns")){ }
gtk_entry_set_text(GTK_ENTRY(info->DNSEntry),connection[++k]); addr_active = yon_char_parsed_check_exist(connection,connection_size,"ipv4.dns");
if (addr_active>-1){
gtk_entry_set_text(GTK_ENTRY(info->DNSEntry),connection[addr_active+1]);
} }
} }
@ -320,9 +393,9 @@ void yon_network_init(main_window *widgets){
GList *list = g_hash_table_get_keys(main_config.network_types); GList *list = g_hash_table_get_keys(main_config.network_types);
GList *iter; GList *iter;
for (iter=list;iter;iter=iter->next){ for (iter=list;iter;iter=iter->next){
if (g_hash_table_contains(g_hash_table_lookup(main_config.network_types,(char*)iter->data),key)){ if (g_hash_table_contains(g_hash_table_lookup(main_config.network_types,(char*)iter->data),key_type)){
gtk_combo_box_set_active_id(GTK_COMBO_BOX(info->TypeCombo),(char*)iter->data); gtk_combo_box_set_active_id(GTK_COMBO_BOX(info->TypeCombo),(char*)iter->data);
gtk_combo_box_set_active_id(GTK_COMBO_BOX(info->ConnectionCombo),key); gtk_combo_box_set_active_id(GTK_COMBO_BOX(info->ConnectionCombo),key_type);
break; break;
} }
} }

@ -115,7 +115,7 @@ int yon_page_save(main_window *widgets, enum YON_PAGES page){
return yon_os_components_save(widgets); return yon_os_components_save(widgets);
break; break;
case YON_PAGE_KERNEL: case YON_PAGE_KERNEL:
return yon_kernel_save(widgets); // return yon_kernel_save(widgets);
break; break;
case YON_PAGE_KERNEL_ADDON: case YON_PAGE_KERNEL_ADDON:
return yon_kernel_addon_save(widgets); return yon_kernel_addon_save(widgets);

@ -24,19 +24,19 @@ int yon_region_save(main_window *widgets){
gtk_tree_model_get(model,&iter,2,&lang_code,-1); gtk_tree_model_get(model,&iter,2,&lang_code,-1);
languages = yon_char_unite(languages,!yon_char_is_empty(languages)?",":"",lang_code,NULL); languages = yon_char_unite(languages,!yon_char_is_empty(languages)?",":"",lang_code,NULL);
} }
if (yon_char_is_empty(languages)||!gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->MainLanguageSensitiveCheck))){ if (yon_char_is_empty(languages)){
yon_config_remove_by_key(locale_parameter); yon_config_remove_by_key(locale_parameter);
} else { } else {
yon_config_register(locale_parameter,locale_parameter_command,languages); yon_config_register(locale_parameter,locale_parameter_command,languages);
free(languages); free(languages);
} }
if (gtk_combo_box_get_active(GTK_COMBO_BOX(widgets->LanguagesCombo))==-1||!gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->LanguagesSensitiveCheck))){ if (gtk_combo_box_get_active(GTK_COMBO_BOX(widgets->LanguagesCombo))==-1){
yon_config_remove_by_key(lang_parameter); yon_config_remove_by_key(lang_parameter);
} else { } else {
char *language = (char*)gtk_combo_box_get_active_id(GTK_COMBO_BOX(widgets->LanguagesCombo)); char *language = (char*)gtk_combo_box_get_active_id(GTK_COMBO_BOX(widgets->LanguagesCombo));
yon_config_register(lang_parameter,lang_parameter_command,language); yon_config_register(lang_parameter,lang_parameter_command,language);
} }
if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->RegionSensitiveCheck))){ if (gtk_switch_get_active(GTK_SWITCH(widgets->RegionSensitiveSwitch))){
char *region = (char*)gtk_combo_box_get_active_id(GTK_COMBO_BOX(widgets->RegionCombo)); char *region = (char*)gtk_combo_box_get_active_id(GTK_COMBO_BOX(widgets->RegionCombo));
char *zone = (char*)gtk_combo_box_get_active_id(GTK_COMBO_BOX(widgets->ZoneCombo)); char *zone = (char*)gtk_combo_box_get_active_id(GTK_COMBO_BOX(widgets->ZoneCombo));
yon_debug_output("%s",region); yon_debug_output("%s",region);
@ -113,12 +113,12 @@ void yon_region_init(main_window *widgets){
gtk_combo_box_set_active_id(GTK_COMBO_BOX(widgets->RegionCombo),timezone); gtk_combo_box_set_active_id(GTK_COMBO_BOX(widgets->RegionCombo),timezone);
while(gtk_events_pending()) gtk_main_iteration(); while(gtk_events_pending()) gtk_main_iteration();
gtk_combo_box_set_active_id(GTK_COMBO_BOX(widgets->ZoneCombo),zone); gtk_combo_box_set_active_id(GTK_COMBO_BOX(widgets->ZoneCombo),zone);
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widgets->RegionSensitiveCheck),1); gtk_switch_set_active(GTK_SWITCH(widgets->RegionSensitiveSwitch),1);
free(timezone); free(timezone);
} else { } else {
gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->RegionCombo),0); gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->RegionCombo),0);
gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->ZoneCombo),0); gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->ZoneCombo),0);
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widgets->RegionSensitiveCheck),0); gtk_switch_set_active(GTK_SWITCH(widgets->RegionSensitiveSwitch),0);
} }
if (!yon_char_is_empty(locale)){ if (!yon_char_is_empty(locale)){

@ -14,9 +14,9 @@
// free(result); // free(result);
// } // }
// void yon_save_proceed(char *path, YON_CONFIG_TYPE type){ void yon_config_save_proceed(char *path, YON_CONFIG_TYPE type){
// yon_debug_output("%s\n",yon_config_save_simple(type,path)); yon_debug_output("%s\n",yon_config_save_simple(type,path));
// } }
void yon_load_proceed(YON_CONFIG_TYPE type){ void yon_load_proceed(YON_CONFIG_TYPE type){
if (type!=YON_CONFIG_CUSTOM){ if (type!=YON_CONFIG_CUSTOM){
@ -76,22 +76,22 @@ void on_config_custom_load(GtkWidget *,main_window *widgets){
main_config.load_mode=YON_CONFIG_CUSTOM; main_config.load_mode=YON_CONFIG_CUSTOM;
} }
// void on_config_global_local_save(GtkWidget *,main_window *widgets){ void on_config_global_local_save(GtkWidget *,main_window *widgets){
// yon_save_proceed(NULL,YON_CONFIG_BOTH); yon_config_save_proceed(NULL,YON_CONFIG_BOTH);
// gtk_notebook_set_current_page(GTK_NOTEBOOK(widgets->Notebook),YON_PAGE_COMPLETED); gtk_notebook_set_current_page(GTK_NOTEBOOK(widgets->Notebook),YON_PAGE_COMPLETED);
// } }
// void on_config_local_save(GtkWidget *,main_window *widgets){ void on_config_local_save(GtkWidget *,main_window *widgets){
// yon_save_proceed("system",YON_CONFIG_LOCAL); yon_config_save_proceed("system",YON_CONFIG_LOCAL);
// gtk_notebook_set_current_page(GTK_NOTEBOOK(widgets->Notebook),YON_PAGE_COMPLETED); gtk_notebook_set_current_page(GTK_NOTEBOOK(widgets->Notebook),YON_PAGE_COMPLETED);
//
// }
// void on_config_global_save(GtkWidget *,main_window *widgets){ }
// yon_save_proceed("global",YON_CONFIG_GLOBAL);
// gtk_notebook_set_current_page(GTK_NOTEBOOK(widgets->Notebook),YON_PAGE_COMPLETED); void on_config_global_save(GtkWidget *,main_window *widgets){
// yon_config_save_proceed("global",YON_CONFIG_GLOBAL);
// } gtk_notebook_set_current_page(GTK_NOTEBOOK(widgets->Notebook),YON_PAGE_COMPLETED);
}
// void on_config_custom_save(GtkWidget *, main_window *widgets){ // void on_config_custom_save(GtkWidget *, main_window *widgets){
// char *path = NULL; // char *path = NULL;
@ -326,12 +326,12 @@ void on_config_custom_load(GtkWidget *,main_window *widgets){
// char *zone = config(zone_parameter); // char *zone = config(zone_parameter);
// char *region = NULL; // char *region = NULL;
// //
// if (!yon_char_is_empty(zone)) region = yon_char_divide_search(zone,"/",-1); else {gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widgets->RegionSensitiveCheck),0);} // if (!yon_char_is_empty(zone)) region = yon_char_divide_search(zone,"/",-1); else {gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widgets->RegionSensitiveSwitch),0);}
// if (!yon_char_is_empty(region)){ // if (!yon_char_is_empty(region)){
// gtk_combo_box_set_active_id(GTK_COMBO_BOX(widgets->RegionCombo),region); // gtk_combo_box_set_active_id(GTK_COMBO_BOX(widgets->RegionCombo),region);
// } else { // } else {
// gtk_combo_box_set_active_id(GTK_COMBO_BOX(widgets->RegionCombo),"Europe"); // gtk_combo_box_set_active_id(GTK_COMBO_BOX(widgets->RegionCombo),"Europe");
// gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widgets->RegionSensitiveCheck),0); // gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widgets->RegionSensitiveSwitch),0);
// } // }
// if (!yon_char_is_empty(zone)){ // if (!yon_char_is_empty(zone)){
// gtk_combo_box_set_active_id(GTK_COMBO_BOX(widgets->ZoneCombo),zone); // gtk_combo_box_set_active_id(GTK_COMBO_BOX(widgets->ZoneCombo),zone);
@ -520,16 +520,16 @@ void *on_config_save(void *data){
enum INSTALL_TYPE install_mode = yon_ubl_get_install_mode(); enum INSTALL_TYPE install_mode = yon_ubl_get_install_mode();
switch(install_mode){ switch(install_mode){
case INSTALL_COMMON: case INSTALL_COMMON:
parameters = yon_config_get_selection_by_key_no_ignored(&size,install_common_parameters,NULL); parameters = yon_config_get_selection_by_key_no_ignored(&size,install_common_parameters,modules_parameter,NULL);
break; break;
case INSTALL_PART: case INSTALL_PART:
parameters = yon_config_get_selection_by_key_no_ignored(&size,install_part_parameters,NULL); parameters = yon_config_get_selection_by_key_no_ignored(&size,install_part_parameters,modules_parameter,NULL);
break; break;
case INSTALL_NEXT: case INSTALL_NEXT:
parameters = yon_config_get_selection_by_key_no_ignored(&size,install_next_parameters,NULL); parameters = yon_config_get_selection_by_key_no_ignored(&size,install_next_parameters,modules_parameter,NULL);
break; break;
case INSTALL_ADVANCED: case INSTALL_ADVANCED:
parameters = yon_config_get_selection_by_key_no_ignored(&size,install_advanced_parameters,NULL); parameters = yon_config_get_selection_by_key_no_ignored(&size,install_advanced_parameters,modules_parameter,NULL);
break; break;
case INSTALL_GRUB_INSTALL: case INSTALL_GRUB_INSTALL:
case INSTALL_GRUB_UPDATE: case INSTALL_GRUB_UPDATE:
@ -603,7 +603,6 @@ void *on_setup_system_configuration(void * data){
NTPSERVERS_parameter, NTPSERVERS_parameter,
modules_extra_parameter, modules_extra_parameter,
KERNEL_BOOT_parameter, KERNEL_BOOT_parameter,
modules_parameter,
packages_parameter, packages_parameter,
NULL); NULL);
int user_size=0; int user_size=0;
@ -637,6 +636,27 @@ void *on_setup_system_configuration(void * data){
} }
if (all_parameters){ if (all_parameters){
for (int i=0;i<size;i++){
char *parameter = yon_char_divide_search(all_parameters[i],"=",-1);
if (!strstr(parameter,"'")){
char *key = yon_config_parameter_get_key(parameter);
free(parameter);
char *tmp = yon_char_unite("'",key,"'",NULL);
free(key);
parameter = AUTOINSTALL(tmp);
free(tmp);
}
if (!strstr(all_parameters[i],"'")){
char *temp = yon_char_unite("'",all_parameters[i],"'",NULL);
free(all_parameters[i]);
all_parameters[i]=temp;
}
char *temp = yon_char_unite(parameter,"=",all_parameters[i],NULL);
free(all_parameters[i]);
all_parameters[i]=temp;
}
char *parameter_string = yon_char_parsed_to_string(all_parameters,size," "); char *parameter_string = yon_char_parsed_to_string(all_parameters,size," ");
char *command = set_user_config_command(parameter_string); char *command = set_user_config_command(parameter_string);
if (system(yon_debug_output("%s\n",command))){}; if (system(yon_debug_output("%s\n",command))){};

@ -43,15 +43,65 @@ void on_startup_services_remove(GtkWidget *self,main_window *widgets){
} }
void yon_startup_services_setup(main_window *widgets){ void yon_startup_services_setup(main_window *widgets){
int size; GtkTreeIter iter;
config_str services = yon_resource_open_file(services_list_path,&size); if (!gtk_tree_model_get_iter_first(GTK_TREE_MODEL(widgets->StartupList),&iter)){
for (int i=1;i<size;i++){ int size;
int parsed_size; config_str services = yon_resource_open_file(services_list_path,&size);
config_str parsed = yon_char_parse(services[i],&parsed_size,";"); for (int i=1;i<size;i++){
if (parsed_size&&!yon_char_is_empty(parsed[0])){ int parsed_size;
GtkTreeIter iter; config_str parsed = yon_char_parse(services[i],&parsed_size,";");
gtk_list_store_append(widgets->StartupList,&iter); if (parsed_size&&!yon_char_is_empty(parsed[0])){
gtk_list_store_set(widgets->StartupList,&iter,0,1,1,parsed[0],2,yon_char_return_if_exist(parsed[1],""),3,yon_char_return_if_exist(parsed[2],""),-1); gtk_list_store_append(widgets->StartupList,&iter);
gtk_list_store_set(widgets->StartupList,&iter,0,1,1,parsed[0],2,yon_char_return_if_exist(parsed[1],""),3,yon_char_return_if_exist(parsed[2],""),-1);
}
}
}
char *startup = config(SERVICES_ENABLE_parameter);
if (!yon_char_is_empty(startup)){
if (!strcmp(startup,"auto")){
for_iter(GTK_TREE_MODEL(widgets->StartupList),&iter){
gtk_list_store_set(widgets->StartupList,&iter,0,1,-1);
}
} else {
int parsed_size;
config_str parsed = yon_char_parse(startup,&parsed_size,",");
for_iter(GTK_TREE_MODEL(widgets->StartupList),&iter){
char *target;
gtk_tree_model_get(GTK_TREE_MODEL(widgets->StartupList),&iter,2,&target,-1);
if (strstr(target,",")){
int target_size;
config_str target_parsed = yon_char_parse(target,&target_size,",");
int found =0;
for (int i=0;i<target_size;i++){
int pos = yon_char_parsed_check_exist(parsed,parsed_size,target_parsed[i]);
if (pos>-1){
found++;
parsed = yon_char_parsed_rip(parsed,&parsed_size,pos);
}
}
if (found == target_size){
gtk_list_store_set(widgets->StartupList,&iter,0,1,-1);
} else {
gtk_list_store_set(widgets->StartupList,&iter,0,0,-1);
}
yon_char_parsed_free(target_parsed,target_size);
} else {
int pos = yon_char_parsed_check_exist(parsed,parsed_size,target);
if (pos>-1){
gtk_list_store_set(widgets->StartupList,&iter,0,1,-1);
parsed = yon_char_parsed_rip(parsed,&parsed_size,pos);
} else {
gtk_list_store_set(widgets->StartupList,&iter,0,0,-1);
}
}
}
if (parsed_size&&parsed){
for (int i=0;i<parsed_size;i++){
gtk_list_store_append(widgets->StartupList,&iter);
gtk_list_store_set(widgets->StartupList,&iter,0,1,2,parsed[i],-1);
}
}
yon_char_parsed_free(parsed,parsed_size);
} }
} }
} }
@ -68,7 +118,7 @@ void on_startup_add_accept(GtkWidget *self, main_window *widgets){
} }
GtkTreeIter iter; GtkTreeIter iter;
gtk_list_store_append(widgets->StartupList,&iter); gtk_list_store_append(widgets->StartupList,&iter);
gtk_list_store_set(widgets->StartupList,&iter,1,unit,2,service,3,description,4,1,-1); gtk_list_store_set(widgets->StartupList,&iter,0,1,1,unit,2,service,3,description,4,1,-1);
on_subwindow_close(self); on_subwindow_close(self);
} }
@ -85,7 +135,7 @@ void on_startup_edit_accept(GtkWidget *self, main_window *widgets){
yon_ubl_status_highlight_incorrect(window->ServiceEntry); yon_ubl_status_highlight_incorrect(window->ServiceEntry);
return; return;
} }
gtk_list_store_set(widgets->StartupList,&iter,1,unit,2,service,3,description,4,1,-1); gtk_list_store_set(widgets->StartupList,&iter,0,1,1,unit,2,service,3,description,4,1,-1);
} }
on_subwindow_close(self); on_subwindow_close(self);
} }

@ -143,12 +143,13 @@ void yon_user_init(main_window *widgets){
char *parameter = yon_char_new(users[i]); char *parameter = yon_char_new(users[i]);
char *parameter_name = yon_char_divide_search(parameter,"=",-1); char *parameter_name = yon_char_divide_search(parameter,"=",-1);
char *key = yon_config_parameter_get_key(parameter_name); char *key = yon_config_parameter_get_key(parameter_name);
char *login = yon_config_parameter_get_key(strstr(key,"USERADD["));
config_str parsed = yon_char_parse(parameter,&parsed_size,":"); config_str parsed = yon_char_parse(parameter,&parsed_size,":");
gtk_entry_set_text(GTK_ENTRY(user->LoginEntry),key); gtk_entry_set_text(GTK_ENTRY(user->LoginEntry),login);
if (parsed_size>0) if (parsed_size>0)
gtk_entry_set_text(GTK_ENTRY(user->UsernameEntry),parsed[0]); gtk_entry_set_text(GTK_ENTRY(user->UsernameEntry),parsed[0]);
if (parsed_size>5){ if (parsed_size>5&&!yon_char_is_empty(parsed[5])){
gtk_entry_set_text(GTK_ENTRY(user->PasswordEntry),parsed[5]); gtk_entry_set_text(GTK_ENTRY(user->PasswordEntry),parsed[5]);
gtk_combo_box_set_active(GTK_COMBO_BOX(user->PasswordCombo),1); gtk_combo_box_set_active(GTK_COMBO_BOX(user->PasswordCombo),1);
} }

@ -423,17 +423,10 @@ main_window *yon_main_window_complete(){
widgets->LanguagesCombo=yon_gtk_builder_get_widget(builder,"LanguagesCombo"); widgets->LanguagesCombo=yon_gtk_builder_get_widget(builder,"LanguagesCombo");
widgets->KeyboardModelCombo=yon_gtk_builder_get_widget(builder,"KeyboardModelCombo"); widgets->KeyboardModelCombo=yon_gtk_builder_get_widget(builder,"KeyboardModelCombo");
widgets->LayoutBindingCombo=yon_gtk_builder_get_widget(builder,"LayoutBindingCombo"); widgets->LayoutBindingCombo=yon_gtk_builder_get_widget(builder,"LayoutBindingCombo");
widgets->DefaultLayoutRadio=yon_gtk_builder_get_widget(builder,"DefaultLayoutRadio");
widgets->ManualLayoutRadio=yon_gtk_builder_get_widget(builder,"ManualLayoutRadio");
widgets->LayoutTree=yon_gtk_builder_get_widget(builder,"LayoutTree"); widgets->LayoutTree=yon_gtk_builder_get_widget(builder,"LayoutTree");
widgets->AddButton=yon_gtk_builder_get_widget(builder,"AddButton"); widgets->AddButton=yon_gtk_builder_get_widget(builder,"AddButton");
widgets->RemoveButton=yon_gtk_builder_get_widget(builder,"RemoveButton"); widgets->RemoveButton=yon_gtk_builder_get_widget(builder,"RemoveButton");
widgets->RegionSensitiveCheck = yon_gtk_builder_get_widget(builder,"RegionSensitiveCheck"); widgets->RegionSensitiveSwitch = yon_gtk_builder_get_widget(builder,"RegionSensitiveSwitch");
widgets->LanguagesSensitiveCheck = yon_gtk_builder_get_widget(builder,"LanguagesSensitiveCheck");
widgets->MainLanguageSensitiveCheck = yon_gtk_builder_get_widget(builder,"MainLanguageSensitiveCheck");
widgets->KeyboardModelSensitiveCheck = yon_gtk_builder_get_widget(builder,"KeyboardModelSensitiveCheck");
widgets->OptionsSensitiveCheck = yon_gtk_builder_get_widget(builder,"OptionsSensitiveCheck");
widgets->LayoutSensitiveCheck = yon_gtk_builder_get_widget(builder,"LayoutSensitiveCheck");
widgets->UserRootNameEntry=yon_gtk_builder_get_widget(builder,"UserRootNameEntry"); widgets->UserRootNameEntry=yon_gtk_builder_get_widget(builder,"UserRootNameEntry");
widgets->UserRootLoginEntry=yon_gtk_builder_get_widget(builder,"UserRootLoginEntry"); widgets->UserRootLoginEntry=yon_gtk_builder_get_widget(builder,"UserRootLoginEntry");
@ -451,6 +444,7 @@ main_window *yon_main_window_complete(){
widgets->RegionAspect = yon_gtk_builder_get_widget(builder,"RegionAspect"); widgets->RegionAspect = yon_gtk_builder_get_widget(builder,"RegionAspect");
widgets->KeyboardImage = yon_gtk_builder_get_widget(builder,"KeyboardImage"); widgets->KeyboardImage = yon_gtk_builder_get_widget(builder,"KeyboardImage");
widgets->KeyboardBox = yon_gtk_builder_get_widget(builder,"KeyboardBox"); widgets->KeyboardBox = yon_gtk_builder_get_widget(builder,"KeyboardBox");
widgets->KeyboardLayoutChosenCell = GTK_CELL_RENDERER(gtk_builder_get_object(builder,"KeyboardLayoutChosenCell"));
widgets->AdditionalSoftwareList = GTK_LIST_STORE(gtk_builder_get_object(builder,"AdditionalSoftwareList")); widgets->AdditionalSoftwareList = GTK_LIST_STORE(gtk_builder_get_object(builder,"AdditionalSoftwareList"));
widgets->AdditionalSoftwareTree = yon_gtk_builder_get_widget(builder,"AdditionalSoftwareTree"); widgets->AdditionalSoftwareTree = yon_gtk_builder_get_widget(builder,"AdditionalSoftwareTree");
@ -561,7 +555,8 @@ main_window *yon_main_window_complete(){
g_signal_connect(G_OBJECT(widgets->CancelInstallButton),"clicked",G_CALLBACK(on_page_cancel_clicked),widgets); g_signal_connect(G_OBJECT(widgets->CancelInstallButton),"clicked",G_CALLBACK(on_page_cancel_clicked),widgets);
g_signal_connect(G_OBJECT(widgets->AvailableLanguagesButton),"clicked",G_CALLBACK(on_language_clicked),widgets); g_signal_connect(G_OBJECT(widgets->AvailableLanguagesButton),"clicked",G_CALLBACK(on_language_clicked),widgets);
g_signal_connect(G_OBJECT(widgets->RegionCombo),"changed",G_CALLBACK(on_region_changed),widgets); g_signal_connect(G_OBJECT(widgets->RegionCombo),"changed",G_CALLBACK(on_region_changed),widgets);
g_signal_connect(G_OBJECT(widgets->LayoutSensitiveCheck),"toggled",G_CALLBACK(on_layout_toggle_button_switch),widgets); g_signal_connect(G_OBJECT(widgets->RegionSensitiveSwitch),"state-set",G_CALLBACK(yon_gtk_widget_set_sensitive_from_switch),widgets->RegionCombo);
g_signal_connect(G_OBJECT(widgets->RegionSensitiveSwitch),"state-set",G_CALLBACK(yon_gtk_widget_set_sensitive_from_switch),widgets->ZoneCombo);
g_signal_connect(G_OBJECT(widgets->AddButton),"clicked",G_CALLBACK(on_keyboard_clicked),widgets); g_signal_connect(G_OBJECT(widgets->AddButton),"clicked",G_CALLBACK(on_keyboard_clicked),widgets);
g_signal_connect(G_OBJECT(widgets->RemoveButton),"clicked",G_CALLBACK(on_keyboard_removed),widgets); g_signal_connect(G_OBJECT(widgets->RemoveButton),"clicked",G_CALLBACK(on_keyboard_removed),widgets);
@ -596,7 +591,6 @@ main_window *yon_main_window_complete(){
g_signal_connect(G_OBJECT(widgets->StartupServicesEditButton),"clicked",G_CALLBACK(on_startup_service_edit),widgets); g_signal_connect(G_OBJECT(widgets->StartupServicesEditButton),"clicked",G_CALLBACK(on_startup_service_edit),widgets);
g_signal_connect(G_OBJECT(widgets->StartupServicesRemoveButton),"clicked",G_CALLBACK(on_startup_services_remove),widgets); g_signal_connect(G_OBJECT(widgets->StartupServicesRemoveButton),"clicked",G_CALLBACK(on_startup_services_remove),widgets);
g_signal_connect(G_OBJECT(widgets->ManualLayoutRadio),"toggled",G_CALLBACK(yon_gtk_widget_set_sensitive_from_toggle_button),gtk_widget_get_parent(gtk_widget_get_parent(widgets->AddButton)));
g_signal_connect(G_OBJECT(widgets->AutoHostnameCheck),"toggled",G_CALLBACK(yon_gtk_widget_set_sensitive_from_toggle_button_inversed),widgets->HotnameEntry); g_signal_connect(G_OBJECT(widgets->AutoHostnameCheck),"toggled",G_CALLBACK(yon_gtk_widget_set_sensitive_from_toggle_button_inversed),widgets->HotnameEntry);
@ -629,6 +623,7 @@ main_window *yon_main_window_complete(){
g_signal_connect(G_OBJECT(widgets->AdvancedAddButton),"clicked",G_CALLBACK(on_install_advanced_add_new),widgets); g_signal_connect(G_OBJECT(widgets->AdvancedAddButton),"clicked",G_CALLBACK(on_install_advanced_add_new),widgets);
g_signal_connect(G_OBJECT(widgets->AdvancedDeviceChosenCell),"toggled",G_CALLBACK(on_install_advanced_device_chosen),widgets); g_signal_connect(G_OBJECT(widgets->AdvancedDeviceChosenCell),"toggled",G_CALLBACK(on_install_advanced_device_chosen),widgets);
g_signal_connect(G_OBJECT(widgets->AdvancedPartChosenCell),"toggled",G_CALLBACK(on_install_advanced_partition_chosen),widgets); g_signal_connect(G_OBJECT(widgets->AdvancedPartChosenCell),"toggled",G_CALLBACK(on_install_advanced_partition_chosen),widgets);
g_signal_connect(G_OBJECT(widgets->KeyboardLayoutChosenCell),"toggled",G_CALLBACK(on_keyboard_layout_chosen),widgets);
// g_signal_connect(G_OBJECT(widgets->AdvancedPartitionAddBox),"add",G_CALLBACK(on_advanced_parts_added),widgets); // g_signal_connect(G_OBJECT(widgets->AdvancedPartitionAddBox),"add",G_CALLBACK(on_advanced_parts_added),widgets);
// g_signal_connect(G_OBJECT(widgets->AdvancedPartitionAddBox),"remove",G_CALLBACK(on_advanced_parts_removed),widgets); // g_signal_connect(G_OBJECT(widgets->AdvancedPartitionAddBox),"remove",G_CALLBACK(on_advanced_parts_removed),widgets);
g_signal_connect(G_OBJECT(widgets->StartScenarioButton),"clicked",G_CALLBACK(yon_quick_install),widgets); g_signal_connect(G_OBJECT(widgets->StartScenarioButton),"clicked",G_CALLBACK(yon_quick_install),widgets);

@ -119,6 +119,7 @@ layout && /description:/ {\
#define get_devices_command "lsblk --noheadings --nodeps -Jo PATH,SIZE,MODEL,VENDOR,SERIAL --exclude 7,253" #define get_devices_command "lsblk --noheadings --nodeps -Jo PATH,SIZE,MODEL,VENDOR,SERIAL --exclude 7,253"
#define get_parts_and_devices_command "lsblk --noheadings --bytes -o TYPE,PATH,SIZE,FSTYPE,LABEL,PARTLABEL,MOUNTPOINT,FSUSED,FSUSE% --exclude 7,253 |awk '{print ($1\";\"$2\";\"$3\";\"$4\";\"$5\";\"$6\";\"$7\";\"$8\";\"$9)}'" #define get_parts_and_devices_command "lsblk --noheadings --bytes -o TYPE,PATH,SIZE,FSTYPE,LABEL,PARTLABEL,MOUNTPOINT,FSUSED,FSUSE% --exclude 7,253 |awk '{print ($1\";\"$2\";\"$3\";\"$4\";\"$5\";\"$6\";\"$7\";\"$8\";\"$9)}'"
#define AUTOINSTALL(target) yon_char_unite("AUTOINSTALL[",target,"]",NULL)
#define AUTOINSTALL_TYPE_INSTALL "AUTOINSTALL[install_type]" #define AUTOINSTALL_TYPE_INSTALL "AUTOINSTALL[install_type]"
#define AUTOINSTALL_TYPE_INSTALL_command "ubconfig --source global get [autoinstall] AUTOINSTALL[install_type]" #define AUTOINSTALL_TYPE_INSTALL_command "ubconfig --source global get [autoinstall] AUTOINSTALL[install_type]"
@ -185,15 +186,15 @@ layout && /description:/ {\
#define packages_parameter_command "ubconfig --source global get [autoinstall] AUTOINSTALL[packages]" #define packages_parameter_command "ubconfig --source global get [autoinstall] AUTOINSTALL[packages]"
#define device_typevfs_parameter "AUTOINSTALL[device_typevfs]" #define device_typevfs_parameter "AUTOINSTALL[device_typevfs]"
#define device_typevfs_parameter_command "ubconfig --source global get [autoinstall] AUTOINSTALL[device_typevfs]" #define device_typevfs_parameter_command "ubconfig --source global get [autoinstall] AUTOINSTALL[device_typevfs]"
#define NTPSERVERS_parameter "AOUTINSTALL['ubconfig set [network] NTPSERVERS]" #define NTPSERVERS_parameter "AUTOINSTALL[ubconfig set [network] NTPSERVERS]"
#define NTPSERVERS_parameter_command "ubconfig --source global get [autoinstall] AUTOINSTALL['ubconfig set [network] NTPSERVERS']" #define NTPSERVERS_parameter_command "ubconfig --source global get [autoinstall] AUTOINSTALL['ubconfig set [network] NTPSERVERS']"
#define DOMAIN_parameter "AOUTINSTALL['ubconfig set [network] DOMAIN]" #define DOMAIN_parameter "AUTOINSTALL[ubconfig set [network] DOMAIN]"
#define DOMAIN_parameter_command "ubconfig --source global get [autoinstall] AUTOINSTALL['ubconfig set [network] DOMAIN']" #define DOMAIN_parameter_command "ubconfig --source global get [autoinstall] AUTOINSTALL['ubconfig set [network] DOMAIN']"
#define DOMAIN_admanger_parameter "AOUTINSTALL['ubconfig set [network] DOMAIN[admanger]]" #define DOMAIN_admanger_parameter "AUTOINSTALL[ubconfig set [network] DOMAIN[admanger]]"
#define DOMAIN_admanger_parameter_command "ubconfig --source global get [autoinstall] AUTOINSTALL['ubconfig set [network] DOMAIN[admanger]']" #define DOMAIN_admanger_parameter_command "ubconfig --source global get [autoinstall] AUTOINSTALL['ubconfig set [network] DOMAIN[admanger]']"
#define USERADD_parameter_all "AUTOINSTALL[ubconfig set [users] USERADD[*]]" #define USERADD_parameter_all "AUTOINSTALL[ubconfig set [users] USERADD[*]]"
#define USERADD_parameter_search "AUTOINSTALL[ubconfig set [users] USERADD[" #define USERADD_parameter_search "AUTOINSTALL[ubconfig set [users] USERADD["
#define USERADD_parameter(target) yon_char_unite("AUTOINSTALL[ubconfig set [users] USERADD[",target,"]']",NULL) #define USERADD_parameter(target) yon_char_unite("AUTOINSTALL[ubconfig set [users] USERADD[",target,"]]",NULL)
#define USERADD_parameter_command(target) yon_char_unite("ubconfig --source global get autoinstall AUTOINSTALL['ubconfig set [users] USERADD[",target,"]']",NULL) #define USERADD_parameter_command(target) yon_char_unite("ubconfig --source global get autoinstall AUTOINSTALL['ubconfig set [users] USERADD[",target,"]']",NULL)
#define KERNEL_BOOT_parameter "AUTOINSTALL[ubconfig set [boot] KERNEL_BOOT]" #define KERNEL_BOOT_parameter "AUTOINSTALL[ubconfig set [boot] KERNEL_BOOT]"
#define KERNEL_BOOT_parameter_command "ubconfig --source global get autoinstall AUTOINSTALL['ubconfig set [boot] KERNEL_BOOT']" #define KERNEL_BOOT_parameter_command "ubconfig --source global get autoinstall AUTOINSTALL['ubconfig set [boot] KERNEL_BOOT']"
@ -213,8 +214,8 @@ layout && /description:/ {\
#define AUTOLOGINUSER_parameter "AUTOINSTALL[ubconfig set [desktop] AUTOLOGINUSER]" #define AUTOLOGINUSER_parameter "AUTOINSTALL[ubconfig set [desktop] AUTOLOGINUSER]"
#define AUTOLOGINUSER_parameter_command "ubconfig get autoinstall AUTOINSTALL['ubconfig set [boot] AUTOLOGINUSER']" #define AUTOLOGINUSER_parameter_command "ubconfig get autoinstall AUTOINSTALL['ubconfig set [boot] AUTOLOGINUSER']"
#define NETWORK_parameter_search "AUTOINSTALL[ubconfig set [network] NETWORK[" #define NETWORK_parameter_search "AUTOINSTALL[ubconfig set [network] NETWORK["
#define NETWORK_parameter(target) yon_char_unite("AUTOINSTALL[ubconfig set [network] NETWORK[",target,"@connmod]']",NULL) #define NETWORK_parameter(target) yon_char_unite("AUTOINSTALL[ubconfig set [network] NETWORK[",target,"@connmod]]",NULL)
#define NETWORK_devdown_parameter(target) yon_char_unite("AUTOINSTALL[ubconfig set [network] NETWORK[",target,"@devdown]']",NULL) #define NETWORK_devdown_parameter(target) yon_char_unite("AUTOINSTALL[ubconfig set [network] NETWORK[",target,"@devdown]]",NULL)
#define NETWORK_parameter_command(target) yon_char_unite("ubconfig get autoinstall AUTOINSTALL['ubconfig set [network] NETWORK[",target,"@connmod]']",NULL) #define NETWORK_parameter_command(target) yon_char_unite("ubconfig get autoinstall AUTOINSTALL['ubconfig set [network] NETWORK[",target,"@connmod]']",NULL)
#define NETWORK_devdown_parameter_command(target) yon_char_unite("ubconfig get autoinstall AUTOINSTALL['ubconfig set [network] NETWORK[",target,"@devdown]']",NULL) #define NETWORK_devdown_parameter_command(target) yon_char_unite("ubconfig get autoinstall AUTOINSTALL['ubconfig set [network] NETWORK[",target,"@devdown]']",NULL)
#define NETWORK(target) yon_char_unite("NETWORK[",target,"@connmod]",NULL) #define NETWORK(target) yon_char_unite("NETWORK[",target,"@connmod]",NULL)
@ -388,9 +389,7 @@ extern config main_config;
typedef struct { typedef struct {
GtkWidget *CommonInstallationDevicesTree; GtkWidget *CommonInstallationDevicesTree;
GtkWidget *GpartedCommonButton; GtkWidget *GpartedCommonButton;
GtkWidget *CommonFilesystemSensitiveCheck;
GtkWidget *CommonInstallationFilesystemTypeCombo; GtkWidget *CommonInstallationFilesystemTypeCombo;
GtkWidget *CommonSectionSensitiveCheck;
GtkWidget *CommonInstallationSectionNameEntry; GtkWidget *CommonInstallationSectionNameEntry;
GtkListStore *DevicesList; GtkListStore *DevicesList;
} install_common_page; } install_common_page;
@ -439,8 +438,6 @@ typedef struct {
GtkWidget *LanguagesCombo; GtkWidget *LanguagesCombo;
GtkWidget *KeyboardModelCombo; GtkWidget *KeyboardModelCombo;
GtkWidget *LayoutBindingCombo; GtkWidget *LayoutBindingCombo;
GtkWidget *DefaultLayoutRadio;
GtkWidget *ManualLayoutRadio;
GtkWidget *LayoutTree; GtkWidget *LayoutTree;
GtkWidget *AddButton; GtkWidget *AddButton;
GtkWidget *RemoveButton; GtkWidget *RemoveButton;
@ -474,6 +471,7 @@ typedef struct {
GtkWidget *RegionAspect; GtkWidget *RegionAspect;
GtkWidget *KeyboardImage; GtkWidget *KeyboardImage;
GtkWidget *KeyboardBox; GtkWidget *KeyboardBox;
GtkCellRenderer *KeyboardLayoutChosenCell;
GtkWidget *Notebook; GtkWidget *Notebook;
GtkWidget *LicenceLabel; GtkWidget *LicenceLabel;
@ -565,16 +563,7 @@ typedef struct {
GList *slides_original; GList *slides_original;
float region_height_mult; float region_height_mult;
GtkWidget *RegionSensitiveCheck; GtkWidget *RegionSensitiveSwitch;
GtkWidget *LanguagesSensitiveCheck;
GtkWidget *MainLanguageSensitiveCheck;
GtkWidget *KeyboardModelSensitiveCheck;
GtkWidget *OptionsSensitiveCheck;
GtkWidget *LayoutSensitiveCheck;
GtkWidget *UsernameSensitiveCheck;
GtkWidget *LoginSensitiveCheck;
GtkWidget *UserRootOnlyCheck;
GtkWidget *AutologinSensitiveCheck;
GtkWidget *HostnameSensitiveSwitch; GtkWidget *HostnameSensitiveSwitch;
GtkWidget *KernelListBox; GtkWidget *KernelListBox;
@ -953,7 +942,6 @@ void on_page_next_clicked(GtkWidget *, main_window *widgets);
void on_page_prev_clicked(GtkWidget *, main_window *widgets); void on_page_prev_clicked(GtkWidget *, main_window *widgets);
void yon_load_proceed(YON_CONFIG_TYPE type); void yon_load_proceed(YON_CONFIG_TYPE type);
void _yon_saving_threaded(char *final_command); void _yon_saving_threaded(char *final_command);
void on_layout_toggle_button_switch(GtkWidget *self, main_window *widgets);
enum YON_PAGES yon_page_get_next(main_window *widgets,enum YON_PAGES page); enum YON_PAGES yon_page_get_next(main_window *widgets,enum YON_PAGES page);
enum YON_PAGES yon_page_get_prev(enum YON_PAGES page); enum YON_PAGES yon_page_get_prev(enum YON_PAGES page);
enum YON_PAGES yon_sections_get_next_page(main_window *widgets); enum YON_PAGES yon_sections_get_next_page(main_window *widgets);
@ -1064,3 +1052,4 @@ void yon_layout_build(char *key, GHashTable *value, main_window *widgets);
void yon_os_row_setup(os_row *row, char *name, char *version,char *tags, char *description); void yon_os_row_setup(os_row *row, char *name, char *version,char *tags, char *description);
os_row *yon_os_row_new(); os_row *yon_os_row_new();
void yon_quick_install(GtkWidget *, main_window *widgets); void yon_quick_install(GtkWidget *, main_window *widgets);
void on_keyboard_layout_chosen(GtkCellRenderer *self, gchar *path, main_window *widgets);

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.38.2 --> <!-- Generated with glade 3.40.0 -->
<interface domain="ubinstall-gtk"> <interface domain="ubinstall-gtk">
<requires lib="gtk+" version="3.24"/> <requires lib="gtk+" version="3.24"/>
<!-- interface-css-provider-path ubinstall-gtk.css --> <!-- interface-css-provider-path ubinstall-gtk.css -->
@ -52,6 +52,7 @@
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">True</property> <property name="can-focus">True</property>
<property name="expander-column">treeviewcolumn1</property> <property name="expander-column">treeviewcolumn1</property>
<property name="search-column">0</property>
<child internal-child="selection"> <child internal-child="selection">
<object class="GtkTreeSelection"/> <object class="GtkTreeSelection"/>
</child> </child>
@ -70,6 +71,8 @@
<child> <child>
<object class="GtkTreeViewColumn"> <object class="GtkTreeViewColumn">
<property name="title" translatable="yes">Id</property> <property name="title" translatable="yes">Id</property>
<property name="sort-indicator">True</property>
<property name="sort-column-id">0</property>
<child> <child>
<object class="GtkCellRendererText"/> <object class="GtkCellRendererText"/>
<attributes> <attributes>

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.38.2 --> <!-- Generated with glade 3.40.0 -->
<interface domain="ubinstall-gtk"> <interface domain="ubinstall-gtk">
<requires lib="gtk+" version="3.24"/> <requires lib="gtk+" version="3.24"/>
<!-- interface-css-provider-path ubinstall-gtk.css --> <!-- interface-css-provider-path ubinstall-gtk.css -->
@ -12,6 +12,7 @@
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">True</property> <property name="can-focus">True</property>
<property name="receives-default">False</property> <property name="receives-default">False</property>
<property name="active">True</property>
<property name="draw-indicator">True</property> <property name="draw-indicator">True</property>
</object> </object>
<packing> <packing>

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.38.2 --> <!-- Generated with glade 3.40.0 -->
<interface domain="ubinstall-gtk"> <interface domain="ubinstall-gtk">
<requires lib="gtk+" version="3.24"/> <requires lib="gtk+" version="3.24"/>
<!-- interface-css-provider-path ubinstall-gtk.css --> <!-- interface-css-provider-path ubinstall-gtk.css -->
@ -97,6 +97,8 @@
<column type="gboolean"/> <column type="gboolean"/>
<!-- column-name Active --> <!-- column-name Active -->
<column type="gboolean"/> <column type="gboolean"/>
<!-- column-name MainLayout -->
<column type="gboolean"/>
</columns> </columns>
</object> </object>
<object class="GtkTreeModelFilter" id="LayoutsFilter"> <object class="GtkTreeModelFilter" id="LayoutsFilter">
@ -2532,7 +2534,7 @@ and help you install UBLinux on your computer</property>
<property name="margin-top">10</property> <property name="margin-top">10</property>
<property name="spacing">5</property> <property name="spacing">5</property>
<child> <child>
<object class="GtkSwitch"> <object class="GtkSwitch" id="RegionSensitiveSwitch">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">True</property> <property name="can-focus">True</property>
</object> </object>
@ -2666,10 +2668,8 @@ and help you install UBLinux on your computer</property>
<child> <child>
<object class="GtkEntry" id="AvailableLanguagesEntry"> <object class="GtkEntry" id="AvailableLanguagesEntry">
<property name="visible">True</property> <property name="visible">True</property>
<property name="sensitive">False</property>
<property name="can-focus">False</property> <property name="can-focus">False</property>
<property name="placeholder-text" translatable="yes">English, U.S.A.; Russian, Russia</property> <property name="placeholder-text" translatable="yes">English, U.S.A.; Russian, Russia</property>
<signal name="changed" handler="on_toggle_button_switch_on" object="LanguagesSensitiveCheck" swapped="no"/>
</object> </object>
<packing> <packing>
<property name="expand">True</property> <property name="expand">True</property>
@ -2680,7 +2680,6 @@ and help you install UBLinux on your computer</property>
<child> <child>
<object class="GtkButton" id="AvailableLanguagesButton"> <object class="GtkButton" id="AvailableLanguagesButton">
<property name="visible">True</property> <property name="visible">True</property>
<property name="sensitive">False</property>
<property name="can-focus">True</property> <property name="can-focus">True</property>
<property name="receives-default">True</property> <property name="receives-default">True</property>
<property name="image">image6</property> <property name="image">image6</property>
@ -2721,11 +2720,9 @@ and help you install UBLinux on your computer</property>
<child> <child>
<object class="GtkComboBox" id="LanguagesCombo"> <object class="GtkComboBox" id="LanguagesCombo">
<property name="visible">True</property> <property name="visible">True</property>
<property name="sensitive">False</property>
<property name="can-focus">True</property> <property name="can-focus">True</property>
<property name="model">LanguagesFilter</property> <property name="model">LanguagesFilter</property>
<property name="id-column">2</property> <property name="id-column">2</property>
<signal name="changed" handler="on_toggle_button_switch_on" object="MainLanguageSensitiveCheck" swapped="no"/>
<child> <child>
<object class="GtkCellRendererText"/> <object class="GtkCellRendererText"/>
<attributes> <attributes>
@ -2841,13 +2838,11 @@ and help you install UBLinux on your computer</property>
<child> <child>
<object class="GtkComboBoxText" id="KeyboardModelCombo"> <object class="GtkComboBoxText" id="KeyboardModelCombo">
<property name="visible">True</property> <property name="visible">True</property>
<property name="sensitive">False</property>
<property name="can-focus">True</property> <property name="can-focus">True</property>
<property name="active">0</property> <property name="active">0</property>
<items> <items>
<item id="pc105" translatable="yes">Default (Regular 105-key)</item> <item id="pc105" translatable="yes">Default (Regular 105-key)</item>
</items> </items>
<signal name="changed" handler="on_toggle_button_switch_on" object="KeyboardModelSensitiveCheck" swapped="no"/>
</object> </object>
<packing> <packing>
<property name="expand">True</property> <property name="expand">True</property>
@ -2882,7 +2877,6 @@ and help you install UBLinux on your computer</property>
<child> <child>
<object class="GtkComboBoxText" id="LayoutBindingCombo"> <object class="GtkComboBoxText" id="LayoutBindingCombo">
<property name="visible">True</property> <property name="visible">True</property>
<property name="sensitive">False</property>
<property name="can-focus">True</property> <property name="can-focus">True</property>
<property name="active">0</property> <property name="active">0</property>
<items> <items>
@ -2912,7 +2906,6 @@ and help you install UBLinux on your computer</property>
<item id="grp:sclk_toggle" translatable="yes">Scroll Lock</item> <item id="grp:sclk_toggle" translatable="yes">Scroll Lock</item>
<item id="grp:lctrl_lwin_toggle" translatable="yes">Left Ctrl+Left Win</item> <item id="grp:lctrl_lwin_toggle" translatable="yes">Left Ctrl+Left Win</item>
</items> </items>
<signal name="changed" handler="on_toggle_button_switch_on" object="OptionsSensitiveCheck" swapped="no"/>
</object> </object>
<packing> <packing>
<property name="expand">True</property> <property name="expand">True</property>
@ -2948,19 +2941,18 @@ and help you install UBLinux on your computer</property>
<child> <child>
<object class="GtkTreeView" id="LayoutTree"> <object class="GtkTreeView" id="LayoutTree">
<property name="visible">True</property> <property name="visible">True</property>
<property name="sensitive">False</property>
<property name="can-focus">True</property> <property name="can-focus">True</property>
<property name="model">LayoutsFilter</property> <property name="model">LayoutsFilter</property>
<property name="search-column">0</property> <property name="search-column">0</property>
<child internal-child="selection">
<object class="GtkTreeSelection"/>
</child>
<child> <child>
<object class="GtkTreeViewColumn"> <object class="GtkTreeViewColumn">
<property name="title" translatable="yes">column</property>
<child> <child>
<object class="GtkCellRendererToggle"> <object class="GtkCellRendererToggle" id="KeyboardLayoutChosenCell"/>
<property name="radio">True</property>
</object>
<attributes> <attributes>
<attribute name="activatable">3</attribute> <attribute name="active">4</attribute>
</attributes> </attributes>
</child> </child>
</object> </object>
@ -3005,7 +2997,6 @@ and help you install UBLinux on your computer</property>
<child> <child>
<object class="GtkButton" id="AddButton"> <object class="GtkButton" id="AddButton">
<property name="visible">True</property> <property name="visible">True</property>
<property name="sensitive">False</property>
<property name="can-focus">True</property> <property name="can-focus">True</property>
<property name="receives-default">True</property> <property name="receives-default">True</property>
<property name="tooltip-text" translatable="yes">Add layouts</property> <property name="tooltip-text" translatable="yes">Add layouts</property>
@ -3023,7 +3014,6 @@ and help you install UBLinux on your computer</property>
<child> <child>
<object class="GtkButton" id="RemoveButton"> <object class="GtkButton" id="RemoveButton">
<property name="visible">True</property> <property name="visible">True</property>
<property name="sensitive">False</property>
<property name="can-focus">True</property> <property name="can-focus">True</property>
<property name="receives-default">True</property> <property name="receives-default">True</property>
<property name="tooltip-text" translatable="yes">Remove layout</property> <property name="tooltip-text" translatable="yes">Remove layout</property>

Loading…
Cancel
Save