|
|
|
@ -1,374 +1,116 @@
|
|
|
|
|
#include "view_add.h"
|
|
|
|
|
#include "ubl-utils.h"
|
|
|
|
|
|
|
|
|
|
add_window *add_widgets = NULL;
|
|
|
|
|
add_config obj_add_config;
|
|
|
|
|
temp_set_window *add_widgets = NULL;
|
|
|
|
|
temp_config obj_add_config;
|
|
|
|
|
|
|
|
|
|
add_config* get_add_config() {
|
|
|
|
|
temp_config* get_add_config() {
|
|
|
|
|
return &obj_add_config;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
add_window *add_setup_window(char* glade_path) {
|
|
|
|
|
temp_set_window *add_setup_window(char* glade_path) {
|
|
|
|
|
if (add_widgets == NULL) {
|
|
|
|
|
add_widgets = malloc(sizeof(add_window));
|
|
|
|
|
add_widgets = malloc(sizeof(temp_set_window));
|
|
|
|
|
GtkBuilder *builder = gtk_builder_new_from_file(glade_path);
|
|
|
|
|
add_widgets->Window = yon_gtk_builder_get_widget(builder,"wndQuotasAdding");
|
|
|
|
|
add_widgets->btnSaveAddSave = yon_gtk_builder_get_widget(builder,"btnSaveAddSave");
|
|
|
|
|
add_widgets->btnAddCancel = yon_gtk_builder_get_widget(builder,"btnAddCancel");
|
|
|
|
|
add_widgets->btnSaveTempSave = yon_gtk_builder_get_widget(builder,"btnSaveAddSave");
|
|
|
|
|
add_widgets->btnTempCancel = yon_gtk_builder_get_widget(builder,"btnAddCancel");
|
|
|
|
|
|
|
|
|
|
add_widgets->entryAddCmd = yon_gtk_builder_get_widget(builder,"entryAddCmd");
|
|
|
|
|
add_widgets->cbxAddQuotaObj = yon_gtk_builder_get_widget(builder,"cbxAddQuotaObj");
|
|
|
|
|
add_widgets->cbxAddQuotaLevel2 = yon_gtk_builder_get_widget(builder,"cbxAddQuotaLevel2");
|
|
|
|
|
add_widgets->cbtAddDevice = yon_gtk_builder_get_widget(builder,"cbtAddDevice");
|
|
|
|
|
add_widgets->lblCPULimitAdd = yon_gtk_builder_get_widget(builder,"lblCPULimitAdd");
|
|
|
|
|
add_widgets->spinCPULimitAdd = yon_gtk_builder_get_widget(builder,"spinCPULimitAdd");
|
|
|
|
|
add_widgets->chkCPULimitAdd = yon_gtk_builder_get_widget(builder,"chkCPULimitAdd");
|
|
|
|
|
add_widgets->entryTempCmd = yon_gtk_builder_get_widget(builder,"entryAddCmd");
|
|
|
|
|
add_widgets->cbxTempQuotaObj = yon_gtk_builder_get_widget(builder,"cbxAddQuotaObj");
|
|
|
|
|
add_widgets->cbxTempQuotaLevel2 = yon_gtk_builder_get_widget(builder,"cbxAddQuotaLevel2");
|
|
|
|
|
add_widgets->cbtTempDevice = yon_gtk_builder_get_widget(builder,"cbtAddDevice");
|
|
|
|
|
add_widgets->lblCPULimitTemp = yon_gtk_builder_get_widget(builder,"lblCPULimitAdd");
|
|
|
|
|
add_widgets->spinCPULimitTemp = yon_gtk_builder_get_widget(builder,"spinCPULimitAdd");
|
|
|
|
|
add_widgets->chkCPULimitTemp = yon_gtk_builder_get_widget(builder,"chkCPULimitAdd");
|
|
|
|
|
|
|
|
|
|
add_widgets->chkPaddingFLAdd = yon_gtk_builder_get_widget(builder,"chkPaddingFLAdd");
|
|
|
|
|
add_widgets->spinPaddingFLAdd = yon_gtk_builder_get_widget(builder,"spinPaddingFLAdd");
|
|
|
|
|
add_widgets->cmbPaddingFLAdd = yon_gtk_builder_get_widget(builder,"cmbPaddingFLAdd");
|
|
|
|
|
add_widgets->chkPaddingFLTemp = yon_gtk_builder_get_widget(builder,"chkPaddingFLAdd");
|
|
|
|
|
add_widgets->spinPaddingFLTemp = yon_gtk_builder_get_widget(builder,"spinPaddingFLAdd");
|
|
|
|
|
add_widgets->cmbPaddingFLTemp = yon_gtk_builder_get_widget(builder,"cmbPaddingFLAdd");
|
|
|
|
|
|
|
|
|
|
add_widgets->chkSevereRestrictionAdd = yon_gtk_builder_get_widget(builder,"chkSevereRestrictionAdd");
|
|
|
|
|
add_widgets->spinSevereRestrictionAdd = yon_gtk_builder_get_widget(builder,"spinSevereRestrictionAdd");
|
|
|
|
|
add_widgets->cmbSevereRestrictionAdd = yon_gtk_builder_get_widget(builder,"cmbSevereRestrictionAdd");
|
|
|
|
|
add_widgets->chkSevereRestrictionTemp = yon_gtk_builder_get_widget(builder,"chkSevereRestrictionAdd");
|
|
|
|
|
add_widgets->spinSevereRestrictionTemp = yon_gtk_builder_get_widget(builder,"spinSevereRestrictionAdd");
|
|
|
|
|
add_widgets->cmbSevereRestrictionTemp = yon_gtk_builder_get_widget(builder,"cmbSevereRestrictionAdd");
|
|
|
|
|
|
|
|
|
|
add_widgets->chkSoftRestrictionAdd = yon_gtk_builder_get_widget(builder,"chkSoftRestrictionAdd");
|
|
|
|
|
add_widgets->spiSevereRestrictionAdd = yon_gtk_builder_get_widget(builder,"spiSevereRestrictionAdd");
|
|
|
|
|
add_widgets->cmSevereRestrictionAdd = yon_gtk_builder_get_widget(builder,"cmSevereRestrictionAdd");
|
|
|
|
|
add_widgets->chkSoftRestrictionTemp = yon_gtk_builder_get_widget(builder,"chkSoftRestrictionAdd");
|
|
|
|
|
add_widgets->spiSevereRestrictionTemp = yon_gtk_builder_get_widget(builder,"spiSevereRestrictionAdd");
|
|
|
|
|
add_widgets->cmSevereRestrictionTemp = yon_gtk_builder_get_widget(builder,"cmSevereRestrictionAdd");
|
|
|
|
|
|
|
|
|
|
add_widgets->chbAddRead = yon_gtk_builder_get_widget(builder,"chbAddRead");
|
|
|
|
|
add_widgets->spinAddRead = yon_gtk_builder_get_widget(builder,"spinAddRead");
|
|
|
|
|
add_widgets->cbtAddRead = yon_gtk_builder_get_widget(builder,"cbtAddRead");
|
|
|
|
|
add_widgets->chbTempRead = yon_gtk_builder_get_widget(builder,"chbAddRead");
|
|
|
|
|
add_widgets->spinTempRead = yon_gtk_builder_get_widget(builder,"spinAddRead");
|
|
|
|
|
add_widgets->cbtTempRead = yon_gtk_builder_get_widget(builder,"cbtAddRead");
|
|
|
|
|
|
|
|
|
|
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->spinTempWrite = yon_gtk_builder_get_widget(builder,"spinAddWrite");
|
|
|
|
|
add_widgets->chbTempWrite = yon_gtk_builder_get_widget(builder,"chbAddWrite");
|
|
|
|
|
add_widgets->cbtTempWrite = yon_gtk_builder_get_widget(builder,"cbtAddWrite");
|
|
|
|
|
add_widgets->boxBlockGui = yon_gtk_builder_get_widget(builder,"boxBlockGui");
|
|
|
|
|
device_fill_disk(add_widgets->cbtAddDevice);
|
|
|
|
|
device_fill_disk(add_widgets->cbtTempDevice);
|
|
|
|
|
add_event(add_widgets);
|
|
|
|
|
add_init_windows();
|
|
|
|
|
add_localization(add_widgets);
|
|
|
|
|
add_config_init();
|
|
|
|
|
philos_temp_config_init(&obj_add_config);
|
|
|
|
|
}
|
|
|
|
|
return add_widgets;
|
|
|
|
|
}
|
|
|
|
|
// flag_check_array = 0 READ
|
|
|
|
|
// flag_check_array = 1 WRITE
|
|
|
|
|
void update_device_to_entry(GtkWidget *combo_box, GtkWidget *combo_box_size, GtkWidget *check_button, GtkWidget *spin, int flag_check_array) {
|
|
|
|
|
int disk_id = gtk_combo_box_get_active(GTK_COMBO_BOX(combo_box));
|
|
|
|
|
char* disk = gtk_combo_box_text_get_active_text(GTK_COMBO_BOX_TEXT(add_widgets->cbtAddDevice));
|
|
|
|
|
disk = yon_char_divide_search(disk, " ", -1);
|
|
|
|
|
if (disk_id != -1) {
|
|
|
|
|
int index_find = -1;
|
|
|
|
|
for (int index = 0; index < obj_add_config.size; index++) {
|
|
|
|
|
char* disk_cfg = obj_add_config.disk[index];
|
|
|
|
|
if (strstr(disk_cfg, disk) != NULL) {
|
|
|
|
|
index_find = index;
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if (index_find != -1) {
|
|
|
|
|
if (flag_check_array==0) {
|
|
|
|
|
if (obj_add_config.i_o_limit_read[index_find]==-2) {
|
|
|
|
|
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(check_button), 0);
|
|
|
|
|
gtk_spin_button_set_value(GTK_SPIN_BUTTON(spin), 0);
|
|
|
|
|
gtk_combo_box_set_active(GTK_COMBO_BOX(combo_box_size), 0);
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
gtk_spin_button_set_value(GTK_SPIN_BUTTON(spin), obj_add_config.i_o_limit_read[index_find]);
|
|
|
|
|
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(check_button), 1);
|
|
|
|
|
gtk_combo_box_set_active(GTK_COMBO_BOX(combo_box_size), obj_add_config.i_o_limit_read_size[index_find]);
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else if (flag_check_array==1) {
|
|
|
|
|
if (obj_add_config.i_o_limit_write[index_find]==-2) {
|
|
|
|
|
gtk_spin_button_set_value(GTK_SPIN_BUTTON(spin), 0);
|
|
|
|
|
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(check_button), 0);
|
|
|
|
|
gtk_combo_box_set_active(GTK_COMBO_BOX(combo_box_size), 0);
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
gtk_spin_button_set_value(GTK_SPIN_BUTTON(spin), obj_add_config.i_o_limit_write[index_find]);
|
|
|
|
|
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(check_button), 1);
|
|
|
|
|
gtk_combo_box_set_active(GTK_COMBO_BOX(combo_box_size), obj_add_config.i_o_limit_write_size[index_find]);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
gtk_spin_button_set_value(GTK_SPIN_BUTTON(spin), 0);
|
|
|
|
|
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(check_button), 0);
|
|
|
|
|
gtk_combo_box_set_active(GTK_COMBO_BOX(combo_box_size), 0);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
gtk_spin_button_set_value(GTK_SPIN_BUTTON(spin), 0);
|
|
|
|
|
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(check_button), 0);
|
|
|
|
|
gtk_combo_box_set_active(GTK_COMBO_BOX(combo_box_size), 0);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
gtk_spin_button_set_value(GTK_SPIN_BUTTON(spin), 0);
|
|
|
|
|
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(check_button), 0);
|
|
|
|
|
gtk_combo_box_set_active(GTK_COMBO_BOX(combo_box_size), 0);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void add_config_init() {
|
|
|
|
|
if (obj_add_config.size != 0) {
|
|
|
|
|
philos_free_string_array(&obj_add_config.disk, obj_add_config.size);
|
|
|
|
|
philos_free_int_array(&obj_add_config.i_o_limit_read, obj_add_config.size);
|
|
|
|
|
philos_free_int_array(&obj_add_config.i_o_limit_read_size, obj_add_config.size);
|
|
|
|
|
philos_free_int_array(&obj_add_config.i_o_limit_write, obj_add_config.size);
|
|
|
|
|
philos_free_int_array(&obj_add_config.i_o_limit_write_size, obj_add_config.size);
|
|
|
|
|
}
|
|
|
|
|
obj_add_config.disk = NULL;
|
|
|
|
|
obj_add_config.i_o_limit_read = NULL;
|
|
|
|
|
obj_add_config.i_o_limit_write = NULL;
|
|
|
|
|
obj_add_config.i_o_limit_read_size = NULL;
|
|
|
|
|
obj_add_config.i_o_limit_write_size = NULL;
|
|
|
|
|
obj_add_config.size = 0;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void add_init_windows() {
|
|
|
|
|
if (gtk_combo_box_get_active(GTK_COMBO_BOX(add_widgets->cbxAddQuotaLevel2)) != -1) {
|
|
|
|
|
if (gtk_combo_box_get_active(GTK_COMBO_BOX(add_widgets->cbxTempQuotaLevel2)) != -1) {
|
|
|
|
|
gtk_widget_set_sensitive(add_widgets->boxBlockGui, 1);
|
|
|
|
|
gtk_widget_set_sensitive(add_widgets->btnSaveAddSave, 1);
|
|
|
|
|
philos_set_active_widgets(add_widgets->chkSoftRestrictionAdd, add_widgets->spiSevereRestrictionAdd, add_widgets->cmSevereRestrictionAdd, 0 , CMD_RAW);
|
|
|
|
|
philos_set_active_widgets(add_widgets->chkSevereRestrictionAdd, add_widgets->spinSevereRestrictionAdd, add_widgets->cmbSevereRestrictionAdd,0 , CMD_RAW);
|
|
|
|
|
philos_set_active_widgets(add_widgets->chkPaddingFLAdd, add_widgets->spinPaddingFLAdd, add_widgets->cmbPaddingFLAdd,0 , CMD_SWAP);
|
|
|
|
|
philos_set_active_widgets(add_widgets->chkCPULimitAdd, add_widgets->spinCPULimitAdd, add_widgets->lblCPULimitAdd,1 , CMD_CPU);
|
|
|
|
|
philos_set_active_widgets_device_io(add_widgets->cbtAddDevice,add_widgets->chbAddWrite, add_widgets->spinAddWrite, add_widgets->cbtAddWrite);
|
|
|
|
|
philos_set_active_widgets_device_io(add_widgets->cbtAddDevice,add_widgets->chbAddRead, add_widgets->spinAddRead, add_widgets->cbtAddRead);
|
|
|
|
|
add_generate_cmd();
|
|
|
|
|
gtk_widget_set_sensitive(add_widgets->btnSaveTempSave, 1);
|
|
|
|
|
philos_set_active_widgets(add_widgets->chkSoftRestrictionTemp, add_widgets->spiSevereRestrictionTemp, add_widgets->cmSevereRestrictionTemp, 0 , CMD_RAW);
|
|
|
|
|
philos_set_active_widgets(add_widgets->chkSevereRestrictionTemp, add_widgets->spinSevereRestrictionTemp, add_widgets->cmbSevereRestrictionTemp,0 , CMD_RAW);
|
|
|
|
|
philos_set_active_widgets(add_widgets->chkPaddingFLTemp, add_widgets->spinPaddingFLTemp, add_widgets->cmbPaddingFLTemp,0 , CMD_SWAP);
|
|
|
|
|
philos_set_active_widgets(add_widgets->chkCPULimitTemp, add_widgets->spinCPULimitTemp, add_widgets->lblCPULimitTemp,1 , CMD_CPU);
|
|
|
|
|
philos_set_active_widgets_device_io(add_widgets->cbtTempDevice,add_widgets->chbTempWrite, add_widgets->spinTempWrite, add_widgets->cbtTempWrite);
|
|
|
|
|
philos_set_active_widgets_device_io(add_widgets->cbtTempDevice,add_widgets->chbTempRead, add_widgets->spinTempRead, add_widgets->cbtTempRead);
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
gtk_widget_set_sensitive(add_widgets->boxBlockGui, 0);
|
|
|
|
|
gtk_widget_set_sensitive(add_widgets->btnSaveAddSave, 0);
|
|
|
|
|
add_generate_cmd();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
int check_activ_disk() {
|
|
|
|
|
char* disk = gtk_combo_box_text_get_active_text(GTK_COMBO_BOX_TEXT(add_widgets->cbtAddDevice));
|
|
|
|
|
disk = yon_char_divide_search(disk," ", -1);
|
|
|
|
|
int bool_read = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(add_widgets->chbAddRead));
|
|
|
|
|
int bool_write = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(add_widgets->chbAddWrite));
|
|
|
|
|
if (disk == NULL || obj_add_config.size == 0) {
|
|
|
|
|
return 0;
|
|
|
|
|
}
|
|
|
|
|
return 1;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void add_del_disk() {
|
|
|
|
|
char* disk = gtk_combo_box_text_get_active_text(GTK_COMBO_BOX_TEXT(add_widgets->cbtAddDevice));
|
|
|
|
|
disk = yon_char_divide_search(disk, " ", -1);
|
|
|
|
|
int bool_read = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(add_widgets->chbAddRead));
|
|
|
|
|
int bool_write = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(add_widgets->chbAddWrite));
|
|
|
|
|
if (check_activ_disk() == 0) {
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
if (obj_add_config.disk && obj_add_config.size) {
|
|
|
|
|
int index_find = -1;
|
|
|
|
|
printf("%d\n", obj_add_config.size);
|
|
|
|
|
for (int index = 0; index < obj_add_config.size; index++) {
|
|
|
|
|
char* disk_cfg = obj_add_config.disk[index];
|
|
|
|
|
if (strstr(disk_cfg, disk) != NULL) {
|
|
|
|
|
index_find = index;
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if ((bool_read == 0 && bool_write == 0 && index_find != -1)) {
|
|
|
|
|
obj_add_config.disk = yon_char_parsed_shrink(obj_add_config.disk,&obj_add_config.size, index_find);
|
|
|
|
|
obj_add_config.size++;
|
|
|
|
|
obj_add_config.i_o_limit_read_size = remove_element_int_array(obj_add_config.i_o_limit_read_size,&obj_add_config.size, index_find);
|
|
|
|
|
obj_add_config.size++;
|
|
|
|
|
obj_add_config.i_o_limit_write_size = remove_element_int_array(obj_add_config.i_o_limit_write_size,&obj_add_config.size, index_find);
|
|
|
|
|
obj_add_config.size++;
|
|
|
|
|
obj_add_config.i_o_limit_read = remove_element_int_array(obj_add_config.i_o_limit_read,&obj_add_config.size, index_find);
|
|
|
|
|
obj_add_config.size++;
|
|
|
|
|
obj_add_config.i_o_limit_write = remove_element_int_array(obj_add_config.i_o_limit_write,&obj_add_config.size, index_find);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
char* pard_array_add_cmd(char* cmd, char* key, int* array_io, int* array_io_pow_size) {
|
|
|
|
|
char* split_simvol = g_malloc0(sizeof(char)*2);
|
|
|
|
|
int flag_format = 0;
|
|
|
|
|
char* cmd_old = yon_char_new(cmd);
|
|
|
|
|
if (obj_add_config.disk && obj_add_config.size && array_io && array_io_pow_size) {
|
|
|
|
|
int index_find = 0;
|
|
|
|
|
printf("\n%i\n", obj_add_config.size);
|
|
|
|
|
for (int index = 0; index < obj_add_config.size; index++) {
|
|
|
|
|
if (index==0) {
|
|
|
|
|
if (strlen(cmd)>1) {
|
|
|
|
|
cmd = yon_char_unite(cmd, ",", key, NULL);
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
cmd = yon_char_unite(cmd, key, NULL);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
if (array_io_pow_size[index] != -1) {
|
|
|
|
|
cmd = yon_char_unite(cmd,
|
|
|
|
|
split_simvol,
|
|
|
|
|
obj_add_config.disk[index],
|
|
|
|
|
philos_format_cfg_str_size_memory(" ", array_io[index], array_io_pow_size[index]), NULL);
|
|
|
|
|
split_simvol[0] = ',';
|
|
|
|
|
split_simvol[1] = '\0';
|
|
|
|
|
flag_format = 1;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
free(split_simvol);
|
|
|
|
|
if (flag_format) {
|
|
|
|
|
return cmd;
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
return cmd_old;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void add_disk_all(){
|
|
|
|
|
char* disk = gtk_combo_box_text_get_active_text(GTK_COMBO_BOX_TEXT(add_widgets->cbtAddDevice));
|
|
|
|
|
disk = yon_char_divide_search(disk, " ", -1);
|
|
|
|
|
int disk_id = gtk_combo_box_get_active(GTK_COMBO_BOX(add_widgets->cbtAddDevice));
|
|
|
|
|
int bool_read = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(add_widgets->chbAddRead));
|
|
|
|
|
int bool_write = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(add_widgets->chbAddWrite));
|
|
|
|
|
if (disk_id >= 0 && obj_add_config.size !=0) {
|
|
|
|
|
int index_find = -1;
|
|
|
|
|
for (int index = 0; index < obj_add_config.size; index++) {
|
|
|
|
|
char* disk_cfg = obj_add_config.disk[index];
|
|
|
|
|
if (strstr(disk_cfg, disk) != NULL) {
|
|
|
|
|
index_find = index;
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if (index_find == -1) {
|
|
|
|
|
// Добавление
|
|
|
|
|
obj_add_config.disk = yon_char_parsed_append(obj_add_config.disk,&obj_add_config.size, disk);
|
|
|
|
|
obj_add_config.size--;
|
|
|
|
|
if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(add_widgets->chbAddRead))) {
|
|
|
|
|
obj_add_config.i_o_limit_read_size = philos_int_append(obj_add_config.i_o_limit_read_size,&obj_add_config.size,(int)gtk_combo_box_get_active(GTK_COMBO_BOX(add_widgets->cbtAddRead)));
|
|
|
|
|
obj_add_config.size--;
|
|
|
|
|
obj_add_config.i_o_limit_read = philos_int_append(obj_add_config.i_o_limit_read,&obj_add_config.size,gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(add_widgets->spinAddRead)));
|
|
|
|
|
obj_add_config.size--;
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
obj_add_config.i_o_limit_read_size = philos_int_append(obj_add_config.i_o_limit_read_size,&obj_add_config.size,-1);
|
|
|
|
|
obj_add_config.size--;
|
|
|
|
|
obj_add_config.i_o_limit_read = philos_int_append(obj_add_config.i_o_limit_read,&obj_add_config.size,-1);
|
|
|
|
|
obj_add_config.size--;
|
|
|
|
|
}
|
|
|
|
|
if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(add_widgets->chbAddWrite))) {
|
|
|
|
|
obj_add_config.i_o_limit_write_size = philos_int_append(obj_add_config.i_o_limit_write_size,&obj_add_config.size,(int)gtk_combo_box_get_active(GTK_COMBO_BOX(add_widgets->cbtAddWrite)));
|
|
|
|
|
obj_add_config.size--;
|
|
|
|
|
obj_add_config.i_o_limit_write = philos_int_append(obj_add_config.i_o_limit_write,&obj_add_config.size,gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(add_widgets->spinAddWrite)));
|
|
|
|
|
obj_add_config.size--;
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
obj_add_config.i_o_limit_write_size = philos_int_append(obj_add_config.i_o_limit_write_size,&obj_add_config.size,-1);
|
|
|
|
|
obj_add_config.size--;
|
|
|
|
|
obj_add_config.i_o_limit_write = philos_int_append(obj_add_config.i_o_limit_write,&obj_add_config.size,-1);
|
|
|
|
|
obj_add_config.size--;
|
|
|
|
|
}
|
|
|
|
|
obj_add_config.size++;
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
// Редактирование
|
|
|
|
|
//obj_add_config.disk[index_find] = yon_char_new(disk);
|
|
|
|
|
if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(add_widgets->chbAddRead))) {
|
|
|
|
|
obj_add_config.i_o_limit_read_size[index_find] =(int)gtk_combo_box_get_active(GTK_COMBO_BOX(add_widgets->cbtAddRead));
|
|
|
|
|
obj_add_config.i_o_limit_read[index_find] = gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(add_widgets->spinAddRead));
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
obj_add_config.i_o_limit_read_size[index_find] = -1;
|
|
|
|
|
obj_add_config.i_o_limit_read[index_find] = -1;
|
|
|
|
|
}
|
|
|
|
|
if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(add_widgets->chbAddWrite))) {
|
|
|
|
|
obj_add_config.i_o_limit_write_size[index_find] = (int)gtk_combo_box_get_active(GTK_COMBO_BOX(add_widgets->cbtAddWrite));
|
|
|
|
|
obj_add_config.i_o_limit_write[index_find] = gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(add_widgets->spinAddWrite));
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
obj_add_config.i_o_limit_write_size[index_find] = -1;
|
|
|
|
|
obj_add_config.i_o_limit_write[index_find] = -1;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
if (bool_read == 1 || bool_write == 1) {
|
|
|
|
|
obj_add_config.disk = yon_char_parsed_append(obj_add_config.disk,&obj_add_config.size, disk);
|
|
|
|
|
obj_add_config.size--;
|
|
|
|
|
if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(add_widgets->chbAddRead))) {
|
|
|
|
|
obj_add_config.i_o_limit_read_size = philos_int_append(obj_add_config.i_o_limit_read_size,&obj_add_config.size,(int)gtk_combo_box_get_active(GTK_COMBO_BOX(add_widgets->cbtAddRead)));
|
|
|
|
|
obj_add_config.size--;
|
|
|
|
|
obj_add_config.i_o_limit_read = philos_int_append(obj_add_config.i_o_limit_read,&obj_add_config.size,gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(add_widgets->spinAddRead)));
|
|
|
|
|
obj_add_config.size--;
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
obj_add_config.i_o_limit_read_size = philos_int_append(obj_add_config.i_o_limit_read_size,&obj_add_config.size,-1);
|
|
|
|
|
obj_add_config.size--;
|
|
|
|
|
obj_add_config.i_o_limit_read = philos_int_append(obj_add_config.i_o_limit_read,&obj_add_config.size,-1);
|
|
|
|
|
obj_add_config.size--;
|
|
|
|
|
}
|
|
|
|
|
if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(add_widgets->chbAddWrite))) {
|
|
|
|
|
obj_add_config.i_o_limit_write_size = philos_int_append(obj_add_config.i_o_limit_write_size,&obj_add_config.size,(int)gtk_combo_box_get_active(GTK_COMBO_BOX(add_widgets->cbtAddWrite)));
|
|
|
|
|
obj_add_config.size--;
|
|
|
|
|
obj_add_config.i_o_limit_write = philos_int_append(obj_add_config.i_o_limit_write,&obj_add_config.size,gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(add_widgets->spinAddWrite)));
|
|
|
|
|
obj_add_config.size--;
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
obj_add_config.i_o_limit_write_size = philos_int_append(obj_add_config.i_o_limit_write_size,&obj_add_config.size,-1);
|
|
|
|
|
obj_add_config.size--;
|
|
|
|
|
obj_add_config.i_o_limit_write = philos_int_append(obj_add_config.i_o_limit_write,&obj_add_config.size,-1);
|
|
|
|
|
obj_add_config.size--;
|
|
|
|
|
}
|
|
|
|
|
obj_add_config.size++;
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
}
|
|
|
|
|
gtk_widget_set_sensitive(add_widgets->btnSaveTempSave, 0);
|
|
|
|
|
}
|
|
|
|
|
philos_temp_generate_cmd(add_widgets, &obj_add_config);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void event_check_io_device() {
|
|
|
|
|
philos_set_active_widgets_device_io(add_widgets->cbtAddDevice,add_widgets->chbAddWrite, add_widgets->spinAddWrite, add_widgets->cbtAddWrite);
|
|
|
|
|
philos_set_active_widgets_device_io(add_widgets->cbtAddDevice,add_widgets->chbAddRead, add_widgets->spinAddRead, add_widgets->cbtAddRead);
|
|
|
|
|
add_disk_all();
|
|
|
|
|
add_del_disk();
|
|
|
|
|
philos_set_active_widgets_device_io(add_widgets->cbtTempDevice,add_widgets->chbTempWrite, add_widgets->spinTempWrite, add_widgets->cbtTempWrite);
|
|
|
|
|
philos_set_active_widgets_device_io(add_widgets->cbtTempDevice,add_widgets->chbTempRead, add_widgets->spinTempRead, add_widgets->cbtTempRead);
|
|
|
|
|
philos_temp_add_disk(add_widgets, &obj_add_config);
|
|
|
|
|
philos_temp_del_disk(add_widgets, &obj_add_config);
|
|
|
|
|
add_init_windows();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void combo_box_device() {
|
|
|
|
|
update_device_to_entry(add_widgets->cbtAddDevice,add_widgets->cbtAddRead, add_widgets->chbAddRead, add_widgets->spinAddRead, 0);
|
|
|
|
|
update_device_to_entry(add_widgets->cbtAddDevice,add_widgets->cbtAddWrite, add_widgets->chbAddWrite, add_widgets->spinAddWrite, 1);
|
|
|
|
|
philos_update_device_to_entry(add_widgets, &obj_add_config, 0);
|
|
|
|
|
philos_update_device_to_entry(add_widgets, &obj_add_config, 1);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void add_event(add_window *widgets) {
|
|
|
|
|
g_signal_connect(G_OBJECT(widgets->btnAddCancel),"clicked",G_CALLBACK(add_on_destroy_subwindow),NULL);
|
|
|
|
|
void add_event(temp_set_window *widgets) {
|
|
|
|
|
g_signal_connect(G_OBJECT(widgets->btnTempCancel),"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);
|
|
|
|
|
g_signal_connect(G_OBJECT(widgets->chkPaddingFLAdd), "toggled", G_CALLBACK(add_init_windows), NULL);
|
|
|
|
|
g_signal_connect(G_OBJECT(widgets->chkCPULimitAdd), "toggled", G_CALLBACK(add_init_windows), NULL);
|
|
|
|
|
g_signal_connect(G_OBJECT(widgets->chbAddRead), "toggled", G_CALLBACK(event_check_io_device), NULL);
|
|
|
|
|
g_signal_connect(G_OBJECT(widgets->chbAddWrite), "toggled", G_CALLBACK(event_check_io_device), 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->chkSoftRestrictionTemp), "toggled", G_CALLBACK(add_init_windows), NULL);
|
|
|
|
|
g_signal_connect(G_OBJECT(widgets->chkSevereRestrictionTemp), "toggled", G_CALLBACK(add_init_windows), NULL);
|
|
|
|
|
g_signal_connect(G_OBJECT(widgets->chkPaddingFLTemp), "toggled", G_CALLBACK(add_init_windows), NULL);
|
|
|
|
|
g_signal_connect(G_OBJECT(widgets->chkCPULimitTemp), "toggled", G_CALLBACK(add_init_windows), NULL);
|
|
|
|
|
|
|
|
|
|
g_signal_connect(G_OBJECT(widgets->cbxTempQuotaObj),"changed",G_CALLBACK(add_update_combo_box), NULL);
|
|
|
|
|
g_signal_connect(G_OBJECT(widgets->cbxTempQuotaLevel2),"changed",G_CALLBACK(add_init_windows), NULL);
|
|
|
|
|
|
|
|
|
|
g_signal_connect(G_OBJECT(widgets->spiSevereRestrictionTemp),"changed",G_CALLBACK(add_init_windows), NULL);
|
|
|
|
|
g_signal_connect(G_OBJECT(widgets->spinSevereRestrictionTemp),"changed",G_CALLBACK(add_init_windows), NULL);
|
|
|
|
|
g_signal_connect(G_OBJECT(widgets->spinPaddingFLTemp),"changed",G_CALLBACK(add_init_windows), NULL);
|
|
|
|
|
g_signal_connect(G_OBJECT(widgets->spinCPULimitTemp),"changed",G_CALLBACK(add_init_windows), NULL);
|
|
|
|
|
|
|
|
|
|
g_signal_connect(G_OBJECT(widgets->spiSevereRestrictionAdd),"changed",G_CALLBACK(add_init_windows), NULL);
|
|
|
|
|
g_signal_connect(G_OBJECT(widgets->spinSevereRestrictionAdd),"changed",G_CALLBACK(add_init_windows), NULL);
|
|
|
|
|
g_signal_connect(G_OBJECT(widgets->spinPaddingFLAdd),"changed",G_CALLBACK(add_init_windows), NULL);
|
|
|
|
|
g_signal_connect(G_OBJECT(widgets->spinCPULimitAdd),"changed",G_CALLBACK(add_init_windows), NULL);
|
|
|
|
|
g_signal_connect(G_OBJECT(widgets->spinAddRead),"changed",G_CALLBACK(event_check_io_device), NULL);
|
|
|
|
|
g_signal_connect(G_OBJECT(widgets->spinAddWrite),"changed",G_CALLBACK(event_check_io_device), NULL);
|
|
|
|
|
|
|
|
|
|
g_signal_connect(G_OBJECT(widgets->cmSevereRestrictionAdd),"changed",G_CALLBACK(add_init_windows), NULL);
|
|
|
|
|
g_signal_connect(G_OBJECT(widgets->cmbSevereRestrictionAdd),"changed",G_CALLBACK(add_init_windows), NULL);
|
|
|
|
|
g_signal_connect(G_OBJECT(widgets->cmbPaddingFLAdd),"changed",G_CALLBACK(add_init_windows), NULL);
|
|
|
|
|
g_signal_connect(G_OBJECT(widgets->cbtAddRead),"changed",G_CALLBACK(event_check_io_device), NULL);
|
|
|
|
|
g_signal_connect(G_OBJECT(widgets->cbtAddWrite),"changed",G_CALLBACK(event_check_io_device), NULL);
|
|
|
|
|
g_signal_connect(G_OBJECT(widgets->cbtAddDevice),"changed",G_CALLBACK(combo_box_device), NULL);
|
|
|
|
|
g_signal_connect(G_OBJECT(widgets->cmSevereRestrictionTemp),"changed",G_CALLBACK(add_init_windows), NULL);
|
|
|
|
|
g_signal_connect(G_OBJECT(widgets->cmbSevereRestrictionTemp),"changed",G_CALLBACK(add_init_windows), NULL);
|
|
|
|
|
g_signal_connect(G_OBJECT(widgets->cmbPaddingFLTemp),"changed",G_CALLBACK(add_init_windows), NULL);
|
|
|
|
|
|
|
|
|
|
g_signal_connect(G_OBJECT(widgets->cbtTempDevice),"changed",G_CALLBACK(combo_box_device), NULL);
|
|
|
|
|
g_signal_connect(G_OBJECT(widgets->cbtTempRead),"changed",G_CALLBACK(event_check_io_device), NULL);
|
|
|
|
|
g_signal_connect(G_OBJECT(widgets->cbtTempWrite),"changed",G_CALLBACK(event_check_io_device), NULL);
|
|
|
|
|
g_signal_connect(G_OBJECT(widgets->spinTempRead),"changed",G_CALLBACK(event_check_io_device), NULL);
|
|
|
|
|
g_signal_connect(G_OBJECT(widgets->spinTempWrite),"changed",G_CALLBACK(event_check_io_device), NULL);
|
|
|
|
|
g_signal_connect(G_OBJECT(widgets->chbTempRead), "toggled", G_CALLBACK(event_check_io_device), NULL);
|
|
|
|
|
g_signal_connect(G_OBJECT(widgets->chbTempWrite), "toggled", G_CALLBACK(event_check_io_device), NULL);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -383,7 +125,7 @@ void add_destroy(GtkWidget *self) {
|
|
|
|
|
add_widgets = NULL;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void add_localization(add_window *widgets) {
|
|
|
|
|
void add_localization(temp_set_window *widgets) {
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -393,7 +135,7 @@ void add_on_destroy_subwindow(GtkWidget *self) {
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
add_window *get_widget_add() {
|
|
|
|
|
temp_set_window *get_widget_add() {
|
|
|
|
|
return add_widgets;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -412,7 +154,7 @@ void add_show(GtkWidget *self, char* glade_path) {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
char* add_get_select_device_to_level_2() {
|
|
|
|
|
char* text = gtk_combo_box_text_get_active_text(GTK_COMBO_BOX_TEXT(add_widgets->cbxAddQuotaLevel2));
|
|
|
|
|
char* text = gtk_combo_box_text_get_active_text(GTK_COMBO_BOX_TEXT(add_widgets->cbxTempQuotaLevel2));
|
|
|
|
|
if (text != NULL) {
|
|
|
|
|
return text;
|
|
|
|
|
}
|
|
|
|
@ -451,43 +193,65 @@ char*** add_get_select_device() {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
int add_get_soft_size() {
|
|
|
|
|
return gtk_combo_box_get_active(GTK_COMBO_BOX(add_widgets->cmSevereRestrictionAdd));
|
|
|
|
|
if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(add_widgets->chkSoftRestrictionTemp))) {
|
|
|
|
|
return gtk_combo_box_get_active(GTK_COMBO_BOX(add_widgets->cmSevereRestrictionTemp));
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
return -3;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
int add_get_hard_size() {
|
|
|
|
|
return gtk_combo_box_get_active(GTK_COMBO_BOX(add_widgets->cmbSevereRestrictionAdd));
|
|
|
|
|
if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(add_widgets->chkSevereRestrictionTemp))) {
|
|
|
|
|
return gtk_combo_box_get_active(GTK_COMBO_BOX(add_widgets->cmbSevereRestrictionTemp));
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
return -3;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
int add_get_limit_cpu_size() {
|
|
|
|
|
return -1;
|
|
|
|
|
}
|
|
|
|
|
int add_get_limit_swap_size() {
|
|
|
|
|
return gtk_combo_box_get_active(GTK_COMBO_BOX(add_widgets->cmbPaddingFLAdd));
|
|
|
|
|
if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(add_widgets->chkPaddingFLTemp))) {
|
|
|
|
|
return gtk_combo_box_get_active(GTK_COMBO_BOX(add_widgets->cmbPaddingFLTemp));
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
return -3;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
int add_get_quota_object_size() {
|
|
|
|
|
return gtk_combo_box_get_active(GTK_COMBO_BOX(add_widgets->cbxAddQuotaObj));
|
|
|
|
|
if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(add_widgets->chkPaddingFLTemp))) {
|
|
|
|
|
return gtk_combo_box_get_active(GTK_COMBO_BOX(add_widgets->cbxTempQuotaObj));
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
return -3;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
int add_get_soft() {
|
|
|
|
|
return gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(add_widgets->spiSevereRestrictionAdd));
|
|
|
|
|
return gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(add_widgets->spiSevereRestrictionTemp));
|
|
|
|
|
}
|
|
|
|
|
int add_get_hard() {
|
|
|
|
|
return gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(add_widgets->spinSevereRestrictionAdd));
|
|
|
|
|
return gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(add_widgets->spinSevereRestrictionTemp));
|
|
|
|
|
}
|
|
|
|
|
int add_get_limit_cpu() {
|
|
|
|
|
if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(add_widgets->chkCPULimitAdd))) {
|
|
|
|
|
return gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(add_widgets->spinCPULimitAdd));
|
|
|
|
|
if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(add_widgets->chkCPULimitTemp))) {
|
|
|
|
|
return gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(add_widgets->spinCPULimitTemp));
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
return 0;
|
|
|
|
|
return -3;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
int add_get_limit_swap() {
|
|
|
|
|
return gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(add_widgets->spinPaddingFLAdd));
|
|
|
|
|
return gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(add_widgets->spinPaddingFLTemp));
|
|
|
|
|
}
|
|
|
|
|
char* add_get_quota_object() {
|
|
|
|
|
return gtk_combo_box_text_get_active_text(GTK_COMBO_BOX_TEXT(add_widgets->cbxAddQuotaObj));
|
|
|
|
|
return gtk_combo_box_text_get_active_text(GTK_COMBO_BOX_TEXT(add_widgets->cbxTempQuotaObj));
|
|
|
|
|
}
|
|
|
|
|
void add_update_combo_box() {
|
|
|
|
|
int menu_id = gtk_combo_box_get_active(GTK_COMBO_BOX(add_widgets->cbxAddQuotaObj));
|
|
|
|
|
int menu_id = gtk_combo_box_get_active(GTK_COMBO_BOX(add_widgets->cbxTempQuotaObj));
|
|
|
|
|
char* cmd = NULL;
|
|
|
|
|
config_str fill_cmb_2 = NULL;
|
|
|
|
|
int size = 0;
|
|
|
|
@ -508,60 +272,9 @@ void add_update_combo_box() {
|
|
|
|
|
philos_array_string_remove_char(&fill_cmb_2, "\n", size);
|
|
|
|
|
}
|
|
|
|
|
if (menu_id >= 0) {
|
|
|
|
|
gtk_combo_box_text_remove_all(GTK_COMBO_BOX_TEXT(add_widgets->cbxAddQuotaLevel2));
|
|
|
|
|
philos_fill_combo_box_text(add_widgets->cbxAddQuotaLevel2, fill_cmb_2, size);
|
|
|
|
|
gtk_combo_box_text_remove_all(GTK_COMBO_BOX_TEXT(add_widgets->cbxTempQuotaLevel2));
|
|
|
|
|
philos_fill_combo_box_text(add_widgets->cbxTempQuotaLevel2, fill_cmb_2, size);
|
|
|
|
|
// yon_terminal_integrated_launch(widgets->vteProcesses, cmd, NULL, NULL);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
void add_generate_cmd() {
|
|
|
|
|
char* str_cmd = "";
|
|
|
|
|
char* split_simvol = g_malloc0(sizeof(char)*2);
|
|
|
|
|
int size_bite = 0;
|
|
|
|
|
if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(add_widgets->chkSoftRestrictionAdd))) {
|
|
|
|
|
size_bite = gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(add_widgets->spiSevereRestrictionAdd));
|
|
|
|
|
str_cmd = yon_char_unite(str_cmd,
|
|
|
|
|
"MemoryHigh=",
|
|
|
|
|
yon_char_from_int(size_bite),
|
|
|
|
|
philos_str_size_pow_byte(add_widgets->cmSevereRestrictionAdd), NULL);
|
|
|
|
|
split_simvol[0] = ',';
|
|
|
|
|
split_simvol[1] = '\0';
|
|
|
|
|
}
|
|
|
|
|
if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(add_widgets->chkSevereRestrictionAdd))) {
|
|
|
|
|
size_bite = gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(add_widgets->spinSevereRestrictionAdd));
|
|
|
|
|
str_cmd = yon_char_unite(str_cmd, split_simvol,
|
|
|
|
|
"MemoryMax=",
|
|
|
|
|
yon_char_from_int(size_bite),
|
|
|
|
|
philos_str_size_pow_byte(add_widgets->cmbSevereRestrictionAdd), NULL);
|
|
|
|
|
split_simvol[0] = ',';
|
|
|
|
|
split_simvol[1] = '\0';
|
|
|
|
|
}
|
|
|
|
|
if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(add_widgets->chkPaddingFLAdd))) {
|
|
|
|
|
size_bite = gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(add_widgets->spinPaddingFLAdd));
|
|
|
|
|
str_cmd = yon_char_unite(str_cmd, split_simvol,
|
|
|
|
|
"MemorySwapMax=",
|
|
|
|
|
yon_char_from_int(size_bite),
|
|
|
|
|
philos_str_size_pow_byte(add_widgets->cmbPaddingFLAdd), NULL);
|
|
|
|
|
split_simvol[0] = ',';
|
|
|
|
|
split_simvol[1] = '\0';
|
|
|
|
|
}
|
|
|
|
|
if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(add_widgets->chkCPULimitAdd))) {
|
|
|
|
|
size_bite = gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(add_widgets->spinCPULimitAdd));
|
|
|
|
|
str_cmd = yon_char_unite(str_cmd, split_simvol,
|
|
|
|
|
"CPUQuota=",
|
|
|
|
|
yon_char_from_int(size_bite),
|
|
|
|
|
"%", NULL);
|
|
|
|
|
split_simvol[0] = ',';
|
|
|
|
|
split_simvol[1] = '\0';
|
|
|
|
|
}
|
|
|
|
|
if (gtk_combo_box_get_active(GTK_COMBO_BOX(add_widgets->cbtAddDevice))!=-1) {
|
|
|
|
|
if (obj_add_config.size!=0) {
|
|
|
|
|
str_cmd = pard_array_add_cmd(str_cmd, "IOReadBandwidthMax=", obj_add_config.i_o_limit_read, obj_add_config.i_o_limit_read_size);
|
|
|
|
|
str_cmd = pard_array_add_cmd(str_cmd, "IOWriteBandwidthMax=", obj_add_config.i_o_limit_write, obj_add_config.i_o_limit_write_size);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
gtk_entry_set_text(GTK_ENTRY(add_widgets->entryAddCmd), str_cmd);
|
|
|
|
|
free(split_simvol);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|