Kernel addon slide remake

pull/160/head
parent da8c28ebd9
commit 8e414300f9

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

@ -1188,3 +1188,17 @@ msgstr ""
#: source/ubl-strings.h:331
msgid "Repeating values"
msgstr ""
#: source/ubl-strings.h:331
msgid "Package information"
msgstr ""
#: source/ubl-strings.h:331
msgid "<i><b>Package:</b></i>"
msgstr ""
#: source/ubl-strings.h:331
msgid "<i><b>Module:</b></i>"
msgstr ""

@ -3027,4 +3027,16 @@ msgstr "Цюрих"
#: source/ubl-strings.h:331
msgid "Repeating values"
msgstr "Повторяющиеся значения"
msgstr "Повторяющиеся значения"
#: source/ubl-strings.h:331
msgid "Package information"
msgstr "Информация о пакете"
#: source/ubl-strings.h:331
msgid "<i><b>Package:</b></i>"
msgstr "<i><b>Пакет:</b></i>"
#: source/ubl-strings.h:331
msgid "<i><b>Module:</b></i>"
msgstr "<i><b>Модуль:</b></i>"

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

@ -232,37 +232,37 @@ void yon_os_components_init(main_window *widgets){
}
}
int yon_software_save(main_window *widgets){
GtkTreeIter iter;
GtkTreeModel *model = GTK_TREE_MODEL(widgets->AdditionalSoftwareList);
int size = 0;
config_str modules = NULL;
for_iter(model,&iter){
char *target;
int status;
gtk_tree_model_get(model,&iter,0,&status,1,&target,-1);
if (status){
yon_char_parsed_add_or_create_if_exists(modules,&size,target);
}
}
if (size){
char *final = yon_char_parsed_to_string(modules,size,",");
char *parameter = config(modules_extra_parameter);
char *parameter_new = yon_char_unite(!yon_char_is_empty(parameter)?parameter:"",!yon_char_is_empty(parameter)?",":"",final,NULL);
yon_config_register(modules_extra_parameter,modules_extra_parameter_command,parameter_new);
free(parameter_new);
}
if (!main_config.configure_mode){
int size;
config_str parameters = yon_config_get_save_parameters_by_key(&size,modules_extra_parameter,NULL);
if (parameters){
char *command_parameters = yon_char_parsed_to_string(parameters,size," -- ");
char *command = yon_char_unite(ubconfig_dull_command,"--target system ",command_parameters,NULL);
if (!system(yon_debug_output("%s\n",command))){}
free(command);
yon_char_parsed_free(parameters,size);
}
}
int yon_software_save(main_window *){
// GtkTreeIter iter;
// GtkTreeModel *model = GTK_TREE_MODEL(widgets->AdditionalSoftwareList);
// int size = 0;
// config_str modules = NULL;
// for_iter(model,&iter){
// char *target;
// int status;
// gtk_tree_model_get(model,&iter,0,&status,1,&target,-1);
// if (status){
// yon_char_parsed_add_or_create_if_exists(modules,&size,target);
// }
// }
// if (size){
// char *final = yon_char_parsed_to_string(modules,size,",");
// char *parameter = config(modules_extra_parameter);
// char *parameter_new = yon_char_unite(!yon_char_is_empty(parameter)?parameter:"",!yon_char_is_empty(parameter)?",":"",final,NULL);
// yon_config_register(modules_extra_parameter,modules_extra_parameter_command,parameter_new);
// free(parameter_new);
// }
// if (!main_config.configure_mode){
// int size;
// config_str parameters = yon_config_get_save_parameters_by_key(&size,modules_extra_parameter,NULL);
// if (parameters){
// char *command_parameters = yon_char_parsed_to_string(parameters,size," -- ");
// char *command = yon_char_unite(ubconfig_dull_command,"--target system ",command_parameters,NULL);
// if (!system(yon_debug_output("%s\n",command))){}
// free(command);
// yon_char_parsed_free(parameters,size);
// }
// }
return 1;
}

@ -97,10 +97,10 @@ 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);
char *description_full = yon_char_new(description);
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);
config_str description_wrapped = yon_char_wrap_to_lines(description_full,3,&size);
description_full = yon_char_parsed_to_string(description_wrapped,size,"\n");
yon_char_parsed_free(description_wrapped,size);
}
@ -154,9 +154,6 @@ void yon_kernel_addon_resize(main_window *widgets){
int install_size=0;
int name_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");
@ -168,8 +165,6 @@ void yon_kernel_addon_resize(main_window *widgets){
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->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);
@ -241,11 +236,110 @@ void yon_kernel_setup(main_window *widgets){
yon_char_parsed_free(modules_parsed,modules_size);
}
void on_kernel_addon_install_enabled(GtkWidget *, kernel_addon_row *row){
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);
}
}
void on_kernel_addon_info(GtkLabel *self){
yon_window *window = yon_window_new();
yon_gtk_window_setup(GTK_WINDOW(window->Window),NULL,TITLE_LABEL,icon_path,"info-label");
char *package=NULL;
package = yon_char_new(gtk_label_get_text(self));
int size;
if (strstr(package,",")){
char *temp = yon_char_replace(package,","," ");
free(package);
package = temp;
}
GtkWidget *label = NULL;
config_str info = yon_config_load(get_package_info_command(package),&size);
if (size!=-1){
char *final_text = yon_char_parsed_to_string(info,size,"");
label = gtk_label_new(final_text);
gtk_widget_show(label);
gtk_box_pack_start(GTK_BOX(window->MainBox),label,0,0,0);
free(final_text);
} else {
label = gtk_label_new(PACKAGE_NOT_FOUND_LABEL);
gtk_widget_show(label);
gtk_box_pack_start(GTK_BOX(window->MainBox),label,0,0,0);
}
gtk_label_set_xalign(GTK_LABEL(label),0);
gtk_widget_show(window->Window);
}
kernel_addon_row *yon_kernel_addon_row_new(){
kernel_addon_row *row = new(kernel_addon_row);
GtkBuilder *builder = gtk_builder_new_from_resource(glade_path_kernel_addon_row);
row->RowBox = yon_gtk_builder_get_widget(builder,"TableRow");
row->InstallCheck = yon_gtk_builder_get_widget(builder,"InstallCheck");
row->NameLabel = yon_gtk_builder_get_widget(builder,"NameLabel");
row->ModuleLabel = yon_gtk_builder_get_widget(builder,"ModuleLabel");
row->PackageLabel = yon_gtk_builder_get_widget(builder,"PackageLabel");
row->DescriptionLabel = yon_gtk_builder_get_widget(builder,"DescriptionLabel");
row->name=NULL;
row->modules=NULL;
row->package=NULL;
g_signal_connect(G_OBJECT(row->InstallCheck),"toggled",G_CALLBACK(on_kernel_addon_install_enabled),row);
g_signal_connect(G_OBJECT(row->ModuleLabel),"activate-link",G_CALLBACK(on_kernel_addon_info),NULL);
g_signal_connect(G_OBJECT(row->PackageLabel),"activate-link",G_CALLBACK(on_kernel_addon_info),NULL);
row->row = gtk_list_box_row_new();
gtk_container_add(GTK_CONTAINER(row->row),row->RowBox);
gtk_widget_show(row->row);
g_object_set_data(G_OBJECT(row->InstallCheck),"kernel_row",row);
g_object_set_data(G_OBJECT(row->row),"kernel_row",row);
return row;
}
void yon_kernel_addon_row_setup(kernel_addon_row *row, char *name, char *modules,char *package, char *description){
row->name = yon_char_new(name);
row->modules = yon_char_new(modules);
row->package = yon_char_new(package);
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);
}
char *package_label = NULL;
if (!yon_char_is_empty(row->modules)){
package_label = yon_char_unite("<i><a href=\"\">",row->modules,"</a></i>",NULL);
gtk_label_set_markup(GTK_LABEL(row->PackageLabel),package_label);
} else {
gtk_widget_hide(gtk_widget_get_parent(row->PackageLabel));
}
char *module_label = NULL;
if (!yon_char_is_empty(row->package)){
module_label = yon_char_unite("<i><a href=\"\">",row->package,"</a></i>",NULL);
gtk_label_set_markup(GTK_LABEL(row->ModuleLabel),module_label);
} else {
gtk_widget_hide(gtk_widget_get_parent(row->ModuleLabel));
}
gtk_label_set_label(GTK_LABEL(row->NameLabel),_(name));
gtk_label_set_label(GTK_LABEL(row->DescriptionLabel),description_full);
free(description_full);
}
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");
kernel_addon_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);
@ -271,26 +365,20 @@ void yon_kernel_addon_setup(main_window *widgets){
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();
kernel_addon_row *row = yon_kernel_addon_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);
yon_kernel_row_setup(row,name,modules,package,tags,description);
yon_kernel_addon_row_setup(row,name,modules,package,description);
if (yon_char_parsed_check_exist(modules_parsed,modules_size,parsed[1])>-1){
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(row->InstallCheck),1);
} else {
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(row->InstallCheck),0);
}
yon_char_parsed_free(parsed,parsed_size);
// yon_char_parsed_free(parsed,parsed_size);
}
yon_kernel_addon_resize(widgets);

