PrismLauncher/application/widgets/ServerStatus.h

41 lines
924 B
C
Raw Normal View History

2014-05-15 21:32:54 +01:00
#pragma once
2014-05-17 15:23:48 +01:00
#include <QString>
2014-05-15 21:32:54 +01:00
#include <QWidget>
2014-05-17 15:23:48 +01:00
#include <QMap>
#include <QIcon>
2014-05-15 21:32:54 +01:00
#include <memory>
2014-05-17 15:23:48 +01:00
class IconLabel;
2014-05-15 21:32:54 +01:00
class QToolButton;
class QHBoxLayout;
class StatusChecker;
2014-05-15 21:32:54 +01:00
class ServerStatus: public QWidget
{
2018-07-15 13:51:05 +01:00
Q_OBJECT
2014-05-15 21:32:54 +01:00
public:
2018-07-15 13:51:05 +01:00
explicit ServerStatus(QWidget *parent = nullptr, Qt::WindowFlags f = 0);
virtual ~ServerStatus();
2015-10-11 18:56:31 +01:00
2014-05-15 21:32:54 +01:00
public slots:
2018-07-15 13:51:05 +01:00
void reloadStatus();
void StatusChanged(const QMap<QString, QString> statuses);
void StatusReloading(bool is_reloading);
2014-05-15 21:32:54 +01:00
private slots:
2018-07-15 13:51:05 +01:00
void clicked();
2014-05-15 21:32:54 +01:00
private: /* methods */
2018-07-15 13:51:05 +01:00
void addLine();
void addStatus(QString key, QString name);
void setStatus(QString key, int value);
2014-05-15 21:32:54 +01:00
private: /* data */
2018-07-15 13:51:05 +01:00
QHBoxLayout * layout = nullptr;
QToolButton *m_statusRefresh = nullptr;
QMap<QString, IconLabel *> serverLabels;
QIcon goodIcon;
QIcon yellowIcon;
QIcon badIcon;
std::shared_ptr<StatusChecker> m_statusChecker;
2014-05-15 21:32:54 +01:00
};