[vlc-commits] qml: Add paint-only feature to player controller buttons
Rohan Rajpal
git at videolan.org
Wed Aug 21 16:26:39 CEST 2019
vlc | branch: master | Rohan Rajpal <rohan17089 at iiitd.ac.in> | Tue Jul 30 11:24:00 2019 +0530| [f42ae7c045fea4b7373c4d2c688ecf1dd878cb74] | committer: Jean-Baptiste Kempf
qml: Add paint-only feature to player controller buttons
Add paint only feature to buttons and
widgets to make them usable for the editor
Signed-off-by: Jean-Baptiste Kempf <jb at videolan.org>
> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=f42ae7c045fea4b7373c4d2c688ecf1dd878cb74
---
modules/gui/qt/qml/player/ControlButtons.qml | 13 ++++++++-----
modules/gui/qt/qml/player/TeletextWidget.qml | 18 +++++++++++++-----
modules/gui/qt/qml/player/VolumeWidget.qml | 6 +++++-
3 files changed, 26 insertions(+), 11 deletions(-)
diff --git a/modules/gui/qt/qml/player/ControlButtons.qml b/modules/gui/qt/qml/player/ControlButtons.qml
index 317bd364a3..7a96647ae6 100644
--- a/modules/gui/qt/qml/player/ControlButtons.qml
+++ b/modules/gui/qt/qml/player/ControlButtons.qml
@@ -235,7 +235,7 @@ Item{
id: recordBtn
size: VLCStyle.icon_medium
text: VLCIcons.record
- enabled: player.isPlaying
+ enabled: !paintOnly && player.isPlaying
checked: player.isRecording
onClicked: player.toggleRecord()
property bool acceptFocus: true
@@ -270,7 +270,7 @@ Item{
Utils.IconToolButton{
id: snapshotBtn
size: VLCStyle.icon_medium
- enabled: player.isPlaying
+ enabled: !paintOnly && player.isPlaying
text: VLCIcons.snapshot
onClicked: player.snapshot()
property bool acceptFocus: true
@@ -283,7 +283,7 @@ Item{
Utils.IconToolButton{
id: stopBtn
size: VLCStyle.icon_medium
- enabled: player.isPlaying
+ enabled: !paintOnly && player.isPlaying
text: VLCIcons.stop
onClicked: mainPlaylistController.stop()
property bool acceptFocus: true
@@ -295,7 +295,7 @@ Item{
Utils.IconToolButton{
id: infoBtn
size: VLCStyle.icon_medium
- enabled: player.isPlaying
+ enabled: !paintOnly && player.isPlaying
text: VLCIcons.info
onClicked: dialogProvider.mediaInfoDialog()
property bool acceptFocus: true
@@ -308,7 +308,7 @@ Item{
Utils.IconToolButton{
id: frameBtn
size: VLCStyle.icon_medium
- enabled: player.isPlaying
+ enabled: !paintOnly && player.isPlaying
text: VLCIcons.frame_by_frame
onClicked: player.frameNext()
property bool acceptFocus: true
@@ -397,6 +397,9 @@ Item{
Component{
id: aspectRatioDelegate
Utils.ComboBoxExt {
+ property bool paintOnly: false
+ enabled: !paintOnly
+ objectName: PlayerControlBarModel.ASPECT_RATIO_COMBOBOX
Layout.alignment: Qt.AlignVCenter
width: VLCStyle.combobox_width_normal
height: VLCStyle.combobox_height_normal
diff --git a/modules/gui/qt/qml/player/TeletextWidget.qml b/modules/gui/qt/qml/player/TeletextWidget.qml
index e63ec52f1b..b7e5b62d28 100644
--- a/modules/gui/qt/qml/player/TeletextWidget.qml
+++ b/modules/gui/qt/qml/player/TeletextWidget.qml
@@ -32,8 +32,9 @@ FocusScope{
width: teleWidget.width
height: teleWidget.height
- property bool autohide: !player.isTeletextAvailable
+ property bool autohide: !paintOnly && !player.isTeletextAvailable
property bool acceptFocus: autohide
+ property bool paintOnly: false
visible: !autohide
RowLayout{
@@ -44,6 +45,7 @@ FocusScope{
Utils.IconToolButton{
id: teleActivateBtn
+ paintOnly: widgetfscope.paintOnly
text: VLCIcons.tv
size: VLCStyle.icon_normal
onClicked: player.teletextEnabled = !player.teletextEnabled
@@ -55,6 +57,7 @@ FocusScope{
Utils.IconToolButton{
id: teleTransparencyBtn
+ paintOnly: widgetfscope.paintOnly
text: VLCIcons.tvtelx
size: VLCStyle.icon_normal
opacity: 0.5
@@ -75,6 +78,7 @@ FocusScope{
Utils.IconToolButton{
id: indexKeyBtn
+ paintOnly: widgetfscope.paintOnly
enabled: player.teletextEnabled
size: VLCStyle.icon_normal
text: VLCIcons.record
@@ -84,38 +88,42 @@ FocusScope{
}
Utils.IconToolButton{
id: redKeyBtn
+ paintOnly: widgetfscope.paintOnly
enabled: player.teletextEnabled
size: VLCStyle.icon_normal
text: VLCIcons.record
onClicked: player.teletextPage = PlayerController.TELE_RED
- color: enabled ? "red" : "grey"
+ color: enabled || paintOnly? "red" : "grey"
KeyNavigation.right: greenKeyBtn
}
Utils.IconToolButton{
id: greenKeyBtn
+ paintOnly: widgetfscope.paintOnly
enabled: player.teletextEnabled
size: VLCStyle.icon_normal
text: VLCIcons.record
onClicked: player.teletextPage = PlayerController.TELE_GREEN
- color: enabled ? "green" : "grey"
+ color: enabled || paintOnly? "green" : "grey"
KeyNavigation.right: yellowKeyBtn
}
Utils.IconToolButton{
id: yellowKeyBtn
+ paintOnly: widgetfscope.paintOnly
enabled: player.teletextEnabled
size: VLCStyle.icon_normal
text: VLCIcons.record
onClicked: player.teletextPage = PlayerController.TELE_YELLOW
- color: enabled ? "yellow" : "grey"
+ color: enabled || paintOnly ? "yellow" : "grey"
KeyNavigation.right: blueKeyBtn
}
Utils.IconToolButton{
id: blueKeyBtn
+ paintOnly: widgetfscope.paintOnly
enabled: player.teletextEnabled
size: VLCStyle.icon_normal
text: VLCIcons.record
onClicked: player.teletextPage = PlayerController.TELE_BLUE
- color: enabled ? "blue" : "grey"
+ color: enabled || paintOnly? "blue" : "grey"
}
}
}
diff --git a/modules/gui/qt/qml/player/VolumeWidget.qml b/modules/gui/qt/qml/player/VolumeWidget.qml
index d823eb23d8..adbf8bfde5 100644
--- a/modules/gui/qt/qml/player/VolumeWidget.qml
+++ b/modules/gui/qt/qml/player/VolumeWidget.qml
@@ -29,13 +29,17 @@ FocusScope{
y: volumeWidget.y
width: volumeWidget.width
height: volumeWidget.height
+ property bool paintOnly: true
+ enabled: !paintOnly
property bool acceptFocus: true
+ Component.onCompleted: paintOnly = false
RowLayout{
id: volumeWidget
Utils.IconToolButton{
id: volumeBtn
+ paintOnly: widgetfscope.paintOnly
size: VLCStyle.icon_normal
text:
if( player.muted )
@@ -76,7 +80,7 @@ FocusScope{
property double maxvolpos: maxvol / 100
onValueChanged: {
- if (player.muted) player.muted = false
+ if (!paintOnly && player.muted) player.muted = false
player.volume = volControl.value
}
More information about the vlc-commits
mailing list