diff --git a/source/view_add.c b/source/view_add.c index 0ab20b8..ed2dbbb 100644 --- a/source/view_add.c +++ b/source/view_add.c @@ -38,7 +38,7 @@ add_window *add_setup_window(char* glade_path) { add_widgets->spinAddWrite = yon_gtk_builder_get_widget(builder,"spinAddWrite"); add_widgets->chbAddWrite = yon_gtk_builder_get_widget(builder,"chbAddWrite"); add_widgets->cbtAddWrite = yon_gtk_builder_get_widget(builder,"cbtAddWrite"); - + add_widgets->boxBlockGui = yon_gtk_builder_get_widget(builder,"boxBlockGui"); device_fill_disk(add_widgets->cbtAddDevice); add_event(add_widgets); add_init_windows(); @@ -49,13 +49,19 @@ add_window *add_setup_window(char* glade_path) { } void add_init_windows() { - add_set_active_widgets(add_widgets->chkSoftRestrictionAdd, add_widgets->spiSevereRestrictionAdd, add_widgets->cmSevereRestrictionAdd); - add_set_active_widgets(add_widgets->chkSevereRestrictionAdd, add_widgets->spinSevereRestrictionAdd, add_widgets->cmbSevereRestrictionAdd); - add_set_active_widgets(add_widgets->chkPaddingFLAdd, add_widgets->spinPaddingFLAdd, add_widgets->cmbPaddingFLAdd); - add_set_active_widgets(add_widgets->chkCPULimitAdd, add_widgets->spinCPULimitAdd, add_widgets->lblCPULimitAdd); - add_set_active_widgets_device_io(add_widgets->chbAddWrite, add_widgets->spinAddWrite, add_widgets->cbtAddWrite); - add_set_active_widgets_device_io(add_widgets->chbAddRead, add_widgets->spinAddRead, add_widgets->cbtAddRead); - add_generate_cmd(); + if (gtk_combo_box_get_active(GTK_COMBO_BOX(add_widgets->cbxAddQuotaLevel2)) != -1) { + gtk_widget_set_sensitive(add_widgets->boxBlockGui, 1); + add_set_active_widgets(add_widgets->chkSoftRestrictionAdd, add_widgets->spiSevereRestrictionAdd, add_widgets->cmSevereRestrictionAdd); + add_set_active_widgets(add_widgets->chkSevereRestrictionAdd, add_widgets->spinSevereRestrictionAdd, add_widgets->cmbSevereRestrictionAdd); + add_set_active_widgets(add_widgets->chkPaddingFLAdd, add_widgets->spinPaddingFLAdd, add_widgets->cmbPaddingFLAdd); + add_set_active_widgets(add_widgets->chkCPULimitAdd, add_widgets->spinCPULimitAdd, add_widgets->lblCPULimitAdd); + add_set_active_widgets_device_io(add_widgets->chbAddWrite, add_widgets->spinAddWrite, add_widgets->cbtAddWrite); + add_set_active_widgets_device_io(add_widgets->chbAddRead, add_widgets->spinAddRead, add_widgets->cbtAddRead); + add_generate_cmd(); + } + else { + gtk_widget_set_sensitive(add_widgets->boxBlockGui, 0); + } } void add_event(add_window *widgets) { @@ -68,7 +74,8 @@ void add_event(add_window *widgets) { g_signal_connect(G_OBJECT(widgets->chbAddRead), "toggled", G_CALLBACK(add_init_windows), NULL); g_signal_connect(G_OBJECT(widgets->chbAddWrite), "toggled", G_CALLBACK(add_init_windows), NULL); g_signal_connect(G_OBJECT(widgets->cbxAddQuotaObj),"changed",G_CALLBACK(add_update_combo_box), NULL); - + g_signal_connect(G_OBJECT(widgets->cbxAddQuotaLevel2),"changed",G_CALLBACK(add_init_windows), NULL); + g_signal_connect(G_OBJECT(widgets->spiSevereRestrictionAdd),"value-changed",G_CALLBACK(add_generate_cmd), NULL); g_signal_connect(G_OBJECT(widgets->spinSevereRestrictionAdd),"value-changed",G_CALLBACK(add_generate_cmd), NULL); g_signal_connect(G_OBJECT(widgets->spinPaddingFLAdd),"value-changed",G_CALLBACK(add_generate_cmd), NULL); diff --git a/source/view_add.h b/source/view_add.h index 527a817..5ffbaa2 100644 --- a/source/view_add.h +++ b/source/view_add.h @@ -50,6 +50,7 @@ typedef struct { GtkWidget* cbtAddDevice; GtkWidget* cbxAddQuotaObj; GtkWidget* cbxAddQuotaLevel2; + GtkWidget* boxBlockGui; } add_window; // Функции add_window *add_setup_window(char* glade_path);