WIP Table slides

pull/94/head
parent 1361ae18dd
commit 8f6936eb08
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-service-window.glade</file>
</gresource>
<gresource prefix="/com/ublinux/css">
<file>ubinstall-gtk.css</file>
@ -42,5 +43,7 @@
<gresource prefix="/com/ublinux/csv">
<file>modules.csv</file>
<file>kernel-list.csv</file>
<file>kernel-list-addon.csv</file>
<file>services-list.csv</file>
</gresource>
</gresources>

@ -0,0 +1,13 @@
NAME;PAСKAGE_UBM;PAСKAGE;DESCRIPTION
Linux 5.15 headers;ubm-002-linux515-headers;linux515-headers;The Linux kernel headers v5.15
Linux 5.15 Docs;ubm-003-linux515-docs;linux515-docs;The Linux kernel docs v5.15
Linux 5.15 DKMS modules;ubm-linux515-dkms;;The Linux kernel DKMS modules v5.15 : v4l2loopback, rtl88x2bu, r8125, rtl8192eu
Linux 5.15 DKMS modules;ubm-linux515-r8168-8136;;The Linux kernel DKMS modules v5.15 : r8168-8136
Linux 6.1 headers;ubm-002-linux61-headers;linux61-headers;The Linux kernel headers v6.1
Linux 6.1 Docs;ubm-003-linux61-docs;linux61-docs;The Linux kernel docs v6.1
Linux 6.1 DKMS modules;ubm-linux61-dkms;;The Linux kernel DKMS modules v6.1 : v4l2loopback, rtl88x2bu, r8125, rtl8192eu
Linux 6.1 DKMS modules;ubm-linux61-r8168-8136;;The Linux kernel DKMS modules v6.1 : r8168-8136
Linux 6.6 headers;ubm-002-linux66-headers;linux66-headers;The Linux kernel headers v6.6
Linux 6.6 Docs;ubm-003-linux66-docs;linux66-docs;The Linux kernel docs v6.6
Linux 6.6 DKMS modules;ubm-linux66-dkms;;The Linux kernel DKMS modules v6.6 : v4l2loopback, rtl88x2bu, r8125, rtl8192eu
Linux 6.6 DKMS modules;ubm-linux66-dkms-r8168-8136;;The Linux kernel DKMS modules v6.6 : r8168-8136
1 NAME PAСKAGE_UBM PAСKAGE DESCRIPTION
2 Linux 5.15 headers ubm-002-linux515-headers linux515-headers The Linux kernel headers v5.15
3 Linux 5.15 Docs ubm-003-linux515-docs linux515-docs The Linux kernel docs v5.15
4 Linux 5.15 DKMS modules ubm-linux515-dkms The Linux kernel DKMS modules v5.15 : v4l2loopback, rtl88x2bu, r8125, rtl8192eu
5 Linux 5.15 DKMS modules ubm-linux515-r8168-8136 The Linux kernel DKMS modules v5.15 : r8168-8136
6 Linux 6.1 headers ubm-002-linux61-headers linux61-headers The Linux kernel headers v6.1
7 Linux 6.1 Docs ubm-003-linux61-docs linux61-docs The Linux kernel docs v6.1
8 Linux 6.1 DKMS modules ubm-linux61-dkms The Linux kernel DKMS modules v6.1 : v4l2loopback, rtl88x2bu, r8125, rtl8192eu
9 Linux 6.1 DKMS modules ubm-linux61-r8168-8136 The Linux kernel DKMS modules v6.1 : r8168-8136
10 Linux 6.6 headers ubm-002-linux66-headers linux66-headers The Linux kernel headers v6.6
11 Linux 6.6 Docs ubm-003-linux66-docs linux66-docs The Linux kernel docs v6.6
12 Linux 6.6 DKMS modules ubm-linux66-dkms The Linux kernel DKMS modules v6.6 : v4l2loopback, rtl88x2bu, r8125, rtl8192eu
13 Linux 6.6 DKMS modules ubm-linux66-dkms-r8168-8136 The Linux kernel DKMS modules v6.6 : r8168-8136

@ -0,0 +1,11 @@
NAME;NAME_SERVICES;DESCRIPTION
UBManager WebPanel;cockpit.socket;Operating system monitoring and management manager service
Network Manager;NetworkManager;Is a program for providing detection and configuration for systems to automatically connect to networks
SSH;sshd;The daemon that listens for connections from clients on port 22
NTP Client;systemd-timesyncd;Is a system service that may be used to synchronize the local system clock with a remote Network Time Protocol (NTP) server
Avahi;avahi-daemon,avahi-dnsconfd;Is a free zero-configuration networking (zeroconf) implementation, including a system for multicast DNS and DNS Service Discovery
CUPS;cups;Is a modular printing system for Unix-like computer operating systems which allows a computer to act as a print server
Samba;smb,nmb;Provides network shares for folders and printers using the SMB/CIFS protocol commonly used on Windows. SMB and NMB Daemon
Samba winbind;winbind;Provides network shares for folders and printers using the SMB/CIFS protocol commonly used on Windows. Winbind Daemon
SwapSpace;swapspace;Operating system dynamic swap file management service
Bluetouth;bluetooth;A Service is a container for logically related Bluetooth data items
1 NAME NAME_SERVICES DESCRIPTION
2 UBManager WebPanel cockpit.socket Operating system monitoring and management manager service
3 Network Manager NetworkManager Is a program for providing detection and configuration for systems to automatically connect to networks
4 SSH sshd The daemon that listens for connections from clients on port 22
5 NTP Client systemd-timesyncd Is a system service that may be used to synchronize the local system clock with a remote Network Time Protocol (NTP) server
6 Avahi avahi-daemon,avahi-dnsconfd Is a free zero-configuration networking (zeroconf) implementation, including a system for multicast DNS and DNS Service Discovery
7 CUPS cups Is a modular printing system for Unix-like computer operating systems which allows a computer to act as a print server
8 Samba smb,nmb Provides network shares for folders and printers using the SMB/CIFS protocol commonly used on Windows. SMB and NMB Daemon
9 Samba winbind winbind Provides network shares for folders and printers using the SMB/CIFS protocol commonly used on Windows. Winbind Daemon
10 SwapSpace swapspace Operating system dynamic swap file management service
11 Bluetouth bluetooth A Service is a container for logically related Bluetooth data items

