#include "serverstatuswidget.h" #include "ui_serverstatuswidget.h" #include #include "constants.h" #include "models/settings.h" ServerStatusWidget::ServerStatusWidget(QWidget *parent) : QWidget(parent), ui(new Ui::ServerStatusWidget) { servers_disabled = false; setMouseTracking(true); ui->setupUi(this); connect(&update_timer, &QTimer::timeout, &status_downloader, &Downloader::start); connect(&status_downloader, &Downloader::downloadFinished, this, &ServerStatusWidget::updateStatus); // updateStatus will start tech_work_message_downloader connect(&tech_work_message_downloader, &Downloader::downloadFinished, this, &ServerStatusWidget::updateTechWorksMessage); status_downloader.targetBytearray = &status_data; status_downloader.setUrl(Settings::getValue("Network/game_servers_status").toUrl()); tech_work_message_downloader.targetBytearray = &tech_work_message_data; tech_work_message_downloader.setUrl(Settings::getValue("Network/game_servers_message").toUrl()); update_timer.setInterval(1000 * 60); // 1 minute; update_timer.start(); // Perform update on startup status_downloader.start(); } ServerStatusWidget::~ServerStatusWidget() { delete ui; } void ServerStatusWidget::updateFontsSizes() { foreach (QString server_name, servers_list) { QLabel* label = ui->servers_list->findChild(server_name.toLower()); if (!label) { qDebug() << "Error! Cannot find server widget " << server_name; continue; } label->setFont(trajan_9pt); } } void ServerStatusWidget::resizeEvent(QResizeEvent *event) { updateFontsSizes(); } void ServerStatusWidget::leaveEvent(QEvent *event) { event->ignore(); emit showNoTooltip(); } void ServerStatusWidget::enterEvent(QEvent *event) { event->ignore(); emit showServersTooltip(server_status_tooltip_); } void ServerStatusWidget::updateStatus() { if (QString(status_data).contains("profilaktika")) { servers_disabled = true; qDebug() << "All servers are closed!"; foreach (QString server_name, servers_list) { QLabel* label = ui->servers_list->findChild(server_name.toLower()); if (!label) { qDebug() << "Error! Cannot find server widget " << server_name; continue; } label->setStyleSheet(closed_color); } status_data = ""; tech_work_message_downloader.start(); return; } servers_disabled = false; QStringList servers = QString(status_data).split("|||"); foreach (QString server, servers) { QStringList data = server.split(":::"); QWidget* widget = findChild(QString(data[0]).toLower()); if (!widget) continue; if (data.size() > 1 && data[1] == "on") widget->setStyleSheet(open_color); else widget->setStyleSheet(closed_color); } status_data = ""; tech_work_message_downloader.start(); } void ServerStatusWidget::updateTechWorksMessage() { if (tech_work_message_data.isEmpty()) { if (!servers_disabled) { server_status_tooltip_ = "ИГРОВЫЕ СЕРВЕРЫ LOTRO РАБОТАЮТ В ШТАТНОМ РЕЖИМЕ"; } else { server_status_tooltip_ = "

СЕРВЕРЫ ИГРЫ ОТКЛЮЧЕНЫ

"; } tech_work_message_data = ""; return; } QStringList list = QString(tech_work_message_data).split(":::"); if (list.size() < 4) { tech_work_message_data = ""; return; } QString time_beginning = "" + list[0] + ""; QString time_end = "" + list[1] + ""; QString day = "" + list[2] + ""; QString month = QString(" " + list[3]).toUpper(); if (!servers_disabled) { server_status_tooltip_ = "

ПЛАНИРУЕТСЯ ОТКЛЮЧЕНИЕ СЕРВЕРОВ ИГРЫ " + day + month + " С " + time_beginning + " ДО " + time_end+ " (МСК).

"; } else { server_status_tooltip_ = "

СЕРВЕРЫ ИГРЫ ОТКЛЮЧЕНЫ
ВРЕМЯ ПРОФ.РАБОТ: " + day + month + " С " + time_beginning + " ДО " + time_end + " (МСК).

"; } tech_work_message_data = ""; } PANIC: session(release): write data/sessions/1/5/15dfaa5b84d0fa8f: no space left on device

PANIC

session(release): write data/sessions/1/5/15dfaa5b84d0fa8f: no space left on device
github.com/go-macaron/session@v0.0.0-20190805070824-1a3cdc6f5659/session.go:199 (0x8b2934)
gopkg.in/macaron.v1@v1.3.9/context.go:79 (0x83d0a0)
github.com/go-macaron/inject@v0.0.0-20160627170012-d8a0b8677191/inject.go:157 (0x80ab07)
github.com/go-macaron/inject@v0.0.0-20160627170012-d8a0b8677191/inject.go:135 (0x80a8a8)
gopkg.in/macaron.v1@v1.3.9/context.go:121 (0x83d1f8)
gopkg.in/macaron.v1@v1.3.9/context.go:112 (0x84fdb5)
gopkg.in/macaron.v1@v1.3.9/recovery.go:161 (0x84fda8)
gopkg.in/macaron.v1@v1.3.9/logger.go:40 (0x840c73)
github.com/go-macaron/inject@v0.0.0-20160627170012-d8a0b8677191/inject.go:157 (0x80ab07)
github.com/go-macaron/inject@v0.0.0-20160627170012-d8a0b8677191/inject.go:135 (0x80a8a8)
gopkg.in/macaron.v1@v1.3.9/context.go:121 (0x83d1f8)
gopkg.in/macaron.v1@v1.3.9/router.go:187 (0x850fc6)
gopkg.in/macaron.v1@v1.3.9/router.go:303 (0x8493e5)
gopkg.in/macaron.v1@v1.3.9/macaron.go:220 (0x841fca)
net/http/server.go:2836 (0x7a79b2)
net/http/server.go:1924 (0x7a341b)
runtime/asm_amd64.s:1373 (0x46f9f0)