diff --git a/interface/resources/html/help.html b/interface/resources/html/help.html deleted file mode 100644 index 1c70300297..0000000000 --- a/interface/resources/html/help.html +++ /dev/null @@ -1,127 +0,0 @@ - - - - - - Welcome to Interface - - - - - - -
- - - - -
- - - diff --git a/interface/resources/html/img/controls-help-gamepad.png b/interface/resources/html/img/controls-help-gamepad.png deleted file mode 100644 index c9d2aa14ec..0000000000 Binary files a/interface/resources/html/img/controls-help-gamepad.png and /dev/null differ diff --git a/interface/resources/html/img/controls-help-keyboard.png b/interface/resources/html/img/controls-help-keyboard.png deleted file mode 100644 index 16564f5c22..0000000000 Binary files a/interface/resources/html/img/controls-help-keyboard.png and /dev/null differ diff --git a/interface/resources/html/img/controls-help-oculus.png b/interface/resources/html/img/controls-help-oculus.png deleted file mode 100644 index 8887bc9ab1..0000000000 Binary files a/interface/resources/html/img/controls-help-oculus.png and /dev/null differ diff --git a/interface/resources/html/img/controls-help-vive.png b/interface/resources/html/img/controls-help-vive.png deleted file mode 100644 index 98b339b7e6..0000000000 Binary files a/interface/resources/html/img/controls-help-vive.png and /dev/null differ diff --git a/interface/resources/html/img/tablet-help-gamepad.jpg b/interface/resources/html/img/tablet-help-gamepad.jpg index 87d79c2d67..2594cbd86c 100644 Binary files a/interface/resources/html/img/tablet-help-gamepad.jpg and b/interface/resources/html/img/tablet-help-gamepad.jpg differ diff --git a/interface/resources/html/img/tablet-help-keyboard.jpg b/interface/resources/html/img/tablet-help-keyboard.jpg index 51edf3c1d3..a62fbe9450 100644 Binary files a/interface/resources/html/img/tablet-help-keyboard.jpg and b/interface/resources/html/img/tablet-help-keyboard.jpg differ diff --git a/interface/resources/html/img/tablet-help-oculus.jpg b/interface/resources/html/img/tablet-help-oculus.jpg index 92f92ae813..bbff760e96 100644 Binary files a/interface/resources/html/img/tablet-help-oculus.jpg and b/interface/resources/html/img/tablet-help-oculus.jpg differ diff --git a/interface/resources/html/img/tablet-help-vive.jpg b/interface/resources/html/img/tablet-help-vive.jpg index abfbd8554a..849e3a5588 100644 Binary files a/interface/resources/html/img/tablet-help-vive.jpg and b/interface/resources/html/img/tablet-help-vive.jpg differ diff --git a/interface/resources/qml/controls-uit/Table.qml b/interface/resources/qml/controls-uit/Table.qml index 11d1920f95..1443cd5d6e 100644 --- a/interface/resources/qml/controls-uit/Table.qml +++ b/interface/resources/qml/controls-uit/Table.qml @@ -11,6 +11,7 @@ import QtQuick 2.5 import QtQuick.Controls 1.4 import QtQuick.Controls.Styles 1.4 +import QtQuick.Controls 2.2 as QQC2 import "../styles-uit" @@ -24,6 +25,45 @@ TableView { model: ListModel { } + Component.onCompleted: { + if (flickableItem !== null && flickableItem !== undefined) { + tableView.flickableItem.QQC2.ScrollBar.vertical = scrollbar + } + } + + QQC2.ScrollBar { + id: scrollbar + parent: tableView.flickableItem + policy: QQC2.ScrollBar.AsNeeded + orientation: Qt.Vertical + visible: size < 1.0 + topPadding: tableView.headerVisible ? hifi.dimensions.tableHeaderHeight + 1 : 1 + anchors.top: tableView.top + anchors.left: tableView.right + anchors.bottom: tableView.bottom + + background: Item { + implicitWidth: hifi.dimensions.scrollbarBackgroundWidth + Rectangle { + anchors { + fill: parent; + topMargin: tableView.headerVisible ? hifi.dimensions.tableHeaderHeight : 0 + } + color: isLightColorScheme ? hifi.colors.tableScrollBackgroundLight + : hifi.colors.tableScrollBackgroundDark + } + } + + contentItem: Item { + implicitWidth: hifi.dimensions.scrollbarHandleWidth + Rectangle { + anchors.fill: parent + radius: (width - 4)/2 + color: isLightColorScheme ? hifi.colors.tableScrollHandleLight : hifi.colors.tableScrollHandleDark + } + } + } + headerVisible: false headerDelegate: Rectangle { height: hifi.dimensions.tableHeaderHeight @@ -98,74 +138,13 @@ TableView { backgroundVisible: true horizontalScrollBarPolicy: Qt.ScrollBarAlwaysOff - verticalScrollBarPolicy: Qt.ScrollBarAsNeeded + verticalScrollBarPolicy: Qt.ScrollBarAlwaysOff style: TableViewStyle { // Needed in order for rows to keep displaying rows after end of table entries. backgroundColor: tableView.isLightColorScheme ? hifi.colors.tableBackgroundLight : hifi.colors.tableBackgroundDark alternateBackgroundColor: tableView.isLightColorScheme ? hifi.colors.tableRowLightOdd : hifi.colors.tableRowDarkOdd - padding.top: headerVisible ? hifi.dimensions.tableHeaderHeight: 0 - - handle: Item { - id: scrollbarHandle - implicitWidth: hifi.dimensions.scrollbarHandleWidth - Rectangle { - anchors { - fill: parent - topMargin: 3 - bottomMargin: 3 // "" - leftMargin: 1 // Move it right - rightMargin: -1 // "" - } - radius: hifi.dimensions.scrollbarHandleWidth/2 - color: isLightColorScheme ? hifi.colors.tableScrollHandleLight : hifi.colors.tableScrollHandleDark - } - } - - scrollBarBackground: Item { - implicitWidth: hifi.dimensions.scrollbarBackgroundWidth - Rectangle { - anchors { - fill: parent - margins: -1 // Expand - topMargin: -1 - } - color: isLightColorScheme ? hifi.colors.tableScrollBackgroundLight : hifi.colors.tableScrollBackgroundDark - - // Extend header color above scrollbar background - Rectangle { - anchors { - top: parent.top - topMargin: -hifi.dimensions.tableHeaderHeight - left: parent.left - right: parent.right - } - height: hifi.dimensions.tableHeaderHeight - color: tableView.isLightColorScheme ? hifi.colors.tableBackgroundLight : hifi.colors.tableBackgroundDark - visible: headerVisible - } - Rectangle { - // Extend header bottom border - anchors { - top: parent.top - left: parent.left - right: parent.right - } - height: 1 - color: isLightColorScheme ? hifi.colors.lightGrayText : hifi.colors.baseGrayHighlight - visible: headerVisible - } - } - } - - incrementControl: Item { - visible: false - } - - decrementControl: Item { - visible: false - } } rowDelegate: Rectangle { diff --git a/interface/resources/qml/controls-uit/Tree.qml b/interface/resources/qml/controls-uit/Tree.qml index 79d3b958ea..6bd11295b1 100644 --- a/interface/resources/qml/controls-uit/Tree.qml +++ b/interface/resources/qml/controls-uit/Tree.qml @@ -9,9 +9,11 @@ // import QtQml.Models 2.2 -import QtQuick 2.5 +import QtQuick 2.7 import QtQuick.Controls 1.4 import QtQuick.Controls.Styles 1.4 +import QtQuick.Controls 2.2 as QQC2 + import "../styles-uit" @@ -35,6 +37,45 @@ TreeView { headerVisible: false + Component.onCompleted: { + if (flickableItem !== null && flickableItem !== undefined) { + treeView.flickableItem.QQC2.ScrollBar.vertical = scrollbar + } + } + + QQC2.ScrollBar { + id: scrollbar + parent: treeView.flickableItem + policy: QQC2.ScrollBar.AsNeeded + orientation: Qt.Vertical + visible: size < 1.0 + topPadding: treeView.headerVisible ? hifi.dimensions.tableHeaderHeight + 1 : 1 + anchors.top: treeView.top + anchors.left: treeView.right + anchors.bottom: treeView.bottom + + background: Item { + implicitWidth: hifi.dimensions.scrollbarBackgroundWidth + Rectangle { + anchors { + fill: parent; + topMargin: treeView.headerVisible ? hifi.dimensions.tableHeaderHeight: 0 + } + color: isLightColorScheme ? hifi.colors.tableScrollBackgroundLight + : hifi.colors.tableScrollBackgroundDark + } + } + + contentItem: Item { + implicitWidth: hifi.dimensions.scrollbarHandleWidth + Rectangle { + anchors.fill: parent + radius: (width - 4)/2 + color: isLightColorScheme ? hifi.colors.tableScrollHandleLight : hifi.colors.tableScrollHandleDark + } + } + } + // Use rectangle to draw border with rounded corners. frameVisible: false Rectangle { @@ -50,7 +91,7 @@ TreeView { backgroundVisible: true horizontalScrollBarPolicy: Qt.ScrollBarAlwaysOff - verticalScrollBarPolicy: Qt.ScrollBarAsNeeded + verticalScrollBarPolicy: Qt.ScrollBarAlwaysOff style: TreeViewStyle { // Needed in order for rows to keep displaying rows after end of table entries. @@ -126,66 +167,6 @@ TreeView { leftMargin: hifi.dimensions.tablePadding / 2 } } - - handle: Item { - id: scrollbarHandle - implicitWidth: hifi.dimensions.scrollbarHandleWidth - Rectangle { - anchors { - fill: parent - topMargin: treeView.headerVisible ? hifi.dimensions.tableHeaderHeight + 3 : 3 - bottomMargin: 3 // "" - leftMargin: 1 // Move it right - rightMargin: -1 // "" - } - radius: hifi.dimensions.scrollbarHandleWidth / 2 - color: treeView.isLightColorScheme ? hifi.colors.tableScrollHandleLight : hifi.colors.tableScrollHandleDark - } - } - - scrollBarBackground: Item { - implicitWidth: hifi.dimensions.scrollbarBackgroundWidth - Rectangle { - anchors { - fill: parent - topMargin: treeView.headerVisible ? hifi.dimensions.tableHeaderHeight - 1 : -1 - margins: -1 // Expand - } - color: treeView.isLightColorScheme ? hifi.colors.tableScrollBackgroundLight : hifi.colors.tableScrollBackgroundDark - - // Extend header color above scrollbar background - Rectangle { - anchors { - top: parent.top - topMargin: -hifi.dimensions.tableHeaderHeight - left: parent.left - right: parent.right - } - height: hifi.dimensions.tableHeaderHeight - color: treeView.isLightColorScheme ? hifi.colors.tableBackgroundLight : hifi.colors.tableBackgroundDark - visible: treeView.headerVisible - } - Rectangle { - // Extend header bottom border - anchors { - top: parent.top - left: parent.left - right: parent.right - } - height: 1 - color: treeView.isLightColorScheme ? hifi.colors.lightGrayText : hifi.colors.baseGrayHighlight - visible: treeView.headerVisible - } - } - } - - incrementControl: Item { - visible: false - } - - decrementControl: Item { - visible: false - } } rowDelegate: Rectangle { @@ -193,8 +174,8 @@ TreeView { color: styleData.selected ? hifi.colors.primaryHighlight : treeView.isLightColorScheme - ? (styleData.alternate ? hifi.colors.tableRowLightEven : hifi.colors.tableRowLightOdd) - : (styleData.alternate ? hifi.colors.tableRowDarkEven : hifi.colors.tableRowDarkOdd) + ? (styleData.alternate ? hifi.colors.tableRowLightEven : hifi.colors.tableRowLightOdd) + : (styleData.alternate ? hifi.colors.tableRowDarkEven : hifi.colors.tableRowDarkOdd) } itemDelegate: FiraSansSemiBold { @@ -209,9 +190,9 @@ TreeView { text: styleData.value size: hifi.fontSizes.tableText color: colorScheme == hifi.colorSchemes.light - ? (styleData.selected ? hifi.colors.black : hifi.colors.baseGrayHighlight) - : (styleData.selected ? hifi.colors.black : hifi.colors.lightGrayText) - + ? (styleData.selected ? hifi.colors.black : hifi.colors.baseGrayHighlight) + : (styleData.selected ? hifi.colors.black : hifi.colors.lightGrayText) + elide: Text.ElideRight } diff --git a/interface/resources/qml/hifi/overlays/ImageOverlay.qml b/interface/resources/qml/hifi/overlays/ImageOverlay.qml index b509f0ce3a..8c638679f9 100644 --- a/interface/resources/qml/hifi/overlays/ImageOverlay.qml +++ b/interface/resources/qml/hifi/overlays/ImageOverlay.qml @@ -78,6 +78,7 @@ Overlay { case "imageURL": image.source = value; break; case "subImage": updateSubImage(value); break; case "color": color.color = Qt.rgba(value.red / 255, value.green / 255, value.blue / 255, root.opacity); break; + case "bounds": break; // The bounds property is handled in C++. default: console.log("OVERLAY Unhandled image property " + key); } } diff --git a/interface/resources/qml/hifi/overlays/RectangleOverlay.qml b/interface/resources/qml/hifi/overlays/RectangleOverlay.qml index cba3b560d2..514b646c36 100644 --- a/interface/resources/qml/hifi/overlays/RectangleOverlay.qml +++ b/interface/resources/qml/hifi/overlays/RectangleOverlay.qml @@ -29,6 +29,7 @@ Overlay { case "borderColor": rectangle.border.color = Qt.rgba(value.red / 255, value.green / 255, value.blue / 255, rectangle.border.color.a); break; case "borderWidth": rectangle.border.width = value; break; case "radius": rectangle.radius = value; break; + case "bounds": break; // The bounds property is handled in C++. default: console.warn("OVERLAY Unhandled rectangle property " + key); } } diff --git a/interface/resources/qml/hifi/overlays/TextOverlay.qml b/interface/resources/qml/hifi/overlays/TextOverlay.qml index 20336fdde6..301a2aa0bf 100644 --- a/interface/resources/qml/hifi/overlays/TextOverlay.qml +++ b/interface/resources/qml/hifi/overlays/TextOverlay.qml @@ -46,6 +46,7 @@ Overlay { case "backgroundColor": background.color = Qt.rgba(value.red / 255, value.green / 255, value.blue / 255, background.color.a); break; case "font": textField.font.pixelSize = value.size; break; case "lineHeight": textField.lineHeight = value; break; + case "bounds": break; // The bounds property is handled in C++. default: console.warn("OVERLAY text unhandled property " + key); } } diff --git a/interface/resources/qml/styles-uit/HifiConstants.qml b/interface/resources/qml/styles-uit/HifiConstants.qml index a0af92dec0..cf800cb62e 100644 --- a/interface/resources/qml/styles-uit/HifiConstants.qml +++ b/interface/resources/qml/styles-uit/HifiConstants.qml @@ -162,7 +162,7 @@ Item { readonly property real controlLineHeight: 28 // Height of spinbox control on 1920 x 1080 monitor readonly property real controlInterlineHeight: 21 // 75% of controlLineHeight readonly property vector2d menuPadding: Qt.vector2d(14, 102) - readonly property real scrollbarBackgroundWidth: 18 + readonly property real scrollbarBackgroundWidth: 20 readonly property real scrollbarHandleWidth: scrollbarBackgroundWidth - 2 readonly property real tabletMenuHeader: 90 } diff --git a/interface/src/ui/overlays/Line3DOverlay.cpp b/interface/src/ui/overlays/Line3DOverlay.cpp index 66a6772aa5..7dfec8e448 100644 --- a/interface/src/ui/overlays/Line3DOverlay.cpp +++ b/interface/src/ui/overlays/Line3DOverlay.cpp @@ -166,26 +166,36 @@ void Line3DOverlay::setProperties(const QVariantMap& originalProperties) { bool newEndSet { false }; auto start = properties["start"]; - // if "start" property was not there, check to see if they included aliases: startPoint + // If "start" property was not there, check to see if they included aliases: startPoint, p1 if (!start.isValid()) { start = properties["startPoint"]; } + if (!start.isValid()) { + start = properties["p1"]; + } if (start.isValid()) { newStart = vec3FromVariant(start); newStartSet = true; } properties.remove("start"); // so that Base3DOverlay doesn't respond to it + properties.remove("startPoint"); + properties.remove("p1"); auto end = properties["end"]; - // if "end" property was not there, check to see if they included aliases: endPoint + // If "end" property was not there, check to see if they included aliases: endPoint, p2 if (!end.isValid()) { end = properties["endPoint"]; } + if (!end.isValid()) { + end = properties["p2"]; + } if (end.isValid()) { newEnd = vec3FromVariant(end); newEndSet = true; } properties.remove("end"); // so that Base3DOverlay doesn't respond to it + properties.remove("endPoint"); + properties.remove("p2"); auto length = properties["length"]; if (length.isValid()) { @@ -252,14 +262,23 @@ QVariant Line3DOverlay::getProperty(const QString& property) { if (property == "end" || property == "endPoint" || property == "p2") { return vec3toVariant(getEnd()); } + if (property == "length") { + return QVariant(getLength()); + } + if (property == "endParentID") { + return _endParentID; + } + if (property == "endParentJointIndex") { + return _endParentJointIndex; + } if (property == "localStart") { return vec3toVariant(getLocalStart()); } if (property == "localEnd") { return vec3toVariant(getLocalEnd()); } - if (property == "length") { - return QVariant(getLength()); + if (property == "glow") { + return getGlow(); } if (property == "lineWidth") { return _lineWidth; diff --git a/interface/src/ui/overlays/ModelOverlay.cpp b/interface/src/ui/overlays/ModelOverlay.cpp index 17dbe9850e..09d9ba574a 100644 --- a/interface/src/ui/overlays/ModelOverlay.cpp +++ b/interface/src/ui/overlays/ModelOverlay.cpp @@ -134,6 +134,9 @@ void ModelOverlay::setProperties(const QVariantMap& properties) { } auto dimensions = properties["dimensions"]; + if (!dimensions.isValid()) { + dimensions = properties["size"]; + } if (dimensions.isValid()) { _scaleToFit = true; setDimensions(vec3FromVariant(dimensions)); diff --git a/plugins/openvr/src/ViveControllerManager.cpp b/plugins/openvr/src/ViveControllerManager.cpp index 8889e58f0c..c58e97cc06 100644 --- a/plugins/openvr/src/ViveControllerManager.cpp +++ b/plugins/openvr/src/ViveControllerManager.cpp @@ -337,6 +337,7 @@ void ViveControllerManager::InputDevice::update(float deltaTime, const controlle _poseStateMap.clear(); _buttonPressedMap.clear(); _validTrackedObjects.clear(); + _trackedControllers = 0; // While the keyboard is open, we defer strictly to the keyboard values if (isOpenVrKeyboardShown()) { @@ -369,14 +370,12 @@ void ViveControllerManager::InputDevice::update(float deltaTime, const controlle } } - int numTrackedControllers = 0; if (leftHandDeviceIndex != vr::k_unTrackedDeviceIndexInvalid) { - numTrackedControllers++; + _trackedControllers++; } if (rightHandDeviceIndex != vr::k_unTrackedDeviceIndexInvalid) { - numTrackedControllers++; + _trackedControllers++; } - _trackedControllers = numTrackedControllers; calibrateFromHandController(inputCalibrationData); calibrateFromUI(inputCalibrationData); @@ -527,6 +526,7 @@ void ViveControllerManager::InputDevice::handleTrackedObject(uint32_t deviceInde // but _validTrackedObjects remain in sensor frame _validTrackedObjects.push_back(std::make_pair(poseIndex, pose)); + _trackedControllers++; } else { controller::Pose invalidPose; _poseStateMap[poseIndex] = invalidPose; @@ -758,9 +758,9 @@ void ViveControllerManager::InputDevice::handleHmd(uint32_t deviceIndex, const c } else { const mat4& mat = mat4(); const vec3 zero = vec3(); - handleHeadPoseEvent(inputCalibrationData, mat, zero, zero); } + _trackedControllers++; } } diff --git a/scripts/system/edit.js b/scripts/system/edit.js index 80fba6fc13..8a7e36465d 100644 --- a/scripts/system/edit.js +++ b/scripts/system/edit.js @@ -112,8 +112,8 @@ var DEFAULT_LIGHT_DIMENSIONS = Vec3.multiply(20, DEFAULT_DIMENSIONS); var MENU_AUTO_FOCUS_ON_SELECT = "Auto Focus on Select"; var MENU_EASE_ON_FOCUS = "Ease Orientation on Focus"; -var MENU_SHOW_LIGHTS_AND_PARTICLES_IN_EDIT_MODE = "Show Lights and Particle Systems in Edit Mode"; -var MENU_SHOW_ZONES_IN_EDIT_MODE = "Show Zones in Edit Mode"; +var MENU_SHOW_LIGHTS_AND_PARTICLES_IN_EDIT_MODE = "Show Lights and Particle Systems in Create Mode"; +var MENU_SHOW_ZONES_IN_EDIT_MODE = "Show Zones in Create Mode"; var SETTING_AUTO_FOCUS_ON_SELECT = "autoFocusOnSelect"; var SETTING_EASE_ON_FOCUS = "cameraEaseOnFocus";