You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
90 lines
4.2 KiB
90 lines
4.2 KiB
#include "filters.h"
|
|
|
|
filters_window *filters_widgets = NULL;
|
|
gboolean flag_filters[8];
|
|
filters_window *filters_setup_window(char* glade_path){
|
|
if (filters_widgets == NULL) {
|
|
filters_widgets = malloc(sizeof(filters_window));
|
|
GtkBuilder *builder = gtk_builder_new_from_resource(glade_path);
|
|
filters_widgets->Window = yon_gtk_builder_get_widget(builder,"wndFilters");
|
|
filters_widgets->chbFilterTypeQouota = yon_gtk_builder_get_widget(builder,"chbFilterTypeQouota");
|
|
filters_widgets->chbQuotaVolume = yon_gtk_builder_get_widget(builder,"chbQuotaVolume");
|
|
filters_widgets->chbSoftLimit = yon_gtk_builder_get_widget(builder,"chbSoftLimit");
|
|
filters_widgets->chbHardLimit = yon_gtk_builder_get_widget(builder,"chbHardLimit");
|
|
filters_widgets->chbSwapFileLimit = yon_gtk_builder_get_widget(builder,"chbSwapFileLimit");
|
|
filters_widgets->chbIOLimitWrite = yon_gtk_builder_get_widget(builder,"chbIOLimitWrite");
|
|
filters_widgets->chbCPULimit = yon_gtk_builder_get_widget(builder,"chbCPULimit");
|
|
filters_widgets->chbIOLimitRead = yon_gtk_builder_get_widget(builder,"chbIOLimitRead");
|
|
filters_widgets->btnFiltersCancel = yon_gtk_builder_get_widget(builder,"btnFiltersCancel");
|
|
filters_widgets->btnFiltersSave = yon_gtk_builder_get_widget(builder,"btnFiltersSave");
|
|
filters_event(filters_widgets);
|
|
}
|
|
filters_set_flag();
|
|
return filters_widgets;
|
|
}
|
|
|
|
void filters_event(filters_window *widgets) {
|
|
g_signal_connect(G_OBJECT(widgets->btnFiltersCancel), "clicked",G_CALLBACK(filters_on_hide_subwindow),NULL);
|
|
g_signal_connect(G_OBJECT(widgets->Window), "destroy", G_CALLBACK(filters_destroy), NULL);
|
|
}
|
|
|
|
void filters_destroy(GtkWidget *self) {
|
|
filters_widgets = NULL;
|
|
}
|
|
|
|
void filters_localization(filters_window *widgets) {
|
|
|
|
}
|
|
|
|
void filters_on_hide_subwindow(GtkWidget *self) {
|
|
gtk_widget_destroy(gtk_widget_get_toplevel(self));
|
|
filters_widgets = NULL;
|
|
}
|
|
|
|
filters_window *get_widget_filters() {
|
|
return filters_widgets;
|
|
}
|
|
|
|
void filters_show(GtkWidget *self, char* glade_path) {
|
|
if (filters_widgets != NULL) {
|
|
gtk_widget_show_all(filters_widgets->Window);
|
|
}
|
|
else {
|
|
filters_setup_window(glade_path);
|
|
gtk_widget_show_all(filters_widgets->Window);
|
|
}
|
|
}
|
|
|
|
gboolean* filters_get_flag() {
|
|
flag_filters[0] = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(filters_widgets->chbFilterTypeQouota));
|
|
flag_filters[1] = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(filters_widgets->chbQuotaVolume));
|
|
flag_filters[2] = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(filters_widgets->chbSoftLimit));
|
|
flag_filters[3] = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(filters_widgets->chbHardLimit));
|
|
flag_filters[4] = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(filters_widgets->chbSwapFileLimit));
|
|
flag_filters[5] = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(filters_widgets->chbCPULimit));
|
|
flag_filters[6] = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(filters_widgets->chbIOLimitWrite));
|
|
flag_filters[7] = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(filters_widgets->chbIOLimitRead));
|
|
return flag_filters;
|
|
}
|
|
|
|
void filters_init_flag() {
|
|
flag_filters[0] = 1;
|
|
flag_filters[1] = 1;
|
|
flag_filters[2] = 1;
|
|
flag_filters[3] = 1;
|
|
flag_filters[4] = 1;
|
|
flag_filters[5] = 1;
|
|
flag_filters[6] = 1;
|
|
flag_filters[7] = 1;
|
|
}
|
|
|
|
void filters_set_flag() {
|
|
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(filters_widgets->chbFilterTypeQouota),flag_filters[0] );
|
|
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(filters_widgets->chbQuotaVolume), flag_filters[1]);
|
|
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(filters_widgets->chbSoftLimit), flag_filters[2]);
|
|
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(filters_widgets->chbHardLimit), flag_filters[3]);
|
|
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(filters_widgets->chbSwapFileLimit), flag_filters[4]);
|
|
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(filters_widgets->chbCPULimit), flag_filters[5]);
|
|
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(filters_widgets->chbIOLimitWrite), flag_filters[6]);
|
|
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(filters_widgets->chbIOLimitRead), flag_filters[7]);
|
|
} |