Installation process finish; WIP os components

pull/94/head
parent 20033e0c26
commit 22fdc6a999
No known key found for this signature in database
GPG Key ID: FF1D842BF4DDE92B

@ -12,6 +12,7 @@
<file>ubinstall-gtk-menu.glade</file>
<file>ubinstall-gtk-menu-item.glade</file>
<file>ubinstall-gtk-kernel-row.glade</file>
<file>ubinstall-gtk-os-row.glade</file>
<file>ubinstall-gtk-service-window.glade</file>
<file>ubinstall-gtk-bootloader-user.glade</file>
<file>ubinstall-gtk-network-box.glade</file>

@ -69,6 +69,7 @@ set(DEPENDFILES
../ubinstall-gtk-menu.glade
../ubinstall-gtk-menu-item.glade
../ubinstall-gtk-kernel-row.glade
../ubinstall-gtk-os-row.glade
../ubinstall-gtk-service-window.glade
../ubinstall-gtk-bootloader-user.glade
../ubinstall-gtk-network-box.glade

@ -52,18 +52,19 @@ int yon_kernel_addon_save(main_window *widgets){
}
int yon_os_components_save(main_window *widgets){
GtkTreeIter iter;
GtkTreeModel *model = GTK_TREE_MODEL(widgets->OSSoftwareList);
int size = 0;
GList *list = gtk_container_get_children(GTK_CONTAINER(widgets->OSSoftwareListBox));
GList *iter;
int size;
config_str modules = NULL;
for_iter(model,&iter){
char *target;
int status;
gtk_tree_model_get(model,&iter,0,&status,1,&target,-1);
for(iter = list;iter;iter=iter->next){
kernel_row *row = g_object_get_data(iter->data,"kernel_row");
char *target = row->name;
int status = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(row->InstallCheck));
if (status){
yon_char_parsed_add_or_create_if_exists(modules,&size,target);
}
}
g_list_free(list);
if (size){
char *final = yon_char_parsed_to_string(modules,size,",");
yon_config_register(modules_parameter,modules_parameter_command,final);
@ -73,26 +74,79 @@ int yon_os_components_save(main_window *widgets){
return 1;
}
os_row *yon_os_row_new(){
os_row *row = new(os_row);
GtkBuilder *builder = gtk_builder_new_from_resource(glade_path_os_row);
row->RowBox = yon_gtk_builder_get_widget(builder,"TableRow");
row->InstallCheck = yon_gtk_builder_get_widget(builder,"InstallCheck");
row->NameLabel = yon_gtk_builder_get_widget(builder,"NameLabel");
row->TagsBox = yon_gtk_builder_get_widget(builder,"TagsBox");
row->VersionLabel = yon_gtk_builder_get_widget(builder,"VersionLabel");
row->DescriptionLabel = yon_gtk_builder_get_widget(builder,"DescriptionLabel");
row->name=NULL;
row->modules=NULL;
row->version=NULL;
g_signal_connect(G_OBJECT(row->InstallCheck),"toggled",G_CALLBACK(on_kernel_install_enabled),row);
row->row = gtk_list_box_row_new();
gtk_container_add(GTK_CONTAINER(row->row),row->RowBox);
gtk_widget_show(row->row);
g_object_set_data(G_OBJECT(row->InstallCheck),"kernel_row",row);
g_object_set_data(G_OBJECT(row->row),"kernel_row",row);
return row;
}
void yon_os_row_setup(os_row *row, char *name, char *version,char *tags, char *description){
row->name = yon_char_new(name);
char *description_full = yon_char_new(description);
if (strlen(description)>100){
guint size;
config_str description_wrapped = yon_char_wrap_to_lines(description,3,&size);
description_full = yon_char_parsed_to_string(description_wrapped,size,"\n");
yon_char_parsed_free(description_wrapped,size);
}
gtk_label_set_label(GTK_LABEL(row->NameLabel),name);
gtk_label_set_label(GTK_LABEL(row->VersionLabel),version);
gtk_label_set_label(GTK_LABEL(row->DescriptionLabel),description_full);
yon_kernel_row_setup_tags((kernel_row*)row,tags);
free(description_full);
}
void yon_os_components_init(main_window *widgets){
GtkTreeIter iter;
if (!gtk_tree_model_get_iter_first(GTK_TREE_MODEL(widgets->OSSoftwareList),&iter)){
int size = 0;
GList *list = gtk_container_get_children(GTK_CONTAINER(widgets->OSSoftwareListBox));
GList *iter;
if (!list){
int base_size;
config_str base = yon_file_ls(system_base_modules_path,&base_size);
config_str base = yon_config_load(get_modules_command,&base_size);
for (int i=0;i<base_size;i++){
char *version = yon_packages_get_version(YON_PACKAGES_SYNC,base[i]);
char *description = yon_packages_get_description(YON_PACKAGES_SYNC,base[i]);
yon_char_remove_last_symbol(base[i],'\n');
gtk_list_store_append(widgets->OSSoftwareList,&iter);
gtk_list_store_set(widgets->OSSoftwareList,&iter,0,0,1,base[i],2,version,3,description,-1);
int parsed_size;
config_str parsed = yon_char_parse(base[i],&parsed_size,";");
char *version = parsed[1];
char *name = parsed[0];
char *tags = yon_char_replace(parsed[2]," ",", ");
char *description = parsed[3];
os_row *row = yon_os_row_new();
yon_os_row_setup(row,name,version,tags,description);
gtk_list_box_insert(GTK_LIST_BOX(widgets->OSSoftwareListBox),row->row,-1);
int min_size=0;
gtk_widget_get_preferred_width(row->NameLabel,&min_size,NULL);
if (min_size>size) size=min_size;
}
int modules_size;
config_str modules = yon_file_ls(system_modules_path,&modules_size);
for (int i=0;i<modules_size;i++){
yon_char_remove_last_symbol(modules[i],'\n');
gtk_list_store_append(widgets->OSSoftwareList,&iter);
char *version = yon_packages_get_version(YON_PACKAGES_SYNC,base[i]);
char *description = yon_packages_get_description(YON_PACKAGES_SYNC,base[i]);
gtk_list_store_set(widgets->OSSoftwareList,&iter,0,0,1,modules[i],2,version,3,description,-1);
yon_char_parsed_free(base,base_size);
while(gtk_events_pending()) gtk_main_iteration();
list = gtk_container_get_children(GTK_CONTAINER(widgets->OSSoftwareListBox));
for(iter = list;iter;iter=iter->next){
os_row *row = g_object_get_data(iter->data,"kernel_row");
gtk_widget_set_size_request(row->NameLabel,size,-1);
}
}
@ -100,17 +154,16 @@ void yon_os_components_init(main_window *widgets){
if (!yon_char_is_empty(modules)){
int parsed_size;
config_str parsed = yon_char_parse(modules,&parsed_size,",");
GtkTreeIter iter;
for_iter (GTK_TREE_MODEL(widgets->OSSoftwareList),&iter){
char *target;
gtk_tree_model_get(GTK_TREE_MODEL(widgets->OSSoftwareList),&iter,1,&target,-1);
for(iter = list;iter;iter=iter->next){
os_row *row = g_object_get_data(iter->data,"kernel_row");
char *target = row->name;
if (yon_char_parsed_check_exist(parsed,parsed_size,target)>-1){
gtk_list_store_set(widgets->OSSoftwareList,0,1,-1);
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(row->InstallCheck),1);
} else {
gtk_list_store_set(widgets->OSSoftwareList,0,0,-1);
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(row->InstallCheck),1);
}
}
yon_char_parsed_free(parsed,parsed_size);
yon_char_parsed_free(parsed,parsed_size);
}
}

@ -85,7 +85,9 @@ void yon_kernel_row_setup_tags(kernel_row *row, char *tags){
tag_type = "tag_blue";
} else if (!strcmp(tag_name,REACTIVE_TAG)){
tag_type = "tag_purple";
} else continue;
} else{
tag_type = "tag_green";
};
yon_tag_add(GTK_BOX(row->TagsBox),tag_name,tag_type,NULL);
}
}

@ -65,7 +65,7 @@ void on_process_log_view(GtkWidget *,main_window *widgets){
window->monitor = g_file_monitor_file(file,G_FILE_MONITOR_NONE,NULL,NULL);
g_signal_connect(G_OBJECT(window->monitor),"changed",G_CALLBACK(yon_read_log),window);
g_object_unref(file);
yon_read_log(NULL,NULL,NULL,NULL,window);
yon_read_log(NULL,NULL,NULL,G_FILE_MONITOR_EVENT_CHANGED,window);
}
void on_summary_log_view(GtkWidget *,main_window *widgets){
@ -80,7 +80,7 @@ void on_summary_log_view(GtkWidget *,main_window *widgets){
window->monitor = g_file_monitor_file(file,G_FILE_MONITOR_NONE,NULL,NULL);
g_signal_connect(G_OBJECT(window->monitor),"changed",G_CALLBACK(yon_read_log),window);
g_object_unref(file);
yon_read_log(NULL,NULL,NULL,NULL,window);
yon_read_log(NULL,NULL,NULL,G_FILE_MONITOR_EVENT_CHANGED,window);
}
void yon_installation_progress_update(GFileMonitor *,GFile *,GFile *,GFileMonitorEvent ,main_window *widgets) {

@ -151,8 +151,8 @@ void on_connection_add(GtkWidget *,main_window *widgets){
int yon_network_save(main_window *widgets){
if (gtk_switch_get_active(GTK_SWITCH(widgets->NetworkDomainSwitch))){
const char *domain_name = gtk_entry_get_text(GTK_ENTRY(widgets->NetworkDomainNameEntry));
if (!yon_char_is_empty(domain_name)){
yon_ubl_status_box_render(EMPTY_IMPORTANT_LABEL,BACKGROUND_IMAGE_FAIL_TYPE);
if (yon_char_is_empty(domain_name)){
yon_ubl_status_box_spawn(GTK_CONTAINER(widgets->StatusBox),EMPTY_IMPORTANT_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE);
yon_ubl_status_highlight_incorrect(widgets->NetworkDomainNameEntry);
return 0;
}
@ -161,7 +161,7 @@ int yon_network_save(main_window *widgets){
if (!yon_char_is_empty(domain_name)) yon_config_register(DOMAIN_parameter,DOMAIN_parameter_command,(char*)domain_name);
else yon_config_remove_by_key(DOMAIN_parameter);
if ((!yon_char_is_empty(domain_admin)&&yon_char_is_empty(domain_password))||(yon_char_is_empty(domain_admin)&&!yon_char_is_empty(domain_password))){
yon_ubl_status_box_render(EMPTY_IMPORTANT_LABEL,BACKGROUND_IMAGE_FAIL_TYPE);
yon_ubl_status_box_spawn(GTK_CONTAINER(widgets->StatusBox),EMPTY_IMPORTANT_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE);
yon_ubl_status_highlight_incorrect(widgets->NetworkDomainAdminEntry);
yon_ubl_status_highlight_incorrect(widgets->NetworkDomainPasswordEntry);
return 0;
@ -170,7 +170,7 @@ int yon_network_save(main_window *widgets){
int size;
config_str encrypted_password = yon_config_load(encrypt_domain_password_command(domain_password),&size);
if (!size){
yon_ubl_status_box_render(ENCRYPT_ERROR_LABEL,BACKGROUND_IMAGE_FAIL_TYPE);
yon_ubl_status_box_spawn(GTK_CONTAINER(widgets->StatusBox),ENCRYPT_ERROR_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE);
yon_ubl_status_highlight_incorrect(widgets->NetworkDomainPasswordEntry);
return 0;
}
@ -199,7 +199,7 @@ int yon_network_save(main_window *widgets){
case 4:
char *value = (char*)gtk_entry_get_text(GTK_ENTRY(widgets->NetworkNTPEntry));
if (yon_char_is_empty(value)) {
yon_ubl_status_box_render(EMPTY_IMPORTANT_LABEL,BACKGROUND_IMAGE_FAIL_TYPE);
yon_ubl_status_box_spawn(GTK_CONTAINER(widgets->StatusBox),EMPTY_IMPORTANT_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE);
yon_ubl_status_highlight_incorrect(widgets->NetworkNTPEntry);
return 0;
}

@ -20,10 +20,10 @@ enum YON_PAGES yon_page_get_next(main_window *widgets, enum YON_PAGES page){
case YON_PAGE_STARTUP: return YON_PAGE_BOOTLOADER; break;
case YON_PAGE_BOOTLOADER: return YON_PAGE_NETWORK; break;
case YON_PAGE_NETWORK: return main_config.configure_mode? YON_PAGE_CONFIGURE_END : YON_PAGE_INSTALLATION; break;
case YON_PAGE_INSTALL_COMMON: return main_config.configure_mode?YON_PAGE_KERNEL:YON_PAGE_INSTALLATION_BEGIN; break;
case YON_PAGE_INSTALL_SEPARATE: return main_config.configure_mode?YON_PAGE_KERNEL:YON_PAGE_INSTALLATION_BEGIN; break;
case YON_PAGE_INSTALL_SAME_PARTITION: return main_config.configure_mode?YON_PAGE_KERNEL:YON_PAGE_INSTALLATION_BEGIN; break;
case YON_PAGE_INSTALL_ADVANCED: return main_config.configure_mode?YON_PAGE_KERNEL:YON_PAGE_INSTALLATION_BEGIN; break;
case YON_PAGE_INSTALL_COMMON: return main_config.configure_mode?YON_PAGE_KERNEL:YON_PAGE_OS_COMPONENTS; break;
case YON_PAGE_INSTALL_SEPARATE: return main_config.configure_mode?YON_PAGE_KERNEL:YON_PAGE_OS_COMPONENTS; break;
case YON_PAGE_INSTALL_SAME_PARTITION: return main_config.configure_mode?YON_PAGE_KERNEL:YON_PAGE_OS_COMPONENTS; break;
case YON_PAGE_INSTALL_ADVANCED: return main_config.configure_mode?YON_PAGE_KERNEL:YON_PAGE_OS_COMPONENTS; break;
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_INSTALLATION:YON_PAGE_INSTALLATION_BEGIN; break;
case YON_PAGE_RECOVERY_GRUB_UPDATE: return main_config.configure_mode?YON_PAGE_INSTALLATION:YON_PAGE_INSTALLATION_BEGIN; break;
@ -338,6 +338,14 @@ void yon_page_init(main_window *widgets, enum YON_PAGES page){
break;
case YON_PAGE_INSTALLATION:
main_config.save_configured=1;
g_mutex_lock(&main_config.install_mutex);
if (main_config.install_complete){
g_mutex_unlock(&main_config.install_mutex);
on_setup_system_configuration(widgets);
on_page_next_clicked(NULL,widgets);
} else {
g_mutex_unlock(&main_config.install_mutex);
}
break;
default: break;
}

@ -580,9 +580,6 @@ void *on_setup_system_configuration(void * data){
if (widgets){};
int size;
config_str all_parameters = yon_config_get_selection_by_key(&size,
user_name_parameter,
user_gecos_parameter,
user_password_parameter,
root_password_parameter,
autologin_parameter,
xkbmodel_parameter,
@ -593,7 +590,49 @@ void *on_setup_system_configuration(void * data){
zone_parameter,
lang_parameter,
locale_parameter,
SERVICES_ENABLE_parameter,
GRUB_DEFAULT_parameter,
GRUB_TIMEOUT_parameter,
AUTOLOGINUSER_parameter,
GRUB_SUPERUSERS_parameter,
DOMAIN_parameter,
DOMAIN_admanger_parameter,
NTPSERVERS_parameter,
modules_extra_parameter,
KERNEL_BOOT_parameter,
modules_parameter,
packages_parameter,
NULL);
int user_size=0;
config_str users = yon_config_get_all_by_key(USERADD_parameter_search,&user_size);
if (user_size){
int final_size;
config_str final = yon_char_parsed_merge(all_parameters,size,users,user_size,&final_size);
yon_char_parsed_free(users,user_size);
if (size) yon_char_parsed_free(all_parameters,size);
all_parameters = final;
size = final_size;
}
users = yon_config_get_all_by_key(GRUB_PASSWORD_parameter_search,&user_size);
if (users){
int final_size;
config_str final = yon_char_parsed_merge(all_parameters,size,users,user_size,&final_size);
yon_char_parsed_free(users,user_size);
if (size) yon_char_parsed_free(all_parameters,size);
all_parameters = final;
size = final_size;
}
int network_size;
config_str networks = yon_config_get_all_by_key(NETWORK_parameter_search,&network_size);
if (network_size){
int final_size;
config_str final = yon_char_parsed_merge(all_parameters,size,networks,network_size,&final_size);
yon_char_parsed_free(networks,network_size);
if (size) yon_char_parsed_free(all_parameters,size);
all_parameters = final;
size = final_size;
}
if (all_parameters){
char *parameter_string = yon_char_parsed_to_string(all_parameters,size," ");
char *command = set_user_config_command(parameter_string);

@ -144,7 +144,7 @@ int yon_startup_save(main_window *widgets){
list_size++;
char *target;
int status;
gtk_tree_model_get(model,&iter,0,&status,1,&target,-1);
gtk_tree_model_get(model,&iter,0,&status,2,&target,-1);
if (status){
yon_char_parsed_add_or_create_if_exists(modules,&size,target);
}

@ -6,14 +6,6 @@ int cur_slide=0;
// //functions
void on_os_components_toggled(GtkWidget*, char *path, main_window *widgets){
GtkTreeIter iter;
int status;
gtk_tree_model_get_iter_from_string(GTK_TREE_MODEL(widgets->OSSoftwareList),&iter,path);
gtk_tree_model_get(GTK_TREE_MODEL(widgets->OSSoftwareList),&iter,0,&status,-1);
gtk_list_store_set(widgets->OSSoftwareList,&iter,0,!status,-1);
}
void on_pacman_software_all_toggled(GtkWidget *, char *path, main_window *widgets){
GtkTreeIter iter;
char *name, *type, *description;
@ -485,9 +477,11 @@ main_window *yon_main_window_complete(){
widgets->KernelAddonModulesLabel = yon_gtk_builder_get_widget(builder,"KernelAddonModulesLabel");
widgets->KernelAddonDescriptionLabel = yon_gtk_builder_get_widget(builder,"KernelAddonDescriptionLabel");
widgets->OSSoftwareTree = yon_gtk_builder_get_widget(builder,"OSSoftwareTree");
widgets->OSSoftwareList = GTK_LIST_STORE(gtk_builder_get_object(builder,"OSSoftwareList"));
widgets->OSSoftwareCell = GTK_CELL_RENDERER(gtk_builder_get_object(builder,"OSSoftwareCell"));
widgets->OSSoftwareListBox = yon_gtk_builder_get_widget(builder,"OSSoftwareListBox");
widgets->OSSoftwareInstallLabel = yon_gtk_builder_get_widget(builder,"OSSoftwareInstallLabel");
widgets->OSSoftwareNameLabel = yon_gtk_builder_get_widget(builder,"OSSoftwareNameLabel");
widgets->OSSoftwareTagsLabel = yon_gtk_builder_get_widget(builder,"OSSoftwareTagsLabel");
widgets->OSSoftwareDescriptionLabel = yon_gtk_builder_get_widget(builder,"OSSoftwareDescriptionLabel");
widgets->PacmanSoftwareSearchEntry = yon_gtk_builder_get_widget(builder,"PacmanSoftwareSearchEntry");
widgets->PacmanSoftwareStatusImage = yon_gtk_builder_get_widget(builder,"PacmanSoftwareStatusImage");
@ -607,7 +601,6 @@ main_window *yon_main_window_complete(){
yon_gtk_revealer_set_from_switch(GTK_REVEALER(widgets->NextInstallationFormatRevealer),GTK_SWITCH(widgets->NextInstallationFormatSwitch));
yon_gtk_revealer_set_from_switch(GTK_REVEALER(widgets->SameInstallationFormatRevealer),GTK_SWITCH(widgets->SameInstallationFormatSwitch));
g_signal_connect(G_OBJECT(widgets->OSSoftwareCell),"toggled",G_CALLBACK(on_os_components_toggled),widgets);
g_signal_connect(G_OBJECT(widgets->PacmanSoftwareAllCell),"toggled",G_CALLBACK(on_pacman_software_all_toggled),widgets);
g_signal_connect(G_OBJECT(widgets->PacmanSoftwareChosenCell),"toggled",G_CALLBACK(on_pacman_software_chosen_toggled),widgets);
g_signal_connect(G_OBJECT(widgets->PacmanSoftwareSearchEntry),"icon-press",G_CALLBACK(on_pacman_icon_press),widgets);

@ -30,6 +30,7 @@
#define glade_path_menu_window "/com/ublinux/ui/ubinstall-gtk-menu.glade"
#define glade_path_menu_item "/com/ublinux/ui/ubinstall-gtk-menu-item.glade"
#define glade_path_kernel_row "/com/ublinux/ui/ubinstall-gtk-kernel-row.glade"
#define glade_path_os_row "/com/ublinux/ui/ubinstall-gtk-os-row.glade"
#define glade_path_service "/com/ublinux/ui/ubinstall-gtk-service-window.glade"
#define glade_path_bootloader_user "/com/ublinux/ui/ubinstall-gtk-bootloader-user.glade"
#define glade_path_advanced_part "/com/ublinux/ui/ubinstall-gtk-advanced-box.glade"
@ -78,6 +79,8 @@
"/com/ublinux/images/slide-12.png", \
NULL
#define get_modules_command "pacman --color never -Ss ^ubm- | sed -Enr -e 'N;s/\\n/ ;/' -e \"s/^([^\\/]+)\\/([^[:blank:]]+)[[:blank:]]+([^[:blank:]]+)[[:blank:]]+(\\(([^\\)]+)\\)[^\\;]+|[^\\;]*);[[:blank:]]*(.*)/\\2;\\3;\\5;\\6/p\""
#define get_local_module_info_command(target) yon_char_unite("pacman --color never -Sp $(pacman -Ssq '",target,"') --print-format '%n;%v;%d' | grep -v \"^::\"",NULL);
#define get_menus_entry_command "/usr/lib/ublinux/scripts/grub-functions exec_get_all_menuentry"
@ -132,32 +135,32 @@ layout && /description:/ {\
#define modules_extra_parameter_command "ubconfig --source global get [autoinstall] AUTOINSTALL[modules_extra]"
/*------------------------------------------------------------*/
#define user_name_parameter "AUTOINSTALL[user_name]"
#define user_name_parameter_command "ubconfig --source global --conarg get [autoinstall] AUTOINSTALL[user_name]"
#define user_gecos_parameter "AUTOINSTALL[user_gecos]"
#define user_gecos_parameter_command "ubconfig --source global get [autoinstall] AUTOINSTALL[user_gecos]"
#define user_password_parameter "AUTOINSTALL[user_password]"
#define user_password_parameter_command "ubconfig --source global --conarg get [autoinstall] AUTOINSTALL[user_password]"
#define root_password_parameter "AUTOINSTALL[root_password]"
#define root_password_parameter_command "ubconfig --source global --conarg get [autoinstall] AUTOINSTALL[root_password]"
#define autologin_parameter "AUTOINSTALL[autologin]"
#define autologin_parameter_command "ubconfig --source global get [autoinstall] AUTOINSTALL[autologin]"
#define xkbmodel_parameter "AUTOINSTALL[xkbmodel]"
#define xkbmodel_parameter_command "ubconfig --source global get [autoinstall] AUTOINSTALL[xkbmodel]"
#define xkblayout_parameter "AUTOINSTALL[xkblayout]"
#define xkblayout_parameter_command "ubconfig --source global get [autoinstall] AUTOINSTALL[xkblayout]"
#define xkbvariant_parameter "AUTOINSTALL[xkbvariant]"
#define xkbvariant_parameter_command "ubconfig --source global get [autoinstall] AUTOINSTALL[xkbvariant]"
#define xkboptions_parameter "AUTOINSTALL[xkboptions]"
#define xkboptions_parameter_command "ubconfig --source global get [autoinstall] AUTOINSTALL[xkboptions]"
#define hostname_parameter "AUTOINSTALL[hostname]"
#define hostname_parameter_command "ubconfig --source global get [autoinstall] AUTOINSTALL[hostname]"
#define zone_parameter "AUTOINSTALL[zone]"
#define zone_parameter_command "ubconfig --source global get [autoinstall] AUTOINSTALL[zone]"
#define lang_parameter "AUTOINSTALL[lang]"
#define lang_parameter_command "ubconfig --source global get [autoinstall] AUTOINSTALL[lang]"
#define locale_parameter "AUTOINSTALL[locale]"
#define locale_parameter_command "ubconfig --source global get [autoinstall] AUTOINSTALL[locale]"
// #define user_name_parameter "AUTOINSTALL[user_name]"
// #define user_name_parameter_command "ubconfig --source global --conarg get [autoinstall] AUTOINSTALL[user_name]"
// #define user_gecos_parameter "AUTOINSTALL[user_gecos]"
// #define user_gecos_parameter_command "ubconfig --source global get [autoinstall] AUTOINSTALL[user_gecos]"
// #define user_password_parameter "AUTOINSTALL[user_password]"
// #define user_password_parameter_command "ubconfig --source global --conarg get [autoinstall] AUTOINSTALL[user_password]"
#define root_password_parameter "AUTOINSTALL['ubconfig set [users] DEFAULTROOTPASSWD']"
#define root_password_parameter_command "ubconfig --source global --conarg get [autoinstall] AUTOINSTALL['ubconfig set [users] DEFAULTROOTPASSWD']"
#define autologin_parameter "AUTOINSTALL['ubconfig set [desktop] AUTOLOGINUSER']"
#define autologin_parameter_command "ubconfig --source global get [autoinstall] AUTOINSTALL['ubconfig set [desktop] AUTOLOGINUSER']"
#define xkbmodel_parameter "AUTOINSTALL['ubconfig set [keyboard] XKBMODEL']"
#define xkbmodel_parameter_command "ubconfig --source global get [autoinstall] AUTOINSTALL['ubconfig set [keyboard] XKBMODEL']"
#define xkblayout_parameter "AUTOINSTALL['ubconfig set [keyboard] XKBLAYOUT']"
#define xkblayout_parameter_command "ubconfig --source global get [autoinstall] AUTOINSTALL['ubconfig set [keyboard] XKBLAYOUT']"
#define xkbvariant_parameter "AUTOINSTALL['ubconfig set [keyboard] XKBVARIANT']"
#define xkbvariant_parameter_command "ubconfig --source global get [autoinstall] AUTOINSTALL['ubconfig set [keyboard] XKBVARIANT']"
#define xkboptions_parameter "AUTOINSTALL['ubconfig set [keyboard] XKBOPTIONS']"
#define xkboptions_parameter_command "ubconfig --source global get [autoinstall] AUTOINSTALL['ubconfig set [keyboard] XKBOPTIONS']"
#define hostname_parameter "AUTOINSTALL['ubconfig set [system] HOSTNAME']"
#define hostname_parameter_command "ubconfig --source global get [autoinstall] AUTOINSTALL['ubconfig set [system] HOSTNAME']"
#define zone_parameter "AUTOINSTALL['ubconfig set [clock] ZONE']"
#define zone_parameter_command "ubconfig --source global get [autoinstall] AUTOINSTALL['ubconfig set [clock] ZONE']"
#define lang_parameter "AUTOINSTALL['ubconfig set [locale] LANG']"
#define lang_parameter_command "ubconfig --source global get [autoinstall] AUTOINSTALL['ubconfig set [locale] LANG']"
#define locale_parameter "AUTOINSTALL['ubconfig set [locale] LOCALE']"
#define locale_parameter_command "ubconfig --source global get [autoinstall] AUTOINSTALL['ubconfig set [locale] LOCALE']"
/*------------------------------------------------------------*/
#define part_size_parameter "AUTOINSTALL[part_size]"
@ -587,9 +590,11 @@ typedef struct {
GtkWidget *KernelAddonModulesLabel;
GtkWidget *KernelAddonDescriptionLabel;
GtkWidget *OSSoftwareTree;
GtkListStore *OSSoftwareList;
GtkCellRenderer *OSSoftwareCell;
GtkWidget *OSSoftwareListBox;
GtkWidget *OSSoftwareInstallLabel;
GtkWidget *OSSoftwareNameLabel;
GtkWidget *OSSoftwareTagsLabel;
GtkWidget *OSSoftwareDescriptionLabel;
GtkWidget *PacmanSoftwareSearchEntry;
GtkWidget *PacmanSoftwareStatusImage;
@ -812,10 +817,10 @@ typedef struct {
typedef struct {
GtkWidget *row;
GtkWidget *RowBox;
GtkWidget *TagsBox;
GtkWidget *InstallCheck;
GtkWidget *EnableRadio;
GtkWidget *EnableSeparator;
GtkWidget *TagsBox;
GtkWidget *TagsSeparator;
GtkWidget *NameLabel;
GtkWidget *DescriptionLabel;
@ -826,6 +831,20 @@ typedef struct {
char *package;
} kernel_row;
typedef struct {
GtkWidget *row;
GtkWidget *RowBox;
GtkWidget *TagsBox;
GtkWidget *InstallCheck;
GtkWidget *NameLabel;
GtkWidget *VersionLabel;
GtkWidget *DescriptionLabel;
char *name;
char *modules;
char *version;
} os_row;
typedef struct {
GtkWidget *Window;
GtkWidget *StatusBox;
@ -1000,7 +1019,6 @@ void on_startup_add_accept(GtkWidget *, main_window *widgets);
void yon_startup_services_setup(main_window *widgets);
void on_startup_services_remove(GtkWidget *self,main_window *widgets);
void on_startup_services_selection_changed(GtkWidget *,main_window *widgets);
void on_os_components_toggled(GtkWidget*, char *path, main_window *widgets);
void on_pacman_software_all_toggled(GtkWidget *, char *path, main_window *widgets);
void on_pacman_software_chosen_toggled(GtkWidget *, char *path, main_window *widgets);
int yon_pacman_software_save(main_window *widgets);
@ -1040,4 +1058,6 @@ void yon_advanced_set_device_sensitivity(main_window *widgets, gboolean state);
void on_advanced_parts_removed(GtkWidget *,GtkWidget*,main_window *widgets);
void on_advanced_parts_added(GtkWidget *,GtkWidget*,main_window *widgets);
void yon_advanced_partition_clear(main_window *widgets);
void yon_layout_build(char *key, GHashTable *value, main_window *widgets);
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);
os_row *yon_os_row_new();

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.40.0 -->
<!-- Generated with glade 3.38.2 -->
<interface domain="ubinstall-gtk">
<requires lib="gtk+" version="3.24"/>
<!-- interface-css-provider-path ubinstall-gtk.css -->

@ -0,0 +1,135 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.38.2 -->
<interface domain="ubinstall-gtk">
<requires lib="gtk+" version="3.24"/>
<!-- interface-css-provider-path ubinstall-gtk.css -->
<object class="GtkBox" id="TableRow">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="spacing">11</property>
<child>
<object class="GtkCheckButton" id="InstallCheck">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">False</property>
<property name="draw-indicator">True</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="margin-top">1</property>
<property name="orientation">vertical</property>
<property name="spacing">1</property>
<child>
<object class="GtkBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="spacing">7</property>
<child>
<object class="GtkLabel" id="NameLabel">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">Name</property>
<property name="width-chars">0</property>
<property name="track-visited-links">False</property>
<property name="xalign">0</property>
<attributes>
<attribute name="weight" value="bold"/>
</attributes>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="VersionLabel">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">Version</property>
<property name="use-markup">True</property>
<property name="width-chars">15</property>
<property name="track-visited-links">False</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkBox" id="TagsBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="valign">start</property>
<property name="margin-top">3</property>
<property name="margin-bottom">5</property>
<property name="spacing">2</property>
<child>
<placeholder/>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">6</property>
</packing>
</child>
<style>
<class name="selection"/>
</style>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="DescriptionLabel">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="margin-bottom">2</property>
<property name="label" translatable="yes">Description</property>
<property name="xalign">0</property>
<property name="yalign">0</property>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="pack-type">end</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkSeparator">
<property name="visible">True</property>
<property name="can-focus">False</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">2</property>
</packing>
</child>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
<style>
<class name="tableborderbottom"/>
</style>
</object>
</interface>

@ -731,6 +731,7 @@ agreement</property>
<property name="margin-top">5</property>
<property name="margin-bottom">5</property>
<property name="tab-pos">left</property>
<property name="show-tabs">False</property>
<child>
<object class="GtkBox">
<property name="visible">True</property>
@ -1405,55 +1406,31 @@ and help you install UBLinux on your computer</property>
<property name="can-focus">True</property>
<property name="shadow-type">in</property>
<child>
<object class="GtkTreeView" id="OSSoftwareTree">
<object class="GtkViewport">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="model">OSSoftwareList</property>
<property name="search-column">0</property>
<property name="enable-grid-lines">both</property>
<child internal-child="selection">
<object class="GtkTreeSelection"/>
</child>
<child>
<object class="GtkTreeViewColumn">
<child>
<object class="GtkCellRendererToggle" id="OSSoftwareCell"/>
<attributes>
<attribute name="active">0</attribute>
</attributes>
</child>
</object>
</child>
<child>
<object class="GtkTreeViewColumn">
<property name="title" translatable="yes">Module name</property>
<child>
<object class="GtkCellRendererText"/>
<attributes>
<attribute name="text">1</attribute>
</attributes>
</child>
</object>
</child>
<child>
<object class="GtkTreeViewColumn">
<property name="title" translatable="yes">Type</property>
<child>
<object class="GtkCellRendererText"/>
<attributes>
<attribute name="text">2</attribute>
</attributes>
</child>
</object>
</child>
<property name="can-focus">False</property>
<property name="margin-left">5</property>
<property name="margin-right">5</property>
<property name="margin-start">5</property>
<property name="margin-end">5</property>
<property name="margin-top">5</property>
<property name="margin-bottom">5</property>
<child>
<object class="GtkTreeViewColumn">
<property name="title" translatable="yes">Description</property>
<object class="GtkBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="orientation">vertical</property>
<child>
<object class="GtkCellRendererText"/>
<attributes>
<attribute name="text">3</attribute>
</attributes>
<object class="GtkListBox" id="OSSoftwareListBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="selection-mode">none</property>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
</object>
</child>

Loading…
Cancel
Save