aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorKarol Kosek <krkk@krkk.ct8.pl>2021-01-17 11:48:02 +0100
committerFelix Queißner <felix@ib-queissner.de>2021-01-17 19:38:06 +0100
commitb21759953e4488bde1cb4f1cc00f8e814f582801 (patch)
tree5699369aaa4f0334efb8abc28b078bd07a314a96 /src
parent53f5cc3453cff5d198f0514938df8af394db6ae0 (diff)
downloadkristall-b21759953e4488bde1cb4f1cc00f8e814f582801.tar.gz
Save ansi colors to configs
Diffstat (limited to 'src')
-rw-r--r--src/documentstyle.cpp14
-rw-r--r--src/documentstyle.hpp2
-rw-r--r--src/renderers/renderhelpers.cpp26
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)
{