Skip to content

Fix 'Other folders' button inaccessible in landscape mode (#3769) - #4751

Closed
cagnulein wants to merge 1 commit into
masterfrom
worktree-fix-issue-3769-landscape-layout
Closed

Fix 'Other folders' button inaccessible in landscape mode (#3769)#4751
cagnulein wants to merge 1 commit into
masterfrom
worktree-fix-issue-3769-landscape-layout

Conversation

@cagnulein

Copy link
Copy Markdown
Owner

Summary

Fixes #3769 — the "Other folders" button was pushed off-screen and inaccessible when the device was in landscape orientation.

Root cause: In Qt Quick, children of ColumnLayout/RowLayout must use Layout.* properties for sizing. When anchors.fill: parent or anchors.bottom: parent.bottom are used instead, the anchor geometry overrides the layout engine's measurements, causing the content area to expand and bottom buttons to be clipped or pushed off-screen in landscape.

Files fixed:

  • src/GPXList.qml — used on Android/iOS (GPX route list, "Other folders" button)
  • src/TrainingProgramsList.qml — used on desktop (training program list, all 3 bottom buttons)

Changes:

  • Replaced anchors.fill: parent / anchors.top: parent.top with Layout.fillWidth: true + Layout.fillHeight: true on the content RowLayout
  • Replaced anchors.fill: parent with Layout.fillHeight: true on the inner ColumnLayout
  • Replaced Layout.preferredHeight: parent.height with Layout.fillHeight: true on ListView and ScrollView
  • Replaced height: 50; width: parent.width; anchors { bottom: parent.bottom } with Layout.fillWidth: true; Layout.preferredHeight: 50 on bottom buttons

Screenshots (tablet 2560×1600, all 4 rotations)

GPXList — Landscape (0°)

gpxlist_landscape

GPXList — Portrait (90°)

gpxlist_portrait

GPXList — Landscape Inverted (180°)

gpxlist_landscape_inverted

GPXList — Portrait Inverted (270°)

gpxlist_portrait_inverted

TrainingProgramsList — Landscape (from tablet, JS variant used on Android)

trainlist_landscape

Test plan

  • Tested on Android emulator (tablet 2560×1600, API 34) in all 4 rotations
  • "Other folders" button visible and accessible in every orientation
  • GPXList shows split-panel layout (file list left, map preview right) correctly in all rotations
  • TrainingProgramsList buttons ("Start Workout", "Delete", "Other folders") all visible

🤖 Generated with Claude Code

In Qt Quick layouts, mixing anchors.fill/anchors.bottom with Layout.*
properties in children of ColumnLayout/RowLayout causes undefined behavior:
the anchored item overrides layout-managed geometry, pushing the bottom
button off screen in landscape orientation.

Fix TrainingProgramsList.qml and GPXList.qml by replacing anchor-based
positioning with proper Layout.fill*/Layout.preferredHeight properties
on all children of the root ColumnLayout.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
cagnulein added a commit that referenced this pull request Jun 30, 2026
Screenshots belong in PR comments, not the repository.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@cagnulein

Copy link
Copy Markdown
Owner Author

Closing this PR — the GPXList.qml and TrainingProgramsList.qml layout fixes are already included in PR #4752 (branch fix-orientation-inset-clipping), which covers the full Android orientation/edge-to-edge work. The screenshots have been removed from the repo there too.

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.

[BUG] UI: "Other folders" button is inaccessible in landscape mode on tablets

1 participant