Skip to content

Commit

Permalink
Implement ui_options for setting color palette
Browse files Browse the repository at this point in the history
  • Loading branch information
falbru committed May 20, 2024
1 parent 4cbda56 commit 3be263f
Showing 1 changed file with 27 additions and 0 deletions.
27 changes: 27 additions & 0 deletions src/kakounewidget.cpp
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
#include "kakounewidget.hpp"
#include "colorpalette.hpp"
#include "rpc/color.hpp"
#include "statusbar.hpp"

KakouneWidget::KakouneWidget(const QString &session_id, DrawOptions *draw_options, QWidget *parent)
Expand Down Expand Up @@ -89,6 +91,31 @@ void KakouneWidget::setUIOptions(QMap<QString, QString> options)

m_draw_options->setFont(font_name, font_size);
}
else if (option.key().length() > 13 && option.key().mid(0, 13) == "gui_set_color") {
auto setColor = [&](auto setColorFunc) {
ColorPalette new_color_palette = m_draw_options->getColorPalette();
(new_color_palette.*setColorFunc)(RPC::Color(option.value()).toQColor(m_draw_options->getColorPalette()));
m_draw_options->setColorPalette(new_color_palette);
};

if (option.key() == "gui_set_color_gray") {
setColor(&ColorPalette::setGray);
} else if (option.key() == "gui_set_color_red") {
setColor(&ColorPalette::setRed);
} else if (option.key() == "gui_set_color_green") {
setColor(&ColorPalette::setGreen);
} else if (option.key() == "gui_set_color_yellow") {
setColor(&ColorPalette::setYellow);
} else if (option.key() == "gui_set_color_blue") {
setColor(&ColorPalette::setBlue);
} else if (option.key() == "gui_set_color_magenta") {
setColor(&ColorPalette::setMagenta);
} else if (option.key() == "gui_set_color_cyan") {
setColor(&ColorPalette::setCyan);
} else if (option.key() == "gui_set_color_white") {
setColor(&ColorPalette::setWhite);
}
}
else
{
qDebug() << "Unknown ui option: " << option.key();
Expand Down

0 comments on commit 3be263f

Please sign in to comment.