Log Console Updates

This commit is contained in:
Adam Honse
2026-05-06 23:54:29 -05:00
parent 0a77058d3b
commit d90a1d6f76
26 changed files with 179 additions and 279 deletions

View File

@@ -1,90 +0,0 @@
/*---------------------------------------------------------*\
| OpenRGBConsolePage.cpp |
| |
| User interface for OpenRGB console page |
| |
| This file is part of the OpenRGB project |
| SPDX-License-Identifier: GPL-2.0-or-later |
\*---------------------------------------------------------*/
#include "OpenRGBConsolePage.h"
#include "ui_OpenRGBConsolePage.h"
#include "LogManager.h"
OpenRGBConsolePage::OpenRGBConsolePage(QWidget *parent) :
QFrame(parent),
ui(new Ui::OpenRGBConsolePage)
{
ui->setupUi(this);
ui->log_level->blockSignals(true);
ui->log_level->addItems({
"Fatal",
"Error",
"Warning",
"Info",
"Verbose",
"Debug",
"Trace"
});
ui->log_level->setCurrentIndex(LogManager::get()->GetLogLevel());
ui->log_level->blockSignals(false);
#ifdef _WIN32
ui->logs->setFontFamily("Courier New");
#endif
Refresh();
}
void OpenRGBConsolePage::Refresh()
{
QString log;
unsigned int current_level = LogManager::get()->GetLogLevel();
for(PLogMessage& message: LogManager::get()->GetLogBuffer())
{
unsigned int message_level = message.get()->level;
if(message_level <= current_level || message_level == LL_DIALOG)
{
log += "[";
log += LogManager::LOG_CODES[message_level];
log += "] ";
log += QString::fromStdString(message.get()->text);
log += "\n";
}
}
ui->logs->setText(log);
}
void OpenRGBConsolePage::on_log_level_currentIndexChanged(int index)
{
LogManager::get()->SetLogLevel(index);
}
void OpenRGBConsolePage::on_clear_clicked()
{
LogManager::get()->ClearLogBuffer();
ui->logs->clear();
}
void OpenRGBConsolePage::on_refresh_clicked()
{
Refresh();
}
OpenRGBConsolePage::~OpenRGBConsolePage()
{
delete ui;
}
void OpenRGBConsolePage::changeEvent(QEvent *event)
{
if(event->type() == QEvent::LanguageChange)
{
ui->retranslateUi(this);
}
}

View File

