saving for Wednesday

This commit is contained in:
RebeccaStankus 2017-12-26 15:56:05 -08:00
parent 720f186bd7
commit 296f0a323a
6 changed files with 114 additions and 41 deletions

Binary file not shown.

View file

@ -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);

View file

@ -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();

View file

@ -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());
}
}
}
}

View file

@ -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;
};

View file

@ -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