SDK Listening Options

This commit is contained in:
B Horn 2022-07-17 20:30:15 +00:00 committed by Adam Honse
parent 241ea0a8ef
commit 640eb7905c
12 changed files with 415 additions and 256 deletions

View file

@ -30,6 +30,7 @@ OpenRGBServerInfoPage::~OpenRGBServerInfoPage()
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())
@ -37,6 +38,7 @@ void OpenRGBServerInfoPage::UpdateInfo()
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())
@ -44,6 +46,7 @@ void OpenRGBServerInfoPage::UpdateInfo()
ui->ServerStatusValue->setText(tr("Online"));
ui->ServerStartButton->setEnabled(false);
ui->ServerStopButton->setEnabled(true);
ui->ServerHostValue->setEnabled(false);
ui->ServerPortValue->setEnabled(false);
}
else
@ -51,6 +54,7 @@ void OpenRGBServerInfoPage::UpdateInfo()
ui->ServerStatusValue->setText(tr("Offline"));
ui->ServerStartButton->setEnabled(true);
ui->ServerStopButton->setEnabled(false);
ui->ServerHostValue->setEnabled(true);
ui->ServerPortValue->setEnabled(true);
}
@ -73,6 +77,7 @@ void Ui::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();

View file

@ -14,20 +14,65 @@
<string>Server info page</string>
</property>
<layout class="QGridLayout" name="gridLayout">
<item row="1" column="3">
<item row="2" column="3">
<widget class="QPushButton" name="ServerStopButton">
<property name="text">
<string>Stop Server</string>
</property>
</widget>
</item>
<item row="1" column="0">
<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>0</number>
</property>
</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">
@ -41,36 +86,15 @@
</property>
</spacer>
</item>
<item row="0" column="3">
<widget class="QPushButton" name="ServerStartButton">
<item row="1" column="0">
<widget class="QLabel" name="ServerHostLabel">
<property name="text">
<string>Start Server</string>
</property>
</widget>
</item>
<item row="3" column="0" colspan="4">
<widget class="QTreeWidget" name="ServerClientTree">
<property name="columnCount">
<number>0</number>
</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="1">
<widget class="QLabel" name="ServerStatusValue">
<property name="text">
<string>Offline</string>
<string>Server Host:</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QLineEdit" name="ServerPortValue">
<widget class="QLineEdit" name="ServerHostValue">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
@ -79,13 +103,6 @@
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QLabel" name="ServerClientsLabel">
<property name="text">
<string>Connected Clients:</string>
</property>
</widget>
</item>
</layout>
</widget>
<tabstops>

View file

