Table rework for tags rendering

pull/9/head
parent 09d2377bbf
commit 448af5a465

@ -2,6 +2,9 @@
<gresources> <gresources>
<gresource prefix="/com/ublinux/ui"> <gresource prefix="/com/ublinux/ui">
<file>ubl-settings-kernel.glade</file> <file>ubl-settings-kernel.glade</file>
<file>ubl-settings-kernel-info.glade</file>
<file>ubl-settings-kernel-install.glade</file>
<file>ubl-settings-kernel-table-row.glade</file>
</gresource> </gresource>
<gresource prefix="/com/ublinux/css"> <gresource prefix="/com/ublinux/css">
<file>ubl-settings-kernel.css</file> <file>ubl-settings-kernel.css</file>
@ -9,4 +12,8 @@
<gresource prefix="/com/ublinux/images"> <gresource prefix="/com/ublinux/images">
<file>ubl-settings-kernel-banner.png</file> <file>ubl-settings-kernel-banner.png</file>
</gresource> </gresource>
<gresource prefix="/com/ublinux/csv">
<file>kernel-list.csv</file>
<file>kernel-list-addon.csv</file>
</gresource>
</gresources> </gresources>

@ -1,7 +1,10 @@
PAСKAGE_UBM;PAСKAGE;NAME;DESCRIPTION PAСKAGE_UBM;PAСKAGE;NAME;DESCRIPTION
ubm-002-linux515-headers;linux515-headers;Linux 5.15 headers;The Linux kernel headers v5.15 ubm-002-linux515-headers;linux515-headers;Linux 5.15 headers;The Linux kernel headers v5.15
ubm-003-linux515-docs;linux515-docs;Linux 5.15 Docs;The Linux kernel docs v5.15 ubm-003-linux515-docs;linux515-docs;Linux 5.15 Docs;The Linux kernel docs v5.15
ubm-linux515-dkms;linux515-dkms;Linux 5.15 DKMS modules;The Linux kernel DKMS modules v5.15 : acpi_call,r8125,r8168,rtl8723bu,rtl88x2bu,v4l2loopback,bbswitch,broadcom-wl,scap,tp_smapi-dkms,vhba-module,vboxhost ubm-linux515-dkms;linux515-dkms;Linux 5.15 DKMS modules;The Linux kernel DKMS modules v5.15 : v4l2loopback, r8168-8136, rtl88x2bu, r8125, rtl8192eu
ubm-002-linux517-headers;linux517-headers;Linux 5.17 headers;The Linux kernel headers v5.17 ubm-002-linux61-headers;linux61-headers;Linux 6.1 headers;The Linux kernel headers v6.1
ubm-003-linux517-docs;linux517-docs;Linux 5.17 Docs;The Linux kernel docs v5.17 ubm-003-linux61-docs;linux61-docs;Linux 6.1 Docs;The Linux kernel docs v6.1
ubm-linux517-dkms;linux517-dkms;Linux 5.17 DKMS modules;The Linux kernel DKMS modules v5.17 : acpi_call,r8125,r8168,rtl8723bu,rtl88x2bu,v4l2loopback,bbswitch,broadcom-wl,scap,tp_smapi-dkms,vhba-module,vboxhost ubm-linux61-dkms;linux61-dkms;Linux 6.1 DKMS modules;The Linux kernel DKMS modules v6.1 : v4l2loopback, r8168-8136, rtl88x2bu, r8125, rtl8192eu
ubm-002-linux66-headers;linux66-headers;Linux 6.6 headers;The Linux kernel headers v6.6
ubm-003-linux66-docs;linux66-docs;Linux 6.6 Docs;The Linux kernel docs v6.6
ubm-linux66-dkms;linux66-dkms;Linux 6.6 DKMS modules;The Linux kernel DKMS modules v6.6 : v4l2loopback, r8168-8136, rtl88x2bu, r8125, rtl8192eu
1 PAСKAGE_UBM PAСKAGE NAME DESCRIPTION
2 ubm-002-linux515-headers linux515-headers Linux 5.15 headers The Linux kernel headers v5.15
3 ubm-003-linux515-docs linux515-docs Linux 5.15 Docs The Linux kernel docs v5.15
4 ubm-linux515-dkms linux515-dkms Linux 5.15 DKMS modules The Linux kernel DKMS modules v5.15 : acpi_call,r8125,r8168,rtl8723bu,rtl88x2bu,v4l2loopback,bbswitch,broadcom-wl,scap,tp_smapi-dkms,vhba-module,vboxhost The Linux kernel DKMS modules v5.15 : v4l2loopback, r8168-8136, rtl88x2bu, r8125, rtl8192eu
5 ubm-002-linux517-headers ubm-002-linux61-headers linux517-headers linux61-headers Linux 5.17 headers Linux 6.1 headers The Linux kernel headers v5.17 The Linux kernel headers v6.1
6 ubm-003-linux517-docs ubm-003-linux61-docs linux517-docs linux61-docs Linux 5.17 Docs Linux 6.1 Docs The Linux kernel docs v5.17 The Linux kernel docs v6.1
7 ubm-linux517-dkms ubm-linux61-dkms linux517-dkms linux61-dkms Linux 5.17 DKMS modules Linux 6.1 DKMS modules The Linux kernel DKMS modules v5.17 : acpi_call,r8125,r8168,rtl8723bu,rtl88x2bu,v4l2loopback,bbswitch,broadcom-wl,scap,tp_smapi-dkms,vhba-module,vboxhost The Linux kernel DKMS modules v6.1 : v4l2loopback, r8168-8136, rtl88x2bu, r8125, rtl8192eu
8 ubm-002-linux66-headers linux66-headers Linux 6.6 headers The Linux kernel headers v6.6
9 ubm-003-linux66-docs linux66-docs Linux 6.6 Docs The Linux kernel docs v6.6
10 ubm-linux66-dkms linux66-dkms Linux 6.6 DKMS modules The Linux kernel DKMS modules v6.6 : v4l2loopback, r8168-8136, rtl88x2bu, r8125, rtl8192eu

