Fixed crash

pull/366/head
parent 97a163f4bb
commit 66e1593fed

@ -1947,7 +1947,7 @@ msgid ""
"network or the Internet (even over slow connection channels)." "network or the Internet (even over slow connection channels)."
msgstr "" msgstr ""
msgid "No modules were found.\nSelect a different installation source." msgid "No modules were found.\nSelect a different installation sources."
msgstr "" msgstr ""
msgid "File system label" msgid "File system label"
@ -5354,4 +5354,7 @@ msgid "Close installer"
msgstr "" msgstr ""
msgid "Application is already running" msgid "Application is already running"
msgstr ""
msgid "Select installation sources"
msgstr "" 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" msgstr "Модули не найдены.\n"
"Выберите другой источник установки." "Выберите другие источники установки."
msgid "About" msgid "About"
msgstr "О программе" msgstr "О программе"
@ -5549,4 +5549,7 @@ msgid "Close installer"
msgstr "Закрыть установщик" msgstr "Закрыть установщик"
msgid "Application is already running" msgid "Application is already running"
msgstr "Приложение уже запущено" msgstr "Приложение уже запущено"
msgid "Select installation sources"
msgstr "Выберите источники для "

@ -180,8 +180,9 @@ int yon_os_components_save(main_window *widgets){
return 1; return 1;
} }
void on_os_components_info(GtkWidget *, char *, os_row *row){ gboolean on_os_components_info(GtkWidget *, GdkEventButton *, os_row *row){
yon_package_info_window_create(row->modules); yon_package_info_window_create(row->modules);
return 1;
} }
os_row *yon_os_row_new(){ os_row *yon_os_row_new(){
@ -190,6 +191,7 @@ os_row *yon_os_row_new(){
row->RowBox = yon_gtk_builder_get_widget(builder,"TableRow"); row->RowBox = yon_gtk_builder_get_widget(builder,"TableRow");
row->InstallCheck = yon_gtk_builder_get_widget(builder,"InstallCheck"); row->InstallCheck = yon_gtk_builder_get_widget(builder,"InstallCheck");
row->NameLabel = yon_gtk_builder_get_widget(builder,"NameLabel"); 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->TagsBox = yon_gtk_builder_get_widget(builder,"TagsBox");
row->VersionLabel = yon_gtk_builder_get_widget(builder,"VersionLabel"); row->VersionLabel = yon_gtk_builder_get_widget(builder,"VersionLabel");
row->DescriptionLabel = yon_gtk_builder_get_widget(builder,"DescriptionLabel"); row->DescriptionLabel = yon_gtk_builder_get_widget(builder,"DescriptionLabel");
@ -199,10 +201,9 @@ os_row *yon_os_row_new(){
row->modules=NULL; row->modules=NULL;
row->version=NULL; row->version=NULL;
g_signal_connect(G_OBJECT(row->NameLabel),"activate-link",G_CALLBACK(on_os_components_info),row); 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"); row->row = yon_gtk_builder_get_widget(builder,"MainRow");
gtk_widget_show(row->row); gtk_widget_show(row->row);
g_object_set_data(G_OBJECT(row->InstallCheck),"kernel_row",row); g_object_set_data(G_OBJECT(row->InstallCheck),"kernel_row",row);
g_object_set_data(G_OBJECT(row->row),"kernel_row",row); g_object_set_data(G_OBJECT(row->row),"kernel_row",row);
@ -219,6 +220,9 @@ void *yon_modules_list_load(main_window *widgets){
int parsed_size=0; int parsed_size=0;
config_str parsed = NULL; config_str parsed = NULL;
parsed = yon_char_parse(modules[i],&parsed_size,";"); parsed = yon_char_parse(modules[i],&parsed_size,";");
if (parsed_size<5){
continue;
}
struct row_data *row = malloc(sizeof(struct row_data)); struct row_data *row = malloc(sizeof(struct row_data));
row->version = parsed[3]; row->version = parsed[3];
row->name = parsed[1]; row->name = parsed[1];
@ -290,6 +294,12 @@ gboolean yon_spinner_switch_off(GtkSpinner *target){
gboolean yon_os_components_load(main_window *widgets){ gboolean yon_os_components_load(main_window *widgets){
int size=0; int size=0;
GList *list = gtk_container_get_children(GTK_CONTAINER(widgets->OSSoftwareListBox)); 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; GList *iter;
for(iter = list;iter;iter=iter->next){ for(iter = list;iter;iter=iter->next){
os_row *row = g_object_get_data(iter->data,"kernel_row"); os_row *row = g_object_get_data(iter->data,"kernel_row");

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

@ -126,7 +126,6 @@ void on_map_selection_changed(GtkWidget *,CcTimezoneLocation *location,main_wind
char *timezone = (char*)cc_timezone_location_get_zone(location); char *timezone = (char*)cc_timezone_location_get_zone(location);
GtkTreeIter iter; GtkTreeIter iter;
// int found = 0;
for_iter(widgets->RegionTimezoneCompletionList,&iter){ for_iter(widgets->RegionTimezoneCompletionList,&iter){
char *render, *tz; char *render, *tz;
gtk_tree_model_get(GTK_TREE_MODEL(widgets->RegionTimezoneCompletionList),&iter,0,&render,1,&tz,-1); gtk_tree_model_get(GTK_TREE_MODEL(widgets->RegionTimezoneCompletionList),&iter,0,&render,1,&tz,-1);
@ -137,21 +136,10 @@ void on_map_selection_changed(GtkWidget *,CcTimezoneLocation *location,main_wind
gtk_entry_set_text(GTK_ENTRY(widgets->RegionEntry),render); gtk_entry_set_text(GTK_ENTRY(widgets->RegionEntry),render);
char *utc = yon_timezone_get_utc(tz); char *utc = yon_timezone_get_utc(tz);
yon_map_status_show(widgets,NULL,MAP_TITLE_LABEL(utc),render); yon_map_status_show(widgets,NULL,MAP_TITLE_LABEL(utc),render);
// found = 1;
break; 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); 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->ZoneCombo),G_CALLBACK(on_zone_changed),widgets);
g_signal_handlers_unblock_by_func(G_OBJECT(widgets->RegionMapTarget),G_CALLBACK(on_map_selection_changed),widgets); g_signal_handlers_unblock_by_func(G_OBJECT(widgets->RegionMapTarget),G_CALLBACK(on_map_selection_changed),widgets);

@ -603,6 +603,7 @@ void yon_main_window_create(main_window *widgets){
widgets->OSSoftwareNameLabel = yon_gtk_builder_get_widget(builder,"OSSoftwareNameLabel"); widgets->OSSoftwareNameLabel = yon_gtk_builder_get_widget(builder,"OSSoftwareNameLabel");
widgets->OSSoftwareTagsLabel = yon_gtk_builder_get_widget(builder,"OSSoftwareTagsLabel"); widgets->OSSoftwareTagsLabel = yon_gtk_builder_get_widget(builder,"OSSoftwareTagsLabel");
widgets->OSSoftwareDescriptionLabel = yon_gtk_builder_get_widget(builder,"OSSoftwareDescriptionLabel"); 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->PacmanSoftwareSearchEntry = yon_gtk_builder_get_widget(builder,"PacmanSoftwareSearchEntry");
widgets->PacmanSoftwareStatusImage = yon_gtk_builder_get_widget(builder,"PacmanSoftwareStatusImage"); widgets->PacmanSoftwareStatusImage = yon_gtk_builder_get_widget(builder,"PacmanSoftwareStatusImage");

@ -734,6 +734,7 @@ typedef struct
GtkWidget *OSSoftwareNameLabel; GtkWidget *OSSoftwareNameLabel;
GtkWidget *OSSoftwareTagsLabel; GtkWidget *OSSoftwareTagsLabel;
GtkWidget *OSSoftwareDescriptionLabel; GtkWidget *OSSoftwareDescriptionLabel;
GtkWidget *OSSoftwareEmptyLabel;
GtkWidget *PacmanSoftwareSearchEntry; GtkWidget *PacmanSoftwareSearchEntry;
GtkWidget *PacmanSoftwareStatusImage; GtkWidget *PacmanSoftwareStatusImage;
@ -1061,6 +1062,7 @@ typedef struct
char *version; char *version;
char *tags; char *tags;
char *description; char *description;
GtkWidget *NameEvent;
} os_row; } os_row;
typedef struct typedef struct
@ -1635,5 +1637,5 @@ yon_window *yon_package_info_window_create(const char *package);
info_element *yon_package_info_element_new(); info_element *yon_package_info_element_new();
void yon_gtk_label_set_font(GtkLabel *label); void yon_gtk_label_set_font(GtkLabel *label);
void on_kernel_info(GtkWidget *, char *link, kernel_row *row); void on_kernel_info(GtkWidget *, char *link, kernel_row *row);
void on_os_components_info(GtkWidget *, char *, os_row *row); gboolean on_os_components_info(GtkWidget *, GdkEventButton *, os_row *row);
void on_software_info(GtkWidget*, main_window *widgets); void on_software_info(GtkWidget*, main_window *widgets);

@ -479,6 +479,7 @@ NULL)
// #define _LABEL _("Source:") // #define _LABEL _("Source:")
// #define _LABEL _("Version:") // #define _LABEL _("Version:")
// #define _LABEL _("Size:") // #define _LABEL _("Size:")
// #define _LABEL _("Select installation sources")
#define slide_1_title _("Product ecosystem") #define slide_1_title _("Product ecosystem")
#define slide_1_text _("Developed by a team of professionals and successfully presented on the market.\n\ #define slide_1_text _("Developed by a team of professionals and successfully presented on the market.\n\
@ -586,5 +587,5 @@ For more information, visit our website the \"Support Levels\" section.")
#define slide_22_title _("Network Boot") #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 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") #define MAIN_COMPONENTS_ALL_SELECTED_LABEL _("All local modules of the system are selected")

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

@ -51,7 +51,7 @@
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">False</property> <property name="can-focus">False</property>
<property name="valign">start</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> <property name="icon_size">6</property>
</object> </object>
<packing> <packing>
@ -70,7 +70,7 @@
<object class="GtkLabel"> <object class="GtkLabel">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">False</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> <property name="xalign">0</property>
</object> </object>
<packing> <packing>

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

Loading…
Cancel
Save