settings: add auth disabled warning

This commit is contained in:
Stéphane Lepin
2021-01-31 01:26:38 +01:00
parent c8ca79f00b
commit 38cf0270b1
3 changed files with 26 additions and 9 deletions

View File

@ -6,6 +6,7 @@ OBSWebsocket.Settings.Password="Password"
OBSWebsocket.Settings.LockToIPv4="Lock server to only using IPv4" OBSWebsocket.Settings.LockToIPv4="Lock server to only using IPv4"
OBSWebsocket.Settings.DebugEnable="Enable debug logging" OBSWebsocket.Settings.DebugEnable="Enable debug logging"
OBSWebsocket.Settings.AlertsEnable="Enable System Tray Alerts" OBSWebsocket.Settings.AlertsEnable="Enable System Tray Alerts"
OBSWebsocket.Settings.AuthDisabledWarning="Running obs-websocket with authentication disabled is not recommended. Are you sure you want to proceed with that change?"
OBSWebsocket.NotifyConnect.Title="New WebSocket connection" OBSWebsocket.NotifyConnect.Title="New WebSocket connection"
OBSWebsocket.NotifyConnect.Message="Client %1 connected" OBSWebsocket.NotifyConnect.Message="Client %1 connected"
OBSWebsocket.NotifyDisconnect.Title="WebSocket client disconnected" OBSWebsocket.NotifyDisconnect.Title="WebSocket client disconnected"

View File

@ -339,8 +339,8 @@ void Config::FirstRunPasswordSetup()
obs_frontend_get_main_window() obs_frontend_get_main_window()
); );
int proceed = QMessageBox::question(mainWindow, dialogTitle, dialogText, QMessageBox::No, QMessageBox::Yes); QMessageBox::StandardButton response = QMessageBox::question(mainWindow, dialogTitle, dialogText);
if (proceed) { if (response == QMessageBox::Yes) {
bool promptAccepted = false; bool promptAccepted = false;
QString newPassword = QInputDialog::getText( QString newPassword = QInputDialog::getText(
mainWindow, mainWindow,

View File

@ -16,12 +16,16 @@ You should have received a copy of the GNU General Public License along
with this program. If not, see <https://www.gnu.org/licenses/> with this program. If not, see <https://www.gnu.org/licenses/>
*/ */
#include "settings-dialog.h"
#include <obs-frontend-api.h> #include <obs-frontend-api.h>
#include <obs-module.h>
#include <QtWidgets/QMessageBox>
#include "../obs-websocket.h" #include "../obs-websocket.h"
#include "../Config.h" #include "../Config.h"
#include "../WSServer.h" #include "../WSServer.h"
#include "settings-dialog.h"
#define CHANGE_ME "changeme" #define CHANGE_ME "changeme"
@ -35,9 +39,6 @@ SettingsDialog::SettingsDialog(QWidget* parent) :
this, &SettingsDialog::AuthCheckboxChanged); this, &SettingsDialog::AuthCheckboxChanged);
connect(ui->buttonBox, &QDialogButtonBox::accepted, connect(ui->buttonBox, &QDialogButtonBox::accepted,
this, &SettingsDialog::FormAccepted); this, &SettingsDialog::FormAccepted);
AuthCheckboxChanged();
} }
void SettingsDialog::showEvent(QShowEvent* event) { void SettingsDialog::showEvent(QShowEvent* event) {
@ -50,8 +51,12 @@ void SettingsDialog::showEvent(QShowEvent* event) {
ui->debugEnabled->setChecked(conf->DebugEnabled); ui->debugEnabled->setChecked(conf->DebugEnabled);
ui->alertsEnabled->setChecked(conf->AlertsEnabled); ui->alertsEnabled->setChecked(conf->AlertsEnabled);
ui->authRequired->blockSignals(true);
ui->authRequired->setChecked(conf->AuthRequired); ui->authRequired->setChecked(conf->AuthRequired);
ui->authRequired->blockSignals(false);
ui->password->setText(CHANGE_ME); ui->password->setText(CHANGE_ME);
ui->password->setEnabled(ui->authRequired->isChecked());
} }
void SettingsDialog::ToggleShowHide() { void SettingsDialog::ToggleShowHide() {
@ -62,10 +67,21 @@ void SettingsDialog::ToggleShowHide() {
} }
void SettingsDialog::AuthCheckboxChanged() { void SettingsDialog::AuthCheckboxChanged() {
if (ui->authRequired->isChecked()) if (ui->authRequired->isChecked()) {
ui->password->setEnabled(true); ui->password->setEnabled(true);
else }
else {
obs_frontend_push_ui_translation(obs_module_get_string);
QString authDisabledWarning = QObject::tr("OBSWebsocket.Settings.AuthDisabledWarning");
obs_frontend_pop_ui_translation();
QMessageBox::StandardButton response = QMessageBox::question(this, "obs-websocket", authDisabledWarning);
if (response == QMessageBox::Yes) {
ui->password->setEnabled(false); ui->password->setEnabled(false);
} else {
ui->authRequired->setChecked(true);
}
}
} }
void SettingsDialog::FormAccepted() { void SettingsDialog::FormAccepted() {