@ -1,4 +1,4 @@
PAСKAGE_UBM;PAСKAGE;NAME;TAG;DESCRIPTION PAСKAGE_UBM;PAСKAGE;NAME;TAG;DESCRIPTION
ubm-001-linux515,ubm-001-linux515-headers;linux515,linux515-headers;Linux 5.15;LTS, Stable, RealTime, Hardened, Recomended;The Linux kernel v5.15 and modules, headers ubm-001-linux515,ubm-001-linux515-headers;linux515,linux515-headers;Linux 5.15;LTS, Stable, RealTime, Hardened, Recomended;The Linux kernel v5.15 and modules, headers. Manual modules: acpi_call, bbswitch, broadcom-wl, r8168, rtl8723bu, tp_smapi, vhba-module, virtualbox-host-modules, zfs
ubm-001-linux517,ubm-001-linux517-headers;linux517,linux517-headers;Linux 5.17;LTS, Stable, RealTime, Hardened, Recomended;The Linux kernel v5.17 and modules, headers ubm-001-linux61,ubm-001-linux61-headers;linux61,linux61-headers;Linux 6.1;LTS, Stable, RealTime, Hardened, Recomended;The Linux kernel v6.1 and modules, headers. Manual modules: acpi_call, bbswitch, broadcom-wl, r8168, rtl8723bu, tp_smapi, vhba-module, virtualbox-host-modules, zfs
ubm-001-linux66,ubm-001-linux66-headers;linux66,linux66-headers;Linux 6.6;LTS, Stable, RealTime, Hardened, Recomended;The Linux kernel v5.6 and modules, headers ubm-001-linux66,ubm-001-linux66-headers;linux66,linux66-headers;Linux 6.6;LTS, Stable, RealTime, Hardened, Recomended;The Linux kernel v6.6 and modules, headers. Manual modules: acpi_call, bbswitch, broadcom-wl, r8168, rtl8723bu, tp_smapi, vhba-module, virtualbox-host-modules, zfs
1 PAСKAGE_UBM PAСKAGE NAME TAG DESCRIPTION
2 ubm-001-linux515,ubm-001-linux515-headers linux515,linux515-headers Linux 5.15 LTS, Stable, RealTime, Hardened, Recomended The Linux kernel v5.15 and modules, headers The Linux kernel v5.15 and modules, headers. Manual modules: acpi_call, bbswitch, broadcom-wl, r8168, rtl8723bu, tp_smapi, vhba-module, virtualbox-host-modules, zfs
3 ubm-001-linux517,ubm-001-linux517-headers ubm-001-linux61,ubm-001-linux61-headers linux517,linux517-headers linux61,linux61-headers Linux 5.17 Linux 6.1 LTS, Stable, RealTime, Hardened, Recomended The Linux kernel v5.17 and modules, headers The Linux kernel v6.1 and modules, headers. Manual modules: acpi_call, bbswitch, broadcom-wl, r8168, rtl8723bu, tp_smapi, vhba-module, virtualbox-host-modules, zfs
4 ubm-001-linux66,ubm-001-linux66-headers linux66,linux66-headers Linux 6.6 LTS, Stable, RealTime, Hardened, Recomended The Linux kernel v5.6 and modules, headers The Linux kernel v6.6 and modules, headers. Manual modules: acpi_call, bbswitch, broadcom-wl, r8168, rtl8723bu, tp_smapi, vhba-module, virtualbox-host-modules, zfs

@ -32,7 +32,12 @@ add_custom_target(GLADE ubl-settings-kernel.glade)
set(DEPENDFILES set(DEPENDFILES
../ubl-settings-kernel.glade ../ubl-settings-kernel.glade
../ubl-settings-kernel-info.glade
../ubl-settings-kernel-install.glade
../ubl-settings-kernel-table-row.glade
../gresource.xml ../gresource.xml
../kernel-list.csv
../kernel-list-addon.csv
../ubl-settings-kernel-banner.png ../ubl-settings-kernel-banner.png
../ubl-settings-kernel.css ../ubl-settings-kernel.css
) )

