feat(color): add theme colors for quick menu (#6799)

This commit is contained in:
philmoz
2025-11-19 18:40:53 +10:00
committed by GitHub
parent 72d290f89f
commit 5160f0a752
30 changed files with 135 additions and 62 deletions
+4
View File
@@ -38,6 +38,8 @@ const uint16_t defaultColors[] = {
RGB(255, 222, 0), // ACTIVE
RGB(224, 0, 0), // WARNING
RGB(140, 140, 140), // DISABLED
RGB(0, 0, 0), // Quick Menu Background
RGB(255, 255, 255), // Quick Menu Foreground
RGB(170, 85, 0), // CUSTOM
// Fixed
RGB(0x00, 0x00, 0x00), // BLACK
@@ -76,6 +78,8 @@ uint16_t lcdColorTable[] = {
RGB(255, 222, 0), // ACTIVE
RGB(224, 0, 0), // WARNING
RGB(140, 140, 140), // DISABLED
RGB(0, 0, 0), // Quick Menu Background
RGB(255, 255, 255), // Quick Menu Foreground
RGB(170, 85, 0), // CUSTOM
// Fixed
RGB(0x00, 0x00, 0x00), // BLACK
+4
View File
@@ -40,6 +40,8 @@ enum LcdColorIndex {
COLOR_THEME_ACTIVE_INDEX,
COLOR_THEME_WARNING_INDEX,
COLOR_THEME_DISABLED_INDEX,
COLOR_THEME_QM_BG_INDEX,
COLOR_THEME_QM_FG_INDEX,
CUSTOM_COLOR_INDEX,
// Variable count
@@ -136,6 +138,8 @@ extern const uint16_t defaultColors[];
#define COLOR_THEME_ACTIVE COLOR(COLOR_THEME_ACTIVE_INDEX)
#define COLOR_THEME_WARNING COLOR(COLOR_THEME_WARNING_INDEX)
#define COLOR_THEME_DISABLED COLOR(COLOR_THEME_DISABLED_INDEX)
#define COLOR_THEME_QM_BG COLOR(COLOR_THEME_QM_BG_INDEX)
#define COLOR_THEME_QM_FG COLOR(COLOR_THEME_QM_FG_INDEX)
#define CUSTOM_COLOR COLOR(CUSTOM_COLOR_INDEX)
constexpr int MAX_SATURATION = 100;
@@ -365,7 +365,7 @@ class ThemeColorType : public ColorType
m_color = color;
auto vbox = new Window(parent, rect_t{});
vbox->setFlexLayout(LV_FLEX_FLOW_COLUMN, PAD_MEDIUM);
vbox->setFlexLayout(LV_FLEX_FLOW_COLUMN, PAD_ZERO);
makeButtonsRow(vbox, COLOR_THEME_PRIMARY1_INDEX, COLOR_THEME_PRIMARY2_INDEX,
COLOR_THEME_PRIMARY3_INDEX);
@@ -375,6 +375,8 @@ class ThemeColorType : public ColorType
COLOR_THEME_ACTIVE_INDEX);
makeButtonsRow(vbox, COLOR_THEME_WARNING_INDEX, COLOR_THEME_DISABLED_INDEX,
COLOR_THEME_DISABLED_INDEX);
makeButtonsRow(vbox, COLOR_THEME_QM_BG_INDEX, COLOR_THEME_QM_FG_INDEX,
COLOR_THEME_QM_FG_INDEX);
}
uint32_t getRGB() { return m_color; }
@@ -397,13 +399,13 @@ class ThemeColorType : public ColorType
void makeButtonsRow(Window* parent, uint16_t c1, uint16_t c2, uint16_t c3)
{
auto hbox = new Window(parent, rect_t{});
hbox->padAll(PAD_TINY);
hbox->setFlexLayout(LV_FLEX_FLOW_ROW, PAD_MEDIUM);
hbox->padAll(PAD_OUTLINE);
hbox->setFlexLayout(LV_FLEX_FLOW_ROW, PAD_OUTLINE);
lv_obj_set_flex_align(hbox->getLvObj(), LV_FLEX_ALIGN_CENTER,
LV_FLEX_ALIGN_CENTER, LV_FLEX_ALIGN_SPACE_AROUND);
makeButton(hbox, c1);
makeButton(hbox, c2);
if (c2 != c1) makeButton(hbox, c2);
if (c3 != c2) makeButton(hbox, c3);
}
@@ -217,19 +217,19 @@ const lv_style_const_prop_t disabled_props[] = {
};
LV_STYLE_CONST_MULTI_INIT(EdgeTxStyles::disabled, disabled_props);
static lv_color_t darkgrey_filter_cb(const lv_color_filter_dsc_t* f,
static lv_color_t qm_disabled_filter_cb(const lv_color_filter_dsc_t* f,
lv_color_t color, lv_opa_t opa)
{
LV_UNUSED(f);
return lv_color_mix(lv_palette_darken(LV_PALETTE_GREY, 2), color, opa);
return lv_color_mix(makeLvColor(COLOR_THEME_QM_FG_INDEX), color, opa);
}
const lv_color_filter_dsc_t darkgrey_filter = {.filter_cb = darkgrey_filter_cb,
const lv_color_filter_dsc_t qm_disabled_filter = {.filter_cb = qm_disabled_filter_cb,
.user_data = 0};
const lv_style_const_prop_t qm_disabled_props[] = {
LV_STYLE_CONST_COLOR_FILTER_DSC(&darkgrey_filter),
LV_STYLE_CONST_COLOR_FILTER_OPA(LV_OPA_90),
LV_STYLE_CONST_COLOR_FILTER_DSC(&qm_disabled_filter),
LV_STYLE_CONST_COLOR_FILTER_OPA(LV_OPA_60),
LV_STYLE_PROP_INV,
};
LV_STYLE_CONST_MULTI_INIT(EdgeTxStyles::qmdisabled, qm_disabled_props);
+37 -19
View File
@@ -26,10 +26,7 @@
#include "etx_lv_theme.h"
#include "trims.h"
#include "topbar.h"
extern inline tmr10ms_t getTicks() { return g_tmr10ms; }
#define PREVIEW_WINDOW_REFRESH_INTERVAL ((1000 / 10) * 1)
#include "quick_menu_group.h"
// class to hold a color list and apply / restore it while drawing standard
// controls
@@ -146,35 +143,56 @@ PreviewWindow::PreviewWindow(Window *window, rect_t rect,
etx_solid_bg(lvobj, COLOR_THEME_SECONDARY3_INDEX);
auto topbar = new Window(this, {0, 0, LV_PCT(100), TopBar::TOPBAR_ZONE_HEIGHT});
auto topbar = new Window(this, {0, 0, LV_PCT(100), EdgeTxStyles::MENU_HEADER_HEIGHT});
etx_solid_bg(topbar->getLvObj(), COLOR_THEME_SECONDARY1_INDEX);
new StaticIcon(topbar, ICON_X1, ICON_Y, ICON_RADIO,
COLOR_THEME_PRIMARY2_INDEX);
new StaticIcon(topbar, ICON_X2, ICON_Y, ICON_RADIO_TOOLS,
COLOR_THEME_PRIMARY2_INDEX);
new StaticIcon(topbar, ICON_X3, ICON_Y, ICON_RADIO_SETUP,
COLOR_THEME_PRIMARY2_INDEX);
new HeaderIcon(topbar, ICON_EDGETX);
new StaticText(this, {ICON_X1, CBT_Y, CBT_W, EdgeTxStyles::STD_FONT_HEIGHT}, STR_THEME_CHECKBOX);
new StaticText(this, {CBT_X, CBT_Y, CBT_W, EdgeTxStyles::STD_FONT_HEIGHT}, STR_THEME_CHECKBOX);
new ThemedCheckBox(this, {CB1_X, CB_Y, CB_W, 0}, true);
new ThemedCheckBox(this, {CB2_X, CB_Y, CB_W, 0}, false);
(new ThemedButton(this, {BTN_X, BTN1_Y, BTN_W, 0}, STR_THEME_ACTIVE, true))
->check(true);
new ThemedButton(this, {BTN_X, BTN2_Y, BTN_W, 0}, STR_THEME_REGULAR, false);
new MainViewTrim(this, {ICON_X1, TRIM_Y, MainViewSlider::HORIZONTAL_SLIDERS_WIDTH, EdgeTxStyles::STD_FONT_HEIGHT}, 0, false);
new MainViewSlider(this, {ICON_X1, SLIDER_Y, MainViewSlider::HORIZONTAL_SLIDERS_WIDTH, EdgeTxStyles::STD_FONT_HEIGHT}, 0, false);
new StaticText(this, {ICON_X1, TXT1_Y, TXT_W, EdgeTxStyles::STD_FONT_HEIGHT}, STR_THEME_WARNING,
new MainViewTrim(this, {CBT_X, TRIM_Y, MainViewSlider::HORIZONTAL_SLIDERS_WIDTH, EdgeTxStyles::STD_FONT_HEIGHT}, 0, false);
new MainViewSlider(this, {CBT_X, SLIDER_Y, MainViewSlider::HORIZONTAL_SLIDERS_WIDTH, EdgeTxStyles::STD_FONT_HEIGHT}, 0, false);
new StaticText(this, {CBT_X, TXT1_Y, TXT_W, EdgeTxStyles::STD_FONT_HEIGHT}, STR_THEME_WARNING,
COLOR_THEME_WARNING_INDEX);
new StaticText(this, {ICON_X1, TXT2_Y, TXT_W, EdgeTxStyles::STD_FONT_HEIGHT}, STR_THEME_DISABLED,
new StaticText(this, {CBT_X, TXT2_Y, TXT_W, EdgeTxStyles::STD_FONT_HEIGHT}, STR_THEME_DISABLED,
COLOR_THEME_DISABLED_INDEX);
new ThemedTextEdit(this, {ICON_X1, EDT_Y, TXT_W, 0}, STR_THEME_EDIT, true);
new ThemedTextEdit(this, {EDT2_X, EDT_Y, TXT_W, 0}, STR_THEME_FOCUS, false);
ticks = 0;
new ThemedTextEdit(this, {CBT_X, EDT_Y, EDY_W, 0}, STR_THEME_EDIT, true);
new ThemedTextEdit(this, {EDT2_X, EDT_Y, EDY_W, 0}, STR_THEME_FOCUS, false);
new HeaderDateTime(this, width() - DATE_XO, PAD_SMALL);
auto qm = new Window(this, {QM_X, QM_Y, QM_W, QM_H});
etx_solid_bg(qm->getLvObj(), COLOR_THEME_QM_BG_INDEX);
etx_obj_add_style(qm->getLvObj(), styles->bg_opacity_90, LV_PART_MAIN);
auto sep = lv_obj_create(qm->getLvObj());
etx_solid_bg(sep, COLOR_THEME_QM_FG_INDEX);
lv_obj_set_size(sep, LCD_W, PAD_THREE);
auto mask = getBuiltinIcon(ICON_TOP_LOGO);
new StaticIcon(qm, (QM_W - mask->width) / 2, 0, ICON_TOP_LOGO, COLOR_THEME_QM_FG_INDEX);
auto qmb = new Window(qm, {PAD_SMALL, mask->height + PAD_SMALL, QuickMenuGroup::QM_BUTTON_WIDTH, QuickMenuGroup::QM_BUTTON_HEIGHT});
etx_obj_add_style(qmb->getLvObj(), styles->rounded, LV_PART_MAIN);
etx_txt_color(qmb->getLvObj(), COLOR_THEME_QM_FG_INDEX, LV_PART_MAIN);
etx_solid_bg(qmb->getLvObj(), COLOR_THEME_QM_BG_INDEX, LV_PART_MAIN);
auto iconPtr = new StaticIcon(qmb, (QuickMenuGroup::QM_BUTTON_WIDTH - QuickMenuGroup::QM_ICON_SIZE) / 2, PAD_SMALL,
ICON_MODEL_SELECT, COLOR_THEME_QM_FG_INDEX);
auto textPtr = new StaticText(qmb, {0, QuickMenuGroup::QM_ICON_SIZE + PAD_TINY * 2, QuickMenuGroup::QM_BUTTON_WIDTH - 1, 0},
STR_QM_MANAGE_MODELS, COLOR_THEME_QM_FG_INDEX, CENTERED | FONT(XS));
qmb = new Window(qm, {QuickMenuGroup::QM_BUTTON_WIDTH + PAD_SMALL * 2, mask->height + PAD_SMALL, QuickMenuGroup::QM_BUTTON_WIDTH, QuickMenuGroup::QM_BUTTON_HEIGHT});
etx_obj_add_style(qmb->getLvObj(), styles->rounded, LV_PART_MAIN);
etx_txt_color(qmb->getLvObj(), COLOR_THEME_QM_BG_INDEX, LV_PART_MAIN);
etx_solid_bg(qmb->getLvObj(), COLOR_THEME_QM_FG_INDEX, LV_PART_MAIN);
iconPtr = new StaticIcon(qmb, (QuickMenuGroup::QM_BUTTON_WIDTH - QuickMenuGroup::QM_ICON_SIZE) / 2, PAD_SMALL,
ICON_MODEL, COLOR_THEME_QM_BG_INDEX);
textPtr = new StaticText(qmb, {0, QuickMenuGroup::QM_ICON_SIZE + PAD_TINY * 2, QuickMenuGroup::QM_BUTTON_WIDTH - 1, 0},
STR_QM_MODEL_SETUP, COLOR_THEME_QM_BG_INDEX, CENTERED | FONT(XS));
lv_group_set_default(def_group);
colorMaintainer.restoreColorValues();
+16 -17
View File
@@ -34,29 +34,28 @@ class PreviewWindow : public Window
void setColorList(std::vector<ColorEntry> colorList);
static LAYOUT_VAL_SCALED(ICON_X1, 5)
static LAYOUT_VAL_SCALED(ICON_X2, 38)
static LAYOUT_VAL_SCALED(ICON_X3, 71)
static LAYOUT_VAL_SCALED(ICON_Y, 5)
static LAYOUT_VAL_SCALED(DATE_XO, 46)
static LAYOUT_VAL_SCALED(CBT_Y, 44)
static LAYOUT_VAL_SCALED(CBT_X, 5)
static LAYOUT_VAL_SCALED(CBT_Y, 54)
static LAYOUT_VAL_SCALED(CBT_W, 100)
static LAYOUT_VAL_SCALED(CB1_X, 100)
static LAYOUT_VAL_SCALED(CB2_X, 154)
static LAYOUT_VAL_SCALED(CB_Y, 40)
static LAYOUT_VAL_SCALED(CB_Y, 50)
static LAYOUT_VAL_SCALED(CB_W, 50)
static LAYOUT_VAL_SCALED(BTN_X, 210)
static LAYOUT_VAL_SCALED(BTN1_Y, 40)
static LAYOUT_VAL_SCALED(BTN2_Y, 79)
static LAYOUT_VAL_SCALED(BTN1_Y, 48)
static LAYOUT_VAL_SCALED(BTN2_Y, 82)
static LAYOUT_VAL_SCALED(BTN_W, 100)
static LAYOUT_VAL_SCALED(TRIM_Y, 79)
static LAYOUT_VAL_SCALED(SLIDER_Y, 101)
static LAYOUT_VAL_SCALED(TXT1_Y, 122)
static LAYOUT_VAL_SCALED(TXT2_Y, 144)
static LAYOUT_VAL_SCALED(TRIM_Y, 89)
static LAYOUT_VAL_SCALED(SLIDER_Y, 111)
static LAYOUT_VAL_SCALED(TXT1_Y, 132)
static LAYOUT_VAL_SCALED(TXT2_Y, 154)
static LAYOUT_VAL_SCALED(TXT_W, 100)
static LAYOUT_VAL_SCALED(EDT2_X, 114)
static LAYOUT_VAL_SCALED(EDT_Y, 170)
protected:
tmr10ms_t ticks;
static LAYOUT_VAL_SCALED(EDT2_X, 94)
static LAYOUT_VAL_SCALED(EDT_Y, 180)
static LAYOUT_VAL_SCALED(EDY_W, 80)
static LAYOUT_VAL_SCALED(QM_X, 180)
static LAYOUT_VAL_SCALED(QM_Y, 117)
static LAYOUT_VAL_SCALED(QM_W, 140)
static LAYOUT_VAL_SCALED(QM_H, 104)
};
@@ -226,14 +226,14 @@ QuickMenu::QuickMenu() :
setWindowFlag(OPAQUE);
etx_obj_add_style(lvobj, styles->bg_opacity_90, LV_PART_MAIN);
etx_bg_color(lvobj, COLOR_BLACK_INDEX);
etx_bg_color(lvobj, COLOR_THEME_QM_BG_INDEX);
auto sep = lv_obj_create(lvobj);
etx_solid_bg(sep, COLOR_WHITE_INDEX);
etx_solid_bg(sep, COLOR_THEME_QM_FG_INDEX);
lv_obj_set_size(sep, LCD_W, PAD_THREE);
auto mask = getBuiltinIcon(ICON_TOP_LOGO);
new StaticIcon(this, (LCD_W - mask->width) / 2, 0, ICON_TOP_LOGO, COLOR_WHITE_INDEX);
new StaticIcon(this, (LCD_W - mask->width) / 2, 0, ICON_TOP_LOGO, COLOR_THEME_QM_FG_INDEX);
new ButtonBase(
this, {0, 0, LCD_W, EdgeTxStyles::UI_ELEMENT_HEIGHT},
@@ -29,11 +29,11 @@ static void etx_quick_button_constructor(const lv_obj_class_t* class_p,
lv_obj_t* obj)
{
etx_obj_add_style(obj, styles->rounded, LV_PART_MAIN);
etx_txt_color(obj, COLOR_WHITE_INDEX, LV_PART_MAIN);
etx_obj_add_style(obj, styles->pad_medium, LV_PART_MAIN);
etx_solid_bg(obj, COLOR_BLACK_INDEX, LV_PART_MAIN);
etx_txt_color(obj, COLOR_THEME_QM_FG_INDEX, LV_PART_MAIN);
etx_obj_add_style(obj, styles->pad_zero, LV_PART_MAIN);
etx_solid_bg(obj, COLOR_THEME_QM_BG_INDEX, LV_PART_MAIN);
etx_solid_bg(obj, COLOR_WHITE_INDEX, LV_PART_MAIN | LV_STATE_FOCUSED);
etx_solid_bg(obj, COLOR_THEME_QM_FG_INDEX, LV_PART_MAIN | LV_STATE_FOCUSED);
}
static const lv_obj_class_t etx_quick_button_class = {
@@ -63,16 +63,14 @@ class QuickMenuButton : public ButtonBase
ButtonBase(parent, {}, pressHandler, etx_quick_button_create),
visibleHandler(std::move(visibleHandler))
{
padAll(PAD_ZERO);
iconPtr = new StaticIcon(this, (QuickMenuGroup::QM_BUTTON_WIDTH - QuickMenuGroup::QM_ICON_SIZE) / 2, PAD_SMALL, icon, COLOR_WHITE_INDEX);
iconPtr = new StaticIcon(this, (QuickMenuGroup::QM_BUTTON_WIDTH - QuickMenuGroup::QM_ICON_SIZE) / 2, PAD_SMALL, icon, COLOR_THEME_QM_FG_INDEX);
etx_obj_add_style(iconPtr->getLvObj(), styles->qmdisabled, LV_PART_MAIN | LV_STATE_DISABLED);
etx_img_color(iconPtr->getLvObj(), COLOR_BLACK_INDEX, LV_STATE_USER_1);
etx_img_color(iconPtr->getLvObj(), COLOR_THEME_QM_BG_INDEX, LV_STATE_USER_1);
textPtr = new StaticText(this, {0, QuickMenuGroup::QM_ICON_SIZE + PAD_TINY * 2, QuickMenuGroup::QM_BUTTON_WIDTH - 1, 0},
title, COLOR_WHITE_INDEX, CENTERED | FONT(XS));
title, COLOR_THEME_QM_FG_INDEX, CENTERED | FONT(XS));
etx_obj_add_style(textPtr->getLvObj(), styles->qmdisabled, LV_PART_MAIN | LV_STATE_DISABLED);
etx_txt_color(textPtr->getLvObj(), COLOR_BLACK_INDEX, LV_STATE_USER_1);
etx_txt_color(textPtr->getLvObj(), COLOR_THEME_QM_BG_INDEX, LV_STATE_USER_1);
lv_obj_add_event_cb(lvobj, QuickMenuButton::focused_cb, LV_EVENT_FOCUSED, nullptr);
lv_obj_add_event_cb(lvobj, QuickMenuButton::defocused_cb, LV_EVENT_DEFOCUSED, nullptr);
@@ -104,6 +104,8 @@ static const struct YamlNode struct_YAMLThemeColors[] = {
YAML_UNSIGNED_CUST("ACTIVE", 32, r_color, w_color),
YAML_UNSIGNED_CUST("WARNING", 32, r_color, w_color),
YAML_UNSIGNED_CUST("DISABLED", 32, r_color, w_color),
YAML_UNSIGNED_CUST("QM_BG", 32, r_color, w_color),
YAML_UNSIGNED_CUST("QM_FG", 32, r_color, w_color),
YAML_END};
// This hack is required to ensure the YAML file written is backward compatible
@@ -131,7 +133,8 @@ static const char* const colorNames[THEME_COLOR_COUNT] = {
STR_THEME_COLOR_SECONDARY2, STR_THEME_COLOR_SECONDARY3,
STR_THEME_COLOR_FOCUS, STR_THEME_COLOR_EDIT,
STR_THEME_COLOR_ACTIVE, STR_THEME_COLOR_WARNING,
STR_THEME_COLOR_DISABLED, STR_THEME_COLOR_CUSTOM,
STR_THEME_COLOR_DISABLED, STR_THEME_COLOR_QM_BG,
STR_THEME_COLOR_QM_FG, STR_THEME_COLOR_CUSTOM,
};
ThemeFile::ThemeFile(std::string themePath, bool loadYAML) : path(themePath)
@@ -201,6 +204,10 @@ void ThemeFile::deSerialize()
struct YAMLTheme yt;
struct YamlNode themeRootNode = YAML_ROOT(r_struct_YAMLTheme);
// initialize the color table to defaults (in case of missing entries)
for (uint8_t i = COLOR_THEME_PRIMARY1_INDEX; i < THEME_COLOR_COUNT - 1; i += 1)
yt.colors.colors[i] = defaultColors[i];
YamlTreeWalker tree;
tree.reset(&themeRootNode, (uint8_t*)&yt);
auto err = readYamlFile(path.c_str(), YamlTreeWalker::get_parser_calls(),
@@ -475,9 +482,8 @@ class DefaultEdgeTxTheme : public ThemeFile
setAuthor("EdgeTX Team");
setInfo("Default EdgeTX Color Scheme");
// initializze the default color table
for (uint8_t i = COLOR_THEME_PRIMARY1_INDEX;
i <= COLOR_THEME_DISABLED_INDEX; i += 1)
// initialize the default color table
for (uint8_t i = COLOR_THEME_PRIMARY1_INDEX; i < THEME_COLOR_COUNT - 1; i += 1)
colorList.emplace_back(ColorEntry{(LcdColorIndex)i, defaultColors[i]});
}
};
+2
View File
@@ -1260,6 +1260,8 @@
#define TR_THEME_COLOR_ACTIVE "激活"
#define TR_THEME_COLOR_WARNING "警告"
#define TR_THEME_COLOR_DISABLED "禁用"
#define TR_THEME_COLOR_QM_BG "Quick Menu BG"
#define TR_THEME_COLOR_QM_FG "Quick Menu FG"
#define TR_THEME_COLOR_CUSTOM "自定义"
#define TR_THEME_CHECKBOX "复选框"
#define TR_THEME_ACTIVE "激活"
+2
View File
@@ -1264,6 +1264,8 @@
#define TR_THEME_COLOR_ACTIVE "AKTIVNÍ"
#define TR_THEME_COLOR_WARNING "VAROVÁNÍ"
#define TR_THEME_COLOR_DISABLED "VYPNUTÉ"
#define TR_THEME_COLOR_QM_BG "Quick Menu BG"
#define TR_THEME_COLOR_QM_FG "Quick Menu FG"
#define TR_THEME_COLOR_CUSTOM "VLASTNÍ"
#define TR_THEME_CHECKBOX "Pole výběru"
#define TR_THEME_ACTIVE "Aktivní"
+2
View File
@@ -1274,6 +1274,8 @@
#define TR_THEME_COLOR_ACTIVE "AKTIV"
#define TR_THEME_COLOR_WARNING "ADVARSEL"
#define TR_THEME_COLOR_DISABLED "DEAKTIV"
#define TR_THEME_COLOR_QM_BG "Quick Menu BG"
#define TR_THEME_COLOR_QM_FG "Quick Menu FG"
#define TR_THEME_COLOR_CUSTOM "BRUGER STYRET"
#define TR_THEME_CHECKBOX "Checkbox"
#define TR_THEME_ACTIVE "Aktiv"
+2
View File
@@ -1263,6 +1263,8 @@
#define TR_THEME_COLOR_ACTIVE "Aktiv"
#define TR_THEME_COLOR_WARNING "Warnung"
#define TR_THEME_COLOR_DISABLED "Deaktiviert"
#define TR_THEME_COLOR_QM_BG "Quick Menu BG"
#define TR_THEME_COLOR_QM_FG "Quick Menu FG"
#define TR_THEME_COLOR_CUSTOM "Eigene"
#define TR_THEME_CHECKBOX "Schalter"
#define TR_THEME_ACTIVE "Aktiv"
+2
View File
@@ -1261,6 +1261,8 @@
#define TR_THEME_COLOR_ACTIVE "ACTIVE"
#define TR_THEME_COLOR_WARNING "WARNING"
#define TR_THEME_COLOR_DISABLED "DISABLED"
#define TR_THEME_COLOR_QM_BG "Quick Menu BG"
#define TR_THEME_COLOR_QM_FG "Quick Menu FG"
#define TR_THEME_COLOR_CUSTOM "CUSTOM"
#define TR_THEME_CHECKBOX "Checkbox"
#define TR_THEME_ACTIVE "Active"
+2
View File
@@ -1264,6 +1264,8 @@
#define TR_THEME_COLOR_ACTIVE "ACTIVE"
#define TR_THEME_COLOR_WARNING "WARNING"
#define TR_THEME_COLOR_DISABLED "DISABLED"
#define TR_THEME_COLOR_QM_BG "Quick Menu BG"
#define TR_THEME_COLOR_QM_FG "Quick Menu FG"
#define TR_THEME_COLOR_CUSTOM "CUSTOM"
#define TR_THEME_CHECKBOX "Checkbox"
#define TR_THEME_ACTIVE "Active"
+2
View File
@@ -1266,6 +1266,8 @@
#define TR_THEME_COLOR_ACTIVE "ACTIVE"
#define TR_THEME_COLOR_WARNING "WARNING"
#define TR_THEME_COLOR_DISABLED "DISABLED"
#define TR_THEME_COLOR_QM_BG "Quick Menu BG"
#define TR_THEME_COLOR_QM_FG "Quick Menu FG"
#define TR_THEME_COLOR_CUSTOM "CUSTOM"
#define TR_THEME_CHECKBOX "Checkbox"
#define TR_THEME_ACTIVE "Active"
+2
View File
@@ -1269,6 +1269,8 @@
#define TR_THEME_COLOR_ACTIVE "ACTIF"
#define TR_THEME_COLOR_WARNING "ATTENTION"
#define TR_THEME_COLOR_DISABLED "DESACTIVE"
#define TR_THEME_COLOR_QM_BG "Quick Menu BG"
#define TR_THEME_COLOR_QM_FG "Quick Menu FG"
#define TR_THEME_COLOR_CUSTOM "PERSO"
#define TR_THEME_CHECKBOX "Case à cocher"
#define TR_THEME_ACTIVE "Actif"
+2
View File
@@ -1263,6 +1263,8 @@
#define TR_THEME_COLOR_ACTIVE "פעיל"
#define TR_THEME_COLOR_WARNING "אזהרה"
#define TR_THEME_COLOR_DISABLED "לא פעיל"
#define TR_THEME_COLOR_QM_BG "Quick Menu BG"
#define TR_THEME_COLOR_QM_FG "Quick Menu FG"
#define TR_THEME_COLOR_CUSTOM "מתקדם"
#define TR_THEME_CHECKBOX "Checkbox"
#define TR_THEME_ACTIVE "פעיל"
+2
View File
@@ -1260,6 +1260,8 @@
#define TR_THEME_COLOR_ACTIVE "ATTIVO"
#define TR_THEME_COLOR_WARNING "ATTENZIONE"
#define TR_THEME_COLOR_DISABLED "DISABILITATO"
#define TR_THEME_COLOR_QM_BG "Quick Menu BG"
#define TR_THEME_COLOR_QM_FG "Quick Menu FG"
#define TR_THEME_COLOR_CUSTOM "PERSONALE"
#define TR_THEME_CHECKBOX "Casella di spunta"
#define TR_THEME_ACTIVE "Attivo"
+2
View File
@@ -1259,6 +1259,8 @@
#define TR_THEME_COLOR_ACTIVE "有効"
#define TR_THEME_COLOR_WARNING "警告"
#define TR_THEME_COLOR_DISABLED "無効"
#define TR_THEME_COLOR_QM_BG "Quick Menu BG"
#define TR_THEME_COLOR_QM_FG "Quick Menu FG"
#define TR_THEME_COLOR_CUSTOM "カスタム"
#define TR_THEME_CHECKBOX "チェック"
#define TR_THEME_ACTIVE "有効"
+2
View File
@@ -1305,6 +1305,8 @@
#define TR_THEME_COLOR_ACTIVE "활성 항목"
#define TR_THEME_COLOR_WARNING "경고"
#define TR_THEME_COLOR_DISABLED "비활성"
#define TR_THEME_COLOR_QM_BG "Quick Menu BG"
#define TR_THEME_COLOR_QM_FG "Quick Menu FG"
#define TR_THEME_COLOR_CUSTOM "사용자 정의"
#define TR_THEME_CHECKBOX "체크박스"
#define TR_THEME_ACTIVE "활성"
+2
View File
@@ -1265,6 +1265,8 @@
#define TR_THEME_COLOR_ACTIVE "ACTIVE"
#define TR_THEME_COLOR_WARNING "WARNING"
#define TR_THEME_COLOR_DISABLED "DISABLED"
#define TR_THEME_COLOR_QM_BG "Quick Menu BG"
#define TR_THEME_COLOR_QM_FG "Quick Menu FG"
#define TR_THEME_COLOR_CUSTOM "CUSTOM"
#define TR_THEME_CHECKBOX "Checkbox"
#define TR_THEME_ACTIVE "Active"
+2
View File
@@ -1260,6 +1260,8 @@
#define TR_THEME_COLOR_ACTIVE "AKTYWNY"
#define TR_THEME_COLOR_WARNING "OSTRZEŻENIE"
#define TR_THEME_COLOR_DISABLED "WYŁĄCZONY"
#define TR_THEME_COLOR_QM_BG "Quick Menu BG"
#define TR_THEME_COLOR_QM_FG "Quick Menu FG"
#define TR_THEME_COLOR_CUSTOM "WŁASNY"
#define TR_THEME_CHECKBOX "Pole wyboru"
#define TR_THEME_ACTIVE "Aktywny"
+2
View File
@@ -1261,6 +1261,8 @@
#define TR_THEME_COLOR_ACTIVE "ACTIVE"
#define TR_THEME_COLOR_WARNING "WARNING"
#define TR_THEME_COLOR_DISABLED "DISABLED"
#define TR_THEME_COLOR_QM_BG "Quick Menu BG"
#define TR_THEME_COLOR_QM_FG "Quick Menu FG"
#define TR_THEME_COLOR_CUSTOM "CUSTOM"
#define TR_THEME_CHECKBOX "Checkbox"
#define TR_THEME_ACTIVE "Active"
+2
View File
@@ -1262,6 +1262,8 @@
#define TR_THEME_COLOR_ACTIVE "АКТИВНАЯ"
#define TR_THEME_COLOR_WARNING "ПРЕД-НИЕ"
#define TR_THEME_COLOR_DISABLED "ОТКЛ-НАЯ"
#define TR_THEME_COLOR_QM_BG "Quick Menu BG"
#define TR_THEME_COLOR_QM_FG "Quick Menu FG"
#define TR_THEME_COLOR_CUSTOM "ПОЛ-КАЯ"
#define TR_THEME_CHECKBOX "Checkbox"
#define TR_THEME_ACTIVE "АКТИВНАЯ"
+2
View File
@@ -1277,6 +1277,8 @@
#define TR_THEME_COLOR_ACTIVE "AKTIV"
#define TR_THEME_COLOR_WARNING "VARNING"
#define TR_THEME_COLOR_DISABLED "INAKTIV"
#define TR_THEME_COLOR_QM_BG "Quick Menu BG"
#define TR_THEME_COLOR_QM_FG "Quick Menu FG"
#define TR_THEME_COLOR_CUSTOM "ANPASSAD"
#define TR_THEME_CHECKBOX "Kryssruta"
#define TR_THEME_ACTIVE "Aktiv"
+2
View File
@@ -1258,6 +1258,8 @@
#define TR_THEME_COLOR_ACTIVE "激活"
#define TR_THEME_COLOR_WARNING "警告"
#define TR_THEME_COLOR_DISABLED "禁用"
#define TR_THEME_COLOR_QM_BG "Quick Menu BG"
#define TR_THEME_COLOR_QM_FG "Quick Menu FG"
#define TR_THEME_COLOR_CUSTOM "自定義"
#define TR_THEME_CHECKBOX "復選框"
#define TR_THEME_ACTIVE "激活"
+2
View File
@@ -1261,6 +1261,8 @@
#define TR_THEME_COLOR_ACTIVE "АКТИВНИЙ"
#define TR_THEME_COLOR_WARNING "WARNING"
#define TR_THEME_COLOR_DISABLED "ДЕАКТИВОВАНИЙ"
#define TR_THEME_COLOR_QM_BG "Quick Menu BG"
#define TR_THEME_COLOR_QM_FG "Quick Menu FG"
#define TR_THEME_COLOR_CUSTOM "КОРИСТУВАЦЬКИЙ"
#define TR_THEME_CHECKBOX "Checkbox"
#define TR_THEME_ACTIVE "Активний"
+2
View File
@@ -157,6 +157,8 @@
#define STR_THEME_COLOR_SECONDARY2 currentLangStrings->STR_THEME_COLOR_SECONDARY2
#define STR_THEME_COLOR_SECONDARY3 currentLangStrings->STR_THEME_COLOR_SECONDARY3
#define STR_THEME_COLOR_WARNING currentLangStrings->STR_THEME_COLOR_WARNING
#define STR_THEME_COLOR_QM_BG currentLangStrings->STR_THEME_COLOR_QM_BG
#define STR_THEME_COLOR_QM_FG currentLangStrings->STR_THEME_COLOR_QM_FG
#define STR_THEME_DISABLED currentLangStrings->STR_THEME_DISABLED
#define STR_THEME_EDIT currentLangStrings->STR_THEME_EDIT
#define STR_THEME_EXISTS currentLangStrings->STR_THEME_EXISTS
+2
View File
@@ -156,6 +156,8 @@ STR(THEME_COLOR_SECONDARY1)
STR(THEME_COLOR_SECONDARY2)
STR(THEME_COLOR_SECONDARY3)
STR(THEME_COLOR_WARNING)
STR(THEME_COLOR_QM_BG)
STR(THEME_COLOR_QM_FG)
STR(THEME_DISABLED)
STR(THEME_EDIT)
STR(THEME_EXISTS)