summaryrefslogtreecommitdiffstats
path: root/gui/widgets/ServerStatus.h
diff options
context:
space:
mode:
Diffstat (limited to 'gui/widgets/ServerStatus.h')
-rw-r--r--gui/widgets/ServerStatus.h26
1 files changed, 14 insertions, 12 deletions
diff --git a/gui/widgets/ServerStatus.h b/gui/widgets/ServerStatus.h
index a116d3d4..2244031b 100644
--- a/gui/widgets/ServerStatus.h
+++ b/gui/widgets/ServerStatus.h
@@ -1,7 +1,11 @@
#pragma once
+#include <QString>
#include <QWidget>
+#include <QMap>
+#include <QIcon>
#include <memory>
+class IconLabel;
class QToolButton;
class QHBoxLayout;
@@ -10,23 +14,21 @@ class ServerStatus: public QWidget
Q_OBJECT
public:
explicit ServerStatus(QWidget *parent = nullptr, Qt::WindowFlags f = 0);
- virtual ~ServerStatus() {};
+ virtual ~ServerStatus();
+ ;
public slots:
- void updateStatusUI();
-
- void updateStatusFailedUI();
-
void reloadStatus();
- void StatusChanged();
+ void StatusChanged(const QMap<QString, QString> statuses);
+ void StatusReloading(bool is_reloading);
private: /* methods */
- clear();
- addLine();
- addStatus(QString name, bool online);
+ void addLine();
+ void addStatus(QString key, QString name);
+ void setStatus(QString key, bool value);
private: /* data */
QHBoxLayout * layout = nullptr;
QToolButton *m_statusRefresh = nullptr;
- QPixmap goodIcon;
- QPixmap badIcon;
- QTimer statusTimer;
+ QMap<QString, IconLabel *> serverLabels;
+ QIcon goodIcon;
+ QIcon badIcon;
};