Network loading; Bootloader loading; Kernel enabled improved logic

pull/94/head
parent f5e9c95c60
commit ae97363e5b
No known key found for this signature in database
GPG Key ID: FF1D842BF4DDE92B

@ -47,5 +47,6 @@
<file>kernel-list.csv</file>
<file>kernel-list-addon.csv</file>
<file>services-list.csv</file>
<file>network-list.csv</file>
</gresource>
</gresources>

@ -0,0 +1,45 @@
TYPE;NAME
Ethernet;enp0s0
Ethernet;enp0s1
Ethernet;enp0s2
Ethernet;enp0s3
Ethernet;enp1s0
Ethernet;enp1s1
Ethernet;enp1s2
Ethernet;enp1s3
Ethernet;enp2s0
Ethernet;enp2s1
Ethernet;enp2s2
Ethernet;enp2s3
Ethernet;enp3s0
Ethernet;enp3s1
Ethernet;enp3s2
Ethernet;enp3s3
Ethernet;ens160
Ethernet;ens35
WiFi;wifi
WiFi;wl0
WiFi;wl1
WiFi;wl2
WiFi;wl3
WiFi;wlan0
WiFi;wlan1
WiFi;wlan2
WiFi;wlan3
VPN;tap0
VPN;tap1
VPN;tap2
VPN;tap3
VPN;tun0
VPN;tun0
VPN;tun1
VPN;tun2
VPN;tun3
VPN;pppoe0
VPN;pppoe1
VPN;pppoe2
VPN;pppoe3
Bridge;br0
Bridge;br1
Bridge;br2
Bridge;br3
1 TYPE NAME
2 Ethernet enp0s0
3 Ethernet enp0s1
4 Ethernet enp0s2
5 Ethernet enp0s3
6 Ethernet enp1s0
7 Ethernet enp1s1
8 Ethernet enp1s2
9 Ethernet enp1s3
10 Ethernet enp2s0
11 Ethernet enp2s1
12 Ethernet enp2s2
13 Ethernet enp2s3
14 Ethernet enp3s0
15 Ethernet enp3s1
16 Ethernet enp3s2
17 Ethernet enp3s3
18 Ethernet ens160
19 Ethernet ens35
20 WiFi wifi
21 WiFi wl0
22 WiFi wl1
23 WiFi wl2
24 WiFi wl3
25 WiFi wlan0
26 WiFi wlan1
27 WiFi wlan2
28 WiFi wlan3
29 VPN tap0
30 VPN tap1
31 VPN tap2
32 VPN tap3
33 VPN tun0
34 VPN tun0
35 VPN tun1
36 VPN tun2
37 VPN tun3
38 VPN pppoe0
39 VPN pppoe1
40 VPN pppoe2
41 VPN pppoe3
42 Bridge br0
43 Bridge br1
44 Bridge br2
45 Bridge br3

@ -78,6 +78,7 @@ set(DEPENDFILES
../kernel-list.csv
../kernel-list-addon.csv
../services-list.csv
../network-list.csv
)
file(COPY ${DEPENDFILES} DESTINATION ${CMAKE_CURRENT_BINARY_DIR})

