Added Overall size label for packages installation page

pull/228/head
parent b42bc3f439
commit 7618fb5649

@ -1005,6 +1005,10 @@ msgstr ""
msgid "Group" msgid "Group"
msgstr "" msgstr ""
#: source/ubl-strings.h:292
msgid "Overall size:"
msgstr ""
#: source/ubl-strings.h:292 #: source/ubl-strings.h:292
msgid "Select your language:" msgid "Select your language:"
msgstr "" msgstr ""

@ -1025,6 +1025,10 @@ msgstr "Приложение"
msgid "Group" msgid "Group"
msgstr "Группа" msgstr "Группа"
#: source/ubl-strings.h:292
msgid "Overall size:"
msgstr "Общий размер:"
#: source/ubl-strings.h:292 #: source/ubl-strings.h:292
msgid "Select your language:" msgid "Select your language:"
msgstr "Выберите язык:" msgstr "Выберите язык:"

@ -362,6 +362,7 @@ void yon_pacman_init(main_window *widgets){
gtk_list_store_set(widgets->PacmanSoftwareChosenList,&iter,0,1,1,parsed[i],2,version,3,_(description),4,size_str,-1); gtk_list_store_set(widgets->PacmanSoftwareChosenList,&iter,0,1,1,parsed[i],2,version,3,_(description),4,size_str,-1);
free(size_str); free(size_str);
} }
yon_pacman_software_update_overall_size(widgets);
yon_char_parsed_free(parsed,size); yon_char_parsed_free(parsed,size);
} }
@ -374,9 +375,33 @@ void on_pacman_software_all_toggled(GtkWidget *, char *path, main_window *widget
gtk_list_store_append(widgets->PacmanSoftwareChosenList,&iter); gtk_list_store_append(widgets->PacmanSoftwareChosenList,&iter);
gtk_list_store_set(widgets->PacmanSoftwareChosenList,&iter,0,1,1,name,2,type,3,description,4,size_str,-1); gtk_list_store_set(widgets->PacmanSoftwareChosenList,&iter,0,1,1,name,2,type,3,description,4,size_str,-1);
g_hash_table_add(widgets->pacmanchosen,yon_char_new(name)); g_hash_table_add(widgets->pacmanchosen,yon_char_new(name));
yon_pacman_software_update_overall_size(widgets);
} }
void yon_pacman_software_update_overall_size(main_window *widgets){
GtkTreeIter iter;
GtkTreeModel *model = GTK_TREE_MODEL(widgets->PacmanSoftwareChosenList);
long overall_size = 0;
for_iter(model, &iter){
char *name;
gtk_tree_model_get(model,&iter,1,&name,-1);
long size = yon_packages_get_installed_size(YON_PACKAGES_ALL,name);
overall_size+=size;
}
char *overall_str = NULL;
if (overall_size){
char mod = '\0';
double size_converted = yon_size_long_convert_automatic(overall_size,&mod);
char *size_str = yon_char_from_double(size_converted);
overall_str = yon_char_unite(size_str," ", yon_size_get_name_from_letter(mod),NULL);
free(size_str);
} else {
overall_str = yon_char_unite("0 ",yon_size_get_name_from_letter('K'),NULL);
}
gtk_label_set_text(GTK_LABEL(widgets->PacmanOverallSizeLabel),overall_str);
}
void on_pacman_software_chosen_toggled(GtkWidget *, char *path, main_window *widgets){ void on_pacman_software_chosen_toggled(GtkWidget *, char *path, main_window *widgets){
GtkTreeIter iter; GtkTreeIter iter;
char *name, *type, *description, *size_str; char *name, *type, *description, *size_str;
@ -386,6 +411,7 @@ void on_pacman_software_chosen_toggled(GtkWidget *, char *path, main_window *wid
gtk_list_store_append(widgets->PacmanSoftwareAllList,&iter); gtk_list_store_append(widgets->PacmanSoftwareAllList,&iter);
gtk_list_store_set(widgets->PacmanSoftwareAllList,&iter,0,0,1,name,2,type,3,description,4,size_str,-1); gtk_list_store_set(widgets->PacmanSoftwareAllList,&iter,0,0,1,name,2,type,3,description,4,size_str,-1);
g_hash_table_remove(widgets->pacmanchosen,name); g_hash_table_remove(widgets->pacmanchosen,name);
yon_pacman_software_update_overall_size(widgets);
} }
gboolean yon_pacman_fill(struct pacman_struct *pacman){ gboolean yon_pacman_fill(struct pacman_struct *pacman){
@ -408,6 +434,7 @@ gboolean yon_pacman_fill(struct pacman_struct *pacman){
if (!yon_char_is_empty(version))free(version); if (!yon_char_is_empty(version))free(version);
if (!yon_char_is_empty(description)) free(description); if (!yon_char_is_empty(description)) free(description);
} }
yon_pacman_software_update_overall_size(widgets);
yon_char_parsed_free(loaded,size); yon_char_parsed_free(loaded,size);
gtk_widget_set_sensitive(widgets->PacmanSoftwareSearchEntry,1); gtk_widget_set_sensitive(widgets->PacmanSoftwareSearchEntry,1);
gtk_widget_set_sensitive(widgets->PacmanSoftwareChosenPackagesTree,1); gtk_widget_set_sensitive(widgets->PacmanSoftwareChosenPackagesTree,1);

@ -1,9 +1,7 @@
#include "ubinstall-gtk.h" #include "ubinstall-gtk.h"
// #define TIMEZONEMAP_INCLUDE // #define TIMEZONEMAP_INCLUDE
#ifdef TIMEZONEMAP_INCLUDE
#include "timezonemap/cc-timezone-map.h" #include "timezonemap/cc-timezone-map.h"
#include "timezonemap/tz.h" #include "timezonemap/tz.h"
#endif
int yon_region_save(main_window *widgets){ int yon_region_save(main_window *widgets){
if (gtk_combo_box_get_active(GTK_COMBO_BOX(widgets->RegionCombo))==-1){ if (gtk_combo_box_get_active(GTK_COMBO_BOX(widgets->RegionCombo))==-1){
@ -37,7 +35,6 @@ void on_region_changed(GtkComboBox *self, main_window *widgets){
} }
} }
#ifdef TIMEZONEMAP_INCLUDE
gboolean on_time_zone_status_hover(GtkWidget *, GdkEvent *, main_window *widgets){ gboolean on_time_zone_status_hover(GtkWidget *, GdkEvent *, main_window *widgets){
gtk_style_context_add_class(gtk_widget_get_style_context(widgets->TimeZoneMapOverlayBox),"timezoneoverlay_hover"); gtk_style_context_add_class(gtk_widget_get_style_context(widgets->TimeZoneMapOverlayBox),"timezoneoverlay_hover");
@ -145,13 +142,9 @@ void on_map_selection_changed(GtkWidget *,CcTimezoneLocation *location,main_wind
g_signal_handlers_unblock_by_func(G_OBJECT(widgets->RegionEntry),G_CALLBACK(on_region_entry_changed),widgets); g_signal_handlers_unblock_by_func(G_OBJECT(widgets->RegionEntry),G_CALLBACK(on_region_entry_changed),widgets);
} }
#endif
void yon_map_update(main_window *widgets, const char *timezone){ void yon_map_update(main_window *widgets, const char *timezone){
#ifdef TIMEZONEMAP_INCLUDE
g_signal_handlers_block_by_func(G_OBJECT(widgets->RegionMapTarget),G_CALLBACK(on_map_selection_changed),widgets); g_signal_handlers_block_by_func(G_OBJECT(widgets->RegionMapTarget),G_CALLBACK(on_map_selection_changed),widgets);
g_signal_handlers_block_by_func(G_OBJECT(widgets->ZoneCombo),G_CALLBACK(on_zone_changed),widgets); g_signal_handlers_block_by_func(G_OBJECT(widgets->ZoneCombo),G_CALLBACK(on_zone_changed),widgets);
#endif
g_signal_handlers_block_by_func(G_OBJECT(widgets->RegionEntry),G_CALLBACK(on_region_entry_changed),widgets); g_signal_handlers_block_by_func(G_OBJECT(widgets->RegionEntry),G_CALLBACK(on_region_entry_changed),widgets);
textdomain(timezone_locale_name); textdomain(timezone_locale_name);
char *region = yon_timezone_get_zone(timezone); char *region = yon_timezone_get_zone(timezone);
@ -163,14 +156,10 @@ void yon_map_update(main_window *widgets, const char *timezone){
gtk_combo_box_set_active_id(GTK_COMBO_BOX(widgets->RegionCombo),region); gtk_combo_box_set_active_id(GTK_COMBO_BOX(widgets->RegionCombo),region);
gtk_combo_box_set_active_id(GTK_COMBO_BOX(widgets->ZoneCombo),city); gtk_combo_box_set_active_id(GTK_COMBO_BOX(widgets->ZoneCombo),city);
#ifdef TIMEZONEMAP_INCLUDE
cc_timezone_map_set_timezone(CC_TIMEZONE_MAP(widgets->RegionMapTarget),timezone); cc_timezone_map_set_timezone(CC_TIMEZONE_MAP(widgets->RegionMapTarget),timezone);
#endif
g_signal_handlers_unblock_by_func(G_OBJECT(widgets->RegionEntry),G_CALLBACK(on_region_entry_changed),widgets); g_signal_handlers_unblock_by_func(G_OBJECT(widgets->RegionEntry),G_CALLBACK(on_region_entry_changed),widgets);
#ifdef TIMEZONEMAP_INCLUDE
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);
#endif
textdomain(LocaleName); textdomain(LocaleName);
} }
@ -197,7 +186,6 @@ void yon_region_init(main_window *widgets){
yon_timezone_init(); yon_timezone_init();
gtk_combo_box_text_remove_all(GTK_COMBO_BOX_TEXT(widgets->RegionCombo)); gtk_combo_box_text_remove_all(GTK_COMBO_BOX_TEXT(widgets->RegionCombo));
gtk_combo_box_text_remove_all(GTK_COMBO_BOX_TEXT(widgets->KeyboardNumLockCombo)); gtk_combo_box_text_remove_all(GTK_COMBO_BOX_TEXT(widgets->KeyboardNumLockCombo));
#ifdef TIMEZONEMAP_INCLUDE // insert timezonemap's interactive map
GList *list = gtk_container_get_children(GTK_CONTAINER(widgets->RegionMapBox)); GList *list = gtk_container_get_children(GTK_CONTAINER(widgets->RegionMapBox));
if (list){ if (list){
GList *iter; GList *iter;
@ -214,9 +202,7 @@ void yon_region_init(main_window *widgets){
if (!yon_char_is_empty(config_param)){ if (!yon_char_is_empty(config_param)){
cc_timezone_map_set_timezone(CC_TIMEZONE_MAP(widgets->RegionMapTarget),config_param); cc_timezone_map_set_timezone(CC_TIMEZONE_MAP(widgets->RegionMapTarget),config_param);
} }
#else // if timezonemap does not installed, static image inserts
#endif
size_t size; size_t size;
GtkTreeIter iter; GtkTreeIter iter;
config_str parsed = yon_timezone_get_all(&size); config_str parsed = yon_timezone_get_all(&size);

@ -558,6 +558,7 @@ void yon_main_window_create(main_window *widgets){
widgets->PacmanLoadingOverlay = yon_gtk_builder_get_widget(builder,"PacmanLoadingOverlay"); widgets->PacmanLoadingOverlay = yon_gtk_builder_get_widget(builder,"PacmanLoadingOverlay");
widgets->PacmanSoftwareAllPackagesTree = yon_gtk_builder_get_widget(builder,"PacmanSoftwareAllPackagesTree"); widgets->PacmanSoftwareAllPackagesTree = yon_gtk_builder_get_widget(builder,"PacmanSoftwareAllPackagesTree");
widgets->PacmanOverallSizeLabel = yon_gtk_builder_get_widget(builder,"PacmanOverallSizeLabel");
widgets->PacmanSoftwareAllList = GTK_LIST_STORE(gtk_builder_get_object(builder,"PacmanSoftwareAllList")); widgets->PacmanSoftwareAllList = GTK_LIST_STORE(gtk_builder_get_object(builder,"PacmanSoftwareAllList"));
widgets->PacmanSoftwareAllCell = GTK_CELL_RENDERER(gtk_builder_get_object(builder,"PacmanSoftwareAllCell")); widgets->PacmanSoftwareAllCell = GTK_CELL_RENDERER(gtk_builder_get_object(builder,"PacmanSoftwareAllCell"));

@ -699,6 +699,7 @@ typedef struct
GtkWidget *PacmanSoftwareChosenPackagesTree; GtkWidget *PacmanSoftwareChosenPackagesTree;
GtkListStore *PacmanSoftwareChosenList; GtkListStore *PacmanSoftwareChosenList;
GtkCellRenderer *PacmanSoftwareChosenCell; GtkCellRenderer *PacmanSoftwareChosenCell;
GtkWidget *PacmanOverallSizeLabel;
// GtkWidget *StartupImage; // GtkWidget *StartupImage;
GtkWidget *StartupServicesTree; GtkWidget *StartupServicesTree;
@ -1510,3 +1511,4 @@ void on_partition_size_changed(GtkWidget *self, main_window *widgets);
void *yon_partitions_list_load(main_window *widgets); void *yon_partitions_list_load(main_window *widgets);
void *yon_modules_list_load(main_window *widgets); void *yon_modules_list_load(main_window *widgets);
void yon_size_changed(GtkSpinButton *self, main_window *widgets); void yon_size_changed(GtkSpinButton *self, main_window *widgets);
void yon_pacman_software_update_overall_size(main_window *widgets);

@ -294,6 +294,7 @@ NULL)
#define NOT_ENOUGH_FREE_SPACE_LABEL _("The size of the new partition exceeds the free space of the selected partition") //Размер нового раздела превышает свободное место выбранного раздела #define NOT_ENOUGH_FREE_SPACE_LABEL _("The size of the new partition exceeds the free space of the selected partition") //Размер нового раздела превышает свободное место выбранного раздела
#define NOT_ENOUGH_SPACE_LABEL _("The size of the new disk partition is larger than the size of the selected partition") //Размер нового раздела диска превышает размер выбранного раздела #define NOT_ENOUGH_SPACE_LABEL _("The size of the new disk partition is larger than the size of the selected partition") //Размер нового раздела диска превышает размер выбранного раздела
// #define _LABEL _("Overall size:")
// #define _LABEL _("Select your language:") // #define _LABEL _("Select your language:")
// #define _LABEL _("Selecting additional system kernel components") // #define _LABEL _("Selecting additional system kernel components")
// #define _LABEL _("<i><b>Package:</b></i>") // #define _LABEL _("<i><b>Package:</b></i>")

@ -3337,7 +3337,7 @@ agreement</property>
<packing> <packing>
<property name="expand">False</property> <property name="expand">False</property>
<property name="fill">True</property> <property name="fill">True</property>
<property name="position">1</property> <property name="position">0</property>
</packing> </packing>
</child> </child>
<child> <child>
@ -3555,7 +3555,7 @@ agreement</property>
<packing> <packing>
<property name="expand">True</property> <property name="expand">True</property>
<property name="fill">True</property> <property name="fill">True</property>
<property name="position">2</property> <property name="position">1</property>
</packing> </packing>
</child> </child>
<child> <child>
@ -3657,6 +3657,47 @@ agreement</property>
<packing> <packing>
<property name="expand">True</property> <property name="expand">True</property>
<property name="fill">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="spacing">5</property>
<child>
<object class="GtkLabel" id="PacmanOverallSizeLabel">
<property name="visible">True</property>
<property name="can-focus">False</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="pack-type">end</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkLabel">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">Overall size:</property>
<attributes>
<attribute name="weight" value="bold"/>
</attributes>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="pack-type">end</property>
<property name="position">1</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="pack-type">end</property>
<property name="position">3</property> <property name="position">3</property>
</packing> </packing>
</child> </child>

Loading…
Cancel
Save