master #396

Merged
asmeron merged 13 commits from YanTheKaller/ubinstall-gtk:master into master 2 weeks ago

@ -133,10 +133,11 @@ install: check uninstall
@if [[ "${PREFIX}" == @("/usr"|"/usr/") ]]; then \ @if [[ "${PREFIX}" == @("/usr"|"/usr/") ]]; then \
install -Dm644 -t "${DESTDIR}${PREFIX}/share/polkit-1/actions/" "com.ublinux.${PKGNAME}.policy"; \ install -Dm644 -t "${DESTDIR}${PREFIX}/share/polkit-1/actions/" "com.ublinux.${PKGNAME}.policy"; \
else \ else \
# install -Dm644 "com.ublinux.${PKGNAME}.policy" "${DESTDIR}${PREFIX}/share/polkit-1/actions/com.ublinux.${PKGNAME}$${PREFIX//\//-}.policy"; \ install -Dm644 "com.ublinux.${PKGNAME}.policy" "${DESTDIR}/usr/share/polkit-1/actions/com.ublinux.${PKGNAME}$${PREFIX//\//-}-local.policy"; \
install -Dm644 "com.ublinux.${PKGNAME}.policy" "${DESTDIR}/usr/share/polkit-1/actions/com.ublinux.${PKGNAME}$${PREFIX//\//-}.policy"; \ install -Dm644 "com.ublinux.${PKGNAME}.policy" "${DESTDIR}/usr/share/polkit-1/actions/com.ublinux.${PKGNAME}$${PREFIX//\//-}.policy"; \
# sed -e "s+/usr/bin+${PREFIX}/bin+" -e "s+\.run+$${PREFIX//\//-}\.run+g" -i "${DESTDIR}${PREFIX}/share/polkit-1/actions/com.ublinux.${PKGNAME}$${PREFIX//\//-}.policy"; \ # sed -e "s+/usr/bin+${PREFIX}/bin+" -e "s+\.run+$${PREFIX//\//-}\.run+g" -i "${DESTDIR}${PREFIX}/share/polkit-1/actions/com.ublinux.${PKGNAME}$${PREFIX//\//-}.policy"; \
sed -e "s+/usr/bin+/usr/bin+" -e "s+\.run+$${PREFIX//\//-}\.run+g" -i "${DESTDIR}/usr/share/polkit-1/actions/com.ublinux.${PKGNAME}$${PREFIX//\//-}.policy"; \ sed -e "s+/usr/bin+/usr/bin+" -e "s+\.run+$${PREFIX//\//-}\.run+g" -i "${DESTDIR}/usr/share/polkit-1/actions/com.ublinux.${PKGNAME}$${PREFIX//\//-}.policy"; \
sed -e '\|annotate key=|s|/usr/bin|${PREFIX}/bin|' -e '/action id=/s/\.run/${PKGIDENT}\.run/' -i ${DESTDIR}/usr/share/polkit-1/actions/com.ublinux.${PKGNAME}-local.policy;\
fi fi
@if [[ -z "${DESTDIR}" ]]; then \ @if [[ -z "${DESTDIR}" ]]; then \
ldconfig -n ${DESTDIR}/usr/lib; \ ldconfig -n ${DESTDIR}/usr/lib; \

@ -5367,3 +5367,6 @@ msgstr ""
msgid "Authentication in the bootloader menu" msgid "Authentication in the bootloader menu"
msgstr "" msgstr ""
msgid "Exit"
msgstr ""

@ -5562,3 +5562,6 @@ msgstr "Обязательное поле подсвечено зелёным"
msgid "Authentication in the bootloader menu" msgid "Authentication in the bootloader menu"
msgstr "Аутентификация в меню загрузчика" msgstr "Аутентификация в меню загрузчика"
msgid "Exit"
msgstr "Выход"

