vlc | branch: master | Prince Gupta <[email protected]> | Fri Jun 19 16:32:13 2020 +0530| [13ce4ab4d6bcde5d4afae20db9b2e1a796f2174b] | committer: Pierre Lamot
qml: introduce MediaCover widget can be used to display image covers with play icons > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=13ce4ab4d6bcde5d4afae20db9b2e1a796f2174b --- modules/gui/qt/Makefile.am | 1 + modules/gui/qt/vlc.qrc | 1 + modules/gui/qt/widgets/qml/MediaCover.qml | 83 +++++++++++++++++++++++++++++++ 3 files changed, 85 insertions(+) diff --git a/modules/gui/qt/Makefile.am b/modules/gui/qt/Makefile.am index 130afcfdbe..e3c78a3008 100644 --- a/modules/gui/qt/Makefile.am +++ b/modules/gui/qt/Makefile.am @@ -669,6 +669,7 @@ libqt_plugin_la_QML = \ gui/qt/widgets/qml/LabelSeparator.qml \ gui/qt/widgets/qml/ListItem.qml \ gui/qt/widgets/qml/ListLabel.qml \ + gui/qt/widgets/qml/MediaCover.qml \ gui/qt/widgets/qml/MenuExt.qml \ gui/qt/widgets/qml/MenuItemExt.qml \ gui/qt/widgets/qml/NavigableCol.qml \ diff --git a/modules/gui/qt/vlc.qrc b/modules/gui/qt/vlc.qrc index 9fbf88ad31..6c12e06b2b 100644 --- a/modules/gui/qt/vlc.qrc +++ b/modules/gui/qt/vlc.qrc @@ -215,6 +215,7 @@ <file alias="IconLabel.qml">widgets/qml/IconLabel.qml</file> <file alias="ListLabel.qml">widgets/qml/ListLabel.qml</file> <file alias="PlayCover.qml">widgets/qml/PlayCover.qml</file> + <file alias="MediaCover.qml">widgets/qml/MediaCover.qml</file> </qresource> <qresource prefix="/util"> <file alias="SelectableDelegateModel.qml">util/qml/SelectableDelegateModel.qml</file> diff --git a/modules/gui/qt/widgets/qml/MediaCover.qml b/modules/gui/qt/widgets/qml/MediaCover.qml new file mode 100644 index 0000000000..02e97197ee --- /dev/null +++ b/modules/gui/qt/widgets/qml/MediaCover.qml @@ -0,0 +1,83 @@ + +/***************************************************************************** + * Copyright (C) 2020 VLC authors and VideoLAN + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * ( at your option ) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA. + *****************************************************************************/ +import QtQuick 2.11 +import QtQuick.Controls 2.4 +import QtQuick.Layouts 1.11 + +import "qrc:///widgets/" as Widgets +import "qrc:///style/" + +Widgets.RoundImage { + id: root + + property var labels: [] + property alias progress: progressBar.value + property alias playCoverVisible: playCover.visible + property alias playIconSize: playCover.iconSize + signal playIconClicked + + height: VLCStyle.listAlbumCover_height + width: VLCStyle.listAlbumCover_width + + RowLayout { + anchors { + top: parent.top + left: parent.left + right: parent.right + topMargin: VLCStyle.margin_xxsmall + leftMargin: VLCStyle.margin_xxsmall + rightMargin: VLCStyle.margin_xxsmall + } + + spacing: VLCStyle.margin_xxsmall + + Repeater { + model: labels + VideoQualityLabel { + Layout.preferredWidth: implicitWidth + Layout.preferredHeight: implicitHeight + text: modelData + } + } + + Item { + Layout.fillWidth: true + } + } + + Widgets.VideoProgressBar { + id: progressBar + + visible: !playCover.visible && value > 0 + anchors { + bottom: parent.bottom + left: parent.left + right: parent.right + } + } + + Widgets.PlayCover { + id: playCover + + anchors.fill: parent + iconSize: VLCStyle.play_root_small + + onIconClicked: root.playIconClicked() + } +} _______________________________________________ vlc-commits mailing list [email protected] https://mailman.videolan.org/listinfo/vlc-commits
