From 14732806c925b725c9344a7ed2f4ff0d0cdc0258 Mon Sep 17 00:00:00 2001 From: Subhraman Sarkar Date: Tue, 10 Sep 2024 07:03:45 +0530 Subject: [PATCH] Preferences: move the Apply button and disable it unless needed this also makes it obvious that the Apply button is used only for UI theme selection, and is not a global Apply button --- .../gui/themes/default/window/preferences.cfg | 10 ------- .../default/window/preferences/03_display.cfg | 29 ++++++++++++++----- src/gui/dialogs/preferences_dialog.cpp | 4 +++ 3 files changed, 26 insertions(+), 17 deletions(-) diff --git a/data/gui/themes/default/window/preferences.cfg b/data/gui/themes/default/window/preferences.cfg index e65f8c60f85..fa85888fd50 100644 --- a/data/gui/themes/default/window/preferences.cfg +++ b/data/gui/themes/default/window/preferences.cfg @@ -425,16 +425,6 @@ [grid] [row] - [column] - border = "all" - border_size = 5 - [button] - id = "apply" - definition = "default" - label = _ "Apply" - [/button] - [/column] - [column] border = "all" border_size = 5 diff --git a/data/gui/themes/default/window/preferences/03_display.cfg b/data/gui/themes/default/window/preferences/03_display.cfg index 13a62a12b74..1a98a7c01b7 100644 --- a/data/gui/themes/default/window/preferences/03_display.cfg +++ b/data/gui/themes/default/window/preferences/03_display.cfg @@ -196,14 +196,29 @@ [/row] [row] [column] - border = "all" - border_size = 5 - horizontal_alignment = "left" + [grid] + [row] + [column] + border = "all" + border_size = 5 + horizontal_alignment = "left" - [menu_button] - id = "choose_gui2_theme" - tooltip = _ "Change the UI (GUI2) theme. Additional themes may be provided by community-made add-ons" - [/menu_button] + [menu_button] + id = "choose_gui2_theme" + tooltip = _ "Change the UI (GUI2) theme. Additional themes may be provided by community-made add-ons" + [/menu_button] + [/column] + [column] + border = "all" + border_size = 5 + [button] + id = "apply" + definition = "default" + label = _ "Apply" + [/button] + [/column] + [/row] + [/grid] [/column] [/row] [/grid] diff --git a/src/gui/dialogs/preferences_dialog.cpp b/src/gui/dialogs/preferences_dialog.cpp index 7e6107b4699..6544e56f111 100644 --- a/src/gui/dialogs/preferences_dialog.cpp +++ b/src/gui/dialogs/preferences_dialog.cpp @@ -591,6 +591,10 @@ void preferences_dialog::initialize_callbacks() /* SELECT GUI2 THEME */ menu_button& gui2_theme_list = find_widget(this, "choose_gui2_theme", false); set_gui2_theme_list(gui2_theme_list); + connect_signal_notify_modified(find_widget(this, "choose_gui2_theme", false), std::bind([&]() { + find_widget