diff --git a/source/ubl-settings-resourcequota.c b/source/ubl-settings-resourcequota.c
index 19b2df8..a2d925b 100644
--- a/source/ubl-settings-resourcequota.c
+++ b/source/ubl-settings-resourcequota.c
@@ -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);
diff --git a/source/ubl-settings-resourcequota.h b/source/ubl-settings-resourcequota.h
index 7931dd3..70293ad 100644
--- a/source/ubl-settings-resourcequota.h
+++ b/source/ubl-settings-resourcequota.h
@@ -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);
\ No newline at end of file
+void tree_view_edit(int index);
+void main_add_btn_save();
+void wrapper_add_show(GtkWidget *self);
\ No newline at end of file
diff --git a/source/ubl-utils.c b/source/ubl-utils.c
index a6fdafe..54851cd 100644
--- a/source/ubl-utils.c
+++ b/source/ubl-utils.c
@@ -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 {
diff --git a/source/view_add.c b/source/view_add.c
index 1bc5774..96a3ccb 100644
--- a/source/view_add.c
+++ b/source/view_add.c
@@ -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));
diff --git a/source/view_add.h b/source/view_add.h
index 82b084b..54537de 100644
--- a/source/view_add.h
+++ b/source/view_add.h
@@ -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);
diff --git a/ubl-settings-resourcequota.glade b/ubl-settings-resourcequota.glade
index d798a15..262599c 100644
--- a/ubl-settings-resourcequota.glade
+++ b/ubl-settings-resourcequota.glade
@@ -189,60 +189,40 @@
1
10
-