@ -114,6 +114,9 @@ OpenRGBSettingsPage::OpenRGBSettingsPage(QWidget *parent) :
/*---------------------------------------------------------*\
| Text boxes |
\*---------------------------------------------------------*/
ui->TextServerHost->setText(QString::fromStdString(autostart_settings["host"]));
ui->TextServerHost->setEnabled(autostart_settings["setserverhost"]);
ui->TextServerPort->setText(QString::fromStdString(autostart_settings["port"]));
ui->TextServerPort->setEnabled(autostart_settings["setserverport"]);
@ -132,6 +135,7 @@ OpenRGBSettingsPage::OpenRGBSettingsPage(QWidget *parent) :
ui->CheckboxAutoStartMinimized->setChecked(autostart_settings["setminimized"]);
ui->CheckboxAutoStartClient->setChecked(autostart_settings["setclient"]);
ui->CheckboxAutoStartServer->setChecked(autostart_settings["setserver"]);
ui->CheckboxAutoStartSetServerHost->setChecked(autostart_settings["setserverhost"]);
ui->CheckboxAutoStartSetServerPort->setChecked(autostart_settings["setserverport"]);
ui->CheckboxAutoStartCustom->setChecked(autostart_settings["setcustom"]);
@ -331,6 +335,12 @@ void Ui::OpenRGBSettingsPage::on_CheckboxAutoStartServer_clicked()
SaveAutoStartSetting("setserver", ui->CheckboxAutoStartServer->isChecked());
}
void Ui::OpenRGBSettingsPage::on_CheckboxAutoStartSetServerHost_clicked()
{
SaveAutoStartSetting("setserverhost", ui->CheckboxAutoStartSetServerHost->isChecked());
ui->TextServerHost->setEnabled(ui->CheckboxAutoStartSetServerHost->isChecked());
}
void Ui::OpenRGBSettingsPage::on_CheckboxAutoStartSetServerPort_clicked()
{
SaveAutoStartSetting("setserverport", ui->CheckboxAutoStartSetServerPort->isChecked());
@ -355,6 +365,11 @@ void Ui::OpenRGBSettingsPage::on_CheckboxAutoStartCustom_clicked()
ui->TextCustomArgs->setEnabled(ui->CheckboxAutoStartCustom->isChecked());
}
void Ui::OpenRGBSettingsPage::on_TextServerHost_textChanged(QString host)
{
SaveAutoStartSetting("host", host);
}
void Ui::OpenRGBSettingsPage::on_TextServerPort_textChanged(QString port)
{
SaveAutoStartSetting("port", port);
@ -411,9 +426,11 @@ void OpenRGBSettingsPage::SetAutoStartVisibility(bool visible)
ui->CheckboxAutoStartMinimized->hide();
ui->CheckboxAutoStartProfile->hide();
ui->CheckboxAutoStartServer->hide();
ui->CheckboxAutoStartSetServerHost->hide();
ui->CheckboxAutoStartSetServerPort->hide();
ui->TextCustomArgs->hide();
ui->TextClientHost->hide();
ui->TextServerHost->hide();
ui->TextServerPort->hide();
ui->AutoStartStatusLabel->hide();
}
@ -425,9 +442,11 @@ void OpenRGBSettingsPage::SetAutoStartVisibility(bool visible)
ui->CheckboxAutoStartMinimized->show();
ui->CheckboxAutoStartProfile->show();
ui->CheckboxAutoStartServer->show();
ui->CheckboxAutoStartSetServerHost->show();
ui->CheckboxAutoStartSetServerPort->show();
ui->TextCustomArgs->show();
ui->TextClientHost->show();
ui->TextServerHost->show();
ui->TextServerPort->show();
ui->AutoStartStatusLabel->show();
}
@ -438,6 +457,7 @@ void OpenRGBSettingsPage::ConfigureAutoStart()
std::map<std::string, std::tuple<std::string, std::string, bool>> autostart_map = {
{"setminimized", {"--startminimized","",false}},
{"setserver", {"--server","",false}},
{"setserverhost", {"--server-host","host",false}},
{"setserverport", {"--server-port","port",false}},
{"setclient", {"--client","client",false}},
{"setprofile", {"--profile","profile",true}},
@ -533,6 +553,7 @@ void OpenRGBSettingsPage::CreateAutoStartSettings()
{
std::map<std::string, std::string> autostart_default_map_string = {
{"custom", ""},
{"host", "0.0.0.0"},
{"port", "6742"},
{"client","localhost:6742"},
{"profile",ui->ComboBoxAutoStartProfile->count() > 0 ? ui->ComboBoxAutoStartProfile->itemText(0).toStdString(): ""}
@ -543,6 +564,7 @@ void OpenRGBSettingsPage::CreateAutoStartSettings()
{"setminimized", false},
{"setclient", false},
{"setserver", false},
{"setserverhost", false},
{"setserverport", false},
{"setcustom", false},
{"setprofile", false},

View file

@ -48,10 +48,12 @@ private slots:
void on_CheckboxAutoStartServer_clicked();
void on_CheckboxAutoStartClient_clicked();
void on_CheckboxAutoStartProfile_clicked();
void on_TextServerHost_textChanged(const QString);
void on_TextServerPort_textChanged(const QString);
void on_TextClientHost_textChanged(const QString);
void on_TextCustomArgs_textChanged(const QString);
void on_ComboBoxAutoStartProfile_currentTextChanged(const QString);
void on_CheckboxAutoStartSetServerHost_clicked();
void on_CheckboxAutoStartSetServerPort_clicked();
void on_CheckboxAutoStartCustom_clicked();
void on_CheckboxRunZoneChecks_clicked();

View file

@ -29,13 +29,30 @@
<widget class="QWidget" name="scrollAreaWidgetContents_2">
<property name="geometry">
<rect>
<x>0</x>
<y>-204</y>
<width>427</width>
<height>670</height>
<x>-67</x>
<y>-258</y>
<width>465</width>
<height>724</height>
</rect>
</property>
<layout class="QGridLayout" name="gridLayout_3">
<item row="14" column="0">
<widget class="QCheckBox" name="CheckboxAutoStart">
<property name="text">
<string>Start At Login</string>
</property>
</widget>
</item>
<item row="7" column="0">
<widget class="QCheckBox" name="CheckboxSaveGeometry">
<property name="text">
<string>Save Geometry On Close</string>
</property>
</widget>
</item>
<item row="25" column="1">
<widget class="QComboBox" name="ComboBoxExitProfile"/>
</item>
<item row="10" column="0">
<widget class="QCheckBox" name="CheckboxLogConsole">
<property name="text">
@ -43,6 +60,51 @@
</property>
</widget>
</item>
<item row="26" column="0">
<widget class="QLabel" name="AutoStartStatusLabel">
<property name="text">
<string>Start at Login Status</string>
</property>
</widget>
</item>
<item row="12" column="0">
<widget class="QCheckBox" name="CheckboxAMDSMBusReduceCPU">
<property name="text">
<string>AMD SMBus: Reduce CPU Usage (restart required)</string>
</property>
</widget>
</item>
<item row="23" column="0">
<widget class="QCheckBox" name="CheckboxAutoStartCustom">
<property name="text">
<string>Custom Arguments</string>
</property>
</widget>
</item>
<item row="19" column="0">
<widget class="QCheckBox" name="CheckboxAutoStartServer">
<property name="text">
<string>Start Server</string>
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QLabel" name="ThemeLabel">
<property name="text">
<string>Theme (restart required)</string>
</property>
</widget>
</item>
<item row="9" column="0">
<widget class="QLabel" name="LogManagerSettingsLabel">
<property name="text">
<string>Log Manager Settings:</string>
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="QComboBox" name="ComboBoxTheme"/>
</item>
<item row="18" column="0">
<widget class="QCheckBox" name="CheckboxAutoStartMinimized">
<property name="text">
@ -50,24 +112,30 @@
</property>
</widget>
</item>
<item row="6" column="0">
<widget class="QCheckBox" name="CheckboxLoadGeometry">
<item row="2" column="0">
<widget class="QLabel" name="UserInterfaceSettingsLabel">
<property name="text">
<string>Load Window Geometry</string>
</property>
</widget>
</item>
<item row="11" column="0">
<widget class="QLabel" name="DriversSettingsLabel">
<property name="text">
<string>Drivers Settings</string>
<string>User Interface Settings:</string>
</property>
</widget>
</item>
<item row="22" column="1">
<widget class="QLineEdit" name="TextCustomArgs"/>
<widget class="QLineEdit" name="TextClientHost"/>
</item>
<item row="20" column="0">
<item row="21" column="1">
<widget class="QLineEdit" name="TextServerPort">
<property name="inputMask">
<string>90000</string>
</property>
<property name="text">
<string/>
</property>
<property name="placeholderText">
<string/>
</property>
</widget>
</item>
<item row="21" column="0">
<widget class="QCheckBox" name="CheckboxAutoStartSetServerPort">
<property name="text">
<string>Set Server Port</string>
@ -81,52 +149,17 @@
</property>
</widget>
</item>
<item row="19" column="0">
<widget class="QCheckBox" name="CheckboxAutoStartServer">
<item row="13" column="0">
<widget class="QLabel" name="AutoStartLabel">
<property name="text">
<string>Start Server</string>
<string>Start At Login Settings:</string>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QLabel" name="UserInterfaceSettingsLabel">
<property name="text">
<string>User Interface Settings:</string>
</property>
</widget>
<item row="24" column="1">
<widget class="QComboBox" name="ComboBoxAutoStartProfile"/>
</item>
<item row="5" column="0">
<widget class="QCheckBox" name="CheckboxTrayIconGreyscale">
<property name="text">
<string>Greyscale Tray Icon</string>
</property>
</widget>
</item>
<item row="21" column="1">
<widget class="QLineEdit" name="TextClientHost"/>
</item>
<item row="9" column="0">
<widget class="QLabel" name="LogManagerSettingsLabel">
<property name="text">
<string>Log Manager Settings:</string>
</property>
</widget>
</item>
<item row="22" column="0">
<widget class="QCheckBox" name="CheckboxAutoStartCustom">
<property name="text">
<string>Custom Arguments</string>
</property>
</widget>
</item>
<item row="23" column="0">
<widget class="QCheckBox" name="CheckboxAutoStartProfile">
<property name="text">
<string>Load Profile</string>
</property>
</widget>
</item>
<item row="26" column="0">
<item row="27" column="0">
<spacer name="verticalSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
@ -142,74 +175,20 @@
</property>
</spacer>
</item>
<item row="3" column="1">
<widget class="QComboBox" name="ComboBoxTheme"/>
</item>
<item row="14" column="0">
<widget class="QCheckBox" name="CheckboxAutoStart">
<item row="6" column="0">
<widget class="QCheckBox" name="CheckboxLoadGeometry">
<property name="text">
<string>Start At Login</string>
<string>Load Window Geometry</string>
</property>
</widget>
</item>
<item row="20" column="1">
<widget class="QLineEdit" name="TextServerPort">
<property name="inputMask">
<string>90000</string>
</property>
<property name="text">
<string/>
</property>
<property name="placeholderText">
<string/>
</property>
</widget>
</item>
<item row="12" column="0">
<widget class="QCheckBox" name="CheckboxAMDSMBusReduceCPU">
<property name="text">
<string>AMD SMBus: Reduce CPU Usage (restart required)</string>
</property>
</widget>
</item>
<item row="21" column="0">
<item row="22" column="0">
<widget class="QCheckBox" name="CheckboxAutoStartClient">
<property name="text">
<string>Start Client</string>
</property>
</widget>
</item>
<item row="23" column="1">
<widget class="QComboBox" name="ComboBoxAutoStartProfile"/>
</item>
<item row="13" column="0">
<widget class="QLabel" name="AutoStartLabel">
<property name="text">
<string>Start At Login Settings:</string>
</property>
</widget>
</item>
<item row="25" column="0">
<widget class="QLabel" name="AutoStartStatusLabel">
<property name="text">
<string>Start at Login Status</string>
</property>
</widget>
</item>
<item row="7" column="0">
<widget class="QCheckBox" name="CheckboxSaveGeometry">
<property name="text">
<string>Save Geometry On Close</string>
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QLabel" name="ThemeLabel">
<property name="text">
<string>Theme (restart required)</string>
</property>
</widget>
</item>
<item row="8" column="0">
<widget class="QCheckBox" name="CheckboxRunZoneChecks">
<property name="text">
@ -217,15 +196,46 @@
</property>
</widget>
</item>
<item row="11" column="0">
<widget class="QLabel" name="DriversSettingsLabel">
<property name="text">
<string>Drivers Settings</string>
</property>
</widget>
</item>
<item row="24" column="0">
<widget class="QCheckBox" name="CheckboxAutoStartProfile">
<property name="text">
<string>Load Profile</string>
</property>
</widget>
</item>
<item row="23" column="1">
<widget class="QLineEdit" name="TextCustomArgs"/>
</item>
<item row="5" column="0">
<widget class="QCheckBox" name="CheckboxTrayIconGreyscale">
<property name="text">
<string>Greyscale Tray Icon</string>
</property>
</widget>
</item>
<item row="25" column="0">
<widget class="QCheckBox" name="CheckboxSetOnExit">
<property name="text">
<string>Set Profile on Exit</string>
</property>
</widget>
</item>
<item row="24" column="1">
<widget class="QComboBox" name="ComboBoxExitProfile"/>
<item row="20" column="0">
<widget class="QCheckBox" name="CheckboxAutoStartSetServerHost">
<property name="text">
<string>Set Server Host</string>
</property>
</widget>
</item>
<item row="20" column="1">
<widget class="QLineEdit" name="TextServerHost"/>
</item>
</layout>
</widget>