diff --git a/qt/OpenRGBSettingsPage/OpenRGBSettingsPage.cpp b/qt/OpenRGBSettingsPage/OpenRGBSettingsPage.cpp index 0342ff521..d43c7b8ee 100644 --- a/qt/OpenRGBSettingsPage/OpenRGBSettingsPage.cpp +++ b/qt/OpenRGBSettingsPage/OpenRGBSettingsPage.cpp @@ -144,7 +144,7 @@ OpenRGBSettingsPage::OpenRGBSettingsPage(QWidget *parent) : ui->CheckboxRunZoneChecks->setChecked(ui_settings["RunZoneChecks"]); } else - { // default value + { ui->CheckboxRunZoneChecks->setChecked(true); } @@ -183,9 +183,6 @@ OpenRGBSettingsPage::OpenRGBSettingsPage(QWidget *parent) : \*---------------------------------------------------------*/ json log_manager_settings = ResourceManager::get()->GetSettingsManager()->GetSettings("LogManager"); - /*---------------------------------------------------------*\ - | Checkboxes | - \*---------------------------------------------------------*/ if(log_manager_settings.contains("log_file")) { ui->CheckboxLogFile->setChecked(log_manager_settings["log_file"]); @@ -204,6 +201,29 @@ OpenRGBSettingsPage::OpenRGBSettingsPage(QWidget *parent) : ui->CheckboxLogConsole->setChecked(false); } + /*---------------------------------------------------------*\ + | Load detector settings | + \*---------------------------------------------------------*/ + json detector_settings = ResourceManager::get()->GetSettingsManager()->GetSettings("Detectors"); + + if(detector_settings.contains("hid_safe_mode")) + { + ui->CheckboxHIDSafeMode->setChecked(detector_settings["hid_safe_mode"]); + } + else + { + ui->CheckboxHIDSafeMode->setChecked(true); + } + + if(detector_settings.contains("initial_detection_delay_ms")) + { + ui->TextDetectionDelay->setValue(log_manager_settings["initial_detection_delay_ms"]); + } + else + { + ui->TextDetectionDelay->setValue(0); + } + /*---------------------------------------------------------*\ | Load drivers settings (Windows only or Mac) | \*---------------------------------------------------------*/ @@ -1005,6 +1025,22 @@ void OpenRGBSettingsPage::on_CheckboxLogFile_clicked() SaveSettings(); } +void OpenRGBSettingsPage::on_CheckboxHIDSafeMode_clicked() +{ + json detector_settings = ResourceManager::get()->GetSettingsManager()->GetSettings("Detectors"); + detector_settings["hid_safe_mode"] = ui->CheckboxHIDSafeMode->isChecked(); + ResourceManager::get()->GetSettingsManager()->SetSettings("Detectors", detector_settings); + SaveSettings(); +} + +void OpenRGBSettingsPage::on_TextDetectionDelay_valueChanged(int delay) +{ + json detector_settings = ResourceManager::get()->GetSettingsManager()->GetSettings("Detectors"); + detector_settings["initial_detection_delay_ms"] = delay; + ResourceManager::get()->GetSettingsManager()->SetSettings("Detectors", detector_settings); + SaveSettings(); +} + void OpenRGBSettingsPage::on_CheckboxAMDSMBusReduceCPU_clicked() { json drivers_settings = ResourceManager::get()->GetSettingsManager()->GetSettings("Drivers"); diff --git a/qt/OpenRGBSettingsPage/OpenRGBSettingsPage.h b/qt/OpenRGBSettingsPage/OpenRGBSettingsPage.h index be14ed1d3..1e6fe400d 100644 --- a/qt/OpenRGBSettingsPage/OpenRGBSettingsPage.h +++ b/qt/OpenRGBSettingsPage/OpenRGBSettingsPage.h @@ -78,6 +78,8 @@ private slots: void on_OpenSettingsFolderButton_clicked(); void on_CheckboxLogConsole_clicked(); void on_CheckboxLogFile_clicked(); + void on_CheckboxHIDSafeMode_clicked(); + void on_TextDetectionDelay_valueChanged(int); void on_CheckboxAMDSMBusReduceCPU_clicked(); void on_CheckboxSharedSMBusAccess_clicked(); diff --git a/qt/OpenRGBSettingsPage/OpenRGBSettingsPage.ui b/qt/OpenRGBSettingsPage/OpenRGBSettingsPage.ui index c90cbd75f..8acfe8590 100644 --- a/qt/OpenRGBSettingsPage/OpenRGBSettingsPage.ui +++ b/qt/OpenRGBSettingsPage/OpenRGBSettingsPage.ui @@ -30,19 +30,12 @@ 0 - -321 - 554 - 1052 + -328 + 508 + 1105 - - - - Start Minimized - - - @@ -50,20 +43,10 @@ - - + + - AMD SMBus: Reduce CPU Usage (restart required) - - - - - - - - - - Start Client + Load Profile @@ -74,8 +57,29 @@ - - + + + + Shared SMBus Access (restart required) + + + + + + + + + + Start at Login Status + + + + + + + Load Window Geometry + + @@ -84,24 +88,21 @@ - - - - - + + - User Interface Settings: + Show LED View by Default - - + + - Run Zone Checks on Rescan + Legacy Workaround - + @@ -111,24 +112,102 @@ - - - - Drivers Settings: - - - - - + + - Language + Detection Settings: - + + + + Serve All Devices (Including those from client connections) + + + + + + + + + + AMD SMBus: Reduce CPU Usage (restart required) + + + + + + + + + + Start at Login Settings: + + + + + + + Set Server Host + + + + + + + Greyscale Tray Icon + + + + + + + + + + Start Minimized + + + + + + + + + + Start at Login + + + + + + + + + + HID Safe Mode + + + + + + + Start Client + + + + + + + User Interface Settings: + + + + Qt::Orientation::Vertical @@ -144,24 +223,20 @@ - - + + + + + - Start Server + Minimize on Close - - + + - Load Profile - - - - - - - Start at Login + Server Settings: @@ -172,6 +247,41 @@ + + + + Start Server + + + + + + + Set Server Port + + + + + + + Set Profile on Suspend + + + + + + + Run Zone Checks on Rescan + + + + + + + Log Manager Settings: + + + @@ -179,55 +289,7 @@ - - - - Greyscale Tray Icon - - - - - - - - - - - - - Set Server Port - - - - - - - Show LED View by Default - - - - - - - Minimize on Close - - - - - - - Set Profile on Exit - - - - - - - Load Window Geometry - - - - + 1 @@ -240,89 +302,55 @@ - - - - Log Manager Settings: - - - - - - - - - - Set Profile on Suspend - - - - - - - Custom Arguments - - - - - - - Serve All Devices (Including those from client connections) - - - - - - - - - - Set Server Host - - - - - - - Start at Login Status - - - - - - - Shared SMBus Access (restart required) - - - - - - - Start at Login Settings: - - - - - - - + Set Profile on Resume - - + + - Server Settings: + Language - - + + - Legacy Workaround + Drivers Settings: + + + + + + + Custom Arguments + + + + + + + + + + Set Profile on Exit + + + + + + + Initial Detection Delay (milliseconds, 0 to disable) + + + + + + + 2147483647