20#ifndef ORES_QT_ROLE_MDI_WINDOW_HPP
21#define ORES_QT_ROLE_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/ClientRoleModel.hpp"
45 inline static std::string_view logger_name =
46 "ores.qt.role_mdi_window";
48 [[nodiscard]]
static auto& lg() {
50 static auto instance = make_logger(logger_name);
56 const QString& username,
57 QWidget* parent =
nullptr);
62 QSize sizeHint()
const override;
65 void statusChanged(
const QString& message);
66 void errorOccurred(
const QString& error_message);
67 void selectionChanged(
int selection_count);
71 void reload()
override;
79 void onLoadError(
const QString& error_message,
const QString& details = {});
80 void onRowDoubleClicked(
const QModelIndex& index);
81 void onSelectionChanged();
82 void onConnectionStateChanged();
85 void updateActionStates();
86 void setupReloadAction();
89 QVBoxLayout* verticalLayout_;
90 QTableView* roleTableView_;
93 QAction* reloadAction_;
96 std::unique_ptr<ClientRoleModel> roleModel_;
97 QSortFilterProxyModel* proxyModel_;
98 ClientManager* clientManager_;
Implements logging infrastructure for ORE Studio.
Definition boost_severity.hpp:28
Qt-based graphical user interface for ORE Studio.
Definition AboutDialog.hpp:35
Represents a named collection of permissions that can be assigned to accounts.
Definition role.hpp:39
Manages the lifecycle of the network client and IO context.
Definition ClientManager.hpp:90
Model for displaying roles fetched from the server via client.
Definition ClientRoleModel.hpp:38
Base class for entity list MDI windows providing stale indicator support.
Definition EntityListMdiWindow.hpp:56
MDI window for displaying and managing roles.
Definition RoleMdiWindow.hpp:41
QString normalRefreshTooltip() const override
Get the normal (non-stale) tooltip text for the refresh action.
Definition RoleMdiWindow.hpp:75