Friendiqa/source-linux/qml/newsqml/NewsVideoLarge.qml

122 lines
4.0 KiB
QML

// This file is part of Friendiqa
// https://git.friendi.ca/lubuwest/Friendiqa
// Copyright (C) 2020 Marco R. <thomasschmidt45@gmx.net>
//
// 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 3 of the License, or
// (at your option) any later version.
//
// In addition, as a special exception, the copyright holders give
// permission to link the code of portions of this program with the
// OpenSSL library under certain conditions as described in each
// individual source file, and distribute linked combinations including
// the two.
//
// You must obey the GNU General Public License in all respects for all
// of the code used other than OpenSSL. If you modify file(s) with this
// exception, you may extend this exception to your version of the
// file(s), but you are not obligated to do so. If you do not wish to do
// so, delete this exception statement from your version. If you delete
// this exception statement from all source files in the program, then
// also delete it here.
//
// 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, see <http://www.gnu.org/licenses/>.
import QtMultimedia 5.15
import QtQuick 2.11
import QtQuick.Controls 2.12
import "qrc:/qml/genericqml"
Page{
id:newsvideofullscreen
//color:"black"
//border.color: "light grey"
width:root.width;
height:root.height-3*root.fontFactor*osSettings.bigFontSize
property alias source:video.source
Text{
id:noticeText
text:""
color:"light grey"
width:parent.width/2
wrapMode: Text.Wrap
font.pointSize: osSettings.bigFontSize
x:parent.width/2-parent.height/4
y:parent.height/5
visible: video.playbackState!=MediaPlayer.PlayingState
}
Video {id:video;
anchors.fill:parent
property string mimetype:""
onErrorChanged:{noticeText.font.pointSize=osSettings.bigFontSize;noticeText.text=errorString;}
fillMode: Image.PreserveAspectFit;
autoLoad: true
autoPlay: true
audioRole: MediaPlayer.VideoRole
// MouseArea {
// anchors.fill:parent;
// onClicked:{
// rootstackView.pop()
// }
// }
}
ProgressBar{
id: videoProgress
width: parent.width
height: 2*mm
anchors.bottom: video.bottom
z:2
visible:video.playbackState!=MediaPlayer.StoppedState
value: video.position/video.duration
MouseArea {
anchors.fill:parent;
onClicked:{
if(video.playbackState!=MediaPlayer.PlayingState){
video.play()} else{video.pause()
}
}
}
}
ProgressBar{
id: videoBuffer
width: parent.width
height: 2*mm
anchors.bottom: video.bottom
visible:video.playbackState!=MediaPlayer.StoppedState
value: video.bufferProgress
}
MButton {
id: closeButton
z:2
anchors.top: parent.top
anchors.topMargin: 1*mm
anchors.right: parent.right
anchors.rightMargin: 1*mm
text: "\uf057"
onClicked: {if (rootstackView.depth>1){ rootstackView.pop()}
}
}
// Slider{ id: videoSlider
// width: parent.width
// height: 3*mm
// anchors.top: video.bottom
// visible:video.playbackState!=MediaPlayer.StoppedState && video.seekable
// value: video.position/video.duration
// onPressed:video.seek(value*video.duration)
// }
}