@ -574,12 +574,12 @@ void config_init(){
// void *on_setup_system_configuration(void *data);
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_additional_software_toggled(GtkWidget *, char *, main_window *){
// 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(){
@ -975,9 +975,7 @@ void yon_main_window_create(main_window *widgets){
widgets->KeyboardBox = yon_gtk_builder_get_widget(builder,"KeyboardBox");
widgets->KeyboardLayoutChosenCell = GTK_CELL_RENDERER(gtk_builder_get_object(builder,"KeyboardLayoutChosenCell"));
widgets->AdditionalSoftwareList = GTK_LIST_STORE(gtk_builder_get_object(builder,"AdditionalSoftwareList"));
widgets->AdditionalSoftwareTree = yon_gtk_builder_get_widget(builder,"AdditionalSoftwareTree");
widgets->AdditionalSoftwareCell = GTK_CELL_RENDERER(gtk_builder_get_object(builder,"AdditionalSoftwareCell"));
widgets->AdditionalComponentsList = yon_gtk_builder_get_widget(builder,"AdditionalComponentsList");
widgets->InstallationProgress = yon_gtk_builder_get_widget(builder,"InstallationProgress");
@ -1113,7 +1111,6 @@ void yon_main_window_create(main_window *widgets){
g_signal_connect(G_OBJECT(widgets->LanguagesTree),"cursor-changed",G_CALLBACK(on_locale_changed),widgets);
g_signal_connect(G_OBJECT(widgets->CountryLanguagesTree),"row-activated",G_CALLBACK(on_installer_language_changed),widgets);
// 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->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);

@ -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_kernel_addon_row "/com/ublinux/ui/ubinstall-gtk-kernel-addon-row.glade"
#define glade_path_os_row "/com/ublinux/ui/ubinstall-gtk-os-row.glade"
#define glade_path_service "/com/ublinux/ui/ubinstall-gtk-service-window.glade"
#define glade_path_bootloader_user "/com/ublinux/ui/ubinstall-gtk-bootloader-user.glade"
@ -274,6 +275,8 @@ layout && /description:/ {\
#define languages_command "while IFS= read -ru3 SELECT_LOCALE; do SELECT_LOCALE=\"${SELECT_LOCALE% *}\"; [[ $(< /usr/share/i18n/locales/${SELECT_LOCALE%.*}) =~ (\"language\"[[:blank:]]*\\\"([^\\\"]*)\\\".*\"territory\"[[:blank:]]*\\\"([^\\\"]*)\\\".*\"country_name\"[[:blank:]]*\\\"([^\\\"]*)\\\".*\"lang_name\"[[:blank:]]*\\\"([^\\\"]*)\\\")|(\"language\"[[:blank:]]*\\\"([^\\\"]*)\\\".*\"territory\"[[:blank:]]*\\\"([^\\\"]*)\\\".*\"lang_name\"[[:blank:]]*\\\"([^\\\"]*)\\\")|(\"language\"[[:blank:]]*\\\"([^\\\"]*)\\\".*\"territory\"[[:blank:]]*\\\"([^\\\"]*)\\\") ]] && echo \"${SELECT_LOCALE}|${BASH_REMATCH[2]}${BASH_REMATCH[7]}${BASH_REMATCH[11]}${BASH_REMATCH[5]:+ (${BASH_REMATCH[5]})}${BASH_REMATCH[9]:+ (${BASH_REMATCH[9]})}|${BASH_REMATCH[3]}${BASH_REMATCH[8]}${BASH_REMATCH[12]}${BASH_REMATCH[4]:+ (${BASH_REMATCH[4]})}\" || echo \"${SELECT_LOCALE}\"; done 3< \"/usr/share/i18n/SUPPORTED\""
#define get_package_info_command(target) yon_char_append("pacman -Si ",target)
#define install_common_parameters \
AUTOINSTALL_TYPE_INSTALL,\
AUTOINSTALL_DEVICE,\
@ -420,7 +423,6 @@ typedef struct {
GtkListStore *DevicesList;
GtkListStore *LanguagesList;
GtkTreeStore *LayoutList;
GtkListStore *AdditionalSoftwareList;
GtkListStore *PartitionsList;
GtkWidget *LoadGlobalConfigurationMenuItem;
@ -540,9 +542,7 @@ typedef struct {
GtkWidget *AboutMenuItem;
GtkWidget *DocumentationMenuItem;
GtkCellRenderer *AdditionalSoftwareCell;
GtkWidget *AdditionalSoftwareTree;
GtkWidget *AdditionalComponentsList;
GtkWidget *GrubInstallRadio;
GtkWidget *GrubUpdateRadio;
@ -851,28 +851,42 @@ typedef struct {
typedef struct {
GtkWidget *row;
GtkWidget *RowBox;
GtkWidget *TagsBox;
GtkWidget *InstallCheck;
GtkWidget *NameLabel;
GtkWidget *DescriptionLabel;
GtkWidget *ModulesLabel;
GtkWidget *TagsBox;
GtkWidget *EnableRadio;
GtkWidget *EnableSeparator;
GtkWidget *TagsSeparator;
char *name;
char *modules;
char *package;
} kernel_row;
typedef struct {
GtkWidget *row;
GtkWidget *RowBox;
GtkWidget *InstallCheck;
GtkWidget *NameLabel;
GtkWidget *DescriptionLabel;
GtkWidget *ModulesLabel;
GtkWidget *ModuleLabel;
GtkWidget *PackageLabel;
char *name;
char *modules;
char *package;
} kernel_row;
} kernel_addon_row;
typedef struct {
GtkWidget *row;
GtkWidget *RowBox;
GtkWidget *TagsBox;
GtkWidget *InstallCheck;
GtkWidget *NameLabel;
GtkWidget *VersionLabel;
GtkWidget *DescriptionLabel;
GtkWidget *VersionLabel;
GtkWidget *TagsBox;
char *name;
char *modules;
@ -1213,4 +1227,8 @@ void on_source_changed(GtkComboBox *self);
void yon_focus_set(GtkWidget *,GtkWidget *target);
void on_main_window_close(GtkWidget*, main_window *);
gboolean yon_maximize_start(main_window *widgets);
void *yon_maximize(main_window *widgets);
void *yon_maximize(main_window *widgets);
kernel_addon_row *yon_kernel_addon_row_new();
void yon_kernel_addon_row_setup(kernel_addon_row *row, char *name, char *modules,char *package, char *description);
void on_kernel_addon_install_enabled(GtkWidget *, kernel_addon_row *row);
void on_kernel_addon_info(GtkLabel *self);

@ -230,6 +230,10 @@ NULL)
#define CREATE_CONFIG_DIALOG_LABEL _("Configuration file does not exist. Create new configuration file?")
#define CREATE_CONFIG_DIALOG_LABEL_HOMEDIR _("Configuration file does not exist. Create new configuration file? New configuration file will be created at your user's home directory")
#define ROOT_FORCE_CONFIGURATION_MODE_LABEL _("Warning! Application was launched without root. Only configuration mode is allowed.")
#define PACKAGE_NOT_FOUND_LABEL _("Package were not found")
#define PACKAGE_INFO_LABEL _("Package information")
// #define _LABEL _("<i><b>Package:</b></i>")
// #define _LABEL _("<i><b>Module:</b></i>")
// #define _LABEL _("New section at")
// #define _LABEL _("\"/ublinux-data/\" user data section")
// #define _LABEL _("\"/ublinux/\" system section")

@ -0,0 +1,183 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.40.0 -->
<interface domain="ubinstall-gtk">
<requires lib="gtk+" version="3.24"/>
<!-- interface-css-provider-path ubinstall-gtk.css -->
<object class="GtkBox" id="TableRow">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="margin-top">1</property>
<property name="orientation">vertical</property>
<child>
<object class="GtkBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="margin-bottom">5</property>
<property name="spacing">7</property>
<child>
<object class="GtkCheckButton" id="InstallCheck">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">False</property>
<property name="margin-top">5</property>
<property name="draw-indicator">True</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="orientation">vertical</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="use-underline">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>
<child>
<object class="GtkBox">
<property name="visible">True</property>
<property name="can-focus">False</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">&lt;i&gt;&lt;b&gt;Module:&lt;/b&gt;&lt;/i&gt;</property>
<property name="use-markup">True</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="ModuleLabel">
<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">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">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">&lt;i&gt;&lt;b&gt;Package:&lt;/b&gt;&lt;/i&gt;</property>
<property name="use-markup">True</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="PackageLabel">
<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">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">False</property>
<property name="fill">True</property>
<property name="position">3</property>
</packing>
</child>
<child>
<object class="GtkLabel">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="margin-top">5</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="GtkLabel" id="DescriptionLabel">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="margin-top">5</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="pack-type">end</property>
<property name="position">9</property>
</packing>
</child>
<style>
<class name="selection"/>
</style>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<style>
<class name="tableborderbottom"/>
</style>
</object>
</interface>

@ -754,7 +754,6 @@ agreement</property>
<property name="margin-top">5</property>
<property name="margin-bottom">5</property>
<property name="tab-pos">left</property>
<property name="show-tabs">False</property>
<child>
<object class="GtkBox">
<property name="visible">True</property>
@ -887,6 +886,9 @@ agreement</property>
<property name="model">InstallerLanguageList</property>
<property name="headers-visible">False</property>
<property name="search-column">1</property>
<child internal-child="selection">
<object class="GtkTreeSelection"/>
</child>
<child>
<object class="GtkTreeViewColumn">
<property name="expand">True</property>
@ -934,6 +936,9 @@ agreement</property>
<property name="search-column">1</property>
<property name="tooltip-column">3</property>
<property name="activate-on-single-click">True</property>
<child internal-child="selection">
<object class="GtkTreeSelection"/>
</child>
<child>
<object class="GtkTreeViewColumn">
<child>
@ -1124,12 +1129,14 @@ agreement</property>
</packing>
</child>
<child>
<object class="GtkCheckButton" id="LicenceAgreeCheck">
<property name="label" translatable="yes">Agree</property>
<object class="GtkRadioButton" id="LicenseAgreeRadio">
<property name="label" translatable="yes">Yes, I agree to the License Agreement</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">False</property>
<property name="active">True</property>
<property name="draw-indicator">True</property>
<property name="group">LicenseDisgreeRadio</property>
</object>
<packing>
<property name="expand">False</property>
@ -1137,6 +1144,21 @@ agreement</property>
<property name="position">2</property>
</packing>
</child>
<child>
<object class="GtkRadioButton" id="LicenseDisgreeRadio">
<property name="label" translatable="yes">No, i do not agree</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">False</property>
<property name="active">True</property>
<property name="draw-indicator">True</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">3</property>
</packing>
</child>
</object>
<packing>
<property name="position">1</property>
@ -2467,121 +2489,10 @@ agreement</property>
<property name="margin-top">5</property>
<property name="margin-bottom">5</property>
<child>
<object class="GtkBox">
<object class="GtkListBox" id="KernelAddonListBox">
<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>
<property name="selection-mode">none</property>
</object>
</child>
</object>

Loading…
Cancel
Save