|
|
|
|
@ -4,6 +4,29 @@ config main_config;
|
|
|
|
|
|
|
|
|
|
//functions
|
|
|
|
|
|
|
|
|
|
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);
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void on_toggle_button_switch_on(GtkWidget *, GtkToggleButton *toggle){
|
|
|
|
|
gtk_toggle_button_set_active(toggle,1);
|
|
|
|
|
}
|
|
|
|
|
@ -191,17 +214,14 @@ void yon_interface_update(main_window *widgets){
|
|
|
|
|
page = YON_PAGE_OPTIONS_SEPARATE;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
char *device = config(AUTOINSTALL_DEVICE);
|
|
|
|
|
char *part = NULL;
|
|
|
|
|
if (page!=YON_PAGE_INSTALL_COMMON)
|
|
|
|
|
part = config(part_parameter);
|
|
|
|
|
|
|
|
|
|
char *fs_type = config(part_type_parameter);
|
|
|
|
|
char *device_label = config(device_label_parameter);
|
|
|
|
|
char *format = config(device_format_parameter);
|
|
|
|
|
char *part_size = config(part_size_parameter);
|
|
|
|
|
|
|
|
|
|
GtkListStore *device_list = widgets->DevicesList;
|
|
|
|
|
GtkListStore *part_list=widgets->PartitionsList;
|
|
|
|
|
GtkWidget *device_tree=NULL;
|
|
|
|
|
@ -210,6 +230,7 @@ void yon_interface_update(main_window *widgets){
|
|
|
|
|
case YON_PAGE_INSTALL_COMMON:{
|
|
|
|
|
device_tree = widgets->CommonInstallationDevicesTree;
|
|
|
|
|
} break;
|
|
|
|
|
|
|
|
|
|
case YON_PAGE_INSTALL_SEPARATE:{
|
|
|
|
|
device_tree = widgets->InstallationNearSysDevicesTree;
|
|
|
|
|
part_tree = widgets->InstallationNearSysSectionTree;
|
|
|
|
|
@ -229,6 +250,7 @@ void yon_interface_update(main_window *widgets){
|
|
|
|
|
gtk_entry_set_text(GTK_ENTRY(widgets->NextInstallationSectionNameEntry),"");
|
|
|
|
|
|
|
|
|
|
} break;
|
|
|
|
|
|
|
|
|
|
case YON_PAGE_INSTALL_SAME_PARTITION:{
|
|
|
|
|
device_tree = widgets->SamePlaceDeviceTree;
|
|
|
|
|
part_tree = widgets->SamePlacePartTree;
|
|
|
|
|
@ -245,9 +267,11 @@ void yon_interface_update(main_window *widgets){
|
|
|
|
|
case YON_PAGE_OPTIONS_GRUB_INSTALL:{
|
|
|
|
|
device_tree = widgets->GrubInstallDevicesTree;
|
|
|
|
|
} break;
|
|
|
|
|
|
|
|
|
|
case YON_PAGE_OPTIONS_GRUB_UPDATE:{
|
|
|
|
|
device_tree = widgets->GrubUpdateDevicesTree;
|
|
|
|
|
} break;
|
|
|
|
|
|
|
|
|
|
case YON_PAGE_OPTIONS_SEPARATE:{
|
|
|
|
|
GtkTreeIter iter;
|
|
|
|
|
device_tree = widgets->SeparateDevicesTree;
|
|
|
|
|
@ -269,21 +293,19 @@ void yon_interface_update(main_window *widgets){
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
} break;
|
|
|
|
|
|
|
|
|
|
case YON_PAGE_OPTIONS_OS_ONLY:{
|
|
|
|
|
device_tree = widgets->OSDevicesTree;
|
|
|
|
|
part_tree = widgets->OSSysSectionTree;
|
|
|
|
|
} break;
|
|
|
|
|
|
|
|
|
|
case YON_PAGE_OPTIONS_USRDATA_ONLY:{
|
|
|
|
|
device_tree = widgets->UserdataDevicesTree;
|
|
|
|
|
part_tree = widgets->UserdataSysSectionTree;
|
|
|
|
|
} break;
|
|
|
|
|
|
|
|
|
|
default:{}break;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
GtkTreeIter iter;
|
|
|
|
|
char *cur_device="";
|
|
|
|
|
if (page!=YON_PAGE_OPTIONS_SEPARATE && !yon_char_is_empty(device)){
|
|
|
|
|
@ -305,8 +327,6 @@ void yon_interface_update(main_window *widgets){
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
char *system_locale = config(locale_parameter);
|
|
|
|
|
if (!yon_char_is_empty(system_locale)){
|
|
|
|
|
char *chosen_langs = "";
|
|
|
|
|
@ -328,7 +348,6 @@ void yon_interface_update(main_window *widgets){
|
|
|
|
|
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widgets->LanguagesSensitiveCheck),0);
|
|
|
|
|
gtk_entry_set_text(GTK_ENTRY(widgets->AvailableLanguagesEntry),"");
|
|
|
|
|
}
|
|
|
|
|
// gtk_tree_model_filter_refilter(GTK_TREE_MODEL_FILTER(widgets->LanguagesFilter));
|
|
|
|
|
} else {
|
|
|
|
|
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widgets->LanguagesSensitiveCheck),0);
|
|
|
|
|
gtk_entry_set_text(GTK_ENTRY(widgets->AvailableLanguagesEntry),"");
|
|
|
|
|
@ -346,14 +365,10 @@ void yon_interface_update(main_window *widgets){
|
|
|
|
|
if (cur) free(cur);
|
|
|
|
|
}
|
|
|
|
|
if (langsize) yon_char_parsed_free(lang,langsize);
|
|
|
|
|
// gtk_tree_model_filter_refilter(GTK_TREE_MODEL_FILTER(widgets->LanguagesFilter));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
char *zone = config(zone_parameter);
|
|
|
|
|
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(region)){
|
|
|
|
|
gtk_combo_box_set_active_id(GTK_COMBO_BOX(widgets->RegionCombo),region);
|
|
|
|
|
@ -361,13 +376,11 @@ void yon_interface_update(main_window *widgets){
|
|
|
|
|
gtk_combo_box_set_active_id(GTK_COMBO_BOX(widgets->RegionCombo),"Europe");
|
|
|
|
|
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widgets->RegionSensitiveCheck),0);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (!yon_char_is_empty(zone)){
|
|
|
|
|
gtk_combo_box_set_active_id(GTK_COMBO_BOX(widgets->ZoneCombo),zone);
|
|
|
|
|
} else {
|
|
|
|
|
gtk_combo_box_set_active_id(GTK_COMBO_BOX(widgets->ZoneCombo),"Moscow");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
char *language = config(lang_parameter);
|
|
|
|
|
if (!yon_char_is_empty(language)){
|
|
|
|
|
gtk_combo_box_set_active_id(GTK_COMBO_BOX(widgets->LanguageCombo),language);
|
|
|
|
|
@ -375,12 +388,9 @@ void yon_interface_update(main_window *widgets){
|
|
|
|
|
gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->LanguageCombo),0);
|
|
|
|
|
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widgets->MainLanguageSensitiveCheck),0);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
char *kbmodel = config (xkbmodel_parameter);
|
|
|
|
|
char *optinos = config(xkboptions_parameter);
|
|
|
|
|
char *layout = config(xkblayout_parameter);
|
|
|
|
|
|
|
|
|
|
if (!yon_char_is_empty(kbmodel)){
|
|
|
|
|
gtk_combo_box_set_active_id(GTK_COMBO_BOX(widgets->KeyboardModelCombo),kbmodel);
|
|
|
|
|
} else {
|
|
|
|
|
@ -388,25 +398,23 @@ void yon_interface_update(main_window *widgets){
|
|
|
|
|
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widgets->KeyboardModelSensitiveCheck),0);
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (!yon_char_is_empty(optinos)){
|
|
|
|
|
gtk_combo_box_set_active_id(GTK_COMBO_BOX(widgets->LayoutBindingCombo),optinos);
|
|
|
|
|
} else {
|
|
|
|
|
gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->LayoutBindingCombo),0);
|
|
|
|
|
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widgets->OptionsSensitiveCheck),0);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (!yon_char_is_empty(layout)){
|
|
|
|
|
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widgets->ManualLayoutRadio),1);
|
|
|
|
|
for_iter(widgets->LayoutList,&iter){
|
|
|
|
|
char *cur=NULL;
|
|
|
|
|
gtk_tree_model_get(GTK_TREE_MODEL(widgets->LayoutList),&iter,0,&cur,-1);
|
|
|
|
|
if (strstr(layout,cur)){
|
|
|
|
|
gtk_tree_store_set(widgets->LayoutList,&iter,3,1,-1);
|
|
|
|
|
} else {
|
|
|
|
|
gtk_tree_store_set(widgets->LayoutList,&iter,3,0,-1);
|
|
|
|
|
for_iter(widgets->LayoutList,&iter){
|
|
|
|
|
char *cur=NULL;
|
|
|
|
|
gtk_tree_model_get(GTK_TREE_MODEL(widgets->LayoutList),&iter,0,&cur,-1);
|
|
|
|
|
if (strstr(layout,cur)){
|
|
|
|
|
gtk_tree_store_set(widgets->LayoutList,&iter,3,1,-1);
|
|
|
|
|
} else {
|
|
|
|
|
gtk_tree_store_set(widgets->LayoutList,&iter,3,0,-1);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
for_iter(widgets->LayoutList,&iter){
|
|
|
|
|
char *id;
|
|
|
|
|
@ -419,28 +427,24 @@ void yon_interface_update(main_window *widgets){
|
|
|
|
|
}
|
|
|
|
|
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widgets->LayoutSensitiveCheck),0);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
char *user_name = config(user_name_parameter);
|
|
|
|
|
char *user_gecos = config(user_gecos_parameter);
|
|
|
|
|
char *user_password = config(user_password_parameter);
|
|
|
|
|
char *root_password = config(root_password_parameter);
|
|
|
|
|
char *autologin = config(autologin_parameter);
|
|
|
|
|
char *hostname = config(hostname_parameter);
|
|
|
|
|
|
|
|
|
|
if (!yon_char_is_empty(user_name)){
|
|
|
|
|
gtk_entry_set_text(GTK_ENTRY(widgets->LoginEntry),user_name);
|
|
|
|
|
} else {
|
|
|
|
|
gtk_entry_set_text(GTK_ENTRY(widgets->LoginEntry),"");
|
|
|
|
|
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widgets->LoginSensitiveCheck),0);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (!yon_char_is_empty(user_gecos)){
|
|
|
|
|
gtk_entry_set_text(GTK_ENTRY(widgets->UserNameEntry),_(user_gecos));
|
|
|
|
|
} else {
|
|
|
|
|
gtk_entry_set_text(GTK_ENTRY(widgets->UserNameEntry),"");
|
|
|
|
|
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widgets->UsernameSensitiveCheck),0);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (!yon_char_is_empty(user_password)){
|
|
|
|
|
gtk_entry_set_text(GTK_ENTRY(widgets->PasswordEntry),user_password);
|
|
|
|
|
gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->PasswordCombo),1);
|
|
|
|
|
@ -448,9 +452,7 @@ void yon_interface_update(main_window *widgets){
|
|
|
|
|
gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->PasswordCombo),0);
|
|
|
|
|
gtk_entry_set_text(GTK_ENTRY(widgets->PasswordEntry),"");
|
|
|
|
|
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widgets->PasswordSensitiveCheck),0);
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (!yon_char_is_empty(root_password)){
|
|
|
|
|
gtk_entry_set_text(GTK_ENTRY(widgets->AdminPasswordEntry),root_password);
|
|
|
|
|
gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->AdminPasswordCombo),1);
|
|
|
|
|
@ -459,7 +461,6 @@ void yon_interface_update(main_window *widgets){
|
|
|
|
|
gtk_entry_set_text(GTK_ENTRY(widgets->AdminPasswordEntry),"");
|
|
|
|
|
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widgets->RootPasswordSensitiveCheck),0);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (!yon_char_is_empty(autologin)){
|
|
|
|
|
if (!strcmp(autologin,"yes"))
|
|
|
|
|
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widgets->AutologinCheck),1);
|
|
|
|
|
@ -469,7 +470,6 @@ void yon_interface_update(main_window *widgets){
|
|
|
|
|
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widgets->AutologinCheck),main_config.autologin_default);
|
|
|
|
|
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widgets->AutologinSensitiveCheck),0);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (!yon_char_is_empty(hostname)){
|
|
|
|
|
if (strcmp(hostname,"auto")){
|
|
|
|
|
gtk_entry_set_text(GTK_ENTRY(widgets->HotnameEntry),hostname);
|
|
|
|
|
@ -486,46 +486,26 @@ void yon_interface_update(main_window *widgets){
|
|
|
|
|
g_signal_handlers_unblock_by_func(G_OBJECT(widgets->AutoHostnameCheck),on_autohostname_check,widgets);
|
|
|
|
|
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widgets->HostnameSensitiveCheck),0);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// if (fs_type) free(fs_type);
|
|
|
|
|
// if (device_label) free(device_label);
|
|
|
|
|
// if (format) free(format);
|
|
|
|
|
// if (part_size) free(part_size);
|
|
|
|
|
// if (user_name) free(user_name);
|
|
|
|
|
// if (user_gecos) free(user_gecos);
|
|
|
|
|
// if (user_password) free(user_password);
|
|
|
|
|
// if (root_password) free(root_password);
|
|
|
|
|
// if (autologin) free(autologin);
|
|
|
|
|
// if (hostname) free(hostname);
|
|
|
|
|
// if (kbmodel) free(kbmodel);
|
|
|
|
|
// if (optinos) free(optinos);
|
|
|
|
|
// if (layout) free(layout);
|
|
|
|
|
// if (language) free(language);
|
|
|
|
|
// if (zone) free(zone);
|
|
|
|
|
// if (system_locale) free(system_locale);
|
|
|
|
|
// if (region) free(region);
|
|
|
|
|
// if (device) free(device);
|
|
|
|
|
// if (part) free(part);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void on_config_local_load(GtkWidget *,main_window *widgets);
|
|
|
|
|
void on_config_local_load(GtkWidget *,main_window *widgets){
|
|
|
|
|
yon_load_proceed(YON_CONFIG_LOCAL);
|
|
|
|
|
yon_interface_update(widgets);
|
|
|
|
|
main_config.load_mode=1;
|
|
|
|
|
yon_load_proceed(YON_CONFIG_LOCAL);
|
|
|
|
|
yon_interface_update(widgets);
|
|
|
|
|
main_config.load_mode=1;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void on_config_global_load(GtkWidget *,main_window *);
|
|
|
|
|
void on_config_global_load(GtkWidget *,main_window *widgets){
|
|
|
|
|
yon_load_proceed(YON_CONFIG_GLOBAL);
|
|
|
|
|
yon_interface_update(widgets);
|
|
|
|
|
main_config.load_mode=0;
|
|
|
|
|
yon_load_proceed(YON_CONFIG_GLOBAL);
|
|
|
|
|
yon_interface_update(widgets);
|
|
|
|
|
main_config.load_mode=0;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void on_config_custom_load(GtkWidget *,main_window *);
|
|
|
|
|
void on_config_custom_load(GtkWidget *,main_window *widgets){
|
|
|
|
|
yon_load_proceed(YON_CONFIG_CUSTOM);
|
|
|
|
|
yon_interface_update(widgets);
|
|
|
|
|
yon_interface_update(widgets);
|
|
|
|
|
main_config.load_mode=3;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@ -552,7 +532,6 @@ void on_config_global_save(GtkWidget *,main_window *widgets){
|
|
|
|
|
void on_config_custom_save(GtkWidget *, main_window *widgets);
|
|
|
|
|
void on_config_custom_save(GtkWidget *, main_window *widgets){
|
|
|
|
|
char *path = NULL;
|
|
|
|
|
// YON_CONFIG_TYPE type = YON_CONFIG_CUSTOM;
|
|
|
|
|
GtkWidget *dialog = gtk_file_chooser_dialog_new(TITLE_LABEL,NULL,GTK_FILE_CHOOSER_ACTION_SAVE,CANCEL_LABEL,GTK_RESPONSE_CANCEL,SAVE_LABEL,GTK_RESPONSE_ACCEPT,NULL);
|
|
|
|
|
textdomain(TITLE_LABEL);
|
|
|
|
|
GtkFileFilter *filter = gtk_file_filter_new();
|
|
|
|
|
@ -563,7 +542,6 @@ void on_config_custom_save(GtkWidget *, main_window *widgets){
|
|
|
|
|
int response = gtk_dialog_run(GTK_DIALOG(dialog));
|
|
|
|
|
if (response == GTK_RESPONSE_ACCEPT){
|
|
|
|
|
char *file = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(dialog));
|
|
|
|
|
// char *directory = gtk_file_chooser_get_current_folder(GTK_FILE_CHOOSER(dialog));
|
|
|
|
|
if (!yon_char_is_empty(file)){
|
|
|
|
|
if (!strstr(file,".ini")) file = yon_char_append(file,".ini");
|
|
|
|
|
if (access(file,0)!=F_OK){
|
|
|
|
|
@ -973,9 +951,8 @@ void *on_config_save(void *data){
|
|
|
|
|
yon_char_parsed_free(parameters,size);
|
|
|
|
|
yon_debug_output("%s\n","Entered installation");
|
|
|
|
|
if (system(yon_debug_output("%s\n",command))){
|
|
|
|
|
yon_debug_output("%s\n","Entered installation failed");
|
|
|
|
|
|
|
|
|
|
g_thread_new("error func",(GThreadFunc)on_install_error,widgets);
|
|
|
|
|
gdk_threads_add_idle((GSourceFunc)on_install_error,widgets);
|
|
|
|
|
free(command);
|
|
|
|
|
g_mutex_lock(&main_config.install_mutex);
|
|
|
|
|
main_config.install_thread=0;
|
|
|
|
|
@ -983,28 +960,18 @@ void *on_config_save(void *data){
|
|
|
|
|
g_mutex_lock(&main_config.install_mutex);
|
|
|
|
|
main_config.install_complete=1;
|
|
|
|
|
g_mutex_unlock(&main_config.install_mutex);
|
|
|
|
|
yon_debug_output("%s\n","Exit installation");
|
|
|
|
|
// // pthread_exit(NULL);
|
|
|
|
|
return 0;
|
|
|
|
|
};
|
|
|
|
|
yon_debug_output("%s\n","Entered installation success");
|
|
|
|
|
free(command);
|
|
|
|
|
g_mutex_lock(&main_config.install_mutex);
|
|
|
|
|
main_config.install_thread=0;
|
|
|
|
|
g_mutex_unlock(&main_config.install_mutex);
|
|
|
|
|
g_mutex_lock(&main_config.install_mutex);
|
|
|
|
|
main_config.install_complete=1;
|
|
|
|
|
yon_debug_output("Install set to: %s\n",yon_char_from_int(main_config.install_complete));
|
|
|
|
|
g_mutex_unlock(&main_config.install_mutex);
|
|
|
|
|
yon_debug_output("Save state: %s\n",yon_char_from_int(main_config.save_done));
|
|
|
|
|
if (!main_config.save_done){
|
|
|
|
|
yon_debug_output("%s\n","Entered installation page change");
|
|
|
|
|
on_setup_system_configuration(widgets);
|
|
|
|
|
// g_thread_new("success func",(GThreadFunc)on_install_success,widgets);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
yon_debug_output("%s\n","Exit installation");
|
|
|
|
|
// pthread_exit(NULL);
|
|
|
|
|
return 0;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@ -1207,11 +1174,10 @@ gboolean on_install_success(main_window *widgets){
|
|
|
|
|
return 0;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void *on_install_error(main_window *widgets){
|
|
|
|
|
gboolean on_install_error(main_window *widgets){
|
|
|
|
|
gtk_label_set_text(GTK_LABEL(widgets->InstallationLabel),"");
|
|
|
|
|
gtk_notebook_set_current_page(GTK_NOTEBOOK(widgets->Notebook),YON_PAGE_INSTALL_ERROR);
|
|
|
|
|
|
|
|
|
|
return NULL;
|
|
|
|
|
return 0;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void *on_setup_system_configuration(void * data){
|
|
|
|
|
@ -1238,9 +1204,9 @@ void *on_setup_system_configuration(void * data){
|
|
|
|
|
char *parameter_string = yon_char_parsed_to_string(all_parameters,size," ");
|
|
|
|
|
char *command = set_user_config_command(parameter_string);
|
|
|
|
|
if (system(yon_debug_output("%s\n",command))){};
|
|
|
|
|
// yon_char_parsed_free(all_parameters,size);
|
|
|
|
|
// free(command);
|
|
|
|
|
// if (parameter_string) free(parameter_string);
|
|
|
|
|
yon_char_parsed_free(all_parameters,size);
|
|
|
|
|
free(command);
|
|
|
|
|
if (parameter_string) free(parameter_string);
|
|
|
|
|
}
|
|
|
|
|
g_idle_add((GSourceFunc)on_install_success,widgets);
|
|
|
|
|
return NULL;
|
|
|
|
|
@ -2497,6 +2463,7 @@ main_window *yon_main_window_complete(){
|
|
|
|
|
g_signal_connect(G_OBJECT(widgets->CancelInstallButton),"clicked",G_CALLBACK(on_page_navigation_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->LayoutSensitiveCheck),"toggled",G_CALLBACK(on_layout_toggle_button_switch),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);
|
|
|
|
|
|
|
|
|
|
|