20#ifndef ORES_QT_ENTITY_LIST_MDI_WINDOW_HPP
21#define ORES_QT_ENTITY_LIST_MDI_WINDOW_HPP
27#include "ores.logging/make_logger.hpp"
60 inline static std::string_view logger_name =
"ores.qt.entity_list_mdi_window";
62 [[nodiscard]]
static auto& lg() {
64 static auto instance = make_logger(logger_name);
121 return tr(
"Data changed on server - click to reload");
125 void onPulseTimeout();
128 void startPulseAnimation();
130 QAction* refreshAction_{
nullptr};
131 QTimer* pulseTimer_{
nullptr};
132 QIcon normalReloadIcon_;
133 QIcon pulseReloadIcon_;
134 bool pulseState_{
false};
Implements logging infrastructure for ORE Studio.
Definition boost_severity.hpp:28
Qt-based graphical user interface for ORE Studio.
Definition AboutDialog.hpp:35
Base class for entity list MDI windows providing stale indicator support.
Definition EntityListMdiWindow.hpp:56
virtual void reload()=0
Reload data from the server.
virtual QString staleRefreshTooltip() const
Get the stale tooltip text for the refresh action.
Definition EntityListMdiWindow.hpp:120
void clearStaleIndicator()
Clear the stale indicator.
Definition EntityListMdiWindow.cpp:59
void markAsStale()
Mark the list as stale (data changed on server).
Definition EntityListMdiWindow.cpp:48
virtual QString normalRefreshTooltip() const
Get the normal (non-stale) tooltip text for the refresh action.
Definition EntityListMdiWindow.hpp:113
void initializeStaleIndicator(QAction *refreshAction, const QString &iconPath)
Initialize the stale indicator support.
Definition EntityListMdiWindow.cpp:36