From 60126e46d34762b808b2f33b933f05bffe0ea518 Mon Sep 17 00:00:00 2001 From: OverloadedOrama <35376950+OverloadedOrama@users.noreply.github.com> Date: Fri, 5 Jun 2020 04:30:50 +0300 Subject: [PATCH] New image now creates a new tab/project --- src/Main.gd | 22 ++++++---------------- src/UI/Dialogs/CreateNewImage.gd | 14 ++++---------- 2 files changed, 10 insertions(+), 26 deletions(-) diff --git a/src/Main.gd b/src/Main.gd index 30bff412e..7670b2ae6 100644 --- a/src/Main.gd +++ b/src/Main.gd @@ -4,7 +4,6 @@ var opensprite_file_selected := false var file_menu : PopupMenu var view_menu : PopupMenu var redone := false -var unsaved_canvas_state := 0 var is_quitting_on_save := false @@ -241,12 +240,8 @@ func _on_files_dropped(_files : PoolStringArray, _screen : int) -> void: handle_loading_files(_files) -func on_new_project_file_menu_option_pressed(id : int) -> void: - if Global.current_project.has_changed: - unsaved_canvas_state = id - $UnsavedCanvasDialog.popup_centered() - else: - $CreateNewImage.popup_centered() +func on_new_project_file_menu_option_pressed() -> void: + $CreateNewImage.popup_centered() Global.dialog_open(true) @@ -256,11 +251,10 @@ func open_project_file() -> void: opensprite_file_selected = false -func on_open_last_project_file_menu_option_pressed(id : int) -> void: +func on_open_last_project_file_menu_option_pressed() -> void: # Check if last project path is set and if yes then open if Global.config_cache.has_section_key("preferences", "last_project_path"): if Global.current_project.has_changed: - unsaved_canvas_state = id $UnsavedCanvasDialog.popup_centered() Global.dialog_open(true) else: @@ -303,11 +297,11 @@ func export_file() -> void: func file_menu_id_pressed(id : int) -> void: match id: 0: # New - on_new_project_file_menu_option_pressed(id) + on_new_project_file_menu_option_pressed() 1: # Open open_project_file() 2: # Open last project - on_open_last_project_file_menu_option_pressed(id) + on_open_last_project_file_menu_option_pressed() 3: # Save save_project_file() 4: # Save as @@ -555,11 +549,7 @@ func load_last_project() -> void: func _on_UnsavedCanvasDialog_confirmed() -> void: - if unsaved_canvas_state == 0: # New image - $CreateNewImage.popup_centered() - Global.dialog_open(true) - elif unsaved_canvas_state == 2: # Open last project - load_last_project() + load_last_project() func _on_OpenSprite_file_selected(path : String) -> void: diff --git a/src/UI/Dialogs/CreateNewImage.gd b/src/UI/Dialogs/CreateNewImage.gd index 21b748efc..f5bfee101 100644 --- a/src/UI/Dialogs/CreateNewImage.gd +++ b/src/UI/Dialogs/CreateNewImage.gd @@ -73,20 +73,14 @@ func _on_CreateNewImage_confirmed() -> void: var width : int = width_value.value var height : int = height_value.value var fill_color : Color = fill_color_node.color - Global.clear_frames() - Global.current_project.layers.clear() - Global.current_project.layers.append(Layer.new()) + + var frame : Frame = Global.canvas.new_empty_frame() + Global.projects.append(Project.new([frame])) + Global.tabs.current_tab = Global.tabs.get_tab_count() - 1 Global.current_project.size = Vector2(width, height).floor() Global.canvas.fill_color = fill_color - var frame : Frame = Global.canvas.new_empty_frame() Global.canvas.camera_zoom() - Global.current_project.frames.append(frame) - Global.current_project.current_layer = 0 - Global.current_project.frames = Global.current_project.frames # To trigger Global.frames_changed() - Global.current_project.current_frame = 0 - Global.current_project.layers = Global.current_project.layers # To trigger Global.layers_changed() - Global.current_project.has_changed = false if fill_color.a > 0: Global.current_project.frames[0].cels[0].image.fill(fill_color) Global.current_project.frames[0].cels[0].image.lock()