From 98fa9967526076ba437aac890fa657c8a1fe61fd Mon Sep 17 00:00:00 2001 From: Niraj Venkat Date: Mon, 22 Jun 2015 16:56:49 -0700 Subject: [PATCH 1/8] Cleaning out comments --- interface/resources/qml/Tooltip.qml | 2 -- 1 file changed, 2 deletions(-) diff --git a/interface/resources/qml/Tooltip.qml b/interface/resources/qml/Tooltip.qml index c836030ba1..779ba63b3a 100644 --- a/interface/resources/qml/Tooltip.qml +++ b/interface/resources/qml/Tooltip.qml @@ -6,9 +6,7 @@ import "styles" Hifi.Tooltip { id: root HifiConstants { id: hifi } - // FIXME adjust position based on the edges of the screen x: (lastMousePosition.x > surfaceSize.width/2) ? lastMousePosition.x - 140 : lastMousePosition.x + 20 - //y: lastMousePosition.y + 5 y: (lastMousePosition.y > surfaceSize.height/2) ? lastMousePosition.y - 70 : lastMousePosition.y + 5 implicitWidth: border.implicitWidth implicitHeight: border.implicitHeight From d1526c25b2d39722aa9e551f17beb79b52db5614 Mon Sep 17 00:00:00 2001 From: Niraj Venkat Date: Tue, 23 Jun 2015 10:08:48 -0700 Subject: [PATCH 2/8] Starting new tooltip design in QML --- .../resources/images/NoPictureProvided.svg | 3 +++ interface/resources/images/header_sep.svg | 3 +++ .../resources/images/tooltip_container.svg | 3 +++ interface/resources/qml/Tooltip.qml | 25 ++++++++++++++++--- 4 files changed, 30 insertions(+), 4 deletions(-) create mode 100644 interface/resources/images/NoPictureProvided.svg create mode 100644 interface/resources/images/header_sep.svg create mode 100644 interface/resources/images/tooltip_container.svg diff --git a/interface/resources/images/NoPictureProvided.svg b/interface/resources/images/NoPictureProvided.svg new file mode 100644 index 0000000000..003b499bbc --- /dev/null +++ b/interface/resources/images/NoPictureProvided.svg @@ -0,0 +1,3 @@ + + +2015-06-22 17:35ZCanvas 1No infoNo Picture Provided diff --git a/interface/resources/images/header_sep.svg b/interface/resources/images/header_sep.svg new file mode 100644 index 0000000000..ae1434860c --- /dev/null +++ b/interface/resources/images/header_sep.svg @@ -0,0 +1,3 @@ + + +2015-06-22 17:35ZCanvas 1No info diff --git a/interface/resources/images/tooltip_container.svg b/interface/resources/images/tooltip_container.svg new file mode 100644 index 0000000000..2c89bbbd7d --- /dev/null +++ b/interface/resources/images/tooltip_container.svg @@ -0,0 +1,3 @@ + + +2015-06-22 17:35ZCanvas 1Info diff --git a/interface/resources/qml/Tooltip.qml b/interface/resources/qml/Tooltip.qml index 779ba63b3a..10b3006da4 100644 --- a/interface/resources/qml/Tooltip.qml +++ b/interface/resources/qml/Tooltip.qml @@ -6,17 +6,19 @@ import "styles" Hifi.Tooltip { id: root HifiConstants { id: hifi } - x: (lastMousePosition.x > surfaceSize.width/2) ? lastMousePosition.x - 140 : lastMousePosition.x + 20 - y: (lastMousePosition.y > surfaceSize.height/2) ? lastMousePosition.y - 70 : lastMousePosition.y + 5 + x: (lastMousePosition.x > surfaceSize.width/2) ? lastMousePosition.x - root.width : lastMousePosition.x + 20 + y: (lastMousePosition.y > surfaceSize.height/2) ? lastMousePosition.y - root.height : lastMousePosition.y + 5 implicitWidth: border.implicitWidth implicitHeight: border.implicitHeight Border { id: border anchors.fill: parent - implicitWidth: text.implicitWidth - implicitHeight: Math.max(text.implicitHeight, 64) + implicitWidth: tooltipBackground.implicitWidth + //implicitHeight: Math.max(text.implicitHeight, 64) + implicitHeight: tooltipBackground.implicitHeight + /* Text { id: text anchors.fill: parent @@ -24,6 +26,21 @@ Hifi.Tooltip { font.pixelSize: hifi.fonts.pixelSize / 2 text: root.text wrapMode: Original.Text.WordWrap + }*/ + + Image { + id: tooltipBackground + source: "../images/NoPictureProvided.svg" + width: 323 + height: 423 + anchors.fill: parent + + /* + Image { + id: tooltipBackground + source: "../images/NoPictureProvided.svg" + anchors.fill: parent + }*/ } } } From 0c2e208044d5f16a540de22ea931944c8328855b Mon Sep 17 00:00:00 2001 From: Niraj Venkat Date: Tue, 23 Jun 2015 13:54:19 -0700 Subject: [PATCH 3/8] Added basic layout to tooltip QML --- interface/resources/qml/Tooltip.qml | 56 ++++++++++++++++++----------- 1 file changed, 36 insertions(+), 20 deletions(-) diff --git a/interface/resources/qml/Tooltip.qml b/interface/resources/qml/Tooltip.qml index 10b3006da4..4cca4c4c38 100644 --- a/interface/resources/qml/Tooltip.qml +++ b/interface/resources/qml/Tooltip.qml @@ -1,13 +1,14 @@ import Hifi 1.0 as Hifi import QtQuick 2.3 as Original +import QtQuick.Layouts 1.1 import "controls" import "styles" Hifi.Tooltip { id: root HifiConstants { id: hifi } - x: (lastMousePosition.x > surfaceSize.width/2) ? lastMousePosition.x - root.width : lastMousePosition.x + 20 - y: (lastMousePosition.y > surfaceSize.height/2) ? lastMousePosition.y - root.height : lastMousePosition.y + 5 + x: (lastMousePosition.x > surfaceSize.width/2) ? lastMousePosition.x - root.width : lastMousePosition.x + y: (lastMousePosition.y > surfaceSize.height/2) ? lastMousePosition.y - root.height : lastMousePosition.y implicitWidth: border.implicitWidth implicitHeight: border.implicitHeight @@ -18,29 +19,44 @@ Hifi.Tooltip { //implicitHeight: Math.max(text.implicitHeight, 64) implicitHeight: tooltipBackground.implicitHeight - /* - Text { - id: text - anchors.fill: parent - anchors.margins: 16 - font.pixelSize: hifi.fonts.pixelSize / 2 - text: root.text - wrapMode: Original.Text.WordWrap - }*/ - - Image { + Original.Image { id: tooltipBackground - source: "../images/NoPictureProvided.svg" + source: "../images/tooltip_container.svg" width: 323 height: 423 anchors.fill: parent - /* - Image { - id: tooltipBackground - source: "../images/NoPictureProvided.svg" - anchors.fill: parent - }*/ + ColumnLayout { + spacing: 5 + + Text { + id: textPlace + //anchors.fill: parent + anchors.margins: 5 + font.pixelSize: hifi.fonts.pixelSize / 2 + text: root.text + wrapMode: Original.Text.WordWrap + } + + Original.Image { + id: tooltipPic + source: "../images/NoPictureProvided.svg" + //anchors.fill: parent + anchors.margins: 5 + verticalAlignment: Original.Image.AlignVCenter + //horizontalAlignment: Image.AlignHCenter + } + + Text { + id: textDescription + //anchors.fill: parent + anchors.margins: 5 + font.pixelSize: hifi.fonts.pixelSize / 2 + text: root.text + wrapMode: Original.Text.WordWrap + } + + } } } } From 210a1205a787971b812f8dafcb30fa8515a93e83 Mon Sep 17 00:00:00 2001 From: Niraj Venkat Date: Thu, 25 Jun 2015 14:07:03 -0700 Subject: [PATCH 4/8] More layout changes --- interface/resources/qml/Tooltip.qml | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/interface/resources/qml/Tooltip.qml b/interface/resources/qml/Tooltip.qml index 4cca4c4c38..216d1a093f 100644 --- a/interface/resources/qml/Tooltip.qml +++ b/interface/resources/qml/Tooltip.qml @@ -12,25 +12,28 @@ Hifi.Tooltip { implicitWidth: border.implicitWidth implicitHeight: border.implicitHeight + /* Border { id: border anchors.fill: parent implicitWidth: tooltipBackground.implicitWidth //implicitHeight: Math.max(text.implicitHeight, 64) - implicitHeight: tooltipBackground.implicitHeight + implicitHeight: tooltipBackground.implicitHeight*/ - Original.Image { - id: tooltipBackground - source: "../images/tooltip_container.svg" - width: 323 - height: 423 - anchors.fill: parent + Original.Rectangle { + id: border + color: "#7f000000" + implicitWidth: 322 + implicitHeight: col.height + hifi.layout.spacing * 2 ColumnLayout { + id: col spacing: 5 Text { id: textPlace + color: "#ffffff" + width: border.implicitWidth //anchors.fill: parent anchors.margins: 5 font.pixelSize: hifi.fonts.pixelSize / 2 @@ -49,6 +52,8 @@ Hifi.Tooltip { Text { id: textDescription + color: "#ffffff" + width: border.implicitWidth //anchors.fill: parent anchors.margins: 5 font.pixelSize: hifi.fonts.pixelSize / 2 @@ -58,5 +63,5 @@ Hifi.Tooltip { } } - } -} + //} +} \ No newline at end of file From de26dc9c49519918432b03dd7c3e17993396d65f Mon Sep 17 00:00:00 2001 From: Niraj Venkat Date: Thu, 25 Jun 2015 14:15:06 -0700 Subject: [PATCH 5/8] Further changes to tooltip --- interface/resources/qml/Tooltip.qml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/interface/resources/qml/Tooltip.qml b/interface/resources/qml/Tooltip.qml index 216d1a093f..d8ba62840a 100644 --- a/interface/resources/qml/Tooltip.qml +++ b/interface/resources/qml/Tooltip.qml @@ -38,7 +38,7 @@ Hifi.Tooltip { anchors.margins: 5 font.pixelSize: hifi.fonts.pixelSize / 2 text: root.text - wrapMode: Original.Text.WordWrap + wrapMode: Original.Text.WrapAnywhere } Original.Image { @@ -58,7 +58,7 @@ Hifi.Tooltip { anchors.margins: 5 font.pixelSize: hifi.fonts.pixelSize / 2 text: root.text - wrapMode: Original.Text.WordWrap + wrapMode: Original.Text.WrapAnywhere } } From 6b14a64c8c6653ab44a01a921a414f7e1e957a2e Mon Sep 17 00:00:00 2001 From: Niraj Venkat Date: Thu, 25 Jun 2015 15:15:44 -0700 Subject: [PATCH 6/8] Formatting changes and teleport on click --- interface/resources/qml/Tooltip.qml | 10 ++++------ libraries/entities-renderer/src/EntityTreeRenderer.cpp | 9 +++++++++ 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/interface/resources/qml/Tooltip.qml b/interface/resources/qml/Tooltip.qml index d8ba62840a..43d4628063 100644 --- a/interface/resources/qml/Tooltip.qml +++ b/interface/resources/qml/Tooltip.qml @@ -33,10 +33,10 @@ Hifi.Tooltip { Text { id: textPlace color: "#ffffff" - width: border.implicitWidth + implicitWidth: 322 //anchors.fill: parent anchors.margins: 5 - font.pixelSize: hifi.fonts.pixelSize / 2 + font.pixelSize: hifi.fonts.pixelSize * 1.5 text: root.text wrapMode: Original.Text.WrapAnywhere } @@ -46,17 +46,15 @@ Hifi.Tooltip { source: "../images/NoPictureProvided.svg" //anchors.fill: parent anchors.margins: 5 - verticalAlignment: Original.Image.AlignVCenter - //horizontalAlignment: Image.AlignHCenter } Text { id: textDescription color: "#ffffff" - width: border.implicitWidth + implicitWidth: 322 //anchors.fill: parent anchors.margins: 5 - font.pixelSize: hifi.fonts.pixelSize / 2 + font.pixelSize: hifi.fonts.pixelSize text: root.text wrapMode: Original.Text.WrapAnywhere } diff --git a/libraries/entities-renderer/src/EntityTreeRenderer.cpp b/libraries/entities-renderer/src/EntityTreeRenderer.cpp index fe580eb137..0ea6080165 100644 --- a/libraries/entities-renderer/src/EntityTreeRenderer.cpp +++ b/libraries/entities-renderer/src/EntityTreeRenderer.cpp @@ -43,6 +43,7 @@ #include "RenderableLineEntityItem.h" #include "RenderablePolyVoxEntityItem.h" #include "EntitiesRendererLogging.h" +#include "AddressManager.h" EntityTreeRenderer::EntityTreeRenderer(bool wantScripts, AbstractViewStateInterface* viewState, AbstractScriptingServicesInterface* scriptingServices) : @@ -836,6 +837,14 @@ void EntityTreeRenderer::mousePressEvent(QMouseEvent* event, unsigned int device RayToEntityIntersectionResult rayPickResult = findRayIntersectionWorker(ray, Octree::Lock, precisionPicking); if (rayPickResult.intersects) { //qCDebug(entitiesrenderer) << "mousePressEvent over entity:" << rayPickResult.entityID; + + QString urlString = rayPickResult.properties.getHref(); + QUrl url = QUrl(urlString, QUrl::StrictMode); + if (url.isValid() && !url.isEmpty()){ + DependencyManager::get()->handleLookupString(urlString); + + } + emit mousePressOnEntity(rayPickResult, event, deviceID); QScriptValueList entityScriptArgs = createMouseEventArgs(rayPickResult.entityID, event, deviceID); From 8ea01b45ae7b78cd5527f34b8cd01b5e14553035 Mon Sep 17 00:00:00 2001 From: Niraj Venkat Date: Thu, 25 Jun 2015 15:46:43 -0700 Subject: [PATCH 7/8] Word wrap implementation --- interface/resources/qml/Tooltip.qml | 105 +++++++++++++++------------- 1 file changed, 57 insertions(+), 48 deletions(-) diff --git a/interface/resources/qml/Tooltip.qml b/interface/resources/qml/Tooltip.qml index 43d4628063..f212bc11ea 100644 --- a/interface/resources/qml/Tooltip.qml +++ b/interface/resources/qml/Tooltip.qml @@ -1,5 +1,5 @@ import Hifi 1.0 as Hifi -import QtQuick 2.3 as Original +import QtQuick 2.4 import QtQuick.Layouts 1.1 import "controls" import "styles" @@ -7,59 +7,68 @@ import "styles" Hifi.Tooltip { id: root HifiConstants { id: hifi } - x: (lastMousePosition.x > surfaceSize.width/2) ? lastMousePosition.x - root.width : lastMousePosition.x - y: (lastMousePosition.y > surfaceSize.height/2) ? lastMousePosition.y - root.height : lastMousePosition.y - implicitWidth: border.implicitWidth - implicitHeight: border.implicitHeight + x: lastMousePosition.x + offsetX + y: lastMousePosition.y + offsetY + property int offsetX: 0 + property int offsetY: 0 + width: border.width + height: border.height - /* - Border { + Component.onCompleted: { + offsetX = (lastMousePosition.x > surfaceSize.width/2) ? -root.width : 0 + offsetY = (lastMousePosition.y > surfaceSize.height/2) ? -root.height : 0 + } + + Rectangle { id: border - anchors.fill: parent - implicitWidth: tooltipBackground.implicitWidth - //implicitHeight: Math.max(text.implicitHeight, 64) - implicitHeight: tooltipBackground.implicitHeight*/ + color: "#7f000000" + width: 322 + height: col.height + hifi.layout.spacing * 2 - Original.Rectangle { - id: border - color: "#7f000000" - implicitWidth: 322 - implicitHeight: col.height + hifi.layout.spacing * 2 - - ColumnLayout { - id: col - spacing: 5 - - Text { - id: textPlace - color: "#ffffff" - implicitWidth: 322 - //anchors.fill: parent - anchors.margins: 5 - font.pixelSize: hifi.fonts.pixelSize * 1.5 - text: root.text - wrapMode: Original.Text.WrapAnywhere + Column { + id: col + x: hifi.layout.spacing + y: hifi.layout.spacing + anchors.left: parent.left + anchors.leftMargin: hifi.layout.spacing + anchors.right: parent.right + anchors.rightMargin: hifi.layout.spacing + spacing: 5 + Text { + id: textPlace + color: "white" + anchors.left: parent.left + anchors.right: parent.right + font.pixelSize: hifi.fonts.pixelSize / 2 + text: root.text + wrapMode: Text.WrapAnywhere + + /* Uncomment for debugging to see the extent of the + Rectangle { + anchors.fill: parent + color: "#7fff00ff" } + */ + } - Original.Image { - id: tooltipPic - source: "../images/NoPictureProvided.svg" - //anchors.fill: parent - anchors.margins: 5 - } - - Text { - id: textDescription - color: "#ffffff" - implicitWidth: 322 - //anchors.fill: parent - anchors.margins: 5 - font.pixelSize: hifi.fonts.pixelSize - text: root.text - wrapMode: Original.Text.WrapAnywhere - } + Image { + id: tooltipPic + source: "../images/NoPictureProvided.svg" + anchors.left: parent.left + anchors.right: parent.right + verticalAlignment: Image.AlignVCenter + } + Text { + id: textDescription + color: "white" + width: border.implicitWidth + anchors.left: parent.left + anchors.right: parent.right + font.pixelSize: hifi.fonts.pixelSize / 2 + text: root.text + wrapMode: Text.WrapAnywhere } } - //} + } } \ No newline at end of file From 23f4f7d82465063d9abe1c46054959510fccbb26 Mon Sep 17 00:00:00 2001 From: Niraj Venkat Date: Thu, 25 Jun 2015 15:56:40 -0700 Subject: [PATCH 8/8] Place name is underlined --- interface/resources/qml/Tooltip.qml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/interface/resources/qml/Tooltip.qml b/interface/resources/qml/Tooltip.qml index f212bc11ea..169e5fe211 100644 --- a/interface/resources/qml/Tooltip.qml +++ b/interface/resources/qml/Tooltip.qml @@ -34,9 +34,11 @@ Hifi.Tooltip { anchors.right: parent.right anchors.rightMargin: hifi.layout.spacing spacing: 5 + Text { id: textPlace color: "white" + font.underline: true anchors.left: parent.left anchors.right: parent.right font.pixelSize: hifi.fonts.pixelSize / 2