1
0
Fork 0
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:
OverloadedOrama 2020-07-29 03:16:02 +03:00
parent f88d201e1a
commit 051f3df147
9 changed files with 185 additions and 71 deletions

View file

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

View file

@ -359,6 +359,9 @@ msgstr ""
msgid "On" msgid "On"
msgstr "" msgstr ""
msgid "Restore default value"
msgstr ""
msgid "Smooth Zoom" msgid "Smooth Zoom"
msgstr "" msgstr ""

Binary file not shown.

After

Width:  |  Height:  |  Size: 234 B

View 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

View file

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

View file

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

View file

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

View 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)

View 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"]