diff --git a/gresource.xml b/gresource.xml
index 11c7f36..5535760 100644
--- a/gresource.xml
+++ b/gresource.xml
@@ -47,5 +47,6 @@
kernel-list.csv
kernel-list-addon.csv
services-list.csv
+ network-list.csv
\ No newline at end of file
diff --git a/network-list.csv b/network-list.csv
new file mode 100644
index 0000000..dc8b9cc
--- /dev/null
+++ b/network-list.csv
@@ -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
\ No newline at end of file
diff --git a/source/CMakeLists.txt b/source/CMakeLists.txt
index f7b276d..188d38a 100644
--- a/source/CMakeLists.txt
+++ b/source/CMakeLists.txt
@@ -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})
diff --git a/source/ubinstall-gtk-bootloader.c b/source/ubinstall-gtk-bootloader.c
index dc5bdc4..0782600 100644
--- a/source/ubinstall-gtk-bootloader.c
+++ b/source/ubinstall-gtk-bootloader.c
@@ -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;iBootloadUsersList,&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);
+ }
+}
\ No newline at end of file
diff --git a/source/ubinstall-gtk-kernel.c b/source/ubinstall-gtk-kernel.c
index db1756c..ab6f9d2 100644
--- a/source/ubinstall-gtk-kernel.c
+++ b/source/ubinstall-gtk-kernel.c
@@ -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;iKernelListBox),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;iEnableRadio);
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);
}
diff --git a/source/ubinstall-gtk-network.c b/source/ubinstall-gtk-network.c
index 3fcc610..5aa2ebb 100644
--- a/source/ubinstall-gtk-network.c
+++ b/source/ubinstall-gtk-network.c
@@ -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,¶meters_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,¶meters_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,¶meters_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,¶meters_size,ip_param);
+ free(ip_param);
+ }
+ if (!active){
+ yon_char_parsed_add_or_create_if_exists(parameters,¶meters_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;
-}
\ No newline at end of file
+}
+
+void yon_network_init(main_window *widgets){
+ int size;
+ config_str network_types = yon_resource_open_file(network_path,&size);
+ for (int i=1;iNetworkConnectionsBox),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;kAutoGetIPSwitch),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;
+ }
+ }
+ }
+ }
+}
diff --git a/source/ubinstall-gtk-page-switch.c b/source/ubinstall-gtk-page-switch.c
index 24fb3be..edad637 100644
--- a/source/ubinstall-gtk-page-switch.c
+++ b/source/ubinstall-gtk-page-switch.c
@@ -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);
}
diff --git a/source/ubinstall-gtk.c b/source/ubinstall-gtk.c
index f89197d..e03540b 100644
--- a/source/ubinstall-gtk.c
+++ b/source/ubinstall-gtk.c
@@ -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);
diff --git a/source/ubinstall-gtk.h b/source/ubinstall-gtk.h
index 82f4d52..cac61ba 100755
--- a/source/ubinstall-gtk.h
+++ b/source/ubinstall-gtk.h
@@ -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);
\ No newline at end of file
+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);
\ No newline at end of file
diff --git a/ubinstall-gtk-kernel-row.glade b/ubinstall-gtk-kernel-row.glade
index 8ca911b..b41c8db 100644
--- a/ubinstall-gtk-kernel-row.glade
+++ b/ubinstall-gtk-kernel-row.glade
@@ -1,5 +1,5 @@
-
+
@@ -45,11 +45,11 @@
False
@@ -65,12 +58,12 @@
0
True
- - Deafault
+ - Default
@@ -136,6 +129,7 @@
False
@@ -174,59 +168,151 @@
-
-
-
- True
- False
- 5
-
-
- True
- False
- Mask:
- 0
-
-
- False
- True
- 0
-
-
-
-
- True
- True
- 123.123.123.123
-
-
- True
- True
- 1
-
-
-
-
- True
- False
- DNS-server:
- 0
-
-
- False
- True
- 2
-
-
-
-
- True
- True
- 123.123.123.123
-
-
- True
- True
- 3
-
-
-
-
- False
- True
- 4
-
-
True
diff --git a/ubinstall-gtk.glade b/ubinstall-gtk.glade
index 0d64f40..d7adb0a 100644
--- a/ubinstall-gtk.glade
+++ b/ubinstall-gtk.glade
@@ -46,6 +46,16 @@
+
+ True
+ False
+ True
+ False
+ center
+ 5
+ True
+ True
+
@@ -4230,6 +4240,8 @@ and help you install UBLinux on your computer
True
False
True
+ False
+ *
10
@@ -4378,43 +4390,68 @@ and help you install UBLinux on your computer
-
+
True
False
- vertical
- 5
+ 0.019999999552965164
+ in
-
+
True
False
- vertical
- 5
+ 5
+ 5
+ 5
+ 5
-
+
+ True
+ False
+ vertical
+ 5
+
+
+ True
+ False
+ vertical
+ 5
+
+
+
+
+
+ False
+ True
+ 0
+
+
+
+
+ +
+ True
+ True
+ True
+
+
+
+ False
+ True
+ end
+ 1
+
+
+
-
- False
- True
- 0
-
-
-
- +
+
+
True
- True
- True
-
+ False
+ Net interfaces
-
- False
- True
- end
- 1
-