feat(settings): surface the console color toggles as checkboxes
Add "Color accents" and "Text colors" checkboxes under the effects section (both layout variants) so the console output display prefs are discoverable outside the console toolbar. They mirror the toolbar buttons — bound live to the ConsoleTab statics and written through to settings on change. Unlike scanline/theme-effects they carry no GPU cost, so a small helper closes the effects row's BeginDisabled(low_spec), draws them on their own always- enabled row, and reopens it for the acrylic sliders (net-balanced). Adds console_accents / console_text_colors labels + 8 translations; the tooltips reuse the existing toggle keys. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -180,6 +180,7 @@
|
|||||||
"connected_peers": "Verbundene Peers",
|
"connected_peers": "Verbundene Peers",
|
||||||
"connecting": "Verbinde...",
|
"connecting": "Verbinde...",
|
||||||
"console": "Konsole",
|
"console": "Konsole",
|
||||||
|
"console_accents": "Farbakzente",
|
||||||
"console_app": "App",
|
"console_app": "App",
|
||||||
"console_auto_scroll": "Automatisch scrollen",
|
"console_auto_scroll": "Automatisch scrollen",
|
||||||
"console_available_commands": "Verfügbare Befehle:",
|
"console_available_commands": "Verfügbare Befehle:",
|
||||||
@@ -240,6 +241,7 @@
|
|||||||
"console_status_stopping": "Stoppt",
|
"console_status_stopping": "Stoppt",
|
||||||
"console_status_unknown": "Unbekannt",
|
"console_status_unknown": "Unbekannt",
|
||||||
"console_tab_completion": "Tab zur Vervollständigung",
|
"console_tab_completion": "Tab zur Vervollständigung",
|
||||||
|
"console_text_colors": "Textfarben",
|
||||||
"console_toggle_accents": "Farbakzente der Zeilen umschalten",
|
"console_toggle_accents": "Farbakzente der Zeilen umschalten",
|
||||||
"console_toggle_text_color": "Textfarben der Zeilen umschalten",
|
"console_toggle_text_color": "Textfarben der Zeilen umschalten",
|
||||||
"console_type_help": "Geben Sie 'help' ein für verfügbare Befehle",
|
"console_type_help": "Geben Sie 'help' ein für verfügbare Befehle",
|
||||||
|
|||||||
@@ -180,6 +180,7 @@
|
|||||||
"connected_peers": "Nodos Conectados",
|
"connected_peers": "Nodos Conectados",
|
||||||
"connecting": "Conectando...",
|
"connecting": "Conectando...",
|
||||||
"console": "Consola",
|
"console": "Consola",
|
||||||
|
"console_accents": "Acentos de color",
|
||||||
"console_app": "App",
|
"console_app": "App",
|
||||||
"console_auto_scroll": "Auto-desplazamiento",
|
"console_auto_scroll": "Auto-desplazamiento",
|
||||||
"console_available_commands": "Comandos disponibles:",
|
"console_available_commands": "Comandos disponibles:",
|
||||||
@@ -240,6 +241,7 @@
|
|||||||
"console_status_stopping": "Deteniendo",
|
"console_status_stopping": "Deteniendo",
|
||||||
"console_status_unknown": "Desconocido",
|
"console_status_unknown": "Desconocido",
|
||||||
"console_tab_completion": "Tab para completar",
|
"console_tab_completion": "Tab para completar",
|
||||||
|
"console_text_colors": "Colores de texto",
|
||||||
"console_toggle_accents": "Alternar acentos de color de línea",
|
"console_toggle_accents": "Alternar acentos de color de línea",
|
||||||
"console_toggle_text_color": "Alternar colores de texto de línea",
|
"console_toggle_text_color": "Alternar colores de texto de línea",
|
||||||
"console_type_help": "Escribe 'help' para ver los comandos disponibles",
|
"console_type_help": "Escribe 'help' para ver los comandos disponibles",
|
||||||
|
|||||||
@@ -180,6 +180,7 @@
|
|||||||
"connected_peers": "Pairs connectés",
|
"connected_peers": "Pairs connectés",
|
||||||
"connecting": "Connexion...",
|
"connecting": "Connexion...",
|
||||||
"console": "Console",
|
"console": "Console",
|
||||||
|
"console_accents": "Accents de couleur",
|
||||||
"console_app": "App",
|
"console_app": "App",
|
||||||
"console_auto_scroll": "Défilement auto",
|
"console_auto_scroll": "Défilement auto",
|
||||||
"console_available_commands": "Commandes disponibles :",
|
"console_available_commands": "Commandes disponibles :",
|
||||||
@@ -240,6 +241,7 @@
|
|||||||
"console_status_stopping": "Arrêt",
|
"console_status_stopping": "Arrêt",
|
||||||
"console_status_unknown": "Inconnu",
|
"console_status_unknown": "Inconnu",
|
||||||
"console_tab_completion": "Tab pour compléter",
|
"console_tab_completion": "Tab pour compléter",
|
||||||
|
"console_text_colors": "Couleurs du texte",
|
||||||
"console_toggle_accents": "Basculer les accents de couleur des lignes",
|
"console_toggle_accents": "Basculer les accents de couleur des lignes",
|
||||||
"console_toggle_text_color": "Basculer les couleurs du texte des lignes",
|
"console_toggle_text_color": "Basculer les couleurs du texte des lignes",
|
||||||
"console_type_help": "Tapez 'help' pour les commandes disponibles",
|
"console_type_help": "Tapez 'help' pour les commandes disponibles",
|
||||||
|
|||||||
@@ -180,6 +180,7 @@
|
|||||||
"connected_peers": "接続中のピア",
|
"connected_peers": "接続中のピア",
|
||||||
"connecting": "接続中...",
|
"connecting": "接続中...",
|
||||||
"console": "コンソール",
|
"console": "コンソール",
|
||||||
|
"console_accents": "カラーアクセント",
|
||||||
"console_app": "アプリ",
|
"console_app": "アプリ",
|
||||||
"console_auto_scroll": "自動スクロール",
|
"console_auto_scroll": "自動スクロール",
|
||||||
"console_available_commands": "利用可能なコマンド:",
|
"console_available_commands": "利用可能なコマンド:",
|
||||||
@@ -240,6 +241,7 @@
|
|||||||
"console_status_stopping": "停止中",
|
"console_status_stopping": "停止中",
|
||||||
"console_status_unknown": "不明",
|
"console_status_unknown": "不明",
|
||||||
"console_tab_completion": "Tabで補完",
|
"console_tab_completion": "Tabで補完",
|
||||||
|
"console_text_colors": "テキスト色",
|
||||||
"console_toggle_accents": "行のカラーアクセントを切り替え",
|
"console_toggle_accents": "行のカラーアクセントを切り替え",
|
||||||
"console_toggle_text_color": "行のテキスト色を切り替え",
|
"console_toggle_text_color": "行のテキスト色を切り替え",
|
||||||
"console_type_help": "'help'と入力して利用可能なコマンドを表示",
|
"console_type_help": "'help'と入力して利用可能なコマンドを表示",
|
||||||
|
|||||||
@@ -180,6 +180,7 @@
|
|||||||
"connected_peers": "연결된 피어",
|
"connected_peers": "연결된 피어",
|
||||||
"connecting": "연결 중...",
|
"connecting": "연결 중...",
|
||||||
"console": "콘솔",
|
"console": "콘솔",
|
||||||
|
"console_accents": "색상 강조",
|
||||||
"console_app": "앱",
|
"console_app": "앱",
|
||||||
"console_auto_scroll": "자동 스크롤",
|
"console_auto_scroll": "자동 스크롤",
|
||||||
"console_available_commands": "사용 가능한 명령어:",
|
"console_available_commands": "사용 가능한 명령어:",
|
||||||
@@ -240,6 +241,7 @@
|
|||||||
"console_status_stopping": "중지 중",
|
"console_status_stopping": "중지 중",
|
||||||
"console_status_unknown": "알 수 없음",
|
"console_status_unknown": "알 수 없음",
|
||||||
"console_tab_completion": "Tab으로 자동 완성",
|
"console_tab_completion": "Tab으로 자동 완성",
|
||||||
|
"console_text_colors": "텍스트 색상",
|
||||||
"console_toggle_accents": "줄 색상 강조 전환",
|
"console_toggle_accents": "줄 색상 강조 전환",
|
||||||
"console_toggle_text_color": "줄 텍스트 색상 전환",
|
"console_toggle_text_color": "줄 텍스트 색상 전환",
|
||||||
"console_type_help": "'help'를 입력하여 사용 가능한 명령어 보기",
|
"console_type_help": "'help'를 입력하여 사용 가능한 명령어 보기",
|
||||||
|
|||||||
@@ -180,6 +180,7 @@
|
|||||||
"connected_peers": "Pares Conectados",
|
"connected_peers": "Pares Conectados",
|
||||||
"connecting": "Conectando...",
|
"connecting": "Conectando...",
|
||||||
"console": "Console",
|
"console": "Console",
|
||||||
|
"console_accents": "Destaques de cor",
|
||||||
"console_app": "App",
|
"console_app": "App",
|
||||||
"console_auto_scroll": "Rolagem automática",
|
"console_auto_scroll": "Rolagem automática",
|
||||||
"console_available_commands": "Comandos disponíveis:",
|
"console_available_commands": "Comandos disponíveis:",
|
||||||
@@ -240,6 +241,7 @@
|
|||||||
"console_status_stopping": "Parando",
|
"console_status_stopping": "Parando",
|
||||||
"console_status_unknown": "Desconhecido",
|
"console_status_unknown": "Desconhecido",
|
||||||
"console_tab_completion": "Tab para completar",
|
"console_tab_completion": "Tab para completar",
|
||||||
|
"console_text_colors": "Cores do texto",
|
||||||
"console_toggle_accents": "Alternar destaques de cor das linhas",
|
"console_toggle_accents": "Alternar destaques de cor das linhas",
|
||||||
"console_toggle_text_color": "Alternar cores do texto das linhas",
|
"console_toggle_text_color": "Alternar cores do texto das linhas",
|
||||||
"console_type_help": "Digite 'help' para comandos disponíveis",
|
"console_type_help": "Digite 'help' para comandos disponíveis",
|
||||||
|
|||||||
@@ -180,6 +180,7 @@
|
|||||||
"connected_peers": "Подключённые узлы",
|
"connected_peers": "Подключённые узлы",
|
||||||
"connecting": "Подключение...",
|
"connecting": "Подключение...",
|
||||||
"console": "Консоль",
|
"console": "Консоль",
|
||||||
|
"console_accents": "Цветовые акценты",
|
||||||
"console_app": "Прил.",
|
"console_app": "Прил.",
|
||||||
"console_auto_scroll": "Авто-прокрутка",
|
"console_auto_scroll": "Авто-прокрутка",
|
||||||
"console_available_commands": "Доступные команды:",
|
"console_available_commands": "Доступные команды:",
|
||||||
@@ -240,6 +241,7 @@
|
|||||||
"console_status_stopping": "Остановка",
|
"console_status_stopping": "Остановка",
|
||||||
"console_status_unknown": "Неизвестно",
|
"console_status_unknown": "Неизвестно",
|
||||||
"console_tab_completion": "Tab для дополнения",
|
"console_tab_completion": "Tab для дополнения",
|
||||||
|
"console_text_colors": "Цвета текста",
|
||||||
"console_toggle_accents": "Переключить цветовые акценты строк",
|
"console_toggle_accents": "Переключить цветовые акценты строк",
|
||||||
"console_toggle_text_color": "Переключить цвета текста строк",
|
"console_toggle_text_color": "Переключить цвета текста строк",
|
||||||
"console_type_help": "Введите 'help' для списка команд",
|
"console_type_help": "Введите 'help' для списка команд",
|
||||||
|
|||||||
@@ -180,6 +180,7 @@
|
|||||||
"connected_peers": "已连接节点",
|
"connected_peers": "已连接节点",
|
||||||
"connecting": "连接中...",
|
"connecting": "连接中...",
|
||||||
"console": "控制台",
|
"console": "控制台",
|
||||||
|
"console_accents": "颜色强调",
|
||||||
"console_app": "应用",
|
"console_app": "应用",
|
||||||
"console_auto_scroll": "自动滚动",
|
"console_auto_scroll": "自动滚动",
|
||||||
"console_available_commands": "可用命令:",
|
"console_available_commands": "可用命令:",
|
||||||
@@ -240,6 +241,7 @@
|
|||||||
"console_status_stopping": "停止中",
|
"console_status_stopping": "停止中",
|
||||||
"console_status_unknown": "未知",
|
"console_status_unknown": "未知",
|
||||||
"console_tab_completion": "Tab 补全",
|
"console_tab_completion": "Tab 补全",
|
||||||
|
"console_text_colors": "文本颜色",
|
||||||
"console_toggle_accents": "切换行颜色强调",
|
"console_toggle_accents": "切换行颜色强调",
|
||||||
"console_toggle_text_color": "切换行文本颜色",
|
"console_toggle_text_color": "切换行文本颜色",
|
||||||
"console_type_help": "输入 'help' 查看可用命令",
|
"console_type_help": "输入 'help' 查看可用命令",
|
||||||
|
|||||||
@@ -492,6 +492,31 @@ static void saveSettingsPageState(config::Settings* settings) {
|
|||||||
settings->save();
|
settings->save();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Console output color toggles (accent bars + per-channel text color), shown on their own row under
|
||||||
|
// the effects checkboxes. They mirror the console toolbar buttons and carry no GPU cost, so — unlike
|
||||||
|
// scanline/theme-effects — they stay enabled in low-spec: the caller has an open
|
||||||
|
// BeginDisabled(low_spec) around the effects row, so close it, draw these live-bound to the ConsoleTab
|
||||||
|
// statics, then reopen it. Persisted immediately (the startup restore in App loads them on launch).
|
||||||
|
static void renderConsoleColorToggles(App* app) {
|
||||||
|
ImGui::EndDisabled();
|
||||||
|
bool accents = ConsoleTab::s_line_accents_enabled;
|
||||||
|
if (ImGui::Checkbox(TrId("console_accents", "con_accents").c_str(), &accents)) {
|
||||||
|
ConsoleTab::s_line_accents_enabled = accents;
|
||||||
|
app->settings()->setConsoleLineAccents(accents);
|
||||||
|
app->settings()->save();
|
||||||
|
}
|
||||||
|
if (ImGui::IsItemHovered()) material::Tooltip("%s", TR("console_toggle_accents"));
|
||||||
|
ImGui::SameLine(0, Layout::spacingLg());
|
||||||
|
bool textColor = ConsoleTab::s_line_text_color_enabled;
|
||||||
|
if (ImGui::Checkbox(TrId("console_text_colors", "con_textcol").c_str(), &textColor)) {
|
||||||
|
ConsoleTab::s_line_text_color_enabled = textColor;
|
||||||
|
app->settings()->setConsoleTextColor(textColor);
|
||||||
|
app->settings()->save();
|
||||||
|
}
|
||||||
|
if (ImGui::IsItemHovered()) material::Tooltip("%s", TR("console_toggle_text_color"));
|
||||||
|
ImGui::BeginDisabled(s_settingsState.low_spec_mode);
|
||||||
|
}
|
||||||
|
|
||||||
// ============================================================================
|
// ============================================================================
|
||||||
// Settings Page Renderer
|
// Settings Page Renderer
|
||||||
// ============================================================================
|
// ============================================================================
|
||||||
@@ -874,6 +899,9 @@ void RenderSettingsPage(App* app) {
|
|||||||
}
|
}
|
||||||
if (ImGui::IsItemHovered()) material::Tooltip("%s", TR("tt_theme_effects"));
|
if (ImGui::IsItemHovered()) material::Tooltip("%s", TR("tt_theme_effects"));
|
||||||
|
|
||||||
|
// Console output color toggles (own row — no GPU cost, enabled even in low-spec).
|
||||||
|
renderConsoleColorToggles(app);
|
||||||
|
|
||||||
// Row 1: Acrylic preset slider + Noise slider (side by side, labels above)
|
// Row 1: Acrylic preset slider + Noise slider (side by side, labels above)
|
||||||
float effCtrlMinW = S.drawElement("components.settings-page", "effects-input-min-width").size;
|
float effCtrlMinW = S.drawElement("components.settings-page", "effects-input-min-width").size;
|
||||||
float halfW = (contentW - Layout::spacingLg()) * 0.5f;
|
float halfW = (contentW - Layout::spacingLg()) * 0.5f;
|
||||||
@@ -1126,6 +1154,9 @@ void RenderSettingsPage(App* app) {
|
|||||||
}
|
}
|
||||||
if (ImGui::IsItemHovered()) material::Tooltip("%s", TR("tt_theme_effects"));
|
if (ImGui::IsItemHovered()) material::Tooltip("%s", TR("tt_theme_effects"));
|
||||||
|
|
||||||
|
// Console output color toggles (own row — no GPU cost, enabled even in low-spec).
|
||||||
|
renderConsoleColorToggles(app);
|
||||||
|
|
||||||
float ctrlW = std::max(S.drawElement("components.settings-page", "effects-input-min-width").size,
|
float ctrlW = std::max(S.drawElement("components.settings-page", "effects-input-min-width").size,
|
||||||
availWidth - pad * 2.0f);
|
availWidth - pad * 2.0f);
|
||||||
ImGui::TextUnformatted(TR("acrylic"));
|
ImGui::TextUnformatted(TR("acrylic"));
|
||||||
|
|||||||
@@ -1292,6 +1292,8 @@ void I18n::loadBuiltinEnglish()
|
|||||||
strings_["console_zoom_out"] = "Zoom out";
|
strings_["console_zoom_out"] = "Zoom out";
|
||||||
strings_["console_toggle_accents"] = "Toggle line color accents";
|
strings_["console_toggle_accents"] = "Toggle line color accents";
|
||||||
strings_["console_toggle_text_color"] = "Toggle line text colors";
|
strings_["console_toggle_text_color"] = "Toggle line text colors";
|
||||||
|
strings_["console_accents"] = "Color accents";
|
||||||
|
strings_["console_text_colors"] = "Text colors";
|
||||||
|
|
||||||
// --- Export All Keys Dialog ---
|
// --- Export All Keys Dialog ---
|
||||||
strings_["export_keys_btn"] = "Export Keys";
|
strings_["export_keys_btn"] = "Export Keys";
|
||||||
|
|||||||
Reference in New Issue
Block a user