@ -69,10 +69,13 @@ set(DEPENDFILES
../ubinstall-gtk-menu.glade
../ubinstall-gtk-menu-item.glade
../ubinstall-gtk-kernel-row.glade
../ubinstall-gtk-service-window.glade
../gresource.xml
../ubinstall-gtk.css
../modules.csv
../kernel-list.csv
../kernel-list-addon.csv
../services-list.csv
)
file(COPY ${DEPENDFILES} DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
@ -127,6 +130,7 @@ set(SOURCE_FILES
ubinstall-gtk-saving.c
ubinstall-gtk-standard.c
ubinstall-gtk-install-start.c
ubinstall-gtk-startup-services.c
ubinstall-gtk-kernel.c
ubinstall-gtk.h
ubl-strings.h

@ -274,84 +274,6 @@ void on_partition_changed(GtkWidget *self, main_window *widgets){
}
// void on_separate_installation_changed(GtkWidget *self, main_window *widgets){
// gtk_list_store_clear(widgets->PartitionsList);
// GtkTreeIter iter;
// GtkTreeModel *model;
// if (gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(self)),&model,&iter)){
// gtk_tree_selection_select_iter(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->SeparateUserDevicesTree)),&iter);
// char *disk_path="";
// gtk_tree_model_get(model,&iter,0,&disk_path,-1);
// int size;
// config_str partitions;
// partitions = yon_config_load(yon_debug_output("%s\n",get_parts_and_devices_command),&size);
// for (int i=0;i<size;i++){
// yon_char_remove_last_symbol(partitions[i],'\n');
// int parsed_size;
// config_str parsed = yon_char_parse(partitions[i],&parsed_size,";");
// }
// char *string = yon_char_parsed_to_string(parsed,size,"");
// struct json_object *root;
// struct json_object *blockdevices;
// root = json_tokener_parse(string);
// json_object_object_get_ex(root, "blockdevices", &blockdevices);
// for (long unsigned int i = 0; i < json_object_array_length(blockdevices); i++) {
// struct json_object *device = json_object_array_get_idx(blockdevices, i);
// struct json_object *type, *path, *size, *model, *fstype, *fsused;
// json_object_object_get_ex(device, "type", &type);
// if (strcmp("part",json_object_get_string(type)))
// continue;
// json_object_object_get_ex(device, "path", &path);
// if (!strstr(json_object_get_string(path),disk_path)){
// continue;
// }
// json_object_object_get_ex(device, "size", &size);
// json_object_object_get_ex(device, "model", &model);
// json_object_object_get_ex(device, "fstype", &fstype);
// json_object_object_get_ex(device, "fsused", &fsused);
// double free_space=0;
// char *free_space_string="";
// if (size&&fsused){
// char *fsused_str = (char*)json_object_get_string(fsused);
// double fsused_kbytes = atof(fsused_str);
// for (int i=0;i<yon_get_size_get_from_letter(fsused_str[strlen(fsused_str)-1]);i++){
// fsused_kbytes*=1024;
// }
// char *size_str = (char*)json_object_get_string(size);
// double size_kbytes = atof(size_str);
// for (int i=0;i<yon_get_size_get_from_letter(size_str[strlen(size_str)-1]);i++){
// size_kbytes*=1024;
// }
// int sz=0;
// free_space = size_kbytes-fsused_kbytes;
// for (sz=0;free_space>1024;sz=sz+1){
// free_space=free_space/1024;
// }
// if (sz==-1) {
// sz=0;
// free_space=free_space/1024;
// }
// free_space_string = yon_char_append(yon_char_from_double(free_space)," ");
// free_space_string[strlen(free_space_string)-1]=*(yon_size_get_mod(sz));
// }
// gtk_adjustment_set_upper(gtk_spin_button_get_adjustment(GTK_SPIN_BUTTON(widgets->NextInstallationSizeSpin)),0.0);
// gtk_list_store_append(widgets->PartitionsList,&iter);
// gtk_list_store_set(widgets->PartitionsList,&iter,0,json_object_get_string(path),1,json_object_get_string(size),2,free_space_string,3,json_object_get_string(fstype),-1);
// }
// yon_char_parsed_free(parsed,size);
// }
// }
void on_device_selection_changed(GtkWidget *self, main_window *widgets){
gtk_list_store_clear(widgets->PartitionsList);
GtkTreeIter iter;
@ -408,41 +330,3 @@ void on_device_selection_changed(GtkWidget *self, main_window *widgets){
gtk_adjustment_set_upper(gtk_spin_button_get_adjustment(GTK_SPIN_BUTTON(widgets->NextInstallationSizeSpin)),0.0);
}
}
// void on_same_installation_device_changed(GtkWidget *, main_window *widgets){
// gtk_list_store_clear(widgets->PartitionsList);
// GtkTreeIter iter;
// GtkTreeModel *model;
// if (gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->SamePlaceDeviceTree)),&model,&iter)){
// char *disk_path="";
// gtk_tree_model_get(model,&iter,0,&disk_path,-1);
// int size;
// config_str parsed;
// parsed = yon_config_load(yon_debug_output("%s\n",get_parts_and_devices_command),&size);
// char *string = yon_char_parsed_to_string(parsed,size,"");
// struct json_object *root;
// struct json_object *blockdevices;
// root = json_tokener_parse(string);
// json_object_object_get_ex(root, "blockdevices", &blockdevices);
// for (long unsigned int i = 0; i < json_object_array_length(blockdevices); i++) {
// struct json_object *device = json_object_array_get_idx(blockdevices, i);
// struct json_object *type, *path, *size, *model, *vendor, *serial;
// json_object_object_get_ex(device, "type", &type);
// if (strcmp("part",json_object_get_string(type)))
// continue;
// json_object_object_get_ex(device, "path", &path);
// if (!strstr(json_object_get_string(path),disk_path)){
// continue;
// }
// json_object_object_get_ex(device, "size", &size);
// json_object_object_get_ex(device, "model", &model);
// json_object_object_get_ex(device, "vendor", &vendor);
// json_object_object_get_ex(device, "serial", &serial);
// gtk_list_store_append(widgets->PartitionsList,&iter);
// gtk_list_store_set(widgets->PartitionsList,&iter,0,json_object_get_string(path),1,json_object_get_string(model),2,json_object_get_string(serial),3,json_object_get_string(size),4,json_object_get_string(vendor),-1);
// }
// yon_char_parsed_free(parsed,size);
// }
// }

@ -8,8 +8,10 @@ kernel_row *yon_kernel_row_new(){
row->RowBox = yon_gtk_builder_get_widget(builder,"TableRow");
row->InstallCheck = yon_gtk_builder_get_widget(builder,"InstallCheck");
row->EnableRadio = yon_gtk_builder_get_widget(builder,"EnableRadio");
row->EnableSeparator = yon_gtk_builder_get_widget(builder,"EnableSeparator");
row->NameLabel = yon_gtk_builder_get_widget(builder,"NameLabel");
row->TagsBox = yon_gtk_builder_get_widget(builder,"TagsBox");
row->TagsSeparator = yon_gtk_builder_get_widget(builder,"TagsSeparator");
row->ModulesLabel = yon_gtk_builder_get_widget(builder,"ModulesLabel");
row->DescriptionLabel = yon_gtk_builder_get_widget(builder,"DescriptionLabel");
row->name=NULL;
@ -38,8 +40,6 @@ int yon_tag_add(GtkBox *target,char *tag_label, char *tag_style, char *icon_name
g_object_set_data(G_OBJECT(box),"label",label);
pango_attr_list_insert(attr,scale_attr);
gtk_widget_set_hexpand(box, TRUE);
gtk_widget_set_halign(box, GTK_ALIGN_FILL);
gtk_style_context_add_class(gtk_widget_get_style_context(label),tag_style);
GtkWidget *icon = NULL;
@ -86,52 +86,86 @@ void yon_kernel_row_setup(kernel_row *row, char *name, char *modules,char *packa
row->modules = yon_char_new(modules);
row->package = yon_char_new(package);
guint size;
config_str description_wrapped = yon_char_wrap_to_lines(description,3,&size);
char *description_full = yon_char_parsed_to_string(description_wrapped,size,"\n");
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->ModulesLabel),modules);
gtk_label_set_label(GTK_LABEL(row->DescriptionLabel),description_full);
yon_kernel_row_setup_tags(row,tags);
yon_char_parsed_free(description_wrapped,size);
free(description_full);
}
void yon_kernel_resize(main_window *widgets){
GList *list = gtk_container_get_children(GTK_CONTAINER(widgets->KernelListBox));
GList *iter = list;
// gtk_widget_realize(widgets->KernelListBox);
int install_size=0;
int enable_size=0;
int name_size=0;
int modules_size=0;
gtk_widget_get_preferred_width(widgets->KernelInstallLabel,&install_size,NULL);
gtk_widget_get_preferred_width(widgets->KernelEnableLabel,&enable_size,NULL);
gtk_widget_get_preferred_width(widgets->KernelNameLabel,&name_size,NULL);
gtk_widget_get_preferred_width(widgets->KernelModulesLabel,&modules_size,NULL);
for (;iter;iter=iter->next){
kernel_row *row = g_object_get_data(G_OBJECT(iter->data),"kernel_row");
int cur_name_size;
int cur_modules_size;
gtk_widget_get_preferred_width(row->NameLabel,&cur_name_size,NULL);
gtk_widget_get_preferred_width(row->ModulesLabel,&cur_modules_size,NULL);
if (name_size<cur_name_size) name_size=cur_name_size;
if (modules_size<cur_modules_size) modules_size=cur_modules_size;
}
gtk_widget_set_size_request(GTK_WIDGET(widgets->KernelNameLabel),name_size,-1);
gtk_widget_set_size_request(GTK_WIDGET(widgets->KernelModulesLabel),modules_size,-1);
for (iter = list;iter;iter = iter->next){
kernel_row *row = g_object_get_data(G_OBJECT(iter->data),"kernel_row");
gtk_widget_set_size_request(GTK_WIDGET(row->InstallCheck),install_size,-1);
gtk_widget_set_size_request(GTK_WIDGET(row->EnableRadio),enable_size,-1);
gtk_widget_set_size_request(row->NameLabel,name_size,-1);
gtk_widget_set_size_request(row->ModulesLabel,modules_size,-1);
}
g_list_free(list);
}
void yon_kernel_addon_resize(main_window *widgets){
GList *list = gtk_container_get_children(GTK_CONTAINER(widgets->KernelAddonListBox));
GList *iter = list;
// gtk_widget_realize(widgets->KernelListBox);
int install_size=0;
int name_size=0;
int tags_size=0;
int modules_size=0;
gtk_widget_get_preferred_width(widgets->KernelAddonInstallLabel,&install_size,NULL);
gtk_widget_get_preferred_width(widgets->KernelAddonNameLabel,&name_size,NULL);
gtk_widget_get_preferred_width(widgets->KernelAddonModulesLabel,&modules_size,NULL);
for (;iter;iter=iter->next){
kernel_row *row = g_object_get_data(G_OBJECT(iter->data),"kernel_row");
int cur_name_size;
int cur_tags_size;
int cur_modules_size;
gtk_widget_realize(row->NameLabel);
gtk_widget_realize(row->TagsBox);
gtk_widget_realize(row->ModulesLabel);
while (g_main_context_iteration(NULL, FALSE));
gtk_widget_get_preferred_width(row->NameLabel,&cur_name_size,NULL);
gtk_widget_get_preferred_width(row->TagsBox,NULL,&cur_tags_size);
gtk_widget_get_preferred_width(row->ModulesLabel,&cur_modules_size,NULL);
if (name_size<cur_name_size) name_size=cur_name_size;
if (tags_size<cur_tags_size) tags_size=cur_tags_size;
if (modules_size<cur_modules_size) modules_size=cur_modules_size;
}
gtk_widget_set_size_request(GTK_WIDGET(widgets->KernelAddonNameLabel),name_size,-1);
gtk_widget_set_size_request(GTK_WIDGET(widgets->KernelAddonModulesLabel),modules_size,-1);
for (iter = list;iter;iter = iter->next){
kernel_row *row = g_object_get_data(G_OBJECT(iter->data),"kernel_row");
gtk_widget_set_size_request(GTK_WIDGET(row->InstallCheck),install_size,-1);
gtk_widget_set_size_request(row->NameLabel,name_size,-1);
// gtk_widget_set_size_request(row->TagsBox,tags_size,-1);
GList *list = gtk_container_get_children(GTK_CONTAINER(row->TagsBox));
for (GList *iter = list;iter;iter=iter->next){
gtk_widget_set_size_request(GTK_WIDGET(g_object_get_data(G_OBJECT(iter->data),"label")),tags_size,-1);
}
gtk_widget_set_size_request(row->ModulesLabel,modules_size,-1);
}
g_list_free(list);
}
void yon_kernel_setup(main_window *widgets){
@ -150,6 +184,7 @@ void yon_kernel_setup(main_window *widgets){
int size;
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++){
@ -163,6 +198,7 @@ void yon_kernel_setup(main_window *widgets){
char *description = parsed[6];
kernel_row *row = yon_kernel_row_new();
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;
@ -177,4 +213,54 @@ void yon_kernel_setup(main_window *widgets){
yon_char_parsed_free(kernels,size);
}
void yon_kernel_addon_setup(main_window *widgets){
GList *list = gtk_container_get_children(GTK_CONTAINER(widgets->KernelAddonListBox));
GList *iter;
for (iter = list; iter; iter = iter->next){
kernel_row *row = g_object_get_data(G_OBJECT(iter->data),"kernel_row");
if (row){
if (row->name) free(row->name);
if (!yon_char_is_empty(row->modules)) free(row->modules);
free(row);
gtk_widget_destroy(GTK_WIDGET(iter->data));
}
}
g_list_free(list);
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,";");
char *name = parsed[0];
char *modules = yon_char_new(parsed[1]);
char *tags = NULL;
char *package = parsed[2];
char *description = parsed[3];
kernel_row *row = yon_kernel_row_new();
gtk_list_box_insert(GTK_LIST_BOX(widgets->KernelAddonListBox),row->row,-1);
gtk_size_group_add_widget(widgets->KernelSizeGroup,row->TagsBox);
gtk_widget_destroy(row->TagsBox);
gtk_widget_destroy(row->TagsSeparator);
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);
}
yon_kernel_addon_resize(widgets);
yon_char_parsed_free(kernels,size);
}

@ -10,7 +10,8 @@ enum YON_PAGES yon_page_get_next(main_window *widgets, enum YON_PAGES page){
case YON_PAGE_SECTIONS: return yon_sections_get_next_page(widgets); break;
case YON_PAGE_OS_COMPONENTS: return main_config.configure_mode? YON_PAGE_KERNEL : YON_PAGE_INSTALLATION_BEGIN; break;
case YON_PAGE_INSTALLATION_BEGIN: return YON_PAGE_KERNEL; break;
case YON_PAGE_KERNEL: return YON_PAGE_SOFTWARE; break;
case YON_PAGE_KERNEL: return YON_PAGE_KERNEL_ADDON; break;
case YON_PAGE_KERNEL_ADDON: return YON_PAGE_SOFTWARE; break;
case YON_PAGE_SOFTWARE: return YON_PAGE_REGION; break;
case YON_PAGE_REGION: return YON_PAGE_KEYBOARD; break;
case YON_PAGE_KEYBOARD: return YON_PAGE_USERS; break;
@ -40,7 +41,8 @@ enum YON_PAGES yon_page_get_prev(enum YON_PAGES page){
case YON_PAGE_OS_COMPONENTS: return YON_PAGE_SECTIONS; break;
case YON_PAGE_INSTALLATION_BEGIN: return YON_PAGE_SECTIONS; break;
case YON_PAGE_KERNEL: return YON_PAGE_SECTIONS; break;
case YON_PAGE_SOFTWARE: return YON_PAGE_KERNEL; break;
case YON_PAGE_KERNEL_ADDON: return YON_PAGE_KERNEL; break;
case YON_PAGE_SOFTWARE: return YON_PAGE_KERNEL_ADDON; break;
case YON_PAGE_REGION: return YON_PAGE_SOFTWARE; break;
case YON_PAGE_KEYBOARD: return YON_PAGE_REGION; break;
case YON_PAGE_USERS: return YON_PAGE_KEYBOARD; break;

@ -0,0 +1,135 @@
#include "ubinstall-gtk.h"
void on_srartup_services_toggled(GtkWidget *, char *path, main_window *widgets){
GtkTreeIter iter;
int status;
gtk_tree_model_get_iter_from_string(GTK_TREE_MODEL(widgets->StartupList),&iter,path);
gtk_tree_model_get(GTK_TREE_MODEL(widgets->StartupList),&iter,0,&status,-1);
gtk_list_store_set(widgets->StartupList,&iter,0,!status,-1);
}
void on_startup_services_selection_changed(GtkWidget *,main_window *widgets){
GtkTreeIter iter;
GtkTreeModel *model;
if (gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->StartupServicesTree)),&model,&iter)){
int status;
gtk_tree_model_get(model,&iter,4,&status,-1);
if (status){
gtk_widget_set_sensitive(widgets->StartupServicesEditButton,1);
gtk_widget_set_sensitive(widgets->StartupServicesRemoveButton,1);
return;
}
}
gtk_widget_set_sensitive(widgets->StartupServicesEditButton,0);
gtk_widget_set_sensitive(widgets->StartupServicesRemoveButton,0);
}
void on_startup_services_remove(GtkWidget *self,main_window *widgets){
GtkTreeIter iter;
GtkTreeModel *model;
if (gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->StartupServicesTree)),&model,&iter)){
char *unit;
int deletable;
gtk_tree_model_get(model,&iter,2,&unit,4,&deletable,-1);
if (!deletable) return;
dialog_confirmation_data *data = yon_confirmation_dialog_data_new();
data->action_text = SERVICE_REMOVE_CONFIRMATION_LABEL(unit);
data->title = SERVICE_REMOVE_TITLE_LABEL;
if (yon_confirmation_dialog_call(self,data) == GTK_RESPONSE_ACCEPT){
gtk_list_store_remove(widgets->StartupList,&iter);
}
}
}
void yon_startup_services_setup(main_window *widgets){
int size;
config_str services = yon_resource_open_file(services_list_path,&size);
for (int i=1;i<size;i++){
int parsed_size;
config_str parsed = yon_char_parse(services[i],&parsed_size,";");
if (parsed_size&&!yon_char_is_empty(parsed[0])){
GtkTreeIter iter;
gtk_list_store_append(widgets->StartupList,&iter);
gtk_list_store_set(widgets->StartupList,&iter,0,1,1,parsed[0],2,yon_char_return_if_exist(parsed[1],""),3,yon_char_return_if_exist(parsed[2],""),-1);
}
}
}
void on_startup_add_accept(GtkWidget *self, main_window *widgets){
startup_service_window *window = g_object_get_data(G_OBJECT(self),"startup_service_window");
const char *unit = gtk_entry_get_text(GTK_ENTRY(window->UnitEntry));
const char *service = gtk_entry_get_text(GTK_ENTRY(window->ServiceEntry));
const char *description = gtk_entry_get_text(GTK_ENTRY(window->DescriptionEntry));
if (yon_char_is_empty(service)){
yon_ubl_status_box_spawn(GTK_CONTAINER(window->StatusBox),_EMPTY_IMPORTANT_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE);
yon_ubl_status_highlight_incorrect(window->ServiceEntry);
return;
}
GtkTreeIter iter;
gtk_list_store_append(widgets->StartupList,&iter);
gtk_list_store_set(widgets->StartupList,&iter,1,unit,2,service,3,description,4,1,-1);
on_subwindow_close(self);
}
void on_startup_edit_accept(GtkWidget *self, main_window *widgets){
GtkTreeIter iter;
GtkTreeModel *model;
if (gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->StartupServicesTree)),&model,&iter)){
startup_service_window *window = g_object_get_data(G_OBJECT(self),"startup_service_window");
const char *unit = gtk_entry_get_text(GTK_ENTRY(window->UnitEntry));
const char *service = gtk_entry_get_text(GTK_ENTRY(window->ServiceEntry));
const char *description = gtk_entry_get_text(GTK_ENTRY(window->DescriptionEntry));
if (yon_char_is_empty(service)){
yon_ubl_status_box_spawn(GTK_CONTAINER(window->StatusBox),_EMPTY_IMPORTANT_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE);
yon_ubl_status_highlight_incorrect(window->ServiceEntry);
return;
}
gtk_list_store_set(widgets->StartupList,&iter,1,unit,2,service,3,description,4,1,-1);
}
on_subwindow_close(self);
}
startup_service_window *yon_startup_service_window_new(){
startup_service_window *window = new(startup_service_window);
GtkBuilder *builder = gtk_builder_new_from_resource(glade_path_service);
window->Window = yon_gtk_builder_get_widget(builder,"MainWindow");
window->StatusBox = yon_gtk_builder_get_widget(builder,"StatusBox");
window->AcceptButton = yon_gtk_builder_get_widget(builder,"AcceptButton");
window->CancelButton = yon_gtk_builder_get_widget(builder,"CancelButton");
window->UnitEntry = yon_gtk_builder_get_widget(builder,"UnitEntry");
window->ServiceEntry = yon_gtk_builder_get_widget(builder,"ServiceEntry");
window->DescriptionEntry = yon_gtk_builder_get_widget(builder,"DescriptionEntry");
g_signal_connect(G_OBJECT(window->CancelButton),"clicked",G_CALLBACK(on_subwindow_close),NULL);
g_object_set_data(G_OBJECT(window->AcceptButton),"startup_service_window",window);
return window;
}
void on_startup_service_add(GtkWidget *, main_window *widgets){
startup_service_window *window = yon_startup_service_window_new();
yon_gtk_window_setup(GTK_WINDOW(window->Window),GTK_WINDOW(widgets->MainWindow),SERVICE_ADD_TITLE_LABEL,icon_path,"service_add_window");
g_signal_connect(G_OBJECT(window->AcceptButton),"clicked",G_CALLBACK(on_startup_add_accept),widgets);
gtk_widget_show(window->Window);
}
void on_startup_service_edit(GtkWidget *, main_window *widgets){
GtkTreeIter iter;
if (gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->StartupServicesTree)),NULL,&iter)){
char *service, *unit, *description;
int status;
gtk_tree_model_get(GTK_TREE_MODEL(widgets->StartupList),&iter,1,&unit,2,&service,3,&description,4,&status,-1);
if (status){
startup_service_window *window = yon_startup_service_window_new();
yon_gtk_window_setup(GTK_WINDOW(window->Window),GTK_WINDOW(widgets->MainWindow),SERVICE_EDIT_TITLE_LABEL,icon_path,"service_add_window");
g_signal_connect(G_OBJECT(window->AcceptButton),"clicked",G_CALLBACK(on_startup_edit_accept),widgets);
gtk_entry_set_text(GTK_ENTRY(window->UnitEntry),unit);
gtk_entry_set_text(GTK_ENTRY(window->ServiceEntry),service);
gtk_entry_set_text(GTK_ENTRY(window->DescriptionEntry),description);
gtk_widget_show(window->Window);
}
}
}

