Сделал добавление квот в treeView

pull/2/head
Igor Belitskiy 2 years ago
parent c292423033
commit 2c9c5cc172

@ -112,6 +112,7 @@ void config_init(){
main_config.lock_load_global=0;
main_config.lock_save_global=0;
main_config.lock_save_local=0;
main_config.size_tree_view = 0;
}
main_window *setup_window(){
@ -134,6 +135,7 @@ main_window *setup_window(){
widgets->btnMainShowAllEmpty = yon_gtk_builder_get_widget(builder,"btnMainShowAllEmpty");
widgets->btnMainShowCoreStream = yon_gtk_builder_get_widget(builder,"btnMainShowCoreStream");
main_config.list = GTK_LIST_STORE(gtk_builder_get_object(builder, "liststore"));
widgets->vteInformation = yon_gtk_builder_get_widget(builder,"vteInformation");
widgets->vteDispatcher = yon_gtk_builder_get_widget(builder,"vteDispatcher");
widgets->vteProcesses = yon_gtk_builder_get_widget(builder,"vteProcesses");
@ -302,36 +304,35 @@ void tree_view_select(GtkWidget *self, main_window *widgets) {
}
}
void wrapper_tree_view_add(GtkWidget *self, main_window *widgets){
yon_ubl_status_box_render(STR_QUOTAS_ADD, BACKGROUND_IMAGE_FAIL_TYPE);
add_show(NULL, glade_path);
}
void tree_view_add(int index) {
yon_char_parsed_append(main_config.type_quota, &main_config.size_tree_view, add_get_quota_object());
main_config.type_quota= yon_char_parsed_append(main_config.type_quota, &main_config.size_tree_view, add_get_quota_object());
char* text = " ";
yon_char_parsed_append(main_config.quota_volume, &main_config.size_tree_view, text );
yon_char_parsed_append(main_config.soft_raw_limit, &main_config.size_tree_view, add_get_soft());
yon_char_parsed_append(main_config.hard_raw_limit, &main_config.size_tree_view, add_get_hard());
yon_char_parsed_append(main_config.swap, &main_config.size_tree_view, add_get_limit_swap());
yon_char_parsed_append(main_config.cpu_limit, &main_config.size_tree_view, add_get_limit_cpu());
yon_char_parsed_append(main_config.i_o_limit_read, &main_config.size_tree_view, add_get_read_device());
yon_char_parsed_append(main_config.i_o_limit_write, &main_config.size_tree_view, add_get_write_device());
main_config.size_tree_view--;
main_config.quota_volume = yon_char_parsed_append(main_config.quota_volume, &main_config.size_tree_view, text );
main_config.size_tree_view--;
main_config.soft_raw_limit = yon_char_parsed_append(main_config.soft_raw_limit, &main_config.size_tree_view, add_get_soft());
main_config.size_tree_view--;
main_config.hard_raw_limit = yon_char_parsed_append(main_config.hard_raw_limit, &main_config.size_tree_view, add_get_hard());
main_config.size_tree_view--;
main_config.swap = yon_char_parsed_append(main_config.swap, &main_config.size_tree_view, add_get_limit_swap());
main_config.size_tree_view--;
main_config.cpu_limit = yon_char_parsed_append(main_config.cpu_limit, &main_config.size_tree_view, add_get_limit_cpu());
main_config.size_tree_view--;
main_config.i_o_limit_read = yon_char_parsed_append(main_config.i_o_limit_read, &main_config.size_tree_view, add_get_read_device());
main_config.size_tree_view--;
main_config.i_o_limit_write = yon_char_parsed_append(main_config.i_o_limit_write, &main_config.size_tree_view, add_get_write_device());
GtkTreeIter iter;
gtk_list_store_append(main_config.list,&iter);
gtk_list_store_set(main_config.list,&iter,main_config.type_quota[index],
main_config.quota_volume[index],
main_config.soft_raw_limit[index],
main_config.hard_raw_limit[index],
main_config.swap[index],
main_config.cpu_limit[index],
main_config.i_o_limit_read[index],
main_config.i_o_limit_write[index]);
gtk_list_store_set(main_config.list,&iter,0,main_config.type_quota[index],
1,main_config.quota_volume[index],
2,main_config.soft_raw_limit[index],
3,main_config.hard_raw_limit[index],
4,main_config.swap[index],
5,main_config.cpu_limit[index],
6,main_config.i_o_limit_read[index],
7,main_config.i_o_limit_write[index],-1);
}
void tree_view_edit(int index) {
char* text = " ";
main_config.type_quota[index] = edit_get_quota_object();
main_config.quota_volume[index] = text;
main_config.soft_raw_limit[index] = edit_get_soft();
main_config.hard_raw_limit[index] = edit_get_hard();
main_config.swap[index] = edit_get_limit_swap();
@ -339,14 +340,14 @@ void tree_view_edit(int index) {
main_config.i_o_limit_read[index] = edit_get_read_device();
main_config.i_o_limit_write[index] = edit_get_write_device();
GtkTreeIter iter;
gtk_list_store_set(main_config.list,&iter,main_config.type_quota[index],
main_config.quota_volume[index],
main_config.soft_raw_limit[index],
main_config.hard_raw_limit[index],
main_config.swap[index],
main_config.cpu_limit[index],
main_config.i_o_limit_read[index],
main_config.i_o_limit_write[index]);
gtk_list_store_set(main_config.list, &iter, main_config.type_quota[index],
main_config.quota_volume[index],
main_config.soft_raw_limit[index],
main_config.hard_raw_limit[index],
main_config.swap[index],
main_config.cpu_limit[index],
main_config.i_o_limit_read[index],
main_config.i_o_limit_write[index]);
}
/*
void yon_gtk_list_store_fill_with_proprietaries(GtkListStore *list){
@ -410,7 +411,7 @@ void main_event(main_window *widgets) {
g_signal_connect(G_OBJECT(widgets->AboutMenuItem),"activate",G_CALLBACK(on_about),NULL);
g_signal_connect(G_OBJECT(widgets->btnShowFilters),"clicked",G_CALLBACK(wrapper_filters_show), NULL);
g_signal_connect(G_OBJECT(widgets->btnAdd),"clicked",G_CALLBACK(wrapper_tree_view_add), widgets);
g_signal_connect(G_OBJECT(widgets->btnAdd),"clicked",G_CALLBACK(wrapper_add_show), glade_path);
g_signal_connect(G_OBJECT(widgets->btnEdit),"clicked",G_CALLBACK(edit_show), glade_path);
g_signal_connect(G_OBJECT(widgets->btnInfo),"clicked",G_CALLBACK(info_show), glade_path);
g_signal_connect(G_OBJECT(widgets->btnUpdateDispatcher),"clicked",G_CALLBACK(main_update_dispatcher), NULL);
@ -429,6 +430,15 @@ void main_event(main_window *widgets) {
g_signal_connect(G_OBJECT(widgets->SaveLocalMenuItem),"activate",G_CALLBACK(),NULL);
*/
}
void wrapper_add_show(GtkWidget *self) {
add_show(NULL, glade_path);
g_signal_connect(G_OBJECT(get_widget_add()->btnSaveAddSave), "clicked", G_CALLBACK(main_add_btn_save), NULL);
}
void main_add_btn_save() {
tree_view_add(main_config.size_tree_view);
add_on_destroy_subwindow(get_widget_add()->Window);
}
void wrapper_filters_show(GtkWidget *self) {
filters_show(self, glade_path);
g_signal_connect(G_OBJECT(get_widget_filters()->btnFiltersSave),"clicked",G_CALLBACK(main_visible_columns), NULL);

@ -53,7 +53,6 @@ typedef struct {
int lock_load_global;
GtkListStore *list;
GtkListStore *list2;
render_data status_render;
config_str type_quota;
config_str quota_volume;
@ -153,5 +152,6 @@ void main_cbx_2_event();
void tree_view_delete(GtkWidget *self, main_window *widgets);
void tree_view_select(GtkWidget *self, main_window *widgets);
void tree_view_add(int index);
void wrapper_tree_view_add(GtkWidget *self, main_window *widgets);
void tree_view_edit(int index);
void main_add_btn_save();
void wrapper_add_show(GtkWidget *self);

@ -964,8 +964,7 @@ char* philos_get_size_bite(GtkWidget* chk_button, GtkWidget* spin, GtkWidget* co
if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(chk_button))) {
char* size_prifics = gtk_combo_box_text_get_active_text(GTK_COMBO_BOX_TEXT(combo_box_text));
int size_bite = gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(spin));
char* str_size_bite = yon_char_from_int(size_bite);
char* str_size_bute = yon_char_unite(str_size_bite, " ", str_size_bite, NULL);
char* str_size_bute = yon_char_unite(yon_char_from_int(size_bite), " ", size_prifics, NULL);
return str_size_bute;
}
else {

@ -55,7 +55,7 @@ void add_init_windows() {
}
void add_event(add_window *widgets) {
g_signal_connect(G_OBJECT(widgets->btnAddCancel),"clicked",G_CALLBACK(add_on_hide_subwindow),NULL);
g_signal_connect(G_OBJECT(widgets->btnAddCancel),"clicked",G_CALLBACK(add_on_destroy_subwindow),NULL);
g_signal_connect(G_OBJECT(widgets->Window), "destroy", G_CALLBACK(add_destroy), NULL);
g_signal_connect(G_OBJECT(widgets->chkSoftRestrictionAdd), "toggled", G_CALLBACK(add_init_windows), NULL);
g_signal_connect(G_OBJECT(widgets->chkSevereRestrictionAdd), "toggled", G_CALLBACK(add_init_windows), NULL);
@ -80,7 +80,7 @@ void add_localization(add_window *widgets) {
}
void add_on_hide_subwindow(GtkWidget *self) {
void add_on_destroy_subwindow(GtkWidget *self) {
gtk_widget_destroy(gtk_widget_get_toplevel(self));
add_widgets = NULL;
@ -91,30 +91,42 @@ add_window *get_widget_add() {
}
void add_show(GtkWidget *self, char* glade_path) {
add_update_combo_box();
if (add_widgets != NULL) {
add_update_combo_box();
gtk_widget_show_all(add_widgets->Window);
}
else {
add_setup_window(glade_path);
add_update_combo_box();
gtk_widget_show_all(add_widgets->Window);
}
}
char* add_get_select_device() {
return gtk_combo_box_text_get_active_text(GTK_COMBO_BOX_TEXT(add_widgets->cbtAddDevice));
char* text = gtk_combo_box_text_get_active_text(GTK_COMBO_BOX_TEXT(add_widgets->cbtAddDevice));
if (text != NULL) {
return text;
}
else {
char* str = (char*)malloc(sizeof(char*)*2);
str[0] = '-';
str[1] = '\0';
return str;
}
}
char* add_get_read_device() {
return philos_get_size_bite(add_widgets->chbAddRead, add_widgets->spiSevereRestrictionAdd,
add_widgets->cmSevereRestrictionAdd);
return philos_get_size_bite(add_widgets->chbAddRead, add_widgets->spinAddRead,
add_widgets->cbtAddRead);
}
char* add_get_write_device() {
return philos_get_size_bite(add_widgets->chbAddWrite, add_widgets->spinAddRead,
add_widgets->cbtAddRead);
return philos_get_size_bite(add_widgets->chbAddWrite, add_widgets->spinAddWrite,
add_widgets->cbtAddWrite);
}
char* add_get_soft() {
return philos_get_size_bite(add_widgets->chkSoftRestrictionAdd, add_widgets->spinAddWrite,
add_widgets->cbtAddWrite);
return philos_get_size_bite(add_widgets->chkSoftRestrictionAdd, add_widgets->spiSevereRestrictionAdd,
add_widgets->cmSevereRestrictionAdd);
}
char* add_get_hard() {
return philos_get_size_bite(add_widgets->chkSevereRestrictionAdd, add_widgets->spinSevereRestrictionAdd,
@ -133,8 +145,8 @@ char* add_get_limit_cpu() {
}
}
char* add_get_limit_swap() {
return philos_get_size_bite(add_widgets->spinPaddingFLAdd, add_widgets->spinPaddingFLAdd,
add_widgets->spinPaddingFLAdd);
return philos_get_size_bite(add_widgets->chkPaddingFLAdd, add_widgets->spinPaddingFLAdd,
add_widgets->cmbPaddingFLAdd);
}
char* add_get_quota_object() {
return gtk_combo_box_text_get_active_text(GTK_COMBO_BOX_TEXT(add_widgets->cbxAddQuotaObj));

@ -51,7 +51,7 @@ typedef struct {
add_window *add_setup_window(char* glade_path);
void add_event(add_window *widgets);
void add_localization(add_window *widgets);
void add_on_hide_subwindow(GtkWidget *self);
void add_on_destroy_subwindow(GtkWidget *self);
add_window *get_widget_add();
void add_show(GtkWidget *self, char* glade_path);
void add_destroy(GtkWidget *self);

File diff suppressed because it is too large Load Diff

@ -165,7 +165,7 @@ msgid "Swap file\nlimit\n(volume)"
msgstr "Лимит файлов\nподкачки\n(объём)"
msgid "CPU limit\n(%)"
msgstr "Лимит ЦПУ (%)"
msgstr "Лимит ЦПУ\n(%)"
msgid "I/O\nlimit\n(read)"
msgstr "Лимит\nI/O\n(чтение)"
@ -304,6 +304,9 @@ msgstr "Квоты настроек - Редактирование"
msgid "Quota object"
msgstr "Объект квоты"
msgid "Quota\nobject"
msgstr "Объект\nквоты"
msgid "RAM limit"
msgstr "Лимит ОЗУ"

Binary file not shown.
Loading…
Cancel
Save