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

Reviewed-on: #326
pull/336/head
Dmitry Razumov 1 month ago
commit 7e66dac42e

@ -373,7 +373,7 @@ msgstr "Установка GRUB"
#: source/ubl-strings.h:81 #: source/ubl-strings.h:81
msgid "Installing the GRUB bootloader into the MBR or EFI partition" msgid "Installing the GRUB bootloader into the MBR or EFI partition"
msgstr "Установка загрузчика GRUB в MBR или EFI-партицию" msgstr "Установка загрузчика GRUB в MBR или EFI-раздел"
#: source/ubl-strings.h:82 #: source/ubl-strings.h:82
msgid "GRUB update" msgid "GRUB update"

@ -299,7 +299,7 @@ gboolean yon_os_components_load(main_window *widgets){
for(iter = list;iter;iter=iter->next){ for(iter = list;iter;iter=iter->next){
os_row *row = g_object_get_data(iter->data,"kernel_row"); os_row *row = g_object_get_data(iter->data,"kernel_row");
char *target = row->source; char *target = row->source;
if (yon_char_parsed_check_exist(parsed,parsed_size,target)>-1){ if (!parsed_size||!strcmp(parsed[0],"auto")||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),0); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(row->InstallCheck),0);
@ -326,7 +326,8 @@ void yon_os_components_init(main_window *widgets){
free(row); free(row);
gtk_widget_destroy(GTK_WIDGET(iter->data)); gtk_widget_destroy(GTK_WIDGET(iter->data));
} }
gtk_overlay_add_overlay(GTK_OVERLAY(widgets->OSOverlay),widgets->OSSpinner); if (!gtk_widget_get_parent(widgets->OSSpinner))
gtk_overlay_add_overlay(GTK_OVERLAY(widgets->OSOverlay),widgets->OSSpinner);
gtk_spinner_start(GTK_SPINNER(widgets->OSSpinner)); gtk_spinner_start(GTK_SPINNER(widgets->OSSpinner));
gtk_widget_show(widgets->OSSpinner); gtk_widget_show(widgets->OSSpinner);
g_thread_new("geag",(GThreadFunc)yon_modules_list_load,widgets); g_thread_new("geag",(GThreadFunc)yon_modules_list_load,widgets);

@ -25,7 +25,7 @@ log_window *yon_log_window_new(){
window->Window = yon_gtk_builder_get_widget(builder,"MainWindow"); window->Window = yon_gtk_builder_get_widget(builder,"MainWindow");
window->ScrollWindow = yon_gtk_builder_get_widget(builder,"ScrollWindow"); window->ScrollWindow = yon_gtk_builder_get_widget(builder,"ScrollWindow");
window->HeadLabel = yon_gtk_builder_get_widget(builder,"headerTopic"); window->HeadLabel = yon_gtk_builder_get_widget(builder,"headerTopic");
window->LogLabel = yon_gtk_builder_get_widget(builder,"LogLabel"); window->LogTextView = yon_gtk_builder_get_widget(builder,"LogTextView");
window->StatusBox = yon_gtk_builder_get_widget(builder,"StatusBox"); window->StatusBox = yon_gtk_builder_get_widget(builder,"StatusBox");
window->ScrollToEndCheck = yon_gtk_builder_get_widget(builder,"ScrollToEndCheck"); window->ScrollToEndCheck = yon_gtk_builder_get_widget(builder,"ScrollToEndCheck");
window->monitor = NULL; window->monitor = NULL;
@ -53,7 +53,11 @@ void yon_read_log(GFileMonitor *,GFile *,GFile *,GFileMonitorEvent ,log_window *
g_mutex_unlock(&main_config.progress_mutex); g_mutex_unlock(&main_config.progress_mutex);
if (size){ if (size){
char *final = yon_char_parsed_to_string(parsed,size,""); char *final = yon_char_parsed_to_string(parsed,size,"");
gtk_label_set_text(GTK_LABEL(window->LogLabel),final); GtkTextIter start_iter, end_iter;
gtk_text_buffer_get_start_iter(gtk_text_view_get_buffer(GTK_TEXT_VIEW(window->LogTextView)),&start_iter);
gtk_text_buffer_get_end_iter(gtk_text_view_get_buffer(GTK_TEXT_VIEW(window->LogTextView)),&end_iter);
gtk_text_buffer_delete(gtk_text_view_get_buffer(GTK_TEXT_VIEW(window->LogTextView)),&start_iter,&end_iter);
gtk_text_buffer_set_text(gtk_text_view_get_buffer(GTK_TEXT_VIEW(window->LogTextView)),final,strlen(final));
if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(window->ScrollToEndCheck))){ if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(window->ScrollToEndCheck))){
if (!window->timer_id){ if (!window->timer_id){
window->timer_id = g_idle_add((GSourceFunc)yon_log_scroll,window); window->timer_id = g_idle_add((GSourceFunc)yon_log_scroll,window);

@ -191,6 +191,7 @@ void yon_navigation_buttons_set_sensetiveness(main_window *widgets){
gtk_widget_set_sensitive(widgets->BackButton,1); gtk_widget_set_sensitive(widgets->BackButton,1);
gtk_widget_set_sensitive(widgets->NextButton,1); gtk_widget_set_sensitive(widgets->NextButton,1);
gtk_widget_set_sensitive(widgets->CancelInstallButton,1); gtk_widget_set_sensitive(widgets->CancelInstallButton,1);
gtk_button_set_label(GTK_BUTTON(widgets->CancelInstallButton),CANCEL_LABEL);
break; break;
} }

@ -13,16 +13,24 @@ void yon_load_proceed(YON_CONFIG_TYPE type){
switch (type){ switch (type){
case YON_CONFIG_GLOBAL: case YON_CONFIG_GLOBAL:
yon_config_load_config(type,config_get_command("global"),NULL); yon_config_load_config(type,config_get_command("global"),NULL);
main_config.config_load_path = yon_char_new("global");
break; break;
case YON_CONFIG_LOCAL: case YON_CONFIG_LOCAL:
yon_config_load_config(type,config_get_command("system"),NULL); yon_config_load_config(type,config_get_command("system"),NULL);
main_config.config_load_path = yon_char_new("system");
break; break;
case YON_CONFIG_CUSTOM: case YON_CONFIG_CUSTOM:
char *path = NULL; if (yon_char_is_empty(main_config.config_load_path)){
path=yon_custom_config_init(GTK_FILE_CHOOSER_ACTION_OPEN); char *path = NULL;
if (!yon_char_is_empty(path)){ path=yon_custom_config_init(GTK_FILE_CHOOSER_ACTION_OPEN);
if (!yon_char_is_empty(path)){
main_config.config_load_path = yon_char_new(path);
yon_config_clean();
yon_config_load_config(type,config_get_command(path),NULL);
}
} else {
yon_config_clean(); yon_config_clean();
yon_config_load_config(type,config_get_command(path),NULL); yon_config_load_config(type,config_get_command(main_config.config_load_path),NULL);
} }
break; break;
default: default:
@ -44,6 +52,10 @@ void on_config_local_load(GtkWidget *,main_window *widgets){
} }
void on_config_custom_load(GtkWidget *,main_window *){ void on_config_custom_load(GtkWidget *,main_window *){
if (!yon_char_is_empty(main_config.config_load_path)){
free(main_config.config_load_path);
main_config.config_load_path = NULL;
}
yon_load_proceed(YON_CONFIG_CUSTOM); yon_load_proceed(YON_CONFIG_CUSTOM);
main_config.load_mode=YON_CONFIG_CUSTOM; main_config.load_mode=YON_CONFIG_CUSTOM;
} }
@ -414,8 +426,8 @@ int yon_config_save(main_window *widgets){
} }
void yon_config_restore(main_window *){ void yon_config_restore(main_window *){
yon_load_proceed(main_config.load_mode); yon_load_proceed(main_config.load_mode);
yon_launch("ubconfig --source system remove [autoinstall]"); yon_launch(yon_debug_output("%s\n","ubconfig --source system remove [autoinstall]"));
yon_config_to_default(); yon_config_to_default();
int size; int size;
config_str parameters = yon_config_get_save_parameters(&size); config_str parameters = yon_config_get_save_parameters(&size);

@ -137,9 +137,21 @@ void yon_user_init(main_window *widgets){
if (!main_config.configure_mode){ if (!main_config.configure_mode){
int size = 0; int size = 0;
config_str users = yon_config_get_all_by_key(USERADD_parameter_search,&size); config_str users = yon_config_get_all_by_key(USERADD_parameter_search,&size);
for(int i=0;i<size;i++){
if (strstr(users[i],"=")){
char *temp = yon_char_divide_search(users[i],"=",-1);
free(users[i]);
users[i] = temp;
}
}
yon_config_remove_by_list(users,size); yon_config_remove_by_list(users,size);
yon_config_update_by_args(autologin_parameter,root_password_parameter,NULL); yon_config_update_by_args(autologin_parameter,root_password_parameter,NULL);
yon_config_load_config(YON_CONFIG_CUSTOM,ubconfig_load_command(main_config.config_load_path),USERADD_parameter_all,NULL); config_str parameters = yon_config_load(config_get_command(main_config.config_load_path),&size);
for (int i=0;i<size;i++){
if (strstr(parameters[i],USERADD_parameter_search)){
yon_config_import_string(main_config.configure_mode,parameters[i]);
}
}
} }
gtk_combo_box_text_remove_all(GTK_COMBO_BOX_TEXT(widgets->UserRootPasswordCombo)); gtk_combo_box_text_remove_all(GTK_COMBO_BOX_TEXT(widgets->UserRootPasswordCombo));
gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(widgets->UserRootPasswordCombo),NULL,DEFAULT_LABEL); gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(widgets->UserRootPasswordCombo),NULL,DEFAULT_LABEL);

@ -905,7 +905,7 @@ typedef struct
GtkWidget *ScrollWindow; GtkWidget *ScrollWindow;
GtkWidget *StatusBox; GtkWidget *StatusBox;
GtkWidget *HeadLabel; GtkWidget *HeadLabel;
GtkWidget *LogLabel; GtkWidget *LogTextView;
GtkWidget *ScrollToEndCheck; GtkWidget *ScrollToEndCheck;
GFileMonitor *monitor; GFileMonitor *monitor;

@ -151,7 +151,8 @@ NULL)
#define CONFIGURATION_SAVE_LABEL _("You can safely exit configurator or return and create new configuration file.") #define CONFIGURATION_SAVE_LABEL _("You can safely exit configurator or return and create new configuration file.")
#define SCROLL_TO_END_LABEL _("Scroll to the end") #define SCROLL_TO_END_LABEL _("Scroll to the end")
#define ADMINISTRATOR_LABEL _("Administrator") #define ADMINISTRATOR_LABEL _("Empty default user")
// #define ADMINISTRATOR_LABEL _("Administrator")
#define DEFAULT_LOCALES_LABEL _("English, U.S.A.; Russian, Russia") #define DEFAULT_LOCALES_LABEL _("English, U.S.A.; Russian, Russia")
#define READ_INSTALL_LOG_LABEL _("Read installation log") #define READ_INSTALL_LOG_LABEL _("Read installation log")

@ -1,8 +1,15 @@
<?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 -->
<object class="GtkLabel" id="LogLabel">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="selectable">True</property>
<property name="xalign">0</property>
<property name="yalign">0</property>
</object>
<object class="GtkWindow" id="MainWindow"> <object class="GtkWindow" id="MainWindow">
<property name="width-request">200</property> <property name="width-request">200</property>
<property name="height-request">400</property> <property name="height-request">400</property>
@ -66,12 +73,9 @@
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">False</property> <property name="can-focus">False</property>
<child> <child>
<object class="GtkLabel" id="LogLabel"> <object class="GtkTextView" id="LogTextView">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">False</property> <property name="can-focus">True</property>
<property name="selectable">True</property>
<property name="xalign">0</property>
<property name="yalign">0</property>
</object> </object>
</child> </child>
</object> </object>

File diff suppressed because it is too large Load Diff
Loading…
Cancel
Save