Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package pixelorama for openSUSE:Factory 
checked in at 2023-11-07 21:27:48
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/pixelorama (Old)
 and      /work/SRC/openSUSE:Factory/.pixelorama.new.17445 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "pixelorama"

Tue Nov  7 21:27:48 2023 rev:2 rq:1123928 version:0.11.3

Changes:
--------
--- /work/SRC/openSUSE:Factory/pixelorama/pixelorama.changes    2023-10-10 
20:52:37.897404013 +0200
+++ /work/SRC/openSUSE:Factory/.pixelorama.new.17445/pixelorama.changes 
2023-11-07 21:28:38.868571724 +0100
@@ -1,0 +2,12 @@
+Wed Nov 1 12:00:00 UTC 2023 - cu...@mail.de
+
+- Update to 0.11.3
+  * When deleting a palette, a confirmation window now appears that
+    lets users either delete the palette permanently, move it to trash
+    or cancel
+  * Fixed undo/redo history not working when the tool changes
+  * Pixelorama no longer closes when the project fails to be saved
+    if "Save & Exit" is selected
+  * Projects with 3D cels saved in 1.x can now be opened in 0.11.3
+
+-------------------------------------------------------------------

Old:
----
  Pixelorama-0.11.2.tar.gz

New:
----
  Pixelorama-0.11.3.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ pixelorama.spec ++++++
--- /var/tmp/diff_new_pack.bP0Ntx/_old  2023-11-07 21:28:39.672601332 +0100
+++ /var/tmp/diff_new_pack.bP0Ntx/_new  2023-11-07 21:28:39.672601332 +0100
@@ -19,7 +19,7 @@
 %define nameupper Pixelorama
 
 Name:           pixelorama
-Version:        0.11.2
+Version:        0.11.3
 Release:        0
 Summary:        2D sprite editor
 License:        MIT

++++++ Pixelorama-0.11.2.tar.gz -> Pixelorama-0.11.3.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/Pixelorama-0.11.2/.github/workflows/dev-desktop-builds.yml 
new/Pixelorama-0.11.3/.github/workflows/dev-desktop-builds.yml
--- old/Pixelorama-0.11.2/.github/workflows/dev-desktop-builds.yml      
2023-08-31 10:38:47.000000000 +0200
+++ new/Pixelorama-0.11.3/.github/workflows/dev-desktop-builds.yml      
2023-10-30 14:42:51.000000000 +0100
@@ -2,9 +2,9 @@
 
 on:
   push:
-    branches: [ master ]
+    branches: [ 0.x ]
   pull_request:
-    branches: [ master ]
+    branches: [ 0.x ]
     paths-ignore: 
     - "Translations/*"
     - "installer/*.pot"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Pixelorama-0.11.2/.github/workflows/release.yml 
new/Pixelorama-0.11.3/.github/workflows/release.yml
--- old/Pixelorama-0.11.2/.github/workflows/release.yml 2023-08-31 
10:38:47.000000000 +0200
+++ new/Pixelorama-0.11.3/.github/workflows/release.yml 2023-10-30 
14:42:51.000000000 +0100
@@ -9,7 +9,7 @@
   GODOT_VERSION_MAC: 3.5.2
   RASPBERRY_PI_BUILDS_VERSION: 1.15.0
   EXPORT_NAME: Pixelorama
-  TAG: v0.11.2
+  TAG: v0.11.3
   BUTLER_API_KEY: ${{ secrets.BUTLER_API_KEY }}
 
 jobs:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/Pixelorama-0.11.2/.github/workflows/static-checks.yml 
new/Pixelorama-0.11.3/.github/workflows/static-checks.yml
--- old/Pixelorama-0.11.2/.github/workflows/static-checks.yml   2023-08-31 
10:38:47.000000000 +0200
+++ new/Pixelorama-0.11.3/.github/workflows/static-checks.yml   2023-10-30 
14:42:51.000000000 +0100
@@ -26,7 +26,8 @@
       - name: Linting checks
         run: gdlint .
       - name: Spell checks via codespell
-        uses: codespell-project/actions-codespell@v1
+        uses: codespell-project/actions-codespell@v2
         with:
           skip: ./addons,*.po
-          ignore_words_list: chello,doubleclick
+          exclude_file: src/UI/Dialogs/AboutDialog.gd
+          ignore_words_list: chello,doubleclick,Manuel
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Pixelorama-0.11.2/CHANGELOG.md 
new/Pixelorama-0.11.3/CHANGELOG.md
--- old/Pixelorama-0.11.2/CHANGELOG.md  2023-08-31 10:38:47.000000000 +0200
+++ new/Pixelorama-0.11.3/CHANGELOG.md  2023-10-30 14:42:51.000000000 +0100
@@ -4,6 +4,20 @@
 The format is based on [Keep a 
Changelog](https://keepachangelog.com/en/1.0.0/). All the dates are in 
YYYY-MM-DD format.
 <br><br>
 
+## [v0.11.3] - 2023-10-30
+This update has been brought to you by the contributions of:
+Fayez Akhtar ([@Variable-ind](https://github.com/Variable-ind))
+
+Built using Godot 3.5.2
+
+### Changed
+- When deleting a palette, a confirmation window now appears that lets users 
either to delete the palette permanently, move it to trash, or cancel. 
[#914](https://github.com/Orama-Interactive/Pixelorama/pull/914)
+
+### Fixed
+- Fixed undo/redo history not working when the tool changes. 
[#916](https://github.com/Orama-Interactive/Pixelorama/pull/916)
+- Pixelorama no longer closes when the project fails to be saved if "Save & 
Exit" is selected. 
[#920](https://github.com/Orama-Interactive/Pixelorama/pull/920)
+- Projects with 3D cels saved in 1.x can now be opened in 0.11.3. 
[#928](https://github.com/Orama-Interactive/Pixelorama/pull/928)
+
 ## [v0.11.2] - 2023-08-31
 This update has been brought to you by the contributions of:
 [@Lsbt1](https://github.com/Lsbt1), Fayez Akhtar 
([@Variable-ind](https://github.com/Variable-ind))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/Pixelorama-0.11.2/Misc/Linux/com.orama_interactive.Pixelorama.appdata.xml 
new/Pixelorama-0.11.3/Misc/Linux/com.orama_interactive.Pixelorama.appdata.xml
--- 
old/Pixelorama-0.11.2/Misc/Linux/com.orama_interactive.Pixelorama.appdata.xml   
    2023-08-31 10:38:47.000000000 +0200
+++ 
new/Pixelorama-0.11.3/Misc/Linux/com.orama_interactive.Pixelorama.appdata.xml   
    2023-10-30 14:42:51.000000000 +0100
@@ -37,6 +37,7 @@
   </screenshots>
   <content_rating type="oars-1.1"/>
   <releases>
+       <release version="0.11.3" date="2023-10-30"/>
        <release version="0.11.2" date="2023-08-31"/>
        <release version="0.11.1" date="2023-08-12"/>
        <release version="0.11" date="2023-06-13"/>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Pixelorama-0.11.2/export_presets.cfg 
new/Pixelorama-0.11.3/export_presets.cfg
--- old/Pixelorama-0.11.2/export_presets.cfg    2023-08-31 10:38:47.000000000 
+0200
+++ new/Pixelorama-0.11.3/export_presets.cfg    2023-10-30 14:42:51.000000000 
+0100
@@ -33,8 +33,8 @@
 codesign/custom_options=PoolStringArray(  )
 application/modify_resources=true
 application/icon="res://assets/graphics/icons/icon.ico"
-application/file_version="0.11.2.0"
-application/product_version="0.11.2.0"
+application/file_version="0.11.3.0"
+application/product_version="0.11.3.0"
 application/company_name="Orama Interactive"
 application/product_name="Pixelorama"
 application/file_description="Pixelorama - Your free & open-source sprite 
editor"
@@ -89,8 +89,8 @@
 application/identifier="com.orama-interactive.pixelorama"
 application/signature=""
 application/app_category="Graphics-design"
-application/short_version="0.11.2"
-application/version="0.11.2"
+application/short_version="0.11.3"
+application/version="0.11.3"
 application/copyright="Orama Interactive and contributors 2019-present"
 display/high_res=false
 privacy/microphone_usage_description=""
@@ -210,8 +210,8 @@
 codesign/custom_options=PoolStringArray(  )
 application/modify_resources=true
 application/icon="res://assets/graphics/icons/icon.ico"
-application/file_version="0.11.2.0"
-application/product_version="0.11.2.0"
+application/file_version="0.11.3.0"
+application/product_version="0.11.3.0"
 application/company_name="Orama Interactive"
 application/product_name="Pixelorama"
 application/file_description="Pixelorama - Your free & open-source sprite 
editor"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Pixelorama-0.11.2/installer/pixelorama.nsi 
new/Pixelorama-0.11.3/installer/pixelorama.nsi
--- old/Pixelorama-0.11.2/installer/pixelorama.nsi      2023-08-31 
10:38:47.000000000 +0200
+++ new/Pixelorama-0.11.3/installer/pixelorama.nsi      2023-10-30 
14:42:51.000000000 +0100
@@ -6,7 +6,7 @@
 ; Helper variables so that we don't change 20 instances of the version for 
every update
 
   !define APPNAME "Pixelorama"
-  !define APPVERSION "v0.11.2"
+  !define APPVERSION "v0.11.3"
   !define COMPANYNAME "Orama Interactive"
 
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Pixelorama-0.11.2/project.godot 
new/Pixelorama-0.11.3/project.godot
--- old/Pixelorama-0.11.2/project.godot 2023-08-31 10:38:47.000000000 +0200
+++ new/Pixelorama-0.11.3/project.godot 2023-10-30 14:42:51.000000000 +0100
@@ -343,7 +343,7 @@
 config/macos_native_icon="res://assets/graphics/icons/icon.icns"
 config/windows_native_icon="res://assets/graphics/icons/icon.ico"
 config/custom_user_dir_name.X11="pixelorama"
-config/Version="v0.11.2-stable"
+config/Version="v0.11.3-stable"
 config/ExtensionsAPI_Version=3
 config/Pxo_Version=2
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Pixelorama-0.11.2/src/Autoload/Global.gd 
new/Pixelorama-0.11.3/src/Autoload/Global.gd
--- old/Pixelorama-0.11.2/src/Autoload/Global.gd        2023-08-31 
10:38:47.000000000 +0200
+++ new/Pixelorama-0.11.3/src/Autoload/Global.gd        2023-10-30 
14:42:51.000000000 +0100
@@ -272,7 +272,7 @@
        else:
                zoom_slider.snap_step = 1
                zoom_slider.step = 1
-       zoom_slider.value = zoom_slider.value  # to trigger signal emmission
+       zoom_slider.value = zoom_slider.value  # to trigger signal emission
 
 
 func _initialize_keychain() -> void:
@@ -617,3 +617,7 @@
                        dict[key] = str2var("Vector2" + dict[key])
                elif "size" in key or "center_offset" in key:  # Convert a 
String to a Vector3
                        dict[key] = str2var("Vector3" + dict[key])
+
+
+func undo_redo_draw_op(image: Object, compressed_image_data: Dictionary, 
buffer_size: int) -> void:
+       image["data"]["data"] = 
compressed_image_data["data"].decompress(buffer_size)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Pixelorama-0.11.2/src/Autoload/HTML5FileExchange.gd 
new/Pixelorama-0.11.3/src/Autoload/HTML5FileExchange.gd
--- old/Pixelorama-0.11.2/src/Autoload/HTML5FileExchange.gd     2023-08-31 
10:38:47.000000000 +0200
+++ new/Pixelorama-0.11.3/src/Autoload/HTML5FileExchange.gd     2023-10-30 
14:42:51.000000000 +0100
@@ -72,7 +72,7 @@
 
 
 # If (load_directly = false) then image info (image and its name)
-# will not be directly farwarded it to OpenSave
+# will not be directly forwarded it to OpenSave
 func load_image(load_directly := true):
        if OS.get_name() != "HTML5" or !OS.has_feature("JavaScript"):
                return
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Pixelorama-0.11.2/src/Autoload/OpenSave.gd 
new/Pixelorama-0.11.3/src/Autoload/OpenSave.gd
--- old/Pixelorama-0.11.2/src/Autoload/OpenSave.gd      2023-08-31 
10:38:47.000000000 +0200
+++ new/Pixelorama-0.11.3/src/Autoload/OpenSave.gd      2023-10-30 
14:42:51.000000000 +0100
@@ -214,7 +214,7 @@
        autosave: bool,
        use_zstd_compression := true,
        project: Project = Global.current_project
-) -> void:
+) -> bool:
        if !autosave:
                project.name = path.get_file()
        var serialized_data := project.serialize()
@@ -224,7 +224,7 @@
                )
                Global.error_dialog.popup_centered()
                Global.dialog_open(true)
-               return
+               return false
        var to_save := JSON.print(serialized_data)
        if !to_save:
                Global.error_dialog.set_text(
@@ -232,7 +232,7 @@
                )
                Global.error_dialog.popup_centered()
                Global.dialog_open(true)
-               return
+               return false
 
        # Check if a file with the same name exists. If it does, rename the new 
file temporarily.
        # Needed in case of a crash, so that the old file won't be replaced 
with an empty one.
@@ -250,14 +250,15 @@
 
        if err != OK:
                if temp_path.is_valid_filename():
-                       return
+                       return false
                Global.error_dialog.set_text(
                        tr("File failed to save. Error code %s") % str(err, 
ErrorManager.parse(err, " (", ")"))
                )
                Global.error_dialog.popup_centered()
                Global.dialog_open(true)
-               file.close()
-               return
+               if file:  # Failsafe
+                       file.close()
+               return false
 
        if !autosave:
                current_save_paths[Global.current_project_index] = path
@@ -308,6 +309,7 @@
                )
 
        save_project_to_recent_list(path)
+       return true
 
 
 func open_image_as_new_tab(path: String, image: Image) -> void:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Pixelorama-0.11.2/src/Autoload/Palettes.gd 
new/Pixelorama-0.11.3/src/Autoload/Palettes.gd
--- old/Pixelorama-0.11.2/src/Autoload/Palettes.gd      2023-08-31 
10:38:47.000000000 +0200
+++ new/Pixelorama-0.11.3/src/Autoload/Palettes.gd      2023-10-30 
14:42:51.000000000 +0100
@@ -211,14 +211,17 @@
        palettes[palette_path] = current_palette
 
 
-func _delete_palette(path: String) -> void:
-       var dir = Directory.new()
-       dir.remove(path)
+func _delete_palette(path: String, permanent := true) -> void:
+       if permanent:
+               var dir = Directory.new()
+               dir.remove(path)
+       else:
+               OS.move_to_trash(path)
        palettes.erase(path)
 
 
-func current_palete_delete() -> void:
-       _delete_palette(current_palette.resource_path)
+func current_palete_delete(permanent := true) -> void:
+       _delete_palette(current_palette.resource_path, permanent)
 
        if palettes.size() > 0:
                select_palette(palettes.keys()[0])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Pixelorama-0.11.2/src/Classes/Cel3D.gd 
new/Pixelorama-0.11.3/src/Classes/Cel3D.gd
--- old/Pixelorama-0.11.2/src/Classes/Cel3D.gd  2023-08-31 10:38:47.000000000 
+0200
+++ new/Pixelorama-0.11.3/src/Classes/Cel3D.gd  2023-10-30 14:42:51.000000000 
+0100
@@ -177,6 +177,9 @@
 
 
 func deserialize(dict: Dictionary) -> void:
+       if dict.has("pxo_version"):
+               if dict["pxo_version"] == 3:  # It's a 1.x project convert it 
to 0.x format
+                       convert_1x_to_0x(dict)
        .deserialize(dict)
        scene_properties = dict["scene_properties"]
        var objects_copy = dict["object_properties"]
@@ -195,6 +198,70 @@
                _add_object_node(object)
 
 
+## Used to convert 3d cels found in projects exported from a 0.x version to 1.x
+func convert_1x_to_0x(dict: Dictionary) -> void:
+       # Converting the scene dictionary
+       var scene_dict: Dictionary = dict["scene_properties"]
+       scene_dict["camera_transform"] = str2var(
+               scene_dict["camera_transform"].replace("Transform3D", 
"Transform")
+       )
+       scene_dict["camera_projection"] = 
str2var(scene_dict["camera_projection"])
+       scene_dict["camera_fov"] = str2var(scene_dict["camera_fov"])
+       scene_dict["camera_size"] = str2var(scene_dict["camera_size"])
+       scene_dict["ambient_light_color"] = 
str2var(scene_dict["ambient_light_color"])
+       scene_dict["ambient_light_energy"] = 
str2var(scene_dict["ambient_light_energy"])
+       # Converting the objects dictionary
+       var objects_copy: Dictionary = dict["object_properties"]
+       for object_id_as_str in objects_copy.keys():
+               objects_copy[object_id_as_str] = str2var(
+                       objects_copy[object_id_as_str].replace("Transform3D", 
"Transform")
+               )
+               # we are using a separate variable to make it easy to write
+               var object_info: Dictionary = objects_copy[object_id_as_str]
+               # Special operations to adjust gizmo
+               # take note of origin
+               var origin = object_info["transform"].origin
+               match object_info["type"]:
+                       0:  # BOX
+                               object_info["transform"] = 
object_info["transform"].scaled(Vector3.ONE / 2)
+                               object_info["transform"].origin = origin
+                               object_info["mesh_size"] *= 2
+                       1:  # SPHERE
+                               object_info["transform"] = 
object_info["transform"].scaled(Vector3.ONE / 2)
+                               object_info["transform"].origin = origin
+                               object_info["mesh_radius"] *= 2
+                               object_info["mesh_height"] *= 2
+                       2:  # CAPSULE
+                               object_info["transform"] = 
object_info["transform"].scaled(-(Vector3.ONE / 2))
+                               var basis = object_info["transform"].basis
+                               var new_transform: Transform = 
Transform(basis.x, -basis.z, -basis.y, origin)
+                               object_info["transform"] = new_transform
+                               object_info["transform"].origin = origin
+                               object_info["mesh_radius"] *= 2
+                               object_info["mesh_mid_height"] = (
+                                       object_info["mesh_height"]
+                                       - (object_info["mesh_radius"] / 2)
+                               )
+                       3:  # CYLINDER
+                               object_info["transform"] = 
object_info["transform"].scaled(Vector3.ONE / 2)
+                               object_info["transform"].origin = origin
+                               object_info["mesh_height"] *= 2
+                               object_info["mesh_bottom_radius"] *= 2
+                               object_info["mesh_top_radius"] *= 2
+                       4:  # PRISM
+                               object_info["transform"] = 
object_info["transform"].scaled(Vector3.ONE / 2)
+                               object_info["transform"].origin = origin
+                               object_info["mesh_size"] *= 2
+                       6:  # PLANE
+                               object_info["transform"] = 
object_info["transform"].scaled(Vector3.ONE / 2)
+                               object_info["transform"].origin = origin
+                               object_info["mesh_sizev2"] *= 2
+                       _:
+                               if not "shadow_color" in object_info.keys():
+                                       object_info["shadow_color"] = 
Color.black
+               objects_copy[object_id_as_str] = objects_copy[object_id_as_str]
+
+
 func on_remove() -> void:
        if is_instance_valid(viewport):
                viewport.queue_free()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Pixelorama-0.11.2/src/Classes/Project.gd 
new/Pixelorama-0.11.3/src/Classes/Project.gd
--- old/Pixelorama-0.11.2/src/Classes/Project.gd        2023-08-31 
10:38:47.000000000 +0200
+++ new/Pixelorama-0.11.3/src/Classes/Project.gd        2023-10-30 
14:42:51.000000000 +0100
@@ -380,6 +380,8 @@
                                                cels.append(GroupCel.new())
                                        Global.LayerTypes.THREE_D:
                                                cels.append(Cel3D.new(size, 
true))
+                               if dict.has("pxo_version"):
+                                       cel["pxo_version"] = dict["pxo_version"]
                                cels[cel_i].deserialize(cel)
                                _deserialize_metadata(cels[cel_i], cel)
                                cel_i += 1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Pixelorama-0.11.2/src/Main.gd 
new/Pixelorama-0.11.3/src/Main.gd
--- old/Pixelorama-0.11.2/src/Main.gd   2023-08-31 10:38:47.000000000 +0200
+++ new/Pixelorama-0.11.3/src/Main.gd   2023-10-30 14:42:51.000000000 +0100
@@ -287,12 +287,13 @@
 
 func save_project(path: String) -> void:
        var zstd: bool = 
Global.save_sprites_dialog.get_vbox().get_node("ZSTDCompression").pressed
-       OpenSave.save_pxo_file(path, false, zstd)
-       Global.open_sprites_dialog.current_dir = path.get_base_dir()
-       Global.config_cache.set_value("data", "current_dir", 
path.get_base_dir())
+       var success = OpenSave.save_pxo_file(path, false, zstd)
+       if success:
+               Global.open_sprites_dialog.current_dir = path.get_base_dir()
+               Global.config_cache.set_value("data", "current_dir", 
path.get_base_dir())
 
-       if is_quitting_on_save:
-               _quit()
+               if is_quitting_on_save:
+                       _quit()
 
 
 func _on_SaveSpriteHTML5_confirmed() -> void:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Pixelorama-0.11.2/src/Palette/EditPaletteDialog.gd 
new/Pixelorama-0.11.3/src/Palette/EditPaletteDialog.gd
--- old/Pixelorama-0.11.2/src/Palette/EditPaletteDialog.gd      2023-08-31 
10:38:47.000000000 +0200
+++ new/Pixelorama-0.11.3/src/Palette/EditPaletteDialog.gd      2023-10-30 
14:42:51.000000000 +0100
@@ -5,6 +5,7 @@
 signal deleted
 
 const DELETE_ACTION := "delete"
+const BIN_ACTION := "trash"
 
 # Keeps original size of edited palette
 var origin_width := 0
@@ -20,11 +21,14 @@
 
 onready var size_reduced_warning := $VBoxContainer/SizeReducedWarning
 onready var already_exists_warning := $VBoxContainer/AlreadyExistsWarning
+onready var delete_confirmation := $DeleteConfirmation
 
 
 func _ready() -> void:
        # Add delete button to edit palette dialog
        add_button(tr("Delete"), false, DELETE_ACTION)
+       delete_confirmation.get_ok().text = tr("Delete Permanently")
+       delete_confirmation.add_button(tr("Move to Trash"), false, BIN_ACTION)
 
 
 func open(current_palette: Palette) -> void:
@@ -78,8 +82,20 @@
 
 func _on_EditPaletteDialog_custom_action(action: String) -> void:
        if action == DELETE_ACTION:
+               delete_confirmation.popup_centered()
+
+
+func _on_delete_confirmation_confirmed() -> void:
+       emit_signal("deleted", true)
+       delete_confirmation.hide()
+       hide()
+
+
+func _on_delete_confirmation_custom_action(action: String) -> void:
+       if action == BIN_ACTION:
+               emit_signal("deleted", false)
+               delete_confirmation.hide()
                hide()
-               emit_signal("deleted")
 
 
 func _on_size_value_changed(_value):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Pixelorama-0.11.2/src/Palette/EditPaletteDialog.tscn 
new/Pixelorama-0.11.3/src/Palette/EditPaletteDialog.tscn
--- old/Pixelorama-0.11.2/src/Palette/EditPaletteDialog.tscn    2023-08-31 
10:38:47.000000000 +0200
+++ new/Pixelorama-0.11.3/src/Palette/EditPaletteDialog.tscn    2023-10-30 
14:42:51.000000000 +0100
@@ -5,6 +5,7 @@
 [node name="EditPaletteDialog" type="ConfirmationDialog"]
 margin_right = 409.0
 margin_bottom = 535.0
+rect_min_size = Vector2( 170, 59.5 )
 window_title = "Edit Palette"
 resizable = true
 script = ExtResource( 1 )
@@ -25,7 +26,7 @@
 
 [node name="PaletteMetadata" type="GridContainer" parent="VBoxContainer"]
 margin_right = 393.0
-margin_bottom = 188.0
+margin_bottom = 213.0
 columns = 2
 __meta__ = {
 "_edit_use_anchors_": false
@@ -46,9 +47,9 @@
 size_flags_horizontal = 3
 
 [node name="CommentLabel" type="Label" parent="VBoxContainer/PaletteMetadata"]
-margin_top = 46.0
+margin_top = 58.0
 margin_right = 67.0
-margin_bottom = 60.0
+margin_bottom = 72.0
 rect_min_size = Vector2( 50, 0 )
 text = "Comment:"
 
@@ -56,21 +57,21 @@
 margin_left = 71.0
 margin_top = 28.0
 margin_right = 393.0
-margin_bottom = 78.0
+margin_bottom = 103.0
 rect_min_size = Vector2( 0, 75 )
 size_flags_horizontal = 3
 
 [node name="WidthLabel" type="Label" parent="VBoxContainer/PaletteMetadata"]
-margin_top = 87.0
+margin_top = 112.0
 margin_right = 67.0
-margin_bottom = 101.0
+margin_bottom = 126.0
 text = "Width:"
 
 [node name="Width" type="SpinBox" parent="VBoxContainer/PaletteMetadata"]
 margin_left = 71.0
-margin_top = 82.0
+margin_top = 107.0
 margin_right = 393.0
-margin_bottom = 106.0
+margin_bottom = 131.0
 rect_min_size = Vector2( 0, 24 )
 size_flags_horizontal = 3
 min_value = 1.0
@@ -79,16 +80,16 @@
 align = 2
 
 [node name="HeightLabel" type="Label" parent="VBoxContainer/PaletteMetadata"]
-margin_top = 115.0
+margin_top = 140.0
 margin_right = 67.0
-margin_bottom = 129.0
+margin_bottom = 154.0
 text = "Height:"
 
 [node name="Height" type="SpinBox" parent="VBoxContainer/PaletteMetadata"]
 margin_left = 71.0
-margin_top = 110.0
+margin_top = 135.0
 margin_right = 393.0
-margin_bottom = 134.0
+margin_bottom = 159.0
 rect_min_size = Vector2( 0, 24 )
 size_flags_horizontal = 3
 min_value = 1.0
@@ -97,25 +98,25 @@
 align = 2
 
 [node name="PathLabel" type="Label" parent="VBoxContainer/PaletteMetadata"]
-margin_top = 156.0
+margin_top = 181.0
 margin_right = 67.0
-margin_bottom = 170.0
+margin_bottom = 195.0
 text = "Path:"
 
 [node name="Path" type="TextEdit" parent="VBoxContainer/PaletteMetadata"]
 margin_left = 71.0
-margin_top = 138.0
+margin_top = 163.0
 margin_right = 393.0
-margin_bottom = 188.0
+margin_bottom = 213.0
 rect_min_size = Vector2( 0, 50 )
 size_flags_horizontal = 3
 readonly = true
 wrap_enabled = true
 
 [node name="SizeReducedWarning" type="Label" parent="VBoxContainer"]
-margin_top = 192.0
+margin_top = 217.0
 margin_right = 393.0
-margin_bottom = 223.0
+margin_bottom = 248.0
 custom_colors/font_color = Color( 1, 0.603922, 0.603922, 1 )
 text = "Reducing palette size will reset positions of colors. Colors that 
don't fit in new palette size will be lost!"
 align = 1
@@ -126,9 +127,9 @@
 }
 
 [node name="AlreadyExistsWarning" type="Label" parent="VBoxContainer"]
-margin_top = 227.0
+margin_top = 252.0
 margin_right = 393.0
-margin_bottom = 241.0
+margin_bottom = 266.0
 custom_colors/font_color = Color( 1, 0.603922, 0.603922, 1 )
 text = "Palette with the same name and path already exists!"
 align = 1
@@ -138,9 +139,27 @@
 "_edit_use_anchors_": false
 }
 
+[node name="DeleteConfirmation" type="ConfirmationDialog" parent="."]
+margin_right = 170.0
+margin_bottom = 60.0
+rect_min_size = Vector2( 170, 59.5 )
+
+[node name="Label2" type="Label" parent="DeleteConfirmation"]
+anchor_right = 1.0
+anchor_bottom = 1.0
+margin_left = 8.0
+margin_top = 8.0
+margin_right = -8.0
+margin_bottom = -36.0
+text = "Delete Palette?"
+align = 1
+valign = 1
+
 [connection signal="confirmed" from="." to="." 
method="_on_EditPaletteDialog_confirmed"]
 [connection signal="custom_action" from="." to="." 
method="_on_EditPaletteDialog_custom_action"]
 [connection signal="popup_hide" from="." to="." 
method="_on_EditPaletteDialog_popup_hide"]
 [connection signal="text_changed" from="VBoxContainer/PaletteMetadata/Name" 
to="." method="_on_Name_text_changed"]
 [connection signal="value_changed" from="VBoxContainer/PaletteMetadata/Width" 
to="." method="_on_size_value_changed"]
 [connection signal="value_changed" from="VBoxContainer/PaletteMetadata/Height" 
to="." method="_on_size_value_changed"]
+[connection signal="confirmed" from="DeleteConfirmation" to="." 
method="_on_delete_confirmation_confirmed"]
+[connection signal="custom_action" from="DeleteConfirmation" to="." 
method="_on_delete_confirmation_custom_action"]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Pixelorama-0.11.2/src/Palette/PalettePanel.gd 
new/Pixelorama-0.11.3/src/Palette/PalettePanel.gd
--- old/Pixelorama-0.11.2/src/Palette/PalettePanel.gd   2023-08-31 
10:38:47.000000000 +0200
+++ new/Pixelorama-0.11.3/src/Palette/PalettePanel.gd   2023-10-30 
14:42:51.000000000 +0100
@@ -204,8 +204,8 @@
        Palettes.current_palette_set_color(edited_swatch_index, 
edited_swatch_color)
 
 
-func _on_EditPaletteDialog_deleted() -> void:
-       Palettes.current_palete_delete()
+func _on_EditPaletteDialog_deleted(permanent: bool) -> void:
+       Palettes.current_palete_delete(permanent)
        setup_palettes_selector()
        redraw_current_palette()
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Pixelorama-0.11.2/src/Palette/PaletteScroll.gd 
new/Pixelorama-0.11.3/src/Palette/PaletteScroll.gd
--- old/Pixelorama-0.11.2/src/Palette/PaletteScroll.gd  2023-08-31 
10:38:47.000000000 +0200
+++ new/Pixelorama-0.11.3/src/Palette/PaletteScroll.gd  2023-10-30 
14:42:51.000000000 +0100
@@ -11,7 +11,7 @@
 
 
 func _ready() -> void:
-       # Hide default scollbars
+       # Hide default scrollbars
        scroll_container.get_h_scrollbar().rect_scale = Vector2.ZERO
        scroll_container.get_v_scrollbar().rect_scale = Vector2.ZERO
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Pixelorama-0.11.2/src/Tools/Draw.gd 
new/Pixelorama-0.11.3/src/Tools/Draw.gd
--- old/Pixelorama-0.11.2/src/Tools/Draw.gd     2023-08-31 10:38:47.000000000 
+0200
+++ new/Pixelorama-0.11.3/src/Tools/Draw.gd     2023-10-30 14:42:51.000000000 
+0100
@@ -213,7 +213,7 @@
                var buffer_size = compressed_data["data"].size()
                compressed_data["data"] = compressed_data["data"].compress()
                project.undo_redo.add_do_method(
-                       self, "undo_redo_draw_op", image, compressed_data, 
buffer_size
+                       Global, "undo_redo_draw_op", image, compressed_data, 
buffer_size
                )
                image.unlock()
        for image in _undo_data:
@@ -221,7 +221,7 @@
                var buffer_size = compressed_data["data"].size()
                compressed_data["data"] = compressed_data["data"].compress()
                project.undo_redo.add_undo_method(
-                       self, "undo_redo_draw_op", image, compressed_data, 
buffer_size
+                       Global, "undo_redo_draw_op", image, compressed_data, 
buffer_size
                )
        project.undo_redo.add_do_method(Global, "undo_or_redo", false, frame, 
layer)
        project.undo_redo.add_undo_method(Global, "undo_or_redo", true, frame, 
layer)
@@ -230,10 +230,6 @@
        _undo_data.clear()
 
 
-func undo_redo_draw_op(image: Object, compressed_image_data: Dictionary, 
buffer_size: int) -> void:
-       image["data"]["data"] = 
compressed_image_data["data"].decompress(buffer_size)
-
-
 func draw_tool(position: Vector2) -> void:
        if Global.mirror_view:
                # Even brushes are not perfectly centred and are offsetted by 1 
px so we add it
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/Pixelorama-0.11.2/src/UI/TopMenuContainer/TopMenuContainer.gd 
new/Pixelorama-0.11.3/src/UI/TopMenuContainer/TopMenuContainer.gd
--- old/Pixelorama-0.11.2/src/UI/TopMenuContainer/TopMenuContainer.gd   
2023-08-31 10:38:47.000000000 +0200
+++ new/Pixelorama-0.11.3/src/UI/TopMenuContainer/TopMenuContainer.gd   
2023-10-30 14:42:51.000000000 +0100
@@ -734,7 +734,7 @@
                        
OS.shell_open(ProjectSettings.globalize_path("user://logs"))
                Global.HelpMenu.CHANGELOG:
                        OS.shell_open(
-                               
"https://github.com/Orama-Interactive/Pixelorama/blob/master/CHANGELOG.md#v0112---2023-08-31";
+                               
"https://github.com/Orama-Interactive/Pixelorama/blob/master/CHANGELOG.md#v0113---2023-10-30";
                        )
                Global.HelpMenu.ABOUT_PIXELORAMA:
                        
_popup_dialog(Global.control.get_node("Dialogs/AboutDialog"))

Reply via email to