Remember last image export / shader save path - closes #5

This commit is contained in:
ChaoticByte 2024-06-09 14:48:27 +02:00
parent 641cb9f8d3
commit 5e0f790b43
No known key found for this signature in database
2 changed files with 16 additions and 2 deletions

View file

@ -5,6 +5,7 @@ extends Control
@onready var open_shader_dialog = $OpenShaderDialog
@onready var save_shader_dialog = $SaveShaderDialog
var selected_preset_name = ShaderPresets.default_preset
var last_save_filepath = ""
# # # # # # # # # # #
# GDShader keywords #
@ -196,6 +197,7 @@ func _on_preset_options_item_selected(index):
Globals.shader = ShaderPresets.presets[selected_preset_name]
Globals.target_viewport.update()
update()
last_save_filepath = ""
func update():
preset_options.clear()
@ -215,7 +217,10 @@ func _on_open_shader_button_pressed():
open_shader_dialog.show()
func _on_save_shader_button_pressed():
save_shader_dialog.current_file = selected_preset_name + "_custom.gdshader"
if last_save_filepath == "":
save_shader_dialog.current_file = selected_preset_name + "_custom.gdshader"
else:
save_shader_dialog.current_path = last_save_filepath
save_shader_dialog.show()
func _on_open_shader_dialog_file_selected(path):
@ -226,11 +231,13 @@ func _on_open_shader_dialog_file_selected(path):
Globals.shader = shader
Globals.target_viewport.update()
update()
last_save_filepath = ""
func _on_save_shader_dialog_file_selected(path):
var file = FileAccess.open(path, FileAccess.WRITE)
var content = Globals.shader.code
file.store_string(content)
last_save_filepath = path
func _on_apply_shader_button_pressed():
var shader = Shader.new()

View file

@ -5,6 +5,7 @@ extends Node2D
@onready var ui_container = $UI_Layer/UserInterfaceContainer
@onready var ui_control_fileopen = $UI_Layer/UserInterfaceContainer/OpenImageDialog
@onready var ui_control_filesave = $UI_Layer/UserInterfaceContainer/SaveImageDialog
var last_save_filepath = ""
func _ready():
Globals.target_viewport = image_viewport
@ -19,15 +20,21 @@ func _on_open_image_dialog_file_selected(path):
image_viewport.set_original_image(img)
image_viewport.update()
camera.fit_image()
last_save_filepath = ""
else:
print("An error occured!")
func _on_save_image_button_pressed():
if image_viewport.get_result() != null:
ui_control_filesave.current_file = "image.png"
if last_save_filepath == "":
ui_control_filesave.current_file = "output.png"
else:
ui_control_filesave.current_path = last_save_filepath
ui_control_filesave.show()
func _on_save_image_dialog_file_selected(path):
var err = image_viewport.get_result().save_png(path)
if err != OK:
print("An error occured!")
else:
last_save_filepath = path