Добавил часть лимитов для редактирования и создания квот

pull/4/head
Igor Belitskiy 2 years ago
parent d2c940de08
commit fef1f3a235

@ -38,10 +38,32 @@ void device_disk_parsed() {
}
free(disk);
}
philos_free_string_array(&responce, size);
}
void device_fill_disk(GtkWidget* combo_box_text) {
for (int index = 0; index < obj_device_config.size_disk; index++) {
gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(combo_box_text), obj_device_config.description_disk[index]);
}
}
}
size_t get_resurs_total(char* cmd) {
int size = 0;
size_t size_memory = 0;
char **responce = yon_config_load(cmd, &size);
for (int index = 0; index < size; index++ ) {
char* mem_size_kb = yon_char_divide_search(responce[index], "\n", -1);
size_memory = atoll(mem_size_kb);
free(mem_size_kb);
}
philos_free_string_array(&responce, size);
return size_memory;
}
float get_size_pow_memory(size_t size_memory, int size) {
float res = size_memory;
for (size_t index = 0; index < size; index++) {
res = res/1024;
}
return res;
}

@ -16,5 +16,8 @@ typedef struct {
void device_disk_parsed();
device_config* get_device_cfg();
void device_fill_disk(GtkWidget* combo_box_text);
size_t get_mem_total();
float get_size_pow_memory(size_t size_memory, int size);
size_t get_resurs_total(char* cmd);
#endif

@ -713,9 +713,9 @@ void wrapper_edit_show() {
edit_set_soft(main_config.soft_raw_limit[index], main_config.soft_raw_limit_size[index]);
edit_set_write_device(main_config.i_o_limit_write[index], main_config.i_o_limit_write_size[index]);
edit_set_read_device(main_config.i_o_limit_read[index], main_config.i_o_limit_read_size[index]);
edit_event(get_widget_edit());
edit_init_windows();
edit_set_limit_swap(main_config.swap[index], main_config.swap_size[index]);
edit_event(get_widget_edit());
// edit_set_select_device(main_config.cpu_limit[index]);
g_signal_connect(G_OBJECT(get_widget_edit()->btnSaveEditSave), "clicked", G_CALLBACK(main_edit_btn_save), NULL);
}
@ -723,6 +723,7 @@ void wrapper_edit_show() {
void main_edit_btn_save() {
if (tree_view_edit(main_config.size_tree_view)) {
edit_init_windows();
add_on_destroy_subwindow(get_widget_edit()->Window);
}
}
@ -1009,6 +1010,7 @@ void main_localization(main_window *widgets) {
}
int main(int argc, char *argv[]){
// printf("%f\n", get_size_pow_memory(get_mem_total(), 3));
local=setlocale(LC_ALL, "");
textdomain (LocaleName);
config_init();

@ -51,19 +51,47 @@ add_window *add_setup_window(char* glade_path) {
void add_init_windows() {
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);
gtk_widget_set_sensitive(add_widgets->btnSaveAddSave, 1);
add_set_active_widgets(add_widgets->chkSoftRestrictionAdd, add_widgets->spiSevereRestrictionAdd, add_widgets->cmSevereRestrictionAdd, 0 , CMD_RAW);
add_set_active_widgets(add_widgets->chkSevereRestrictionAdd, add_widgets->spinSevereRestrictionAdd, add_widgets->cmbSevereRestrictionAdd,0 , CMD_RAW);
add_set_active_widgets(add_widgets->chkPaddingFLAdd, add_widgets->spinPaddingFLAdd, add_widgets->cmbPaddingFLAdd,0 , CMD_SWAP);
add_set_active_widgets(add_widgets->chkCPULimitAdd, add_widgets->spinCPULimitAdd, add_widgets->lblCPULimitAdd,1 , CMD_CPU);
//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->cbtEditRead);
add_generate_cmd();
}
else {
gtk_widget_set_sensitive(add_widgets->boxBlockGui, 0);
gtk_widget_set_sensitive(add_widgets->btnSaveAddSave, 0);
add_generate_cmd();
}
}
void add_set_spin_adjustment(GtkWidget *check, GtkWidget *spin, GtkWidget *combo, size_t value) {
gboolean active = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(check));
if (active != -1) {
GtkAdjustment* adjustment = NULL;
adjustment = gtk_spin_button_get_adjustment(GTK_SPIN_BUTTON(spin));
gtk_adjustment_set_lower(adjustment, 0.0);
gtk_adjustment_set_page_increment(adjustment, 1.0);
if (combo == NULL) {
gtk_adjustment_set_upper(adjustment, (gdouble)(value*100));
}
else {
int index = gtk_combo_box_get_active(GTK_COMBO_BOX(combo));
if (index == 0) {
float pow_mem_size = get_size_pow_memory(value, index);
gtk_adjustment_set_upper(adjustment, (gdouble)value);
}
else if (index == -1) {}
else {
float pow_mem_size = get_size_pow_memory(value, index);
gtk_adjustment_set_upper(adjustment, (gdouble)pow_mem_size);
}
}
}
}
void add_event(add_window *widgets) {
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);
@ -76,18 +104,18 @@ void add_event(add_window *widgets) {
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);
g_signal_connect(G_OBJECT(widgets->spinCPULimitAdd),"value-changed",G_CALLBACK(add_generate_cmd), NULL);
g_signal_connect(G_OBJECT(widgets->spinAddRead),"value-changed",G_CALLBACK(add_generate_cmd), NULL);
g_signal_connect(G_OBJECT(widgets->spinAddWrite),"value-changed",G_CALLBACK(add_generate_cmd), NULL);
g_signal_connect(G_OBJECT(widgets->cmSevereRestrictionAdd),"changed",G_CALLBACK(add_generate_cmd), NULL);
g_signal_connect(G_OBJECT(widgets->cmbSevereRestrictionAdd),"changed",G_CALLBACK(add_generate_cmd), NULL);
g_signal_connect(G_OBJECT(widgets->cmbPaddingFLAdd),"changed",G_CALLBACK(add_generate_cmd), NULL);
g_signal_connect(G_OBJECT(widgets->cbtAddRead),"changed",G_CALLBACK(add_generate_cmd), NULL);
g_signal_connect(G_OBJECT(widgets->cbtAddWrite),"changed",G_CALLBACK(add_generate_cmd), NULL);
g_signal_connect(G_OBJECT(widgets->cbtAddDevice),"changed",G_CALLBACK(add_generate_cmd), NULL);
g_signal_connect(G_OBJECT(widgets->spiSevereRestrictionAdd),"change-value",G_CALLBACK(add_init_windows), NULL);
g_signal_connect(G_OBJECT(widgets->spinSevereRestrictionAdd),"change-value",G_CALLBACK(add_init_windows), NULL);
g_signal_connect(G_OBJECT(widgets->spinPaddingFLAdd),"change-value",G_CALLBACK(add_init_windows), NULL);
g_signal_connect(G_OBJECT(widgets->spinCPULimitAdd),"change-value",G_CALLBACK(add_init_windows), NULL);
g_signal_connect(G_OBJECT(widgets->spinAddRead),"change-value",G_CALLBACK(add_init_windows), NULL);
g_signal_connect(G_OBJECT(widgets->spinAddWrite),"change-value",G_CALLBACK(add_init_windows), 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(add_init_windows), NULL);
g_signal_connect(G_OBJECT(widgets->cbtAddWrite),"changed",G_CALLBACK(add_init_windows), NULL);
g_signal_connect(G_OBJECT(widgets->cbtAddDevice),"changed",G_CALLBACK(add_init_windows), NULL);
}
@ -102,32 +130,40 @@ void add_destroy(GtkWidget *self) {
add_widgets = NULL;
}
void add_set_active_widgets_device_io(GtkWidget *self, GtkWidget *entry, GtkWidget *label) {
void add_set_active_widgets_device_io(GtkWidget *check, GtkWidget *spin, GtkWidget *combo, char* cmd) {
int menu_id = gtk_combo_box_get_active(GTK_COMBO_BOX(add_widgets->cbtAddDevice));
if (menu_id != -1) {
gboolean active = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(self));
gtk_widget_set_sensitive(entry, active);
gtk_widget_set_sensitive(label, active);
gboolean active = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(check));
gtk_widget_set_sensitive(spin, active);
gtk_widget_set_sensitive(combo, active);
if (active == 0) {
gtk_spin_button_set_digits(GTK_SPIN_BUTTON(entry), 0);
gtk_spin_button_set_digits(GTK_SPIN_BUTTON(spin), 0);
}
}
else {
gtk_widget_set_sensitive(entry, 0);
gtk_widget_set_sensitive(label, 0);
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(self), 0);
gtk_spin_button_set_digits(GTK_SPIN_BUTTON(entry), 0);
gtk_widget_set_sensitive(spin, 0);
gtk_widget_set_sensitive(combo, 0);
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(check), 0);
gtk_spin_button_set_digits(GTK_SPIN_BUTTON(spin), 0);
}
add_set_spin_adjustment(check, spin, combo, get_resurs_total(cmd));
}
void add_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);
void add_set_active_widgets(GtkWidget *check, GtkWidget *spin, GtkWidget *combo, int flag_cpu, char* cmd) {
gboolean active = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(check));
gtk_widget_set_sensitive(spin, active);
gtk_widget_set_sensitive(combo, active);
if (active == 0) {
gtk_spin_button_set_digits(GTK_SPIN_BUTTON(entry), 0);
gtk_spin_button_set_digits(GTK_SPIN_BUTTON(spin), 0);
}
if (flag_cpu == 0) {
add_set_spin_adjustment(check, spin, combo, get_resurs_total(cmd));
}
else {
add_set_spin_adjustment(check, spin, NULL, get_resurs_total(cmd));
}
}
void add_localization(add_window *widgets) {
}
@ -146,12 +182,13 @@ void add_show(GtkWidget *self, char* glade_path) {
if (add_widgets != NULL) {
add_update_combo_box();
gtk_widget_show_all(add_widgets->Window);
add_init_windows();
}
else {
add_setup_window(glade_path);
add_update_combo_box();
gtk_widget_show_all(add_widgets->Window);
add_init_windows();
}
}

