diff options
| author | Karol Kosek <krkk@krkk.ct8.pl> | 2021-01-17 11:48:02 +0100 |
|---|---|---|
| committer | Felix Queißner <felix@ib-queissner.de> | 2021-01-17 19:38:06 +0100 |
| commit | b21759953e4488bde1cb4f1cc00f8e814f582801 (patch) | |
| tree | 5699369aaa4f0334efb8abc28b078bd07a314a96 /src | |
| parent | 53f5cc3453cff5d198f0514938df8af394db6ae0 (diff) | |
| download | kristall-b21759953e4488bde1cb4f1cc00f8e814f582801.tar.gz | |
Save ansi colors to configs
Diffstat (limited to 'src')
| -rw-r--r-- | src/documentstyle.cpp | 14 | ||||
| -rw-r--r-- | src/documentstyle.hpp | 2 | ||||
| -rw-r--r-- | src/renderers/renderhelpers.cpp | 26 |
3 files changed, 17 insertions, 25 deletions
diff --git a/src/documentstyle.cpp b/src/documentstyle.cpp index 31795d6..474f947 100644 --- a/src/documentstyle.cpp +++ b/src/documentstyle.cpp @@ -134,7 +134,11 @@ DocumentStyle::DocumentStyle(bool do_init) : theme(Fixed), cross_scheme_link_color(0x09, 0x60, 0xa7), internal_link_prefix("→ "), external_link_prefix("⇒ "), - margin(55.0) + margin(55.0), + ansi_colors({"black", "darkred", "darkgreen", "darkgoldenrod", + "darkblue", "darkmagenta", "darkcyan", "lightgray", + "gray", "red", "green", "goldenrod", + "lightblue", "magenta", "cyan", "white"}) { if (do_init) this->initialiseDefaultFonts(); } @@ -217,6 +221,8 @@ bool DocumentStyle::save(QSettings &settings) const settings.setValue("margins", margin); + settings.setValue("ansi_colors", ansi_colors); + { settings.beginGroup("Standard"); settings.setValue("font", standard_font.toString()); @@ -303,6 +309,12 @@ bool DocumentStyle::load(QSettings &settings) margin = settings.value("margins", 55).toInt(); + QStringList default_colors = {"black", "darkred", "darkgreen", "darkgoldenrod", + "darkblue", "darkmagenta", "darkcyan", "lightgray", + "gray", "red", "green", "goldenrod", + "lightblue", "magenta", "cyan", "white"}; + ansi_colors = settings.value("ansi_colors", default_colors).toStringList(); + { settings.beginGroup("Standard"); standard_font.fromString(settings.value("font", standard_font.toString()).toString()); diff --git a/src/documentstyle.hpp b/src/documentstyle.hpp index 930c3bd..cb8bd55 100644 --- a/src/documentstyle.hpp +++ b/src/documentstyle.hpp @@ -51,6 +51,8 @@ struct DocumentStyle double margin; + QStringList ansi_colors; + bool save(QSettings & settings) const; bool load(QSettings & settings); diff --git a/src/renderers/renderhelpers.cpp b/src/renderers/renderhelpers.cpp index 270fce5..8f7b580 100644 --- a/src/renderers/renderhelpers.cpp +++ b/src/renderers/renderhelpers.cpp @@ -9,6 +9,7 @@ * https://en.wikipedia.org/wiki/VT52#Escape_sequences */ #include "renderhelpers.hpp" +#include "kristall.hpp" #include <QByteArray> #include <QString> @@ -27,30 +28,7 @@ void setColor(QTextCharFormat& format, unsigned char n, bool bg=false) if (n < 16) { // The normal pre-defined typical 16 colors. - /// @TODO these should probably be configurable. - static const Qt::GlobalColor colorcodes[] = { - // The normal pre-defined typical 8 colors. - Qt::black, - Qt::darkRed, - Qt::darkGreen, - Qt::darkYellow, - Qt::darkBlue, - Qt::darkMagenta, - Qt::darkCyan, - Qt::lightGray, - - // bold/intense? versions of the normal 8 colors. - Qt::gray, - Qt::red, - Qt::green, - Qt::yellow, - Qt::blue, - Qt::magenta, - Qt::cyan, - Qt::white - }; - - color = QColor(colorcodes[n]); + color = QColor(kristall::document_style.ansi_colors[n]); } else if (n < 232) { |
