diff options
Diffstat (limited to 'game/src/Game/Menu/OptionMenu/MonitorDisplaySelector.gd')
-rw-r--r-- | game/src/Game/Menu/OptionMenu/MonitorDisplaySelector.gd | 27 |
1 files changed, 19 insertions, 8 deletions
diff --git a/game/src/Game/Menu/OptionMenu/MonitorDisplaySelector.gd b/game/src/Game/Menu/OptionMenu/MonitorDisplaySelector.gd index 7de033a..028b3df 100644 --- a/game/src/Game/Menu/OptionMenu/MonitorDisplaySelector.gd +++ b/game/src/Game/Menu/OptionMenu/MonitorDisplaySelector.gd @@ -1,18 +1,29 @@ -extends SettingOptionButton +extends SettingRevertButton func _setup_button() -> void: clear() for screen_index in DisplayServer.get_screen_count(): - add_item("Monitor %d" % (screen_index + 1)) - default_selected = get_viewport().get_window().current_screen + # Placeholder option text awaiting _update_monitor_options_text() + add_item(str(screen_index + 1)) + _update_monitor_options_text() + default_selected = Resolution.get_current_monitor() + +func _notification(what : int): + match what: + NOTIFICATION_TRANSLATION_CHANGED: + _update_monitor_options_text() + +func _update_monitor_options_text() -> void: + for index in get_item_count(): + set_item_text(index, tr("OPTIONS_VIDEO_MONITOR").format({ "index": Events.Localisation.tr_number(index + 1) })) func _on_option_selected(index : int, by_user : bool) -> void: if _valid_index(index): - var window := get_viewport().get_window() - var mode := window.mode - window.mode = Window.MODE_WINDOWED - get_viewport().get_window().set_current_screen(index) - window.mode = mode + if by_user: + print("Start Revert Countdown!") + revert_dialog.show_dialog.call_deferred(self) + previous_index = Resolution.get_current_monitor() + Resolution.set_monitor(index) else: push_error("Invalid MonitorDisplaySelector index: %d" % index) reset_setting(not by_user) |