@ -400,6 +400,42 @@ void yon_bootloader_interface_update(main_window *widgets){
}
// void yon_bootloader_setup(main_window *widgets){
void yon_bootloader_init(main_window *widgets){
char *timeout = config(GRUB_TIMEOUT_parameter);
char *os = config(GRUB_DEFAULT_parameter);
char *autologin = config(AUTOLOGINUSER_parameter);
char *admins = config(GRUB_SUPERUSERS_parameter);
int size;
config_str users = yon_config_get_all_by_key(GRUB_PASSWORD_parameter_search,&size);
if (!yon_char_is_empty(timeout)){
long timeout_long = atol(timeout);
gtk_switch_set_active(GTK_SWITCH(widgets->BootloadTimerSwitch),1);
gtk_spin_button_set_value(GTK_SPIN_BUTTON(widgets->BootloadTimerSpin),timeout_long);
} else{
gtk_switch_set_active(GTK_SWITCH(widgets->BootloadTimerSwitch),0);
gtk_spin_button_set_value(GTK_SPIN_BUTTON(widgets->BootloadTimerSpin),0);
}
if (!yon_char_is_empty(os)){
gtk_entry_set_text(GTK_ENTRY(widgets->BootloadDefaultOSEntry),os);
} else {
gtk_entry_set_text(GTK_ENTRY(widgets->BootloadDefaultOSEntry),DEFAULT_BOOTLOAD_MENU_ITEM_LABEL);
}
if (!yon_char_is_empty(autologin)&&(!strcmp(autologin,"yes")||!strcmp(autologin,"enable"))){
gtk_switch_set_active(GTK_SWITCH(widgets->BootloadNoPasswordSwitch),1);
int admins_size;
config_str admins_parsed = yon_char_parse(admins,&admins_size,",");
GtkTreeIter iter;
for (int i=0;i<size;i++){
char *parameter = yon_char_new(users[i]);
char *parameter_name = yon_char_divide_search(parameter,"=",-1);
char *key = yon_config_parameter_get_key(parameter_name);
// }
gtk_list_store_append(widgets->BootloadUsersList,&iter);
gtk_list_store_set(widgets->BootloadUsersList,&iter,0,yon_char_parsed_check_exist(admins_parsed,admins_size,key),1,key,2,parameter,3,"******",-1);
free(parameter);
free(parameter_name);
free(key);
}
yon_char_parsed_free(admins_parsed,admins_size);
}
}

