parent
f5f4809531
commit
aa5e8a51c5
@ -0,0 +1,125 @@
|
|||||||
|
#include "view_filters.h"
|
||||||
|
|
||||||
|
view_filters::view_filters(/* args */){
|
||||||
|
builder = Gtk::Builder::create_from_file(path_glade);
|
||||||
|
this->settings();
|
||||||
|
}
|
||||||
|
|
||||||
|
view_filters::~view_filters()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
void view_filters::settings() {
|
||||||
|
this->get_builder();
|
||||||
|
this->lacalization();
|
||||||
|
this->set_map_flag(chbFilterName);
|
||||||
|
this->set_map_flag(chbFilterQuotas);
|
||||||
|
this->set_map_flag(chbFilterSize);
|
||||||
|
this->set_map_flag(chbFilterSoftLimitSize);
|
||||||
|
this->set_map_flag(chbFilterHardLimitSize);
|
||||||
|
this->set_map_flag(chbFilterHardLimitSizeDelay);
|
||||||
|
this->set_map_flag(chbFilterFiles);
|
||||||
|
this->set_map_flag(chbFilterSoftLimitFile);
|
||||||
|
this->set_map_flag(chbFilterHardLimitFile);
|
||||||
|
this->set_map_flag(chbFilterHardLimitFileDelay);
|
||||||
|
this->event();
|
||||||
|
}
|
||||||
|
|
||||||
|
void view_filters::set_path_glade(string path_glade) {
|
||||||
|
this->path_glade = path_glade;
|
||||||
|
}
|
||||||
|
|
||||||
|
void view_filters::get_builder() {
|
||||||
|
builder->get_widget("wndFilters", wndFilters);
|
||||||
|
builder->get_widget("chbFilterName", chbFilterName);
|
||||||
|
builder->get_widget("chbFilterQuotas", chbFilterQuotas);
|
||||||
|
builder->get_widget("chbFilterSize", chbFilterSize);
|
||||||
|
builder->get_widget("chbFilterSoftLimitSize", chbFilterSoftLimitSize);
|
||||||
|
builder->get_widget("chbFilterHardLimitSize", chbFilterHardLimitSize);
|
||||||
|
builder->get_widget("chbFilterHardLimitSizeDelay", chbFilterHardLimitSizeDelay);
|
||||||
|
builder->get_widget("chbFilterFiles", chbFilterFiles);
|
||||||
|
builder->get_widget("chbFilterSoftLimitFile", chbFilterSoftLimitFile);
|
||||||
|
builder->get_widget("chbFilterHardLimitFile", chbFilterHardLimitFile);
|
||||||
|
builder->get_widget("chbFilterHardLimitFileDelay", chbFilterHardLimitFileDelay);
|
||||||
|
builder->get_widget("lblFiltersHead", lblFiltersHead);
|
||||||
|
builder->get_widget("btnFiltersSave", btnFiltersSave);
|
||||||
|
builder->get_widget("btnFiltersCancel", btnFiltersCancel);
|
||||||
|
lblFiltersHead->set_label(str_filters);
|
||||||
|
}
|
||||||
|
|
||||||
|
void view_filters::show() {
|
||||||
|
this->set_map_flag_false();
|
||||||
|
wndFilters->show();
|
||||||
|
}
|
||||||
|
|
||||||
|
void view_filters::lacalization() {
|
||||||
|
chbFilterName->set_label(str_name);
|
||||||
|
chbFilterQuotas->set_label(str_quotas);
|
||||||
|
chbFilterSize->set_label(str_size);
|
||||||
|
chbFilterSoftLimitSize->set_label(str_soft_limit_size);
|
||||||
|
chbFilterHardLimitSize->set_label(str_hard_limit_size);
|
||||||
|
chbFilterHardLimitSizeDelay->set_label(str_deferring_hard_limit_size);
|
||||||
|
chbFilterFiles->set_label(str_files);
|
||||||
|
chbFilterSoftLimitFile->set_label(str_soft_restriction_files);
|
||||||
|
chbFilterHardLimitFile->set_label(str_severe_limitation_files);
|
||||||
|
chbFilterHardLimitFileDelay->set_label(str_deferring_limit_files);
|
||||||
|
}
|
||||||
|
|
||||||
|
void view_filters::event() {
|
||||||
|
chbFilterName->signal_toggled().connect(
|
||||||
|
sigc::bind<Gtk::CheckButton*> (sigc::mem_fun(*this,
|
||||||
|
&MainWindow::set_map_flag), chbFilterName));
|
||||||
|
chbFilterQuotas->signal_toggled().connect(
|
||||||
|
sigc::bind<Gtk::CheckButton*> (sigc::mem_fun(*this,
|
||||||
|
&MainWindow::set_map_flag), chbFilterQuotas));
|
||||||
|
chbFilterSize->signal_toggled().connect(
|
||||||
|
sigc::bind<Gtk::CheckButton*> (sigc::mem_fun(*this,
|
||||||
|
&MainWindow::set_map_flag), chbFilterSize));
|
||||||
|
chbFilterSoftLimitSize->signal_toggled().connect(
|
||||||
|
sigc::bind<Gtk::CheckButton*> (sigc::mem_fun(*this,
|
||||||
|
&MainWindow::set_map_flag), chbFilterSoftLimitSize));
|
||||||
|
chbFilterHardLimitSize->signal_toggled().connect(
|
||||||
|
sigc::bind<Gtk::CheckButton*> (sigc::mem_fun(*this,
|
||||||
|
&MainWindow::set_map_flag), chbFilterHardLimitSize));
|
||||||
|
chbFilterHardLimitSizeDelay->signal_toggled().connect(
|
||||||
|
sigc::bind<Gtk::CheckButton*> (sigc::mem_fun(*this,
|
||||||
|
&MainWindow::set_map_flag), chbFilterHardLimitSizeDelay));
|
||||||
|
chbFilterFiles->signal_toggled().connect(
|
||||||
|
sigc::bind<Gtk::CheckButton*> (sigc::mem_fun(*this,
|
||||||
|
&MainWindow::set_map_flag), chbFilterFiles));
|
||||||
|
chbFilterSoftLimitFile->signal_toggled().connect(
|
||||||
|
sigc::bind<Gtk::CheckButton*> (sigc::mem_fun(*this,
|
||||||
|
&MainWindow::set_map_flag), chbFilterSoftLimitFile));
|
||||||
|
chbFilterHardLimitFile->signal_toggled().connect(
|
||||||
|
sigc::bind<Gtk::CheckButton*> (sigc::mem_fun(*this,
|
||||||
|
&MainWindow::set_map_flag), chbFilterHardLimitFile));
|
||||||
|
chbFilterHardLimitFileDelay->signal_toggled().connect(
|
||||||
|
sigc::bind<Gtk::CheckButton*> (sigc::mem_fun(*this,
|
||||||
|
&MainWindow::set_map_flag), chbFilterHardLimitFileDelay));
|
||||||
|
btnFiltersSave->signal_clicked().connect(sigc::mem_fun(*this,
|
||||||
|
&MainWindow::save));
|
||||||
|
btnFiltersCancel->signal_clicked().connect(sigc::mem_fun(*this,
|
||||||
|
&MainWindow::cancel));
|
||||||
|
}
|
||||||
|
|
||||||
|
void view_filters::set_map_flag(Gtk::CheckButton* check_button) {
|
||||||
|
map_filters_flag[check_button->get_label()] = check_button->get_active();
|
||||||
|
}
|
||||||
|
|
||||||
|
void view_filters::save() {
|
||||||
|
wndFilters->hide();
|
||||||
|
}
|
||||||
|
|
||||||
|
void view_filters::cancel() {
|
||||||
|
wndFilters->hide();
|
||||||
|
}
|
||||||
|
|
||||||
|
map<string, bool> view_filters::get_filters() {
|
||||||
|
return map_filters_flag;
|
||||||
|
}
|
||||||
|
|
||||||
|
void view_filters::set_map_flag_false() {
|
||||||
|
for (auto& [key: value]: map_filters_flag) {
|
||||||
|
map_filters_flag[key] = false;
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,48 @@
|
|||||||
|
#include "project_lib.h"
|
||||||
|
|
||||||
|
#define str_name _("Name")
|
||||||
|
#define str_size _("Size")
|
||||||
|
#define str_filters _("Filters")
|
||||||
|
#define str_quotas _("Quotas")
|
||||||
|
#define str_soft_limit_size _("Soft limit (size)")
|
||||||
|
#define str_hard_limit_size _("Hard limit (size)")
|
||||||
|
#define str_hard_limit_size_delay _("Hard limit (size) delay")
|
||||||
|
#define str_soft_limit_files _("Soft limit (files)")
|
||||||
|
#define str_hard_limit_size_delay _("Hard limit (files) delay")
|
||||||
|
class view_filters
|
||||||
|
{
|
||||||
|
private:
|
||||||
|
Glib::RefPtr<Gtk::Builder> const& builder;
|
||||||
|
string path_glade;
|
||||||
|
Gtk::Window *wndFilters;
|
||||||
|
Gtk::CheckButton *chbFilterName;
|
||||||
|
Gtk::CheckButton *chbFilterQuotas;
|
||||||
|
Gtk::CheckButton *chbFilterSize;
|
||||||
|
Gtk::CheckButton *chbFilterSoftLimitSize;
|
||||||
|
Gtk::CheckButton *chbFilterHardLimitSize;
|
||||||
|
Gtk::CheckButton *chbFilterHardLimitSizeDelay;
|
||||||
|
Gtk::CheckButton *filtersHardSizeActivationFilterCheckbox;
|
||||||
|
Gtk::CheckButton *chbFilterFiles;
|
||||||
|
Gtk::CheckButton *chbFilterSoftLimitFile;
|
||||||
|
Gtk::CheckButton *chbFilterHardLimitFile;
|
||||||
|
Gtk::CheckButton *chbFilterHardLimitFileDelay;
|
||||||
|
Gtk::Label *lblFiltersHead;
|
||||||
|
Gtk::Button *btnFiltersSave;
|
||||||
|
Gtk::Button *btnFiltersCancel;
|
||||||
|
std::map<string, bool> map_filters_flag;
|
||||||
|
public:
|
||||||
|
view_filters(/* args */);
|
||||||
|
~view_filters();
|
||||||
|
void lacalization();
|
||||||
|
void event();
|
||||||
|
void get_builder();
|
||||||
|
void settings();
|
||||||
|
void show();
|
||||||
|
void set_map_flag(Gtk::CheckButton* check_button);
|
||||||
|
void save();
|
||||||
|
void cancel();
|
||||||
|
void set_map_flag_false();
|
||||||
|
map<string, bool> get_filters()
|
||||||
|
};
|
||||||
|
|
||||||
|
|
Loading…
Reference in new issue