mirror of
https://github.com/altlinux/admc.git
synced 2025-02-09 01:57:26 +03:00
split state for find widgets
for find object dialog and select object dialog before state was shared between the two, now it's two separate states
This commit is contained in:
parent
ece8591055
commit
0c5c109b89
@ -45,4 +45,12 @@ FindObjectDialog::FindObjectDialog(const QList<QString> classes, const QString d
|
||||
ui->find_widget->setup_view_menu(view_menu);
|
||||
|
||||
settings_setup_dialog_geometry(SETTING_find_object_dialog_geometry, this);
|
||||
|
||||
const QVariant state = settings_get_variant(SETTING_find_object_state);
|
||||
ui->find_widget->restore_state(state);
|
||||
}
|
||||
|
||||
FindObjectDialog::~FindObjectDialog() {
|
||||
const QVariant state = ui->find_widget->save_state();
|
||||
settings_set_variant(SETTING_find_object_state, state);
|
||||
}
|
||||
|
@ -36,6 +36,7 @@ class FindObjectDialog final : public QDialog {
|
||||
|
||||
public:
|
||||
FindObjectDialog(const QList<QString> classes, const QString default_base, QWidget *parent);
|
||||
~FindObjectDialog();
|
||||
|
||||
private:
|
||||
Ui::FindObjectDialog *ui;
|
||||
|
@ -66,9 +66,6 @@ FindWidget::FindWidget(QWidget *parent)
|
||||
head_item->setText(tr("Find results"));
|
||||
|
||||
ui->console->set_scope_view_visible(false);
|
||||
|
||||
const QVariant console_widget_state = settings_get_variant(SETTING_find_results_state);
|
||||
ui->console->restore_state(console_widget_state);
|
||||
|
||||
const QModelIndex head_index = head_item->index();
|
||||
ui->console->set_current_scope(head_index);
|
||||
@ -87,16 +84,21 @@ FindWidget::FindWidget(QWidget *parent)
|
||||
});
|
||||
}
|
||||
|
||||
FindWidget::~FindWidget() {
|
||||
const QVariant state = ui->console->save_state();
|
||||
settings_set_variant(SETTING_find_results_state, state);
|
||||
}
|
||||
|
||||
void FindWidget::init(const QList<QString> classes, const QString &default_base) {
|
||||
ui->filter_widget->add_classes(g_adconfig, classes);
|
||||
ui->select_base_widget->init(g_adconfig, default_base);
|
||||
}
|
||||
|
||||
QVariant FindWidget::save_state() const {
|
||||
const QVariant state = ui->console->save_state();
|
||||
|
||||
return state;
|
||||
}
|
||||
|
||||
void FindWidget::restore_state(const QVariant &state) {
|
||||
ui->console->restore_state(state);
|
||||
}
|
||||
|
||||
void FindWidget::setup_action_menu(QMenu *menu) {
|
||||
ui->console->add_actions(menu);
|
||||
|
||||
|
@ -42,9 +42,11 @@ class FindWidget final : public QWidget {
|
||||
|
||||
public:
|
||||
FindWidget(QWidget *parent = nullptr);
|
||||
~FindWidget();
|
||||
|
||||
void init(const QList<QString> classes, const QString &default_base);
|
||||
|
||||
QVariant save_state() const;
|
||||
void restore_state(const QVariant &state);
|
||||
|
||||
void setup_action_menu(QMenu *menu);
|
||||
void setup_view_menu(QMenu *menu);
|
||||
|
@ -23,6 +23,7 @@
|
||||
|
||||
#include "adldap.h"
|
||||
#include "globals.h"
|
||||
#include "settings.h"
|
||||
|
||||
#include <QMenuBar>
|
||||
|
||||
@ -39,6 +40,14 @@ SelectObjectAdvancedDialog::SelectObjectAdvancedDialog(const QList<QString> clas
|
||||
|
||||
ui->find_widget->init(classes, g_adconfig->domain_head());
|
||||
ui->find_widget->setup_view_menu(view_menu);
|
||||
|
||||
const QVariant state = settings_get_variant(SETTING_select_object_advanced_state);
|
||||
ui->find_widget->restore_state(state);
|
||||
}
|
||||
|
||||
SelectObjectAdvancedDialog::~SelectObjectAdvancedDialog() {
|
||||
const QVariant state = ui->find_widget->save_state();
|
||||
settings_set_variant(SETTING_select_object_advanced_state, state);
|
||||
}
|
||||
|
||||
QList<QString> SelectObjectAdvancedDialog::get_selected_dns() const {
|
||||
|
@ -36,6 +36,7 @@ class SelectObjectAdvancedDialog final : public QDialog {
|
||||
|
||||
public:
|
||||
SelectObjectAdvancedDialog(const QList<QString> classes, QWidget *parent);
|
||||
~SelectObjectAdvancedDialog();
|
||||
|
||||
QList<QString> get_selected_dns() const;
|
||||
|
||||
|
@ -48,6 +48,8 @@ DEFINE_SETTING(SETTING_console_widget_state);
|
||||
DEFINE_SETTING(SETTING_policy_results_state);
|
||||
DEFINE_SETTING(SETTING_find_results_state);
|
||||
DEFINE_SETTING(SETTING_filter_dialog_state);
|
||||
DEFINE_SETTING(SETTING_select_object_advanced_state);
|
||||
DEFINE_SETTING(SETTING_find_object_state);
|
||||
|
||||
// Widget geometry
|
||||
DEFINE_SETTING(SETTING_main_window_geometry);
|
||||
|
Loading…
x
Reference in New Issue
Block a user