@ -700,8 +700,8 @@ void yon_advanced_init(main_window *widgets){
} }
yon_char_parsed_free(vmf_file,size); yon_char_parsed_free(vmf_file,size);
g_signal_handlers_unblock_by_func(G_OBJECT(widgets->AdvancedVirtualDeviceCombo),G_CALLBACK(on_advanced_virtual_device_changed),widgets); g_signal_handlers_unblock_by_func(G_OBJECT(widgets->AdvancedVirtualDeviceCombo),G_CALLBACK(on_advanced_virtual_device_changed),widgets);
char *install_mode = config(AUTOINSTALL_TYPE_INSTALL);
if (!strcmp(config(AUTOINSTALL_TYPE_INSTALL),"custom")){ if (!yon_char_is_empty(install_mode)&&!strcmp(install_mode,"custom")){
advanced_part_data *data1 = yon_advanced_get_config_data(0); advanced_part_data *data1 = yon_advanced_get_config_data(0);
advanced_part_data *data2 = yon_advanced_get_config_data(1); advanced_part_data *data2 = yon_advanced_get_config_data(1);
yon_advanced_part_select_for_data(data1,widgets); yon_advanced_part_select_for_data(data1,widgets);

@ -18,6 +18,11 @@ int yon_bootloader_save(main_window *widgets){
yon_config_register(GRUB_SUPERUSERS_parameter,GRUB_SUPERUSERS_parameter_command,NULL); yon_config_register(GRUB_SUPERUSERS_parameter,GRUB_SUPERUSERS_parameter_command,NULL);
yon_config_set_status(GRUB_SUPERUSERS_parameter,-1); yon_config_set_status(GRUB_SUPERUSERS_parameter,-1);
} }
if (!gtk_switch_get_active(GTK_SWITCH(widgets->BootloadNoPasswordSwitch))){
yon_config_remove_by_key(GRUB_SUPERUSERS_parameter);
} else {
GtkTreeIter iter; GtkTreeIter iter;
GtkTreeModel *model = GTK_TREE_MODEL(widgets->BootloadUsersList); GtkTreeModel *model = GTK_TREE_MODEL(widgets->BootloadUsersList);
for_iter(model,&iter){ for_iter(model,&iter){
@ -31,6 +36,7 @@ int yon_bootloader_save(main_window *widgets){
yon_config_remove_by_key(GRUB_SUPERUSERS_parameter); yon_config_remove_by_key(GRUB_SUPERUSERS_parameter);
} }
} }
}
if (!main_config.configure_mode){ if (!main_config.configure_mode){
@ -475,7 +481,10 @@ void yon_bootloader_init(main_window *widgets){
} else { } else {
gtk_entry_set_text(GTK_ENTRY(widgets->BootloadDefaultOSEntry),DEFAULT_BOOTLOAD_MENU_ITEM_LABEL); gtk_entry_set_text(GTK_ENTRY(widgets->BootloadDefaultOSEntry),DEFAULT_BOOTLOAD_MENU_ITEM_LABEL);
} }
{ if (!admins&&!size){
gtk_switch_set_active(GTK_SWITCH(widgets->BootloadNoPasswordSwitch),0);
} else {
gtk_switch_set_active(GTK_SWITCH(widgets->BootloadNoPasswordSwitch),1);
int admins_size; int admins_size;
config_str admins_parsed = yon_char_parse(admins,&admins_size,","); config_str admins_parsed = yon_char_parse(admins,&admins_size,",");
GtkTreeIter iter; GtkTreeIter iter;

@ -21,6 +21,13 @@ int yon_configuration_path_check(const char *path){
} else { } else {
full_path = yon_char_new(path); full_path = yon_char_new(path);
} }
{
if (!strstr(full_path,".")){
char *temp = yon_char_append(full_path,".ini");
free(full_path);
full_path = temp;
}
}
if (access(full_path,F_OK)){ if (access(full_path,F_OK)){
dialog_confirmation_data *data = yon_confirmation_dialog_data_new(); dialog_confirmation_data *data = yon_confirmation_dialog_data_new();
data->action_text = homedir_create?CREATE_CONFIG_DIALOG_LABEL_HOMEDIR:CREATE_CONFIG_DIALOG_LABEL; data->action_text = homedir_create?CREATE_CONFIG_DIALOG_LABEL_HOMEDIR:CREATE_CONFIG_DIALOG_LABEL;
@ -68,7 +75,11 @@ void on_path_choose(GtkWidget *,configuration_window *window){
filechooser_window *dialog = yon_config_file_chooser_window_new(GTK_FILE_CHOOSER_ACTION_SAVE); filechooser_window *dialog = yon_config_file_chooser_window_new(GTK_FILE_CHOOSER_ACTION_SAVE);
yon_gtk_window_setup(GTK_WINDOW(dialog->Window),GTK_WINDOW(window->Window),CONFIGURATION_MODE_TITLE_LABEL,icon_path,"filechooser_window"); yon_gtk_window_setup(GTK_WINDOW(dialog->Window),GTK_WINDOW(window->Window),CONFIGURATION_MODE_TITLE_LABEL,icon_path,"filechooser_window");
if (yon_file_chooser_start(dialog)==GTK_RESPONSE_APPLY){ if (yon_file_chooser_start(dialog)==GTK_RESPONSE_APPLY){
gtk_entry_set_text(GTK_ENTRY(window->PathEntry),dialog->last_success_selection); char *path = dialog->last_success_selection;
if (!strstr(dialog->last_success_selection,".")){
path = yon_char_append(dialog->last_any_selection,".ini");
}
gtk_entry_set_text(GTK_ENTRY(window->PathEntry),path);
free(dialog); free(dialog);
} }
} }
@ -124,11 +135,11 @@ void on_configuration_mode_switch(GtkWidget *,main_window *widgets){
yon_ubl_status_box_spawn(GTK_CONTAINER(window->StatusBox),ROOT_FORCE_CONFIGURATION_MODE_LABEL,0,BACKGROUND_IMAGE_INFO_TYPE); yon_ubl_status_box_spawn(GTK_CONTAINER(window->StatusBox),ROOT_FORCE_CONFIGURATION_MODE_LABEL,0,BACKGROUND_IMAGE_INFO_TYPE);
} }
if (!yon_char_is_empty(main_config.config_save_path)) { if (!yon_char_is_empty(main_config.config_save_path)&&strcmp(main_config.config_save_path,"system")) {
gtk_entry_set_text(GTK_ENTRY(window->PathEntry),main_config.config_save_path); gtk_entry_set_text(GTK_ENTRY(window->PathEntry),main_config.config_save_path);
}
free(main_config.config_save_path); free(main_config.config_save_path);
main_config.config_save_path = NULL; main_config.config_save_path = NULL;
}
gtk_widget_show(window->Window); gtk_widget_show(window->Window);
gtk_main(); gtk_main();
yon_config_mode_start(widgets); yon_config_mode_start(widgets);

@ -8,20 +8,38 @@ int yon_installation_start(main_window *widgets){
void yon_quick_install(GtkWidget *self, main_window *widgets){ void yon_quick_install(GtkWidget *self, main_window *widgets){
if (!yon_installation_check_packages_size(widgets)) return; if (!yon_installation_check_packages_size(widgets)) return;
if (!main_config.dry_run){
main_config.save_configured=1; main_config.save_configured=1;
gtk_widget_hide(self); gtk_widget_hide(self);
gtk_widget_show(gtk_widget_get_parent(widgets->InstallationProgress)); gtk_widget_show(gtk_widget_get_parent(widgets->InstallationProgress));
pthread_create(&main_config.install_thread,NULL,on_config_save,widgets); pthread_create(&main_config.install_thread,NULL,on_quick_install_start,widgets);
gtk_notebook_set_current_page(GTK_NOTEBOOK(widgets->Notebook),YON_PAGE_INSTALLATION); gtk_notebook_set_current_page(GTK_NOTEBOOK(widgets->Notebook),YON_PAGE_INSTALLATION);
if (!yon_char_is_empty(main_config.config_load_path)){
char *command = quick_install_command(main_config.config_load_path);
yon_launch_app_with_arguments(command,NULL);
}
yon_page_init(widgets,YON_PAGE_INSTALLATION); yon_page_init(widgets,YON_PAGE_INSTALLATION);
yon_page_update(widgets); yon_page_update(widgets);
}
void *on_quick_install_start(void *data){
main_window *widgets = (main_window*)data;
g_idle_add((GSourceFunc)yon_progress_bar_start,widgets);
if (!main_config.dry_run){
char *command = yon_debug_output("%s\n",quick_install_command(main_config.config_load_path));
yon_debug_output("%s\n","Entered installation");
if (system(yon_debug_output("%s\n",command))){
gdk_threads_add_idle((GSourceFunc)on_install_error,widgets);
free(command);
g_mutex_lock(&main_config.install_mutex);
main_config.install_complete=1;
g_mutex_unlock(&main_config.install_mutex);
return 0;
};
free(command);
g_mutex_lock(&main_config.install_mutex);
main_config.install_complete=1;
g_mutex_unlock(&main_config.install_mutex);
g_idle_add((GSourceFunc)on_install_success,widgets);
} else { } else {
yon_launch("ubconfig --source system get /"); yon_launch("ubconfig --source system get /");
} }
return 0;
} }

@ -149,7 +149,7 @@ void yon_navigation_buttons_set_sensetiveness(main_window *widgets){
gtk_widget_hide(widgets->StartScenarioButton); gtk_widget_hide(widgets->StartScenarioButton);
switch(page){ switch(page){
case YON_PAGE_WELCOME: case YON_PAGE_WELCOME:
yon_load_proceed(YON_CONFIG_LOCAL); // yon_load_proceed(YON_CONFIG_LOCAL);
gtk_widget_hide(widgets->BackButton); gtk_widget_hide(widgets->BackButton);
gtk_widget_set_sensitive(widgets->NextButton,1); gtk_widget_set_sensitive(widgets->NextButton,1);
gtk_widget_set_sensitive(widgets->CancelInstallButton,0); gtk_widget_set_sensitive(widgets->CancelInstallButton,0);
@ -158,18 +158,20 @@ void yon_navigation_buttons_set_sensetiveness(main_window *widgets){
gtk_widget_hide(widgets->BackButton); gtk_widget_hide(widgets->BackButton);
gtk_widget_hide(widgets->SourceButton); gtk_widget_hide(widgets->SourceButton);
gtk_widget_show(widgets->NextButton); gtk_widget_show(widgets->NextButton);
gtk_button_set_label(GTK_BUTTON(widgets->CancelInstallButton),EXIT_LABEL);
break; break;
case YON_PAGE_LICENCE: case YON_PAGE_LICENCE:
gtk_widget_show(widgets->BackButton); gtk_widget_show(widgets->BackButton);
gtk_widget_set_sensitive(widgets->BackButton,1); gtk_widget_set_sensitive(widgets->BackButton,1);
gtk_widget_set_sensitive(widgets->LoadLocalConfigurationMenuItem,1); gtk_widget_set_sensitive(widgets->LoadLocalConfigurationMenuItem,1);
gtk_widget_set_sensitive(widgets->LoadExternalConfigurationMenuItem,1); gtk_widget_set_sensitive(widgets->LoadExternalConfigurationMenuItem,1);
if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->LicenseAgreeRadio))) if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->LicenseAgreeRadio))){
gtk_widget_set_sensitive(widgets->NextButton,1); gtk_widget_set_sensitive(widgets->NextButton,1);
else } else {
gtk_widget_set_sensitive(widgets->NextButton,0); gtk_widget_set_sensitive(widgets->NextButton,0);
}
gtk_widget_set_sensitive(widgets->CancelInstallButton,1); gtk_widget_set_sensitive(widgets->CancelInstallButton,1);
gtk_button_set_label(GTK_BUTTON(widgets->CancelInstallButton),EXIT_LABEL);
break; break;
case YON_PAGE_INSTALLATION: case YON_PAGE_INSTALLATION:
gtk_widget_set_sensitive(widgets->NextButton,0); gtk_widget_set_sensitive(widgets->NextButton,0);
@ -228,6 +230,7 @@ void yon_navigation_buttons_set_sensetiveness(main_window *widgets){
{ {
gtk_widget_set_sensitive(widgets->LoadLocalConfigurationMenuItem,0); gtk_widget_set_sensitive(widgets->LoadLocalConfigurationMenuItem,0);
gtk_widget_set_sensitive(widgets->LoadExternalConfigurationMenuItem,0); gtk_widget_set_sensitive(widgets->LoadExternalConfigurationMenuItem,0);
gtk_button_set_label(GTK_BUTTON(widgets->CancelInstallButton),CANCEL_LABEL);
} break; } break;
default: default:
gtk_widget_set_sensitive(widgets->BackButton,1); gtk_widget_set_sensitive(widgets->BackButton,1);
@ -268,6 +271,7 @@ void yon_navigation_buttons_set_sensetiveness(main_window *widgets){
gtk_button_set_label(GTK_BUTTON(widgets->NextButton),NEXT_LABEL); gtk_button_set_label(GTK_BUTTON(widgets->NextButton),NEXT_LABEL);
GtkWidget *image = gtk_button_get_image(GTK_BUTTON(widgets->NextButton)); GtkWidget *image = gtk_button_get_image(GTK_BUTTON(widgets->NextButton));
gtk_image_set_from_icon_name(GTK_IMAGE(image),arrow_right_icon_path,GTK_ICON_SIZE_BUTTON); gtk_image_set_from_icon_name(GTK_IMAGE(image),arrow_right_icon_path,GTK_ICON_SIZE_BUTTON);
gtk_button_set_label(GTK_BUTTON(widgets->CancelInstallButton),CANCEL_LABEL);
} break; } break;
default: break; default: break;
} }
@ -454,7 +458,7 @@ void yon_container_stop_loading(GtkWidget *target){
void yon_configuration_mode_check(main_window *widgets){ void yon_configuration_mode_check(main_window *widgets){
enum YON_PAGES page = gtk_notebook_get_current_page(GTK_NOTEBOOK(widgets->Notebook)); enum YON_PAGES page = gtk_notebook_get_current_page(GTK_NOTEBOOK(widgets->Notebook));
if (page==YON_PAGE_WELCOME&&!main_config.force_ini){ if (page==YON_PAGE_WELCOME&&!main_config.force_ini&&!getuid()){
gtk_widget_set_sensitive(widgets->ConfigurationModeMenuItem,1); gtk_widget_set_sensitive(widgets->ConfigurationModeMenuItem,1);
} else { } else {
gtk_widget_set_sensitive(widgets->ConfigurationModeMenuItem,0); gtk_widget_set_sensitive(widgets->ConfigurationModeMenuItem,0);

@ -7,22 +7,22 @@ void yon_config_save_proceed(char *path, YON_CONFIG_TYPE type){
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){
yon_config_clean(); yon_config_clean();
}
if (!yon_char_is_empty(config_get_default_command)){
yon_config_load_config(YON_CONFIG_DEFAULT,config_get_default_command,NULL);
}
if (main_config.config_load_path){ if (main_config.config_load_path){
if (main_config.startup_config){ if (main_config.startup_config){
yon_config_restore(NULL); yon_config_restore(NULL);
yon_config_custom_clean(main_config.startup_config); yon_config_custom_clean(main_config.startup_config);
} }
main_config.startup_config = NULL; main_config.startup_config = NULL;
yon_config_custom_load_config(&main_config.startup_config,config_get_command(main_config.config_load_path),NULL); }
}
if (!yon_char_is_empty(config_get_default_command)){
yon_config_load_config(YON_CONFIG_DEFAULT,config_get_default_command,NULL);
} }
switch (type){ switch (type){
case YON_CONFIG_LOCAL: case YON_CONFIG_LOCAL:
main_config.config_load_path = yon_char_new("system"); main_config.config_load_path = yon_char_new("system");
main_config.config_save_path = main_config.config_load_path; main_config.config_save_path = main_config.config_load_path;
yon_config_custom_load_config(&main_config.startup_config,config_get_command("system"),NULL);
yon_config_load_config(type,config_get_command("system"),NULL); yon_config_load_config(type,config_get_command("system"),NULL);
break; break;
case YON_CONFIG_CUSTOM: case YON_CONFIG_CUSTOM:
@ -30,14 +30,23 @@ void yon_load_proceed(YON_CONFIG_TYPE type){
char *path = NULL; char *path = NULL;
path=yon_custom_config_init(GTK_FILE_CHOOSER_ACTION_OPEN); path=yon_custom_config_init(GTK_FILE_CHOOSER_ACTION_OPEN);
if (!yon_char_is_empty(path)){ if (!yon_char_is_empty(path)){
if (main_config.config_load_path){
if (main_config.startup_config){
yon_config_restore(NULL);
yon_config_custom_clean(main_config.startup_config);
}
main_config.startup_config = NULL;
}
main_config.config_load_path = yon_char_new(path); main_config.config_load_path = yon_char_new(path);
main_config.config_save_path = main_config.config_load_path; main_config.config_save_path = main_config.config_load_path;
yon_config_clean(); yon_config_clean();
yon_config_load_config(type,config_get_command(path),NULL); yon_config_load_config(type,config_get_command(path),NULL);
yon_config_custom_load_config(&main_config.startup_config,config_get_command(path),NULL);
} }
} else { } else {
yon_config_clean(); yon_config_clean();
yon_config_load_config(type,config_get_command(main_config.force_ini),NULL); yon_config_load_config(type,config_get_command(main_config.force_ini),NULL);
yon_config_custom_load_config(&main_config.startup_config,config_get_command(main_config.force_ini),NULL);
} }
break; break;
default: default:
@ -53,25 +62,28 @@ void on_config_local_load(GtkWidget *,main_window *widgets){
yon_load_proceed(YON_CONFIG_LOCAL); yon_load_proceed(YON_CONFIG_LOCAL);
main_config.load_mode=YON_CONFIG_LOCAL; main_config.load_mode=YON_CONFIG_LOCAL;
yon_main_window_update_locale(widgets); yon_main_window_update_locale(widgets);
yon_page_init(widgets,gtk_notebook_get_current_page(GTK_NOTEBOOK(widgets->Notebook))); yon_navigation_buttons_set_sensetiveness(widgets);
} }
void on_config_custom_load(GtkWidget *,main_window *){ void on_config_custom_load(GtkWidget *,main_window *widgets){
char *temp_custom_path = NULL; char *temp_custom_path = NULL;
yon_load_proceed(YON_CONFIG_CUSTOM); yon_load_proceed(YON_CONFIG_CUSTOM);
if (!yon_char_is_empty(main_config.config_load_path)){ if (!yon_char_is_empty(main_config.config_load_path)){
main_config.load_mode=YON_CONFIG_CUSTOM; main_config.load_mode=YON_CONFIG_CUSTOM;
free(temp_custom_path); free(temp_custom_path);
} }
yon_navigation_buttons_set_sensetiveness(widgets);
} }
void on_config_custom_load_last(GtkWidget *,main_window *){ void on_config_custom_load_last(GtkWidget *,main_window *widgets){
yon_config_clean(); yon_config_clean();
if (!yon_char_is_empty(config_get_default_command)) if (!yon_char_is_empty(config_get_default_command))
yon_config_load_config(YON_CONFIG_DEFAULT,config_get_default_command,NULL); yon_config_load_config(YON_CONFIG_DEFAULT,config_get_default_command,NULL);
char *command = config_get_command(main_config.config_load_path); char *command = config_get_command(main_config.config_load_path);
yon_config_load_config(YON_CONFIG_CUSTOM,command,NULL); yon_config_load_config(YON_CONFIG_CUSTOM,command,NULL);
main_config.load_mode=YON_CONFIG_CUSTOM; main_config.load_mode=YON_CONFIG_CUSTOM;
int page = gtk_notebook_get_current_page(GTK_NOTEBOOK(widgets->Notebook));
yon_page_init(widgets,page);
} }
void on_config_global_local_save(GtkWidget *,main_window *widgets){ void on_config_global_local_save(GtkWidget *,main_window *widgets){

@ -174,6 +174,11 @@ void on_source_accept(GtkWidget *,source_window *window){
yon_ubl_status_highlight_incorrect(element->DeviceCombo); yon_ubl_status_highlight_incorrect(element->DeviceCombo);
return; return;
} }
if (strstr(cur,",")){
yon_ubl_status_box_spawn(GTK_CONTAINER(window->StatusBox),PATH_INVALID_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE);
yon_ubl_status_highlight_incorrect(element->DeviceCombo);
return;
}
char *temp = yon_char_append_element(sources_list,cur,","); char *temp = yon_char_append_element(sources_list,cur,",");
if (!yon_char_is_empty(sources_list)) free(sources_list); if (!yon_char_is_empty(sources_list)) free(sources_list);
sources_list = temp; sources_list = temp;
@ -187,7 +192,12 @@ void on_source_accept(GtkWidget *,source_window *window){
} }
if (yon_char_check_element(sources_list,cur,",")){ if (yon_char_check_element(sources_list,cur,",")){
yon_ubl_status_box_spawn(GTK_CONTAINER(window->StatusBox),VALUE_REPEAT_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE); yon_ubl_status_box_spawn(GTK_CONTAINER(window->StatusBox),VALUE_REPEAT_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE);
yon_ubl_status_highlight_incorrect(element->DeviceCombo); yon_ubl_status_highlight_incorrect(element->PathEntry);
return;
}
if (strstr(cur,",")){
yon_ubl_status_box_spawn(GTK_CONTAINER(window->StatusBox),PATH_INVALID_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE);
yon_ubl_status_highlight_incorrect(element->PathEntry);
return; return;
} }
char *temp = yon_char_append_element(sources_list,cur,","); char *temp = yon_char_append_element(sources_list,cur,",");
@ -198,7 +208,12 @@ void on_source_accept(GtkWidget *,source_window *window){
char *cur = (char*)gtk_entry_get_text(GTK_ENTRY(element->PathEntry)); char *cur = (char*)gtk_entry_get_text(GTK_ENTRY(element->PathEntry));
if (yon_char_check_element(sources_list,cur,",")){ if (yon_char_check_element(sources_list,cur,",")){
yon_ubl_status_box_spawn(GTK_CONTAINER(window->StatusBox),VALUE_REPEAT_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE); yon_ubl_status_box_spawn(GTK_CONTAINER(window->StatusBox),VALUE_REPEAT_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE);
yon_ubl_status_highlight_incorrect(element->DeviceCombo); yon_ubl_status_highlight_incorrect(element->PathEntry);
return;
}
if (strstr(cur,",")){
yon_ubl_status_box_spawn(GTK_CONTAINER(window->StatusBox),PATH_INVALID_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE);
yon_ubl_status_highlight_incorrect(element->PathEntry);
return; return;
} }
char *temp = yon_char_append_element(sources_list,cur,","); char *temp = yon_char_append_element(sources_list,cur,",");

@ -237,6 +237,7 @@ void config_init(){
for (int i=0;i<main_config.layouts_size;i++){ for (int i=0;i<main_config.layouts_size;i++){
yon_char_remove_last_symbol(main_config.layouts_list[i],'\n'); yon_char_remove_last_symbol(main_config.layouts_list[i],'\n');
} }
main_config.startup_config=NULL;
} }
void on_gparted_open(){ void on_gparted_open(){
@ -700,6 +701,7 @@ void yon_main_window_create(main_window *widgets){
widgets->BootloadUserEditButton = yon_gtk_builder_get_widget(builder,"BootloadUserEditButton"); widgets->BootloadUserEditButton = yon_gtk_builder_get_widget(builder,"BootloadUserEditButton");
widgets->BootloadAdminCheckCell = GTK_CELL_RENDERER(gtk_builder_get_object(builder,"BootloadAdminCheckCell")); widgets->BootloadAdminCheckCell = GTK_CELL_RENDERER(gtk_builder_get_object(builder,"BootloadAdminCheckCell"));
widgets->BootloadUserRemoveButton = yon_gtk_builder_get_widget(builder,"BootloadUserRemoveButton"); widgets->BootloadUserRemoveButton = yon_gtk_builder_get_widget(builder,"BootloadUserRemoveButton");
widgets->BootloadNoPasswordSwitch = yon_gtk_builder_get_widget(builder,"BootloadNoPasswordSwitch");
widgets->BootloadUsersList = GTK_LIST_STORE(gtk_builder_get_object(builder,"BootloadUsersList")); widgets->BootloadUsersList = GTK_LIST_STORE(gtk_builder_get_object(builder,"BootloadUsersList"));
widgets->NetworkDomainSwitch = yon_gtk_builder_get_widget(builder,"NetworkDomainSwitch"); widgets->NetworkDomainSwitch = yon_gtk_builder_get_widget(builder,"NetworkDomainSwitch");
@ -883,6 +885,7 @@ void yon_main_window_create(main_window *widgets){
g_signal_connect(G_OBJECT(widgets->BootloadAdminCheckCell),"toggled",G_CALLBACK(on_bootloader_admin_toggled),widgets); g_signal_connect(G_OBJECT(widgets->BootloadAdminCheckCell),"toggled",G_CALLBACK(on_bootloader_admin_toggled),widgets);
g_signal_connect(G_OBJECT(widgets->BootloadUserRemoveButton),"clicked",G_CALLBACK(on_bootloader_user_remove),widgets); g_signal_connect(G_OBJECT(widgets->BootloadUserRemoveButton),"clicked",G_CALLBACK(on_bootloader_user_remove),widgets);
g_signal_connect(G_OBJECT(widgets->BootloadUserTree),"cursor-changed",G_CALLBACK(on_bootloader_selected),widgets); g_signal_connect(G_OBJECT(widgets->BootloadUserTree),"cursor-changed",G_CALLBACK(on_bootloader_selected),widgets);
g_signal_connect(G_OBJECT(widgets->BootloadNoPasswordSwitch),"state-set",G_CALLBACK(yon_gtk_widget_set_sensitive_from_switch),gtk_widget_get_parent(gtk_widget_get_parent(widgets->BootloadUserAddButton)));
g_signal_connect(G_OBJECT(widgets->BootloadTimerSwitch),"state-set",G_CALLBACK(yon_gtk_widget_set_sensitive_from_switch),widgets->BootloadTimerSpin); g_signal_connect(G_OBJECT(widgets->BootloadTimerSwitch),"state-set",G_CALLBACK(yon_gtk_widget_set_sensitive_from_switch),widgets->BootloadTimerSpin);
@ -1101,14 +1104,14 @@ main_window *yon_main_window_complete(){
} }
int main(int argc, char *argv[]){ int main(int argc, char *argv[]){
main_config.argv=argv;
main_config.argc = argc;
config_str unfound = NULL; config_str unfound = NULL;
int size=0; int size=0;
opterr=0; opterr=0;
yon_ubl_connect_config((_template_config*)&main_config); yon_ubl_connect_config((_template_config*)&main_config);
textdomain(LocaleName); textdomain(LocaleName);
config_init(); config_init();
main_config.argv=yon_char_parsed_copy(argv,argc);
main_config.argc = argc;
gtk_init(&argc,&argv); gtk_init(&argc,&argv);
yon_ubl_window_init(TITLE_LABEL,"",LocaleName,CssPath,LocaleName,version_application,WIKI_LINK); yon_ubl_window_init(TITLE_LABEL,"",LocaleName,CssPath,LocaleName,version_application,WIKI_LINK);
yon_ubl_setup_arguments(argc,argv,&unfound,&size,ADDITIONAL_ARGS); yon_ubl_setup_arguments(argc,argv,&unfound,&size,ADDITIONAL_ARGS);

@ -157,7 +157,7 @@ layout && /description:/ {\
#define yon_check_database_command "pacman -Syy >/dev/null" #define yon_check_database_command "pacman -Syy >/dev/null"
#define internet_tomezone_check_command "curl -s ipinfo.io/timezone" #define internet_tomezone_check_command "curl -s ipinfo.io/timezone"
#define ubinstall_dry_run_command "/usr/bin/bash -c \"ubinstall --dry-run" #define ubinstall_dry_run_command "/usr/bin/bash -c \"ubinstall --dry-run\""
#define os_name_get_command "sed -En 's/^PRETTY_NAME=[\"]*([^\"]+)[\"]*/\\1/p' /etc/os-release" #define os_name_get_command "sed -En 's/^PRETTY_NAME=[\"]*([^\"]+)[\"]*/\\1/p' /etc/os-release"
#define get_keyboard_layout_change_command "grep \"grp:\" /usr/share/X11/xkb/rules/base.lst | awk '{$1=$1; sub(/^!.*$/, \"\"); if ($1 ~ /^grp:/) {opt=$1; $1=\"\"; print opt \"|\" substr($0,2)}}'" #define get_keyboard_layout_change_command "grep \"grp:\" /usr/share/X11/xkb/rules/base.lst | awk '{$1=$1; sub(/^!.*$/, \"\"); if ($1 ~ /^grp:/) {opt=$1; $1=\"\"; print opt \"|\" substr($0,2)}}'"
@ -296,7 +296,7 @@ layout && /description:/ {\
#define get_localisation_command "ubconfig -ea --source global get [autoinstall] AUTOINSTALL[installer_locale] -- get [autoinstall] AUTOINSTALL['ubconfig set [locale] LANG'] -- get [locale] LANG" #define get_localisation_command "ubconfig -ea --source global get [autoinstall] AUTOINSTALL[installer_locale] -- get [autoinstall] AUTOINSTALL['ubconfig set [locale] LANG'] -- get [locale] LANG"
#define save_config_command yon_char_unite("/usr/bin/bash -c \"nice ubinstall autoinstall",main_config.debug_mode?" --debug":""," --noautoconfig --noinstall_extra\"", NULL) #define save_config_command yon_char_unite("/usr/bin/bash -c \"nice ubinstall autoinstall",main_config.debug_mode?" --debug":"","\"", NULL)
#define quick_install_command(path) yon_char_unite("nice ubinstall autoinstall",main_config.debug_mode?" --debug":""," --config='",path,"' --noautoconfig --noinstall_extra", NULL) #define quick_install_command(path) yon_char_unite("nice ubinstall autoinstall",main_config.debug_mode?" --debug":""," --config='",path,"' --noautoconfig --noinstall_extra", NULL)
#define set_user_config_command yon_char_unite("nice ubinstall autoconfig",main_config.debug_mode?" --debug":""," install_extra", NULL) #define set_user_config_command yon_char_unite("nice ubinstall autoconfig",main_config.debug_mode?" --debug":""," install_extra", NULL)
@ -777,7 +777,7 @@ typedef struct
GtkWidget *BootloadTimerSpin; GtkWidget *BootloadTimerSpin;
GtkWidget *BootloadDefaultOSEntry; GtkWidget *BootloadDefaultOSEntry;
GtkWidget *BootloadDefaulOSButton; GtkWidget *BootloadDefaulOSButton;
// GtkWidget *BootloadNoPasswordSwitch; GtkWidget *BootloadNoPasswordSwitch;
GtkWidget *BootloadUserAddButton; GtkWidget *BootloadUserAddButton;
GtkWidget *BootloadUserEditButton; GtkWidget *BootloadUserEditButton;
GtkCellRenderer *BootloadAdminCheckCell; GtkCellRenderer *BootloadAdminCheckCell;
@ -1643,3 +1643,4 @@ void *yon_status_thread_update(main_window *widgets);
void yon_db_lock_update(GFileMonitor *,GFile *,GFile *,GFileMonitorEvent ,main_window *widgets); void yon_db_lock_update(GFileMonitor *,GFile *,GFile *,GFileMonitorEvent ,main_window *widgets);
void yon_db_unlock_update(GFileMonitor *,GFile *,GFile *,GFileMonitorEvent ,main_window *widgets); void yon_db_unlock_update(GFileMonitor *,GFile *,GFile *,GFileMonitorEvent ,main_window *widgets);
void on_config_install_success(GtkWidget *self, int state, main_window *widgets); void on_config_install_success(GtkWidget *self, int state, main_window *widgets);
void *on_quick_install_start(void *data);

@ -207,6 +207,7 @@ NULL)
#define CONFIGURATION_MODE_TITLE_LABEL _("Choose installation configuration file") #define CONFIGURATION_MODE_TITLE_LABEL _("Choose installation configuration file")
#define SAVE_AND_EXIT_LABEL _("Save and exit") #define SAVE_AND_EXIT_LABEL _("Save and exit")
#define EXIT_LABEL yon_char_get_localised_from_lib("Exit")
#define NO_LABEL _("No") #define NO_LABEL _("No")
#define PARITY_INVALID_LABEL(target) yon_char_unite(_("Invalid devices parity. Needed:")," ",target,NULL) #define PARITY_INVALID_LABEL(target) yon_char_unite(_("Invalid devices parity. Needed:")," ",target,NULL)

@ -6598,6 +6598,7 @@ Select a different installation sources.</property>
<child> <child>
<object class="GtkBox"> <object class="GtkBox">
<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="spacing">5</property> <property name="spacing">5</property>
<child> <child>
@ -14513,7 +14514,7 @@ separately into the selected partition.</property>
<property name="spacing">5</property> <property name="spacing">5</property>
<child> <child>
<object class="GtkButton" id="CancelInstallButton"> <object class="GtkButton" id="CancelInstallButton">
<property name="label" translatable="yes">Cancel</property> <property name="label" translatable="yes">Exit</property>
<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">True</property> <property name="receives-default">True</property>

Loading…
Cancel
Save