From a195ec4006f9ea79d154a1bd3fc8b461f154dc6b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=91=D1=8B=D1=87=D0=BA=D0=BE=D0=B2=20=D0=90=D0=BD=D0=B4?= =?UTF-8?q?=D1=80=D0=B5=D0=B9?= Date: Thu, 18 Jun 2020 22:46:16 +0300 Subject: [PATCH] logview improvments and fixes --- qad/application/lang/qad_application_en.ts | 16 ++++- qad/application/lang/qad_application_ru.ts | 16 ++++- qad/application/logview.cpp | 78 ++++++++++++++------- qad/application/logview.h | 15 +++- qad/application/qad_application.qrc | 2 + qad/icons/select-all.png | Bin 0 -> 21694 bytes qad/icons/select-none.png | Bin 0 -> 36469 bytes 7 files changed, 98 insertions(+), 29 deletions(-) create mode 100644 qad/icons/select-all.png create mode 100644 qad/icons/select-none.png diff --git a/qad/application/lang/qad_application_en.ts b/qad/application/lang/qad_application_en.ts index 824e696..cc85e91 100644 --- a/qad/application/lang/qad_application_en.ts +++ b/qad/application/lang/qad_application_en.ts @@ -118,11 +118,25 @@ + + Clear - + + + Select All + + + + + + Copy + + + + All diff --git a/qad/application/lang/qad_application_ru.ts b/qad/application/lang/qad_application_ru.ts index c4d9101..bb4ba21 100644 --- a/qad/application/lang/qad_application_ru.ts +++ b/qad/application/lang/qad_application_ru.ts @@ -118,11 +118,25 @@ + + Clear Очистить - + + + Select All + Выделить всё + + + + + Copy + Копировать + + + All Все diff --git a/qad/application/logview.cpp b/qad/application/logview.cpp index eb39473..6d2cb02 100644 --- a/qad/application/logview.cpp +++ b/qad/application/logview.cpp @@ -28,11 +28,19 @@ void LogView::Category::makeIcon(QSize size, QSize size_icon) { } - - LogView::LogView(QWidget * parent): QWidget(parent) { ui = new Ui::LogView(); ui->setupUi(this); + ui->textEdit->setContextMenuPolicy(Qt::ActionsContextMenu); + actionLogSelectAll = new QAction(QIcon(":/icons/select-all.png"), tr("Select All")); + actionLogCopy = new QAction(QIcon(":/icons/edit-copy.png"), tr("Copy")); + actionLogClear = new QAction(QIcon(":/icons/edit-clear.png"), tr("Clear")); + connect(actionLogSelectAll, SIGNAL(triggered(bool)), ui->textEdit, SLOT(selectAll())); + connect(actionLogCopy, SIGNAL(triggered(bool)), ui->textEdit, SLOT(copy())); + connect(actionLogClear, SIGNAL(triggered(bool)), ui->textEdit, SLOT(clear())); + ui->textEdit->addAction(actionLogSelectAll); + ui->textEdit->addAction(actionLogCopy); + ui->textEdit->addAction(actionLogClear); ui->buttonClear->setDefaultAction(ui->actionClear); ui->labelIconSearch->setFixedSize(preferredIconSize(1.2, this)); ui->comboCategory->addItem(tr("All")); @@ -66,7 +74,7 @@ QFont LogView::logFont() const { bool LogView::isFilterVisible() const { - return !ui->widgetToolbar->isHidden(); + return ui->widgetToolbar->isVisible(); } @@ -76,43 +84,64 @@ int LogView::linesLimit() const { void LogView::registerCategory(const QString & label, QString keyword, const QImage & icon, QColor color, bool bold) { - if (keyword.isEmpty()) keyword = label; - if (keyword.isEmpty()) return; - Category & c(categories[keyword]); + QRegularExpression regexp(keyword, QRegularExpression::PatternOptions(QRegularExpression::CaseInsensitiveOption)); + registerCategory(label, regexp, icon, color, bold); +} + + +void LogView::registerCategory(const QString & label, QRegularExpression regexp, const QImage & icon, QColor color, bool bold) { + if (!regexp.isValid()) return; + Category c; + c.regexp = regexp; + categories.removeAll(c); c.label = label; - c.keyword = keyword; c.image = icon; c.color = color; c.bold = bold; c.makeIcon(iconImageSize(), preferredIconSize(1., this)); - ui->comboCategory->addItem(c.icon, label, keyword); + categories.append(c); + ui->comboCategory->addItem(c.icon, label, regexp); } void LogView::addText(const QString & text, bool insert_newline) { + if (text.isEmpty()) return; QTextCursor tc(ui->textEdit->document()); QStringList sl = text.split("\n"); tc.movePosition(QTextCursor::End); QScrollBar * bar = ui->textEdit->verticalScrollBar(); bool at_end = (bar->value() == bar->maximum()); for (int i = 0; i < sl.size(); ++i) { + if (sl[i].isEmpty()) return; tc.insertText(sl[i]); if ((i < sl.size() - 1) || insert_newline) newLine(); } if (at_end) bar->setValue(bar->maximum()); - filter(); + if (ui->widgetToolbar->isVisible()) + filter(); } void LogView::changeEvent(QEvent * e) { - if (e->type() == QEvent::Polish) { - ui->labelIconSearch->setFixedSize(preferredIconSize(1.2, this)); - QSize is = iconImageSize(), is_i = preferredIconSize(1., this); - QMutableMapIterator it(categories); - while (it.hasNext()) - it.next().value().makeIcon(is, is_i); + QWidget::changeEvent(e); + switch (e->type()) { + case QEvent::LanguageChange: + ui->retranslateUi(this); + actionLogSelectAll->setText(tr("Select All")); + actionLogCopy->setText(tr("Copy")); + actionLogClear->setText(tr("Clear")); + break; + case QEvent::Polish: { + ui->labelIconSearch->setFixedSize(preferredIconSize(1.2, this)); + QSize is = iconImageSize(), is_i = preferredIconSize(1., this); + QMutableListIterator it(categories); + while (it.hasNext()) + it.next().makeIcon(is, is_i); + } break; + default: + break; } } @@ -123,16 +152,16 @@ void LogView::newLine() { tc.movePosition(QTextCursor::StartOfBlock, QTextCursor::KeepAnchor); QString line = tc.selectedText(); QImage icon; - QMapIterator it(categories); + QListIterator it(categories); while (it.hasNext()) { - it.next(); - if (line.contains(it.key(), Qt::CaseInsensitive)) { + const Category & c(it.next()); + if (line.contains(c.regexp)) { QTextCharFormat cf = def_cf; - cf.setForeground(it.value().color); - if (it.value().bold) + cf.setForeground(c.color); + if (c.bold) cf.setFontWeight(QFont::Bold); tc.setCharFormat(cf); - icon = it.value().icon_image; + icon = c.icon_image; break; } } @@ -170,13 +199,14 @@ void LogView::clear() { void LogView::filter() { QTextDocument * doc = ui->textEdit->document(); int bc = doc->blockCount(); - QString fs[2] = {ui->comboCategory->currentData().toString(), ui->lineEdit->text()}; + QRegularExpression regexp = ui->comboCategory->currentData().toRegularExpression(); + QString fs = ui->lineEdit->text(); QTextBlock bl; for (int i = 0; i < bc; ++i) { bl = doc->findBlockByNumber(i); bool vis = true; - if (!fs[0].isEmpty()) vis = vis && bl.text().contains(fs[0], Qt::CaseInsensitive); - if (!fs[1].isEmpty()) vis = vis && bl.text().contains(fs[1], Qt::CaseInsensitive); + if (regexp.isValid()) vis = vis && bl.text().contains(regexp); + if (!fs.isEmpty()) vis = vis && bl.text().contains(fs[1], Qt::CaseInsensitive); bl.setVisible(vis); } doc->markContentsDirty(0, bl.position() + bl.length()); diff --git a/qad/application/logview.h b/qad/application/logview.h index 8212056..f3df199 100644 --- a/qad/application/logview.h +++ b/qad/application/logview.h @@ -23,11 +23,12 @@ #include #include #include -#include #include +#include #include "qad_export.h" class QTextEdit; +class QAction; namespace Ui { class LogView; @@ -56,6 +57,12 @@ public: QColor color = QColor(), bool bold = false); + void registerCategory(const QString & label, + QRegularExpression regexp = QRegularExpression(), + const QImage & icon = QImage(), + QColor color = QColor(), + bool bold = false); + void addText(const QString & text, bool insert_newline = true); private: @@ -63,11 +70,12 @@ private: Category(); void makeIcon(QSize size, QSize size_icon); QString label; - QString keyword; + QRegularExpression regexp; QImage image, icon_image; QIcon icon; QColor color; bool bold; + inline bool operator ==(const Category & it) const {return (regexp.pattern() == it.regexp.pattern());} }; void changeEvent(QEvent * e); @@ -75,8 +83,9 @@ private: QSize iconImageSize(); Ui::LogView * ui; - QMap categories; // by keyword + QList categories; QTextCharFormat def_cf; + QAction * actionLogSelectAll, * actionLogCopy, * actionLogClear; public slots: void setFilterVisible(bool yes); diff --git a/qad/application/qad_application.qrc b/qad/application/qad_application.qrc index 794f52d..aed461c 100644 --- a/qad/application/qad_application.qrc +++ b/qad/application/qad_application.qrc @@ -29,5 +29,7 @@ ../icons/layer-visible-on.png ../icons/logview.png ../icons/qt.png + ../icons/select-all.png + ../icons/select-none.png diff --git a/qad/icons/select-all.png b/qad/icons/select-all.png new file mode 100644 index 0000000000000000000000000000000000000000..c045ff12ec552bb6fb07f3d0ec90958813fe827b GIT binary patch literal 21694 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 literal 0 HcmV?d00001 diff --git a/qad/icons/select-none.png b/qad/icons/select-none.png new file mode 100644 index 0000000000000000000000000000000000000000..cf650756fd318b63152fa875fd1927b0b7d756ab GIT binary patch literal 36469 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