From 8b26debda1e486532f068d0916512bbb198d22bb Mon Sep 17 00:00:00 2001 From: Tom Date: Sun, 20 Jun 2021 13:24:40 -0600 Subject: [PATCH] DisplaySettings: Show screen numbers when showing the Monitors tab This will be helpful once we allow the user to rearrange the displays. --- .../DisplaySettings/MonitorSettingsWidget.cpp | 8 ++++++++ .../Applications/DisplaySettings/MonitorSettingsWidget.h | 9 +++++++++ Userland/Applications/DisplaySettings/main.cpp | 3 +++ 3 files changed, 20 insertions(+) diff --git a/Userland/Applications/DisplaySettings/MonitorSettingsWidget.cpp b/Userland/Applications/DisplaySettings/MonitorSettingsWidget.cpp index e733b51167c..88db155bc26 100644 --- a/Userland/Applications/DisplaySettings/MonitorSettingsWidget.cpp +++ b/Userland/Applications/DisplaySettings/MonitorSettingsWidget.cpp @@ -141,4 +141,12 @@ void MonitorSettingsWidget::apply_settings() } } +void MonitorSettingsWidget::show_screen_numbers(bool show) +{ + if (m_showing_screen_numbers == show) + return; + m_showing_screen_numbers = show; + GUI::WindowServerConnection::the().async_show_screen_numbers(show); +} + } diff --git a/Userland/Applications/DisplaySettings/MonitorSettingsWidget.h b/Userland/Applications/DisplaySettings/MonitorSettingsWidget.h index 6503d0d6356..689cc2688f4 100644 --- a/Userland/Applications/DisplaySettings/MonitorSettingsWidget.h +++ b/Userland/Applications/DisplaySettings/MonitorSettingsWidget.h @@ -19,7 +19,14 @@ class MonitorSettingsWidget : public GUI::Widget { C_OBJECT(MonitorSettingsWidget); public: + ~MonitorSettingsWidget() override + { + if (m_showing_screen_numbers) + show_screen_numbers(false); + } + void apply_settings(); + void show_screen_numbers(bool); private: MonitorSettingsWidget(); @@ -35,6 +42,8 @@ private: RefPtr m_resolution_combo; RefPtr m_display_scale_radio_1x; RefPtr m_display_scale_radio_2x; + + bool m_showing_screen_numbers { false }; }; } diff --git a/Userland/Applications/DisplaySettings/main.cpp b/Userland/Applications/DisplaySettings/main.cpp index 554f7173d94..4a3a6a8cdbc 100644 --- a/Userland/Applications/DisplaySettings/main.cpp +++ b/Userland/Applications/DisplaySettings/main.cpp @@ -52,6 +52,9 @@ int main(int argc, char** argv) auto& background_settings_widget = tab_widget.add_tab("Background"); auto& font_settings_widget = tab_widget.add_tab("Fonts"); auto& monitor_settings_widget = tab_widget.add_tab("Monitor"); + tab_widget.on_change = [&](auto& widget) { + monitor_settings_widget.show_screen_numbers(&widget == &monitor_settings_widget); + }; auto& button_container = main_widget.add(); button_container.set_shrink_to_fit(true);