mirror of
https://github.com/moonlight-stream/moonlight-qt.git
synced 2025-07-02 07:46:07 +00:00
Change HDR to be a separate option like other clients
This commit is contained in:
parent
4d3e09f4a0
commit
da261246b9
@ -1284,15 +1284,12 @@ Flickable {
|
|||||||
AutoResizingComboBox {
|
AutoResizingComboBox {
|
||||||
// ignore setting the index at first, and actually set it when the component is loaded
|
// ignore setting the index at first, and actually set it when the component is loaded
|
||||||
Component.onCompleted: {
|
Component.onCompleted: {
|
||||||
if (SystemProperties.supportsHdr) {
|
|
||||||
codecListModel.append({
|
|
||||||
"text": qsTr("HEVC HDR (Experimental)"),
|
|
||||||
"val": StreamingPreferences.VCC_FORCE_HEVC_HDR
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
var saved_vcc = StreamingPreferences.videoCodecConfig
|
var saved_vcc = StreamingPreferences.videoCodecConfig
|
||||||
|
|
||||||
|
// Default to Automatic (relevant if HDR is enabled,
|
||||||
|
// where we will match none of the codecs in the list)
|
||||||
currentIndex = 0
|
currentIndex = 0
|
||||||
|
|
||||||
for(var i = 0; i < codecListModel.count; i++) {
|
for(var i = 0; i < codecListModel.count; i++) {
|
||||||
var el_vcc = codecListModel.get(i).val;
|
var el_vcc = codecListModel.get(i).val;
|
||||||
if (saved_vcc === el_vcc) {
|
if (saved_vcc === el_vcc) {
|
||||||
@ -1300,11 +1297,13 @@ Flickable {
|
|||||||
break
|
break
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
activated(currentIndex)
|
activated(currentIndex)
|
||||||
}
|
}
|
||||||
|
|
||||||
id: codecComboBox
|
id: codecComboBox
|
||||||
textRole: "text"
|
textRole: "text"
|
||||||
|
enabled: !enableHdr.checked
|
||||||
model: ListModel {
|
model: ListModel {
|
||||||
id: codecListModel
|
id: codecListModel
|
||||||
ListElement {
|
ListElement {
|
||||||
@ -1319,12 +1318,47 @@ Flickable {
|
|||||||
text: qsTr("HEVC (H.265)")
|
text: qsTr("HEVC (H.265)")
|
||||||
val: StreamingPreferences.VCC_FORCE_HEVC
|
val: StreamingPreferences.VCC_FORCE_HEVC
|
||||||
}
|
}
|
||||||
/* HEVC HDR will be appended here */
|
|
||||||
}
|
}
|
||||||
// ::onActivated must be used, as it only listens for when the index is changed by a human
|
// ::onActivated must be used, as it only listens for when the index is changed by a human
|
||||||
onActivated : {
|
onActivated : {
|
||||||
StreamingPreferences.videoCodecConfig = codecListModel.get(currentIndex).val
|
if (enabled) {
|
||||||
|
StreamingPreferences.videoCodecConfig = codecListModel.get(currentIndex).val
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// This handles the state of the enableHdr checkbox changing
|
||||||
|
onEnabledChanged: {
|
||||||
|
if (enabled) {
|
||||||
|
StreamingPreferences.videoCodecConfig = codecListModel.get(currentIndex).val
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
StreamingPreferences.videoCodecConfig = StreamingPreferences.VCC_FORCE_HEVC_HDR
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
ToolTip.delay: 1000
|
||||||
|
ToolTip.timeout: 5000
|
||||||
|
ToolTip.visible: hovered && !enabled
|
||||||
|
ToolTip.text: qsTr("Enabling HDR overrides manual codec selections.")
|
||||||
|
}
|
||||||
|
|
||||||
|
CheckBox {
|
||||||
|
id: enableHdr
|
||||||
|
width: parent.width
|
||||||
|
text: qsTr("Enable HDR (Experimental)")
|
||||||
|
font.pointSize: 12
|
||||||
|
enabled: SystemProperties.supportsHdr
|
||||||
|
checked: enabled && StreamingPreferences.videoCodecConfig == StreamingPreferences.VCC_FORCE_HEVC_HDR
|
||||||
|
|
||||||
|
// Updating StreamingPreferences.videoCodecConfig is handled above
|
||||||
|
|
||||||
|
ToolTip.delay: 1000
|
||||||
|
ToolTip.timeout: 5000
|
||||||
|
ToolTip.visible: hovered
|
||||||
|
ToolTip.text: enabled ?
|
||||||
|
qsTr("The stream will be HDR-capable, but some games may require an HDR monitor on your host PC to enable HDR mode.")
|
||||||
|
:
|
||||||
|
qsTr("HDR streaming is not supported on this PC.")
|
||||||
}
|
}
|
||||||
|
|
||||||
CheckBox {
|
CheckBox {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user