20#ifndef ORES_QT_SYSTEM_SETTING_MDI_WINDOW_HPP
21#define ORES_QT_SYSTEM_SETTING_MDI_WINDOW_HPP
26#include <QSortFilterProxyModel>
28#include "ores.qt/EntityListMdiWindow.hpp"
29#include "ores.qt/ClientManager.hpp"
30#include "ores.logging/make_logger.hpp"
31#include "ores.qt/ClientSystemSettingModel.hpp"
45 inline static std::string_view logger_name =
46 "ores.qt.system_setting_mdi_window";
48 [[nodiscard]]
static auto& lg() {
50 static auto instance = make_logger(logger_name);
56 const QString& username,
57 QWidget* parent =
nullptr);
63 void statusChanged(
const QString& message);
64 void errorOccurred(
const QString& error_message);
65 void selectionChanged(
int selection_count);
66 void addNewRequested();
68 void showHistoryRequested(
const QString& name);
69 void systemSettingDeleted(
const QString& name);
72 void doReload()
override;
75 void deleteSelected();
80 return tr(
"Refresh system settings");
85 void onLoadError(
const QString& error_message,
const QString& details = {});
86 void onRowDoubleClicked(
const QModelIndex& index);
87 void onSelectionChanged();
88 void onConnectionStateChanged();
91 void updateActionStates();
92 void setupReloadAction();
95 QVBoxLayout* verticalLayout_;
96 QTableView* systemSettingTableView_;
99 QAction* reloadAction_;
101 QAction* editAction_;
102 QAction* deleteAction_;
103 QAction* historyAction_;
105 std::unique_ptr<ClientSystemSettingModel> systemSettingModel_;
106 QSortFilterProxyModel* proxyModel_;
107 ClientManager* clientManager_;
Implements logging infrastructure for ORE Studio.
Definition boost_severity.hpp:28
Qt-based graphical user interface for ORE Studio.
Definition AboutDialog.hpp:29
Manages the lifecycle of the NATS client and login state.
Definition ClientManager.hpp:109
Model for displaying system settings fetched from the server.
Definition ClientSystemSettingModel.hpp:41
Base class for entity list MDI windows providing stale indicator support.
Definition EntityListMdiWindow.hpp:62
MDI window for displaying and managing system settings.
Definition SystemSettingMdiWindow.hpp:41
QString normalRefreshTooltip() const override
Get the normal (non-stale) tooltip text for the refresh action.
Definition SystemSettingMdiWindow.hpp:79
Represents a typed system setting in the domain layer.
Definition system_setting.hpp:35