From 5e0f790b435f3a1e744bca83561ee3572ec546c4 Mon Sep 17 00:00:00 2001 From: ChaoticByte Date: Sun, 9 Jun 2024 14:48:27 +0200 Subject: [PATCH] Remember last image export / shader save path - closes #5 --- src/Editor.gd | 9 ++++++++- src/Main.gd | 9 ++++++++- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/src/Editor.gd b/src/Editor.gd index a59ef6e..ebc1dfa 100644 --- a/src/Editor.gd +++ b/src/Editor.gd @@ -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() diff --git a/src/Main.gd b/src/Main.gd index ad7f97b..b9c77cd 100644 --- a/src/Main.gd +++ b/src/Main.gd @@ -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