Draft: Responsive UI Elements
This MR focuses on achieving responsiveness in UI elements according to the window size.
Grid View Enhancements (ExpandGridView & KeyNavigableListView):
- Removed the obsolete property
playCoverBorderWidth - Introduced the
GridSizeHelperQML component, enabling dynamic cell dimensions for GridItem based on available content width. - Added the
ExpandGridItemViewQML component, which usesExpandGridViewwith GridItem delegates. - Replaced
gridItem_music/video/networkproperties from VLCStyle withtitleHeightandsubtitleHeight.- GridItem
cellHeight, now properly takes into account thetitleMargin
- GridItem
- Implemented a dynamic gutter size between items based on the number of items per row.
- Introduced maximum item-per-row limits (6 for videos, 10 for others) to align with popular streaming platforms designs.
Table View Enhancements (KeyNavigableTableView):
- Columns are now resized instantly instead of relying on periodic window resizing intervals.
- Properly positioned the
contextButton.
Margins:
- Adjusted left margins for both grid and table views to maintain consistency. The left margin remains constant with a gradual shift from 16px to 24px when the window size is between 600 and 1000.
Known Issues/Not optimized:
- Resizing the window, reloads/recreates a
doubleShadowfor each grid element.
Edited by Leon Vitanos