@ -121,6 +121,7 @@ void yon_switch_page_render(main_window *widgets){
case YON_PAGE_INSTALL_RECOVERY:
case YON_PAGE_INSTALLATION_BEGIN:
case YON_PAGE_KERNEL:
case YON_PAGE_KERNEL_ADDON:
case YON_PAGE_SOFTWARE:
case YON_PAGE_RECOVERY_GRUB_INSTALL:
case YON_PAGE_RECOVERY_GRUB_UPDATE:
@ -193,9 +194,13 @@ void yon_switch_page_render(main_window *widgets){
//
// }
// void on_additional_software_toggled(){
//
// }
void on_additional_software_toggled(GtkWidget *, char *path, main_window *widgets){
GtkTreeIter iter;
int status;
gtk_tree_model_get_iter_from_string(GTK_TREE_MODEL(widgets->AdditionalSoftwareList),&iter,path);
gtk_tree_model_get(GTK_TREE_MODEL(widgets->AdditionalSoftwareList),&iter,0,&status,-1);
gtk_list_store_set(widgets->AdditionalSoftwareList,&iter,0,!status,-1);
}
void on_gparted_open(){
yon_launch_app_with_arguments(open_gparted_command,NULL);
@ -241,7 +246,7 @@ gboolean on_yon_exit(GtkWidget *,GdkEvent*, main_window *widgets){
}
return 0;
return 1;
}
/**yon_main_window_complete(main_window *widgets)
@ -427,13 +432,29 @@ main_window *yon_main_window_complete(){
widgets->PackageInstallationLabel = yon_gtk_builder_get_widget(builder,"PackageInstallationLabel");
widgets->ReadFullLogButton = yon_gtk_builder_get_widget(builder,"ReadFullLogButton");
widgets->KernelListBox = yon_gtk_builder_get_widget(builder,"KernelListBox");
widgets->KernelInstallLabel = yon_gtk_builder_get_widget(builder,"KernelInstallLabel");
widgets->KernelEnableLabel = yon_gtk_builder_get_widget(builder,"KernelEnableLabel");
widgets->KernelNameLabel = yon_gtk_builder_get_widget(builder,"KernelNameLabel");
widgets->KernelTagsLabel = yon_gtk_builder_get_widget(builder,"KernelTagsLabel");
widgets->KernelModulesLabel = yon_gtk_builder_get_widget(builder,"KernelModulesLabel");
widgets->KernelDescriptionLabel = yon_gtk_builder_get_widget(builder,"KernelDescriptionLabel");
widgets->KernelSizeGroup = GTK_SIZE_GROUP(gtk_builder_get_object(builder,"TagsSizeGroup"));
widgets->KernelAddonListBox = yon_gtk_builder_get_widget(builder,"KernelAddonListBox");
widgets->KernelAddonInstallLabel = yon_gtk_builder_get_widget(builder,"KernelAddonInstallLabel");
widgets->KernelAddonNameLabel = yon_gtk_builder_get_widget(builder,"KernelAddonNameLabel");
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->StartupServicesTree = yon_gtk_builder_get_widget(builder,"StartupServicesTree");
widgets->StartupServicesAddButton = yon_gtk_builder_get_widget(builder,"StartupServicesAddButton");
widgets->StartupServicesEditButton = yon_gtk_builder_get_widget(builder,"StartupServicesEditButton");
widgets->StartupServicesRemoveButton = yon_gtk_builder_get_widget(builder,"StartupServicesRemoveButton");
widgets->StartupChosenCell = GTK_CELL_RENDERER(gtk_builder_get_object(builder,"StartupChosenCell"));
widgets->StartupList = GTK_LIST_STORE(gtk_builder_get_object(builder,"StartupList"));
widgets->BootloadTimerSwitch = yon_gtk_builder_get_widget(builder,"BootloadTimerSwitch");
@ -518,7 +539,13 @@ main_window *yon_main_window_complete(){
// gtk_tree_model_filter_set_visible_column(GTK_TREE_MODEL_FILTER(widgets->LayoutsFilter),3);
// g_signal_connect(G_OBJECT(widgets->LanguageCombo),"changed",G_CALLBACK(on_locale_changed),widgets);
// g_signal_connect(G_OBJECT(widgets->AdditionalSoftwareCell),"toggled",G_CALLBACK(on_additional_software_toggled),widgets);
g_signal_connect(G_OBJECT(widgets->AdditionalSoftwareCell),"toggled",G_CALLBACK(on_additional_software_toggled),widgets);
g_signal_connect(G_OBJECT(widgets->StartupChosenCell),"toggled",G_CALLBACK(on_srartup_services_toggled),widgets);
g_signal_connect(G_OBJECT(widgets->StartupServicesTree),"cursor-changed",G_CALLBACK(on_startup_services_selection_changed),widgets);
g_signal_connect(G_OBJECT(widgets->StartupServicesAddButton),"clicked",G_CALLBACK(on_startup_service_add),widgets);
g_signal_connect(G_OBJECT(widgets->StartupServicesEditButton),"clicked",G_CALLBACK(on_startup_service_edit),widgets);
g_signal_connect(G_OBJECT(widgets->StartupServicesRemoveButton),"clicked",G_CALLBACK(on_startup_services_remove),widgets);
g_signal_connect(G_OBJECT(widgets->ManualLayoutRadio),"toggled",G_CALLBACK(yon_gtk_widget_set_sensitive_from_toggle_button),gtk_widget_get_parent(gtk_widget_get_parent(widgets->AddButton)));
@ -691,7 +718,7 @@ main_window *yon_main_window_complete(){
config_str module_parsed = yon_char_parse(parsed[i],&module_size,"|");
if (module_size){
gtk_list_store_append(widgets->AdditionalSoftwareList,&iter);
gtk_list_store_set(widgets->AdditionalSoftwareList,&iter,0,1,1,module_parsed[0],3,module_parsed[1],-1); //2,module_parsed[2]
gtk_list_store_set(widgets->AdditionalSoftwareList,&iter,0,1,1,module_parsed[0],2,module_parsed[1],3,module_parsed[2],-1); //2,module_parsed[2]
yon_char_parsed_free(module_parsed,module_size);
}
}
@ -708,6 +735,8 @@ main_window *yon_main_window_complete(){
// yon_load_proceed(YON_CONFIG_DEFAULT);
// yon_interface_update(widgets);
yon_kernel_setup(widgets);
yon_kernel_addon_setup(widgets);
yon_startup_services_setup(widgets);
}
return 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_service "/com/ublinux/ui/ubinstall-gtk-service-window.glade"
#define CssPath "/com/ublinux/css/ubinstall-gtk.css"
#define config_path yon_char_unite(yon_ubl_user_get_home_directory(),"/.config/",LocaleName,"/",LocaleName,".conf",NULL)
@ -53,6 +54,8 @@
#define additional_software_path "resource:///com/ublinux/csv/modules.csv"
#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 slide_0_path "/com/ublinux/images/slide-0.png"
@ -265,6 +268,7 @@ enum YON_PAGES {
YON_PAGE_OS_COMPONENTS,
YON_PAGE_INSTALLATION_BEGIN,
YON_PAGE_KERNEL,
YON_PAGE_KERNEL_ADDON,
YON_PAGE_SOFTWARE,
YON_PAGE_REGION,
YON_PAGE_KEYBOARD,
@ -494,10 +498,28 @@ typedef struct {
GtkWidget *HostnameSensitiveCheck;
GtkWidget *KernelListBox;
GtkWidget *KernelInstallLabel;
GtkWidget *KernelEnableLabel;
GtkWidget *KernelNameLabel;
GtkWidget *KernelTagsLabel;
GtkWidget *KernelModulesLabel;
GtkWidget *KernelDescriptionLabel;
GtkSizeGroup *KernelSizeGroup;
GtkWidget *KernelAddonListBox;
GtkWidget *KernelAddonInstallLabel;
GtkWidget *KernelAddonNameLabel;
GtkWidget *KernelAddonModulesLabel;
GtkWidget *KernelAddonDescriptionLabel;
GtkWidget *OSSoftwareTree;
GtkListStore *OSSoftwareList;
GtkWidget *StartupServicesTree;
GtkWidget *StartupServicesAddButton;
GtkWidget *StartupServicesEditButton;
GtkWidget *StartupServicesRemoveButton;
GtkCellRenderer *StartupChosenCell;
GtkListStore *StartupList;
GtkWidget *BootloadTimerSwitch;
@ -685,7 +707,9 @@ typedef struct {
GtkWidget *RowBox;
GtkWidget *InstallCheck;
GtkWidget *EnableRadio;
GtkWidget *EnableSeparator;
GtkWidget *TagsBox;
GtkWidget *TagsSeparator;
GtkWidget *NameLabel;
GtkWidget *DescriptionLabel;
GtkWidget *ModulesLabel;
@ -695,6 +719,16 @@ typedef struct {
char *package;
} kernel_row;
typedef struct {
GtkWidget *Window;
GtkWidget *StatusBox;
GtkWidget *UnitEntry;
GtkWidget *ServiceEntry;
GtkWidget *DescriptionEntry;
GtkWidget *CancelButton;
GtkWidget *AcceptButton;
} startup_service_window;
void config_init();
main_window *yon_main_window_complete();
ubinstall_language_window *yon_ubinstall_language_new();
@ -822,4 +856,17 @@ void yon_kernel_row_setup(kernel_row *row, char *name, char *modules,char *packa
void yon_kernel_row_setup_tags(kernel_row *row, char *tags);
int yon_tag_add(GtkBox *target,char *tag_label, char *tag_style, char *icon_name);
kernel_row *yon_kernel_row_new();
void yon_kernel_resize(main_window *widgets);
void yon_kernel_resize(main_window *widgets);
void on_additional_software_toggled(GtkWidget *, char *path, main_window *widgets);
void yon_kernel_addon_setup(main_window *widgets);
void yon_kernel_addon_resize(main_window *widgets);
void yon_startup_services_setup(main_window *widgets);
void on_srartup_services_toggled(GtkWidget *, char *path, main_window *widgets);
void on_startup_service_edit(GtkWidget *, main_window *widgets);
void on_startup_service_add(GtkWidget *, main_window *widgets);
startup_service_window *yon_startup_service_window_new();
void on_startup_edit_accept(GtkWidget *, main_window *widgets);
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);

@ -195,4 +195,9 @@
#define RECOMENDED_TAG _("Recomended")
#define HARDENED_TAG _("Hardened")
#define REALTIME_TAG _("RealTime")
#define STABLE_TAG _("Stable")
#define STABLE_TAG _("Stable")
#define SERVICE_REMOVE_CONFIRMATION_LABEL(target) yon_char_unite(_("Are you sure want to remove service")," <b>",target,"</b> ",_("from the list"),"?",NULL)
#define SERVICE_ADD_TITLE_LABEL _("Add service")
#define SERVICE_EDIT_TITLE_LABEL _("Edit service")
#define SERVICE_REMOVE_TITLE_LABEL _("Remove service")

@ -13,7 +13,7 @@
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="margin-bottom">5</property>
<property name="spacing">15</property>
<property name="spacing">7</property>
<child>
<object class="GtkCheckButton" id="InstallCheck">
<property name="visible">True</property>
@ -31,11 +31,23 @@
<property name="position">0</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">1</property>
</packing>
</child>
<child>
<object class="GtkRadioButton" id="EnableRadio">
<property name="visible">True</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>
@ -46,38 +58,44 @@
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
<property name="position">2</property>
</packing>
</child>
<child>
<object class="GtkBox">
<object class="GtkSeparator" id="EnableSeparator">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="valign">center</property>
<property name="margin-start">5</property>
<property name="margin-top">5</property>
<property name="orientation">vertical</property>
<property name="spacing">1</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="use-markup">True</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">0</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">2</property>
<property name="position">3</property>
</packing>
</child>
<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="use-markup">True</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">4</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">5</property>
</packing>
</child>
<child>
@ -97,7 +115,18 @@
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">3</property>
<property name="position">6</property>
</packing>
</child>
<child>
<object class="GtkSeparator" id="TagsSeparator">
<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">7</property>
</packing>
</child>
<child>
@ -111,7 +140,7 @@
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">4</property>
<property name="position">8</property>
</packing>
</child>
<child>
@ -125,7 +154,18 @@
<property name="expand">True</property>
<property name="fill">True</property>
<property name="pack-type">end</property>
<property name="position">6</property>
<property name="position">9</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">10</property>
</packing>
</child>
<style>

@ -0,0 +1,219 @@
<?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="GtkImage" id="image1">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="icon-name">com.ublinux.libublsettingsui-gtk3.cancel-symbolic</property>
</object>
<object class="GtkImage" id="image2">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="icon-name">com.ublinux.libublsettingsui-gtk3.accept-symbolic</property>
</object>
<object class="GtkWindow" id="MainWindow">
<property name="width-request">500</property>
<property name="height-request">250</property>
<property name="can-focus">False</property>
<property name="modal">True</property>
<child>
<object class="GtkBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="orientation">vertical</property>
<child>
<object class="GtkBox" id="StatusBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="orientation">vertical</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="GtkBox">
<property name="visible">True</property>
<property name="can-focus">False</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>
<property name="orientation">vertical</property>
<property name="spacing">5</property>
<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="label3">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">Unit:</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="UnitEntry">
<property name="visible">True</property>
<property name="can-focus">True</property>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
</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="label2">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">Service:</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="ServiceEntry">
<property name="visible">True</property>
<property name="can-focus">True</property>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">1</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="label1">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">Description:</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="DescriptionEntry">
<property name="visible">True</property>
<property name="can-focus">True</property>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">1</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">1</property>
</packing>
</child>
</object>
</child>
<child type="titlebar">
<object class="GtkHeaderBar">
<property name="visible">True</property>
<property name="can-focus">False</property>
<child type="title">
<object class="GtkLabel" id="headerTopic">
<property name="visible">True</property>
<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-bottom">2</property>
<property name="label" translatable="yes">UBLinux installation</property>
<attributes>
<attribute name="weight" value="bold"/>
</attributes>
</object>
</child>
<child>
<object class="GtkButton" id="CancelButton">
<property name="label" translatable="yes">Cancel</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
<property name="image">image1</property>
</object>
</child>
<child>
<object class="GtkButton" id="AcceptButton">
<property name="label" translatable="yes">Accept</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
<property name="image">image2</property>
</object>
<packing>
<property name="pack-type">end</property>
<property name="position">1</property>
</packing>
</child>
</object>
</child>
</object>
<object class="GtkSizeGroup">
<widgets>
<widget name="label1"/>
<widget name="label2"/>
<widget name="label3"/>
</widgets>
</object>
</interface>

@ -5,6 +5,11 @@
.noborder {
border:none;
}
.borders *{
border-width:0.5px;
border-style: solid;
}
.nobackground {
background:transparent;
}
@ -302,4 +307,11 @@ treeview row:nth-child(even) { background-color: #ffffff; }
border-color: #777777;
background-color:#999999
}
.tableborderbottom {
border-bottom:0.5px;
border-style: solid;
border-color: @theme_fg_color;
}

@ -134,8 +134,11 @@
<column type="gchararray"/>
<!-- column-name Description -->
<column type="gchararray"/>
<!-- column-name Configurable -->
<column type="gboolean"/>
</columns>
</object>
<object class="GtkSizeGroup" id="TagsSizeGroup"/>
<object class="GtkImage" id="image1">
<property name="visible">True</property>
<property name="can-focus">False</property>
@ -206,6 +209,21 @@
<property name="can-focus">False</property>
<property name="icon-name">com.ublinux.libublsettingsui-gtk3.edit-symbolic</property>
</object>
<object class="GtkImage" id="image22">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="icon-name">com.ublinux.libublsettingsui-gtk3.trash-symbolic</property>
</object>
<object class="GtkImage" id="image23">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="icon-name">com.ublinux.libublsettingsui-gtk3.edit-symbolic</property>
</object>
<object class="GtkImage" id="image24">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="icon-name">com.ublinux.libublsettingsui-gtk3.increase-symbolic</property>
</object>
<object class="GtkImage" id="image3">
<property name="visible">True</property>
<property name="can-focus">False</property>
@ -1515,26 +1533,196 @@ and help you install UBLinux on your computer</property>
<property name="left-padding">5</property>
<property name="right-padding">5</property>
<child>
<object class="GtkScrolledWindow">
<object class="GtkBox">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="shadow-type">in</property>
<property name="can-focus">False</property>
<property name="orientation">vertical</property>
<child>
<object class="GtkViewport">
<object class="GtkScrolledWindow">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="can-focus">True</property>
<property name="shadow-type">in</property>
<child>
<object class="GtkListBox" id="KernelListBox">
<object class="GtkViewport">
<property name="visible">True</property>
<property name="can-focus">False</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>
<property name="selection-mode">none</property>
<child>
<object class="GtkBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="orientation">vertical</property>
<child>
<object class="GtkBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="margin-start">2</property>
<property name="spacing">7</property>
<child>
<object class="GtkLabel" id="KernelInstallLabel">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">Install</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="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">1</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="KernelEnableLabel">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">Enable</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="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">3</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="KernelNameLabel">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">Name</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">4</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">5</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="KernelTagsLabel">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">Tags</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">6</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">7</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="KernelModulesLabel">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">Modules</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">8</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">9</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="KernelDescriptionLabel">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">Description</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">10</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkListBox" id="KernelListBox">
<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>
</object>
</child>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
</object>
</child>
@ -1551,7 +1739,7 @@ and help you install UBLinux on your computer</property>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">1</property>
<property name="position">2</property>
</packing>
</child>
</object>
@ -1570,6 +1758,224 @@ and help you install UBLinux on your computer</property>
<property name="tab-fill">False</property>
</packing>
</child>
<child>
<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="GtkLabel">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">Choose system kernel</property>
<attributes>
<attribute name="weight" value="bold"/>
<attribute name="foreground" value="#33722f2e7a06"/>
<attribute name="size" value="15360"/>
</attributes>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkFrame">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label-xalign">0.019999999552965164</property>
<property name="shadow-type">in</property>
<child>
<object class="GtkAlignment">
<property name="visible">True</property>
<property name="can-focus">False</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>
<object class="GtkBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="orientation">vertical</property>
<child>
<object class="GtkScrolledWindow">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="shadow-type">in</property>
<child>
<object class="GtkViewport">
<property name="visible">True</property>
<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="GtkBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="orientation">vertical</property>
<child>
<object class="GtkBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="margin-left">2</property>
<property name="margin-start">2</property>
<property name="spacing">7</property>
<child>
<object class="GtkLabel" id="KernelAddonInstallLabel">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">Install</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="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">3</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="KernelAddonNameLabel">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">Name</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">4</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">7</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="KernelAddonModulesLabel">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">Modules</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">8</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">9</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="KernelAddonDescriptionLabel">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">Description</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">10</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkListBox" id="KernelAddonListBox">
<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>
</object>
</child>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
</object>
</child>
</object>
</child>
<child type="label">
<object class="GtkLabel">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">Selecting additional software to install from the repository via the Internet</property>
</object>
</child>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">2</property>
</packing>
</child>
</object>
<packing>
<property name="position">6</property>
</packing>
</child>
<child type="tab">
<object class="GtkLabel">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">Kernel addons</property>
</object>
<packing>
<property name="position">6</property>
<property name="tab-fill">False</property>
</packing>
</child>
<child>
<object class="GtkBox">
<property name="visible">True</property>
@ -1624,7 +2030,7 @@ and help you install UBLinux on your computer</property>
<child>
<object class="GtkTreeViewColumn">
<child>
<object class="GtkCellRendererToggle" id="AdditionalSoftwareCell2"/>
<object class="GtkCellRendererToggle" id="AdditionalSoftwareCell"/>
<attributes>
<attribute name="active">0</attribute>
</attributes>
@ -1686,7 +2092,7 @@ and help you install UBLinux on your computer</property>
</child>
</object>
<packing>
<property name="position">6</property>
<property name="position">7</property>
</packing>
</child>
<child type="tab">
@ -1696,7 +2102,7 @@ and help you install UBLinux on your computer</property>
<property name="label" translatable="yes">Additional components</property>
</object>
<packing>
<property name="position">6</property>
<property name="position">7</property>
<property name="tab-fill">False</property>
</packing>
</child>
@ -2001,7 +2407,7 @@ and help you install UBLinux on your computer</property>
</child>
</object>
<packing>
<property name="position">7</property>
<property name="position">8</property>
</packing>
</child>
<child type="tab">
@ -2011,7 +2417,7 @@ and help you install UBLinux on your computer</property>
<property name="label" translatable="yes">Region</property>
</object>
<packing>
<property name="position">7</property>
<property name="position">8</property>
<property name="tab-fill">False</property>
</packing>
</child>
@ -2399,7 +2805,7 @@ and help you install UBLinux on your computer</property>
</child>
</object>
<packing>
<property name="position">8</property>
<property name="position">9</property>
</packing>
</child>
<child type="tab">
@ -2409,7 +2815,7 @@ and help you install UBLinux on your computer</property>
<property name="label" translatable="yes">Keyboard</property>
</object>
<packing>
<property name="position">8</property>
<property name="position">9</property>
<property name="tab-fill">False</property>
</packing>
</child>
@ -2752,7 +3158,7 @@ and help you install UBLinux on your computer</property>
</child>
</object>
<packing>
<property name="position">9</property>
<property name="position">10</property>
</packing>
</child>
<child type="tab">
@ -2762,7 +3168,7 @@ and help you install UBLinux on your computer</property>
<property name="label" translatable="yes">Users</property>
</object>
<packing>
<property name="position">9</property>
<property name="position">10</property>
<property name="tab-fill">False</property>
</packing>
</child>
@ -2812,6 +3218,65 @@ and help you install UBLinux on your computer</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="GtkButton" id="StartupServicesAddButton">
<property name="label" translatable="yes">Add</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
<property name="tooltip-text" translatable="yes">Add service</property>
<property name="image">image24</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkButton" id="StartupServicesEditButton">
<property name="label" translatable="yes">Edit</property>
<property name="visible">True</property>
<property name="sensitive">False</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
<property name="tooltip-text" translatable="yes">Edit service</property>
<property name="image">image23</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkButton" id="StartupServicesRemoveButton">
<property name="label" translatable="yes">Remove</property>
<property name="visible">True</property>
<property name="sensitive">False</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
<property name="tooltip-text" translatable="yes">Remove service</property>
<property name="image">image22</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">False</property>
<property name="fill">True</property>
<property name="position">2</property>
</packing>
</child>
<child>
<object class="GtkScrolledWindow">
<property name="visible">True</property>
@ -2822,6 +3287,7 @@ and help you install UBLinux on your computer</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="model">StartupList</property>
<property name="enable-grid-lines">both</property>
<child internal-child="selection">
<object class="GtkTreeSelection"/>
</child>
@ -2829,7 +3295,7 @@ and help you install UBLinux on your computer</property>
<object class="GtkTreeViewColumn">
<property name="title" translatable="yes">Autostart</property>
<child>
<object class="GtkCellRendererToggle"/>
<object class="GtkCellRendererToggle" id="StartupChosenCell"/>
<attributes>
<attribute name="active">0</attribute>
</attributes>
@ -2862,7 +3328,10 @@ and help you install UBLinux on your computer</property>
<object class="GtkTreeViewColumn">
<property name="title" translatable="yes">Description</property>
<child>
<object class="GtkCellRendererText"/>
<object class="GtkCellRendererText">
<property name="wrap-mode">word</property>
<property name="wrap-width">450</property>
</object>
<attributes>
<attribute name="text">3</attribute>
</attributes>
@ -2875,12 +3344,12 @@ and help you install UBLinux on your computer</property>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">2</property>
<property name="position">3</property>
</packing>
</child>
</object>
<packing>
<property name="position">10</property>
<property name="position">11</property>
</packing>
</child>
<child type="tab">
@ -2890,7 +3359,7 @@ and help you install UBLinux on your computer</property>
<property name="label" translatable="yes">Startup configuration</property>
</object>
<packing>
<property name="position">10</property>
<property name="position">11</property>
<property name="tab-fill">False</property>
</packing>
</child>
@ -3239,7 +3708,7 @@ and help you install UBLinux on your computer</property>
</child>
</object>
<packing>
<property name="position">11</property>
<property name="position">12</property>
</packing>
</child>
<child type="tab">
@ -3249,7 +3718,7 @@ and help you install UBLinux on your computer</property>
<property name="label" translatable="yes">Bootloader</property>
</object>
<packing>
<property name="position">11</property>
<property name="position">12</property>
<property name="tab-fill">False</property>
</packing>
</child>
@ -3581,7 +4050,7 @@ and help you install UBLinux on your computer</property>
</child>
</object>
<packing>
<property name="position">12</property>
<property name="position">13</property>
</packing>
</child>
<child type="tab">
@ -3591,7 +4060,7 @@ and help you install UBLinux on your computer</property>
<property name="label" translatable="yes">Network</property>
</object>
<packing>
<property name="position">12</property>
<property name="position">13</property>
<property name="tab-fill">False</property>
</packing>
</child>
@ -3631,7 +4100,7 @@ and help you install UBLinux on your computer</property>
</child>
</object>
<packing>
<property name="position">13</property>
<property name="position">14</property>
</packing>
</child>
<child type="tab">
@ -3641,7 +4110,7 @@ and help you install UBLinux on your computer</property>
<property name="label" translatable="yes">Installation process</property>
</object>
<packing>
<property name="position">13</property>
<property name="position">14</property>
<property name="tab-fill">False</property>
</packing>
</child>
@ -3718,7 +4187,7 @@ or continue working in the UBLinux Live environment.</property>
</child>
</object>
<packing>
<property name="position">14</property>
<property name="position">15</property>
</packing>
</child>
<child type="tab">
@ -3728,7 +4197,7 @@ or continue working in the UBLinux Live environment.</property>
<property name="label" translatable="yes">Completion</property>
</object>
<packing>
<property name="position">14</property>
<property name="position">15</property>
<property name="tab-fill">False</property>
</packing>
</child>
@ -3803,7 +4272,7 @@ or continue working in the UBLinux Live environment.</property>
</child>
</object>
<packing>
<property name="position">15</property>
<property name="position">16</property>
</packing>
</child>
<child type="tab">
@ -3813,7 +4282,7 @@ or continue working in the UBLinux Live environment.</property>
<property name="label" translatable="yes">Completed</property>
</object>
<packing>
<property name="position">15</property>
<property name="position">16</property>
<property name="tab-fill">False</property>
</packing>
</child>
@ -3888,7 +4357,7 @@ or continue working in the UBLinux Live environment.</property>
</child>
</object>
<packing>
<property name="position">16</property>
<property name="position">17</property>
</packing>
</child>
<child type="tab">
@ -3898,7 +4367,7 @@ or continue working in the UBLinux Live environment.</property>
<property name="label" translatable="yes">Configuration error</property>
</object>
<packing>
<property name="position">16</property>
<property name="position">17</property>
<property name="tab-fill">False</property>
</packing>
</child>
@ -3973,7 +4442,7 @@ or continue working in the UBLinux Live environment.</property>
</child>
</object>
<packing>
<property name="position">17</property>
<property name="position">18</property>
</packing>
</child>
<child type="tab">
@ -3983,7 +4452,7 @@ or continue working in the UBLinux Live environment.</property>
<property name="label" translatable="yes">Configuration end</property>
</object>
<packing>
<property name="position">17</property>
<property name="position">18</property>
<property name="tab-fill">False</property>
</packing>
</child>
@ -4058,7 +4527,7 @@ or continue working in the UBLinux Live environment.</property>
</child>
</object>
<packing>
<property name="position">18</property>
<property name="position">19</property>
</packing>
</child>
<child type="tab">
@ -4068,7 +4537,7 @@ or continue working in the UBLinux Live environment.</property>
<property name="label" translatable="yes">Configuration saved</property>
</object>
<packing>
<property name="position">18</property>
<property name="position">19</property>
<property name="tab-fill">False</property>
</packing>
</child>
@ -4512,7 +4981,7 @@ or continue working in the UBLinux Live environment.</property>
</child>
</object>
<packing>
<property name="position">19</property>
<property name="position">20</property>
</packing>
</child>
<child type="tab">
@ -4522,7 +4991,7 @@ or continue working in the UBLinux Live environment.</property>
<property name="label" translatable="yes">Common Installation</property>
</object>
<packing>
<property name="position">19</property>
<property name="position">20</property>
<property name="tab-fill">False</property>
</packing>
</child>
@ -5191,7 +5660,7 @@ installed.</property>
</child>
</object>
<packing>
<property name="position">20</property>
<property name="position">21</property>
</packing>
</child>
<child type="tab">
@ -5201,7 +5670,7 @@ installed.</property>
<property name="label" translatable="yes">Installation next to system</property>
</object>
<packing>
<property name="position">20</property>
<property name="position">21</property>
<property name="tab-fill">False</property>
</packing>
</child>
@ -5828,7 +6297,7 @@ installed.</property>
</child>
</object>
<packing>
<property name="position">21</property>
<property name="position">22</property>
</packing>
</child>
<child type="tab">
@ -5838,7 +6307,7 @@ installed.</property>
<property name="label" translatable="yes">Installation on same partition</property>
</object>
<packing>
<property name="position">21</property>
<property name="position">22</property>
<property name="tab-fill">False</property>
</packing>
</child>
@ -6689,7 +7158,7 @@ separately into the selected partition.</property>
</child>
</object>
<packing>
<property name="position">22</property>
<property name="position">23</property>
</packing>
</child>
<child type="tab">
@ -6699,7 +7168,7 @@ separately into the selected partition.</property>
<property name="label" translatable="yes">Advanced section</property>
</object>
<packing>
<property name="position">22</property>
<property name="position">23</property>
<property name="tab-fill">False</property>
</packing>
</child>
@ -7165,7 +7634,7 @@ separately into the selected partition.</property>
</child>
</object>
<packing>
<property name="position">23</property>
<property name="position">24</property>
</packing>
</child>
<child type="tab">
@ -7175,7 +7644,7 @@ separately into the selected partition.</property>
<property name="label" translatable="yes">Recovery section</property>
</object>
<packing>
<property name="position">23</property>
<property name="position">24</property>
<property name="tab-fill">False</property>
</packing>
</child>
@ -7546,7 +8015,7 @@ separately into the selected partition.</property>
</child>
</object>
<packing>
<property name="position">24</property>
<property name="position">25</property>
</packing>
</child>
<child type="tab">
@ -7556,7 +8025,7 @@ separately into the selected partition.</property>
<property name="label" translatable="yes">GRUB install</property>
</object>
<packing>
<property name="position">24</property>
<property name="position">25</property>
<property name="tab-fill">False</property>
</packing>
</child>
@ -7914,7 +8383,7 @@ separately into the selected partition.</property>
</child>
</object>
<packing>
<property name="position">25</property>
<property name="position">26</property>
</packing>
</child>
<child type="tab">
@ -7924,7 +8393,7 @@ separately into the selected partition.</property>
<property name="label" translatable="yes">GRUB update</property>
</object>
<packing>
<property name="position">25</property>
<property name="position">26</property>
<property name="tab-fill">False</property>
</packing>
</child>
@ -8641,7 +9110,7 @@ separately into the selected partition.</property>
</child>
</object>
<packing>
<property name="position">26</property>
<property name="position">27</property>
</packing>
</child>
<child type="tab">
@ -8651,7 +9120,7 @@ separately into the selected partition.</property>
<property name="label" translatable="yes">OS only</property>
</object>
<packing>
<property name="position">26</property>
<property name="position">27</property>
<property name="tab-fill">False</property>
</packing>
</child>
@ -9372,7 +9841,7 @@ separately into the selected partition.</property>
</child>
</object>
<packing>
<property name="position">27</property>
<property name="position">28</property>
</packing>
</child>
<child type="tab">
@ -9382,7 +9851,7 @@ separately into the selected partition.</property>
<property name="label" translatable="yes">User data only</property>
</object>
<packing>
<property name="position">27</property>
<property name="position">28</property>
<property name="tab-fill">False</property>
</packing>
</child>

Loading…
Cancel
Save