1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- #include "serverstatuswidget.h"
- #include "ui_serverstatuswidget.h"
- #include <QDebug>
- #include "constants.h"
- ServerStatusWidget::ServerStatusWidget(QWidget *parent) :
- QWidget(parent),
- ui(new Ui::ServerStatusWidget)
- {
- ui->setupUi(this);
- downloader.targetBytearray = &downloaded_data;
- downloader.setUrl(QUrl("http://translate.lotros.ru/servers.txt"));
- connect(&update_timer, &QTimer::timeout, &downloader, &Downloader::start);
- connect(&downloader, &Downloader::downloadFinished, this, &ServerStatusWidget::updateStatus, Qt::QueuedConnection);
- emit downloader.start();
- update_timer.setInterval(1000 * 60); // 1 minute;
- update_timer.start();
- }
- ServerStatusWidget::~ServerStatusWidget()
- {
- delete ui;
- }
- void ServerStatusWidget::updateFontsSizes()
- {
- QFont font9pt = QFont(ui->anor->font());
- font9pt.setPixelSize(pixels_in_9_pt);
- QStringList servers_list = {"Anor",
- "Arkenstone",
- "Belegaer",
- "Brandywine",
- "Bullroarer",
- "Crickhollow",
- "Evernight",
- "Gladden",
- "Gwaihir",
- "Ithil",
- "Landroval",
- "Laurelin",
- "Sirannon"};
- foreach (QString server_name, servers_list) {
- QLabel* label = ui->servers_list->findChild<QLabel*>(server_name.toLower());
- label->setFont(font9pt);
- }
- }
- void ServerStatusWidget::resizeEvent(QResizeEvent *event)
- {
- updateFontsSizes();
- }
- void ServerStatusWidget::updateStatus()
- {
- QStringList servers = QString(downloaded_data).split("|||");
- foreach (QString server, servers) {
- QStringList data = server.split(":::");
- QWidget* widget = findChild<QWidget*>(QString(data[0]).toLower());
- if (!widget)
- continue;
- if (data.size() > 1 && data[1] == "on")
- widget->setStyleSheet(open_color);
- else
- widget->setStyleSheet(closed_color);
- }
- downloaded_data = "";
- }
|