@@ -15,7 +15,7 @@
#include "OpenRGBDevicePage.h"
#include "OpenRGBDeviceInfoPage.h"
#include "OpenRGBServerInfoPage.h"
#include "OpenRGBConsolePage.h"
#include "OpenRGBLogConsolePage.h"
#include "OpenRGBPluginContainer.h"
#include "OpenRGBProfileEditorDialog.h"
#include "OpenRGBProfileListDialog.h"
@@ -124,7 +124,6 @@ static void DeletePluginCallback(void * this_ptr, OpenRGBPluginEntry* plugin)
this_obj->RemovePlugin(plugin);
}
bool OpenRGBDialog::IsMinimizeOnClose()
{
json ui_settings = ResourceManager::get()->GetSettingsManager()->GetSettings("UserInterface");
@@ -2044,14 +2043,14 @@ void OpenRGBDialog::AddConsolePage()
int index = (ui->InformationTabBar->tabBar()->count() - 1);
QWidget* tab = ui->InformationTabBar->widget(index);
if(dynamic_cast<OpenRGBConsolePage*>(tab) != nullptr)
if(dynamic_cast<OpenRGBLogConsolePage*>(tab) != nullptr)
{
found = true;
}
if(!found)
{
OpenRGBConsolePage* page = new OpenRGBConsolePage();
OpenRGBLogConsolePage* page = new OpenRGBLogConsolePage();
ui->InformationTabBar->addTab(page, "");
@@ -2069,7 +2068,7 @@ void OpenRGBDialog::RemoveConsolePage()
int index = (ui->InformationTabBar->tabBar()->count() - 1);
QWidget* tab = ui->InformationTabBar->widget(index);
if(dynamic_cast<OpenRGBConsolePage*>(tab) != nullptr)
if(dynamic_cast<OpenRGBLogConsolePage*>(tab) != nullptr)
{
ui->InformationTabBar->removeTab(index);
delete tab;

View File

@@ -0,0 +1,81 @@
/*---------------------------------------------------------*\
| OpenRGBLogConsolePage.cpp |
| |
| User interface for OpenRGB console page |
| |
| This file is part of the OpenRGB project |
| SPDX-License-Identifier: GPL-2.0-or-later |
\*---------------------------------------------------------*/
#include "OpenRGBLogConsolePage.h"
#include "ui_OpenRGBLogConsolePage.h"
static void OpenRGBLogConsolePageLogManagerCallback(void* this_ptr, unsigned int update_reason, PLogMessage message)
{
OpenRGBLogConsolePage* this_obj = (OpenRGBLogConsolePage*)this_ptr;
switch(update_reason)
{
case LOGMANAGER_UPDATE_REASON_LOG_ENTRY:
QMetaObject::invokeMethod(this_obj, "AddLogEntry", Qt::QueuedConnection, Q_ARG(PLogMessage, message));
break;
}
}
OpenRGBLogConsolePage::OpenRGBLogConsolePage(QWidget* parent) :
QFrame(parent),
ui(new Ui::OpenRGBLogConsolePage)
{
qRegisterMetaType<PLogMessage>("PLogMessage");
ui->setupUi(this);
ui->ComboBoxLogLevel->blockSignals(true);
ui->ComboBoxLogLevel->addItems({"Fatal", "Error", "Warning", "Info", "Verbose", "Debug", "Trace"});
ui->ComboBoxLogLevel->setCurrentIndex(LogManager::get()->GetLogLevel());
ui->ComboBoxLogLevel->blockSignals(false);
for(PLogMessage& message: LogManager::get()->GetLogBuffer())
{
AddLogEntry(message);
}
LogManager::get()->RegisterLogManagerCallback(OpenRGBLogConsolePageLogManagerCallback, this);
}
OpenRGBLogConsolePage::~OpenRGBLogConsolePage()
{
LogManager::get()->UnregisterLogManagerCallback(OpenRGBLogConsolePageLogManagerCallback, this);
delete ui;
}
void OpenRGBLogConsolePage::AddLogEntry(PLogMessage message)
{
unsigned int current_level = LogManager::get()->GetLogLevel();
unsigned int message_level = message->level;
if(message_level <= current_level && message_level != LL_DIALOG)
{
ui->TextEditLog->append(QString::asprintf("[%-7s] %s", LogManager::LOG_CODES[message_level], message->text.c_str()));
}
}
void OpenRGBLogConsolePage::on_ComboBoxLogLevel_currentIndexChanged(int index)
{
LogManager::get()->SetLogLevel(index);
}
void OpenRGBLogConsolePage::on_ButtonClear_clicked()
{
LogManager::get()->ClearLogBuffer();
ui->TextEditLog->clear();
}
void OpenRGBLogConsolePage::changeEvent(QEvent *event)
{
if(event->type() == QEvent::LanguageChange)
{
ui->retranslateUi(this);
}
}

View File

@@ -1,5 +1,5 @@
/*---------------------------------------------------------*\
| OpenRGBConsolePage.h |
| OpenRGBLogConsolePage.h |
| |
| User interface for OpenRGB console page |
| |
@@ -10,28 +10,29 @@
#pragma once
#include <QFrame>
#include "LogManager.h"
namespace Ui
{
class OpenRGBConsolePage;
class OpenRGBLogConsolePage;
}
class OpenRGBConsolePage : public QFrame
class OpenRGBLogConsolePage : public QFrame
{
Q_OBJECT
public:
explicit OpenRGBConsolePage(QWidget *parent = nullptr);
~OpenRGBConsolePage();
explicit OpenRGBLogConsolePage(QWidget *parent = nullptr);
~OpenRGBLogConsolePage();
private slots:
void AddLogEntry(PLogMessage message);
void changeEvent(QEvent *event);
void on_log_level_currentIndexChanged(int);
void on_clear_clicked();
void on_refresh_clicked();
void on_ComboBoxLogLevel_currentIndexChanged(int);
void on_ButtonClear_clicked();
private:
Ui::OpenRGBConsolePage *ui;
Ui::OpenRGBLogConsolePage *ui;
void Refresh();
};

View File

@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>OpenRGBConsolePage</class>
<widget class="QFrame" name="OpenRGBConsolePage">
<class>OpenRGBLogConsolePage</class>
<widget class="QFrame" name="OpenRGBLogConsolePage">
<property name="geometry">
<rect>
<x>0</x>
@@ -14,32 +14,8 @@
<string notr="true">Log Console Page</string>
</property>
<layout class="QGridLayout" name="gridLayout">
<item row="1" column="0">
<widget class="QLabel" name="label">
<property name="text">
<string>Log level</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QComboBox" name="log_level"/>
</item>
<item row="1" column="2">
<widget class="QPushButton" name="refresh">
<property name="text">
<string>Refresh logs</string>
</property>
</widget>
</item>
<item row="1" column="3">
<widget class="QPushButton" name="clear">
<property name="text">
<string>Clear log</string>
</property>
</widget>
</item>
<item row="0" column="0" colspan="4">
<widget class="QTextEdit" name="logs">
<item row="0" column="0" colspan="3">
<widget class="QTextEdit" name="TextEditLog">
<property name="font">
<font>
<family>Monospace</family>
@@ -47,6 +23,23 @@
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QComboBox" name="ComboBoxLogLevel"/>
</item>
<item row="1" column="2">
<widget class="QPushButton" name="ButtonClear">
<property name="text">
<string>Clear</string>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="LabelLogLevel">
<property name="text">
<string>Log Level:</string>
</property>
</widget>
</item>
</layout>
</widget>
<resources/>

View File

@@ -44,17 +44,13 @@
</message>
</context>
<context>
<name>OpenRGBConsolePage</name>
<name>OpenRGBLogConsolePage</name>
<message>
<source>Log level</source>
<source>Log Level:</source>
<translation>Узровень вядзення журнала</translation>
</message>
<message>
<source>Refresh logs</source>
<translation>Абнавіць журнал</translation>
</message>
<message>
<source>Clear log</source>
<source>Clear</source>
<translation>Ачысціць журнал</translation>
</message>
</context>

View File

@@ -44,17 +44,13 @@
</message>
</context>
<context>
<name>OpenRGBConsolePage</name>
<name>OpenRGBLogConsolePage</name>
<message>
<source>Log level</source>
<source>Log Level:</source>
<translation>Log Level</translation>
</message>
<message>
<source>Refresh logs</source>
<translation>Logs aktualisieren</translation>
</message>
<message>
<source>Clear log</source>
<source>Clear</source>
<translation>Logs löschen</translation>
</message>
</context>

View File

@@ -44,17 +44,13 @@
</message>
</context>
<context>
<name>OpenRGBConsolePage</name>
<name>OpenRGBLogConsolePage</name>
<message>
<source>Log level</source>
<source>Log Level:</source>
<translation>Επίπεδο καταγραφής</translation>
</message>
<message>
<source>Refresh logs</source>
<translation>Ανανέωση αρχείων καταγραφής</translation>
</message>
<message>
<source>Clear log</source>
<source>Clear</source>
<translation>Εκκαθάριση αρχείου καταγραφής</translation>
</message>
</context>

View File

@@ -336,17 +336,13 @@
</message>
</context>
<context>
<name>OpenRGBConsolePage</name>
<name>OpenRGBLogConsolePage</name>
<message>
<source>Log level</source>
<source>Log Level:</source>
<translation></translation>
</message>
<message>
<source>Refresh logs</source>
<translation></translation>
</message>
<message>
<source>Clear log</source>
<source>Clear</source>
<translation></translation>
</message>
</context>

View File

@@ -336,17 +336,13 @@
</message>
</context>
<context>
<name>OpenRGBConsolePage</name>
<name>OpenRGBLogConsolePage</name>
<message>
<source>Log level</source>
<source>Log Level:</source>
<translation></translation>
</message>
<message>
<source>Refresh logs</source>
<translation></translation>
</message>
<message>
<source>Clear log</source>
<source>Clear</source>
<translation></translation>
</message>
</context>

View File

@@ -336,17 +336,13 @@
</message>
</context>
<context>
<name>OpenRGBConsolePage</name>
<name>OpenRGBLogConsolePage</name>
<message>
<source>Log level</source>
<source>Log Level:</source>
<translation></translation>
</message>
<message>
<source>Refresh logs</source>
<translation></translation>
</message>
<message>
<source>Clear log</source>
<source>Clear</source>
<translation></translation>
</message>
</context>

View File

@@ -44,17 +44,13 @@
</message>
</context>
<context>
<name>OpenRGBConsolePage</name>
<name>OpenRGBLogConsolePage</name>
<message>
<source>Log level</source>
<source>Log Level:</source>
<translation>Nivel de registro</translation>
</message>
<message>
<source>Refresh logs</source>
<translation>Actualizar registros</translation>
</message>
<message>
<source>Clear log</source>
<source>Clear</source>
<translation>Borrar registro</translation>
</message>
</context>

View File

@@ -44,17 +44,13 @@
</message>
</context>
<context>
<name>OpenRGBConsolePage</name>
<name>OpenRGBLogConsolePage</name>
<message>
<source>Log level</source>
<source>Log Level:</source>
<translation>Niveau de log</translation>
</message>
<message>
<source>Refresh logs</source>
<translation>Rafraîchir</translation>
</message>
<message>
<source>Clear log</source>
<source>Clear</source>
<translation>Effacer</translation>
</message>
</context>

View File

@@ -45,17 +45,13 @@
</message>
</context>
<context>
<name>OpenRGBConsolePage</name>
<name>OpenRGBLogConsolePage</name>
<message>
<source>Log level</source>
<source>Log Level:</source>
<translation>Razina zapisa</translation>
</message>
<message>
<source>Refresh logs</source>
<translation>Osvježi zapise</translation>
</message>
<message>
<source>Clear log</source>
<source>Clear</source>
<translation>Ukloni zapise</translation>
</message>
</context>

View File

@@ -44,17 +44,13 @@
</message>
</context>
<context>
<name>OpenRGBConsolePage</name>
<name>OpenRGBLogConsolePage</name>
<message>
<source>Log level</source>
<source>Log Level:</source>
<translation>Livello registro</translation>
</message>
<message>
<source>Refresh logs</source>
<translation>Aggiorna registri</translation>
</message>
<message>
<source>Clear log</source>
<source>Clear</source>
<translation>Cancella registro</translation>
</message>
</context>

View File

@@ -44,17 +44,13 @@
</message>
</context>
<context>
<name>OpenRGBConsolePage</name>
<name>OpenRGBLogConsolePage</name>
<message>
<source>Log level</source>
<source>Log Level:</source>
<translation></translation>
</message>
<message>
<source>Refresh logs</source>
<translation></translation>
</message>
<message>
<source>Clear log</source>
<source>Clear</source>
<translation></translation>
</message>
</context>

View File

@@ -44,17 +44,13 @@
</message>
</context>
<context>
<name>OpenRGBConsolePage</name>
<name>OpenRGBLogConsolePage</name>
<message>
<source>Log level</source>
<source>Log Level:</source>
<translation> </translation>
</message>
<message>
<source>Refresh logs</source>
<translation> </translation>
</message>
<message>
<source>Clear log</source>
<source>Clear</source>
<translation> </translation>
</message>
</context>

View File

@@ -44,17 +44,13 @@
</message>
</context>
<context>
<name>OpenRGBConsolePage</name>
<name>OpenRGBLogConsolePage</name>
<message>
<source>Log level</source>
<source>Log Level:</source>
<translation>Tahap log</translation>
</message>
<message>
<source>Refresh logs</source>
<translation>Muat semula log</translation>
</message>
<message>
<source>Clear log</source>
<source>Clear</source>
<translation>Kosongkan log</translation>
</message>
</context>

View File

@@ -44,17 +44,13 @@
</message>
</context>
<context>
<name>OpenRGBConsolePage</name>
<name>OpenRGBLogConsolePage</name>
<message>
<source>Log level</source>
<source>Log Level:</source>
<translation>Log Level</translation>
</message>
<message>
<source>Refresh logs</source>
<translation>Forfrisk logger</translation>
</message>
<message>
<source>Clear log</source>
<source>Clear</source>
<translation>Slett logger</translation>
</message>
</context>

View File

@@ -44,17 +44,13 @@
</message>
</context>
<context>
<name>OpenRGBConsolePage</name>
<name>OpenRGBLogConsolePage</name>
<message>
<source>Log level</source>
<source>Log Level:</source>
<translation>Poziom logowania</translation>
</message>
<message>
<source>Refresh logs</source>
<translation>Odśwież logi</translation>
</message>
<message>
<source>Clear log</source>
<source>Clear</source>
<translation>Wyczyść logi</translation>
</message>
</context>

View File

@@ -44,17 +44,13 @@
</message>
</context>
<context>
<name>OpenRGBConsolePage</name>
<name>OpenRGBLogConsolePage</name>
<message>
<source>Log level</source>
<source>Log Level:</source>
<translation>Nível de registro</translation>
</message>
<message>
<source>Refresh logs</source>
<translation>Atualizar registros</translation>
</message>
<message>
<source>Clear log</source>
<source>Clear</source>
<translation>Limpar registros</translation>
</message>
</context>

View File

@@ -336,17 +336,13 @@
</message>
</context>
<context>
<name>OpenRGBConsolePage</name>
<name>OpenRGBLogConsolePage</name>
<message>
<source>Log level</source>
<source>Log Level:</source>
<translation>Уровень логирования</translation>
</message>
<message>
<source>Refresh logs</source>
<translation>Обновить лог</translation>
</message>
<message>
<source>Clear log</source>
<source>Clear</source>
<translation>Очистить лог</translation>
</message>
</context>

View File

@@ -336,17 +336,13 @@
</message>
</context>
<context>
<name>OpenRGBConsolePage</name>
<name>OpenRGBLogConsolePage</name>
<message>
<source>Log level</source>
<source>Log Level:</source>
<translation>Günlük seviyesi</translation>
</message>
<message>
<source>Refresh logs</source>
<translation>Günlükleri yenile</translation>
</message>
<message>
<source>Clear log</source>
<source>Clear</source>
<translation>Günlükleri temizle</translation>
</message>
</context>

View File

@@ -44,17 +44,13 @@
</message>
</context>
<context>
<name>OpenRGBConsolePage</name>
<name>OpenRGBLogConsolePage</name>
<message>
<source>Log level</source>
<source>Log Level:</source>
<translation>Рівень логування</translation>
</message>
<message>
<source>Refresh logs</source>
<translation>Оновити лог</translation>
</message>
<message>
<source>Clear log</source>
<source>Clear</source>
<translation>Очистити лог</translation>
</message>
</context>

View File

@@ -44,17 +44,13 @@
</message>
</context>
<context>
<name>OpenRGBConsolePage</name>
<name>OpenRGBLogConsolePage</name>
<message>
<source>Log level</source>
<source>Log Level:</source>
<translation></translation>
</message>
<message>
<source>Refresh logs</source>
<translation></translation>
</message>
<message>
<source>Clear log</source>
<source>Clear</source>
<translation></translation>
</message>
</context>

View File

@@ -44,17 +44,13 @@
</message>
</context>
<context>
<name>OpenRGBConsolePage</name>
<name>OpenRGBLogConsolePage</name>
<message>
<source>Log level</source>
<source>Log Level:</source>
<translation></translation>
</message>
<message>
<source>Refresh logs</source>
<translation></translation>
</message>
<message>
<source>Clear log</source>
<source>Clear</source>
<translation></translation>
</message>
</context>