diff --git a/interface/resources/images/address-bar.svg b/interface/resources/images/address-bar.svg index 0a472cbe4e..dd907aa6c9 100644 --- a/interface/resources/images/address-bar.svg +++ b/interface/resources/images/address-bar.svg @@ -15,7 +15,7 @@ viewBox="0 0 1440 200" id="svg4136" inkscape:version="0.91 r13725" - sodipodi:docname="address-bar.svg"> + sodipodi:docname="address-bar.002.svg"> @@ -39,14 +39,14 @@ guidetolerance="10" inkscape:pageopacity="0" inkscape:pageshadow="2" - inkscape:window-width="1840" + inkscape:window-width="1835" inkscape:window-height="1057" id="namedview4140" showgrid="false" - inkscape:zoom="0.8671875" - inkscape:cx="707.02439" + inkscape:zoom="0.61319416" + inkscape:cx="132.58366" inkscape:cy="52.468468" - inkscape:window-x="72" + inkscape:window-x="77" inkscape:window-y="-8" inkscape:window-maximized="1" inkscape:current-layer="svg4136" /> @@ -59,6 +59,15 @@ y="30" rx="16.025024" ry="17.019567" /> + + diff --git a/interface/resources/images/darkgreyarrow.png b/interface/resources/images/darkgreyarrow.png new file mode 100644 index 0000000000..4c9a8a2bbf Binary files /dev/null and b/interface/resources/images/darkgreyarrow.png differ diff --git a/interface/resources/images/darkgreyarrow.svg b/interface/resources/images/darkgreyarrow.svg new file mode 100644 index 0000000000..2d049d90d7 --- /dev/null +++ b/interface/resources/images/darkgreyarrow.svg @@ -0,0 +1,11 @@ + + + + + + + + + diff --git a/interface/resources/images/left-arrow.svg b/interface/resources/images/left-arrow.svg new file mode 100644 index 0000000000..cede9fa959 --- /dev/null +++ b/interface/resources/images/left-arrow.svg @@ -0,0 +1,50 @@ + + + +image/svg+xml \ No newline at end of file diff --git a/interface/resources/images/lightgreyarrow.png b/interface/resources/images/lightgreyarrow.png new file mode 100644 index 0000000000..1e221f3c73 Binary files /dev/null and b/interface/resources/images/lightgreyarrow.png differ diff --git a/interface/resources/images/lightgreyarrow.svg b/interface/resources/images/lightgreyarrow.svg new file mode 100644 index 0000000000..fbe697c3e9 --- /dev/null +++ b/interface/resources/images/lightgreyarrow.svg @@ -0,0 +1,11 @@ + + + + + + + + + diff --git a/interface/resources/images/sepline.png b/interface/resources/images/sepline.png new file mode 100644 index 0000000000..959fcee72f Binary files /dev/null and b/interface/resources/images/sepline.png differ diff --git a/interface/resources/images/sepline.svg b/interface/resources/images/sepline.svg new file mode 100644 index 0000000000..32afaf7148 --- /dev/null +++ b/interface/resources/images/sepline.svg @@ -0,0 +1,3 @@ + + +2015-06-12 18:23ZCanvas 1 Navi Bar diff --git a/interface/resources/qml/AddressBarDialog.qml b/interface/resources/qml/AddressBarDialog.qml index 3377b20d87..70cb22dc4d 100644 --- a/interface/resources/qml/AddressBarDialog.qml +++ b/interface/resources/qml/AddressBarDialog.qml @@ -45,19 +45,64 @@ DialogContainer { property int inputAreaHeight: 56.0 * root.scale // Height of the background's input area property int inputAreaStep: (height - inputAreaHeight) / 2 + Image { + id: backArrow + + source: "../images/left-arrow.svg" + scale: 0.9 + + anchors { + fill: parent + leftMargin: parent.height + hifi.layout.spacing + 6 + rightMargin: parent.height + hifi.layout.spacing * 60 + topMargin: parent.inputAreaStep + parent.inputAreaStep + hifi.layout.spacing + bottomMargin: parent.inputAreaStep + parent.inputAreaStep + hifi.layout.spacing + } + + MouseArea { + anchors.fill: parent + acceptedButtons: Qt.LeftButton + onClicked: { + addressBarDialog.loadBack() + } + } + } + + Image { + id: forwardArrow + + source: "../images/darkgreyarrow.svg" + + anchors { + fill: parent + leftMargin: parent.height + hifi.layout.spacing * 9 + rightMargin: parent.height + hifi.layout.spacing * 53 + topMargin: parent.inputAreaStep + parent.inputAreaStep + hifi.layout.spacing + bottomMargin: parent.inputAreaStep + parent.inputAreaStep + hifi.layout.spacing + } + + MouseArea { + anchors.fill: parent + acceptedButtons: Qt.LeftButton + onClicked: { + addressBarDialog.loadForward() + } + } + } + TextInput { id: addressLine anchors { fill: parent - leftMargin: parent.height + hifi.layout.spacing * 2 + leftMargin: parent.height + parent.height + hifi.layout.spacing * 5 rightMargin: hifi.layout.spacing * 2 topMargin: parent.inputAreaStep + hifi.layout.spacing bottomMargin: parent.inputAreaStep + hifi.layout.spacing } - font.pixelSize: hifi.fonts.pixelSize * root.scale + font.pixelSize: hifi.fonts.pixelSize * root.scale * 0.75 helperText: "Go to: place, @user, /path, network address" @@ -66,7 +111,7 @@ DialogContainer { addressBarDialog.loadAddress(addressLine.text) } } - + MouseArea { // Drag the icon width: parent.height @@ -82,6 +127,7 @@ DialogContainer { } } + /* MouseArea { // Drag the input rectangle width: parent.width - parent.height @@ -95,7 +141,7 @@ DialogContainer { maximumX: root.parent ? root.maximumX : 0 maximumY: root.parent ? root.maximumY + parent.inputAreaStep : 0 } - } + }*/ } } diff --git a/interface/src/ui/AddressBarDialog.cpp b/interface/src/ui/AddressBarDialog.cpp index 3c3a843586..80f51ff906 100644 --- a/interface/src/ui/AddressBarDialog.cpp +++ b/interface/src/ui/AddressBarDialog.cpp @@ -35,6 +35,16 @@ void AddressBarDialog::loadAddress(const QString& address) { } } +void AddressBarDialog::loadBack() { + qDebug() << "Called LoadBack"; + DependencyManager::get()->goBack(); +} + +void AddressBarDialog::loadForward() { + qDebug() << "Called LoadForward"; + DependencyManager::get()->goForward(); +} + void AddressBarDialog::displayAddressOfflineMessage() { OffscreenUi::error("That user or place is currently offline"); } diff --git a/interface/src/ui/AddressBarDialog.h b/interface/src/ui/AddressBarDialog.h index 395cf3c725..da54e29929 100644 --- a/interface/src/ui/AddressBarDialog.h +++ b/interface/src/ui/AddressBarDialog.h @@ -28,6 +28,8 @@ protected: void hide(); Q_INVOKABLE void loadAddress(const QString& address); + Q_INVOKABLE void loadBack(); + Q_INVOKABLE void loadForward(); }; #endif diff --git a/libraries/entities-renderer/src/EntityTreeRenderer.cpp b/libraries/entities-renderer/src/EntityTreeRenderer.cpp index 3e83c6f559..e1bd01547e 100644 --- a/libraries/entities-renderer/src/EntityTreeRenderer.cpp +++ b/libraries/entities-renderer/src/EntityTreeRenderer.cpp @@ -48,6 +48,9 @@ #include "RenderablePolyVoxEntityItem.h" #include "EntitiesRendererLogging.h" +#include "DependencyManager.h" +#include "AddressManager.h" + EntityTreeRenderer::EntityTreeRenderer(bool wantScripts, AbstractViewStateInterface* viewState, AbstractScriptingServicesInterface* scriptingServices) : OctreeRenderer(), @@ -911,15 +914,13 @@ void EntityTreeRenderer::mouseMoveEvent(QMouseEvent* event, unsigned int deviceI bool precisionPicking = false; // for mouse moves we do not do precision picking RayToEntityIntersectionResult rayPickResult = findRayIntersectionWorker(ray, Octree::TryLock, precisionPicking); if (rayPickResult.intersects) { + //qCDebug(entitiesrenderer) << "mouseReleaseEvent over entity:" << rayPickResult.entityID; QScriptValueList entityScriptArgs = createMouseEventArgs(rayPickResult.entityID, event, deviceID); - // load the entity script if needed... QScriptValue entityScript = loadEntityScript(rayPickResult.entity); if (entityScript.property("mouseMoveEvent").isValid()) { entityScript.property("mouseMoveEvent").call(entityScript, entityScriptArgs); } - - //qCDebug(entitiesrenderer) << "mouseMoveEvent over entity:" << rayPickResult.entityID; emit mouseMoveOnEntity(rayPickResult, event, deviceID); if (entityScript.property("mouseMoveOnEntity").isValid()) { entityScript.property("mouseMoveOnEntity").call(entityScript, entityScriptArgs);