41 lines
		
	
	
		
			875 B
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			41 lines
		
	
	
		
			875 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;
 | 
						|
};
 |