-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathFooter.qml
145 lines (124 loc) · 3.73 KB
/
Footer.qml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
/*
* SPDX-FileCopyrightText:
* 2021-2024 Erik Sundén <eriksunden85@gmail.com>
* 2020 George Florea Bănuș <georgefb899@gmail.com>
*
* SPDX-License-Identifier: GPL-3.0-or-later
*/
import QtQuick
import QtQuick.Controls
import QtQuick.Layouts
import org.kde.kirigami as Kirigami
import org.ctoolbox.cplay
ToolBar {
id: root
property alias footerRow: footerRow
property alias playPauseButton: playPauseButton
property alias progressBar: progressBar
property alias timeInfo: timeInfo
anchors.bottom: isFullScreen() ? mpv.bottom : parent.bottom
anchors.left: parent.left
anchors.right: parent.right
hoverEnabled: true
padding: 5
position: ToolBar.Footer
visible: !window.isFullScreen() || mpv.mouseY > window.height - footer.height
Component {
id: toggleSectionsButton
ToolButton {
action: actions.toggleSectionsAction
}
}
Component {
id: togglePlaylistButton
ToolButton {
action: actions.togglePlaylistAction
}
}
Component {
id: toggleSlidesButton
ToolButton {
action: actions.toggleSlidesAction
}
}
Component {
id: toggleLayersButton
ToolButton {
action: actions.toggleLayersAction
}
}
RowLayout {
id: footerRow
anchors.fill: parent
Loader {
sourceComponent: togglePlaylistButton
visible: PlaylistSettings.position === "left"
}
Loader {
sourceComponent: toggleSectionsButton
visible: PlaylistSettings.position === "left"
}
Loader {
sourceComponent: toggleSlidesButton
visible: PlaylistSettings.position === "right"
}
Loader {
sourceComponent: toggleLayersButton
visible: PlaylistSettings.position === "right"
}
ToolButton {
id: playPauseButton
action: actions.playPauseAction
focusPolicy: Qt.NoFocus
icon.name: "media-playback-start"
text: ""
ToolTip {
id: playPauseButtonToolTip
text: mpv.pause ? qsTr("Start Playback") : qsTr("Pause Playback")
}
}
HProgressBar {
id: progressBar
Layout.fillWidth: true
}
ToolButton {
id: rewindButton
focusPolicy: Qt.NoFocus
icon.name: "media-playback-stop"
text: ""
onClicked: {
mpv.performRewind();
}
ToolTip {
id: rewindButtonToolTip
text: PlaybackSettings.fadeDownBeforeRewind ? qsTr("Fade down then stop/rewind") : qsTr("Stop/rewind")
}
}
LabelWithTooltip {
id: timeInfo
alwaysShowToolTip: true
font.pointSize: 9
fontSizeMode: Text.Fit
horizontalAlignment: Qt.AlignHCenter
text: app.formatTime(mpv.position) + " / " + app.formatTime(mpv.duration)
toolTipFontSize: timeInfo.font.pointSize + 2
toolTipText: qsTr("Remaining: ") + app.formatTime(mpv.remaining)
}
Loader {
sourceComponent: togglePlaylistButton
visible: PlaylistSettings.position === "right"
}
Loader {
sourceComponent: toggleSectionsButton
visible: PlaylistSettings.position === "right"
}
Loader {
sourceComponent: toggleSlidesButton
visible: PlaylistSettings.position === "left"
}
Loader {
sourceComponent: toggleLayersButton
visible: PlaylistSettings.position === "left"
}
}
}