Added games installer and now its amazing
This commit is contained in:
@@ -8,7 +8,7 @@
|
||||
#include <QLabel>
|
||||
#include <QLineEdit>
|
||||
#include <QTextEdit>
|
||||
#include <QUrl>
|
||||
#include <QAbstractSocket>
|
||||
|
||||
WebSocketController::WebSocketController(QLineEdit *urlEdit,
|
||||
QLabel *statusLabel,
|
||||
@@ -27,10 +27,10 @@ void WebSocketController::setSettingsTree(SettingsTree *tree)
|
||||
this, &WebSocketController::onValueEdited);
|
||||
}
|
||||
|
||||
void WebSocketController::setGamesPanel(GamesPanel *panel) { m_gamesPanel = panel; }
|
||||
void WebSocketController::setVersionsPanel(VersionsPanel *panel) { m_versionsPanel = panel; }
|
||||
void WebSocketController::setPowerPanel(PowerPanel *panel) { m_powerPanel = panel; }
|
||||
void WebSocketController::setLogPanel(LogPanel *panel) { m_logPanel = panel; }
|
||||
void WebSocketController::setGamesPanel(GamesPanel *panel) { m_gamesPanel = panel; }
|
||||
void WebSocketController::setVersionsPanel(VersionsPanel *p) { m_versionsPanel = p; }
|
||||
void WebSocketController::setPowerPanel(PowerPanel *panel) { m_powerPanel = panel; }
|
||||
void WebSocketController::setLogPanel(LogPanel *panel) { m_logPanel = panel; }
|
||||
|
||||
bool WebSocketController::isConnected() const
|
||||
{
|
||||
@@ -71,6 +71,7 @@ void WebSocketController::onConnected()
|
||||
|
||||
sendCommand(QStringLiteral("GBL List"));
|
||||
sendCommand(QStringLiteral("GAM list"));
|
||||
sendCommand(QStringLiteral("GAM listall")); // <-- fetch full catalogue
|
||||
sendCommand(QStringLiteral("NAM"));
|
||||
sendCommand(QStringLiteral("VER"));
|
||||
sendCommand(QStringLiteral("UID"));
|
||||
@@ -123,38 +124,35 @@ void WebSocketController::handleProtocol(const QString &msg)
|
||||
}
|
||||
|
||||
// ---- LOG channel list ----
|
||||
// Response: LOG name1 name2* name3 ... (* = enabled)
|
||||
if (cmd == "LOG" && tokens.size() > 1 && m_logPanel) {
|
||||
// Only handle the full list response (no '=' in any token)
|
||||
bool isList = true;
|
||||
for (int i = 1; i < tokens.size(); ++i) {
|
||||
for (int i = 1; i < tokens.size(); ++i)
|
||||
if (tokens[i].contains('=')) { isList = false; break; }
|
||||
}
|
||||
if (isList) m_logPanel->applyLogResponse(msg);
|
||||
return;
|
||||
}
|
||||
|
||||
// NAM
|
||||
// ---- NAM ----
|
||||
if (cmd == "NAM" && tokens.size() >= 2) {
|
||||
if (m_versionsPanel) m_versionsPanel->setDeviceName(tokens[1]);
|
||||
return;
|
||||
}
|
||||
|
||||
// VER
|
||||
// ---- VER ----
|
||||
if (cmd == "VER" && tokens.size() >= 3) {
|
||||
if (m_versionsPanel)
|
||||
m_versionsPanel->setVersion(tokens[1], tokens.mid(2).join(' '));
|
||||
return;
|
||||
}
|
||||
|
||||
// UID
|
||||
// ---- UID ----
|
||||
if (cmd == "UID" && tokens.size() >= 3) {
|
||||
if (m_versionsPanel)
|
||||
m_versionsPanel->setUid(tokens[1], tokens.mid(2).join(' '));
|
||||
return;
|
||||
}
|
||||
|
||||
// RNP
|
||||
// ---- RNP ----
|
||||
if (cmd == "RNP" && tokens.size() >= 2) {
|
||||
bool ok = false;
|
||||
const int count = tokens[1].toInt(&ok);
|
||||
@@ -169,13 +167,19 @@ void WebSocketController::handleProtocol(const QString &msg)
|
||||
return;
|
||||
}
|
||||
|
||||
// GAM list
|
||||
// ---- GAM listall — full catalogue ----
|
||||
if (cmd == "GAM" && tokens.size() >= 2 && tokens[1] == "listall") {
|
||||
if (m_gamesPanel) m_gamesPanel->loadAllFromResponse(msg);
|
||||
return;
|
||||
}
|
||||
|
||||
// ---- GAM list — installed games ----
|
||||
if (cmd == "GAM" && tokens.size() >= 2 && tokens[1] == "list") {
|
||||
if (m_gamesPanel) m_gamesPanel->loadFromResponse(msg);
|
||||
return;
|
||||
}
|
||||
|
||||
// GBL List key1 key2 ...
|
||||
// ---- GBL List key1 key2 ... ----
|
||||
if (cmd == "GBL" && tokens.size() > 2 && tokens[1] == "List") {
|
||||
m_settingsKeys = tokens.mid(2);
|
||||
if (m_settingsTree) {
|
||||
@@ -186,7 +190,7 @@ void WebSocketController::handleProtocol(const QString &msg)
|
||||
return;
|
||||
}
|
||||
|
||||
// GBL key=value
|
||||
// ---- GBL key=value ----
|
||||
if (cmd == "GBL" && tokens.size() >= 2 && m_settingsTree) {
|
||||
const QString payload = tokens[1];
|
||||
const int eqIdx = payload.indexOf('=');
|
||||
|
||||
Reference in New Issue
Block a user