[vlc-devel] [PATCH 14/15] qml: apply margintop and marginBottom properties when laying out items
Prince Gupta
guptaprince8832 at gmail.com
Tue Jul 21 14:18:12 CEST 2020
previously they were only used in positionViewAtIndex calls
---
modules/gui/qt/medialibrary/qml/MusicAlbums.qml | 4 ++--
.../qt/medialibrary/qml/MusicArtistsDisplay.qml | 2 ++
modules/gui/qt/widgets/qml/ExpandGridView.qml | 14 +++++++-------
3 files changed, 11 insertions(+), 9 deletions(-)
diff --git a/modules/gui/qt/medialibrary/qml/MusicAlbums.qml b/modules/gui/qt/medialibrary/qml/MusicAlbums.qml
index 807fb8b1b4..ff83ab4a47 100644
--- a/modules/gui/qt/medialibrary/qml/MusicAlbums.qml
+++ b/modules/gui/qt/medialibrary/qml/MusicAlbums.qml
@@ -41,7 +41,7 @@ Widgets.NavigableFocusScope {
readonly property var currentIndex: view.currentItem.currentIndex
//the index to "go to" when the view is loaded
property var initialIndex: 0
-
+ property int gridViewMarginTop: VLCStyle.margin_large
navigationCancel: function() {
if (view.currentItem.currentIndex <= 0) {
@@ -101,7 +101,7 @@ Widgets.NavigableFocusScope {
id: gridView_id
activeFocusOnTab:true
-
+ marginTop: root.gridViewMarginTop
cellWidth: VLCStyle.gridItem_music_width
cellHeight: VLCStyle.gridItem_music_height
diff --git a/modules/gui/qt/medialibrary/qml/MusicArtistsDisplay.qml b/modules/gui/qt/medialibrary/qml/MusicArtistsDisplay.qml
index 7a675d7fa8..71474c99c2 100644
--- a/modules/gui/qt/medialibrary/qml/MusicArtistsDisplay.qml
+++ b/modules/gui/qt/medialibrary/qml/MusicArtistsDisplay.qml
@@ -172,7 +172,9 @@ Widgets.NavigableFocusScope {
MusicAlbums {
id: albumSubView
+
anchors.fill: parent
+ gridViewMarginTop: 0
header: ArtistTopBanner {
id: artistBanner
diff --git a/modules/gui/qt/widgets/qml/ExpandGridView.qml b/modules/gui/qt/widgets/qml/ExpandGridView.qml
index b7c72b94ba..eb13646b12 100644
--- a/modules/gui/qt/widgets/qml/ExpandGridView.qml
+++ b/modules/gui/qt/widgets/qml/ExpandGridView.qml
@@ -29,8 +29,8 @@ NavigableFocusScope {
property int cellHeight: 100
//margin to apply
- property int marginBottom: root.cellHeight / 2
- property int marginTop: root.cellHeight / 3
+ property int marginBottom: 0
+ property int marginTop: 0
property int horizontalSpacing: VLCStyle.column_margin_width
property int verticalSpacing: VLCStyle.column_margin_width
@@ -117,7 +117,7 @@ NavigableFocusScope {
var colCount = root.getNbItemsPerRow()
var remainingSpace = flickable.width - (colCount * root._effectiveCellWidth) + root.horizontalSpacing
var rowCol = getItemRowCol(id)
- return [(rowCol[0] * root._effectiveCellWidth) + (remainingSpace / 2), rowCol[1] * root._effectiveCellHeight + headerHeight]
+ return [(rowCol[0] * root._effectiveCellWidth) + (remainingSpace / 2), rowCol[1] * root._effectiveCellHeight + headerHeight + marginTop]
}
//use the same signature as Gridview.positionViewAtIndex(index, PositionMode mode)
@@ -186,7 +186,7 @@ NavigableFocusScope {
}
function _getFirstAndLastInstanciatedItemIds() {
- var myContentY = flickable.contentY - root.headerHeight
+ var myContentY = flickable.contentY - root.headerHeight - marginTop
var contentYWithoutExpand = myContentY
var heightWithoutExpand = flickable.height
@@ -322,7 +322,7 @@ NavigableFocusScope {
Loader {
id: headerItemLoader
//load the header early (when the first row is visible)
- visible: flickable.contentY < root.headerHeight + root._effectiveCellHeight
+ visible: flickable.contentY < (root.headerHeight + root._effectiveCellHeight + root.marginTop)
sourceComponent: headerDelegate
focus: item.focus
onFocusChanged: {
@@ -336,7 +336,7 @@ NavigableFocusScope {
}
onLoaded: {
item.x = 0
- item.y = 0
+ item.y = root.marginTop
}
}
@@ -425,7 +425,7 @@ NavigableFocusScope {
// Calculate and set the contentHeight
var newContentHeight = root.getItemPos(_count - 1)[1] + root._effectiveCellHeight + _expandItemVerticalSpace
- contentHeight = newContentHeight
+ contentHeight = newContentHeight + root.marginBottom // marginTop is included from root.getItemPos
contentWidth = root._effectiveCellWidth * root.getNbItemsPerRow() - root.horizontalSpacing
_updateSelected()
--
2.25.1
More information about the vlc-devel
mailing list