From 5a49ac9a2219bfd11bc752747f70efb893632be9 Mon Sep 17 00:00:00 2001 From: RebeccaStankus Date: Mon, 17 Jun 2019 12:17:05 -0700 Subject: [PATCH 1/8] moved files --- .../tablet => scripts/system/create}/Edit.qml | 0 .../system/create}/EditEntityList.qml | 4 ++-- .../system/create}/EditTabButton.qml | 0 .../system/create}/EditTabView.qml | 0 .../system/create}/EditTools.qml | 2 +- .../system/create}/EditToolsTabView.qml | 22 +++++++++---------- .../system/create}/EntityList.qml | 0 .../system/create}/NewEntityButton.qml | 0 .../system/create}/NewMaterialDialog.qml | 2 +- .../system/create}/NewMaterialWindow.qml | 0 .../system/create}/NewModelDialog.qml | 2 +- .../system/create}/NewModelWindow.qml | 0 .../create}/create-icons/126-material-01.svg | 0 .../create}/create-icons/20-text-01.svg | 0 .../create}/create-icons/21-cube-01.svg | 0 .../create}/create-icons/22-sphere-01.svg | 0 .../create}/create-icons/23-zone-01.svg | 0 .../create}/create-icons/24-light-01.svg | 0 .../create}/create-icons/25-web-1-01.svg | 0 .../create}/create-icons/90-particles-01.svg | 0 .../create}/create-icons/94-model-01.svg | 0 .../system/create}/create-icons/image.svg | 0 scripts/system/edit.js | 11 +++++----- scripts/system/libraries/entityList.js | 2 +- 24 files changed, 22 insertions(+), 23 deletions(-) rename {interface/resources/qml/hifi/tablet => scripts/system/create}/Edit.qml (100%) rename {interface/resources/qml/hifi/tablet => scripts/system/create}/EditEntityList.qml (82%) rename {interface/resources/qml/hifi/tablet => scripts/system/create}/EditTabButton.qml (100%) rename {interface/resources/qml/hifi/tablet => scripts/system/create}/EditTabView.qml (100%) rename {interface/resources/qml/hifi/tablet => scripts/system/create}/EditTools.qml (95%) rename {interface/resources/qml/hifi/tablet => scripts/system/create}/EditToolsTabView.qml (91%) rename {interface/resources/qml/hifi/tablet => scripts/system/create}/EntityList.qml (100%) rename {interface/resources/qml/hifi/tablet => scripts/system/create}/NewEntityButton.qml (100%) rename {interface/resources/qml/hifi/tablet => scripts/system/create}/NewMaterialDialog.qml (99%) rename {interface/resources/qml/hifi/tablet => scripts/system/create}/NewMaterialWindow.qml (100%) rename {interface/resources/qml/hifi/tablet => scripts/system/create}/NewModelDialog.qml (99%) rename {interface/resources/qml/hifi/tablet => scripts/system/create}/NewModelWindow.qml (100%) rename {interface/resources/icons => scripts/system/create}/create-icons/126-material-01.svg (100%) rename {interface/resources/icons => scripts/system/create}/create-icons/20-text-01.svg (100%) rename {interface/resources/icons => scripts/system/create}/create-icons/21-cube-01.svg (100%) rename {interface/resources/icons => scripts/system/create}/create-icons/22-sphere-01.svg (100%) rename {interface/resources/icons => scripts/system/create}/create-icons/23-zone-01.svg (100%) rename {interface/resources/icons => scripts/system/create}/create-icons/24-light-01.svg (100%) rename {interface/resources/icons => scripts/system/create}/create-icons/25-web-1-01.svg (100%) rename {interface/resources/icons => scripts/system/create}/create-icons/90-particles-01.svg (100%) rename {interface/resources/icons => scripts/system/create}/create-icons/94-model-01.svg (100%) rename {interface/resources/icons => scripts/system/create}/create-icons/image.svg (100%) diff --git a/interface/resources/qml/hifi/tablet/Edit.qml b/scripts/system/create/Edit.qml similarity index 100% rename from interface/resources/qml/hifi/tablet/Edit.qml rename to scripts/system/create/Edit.qml diff --git a/interface/resources/qml/hifi/tablet/EditEntityList.qml b/scripts/system/create/EditEntityList.qml similarity index 82% rename from interface/resources/qml/hifi/tablet/EditEntityList.qml rename to scripts/system/create/EditEntityList.qml index 2afaa8cd82..062d8366c0 100644 --- a/interface/resources/qml/hifi/tablet/EditEntityList.qml +++ b/scripts/system/create/EditEntityList.qml @@ -1,8 +1,8 @@ import QtQuick 2.7 import QtQuick.Controls 2.2 import QtWebChannel 1.0 -import "../../controls" -import "../toolbars" +import "qrc:////qml//controls" +import "qrc:////qml//hifi//toolbars" import QtGraphicalEffects 1.0 import controlsUit 1.0 as HifiControls import stylesUit 1.0 diff --git a/interface/resources/qml/hifi/tablet/EditTabButton.qml b/scripts/system/create/EditTabButton.qml similarity index 100% rename from interface/resources/qml/hifi/tablet/EditTabButton.qml rename to scripts/system/create/EditTabButton.qml diff --git a/interface/resources/qml/hifi/tablet/EditTabView.qml b/scripts/system/create/EditTabView.qml similarity index 100% rename from interface/resources/qml/hifi/tablet/EditTabView.qml rename to scripts/system/create/EditTabView.qml diff --git a/interface/resources/qml/hifi/tablet/EditTools.qml b/scripts/system/create/EditTools.qml similarity index 95% rename from interface/resources/qml/hifi/tablet/EditTools.qml rename to scripts/system/create/EditTools.qml index 976e98cd50..468935b287 100644 --- a/interface/resources/qml/hifi/tablet/EditTools.qml +++ b/scripts/system/create/EditTools.qml @@ -37,7 +37,7 @@ StackView { } function pushSource(path) { - var item = Qt.createComponent(Qt.resolvedUrl("../../" + path)); + var item = Qt.createComponent(Qt.resolvedUrl(path)); editRoot.push(item, itemProperties, StackView.Immediate); editRoot.currentItem.sendToScript.connect(editRoot.sendToScript); diff --git a/interface/resources/qml/hifi/tablet/EditToolsTabView.qml b/scripts/system/create/EditToolsTabView.qml similarity index 91% rename from interface/resources/qml/hifi/tablet/EditToolsTabView.qml rename to scripts/system/create/EditToolsTabView.qml index 1f062815b6..8195d3ceb2 100644 --- a/interface/resources/qml/hifi/tablet/EditToolsTabView.qml +++ b/scripts/system/create/EditToolsTabView.qml @@ -1,8 +1,8 @@ import QtQuick 2.7 import QtQuick.Controls 2.2 import QtWebChannel 1.0 -import "../../controls" -import "../toolbars" +import "qrc:////qml//controls" +import "qrc:////qml//hifi//toolbars" import QtGraphicalEffects 1.0 import controlsUit 1.0 as HifiControls import stylesUit 1.0 @@ -78,7 +78,7 @@ TabBar { NewEntityButton { - icon: "icons/create-icons/94-model-01.svg" + icon: "build/interface/Release/scripts/system/create/create-icons/94-model-01.svg" text: "MODEL" onClicked: { editRoot.sendToScript({ @@ -90,7 +90,7 @@ TabBar { } NewEntityButton { - icon: "icons/create-icons/21-cube-01.svg" + icon: "build/interface/Release/scripts/system/create/create-icons/21-cube-01.svg" text: "SHAPE" onClicked: { editRoot.sendToScript({ @@ -102,7 +102,7 @@ TabBar { } NewEntityButton { - icon: "icons/create-icons/24-light-01.svg" + icon: "build/interface/Release/scripts/system/create/create-icons/24-light-01.svg" text: "LIGHT" onClicked: { editRoot.sendToScript({ @@ -114,7 +114,7 @@ TabBar { } NewEntityButton { - icon: "icons/create-icons/20-text-01.svg" + icon: "build/interface/Release/scripts/system/create/create-icons/20-text-01.svg" text: "TEXT" onClicked: { editRoot.sendToScript({ @@ -126,7 +126,7 @@ TabBar { } NewEntityButton { - icon: "icons/create-icons/image.svg" + icon: "build/interface/Release/scripts/system/create/create-icons/image.svg" text: "IMAGE" onClicked: { editRoot.sendToScript({ @@ -138,7 +138,7 @@ TabBar { } NewEntityButton { - icon: "icons/create-icons/25-web-1-01.svg" + icon: "build/interface/Release/scripts/system/create/create-icons/25-web-1-01.svg" text: "WEB" onClicked: { editRoot.sendToScript({ @@ -150,7 +150,7 @@ TabBar { } NewEntityButton { - icon: "icons/create-icons/23-zone-01.svg" + icon: "build/interface/Release/scripts/system/create/create-icons/23-zone-01.svg" text: "ZONE" onClicked: { editRoot.sendToScript({ @@ -162,7 +162,7 @@ TabBar { } NewEntityButton { - icon: "icons/create-icons/90-particles-01.svg" + icon: "build/interface/Release/scripts/system/create/create-icons/90-particles-01.svg" text: "PARTICLE" onClicked: { editRoot.sendToScript({ @@ -174,7 +174,7 @@ TabBar { } NewEntityButton { - icon: "icons/create-icons/126-material-01.svg" + icon: "build/interface/Release/scripts/system/create/create-icons/126-material-01.svg" text: "MATERIAL" onClicked: { editRoot.sendToScript({ diff --git a/interface/resources/qml/hifi/tablet/EntityList.qml b/scripts/system/create/EntityList.qml similarity index 100% rename from interface/resources/qml/hifi/tablet/EntityList.qml rename to scripts/system/create/EntityList.qml diff --git a/interface/resources/qml/hifi/tablet/NewEntityButton.qml b/scripts/system/create/NewEntityButton.qml similarity index 100% rename from interface/resources/qml/hifi/tablet/NewEntityButton.qml rename to scripts/system/create/NewEntityButton.qml diff --git a/interface/resources/qml/hifi/tablet/NewMaterialDialog.qml b/scripts/system/create/NewMaterialDialog.qml similarity index 99% rename from interface/resources/qml/hifi/tablet/NewMaterialDialog.qml rename to scripts/system/create/NewMaterialDialog.qml index dde372648b..84dceb71f7 100644 --- a/interface/resources/qml/hifi/tablet/NewMaterialDialog.qml +++ b/scripts/system/create/NewMaterialDialog.qml @@ -15,7 +15,7 @@ import QtQuick.Dialogs 1.2 as OriginalDialogs import stylesUit 1.0 import controlsUit 1.0 -import "../dialogs" +import "qrc:////qml//hifi//dialogs" Rectangle { id: newMaterialDialog diff --git a/interface/resources/qml/hifi/tablet/NewMaterialWindow.qml b/scripts/system/create/NewMaterialWindow.qml similarity index 100% rename from interface/resources/qml/hifi/tablet/NewMaterialWindow.qml rename to scripts/system/create/NewMaterialWindow.qml diff --git a/interface/resources/qml/hifi/tablet/NewModelDialog.qml b/scripts/system/create/NewModelDialog.qml similarity index 99% rename from interface/resources/qml/hifi/tablet/NewModelDialog.qml rename to scripts/system/create/NewModelDialog.qml index 9540979479..0e5868bdb6 100644 --- a/interface/resources/qml/hifi/tablet/NewModelDialog.qml +++ b/scripts/system/create/NewModelDialog.qml @@ -14,7 +14,7 @@ import QtQuick.Dialogs 1.2 as OriginalDialogs import stylesUit 1.0 import controlsUit 1.0 -import "../dialogs" +import "qrc:////qml//hifi//dialogs" Rectangle { id: newModelDialog diff --git a/interface/resources/qml/hifi/tablet/NewModelWindow.qml b/scripts/system/create/NewModelWindow.qml similarity index 100% rename from interface/resources/qml/hifi/tablet/NewModelWindow.qml rename to scripts/system/create/NewModelWindow.qml diff --git a/interface/resources/icons/create-icons/126-material-01.svg b/scripts/system/create/create-icons/126-material-01.svg similarity index 100% rename from interface/resources/icons/create-icons/126-material-01.svg rename to scripts/system/create/create-icons/126-material-01.svg diff --git a/interface/resources/icons/create-icons/20-text-01.svg b/scripts/system/create/create-icons/20-text-01.svg similarity index 100% rename from interface/resources/icons/create-icons/20-text-01.svg rename to scripts/system/create/create-icons/20-text-01.svg diff --git a/interface/resources/icons/create-icons/21-cube-01.svg b/scripts/system/create/create-icons/21-cube-01.svg similarity index 100% rename from interface/resources/icons/create-icons/21-cube-01.svg rename to scripts/system/create/create-icons/21-cube-01.svg diff --git a/interface/resources/icons/create-icons/22-sphere-01.svg b/scripts/system/create/create-icons/22-sphere-01.svg similarity index 100% rename from interface/resources/icons/create-icons/22-sphere-01.svg rename to scripts/system/create/create-icons/22-sphere-01.svg diff --git a/interface/resources/icons/create-icons/23-zone-01.svg b/scripts/system/create/create-icons/23-zone-01.svg similarity index 100% rename from interface/resources/icons/create-icons/23-zone-01.svg rename to scripts/system/create/create-icons/23-zone-01.svg diff --git a/interface/resources/icons/create-icons/24-light-01.svg b/scripts/system/create/create-icons/24-light-01.svg similarity index 100% rename from interface/resources/icons/create-icons/24-light-01.svg rename to scripts/system/create/create-icons/24-light-01.svg diff --git a/interface/resources/icons/create-icons/25-web-1-01.svg b/scripts/system/create/create-icons/25-web-1-01.svg similarity index 100% rename from interface/resources/icons/create-icons/25-web-1-01.svg rename to scripts/system/create/create-icons/25-web-1-01.svg diff --git a/interface/resources/icons/create-icons/90-particles-01.svg b/scripts/system/create/create-icons/90-particles-01.svg similarity index 100% rename from interface/resources/icons/create-icons/90-particles-01.svg rename to scripts/system/create/create-icons/90-particles-01.svg diff --git a/interface/resources/icons/create-icons/94-model-01.svg b/scripts/system/create/create-icons/94-model-01.svg similarity index 100% rename from interface/resources/icons/create-icons/94-model-01.svg rename to scripts/system/create/create-icons/94-model-01.svg diff --git a/interface/resources/icons/create-icons/image.svg b/scripts/system/create/create-icons/image.svg similarity index 100% rename from interface/resources/icons/create-icons/image.svg rename to scripts/system/create/create-icons/image.svg diff --git a/scripts/system/edit.js b/scripts/system/edit.js index 371a8d48ca..ba8ab315cf 100644 --- a/scripts/system/edit.js +++ b/scripts/system/edit.js @@ -43,9 +43,8 @@ var CREATE_TOOLS_WIDTH = 490; var MAX_DEFAULT_ENTITY_LIST_HEIGHT = 942; var DEFAULT_IMAGE = "https://hifi-content.s3.amazonaws.com/DomainContent/production/no-image.jpg"; - var createToolsWindow = new CreateWindow( - Script.resourcesPath() + "qml/hifi/tablet/EditTools.qml", + Script.resolvePath("create/EditTools.qml"), 'Create Tools', 'com.highfidelity.create.createToolsWindow', function () { @@ -812,7 +811,7 @@ var toolBar = (function () { tablet.screenChanged.connect(function (type, url) { var isGoingToHomescreenOnDesktop = (!shouldUseEditTabletApp() && (url === 'hifi/tablet/TabletHome.qml' || url === '')); - if (isActive && (type !== "QML" || url !== "hifi/tablet/Edit.qml") && !isGoingToHomescreenOnDesktop) { + if (isActive && (type !== "QML" || url !== Script.resolvePath("create/Edit.qml")) && !isGoingToHomescreenOnDesktop) { that.setActive(false); } }); @@ -841,10 +840,10 @@ var toolBar = (function () { if (shouldUseEditTabletApp()) { // tablet version of new-model dialog var tablet = Tablet.getTablet("com.highfidelity.interface.tablet.system"); - tablet.pushOntoStack("hifi/tablet/New" + entityType + "Dialog.qml"); + tablet.pushOntoStack(Script.resolvePath("create/New" + entityType + "Dialog.qml")); } else { closeExistingDialogWindow(); - var qmlPath = Script.resourcesPath() + "qml/hifi/tablet/New" + entityType + "Window.qml"; + var qmlPath = Script.resourcesPath() + Script.resolvePath("create/New" + entityType + "Window.qml"); var DIALOG_WINDOW_SIZE = { x: 500, y: 300 }; dialogWindow = Desktop.createWindow(qmlPath, { title: "New " + entityType + " Entity", @@ -965,7 +964,7 @@ var toolBar = (function () { Controller.disableMapping(CONTROLLER_MAPPING_NAME); } else { if (shouldUseEditTabletApp()) { - tablet.loadQMLSource("hifi/tablet/Edit.qml", true); + tablet.loadQMLSource(Script.resolvePath("create/Edit.qml"), true); } else { // make other apps inactive while in desktop mode tablet.gotoHomeScreen(); diff --git a/scripts/system/libraries/entityList.js b/scripts/system/libraries/entityList.js index 6498c92f17..585e4e06a5 100644 --- a/scripts/system/libraries/entityList.js +++ b/scripts/system/libraries/entityList.js @@ -37,7 +37,7 @@ EntityListTool = function(shouldUseEditTabletApp) { var ENTITY_LIST_WIDTH = 495; var MAX_DEFAULT_CREATE_TOOLS_HEIGHT = 778; var entityListWindow = new CreateWindow( - Script.resolvePath("EditEntityList.qml"), + Script.resolvePath("../create/EditEntityList.qml"), 'Entity List', 'com.highfidelity.create.entityListWindow', function () { From 3b53e34c95acb9a9515ac21a9f30d458552d6562 Mon Sep 17 00:00:00 2001 From: RebeccaStankus Date: Tue, 18 Jun 2019 10:39:45 -0700 Subject: [PATCH 2/8] fixing paths --- scripts/system/create/EditTabView.qml | 4 ++-- scripts/system/create/EditToolsTabView.qml | 18 +++++++++--------- scripts/system/create/NewEntityButton.qml | 12 ++---------- scripts/system/edit.js | 3 ++- 4 files changed, 15 insertions(+), 22 deletions(-) diff --git a/scripts/system/create/EditTabView.qml b/scripts/system/create/EditTabView.qml index 87db317b17..213f2f560b 100644 --- a/scripts/system/create/EditTabView.qml +++ b/scripts/system/create/EditTabView.qml @@ -1,8 +1,8 @@ import QtQuick 2.7 import QtQuick.Controls 2.2 import QtWebChannel 1.0 -import "../../controls" -import "../toolbars" +import "qrc:////qml//controls" +import "qrc:////qml//hifi//toolbars" import QtGraphicalEffects 1.0 import controlsUit 1.0 as HifiControls import stylesUit 1.0 diff --git a/scripts/system/create/EditToolsTabView.qml b/scripts/system/create/EditToolsTabView.qml index 8195d3ceb2..cb1aee363b 100644 --- a/scripts/system/create/EditToolsTabView.qml +++ b/scripts/system/create/EditToolsTabView.qml @@ -78,7 +78,7 @@ TabBar { NewEntityButton { - icon: "build/interface/Release/scripts/system/create/create-icons/94-model-01.svg" + icon: "create-icons/94-model-01.svg" text: "MODEL" onClicked: { editRoot.sendToScript({ @@ -90,7 +90,7 @@ TabBar { } NewEntityButton { - icon: "build/interface/Release/scripts/system/create/create-icons/21-cube-01.svg" + icon: "create-icons/21-cube-01.svg" text: "SHAPE" onClicked: { editRoot.sendToScript({ @@ -102,7 +102,7 @@ TabBar { } NewEntityButton { - icon: "build/interface/Release/scripts/system/create/create-icons/24-light-01.svg" + icon: "create-icons/24-light-01.svg" text: "LIGHT" onClicked: { editRoot.sendToScript({ @@ -114,7 +114,7 @@ TabBar { } NewEntityButton { - icon: "build/interface/Release/scripts/system/create/create-icons/20-text-01.svg" + icon: "create-icons/20-text-01.svg" text: "TEXT" onClicked: { editRoot.sendToScript({ @@ -126,7 +126,7 @@ TabBar { } NewEntityButton { - icon: "build/interface/Release/scripts/system/create/create-icons/image.svg" + icon: "create-icons/image.svg" text: "IMAGE" onClicked: { editRoot.sendToScript({ @@ -138,7 +138,7 @@ TabBar { } NewEntityButton { - icon: "build/interface/Release/scripts/system/create/create-icons/25-web-1-01.svg" + icon: "create-icons/25-web-1-01.svg" text: "WEB" onClicked: { editRoot.sendToScript({ @@ -150,7 +150,7 @@ TabBar { } NewEntityButton { - icon: "build/interface/Release/scripts/system/create/create-icons/23-zone-01.svg" + icon: "create-icons/23-zone-01.svg" text: "ZONE" onClicked: { editRoot.sendToScript({ @@ -162,7 +162,7 @@ TabBar { } NewEntityButton { - icon: "build/interface/Release/scripts/system/create/create-icons/90-particles-01.svg" + icon: "create-icons/90-particles-01.svg" text: "PARTICLE" onClicked: { editRoot.sendToScript({ @@ -174,7 +174,7 @@ TabBar { } NewEntityButton { - icon: "build/interface/Release/scripts/system/create/create-icons/126-material-01.svg" + icon: "create-icons/126-material-01.svg" text: "MATERIAL" onClicked: { editRoot.sendToScript({ diff --git a/scripts/system/create/NewEntityButton.qml b/scripts/system/create/NewEntityButton.qml index 1952ef7ee8..9c210ac95a 100644 --- a/scripts/system/create/NewEntityButton.qml +++ b/scripts/system/create/NewEntityButton.qml @@ -6,7 +6,7 @@ Item { id: newEntityButton property var uuid; property string text: "ENTITY" - property string icon: "icons/edit-icon.svg" + property string icon: Path.resources + "icons/edit-icon.svg" property string activeText: newEntityButton.text property string activeIcon: newEntityButton.icon property bool isActive: false @@ -47,14 +47,6 @@ Item { anchors.topMargin: 0 } - function urlHelper(src) { - if (src.match(/\bhttp/)) { - return src; - } else { - return "../../../" + src; - } - } - Rectangle { id: buttonOutline color: "#00000000" @@ -96,7 +88,7 @@ Item { anchors.bottomMargin: 5 anchors.horizontalCenter: parent.horizontalCenter fillMode: Image.Stretch - source: newEntityButton.urlHelper(newEntityButton.icon) + source: newEntityButton.icon } ColorOverlay { diff --git a/scripts/system/edit.js b/scripts/system/edit.js index ba8ab315cf..cf99f3a618 100644 --- a/scripts/system/edit.js +++ b/scripts/system/edit.js @@ -43,6 +43,7 @@ var CREATE_TOOLS_WIDTH = 490; var MAX_DEFAULT_ENTITY_LIST_HEIGHT = 942; var DEFAULT_IMAGE = "https://hifi-content.s3.amazonaws.com/DomainContent/production/no-image.jpg"; + var createToolsWindow = new CreateWindow( Script.resolvePath("create/EditTools.qml"), 'Create Tools', @@ -843,7 +844,7 @@ var toolBar = (function () { tablet.pushOntoStack(Script.resolvePath("create/New" + entityType + "Dialog.qml")); } else { closeExistingDialogWindow(); - var qmlPath = Script.resourcesPath() + Script.resolvePath("create/New" + entityType + "Window.qml"); + var qmlPath = Script.resolvePath("create/New" + entityType + "Window.qml"); var DIALOG_WINDOW_SIZE = { x: 500, y: 300 }; dialogWindow = Desktop.createWindow(qmlPath, { title: "New " + entityType + " Entity", From 6196c6b746b48346a573daa64af17495144788b8 Mon Sep 17 00:00:00 2001 From: Milad Nazeri Date: Tue, 18 Jun 2019 14:32:11 -0700 Subject: [PATCH 3/8] more stable nametag updates --- .../resources/modules/nameTagListManager.js | 108 +++++++++++------- .../ui/simplifiedNametag/simplifiedNametag.js | 3 +- 2 files changed, 68 insertions(+), 43 deletions(-) diff --git a/scripts/simplifiedUI/ui/simplifiedNametag/resources/modules/nameTagListManager.js b/scripts/simplifiedUI/ui/simplifiedNametag/resources/modules/nameTagListManager.js index f8b6f2e6cd..b322df1ef3 100644 --- a/scripts/simplifiedUI/ui/simplifiedNametag/resources/modules/nameTagListManager.js +++ b/scripts/simplifiedUI/ui/simplifiedNametag/resources/modules/nameTagListManager.js @@ -9,16 +9,17 @@ // // Helps manage the list of avatars added to the nametag list // - -var EntityMaker = Script.require('./entityMaker.js?' + Date.now()); -var entityProps = Script.require('./defaultLocalEntityProps.js?' + Date.now()); -var textHelper = new (Script.require('./textHelper.js?' + Date.now())); +var EntityMaker = Script.require('./entityMaker.js'); +var entityProps = Script.require('./defaultLocalEntityProps.js'); +var textHelper = new (Script.require('./textHelper.js')); var X = 0; var Y = 1; var Z = 2; var HALF = 0.5; var CLEAR_ENTITY_EDIT_PROPS = true; var MILISECONDS_IN_SECOND = 1000; +var SECONDS_IN_MINUTE = 60; +var ALWAYS_ON_MAX_LIFETIME_IN_SECONDS = 20 * SECONDS_IN_MINUTE; // Delete after 20 minutes in case a nametag is hanging around in on mode // ************************************* // START UTILTY @@ -58,8 +59,6 @@ var distanceScaler = DISTANCE_SCALER_ON; var userScaler = 1.0; var DEFAULT_LINE_HEIGHT = entityProps.lineHeight; function calculateInitialProperties(uuid) { - var avatar = _this.avatars[uuid]; - var adjustedScaler = null; var distance = null; var dimensions = null; @@ -97,19 +96,6 @@ function calculateInitialProperties(uuid) { } -// Used in alwaysOn mode to show or hide if they reached the max radius -function showHide(uuid, type) { - var avatar = _this.avatars[uuid]; - var nametag = avatar.nametag; - - if (type === "show") { - nametag.show(); - } else { - nametag.hide(); - } -} - - // Go through the selected avatar list and see if any of the avatars need a redraw function checkAllSelectedForRedraw() { for (var avatar in _this.selectedAvatars) { @@ -168,6 +154,18 @@ function getDistance(uuid, checkAvatar, shouldSave) { } +// Quick check for distance from avatar +function quickDistanceCheckForNonSelectedAvatars(uuid) { + var eye = MyAvatar.position; + + var target = AvatarManager.getAvatar(uuid).position; + + var avatarDistance = Vec3.distance(target, eye); + + return avatarDistance; +} + + // Check to see if we need to toggle our interval check because we went to 0 avatars // or if we got our first avatar in the select list function shouldToggleInterval() { @@ -197,7 +195,9 @@ function toggleInterval() { } -// handle turning the peristenet mode on +// Handle checking to see if we should add or delete nametags in persistent mode +var alwaysOnAvatarDistanceCheck = false; +var DISTANCE_CHECK_INTERVAL_MS = 1000; function handleAlwaysOnMode(shouldTurnOnAlwaysOnMode) { _this.reset(); if (shouldTurnOnAlwaysOnMode) { @@ -205,13 +205,25 @@ function handleAlwaysOnMode(shouldTurnOnAlwaysOnMode) { .getAvatarIdentifiers() .forEach(function (avatar) { if (avatar) { - add(avatar); + var avatarDistance = quickDistanceCheckForNonSelectedAvatars(avatar); + if (avatarDistance < MAX_RADIUS_IGNORE_METERS) { + add(avatar); + } } }); + alwaysOnAvatarDistanceCheck = Script.setInterval(maybeAddOrRemoveIntervalCheck, DISTANCE_CHECK_INTERVAL_MS); } } +// Check to see if we need to clear the distance check in persistent mode +function maybeClearAlwaysOnAvatarDistanceCheck() { + if (alwaysOnAvatarDistanceCheck) { + Script.clearInterval(alwaysOnAvatarDistanceCheck); + alwaysOnAvatarDistanceCheck = false; + } +} + // #endregion // ************************************* // END UTILTY @@ -313,12 +325,6 @@ function makeNameTag(uuid) { var nameTagPosition = jointInObjectFrame.y + scaledDimenionsYHalf + ABOVE_HEAD_OFFSET; var localPosition = [0, nameTagPosition, 0]; - var visible = true; - if (avatarNametagMode === "alwaysOn") { - var currentDistance = getDistance(uuid, CHECK_AVATAR, false); - visible = currentDistance > MAX_RADIUS_IGNORE_METERS ? false : true; - } - nametag .add("leftMargin", lineHeight * LEFT_MARGIN_SCALER) .add("rightMargin", lineHeight * RIGHT_MARGIN_SCALER) @@ -328,7 +334,6 @@ function makeNameTag(uuid) { .add("dimensions", scaledDimensions) .add("parentID", parentID) .add("localPosition", localPosition) - .add("visible", visible) .create(CLEAR_ENTITY_EDIT_PROPS); Script.setTimeout(function () { @@ -341,33 +346,45 @@ function makeNameTag(uuid) { var MAX_RADIUS_IGNORE_METERS = 22; var MAX_ON_MODE_DISTANCE = 35; var CHECK_AVATAR = true; -var MIN_DISTANCE = 0.2; +var MIN_DISTANCE_FOR_REDRAW_METERS = 0.1; function maybeRedraw(uuid) { var avatar = _this.avatars[uuid]; getAvatarData(uuid); getDistance(uuid); - var avatarDistance = getDistance(uuid, CHECK_AVATAR, false); - if (avatarNametagMode === "alwaysOn" && avatarDistance > MAX_RADIUS_IGNORE_METERS) { - showHide(uuid, "hide"); - } - - if (avatarNametagMode === "alwaysOn" && avatarDistance < MAX_RADIUS_IGNORE_METERS) { - showHide(uuid, "show"); - } + var distanceDelta = Math.abs(avatar.currentDistance - avatar.previousDistance); var name = getCorrectName(uuid); if (avatar.previousName !== name) { updateName(uuid, name); - } else { + } else if (distanceDelta > MIN_DISTANCE_FOR_REDRAW_METERS) { redraw(uuid); } +} + +// Check to see if we need to add or remove this avatar during always on mode +function maybeAddOrRemoveIntervalCheck() { + AvatarManager + .getAvatarIdentifiers() + .forEach(function (avatar) { + if (avatar) { + var avatarDistance = quickDistanceCheckForNonSelectedAvatars(avatar); + if (avatar && avatarNametagMode === "alwaysOn" && !(avatar in _this.avatars) && avatarDistance < MAX_RADIUS_IGNORE_METERS) { + add(avatar); + return; + } + if (avatarDistance > MAX_RADIUS_IGNORE_METERS) { + maybeRemove(avatar); + } + } + }); } // Handle redrawing if needed +var MIN_DISTANCE = 0.1; function redraw(uuid) { var avatar = _this.avatars[uuid]; @@ -447,7 +464,7 @@ function add(uuid) { _this.selectedAvatars[uuid] = true; if (avatarNametagMode === "alwaysOn") { - entityProps.lifetime = -1; + entityProps.lifetime = ALWAYS_ON_MAX_LIFETIME_IN_SECONDS; } else { entityProps.lifetime = DEFAULT_LIFETIME; } @@ -521,16 +538,20 @@ function removeNametag(uuid) { // #region API -// Create the manager and hook up username signal +// Create the manager. function create() { + if (avatarNametagMode === "alwaysOn") { + handleAvatarNametagMode("alwaysOn"); + } return _this; } -// Destory the manager and disconnect from username signal +// Destory the manager function destroy() { _this.reset(); + return _this; } @@ -601,7 +622,9 @@ function maybeRemove(uuid) { // Check to see if we need to add this user to our list function maybeAdd(uuid) { - if (uuid && avatarNametagMode === "alwaysOn" && !(uuid in _this.avatars)) { + var avatarDistance = quickDistanceCheckForNonSelectedAvatars(uuid); + + if (uuid && avatarNametagMode === "alwaysOn" && !(uuid in _this.avatars) && avatarDistance < MAX_RADIUS_IGNORE_METERS) { add(uuid); } } @@ -628,6 +651,7 @@ function reset() { removeAllNametags(); _this.avatars = {}; shouldToggleInterval(); + maybeClearAlwaysOnAvatarDistanceCheck(); return _this; } diff --git a/scripts/simplifiedUI/ui/simplifiedNametag/simplifiedNametag.js b/scripts/simplifiedUI/ui/simplifiedNametag/simplifiedNametag.js index 9b4d9cfad3..d6790353a2 100644 --- a/scripts/simplifiedUI/ui/simplifiedNametag/simplifiedNametag.js +++ b/scripts/simplifiedUI/ui/simplifiedNametag/simplifiedNametag.js @@ -8,7 +8,7 @@ // // Click on someone to get a nametag for them // -var PickRayController = Script.require('./resources/modules/pickRayController.js?' + Date.now()); +var PickRayController = Script.require('./resources/modules/pickRayController.js'); var NameTagListManager = Script.require('./resources/modules/nameTagListManager.js?' + Date.now()); var pickRayController = new PickRayController(); var nameTagListManager = new NameTagListManager(); @@ -31,6 +31,7 @@ function selectAvatar(uuid, intersection) { // Handles reset of list if you change domains function onDomainChange() { nameTagListManager.reset(); + nameTagListManager.handleAvatarNametagMode(avatarNametagMode); } From 422c70f3000853fc9882cd7e870e7be33b86fca5 Mon Sep 17 00:00:00 2001 From: Milad Nazeri Date: Tue, 18 Jun 2019 14:35:00 -0700 Subject: [PATCH 4/8] fixed cache and extra line --- .../simplifiedNametag/resources/modules/nameTagListManager.js | 1 + scripts/simplifiedUI/ui/simplifiedNametag/simplifiedNametag.js | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/scripts/simplifiedUI/ui/simplifiedNametag/resources/modules/nameTagListManager.js b/scripts/simplifiedUI/ui/simplifiedNametag/resources/modules/nameTagListManager.js index b322df1ef3..d7bb56be64 100644 --- a/scripts/simplifiedUI/ui/simplifiedNametag/resources/modules/nameTagListManager.js +++ b/scripts/simplifiedUI/ui/simplifiedNametag/resources/modules/nameTagListManager.js @@ -224,6 +224,7 @@ function maybeClearAlwaysOnAvatarDistanceCheck() { } } + // #endregion // ************************************* // END UTILTY diff --git a/scripts/simplifiedUI/ui/simplifiedNametag/simplifiedNametag.js b/scripts/simplifiedUI/ui/simplifiedNametag/simplifiedNametag.js index d6790353a2..7c23c45674 100644 --- a/scripts/simplifiedUI/ui/simplifiedNametag/simplifiedNametag.js +++ b/scripts/simplifiedUI/ui/simplifiedNametag/simplifiedNametag.js @@ -9,7 +9,7 @@ // Click on someone to get a nametag for them // var PickRayController = Script.require('./resources/modules/pickRayController.js'); -var NameTagListManager = Script.require('./resources/modules/nameTagListManager.js?' + Date.now()); +var NameTagListManager = Script.require('./resources/modules/nameTagListManager.js'); var pickRayController = new PickRayController(); var nameTagListManager = new NameTagListManager(); From 61e4155eda831e560b53961c1237e97a96be06c9 Mon Sep 17 00:00:00 2001 From: Milad Nazeri Date: Wed, 19 Jun 2019 07:30:28 -0700 Subject: [PATCH 5/8] cr-r1 --- .../resources/modules/nameTagListManager.js | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/scripts/simplifiedUI/ui/simplifiedNametag/resources/modules/nameTagListManager.js b/scripts/simplifiedUI/ui/simplifiedNametag/resources/modules/nameTagListManager.js index d7bb56be64..2ba9904845 100644 --- a/scripts/simplifiedUI/ui/simplifiedNametag/resources/modules/nameTagListManager.js +++ b/scripts/simplifiedUI/ui/simplifiedNametag/resources/modules/nameTagListManager.js @@ -156,11 +156,11 @@ function getDistance(uuid, checkAvatar, shouldSave) { // Quick check for distance from avatar function quickDistanceCheckForNonSelectedAvatars(uuid) { - var eye = MyAvatar.position; + var source = MyAvatar.position; var target = AvatarManager.getAvatar(uuid).position; - var avatarDistance = Vec3.distance(target, eye); + var avatarDistance = Vec3.distance(target, source); return avatarDistance; } @@ -211,6 +211,7 @@ function handleAlwaysOnMode(shouldTurnOnAlwaysOnMode) { } } }); + maybeClearAlwaysOnAvatarDistanceCheck(); alwaysOnAvatarDistanceCheck = Script.setInterval(maybeAddOrRemoveIntervalCheck, DISTANCE_CHECK_INTERVAL_MS); } } @@ -549,7 +550,7 @@ function create() { } -// Destory the manager +// Destroy the manager function destroy() { _this.reset(); From 30dd667b17d3728c96d0702191a8a091ebeef569 Mon Sep 17 00:00:00 2001 From: RebeccaStankus Date: Wed, 19 Jun 2019 10:16:29 -0700 Subject: [PATCH 6/8] Changed qml import method --- interface/resources/qml/controls/qmldir | 25 ++++++++++++++++++++ interface/resources/qml/hifi/dialogs/qmldir | 18 ++++++++++++++ interface/resources/qml/hifi/toolbars/qmldir | 4 ++++ scripts/system/create/EditEntityList.qml | 4 ++-- scripts/system/create/EditTabView.qml | 22 ++++++++--------- scripts/system/create/EditToolsTabView.qml | 4 ++-- scripts/system/create/NewMaterialDialog.qml | 2 +- scripts/system/create/NewModelDialog.qml | 2 +- 8 files changed, 64 insertions(+), 17 deletions(-) create mode 100644 interface/resources/qml/controls/qmldir create mode 100644 interface/resources/qml/hifi/dialogs/qmldir create mode 100644 interface/resources/qml/hifi/toolbars/qmldir diff --git a/interface/resources/qml/controls/qmldir b/interface/resources/qml/controls/qmldir new file mode 100644 index 0000000000..6d7cf458cd --- /dev/null +++ b/interface/resources/qml/controls/qmldir @@ -0,0 +1,25 @@ +module controls +Button 1.0 Button.qml +ButtonAwesome 1.0 ButtonAwesome.qml +CheckBox 1.0 CheckBox.qml +ComboBox 1.0 ComboBox.qml +FlickableWebViewCore 1.0 FlickableWebViewCore.qml +FontAwesome 1.0 FontAwesome.qml +Player 1.0 Player.qml +RadioButton 1.0 RadioButton.qml +Slider 1.0 Slider.qml +Spacer 1.0 Spacer.qml +SpinBox 1.0 SpinBox.qml +TabletWebButton 1.0 TabletWebButton.qml +TabletWebScreen 1.0 TabletWebScreen.qml +TabletWebView 1.0 TabletWebView.qml +Text 1.0 Text.qml +TextAndSlider 1.0 TextAndSlider.qml +TextAndSpinBox 1.0 TextAndSpinBox.qml +TextArea 1.0 TextArea.qml +TextEdit 1.0 TextEdit.qml +TextField 1.0 TextField.qml +TextHeader 1.0 TextHeader.qml +TextInput 1.0 TextInput.qml +TextInputAndButton 1.0 TextInputAndButton.qml +WebView 1.0 WebView.qml \ No newline at end of file diff --git a/interface/resources/qml/hifi/dialogs/qmldir b/interface/resources/qml/hifi/dialogs/qmldir new file mode 100644 index 0000000000..4075738e33 --- /dev/null +++ b/interface/resources/qml/hifi/dialogs/qmldir @@ -0,0 +1,18 @@ +module dialogs +AboutDialog 1.0 AboutDialog.qml +AdvancedPreferencesDialog 1.0 AdvancedPreferencesDialog.qml +AudioBuffers 1.0 AudioBuffers.qml +AvatarPreferencesDialog 1.0 AvatarPreferencesDialog.qml +GeneralPreferencesDialog 1.0 GeneralPreferencesDialog.qml +LodPreferencesDialog 1.0 LodPreferencesDialog.qml +ModelBrowserDialog 1.0 ModelBrowserDialog.qml +NetworkingPreferencesDialog 1.0 NetworkingPreferencesDialog.qml +RunningScripts 1.0 RunningScripts.qml +TabletAboutDialog 1.0 TabletAboutDialog.qml +TabletAssetServer 1.0 TabletAssetServer.qml +TabletDCDialog 1.0 TabletDCDialog.qml +TabletDebugWindow 1.0 TabletDebugWindow.qml +TabletEntityStatistics 1.0 TabletEntityStatistics.qml +TabletEntityStatisticsItem 1.0 TabletEntityStatisticsItem.qml +TabletLODTools 1.0 TabletLODTools.qml +TabletRunningScripts 1.0 TabletRunningScripts.qml \ No newline at end of file diff --git a/interface/resources/qml/hifi/toolbars/qmldir b/interface/resources/qml/hifi/toolbars/qmldir new file mode 100644 index 0000000000..a27cdc0a4f --- /dev/null +++ b/interface/resources/qml/hifi/toolbars/qmldir @@ -0,0 +1,4 @@ +module toolbars +StateImage 1.0 StateImage.qml +Toolbar 1.0 Toolbar.qml +ToolbarButton 1.0 ToolbarButton.qml \ No newline at end of file diff --git a/scripts/system/create/EditEntityList.qml b/scripts/system/create/EditEntityList.qml index 062d8366c0..94935c7bb5 100644 --- a/scripts/system/create/EditEntityList.qml +++ b/scripts/system/create/EditEntityList.qml @@ -1,8 +1,8 @@ import QtQuick 2.7 import QtQuick.Controls 2.2 import QtWebChannel 1.0 -import "qrc:////qml//controls" -import "qrc:////qml//hifi//toolbars" +import controls 1.0 +import hifi.toolbars 1.0 import QtGraphicalEffects 1.0 import controlsUit 1.0 as HifiControls import stylesUit 1.0 diff --git a/scripts/system/create/EditTabView.qml b/scripts/system/create/EditTabView.qml index 213f2f560b..7e8789487c 100644 --- a/scripts/system/create/EditTabView.qml +++ b/scripts/system/create/EditTabView.qml @@ -1,8 +1,8 @@ import QtQuick 2.7 import QtQuick.Controls 2.2 import QtWebChannel 1.0 -import "qrc:////qml//controls" -import "qrc:////qml//hifi//toolbars" +import controls 1.0 +import hifi.toolbars 1.0 import QtGraphicalEffects 1.0 import controlsUit 1.0 as HifiControls import stylesUit 1.0 @@ -72,7 +72,7 @@ TabBar { NewEntityButton { - icon: "icons/create-icons/94-model-01.svg" + icon: "create-icons/94-model-01.svg" text: "MODEL" onClicked: { editRoot.sendToScript({ @@ -84,7 +84,7 @@ TabBar { } NewEntityButton { - icon: "icons/create-icons/21-cube-01.svg" + icon: "create-icons/21-cube-01.svg" text: "SHAPE" onClicked: { editRoot.sendToScript({ @@ -96,7 +96,7 @@ TabBar { } NewEntityButton { - icon: "icons/create-icons/24-light-01.svg" + icon: "create-icons/24-light-01.svg" text: "LIGHT" onClicked: { editRoot.sendToScript({ @@ -108,7 +108,7 @@ TabBar { } NewEntityButton { - icon: "icons/create-icons/20-text-01.svg" + icon: "create-icons/20-text-01.svg" text: "TEXT" onClicked: { editRoot.sendToScript({ @@ -120,7 +120,7 @@ TabBar { } NewEntityButton { - icon: "icons/create-icons/image.svg" + icon: "create-icons/image.svg" text: "IMAGE" onClicked: { editRoot.sendToScript({ @@ -132,7 +132,7 @@ TabBar { } NewEntityButton { - icon: "icons/create-icons/25-web-1-01.svg" + icon: "create-icons/25-web-1-01.svg" text: "WEB" onClicked: { editRoot.sendToScript({ @@ -144,7 +144,7 @@ TabBar { } NewEntityButton { - icon: "icons/create-icons/23-zone-01.svg" + icon: "create-icons/23-zone-01.svg" text: "ZONE" onClicked: { editRoot.sendToScript({ @@ -156,7 +156,7 @@ TabBar { } NewEntityButton { - icon: "icons/create-icons/90-particles-01.svg" + icon: "create-icons/90-particles-01.svg" text: "PARTICLE" onClicked: { editRoot.sendToScript({ @@ -168,7 +168,7 @@ TabBar { } NewEntityButton { - icon: "icons/create-icons/126-material-01.svg" + icon: "create-icons/126-material-01.svg" text: "MATERIAL" onClicked: { editRoot.sendToScript({ diff --git a/scripts/system/create/EditToolsTabView.qml b/scripts/system/create/EditToolsTabView.qml index cb1aee363b..a333acc586 100644 --- a/scripts/system/create/EditToolsTabView.qml +++ b/scripts/system/create/EditToolsTabView.qml @@ -1,8 +1,8 @@ import QtQuick 2.7 import QtQuick.Controls 2.2 import QtWebChannel 1.0 -import "qrc:////qml//controls" -import "qrc:////qml//hifi//toolbars" +import controls 1.0 +import hifi.toolbars 1.0 import QtGraphicalEffects 1.0 import controlsUit 1.0 as HifiControls import stylesUit 1.0 diff --git a/scripts/system/create/NewMaterialDialog.qml b/scripts/system/create/NewMaterialDialog.qml index 84dceb71f7..75570327e0 100644 --- a/scripts/system/create/NewMaterialDialog.qml +++ b/scripts/system/create/NewMaterialDialog.qml @@ -15,7 +15,7 @@ import QtQuick.Dialogs 1.2 as OriginalDialogs import stylesUit 1.0 import controlsUit 1.0 -import "qrc:////qml//hifi//dialogs" +import dialogs 1.0 Rectangle { id: newMaterialDialog diff --git a/scripts/system/create/NewModelDialog.qml b/scripts/system/create/NewModelDialog.qml index 0e5868bdb6..1ded00d701 100644 --- a/scripts/system/create/NewModelDialog.qml +++ b/scripts/system/create/NewModelDialog.qml @@ -14,7 +14,7 @@ import QtQuick.Dialogs 1.2 as OriginalDialogs import stylesUit 1.0 import controlsUit 1.0 -import "qrc:////qml//hifi//dialogs" +import dialogs 1.0 Rectangle { id: newModelDialog From e27707042372454f3a18e7aa58e761960519655f Mon Sep 17 00:00:00 2001 From: RebeccaStankus Date: Wed, 19 Jun 2019 11:17:52 -0700 Subject: [PATCH 7/8] Changed icons path to be relative --- scripts/system/create/NewEntityButton.qml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/system/create/NewEntityButton.qml b/scripts/system/create/NewEntityButton.qml index 9c210ac95a..a1b1af7126 100644 --- a/scripts/system/create/NewEntityButton.qml +++ b/scripts/system/create/NewEntityButton.qml @@ -6,7 +6,7 @@ Item { id: newEntityButton property var uuid; property string text: "ENTITY" - property string icon: Path.resources + "icons/edit-icon.svg" + property string icon: Script.resolvePath("../../../interface/resources/icons/edit-icon.svg") property string activeText: newEntityButton.text property string activeIcon: newEntityButton.icon property bool isActive: false From f5fa44dc2174fcd3ec8d738b2c1ecaf892cdd3a0 Mon Sep 17 00:00:00 2001 From: RebeccaStankus Date: Wed, 19 Jun 2019 12:06:34 -0700 Subject: [PATCH 8/8] Revert "Changed icons path to be relative" This reverts commit e27707042372454f3a18e7aa58e761960519655f. --- scripts/system/create/NewEntityButton.qml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/system/create/NewEntityButton.qml b/scripts/system/create/NewEntityButton.qml index a1b1af7126..9c210ac95a 100644 --- a/scripts/system/create/NewEntityButton.qml +++ b/scripts/system/create/NewEntityButton.qml @@ -6,7 +6,7 @@ Item { id: newEntityButton property var uuid; property string text: "ENTITY" - property string icon: Script.resolvePath("../../../interface/resources/icons/edit-icon.svg") + property string icon: Path.resources + "icons/edit-icon.svg" property string activeText: newEntityButton.text property string activeIcon: newEntityButton.icon property bool isActive: false