mirror of
https://github.com/Orama-Interactive/Pixelorama.git
synced 2025-01-18 17:19:50 +00:00
Buttons to reset preferences to default
Similar functionality with Godot's default buttons. The buttons currently aren't visible with the gold & light themes.
This commit is contained in:
parent
f88d201e1a
commit
051f3df147
|
@ -21,6 +21,7 @@ Darshan Phaldesai (luiq54), Igor Santarek (jegor377), rob-a-bolton, Kinwailo
|
||||||
- You can now preview how the frames of the spritesheet you are importing will look.
|
- You can now preview how the frames of the spritesheet you are importing will look.
|
||||||
- You can now import image files as layers. Their size will be cropped to the project's size.
|
- You can now import image files as layers. Their size will be cropped to the project's size.
|
||||||
- You can import image files as brushes, patterns and palettes.
|
- You can import image files as brushes, patterns and palettes.
|
||||||
|
- Buttons have been added in Preferences to restore each setting to its default state.
|
||||||
- Added "Copy", "Paste" and "Delete" options in the Edit menu. ([#281](https://github.com/Orama-Interactive/Pixelorama/pull/281))
|
- Added "Copy", "Paste" and "Delete" options in the Edit menu. ([#281](https://github.com/Orama-Interactive/Pixelorama/pull/281))
|
||||||
- Selection region and size are now being shown when making a selection on the top, next to the position label. ([#281](https://github.com/Orama-Interactive/Pixelorama/pull/281))
|
- Selection region and size are now being shown when making a selection on the top, next to the position label. ([#281](https://github.com/Orama-Interactive/Pixelorama/pull/281))
|
||||||
- Added color overwrite option for the Pencil tool. ([#282](https://github.com/Orama-Interactive/Pixelorama/pull/282))
|
- Added color overwrite option for the Pencil tool. ([#282](https://github.com/Orama-Interactive/Pixelorama/pull/282))
|
||||||
|
@ -39,6 +40,7 @@ Darshan Phaldesai (luiq54), Igor Santarek (jegor377), rob-a-bolton, Kinwailo
|
||||||
- Pixelorama now remembers the selected colors, tools and their options when it's closed and re-opened. ([#281](https://github.com/Orama-Interactive/Pixelorama/pull/281))
|
- Pixelorama now remembers the selected colors, tools and their options when it's closed and re-opened. ([#281](https://github.com/Orama-Interactive/Pixelorama/pull/281))
|
||||||
- Drawing brushes with mirror also mirrors the images of the brushes themselves. ([#281](https://github.com/Orama-Interactive/Pixelorama/pull/281))
|
- Drawing brushes with mirror also mirrors the images of the brushes themselves. ([#281](https://github.com/Orama-Interactive/Pixelorama/pull/281))
|
||||||
- When making a new palette or importing one and its name already exists, Pixelorama will add a number to its name. For example, "Palette_Name" would become "Palette_Name (2)", "Palette_Name (3)", etc.
|
- When making a new palette or importing one and its name already exists, Pixelorama will add a number to its name. For example, "Palette_Name" would become "Palette_Name (2)", "Palette_Name (3)", etc.
|
||||||
|
- Re-organized preferences dialog.
|
||||||
- The "create new image" dialog now remembers the last created canvas size. The default image settings are being used only when Pixelorama first launches. ([#178](https://github.com/Orama-Interactive/Pixelorama/issues/178))
|
- The "create new image" dialog now remembers the last created canvas size. The default image settings are being used only when Pixelorama first launches. ([#178](https://github.com/Orama-Interactive/Pixelorama/issues/178))
|
||||||
- Language and theme checkboxes are now radio buttons.
|
- Language and theme checkboxes are now radio buttons.
|
||||||
- The Blue theme has more similar margins and seperations with the rest of the themes.
|
- The Blue theme has more similar margins and seperations with the rest of the themes.
|
||||||
|
|
|
@ -359,6 +359,9 @@ msgstr ""
|
||||||
msgid "On"
|
msgid "On"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Restore default value"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Smooth Zoom"
|
msgid "Smooth Zoom"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|
BIN
assets/graphics/dark_themes/misc/icon_reload.png
Normal file
BIN
assets/graphics/dark_themes/misc/icon_reload.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 234 B |
34
assets/graphics/dark_themes/misc/icon_reload.png.import
Normal file
34
assets/graphics/dark_themes/misc/icon_reload.png.import
Normal file
|
@ -0,0 +1,34 @@
|
||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="StreamTexture"
|
||||||
|
path="res://.import/icon_reload.png-8fcd39d06a036f444930d60868611210.stex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://assets/graphics/dark_themes/misc/icon_reload.png"
|
||||||
|
dest_files=[ "res://.import/icon_reload.png-8fcd39d06a036f444930d60868611210.stex" ]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
compress/hdr_mode=0
|
||||||
|
compress/bptc_ldr=0
|
||||||
|
compress/normal_map=0
|
||||||
|
flags/repeat=0
|
||||||
|
flags/filter=false
|
||||||
|
flags/mipmaps=false
|
||||||
|
flags/anisotropic=false
|
||||||
|
flags/srgb=2
|
||||||
|
process/fix_alpha_border=true
|
||||||
|
process/premult_alpha=false
|
||||||
|
process/HDR_as_SRGB=false
|
||||||
|
process/invert_color=false
|
||||||
|
stream=false
|
||||||
|
size_limit=0
|
||||||
|
detect_3d=true
|
||||||
|
svg/scale=1.0
|
|
@ -59,7 +59,7 @@ var checker_size := 10
|
||||||
var checker_color_1 := Color(0.47, 0.47, 0.47, 1)
|
var checker_color_1 := Color(0.47, 0.47, 0.47, 1)
|
||||||
var checker_color_2 := Color(0.34, 0.35, 0.34, 1)
|
var checker_color_2 := Color(0.34, 0.35, 0.34, 1)
|
||||||
|
|
||||||
var autosave_interval := 5.0
|
var autosave_interval := 1.0
|
||||||
var enable_autosave := true
|
var enable_autosave := true
|
||||||
|
|
||||||
# Tools & options
|
# Tools & options
|
||||||
|
|
|
@ -1,28 +1,28 @@
|
||||||
extends AcceptDialog
|
extends AcceptDialog
|
||||||
|
|
||||||
# Preferences table: [Prop name in Global, relative node path, value type]
|
# Preferences table: [Prop name in Global, relative node path, value type, default value]
|
||||||
var preferences = [
|
var preferences = [
|
||||||
["open_last_project", "Startup/StartupContainer/OpenLastProject", "pressed"],
|
["open_last_project", "Startup/StartupContainer/OpenLastProject", "pressed", Global.open_last_project],
|
||||||
["smooth_zoom", "Canvas/SmoothZoom", "pressed"],
|
["smooth_zoom", "Canvas/ZoomOptions/SmoothZoom", "pressed", Global.smooth_zoom],
|
||||||
["pressure_sensitivity_mode", "Startup/PressureSentivity/PressureSensitivityOptionButton", "selected"],
|
["pressure_sensitivity_mode", "Startup/PressureSentivity/PressureSensitivityOptionButton", "selected", Global.pressure_sensitivity_mode],
|
||||||
["show_left_tool_icon", "Indicators/IndicatorsContainer/LeftToolIconCheckbox", "pressed"],
|
["show_left_tool_icon", "Indicators/IndicatorsContainer/LeftToolIconCheckbox", "pressed", Global.show_left_tool_icon],
|
||||||
["show_right_tool_icon", "Indicators/IndicatorsContainer/RightToolIconCheckbox", "pressed"],
|
["show_right_tool_icon", "Indicators/IndicatorsContainer/RightToolIconCheckbox", "pressed", Global.show_right_tool_icon],
|
||||||
["left_square_indicator_visible", "Indicators/IndicatorsContainer/LeftIndicatorCheckbox", "pressed"],
|
["left_square_indicator_visible", "Indicators/IndicatorsContainer/LeftIndicatorCheckbox", "pressed", Global.left_square_indicator_visible],
|
||||||
["right_square_indicator_visible", "Indicators/IndicatorsContainer/RightIndicatorCheckbox", "pressed"],
|
["right_square_indicator_visible", "Indicators/IndicatorsContainer/RightIndicatorCheckbox", "pressed", Global.right_square_indicator_visible],
|
||||||
["autosave_interval", "Backup/AutosaveContainer/AutosaveInterval", "value"],
|
["autosave_interval", "Backup/AutosaveContainer/AutosaveInterval", "value", Global.autosave_interval],
|
||||||
["enable_autosave", "Backup/AutosaveContainer/EnableAutosave", "pressed"],
|
["enable_autosave", "Backup/AutosaveContainer/EnableAutosave", "pressed", Global.enable_autosave],
|
||||||
|
|
||||||
["default_image_width", "Image/ImageOptions/ImageDefaultWidth", "value"],
|
["default_image_width", "Image/ImageOptions/ImageDefaultWidth", "value", Global.default_image_width],
|
||||||
["default_image_height", "Image/ImageOptions/ImageDefaultHeight", "value"],
|
["default_image_height", "Image/ImageOptions/ImageDefaultHeight", "value", Global.default_image_height],
|
||||||
["default_fill_color", "Image/ImageOptions/DefaultFillColor", "color"],
|
["default_fill_color", "Image/ImageOptions/DefaultFillColor", "color", Global.default_fill_color],
|
||||||
|
|
||||||
["grid_width", "Canvas/GridOptions/GridWidthValue", "value"],
|
["grid_width", "Canvas/GridOptions/GridWidthValue", "value", Global.grid_width],
|
||||||
["grid_height", "Canvas/GridOptions/GridHeightValue", "value"],
|
["grid_height", "Canvas/GridOptions/GridHeightValue", "value", Global.grid_height],
|
||||||
["grid_color", "Canvas/GridOptions/GridColor", "color"],
|
["grid_color", "Canvas/GridOptions/GridColor", "color", Global.grid_color],
|
||||||
["guide_color", "Canvas/GuideOptions/GuideColor", "color"],
|
["guide_color", "Canvas/GuideOptions/GuideColor", "color", Global.guide_color],
|
||||||
["checker_size", "Canvas/CheckerOptions/CheckerSizeValue", "value"],
|
["checker_size", "Canvas/CheckerOptions/CheckerSizeValue", "value", Global.checker_size],
|
||||||
["checker_color_1", "Canvas/CheckerOptions/CheckerColor1", "color"],
|
["checker_color_1", "Canvas/CheckerOptions/CheckerColor1", "color", Global.checker_color_1],
|
||||||
["checker_color_2", "Canvas/CheckerOptions/CheckerColor2", "color"],
|
["checker_color_2", "Canvas/CheckerOptions/CheckerColor2", "color", Global.checker_color_2],
|
||||||
]
|
]
|
||||||
|
|
||||||
var selected_item := 0
|
var selected_item := 0
|
||||||
|
@ -30,6 +30,7 @@ var selected_item := 0
|
||||||
onready var list : ItemList = $HSplitContainer/List
|
onready var list : ItemList = $HSplitContainer/List
|
||||||
onready var right_side : VBoxContainer = $HSplitContainer/ScrollContainer/VBoxContainer
|
onready var right_side : VBoxContainer = $HSplitContainer/ScrollContainer/VBoxContainer
|
||||||
onready var autosave_interval : SpinBox = $HSplitContainer/ScrollContainer/VBoxContainer/Backup/AutosaveContainer/AutosaveInterval
|
onready var autosave_interval : SpinBox = $HSplitContainer/ScrollContainer/VBoxContainer/Backup/AutosaveContainer/AutosaveInterval
|
||||||
|
onready var restore_default_button_scene = preload("res://src/Preferences/RestoreDefaultButton.tscn")
|
||||||
|
|
||||||
|
|
||||||
func _ready() -> void:
|
func _ready() -> void:
|
||||||
|
@ -43,46 +44,64 @@ func _ready() -> void:
|
||||||
|
|
||||||
for pref in preferences:
|
for pref in preferences:
|
||||||
var node = right_side.get_node(pref[1])
|
var node = right_side.get_node(pref[1])
|
||||||
|
var node_position = node.get_index()
|
||||||
|
|
||||||
|
var restore_default_button : BaseButton = restore_default_button_scene.instance()
|
||||||
|
restore_default_button.setting_name = pref[0]
|
||||||
|
restore_default_button.value_type = pref[2]
|
||||||
|
restore_default_button.default_value = pref[3]
|
||||||
|
restore_default_button.node = node
|
||||||
|
node.get_parent().add_child(restore_default_button)
|
||||||
|
node.get_parent().move_child(restore_default_button, node_position)
|
||||||
|
|
||||||
match pref[2]:
|
match pref[2]:
|
||||||
"pressed":
|
"pressed":
|
||||||
node.connect("toggled", self, "_on_Preference_toggled", [pref[0]])
|
node.connect("toggled", self, "_on_Preference_toggled", [pref[0], pref[3], restore_default_button])
|
||||||
"value":
|
"value":
|
||||||
node.connect("value_changed", self, "_on_Preference_value_changed", [pref[0]])
|
node.connect("value_changed", self, "_on_Preference_value_changed", [pref[0], pref[3], restore_default_button])
|
||||||
"color":
|
"color":
|
||||||
node.get_picker().presets_visible = false
|
node.get_picker().presets_visible = false
|
||||||
node.connect("color_changed", self, "_on_Preference_color_changed", [pref[0]])
|
node.connect("color_changed", self, "_on_Preference_color_changed", [pref[0], pref[3], restore_default_button])
|
||||||
"selected":
|
"selected":
|
||||||
node.connect("item_selected", self, "_on_Preference_item_selected", [pref[0]])
|
node.connect("item_selected", self, "_on_Preference_item_selected", [pref[0], pref[3], restore_default_button])
|
||||||
|
|
||||||
if Global.config_cache.has_section_key("preferences", pref[0]):
|
if Global.config_cache.has_section_key("preferences", pref[0]):
|
||||||
var value = Global.config_cache.get_value("preferences", pref[0])
|
var value = Global.config_cache.get_value("preferences", pref[0])
|
||||||
Global.set(pref[0], value)
|
Global.set(pref[0], value)
|
||||||
node.set(pref[2], value)
|
node.set(pref[2], value)
|
||||||
|
|
||||||
|
# This is needed because color_changed doesn't fire if the color changes in code
|
||||||
|
if pref[2] == "color":
|
||||||
|
preference_update(pref[0])
|
||||||
|
disable_restore_default_button(restore_default_button, Global.get(pref[0]).is_equal_approx(pref[3]))
|
||||||
|
|
||||||
func _on_Preference_toggled(button_pressed : bool, prop : String) -> void:
|
|
||||||
|
func _on_Preference_toggled(button_pressed : bool, prop : String, default_value, restore_default_button : BaseButton) -> void:
|
||||||
Global.set(prop, button_pressed)
|
Global.set(prop, button_pressed)
|
||||||
Global.config_cache.set_value("preferences", prop, button_pressed)
|
Global.config_cache.set_value("preferences", prop, button_pressed)
|
||||||
preference_update(prop)
|
preference_update(prop)
|
||||||
|
disable_restore_default_button(restore_default_button, Global.get(prop) == default_value)
|
||||||
|
|
||||||
|
|
||||||
func _on_Preference_value_changed(value : float, prop : String) -> void:
|
func _on_Preference_value_changed(value : float, prop : String, default_value, restore_default_button : BaseButton) -> void:
|
||||||
Global.set(prop, value)
|
Global.set(prop, value)
|
||||||
Global.config_cache.set_value("preferences", prop, value)
|
Global.config_cache.set_value("preferences", prop, value)
|
||||||
preference_update(prop)
|
preference_update(prop)
|
||||||
|
disable_restore_default_button(restore_default_button, Global.get(prop) == default_value)
|
||||||
|
|
||||||
|
|
||||||
func _on_Preference_color_changed(color : Color, prop : String) -> void:
|
func _on_Preference_color_changed(color : Color, prop : String, default_value, restore_default_button : BaseButton) -> void:
|
||||||
Global.set(prop, color)
|
Global.set(prop, color)
|
||||||
Global.config_cache.set_value("preferences", prop, color)
|
Global.config_cache.set_value("preferences", prop, color)
|
||||||
preference_update(prop)
|
preference_update(prop)
|
||||||
|
disable_restore_default_button(restore_default_button, Global.get(prop).is_equal_approx(default_value))
|
||||||
|
|
||||||
|
|
||||||
func _on_Preference_item_selected(id : int, prop : String) -> void:
|
func _on_Preference_item_selected(id : int, prop : String, default_value, restore_default_button : BaseButton) -> void:
|
||||||
Global.set(prop, id)
|
Global.set(prop, id)
|
||||||
Global.config_cache.set_value("preferences", prop, id)
|
Global.config_cache.set_value("preferences", prop, id)
|
||||||
preference_update(prop)
|
preference_update(prop)
|
||||||
|
disable_restore_default_button(restore_default_button, Global.get(prop) == default_value)
|
||||||
|
|
||||||
|
|
||||||
func preference_update(prop : String) -> void:
|
func preference_update(prop : String) -> void:
|
||||||
|
@ -108,6 +127,16 @@ func preference_update(prop : String) -> void:
|
||||||
Global.config_cache.save("user://cache.ini")
|
Global.config_cache.save("user://cache.ini")
|
||||||
|
|
||||||
|
|
||||||
|
func disable_restore_default_button(button : BaseButton, disable : bool) -> void:
|
||||||
|
button.disabled = disable
|
||||||
|
if disable:
|
||||||
|
button.mouse_default_cursor_shape = Control.CURSOR_ARROW
|
||||||
|
button.hint_tooltip = ""
|
||||||
|
else:
|
||||||
|
button.mouse_default_cursor_shape = Control.CURSOR_POINTING_HAND
|
||||||
|
button.hint_tooltip = "Restore default value"
|
||||||
|
|
||||||
|
|
||||||
func _on_PreferencesDialog_about_to_show(changed_language := false) -> void:
|
func _on_PreferencesDialog_about_to_show(changed_language := false) -> void:
|
||||||
if OS.get_name() != "HTML5":
|
if OS.get_name() != "HTML5":
|
||||||
list.add_item(" " + tr("Startup"))
|
list.add_item(" " + tr("Startup"))
|
||||||
|
|
|
@ -285,23 +285,34 @@ text = "Light"
|
||||||
|
|
||||||
[node name="Canvas" type="VBoxContainer" parent="HSplitContainer/ScrollContainer/VBoxContainer"]
|
[node name="Canvas" type="VBoxContainer" parent="HSplitContainer/ScrollContainer/VBoxContainer"]
|
||||||
visible = false
|
visible = false
|
||||||
margin_top = 184.0
|
margin_top = 28.0
|
||||||
margin_right = 498.0
|
margin_right = 498.0
|
||||||
margin_bottom = 484.0
|
margin_bottom = 280.0
|
||||||
|
|
||||||
[node name="ZoomLabel" type="Label" parent="HSplitContainer/ScrollContainer/VBoxContainer/Canvas"]
|
[node name="ZoomLabel" type="Label" parent="HSplitContainer/ScrollContainer/VBoxContainer/Canvas"]
|
||||||
margin_right = 498.0
|
margin_right = 498.0
|
||||||
margin_bottom = 14.0
|
margin_bottom = 14.0
|
||||||
text = "Zoom"
|
text = "Zoom"
|
||||||
|
|
||||||
[node name="SmoothZoom" type="CheckBox" parent="HSplitContainer/ScrollContainer/VBoxContainer/Canvas"]
|
[node name="ZoomOptions" type="HBoxContainer" parent="HSplitContainer/ScrollContainer/VBoxContainer/Canvas"]
|
||||||
margin_top = 18.0
|
margin_top = 18.0
|
||||||
margin_right = 498.0
|
margin_right = 498.0
|
||||||
margin_bottom = 42.0
|
margin_bottom = 42.0
|
||||||
|
|
||||||
|
[node name="Label" type="Label" parent="HSplitContainer/ScrollContainer/VBoxContainer/Canvas/ZoomOptions"]
|
||||||
|
margin_top = 5.0
|
||||||
|
margin_right = 90.0
|
||||||
|
margin_bottom = 19.0
|
||||||
|
text = "Smooth Zoom"
|
||||||
|
|
||||||
|
[node name="SmoothZoom" type="CheckBox" parent="HSplitContainer/ScrollContainer/VBoxContainer/Canvas/ZoomOptions"]
|
||||||
|
margin_left = 94.0
|
||||||
|
margin_right = 141.0
|
||||||
|
margin_bottom = 24.0
|
||||||
hint_tooltip = "Adds a smoother transition when zooming in or out"
|
hint_tooltip = "Adds a smoother transition when zooming in or out"
|
||||||
mouse_default_cursor_shape = 2
|
mouse_default_cursor_shape = 2
|
||||||
pressed = true
|
pressed = true
|
||||||
text = "Smooth Zoom"
|
text = "On"
|
||||||
|
|
||||||
[node name="HSeparator" type="HSeparator" parent="HSplitContainer/ScrollContainer/VBoxContainer/Canvas"]
|
[node name="HSeparator" type="HSeparator" parent="HSplitContainer/ScrollContainer/VBoxContainer/Canvas"]
|
||||||
margin_top = 46.0
|
margin_top = 46.0
|
||||||
|
@ -320,7 +331,7 @@ margin_right = 498.0
|
||||||
margin_bottom = 92.0
|
margin_bottom = 92.0
|
||||||
custom_constants/vseparation = 4
|
custom_constants/vseparation = 4
|
||||||
custom_constants/hseparation = 4
|
custom_constants/hseparation = 4
|
||||||
columns = 2
|
columns = 3
|
||||||
|
|
||||||
[node name="GuideColorLabel" type="Label" parent="HSplitContainer/ScrollContainer/VBoxContainer/Canvas/GuideOptions"]
|
[node name="GuideColorLabel" type="Label" parent="HSplitContainer/ScrollContainer/VBoxContainer/Canvas/GuideOptions"]
|
||||||
margin_top = 3.0
|
margin_top = 3.0
|
||||||
|
@ -354,10 +365,10 @@ text = "Grid"
|
||||||
[node name="GridOptions" type="GridContainer" parent="HSplitContainer/ScrollContainer/VBoxContainer/Canvas"]
|
[node name="GridOptions" type="GridContainer" parent="HSplitContainer/ScrollContainer/VBoxContainer/Canvas"]
|
||||||
margin_top = 122.0
|
margin_top = 122.0
|
||||||
margin_right = 498.0
|
margin_right = 498.0
|
||||||
margin_bottom = 198.0
|
margin_bottom = 174.0
|
||||||
custom_constants/vseparation = 4
|
custom_constants/vseparation = 4
|
||||||
custom_constants/hseparation = 4
|
custom_constants/hseparation = 4
|
||||||
columns = 2
|
columns = 3
|
||||||
|
|
||||||
[node name="WidthLabel" type="Label" parent="HSplitContainer/ScrollContainer/VBoxContainer/Canvas/GridOptions"]
|
[node name="WidthLabel" type="Label" parent="HSplitContainer/ScrollContainer/VBoxContainer/Canvas/GridOptions"]
|
||||||
margin_top = 5.0
|
margin_top = 5.0
|
||||||
|
@ -382,17 +393,17 @@ align = 2
|
||||||
suffix = "px"
|
suffix = "px"
|
||||||
|
|
||||||
[node name="Height" type="Label" parent="HSplitContainer/ScrollContainer/VBoxContainer/Canvas/GridOptions"]
|
[node name="Height" type="Label" parent="HSplitContainer/ScrollContainer/VBoxContainer/Canvas/GridOptions"]
|
||||||
margin_top = 33.0
|
margin_left = 192.0
|
||||||
margin_right = 110.0
|
margin_top = 5.0
|
||||||
margin_bottom = 47.0
|
margin_right = 267.0
|
||||||
|
margin_bottom = 19.0
|
||||||
hint_tooltip = "Sets how far apart are horizontal lines of the grid"
|
hint_tooltip = "Sets how far apart are horizontal lines of the grid"
|
||||||
mouse_filter = 0
|
mouse_filter = 0
|
||||||
text = "Grid height:"
|
text = "Grid height:"
|
||||||
|
|
||||||
[node name="GridHeightValue" type="SpinBox" parent="HSplitContainer/ScrollContainer/VBoxContainer/Canvas/GridOptions"]
|
[node name="GridHeightValue" type="SpinBox" parent="HSplitContainer/ScrollContainer/VBoxContainer/Canvas/GridOptions"]
|
||||||
margin_left = 114.0
|
|
||||||
margin_top = 28.0
|
margin_top = 28.0
|
||||||
margin_right = 188.0
|
margin_right = 110.0
|
||||||
margin_bottom = 52.0
|
margin_bottom = 52.0
|
||||||
hint_tooltip = "Sets how far apart are horizontal lines of the grid"
|
hint_tooltip = "Sets how far apart are horizontal lines of the grid"
|
||||||
mouse_default_cursor_shape = 2
|
mouse_default_cursor_shape = 2
|
||||||
|
@ -404,40 +415,41 @@ align = 2
|
||||||
suffix = "px"
|
suffix = "px"
|
||||||
|
|
||||||
[node name="GridColorLabel" type="Label" parent="HSplitContainer/ScrollContainer/VBoxContainer/Canvas/GridOptions"]
|
[node name="GridColorLabel" type="Label" parent="HSplitContainer/ScrollContainer/VBoxContainer/Canvas/GridOptions"]
|
||||||
margin_top = 59.0
|
margin_left = 114.0
|
||||||
margin_right = 110.0
|
margin_top = 33.0
|
||||||
margin_bottom = 73.0
|
margin_right = 188.0
|
||||||
|
margin_bottom = 47.0
|
||||||
hint_tooltip = "A color of the grid"
|
hint_tooltip = "A color of the grid"
|
||||||
mouse_filter = 0
|
mouse_filter = 0
|
||||||
text = "Grid color:"
|
text = "Grid color:"
|
||||||
|
|
||||||
[node name="GridColor" type="ColorPickerButton" parent="HSplitContainer/ScrollContainer/VBoxContainer/Canvas/GridOptions"]
|
[node name="GridColor" type="ColorPickerButton" parent="HSplitContainer/ScrollContainer/VBoxContainer/Canvas/GridOptions"]
|
||||||
margin_left = 114.0
|
margin_left = 192.0
|
||||||
margin_top = 56.0
|
margin_top = 28.0
|
||||||
margin_right = 188.0
|
margin_right = 267.0
|
||||||
margin_bottom = 76.0
|
margin_bottom = 52.0
|
||||||
rect_min_size = Vector2( 64, 20 )
|
rect_min_size = Vector2( 64, 20 )
|
||||||
hint_tooltip = "A color of the grid"
|
hint_tooltip = "A color of the grid"
|
||||||
mouse_default_cursor_shape = 2
|
mouse_default_cursor_shape = 2
|
||||||
|
|
||||||
[node name="HSeparator3" type="HSeparator" parent="HSplitContainer/ScrollContainer/VBoxContainer/Canvas"]
|
[node name="HSeparator3" type="HSeparator" parent="HSplitContainer/ScrollContainer/VBoxContainer/Canvas"]
|
||||||
margin_top = 202.0
|
margin_top = 178.0
|
||||||
margin_right = 498.0
|
margin_right = 498.0
|
||||||
margin_bottom = 206.0
|
margin_bottom = 182.0
|
||||||
|
|
||||||
[node name="TransparencyLabel" type="Label" parent="HSplitContainer/ScrollContainer/VBoxContainer/Canvas"]
|
[node name="TransparencyLabel" type="Label" parent="HSplitContainer/ScrollContainer/VBoxContainer/Canvas"]
|
||||||
margin_top = 210.0
|
margin_top = 186.0
|
||||||
margin_right = 498.0
|
margin_right = 498.0
|
||||||
margin_bottom = 224.0
|
margin_bottom = 200.0
|
||||||
text = "Transparency"
|
text = "Transparency"
|
||||||
|
|
||||||
[node name="CheckerOptions" type="GridContainer" parent="HSplitContainer/ScrollContainer/VBoxContainer/Canvas"]
|
[node name="CheckerOptions" type="GridContainer" parent="HSplitContainer/ScrollContainer/VBoxContainer/Canvas"]
|
||||||
margin_top = 228.0
|
margin_top = 204.0
|
||||||
margin_right = 498.0
|
margin_right = 498.0
|
||||||
margin_bottom = 300.0
|
margin_bottom = 252.0
|
||||||
custom_constants/vseparation = 4
|
custom_constants/vseparation = 4
|
||||||
custom_constants/hseparation = 4
|
custom_constants/hseparation = 4
|
||||||
columns = 2
|
columns = 3
|
||||||
|
|
||||||
[node name="SizeLabel" type="Label" parent="HSplitContainer/ScrollContainer/VBoxContainer/Canvas/CheckerOptions"]
|
[node name="SizeLabel" type="Label" parent="HSplitContainer/ScrollContainer/VBoxContainer/Canvas/CheckerOptions"]
|
||||||
margin_top = 5.0
|
margin_top = 5.0
|
||||||
|
@ -450,7 +462,7 @@ text = "Checker size:"
|
||||||
|
|
||||||
[node name="CheckerSizeValue" type="SpinBox" parent="HSplitContainer/ScrollContainer/VBoxContainer/Canvas/CheckerOptions"]
|
[node name="CheckerSizeValue" type="SpinBox" parent="HSplitContainer/ScrollContainer/VBoxContainer/Canvas/CheckerOptions"]
|
||||||
margin_left = 114.0
|
margin_left = 114.0
|
||||||
margin_right = 188.0
|
margin_right = 217.0
|
||||||
margin_bottom = 24.0
|
margin_bottom = 24.0
|
||||||
hint_tooltip = "Size of the transparent checker background"
|
hint_tooltip = "Size of the transparent checker background"
|
||||||
mouse_default_cursor_shape = 2
|
mouse_default_cursor_shape = 2
|
||||||
|
@ -462,17 +474,17 @@ align = 2
|
||||||
suffix = "px"
|
suffix = "px"
|
||||||
|
|
||||||
[node name="CheckerColor1Label" type="Label" parent="HSplitContainer/ScrollContainer/VBoxContainer/Canvas/CheckerOptions"]
|
[node name="CheckerColor1Label" type="Label" parent="HSplitContainer/ScrollContainer/VBoxContainer/Canvas/CheckerOptions"]
|
||||||
margin_top = 31.0
|
margin_left = 221.0
|
||||||
margin_right = 110.0
|
margin_top = 5.0
|
||||||
margin_bottom = 45.0
|
margin_right = 324.0
|
||||||
|
margin_bottom = 19.0
|
||||||
hint_tooltip = "First color of the transparent checker background"
|
hint_tooltip = "First color of the transparent checker background"
|
||||||
mouse_filter = 0
|
mouse_filter = 0
|
||||||
text = "Checker color 1:"
|
text = "Checker color 1:"
|
||||||
|
|
||||||
[node name="CheckerColor1" type="ColorPickerButton" parent="HSplitContainer/ScrollContainer/VBoxContainer/Canvas/CheckerOptions"]
|
[node name="CheckerColor1" type="ColorPickerButton" parent="HSplitContainer/ScrollContainer/VBoxContainer/Canvas/CheckerOptions"]
|
||||||
margin_left = 114.0
|
|
||||||
margin_top = 28.0
|
margin_top = 28.0
|
||||||
margin_right = 188.0
|
margin_right = 110.0
|
||||||
margin_bottom = 48.0
|
margin_bottom = 48.0
|
||||||
rect_min_size = Vector2( 64, 20 )
|
rect_min_size = Vector2( 64, 20 )
|
||||||
hint_tooltip = "First color of the transparent checker background"
|
hint_tooltip = "First color of the transparent checker background"
|
||||||
|
@ -480,18 +492,19 @@ mouse_default_cursor_shape = 2
|
||||||
color = Color( 0.470588, 0.470588, 0.470588, 1 )
|
color = Color( 0.470588, 0.470588, 0.470588, 1 )
|
||||||
|
|
||||||
[node name="CheckerColor2Label" type="Label" parent="HSplitContainer/ScrollContainer/VBoxContainer/Canvas/CheckerOptions"]
|
[node name="CheckerColor2Label" type="Label" parent="HSplitContainer/ScrollContainer/VBoxContainer/Canvas/CheckerOptions"]
|
||||||
margin_top = 55.0
|
margin_left = 114.0
|
||||||
margin_right = 110.0
|
margin_top = 31.0
|
||||||
margin_bottom = 69.0
|
margin_right = 217.0
|
||||||
|
margin_bottom = 45.0
|
||||||
hint_tooltip = "Second color of the transparent checker background"
|
hint_tooltip = "Second color of the transparent checker background"
|
||||||
mouse_filter = 0
|
mouse_filter = 0
|
||||||
text = "Checker color 2:"
|
text = "Checker color 2:"
|
||||||
|
|
||||||
[node name="CheckerColor2" type="ColorPickerButton" parent="HSplitContainer/ScrollContainer/VBoxContainer/Canvas/CheckerOptions"]
|
[node name="CheckerColor2" type="ColorPickerButton" parent="HSplitContainer/ScrollContainer/VBoxContainer/Canvas/CheckerOptions"]
|
||||||
margin_left = 114.0
|
margin_left = 221.0
|
||||||
margin_top = 52.0
|
margin_top = 28.0
|
||||||
margin_right = 188.0
|
margin_right = 324.0
|
||||||
margin_bottom = 72.0
|
margin_bottom = 48.0
|
||||||
rect_min_size = Vector2( 64, 20 )
|
rect_min_size = Vector2( 64, 20 )
|
||||||
hint_tooltip = "Second color of the transparent checker background"
|
hint_tooltip = "Second color of the transparent checker background"
|
||||||
mouse_default_cursor_shape = 2
|
mouse_default_cursor_shape = 2
|
||||||
|
@ -508,7 +521,7 @@ margin_right = 506.0
|
||||||
margin_bottom = 76.0
|
margin_bottom = 76.0
|
||||||
custom_constants/vseparation = 4
|
custom_constants/vseparation = 4
|
||||||
custom_constants/hseparation = 4
|
custom_constants/hseparation = 4
|
||||||
columns = 2
|
columns = 3
|
||||||
|
|
||||||
[node name="DefaultWidthLabel" type="Label" parent="HSplitContainer/ScrollContainer/VBoxContainer/Image/ImageOptions"]
|
[node name="DefaultWidthLabel" type="Label" parent="HSplitContainer/ScrollContainer/VBoxContainer/Image/ImageOptions"]
|
||||||
margin_top = 5.0
|
margin_top = 5.0
|
||||||
|
@ -829,7 +842,7 @@ margin_bottom = 254.0
|
||||||
margin_top = 18.0
|
margin_top = 18.0
|
||||||
margin_right = 498.0
|
margin_right = 498.0
|
||||||
margin_bottom = 70.0
|
margin_bottom = 70.0
|
||||||
columns = 2
|
columns = 3
|
||||||
|
|
||||||
[node name="Label" type="Label" parent="HSplitContainer/ScrollContainer/VBoxContainer/Backup/AutosaveContainer"]
|
[node name="Label" type="Label" parent="HSplitContainer/ScrollContainer/VBoxContainer/Backup/AutosaveContainer"]
|
||||||
margin_top = 5.0
|
margin_top = 5.0
|
||||||
|
@ -885,7 +898,7 @@ margin_right = 498.0
|
||||||
margin_bottom = 126.0
|
margin_bottom = 126.0
|
||||||
custom_constants/vseparation = 4
|
custom_constants/vseparation = 4
|
||||||
custom_constants/hseparation = 4
|
custom_constants/hseparation = 4
|
||||||
columns = 2
|
columns = 3
|
||||||
|
|
||||||
[node name="Label" type="Label" parent="HSplitContainer/ScrollContainer/VBoxContainer/Indicators/IndicatorsContainer"]
|
[node name="Label" type="Label" parent="HSplitContainer/ScrollContainer/VBoxContainer/Indicators/IndicatorsContainer"]
|
||||||
margin_top = 5.0
|
margin_top = 5.0
|
||||||
|
|
15
src/Preferences/RestoreDefaultButton.gd
Normal file
15
src/Preferences/RestoreDefaultButton.gd
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
extends TextureButton
|
||||||
|
|
||||||
|
|
||||||
|
var setting_name : String
|
||||||
|
var value_type : String
|
||||||
|
var default_value
|
||||||
|
var node : Node
|
||||||
|
|
||||||
|
|
||||||
|
func _on_RestoreDefaultButton_pressed() -> void:
|
||||||
|
Global.set(setting_name, default_value)
|
||||||
|
Global.config_cache.set_value("preferences", setting_name, default_value)
|
||||||
|
Global.preferences_dialog.preference_update(setting_name)
|
||||||
|
Global.preferences_dialog.disable_restore_default_button(self, true)
|
||||||
|
node.set(value_type, default_value)
|
18
src/Preferences/RestoreDefaultButton.tscn
Normal file
18
src/Preferences/RestoreDefaultButton.tscn
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
[gd_scene load_steps=4 format=2]
|
||||||
|
|
||||||
|
[ext_resource path="res://assets/graphics/dark_themes/misc/icon_reload.png" type="Texture" id=1]
|
||||||
|
[ext_resource path="res://src/Preferences/RestoreDefaultButton.gd" type="Script" id=2]
|
||||||
|
|
||||||
|
[sub_resource type="ImageTexture" id=1]
|
||||||
|
|
||||||
|
[node name="RestoreDefaultButton" type="TextureButton"]
|
||||||
|
margin_right = 16.0
|
||||||
|
margin_bottom = 16.0
|
||||||
|
disabled = true
|
||||||
|
texture_normal = ExtResource( 1 )
|
||||||
|
texture_disabled = SubResource( 1 )
|
||||||
|
script = ExtResource( 2 )
|
||||||
|
__meta__ = {
|
||||||
|
"_edit_use_anchors_": false
|
||||||
|
}
|
||||||
|
[connection signal="pressed" from="." to="." method="_on_RestoreDefaultButton_pressed"]
|
Loading…
Reference in a new issue