@ -1,5 +1,12 @@
#include "ubinstall-gtk.h"
void on_kernel_install_enabled(GtkWidget *, kernel_row *row){
int active = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(row->InstallCheck));
gtk_widget_set_sensitive(row->EnableRadio,active);
if (!gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(row->InstallCheck))){
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(main_config.kernel_unchosen_radio),1);
}
}
kernel_row *yon_kernel_row_new(){
kernel_row *row = new(kernel_row);
@ -18,6 +25,8 @@ kernel_row *yon_kernel_row_new(){
row->modules=NULL;
row->package=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);
@ -186,7 +195,6 @@ void yon_kernel_setup(main_window *widgets){
config_str kernels = yon_resource_open_file(kernel_list_path,&size);
gtk_size_group_add_widget(widgets->KernelSizeGroup,widgets->KernelTagsLabel);
GtkWidget *radio_group = NULL;
for (int i=1;i<size;i++){
int parsed_size;
config_str parsed = yon_char_parse(kernels[i],&parsed_size,";");
@ -200,10 +208,7 @@ void yon_kernel_setup(main_window *widgets){
gtk_list_box_insert(GTK_LIST_BOX(widgets->KernelListBox),row->row,-1);
gtk_size_group_add_widget(widgets->KernelSizeGroup,row->TagsBox);
if (!radio_group) {
radio_group = row->EnableRadio;
}
gtk_radio_button_join_group(GTK_RADIO_BUTTON(row->EnableRadio),GTK_RADIO_BUTTON(radio_group));
gtk_radio_button_join_group(GTK_RADIO_BUTTON(row->EnableRadio),GTK_RADIO_BUTTON(main_config.kernel_unchosen_radio));
yon_kernel_row_setup(row,name,modules,package,tags,description);
yon_char_parsed_free(parsed,parsed_size);
@ -232,7 +237,6 @@ void yon_kernel_addon_setup(main_window *widgets){
int size;
config_str kernels = yon_resource_open_file(kernel_list_addon_path,&size);
GtkWidget *radio_group = NULL;
for (int i=1;i<size;i++){
int parsed_size;
config_str parsed = yon_char_parse(kernels[i],&parsed_size,";");
@ -250,11 +254,6 @@ void yon_kernel_addon_setup(main_window *widgets){
gtk_widget_destroy(row->EnableRadio);
gtk_widget_destroy(row->EnableSeparator);
if (!radio_group) {
radio_group = row->EnableRadio;
}
gtk_radio_button_join_group(GTK_RADIO_BUTTON(row->EnableRadio),GTK_RADIO_BUTTON(radio_group));
yon_kernel_row_setup(row,name,modules,package,tags,description);
yon_char_parsed_free(parsed,parsed_size);
}

@ -11,8 +11,8 @@ void on_autohostname_check(GtkWidget *, main_window *widgets){
}
}
void on_autohostname_sensitiveness_check(GtkWidget *, main_window *widgets){
if (gtk_switch_get_active(GTK_SWITCH(widgets->HostnameSensitiveSwitch))){
void on_autohostname_sensitiveness_check(GtkWidget *, int status, main_window *widgets){
if (status){
gtk_widget_set_sensitive(widgets->AutoHostnameCheck,1);
if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->AutoHostnameCheck))){
gtk_widget_set_sensitive(widgets->HotnameEntry,0);
@ -29,6 +29,21 @@ void on_hostname_entry_changed (GtkWidget *, main_window *widgets){
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widgets->AutoHostnameCheck),0);
}
void on_type_changed(GtkComboBox *self,network_info *info){
gtk_combo_box_text_remove_all(GTK_COMBO_BOX_TEXT(info->ConnectionCombo));
gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(info->ConnectionCombo),DEFAULT_LABEL);
const char *id = gtk_combo_box_get_active_id(self);
GHashTable *table = g_hash_table_lookup(main_config.network_types,id);
if (table){
GList *list = g_hash_table_get_keys(table);
GList *iter;
for (iter=list;iter;iter=iter->next){
gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(info->ConnectionCombo),iter->data,iter->data);
}
g_list_free(list);
}
}
network_info *yon_network_info_new(){
network_info *info = new(network_info);
GtkBuilder *builder = gtk_builder_new_from_resource(glade_path_network_info);
@ -39,6 +54,7 @@ network_info *yon_network_info_new(){
info->EnabledSwitch = yon_gtk_builder_get_widget(builder,"EnabledSwitch");
info->RemoveButton = yon_gtk_builder_get_widget(builder,"RemoveButton");
info->AutoGetIPSwitch = yon_gtk_builder_get_widget(builder,"AutoGetIPSwitch");
info->IpRevealer = yon_gtk_builder_get_widget(builder,"IpRevealer");
info->IpAdressEntry = yon_gtk_builder_get_widget(builder,"IpAdressEntry");
info->GatewayEntry = yon_gtk_builder_get_widget(builder,"GatewayEntry");
info->MaskEntry = yon_gtk_builder_get_widget(builder,"MaskEntry");
@ -61,7 +77,16 @@ network_info *yon_network_info_new(){
g_signal_connect(G_OBJECT(info->AutoGetIPSwitch),"state-set",G_CALLBACK(yon_gtk_widget_set_sensitive_from_switch_inversed),info->GatewayEntry);
g_signal_connect(G_OBJECT(info->AutoGetIPSwitch),"state-set",G_CALLBACK(yon_gtk_widget_set_sensitive_from_switch_inversed),info->MaskEntry);
g_signal_connect(G_OBJECT(info->AutoGetIPSwitch),"state-set",G_CALLBACK(yon_gtk_widget_set_sensitive_from_switch_inversed),info->DNSEntry);
g_signal_connect(G_OBJECT(info->TypeCombo),"changed",G_CALLBACK(on_type_changed),info);
yon_gtk_revealer_set_from_switch_inversed(GTK_REVEALER(info->IpRevealer),GTK_SWITCH(info->AutoGetIPSwitch));
GList *list = g_hash_table_get_keys(main_config.network_types);
GList *iter;
for (iter=list;iter;iter=iter->next){
gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(info->TypeCombo),iter->data,iter->data);
}
g_list_free(list);
gtk_widget_show(info->MainBox);
return info;
@ -190,12 +215,16 @@ int yon_network_save(main_window *widgets){
network_info *info = g_object_get_data(G_OBJECT(iter->data),"network_info");
// char *type = gtk_combo_box_get_active_id(GTK_COMBO_BOX(info->TypeCombo));
char *connection = (char*)gtk_entry_get_text(GTK_ENTRY(info->ConnectionEntry));
// int active = gtk_switch_get_active(GTK_SWITCH(info->EnabledSwitch));
int active = gtk_switch_get_active(GTK_SWITCH(info->EnabledSwitch));
int parameters_size=0;
config_str parameters = NULL;
if (!gtk_switch_get_active(GTK_SWITCH(info->AutoGetIPSwitch))){
char *ip = (char*)gtk_entry_get_text(GTK_ENTRY(info->IpAdressEntry));
char *mask = (char*)gtk_entry_get_text(GTK_ENTRY(info->MaskEntry));
char *gateway = (char*)gtk_entry_get_text(GTK_ENTRY(info->GatewayEntry));
char *dns = (char*)gtk_entry_get_text(GTK_ENTRY(info->DNSEntry));
yon_char_parsed_add_or_create_if_exists(parameters,&parameters_size,"ipv4.method manual");
if (!yon_ip_check(ip)){
yon_ubl_status_box_spawn(GTK_CONTAINER(widgets->StatusBox),WRONG_IP_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE);
yon_ubl_status_highlight_incorrect(info->IpAdressEntry);
@ -205,26 +234,98 @@ int yon_network_save(main_window *widgets){
yon_ubl_status_box_spawn(GTK_CONTAINER(widgets->StatusBox),WRONG_IP_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE);
yon_ubl_status_highlight_incorrect(info->MaskEntry);
return 0;
} else {
int bitmask = yon_ip_mask_get_bits(mask);
mask = yon_char_from_int(bitmask);
char *ip_param = yon_char_unite("ipv4.addr", ip,"/",mask,NULL);
yon_char_parsed_add_or_create_if_exists(parameters,&parameters_size,ip_param);
free(ip_param);
}
if (!yon_ip_check(gateway)){
yon_ubl_status_box_spawn(GTK_CONTAINER(widgets->StatusBox),WRONG_IP_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE);
yon_ubl_status_highlight_incorrect(info->GatewayEntry);
return 0;
if (yon_ip_check(gateway)){
char *ip_param = yon_char_append("ipv4.gateway", gateway);
yon_char_parsed_add_or_create_if_exists(parameters,&parameters_size,ip_param);
free(ip_param);
}
if (!yon_ip_check(dns)){
yon_ubl_status_box_spawn(GTK_CONTAINER(widgets->StatusBox),WRONG_IP_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE);
yon_ubl_status_highlight_incorrect(info->DNSEntry);
return 0;
if (yon_ip_check(dns)){
char *ip_param = yon_char_append("ipv4.dns", dns);
yon_char_parsed_add_or_create_if_exists(parameters,&parameters_size,ip_param);
free(ip_param);
}
if (!active){
yon_char_parsed_add_or_create_if_exists(parameters,&parameters_size,"");
}
int bitmask = yon_ip_mask_get_bits(mask);
mask = yon_char_from_int(bitmask);
char *value = network_value(ip,mask,gateway,dns);
yon_config_register(NETWORK_parameter(connection),NETWORK_parameter_command(connection),value);
char *value = yon_char_parsed_to_string(parameters,parameters_size,"yes");
yon_config_register(NETWORK_devdown_parameter(connection),NETWORK_devdown_parameter_command(connection),value);
} else {
yon_config_register(NETWORK_parameter(connection),NETWORK_parameter_command(connection),network_value_auto);
}
}
return 1;
}
}
void yon_network_init(main_window *widgets){
int size;
config_str network_types = yon_resource_open_file(network_path,&size);
for (int i=1;i<size;i++){
yon_char_remove_last_symbol(network_types[i],'\n');
int parsed_size;
config_str parsed = yon_char_parse(network_types[i],&parsed_size,";");
if (!g_hash_table_contains(main_config.network_types,parsed[0])){
GHashTable *table = g_hash_table_new(g_str_hash,g_str_equal);
g_hash_table_insert(main_config.network_types,yon_char_new(parsed[0]),table);
}
g_hash_table_add(g_hash_table_lookup(main_config.network_types,parsed[0]),yon_char_new(parsed[1]));
yon_char_parsed_free(parsed,parsed_size);
}
yon_char_parsed_free(network_types,size);
config_str parameters = yon_config_get_all_by_key(NETWORK_parameter_search,&size);
for (int i=0;i<size;i++){
char *parameter = yon_char_new(parameters[i]);
char *parameter_name = yon_char_divide_search(parameter,"=",-1);
char *key = yon_config_parameter_get_key(parameter_name);
char *key_type = yon_char_divide_search(key,"@",-1);
if (!strcmp(key_type,"connmod")){
network_info *info = yon_network_info_new();
gtk_box_pack_start(GTK_BOX(widgets->NetworkConnectionsBox),info->MainBox,0,0,0);
gtk_widget_show(info->MainBox);
int connection_size;
config_str connection = yon_char_parse(parameter,&connection_size," ");
for (int k=0;k<connection_size;k++){
if (!strcmp(connection[k],"ipv4.method")){
gtk_switch_set_active(GTK_SWITCH(info->AutoGetIPSwitch),0);
} else if (!strcmp(connection[k],"ipv4.addr")){
char *mask = yon_char_new(connection[++k]);
char *ip = yon_char_divide_search(mask,"/",-1);
gtk_entry_set_text(GTK_ENTRY(info->MaskEntry),mask);
gtk_entry_set_text(GTK_ENTRY(info->IpAdressEntry),ip);
free(mask);
free(ip);
} else if (!strcmp(connection[k],"ipv4.gateway")){
gtk_entry_set_text(GTK_ENTRY(info->GatewayEntry),connection[++k]);
} else if (!strcmp(connection[k],"ipv4.dns")){
gtk_entry_set_text(GTK_ENTRY(info->DNSEntry),connection[++k]);
}
}
GList *list = g_hash_table_get_keys(main_config.network_types);
GList *iter;
for (iter=list;iter;iter=iter->next){
if (g_hash_table_contains(g_hash_table_lookup(main_config.network_types,(char*)iter->data),key)){
gtk_combo_box_set_active_id(GTK_COMBO_BOX(info->TypeCombo),(char*)iter->data);
gtk_combo_box_set_active_id(GTK_COMBO_BOX(info->ConnectionCombo),key);
break;
}
}
}
}
}

@ -290,11 +290,43 @@ enum YON_PAGES yon_recovery_get_next(main_window *widgets){
return YON_PAGE_SECTIONS;
}
void yon_page_init(main_window *widgets, enum YON_PAGES page){
switch(page){
case YON_PAGE_OS_COMPONENTS:
case YON_PAGE_KERNEL:
case YON_PAGE_KERNEL_ADDON:
case YON_PAGE_SOFTWARE:
case YON_PAGE_PACMAN_SOFTWARE:
case YON_PAGE_REGION:
case YON_PAGE_KEYBOARD:
case YON_PAGE_USERS:
case YON_PAGE_STARTUP:
case YON_PAGE_BOOTLOADER:
yon_bootloader_init(widgets);
break;
case YON_PAGE_NETWORK:
yon_network_init(widgets);
break;
case YON_PAGE_INSTALL_COMMON:
case YON_PAGE_INSTALL_SEPARATE:
case YON_PAGE_INSTALL_SAME_PARTITION:
case YON_PAGE_INSTALL_ADVANCED:
case YON_PAGE_RECOVERY_GRUB_INSTALL:
case YON_PAGE_RECOVERY_GRUB_UPDATE:
case YON_PAGE_RECOVERY_OS_ONLY:
case YON_PAGE_RECOVERY_USRDATA_ONLY:
case YON_PAGE_INSTALLATION_BEGIN:
break;
default: break;
}
}
void on_page_next_clicked(GtkWidget *, main_window *widgets){
enum YON_PAGES page = gtk_notebook_get_current_page(GTK_NOTEBOOK(widgets->Notebook));
page = yon_page_get_next(widgets,page);
if ((int)page!=-1){
gtk_notebook_set_current_page(GTK_NOTEBOOK(widgets->Notebook),page);
yon_page_init(widgets,page);
}
yon_page_update(widgets);
}

@ -152,6 +152,7 @@ void config_init(){
main_config.log_end=0;
main_config.exit_accepted=0;
yon_packages_init();
main_config.network_types = g_hash_table_new(g_str_hash,g_str_equal);
}
// void on_root_get_root(char *argline){
@ -285,6 +286,8 @@ main_window *yon_main_window_complete(){
widgets->PartitionsList = GTK_LIST_STORE(gtk_builder_get_object(builder,"PartitionsList"));
main_config.kernel_unchosen_radio = yon_gtk_builder_get_widget(builder,"KernelUnchosenRadio");
widgets->MainWindow=yon_gtk_builder_get_widget(builder,"MainWindow");
widgets->StatusBox = yon_gtk_builder_get_widget(builder,"StatusBox");
widgets->Notebook = yon_gtk_builder_get_widget(builder,"Notebook");
@ -603,7 +606,7 @@ main_window *yon_main_window_complete(){
g_signal_connect(G_OBJECT(widgets->NetworkNTPServerSwitch),"state-set",G_CALLBACK(yon_gtk_widget_set_sensitive_from_switch),widgets->NetworkNTPEntry);
g_signal_connect(G_OBJECT(widgets->HostnameSensitiveSwitch),"state-set",G_CALLBACK(yon_gtk_widget_set_sensitive_from_switch),widgets->HotnameEntry);
g_signal_connect(G_OBJECT(widgets->HostnameSensitiveSwitch),"state-set",G_CALLBACK(yon_gtk_widget_set_sensitive_from_switch),widgets->AutoHostnameCheck);
g_signal_connect(G_OBJECT(widgets->HostnameSensitiveSwitch),"toggled",G_CALLBACK(on_autohostname_sensitiveness_check),widgets);
g_signal_connect(G_OBJECT(widgets->HostnameSensitiveSwitch),"state-set",G_CALLBACK(on_autohostname_sensitiveness_check),widgets);
g_signal_connect(G_OBJECT(widgets->AutoHostnameCheck),"toggled",G_CALLBACK(on_autohostname_check),widgets);
g_signal_connect(G_OBJECT(widgets->HotnameEntry),"changed",G_CALLBACK(on_hostname_entry_changed),widgets);
g_signal_connect(G_OBJECT(widgets->NetworkConnectionsAddButton),"clicked",G_CALLBACK(on_connection_add),widgets);

@ -59,6 +59,7 @@
#define kernel_list_path "resource:///com/ublinux/csv/kernel-list.csv"
#define kernel_list_addon_path "resource:///com/ublinux/csv/kernel-list-addon.csv"
#define services_list_path "resource:///com/ublinux/csv/services-list.csv"
#define network_path "resource:///com/ublinux/csv/network-list.csv"
#define slide_0_path "/com/ublinux/images/slide-0.png"
@ -179,8 +180,6 @@ NULL
#define GRUB_TIMEOUT_parameter_command "ubconfig get autoinstall AUTOINSTALL['ubconfig set [boot] GRUB_TIMEOUT']"
#define GRUB_DEFAULT_parameter "AUTOINSTALL['ubconfig set [boot] GRUB_DEFAULT']"
#define GRUB_DEFAULT_parameter_command "ubconfig get autoinstall AUTOINSTALL['ubconfig set [boot] GRUB_DEFAULT']"
#define GRUB_SUPERUSERS_parameter "AUTOINSTALL['ubconfig set [boot] GRUB_SUPERUSERS']"
#define GRUB_SUPERUSERS_parameter_command "ubconfig get autoinstall AUTOINSTALL['ubconfig set [boot] GRUB_SUPERUSERS']"
#define GRUB_PASSWORD_parameter_search "AUTOINSTALL['ubconfig set [boot] GRUB_PASSWORD["
#define GRUB_PASSWORD_parameter_all "AUTOINSTALL['ubconfig set [boot] GRUB_PASSWORD[*]']"
#define GRUB_PASSWORD_parameter(target) yon_char_unite("AUTOINSTALL['ubconfig set [boot] GRUB_PASSWORD[",target,"]']",NULL)
@ -188,8 +187,11 @@ NULL
#define GRUB_PASSWORD_parameter_command(target) yon_char_unite("ubconfig get autoinstall AUTOINSTALL['ubconfig set [boot] GRUB_PASSWORD[",target,"]']",NULL)
#define AUTOLOGINUSER_parameter "AUTOINSTALL['ubconfig set [desktop] AUTOLOGINUSER']"
#define AUTOLOGINUSER_parameter_command "ubconfig get autoinstall AUTOINSTALL['ubconfig set [boot] AUTOLOGINUSER']"
#define NETWORK_parameter_search "AUTOINSTALL['ubconfig set [network] NETWORK["
#define NETWORK_parameter(target) yon_char_unite("AUTOINSTALL['ubconfig set [network] NETWORK[",target,"@connmod]']",NULL)
#define NETWORK_devdown_parameter(target) yon_char_unite("AUTOINSTALL['ubconfig set [network] NETWORK[",target,"@devdown]']",NULL)
#define NETWORK_parameter_command(target) yon_char_unite("ubconfig get autoinstall AUTOINSTALL['ubconfig set [network] NETWORK[",target,"@connmod]']",NULL)
#define NETWORK_devdown_parameter_command(target) yon_char_unite("ubconfig get autoinstall AUTOINSTALL['ubconfig set [network] NETWORK[",target,"@devdown]']",NULL)
#define NETWORK(target) yon_char_unite("NETWORK[",target,"@connmod]",NULL)
#define save_config_command(parameters) yon_char_unite("ubconfig --target system set [autoinstall] AUTOINSTALL[log]=yes ",parameters, "; nice ubinstall2 --debug autoinstall", NULL)
@ -350,6 +352,8 @@ typedef struct {
int arg_size;
config_str arg_target;
GtkWidget *status_box;
GHashTable *network_types;
GtkWidget *kernel_unchosen_radio;
} config;
extern config main_config;
@ -704,6 +708,7 @@ typedef struct {
GtkWidget *EnabledSwitch;
GtkWidget *RemoveButton;
GtkWidget *AutoGetIPSwitch;
GtkWidget *IpRevealer;
GtkWidget *IpAdressEntry;
GtkWidget *GatewayEntry;
GtkWidget *MaskEntry;
@ -817,7 +822,7 @@ void on_device_selection_changed(GtkWidget *self, main_window *widgets);
void on_toggle_button_switch_on(GtkWidget *, GtkToggleButton *toggle);
void on_autohostname_sensitiveness_check(GtkWidget *, main_window *widgets);
void on_autohostname_sensitiveness_check(GtkWidget *, int status, main_window *widgets);
void on_autohostname_check(GtkWidget *, main_window *widgets);
void on_hostname_entry_changed (GtkWidget *, main_window *widgets);
@ -954,4 +959,9 @@ void yon_password_change(GtkWidget *, bootloader_user_window *window);
bootloader_user_window *yon_bootloader_user_window_new();
void on_bootloader_user_add(GtkWidget *, main_window *widgets);
void on_bootloader_user_accept(GtkWidget *, bootloader_user_window *window);
void yon_bootloader_interface_update(main_window *widgets);
void yon_bootloader_interface_update(main_window *widgets);
void on_type_changed(GtkComboBox *self,network_info *info);
void yon_network_init(main_window *widgets);
void yon_page_init(main_window *widgets, enum YON_PAGES page);
void yon_bootloader_init(main_window *widgets);
void on_kernel_install_enabled(GtkWidget *, kernel_row *row);

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.38.2 -->
<!-- Generated with glade 3.40.0 -->
<interface domain="ubinstall-gtk">
<requires lib="gtk+" version="3.24"/>
<!-- interface-css-provider-path ubinstall-gtk.css -->
@ -45,11 +45,11 @@
<child>
<object class="GtkRadioButton" id="EnableRadio">
<property name="visible">True</property>
<property name="sensitive">False</property>
<property name="can-focus">True</property>
<property name="receives-default">False</property>
<property name="halign">center</property>
<property name="margin-top">5</property>
<property name="active">True</property>
<property name="draw-indicator">True</property>
<child>
<placeholder/>

@ -44,13 +44,6 @@
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="active">0</property>
<items>
<item translatable="yes">Wired</item>
<item translatable="yes">Wireless</item>
<item translatable="yes">Tunnel</item>
<item translatable="yes">Bridge</item>
<item translatable="yes">Modem</item>
</items>
</object>
<packing>
<property name="expand">False</property>
@ -65,12 +58,12 @@
<property name="active">0</property>
<property name="has-entry">True</property>
<items>
<item translatable="yes">Deafault</item>
<item translatable="yes">Default</item>
</items>
<child internal-child="entry">
<object class="GtkEntry" id="ConnectionEntry">
<property name="can-focus">True</property>
<property name="text" translatable="yes">Deafault</property>
<property name="text" translatable="yes">Default</property>
</object>
</child>
</object>
@ -136,6 +129,7 @@
<object class="GtkSwitch" id="AutoGetIPSwitch">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="active">True</property>
</object>
<packing>
<property name="expand">False</property>
@ -174,59 +168,151 @@
</packing>
</child>
<child>
<object class="GtkBox">
<object class="GtkRevealer" id="IpRevealer">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="spacing">5</property>
<child>
<object class="GtkLabel" id="label1">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">IP adress:</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkEntry" id="IpAdressEntry">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="placeholder-text" translatable="yes">123.123.123.123</property>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="label3">
<object class="GtkBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">Gateway:</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">2</property>
</packing>
</child>
<child>
<object class="GtkEntry" id="GatewayEntry">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="placeholder-text" translatable="yes">123.123.123.123</property>
<property name="orientation">vertical</property>
<property name="spacing">5</property>
<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">0</property>
</packing>
</child>
<child>
<object class="GtkBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="spacing">5</property>
<child>
<object class="GtkLabel" id="label1">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">IP adress:</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkEntry" id="IpAdressEntry">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="placeholder-text" translatable="yes">192.168.0.1</property>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="label3">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">Gateway:</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">2</property>
</packing>
</child>
<child>
<object class="GtkEntry" id="GatewayEntry">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="placeholder-text" translatable="yes">192.168.0.254</property>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">3</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="spacing">5</property>
<child>
<object class="GtkLabel" id="label2">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">Mask:</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkEntry" id="MaskEntry">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="placeholder-text" translatable="yes">24</property>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="label4">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">DNS-server:</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">2</property>
</packing>
</child>
<child>
<object class="GtkEntry" id="DNSEntry">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="placeholder-text" translatable="yes">192.168.0.254</property>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">3</property>
</packing>
</child>
</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">3</property>
</packing>
</child>
</object>
<packing>
@ -235,68 +321,6 @@
<property name="position">3</property>
</packing>
</child>
<child>
<object class="GtkBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="spacing">5</property>
<child>
<object class="GtkLabel" id="label2">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">Mask:</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkEntry" id="MaskEntry">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="placeholder-text" translatable="yes">123.123.123.123</property>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="label4">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">DNS-server:</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">2</property>
</packing>
</child>
<child>
<object class="GtkEntry" id="DNSEntry">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="placeholder-text" translatable="yes">123.123.123.123</property>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">3</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">4</property>
</packing>
</child>
</object>
<packing>
<property name="expand">True</property>

@ -46,6 +46,16 @@
<column type="gchararray"/>
</columns>
</object>
<object class="GtkRadioButton" id="KernelUnchosenRadio">
<property name="visible">True</property>
<property name="sensitive">False</property>
<property name="can-focus">True</property>
<property name="receives-default">False</property>
<property name="halign">center</property>
<property name="margin-top">5</property>
<property name="active">True</property>
<property name="draw-indicator">True</property>
</object>
<object class="GtkListStore" id="KernelsList">
<columns>
<!-- column-name Chosen -->
@ -4230,6 +4240,8 @@ and help you install UBLinux on your computer</property>
<property name="visible">True</property>
<property name="sensitive">False</property>
<property name="can-focus">True</property>
<property name="visibility">False</property>
<property name="invisible-char">*</property>
<property name="width-chars">10</property>
</object>
<packing>
@ -4378,43 +4390,68 @@ and help you install UBLinux on your computer</property>
</packing>
</child>
<child>
<object class="GtkBox">
<object class="GtkFrame">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="orientation">vertical</property>
<property name="spacing">5</property>
<property name="label-xalign">0.019999999552965164</property>
<property name="shadow-type">in</property>
<child>
<object class="GtkBox" id="NetworkConnectionsBox">
<object class="GtkAlignment">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="orientation">vertical</property>
<property name="spacing">5</property>
<property name="top-padding">5</property>
<property name="bottom-padding">5</property>
<property name="left-padding">5</property>
<property name="right-padding">5</property>
<child>
<placeholder/>
<object class="GtkBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="orientation">vertical</property>
<property name="spacing">5</property>
<child>
<object class="GtkBox" id="NetworkConnectionsBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="orientation">vertical</property>
<property name="spacing">5</property>
<child>
<placeholder/>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkButton" id="NetworkConnectionsAddButton">
<property name="label" translatable="yes">+</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
<style>
<class name="thin"/>
</style>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="pack-type">end</property>
<property name="position">1</property>
</packing>
</child>
</object>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkButton" id="NetworkConnectionsAddButton">
<property name="label" translatable="yes">+</property>
<child type="label">
<object class="GtkLabel">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
<style>
<class name="thin"/>
</style>
<property name="can-focus">False</property>
<property name="label" translatable="yes">Net interfaces</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="pack-type">end</property>
<property name="position">1</property>
</packing>
</child>
</object>
<packing>

Loading…
Cancel
Save