show settings window on click
This commit is contained in:
20
src/SharpIDE.Godot/Features/Settings/SettingsButton.cs
Normal file
20
src/SharpIDE.Godot/Features/Settings/SettingsButton.cs
Normal 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);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
uid://cry5oglh3nyt1
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user