From 1be303e3ed8cd2f812aa7e8fe37652321652508d Mon Sep 17 00:00:00 2001 From: Niraj Venkat Date: Thu, 18 Jun 2015 15:07:27 -0700 Subject: [PATCH] Address bar polish --- interface/resources/images/redarrow.svg | 11 +++++++++ interface/resources/qml/AddressBarDialog.qml | 21 +++++++++++++++- interface/src/ui/AddressBarDialog.cpp | 26 ++++++++++++++++++++ interface/src/ui/AddressBarDialog.h | 2 ++ 4 files changed, 59 insertions(+), 1 deletion(-) create mode 100644 interface/resources/images/redarrow.svg diff --git a/interface/resources/images/redarrow.svg b/interface/resources/images/redarrow.svg new file mode 100644 index 0000000000..156f4baa45 --- /dev/null +++ b/interface/resources/images/redarrow.svg @@ -0,0 +1,11 @@ + + + + + + + + + diff --git a/interface/resources/qml/AddressBarDialog.qml b/interface/resources/qml/AddressBarDialog.qml index 70cb22dc4d..8a73116f8a 100644 --- a/interface/resources/qml/AddressBarDialog.qml +++ b/interface/resources/qml/AddressBarDialog.qml @@ -30,6 +30,12 @@ DialogContainer { property int maximumX: parent ? parent.width - width : 0 property int maximumY: parent ? parent.height - height : 0 + + function myQmlFunction(msg) { + console.log("Got message:", msg) + return "some return value" + } + AddressBarDialog { id: addressBarDialog @@ -49,7 +55,6 @@ DialogContainer { id: backArrow source: "../images/left-arrow.svg" - scale: 0.9 anchors { fill: parent @@ -66,6 +71,13 @@ DialogContainer { addressBarDialog.loadBack() } } + + Connections { + target: addressBarDialog + onGoBackPossible: { + console.log("ayy lmao BACK") + } + } } Image { @@ -88,6 +100,13 @@ DialogContainer { addressBarDialog.loadForward() } } + + Connections { + target: addressBarDialog + onGoForwardPossible: { + console.log("ayy lmao FORWARD") + } + } } TextInput { diff --git a/interface/src/ui/AddressBarDialog.cpp b/interface/src/ui/AddressBarDialog.cpp index 80f51ff906..739f008c21 100644 --- a/interface/src/ui/AddressBarDialog.cpp +++ b/interface/src/ui/AddressBarDialog.cpp @@ -22,12 +22,38 @@ AddressBarDialog::AddressBarDialog(QQuickItem* parent) : OffscreenQmlDialog(pare connect(addressManager.data(), &AddressManager::lookupResultIsOffline, this, &AddressBarDialog::displayAddressOfflineMessage); connect(addressManager.data(), &AddressManager::lookupResultIsNotFound, this, &AddressBarDialog::displayAddressNotFoundMessage); connect(addressManager.data(), &AddressManager::lookupResultsFinished, this, &AddressBarDialog::hide); + connect(addressManager.data(), &AddressManager::goBackPossible, this, &AddressBarDialog::changeBackAlpha); + connect(addressManager.data(), &AddressManager::goForwardPossible, this, &AddressBarDialog::changeForwardAlpha); } void AddressBarDialog::hide() { ((QQuickItem*)parent())->setEnabled(false); } +void AddressBarDialog::changeBackAlpha(bool isPossible) { + if (isPossible) qDebug() << "Back is possible"; + else qDebug() << "Back is not possible"; +} + +void AddressBarDialog::changeForwardAlpha(bool isPossible) { + if (isPossible) qDebug() << "Forward is possible"; + else qDebug() << "Forward is not possible"; + + QQmlEngine engine; + QQmlComponent component(&engine, "AddressBarDialog.qml"); + QObject *object = component.create(); + qDebug() << "AAAAAAAAAAAAAA : " << ((QQuickItem*)parent())->children()[0]->objectName(); + + QVariant returnedValue; + QVariant msg = "Hello from C++"; + QMetaObject::invokeMethod(object, "myQmlFunction", + Q_RETURN_ARG(QVariant, returnedValue), + Q_ARG(QVariant, msg)); + + qDebug() << "QML function returned:" << returnedValue.toString(); + delete object;; +} + void AddressBarDialog::loadAddress(const QString& address) { qDebug() << "Called LoadAddress with address " << address; if (!address.isEmpty()) { diff --git a/interface/src/ui/AddressBarDialog.h b/interface/src/ui/AddressBarDialog.h index da54e29929..d3548d4bd7 100644 --- a/interface/src/ui/AddressBarDialog.h +++ b/interface/src/ui/AddressBarDialog.h @@ -26,6 +26,8 @@ protected: void displayAddressOfflineMessage(); void displayAddressNotFoundMessage(); void hide(); + void changeBackAlpha(bool isPossible); + void changeForwardAlpha(bool isPossible); Q_INVOKABLE void loadAddress(const QString& address); Q_INVOKABLE void loadBack();