Added chosen and overall sizes at Installing Packages page

pull/228/head
parent 7618fb5649
commit b3ae703a28

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

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

@ -380,26 +380,44 @@ void on_pacman_software_all_toggled(GtkWidget *, char *path, main_window *widget
} }
void yon_pacman_software_update_overall_size(main_window *widgets){ void yon_pacman_software_update_overall_size(main_window *widgets){
long pacman_size = 0;
{
GtkTreeIter iter; GtkTreeIter iter;
GtkTreeModel *model = GTK_TREE_MODEL(widgets->PacmanSoftwareChosenList); GtkTreeModel *model = GTK_TREE_MODEL(widgets->PacmanSoftwareChosenList);
long overall_size = 0;
for_iter(model, &iter){ for_iter(model, &iter){
char *name; char *name;
gtk_tree_model_get(model,&iter,1,&name,-1); gtk_tree_model_get(model,&iter,1,&name,-1);
long size = yon_packages_get_installed_size(YON_PACKAGES_ALL,name); long size = yon_packages_get_installed_size(YON_PACKAGES_ALL,name);
overall_size+=size; pacman_size+=size;
} }
char *overall_str = NULL; char *overall_str = NULL;
if (overall_size){ if (pacman_size){
char mod = '\0'; overall_str = yon_size_long_convert_automatic_to_string(pacman_size);
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 { } else {
overall_str = yon_char_unite("0 ",yon_size_get_name_from_letter('K'),NULL); overall_str = yon_char_unite("0 ",yon_size_get_name_from_letter('K'),NULL);
} }
gtk_label_set_text(GTK_LABEL(widgets->PacmanOverallSizeLabel),overall_str); gtk_label_set_text(GTK_LABEL(widgets->PacmanChosenLabel),overall_str);
if (!yon_char_is_empty(overall_str)) free(overall_str);
}
{
GList *list = gtk_container_get_children(GTK_CONTAINER(widgets->OSSoftwareListBox));
GList *listiter;
for (listiter=list;listiter;listiter=listiter->next){
os_row *row = g_object_get_data(G_OBJECT(listiter->data),"kernel_row");
if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(row->InstallCheck))){
long cur_size = yon_packages_get_installed_size(YON_PACKAGES_ALL,row->name);
pacman_size += cur_size;
}
}
char *final_modules_size = NULL;
if (pacman_size){
final_modules_size = yon_size_long_convert_automatic_to_string(pacman_size);
} else {
final_modules_size = yon_char_unite("0 ",yon_size_get_name_from_letter('K'),NULL);
}
gtk_label_set_text(GTK_LABEL(widgets->PacmanOverallSizeLabel),final_modules_size);
if (!yon_char_is_empty(final_modules_size)) free(final_modules_size);
}
} }
void on_pacman_software_chosen_toggled(GtkWidget *, char *path, main_window *widgets){ void on_pacman_software_chosen_toggled(GtkWidget *, char *path, main_window *widgets){

@ -1,15 +1,5 @@
#include "ubinstall-gtk.h" #include "ubinstall-gtk.h"
char *yon_size_get_name_from_letter(char letter){
switch (letter){
case 'K': return yon_char_new(KB_LABEL); break;
case 'M': return yon_char_new(MB_LABEL); break;
case 'G': return yon_char_new(GB_LABEL); break;
case 'T': return yon_char_new(TB_LABEL); break;
}
return NULL;
}
int yon_install_common_save(main_window *widgets){ int yon_install_common_save(main_window *widgets){
GtkTreeModel *model; GtkTreeModel *model;
GtkTreeIter iter; GtkTreeIter iter;

@ -559,6 +559,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->PacmanOverallSizeLabel = yon_gtk_builder_get_widget(builder,"PacmanOverallSizeLabel");
widgets->PacmanChosenLabel = yon_gtk_builder_get_widget(builder,"PacmanChosenLabel");
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"));

@ -700,6 +700,7 @@ typedef struct
GtkListStore *PacmanSoftwareChosenList; GtkListStore *PacmanSoftwareChosenList;
GtkCellRenderer *PacmanSoftwareChosenCell; GtkCellRenderer *PacmanSoftwareChosenCell;
GtkWidget *PacmanOverallSizeLabel; GtkWidget *PacmanOverallSizeLabel;
GtkWidget *PacmanChosenLabel;
// GtkWidget *StartupImage; // GtkWidget *StartupImage;
GtkWidget *StartupServicesTree; GtkWidget *StartupServicesTree;

@ -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 _("Chosen size:")
// #define _LABEL _("Overall size:") // #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")

@ -12,6 +12,8 @@
<object class="GtkBox" id="TableRow"> <object class="GtkBox" id="TableRow">
<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-top">1</property>
<property name="margin-bottom">1</property>
<property name="spacing">5</property> <property name="spacing">5</property>
<child> <child>
<object class="GtkCheckButton" id="InstallCheck"> <object class="GtkCheckButton" id="InstallCheck">
@ -19,14 +21,15 @@
<property name="can-focus">True</property> <property name="can-focus">True</property>
<property name="receives-default">False</property> <property name="receives-default">False</property>
<property name="margin-start">5</property> <property name="margin-start">5</property>
<property name="margin-end">10</property>
<property name="margin-top">5</property>
<property name="margin-bottom">5</property>
<property name="draw-indicator">True</property> <property name="draw-indicator">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-end">5</property> <property name="margin-start">5</property>
<property name="margin-top">5</property>
<property name="margin-bottom">5</property>
<property name="spacing">5</property> <property name="spacing">5</property>
<child> <child>
<object class="GtkBox"> <object class="GtkBox">
@ -296,7 +299,6 @@
</packing> </packing>
</child> </child>
<style> <style>
<class name="tableborderbottom"/>
<class name="bggrey"/> <class name="bggrey"/>
</style> </style>
</object> </object>

@ -3470,7 +3470,9 @@ agreement</property>
<property name="model">PacmanSoftwareAllList</property> <property name="model">PacmanSoftwareAllList</property>
<property name="search-column">0</property> <property name="search-column">0</property>
<child internal-child="selection"> <child internal-child="selection">
<object class="GtkTreeSelection"/> <object class="GtkTreeSelection">
<property name="mode">none</property>
</object>
</child> </child>
<child> <child>
<object class="GtkTreeViewColumn"> <object class="GtkTreeViewColumn">
@ -3584,7 +3586,9 @@ agreement</property>
<property name="model">PacmanSoftwareChosenList</property> <property name="model">PacmanSoftwareChosenList</property>
<property name="search-column">0</property> <property name="search-column">0</property>
<child internal-child="selection"> <child internal-child="selection">
<object class="GtkTreeSelection"/> <object class="GtkTreeSelection">
<property name="mode">none</property>
</object>
</child> </child>
<child> <child>
<object class="GtkTreeViewColumn"> <object class="GtkTreeViewColumn">
@ -3660,6 +3664,51 @@ agreement</property>
<property name="position">2</property> <property name="position">2</property>
</packing> </packing>
</child> </child>
<child>
<object class="GtkBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="halign">end</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" id="label18">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">Chosen size:</property>
<attributes>
<attribute name="weight" value="bold"/>
</attributes>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="PacmanChosenLabel">
<property name="visible">True</property>
<property name="can-focus">False</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child> <child>
<object class="GtkBox"> <object class="GtkBox">
<property name="visible">True</property> <property name="visible">True</property>
@ -3678,7 +3727,7 @@ agreement</property>
</packing> </packing>
</child> </child>
<child> <child>
<object class="GtkLabel"> <object class="GtkLabel" id="label19">
<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">Overall size:</property> <property name="label" translatable="yes">Overall size:</property>
@ -3698,6 +3747,13 @@ agreement</property>
<property name="expand">False</property> <property name="expand">False</property>
<property name="fill">True</property> <property name="fill">True</property>
<property name="pack-type">end</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="position">3</property> <property name="position">3</property>
</packing> </packing>
</child> </child>
@ -13990,6 +14046,12 @@ separately into the selected partition.</property>
<widget name="NetworkDomainSwitch"/> <widget name="NetworkDomainSwitch"/>
</widgets> </widgets>
</object> </object>
<object class="GtkSizeGroup">
<widgets>
<widget name="PacmanChosenLabel"/>
<widget name="PacmanOverallSizeLabel"/>
</widgets>
</object>
<object class="GtkSizeGroup" id="gergSizeGroup"> <object class="GtkSizeGroup" id="gergSizeGroup">
<widgets> <widgets>
<widget name="OSFilesystemTypeCombo"/> <widget name="OSFilesystemTypeCombo"/>

Loading…
Cancel
Save