@ -17,7 +17,7 @@ void yon_load_proceed(YON_CONFIG_TYPE type){
textdomain(template_ui_LocaleName); textdomain(template_ui_LocaleName);
GtkWidget *dialog = gtk_file_chooser_dialog_new(template_app_information.app_title,NULL,GTK_FILE_CHOOSER_ACTION_SAVE,CANCEL_LABEL,GTK_RESPONSE_CANCEL,OPEN_LABEL,GTK_RESPONSE_ACCEPT,NULL); GtkWidget *dialog = gtk_file_chooser_dialog_new(template_app_information.app_title,NULL,GTK_FILE_CHOOSER_ACTION_SAVE,CANCEL_LABEL,GTK_RESPONSE_CANCEL,OPEN_LABEL,GTK_RESPONSE_ACCEPT,NULL);
textdomain(LocaleName); textdomain(LocaleName);
gtk_window_set_icon_name(GTK_WINDOW(dialog),"com.ublinux.ubl-settings-services"); gtk_window_set_icon_name(GTK_WINDOW(dialog),"com.ublinux.ubl-settings-kernel");
gtk_window_set_title(GTK_WINDOW(dialog),TITLE_LABEL); gtk_window_set_title(GTK_WINDOW(dialog),TITLE_LABEL);
GtkFileFilter *filter = gtk_file_filter_new(); GtkFileFilter *filter = gtk_file_filter_new();
gtk_file_filter_add_pattern(filter,"*.ini"); gtk_file_filter_add_pattern(filter,"*.ini");
@ -39,6 +39,92 @@ void yon_load_proceed(YON_CONFIG_TYPE type){
} }
} }
info_window *yon_info_window_new(){
info_window *window = malloc(sizeof(info_window));
GtkBuilder *builder = gtk_builder_new_from_resource(glade_info_path);
window->window = yon_gtk_builder_get_widget(builder,"MainWindow");
window->HeadLabel = yon_gtk_builder_get_widget(builder,"HeadLabel");
window->InfoLabel = yon_gtk_builder_get_widget(builder,"InfoLabel");
return window;
}
install_window *yon_install_window_new(){
install_window *window = malloc(sizeof(install_window));
GtkBuilder *builder = gtk_builder_new_from_resource(glade_install_path);
window->window = yon_gtk_builder_get_widget(builder,"MainWindow");
window->HeadLabel = yon_gtk_builder_get_widget(builder,"HeadLabel");
window->StatusBox = yon_gtk_builder_get_widget(builder,"StatusBox");
window->CancelButton = yon_gtk_builder_get_widget(builder,"CancelButton");
window->ExecuteButton = yon_gtk_builder_get_widget(builder,"ExecuteButton");
window->KernelVersionCombo = yon_gtk_builder_get_widget(builder,"KernelVersionCombo");
window->DebugCheck = yon_gtk_builder_get_widget(builder,"DebugCheck");
window->DriversCheck = yon_gtk_builder_get_widget(builder,"DriversCheck");
g_signal_connect(G_OBJECT(window->CancelButton),"clicked",G_CALLBACK(on_subwindow_close),NULL);
return window;
}
GtkWidget *yon_tab_row_new(GtkBox *target, char *target_string, main_window *widgets){
GtkBuilder *builder = gtk_builder_new_from_resource(glade_table_row_path);
GtkWidget *main_box = yon_gtk_builder_get_widget(builder,"TableRowLabel");
GtkWidget *icon_box = yon_gtk_builder_get_widget(builder,"IconPackBox");
GtkWidget *name_label = yon_gtk_builder_get_widget(builder,"NameLabel");
GtkWidget *tags_box = yon_gtk_builder_get_widget(builder,"TagsBox");
GtkWidget *module_check = yon_gtk_builder_get_widget(builder,"ModuleCheck");
GtkWidget *package_check = yon_gtk_builder_get_widget(builder,"PackageCheck");
GtkWidget *loaded_radio = yon_gtk_builder_get_widget(builder,"LoadedRadio");
GtkWidget *description_label = yon_gtk_builder_get_widget(builder,"DescriptionLabel");
gtk_box_pack_start(target,main_box,0,0,0);
int size;
config_str parsed = yon_char_parse(target_string,&size,";");
if (size){
char *name = yon_char_unite("<b>",parsed[2],"</b>\n<i>",parsed[0],"\n",parsed[1],"</i>",NULL);
int types_size;
config_str types_parsed = yon_char_parse(parsed[3],&types_size,", ");
for (int k=0;k<types_size;k++){
GtkWidget *cur_tag_label = gtk_label_new(types_parsed[k]);
gtk_box_pack_start(GTK_BOX(tags_box),cur_tag_label,0,0,5);
gtk_widget_show(cur_tag_label);
char *passw = types_parsed[k][0]==' '?yon_char_divide(types_parsed[k],0):NULL;
if (passw) free(passw);
if (!strcmp(types_parsed[k],"LTS")){
gtk_style_context_add_class(gtk_widget_get_style_context(cur_tag_label),"tag_blue");
} else if (!strcmp(types_parsed[k],"Stable")){
gtk_style_context_add_class(gtk_widget_get_style_context(cur_tag_label),"tag_green");
} else if (!strcmp(types_parsed[k],"RealTime")){
gtk_style_context_add_class(gtk_widget_get_style_context(cur_tag_label),"tag_orange");
} else if (!strcmp(types_parsed[k],"Hardened")){
gtk_style_context_add_class(gtk_widget_get_style_context(cur_tag_label),"tag_yellow");
} else if (!strcmp(types_parsed[k],"Recomended")){
gtk_style_context_add_class(gtk_widget_get_style_context(cur_tag_label),"tag_blue");
} else if (!strcmp(types_parsed[k],"Reactive")){
gtk_style_context_add_class(gtk_widget_get_style_context(cur_tag_label),"tag_purple");
} else continue;
}
gtk_label_set_markup(GTK_LABEL(name_label),name);
gtk_label_set_text(GTK_LABEL(description_label),parsed[4]);
gtk_size_group_add_widget(widgets->StatusSizeGroup,icon_box);
gtk_size_group_add_widget(widgets->KernelSizeGroup,name_label);
gtk_size_group_add_widget(widgets->TagsSizeGroup,tags_box);
gtk_size_group_add_widget(widgets->ModuleSizeGroup,module_check);
gtk_size_group_add_widget(widgets->PackageSizeGroup,package_check);
gtk_size_group_add_widget(widgets->LoaderSizeGroup,loaded_radio);
gtk_size_group_add_widget(widgets->DescriptionSizeGroup,description_label);
}
return main_box;
}
// standard functions // standard functions
/**config_init() /**config_init()
@ -60,6 +146,69 @@ void config_init(){
main_config.load_mode=1; main_config.load_mode=1;
} }
void on_update_clicked(GtkWidget *, main_window *widgets){
if (widgets){};
}
void on_info_clicked(GtkWidget *, main_window *widgets){
info_window *window = yon_info_window_new();
yon_gtk_window_setup(GTK_WINDOW(window->window),GTK_WINDOW(widgets->Window),INFO_TITLE_LABEL,icon_path,"info_window");
GtkWidget *current_tree=NULL;
if (gtk_notebook_get_current_page(GTK_NOTEBOOK(widgets->MainNotebook))==0){
current_tree = widgets->KernelsTree;
} else {
current_tree = widgets->AdditionsTree;
}
GtkTreeModel *model;
GtkTreeIter iter;
if (gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(current_tree)),&model,&iter)){
char *target;
gtk_tree_model_get(model,&iter,4,&target,-1);
int size;
config_str ret = yon_config_load(yon_get_info_command(target),&size);
if (size){
char *final_text = yon_char_parsed_to_string(ret,size,"");
gtk_label_set_text(GTK_LABEL(window->InfoLabel),final_text);
free(final_text);
yon_char_parsed_free(ret,size);
}
}
gtk_widget_show(window->window);
}
void on_changelog_clicked(GtkWidget *, main_window *widgets){
if (widgets){};
info_window *window = yon_info_window_new();
yon_gtk_window_setup(GTK_WINDOW(window->window),GTK_WINDOW(widgets->Window),INFO_TITLE_LABEL,icon_path,"changelog_window");
gtk_widget_show(window->window);
}
void on_building_clicked(GtkWidget *, main_window *widgets){
if (widgets){};
install_window *window = yon_install_window_new();
yon_gtk_window_setup(GTK_WINDOW(window->window),GTK_WINDOW(widgets->Window),INFO_TITLE_LABEL,icon_path,"install_window");
gtk_widget_show(window->window);
}
void on_install_module_toggled(GtkWidget *, char *path, main_window *widgets){
if (widgets||path){};
}
void on_install_package_toggled(GtkWidget *, char *path, main_window *widgets){
if (widgets||path){};
}
void on_boot_toggled(GtkWidget *, char *path, main_window *widgets){
if (widgets||path){};
}
/**yon_main_window_complete(main_window *widgets) /**yon_main_window_complete(main_window *widgets)
* [EN] * [EN]
* *
@ -72,7 +221,44 @@ void yon_main_window_complete(main_window *widgets){
gtk_box_pack_start(GTK_BOX(widgets->InterfaceBox),yon_gtk_builder_get_widget(builder,"BoxMain"),1,1,0); gtk_box_pack_start(GTK_BOX(widgets->InterfaceBox),yon_gtk_builder_get_widget(builder,"BoxMain"),1,1,0);
// Custom widgets configuration // Custom widgets configuration
{ {
widgets->MainNotebook = yon_gtk_builder_get_widget(builder, "MainNotebook");
widgets->UpdateButton = yon_gtk_builder_get_widget(builder, "UpdateButton");
widgets->InfoButton = yon_gtk_builder_get_widget(builder, "InfoButton");
widgets->LogButton = yon_gtk_builder_get_widget(builder, "LogButton");
widgets->BuildingButton = yon_gtk_builder_get_widget(builder, "BuildingButton");
widgets->KernelsUpperTree = yon_gtk_builder_get_widget(builder, "KernelsUpperTree");
widgets->KernelsTree = yon_gtk_builder_get_widget(builder, "KernelsTree");
widgets->AdditionsUpperTree = yon_gtk_builder_get_widget(builder, "AdditionsUpperTree");
widgets->AdditionsTree = yon_gtk_builder_get_widget(builder, "AdditionsTree");
widgets->KernelsList = GTK_LIST_STORE(gtk_builder_get_object(builder,"KernelsList"));
widgets->AdditionsList = GTK_LIST_STORE(gtk_builder_get_object(builder,"AdditionsList"));
widgets->PackageBox = yon_gtk_builder_get_widget(builder,"PackageBox");
widgets->StatusSizeGroup = GTK_SIZE_GROUP(gtk_builder_get_object(builder,"StatusSizeGroup"));
widgets->KernelSizeGroup = GTK_SIZE_GROUP(gtk_builder_get_object(builder,"KernelSizeGroup"));
widgets->TagsSizeGroup = GTK_SIZE_GROUP(gtk_builder_get_object(builder,"TagsSizeGroup"));
widgets->ModuleSizeGroup = GTK_SIZE_GROUP(gtk_builder_get_object(builder,"ModuleSizeGroup"));
widgets->PackageSizeGroup = GTK_SIZE_GROUP(gtk_builder_get_object(builder,"PackageSizeGroup"));
widgets->LoaderSizeGroup = GTK_SIZE_GROUP(gtk_builder_get_object(builder,"LoaderSizeGroup"));
widgets->DescriptionSizeGroup = GTK_SIZE_GROUP(gtk_builder_get_object(builder,"DescriptionSizeGroup"));
g_signal_connect(G_OBJECT(widgets->UpdateButton),"clicked",G_CALLBACK(on_update_clicked),widgets);
g_signal_connect(G_OBJECT(widgets->InfoButton),"clicked",G_CALLBACK(on_info_clicked),widgets);
g_signal_connect(G_OBJECT(widgets->LogButton),"clicked",G_CALLBACK(on_changelog_clicked),widgets);
g_signal_connect(G_OBJECT(widgets->BuildingButton),"clicked",G_CALLBACK(on_building_clicked),widgets);
g_signal_connect(G_OBJECT(widgets->BuildingButton),"clicked",G_CALLBACK(on_install_module_toggled),widgets);
g_signal_connect(G_OBJECT(widgets->BuildingButton),"clicked",G_CALLBACK(on_install_package_toggled),widgets);
g_signal_connect(G_OBJECT(widgets->BuildingButton),"clicked",G_CALLBACK(on_boot_toggled),widgets);
GtkWidget *radio_group=NULL;
int kernels_size;
config_str kernels = yon_resource_open_file(kernels_path, &kernels_size);
for (int i=1;i<kernels_size;i++){
GtkWidget *current = yon_tab_row_new(GTK_BOX(widgets->PackageBox),kernels[i],widgets);
GList *list = gtk_container_get_children(GTK_CONTAINER(current));
GtkWidget *radio = GTK_WIDGET(g_list_nth_data(list,5));
if (radio_group) gtk_radio_button_join_group(GTK_RADIO_BUTTON(radio),GTK_RADIO_BUTTON(radio_group));
radio_group = radio;
}
} }
} }

@ -20,13 +20,21 @@
#define _(String) gettext(String) #define _(String) gettext(String)
#define glade_path "/com/ublinux/ui/ubl-settings-kernel.glade" #define glade_path "/com/ublinux/ui/ubl-settings-kernel.glade"
#define glade_info_path "/com/ublinux/ui/ubl-settings-kernel-info.glade"
#define glade_install_path "/com/ublinux/ui/ubl-settings-kernel-install.glade"
#define glade_table_row_path "/com/ublinux/ui/ubl-settings-kernel-table-row.glade"
#define banner_path "/com/ublinux/images/ubl-settings-kernel-banner.png" #define banner_path "/com/ublinux/images/ubl-settings-kernel-banner.png"
#define CssPath "/com/ublinux/css/ubl-settings-kernel.css" #define CssPath "/com/ublinux/css/ubl-settings-kernel.css"
#define config_path yon_char_unite(yon_ubl_user_get_home_directory(),"/.config/",LocaleName,"/",LocaleName,".conf",NULL) #define config_path yon_char_unite(yon_ubl_user_get_home_directory(),"/.config/",LocaleName,"/",LocaleName,".conf",NULL)
#define kernels_path "resource:///com/ublinux/csv/kernel-list.csv"
#define kernels_addon_path "resource:///com/ublinux/csv/kernel-list-addon.csv"
#define LocalePath "/usr/share/locale" #define LocalePath "/usr/share/locale"
#define LocaleName "ubl-settings-kernel" #define LocaleName "ubl-settings-kernel"
#define icon_path "com.ublinux.ubl-settings-kernel"
#define yon_config_get_custom_command(target) yon_char_unite("ubconfig --source ",target," get system PARAMETERS",NULL) #define yon_config_get_custom_command(target) yon_char_unite("ubconfig --source ",target," get system PARAMETERS",NULL)
#define config_get_local_command "ubconfig --source system get system PARAMETERS" #define config_get_local_command "ubconfig --source system get system PARAMETERS"
#define config_get_global_command "ubconfig --source global get system PARAMETERS" #define config_get_global_command "ubconfig --source global get system PARAMETERS"
@ -35,6 +43,8 @@
#define config_get_global_only_parameters "" #define config_get_global_only_parameters ""
#define config_get_local_only_parameters "" #define config_get_local_only_parameters ""
#define yon_get_info_command(target) yon_char_append("pacman ",target)
typedef char* string; typedef char* string;
string version_application; string version_application;
@ -47,21 +57,70 @@ typedef struct {
typedef struct { typedef struct {
template_window_fields template_window_fields
GtkWidget *UpdateButton;
GtkWidget *InfoButton;
GtkWidget *LogButton;
GtkWidget *BuildingButton;
GtkWidget *KernelsUpperTree;
GtkWidget *KernelsTree;
GtkWidget *AdditionsUpperTree;
GtkWidget *AdditionsTree;
GtkWidget *MainNotebook;
GtkWidget *PackageBox;
GtkListStore *KernelsList;
GtkListStore *AdditionsList;
GtkSizeGroup *StatusSizeGroup;
GtkSizeGroup *KernelSizeGroup;
GtkSizeGroup *TagsSizeGroup;
GtkSizeGroup *ModuleSizeGroup;
GtkSizeGroup *PackageSizeGroup;
GtkSizeGroup *LoaderSizeGroup;
GtkSizeGroup *DescriptionSizeGroup;
} main_window; } main_window;
typedef struct { typedef struct {
GtkWidget *Window; GtkWidget *window;
GtkWidget *HeaderLabel; GtkWidget *HeadLabel;
GtkWidget *InfoLabel;
}info_window;
GtkWidget *AlwaysOpenCheck; typedef struct {
GtkWidget *window;
GtkWidget *HeadLabel;
GtkWidget *StatusBox;
GtkWidget *CloseButton; GtkWidget *CancelButton;
GtkWidget *AcceptButton; GtkWidget *ExecuteButton;
} documentation_confirmation_window;
GtkWidget *KernelVersionCombo;
GtkWidget *DebugCheck;
GtkWidget *DriversCheck;
}install_window;
void yon_load_proceed(YON_CONFIG_TYPE type); void yon_load_proceed(YON_CONFIG_TYPE type);
void config_init(); void config_init();
void yon_main_window_complete(main_window *widgets); void yon_main_window_complete(main_window *widgets);
GtkWidget *yon_tab_row_new(GtkBox *target, char *target_string, main_window *widgets);
void on_update_clicked(GtkWidget *, main_window *widgets);
void on_info_clicked(GtkWidget *, main_window *widgets);
void on_changelog_clicked(GtkWidget *, main_window *widgets);
void on_building_clicked(GtkWidget *, main_window *widgets);
void on_install_module_toggled(GtkWidget *, char *path, main_window *widgets);
void on_install_package_toggled(GtkWidget *, char *path, main_window *widgets);
void on_boot_toggled(GtkWidget *, char *path, main_window *widgets);
info_window *yon_info_window_new();
install_window *yon_install_window_new();

@ -1,3 +1,5 @@
#define TITLE_LABEL _("ubl-settings-kernel") #define TITLE_LABEL _("ubl-settings-kernel")
#define TITLE_INFO_LABEL _("kernel configuration") #define TITLE_INFO_LABEL _("kernel configuration")
#define INFO_TITLE_LABEL _("Information")

@ -0,0 +1,83 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.38.2 -->
<interface>
<requires lib="gtk+" version="3.24"/>
<object class="GtkApplicationWindow" id="MainWindow">
<property name="width-request">800</property>
<property name="height-request">600</property>
<property name="can-focus">False</property>
<property name="modal">True</property>
<property name="icon-name">com.ublinux.ubl-settings-repomanager</property>
<child>
<object class="GtkBox" id="InfoLabe">
<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>
<child>
<object class="GtkFrame">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label-xalign">0</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="GtkLabel" id="InfoLabel">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">label</property>
<property name="xalign">0</property>
<property name="yalign">0</property>
</object>
</child>
</object>
</child>
<child type="label_item">
<placeholder/>
</child>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
</object>
</child>
<child type="titlebar">
<object class="GtkHeaderBar" id="SettingsBar2">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="show-close-button">True</property>
<child type="title">
<object class="GtkLabel" id="HeadLabel">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">Kernel settings</property>
<attributes>
<attribute name="weight" value="bold"/>
</attributes>
</object>
</child>
<child>
<object class="GtkImage">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="pixel-size">32</property>
<property name="icon-name">com.ublinux.ubl-settings-kernel</property>
</object>
</child>
</object>
</child>
</object>
</interface>

@ -0,0 +1,162 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.38.2 -->
<interface>
<requires lib="gtk+" version="3.24"/>
<object class="GtkApplicationWindow" id="MainWindow">
<property name="width-request">400</property>
<property name="height-request">200</property>
<property name="can-focus">False</property>
<property name="modal">True</property>
<property name="icon-name">com.ublinux.ubl-settings-repomanager</property>
<child>
<object class="GtkBox">
<property name="name"> </property>
<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">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">Kernel version:</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkComboBoxText" id="KernelVersionCombo">
<property name="visible">True</property>
<property name="can-focus">False</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="GtkCheckButton" id="DebugCheck">
<property name="label" translatable="yes">Add debug components</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">False</property>
<property name="draw-indicator">True</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkCheckButton" id="DriversCheck">
<property name="label" translatable="yes">Add drivers for current hardware components only</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">False</property>
<property name="draw-indicator">True</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">2</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
</object>
</child>
<child type="titlebar">
<object class="GtkHeaderBar" id="SettingsBar2">
<property name="visible">True</property>
<property name="can-focus">False</property>
<child type="title">
<object class="GtkLabel" id="HeadLabel">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">Kernel settings</property>
<attributes>
<attribute name="weight" value="bold"/>
</attributes>
</object>
</child>
<child>
<object class="GtkImage">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="pixel-size">32</property>
<property name="icon-name">com.ublinux.ubl-settings-kernel</property>
</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>
</object>
<packing>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkButton" id="ExecuteButton">
<property name="label" translatable="yes">Execute</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
</object>
<packing>
<property name="pack-type">end</property>
<property name="position">2</property>
</packing>
</child>
</object>
</child>
</object>
</interface>

@ -0,0 +1,149 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.38.2 -->
<interface domain="ubl-settings-kernel">
<requires lib="gtk+" version="3.24"/>
<!-- interface-css-provider-path ubl-settings-kernel.css -->
<object class="GtkBox" id="TableRowLabel">
<property name="visible">True</property>
<property name="can-focus">False</property>
<child>
<object class="GtkBox" id="IconPackBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="spacing">5</property>
<child>
<placeholder/>
</child>
<style>
<class name="tableborderright"/>
<class name="tableborderbottom"/>
<class name="tablemargin"/>
</style>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="NameLabel">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="use-markup">True</property>
<style>
<class name="tableborderright"/>
<class name="tableborderbottom"/>
<class name="tablemargin"/>
</style>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkBox" id="TagsBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="orientation">vertical</property>
<child>
<placeholder/>
</child>
<style>
<class name="tableborderright"/>
<class name="tableborderbottom"/>
<class name="tablemargin"/>
</style>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">2</property>
</packing>
</child>
<child>
<object class="GtkCheckButton" id="ModuleCheck">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">False</property>
<property name="draw-indicator">True</property>
<child>
<placeholder/>
</child>
<style>
<class name="tableborderright"/>
<class name="tableborderbottom"/>
<class name="tablemargin"/>
</style>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">3</property>
</packing>
</child>
<child>
<object class="GtkCheckButton" id="PackageCheck">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">False</property>
<property name="draw-indicator">True</property>
<child>
<placeholder/>
</child>
<style>
<class name="tableborderright"/>
<class name="tableborderbottom"/>
<class name="tablemargin"/>
</style>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">4</property>
</packing>
</child>
<child>
<object class="GtkRadioButton" id="LoadedRadio">
<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>
<child>
<placeholder/>
</child>
<style>
<class name="tableborderright"/>
<class name="tableborderbottom"/>
<class name="tablemargin"/>
</style>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">5</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="DescriptionLabel">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">label</property>
<property name="use-markup">True</property>
<property name="wrap">True</property>
<style>
<class name="tableborderbottom"/>
<class name="tablemargin"/>
</style>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">6</property>
</packing>
</child>
</object>
</interface>

@ -1,12 +1,34 @@
.tableborders>box { .tableborders {
border-right-width:0.5px; border-width:0.5px 0.5px 0.5px 0.5px;
border-style: solid; border-style: solid;
border-color: @theme_fg_color; border-color: @theme_fg_color;
} }
.tableborders { .tableborderleft {
border-width:0.5px 0px 0.5px 0.5px; border-left: 0.5px;
border-style: solid;
border-color: @theme_fg_color;
}
.tableborderright {
border-right: 0.5px;
border-style: solid;
border-color: @theme_fg_color;
}
.tablebordertop {
border-top: 0.5px;
border-style: solid; border-style: solid;
border-color: @theme_fg_color; border-color: @theme_fg_color;
}
.tableborderbottom {
border-bottom:0.5px;
border-style: solid;
border-color: @theme_fg_color;
}
.tablemargin {
padding: 1px;
} }
.thin { .thin {
margin:0px; margin:0px;
@ -121,3 +143,58 @@ background:transparent;
.boxInfoMessOK{ .boxInfoMessOK{
background-color: #f3f0ac; background-color: #f3f0ac;
} }
.tag_red{
border-radius: 2px;
border-width: 0.5px;
border-style: solid;
margin:2px;
color:#2f2f2f;
background-color:#ab709a
}
.tag_blue{
border-radius: 2px;
border-width: 0.5px;
border-style: solid;
margin:2px;
color:#2f2f2f;
background-color:#33aadf
}
.tag_purple{
border-radius: 2px;
border-width: 0.5px;
border-style: solid;
margin:2px;
color:#2f2f2f;
background-color:#ab709a
}
.tag_orange{
border-radius: 2px;
border-width: 0.5px;
border-style: solid;
margin:2px;
color:#2f2f2f;
background-color:#ffac40
}
.tag_yellow{
border-radius: 2px;
border-width: 0.5px;
border-style: solid;
margin:2px;
color:#2f2f2f;
background-color:#ffd070
}
.tag_green{
border-radius: 2px;
border-width: 0.5px;
border-style: solid;
margin:2px;
color:#2f2f2f;
background-color:#80ff80
}

@ -19,222 +19,25 @@
</object> </object>
<object class="GtkListStore" id="KernelsList"> <object class="GtkListStore" id="KernelsList">
<columns> <columns>
<!-- column-name icon1 --> <!-- column-name icon_name -->
<column type="gchararray"/> <column type="gchararray"/>
<!-- column-name icon2 --> <!-- column-name KernelNameRender -->
<column type="gchararray"/> <column type="gchararray"/>
<!-- column-name name --> <!-- column-name Tags -->
<column type="gchararray"/> <column type="gchararray"/>
<!-- column-name types --> <!-- column-name ModuleName -->
<column type="gchararray"/> <column type="gchararray"/>
<!-- column-name module --> <!-- column-name PackageName -->
<column type="gchararray"/>
<!-- column-name ModuleInstalled -->
<column type="gboolean"/> <column type="gboolean"/>
<!-- column-name package --> <!-- column-name PackageInstalled -->
<column type="gboolean"/> <column type="gboolean"/>
<!-- column-name load --> <!-- column-name Loaded -->
<column type="gboolean"/> <column type="gboolean"/>
<!-- column-name description --> <!-- column-name Description -->
<column type="gchararray"/> <column type="gchararray"/>
</columns> </columns>
<data>
<row>
<col id="0" translatable="yes"/>
<col id="1" translatable="yes"/>
<col id="2" translatable="yes"/>
<col id="3" translatable="yes"/>
<col id="4">False</col>
<col id="5">True</col>
<col id="6">False</col>
<col id="7" translatable="yes">fae</col>
</row>
<row>
<col id="0" translatable="yes"/>
<col id="1" translatable="yes"/>
<col id="2" translatable="yes"/>
<col id="3" translatable="yes"/>
<col id="4">True</col>
<col id="5">False</col>
<col id="6">True</col>
<col id="7" translatable="yes">gsdrg</col>
</row>
</data>
</object>
<object class="GtkListBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<child type="placeholder">
<object class="GtkBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<child>
<object class="GtkBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="orientation">vertical</property>
<child>
<placeholder/>
</child>
</object>
<packing>
<property name="expand">True</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">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">label</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">True</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="orientation">vertical</property>
<child>
<placeholder/>
</child>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">2</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="GtkCheckButton">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">False</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>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">3</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="GtkCheckButton">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">False</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>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">4</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="GtkCheckButton">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">False</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>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">5</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">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">label</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">True</property>
<property name="fill">True</property>
<property name="position">6</property>
</packing>
</child>
<style>
<class name="tableborders"/>
</style>
</object>
</child>
</object> </object>
<object class="GtkImage" id="image1"> <object class="GtkImage" id="image1">
<property name="visible">True</property> <property name="visible">True</property>
@ -256,8 +59,6 @@
<property name="can-focus">False</property> <property name="can-focus">False</property>
<property name="icon-name">com.ublinux.libublsettingsui-gtk3.settings-symbolic</property> <property name="icon-name">com.ublinux.libublsettingsui-gtk3.settings-symbolic</property>
</object> </object>
<object class="GtkListStore" id="liststore2"/>
<object class="GtkListStore" id="liststore3"/>
<object class="GtkBox" id="BoxMain"> <object class="GtkBox" id="BoxMain">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">False</property> <property name="can-focus">False</property>
@ -346,13 +147,15 @@
</packing> </packing>
</child> </child>
<child> <child>
<object class="GtkNotebook"> <object class="GtkNotebook" id="MainNotebook">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">True</property> <property name="can-focus">True</property>
<child> <child>
<object class="GtkBox"> <object class="GtkBox">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">False</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-start">5</property>
<property name="margin-end">5</property> <property name="margin-end">5</property>
<property name="margin-top">5</property> <property name="margin-top">5</property>
@ -362,96 +165,17 @@
<object class="GtkBox"> <object class="GtkBox">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">False</property> <property name="can-focus">False</property>
<property name="orientation">vertical</property>
<child> <child>
<object class="GtkTreeView" id="KernelsUpperTree"> <object class="GtkLabel" id="label7">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">True</property> <property name="can-focus">False</property>
<property name="model">liststore2</property> <property name="label" translatable="yes">Status</property>
<property name="search-column">0</property> <property name="xalign">0</property>
<child internal-child="selection"> <style>
<object class="GtkTreeSelection"/> <class name="tableborderbottom"/>
</child> <class name="tableborderright"/>
<child> <class name="tablemargin"/>
<object class="GtkTreeViewColumn"> </style>
<child>
<object class="GtkCellRendererPixbuf"/>
<attributes>
<attribute name="icon-name">0</attribute>
</attributes>
</child>
<child>
<object class="GtkCellRendererPixbuf"/>
<attributes>
<attribute name="icon-name">1</attribute>
</attributes>
</child>
</object>
</child>
<child>
<object class="GtkTreeViewColumn">
<child>
<object class="GtkCellRendererText"/>
<attributes>
<attribute name="markup">2</attribute>
</attributes>
</child>
</object>
</child>
<child>
<object class="GtkTreeViewColumn">
<child>
<object class="GtkCellRendererText"/>
<attributes>
<attribute name="markup">3</attribute>
</attributes>
</child>
</object>
</child>
<child>
<object class="GtkTreeViewColumn">
<property name="title" translatable="yes">Installed</property>
<child>
<object class="GtkCellRendererToggle"/>
<attributes>
<attribute name="active">4</attribute>
<attribute name="radio">0</attribute>
</attributes>
</child>
</object>
</child>
<child>
<object class="GtkTreeViewColumn">
<child>
<object class="GtkCellRendererToggle"/>
<attributes>
<attribute name="active">5</attribute>
</attributes>
</child>
</object>
</child>
<child>
<object class="GtkTreeViewColumn">
<child>
<object class="GtkCellRendererToggle">
<property name="radio">True</property>
</object>
<attributes>
<attribute name="active">6</attribute>
</attributes>
</child>
</object>
</child>
<child>
<object class="GtkTreeViewColumn">
<child>
<object class="GtkCellRendererText"/>
<attributes>
<attribute name="markup">7</attribute>
</attributes>
</child>
</object>
</child>
</object> </object>
<packing> <packing>
<property name="expand">False</property> <property name="expand">False</property>
@ -460,151 +184,151 @@
</packing> </packing>
</child> </child>
<child> <child>
<object class="GtkTreeView" id="KernelsTree"> <object class="GtkLabel" id="label6">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">True</property> <property name="can-focus">False</property>
<property name="model">KernelsList</property> <property name="label" translatable="yes">Kernel</property>
<child> <property name="xalign">0</property>
<object class="GtkTreeViewColumn"> <style>
<property name="title" translatable="yes">Status</property> <class name="tableborderbottom"/>
<child> <class name="tableborderright"/>
<object class="GtkCellRendererPixbuf"/> <class name="tablemargin"/>
<attributes> </style>
<attribute name="icon-name">0</attribute> </object>
</attributes> <packing>
</child> <property name="expand">False</property>
<child> <property name="fill">True</property>
<object class="GtkCellRendererPixbuf"/> <property name="position">1</property>
<attributes> </packing>
<attribute name="icon-name">1</attribute> </child>
</attributes> <child>
</child> <object class="GtkLabel" id="label5">
</object> <property name="visible">True</property>
</child> <property name="can-focus">False</property>
<child> <property name="label" translatable="yes">Tags</property>
<object class="GtkTreeViewColumn"> <property name="xalign">0</property>
<property name="title" translatable="yes">Kernel</property> <style>
<child> <class name="tableborderbottom"/>
<object class="GtkCellRendererText"/> <class name="tablemargin"/>
<attributes> </style>
<attribute name="markup">2</attribute> </object>
</attributes> <packing>
</child> <property name="expand">False</property>
</object> <property name="fill">True</property>
</child> <property name="position">2</property>
<child> </packing>
<object class="GtkTreeViewColumn"> </child>
<property name="title" translatable="yes">Kernel type</property> <child>
<child> <object class="GtkBox">
<object class="GtkCellRendererText"/> <property name="visible">True</property>
<attributes> <property name="can-focus">False</property>
<attribute name="markup">3</attribute> <property name="orientation">vertical</property>
</attributes>
</child>
</object>
</child>
<child>
<object class="GtkTreeViewColumn">
<property name="title" translatable="yes">Module</property>
<child>
<object class="GtkCellRendererToggle"/>
<attributes>
<attribute name="active">4</attribute>
</attributes>
</child>
</object>
</child>
<child> <child>
<object class="GtkTreeViewColumn"> <object class="GtkLabel">
<property name="title" translatable="yes">Package</property> <property name="visible">True</property>
<child> <property name="can-focus">False</property>
<object class="GtkCellRendererToggle"/> <property name="label" translatable="yes">Installed</property>
<attributes> <property name="xalign">0</property>
<attribute name="active">5</attribute> <style>
</attributes> <class name="tableborderleft"/>
</child> <class name="tableborderright"/>
<class name="tablemargin"/>
</style>
</object> </object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child> </child>
<child> <child>
<object class="GtkTreeViewColumn"> <object class="GtkBox">
<property name="title" translatable="yes">Load</property> <property name="visible">True</property>
<property name="can-focus">False</property>
<child> <child>
<object class="GtkCellRendererToggle"> <object class="GtkLabel" id="label4">
<property name="radio">True</property> <property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">Module</property>
<property name="xalign">0</property>
<style>
<class name="tableborders"/>
<class name="tablemargin"/>
</style>
</object> </object>
<attributes> <packing>
<attribute name="active">6</attribute> <property name="expand">True</property>
</attributes> <property name="fill">True</property>
<property name="position">0</property>
</packing>
</child> </child>
</object>
</child>
<child>
<object class="GtkTreeViewColumn">
<property name="title" translatable="yes">Description</property>
<child> <child>
<object class="GtkCellRendererText"/> <object class="GtkLabel" id="label3">
<attributes> <property name="visible">True</property>
<attribute name="markup">7</attribute> <property name="can-focus">False</property>
</attributes> <property name="label" translatable="yes">Package</property>
<property name="xalign">0</property>
<style>
<class name="tablemargin"/>
<class name="tablebordertop"/>
<class name="tableborderbottom"/>
<class name="tableborderright"/>
</style>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child> </child>
</object> </object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child> </child>
</object> </object>
<packing> <packing>
<property name="expand">True</property> <property name="expand">False</property>
<property name="fill">True</property> <property name="fill">True</property>
<property name="position">1</property> <property name="position">3</property>
</packing> </packing>
</child> </child>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
</object>
</child>
<child type="tab">
<object class="GtkLabel">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">Kernels</property>
</object>
<packing>
<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="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>
<child>
<object class="GtkTreeView" id="AdditionsUpperTree">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="model">liststore3</property>
<child internal-child="selection">
<object class="GtkTreeSelection"/>
</child>
<child> <child>
<object class="GtkTreeViewColumn"/> <object class="GtkLabel" id="label2">
</child> <property name="visible">True</property>
<child> <property name="can-focus">False</property>
<object class="GtkTreeViewColumn"/> <property name="label" translatable="yes">Loader</property>
</child> <property name="xalign">0</property>
<child> <style>
<object class="GtkTreeViewColumn"> <class name="tableborderbottom"/>
<property name="title" translatable="yes">Installed</property> <class name="tableborderright"/>
<class name="tablemargin"/>
</style>
</object> </object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">4</property>
</packing>
</child> </child>
<child> <child>
<object class="GtkTreeViewColumn"/> <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>
<style>
<class name="tableborderbottom"/>
<class name="tablemargin"/>
</style>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">5</property>
</packing>
</child> </child>
</object> </object>
<packing> <packing>
@ -614,33 +338,25 @@
</packing> </packing>
</child> </child>
<child> <child>
<object class="GtkTreeView" id="AdditionsTree"> <object class="GtkScrolledWindow">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">True</property> <property name="can-focus">True</property>
<property name="model">AdditionsList</property> <property name="hscrollbar-policy">never</property>
<property name="shadow-type">in</property>
<child> <child>
<object class="GtkTreeViewColumn"> <object class="GtkViewport">
<property name="title" translatable="yes">Status</property> <property name="visible">True</property>
</object> <property name="can-focus">False</property>
</child> <child>
<child> <object class="GtkBox" id="PackageBox">
<object class="GtkTreeViewColumn"> <property name="visible">True</property>
<property name="title" translatable="yes">Addition</property> <property name="can-focus">False</property>
</object> <property name="orientation">vertical</property>
</child> <child>
<child> <placeholder/>
<object class="GtkTreeViewColumn"> </child>
<property name="title" translatable="yes">Module</property> </object>
</object> </child>
</child>
<child>
<object class="GtkTreeViewColumn">
<property name="title" translatable="yes">Package</property>
</object>
</child>
<child>
<object class="GtkTreeViewColumn">
<property name="title" translatable="yes">Description</property>
</object> </object>
</child> </child>
</object> </object>
@ -650,11 +366,24 @@
<property name="position">1</property> <property name="position">1</property>
</packing> </packing>
</child> </child>
<style>
<class name="tableborders"/>
</style>
</object>
</child>
<child type="tab">
<object class="GtkLabel">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">Kernels</property>
</object> </object>
<packing> <packing>
<property name="position">1</property> <property name="tab-fill">False</property>
</packing> </packing>
</child> </child>
<child>
<placeholder/>
</child>
<child type="tab"> <child type="tab">
<object class="GtkLabel"> <object class="GtkLabel">
<property name="visible">True</property> <property name="visible">True</property>
@ -681,4 +410,41 @@
</packing> </packing>
</child> </child>
</object> </object>
<object class="GtkSizeGroup" id="DescriptionSizeGroup">
<widgets>
<widget name="label1"/>
</widgets>
</object>
<object class="GtkSizeGroup" id="KernelSizeGroup">
<widgets>
<widget name="label6"/>
</widgets>
</object>
<object class="GtkSizeGroup" id="LoaderSizeGroup">
<widgets>
<widget name="label2"/>
</widgets>
</object>
<object class="GtkSizeGroup" id="ModuleSizeGroup">
<widgets>
<widget name="label4"/>
</widgets>
</object>
<object class="GtkSizeGroup" id="PackageSizeGroup">
<widgets>
<widget name="label3"/>
</widgets>
</object>
<object class="GtkSizeGroup" id="StatusSizeGroup">
<widgets>
<widget name="label7"/>
</widgets>
</object>
<object class="GtkSizeGroup" id="TagsSizeGroup">
<widgets>
<widget name="label5"/>
</widgets>
</object>
<object class="GtkListStore" id="liststore2"/>
<object class="GtkListStore" id="liststore3"/>
</interface> </interface>

Loading…
Cancel
Save