From 39c7f677d4d8b8bdb678d07f8a2ea8604dcbdebf Mon Sep 17 00:00:00 2001 From: Pierre Lamot Date: Thu, 13 Feb 2020 15:24:05 +0100 Subject: [PATCH] qml: dynamically sets the labels on the Video miniature this avoids having a gap when one is missing Signed-off-by: Jean-Baptiste Kempf --- modules/gui/qt/medialibrary/qml/VideoGridItem.qml | 6 ++-- modules/gui/qt/widgets/qml/GridItem.qml | 34 ++++++++++++----------- 2 files changed, 22 insertions(+), 18 deletions(-) diff --git a/modules/gui/qt/medialibrary/qml/VideoGridItem.qml b/modules/gui/qt/medialibrary/qml/VideoGridItem.qml index 4591e88d03..368dd1b221 100644 --- a/modules/gui/qt/medialibrary/qml/VideoGridItem.qml +++ b/modules/gui/qt/medialibrary/qml/VideoGridItem.qml @@ -27,8 +27,10 @@ Widgets.GridItem { image: model.thumbnail || VLCStyle.noArtCover title: model.title || i18n.qtr("Unknown title") infoLeft: model.duration || "" - resolution: model.resolution_name || "" - channel: model.channel || "" + labels: [ + model.resolution_name || "", + model.channel || "" + ].filter(function(a) { return a !== "" } ) isVideo: true isNew: model.playcount < 1 progress: model.progress > 0 ? model.progress : 0 diff --git a/modules/gui/qt/widgets/qml/GridItem.qml b/modules/gui/qt/widgets/qml/GridItem.qml index 9737c007e0..3aad512eeb 100644 --- a/modules/gui/qt/widgets/qml/GridItem.qml +++ b/modules/gui/qt/widgets/qml/GridItem.qml @@ -34,11 +34,10 @@ Item { property bool selected: false property string infoLeft: "" - property string resolution: "" property bool isVideo: false property bool isNew: false property double progress: 0 - property string channel: "" + property var labels: [] property real pictureWidth: isVideo ? VLCStyle.video_normal_width : VLCStyle.cover_small property real pictureHeight: isVideo ? VLCStyle.video_normal_height : VLCStyle.cover_small @@ -65,6 +64,7 @@ Item { property real _picWidth: pictureWidth + (_zoomed ? 2*outterMargin : 0) property real _picHeight: pictureHeight + (_zoomed ? 2*outterMargin : 0) + MouseArea { id: mouseArea hoverEnabled: true @@ -143,28 +143,30 @@ Item { source: image - VideoQualityLabel { - id: resolutionLabel - visible: root.resolution !== "" + RowLayout { anchors { top: parent.top left: parent.left + right: parent.right topMargin: VLCStyle.margin_xxsmall leftMargin: VLCStyle.margin_xxsmall + rightMargin: VLCStyle.margin_xxsmall } - text: root.resolution - } - VideoQualityLabel { - anchors { - top: parent.top - left: resolutionLabel.right - topMargin: VLCStyle.margin_xxsmall - leftMargin: VLCStyle.margin_xxsmall + spacing: VLCStyle.margin_xxsmall + + Repeater { + model: labels + VideoQualityLabel { + Layout.preferredWidth: implicitWidth + Layout.preferredHeight: implicitHeight + text: modelData + } + } + + Item { + Layout.fillWidth: true } - visible: root.channel !== "" - text: root.channel - color: "limegreen" } VideoProgressBar { -- 2.11.4.GIT