mirror of
https://github.com/tnodir/fort
synced 2024-11-15 07:45:22 +00:00
UI: Rules: Extract PolicyListBox
This commit is contained in:
parent
f531ee54c3
commit
f107029fc2
@ -20,6 +20,7 @@ SOURCES += \
|
|||||||
conf/confmanager.cpp \
|
conf/confmanager.cpp \
|
||||||
conf/firewallconf.cpp \
|
conf/firewallconf.cpp \
|
||||||
conf/inioptions.cpp \
|
conf/inioptions.cpp \
|
||||||
|
conf/policy.cpp \
|
||||||
control/control.cpp \
|
control/control.cpp \
|
||||||
control/controlmanager.cpp \
|
control/controlmanager.cpp \
|
||||||
control/controlworker.cpp \
|
control/controlworker.cpp \
|
||||||
@ -55,6 +56,7 @@ SOURCES += \
|
|||||||
form/opt/pages/optbasepage.cpp \
|
form/opt/pages/optbasepage.cpp \
|
||||||
form/opt/pages/optionspage.cpp \
|
form/opt/pages/optionspage.cpp \
|
||||||
form/opt/pages/optmainpage.cpp \
|
form/opt/pages/optmainpage.cpp \
|
||||||
|
form/opt/pages/rules/policylistbox.cpp \
|
||||||
form/opt/pages/rulespage.cpp \
|
form/opt/pages/rulespage.cpp \
|
||||||
form/opt/pages/schedulepage.cpp \
|
form/opt/pages/schedulepage.cpp \
|
||||||
form/opt/pages/statisticspage.cpp \
|
form/opt/pages/statisticspage.cpp \
|
||||||
@ -175,6 +177,8 @@ HEADERS += \
|
|||||||
conf/confmanager.h \
|
conf/confmanager.h \
|
||||||
conf/firewallconf.h \
|
conf/firewallconf.h \
|
||||||
conf/inioptions.h \
|
conf/inioptions.h \
|
||||||
|
conf/policy.h \
|
||||||
|
conf/policylist.h \
|
||||||
control/control.h \
|
control/control.h \
|
||||||
control/controlmanager.h \
|
control/controlmanager.h \
|
||||||
control/controlworker.h \
|
control/controlworker.h \
|
||||||
@ -210,6 +214,7 @@ HEADERS += \
|
|||||||
form/opt/pages/optbasepage.h \
|
form/opt/pages/optbasepage.h \
|
||||||
form/opt/pages/optionspage.h \
|
form/opt/pages/optionspage.h \
|
||||||
form/opt/pages/optmainpage.h \
|
form/opt/pages/optmainpage.h \
|
||||||
|
form/opt/pages/rules/policylistbox.h \
|
||||||
form/opt/pages/rulespage.h \
|
form/opt/pages/rulespage.h \
|
||||||
form/opt/pages/schedulepage.h \
|
form/opt/pages/schedulepage.h \
|
||||||
form/opt/pages/statisticspage.h \
|
form/opt/pages/statisticspage.h \
|
||||||
|
1
src/ui/conf/policy.cpp
Normal file
1
src/ui/conf/policy.cpp
Normal file
@ -0,0 +1 @@
|
|||||||
|
#include "policy.h"
|
17
src/ui/conf/policy.h
Normal file
17
src/ui/conf/policy.h
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
#ifndef POLICY_H
|
||||||
|
#define POLICY_H
|
||||||
|
|
||||||
|
#include <QObject>
|
||||||
|
|
||||||
|
class Policy
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
bool isPreset = false;
|
||||||
|
bool enabled = true;
|
||||||
|
|
||||||
|
int policyId = 0;
|
||||||
|
|
||||||
|
QString name;
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // POLICY_H
|
14
src/ui/conf/policylist.h
Normal file
14
src/ui/conf/policylist.h
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
#ifndef POLICYLIST_H
|
||||||
|
#define POLICYLIST_H
|
||||||
|
|
||||||
|
enum PolicyListType {
|
||||||
|
PolicyListInvalid = -1,
|
||||||
|
PolicyListNone = 0,
|
||||||
|
PolicyListPresetLibrary,
|
||||||
|
PolicyListPresetApp,
|
||||||
|
PolicyListGlobalBeforeApp,
|
||||||
|
PolicyListGlobalAfterApp,
|
||||||
|
PolicyListCount
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // POLICYLIST_H
|
@ -56,6 +56,7 @@ QToolButton *ControlUtil::createToolButton(
|
|||||||
const QString &iconPath, const std::function<void()> &onClicked)
|
const QString &iconPath, const std::function<void()> &onClicked)
|
||||||
{
|
{
|
||||||
auto c = new QToolButton();
|
auto c = new QToolButton();
|
||||||
|
c->setToolButtonStyle(Qt::ToolButtonTextBesideIcon);
|
||||||
c->setIcon(IconCache::icon(iconPath));
|
c->setIcon(IconCache::icon(iconPath));
|
||||||
|
|
||||||
c->connect(c, &QToolButton::clicked, onClicked);
|
c->connect(c, &QToolButton::clicked, onClicked);
|
||||||
@ -63,6 +64,16 @@ QToolButton *ControlUtil::createToolButton(
|
|||||||
return c;
|
return c;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QToolButton *ControlUtil::createFlatToolButton(
|
||||||
|
const QString &iconPath, const std::function<void()> &onClicked)
|
||||||
|
{
|
||||||
|
auto c = createToolButton(iconPath, onClicked);
|
||||||
|
c->setToolButtonStyle(Qt::ToolButtonIconOnly);
|
||||||
|
c->setAutoRaise(true);
|
||||||
|
c->setFocusPolicy(Qt::NoFocus);
|
||||||
|
return c;
|
||||||
|
}
|
||||||
|
|
||||||
QPushButton *ControlUtil::createLinkButton(
|
QPushButton *ControlUtil::createLinkButton(
|
||||||
const QString &iconPath, const QString &linkPath, const QString &toolTip)
|
const QString &iconPath, const QString &linkPath, const QString &toolTip)
|
||||||
{
|
{
|
||||||
|
@ -28,6 +28,8 @@ public:
|
|||||||
const QString &iconPath, const std::function<void()> &onClicked);
|
const QString &iconPath, const std::function<void()> &onClicked);
|
||||||
static QToolButton *createToolButton(
|
static QToolButton *createToolButton(
|
||||||
const QString &iconPath, const std::function<void()> &onClicked);
|
const QString &iconPath, const std::function<void()> &onClicked);
|
||||||
|
static QToolButton *createFlatToolButton(
|
||||||
|
const QString &iconPath, const std::function<void()> &onClicked);
|
||||||
static QPushButton *createLinkButton(const QString &iconPath,
|
static QPushButton *createLinkButton(const QString &iconPath,
|
||||||
const QString &linkPath = QString(), const QString &toolTip = QString());
|
const QString &linkPath = QString(), const QString &toolTip = QString());
|
||||||
static QPushButton *createFlatButton(
|
static QPushButton *createFlatButton(
|
||||||
|
75
src/ui/form/opt/pages/rules/policylistbox.cpp
Normal file
75
src/ui/form/opt/pages/rules/policylistbox.cpp
Normal file
@ -0,0 +1,75 @@
|
|||||||
|
#include "policylistbox.h"
|
||||||
|
|
||||||
|
#include <QHBoxLayout>
|
||||||
|
#include <QHeaderView>
|
||||||
|
#include <QLabel>
|
||||||
|
#include <QToolButton>
|
||||||
|
#include <QVBoxLayout>
|
||||||
|
|
||||||
|
#include <form/controls/controlutil.h>
|
||||||
|
#include <form/controls/tableview.h>
|
||||||
|
#include <model/policylistmodel.h>
|
||||||
|
|
||||||
|
PolicyListBox::PolicyListBox(PolicyListType type, QWidget *parent) :
|
||||||
|
QWidget(parent), m_listModel(new PolicyListModel(type, this))
|
||||||
|
{
|
||||||
|
setupUi();
|
||||||
|
|
||||||
|
listModel()->initialize();
|
||||||
|
}
|
||||||
|
|
||||||
|
void PolicyListBox::onRetranslateUi()
|
||||||
|
{
|
||||||
|
m_btAddPolicy->setToolTip(tr("Add Policy"));
|
||||||
|
m_btRemovePolicy->setToolTip(tr("Remove Policy"));
|
||||||
|
m_btEditPolicy->setToolTip(tr("Edit Policy"));
|
||||||
|
}
|
||||||
|
|
||||||
|
void PolicyListBox::setupUi()
|
||||||
|
{
|
||||||
|
auto layout = new QVBoxLayout();
|
||||||
|
layout->setContentsMargins(0, 0, 0, 0);
|
||||||
|
|
||||||
|
// Header
|
||||||
|
auto headerLayout = setupHeader();
|
||||||
|
layout->addLayout(headerLayout);
|
||||||
|
|
||||||
|
// Table View
|
||||||
|
setupTableView();
|
||||||
|
layout->addWidget(m_tableView);
|
||||||
|
|
||||||
|
this->setLayout(layout);
|
||||||
|
}
|
||||||
|
|
||||||
|
QLayout *PolicyListBox::setupHeader()
|
||||||
|
{
|
||||||
|
m_label = ControlUtil::createLabel();
|
||||||
|
m_label->setFont(ControlUtil::fontDemiBold());
|
||||||
|
|
||||||
|
m_btAddPolicy = ControlUtil::createFlatToolButton(":/icons/add.png", [&] { emit addPolicy(); });
|
||||||
|
m_btRemovePolicy =
|
||||||
|
ControlUtil::createFlatToolButton(":/icons/delete.png", [&] { emit removePolicy(); });
|
||||||
|
m_btEditPolicy =
|
||||||
|
ControlUtil::createFlatToolButton(":/icons/pencil.png", [&] { emit editPolicy(); });
|
||||||
|
|
||||||
|
auto layout = new QHBoxLayout();
|
||||||
|
layout->setSpacing(2);
|
||||||
|
layout->addWidget(m_label, 1);
|
||||||
|
layout->addWidget(m_btAddPolicy);
|
||||||
|
layout->addWidget(m_btRemovePolicy);
|
||||||
|
layout->addWidget(m_btEditPolicy);
|
||||||
|
|
||||||
|
return layout;
|
||||||
|
}
|
||||||
|
|
||||||
|
void PolicyListBox::setupTableView()
|
||||||
|
{
|
||||||
|
m_tableView = new TableView();
|
||||||
|
m_tableView->setAlternatingRowColors(true);
|
||||||
|
m_tableView->setSelectionMode(QAbstractItemView::SingleSelection);
|
||||||
|
m_tableView->setSelectionBehavior(QAbstractItemView::SelectItems);
|
||||||
|
|
||||||
|
m_tableView->horizontalHeader()->setVisible(false);
|
||||||
|
|
||||||
|
m_tableView->setModel(listModel());
|
||||||
|
}
|
49
src/ui/form/opt/pages/rules/policylistbox.h
Normal file
49
src/ui/form/opt/pages/rules/policylistbox.h
Normal file
@ -0,0 +1,49 @@
|
|||||||
|
#ifndef POLICYLISTBOX_H
|
||||||
|
#define POLICYLISTBOX_H
|
||||||
|
|
||||||
|
#include <QWidget>
|
||||||
|
|
||||||
|
#include <conf/policylist.h>
|
||||||
|
|
||||||
|
QT_FORWARD_DECLARE_CLASS(QLabel)
|
||||||
|
QT_FORWARD_DECLARE_CLASS(QToolButton)
|
||||||
|
|
||||||
|
class PolicyListModel;
|
||||||
|
class TableView;
|
||||||
|
|
||||||
|
class PolicyListBox : public QWidget
|
||||||
|
{
|
||||||
|
Q_OBJECT
|
||||||
|
|
||||||
|
public:
|
||||||
|
explicit PolicyListBox(PolicyListType type, QWidget *parent = nullptr);
|
||||||
|
|
||||||
|
PolicyListModel *listModel() const { return m_listModel; }
|
||||||
|
|
||||||
|
QLabel *label() const { return m_label; }
|
||||||
|
TableView *tableView() const { return m_tableView; }
|
||||||
|
|
||||||
|
signals:
|
||||||
|
void addPolicy();
|
||||||
|
void removePolicy();
|
||||||
|
void editPolicy();
|
||||||
|
|
||||||
|
public slots:
|
||||||
|
void onRetranslateUi();
|
||||||
|
|
||||||
|
private:
|
||||||
|
void setupUi();
|
||||||
|
QLayout *setupHeader();
|
||||||
|
void setupTableView();
|
||||||
|
|
||||||
|
private:
|
||||||
|
PolicyListModel *m_listModel = nullptr;
|
||||||
|
|
||||||
|
QLabel *m_label = nullptr;
|
||||||
|
QToolButton *m_btAddPolicy = nullptr;
|
||||||
|
QToolButton *m_btRemovePolicy = nullptr;
|
||||||
|
QToolButton *m_btEditPolicy = nullptr;
|
||||||
|
TableView *m_tableView = nullptr;
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // POLICYLISTBOX_H
|
@ -1,8 +1,8 @@
|
|||||||
#include "rulespage.h"
|
#include "rulespage.h"
|
||||||
|
|
||||||
#include <QGroupBox>
|
|
||||||
#include <QHBoxLayout>
|
#include <QHBoxLayout>
|
||||||
#include <QHeaderView>
|
#include <QHeaderView>
|
||||||
|
#include <QLabel>
|
||||||
#include <QSplitter>
|
#include <QSplitter>
|
||||||
#include <QVBoxLayout>
|
#include <QVBoxLayout>
|
||||||
|
|
||||||
@ -10,19 +10,11 @@
|
|||||||
#include <model/policylistmodel.h>
|
#include <model/policylistmodel.h>
|
||||||
#include <user/iniuser.h>
|
#include <user/iniuser.h>
|
||||||
|
|
||||||
RulesPage::RulesPage(OptionsController *ctrl, QWidget *parent) :
|
#include "rules/policylistbox.h"
|
||||||
OptBasePage(ctrl, parent),
|
|
||||||
m_presetLibListModel(new PolicyListModel(PolicyListModel::PolicyListPresetLibrary, this)),
|
RulesPage::RulesPage(OptionsController *ctrl, QWidget *parent) : OptBasePage(ctrl, parent)
|
||||||
m_presetAppListModel(new PolicyListModel(PolicyListModel::PolicyListPresetApp, this)),
|
|
||||||
m_globalPreListModel(new PolicyListModel(PolicyListModel::PolicyListGlobalBeforeApp, this)),
|
|
||||||
m_globalPostListModel(new PolicyListModel(PolicyListModel::PolicyListGlobalAfterApp, this))
|
|
||||||
{
|
{
|
||||||
setupUi();
|
setupUi();
|
||||||
|
|
||||||
presetAppListModel()->initialize();
|
|
||||||
presetLibListModel()->initialize();
|
|
||||||
globalPreListModel()->initialize();
|
|
||||||
globalPostListModel()->initialize();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void RulesPage::onSaveWindowState(IniUser *ini)
|
void RulesPage::onSaveWindowState(IniUser *ini)
|
||||||
@ -41,10 +33,15 @@ void RulesPage::onRestoreWindowState(IniUser *ini)
|
|||||||
|
|
||||||
void RulesPage::onRetranslateUi()
|
void RulesPage::onRetranslateUi()
|
||||||
{
|
{
|
||||||
m_gbPresetLib->setTitle(tr("Library of preset rules:"));
|
m_presetLibBox->label()->setText(tr("Library of preset rules:"));
|
||||||
m_gbPresetApp->setTitle(tr("Preset rules for applications:"));
|
m_presetAppBox->label()->setText(tr("Preset rules for applications:"));
|
||||||
m_gbGlobalPre->setTitle(tr("Global rules, applied before application rules:"));
|
m_globalPreBox->label()->setText(tr("Global rules, applied before application rules:"));
|
||||||
m_gbGlobalPost->setTitle(tr("Global rules, applied after application rules:"));
|
m_globalPostBox->label()->setText(tr("Global rules, applied after application rules:"));
|
||||||
|
|
||||||
|
m_presetLibBox->onRetranslateUi();
|
||||||
|
m_presetAppBox->onRetranslateUi();
|
||||||
|
m_globalPreBox->onRetranslateUi();
|
||||||
|
m_globalPostBox->onRetranslateUi();
|
||||||
}
|
}
|
||||||
|
|
||||||
void RulesPage::setupUi()
|
void RulesPage::setupUi()
|
||||||
@ -80,60 +77,18 @@ void RulesPage::setupPresetSplitter()
|
|||||||
m_presetSplitter = new QSplitter();
|
m_presetSplitter = new QSplitter();
|
||||||
m_presetSplitter->setHandleWidth(10);
|
m_presetSplitter->setHandleWidth(10);
|
||||||
m_presetSplitter->setOrientation(Qt::Vertical);
|
m_presetSplitter->setOrientation(Qt::Vertical);
|
||||||
m_presetSplitter->addWidget(m_gbPresetLib);
|
m_presetSplitter->addWidget(m_presetLibBox);
|
||||||
m_presetSplitter->addWidget(m_gbPresetApp);
|
m_presetSplitter->addWidget(m_presetAppBox);
|
||||||
}
|
}
|
||||||
|
|
||||||
void RulesPage::setupPresetLibBox()
|
void RulesPage::setupPresetLibBox()
|
||||||
{
|
{
|
||||||
setupPresetLibView();
|
m_presetLibBox = new PolicyListBox(PolicyListPresetLibrary);
|
||||||
|
|
||||||
auto layout = new QVBoxLayout();
|
|
||||||
layout->setContentsMargins(0, 0, 0, 0);
|
|
||||||
layout->addWidget(m_presetLibListView);
|
|
||||||
|
|
||||||
m_gbPresetLib = new QGroupBox(this);
|
|
||||||
m_gbPresetLib->setFlat(true);
|
|
||||||
m_gbPresetLib->setLayout(layout);
|
|
||||||
}
|
|
||||||
|
|
||||||
void RulesPage::setupPresetLibView()
|
|
||||||
{
|
|
||||||
m_presetLibListView = new TableView();
|
|
||||||
m_presetLibListView->setAlternatingRowColors(true);
|
|
||||||
m_presetLibListView->setSelectionMode(QAbstractItemView::SingleSelection);
|
|
||||||
m_presetLibListView->setSelectionBehavior(QAbstractItemView::SelectItems);
|
|
||||||
|
|
||||||
m_presetLibListView->horizontalHeader()->setVisible(false);
|
|
||||||
|
|
||||||
m_presetLibListView->setModel(presetLibListModel());
|
|
||||||
|
|
||||||
// m_presetLibListView->setMenu(m_btEdit->menu());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void RulesPage::setupPresetAppBox()
|
void RulesPage::setupPresetAppBox()
|
||||||
{
|
{
|
||||||
setupPresetAppView();
|
m_presetAppBox = new PolicyListBox(PolicyListPresetApp);
|
||||||
|
|
||||||
auto layout = new QVBoxLayout();
|
|
||||||
layout->setContentsMargins(0, 0, 0, 0);
|
|
||||||
layout->addWidget(m_presetAppListView);
|
|
||||||
|
|
||||||
m_gbPresetApp = new QGroupBox(this);
|
|
||||||
m_gbPresetApp->setFlat(true);
|
|
||||||
m_gbPresetApp->setLayout(layout);
|
|
||||||
}
|
|
||||||
|
|
||||||
void RulesPage::setupPresetAppView()
|
|
||||||
{
|
|
||||||
m_presetAppListView = new TableView();
|
|
||||||
m_presetAppListView->setAlternatingRowColors(true);
|
|
||||||
m_presetAppListView->setSelectionMode(QAbstractItemView::SingleSelection);
|
|
||||||
m_presetAppListView->setSelectionBehavior(QAbstractItemView::SelectItems);
|
|
||||||
|
|
||||||
m_presetAppListView->horizontalHeader()->setVisible(false);
|
|
||||||
|
|
||||||
m_presetAppListView->setModel(presetAppListModel());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void RulesPage::setupGlobalSplitter()
|
void RulesPage::setupGlobalSplitter()
|
||||||
@ -148,56 +103,16 @@ void RulesPage::setupGlobalSplitter()
|
|||||||
m_globalSplitter = new QSplitter();
|
m_globalSplitter = new QSplitter();
|
||||||
m_globalSplitter->setHandleWidth(10);
|
m_globalSplitter->setHandleWidth(10);
|
||||||
m_globalSplitter->setOrientation(Qt::Vertical);
|
m_globalSplitter->setOrientation(Qt::Vertical);
|
||||||
m_globalSplitter->addWidget(m_gbGlobalPre);
|
m_globalSplitter->addWidget(m_globalPreBox);
|
||||||
m_globalSplitter->addWidget(m_gbGlobalPost);
|
m_globalSplitter->addWidget(m_globalPostBox);
|
||||||
}
|
}
|
||||||
|
|
||||||
void RulesPage::setupGlobalPreBox()
|
void RulesPage::setupGlobalPreBox()
|
||||||
{
|
{
|
||||||
setupGlobalPreView();
|
m_globalPreBox = new PolicyListBox(PolicyListGlobalBeforeApp);
|
||||||
|
|
||||||
auto layout = new QVBoxLayout();
|
|
||||||
layout->setContentsMargins(0, 0, 0, 0);
|
|
||||||
layout->addWidget(m_globalPreListView);
|
|
||||||
|
|
||||||
m_gbGlobalPre = new QGroupBox(this);
|
|
||||||
m_gbGlobalPre->setFlat(true);
|
|
||||||
m_gbGlobalPre->setLayout(layout);
|
|
||||||
}
|
|
||||||
|
|
||||||
void RulesPage::setupGlobalPreView()
|
|
||||||
{
|
|
||||||
m_globalPreListView = new TableView();
|
|
||||||
m_globalPreListView->setAlternatingRowColors(true);
|
|
||||||
m_globalPreListView->setSelectionMode(QAbstractItemView::SingleSelection);
|
|
||||||
m_globalPreListView->setSelectionBehavior(QAbstractItemView::SelectItems);
|
|
||||||
|
|
||||||
m_globalPreListView->horizontalHeader()->setVisible(false);
|
|
||||||
|
|
||||||
m_globalPreListView->setModel(globalPreListModel());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void RulesPage::setupGlobalPostBox()
|
void RulesPage::setupGlobalPostBox()
|
||||||
{
|
{
|
||||||
setupGlobalPostView();
|
m_globalPostBox = new PolicyListBox(PolicyListGlobalAfterApp);
|
||||||
|
|
||||||
auto layout = new QVBoxLayout();
|
|
||||||
layout->setContentsMargins(0, 0, 0, 0);
|
|
||||||
layout->addWidget(m_globalPostListView);
|
|
||||||
|
|
||||||
m_gbGlobalPost = new QGroupBox(this);
|
|
||||||
m_gbGlobalPost->setFlat(true);
|
|
||||||
m_gbGlobalPost->setLayout(layout);
|
|
||||||
}
|
|
||||||
|
|
||||||
void RulesPage::setupGlobalPostView()
|
|
||||||
{
|
|
||||||
m_globalPostListView = new TableView();
|
|
||||||
m_globalPostListView->setAlternatingRowColors(true);
|
|
||||||
m_globalPostListView->setSelectionMode(QAbstractItemView::SingleSelection);
|
|
||||||
m_globalPostListView->setSelectionBehavior(QAbstractItemView::SelectItems);
|
|
||||||
|
|
||||||
m_globalPostListView->horizontalHeader()->setVisible(false);
|
|
||||||
|
|
||||||
m_globalPostListView->setModel(globalPostListModel());
|
|
||||||
}
|
}
|
||||||
|
@ -3,8 +3,7 @@
|
|||||||
|
|
||||||
#include "optbasepage.h"
|
#include "optbasepage.h"
|
||||||
|
|
||||||
class PolicyListModel;
|
class PolicyListBox;
|
||||||
class TableView;
|
|
||||||
|
|
||||||
class RulesPage : public OptBasePage
|
class RulesPage : public OptBasePage
|
||||||
{
|
{
|
||||||
@ -13,11 +12,6 @@ class RulesPage : public OptBasePage
|
|||||||
public:
|
public:
|
||||||
explicit RulesPage(OptionsController *ctrl = nullptr, QWidget *parent = nullptr);
|
explicit RulesPage(OptionsController *ctrl = nullptr, QWidget *parent = nullptr);
|
||||||
|
|
||||||
PolicyListModel *presetLibListModel() const { return m_presetLibListModel; }
|
|
||||||
PolicyListModel *presetAppListModel() const { return m_presetAppListModel; }
|
|
||||||
PolicyListModel *globalPreListModel() const { return m_globalPreListModel; }
|
|
||||||
PolicyListModel *globalPostListModel() const { return m_globalPostListModel; }
|
|
||||||
|
|
||||||
protected slots:
|
protected slots:
|
||||||
void onSaveWindowState(IniUser *ini) override;
|
void onSaveWindowState(IniUser *ini) override;
|
||||||
void onRestoreWindowState(IniUser *ini) override;
|
void onRestoreWindowState(IniUser *ini) override;
|
||||||
@ -28,32 +22,19 @@ private:
|
|||||||
void setupUi();
|
void setupUi();
|
||||||
void setupPresetSplitter();
|
void setupPresetSplitter();
|
||||||
void setupPresetLibBox();
|
void setupPresetLibBox();
|
||||||
void setupPresetLibView();
|
|
||||||
void setupPresetAppBox();
|
void setupPresetAppBox();
|
||||||
void setupPresetAppView();
|
|
||||||
void setupGlobalSplitter();
|
void setupGlobalSplitter();
|
||||||
void setupGlobalPreBox();
|
void setupGlobalPreBox();
|
||||||
void setupGlobalPreView();
|
|
||||||
void setupGlobalPostBox();
|
void setupGlobalPostBox();
|
||||||
void setupGlobalPostView();
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
PolicyListModel *m_presetLibListModel = nullptr;
|
PolicyListBox *m_presetLibBox = nullptr;
|
||||||
PolicyListModel *m_presetAppListModel = nullptr;
|
PolicyListBox *m_presetAppBox = nullptr;
|
||||||
PolicyListModel *m_globalPreListModel = nullptr;
|
PolicyListBox *m_globalPreBox = nullptr;
|
||||||
PolicyListModel *m_globalPostListModel = nullptr;
|
PolicyListBox *m_globalPostBox = nullptr;
|
||||||
|
|
||||||
QGroupBox *m_gbPresetLib = nullptr;
|
|
||||||
QGroupBox *m_gbPresetApp = nullptr;
|
|
||||||
QGroupBox *m_gbGlobalPre = nullptr;
|
|
||||||
QGroupBox *m_gbGlobalPost = nullptr;
|
|
||||||
QSplitter *m_splitter = nullptr;
|
QSplitter *m_splitter = nullptr;
|
||||||
QSplitter *m_presetSplitter = nullptr;
|
QSplitter *m_presetSplitter = nullptr;
|
||||||
QSplitter *m_globalSplitter = nullptr;
|
QSplitter *m_globalSplitter = nullptr;
|
||||||
TableView *m_presetLibListView = nullptr;
|
|
||||||
TableView *m_presetAppListView = nullptr;
|
|
||||||
TableView *m_globalPreListView = nullptr;
|
|
||||||
TableView *m_globalPostListView = nullptr;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // RULESPAGE_H
|
#endif // RULESPAGE_H
|
||||||
|
@ -4,19 +4,15 @@
|
|||||||
#include <QObject>
|
#include <QObject>
|
||||||
#include <QVector>
|
#include <QVector>
|
||||||
|
|
||||||
|
#include <conf/policy.h>
|
||||||
|
#include <conf/policylist.h>
|
||||||
#include <util/model/tablesqlmodel.h>
|
#include <util/model/tablesqlmodel.h>
|
||||||
|
|
||||||
class ConfManager;
|
class ConfManager;
|
||||||
class SqliteDb;
|
class SqliteDb;
|
||||||
|
|
||||||
struct PolicyRow : TableRow
|
struct PolicyRow : TableRow, public Policy
|
||||||
{
|
{
|
||||||
bool isPreset = false;
|
|
||||||
bool enabled = true;
|
|
||||||
|
|
||||||
int policyId = 0;
|
|
||||||
|
|
||||||
QString name;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
class PolicyListModel : public TableSqlModel
|
class PolicyListModel : public TableSqlModel
|
||||||
@ -24,16 +20,6 @@ class PolicyListModel : public TableSqlModel
|
|||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
|
|
||||||
public:
|
public:
|
||||||
enum PolicyListType {
|
|
||||||
PolicyListInvalid = -1,
|
|
||||||
PolicyListNone = 0,
|
|
||||||
PolicyListPresetLibrary,
|
|
||||||
PolicyListPresetApp,
|
|
||||||
PolicyListGlobalBeforeApp,
|
|
||||||
PolicyListGlobalAfterApp,
|
|
||||||
PolicyListCount
|
|
||||||
};
|
|
||||||
|
|
||||||
explicit PolicyListModel(PolicyListType type, QObject *parent = nullptr);
|
explicit PolicyListModel(PolicyListType type, QObject *parent = nullptr);
|
||||||
|
|
||||||
PolicyListType type() const { return m_type; }
|
PolicyListType type() const { return m_type; }
|
||||||
|
Loading…
Reference in New Issue
Block a user