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";