diff --git a/source/ubl-settings-resourcequota.c b/source/ubl-settings-resourcequota.c
index 09c00d9..19b2df8 100644
--- a/source/ubl-settings-resourcequota.c
+++ b/source/ubl-settings-resourcequota.c
@@ -328,16 +328,26 @@ void tree_view_add(int index) {
main_config.i_o_limit_read[index],
main_config.i_o_limit_write[index]);
}
-
-void config_data_append(int index) {
- if (index == -1) {
-
- }
- else {
-
- }
+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();
+ main_config.cpu_limit[index] = edit_get_limit_cpu();
+ 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]);
}
-
/*
void yon_gtk_list_store_fill_with_proprietaries(GtkListStore *list){
if(videoconfig.proprietary){
diff --git a/source/ubl-settings-resourcequota.h b/source/ubl-settings-resourcequota.h
index 701c8de..7931dd3 100644
--- a/source/ubl-settings-resourcequota.h
+++ b/source/ubl-settings-resourcequota.h
@@ -153,4 +153,5 @@ 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);
\ No newline at end of file
+void wrapper_tree_view_add(GtkWidget *self, main_window *widgets);
+void tree_view_edit(int index);
\ No newline at end of file
diff --git a/source/view_edit.c b/source/view_edit.c
index 93aab53..6fd659f 100644
--- a/source/view_edit.c
+++ b/source/view_edit.c
@@ -10,6 +10,7 @@ edit_window *edit_setup_window(char* glade_path){
edit_widgets->btnEditCancel = yon_gtk_builder_get_widget(builder,"btnEditCancel");
edit_widgets->btnSaveEditSave = yon_gtk_builder_get_widget(builder,"btnSaveEditSave");
+ edit_widgets->cbtEditDevice = yon_gtk_builder_get_widget(builder,"cbtEditDevice");
edit_widgets->lblCPULimitEdit = yon_gtk_builder_get_widget(builder,"lblCPULimitEdit");
edit_widgets->spinCPULimitEdit = yon_gtk_builder_get_widget(builder,"spinCPULimitEdit");
edit_widgets->chkCPULimitEdit = yon_gtk_builder_get_widget(builder,"chkCPULimitEdit");
@@ -92,4 +93,40 @@ void edit_set_active_widgets(GtkWidget *self, GtkWidget *entry, GtkWidget *label
gboolean active = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(self));
gtk_widget_set_sensitive(entry, active);
gtk_widget_set_sensitive(label, active);
+}
+
+char* edit_get_select_device() {
+ return gtk_combo_box_text_get_active_text(GTK_COMBO_BOX_TEXT(edit_widgets->cbtEditDevice));
+}
+char* edit_get_read_device() {
+ return philos_get_size_bite(edit_widgets->chbEditRead, edit_widgets->spiSevereRestrictionEdit,
+ edit_widgets->cmSevereRestrictionEdit);
+}
+char* edit_get_write_device() {
+ return philos_get_size_bite(edit_widgets->chbEditWrite, edit_widgets->spinEditRead,
+ edit_widgets->cbtEditRead);
+}
+char* edit_get_soft() {
+ return philos_get_size_bite(edit_widgets->chkSoftRestrictionEdit, edit_widgets->spinEditWrite,
+ edit_widgets->cbtEditWrite);
+}
+char* edit_get_hard() {
+ return philos_get_size_bite(edit_widgets->chkSevereRestrictionEdit, edit_widgets->spinSevereRestrictionEdit,
+ edit_widgets->cmbSevereRestrictionEdit);
+}
+char* edit_get_limit_cpu() {
+ if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(edit_widgets->chkCPULimitEdit))) {
+ int size_bite = gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(edit_widgets->spinCPULimitEdit));
+ return yon_char_from_int(size_bite);
+ }
+ else {
+ char* str = (char*)malloc(sizeof(char*)*2);
+ str[0] = '-';
+ str[1] = '\0';
+ return str;
+ }
+}
+char* edit_get_limit_swap() {
+ return philos_get_size_bite(edit_widgets->spinPaddingFLEdit, edit_widgets->spinPaddingFLEdit,
+ edit_widgets->spinPaddingFLEdit);
}
\ No newline at end of file
diff --git a/source/view_edit.h b/source/view_edit.h
index a41d048..d009304 100644
--- a/source/view_edit.h
+++ b/source/view_edit.h
@@ -41,6 +41,7 @@ typedef struct {
GtkWidget* chkCPULimitEdit;
GtkWidget* spinCPULimitEdit;
GtkWidget* lblCPULimitEdit;
+ GtkWidget* cbtEditDevice;
} edit_window;
// Функции
@@ -53,4 +54,11 @@ void edit_show(GtkWidget *self, char* glade_path);
void edit_destroy(GtkWidget *self);
void edit_init_windows();
void edit_set_active_widgets(GtkWidget *self, GtkWidget *entry, GtkWidget *label);
+char* edit_get_select_device();
+char* edit_get_read_device();
+char* edit_get_write_device();
+char* edit_get_soft();
+char* edit_get_hard();
+char* edit_get_limit_cpu();
+char* edit_get_limit_swap();
#endif
\ No newline at end of file
diff --git a/ubl-settings-resourcequota.glade b/ubl-settings-resourcequota.glade
index f38575d..d798a15 100644
--- a/ubl-settings-resourcequota.glade
+++ b/ubl-settings-resourcequota.glade
@@ -1927,6 +1927,7 @@ limit
- True
+ False
True
2
@@ -2448,7 +2449,7 @@ limit
-