1
0
mirror of https://github.com/altlinux/admc.git synced 2025-02-02 17:47:06 +03:00

get rid of filter_classes_widget()

make pass-through f-ns
This commit is contained in:
Dmitry Degtyarev 2021-11-03 14:42:19 +04:00
parent 821945699b
commit 7edf9b9fc7
3 changed files with 39 additions and 12 deletions

View File

@ -37,6 +37,31 @@ SelectClassesDialog::~SelectClassesDialog() {
delete ui;
}
void SelectClassesDialog::init(AdConfig *adconfig) {
return ui->filter_classes_widget->init(adconfig);
}
void SelectClassesDialog::set_classes(const QList<QString> &class_list, const QList<QString> &selected_list) {
return ui->filter_classes_widget->set_classes(class_list, selected_list);
}
QString SelectClassesDialog::get_filter() const {
return ui->filter_classes_widget->get_filter();
}
QList<QString> SelectClassesDialog::get_selected_classes_display() const {
return ui->filter_classes_widget->get_selected_classes_display();
}
QVariant SelectClassesDialog::save_state() const {
return ui->filter_classes_widget->save_state();
}
void SelectClassesDialog::restore_state(const QVariant &state) {
ui->filter_classes_widget->restore_state(state);
}
void SelectClassesDialog::open() {
// Save state to later restore if dialog is is
// rejected
@ -54,7 +79,3 @@ void SelectClassesDialog::reject() {
void SelectClassesDialog::reset() {
ui->filter_classes_widget->restore_state(state_to_restore);
}
FilterClassesWidget *SelectClassesDialog::filter_classes_widget() const {
return ui->filter_classes_widget;
}

View File

@ -30,6 +30,7 @@
#include <QVariant>
class FilterClassesWidget;
class AdConfig;
namespace Ui {
class SelectClassesDialog;
@ -44,9 +45,15 @@ public:
SelectClassesDialog(QWidget *parent);
~SelectClassesDialog();
void init(AdConfig *adconfig);
void set_classes(const QList<QString> &class_list, const QList<QString> &selected_list);
QString get_filter() const;
QList<QString> get_selected_classes_display() const;
QVariant save_state() const;
void restore_state(const QVariant &state);
void open() override;
void reject() override;
FilterClassesWidget *filter_classes_widget() const;
private:
QVariant state_to_restore;

View File

@ -22,7 +22,6 @@
#include "filter_widget/ui_select_classes_widget.h"
#include "adldap.h"
#include "filter_classes_widget.h"
#include "filter_widget/select_classes_dialog.h"
SelectClassesWidget::SelectClassesWidget(QWidget *parent)
@ -45,17 +44,17 @@ SelectClassesWidget::~SelectClassesWidget() {
}
void SelectClassesWidget::init(AdConfig *adconfig) {
dialog->filter_classes_widget()->init(adconfig);
dialog->init(adconfig);
}
void SelectClassesWidget::set_classes(const QList<QString> &class_list, const QList<QString> &selected_list) {
dialog->filter_classes_widget()->set_classes(class_list, selected_list);
dialog->set_classes(class_list, selected_list);
update_classes_display();
}
QString SelectClassesWidget::get_filter() const {
return dialog->filter_classes_widget()->get_filter();
return dialog->get_filter();
}
// Display selected classes in line edit as a sorted list of
@ -63,7 +62,7 @@ QString SelectClassesWidget::get_filter() const {
// "User, Organizational Unit, ..."
void SelectClassesWidget::update_classes_display() {
const QString classes_display_text = [this]() {
QList<QString> selected_classes = dialog->filter_classes_widget()->get_selected_classes_display();
QList<QString> selected_classes = dialog->get_selected_classes_display();
std::sort(selected_classes.begin(), selected_classes.end());
@ -77,10 +76,10 @@ void SelectClassesWidget::update_classes_display() {
}
QVariant SelectClassesWidget::save_state() const {
return dialog->filter_classes_widget()->save_state();
return dialog->save_state();
}
void SelectClassesWidget::restore_state(const QVariant &state) {
dialog->filter_classes_widget()->restore_state(state);
dialog->restore_state(state);
update_classes_display();
}