Merge pull request 'master' (#366) from YanTheKaller/ubinstall-gtk:master into master

Reviewed-on: #366
pull/368/head v2.6
Dmitry Razumov 3 weeks ago
commit d0dcb5c534

@ -1947,7 +1947,7 @@ msgid ""
"network or the Internet (even over slow connection channels)."
msgstr ""
msgid "No modules were found.\nSelect a different installation source."
msgid "No modules were found.\nSelect a different installation sources."
msgstr ""
msgid "File system label"
@ -5352,3 +5352,9 @@ msgstr ""
msgid "Close installer"
msgstr ""
msgid "Application is already running"
msgstr ""
msgid "Select installation sources"
msgstr ""

@ -2085,9 +2085,9 @@ msgstr ""
"Позволяет загрузку системы для бездисковых и обычных рабочих станций через "
"локальную сеть или Интернет (даже используя \"слабые\" каналы связи)"
msgid "No modules were found.\nSelect a different installation source."
msgid "No modules were found.\nSelect a different installation sources."
msgstr "Модули не найдены.\n"
"Выберите другой источник установки."
"Выберите другие источники установки."
msgid "About"
msgstr "О программе"
@ -5547,3 +5547,9 @@ msgstr "Снять всё"
msgid "Close installer"
msgstr "Закрыть установщик"
msgid "Application is already running"
msgstr "Приложение уже запущено"
msgid "Select installation sources"
msgstr "Выберите источники для "

@ -46,6 +46,7 @@ void on_advanced_part_remove_part(GtkWidget *self, main_window *widgets){
if (data->partition&&!strcmp(data->partition,target)){
gtk_list_store_set(widgets->PartitionsList,&iter,7,0,-1);
free(part);
gtk_widget_show(widgets->AdvancedAddButton);
}
}
}
@ -61,6 +62,7 @@ void on_advanced_part_remove_device(GtkWidget *self, main_window *widgets){
if (!strcmp(data->device,target)){
gtk_widget_destroy(part->MainBox);
free(part);
gtk_widget_show(widgets->AdvancedAddButton);
}
}
}
@ -291,6 +293,11 @@ int yon_advanced_part_check_count(main_window *widgets){
GList *list = gtk_container_get_children(GTK_CONTAINER(widgets->AdvancedPartitionAddBox));
int len = g_list_length(list);
g_list_free(list);
if (len<1) {
gtk_widget_show(widgets->AdvancedAddButton);
} else {
gtk_widget_hide(widgets->AdvancedAddButton);
}
if (len<2) return 1;
return 0;
}

