From d1470d3323f0b4cca78b61aaeb3291bdec37cea1 Mon Sep 17 00:00:00 2001 From: Preston Bezos Date: Fri, 28 Jun 2019 14:33:03 -0700 Subject: [PATCH 1/4] readded ctrl+n and ctrl+b as shortcuts with a default script --- .../scripting/WindowScriptingInterface.cpp | 10 ++++++ .../src/scripting/WindowScriptingInterface.h | 6 ++++ scripts/defaultScripts.js | 3 +- .../keyboardShortcuts/keyboardShortcuts.js | 32 +++++++++++++++++++ 4 files changed, 50 insertions(+), 1 deletion(-) create mode 100644 scripts/system/keyboardShortcuts/keyboardShortcuts.js diff --git a/interface/src/scripting/WindowScriptingInterface.cpp b/interface/src/scripting/WindowScriptingInterface.cpp index eb967dde89..80c0479bd7 100644 --- a/interface/src/scripting/WindowScriptingInterface.cpp +++ b/interface/src/scripting/WindowScriptingInterface.cpp @@ -638,3 +638,13 @@ void WindowScriptingInterface::setActiveDisplayPlugin(int index) { auto name = PluginManager::getInstance()->getDisplayPlugins().at(index)->getName(); qApp->setActiveDisplayPlugin(name); } + +void WindowScriptingInterface::openWebBrowser() { + if (QThread::currentThread() != thread()) { + QMetaObject::invokeMethod(this, "openWebBrowser", Qt::QueuedConnection); + return; + } + + auto offscreenUi = DependencyManager::get(); + offscreenUi->load("Browser.qml"); +} diff --git a/interface/src/scripting/WindowScriptingInterface.h b/interface/src/scripting/WindowScriptingInterface.h index 0c2b494b0b..d05145acb2 100644 --- a/interface/src/scripting/WindowScriptingInterface.h +++ b/interface/src/scripting/WindowScriptingInterface.h @@ -608,6 +608,12 @@ public slots: */ void setActiveDisplayPlugin(int index); + /**jsdoc + * Opens `Browser.qml` in a pop-up window. + * @function Window.openWebBrowser + */ + void openWebBrowser(); + private slots: void onWindowGeometryChanged(const QRect& geometry); diff --git a/scripts/defaultScripts.js b/scripts/defaultScripts.js index e392680df9..24b62b6653 100644 --- a/scripts/defaultScripts.js +++ b/scripts/defaultScripts.js @@ -33,7 +33,8 @@ var DEFAULT_SCRIPTS_COMBINED = [ "system/tablet-ui/tabletUI.js", "system/emote.js", "system/miniTablet.js", - "system/audioMuteOverlay.js" + "system/audioMuteOverlay.js", + "system/keyboardShortcuts/keyboardShortcuts.js" ]; var DEFAULT_SCRIPTS_SEPARATE = [ "system/controllers/controllerScripts.js", diff --git a/scripts/system/keyboardShortcuts/keyboardShortcuts.js b/scripts/system/keyboardShortcuts/keyboardShortcuts.js new file mode 100644 index 0000000000..9cab11ef42 --- /dev/null +++ b/scripts/system/keyboardShortcuts/keyboardShortcuts.js @@ -0,0 +1,32 @@ +"use strict"; + +// +// keyboardShortcuts.js +// scripts/system/keyboardShortcuts +// +// Created by Preston Bezos on 06/28/2019 +// Copyright 2019 High Fidelity, Inc. +// +// Distributed under the Apache License, Version 2.0. +// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html +// + +(function () { // BEGIN LOCAL_SCOPE + function keyPressEvent(event) { + if (event.text.toUpperCase() === "B" && event.isControl) { + console.log("TEST B"); + Window.openWebBrowser(); + } + + else if (event.text.toUpperCase() === "N" && event.isControl) { + Users.toggleIgnoreRadius(); + } + } + + function scriptEnding() { + Controller.keyPressEvent.disconnect(keyPressEvent); + } + + Controller.keyPressEvent.connect(keyPressEvent); + Script.scriptEnding.connect(scriptEnding); +}()); // END LOCAL_SCOPE From 09830dd40c7ba97560474c8a5e24939d8005a06d Mon Sep 17 00:00:00 2001 From: Preston Bezos Date: Fri, 28 Jun 2019 14:41:07 -0700 Subject: [PATCH 2/4] removed white space --- scripts/system/keyboardShortcuts/keyboardShortcuts.js | 1 - 1 file changed, 1 deletion(-) diff --git a/scripts/system/keyboardShortcuts/keyboardShortcuts.js b/scripts/system/keyboardShortcuts/keyboardShortcuts.js index 9cab11ef42..cbc5202d39 100644 --- a/scripts/system/keyboardShortcuts/keyboardShortcuts.js +++ b/scripts/system/keyboardShortcuts/keyboardShortcuts.js @@ -17,7 +17,6 @@ console.log("TEST B"); Window.openWebBrowser(); } - else if (event.text.toUpperCase() === "N" && event.isControl) { Users.toggleIgnoreRadius(); } From b9deb7bb580172055f838be4cf91718523659b5c Mon Sep 17 00:00:00 2001 From: Preston Bezos Date: Fri, 28 Jun 2019 14:42:48 -0700 Subject: [PATCH 3/4] formatting --- scripts/system/keyboardShortcuts/keyboardShortcuts.js | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/scripts/system/keyboardShortcuts/keyboardShortcuts.js b/scripts/system/keyboardShortcuts/keyboardShortcuts.js index cbc5202d39..1021f54662 100644 --- a/scripts/system/keyboardShortcuts/keyboardShortcuts.js +++ b/scripts/system/keyboardShortcuts/keyboardShortcuts.js @@ -16,8 +16,7 @@ if (event.text.toUpperCase() === "B" && event.isControl) { console.log("TEST B"); Window.openWebBrowser(); - } - else if (event.text.toUpperCase() === "N" && event.isControl) { + } else if (event.text.toUpperCase() === "N" && event.isControl) { Users.toggleIgnoreRadius(); } } From 1315677aec11887da409b19c783db17d9378cc7b Mon Sep 17 00:00:00 2001 From: Preston Bezos Date: Fri, 28 Jun 2019 15:02:33 -0700 Subject: [PATCH 4/4] fixed doc and removed log spam --- interface/src/scripting/WindowScriptingInterface.h | 2 +- scripts/system/keyboardShortcuts/keyboardShortcuts.js | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/interface/src/scripting/WindowScriptingInterface.h b/interface/src/scripting/WindowScriptingInterface.h index d05145acb2..eab1c65ebb 100644 --- a/interface/src/scripting/WindowScriptingInterface.h +++ b/interface/src/scripting/WindowScriptingInterface.h @@ -609,7 +609,7 @@ public slots: void setActiveDisplayPlugin(int index); /**jsdoc - * Opens `Browser.qml` in a pop-up window. + * Opens a web browser in a pop-up window. * @function Window.openWebBrowser */ void openWebBrowser(); diff --git a/scripts/system/keyboardShortcuts/keyboardShortcuts.js b/scripts/system/keyboardShortcuts/keyboardShortcuts.js index 1021f54662..cf3927ac2d 100644 --- a/scripts/system/keyboardShortcuts/keyboardShortcuts.js +++ b/scripts/system/keyboardShortcuts/keyboardShortcuts.js @@ -14,7 +14,6 @@ (function () { // BEGIN LOCAL_SCOPE function keyPressEvent(event) { if (event.text.toUpperCase() === "B" && event.isControl) { - console.log("TEST B"); Window.openWebBrowser(); } else if (event.text.toUpperCase() === "N" && event.isControl) { Users.toggleIgnoreRadius();