Skip to content

Comments

Adds 'Move Tiles' tool for moving and duplicating tile selections#4311

Open
Syynth wants to merge 1 commit intomapeditor:masterfrom
Syynth:tile-move-tool
Open

Adds 'Move Tiles' tool for moving and duplicating tile selections#4311
Syynth wants to merge 1 commit intomapeditor:masterfrom
Syynth:tile-move-tool

Conversation

@Syynth
Copy link

@Syynth Syynth commented Jan 10, 2026

While looking to see if there was any prior work on this, I saw #1647 and did my best to incorporate the feedback there.

  • Shortcut: V (standard move tool shortcut)
  • Drag to move selected tiles
  • Alt + Drag to duplicate instead of move
  • Escape or right-click to cancel mid-drag
  • Undo restores both tiles and selection position

The tool uses a floating selection visualization with a marching ants animation during the drag operation. The move is committed as a single command to the undo stack when released.

Screen.Recording.2026-01-10.at.12.10.03.PM.mov

Files added:

  • tilemovetool.h/cpp - Tool implementation
  • floatingtileselectionitem.h/cpp - Drag visualization
  • movetiles.h/cpp - Undo command
    Files changed:
  • editing-tile-layers.rst - Add to manual
  • libtilededitor.qbs - Update build system
  • mapeditor.cpp - Register tool
  • undocommands.h - Register command

Personally I'd kind of like the move tool to be able to create/update the selection without switching to a different tool, but this felt most closely aligned with how the other tools already worked.

If you have any feedback about how it should work, please let me know and I'd be happy to make adjustments; this was just my first pass. If you'd prefer not to add it, I understand but this was to scratch my own itch first and foremost 😁

Adds a dedicated tool for moving tile selections to a new location.

  - Shortcut: V (standard move tool shortcut)
  - Drag to move selected tiles
  - Alt+drag to duplicate instead of move
  - Escape or right-click to cancel mid-drag
  - Undo restores both tiles and selection position

The tool uses a floating selection visualization with marching ants
animation during the drag operation. The move is committed as a single
undo command when released.

New files:
  - tilemovetool.h/cpp - Tool implementation
  - floatingtileselectionitem.h/cpp - Drag visualization
  - movetiles.h/cpp - Undo command
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant