From 4e8a67925f05562d4f9df720dc451d6b37f8d389 Mon Sep 17 00:00:00 2001 From: sithlord48 Date: Mon, 25 Aug 2025 10:07:42 -0400 Subject: [PATCH] refactor: Add Tooltip to log levels and show a label with info about debug level affecting performance fixes: #8889 --- src/lib/gui/dialogs/SettingsDialog.cpp | 17 +++ src/lib/gui/dialogs/SettingsDialog.h | 3 + src/lib/gui/dialogs/SettingsDialog.ui | 169 +++++++++++++------------ 3 files changed, 109 insertions(+), 80 deletions(-) diff --git a/src/lib/gui/dialogs/SettingsDialog.cpp b/src/lib/gui/dialogs/SettingsDialog.cpp index 6550dca7f..75e13371f 100644 --- a/src/lib/gui/dialogs/SettingsDialog.cpp +++ b/src/lib/gui/dialogs/SettingsDialog.cpp @@ -31,6 +31,17 @@ SettingsDialog::SettingsDialog(QWidget *parent, const IServerConfig &serverConfi ui->setupUi(this); + // Set Tooltip for the logLevel Items + ui->comboLogLevel->setItemData(0, tr("Required messages"), Qt::ToolTipRole); + ui->comboLogLevel->setItemData(1, tr("Non-fatal errors"), Qt::ToolTipRole); + ui->comboLogLevel->setItemData(2, tr("General warnings"), Qt::ToolTipRole); + ui->comboLogLevel->setItemData(3, tr("Notable events"), Qt::ToolTipRole); + ui->comboLogLevel->setItemData(4, tr("General events [Default]"), Qt::ToolTipRole); + ui->comboLogLevel->setItemData(5, tr("Debug entries"), Qt::ToolTipRole); + ui->comboLogLevel->setItemData(6, tr("More debug output"), Qt::ToolTipRole); + ui->comboLogLevel->setItemData(7, tr("Verbose debug output"), Qt::ToolTipRole); + ui->lblDebugWarning->setVisible(false); + ui->comboTlsKeyLength->setItemIcon(0, QIcon::fromTheme(QStringLiteral("security-medium"))); ui->comboTlsKeyLength->setItemIcon(1, QIcon::fromTheme(QIcon::ThemeIcon::SecurityHigh)); ui->lblTlsCertInfo->setFixedSize(28, 28); @@ -66,6 +77,7 @@ void SettingsDialog::initConnections() const connect(ui->btnTlsCertPath, &QPushButton::clicked, this, &SettingsDialog::browseCertificatePath); connect(ui->btnBrowseLog, &QPushButton::clicked, this, &SettingsDialog::browseLogPath); connect(ui->cbLogToFile, &QCheckBox::toggled, this, &SettingsDialog::setLogToFile); + connect(ui->comboLogLevel, &QComboBox::currentIndexChanged, this, &SettingsDialog::logLevelChanged); } void SettingsDialog::regenCertificates() @@ -278,4 +290,9 @@ void SettingsDialog::updateRequestedKeySize() const Settings::setValue(Settings::Security::KeySize, ui->comboTlsKeyLength->currentText()); } +void SettingsDialog::logLevelChanged() +{ + ui->lblDebugWarning->setVisible(ui->comboLogLevel->currentIndex() > 4); +} + SettingsDialog::~SettingsDialog() = default; diff --git a/src/lib/gui/dialogs/SettingsDialog.h b/src/lib/gui/dialogs/SettingsDialog.h index d09873526..9d972d2bd 100644 --- a/src/lib/gui/dialogs/SettingsDialog.h +++ b/src/lib/gui/dialogs/SettingsDialog.h @@ -58,6 +58,9 @@ private: /// @brief updates the setting vaule for key size. void updateRequestedKeySize() const; + /// @brief update if the log level warning is shown + void logLevelChanged(); + std::unique_ptr ui; const IServerConfig &m_serverConfig; const CoreProcess &m_coreProcess; diff --git a/src/lib/gui/dialogs/SettingsDialog.ui b/src/lib/gui/dialogs/SettingsDialog.ui index 66d753a60..ca4742a02 100644 --- a/src/lib/gui/dialogs/SettingsDialog.ui +++ b/src/lib/gui/dialogs/SettingsDialog.ui @@ -394,86 +394,9 @@ - 7 + 9 - - - - Qt::Orientation::Horizontal - - - - 40 - 20 - - - - - - - - Log to file - - - - - - - - Fatal - - - - - Error - - - - - Warning - - - - - Note - - - - - Info - - - - - Debug - - - - - Debug1 - - - - - Debug2 - - - - - - - - - 0 - 0 - - - - Level - - - - + @@ -561,6 +484,93 @@ + + + + Qt::Orientation::Horizontal + + + + 40 + 20 + + + + + + + + Log to file + + + + + + + + Fatal + + + + + Error + + + + + Warning + + + + + Note + + + + + Info + + + + + Debug + + + + + Debug1 + + + + + Debug2 + + + + + + + + + 0 + 0 + + + + Level + + + + + + + Using a Debug log level may affect performance. Only use a Debug level if you are attempting to debug an issue or are gathering logs to submit with a bug report. + + + true + + + @@ -644,7 +654,6 @@ sbPort lineInterface cbLogToFile - comboLogLevel lineLogFilename btnBrowseLog