41 lines
		
	
	
		
			924 B
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			41 lines
		
	
	
		
			924 B
		
	
	
	
		
			C++
		
	
	
	
	
	
#pragma once
 | 
						|
#include <QString>
 | 
						|
#include <QWidget>
 | 
						|
#include <QMap>
 | 
						|
#include <QIcon>
 | 
						|
#include <memory>
 | 
						|
 | 
						|
class IconLabel;
 | 
						|
class QToolButton;
 | 
						|
class QHBoxLayout;
 | 
						|
class StatusChecker;
 | 
						|
 | 
						|
class ServerStatus: public QWidget
 | 
						|
{
 | 
						|
    Q_OBJECT
 | 
						|
public:
 | 
						|
    explicit ServerStatus(QWidget *parent = nullptr, Qt::WindowFlags f = 0);
 | 
						|
    virtual ~ServerStatus();
 | 
						|
 | 
						|
public slots:
 | 
						|
    void reloadStatus();
 | 
						|
    void StatusChanged(const QMap<QString, QString> statuses);
 | 
						|
    void StatusReloading(bool is_reloading);
 | 
						|
 | 
						|
private slots:
 | 
						|
    void clicked();
 | 
						|
 | 
						|
private: /* methods */
 | 
						|
    void addLine();
 | 
						|
    void addStatus(QString key, QString name);
 | 
						|
    void setStatus(QString key, int value);
 | 
						|
private: /* data */
 | 
						|
    QHBoxLayout * layout = nullptr;
 | 
						|
    QToolButton *m_statusRefresh = nullptr;
 | 
						|
    QMap<QString, IconLabel *> serverLabels;
 | 
						|
    QIcon goodIcon;
 | 
						|
    QIcon yellowIcon;
 | 
						|
    QIcon badIcon;
 | 
						|
    std::shared_ptr<StatusChecker> m_statusChecker;
 | 
						|
};
 |