mirror of
https://github.com/HifiExperiments/overte.git
synced 2025-08-04 23:43:18 +02:00
saving for Wednesday
This commit is contained in:
parent
720f186bd7
commit
296f0a323a
6 changed files with 114 additions and 41 deletions
Binary file not shown.
|
@ -16,7 +16,6 @@
|
|||
#include <QPlainTextEdit>
|
||||
#include <QTextCursor>
|
||||
#include <QPushButton>
|
||||
#include <QSyntaxHighlighter>
|
||||
|
||||
#include <PathUtils.h>
|
||||
|
||||
|
@ -34,21 +33,6 @@ const QColor HIGHLIGHT_COLOR = QColor("#3366CC");
|
|||
const QColor BOLD_COLOR = QColor("#445c8c");
|
||||
const QString BOLD_PATTERN = "\\[\\d*\\/.*:\\d*:\\d*\\]";
|
||||
|
||||
class Highlighter : public QSyntaxHighlighter {
|
||||
public:
|
||||
Highlighter(QTextDocument* parent = nullptr);
|
||||
void setBold(int indexToBold);
|
||||
QString keyword;
|
||||
|
||||
protected:
|
||||
void highlightBlock(const QString& text) override;
|
||||
|
||||
private:
|
||||
QTextCharFormat boldFormat;
|
||||
QTextCharFormat keywordFormat;
|
||||
|
||||
};
|
||||
|
||||
BaseLogDialog::BaseLogDialog(QWidget* parent) : QDialog(parent, Qt::Window) {
|
||||
setWindowTitle("Base Log");
|
||||
setAttribute(Qt::WA_DeleteOnClose);
|
||||
|
|
|
@ -13,6 +13,7 @@
|
|||
#define hifi_BaseLogDialog_h
|
||||
|
||||
#include <QDialog>
|
||||
#include <QSyntaxHighlighter>
|
||||
|
||||
const int ELEMENT_MARGIN = 7;
|
||||
const int ELEMENT_HEIGHT = 32;
|
||||
|
@ -24,7 +25,21 @@ const int BUTTON_MARGIN = 8;
|
|||
class QPushButton;
|
||||
class QLineEdit;
|
||||
class QPlainTextEdit;
|
||||
class Highlighter;
|
||||
|
||||
class Highlighter : public QSyntaxHighlighter {
|
||||
public:
|
||||
Highlighter(QTextDocument* parent = nullptr);
|
||||
void setBold(int indexToBold);
|
||||
QString keyword;
|
||||
|
||||
protected:
|
||||
void highlightBlock(const QString& text) override;
|
||||
|
||||
private:
|
||||
QTextCharFormat boldFormat;
|
||||
QTextCharFormat keywordFormat;
|
||||
|
||||
};
|
||||
|
||||
class BaseLogDialog : public QDialog {
|
||||
Q_OBJECT
|
||||
|
@ -34,7 +49,7 @@ public:
|
|||
~BaseLogDialog();
|
||||
|
||||
public slots:
|
||||
void appendLogLine(QString logLine);
|
||||
virtual void appendLogLine(QString logLine);
|
||||
|
||||
private slots:
|
||||
void updateSelection();
|
||||
|
@ -45,6 +60,9 @@ private slots:
|
|||
|
||||
protected:
|
||||
int _leftPad { 0 };
|
||||
QString _searchTerm;
|
||||
QPlainTextEdit* _logTextBox{ nullptr };
|
||||
Highlighter* _highlighter{ nullptr };
|
||||
|
||||
void resizeEvent(QResizeEvent* event) override;
|
||||
void showEvent(QShowEvent* event) override;
|
||||
|
@ -53,11 +71,8 @@ protected:
|
|||
private:
|
||||
QPushButton* _searchButton { nullptr };
|
||||
QLineEdit* _searchTextBox { nullptr };
|
||||
QPlainTextEdit* _logTextBox { nullptr };
|
||||
QPushButton* _searchPrevButton { nullptr };
|
||||
QPushButton* _searchNextButton { nullptr };
|
||||
QString _searchTerm;
|
||||
Highlighter* _highlighter { nullptr };
|
||||
|
||||
void initControls();
|
||||
void showLogData();
|
||||
|
|
|
@ -14,6 +14,7 @@
|
|||
#include <QCheckBox>
|
||||
#include <QPushButton>
|
||||
#include <QComboBox>
|
||||
#include <QPlainTextEdit>
|
||||
|
||||
#include <shared/AbstractLoggerInterface.h>
|
||||
|
||||
|
@ -22,6 +23,8 @@ const int DEBUG_CHECKBOX_LEFT = 25;
|
|||
const int DEBUG_CHECKBOX_WIDTH = 70;
|
||||
const int INFO_CHECKBOX_WIDTH = 65;
|
||||
const int CRITICAL_CHECKBOX_WIDTH = 85;
|
||||
const QString DEBUG = "[DEBUG]";
|
||||
const QString INFO = "[INFO]";
|
||||
|
||||
LogDialog::LogDialog(QWidget* parent, AbstractLoggerInterface* logger) : BaseLogDialog(parent) {
|
||||
_logger = logger;
|
||||
|
@ -39,31 +42,31 @@ LogDialog::LogDialog(QWidget* parent, AbstractLoggerInterface* logger) : BaseLog
|
|||
|
||||
_debugPrintBox = new QCheckBox("DEBUG", this);
|
||||
_debugPrintBox->setGeometry(_leftPad, ELEMENT_MARGIN + ELEMENT_MARGIN + ELEMENT_HEIGHT, DEBUG_CHECKBOX_WIDTH, ELEMENT_HEIGHT);
|
||||
/*if (_logger->extraDebugging()) {
|
||||
if (_logger->debugPrint()) {
|
||||
_extraDebuggingBox->setCheckState(Qt::Checked);
|
||||
}*/
|
||||
}
|
||||
_debugPrintBox->show();
|
||||
//connect(_extraDebuggingBox, SIGNAL(stateChanged(int)), SLOT(handleExtraDebuggingCheckbox(int)));
|
||||
connect(_debugPrintBox, SIGNAL(stateChanged(int)), SLOT(handleDebugPrintBox(int)));
|
||||
|
||||
_leftPad += DEBUG_CHECKBOX_WIDTH + BUTTON_MARGIN;
|
||||
|
||||
_infoPrintBox = new QCheckBox("INFO", this);
|
||||
_infoPrintBox->setGeometry(_leftPad, ELEMENT_MARGIN + ELEMENT_MARGIN + ELEMENT_HEIGHT, INFO_CHECKBOX_WIDTH, ELEMENT_HEIGHT);
|
||||
/*if (_logger->extraDebugging()) {
|
||||
_extraDebuggingBox->setCheckState(Qt::Checked);
|
||||
}*/
|
||||
if (_logger->infoPrint()) {
|
||||
_infoPrintBox->setCheckState(Qt::Checked);
|
||||
}
|
||||
_infoPrintBox->show();
|
||||
//connect(_infoPrintBox, SIGNAL(stateChanged(int)), SLOT(handleExtraDebuggingCheckbox(int)));
|
||||
connect(_infoPrintBox, SIGNAL(stateChanged(int)), SLOT(handleInfoPrintBox(int)));
|
||||
|
||||
_leftPad += INFO_CHECKBOX_WIDTH + BUTTON_MARGIN;
|
||||
|
||||
_criticalPrintBox = new QCheckBox("CRITICAL", this);
|
||||
_criticalPrintBox->setGeometry(_leftPad, ELEMENT_MARGIN + ELEMENT_MARGIN + ELEMENT_HEIGHT, CRITICAL_CHECKBOX_WIDTH, ELEMENT_HEIGHT);
|
||||
/*if (_logger->extraDebugging()) {
|
||||
_extraDebuggingBox->setCheckState(Qt::Checked);
|
||||
}*/
|
||||
if (_logger->criticalPrint()) {
|
||||
_criticalPrintBox->setCheckState(Qt::Checked);
|
||||
}
|
||||
_criticalPrintBox->show();
|
||||
//connect(_criticalPrintBox, SIGNAL(stateChanged(int)), SLOT(handleExtraDebuggingCheckbox(int)));
|
||||
connect(_criticalPrintBox, SIGNAL(stateChanged(int)), SLOT(handleCriticalPrintBox(int)));
|
||||
|
||||
_leftPad += CRITICAL_CHECKBOX_WIDTH + BUTTON_MARGIN;
|
||||
|
||||
|
@ -80,21 +83,23 @@ LogDialog::LogDialog(QWidget* parent, AbstractLoggerInterface* logger) : BaseLog
|
|||
_filterDropdown = new QComboBox(this);
|
||||
_filterDropdown->setGeometry(_leftPad, ELEMENT_MARGIN + ELEMENT_MARGIN + ELEMENT_HEIGHT, COMBOBOX_WIDTH, ELEMENT_HEIGHT);
|
||||
_filterDropdown->addItem("Select filter...");
|
||||
_filterDropdown->addItem("hifi.scriptengine");
|
||||
_filterDropdown->addItem("hifi.scriptengine.module");
|
||||
_filterDropdown->addItem("hifi.shared");
|
||||
_filterDropdown->addItem("hifi.interface.deadlock");
|
||||
_filterDropdown->addItem("hifi.scriptengine.script");
|
||||
_filterDropdown->addItem("default");
|
||||
_filterDropdown->addItem("hifi.audioclient");
|
||||
_filterDropdown->addItem("hifi.avatars");
|
||||
_filterDropdown->addItem("hifi.interface.deadlock");
|
||||
_filterDropdown->addItem("hifi.modelformat");
|
||||
_filterDropdown->addItem("hifi.networking");
|
||||
_filterDropdown->addItem("hifi.networking.resource");
|
||||
_filterDropdown->addItem("hifi.modelformat");
|
||||
_filterDropdown->addItem("default");
|
||||
_filterDropdown->addItem("hifi.scriptengine");
|
||||
_filterDropdown->addItem("hifi.scriptengine.module");
|
||||
_filterDropdown->addItem("hifi.scriptengine.script");
|
||||
_filterDropdown->addItem("hifi.shared");
|
||||
_filterDropdown->addItem("hifi.ui");
|
||||
_filterDropdown->addItem("qml");
|
||||
_filterDropdown->addItem("hifi.ui");
|
||||
_filterDropdown->addItem("hifi.avatars");
|
||||
|
||||
|
||||
connect(_filterDropdown, SIGNAL(_filterDropdown->currentIndexChanged(int)),this, SLOT(handleFilterDropdownChanged(int)));
|
||||
}
|
||||
|
||||
void LogDialog::resizeEvent(QResizeEvent* event) {
|
||||
|
@ -115,8 +120,60 @@ void LogDialog::handleRevealButton() {
|
|||
|
||||
void LogDialog::handleExtraDebuggingCheckbox(int state) {
|
||||
_logger->setExtraDebugging(state != 0);
|
||||
|
||||
}
|
||||
|
||||
void LogDialog::handleDebugPrintBox(int state) {
|
||||
_logger->setDebugPrint(state != 0);
|
||||
if (state != 0) {
|
||||
_logTextBox->clear();
|
||||
}
|
||||
}
|
||||
|
||||
void LogDialog::handleInfoPrintBox(int state) {
|
||||
_logger->setInfoPrint(state != 0);
|
||||
if (state != 0) {
|
||||
_logTextBox->clear();
|
||||
}
|
||||
}
|
||||
|
||||
void LogDialog::handleCriticalPrintBox(int state) {
|
||||
_logger->setCriticalPrint(state != 0);
|
||||
if (state != 0) {
|
||||
_logTextBox->clear();
|
||||
}
|
||||
}
|
||||
|
||||
void LogDialog::handleFilterDropdownChanged(int selection) {
|
||||
printf("%s\n", "Handle it!!!!!");
|
||||
if (selection != 0) {
|
||||
_filterSelection = "[" + _filterDropdown->currentText + "]";
|
||||
printf("%s\n", selection);
|
||||
}
|
||||
}
|
||||
|
||||
QString LogDialog::getCurrentLog() {
|
||||
return _logger->getLogData();
|
||||
}
|
||||
|
||||
void LogDialog::appendLogLine(QString logLine) {
|
||||
if (logLine.contains(_searchTerm, Qt::CaseInsensitive) &&
|
||||
logLine.contains(_filterSelection, Qt::CaseSensitive)) {
|
||||
int indexToBold = _logTextBox->document()->characterCount();
|
||||
_highlighter->setBold(indexToBold);
|
||||
|
||||
if (logLine.contains(DEBUG, Qt::CaseSensitive)) {
|
||||
if (_logger->debugPrint()) {
|
||||
_logTextBox->appendPlainText(logLine.trimmed());
|
||||
}
|
||||
} else if (logLine.contains(INFO, Qt::CaseSensitive)) {
|
||||
if (_logger->infoPrint()) {
|
||||
_logTextBox->appendPlainText(logLine.trimmed());
|
||||
}
|
||||
} else {
|
||||
if (_logger->criticalPrint()) {
|
||||
_logTextBox->appendPlainText(logLine.trimmed());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -26,9 +26,16 @@ class LogDialog : public BaseLogDialog {
|
|||
public:
|
||||
LogDialog(QWidget* parent, AbstractLoggerInterface* logger);
|
||||
|
||||
private slots:
|
||||
public slots:
|
||||
void appendLogLine(QString logLine) override;
|
||||
|
||||
private slots:
|
||||
void handleRevealButton();
|
||||
void handleExtraDebuggingCheckbox(int);
|
||||
void handleDebugPrintBox(int);
|
||||
void handleInfoPrintBox(int);
|
||||
void handleCriticalPrintBox(int);
|
||||
void handleFilterDropdownChanged(int);
|
||||
|
||||
protected:
|
||||
void resizeEvent(QResizeEvent* event) override;
|
||||
|
@ -41,6 +48,7 @@ private:
|
|||
QCheckBox* _infoPrintBox;
|
||||
QCheckBox* _criticalPrintBox;
|
||||
QComboBox* _filterDropdown;
|
||||
QString _filterSelection;
|
||||
|
||||
AbstractLoggerInterface* _logger;
|
||||
};
|
||||
|
|
|
@ -24,7 +24,13 @@ public:
|
|||
AbstractLoggerInterface(QObject* parent = NULL);
|
||||
~AbstractLoggerInterface();
|
||||
inline bool extraDebugging() { return _extraDebugging; }
|
||||
inline bool debugPrint() { return _debugPrint; }
|
||||
inline bool infoPrint() { return _infoPrint; }
|
||||
inline bool criticalPrint() { return _criticalPrint; }
|
||||
inline void setExtraDebugging(bool debugging) { _extraDebugging = debugging; }
|
||||
inline void setDebugPrint(bool debugging) { _debugPrint = debugging; }
|
||||
inline void setInfoPrint(bool debugging) { _infoPrint = debugging; }
|
||||
inline void setCriticalPrint(bool debugging) { _criticalPrint = debugging; }
|
||||
|
||||
virtual void addMessage(const QString&) = 0;
|
||||
virtual QString getLogData() = 0;
|
||||
|
@ -36,6 +42,9 @@ signals:
|
|||
|
||||
private:
|
||||
bool _extraDebugging{ false };
|
||||
bool _debugPrint{ false };
|
||||
bool _infoPrint{ false };
|
||||
bool _criticalPrint{ true };
|
||||
};
|
||||
|
||||
#endif // hifi_AbstractLoggerInterface_h
|
||||
|
|
Loading…
Reference in a new issue