@ -40,7 +40,6 @@ int yon_kernel_save(main_window *widgets){
if (!main_config.configure_mode){
yon_debug_output("%s\n",yon_config_save_args_simple(main_config.config_load_path,packages_parameter, KERNEL_BOOT_parameter,NULL));
}
return 1;
}
@ -181,12 +180,18 @@ int yon_os_components_save(main_window *widgets){
return 1;
}
gboolean on_os_components_info(GtkWidget *, GdkEventButton *, os_row *row){
yon_package_info_window_create(row->modules);
return 1;
}
os_row *yon_os_row_new(){
os_row *row = new(os_row);
GtkBuilder *builder = gtk_builder_new_from_resource(glade_path_os_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->NameEvent = yon_gtk_builder_get_widget(builder,"NameEvent");
row->TagsBox = yon_gtk_builder_get_widget(builder,"TagsBox");
row->VersionLabel = yon_gtk_builder_get_widget(builder,"VersionLabel");
row->DescriptionLabel = yon_gtk_builder_get_widget(builder,"DescriptionLabel");
@ -196,9 +201,9 @@ os_row *yon_os_row_new(){
row->modules=NULL;
row->version=NULL;
g_signal_connect(G_OBJECT(row->NameEvent),"button-press-event",G_CALLBACK(on_os_components_info),row);
row->row = yon_gtk_builder_get_widget(builder,"MainRow");
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);
@ -215,6 +220,9 @@ void *yon_modules_list_load(main_window *widgets){
int parsed_size=0;
config_str parsed = NULL;
parsed = yon_char_parse(modules[i],&parsed_size,";");
if (parsed_size<5){
continue;
}
struct row_data *row = malloc(sizeof(struct row_data));
row->version = parsed[3];
row->name = parsed[1];
@ -242,6 +250,7 @@ void *yon_modules_list_load(main_window *widgets){
void yon_os_row_setup(os_row *row, char *name, char *version,char *tags, char *description,char *source, char *size){
row->name = yon_char_new(name);
row->source = yon_char_new(source);
row->modules = yon_char_new(name);
char *description_full = yon_char_new(description);
if (yon_char_is_empty(source)||yon_char_check_begins_with(source,"(local)/")){
@ -250,7 +259,8 @@ void yon_os_row_setup(os_row *row, char *name, char *version,char *tags, char *d
gtk_label_set_text(GTK_LABEL(row->SourceLabel),source);
}
gtk_label_set_label(GTK_LABEL(row->NameLabel),name);
char *label_markup = yon_char_unite("<a href=\"\">",name,"</a>",NULL);
gtk_label_set_markup(GTK_LABEL(row->NameLabel),label_markup);
gtk_label_set_label(GTK_LABEL(row->VersionLabel),version);
gtk_label_set_label(GTK_LABEL(row->DescriptionLabel),description_full);
gtk_label_set_label(GTK_LABEL(row->SizeLabel),size);
@ -258,6 +268,7 @@ void yon_os_row_setup(os_row *row, char *name, char *version,char *tags, char *d
yon_kernel_row_setup_tags((kernel_row*)row,tags);
free(size);
free(description_full);
free(label_markup);
}
gboolean yon_os_component_insert(struct row_data *row_input){
@ -283,6 +294,12 @@ gboolean yon_spinner_switch_off(GtkSpinner *target){
gboolean yon_os_components_load(main_window *widgets){
int size=0;
GList *list = gtk_container_get_children(GTK_CONTAINER(widgets->OSSoftwareListBox));
if (!list){
gtk_widget_show(widgets->OSSoftwareEmptyLabel);
return G_SOURCE_REMOVE;
} else {
gtk_widget_hide(widgets->OSSoftwareEmptyLabel);
}
GList *iter;
for(iter = list;iter;iter=iter->next){
os_row *row = g_object_get_data(iter->data,"kernel_row");

@ -18,6 +18,10 @@ gboolean on_kernel_enabled_toggled(GtkWidget *self, GdkEventButton *, kernel_row
return 0;
}
void on_kernel_info(GtkWidget *, char *, kernel_row *row){
yon_package_info_window_create(row->package);
}
kernel_row *yon_kernel_row_new(){
kernel_row *row = new(kernel_row);
GtkBuilder *builder = gtk_builder_new_from_resource(glade_path_kernel_row);
@ -37,6 +41,7 @@ kernel_row *yon_kernel_row_new(){
g_signal_connect(G_OBJECT(row->InstallCheck),"toggled",G_CALLBACK(on_kernel_install_enabled),row);
g_signal_connect(G_OBJECT(row->EnableRadio),"button-release-event",G_CALLBACK(on_kernel_enabled_toggled),row);
g_signal_connect(G_OBJECT(row->NameLabel),"activate-link",G_CALLBACK(on_kernel_info),row);
row->row = gtk_list_box_row_new();
gtk_container_add(GTK_CONTAINER(row->row),row->RowBox);
@ -117,13 +122,15 @@ void yon_kernel_row_setup(kernel_row *row, char *name, char *modules,char *packa
yon_char_parsed_free(description_wrapped,size);
}
char *modules_parsed = yon_char_replace(modules," ","\n");
gtk_label_set_label(GTK_LABEL(row->NameLabel),name);
char *label_markup = yon_char_unite("<a href=\"\">",name,"</a>",NULL);
gtk_label_set_markup(GTK_LABEL(row->NameLabel),label_markup);
gtk_label_set_label(GTK_LABEL(row->ModulesLabel),modules_parsed);
gtk_label_set_label(GTK_LABEL(row->DescriptionLabel),description_full);
yon_kernel_row_setup_tags(row,tags);
free(description_full);
free(modules_parsed);
free(label_markup);
}
void yon_kernel_resize(main_window *widgets){
@ -262,7 +269,6 @@ void on_kernel_addon_install_enabled(GtkWidget *, kernel_addon_row *row){
}
}
void yon_gtk_label_set_font(GtkLabel *label);
void yon_gtk_label_set_font(GtkLabel *label){
g_return_if_fail(GTK_IS_LABEL(label));
PangoAttrList *attributes = pango_attr_list_new();
@ -273,13 +279,6 @@ void yon_gtk_label_set_font(GtkLabel *label){
gtk_label_set_attributes(GTK_LABEL(label),attributes);
}
typedef struct {
GtkWidget *MainBox;
GtkWidget *InfoTree;
GtkListStore *InfoList;
} info_element;
info_element *yon_package_info_element_new();
info_element *yon_package_info_element_new(){
info_element *element = malloc(sizeof(info_element));
memset(element,0,sizeof(info_element));

@ -66,6 +66,20 @@ GtkTreeIter *yon_subcategory_check(GtkTreeStore *target, GtkTreeIter *parent_ite
return ret_iter;
}
void on_software_info(GtkWidget*, main_window *widgets){
char *packages;
GtkTreeIter iter;
GtkTreeModel *model;
gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->PackagesTree)),&model,&iter);
gtk_tree_model_get(GTK_TREE_MODEL(widgets->PackagesList),&iter,5,&packages,-1);
int size=0;
config_str parsed = yon_char_parse(packages,&size,",");
for (int i=0;i<size;i++){
yon_package_info_window_create(parsed[i]);
}
yon_char_parsed_free(parsed,size);
}
void yon_packages_tab_init(main_window *widgets){
on_status_update(NULL,widgets);
if (!main_config.configure_mode){
@ -125,7 +139,7 @@ void yon_packages_tab_init(main_window *widgets){
GtkTreeIter subcatiter;
GtkTreeIter package_iter;
gtk_tree_store_append(widgets->PackagesList,&subcatiter,category_iter);
gtk_tree_store_set(widgets->PackagesList,&subcatiter,1,parsed[1],2,_(parsed[3]),3,0,-1);
gtk_tree_store_set(widgets->PackagesList,&subcatiter,1,parsed[1],2,_(parsed[1]),3,0,-1);
gtk_tree_store_append(widgets->PackagesList,&package_iter,&subcatiter);
char *full_string = yon_char_unite("<b>",name_render,"</b>\n",_(parsed[3]),NULL);
gtk_tree_store_set(widgets->PackagesList,&package_iter,0,!!yon_char_check_elements(config_packages,parsed[2],",")||yon_char_check_elements(modules,parsed[2],","),1,parsed[2],2,full_string,3,1,4,!yon_char_check_elements(modules,parsed[2],","),5,parsed[2],-1);
@ -150,7 +164,7 @@ void yon_packages_tab_init(main_window *widgets){
gtk_tree_store_set(widgets->PackagesList,&subcategory_iter,1,parsed[1],2,_(parsed[1]),3,0,-1);
gtk_tree_store_append(widgets->PackagesList,&package_iter,&subcategory_iter);
char *full_string = yon_char_unite("<b>",name_render,"</b>\n",_(parsed[3]),NULL);
gtk_tree_store_set(widgets->PackagesList,&package_iter,0,!!yon_char_check_elements(config_packages,parsed[2],",")||yon_char_check_elements(modules,parsed[2],","),1,parsed[2],2,full_string,3,1,4,!yon_char_check_elements(modules,parsed[2],","),-1);
gtk_tree_store_set(widgets->PackagesList,&package_iter,0,!!yon_char_check_elements(config_packages,parsed[2],",")||yon_char_check_elements(modules,parsed[2],","),1,parsed[2],2,full_string,3,1,4,!yon_char_check_elements(modules,parsed[2],","),5,parsed[2],-1);
free(full_string);
} else {
GtkTreeIter package_iter;

@ -268,7 +268,7 @@ int yon_page_save(main_window *widgets, enum YON_PAGES page){
case YON_PAGE_CONFIG_HUB:
return yon_configuration_hub_save(widgets);
case YON_PAGE_OS_COMPONENTS:
return yon_os_components_save(widgets);
// return yon_os_components_save(widgets);
break;
case YON_PAGE_KERNEL:
return yon_kernel_save(widgets);
@ -432,8 +432,8 @@ void yon_configuration_mode_check(main_window *widgets){
void yon_page_update(main_window *widgets){
// yon_resize_images_update(widgets);
yon_navigation_buttons_set_sensetiveness(widgets);
yon_switch_page_render(widgets);
yon_configuration_mode_check(widgets);
// yon_switch_page_render(widgets);
// yon_configuration_mode_check(widgets);
}
enum YON_PAGES yon_sections_get_next_page(main_window *widgets){

@ -13,11 +13,15 @@ int yon_region_save(main_window *widgets){
yon_ubl_status_highlight_incorrect(widgets->ZoneCombo);
return 0;
}
if (gtk_switch_get_active(GTK_SWITCH(widgets->RegionSensitiveSwitch))){
const char *region = gtk_combo_box_get_active_id(GTK_COMBO_BOX(widgets->RegionCombo));
const char *zone = gtk_combo_box_get_active_id(GTK_COMBO_BOX(widgets->ZoneCombo));
char *final = yon_char_unite(region,"/",zone,NULL);
yon_config_register(zone_parameter,zone_parameter_command,final);
free(final);
} else {
yon_config_remove_by_key(zone_parameter);
}
if (!main_config.configure_mode){
yon_debug_output("%s\n",yon_config_save_args_simple(main_config.config_load_path,zone_parameter,NULL));
}
@ -122,7 +126,6 @@ void on_map_selection_changed(GtkWidget *,CcTimezoneLocation *location,main_wind
char *timezone = (char*)cc_timezone_location_get_zone(location);
GtkTreeIter iter;
// int found = 0;
for_iter(widgets->RegionTimezoneCompletionList,&iter){
char *render, *tz;
gtk_tree_model_get(GTK_TREE_MODEL(widgets->RegionTimezoneCompletionList),&iter,0,&render,1,&tz,-1);
@ -133,21 +136,10 @@ void on_map_selection_changed(GtkWidget *,CcTimezoneLocation *location,main_wind
gtk_entry_set_text(GTK_ENTRY(widgets->RegionEntry),render);
char *utc = yon_timezone_get_utc(tz);
yon_map_status_show(widgets,NULL,MAP_TITLE_LABEL(utc),render);
// found = 1;
break;
}
}
// if (!found){
// const char *region = gtk_combo_box_get_active_id(GTK_COMBO_BOX(widgets->RegionCombo));
// const char *zone = gtk_combo_box_get_active_id(GTK_COMBO_BOX(widgets->ZoneCombo));
// char *timezone = yon_char_unite(region,"/",zone,NULL);
// g_signal_handlers_block_by_func(G_OBJECT(widgets->RegionMapTarget),G_CALLBACK(on_map_selection_changed),widgets);
// cc_timezone_map_set_timezone(CC_TIMEZONE_MAP(widgets->RegionMapTarget),timezone);
// g_signal_handlers_unblock_by_func(G_OBJECT(widgets->RegionMapTarget),G_CALLBACK(on_map_selection_changed),widgets);
// free(timezone);
// }
if (!yon_char_is_empty(region)) free(region);
g_signal_handlers_unblock_by_func(G_OBJECT(widgets->ZoneCombo),G_CALLBACK(on_zone_changed),widgets);
g_signal_handlers_unblock_by_func(G_OBJECT(widgets->RegionMapTarget),G_CALLBACK(on_map_selection_changed),widgets);

@ -51,7 +51,7 @@ void yon_startup_apps_init(main_window *widgets){
config_str apps_ret = yon_resource_open_file(apps_list_path,&size);
apps_ret = yon_char_parsed_rip(apps_ret,&size,0);
if (!size) return;
qsort(apps_ret,(size_t)size,sizeof(char *),(__compar_fn_t)yon_char_parsed_compare);
// qsort(apps_ret,(size_t)size,sizeof(char *),(__compar_fn_t)yon_char_parsed_compare);
for (int i=0;i<size;i++){
int parsed_size;
config_str parsed = yon_char_parse(apps_ret[i],&parsed_size,";");

@ -59,7 +59,7 @@ void yon_startup_services_init(main_window *widgets){
config_str services = yon_resource_open_file(services_list_path,&size);
services = yon_char_parsed_rip(services,&size,0);
if (!size) return;
qsort(services,(size_t)size,sizeof(char *),(__compar_fn_t)yon_char_parsed_compare);
// qsort(services,(size_t)size,sizeof(char *),(__compar_fn_t)yon_char_parsed_compare);
for (int i=0;i<size;i++){
int parsed_size;
config_str parsed = yon_char_parse(services[i],&parsed_size,";");

@ -310,6 +310,11 @@ void yon_update_translation(main_window *widgets){
list = g_slist_append(list,g_object_get_data(G_OBJECT(widgets->ConfigurationModeMenuItem),"Label"));
list = g_slist_append(list,g_object_get_data(G_OBJECT(widgets->EnableVNCMenuItem),"Label"));
list = g_slist_append(list,g_object_get_data(G_OBJECT(widgets->EnableRDPMenuItem),"Label"));
dictionary *diter = NULL;
for_dictionaries (diter,widgets->PackagesMenu->buttons){
GtkWidget *label = g_object_get_data(G_OBJECT(diter->data),"Label");
list = g_slist_append(list,label);
}
GSList *iter;
for (iter = list; iter; iter = iter->next){
@ -380,4 +385,5 @@ void yon_update_translation(main_window *widgets){
g_list_free(list);
g_list_free(container);
}
}

@ -7,6 +7,46 @@ void yon_license_init(main_window *widgets){
gtk_widget_set_sensitive(widgets->NextButton,0);
}
yon_window *yon_package_info_window_create(const char *package_str){
if (yon_char_is_empty(package_str)) return NULL;
yon_window *window = yon_window_new();
yon_gtk_window_setup(GTK_WINDOW(window->Window),NULL,PACKAGE_INFO_LABEL,icon_path,"info-label");
int size=0;
char *package = yon_char_new(package_str);
if (strstr(package,",")){
char *temp = yon_char_replace(package,","," ");
free(package);
package = temp;
}
GtkWidget *label = NULL;
yon_packages_info *info_struct = yon_packages_get_info_struct(YON_PACKAGES_ALL,package);
if (!info_struct) return NULL;
char* info_string = yon_packages_get_info_string(info_struct);
config_str info = yon_char_parse(info_string,&size,"\n");
if (size>0){
info_element *element = yon_package_info_element_new();
gtk_box_pack_start(GTK_BOX(window->MainBox),element->MainBox,1,1,0);
for (int i=0;i<size;i++){
yon_char_remove_last_symbol(info[i],'\n');
GtkTreeIter iter;
int parsed_size;
config_str parsed = yon_char_parse(info[i],&parsed_size,":");
gtk_list_store_append(element->InfoList,&iter);
gtk_list_store_set(element->InfoList,&iter,0,parsed[0],1,!yon_char_is_empty(parsed[1])?_(parsed[1]):"",-1);
}
} else {
label = gtk_label_new(PACKAGE_NOT_FOUND_LABEL);
yon_gtk_label_set_font(GTK_LABEL(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);
return window;
}
double yon_password_check_func(yon_password_window *window, const char *password_string){
pwquality_settings_t *settings = pwquality_default_settings();
int strength = pwquality_check(settings,password_string,NULL,NULL,NULL);
@ -46,8 +86,8 @@ void on_open_documentation_confirmation(GtkWidget *self, char *link){
window->CloseButton = yon_gtk_builder_get_widget(builder,"CancelHelpButton");
window->HeaderLabel = yon_gtk_builder_get_widget(builder,"webHeaderNameLabel");
window->AlwaysOpenCheck = yon_gtk_builder_get_widget(builder,"AlwaysOpenDocumentationCheckbox");
gtk_label_set_text(GTK_LABEL(window->HeaderLabel),TITLE_LABEL);
gtk_window_set_title(GTK_WINDOW(window->Window),TITLE_LABEL);
gtk_label_set_text(GTK_LABEL(window->HeaderLabel),DOCUMENTATION_LABEL);
gtk_window_set_title(GTK_WINDOW(window->Window),DOCUMENTATION_LABEL);
gtk_window_set_icon_name(GTK_WINDOW(window->Window),yon_char_append("com.ublinux.",LocaleName));
gtk_widget_show_all(window->Window);
g_signal_connect(G_OBJECT(window->CloseButton),"clicked",G_CALLBACK(on_subwindow_close),NULL);
@ -563,6 +603,7 @@ void yon_main_window_create(main_window *widgets){
widgets->OSSoftwareNameLabel = yon_gtk_builder_get_widget(builder,"OSSoftwareNameLabel");
widgets->OSSoftwareTagsLabel = yon_gtk_builder_get_widget(builder,"OSSoftwareTagsLabel");
widgets->OSSoftwareDescriptionLabel = yon_gtk_builder_get_widget(builder,"OSSoftwareDescriptionLabel");
widgets->OSSoftwareEmptyLabel = yon_gtk_builder_get_widget(builder,"OSSoftwareEmptyLabel");
widgets->PacmanSoftwareSearchEntry = yon_gtk_builder_get_widget(builder,"PacmanSoftwareSearchEntry");
widgets->PacmanSoftwareStatusImage = yon_gtk_builder_get_widget(builder,"PacmanSoftwareStatusImage");
@ -904,6 +945,12 @@ void yon_main_window_create(main_window *widgets){
yon_root_button_init(widgets->root_button,GTK_WINDOW(widgets->MainWindow));
}
widgets->PackagesMenu = yon_rmb_menu_setup(widgets->PackagesTree,NULL,NULL,INFO_LABEL,info_icon_path,G_CALLBACK(on_software_info),widgets,NULL);
dictionary *iter = NULL;
for_dictionaries (iter,widgets->PackagesMenu->buttons){
yon_gtk_widget_set_translation(g_object_get_data(G_OBJECT(iter->data),"Label"));
}
yon_startup_language_init();
yon_locale_init();
yon_main_window_update_locale(widgets);
@ -982,6 +1029,10 @@ main_window *yon_main_window_complete(){
}
int main(int argc, char *argv[]){
GApplication *app = (GApplication*)gtk_application_new("com.ublinux.ubinstall-gtk",G_APPLICATION_DEFAULT_FLAGS);
GError *err = NULL;
int reg = g_application_register(app,NULL,&err);
int remote = g_application_get_is_remote(app);
main_config.argv=argv;
main_config.argc = argc;
config_str unfound = NULL;
@ -991,6 +1042,25 @@ int main(int argc, char *argv[]){
textdomain(LocaleName);
config_init();
gtk_init(&argc,&argv);
if (!reg||remote){
yon_window *window = yon_window_new();
gtk_widget_set_size_request(window->Window,300,125);
yon_gtk_window_setup(GTK_WINDOW(window->Window),NULL,WARNING_TITLE_LABEL,icon_path,NULL);
GtkWidget *box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL,5);
GtkWidget *image = gtk_image_new();
GtkWidget *label = gtk_label_new(ALREADY_RUNNING_LABEL);
gtk_image_set_from_icon_name(GTK_IMAGE(image),warning_icon_path,0);
gtk_image_set_pixel_size(GTK_IMAGE(image),48);
gtk_box_pack_start(GTK_BOX(box),image,1,1,0);
gtk_box_pack_start(GTK_BOX(box),label,1,1,0);
gtk_box_pack_start(GTK_BOX(window->MainBox),box,1,1,0);
gtk_widget_show_all(box);
g_signal_connect(G_OBJECT(window->Window),"destroy",G_CALLBACK(gtk_main_quit),NULL);
gtk_widget_show(window->Window);
gtk_main();
exit(1);
}
yon_ubl_window_init(TITLE_LABEL,"",LocaleName,CssPath,LocaleName,version_application,WIKI_LINK);
yon_ubl_setup_arguments(argc,argv,&unfound,&size,ADDITIONAL_ARGS);
if (size) {

@ -49,6 +49,8 @@
#define add_icon_path "com.ublinux.libublsettingsui-gtk3.increase-symbolic"
#define active_icon_path "com.ublinux.libublsettingsui-gtk3.active-symbolic"
#define inactive_icon_path "com.ublinux.libublsettingsui-gtk3.inactive-symbolic"
#define info_icon_path "com.ublinux.libublsettingsui-gtk3.important-symbolic"
#define warning_icon_path "com.ublinux.libublsettingsui-gtk3.warning-symbolic"
#define LocalePath "/usr/share/locale"
#define LocaleName "ubinstall-gtk"
@ -732,6 +734,7 @@ typedef struct
GtkWidget *OSSoftwareNameLabel;
GtkWidget *OSSoftwareTagsLabel;
GtkWidget *OSSoftwareDescriptionLabel;
GtkWidget *OSSoftwareEmptyLabel;
GtkWidget *PacmanSoftwareSearchEntry;
GtkWidget *PacmanSoftwareStatusImage;
@ -826,6 +829,7 @@ typedef struct
GtkTreeStore *PackagesList;
GtkCellRenderer *PackagesChosenCell;
GtkWidget *PackagesTree;
rmb_menu_window *PackagesMenu;
// Configuration hub slide section
GtkWidget *ConfigHubRebootCombo;
@ -1058,6 +1062,7 @@ typedef struct
char *version;
char *tags;
char *description;
GtkWidget *NameEvent;
} os_row;
typedef struct
@ -1227,6 +1232,12 @@ typedef struct
GtkWidget *TextLabel;
} slider_object;
typedef struct {
GtkWidget *MainBox;
GtkWidget *InfoTree;
GtkListStore *InfoList;
} info_element;
void config_init();
main_window *yon_main_window_complete();
ubinstall_language_window *yon_ubinstall_language_new();
@ -1622,3 +1633,9 @@ void on_os_components_uncheck_all(GtkWidget *,main_window *widgets);
gboolean yon_os_components_load(main_window *widgets);
gboolean on_user_autoloin_switch(GtkWidget *, int status, main_window *);
void on_locale_selected(GtkTreeView *self,main_window *widgets);
yon_window *yon_package_info_window_create(const char *package);
info_element *yon_package_info_element_new();
void yon_gtk_label_set_font(GtkLabel *label);
void on_kernel_info(GtkWidget *, char *link, kernel_row *row);
gboolean on_os_components_info(GtkWidget *, GdkEventButton *, os_row *row);
void on_software_info(GtkWidget*, main_window *widgets);

@ -303,6 +303,8 @@ NULL)
#define EDIT_USER_LABEL _("Edit user")
#define ACCESSED_LABEL _("Accessed")
#define UNACCESSED_LABEL _("Unaccessed")
#define INFO_LABEL _("Package information")
#define ALREADY_RUNNING_LABEL _("Application is already running")
// #define _LABEL _("Chosen size:")
// #define _LABEL _("Overall size:")
@ -477,6 +479,7 @@ NULL)
// #define _LABEL _("Source:")
// #define _LABEL _("Version:")
// #define _LABEL _("Size:")
// #define _LABEL _("Select installation sources")
#define slide_1_title _("Product ecosystem")
#define slide_1_text _("Developed by a team of professionals and successfully presented on the market.\n\
@ -584,5 +587,5 @@ For more information, visit our website the \"Support Levels\" section.")
#define slide_22_title _("Network Boot")
#define slide_22_text _("Allows system booting for diskless and standard workstations over a local network or the Internet (even over slow connection channels).")
#define MAIN_COMPONENTS_NOT_FOUND_LABEL _("No modules were found.\nSelect a different installation source")
#define MAIN_COMPONENTS_NOT_FOUND_LABEL _("No modules were found.\nSelect a different installation sources")
#define MAIN_COMPONENTS_ALL_SELECTED_LABEL _("All local modules of the system are selected")

@ -44,9 +44,14 @@
<property name="can-focus">False</property>
<property name="spacing">7</property>
<child>
<object class="GtkLabel" id="NameLabel">
<object class="GtkEventBox" id="NameEvent">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="above-child">True</property>
<child>
<object class="GtkLabel" id="NameLabel">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="label" translatable="yes">Name</property>
<property name="width-chars">0</property>
<property name="track-visited-links">False</property>
@ -55,6 +60,8 @@
<attribute name="weight" value="bold"/>
</attributes>
</object>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>

@ -51,7 +51,7 @@
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="valign">start</property>
<property name="icon-name">com.ublinux.ubinstall-gtk</property>
<property name="icon-name">com.ublinux.ubinstall-gtk.source</property>
<property name="icon_size">6</property>
</object>
<packing>
@ -70,7 +70,7 @@
<object class="GtkLabel">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">Choose a path for configuration file</property>
<property name="label" translatable="yes">Select installation sources</property>
<property name="xalign">0</property>
</object>
<packing>

@ -2105,7 +2105,7 @@ agreement</property>
<object class="GtkLabel" id="OSSoftwareEmptyLabel">
<property name="can-focus">False</property>
<property name="label" translatable="yes">No modules were found.
Select a different installation source.</property>
Select a different installation sources.</property>
<property name="justify">center</property>
<property name="wrap">True</property>
</object>
@ -7428,9 +7428,7 @@ Select a different installation source.</property>
<object class="GtkTreeViewColumn">
<property name="title" translatable="yes">column</property>
<child>
<object class="GtkCellRendererToggle" id="PackagesChosenCell">
<property name="yalign">0</property>
</object>
<object class="GtkCellRendererToggle" id="PackagesChosenCell"/>
<attributes>
<attribute name="sensitive">4</attribute>
<attribute name="visible">3</attribute>
@ -7438,7 +7436,9 @@ Select a different installation source.</property>
</attributes>
</child>
<child>
<object class="GtkCellRendererText"/>
<object class="GtkCellRendererText">
<property name="wrap-width">500</property>
</object>
<attributes>
<attribute name="markup">2</attribute>
</attributes>
@ -14435,7 +14435,6 @@ separately into the selected partition.</property>
<object class="GtkButton" id="CancelInstallButton">
<property name="label" translatable="yes">Cancel</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="image">image7</property>

Loading…
Cancel
Save