From 4263102a129ce34b9519569b6c1a1759f6e48232 Mon Sep 17 00:00:00 2001 From: Matt Parker <61717342+MattParkerDev@users.noreply.github.com> Date: Mon, 17 Nov 2025 23:19:46 +1000 Subject: [PATCH] show settings window on click --- .../Features/Settings/SettingsButton.cs | 20 +++++++++++++++++++ .../Features/Settings/SettingsButton.cs.uid | 1 + .../Features/Settings/SettingsButton.tscn | 16 ++++++++++++++- 3 files changed, 36 insertions(+), 1 deletion(-) create mode 100644 src/SharpIDE.Godot/Features/Settings/SettingsButton.cs create mode 100644 src/SharpIDE.Godot/Features/Settings/SettingsButton.cs.uid diff --git a/src/SharpIDE.Godot/Features/Settings/SettingsButton.cs b/src/SharpIDE.Godot/Features/Settings/SettingsButton.cs new file mode 100644 index 0000000..a1cf984 --- /dev/null +++ b/src/SharpIDE.Godot/Features/Settings/SettingsButton.cs @@ -0,0 +1,20 @@ +using Godot; + +namespace SharpIDE.Godot.Features.Settings; + +public partial class SettingsButton : Button +{ + private Window _settingsWindow = null!; + + public override void _Ready() + { + _settingsWindow = GetNode("%SettingsWindow"); + _settingsWindow.CloseRequested += () => _settingsWindow.Hide(); + Pressed += OnPressed; + } + + private void OnPressed() + { + _settingsWindow.PopupCenteredRatio(0.5f); + } +} \ No newline at end of file diff --git a/src/SharpIDE.Godot/Features/Settings/SettingsButton.cs.uid b/src/SharpIDE.Godot/Features/Settings/SettingsButton.cs.uid new file mode 100644 index 0000000..7f36bea --- /dev/null +++ b/src/SharpIDE.Godot/Features/Settings/SettingsButton.cs.uid @@ -0,0 +1 @@ +uid://cry5oglh3nyt1 diff --git a/src/SharpIDE.Godot/Features/Settings/SettingsButton.tscn b/src/SharpIDE.Godot/Features/Settings/SettingsButton.tscn index 58b3476..5a225e5 100644 --- a/src/SharpIDE.Godot/Features/Settings/SettingsButton.tscn +++ b/src/SharpIDE.Godot/Features/Settings/SettingsButton.tscn @@ -1,8 +1,22 @@ -[gd_scene load_steps=2 format=3 uid="uid://c6xurjdabssao"] +[gd_scene load_steps=3 format=3 uid="uid://c6xurjdabssao"] [ext_resource type="Texture2D" uid="uid://ctwb5vyjuy5m1" path="res://Resources/settings.svg" id="1_0ups8"] +[ext_resource type="Script" uid="uid://cry5oglh3nyt1" path="res://Features/Settings/SettingsButton.cs" id="2_e87mh"] [node name="SettingsButton" type="Button"] size_flags_vertical = 4 icon = ExtResource("1_0ups8") icon_alignment = 1 +script = ExtResource("2_e87mh") + +[node name="SettingsWindow" type="Window" parent="."] +unique_name_in_owner = true +oversampling_override = 1.0 +title = "Settings" +initial_position = 2 +size = Vector2i(845, 400) +visible = false +transient = true +exclusive = true +popup_window = true +popup_wm_hint = true