From 7167ce41b61d2ba2cdb526777a4233eb84a3b66a Mon Sep 17 00:00:00 2001 From: Unit 193 Date: Sat, 6 Dec 2014 17:33:25 -0500 Subject: Imported Upstream version 2.99.6 --- SQLiteStudio3/guiSQLiteStudio/debugconsole.cpp | 79 ++++++++++++++++++++++++++ 1 file changed, 79 insertions(+) create mode 100644 SQLiteStudio3/guiSQLiteStudio/debugconsole.cpp (limited to 'SQLiteStudio3/guiSQLiteStudio/debugconsole.cpp') diff --git a/SQLiteStudio3/guiSQLiteStudio/debugconsole.cpp b/SQLiteStudio3/guiSQLiteStudio/debugconsole.cpp new file mode 100644 index 0000000..033eb1c --- /dev/null +++ b/SQLiteStudio3/guiSQLiteStudio/debugconsole.cpp @@ -0,0 +1,79 @@ +#include "debugconsole.h" +#include "ui_debugconsole.h" +#include "iconmanager.h" +#include + +DebugConsole::DebugConsole(QWidget *parent) : + QDialog(parent), + ui(new Ui::DebugConsole) +{ + ui->setupUi(this); + ui->textEdit->setReadOnly(true); + + QPushButton* resetBtn = ui->buttonBox->button(QDialogButtonBox::Reset); + connect(resetBtn, SIGNAL(clicked()), this, SLOT(reset())); + + initFormats(); +} + +DebugConsole::~DebugConsole() +{ + delete ui; +} + +void DebugConsole::debug(const QString &msg) +{ + message(msg, dbgFormat); +} + +void DebugConsole::warning(const QString &msg) +{ + message(msg, wrnFormat); +} + +void DebugConsole::critical(const QString &msg) +{ + message(msg, criFormat); +} + +void DebugConsole::fatal(const QString &msg) +{ + message(msg, fatFormat); +} + +void DebugConsole::initFormats() +{ + dbgFormat.setForeground(Qt::blue); + wrnFormat.setForeground(Qt::darkRed); + criFormat.setForeground(Qt::red); + criFormat.setFontUnderline(true); + fatFormat.setForeground(Qt::red); + fatFormat.setFontUnderline(true); + + QFontMetrics fm(ui->textEdit->font()); + int indent = fm.width(QString("X").repeated(25)); + ui->textEdit->document()->setIndentWidth(indent); + + blockFormat.setIndent(1); + blockFormat.setTextIndent(-indent); +} + +void DebugConsole::message(const QString &msg, const QTextCharFormat &format) +{ + ui->textEdit->setCurrentCharFormat(format); + QTextCursor cur = ui->textEdit->textCursor(); + + cur.insertText(msg); + cur.mergeBlockFormat(blockFormat); + cur.insertBlock(blockFormat); +} + +void DebugConsole::reset() +{ + ui->textEdit->clear(); +} + +void DebugConsole::showEvent(QShowEvent*) +{ + setWindowIcon(ICONS.SQLITESTUDIO_APP); +} -- cgit v1.2.3