Publish LumaOps source

This commit is contained in:
LumaOps release export
2026-09-03 01:18:36 +02:00
commit 7f1c0e5f71
2363 changed files with 501543 additions and 0 deletions
@@ -0,0 +1,110 @@
/*---------------------------------------------------------*\
| OpenRGBServerInfoPage.cpp |
| |
| User interface for server information page |
| |
| This file is part of the OpenRGB project |
| SPDX-License-Identifier: GPL-2.0-or-later |
\*---------------------------------------------------------*/
#include "OpenRGBServerInfoPage.h"
#include "ui_OpenRGBServerInfoPage.h"
static void UpdateInfoCallback(void * this_ptr)
{
OpenRGBServerInfoPage * this_obj = (OpenRGBServerInfoPage *)this_ptr;
QMetaObject::invokeMethod(this_obj, "UpdateInfo", Qt::QueuedConnection);
}
OpenRGBServerInfoPage::OpenRGBServerInfoPage(NetworkServer * server, QWidget *parent) :
QFrame(parent),
ui(new Ui::OpenRGBServerInfoPage)
{
network_server = server;
ui->setupUi(this);
UpdateInfo();
network_server->RegisterClientInfoChangeCallback(UpdateInfoCallback, this);
network_server->RegisterServerListeningChangeCallback(UpdateInfoCallback, this);
}
OpenRGBServerInfoPage::~OpenRGBServerInfoPage()
{
delete ui;
}
void OpenRGBServerInfoPage::changeEvent(QEvent *event)
{
if(event->type() == QEvent::LanguageChange)
{
ui->retranslateUi(this);
}
}
void OpenRGBServerInfoPage::UpdateInfo()
{
ui->ServerHostValue->setText(network_server->GetHost().c_str());
ui->ServerPortValue->setText(std::to_string(network_server->GetPort()).c_str());
if(network_server->GetListening() && !network_server->GetOnline())
{
ui->ServerStatusValue->setText(tr("Stopping..."));
ui->ServerStartButton->setEnabled(false);
ui->ServerStopButton->setEnabled(false);
ui->ServerHostValue->setEnabled(false);
ui->ServerPortValue->setEnabled(false);
}
else if(network_server->GetListening())
{
ui->ServerStatusValue->setText(tr("Online"));
ui->ServerStartButton->setEnabled(false);
ui->ServerStopButton->setEnabled(true);
ui->ServerHostValue->setEnabled(false);
ui->ServerPortValue->setEnabled(false);
}
else
{
ui->ServerStatusValue->setText(tr("Offline"));
ui->ServerStartButton->setEnabled(true);
ui->ServerStopButton->setEnabled(false);
ui->ServerHostValue->setEnabled(true);
ui->ServerPortValue->setEnabled(true);
}
ui->ServerClientTree->clear();
for(unsigned int client_idx = 0; client_idx < network_server->GetNumClients(); client_idx++)
{
QTreeWidgetItem * new_item = new QTreeWidgetItem();
new_item->setText(0, network_server->GetClientIP(client_idx));
new_item->setText(1, QString::number(network_server->GetClientProtocolVersion(client_idx)));
new_item->setText(2, network_server->GetClientString(client_idx));
ui->ServerClientTree->addTopLevelItem(new_item);
}
}
void OpenRGBServerInfoPage::on_ServerStartButton_clicked()
{
if(network_server->GetOnline() == false)
{
network_server->SetHost(ui->ServerHostValue->text().toStdString());
network_server->SetPort(ui->ServerPortValue->text().toInt());
network_server->StartServer();
UpdateInfo();
}
}
void OpenRGBServerInfoPage::on_ServerStopButton_clicked()
{
if(network_server->GetOnline() == true)
{
network_server->StopServer();
UpdateInfo();
}
}
@@ -0,0 +1,41 @@
/*---------------------------------------------------------*\
| OpenRGBServerInfoPage.h |
| |
| User interface for server information page |
| |
| This file is part of the OpenRGB project |
| SPDX-License-Identifier: GPL-2.0-or-later |
\*---------------------------------------------------------*/
#pragma once
#include <QFrame>
#include "RGBController.h"
#include "NetworkServer.h"
namespace Ui
{
class OpenRGBServerInfoPage;
}
class OpenRGBServerInfoPage : public QFrame
{
Q_OBJECT
public:
explicit OpenRGBServerInfoPage(NetworkServer * server, QWidget *parent = nullptr);
~OpenRGBServerInfoPage();
public slots:
void UpdateInfo();
private slots:
void changeEvent(QEvent *event);
void on_ServerStartButton_clicked();
void on_ServerStopButton_clicked();
private:
Ui::OpenRGBServerInfoPage *ui;
NetworkServer* network_server;
};
@@ -0,0 +1,131 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>OpenRGBServerInfoPage</class>
<widget class="QFrame" name="OpenRGBServerInfoPage">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>664</width>
<height>300</height>
</rect>
</property>
<property name="windowTitle">
<string notr="true">Server Info Page</string>
</property>
<layout class="QGridLayout" name="gridLayout">
<item row="2" column="3">
<widget class="QPushButton" name="ServerStopButton">
<property name="text">
<string>Stop Server</string>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QLabel" name="ServerPortLabel">
<property name="text">
<string>Server Port:</string>
</property>
</widget>
</item>
<item row="4" column="0">
<widget class="QLabel" name="ServerClientsLabel">
<property name="text">
<string>Connected Clients:</string>
</property>
</widget>
</item>
<item row="5" column="0" colspan="4">
<widget class="QTreeWidget" name="ServerClientTree">
<property name="columnCount">
<number>3</number>
</property>
<column>
<property name="text">
<string>Client IP</string>
</property>
</column>
<column>
<property name="text">
<string>Protocol Version</string>
</property>
</column>
<column>
<property name="text">
<string>Client Name</string>
</property>
</column>
</widget>
</item>
<item row="2" column="1">
<widget class="QLineEdit" name="ServerPortValue">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
</widget>
</item>
<item row="0" column="0">
<widget class="QLabel" name="ServerStatusLabel">
<property name="text">
<string>Server Status:</string>
</property>
</widget>
</item>
<item row="0" column="3">
<widget class="QPushButton" name="ServerStartButton">
<property name="text">
<string>Start Server</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QLabel" name="ServerStatusValue">
<property name="text">
<string>Offline</string>
</property>
</widget>
</item>
<item row="0" column="2">
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item row="1" column="0">
<widget class="QLabel" name="ServerHostLabel">
<property name="text">
<string>Server Host:</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QLineEdit" name="ServerHostValue">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
</widget>
</item>
</layout>
</widget>
<tabstops>
<tabstop>ServerPortValue</tabstop>
<tabstop>ServerStartButton</tabstop>
<tabstop>ServerStopButton</tabstop>
<tabstop>ServerClientTree</tabstop>
</tabstops>
<resources/>
<connections/>
</ui>