Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • videolan/vlc
  • chouquette/vlc
  • bakiewicz.marek122/vlc
  • devnexen/vlc
  • rohanrajpal/vlc
  • blurrrb/vlc
  • gsoc/gsoc2019/darkapex/vlc
  • b1ue/vlc
  • fkuehne/vlc
  • magsoft/vlc
  • chub/vlc
  • cramiro9/vlc
  • robUx4/vlc
  • rom1v/vlc
  • akshayaky/vlc
  • tmk907/vlc
  • akymaster/vlc
  • govind.sharma/vlc
  • psilokos/vlc
  • xjbeta/vlc
  • jahan/vlc
  • 1480c1/vlc
  • amanchande/vlc
  • aaqib/vlc
  • rist/vlc
  • apol/vlc
  • mindfreeze/vlc
  • alexandre-janniaux/vlc
  • sandsmark/vlc
  • jagannatharjun/vlc
  • gsoc/gsoc2020/matiaslgonzalez/vlc
  • gsoc/gsoc2020/jagannatharjun/vlc
  • mstorsjo/vlc
  • gsoc/gsoc2020/vedenta/vlc
  • gsoc/gsoc2020/arnav-ishaan/vlc
  • gsoc/gsoc2020/andreduong/vlc
  • fuzun/vlc
  • gsoc/gsoc2020/vatsin/vlc
  • gsoc/gsoc2020/sagid/vlc
  • yaron/vlc
  • Phoenix/vlc
  • Garf/vlc
  • ePiratWorkarounds/vlc
  • tguillem/vlc
  • jnqnfe/vlc
  • mdc/vlc
  • Vedaa/vlc
  • rasa/vlc
  • quink/vlc
  • yealo/vlc
  • aleksey_ak/vlc
  • ePirat/vlc
  • ilya.yanok/vlc
  • asenat/vlc
  • m/vlc
  • bunjee/vlc
  • BLumia/vlc
  • sagudev/vlc
  • hamedmonji30/vlc
  • nullgemm/vlc
  • DivyamAhuja/vlc
  • thesamesam/vlc
  • dag7/vlc
  • snehil101/vlc
  • haasn/vlc
  • jbk/vlc
  • ValZapod/vlc
  • mfkl/vlc
  • WangChuan/vlc
  • core1024/vlc
  • GhostVaibhav/vlc
  • dfuhrmann/vlc
  • davide.prade/vlc
  • tmatth/vlc
  • Courmisch/vlc
  • zouya/vlc
  • hpi/vlc
  • EwoutH/vlc
  • aleung27/vlc
  • hengwu0/vlc
  • saladin/vlc
  • ashuio/vlc
  • richselwood/vlc
  • verma16Ayush/vlc
  • chemicalflash/vlc
  • PoignardAzur/vlc
  • huangjieNT/vlc
  • Blake-Haydon/vlc
  • AnuthaDev/vlc
  • gsoc/gsoc2021/mpd/vlc
  • nicolas_lequec/vlc
  • sambassaly/vlc
  • thresh/vlc
  • bonniegong/vlc
  • myaashish/vlc
  • stavros.vagionitis/vlc
  • ileoo/vlc
  • louis-santucci/vlc
  • cchristiansen/vlc
  • sabyasachi07/vlc
  • AbduAmeen/vlc
  • ashishb0410/vlc
  • urbanhusky/vlc
  • davidepietrasanta/vlc
  • riksleutelstad/vlc
  • jeremyVignelles/vlc
  • komh/vlc
  • iamjithinjohn/vlc
  • JohannesKauffmann/vlc2
  • kunglao/vlc
  • natzberg/vlc
  • jill/vlc
  • cwendling/vlc
  • adufou/vlc
  • ErwanAirone/vlc
  • HasinduDilshan10/vlc
  • vagrantc/vlc
  • rafiv/macos-bigsur-icon
  • Aymeriic/vlc
  • saranshg20/vlc
  • metzlove24/vlc
  • linkfanel/vlc
  • Ds886/vlc
  • metehan-arslan/vlc
  • Skantes/vlc
  • kgsandundananjaya96/vlc
  • mitchcapper/vlc
  • advaitgupta/vlc
  • StefanBruens/vlc
  • ratajs/vlc
  • T.M.F.B.3761/vlc
  • m222059/vlc
  • casemerrick/vlc
  • joshuaword2alt/vlc
  • sjwaddy/vlc
  • dima/vlc
  • Ybalrid/vlc
  • umxprime/vlc
  • eschmidt/vlc
  • vannieuwenhuysenmichelle/vlc
  • badcf00d/vlc
  • wesinator/vlc
  • louis/vlc
  • xqq/vlc
  • EmperorYP7/vlc
  • NicoLiam/vlc
  • loveleen/vlc
  • rofferom/vlc
  • rbultje/vlc
  • TheUnamed/vlc
  • pratiksharma341/vlc
  • Saurab17/vlc
  • purist.coder/vlc
  • Shuicheng/vlc
  • mdrrubel292/vlc
  • silverbleu00/vlc
  • metif12/vlc
  • asher-m/vlc
  • jeffk/vlc
  • Brandonbr1/vlc
  • beautyyuyanli/vlc
  • rego21/vlc
  • muyangren907/vlc
  • collectionbylawrencejason/vlc
  • evelez/vlc
  • GSMgeeth/vlc
  • Oneric/vlc
  • TJ5/vlc
  • XuanTung95/vlc
  • darrenjenny21/vlc
  • Trenly/vlc
  • RockyTDR/vlc
  • mjakubowski/vlc
  • caprica/vlc
  • ForteFrankie/vlc
  • seannamiller19/vlc
  • junlon2006/vlc
  • kiwiren6666/vlc
  • iuseiphonexs/vlc
  • fenngtun/vlc
  • Rajdutt999/vlc
  • typx/vlc
  • leon.vitanos/vlc
  • robertogarci0938/vlc
  • gsoc/gsoc2022/luc65r/vlc-mpd
  • skeller/vlc
  • MCJack123/vlc
  • luc65r/vlc-mpd
  • popov895/vlc
  • claucambra/vlc
  • brad/vlc
  • matthewmurua88/vlc
  • Tomas8874/vlc
  • philenotfound/vlc
  • makita-do3/vlc
  • LZXCorp/vlc
  • mar0x/vlc
  • senojetkennedy0102/vlc
  • shaneb243/vlc
  • ahmadbader/vlc
  • rajduttcse26/vlc-audio-filters
  • Juniorzito8415/vlc
  • achernyakov/vlc
  • lucasjetgroup/vlc
  • pupdoggy666/vlc
  • gmde9363/vlc
  • alexnwayne/vlc
  • bahareebrahimi781/vlc
  • hamad633666/vlc
  • umghof3112/vlc
  • joe0199771874/vlc
  • Octocats66666666/vlc
  • jjm_223/vlc
  • btech10110.19/vlc
  • sunnykfc028/vlc-audio-filters
  • loic/vlc
  • nguyenminhducmx1/vlc
  • JanekKrueger/vlc
  • bstubbington2/vlc
  • rcombs/vlc
  • Ordissimo/vlc
  • king7532/vlc
  • noobsauce101/vlc
  • schong0525/vlc
  • myQwil/vlc
  • apisbg91/vlc
  • geeboy0101017/vlc
  • kim.faughey/vlc
  • nurupo/vlc
  • yyusea/vlc
  • 0711235879.khco/vlc
  • ialo/vlc
  • iloveyeye2/vlc
  • gdtdftdqtd/vlc
  • leandroconsiglio/vlc
  • AndyHTML2012/vlc
  • ncz/vlc
  • lucenticus/vlc
  • knr1931/vlc
  • kjoonlee/vlc
  • chandrakant100/vlc-qt
  • johge42/vlc
  • polter/vlc
  • hexchain/vlc
  • Tushwrld/vlc
  • mztea928/vlc
  • jbelloncastro/vlc
  • alvinhochun/vlc
  • ghostpiratecrow/vlc
  • ujjwaltwitx/vlc
  • alexsonarin06/vlc
  • adrianbon76/vlc
  • altsod/vlc
  • damien.lucas44/vlc
  • dmytrivtaisa/vlc
  • utk202/vlc
  • aaxhrj/vlc
  • thomas.hermes/vlc
  • structurenewworldorder/vlc
  • slomo/vlc
  • wantlamy/vlc
  • musc.o3cminc/vlc
  • thebarshablog/vlc
  • kerrick/vlc
  • kratos142518/vlc
  • leogps/vlc
  • vacantron/vlc
  • luna_koly/vlc
  • Ratio2/vlc
  • anuoshemohammad/vlc
  • apsun/vlc
  • aaa1115910/vlc
  • alimotmoyo/vlc
  • Ambossmann/vlc
  • Sam-LearnsToCode/vlc
  • Chilledheart/vlc
  • Labnann/vlc
  • ktcoooot1/vlc
  • mohit-marathe/vlc
  • johnddx/vlc
  • manstabuk/vlc
  • Omar-ahmed314/vlc
  • vineethkm/vlc
  • 9Enemi86/vlc
  • radoslav.m.panteleev/vlc
  • ashishami2002/vlc
  • Corbax/vlc
  • firnasahmed/vlc
  • pelayarmalam4/vlc
  • c0ff330k/vlc
  • shikhindahikar/vlc
  • l342723951/vlc
  • christianschwandner/vlc
  • douniwan5788/vlc
  • 7damian7/vlc
  • ferdnyc/vlc
  • f.ales1/vlc
  • pandagby/vlc
  • BaaBaa/vlc
  • jewe37/vlc
  • w00drow/vlc
  • russelltg/vlc
  • ironicallygod/vlc
  • soumyaDghosh/vlc
  • linzihao1999/vlc
  • deyayush6/vlc
  • mibi88/vlc
  • newabdallah10/vlc
  • jhorbincolombia/vlc
  • rimvihaqueshupto/vlc
  • andrewkhon98/vlc
  • fab78/vlc
  • lapaz17/vlc
  • amanna13/vlc
  • mdakram28/vlc
  • 07jw1980/vlc
  • sohamgupta/vlc
  • Eson-Jia1/vlc
  • Sumou/vlc
  • vikram-kangotra/vlc
  • chalice191/vlc
  • olivercalder/vlc
  • aaasg4001/vlc
  • zipdox/vlc
  • kwizart/vlc
  • Dragon-S/vlc
  • jdemeule/vlc
  • gabriel_lt/vlc
  • locutusofborg/vlc
  • sammirata/vlc-librist
  • another/vlc
  • Benjamin_Loison/vlc
  • ahmedmoselhi/vlc
  • petergaal/vlc
  • huynhsontung/vlc
  • dariusmihut/vlc
  • tvermaashutosh/vlc
  • buti/vlc
  • Niram7777/vlc
  • rohan-here/vlc
  • balaji-sivasakthi/vlc
  • rlindner81/vlc
  • Kakadus/vlc
  • djain/vlc
  • ABBurmeister/vlc
  • craighuggins/vlc
  • orbea/vlc
  • maxos/vlc
  • aakarshmj/vlc
  • kblaschke/vlc
  • ankitm/vlc
  • advait-0/vlc
  • mohak2003/vlc
  • yselkowitz/vlc
  • AZM999/vlc-azm
  • andrey.turkin/vlc
  • Disha-Baghel/vlc
  • nowrep/vlc
  • Apeng/vlc
  • Choucroute_melba/vlc
  • autra/vlc
  • eclipseo/vlc
  • fhuber/vlc
  • olafhering/vlc
  • sdasda7777/vlc
  • 1div0/vlc
  • skosnits/vlc-extended-playlist-support
  • dnicolson/vlc
  • Timshel/vlc
  • octopols/vlc
  • MangalK/vlc
  • nima64/vlc
  • misawai/vlc
  • Alexander-Wilms/vlc
  • Maxime2/vlc-fork-for-visualizer
  • ww/vlc
  • jeske/vlc
  • sgross-emlix/vlc
  • morenonatural/vlc
  • freakingLovesVLC/vlc
  • borisgolovnev/vlc
  • mpromonet/vlc
  • diogo.simao-marques/vlc
  • masstock/vlc
  • pratikpatel8982/vlc
  • hugok79/vlc
  • longervision/vlc
  • abhiudaysurya/vlc
  • rishabhgarg/vlc
  • tumic/vlc
  • cart/vlc
  • shubham442/vlc
  • Aditya692005/vlc
  • sammirata/vlc4
  • syrykh/vlc
  • Vvorcun/macos-new-icon
  • AyaanshC/vlc
  • nasso/vlc
  • Quark/vlc
  • sebastinas/vlc
  • rhstone/vlc
  • talregev/vlc
  • Managor/vlc
