Частично исправлен выбор блочных устройств

pull/4/head
Igor Belitskiy 2 years ago
parent 8643957c5b
commit 71166106d1

@ -43,7 +43,7 @@
#define CMD_GET_GROUP "cut -d: -f1 /etc/group" #define CMD_GET_GROUP "cut -d: -f1 /etc/group"
typedef char *string; typedef char *string;
string version_application = "1.2-37-g328deff"; string version_application = "1.2-38-g8643957";
static char *local; static char *local;

@ -1586,20 +1586,20 @@ void philos_set_active_widgets_device_io(GtkWidget* combo_to_l2,GtkWidget *check
int menu_id = gtk_combo_box_get_active(GTK_COMBO_BOX(combo_to_l2)); int menu_id = gtk_combo_box_get_active(GTK_COMBO_BOX(combo_to_l2));
if (menu_id != -1) { if (menu_id != -1) {
gboolean active = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(check)); gboolean active = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(check));
gtk_widget_set_sensitive(spin, active); if (active == 0) {
gtk_widget_set_sensitive(combo, active);
if (gtk_spin_button_get_digits(GTK_SPIN_BUTTON(spin))>0) {
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(check),1);
}
else if (active == 0) {
gtk_spin_button_set_digits(GTK_SPIN_BUTTON(spin), 0); gtk_spin_button_set_digits(GTK_SPIN_BUTTON(spin), 0);
} }
else if (gtk_spin_button_get_digits(GTK_SPIN_BUTTON(spin))>0) {
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(check),1);
}
gtk_widget_set_sensitive(spin, active);
gtk_widget_set_sensitive(combo, active);
} }
else { else {
gtk_spin_button_set_digits(GTK_SPIN_BUTTON(spin), 0);
gtk_widget_set_sensitive(spin, 0); gtk_widget_set_sensitive(spin, 0);
gtk_widget_set_sensitive(combo, 0); gtk_widget_set_sensitive(combo, 0);
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(check), 0); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(check), 0);
gtk_spin_button_set_digits(GTK_SPIN_BUTTON(spin), 0);
} }
philos_set_spin_adjustment(check, spin, combo, 12582912); philos_set_spin_adjustment(check, spin, combo, 12582912);
} }

