Skip to content

Feature/two finger rotation and gesture settings#2491

Open
iwahage wants to merge 10 commits intoOpenOrienteering:masterfrom
iwahage:feature/two-finger-rotation-and-gesture-settings
Open

Feature/two finger rotation and gesture settings#2491
iwahage wants to merge 10 commits intoOpenOrienteering:masterfrom
iwahage:feature/two-finger-rotation-and-gesture-settings

Conversation

@iwahage
Copy link
Copy Markdown

@iwahage iwahage commented Apr 7, 2026

No description provided.

iwahage and others added 10 commits April 2, 2026 22:55
[codex] Improve Android mobile toolbar customization and edge-to-edge UI
In mobile mode, map_widget lives inside a container_widget (QVBoxLayout
with bottom_action_bar).  MapEditorController::detach() was calling
setCentralWidget(nullptr), which does nothing because QStackedWidget
ignores null, and then deleting map_widget individually, leaving a
dangling pointer in the container's layout.  When the app later left
fullscreen mode, resize events reached the stale container and accessed
freed memory, causing a freeze.

Fix: pass a new empty QWidget to setCentralWidget() so the old container
is properly removed from the QStackedWidget and scheduled for deletion.
Also change the cleanup loop in MainWindow::setCentralWidget() from
`if` to `while` to handle edge cases with multiple stacked widgets.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Fix Android freeze when discarding changes on close
Fix multiple template rendering issues on Android:

- Fix template flicker/offset during auto-rotation by excluding
  pan_offset from cache state recording and comparing transforms
  without pan_offset in drawTemplateCache
- Fix persistent flickering by disabling deferred template cache
  updates that caused 2-frame visual glitches
- Render map and templates in uncovered regions during pinch zoom-out
  instead of showing gray, using the same composite transform as the
  scaled cache for perfect alignment
- Render map and templates in uncovered regions during pan drag
  instead of showing gray
- Add tiled drawing for template images with source_rect clipping

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…dering

Fix template cache rendering during auto-rotation, pan, and pinch zoom
…ring

- Add two-finger rotation support during pinch gestures when
  auto-rotation (compass) is OFF. Rotation is applied around the
  pinch center with correct view center compensation on release.
- Render map/templates in uncovered regions during pinch rotation
  (not just zoom-out), using the same composite transform for
  perfect alignment with the scaled/rotated cache.
- Add "Gesture uncovered area" setting with 3 levels:
  Off (gray), Templates only (default), Full (templates + map).
  This allows lower-end devices to trade visual quality for
  smoother gesture performance.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@iwahage iwahage force-pushed the feature/two-finger-rotation-and-gesture-settings branch from 83e2f5b to 6b5fa3d Compare April 7, 2026 13:46
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