Fixed Tile Animation Editor update after tileset image reload by bjorn · Pull Request #4508 · mapeditor/tiled (original) (raw)

author Thorbjørn Lindeijer bjorn@lindeijer.nl 1777023249 +0200 committer UltraDagon 43974011+UltraDagon@users.noreply.github.com 1780088523 -0500

parent f44e55b author Thorbjørn Lindeijer bjorn@lindeijer.nl 1777023249 +0200 committer UltraDagon 43974011+UltraDagon@users.noreply.github.com 1780088145 -0500

parent f44e55b author Thorbjørn Lindeijer bjorn@lindeijer.nl 1777023249 +0200 committer UltraDagon 43974011+UltraDagon@users.noreply.github.com 1780088120 -0500

Fix locale-aware parsing of numbers in expression-capable spin boxes (mapeditor#4507)

When the ability to evaluate expressions was added to the spin boxes, it bypassed the locale-aware number parsing normally performed by QSpinBox/QDoubleSpinBox. As a result, users in locales using a comma as decimal separator could no longer enter values like "3,14".

Now the input is first parsed as a number using the widget's locale, and only falls back to expression evaluation when that fails.

(cherry picked from commit fef53ef)

Fixed Tile Animation Editor update after tileset image reload (mapeditor#4508)

When a tileset image was reloaded, the Tile Animation Editor didn't immediately repaint and failed to show any new tiles until switching tilesets. Now it updates immediately.

Closes mapeditor#3923

(cherry picked from commit 5fac4aa)

Fixed runtime language switching in many editor widgets and models (mapeditor#4411)

Added missing LanguageChange / Preferences::languageChanged retranslation hooks in affected widgets, models, and action handlers, and refreshed dynamic property labels in PropertiesWidget.

Closes mapeditor#3443

Co-authored-by: Thorbjørn Lindeijer bjorn@lindeijer.nl (cherry picked from commit c247b17)

Fix point object bounding box in multi-object selections (mapeditor#4401)

The objectBounds() function was using renderer->shape(object) for Point objects, which returns the visual pin shape rather than the actual point position. This caused the selection bounding box to be larger than expected, affecting snapping and rotation behavior.

Fix by returning a zero-size rect at the point's screen position, consistent with how Point objects are treated geometrically.

Fixes mapeditor#3784

(cherry picked from commit 7144155)

Made indexes in the TilesetModel without tiles invalid (mapeditor#4512)

This way, those indexes can't be navigated to using the keyboard nor selected using the mouse.

I've also added rendering of the focused tile in TileDelegate, which helps a little bit to give additional context in some cases like multi-selection or when toggling selection.

Closes mapeditor#3498

(cherry picked from commit 77fc9a2)

Prepare for Tiled 1.12.2 release

CI: Corrected macOS version suffixes in artifact names

The Qt 6.10.2 build's deployment target is macOS 13, but the artifact was named "macOS-11+". The Qt 5.15.2 build covers macOS 10.13 through 12, but the artifact was named "macOS-10.13-10.15". Updated both version_suffix values to match the actual minimum supported version, matching the manual rename done for 1.12.1.

CI: Build snap for both amd64 and arm64 (mapeditor#4532)

CI: Disabled Homebrew cask bump workflow (mapeditor#4533)

Homebrew's BrewTestBot autobumps the tiled cask on a ~3-hour cadence, and brew bump-cask-pr refuses to run manually against autobumped casks. Set the job's if: to false; flip it back when BrewTestBot needs replacing.

tBIN plugin: Made it compile with QT_NO_CAST_FROM_ASCII (mapeditor#4513)

Fixes build errors against Qt 6.4 (Ubuntu 24.04) where QStringView comparisons with const char* literals cause compilation issues.

Wrapped string literals in QLatin1String/QStringLiteral and replaced implicit const char* conversions with explicit QString::fromStdString / QLatin1Char.

Fix copy/paste of list properties (mapeditor#4514) and clean up RecursiveBehavior (mapeditor#4517)

Fix copy/paste of list properties and related clean-up

Copying a list custom property and pasting it onto another object dropped the items, leaving them saved as type="std::nullptr_t" in TMX. The same bug applied to lists nested inside class properties and also affected storing list properties on projects or worlds.

The clipboard, project files, and world files serialize through propertiesToJson / propertiesFromJson, which fed QJsonValue::fromVariant a tree containing ExportValue wrappers it was not programmed to handle. They now use a new TypedListValues RecursiveBehavior that produces {type, propertytype, value} maps for each list element (matching the JSON map format on disk) and decodes the same shape on read.

A few cleanups while in the area:

Closes mapeditor#4514

Updated dependencies mentioned in the README.md (mapeditor#4470)

Fixed resolving of class members values in lists (mapeditor#4525)

The ExportHelper forgot to recurse into list values.

Also documented exportValueToJson's NoRecursion precondition and tweaked some comments in MapToVariantConverter.

TiledQuick: Add border and grid to the map view (mapeditor#4392)

Adds qtshadertools dependency.

Co-authored-by: Thorbjørn Lindeijer bjorn@lindeijer.nl

Bump softprops/action-gh-release from 2 to 3 (mapeditor#4500)

Bumps softprops/action-gh-release from 2 to 3.


updated-dependencies:

Signed-off-by: dependabot[bot] support@github.com Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> (cherry picked from commit fa62547)

docs: Add pixi-tiledmap support details to documentation (mapeditor#4499)

Added information about pixi-tiledmap as a loader and renderer for Tiled Maps in Pixi.JS.

(cherry picked from commit 1fb0747)

Fix point object bounding box in multi-object selections (mapeditor#4401)

The objectBounds() function was using renderer->shape(object) for Point objects, which returns the visual pin shape rather than the actual point position. This caused the selection bounding box to be larger than expected, affecting snapping and rotation behavior.

Fix by returning a zero-size rect at the point's screen position, consistent with how Point objects are treated geometrically.

Fixes mapeditor#3784

(cherry picked from commit 7144155)

fix(ci): replace third-party action with native brew bump-cask-pr command (mapeditor#4478)

The eugenesvk/action-homebrew-bump-cask action had failed on the first test, see: mapeditor#4391 (comment)

(cherry picked from commit e48776a)

Made indexes in the TilesetModel without tiles invalid (mapeditor#4512)

This way, those indexes can't be navigated to using the keyboard nor selected using the mouse.

I've also added rendering of the focused tile in TileDelegate, which helps a little bit to give additional context in some cases like multi-selection or when toggling selection.

Closes mapeditor#3498

(cherry picked from commit 77fc9a2)

Bump timheuer/base64-to-file from 1 to 2 (mapeditor#4516)

Bumps timheuer/base64-to-file from 1 to 2.


updated-dependencies:

Signed-off-by: dependabot[bot] support@github.com Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> (cherry picked from commit f511930)

tBIN plugin: Made it compile with QT_NO_CAST_FROM_ASCII (mapeditor#4513)

Fixes build errors against Qt 6.4 (Ubuntu 24.04) where QStringView comparisons with const char* literals cause compilation issues.

Wrapped string literals in QLatin1String/QStringLiteral and replaced implicit const char* conversions with explicit QString::fromStdString / QLatin1Char.

(cherry picked from commit d6417e4)

Fix copy/paste of list properties (mapeditor#4514) and clean up RecursiveBehavior (mapeditor#4517)

Fix copy/paste of list properties and related clean-up

Copying a list custom property and pasting it onto another object dropped the items, leaving them saved as type="std::nullptr_t" in TMX. The same bug applied to lists nested inside class properties and also affected storing list properties on projects or worlds.

The clipboard, project files, and world files serialize through propertiesToJson / propertiesFromJson, which fed QJsonValue::fromVariant a tree containing ExportValue wrappers it was not programmed to handle. They now use a new TypedListValues RecursiveBehavior that produces {type, propertytype, value} maps for each list element (matching the JSON map format on disk) and decodes the same shape on read.

A few cleanups while in the area:

Closes mapeditor#4514

(cherry picked from commit c9ad67b)

Updated dependencies mentioned in the README.md (mapeditor#4470)

(cherry picked from commit 7f243af)

Fixed resolving of class members values in lists (mapeditor#4525)

The ExportHelper forgot to recurse into list values.

Also documented exportValueToJson's NoRecursion precondition and tweaked some comments in MapToVariantConverter.

(cherry picked from commit c676301)

Prepare for Tiled 1.12.2 release

CI: Build snap for both amd64 and arm64 (mapeditor#4532)

CI: Disabled Homebrew cask bump workflow (mapeditor#4533)

Homebrew's BrewTestBot autobumps the tiled cask on a ~3-hour cadence, and brew bump-cask-pr refuses to run manually against autobumped casks. Set the job's if: to false; flip it back when BrewTestBot needs replacing.