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
GridSizeHelper
QML component, enabling dynamic cell dimensions for GridItem based on available content width. - Added the
ExpandGridItemView
QML component, which usesExpandGridView
with GridItem delegates. - Replaced
gridItem_music/video/network
properties from VLCStyle withtitleHeight
andsubtitleHeight
.- 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
doubleShadow
for each grid element.
Edited by Leon Vitanos