|
|
|
@ -179,6 +179,7 @@ void on_check_maximum(GtkWidget *self, GtkWidget *pair){
|
|
|
|
|
struct sysinfo inf;
|
|
|
|
|
sysinfo(&inf);
|
|
|
|
|
main_config.avaliable_ram=inf.totalram;
|
|
|
|
|
main_config.avaliable_swap=inf.totalswap;
|
|
|
|
|
}
|
|
|
|
|
double cur_ram = main_config.avaliable_ram;
|
|
|
|
|
double cur_value = gtk_spin_button_get_value(GTK_SPIN_BUTTON(self));
|
|
|
|
@ -196,6 +197,7 @@ void on_check_maximum(GtkWidget *self, GtkWidget *pair){
|
|
|
|
|
struct sysinfo inf;
|
|
|
|
|
sysinfo(&inf);
|
|
|
|
|
main_config.avaliable_ram=inf.totalram;
|
|
|
|
|
main_config.avaliable_swap=inf.totalswap;
|
|
|
|
|
}
|
|
|
|
|
double cur_ram = main_config.avaliable_ram;
|
|
|
|
|
double cur_value = gtk_spin_button_get_value(GTK_SPIN_BUTTON(pair));
|
|
|
|
@ -209,6 +211,44 @@ void on_check_maximum(GtkWidget *self, GtkWidget *pair){
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void on_check_maximum_cpu(GtkWidget *self, GtkWidget *pair){
|
|
|
|
|
if (GTK_IS_SPIN_BUTTON(self)){
|
|
|
|
|
if (GTK_IS_COMBO_BOX(pair)){
|
|
|
|
|
int required_size = gtk_combo_box_get_active(GTK_COMBO_BOX(pair));
|
|
|
|
|
if (main_config.avaliable_ram==0){
|
|
|
|
|
struct sysinfo inf;
|
|
|
|
|
sysinfo(&inf);
|
|
|
|
|
main_config.avaliable_swap=inf.totalswap;
|
|
|
|
|
}
|
|
|
|
|
double cur_ram = main_config.avaliable_swap;
|
|
|
|
|
double cur_value = gtk_spin_button_get_value(GTK_SPIN_BUTTON(self));
|
|
|
|
|
for (int i=0;i<required_size;i++)
|
|
|
|
|
cur_ram=cur_ram/1024;
|
|
|
|
|
GtkAdjustment *adj = gtk_spin_button_get_adjustment(GTK_SPIN_BUTTON(self));
|
|
|
|
|
gtk_adjustment_set_upper(adj,cur_ram);
|
|
|
|
|
if (cur_value>cur_ram)
|
|
|
|
|
gtk_adjustment_set_value(adj,cur_ram);
|
|
|
|
|
}
|
|
|
|
|
} else if (GTK_IS_SPIN_BUTTON(pair)){
|
|
|
|
|
if (GTK_IS_COMBO_BOX(self)){
|
|
|
|
|
int required_size = gtk_combo_box_get_active(GTK_COMBO_BOX(self));
|
|
|
|
|
if (main_config.avaliable_swap==0){
|
|
|
|
|
struct sysinfo inf;
|
|
|
|
|
sysinfo(&inf);
|
|
|
|
|
main_config.avaliable_swap=inf.totalswap;
|
|
|
|
|
}
|
|
|
|
|
double cur_ram = main_config.avaliable_swap;
|
|
|
|
|
double cur_value = gtk_spin_button_get_value(GTK_SPIN_BUTTON(pair));
|
|
|
|
|
for (int i=0;i<required_size+1;i++)
|
|
|
|
|
cur_ram=cur_ram/1024;
|
|
|
|
|
GtkAdjustment *adj = gtk_spin_button_get_adjustment(GTK_SPIN_BUTTON(pair));
|
|
|
|
|
gtk_adjustment_set_upper(adj,(long)cur_ram);
|
|
|
|
|
if (cur_value>cur_ram)
|
|
|
|
|
gtk_adjustment_set_value(adj,cur_ram);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void on_quota_target_type_changed(GtkWidget *self, quota_window *window){
|
|
|
|
|
int active = gtk_combo_box_get_active(GTK_COMBO_BOX(self));
|
|
|
|
|
if (active == 0) {
|
|
|
|
@ -396,7 +436,7 @@ void yon_load_proceed(char *command){
|
|
|
|
|
swap=yon_char_new(single_quota[j]);
|
|
|
|
|
yon_char_divide_search(swap,"=",-1);
|
|
|
|
|
}
|
|
|
|
|
if (strstr(single_quota[j],"CPUQota")){
|
|
|
|
|
if (strstr(single_quota[j],"CPUQuota")){
|
|
|
|
|
cpu=yon_char_new(single_quota[j]);
|
|
|
|
|
yon_char_divide_search(cpu,"=",-1);
|
|
|
|
|
}
|
|
|
|
@ -563,6 +603,7 @@ void on_add_open(GtkWidget *self, main_window *widgets){
|
|
|
|
|
struct sysinfo inf;
|
|
|
|
|
sysinfo(&inf);
|
|
|
|
|
main_config.avaliable_ram=inf.totalram;
|
|
|
|
|
main_config.avaliable_swap=inf.totalswap;
|
|
|
|
|
main_config.cores = sysconf(_SC_NPROCESSORS_ONLN);
|
|
|
|
|
dictionary *windows = NULL;
|
|
|
|
|
yon_dictionary_add_or_create_if_exists_with_data(windows,"window",window);
|
|
|
|
@ -574,7 +615,7 @@ void on_add_open(GtkWidget *self, main_window *widgets){
|
|
|
|
|
|
|
|
|
|
gtk_adjustment_set_upper(gtk_spin_button_get_adjustment(GTK_SPIN_BUTTON(window->SoftRestrictionSpin)),main_config.avaliable_ram);
|
|
|
|
|
gtk_adjustment_set_upper(gtk_spin_button_get_adjustment(GTK_SPIN_BUTTON(window->HardRestrictionSpin)),main_config.avaliable_ram);
|
|
|
|
|
gtk_adjustment_set_upper(gtk_spin_button_get_adjustment(GTK_SPIN_BUTTON(window->PagingLimitSpin)),main_config.avaliable_ram);
|
|
|
|
|
gtk_adjustment_set_upper(gtk_spin_button_get_adjustment(GTK_SPIN_BUTTON(window->PagingLimitSpin)),main_config.avaliable_swap);
|
|
|
|
|
gtk_adjustment_set_upper(gtk_spin_button_get_adjustment(GTK_SPIN_BUTTON(window->CpuLimitSpin)),main_config.cores*100);
|
|
|
|
|
gtk_adjustment_set_upper(gtk_spin_button_get_adjustment(GTK_SPIN_BUTTON(window->DeviceLimitReadSpin)),main_config.avaliable_ram);
|
|
|
|
|
gtk_adjustment_set_upper(gtk_spin_button_get_adjustment(GTK_SPIN_BUTTON(window->DeviceLimitWriteSpin)),main_config.avaliable_ram);
|
|
|
|
@ -586,8 +627,8 @@ void on_add_open(GtkWidget *self, main_window *widgets){
|
|
|
|
|
g_signal_connect(G_OBJECT(window->SoftRestrictionCombo),"changed",G_CALLBACK(on_check_maximum),window->SoftRestrictionSpin);
|
|
|
|
|
g_signal_connect(G_OBJECT(window->HardRestrictionSpin),"change-value",G_CALLBACK(on_check_maximum),window->HardRestrictionCombo);
|
|
|
|
|
g_signal_connect(G_OBJECT(window->HardRestrictionCombo),"changed",G_CALLBACK(on_check_maximum),window->HardRestrictionSpin);
|
|
|
|
|
g_signal_connect(G_OBJECT(window->PagingLimitSpin),"change-value",G_CALLBACK(on_check_maximum),window->PagingLimitCombo);
|
|
|
|
|
g_signal_connect(G_OBJECT(window->PagingLimitCombo),"changed",G_CALLBACK(on_check_maximum),window->PagingLimitSpin);
|
|
|
|
|
g_signal_connect(G_OBJECT(window->PagingLimitSpin),"change-value",G_CALLBACK(on_check_maximum_cpu),window->PagingLimitCombo);
|
|
|
|
|
g_signal_connect(G_OBJECT(window->PagingLimitCombo),"changed",G_CALLBACK(on_check_maximum_cpu),window->PagingLimitSpin);
|
|
|
|
|
g_signal_connect(G_OBJECT(window->DeviceLimitReadSpin),"change-value",G_CALLBACK(on_check_maximum),window->DeviceLimitReadCombo);
|
|
|
|
|
g_signal_connect(G_OBJECT(window->DeviceLimitReadCombo),"changed",G_CALLBACK(on_check_maximum),window->DeviceLimitReadSpin);
|
|
|
|
|
g_signal_connect(G_OBJECT(window->DeviceLimitWriteSpin),"change-value",G_CALLBACK(on_check_maximum),window->DeviceLimitWriteCombo);
|
|
|
|
@ -806,6 +847,7 @@ void on_edit_open(GtkWidget *self, main_window *widgets){
|
|
|
|
|
struct sysinfo inf;
|
|
|
|
|
sysinfo(&inf);
|
|
|
|
|
main_config.avaliable_ram=inf.totalram;
|
|
|
|
|
main_config.avaliable_swap=inf.totalswap;
|
|
|
|
|
main_config.cores = sysconf(_SC_NPROCESSORS_ONLN);
|
|
|
|
|
dictionary *windows = NULL;
|
|
|
|
|
yon_dictionary_add_or_create_if_exists_with_data(windows,"window",window);
|
|
|
|
@ -817,7 +859,7 @@ void on_edit_open(GtkWidget *self, main_window *widgets){
|
|
|
|
|
|
|
|
|
|
gtk_adjustment_set_upper(gtk_spin_button_get_adjustment(GTK_SPIN_BUTTON(window->SoftRestrictionSpin)),main_config.avaliable_ram);
|
|
|
|
|
gtk_adjustment_set_upper(gtk_spin_button_get_adjustment(GTK_SPIN_BUTTON(window->HardRestrictionSpin)),main_config.avaliable_ram);
|
|
|
|
|
gtk_adjustment_set_upper(gtk_spin_button_get_adjustment(GTK_SPIN_BUTTON(window->PagingLimitSpin)),main_config.avaliable_ram);
|
|
|
|
|
gtk_adjustment_set_upper(gtk_spin_button_get_adjustment(GTK_SPIN_BUTTON(window->PagingLimitSpin)),main_config.avaliable_swap);
|
|
|
|
|
gtk_adjustment_set_upper(gtk_spin_button_get_adjustment(GTK_SPIN_BUTTON(window->CpuLimitSpin)),main_config.cores*100);
|
|
|
|
|
gtk_adjustment_set_upper(gtk_spin_button_get_adjustment(GTK_SPIN_BUTTON(window->DeviceLimitReadSpin)),main_config.avaliable_ram);
|
|
|
|
|
gtk_adjustment_set_upper(gtk_spin_button_get_adjustment(GTK_SPIN_BUTTON(window->DeviceLimitWriteSpin)),main_config.avaliable_ram);
|
|
|
|
@ -934,8 +976,8 @@ void on_edit_open(GtkWidget *self, main_window *widgets){
|
|
|
|
|
g_signal_connect(G_OBJECT(window->SoftRestrictionCombo),"changed",G_CALLBACK(on_check_maximum),window->SoftRestrictionSpin);
|
|
|
|
|
g_signal_connect(G_OBJECT(window->HardRestrictionSpin),"change-value",G_CALLBACK(on_check_maximum),window->HardRestrictionCombo);
|
|
|
|
|
g_signal_connect(G_OBJECT(window->HardRestrictionCombo),"changed",G_CALLBACK(on_check_maximum),window->HardRestrictionSpin);
|
|
|
|
|
g_signal_connect(G_OBJECT(window->PagingLimitSpin),"change-value",G_CALLBACK(on_check_maximum),window->PagingLimitCombo);
|
|
|
|
|
g_signal_connect(G_OBJECT(window->PagingLimitCombo),"changed",G_CALLBACK(on_check_maximum),window->PagingLimitSpin);
|
|
|
|
|
g_signal_connect(G_OBJECT(window->PagingLimitSpin),"change-value",G_CALLBACK(on_check_maximum_cpu),window->PagingLimitCombo);
|
|
|
|
|
g_signal_connect(G_OBJECT(window->PagingLimitCombo),"changed",G_CALLBACK(on_check_maximum_cpu),window->PagingLimitSpin);
|
|
|
|
|
g_signal_connect(G_OBJECT(window->DeviceLimitReadSpin),"change-value",G_CALLBACK(on_check_maximum),window->DeviceLimitReadCombo);
|
|
|
|
|
g_signal_connect(G_OBJECT(window->DeviceLimitReadCombo),"changed",G_CALLBACK(on_check_maximum),window->DeviceLimitReadSpin);
|
|
|
|
|
g_signal_connect(G_OBJECT(window->DeviceLimitWriteSpin),"change-value",G_CALLBACK(on_check_maximum),window->DeviceLimitWriteCombo);
|
|
|
|
|