show settings window on click

This commit is contained in:
Matt Parker
2025-11-17 23:19:46 +10:00
parent ab82240f9f
commit 4263102a12
3 changed files with 36 additions and 1 deletions

View File

@@ -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<Window>("%SettingsWindow");
_settingsWindow.CloseRequested += () => _settingsWindow.Hide();
Pressed += OnPressed;
}
private void OnPressed()
{
_settingsWindow.PopupCenteredRatio(0.5f);
}
}

View File

@@ -0,0 +1 @@
uid://cry5oglh3nyt1

View File

@@ -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