@ -13,6 +13,11 @@
#include <libintl.h>
#include "my_device.h"
#define CMD_CPU "lscpu | grep \"CPU(s):\" |grep -oE \"[0-9]{1,}\""
#define CMD_SWAP "grep '^Swap' /proc/meminfo | grep \"SwapTotal\" |grep -oE \"[0-9]{1,}\""
#define CMD_RAW "cat /proc/meminfo | grep \"MemTotal\" |grep -oE \"[0-9]{1,}\""
static char* CMD_GET_GROUP;
static char* CMD_GET_SLICE_SERVICE;
// Переменные
@ -60,7 +65,7 @@ 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);
void add_set_active_widgets(GtkWidget *self, GtkWidget *entry, GtkWidget *label);
void add_set_active_widgets(GtkWidget *check, GtkWidget *spin, GtkWidget *combo, int flag_cpu, char* cmd);
void add_init_windows();
void add_update_combo_box();
char* add_get_select_device();
@ -80,9 +85,10 @@ int add_get_limit_cpu_size();
int add_get_limit_swap_size();
int add_get_quota_object_size();
void add_set_active_widgets_device_io(GtkWidget *self, GtkWidget *entry, GtkWidget *label);
void add_set_active_widgets_device_ioadd_set_active_widgets_device_io(GtkWidget *check, GtkWidget *spin, GtkWidget *combo, char* cmd);
void add_get_cmd_group(char* cmd_get_group);
char* add_get_select_device_to_level_2();
void add_generate_cmd();
void add_get_systemd_cgls(char* cmd_systemd_cgls);
void add_set_spin_adjustment(GtkWidget *check, GtkWidget *spin, GtkWidget *combo, size_t value);
#endif

