master #344

Merged
asmeron merged 8 commits from YanTheKaller/ubinstall-gtk:master into master 1 month ago

@ -5334,6 +5334,10 @@ msgstr ""
msgid "Grant root access"
msgstr ""
#: source/libublsettingsui-gtk3.h:675
msgid "Debug mode"
msgstr ""
#: source/libublsettingsui-gtk3.h:675
msgid "Uncheck all"
msgstr ""

@ -5529,6 +5529,10 @@ msgstr "Вьетнамский (Франция)"
msgid "Grant root access"
msgstr "Предоставить root-доступ"
#: source/libublsettingsui-gtk3.h:675
msgid "Debug mode"
msgstr "Режим отладки"
#: source/libublsettingsui-gtk3.h:675
msgid "Uncheck all"
msgstr "Снять всё"

@ -527,9 +527,12 @@ int yon_pacman_software_save(main_window *widgets){
for_iter(model,&iter){
char *target;
gtk_tree_model_get(model,&iter,1,&target,-1);
int sensitive=0;
gtk_tree_model_get(model,&iter,1,&target,6,&sensitive,-1);
if (sensitive){
yon_config_append_element(packages_parameter,target,",");
}
}
if (!main_config.configure_mode){
int size;
config_str parameters = yon_config_get_save_parameters_by_key(&size,packages_parameter,NULL);
@ -551,8 +554,9 @@ void yon_pacman_init(main_window *widgets){
}
gtk_list_store_clear(widgets->PacmanSoftwareChosenList);
char *pacman_packages = config(packages_parameter);
char *modules_packages = config(modules_parameter);
int size;
int size=0;
config_str parsed = yon_char_parse(pacman_packages,&size,",");
for (int i=0;i<size;i++){
char *description = yon_packages_get_description(YON_PACKAGES_SYNC,parsed[i]);
@ -563,7 +567,35 @@ void yon_pacman_init(main_window *widgets){
char *size_str = yon_char_unite(yon_char_from_double(size_converted)," ", yon_size_get_name_from_letter(mod),NULL);
GtkTreeIter iter;
gtk_list_store_append(widgets->PacmanSoftwareChosenList,&iter);
gtk_list_store_set(widgets->PacmanSoftwareChosenList,&iter,0,1,1,parsed[i],2,version,3,_(description),4,size_str,-1);
gtk_list_store_set(widgets->PacmanSoftwareChosenList,&iter,0,1,1,parsed[i],2,version,3,_(description),4,size_str,6,1,-1);
free(size_str);
}
yon_char_parsed_free(parsed,size);
size=0;
if (modules_packages&&!strcmp(modules_packages,"auto")){
int final_size;
config_str final = NULL;
for (int i=0;i<main_config.modules_size;i++){
int parsed_size=0;
config_str parsed = yon_char_parse(main_config.modules[i],&parsed_size,";");
yon_char_parsed_add_or_create_if_exists(final,&final_size,parsed[1]);
yon_char_parsed_free(parsed,parsed_size);
}
modules_packages = yon_char_parsed_to_string(final,final_size,",");
}
parsed = yon_char_parse(modules_packages,&size,",");
for (int i=1;i<size;i++){
char *description = yon_packages_get_description(YON_PACKAGES_SYNC,parsed[i]);
char *version = yon_packages_get_version(YON_PACKAGES_SYNC,parsed[i]);
long pkgsize = yon_packages_get_installed_size(YON_PACKAGES_SYNC,parsed[i]);
char mod = '\n';
double size_converted = yon_size_long_convert_automatic(pkgsize,&mod);
char *size_str = yon_char_unite(yon_char_from_double(size_converted)," ", yon_size_get_name_from_letter(mod),NULL);
GtkTreeIter iter;
gtk_list_store_append(widgets->PacmanSoftwareChosenList,&iter);
gtk_list_store_set(widgets->PacmanSoftwareChosenList,&iter,0,1,1,parsed[i],2,version,3,_(description),4,size_str,6,0,-1);
free(size_str);
}
yon_pacman_software_update_overall_size(widgets);
@ -590,10 +622,13 @@ void yon_pacman_software_update_overall_size(main_window *widgets){
GtkTreeModel *model = GTK_TREE_MODEL(widgets->PacmanSoftwareChosenList);
for_iter(model, &iter){
char *name;
gtk_tree_model_get(model,&iter,1,&name,-1);
int sensitive=0;
gtk_tree_model_get(model,&iter,1,&name,6,&sensitive,-1);
if (sensitive){
long size = yon_packages_get_installed_size(YON_PACKAGES_ALL,name);
pacman_size+=size;
}
}
char *overall_str = NULL;
if (pacman_size){
overall_str = yon_size_long_convert_automatic_to_string(pacman_size);
@ -627,13 +662,16 @@ void yon_pacman_software_update_overall_size(main_window *widgets){
void on_pacman_software_chosen_toggled(GtkWidget *, char *path, main_window *widgets){
GtkTreeIter iter;
char *name, *type, *description, *size_str;
int sensitive=0;
gtk_tree_model_get_iter_from_string(GTK_TREE_MODEL(widgets->PacmanSoftwareChosenList),&iter,path);
gtk_tree_model_get(GTK_TREE_MODEL(widgets->PacmanSoftwareChosenList),&iter,1,&name,2,&type,3,&description,4,&size_str,-1);
gtk_tree_model_get(GTK_TREE_MODEL(widgets->PacmanSoftwareChosenList),&iter,1,&name,2,&type,3,&description,4,&size_str,6,&sensitive,-1);
if (sensitive){
gtk_list_store_remove(widgets->PacmanSoftwareChosenList,&iter);
gtk_list_store_append(widgets->PacmanSoftwareAllList,&iter);
gtk_list_store_set(widgets->PacmanSoftwareAllList,&iter,0,0,1,name,2,type,3,description,4,size_str,-1);
g_hash_table_remove(widgets->pacmanchosen,name);
yon_pacman_software_update_overall_size(widgets);
}
}
gboolean yon_pacman_fill(struct pacman_struct *pacman){

@ -486,8 +486,8 @@ void yon_install_init(main_window *widgets, enum YON_PAGES page){
gtk_spin_button_set_value(GTK_SPIN_BUTTON(partition_size_spin),atol(parameter));
gtk_combo_box_set_active(GTK_COMBO_BOX(partition_size_combo),yon_get_size_get_from_letter(parameter[strlen(parameter)-1])-1);
} else {
gtk_spin_button_set_value(GTK_SPIN_BUTTON(partition_size_spin),3);
gtk_combo_box_set_active(GTK_COMBO_BOX(partition_size_combo),2);
gtk_spin_button_set_value(GTK_SPIN_BUTTON(partition_size_spin),16);
gtk_combo_box_set_active(GTK_COMBO_BOX(partition_size_combo),1);
}
}
if (partition_mark_entry){

@ -165,7 +165,7 @@ void yon_on_packages_selected(GtkWidget *, main_window *widgets){
gtk_tree_model_get(model,&iter,3,&status,-1);
if (status)
return;
gtk_tree_model_iter_children(model,&cur_parent,&iter);
if (!gtk_tree_model_iter_children(model,&cur_parent,&iter)) return;
gtk_tree_model_get(model,&cur_parent,3,&status,-1);
if (status){
GtkTreePath *path = gtk_tree_model_get_path(model,&cur_parent);

@ -31,7 +31,7 @@ enum YON_PAGES yon_page_get_next(main_window *widgets, enum YON_PAGES page){
case YON_PAGE_INSTALL_RECOVERY: return yon_recovery_get_next(widgets); break;
case YON_PAGE_RECOVERY_GRUB_INSTALL: return main_config.configure_mode?YON_PAGE_CONFIGURE_END:YON_PAGE_RECOVERY_BEGIN; break;
case YON_PAGE_RECOVERY_GRUB_UPDATE: return main_config.configure_mode?YON_PAGE_CONFIGURE_END:YON_PAGE_RECOVERY_BEGIN; break;
case YON_PAGE_RECOVERY_OS_ONLY: return main_config.configure_mode?YON_PAGE_CONFIGURE_END:YON_PAGE_RECOVERY_BEGIN; break;
case YON_PAGE_RECOVERY_OS_ONLY: return main_config.configure_mode?YON_PAGE_CONFIGURE_END:YON_PAGE_OS_COMPONENTS; break;
case YON_PAGE_RECOVERY_USRDATA_ONLY: return main_config.configure_mode?YON_PAGE_CONFIGURE_END:YON_PAGE_RECOVERY_BEGIN; break;
case YON_PAGE_RECOVERY_BEGIN: main_config.save_configured = 1; return YON_PAGE_RECOVERY_PROCESS; break;
case YON_PAGE_RECOVERY_PROCESS: return YON_PAGE_RECOVERY_COMPLETION; break;
@ -134,6 +134,8 @@ void yon_navigation_buttons_set_sensetiveness(main_window *widgets){
gtk_widget_hide(widgets->BackButton);
gtk_widget_set_sensitive(widgets->NextButton,1);
gtk_widget_set_sensitive(widgets->CancelInstallButton,0);
gtk_widget_set_sensitive(widgets->LoadLocalConfigurationMenuItem,1);
gtk_widget_set_sensitive(widgets->LoadExternalConfigurationMenuItem,1);
gtk_widget_hide(widgets->BackButton);
gtk_widget_hide(widgets->SourceButton);
gtk_widget_show(widgets->NextButton);
@ -141,6 +143,8 @@ void yon_navigation_buttons_set_sensetiveness(main_window *widgets){
case YON_PAGE_LICENCE:
gtk_widget_show(widgets->BackButton);
gtk_widget_set_sensitive(widgets->BackButton,1);
gtk_widget_set_sensitive(widgets->LoadLocalConfigurationMenuItem,1);
gtk_widget_set_sensitive(widgets->LoadExternalConfigurationMenuItem,1);
if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->LicenseAgreeRadio)))
gtk_widget_set_sensitive(widgets->NextButton,1);
else
@ -152,6 +156,8 @@ void yon_navigation_buttons_set_sensetiveness(main_window *widgets){
gtk_widget_set_sensitive(widgets->NextButton,0);
gtk_widget_set_sensitive(widgets->BackButton,0);
gtk_widget_set_sensitive(widgets->CancelInstallButton,1);
gtk_widget_set_sensitive(widgets->LoadLocalConfigurationMenuItem,0);
gtk_widget_set_sensitive(widgets->LoadExternalConfigurationMenuItem,0);
break;
case YON_PAGE_RECOVERY_PROCESS:
gtk_widget_set_sensitive(widgets->NextButton,0);
@ -180,6 +186,8 @@ void yon_navigation_buttons_set_sensetiveness(main_window *widgets){
gtk_widget_set_sensitive(widgets->BackButton,1);
gtk_widget_set_sensitive(widgets->NextButton,1);
gtk_widget_set_sensitive(widgets->CancelInstallButton,1);
gtk_widget_set_sensitive(widgets->LoadLocalConfigurationMenuItem,0);
gtk_widget_set_sensitive(widgets->LoadExternalConfigurationMenuItem,0);
gtk_button_set_label(GTK_BUTTON(widgets->CancelInstallButton),EXIT_LABEL);
if (!yon_char_is_empty(config(AUTOINSTALL_TYPE_INSTALL))&&!main_config.configure_mode){
gtk_widget_show(widgets->StartScenarioButton);

@ -11,13 +11,15 @@ void yon_load_proceed(YON_CONFIG_TYPE type){
if (!yon_char_is_empty(config_get_default_command))
yon_config_load_config(YON_CONFIG_DEFAULT,config_get_default_command,NULL);
switch (type){
case YON_CONFIG_GLOBAL:
yon_config_load_config(type,config_get_command("global"),NULL);
main_config.config_load_path = yon_char_new("global");
break;
case YON_CONFIG_LOCAL:
yon_config_load_config(type,config_get_command("system"),NULL);
if (main_config.startup_config){
yon_config_restore(NULL);
}
yon_config_custom_clean(main_config.startup_config);
main_config.startup_config = NULL;
yon_config_custom_load_config(&main_config.startup_config,config_get_command("system"),NULL);
main_config.config_load_path = yon_char_new("system");
yon_config_load_config(type,config_get_command("system"),NULL);
break;
case YON_CONFIG_CUSTOM:
if (yon_char_is_empty(main_config.config_load_path)){
@ -45,6 +47,9 @@ void on_config_local_load(GtkWidget *,main_window *widgets){
}
if (!yon_char_is_empty(main_config.config_load_path)) free(main_config.config_load_path);
main_config.config_load_path = yon_char_new("system");
// yon_config_custom_clean(main_config.startup_config);
// main_config.startup_config = NULL;
// yon_config_custom_load_config(&main_config.startup_config,config_get_command("system"),NULL);
yon_load_proceed(YON_CONFIG_LOCAL);
main_config.load_mode=YON_CONFIG_LOCAL;
yon_main_window_update_locale(widgets);
@ -426,9 +431,9 @@ int yon_config_save(main_window *widgets){
}
void yon_config_restore(main_window *){
yon_load_proceed(main_config.load_mode);
yon_launch(yon_debug_output("%s\n","ubconfig --source system remove [autoinstall]"));
yon_config_to_default();
yon_config_custom_apply(&main_config.startup_config);
yon_config_set_status_full(1);
int size;
config_str parameters = yon_config_get_save_parameters(&size);
char *command_params = yon_char_parsed_to_string(parameters,size, " ");

@ -306,6 +306,7 @@ void yon_update_translation(main_window *widgets){
list = g_slist_append(list,g_object_get_data(G_OBJECT(widgets->DocumentationMenuItem),"Label"));
list = g_slist_append(list,g_object_get_data(G_OBJECT(widgets->AboutMenuItem),"Label"));
list = g_slist_append(list,g_object_get_data(G_OBJECT(widgets->root_button),"Label"));
list = g_slist_append(list,g_object_get_data(G_OBJECT(widgets->debug_button),"Label"));
list = g_slist_append(list,g_object_get_data(G_OBJECT(widgets->ConfigurationModeMenuItem),"Label"));
list = g_slist_append(list,g_object_get_data(G_OBJECT(widgets->EnableVNCMenuItem),"Label"));
list = g_slist_append(list,g_object_get_data(G_OBJECT(widgets->EnableRDPMenuItem),"Label"));

@ -882,6 +882,15 @@ void yon_main_window_create(main_window *widgets){
gtk_widget_set_sensitive(widgets->ConfigurationModeMenuItem,0);
}
}
{
widgets->debug_button = yon_debug_button_new();
GtkWidget *Label = g_object_get_data(G_OBJECT(widgets->debug_button),"Label");
yon_gtk_widget_set_translation(Label);
gtk_style_context_add_class(gtk_widget_get_style_context(widgets->debug_button),"menuitemmiddle");
gtk_style_context_remove_class(gtk_widget_get_style_context(widgets->debug_button),"menuitemtop");
gtk_menu_shell_prepend(GTK_MENU_SHELL(gtk_widget_get_parent(widgets->AboutMenuItem)),widgets->debug_button);
}
{
widgets->root_button = yon_root_button_new(main_config.argv,main_config.argc);
GtkWidget *Label = g_object_get_data(G_OBJECT(widgets->root_button),"Label");

@ -287,10 +287,10 @@ 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 save_config_command(parameters) yon_char_unite("ubconfig --target system set [autoinstall] AUTOINSTALL[log]=yes ", parameters, "; nice ubinstall autoinstall --noautoconfig --noinstall_extra", NULL)
#define quick_install_command(path) yon_char_unite("nice ubinstall autoinstall --config='",path,"' --noautoconfig --noinstall_extra", NULL)
#define save_config_command(parameters) yon_char_unite("ubconfig --target system set [autoinstall] AUTOINSTALL[log]=yes ", parameters, "; nice ubinstall autoinstall",main_config.debug_mode?" --debug":""," --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(parameters) yon_char_unite("ubconfig --target system set [autoinstall] ", parameters, ";nice ubinstall autoconfig install_extra", NULL)
#define set_user_config_command(parameters) yon_char_unite("ubconfig --target system set [autoinstall] ", parameters, ";nice ubinstall autoconfig",main_config.debug_mode?" --debug":""," install_extra", NULL)
#define save_additional_config_command(parameters) yon_char_unite("ubconfig --target system set [autoinstall] ", parameters, NULL)
#define get_default_password_command "ubconfig --raw --conarg --source default get [users] NOSECUREROOTPASSWD"
@ -499,6 +499,8 @@ typedef struct
config_str argv;
int argc;
yon_config_custom *startup_config;
int autoinstall; // if active, installation starts immidiately after app start
} config;
@ -842,6 +844,7 @@ typedef struct
gboolean slider_stop;
GtkWidget *root_button;
GtkWidget *debug_button;
} main_window;

@ -247,6 +247,8 @@
<column type="gchararray"/>
<!-- column-name SizeLong -->
<column type="glong"/>
<!-- column-name sensitive -->
<column type="gboolean"/>
</columns>
</object>
<object class="GtkAdjustment" id="PartitionSize">
@ -3985,6 +3987,7 @@ Select a different installation source.</property>
<child>
<object class="GtkCellRendererToggle" id="PacmanSoftwareChosenCell"/>
<attributes>
<attribute name="sensitive">6</attribute>
<attribute name="active">0</attribute>
</attributes>
</child>

Loading…
Cancel
Save