serverstatuswidget.h 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. #ifndef SERVERSTATUSWIDGET_H
  2. #define SERVERSTATUSWIDGET_H
  3. #include <QWidget>
  4. #include <QTimer>
  5. #include <QByteArray>
  6. #include "models/downloader.h"
  7. namespace Ui {
  8. class ServerStatusWidget;
  9. }
  10. class ServerStatusWidget : public QWidget
  11. {
  12. Q_OBJECT
  13. public:
  14. explicit ServerStatusWidget(QWidget *parent = 0);
  15. ~ServerStatusWidget();
  16. public slots:
  17. void updateFontsSizes();
  18. signals:
  19. void showServersTooltip();
  20. void showNoTooltip();
  21. void updateServersTooltip(QString tooltip);
  22. protected:
  23. void resizeEvent(QResizeEvent *event) override;
  24. virtual void leaveEvent(QEvent * event) override;
  25. virtual void enterEvent(QEvent * event) override;
  26. public slots:
  27. void updateStatus();
  28. void updateTechWorksMessage();
  29. private:
  30. QTimer update_timer;
  31. Downloader status_downloader;
  32. QByteArray status_data;
  33. Downloader tech_work_message_downloader;
  34. QByteArray tech_work_message_data;
  35. const QString open_color = "color: rgb(0, 170, 0);";
  36. const QString closed_color = "color: rgb(255, 0, 0);";
  37. private:
  38. const QStringList servers_list = {"Anor",
  39. "Arkenstone",
  40. "Belegaer",
  41. "Brandywine",
  42. "Bullroarer",
  43. "Crickhollow",
  44. "Evernight",
  45. "Gladden",
  46. "Gwaihir",
  47. "Ithil",
  48. "Landroval",
  49. "Laurelin",
  50. "Sirannon"};
  51. Ui::ServerStatusWidget *ui;
  52. bool servers_disabled;
  53. };
  54. #endif // SERVERSTATUSWIDGET_H