@ -52,18 +52,18 @@ void edit_event(edit_window *widgets) {
g_signal_connect(G_OBJECT(widgets->chbEditRead), "toggled", G_CALLBACK(edit_init_windows), NULL);
g_signal_connect(G_OBJECT(widgets->chbEditWrite), "toggled", G_CALLBACK(edit_init_windows), NULL);
g_signal_connect(G_OBJECT(widgets->spiSevereRestrictionEdit),"value-changed",G_CALLBACK(edit_generate_cmd), NULL);
g_signal_connect(G_OBJECT(widgets->spinSevereRestrictionEdit),"value-changed",G_CALLBACK(edit_generate_cmd), NULL);
g_signal_connect(G_OBJECT(widgets->spinPaddingFLEdit),"value-changed",G_CALLBACK(edit_generate_cmd), NULL);
g_signal_connect(G_OBJECT(widgets->spinCPULimitEdit),"value-changed",G_CALLBACK(edit_generate_cmd), NULL);
g_signal_connect(G_OBJECT(widgets->spinEditRead),"value-changed",G_CALLBACK(edit_generate_cmd), NULL);
g_signal_connect(G_OBJECT(widgets->spinEditWrite),"value-changed",G_CALLBACK(edit_generate_cmd), NULL);
g_signal_connect(G_OBJECT(widgets->cmSevereRestrictionEdit),"changed",G_CALLBACK(edit_generate_cmd), NULL);
g_signal_connect(G_OBJECT(widgets->cmbSevereRestrictionEdit),"changed",G_CALLBACK(edit_generate_cmd), NULL);
g_signal_connect(G_OBJECT(widgets->cmbPaddingFLEdit),"changed",G_CALLBACK(edit_generate_cmd), NULL);
g_signal_connect(G_OBJECT(widgets->cbtEditRead),"changed",G_CALLBACK(edit_generate_cmd), NULL);
g_signal_connect(G_OBJECT(widgets->cbtEditWrite),"changed",G_CALLBACK(edit_generate_cmd), NULL);
g_signal_connect(G_OBJECT(widgets->cbtEditDevice),"changed",G_CALLBACK(edit_generate_cmd), NULL);
g_signal_connect(G_OBJECT(widgets->spiSevereRestrictionEdit),"value-changed",G_CALLBACK(edit_init_windows), NULL);
g_signal_connect(G_OBJECT(widgets->spinSevereRestrictionEdit),"value-changed",G_CALLBACK(edit_init_windows), NULL);
g_signal_connect(G_OBJECT(widgets->spinPaddingFLEdit),"value-changed",G_CALLBACK(edit_init_windows), NULL);
g_signal_connect(G_OBJECT(widgets->spinCPULimitEdit),"value-changed",G_CALLBACK(edit_init_windows), NULL);
g_signal_connect(G_OBJECT(widgets->spinEditRead),"value-changed",G_CALLBACK(edit_init_windows), NULL);
g_signal_connect(G_OBJECT(widgets->spinEditWrite),"value-changed",G_CALLBACK(edit_init_windows), NULL);
g_signal_connect(G_OBJECT(widgets->cmSevereRestrictionEdit),"changed",G_CALLBACK(wrapper_edit_init_windows_size_memory), widgets->spiSevereRestrictionEdit);
g_signal_connect(G_OBJECT(widgets->cmbSevereRestrictionEdit),"changed",G_CALLBACK(wrapper_edit_init_windows_size_memory), widgets->spinSevereRestrictionEdit);
g_signal_connect(G_OBJECT(widgets->cmbPaddingFLEdit),"changed",G_CALLBACK(wrapper_edit_init_windows_size_memory), widgets->spinPaddingFLEdit);
g_signal_connect(G_OBJECT(widgets->cbtEditRead),"changed",G_CALLBACK(wrapper_edit_init_windows_size_memory), widgets->spinEditRead);
g_signal_connect(G_OBJECT(widgets->cbtEditWrite),"changed",G_CALLBACK(wrapper_edit_init_windows_size_memory), widgets->spinEditWrite);
g_signal_connect(G_OBJECT(widgets->cbtEditDevice),"changed",G_CALLBACK(edit_init_windows), NULL);
}
void edit_destroy(GtkWidget *self) {
@ -93,45 +93,86 @@ void edit_show(GtkWidget *self, char* glade_path) {
}
}
void wrapper_edit_init_windows_size_memory(GtkWidget *spin) {
if (spin != NULL) {
// gtk_spin_button_set_digits(GTK_SPIN_BUTTON(spin), 0);
}
edit_init_windows();
}
void edit_init_windows() {
edit_set_active_widgets(edit_widgets->chkSoftRestrictionEdit, edit_widgets->spiSevereRestrictionEdit, edit_widgets->cmSevereRestrictionEdit);
edit_set_active_widgets(edit_widgets->chkSevereRestrictionEdit, edit_widgets->spinSevereRestrictionEdit, edit_widgets->cmbSevereRestrictionEdit);
edit_set_active_widgets(edit_widgets->chkPaddingFLEdit, edit_widgets->spinPaddingFLEdit, edit_widgets->cmbPaddingFLEdit);
edit_set_active_widgets(edit_widgets->chkCPULimitEdit, edit_widgets->spinCPULimitEdit, edit_widgets->lblCPULimitEdit);
edit_set_active_widgets_device_io(edit_widgets->chbEditWrite, edit_widgets->spinEditWrite, edit_widgets->cbtEditWrite);
edit_set_active_widgets_device_io(edit_widgets->chbEditRead, edit_widgets->spinEditRead, edit_widgets->cbtEditRead);
edit_set_active_widgets(edit_widgets->chkSoftRestrictionEdit, edit_widgets->spiSevereRestrictionEdit, edit_widgets->cmSevereRestrictionEdit,0 ,CMD_RAW);
edit_set_active_widgets(edit_widgets->chkSevereRestrictionEdit, edit_widgets->spinSevereRestrictionEdit, edit_widgets->cmbSevereRestrictionEdit,0 , CMD_RAW);
edit_set_active_widgets(edit_widgets->chkPaddingFLEdit, edit_widgets->spinPaddingFLEdit, edit_widgets->cmbPaddingFLEdit,0 , CMD_SWAP);
edit_set_active_widgets(edit_widgets->chkCPULimitEdit, edit_widgets->spinCPULimitEdit, edit_widgets->lblCPULimitEdit,1 ,CMD_CPU);
//edit_set_active_widgets_device_io(edit_widgets->chbEditWrite, edit_widgets->spinEditWrite, edit_widgets->cbtEditWrite);
//edit_set_active_widgets_device_io(edit_widgets->chbEditRead, edit_widgets->spinEditRead, edit_widgets->cbtEditRead);
edit_generate_cmd();
}
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);
void edit_set_active_widgets(GtkWidget *check, GtkWidget *spin, GtkWidget *combo, int flag_cpu, char* cmd) {
gboolean active = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(check));
gtk_widget_set_sensitive(spin, active);
gtk_widget_set_sensitive(combo, active);
if (active == 0) {
gtk_spin_button_set_digits(GTK_SPIN_BUTTON(entry), 0);
gtk_spin_button_set_digits(GTK_SPIN_BUTTON(spin), 0);
}
if (flag_cpu == 0) {
edit_set_spin_adjustment(check, spin, combo, get_resurs_total(cmd));
}
else {
edit_set_spin_adjustment(check, spin, NULL, get_resurs_total(cmd));
}
}
void edit_set_active_widgets_device_io(GtkWidget *self, GtkWidget *entry, GtkWidget *label) {
void edit_set_active_widgets_device_io(GtkWidget *check, GtkWidget *spin, GtkWidget *combo, char* cmd) {
int menu_id = gtk_combo_box_get_active(GTK_COMBO_BOX(edit_widgets->cbtEditDevice));
if (menu_id != -1) {
gboolean active = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(self));
gtk_widget_set_sensitive(entry, active);
gtk_widget_set_sensitive(label, active);
gboolean active = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(check));
gtk_widget_set_sensitive(spin, active);
gtk_widget_set_sensitive(combo, active);
if (active == 0) {
gtk_spin_button_set_digits(GTK_SPIN_BUTTON(entry), 0);
gtk_spin_button_set_digits(GTK_SPIN_BUTTON(spin), 0);
}
}
else {
gtk_widget_set_sensitive(entry, 0);
gtk_widget_set_sensitive(label, 0);
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(self), 0);
gtk_spin_button_set_digits(GTK_SPIN_BUTTON(entry), 0);
gtk_widget_set_sensitive(spin, 0);
gtk_widget_set_sensitive(combo, 0);
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(check), 0);
gtk_spin_button_set_digits(GTK_SPIN_BUTTON(spin), 0);
}
edit_set_spin_adjustment(check, spin, combo, get_resurs_total(cmd));
}
void edit_set_spin_adjustment(GtkWidget *check, GtkWidget *spin, GtkWidget *combo, size_t value) {
gboolean active = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(check));
if (active != -1) {
GtkAdjustment* adjustment = NULL;
adjustment = gtk_spin_button_get_adjustment(GTK_SPIN_BUTTON(spin));
gtk_adjustment_set_lower(adjustment, 0.0);
gtk_adjustment_set_page_increment(adjustment, 1.0);
if (combo == NULL) {
gtk_adjustment_set_upper(adjustment, (gdouble)(value*100));
}
else {
int index = gtk_combo_box_get_active(GTK_COMBO_BOX(combo));
if (index == 0) {
float pow_mem_size = get_size_pow_memory(value, index);
gtk_adjustment_set_upper(adjustment, (gdouble)value);
}
else if (index == -1) {}
else {
float pow_mem_size = get_size_pow_memory(value, index);
printf("%f\n", pow_mem_size);
gtk_adjustment_set_upper(adjustment, (gdouble)pow_mem_size);
}
}
}
}
char* edit_get_select_device() {
char* text = gtk_combo_box_text_get_active_text(GTK_COMBO_BOX_TEXT(edit_widgets->cbtEditDevice));
if (text != NULL) {
@ -248,6 +289,7 @@ void edit_temp_set(char* str_value, int pow_mem, GtkWidget* cheek, GtkWidget* sp
}
}
void edit_generate_cmd() {
char* str_cmd = " ";
char* split_simvol = g_malloc0(sizeof(char)*2);
int size_bite = 0;

@ -13,6 +13,9 @@
#include <libintl.h>
#include "my_device.h"
#define CMD_CPU "lscpu | grep \"CPU(s):\" |grep -oE \"[0-9]{1,}\""
#define CMD_SWAP "grep '^Swap' /proc/meminfo | grep \"SwapTotal\" |grep -oE \"[0-9]{1,}\""
#define CMD_RAW "cat /proc/meminfo | grep \"MemTotal\" |grep -oE \"[0-9]{1,}\""
// Переменные
typedef struct {
GtkWidget* Window;
@ -55,7 +58,8 @@ edit_window *get_widget_edit();
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);
void wrapper_edit_init_windows_size_memory(GtkWidget *spin);
void edit_set_active_widgets(GtkWidget *check, GtkWidget *spin, GtkWidget *combo, int flag_cpu, char* cmd);
char* edit_get_select_device();
char* edit_get_read_device();
char* edit_get_write_device();
@ -80,5 +84,6 @@ int edit_get_soft_size();
int edit_get_hard_size();
int edit_get_limit_cpu_size();
int edit_get_limit_swap_size();
void edit_set_active_widgets_device_io(GtkWidget *self, GtkWidget *entry, GtkWidget *label);
void edit_set_active_widgets_device_io(GtkWidget *check, GtkWidget *spin, GtkWidget *combo, char* cmd);
void edit_set_spin_adjustment(GtkWidget *check, GtkWidget *spin, GtkWidget *combo, size_t value);
#endif
Loading…
Cancel
Save