-
Notifications
You must be signed in to change notification settings - Fork 88
WIP feat: close the bottom sheet on a swipe down #19109
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
Jenkins BuildsClick to see older builds (59)
|
12855b5 to
9845b56
Compare
|
|
216a28f to
2f5e136
Compare
|
The StatusDropdown: Zaznam.obrazovky.z.2025-10-23.11-31-46.mp4 |
- introduce a new semi-visual component called `StatusBottomSheetDragHandle` to visualize the drag handle and to perform the drag/swipe operation when assigned a `dragObjectRoot` target - use the handle in StatusDialog (and its header) and StatusDropdown - adjust the StatusDialog SB page - fix some minor (mostly docu) comments Fixes #19103
2f5e136 to
e8df02c
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
|
|
||
| anchors.top: parent.top | ||
| anchors.horizontalCenter: parent.horizontalCenter | ||
| anchors.topMargin: Theme.smallPadding |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The padding is way too small on mobile
| anchors.topMargin: Theme.smallPadding | |
| anchors.topMargin: Theme.defaultSmallPadding |
|
|
||
| anchors.top: parent.top | ||
| anchors.horizontalCenter: parent.horizontalCenter | ||
| anchors.topMargin: Theme.halfPadding |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| anchors.topMargin: Theme.halfPadding | |
| anchors.topMargin: Theme.defaultHalfPadding |
| // just a visual handle; the drag operation is done in StatusDialog | ||
| StatusBottomSheetDragHandle { | ||
| anchors.top: parent.top | ||
| anchors.topMargin: Theme.halfPadding |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| anchors.topMargin: Theme.halfPadding | |
| anchors.topMargin: Theme.defaultHalfPadding |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I like the idea and it works for some popups. However after basic testing it seems not working consistently for all popups we have. For some there are some glitches like jumping content or broken layout. Others have the handler visible but it's not possible to start swipe. Finally some popups don't have the handler visible at all.
The content is jumping when dragging, sometimes triggers conversion to regular popup:
https://github.com/user-attachments/assets/738cc305-d942-496c-a34c-775fb0e61955
Something strange happens there, the top bar disappears long with the popup 🤔 :
Record_2025-10-24-12-01-17.mp4
Broken layout when touching sensitive drag areal:
Record_2025-10-24-12-19-02.mp4
Sometimes the initial jump is inadequately high:
Record_2025-10-24-12-33-52.mp4
Handler not visible (and bottom part cut, probably bc of other changes not related with this pr):

Handler not visible:
Handler not possible to activate:
The list of issues is probably not complete as there is many popups in the app. My suggestion is to keep this feature as experimental for further testing/patching. Providing it to the release in last moment is quite risky and may bring bad impression of not fully completed feature.
|
Yeah I agree, in some popups it doesn't work (b/c not derived from StatusDialog), in others because of a double StatusDropdown inside a combo box, etc :/ |





What does the PR do
StatusBottomSheetDragHandleto visualize the drag handle and to perform the drag/swipe operation when assigned adragObjectRoottargetFixes #19103
Affected areas
StatusDialog/StatusDropdown
Architecture compliance
My PR is consistent with this document: QML Architecture Guidelines
Screencapture of the functionality
Zaznam.obrazovky.z.2025-10-21.18-16-36.mp4
Impact on end user
Users can swipe down a StatusDialog on touch devices
How to test
Open any StatusDialog; when in bottomSheet mode, the dialog should have a little drag handle on top which can be swiped down to close the popup
Risk
low