From ce2053e3b889c194bd867ccb6e1bec4d29d68f1f Mon Sep 17 00:00:00 2001 From: howard-stearns Date: Thu, 8 Jun 2017 10:41:09 -0700 Subject: [PATCH] control-0 toggles display, and display itself only toggles when camera is on --- scripts/system/spectatorCamera.js | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/scripts/system/spectatorCamera.js b/scripts/system/spectatorCamera.js index 7224932130..2e27d5f364 100644 --- a/scripts/system/spectatorCamera.js +++ b/scripts/system/spectatorCamera.js @@ -174,6 +174,7 @@ button.clicked.connect(onTabletButtonClicked); tablet.screenChanged.connect(onTabletScreenChanged); Window.domainChanged.connect(spectatorCameraOff); + Controller.keyPressEvent.connect(keyPressEvent); viewFinderOverlay = false; camera = false; } @@ -213,11 +214,19 @@ return; } monitorShowsCameraView = showCameraView; - var url = showCameraView ? (isUpdateRenderWired ? "http://selfieFrame" : CAMERA_PREVIEW_WHEN_OFF) : ""; - print('setDisplayTexture', url, - Window.setDisplayTexture(url)); + var url = (showCameraView && isUpdateRenderWired) ? "http://selfieFrame" : ""; + Window.setDisplayTexture(url); Settings.setValue('spectatorCamera/monitorShowsCameraView', showCameraView); } + function setMonitorShowsCameraViewAndSendToQml(showCameraView) { + setMonitorShowsCameraView(showCameraView); + sendToQml({ method: 'updateMonitorShowsSwitch', params: showCameraView }); + } + function keyPressEvent(event) { + if ((event.text === "0") && !event.isAutoRepeat && !event.isShifted && !event.isMeta && event.isControl && !event.isAlt) { + setMonitorShowsCameraViewAndSendToQml(!monitorShowsCameraView); + } + } // // Function Name: onTabletButtonClicked() @@ -243,9 +252,8 @@ shouldActivateButton = true; tablet.loadQMLSource("../SpectatorCamera.qml"); onSpectatorCameraScreen = true; - sendToQml({ method: 'updateSpectatorCameraCheckbox', params: !!camera });; - setMonitorShowsCameraView(monitorShowsCameraView); - sendToQml({ method: 'updateMonitorShowsSwitch', params: monitorShowsCameraView }); + sendToQml({ method: 'updateSpectatorCameraCheckbox', params: !!camera }); + setMonitorShowsCameraViewAndSendToQml(monitorShowsCameraView); } } @@ -337,6 +345,7 @@ tablet.removeButton(button); button.clicked.disconnect(onTabletButtonClicked); tablet.screenChanged.disconnect(onTabletScreenChanged); + Controller.keyPressEvent.disconnect(keyPressEvent); } //