Files
OpenRGB/qt/OpenRGBConsolePage.cpp
Chris 310447c5f0 Adjusting QSS and palette to resolve #1976
+ Adding global QLabel and QTableView to QSS
+ Adding `Link` and `LinkVisited` to palette
+ Ensuring Windows sets a Monospaced font for the log console
2021-11-30 18:34:58 +00:00

76 lines
1.7 KiB
C++

#include "OpenRGBConsolePage.h"
#include "LogManager.h"
#include <stdio.h>
using namespace Ui;
OpenRGBConsolePage::OpenRGBConsolePage(QWidget *parent) :
QFrame(parent),
ui(new Ui::OpenRGBConsolePageUi)
{
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()->messages())
{
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()->buffer);
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()->clearMessages();
ui->logs->clear();
}
void OpenRGBConsolePage::on_refresh_clicked()
{
Refresh();
}
OpenRGBConsolePage::~OpenRGBConsolePage()
{
delete ui;
}