@ -52,11 +52,55 @@ add_window *add_setup_window(char* glade_path) {
} }
return add_widgets; return add_widgets;
} }
void update_device_to_entry(GtkWidget *combo_box, GtkWidget *check_button_read, GtkWidget *check_button_write) { // flag_check_array = 0 READ
// flag_check_array = 1 WRITE
void update_device_to_entry(GtkWidget *combo_box, GtkWidget *check_button, GtkWidget *spin, int flag_check_array) {
int disk_id = gtk_combo_box_get_active(GTK_COMBO_BOX(combo_box)); 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) { if (disk_id != -1) {
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(check_button_read), 0); int index_find = -1;
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(check_button_write), 0); for (int index = 0; index < obj_add_config.size; index++) {
char* disk_cfg = yon_char_new(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 (strstr(obj_add_config.i_o_limit_read[index_find],"-")) {
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(check_button), 0);
gtk_spin_button_set_value(GTK_SPIN_BUTTON(spin), 0);
}
else {
gtk_spin_button_set_value(GTK_SPIN_BUTTON(spin), atoll(obj_add_config.i_o_limit_read[index_find]));
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(check_button), 1);
}
}
else if (flag_check_array==1) {
if (strstr(obj_add_config.i_o_limit_write[index_find],"-")) {
gtk_spin_button_set_value(GTK_SPIN_BUTTON(spin), 0);
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(check_button), 0);
}
else {
gtk_spin_button_set_value(GTK_SPIN_BUTTON(spin), atoll(obj_add_config.i_o_limit_write[index_find]));
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(check_button), 1);
}
}
else {
gtk_spin_button_set_value(GTK_SPIN_BUTTON(spin), 0);
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(check_button), 0);
}
}
else {
gtk_spin_button_set_value(GTK_SPIN_BUTTON(spin), 0);
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(check_button), 0);
}
}
else {
gtk_spin_button_set_value(GTK_SPIN_BUTTON(spin), 0);
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(check_button), 0);
} }
} }
@ -116,8 +160,9 @@ void add_del_disk() {
} }
if (obj_add_config.disk && obj_add_config.size) { if (obj_add_config.disk && obj_add_config.size) {
int index_find = -1; int index_find = -1;
printf("%d\n", obj_add_config.size);
for (int index = 0; index < obj_add_config.size; index++) { for (int index = 0; index < obj_add_config.size; index++) {
char* disk_cfg = yon_char_new(obj_add_config.disk[index]); char* disk_cfg = obj_add_config.disk[index];
if (strstr(disk_cfg, disk) != NULL) { if (strstr(disk_cfg, disk) != NULL) {
index_find = index; index_find = index;
break; break;
@ -154,8 +199,6 @@ char* pard_array_add_cmd(char* cmd, char* key, char** array_io, int* array_io_po
} }
} }
printf("\n%i\n", array_io_pow_size[index]);
puts(key);
if (array_io_pow_size[index] != -1) { if (array_io_pow_size[index] != -1) {
cmd = yon_char_unite(cmd, cmd = yon_char_unite(cmd,
split_simvol, split_simvol,
@ -167,7 +210,6 @@ char* pard_array_add_cmd(char* cmd, char* key, char** array_io, int* array_io_po
} }
} }
} }
puts("================================================");
free(split_simvol); free(split_simvol);
if (flag_format) { if (flag_format) {
return cmd; return cmd;
@ -195,12 +237,9 @@ void add_disk_all(){
} }
if (index_find == -1) { if (index_find == -1) {
// Добавление // Добавление
puts("hhhhhhh1");
if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(add_widgets->chbAddRead)) || obj_add_config.disk = yon_char_parsed_append(obj_add_config.disk,&obj_add_config.size, disk);
gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(add_widgets->chbAddWrite))) { obj_add_config.size--;
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))) { 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.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.size--;
@ -208,9 +247,9 @@ void add_disk_all(){
obj_add_config.size--; obj_add_config.size--;
} }
else { 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.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.size--;
obj_add_config.i_o_limit_write = yon_char_parsed_append(obj_add_config.i_o_limit_write,&obj_add_config.size,"-"); obj_add_config.i_o_limit_read = yon_char_parsed_append(obj_add_config.i_o_limit_read,&obj_add_config.size,"-");
obj_add_config.size--; obj_add_config.size--;
} }
if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(add_widgets->chbAddWrite))) { if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(add_widgets->chbAddWrite))) {
@ -231,6 +270,7 @@ void add_disk_all(){
else { else {
// Редактирование // Редактирование
//obj_add_config.disk[index_find] = yon_char_new(disk); //obj_add_config.disk[index_find] = yon_char_new(disk);
puts("hhhhhhh2");
if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(add_widgets->chbAddRead))) { 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_size[index_find] =(int)gtk_combo_box_get_active(GTK_COMBO_BOX(add_widgets->cbtAddRead));
obj_add_config.i_o_limit_read[index_find] = yon_char_from_int(gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(add_widgets->spinAddRead))); obj_add_config.i_o_limit_read[index_find] = yon_char_from_int(gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(add_widgets->spinAddRead)));
@ -263,9 +303,9 @@ void add_disk_all(){
obj_add_config.size--; obj_add_config.size--;
} }
else { 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.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.size--;
obj_add_config.i_o_limit_write = yon_char_parsed_append(obj_add_config.i_o_limit_write,&obj_add_config.size,"-"); obj_add_config.i_o_limit_read = yon_char_parsed_append(obj_add_config.i_o_limit_read,&obj_add_config.size,"-");
obj_add_config.size--; obj_add_config.size--;
} }
if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(add_widgets->chbAddWrite))) { if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(add_widgets->chbAddWrite))) {
@ -283,7 +323,6 @@ void add_disk_all(){
obj_add_config.size++; obj_add_config.size++;
} }
else { else {
puts("222sdvdfvdvfv\n");
} }
} }
} }
@ -291,14 +330,14 @@ void add_disk_all(){
void event_check_io_device() { 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->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); philos_set_active_widgets_device_io(add_widgets->cbtAddDevice,add_widgets->chbAddRead, add_widgets->spinAddRead, add_widgets->cbtAddRead);
add_del_disk();
add_disk_all(); add_disk_all();
add_del_disk();
add_init_windows(); add_init_windows();
} }
void combo_box_device() { void combo_box_device() {
update_device_to_entry(add_widgets->cbtAddDevice, add_widgets->chbAddRead, add_widgets->chbAddWrite); update_device_to_entry(add_widgets->cbtAddDevice, add_widgets->chbAddRead, add_widgets->spinAddRead, 0);
update_device_to_entry(add_widgets->cbtAddDevice, add_widgets->chbAddRead, add_widgets->chbAddWrite); update_device_to_entry(add_widgets->cbtAddDevice, add_widgets->chbAddWrite, add_widgets->spinAddWrite, 1);
} }
void add_event(add_window *widgets) { void add_event(add_window *widgets) {

Loading…
Cancel
Save