diff --git a/Scripts/Global.gd b/Scripts/Global.gd index 78538c855..0f8e97d4e 100644 --- a/Scripts/Global.gd +++ b/Scripts/Global.gd @@ -529,16 +529,18 @@ func layers_changed(value : Array) -> void: layer_button.pressed = true self.current_frame = current_frame # Call frame_changed to update UI - if layers.size() == 1: + if layers[current_layer][2]: remove_layer_button.disabled = true remove_layer_button.mouse_default_cursor_shape = Control.CURSOR_FORBIDDEN + + if layers.size() == 1: move_up_layer_button.disabled = true move_up_layer_button.mouse_default_cursor_shape = Control.CURSOR_FORBIDDEN move_down_layer_button.disabled = true move_down_layer_button.mouse_default_cursor_shape = Control.CURSOR_FORBIDDEN merge_down_layer_button.disabled = true merge_down_layer_button.mouse_default_cursor_shape = Control.CURSOR_FORBIDDEN - else: + elif !layers[current_layer][2]: remove_layer_button.disabled = false remove_layer_button.mouse_default_cursor_shape = Control.CURSOR_POINTING_HAND @@ -597,6 +599,15 @@ func layer_changed(value : int) -> void: merge_down_layer_button.disabled = true merge_down_layer_button.mouse_default_cursor_shape = Control.CURSOR_FORBIDDEN + if current_layer < layers.size(): + if layers[current_layer][2]: + remove_layer_button.disabled = true + remove_layer_button.mouse_default_cursor_shape = Control.CURSOR_FORBIDDEN + else: + if layers.size() > 1: + remove_layer_button.disabled = false + remove_layer_button.mouse_default_cursor_shape = Control.CURSOR_POINTING_HAND + yield(get_tree().create_timer(0.01), "timeout") self.current_frame = current_frame # Call frame_changed to update UI diff --git a/Scripts/Main.gd b/Scripts/Main.gd index 9b4b21252..86b544b6d 100644 --- a/Scripts/Main.gd +++ b/Scripts/Main.gd @@ -292,6 +292,8 @@ func view_menu_id_pressed(id : int) -> void: Global.canvas.update() func image_menu_id_pressed(id : int) -> void: + if Global.layers[Global.current_layer][2]: # No changes if the layer is locked + return match id: 0: # Scale Image $ScaleImage.popup_centered()