From cfe2df52b22f0957c9bed8f7fa7efea030d9439f Mon Sep 17 00:00:00 2001 From: Kubat <mael.martin31@gmail.com> Date: Wed, 28 Jul 2021 23:34:35 +0200 Subject: [PATCH] UI: Add basic syntax highlighting to scripts --- src/UI/DocumentViews/TimingView.cc | 2 +- src/UI/ScriptDocumentView.cc | 2 ++ src/UI/ScriptDocumentView.hh | 2 ++ src/UI/ScriptViews/ScriptHighlighter.hh | 6 +++--- 4 files changed, 8 insertions(+), 4 deletions(-) diff --git a/src/UI/DocumentViews/TimingView.cc b/src/UI/DocumentViews/TimingView.cc index 8754ec09..0ef6c16b 100644 --- a/src/UI/DocumentViews/TimingView.cc +++ b/src/UI/DocumentViews/TimingView.cc @@ -20,7 +20,7 @@ TimingView::TimingView(QImage img, quint64 soundLength, QWidget *parent) noexcep { scene = new TimingScene(img, soundLength, this); setFixedHeight(img.height()); - setMaximumHeight(img.height() + horizontalScrollBar()->height()); + setMaximumHeight(img.height()); setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff); setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff); setSizePolicy(QSizePolicy::Ignored, QSizePolicy::Minimum); diff --git a/src/UI/ScriptDocumentView.cc b/src/UI/ScriptDocumentView.cc index f529e4f0..9a00fffb 100644 --- a/src/UI/ScriptDocumentView.cc +++ b/src/UI/ScriptDocumentView.cc @@ -1,5 +1,6 @@ #include "ScriptDocumentView.hh" #include "ScriptViews/ScriptEditor.hh" +#include "ScriptViews/ScriptHighlighter.hh" #include "../VivyApplication.hh" #include <QVBoxLayout> @@ -9,6 +10,7 @@ using namespace Vivy; ScriptDocumentView::ScriptDocumentView(const QString &path, QWidget *parent) : AbstractDocumentView(AbstractDocumentView::Type::Script, parent) , editor(new ScriptEditor(this)) + , syntax(new ScriptHighlighter(editor->document())) { QFile textFile(path); if (!textFile.open(QIODevice::ReadOnly | QIODevice::Text)) { diff --git a/src/UI/ScriptDocumentView.hh b/src/UI/ScriptDocumentView.hh index 530b9bfa..15b2be98 100644 --- a/src/UI/ScriptDocumentView.hh +++ b/src/UI/ScriptDocumentView.hh @@ -14,6 +14,7 @@ namespace Vivy { class ScriptEditor; +class ScriptHighlighter; class ScriptDocumentView final : public AbstractDocumentView { Q_OBJECT @@ -36,6 +37,7 @@ public: private: ScriptEditor *editor{ nullptr }; + ScriptHighlighter *syntax{ nullptr }; }; } diff --git a/src/UI/ScriptViews/ScriptHighlighter.hh b/src/UI/ScriptViews/ScriptHighlighter.hh index 15227bb0..655f8755 100644 --- a/src/UI/ScriptViews/ScriptHighlighter.hh +++ b/src/UI/ScriptViews/ScriptHighlighter.hh @@ -54,9 +54,9 @@ private: void resetHighlightingRule() noexcept; const HighlightingTheme darkHighlightingTheme = { - .functionForeground = Qt::blue, - .keywordForeground = Qt::darkBlue, - .valueForeground = Qt::red, + .functionForeground = Qt::darkCyan, + .keywordForeground = Qt::darkYellow, + .valueForeground = QColor(Qt::cyan).darker(120), .quotationForeground = Qt::darkGreen, .commentForeground = QColor(Qt::darkGray).darker(120), }; -- GitLab