403 results
Show changes
Commits on Source (4)
......@@ -96,6 +96,12 @@ int loadVLCOption<int>(vlc_object_t *obj, const char *name)
return var_InheritInteger(obj, name);
}
template <>
float loadVLCOption<float>(vlc_object_t *obj, const char *name)
{
return var_InheritFloat(obj, name);
}
template <>
bool loadVLCOption<bool>(vlc_object_t *obj, const char *name)
{
......@@ -303,6 +309,7 @@ void MainCtx::loadPrefs(const bool callSignals)
loadFromVLCOption(m_pinVideoControls, "qt-pin-controls", &MainCtx::pinVideoControlsChanged);
loadFromVLCOption(m_pinOpacity, "qt-fs-opacity", &MainCtx::pinOpacityChanged);
}
void MainCtx::loadFromSettingsImpl(const bool callSignals)
......@@ -443,6 +450,16 @@ void MainCtx::setPinVideoControls(bool pinVideoControls)
emit pinVideoControlsChanged();
}
void MainCtx::setPinOpacity(float pinOpacity)
{
if (m_pinOpacity == pinOpacity)
return;
m_pinOpacity = pinOpacity;
emit pinOpacityChanged();
}
inline void MainCtx::initSystray()
{
bool b_systrayAvailable = QSystemTrayIcon::isSystemTrayAvailable();
......
......@@ -168,6 +168,7 @@ class MainCtx : public QObject
Q_PROPERTY(bool hasToolbarMenu READ hasToolbarMenu WRITE setHasToolbarMenu NOTIFY hasToolbarMenuChanged FINAL)
Q_PROPERTY(bool canShowVideoPIP READ canShowVideoPIP CONSTANT FINAL)
Q_PROPERTY(bool pinVideoControls READ pinVideoControls WRITE setPinVideoControls NOTIFY pinVideoControlsChanged FINAL)
Q_PROPERTY(float pinOpacity READ pinOpacity WRITE setPinOpacity NOTIFY pinOpacityChanged FINAL)
Q_PROPERTY(ControlbarProfileModel* controlbarProfileModel READ controlbarProfileModel CONSTANT FINAL)
Q_PROPERTY(bool hasAcrylicSurface READ hasAcrylicSurface NOTIFY hasAcrylicSurfaceChanged FINAL)
Q_PROPERTY(PlaylistPtr mainPlaylist READ getMainPlaylist CONSTANT FINAL)
......@@ -251,7 +252,10 @@ public:
inline bool hasToolbarMenu() const { return m_hasToolbarMenu; }
inline bool canShowVideoPIP() const { return m_canShowVideoPIP; }
inline void setCanShowVideoPIP(bool canShowVideoPIP) { m_canShowVideoPIP = canShowVideoPIP; }
inline bool pinVideoControls() const { return m_pinVideoControls; }
inline float pinOpacity() const { return m_pinOpacity; }
inline ControlbarProfileModel* controlbarProfileModel() const { return m_controlbarProfileModel; }
inline QUrl getDialogFilePath() const { return m_dialogFilepath; }
inline void setDialogFilePath(const QUrl& filepath ){ m_dialogFilepath = filepath; }
......@@ -348,7 +352,11 @@ protected:
// NOTE: Ideally this should be a QVLCBool.
bool m_hasToolbarMenu = false;
bool m_canShowVideoPIP = false;
/* Pinned */
bool m_pinVideoControls = false;
float m_pinOpacity = 1.0f;
bool m_useGlobalShortcuts = true;
QUrl m_dialogFilepath; /* Last path used in dialogs */
......@@ -387,7 +395,10 @@ public slots:
void incrementIntfUserScaleFactor( bool increment);
void setIntfUserScaleFactor( double );
void setHasToolbarMenu( bool );
void setPinVideoControls( bool );
void setPinOpacity( float );
void updateIntfScaleFactor();
void onWindowVisibilityChanged(QWindow::Visibility);
void setHasAcrylicSurface(bool);
......@@ -440,7 +451,10 @@ signals:
void requestInterfaceMinimized();
void intfScaleFactorChanged();
void pinVideoControlsChanged();
void pinOpacityChanged();
void hasAcrylicSurfaceChanged();
void acrylicActiveChanged();
......
......@@ -34,17 +34,15 @@ import "qrc:///dialogs/" as DG
FocusScope {
id: rootPlayer
// Properties
//menu/overlay to dismiss
property var menu: undefined
property int _lockAutoHide: 0
readonly property bool _autoHide: _lockAutoHide == 0
&& rootPlayer.hasEmbededVideo
&& Player.hasVideoOutput
&& playlistpopup.state !== "visible"
property bool pinVideoControls: MainCtx.pinVideoControls && (MainCtx.intfMainWindow.visibility !== Window.FullScreen)
property bool hasEmbededVideo: MainCtx.hasEmbededVideo
readonly property int positionSliderY: controlBarView.y + controlBarView.sliderY
readonly property string coverSource: {
if (mainPlaylistController.currentItem.artwork && mainPlaylistController.currentItem.artwork.toString())
mainPlaylistController.currentItem.artwork
......@@ -54,8 +52,24 @@ FocusScope {
VLCStyle.noArtAlbumCover
}
// Private
property int _lockAutoHide: 0
readonly property bool _autoHide: _lockAutoHide == 0
&& rootPlayer.hasEmbededVideo
&& Player.hasVideoOutput
&& playlistpopup.state !== "visible"
property bool _controlsUnderVideo: (MainCtx.pinVideoControls
&&
(MainCtx.intfMainWindow.visibility !== Window.FullScreen))
property bool _keyPressed: false
// Settings
layer.enabled: (StackView.status === StackView.Deactivating || StackView.status === StackView.Activating)
// Events
......@@ -96,9 +110,9 @@ FocusScope {
toolbarAutoHide.restart()
}
onPinVideoControlsChanged: {
lockUnlockAutoHide(pinVideoControls)
if (pinVideoControls)
on_ControlsUnderVideoChanged: {
lockUnlockAutoHide(_controlsUnderVideo)
if (_controlsUnderVideo)
toolbarAutoHide.setVisibleControlBar(true)
}
......@@ -145,9 +159,12 @@ FocusScope {
//we draw both the view and the window here
ColorContext {
id: windowTheme
// NOTE: We force the night theme when playing a video.
palette: (MainCtx.hasEmbededVideo && !rootPlayer.pinVideoControls) ? VLCStyle.darkPalette
: VLCStyle.palette
palette: (MainCtx.hasEmbededVideo && MainCtx.pinVideoControls === false)
? VLCStyle.darkPalette
: VLCStyle.palette
colorSet: ColorContext.Window
}
......@@ -181,8 +198,8 @@ FocusScope {
visible: rootPlayer.hasEmbededVideo
enabled: rootPlayer.hasEmbededVideo
anchors.fill: parent
anchors.topMargin: rootPlayer.pinVideoControls ? topcontrolView.height : 0
anchors.bottomMargin: rootPlayer.pinVideoControls ? controlBarView.height : 0
anchors.topMargin: rootPlayer._controlsUnderVideo ? topcontrolView.height : 0
anchors.bottomMargin: rootPlayer._controlsUnderVideo ? controlBarView.height : 0
onMouseMoved: {
//short interval for mouse events
......@@ -219,12 +236,15 @@ FocusScope {
}
}
/// Backgrounds of topControlbar and controlBar are drawn separately since they can outgrow their content
// Backgrounds of topControlbar and controlBar are drawn separately since they can outgrow their content
Component {
id: backgroundForPinnedControls
Rectangle {
width: rootPlayer.width
opacity: MainCtx.pinOpacity
color: windowTheme.bg.primary
}
}
......@@ -234,26 +254,33 @@ FocusScope {
Widgets.AcrylicBackground {
width: rootPlayer.width
visible: (rootPlayer._controlsUnderVideo || topcontrolView.resumeVisible)
opacity: (MainCtx.intfMainWindow.visibility === Window.FullScreen) ? MainCtx.pinOpacity
: 1.0
tintColor: windowTheme.bg.primary
}
}
/* top control bar background */
Widgets.LoaderFade {
state: topcontrolView.state
width: parent.width
visible: rootPlayer.hasEmbededVideo || rootPlayer.pinVideoControls
state: topcontrolView.state
height: item.height
sourceComponent: {
if (rootPlayer.pinVideoControls)
if (MainCtx.pinVideoControls)
return acrylicBackground
else
return topcontrolViewBackground
}
onItemChanged: {
if (rootPlayer.pinVideoControls)
if (rootPlayer._controlsUnderVideo)
item.height = Qt.binding(function () { return topcontrolView.height + topcontrolView.anchors.topMargin; })
}
......@@ -263,6 +290,9 @@ FocusScope {
Rectangle {
width: rootPlayer.width
height: VLCStyle.dp(206, VLCStyle.scale)
visible: rootPlayer.hasEmbededVideo
gradient: Gradient {
GradientStop { position: 0; color: Qt.rgba(0, 0, 0, .8) }
GradientStop { position: 1; color: "transparent" }
......@@ -281,11 +311,12 @@ FocusScope {
state: controlBarView.state
sourceComponent: rootPlayer.pinVideoControls
sourceComponent: (MainCtx.pinVideoControls)
? backgroundForPinnedControls
: (rootPlayer.hasEmbededVideo ? forVideoMedia : forMusicMedia)
onItemChanged: {
if (rootPlayer.pinVideoControls)
if (rootPlayer._controlsUnderVideo)
item.height = Qt.binding(function () { return rootPlayer.height - rootPlayer.positionSliderY; })
}
......@@ -315,9 +346,11 @@ FocusScope {
}
}
Widgets.LoaderFade{
Widgets.LoaderFade {
id: topcontrolView
property bool resumeVisible: (item) ? item.resumeVisible : false
anchors {
top: parent.top
left: parent.left
......@@ -326,8 +359,6 @@ FocusScope {
z: 1
state: "visible"
sourceComponent: TopBar {
id: topbar
......@@ -340,10 +371,19 @@ FocusScope {
textWidth: (MainCtx.playlistVisible) ? rootPlayer.width - playlistpopup.width
: rootPlayer.width
// NOTE: With pinned controls, the top controls are hidden when switching to
// fullScreen. Except when resume is visible
visible: (MainCtx.pinVideoControls === false
||
MainCtx.intfMainWindow.visibility !== Window.FullScreen
||
resumeVisible)
focus: true
title: mainPlaylistController.currentItem.title
pinControls: rootPlayer.pinVideoControls
pinControls: MainCtx.pinVideoControls
showCSD: MainCtx.clientSideDecoration && (MainCtx.intfMainWindow.visibility !== Window.FullScreen)
showToolbar: MainCtx.hasToolbarMenu && (MainCtx.intfMainWindow.visibility !== Window.FullScreen)
......@@ -525,8 +565,9 @@ FocusScope {
anchors {
// NOTE: When the controls are pinned we display the playqueue under the topBar.
top: (rootPlayer.pinVideoControls) ? topcontrolView.bottom
: parent.top
top: (rootPlayer._controlsUnderVideo) ? topcontrolView.bottom
: parent.top
right: parent.right
bottom: parent.bottom
......@@ -555,7 +596,7 @@ FocusScope {
anchors.fill: parent
rightPadding: VLCStyle.applicationHorizontalMargin
topPadding: {
if (rootPlayer.pinVideoControls)
if (rootPlayer._controlsUnderVideo)
return VLCStyle.margin_normal
else
// NOTE: We increase the padding accordingly to avoid overlapping the TopBar.
......@@ -606,14 +647,18 @@ FocusScope {
bottom: controlBarView.item.visible ? controlBarView.top : rootPlayer.bottom
left: parent.left
right: parent.right
bottomMargin: rootPlayer.pinVideoControls || !controlBarView.item.visible ? 0 : - VLCStyle.margin_large
bottomMargin: (rootPlayer._controlsUnderVideo || !controlBarView.item.visible)
? 0 : - VLCStyle.margin_large
}
}
Widgets.LoaderFade {
id: controlBarView
readonly property int sliderY: rootPlayer.pinVideoControls ? item.sliderY - VLCStyle.margin_xxxsmall : item.sliderY
readonly property int sliderY: (MainCtx.pinVideoControls) ? item.sliderY
- VLCStyle.margin_xxxsmall
: item.sliderY
anchors {
bottom: parent.bottom
......@@ -623,10 +668,8 @@ FocusScope {
focus: true
state: "visible"
onStateChanged: {
if (state === "visible")
if (state === "visible" && item)
item.showChapterMarks()
}
......@@ -654,7 +697,9 @@ FocusScope {
anchors.rightMargin: VLCStyle.applicationHorizontalMargin
anchors.bottomMargin: VLCStyle.applicationVerticalMargin
textPosition: rootPlayer.pinVideoControls ? ControlBar.TimeTextPosition.LeftRightSlider : ControlBar.TimeTextPosition.AboveSlider
textPosition: (MainCtx.pinVideoControls)
? ControlBar.TimeTextPosition.LeftRightSlider
: ControlBar.TimeTextPosition.AboveSlider
Navigation.parentItem: rootPlayer
Navigation.upItem: playlistpopup.showPlaylist ? playlistpopup : (audioControls.visible ? audioControls : topcontrolView)
......
......@@ -31,6 +31,8 @@ import "qrc:///menus/" as Menus
FocusScope{
id: root
// Properties
/* required */ property int textWidth
property string title
......@@ -46,6 +48,12 @@ FocusScope{
readonly property int _sideMargin: VLCStyle.margin_small + sideMargin
// Aliases
property alias resumeVisible: resumeDialog.visible
// Signals
signal togglePlaylistVisibility()
signal requestLockUnlockAutoHide(bool lock)
signal backRequested()
......@@ -202,11 +210,11 @@ FocusScope{
anchors.top: root.top
anchors.leftMargin: root._sideMargin
implicitWidth: resumeDialog.visible ? resumeDialog.implicitWidth
: logoGroup.implicitWidth
implicitWidth: resumeVisible ? resumeDialog.implicitWidth
: logoGroup.implicitWidth
implicitHeight: resumeDialog.visible ? resumeDialog.implicitHeight
: logoGroup.implicitHeight
implicitHeight: resumeVisible ? resumeDialog.implicitHeight
: logoGroup.implicitHeight
onImplicitHeightChanged: root._layout()
......@@ -214,7 +222,7 @@ FocusScope{
id: logoGroup
anchors.fill: parent
visible: !resumeDialog.visible
visible: !resumeVisible
implicitHeight: VLCStyle.icon_banner + VLCStyle.margin_xxsmall * 2
implicitWidth: backBtn.implicitWidth + logo.implicitWidth + VLCStyle.margin_xxsmall
......@@ -296,7 +304,7 @@ FocusScope{
readonly property bool _alignHCenter: _centerX > _leftLimit
&& _centerX + centerTitleText.implicitWidth < _rightLimit
visible: root.pinControls && !resumeDialog.visible
visible: root.pinControls && !resumeVisible
width: Math.min(centerTitleText._availableWidth, centerTitleText.implicitWidth)
......