Further changes to address bar

This commit is contained in:
Niraj Venkat 2015-06-18 17:35:50 -07:00
parent 55b6efb1e9
commit 894a245318
3 changed files with 38 additions and 29 deletions

View file

@ -31,11 +31,6 @@ DialogContainer {
property int maximumY: parent ? parent.height - height : 0
function myQmlFunction(msg) {
console.log("Got message:", msg)
return "some return value"
}
AddressBarDialog {
id: addressBarDialog
@ -54,7 +49,7 @@ DialogContainer {
Image {
id: backArrow
source: "../images/left-arrow.svg"
source: addressBarDialog.backEnabled ? "../images/left-arrow.svg" : "../images/redarrow.svg"
anchors {
fill: parent
@ -72,18 +67,22 @@ DialogContainer {
}
}
//onBackEnabledChanged: { parent.source: "../images/redarrow.svg" }
/*
Connections {
target: addressBarDialog
onGoBackPossible: {
console.log("BACK")
target: backArrow
onBackState: {
parent.source: "../images/redarrow.svg"
}
}
}*/
}
Image {
id: forwardArrow
source: "../images/darkgreyarrow.svg"
source: addressBarDialog.forwardEnabled ? "../images/darkgreyarrow.svg" : "../images/redarrow.svg"
anchors {
fill: parent
@ -101,12 +100,15 @@ DialogContainer {
}
}
//onForwardEnabledChanged: { parent.source: "../images/redarrow.svg" }
/*
Connections {
target: addressBarDialog
onGoForwardPossible: {
console.log("FORWARD")
target: forwardArrow
onForwardState: {
parent.source: "../images/redarrow.svg"
}
}
}*/
}
TextInput {

View file

@ -16,6 +16,8 @@
#include "AddressManager.h"
HIFI_QML_DEF(AddressBarDialog)
Q_PROPERTY(bool backEnabled READ backEnabled CHANGED backEnabledChanged)
Q_PROPERTY(bool forwardEnabled READ forwardEnabled CHANGED forwardEnabledChanged)
AddressBarDialog::AddressBarDialog(QQuickItem* parent) : OffscreenQmlDialog(parent) {
auto addressManager = DependencyManager::get<AddressManager>();
@ -24,6 +26,8 @@ AddressBarDialog::AddressBarDialog(QQuickItem* parent) : OffscreenQmlDialog(pare
connect(addressManager.data(), &AddressManager::lookupResultsFinished, this, &AddressBarDialog::hide);
connect(addressManager.data(), &AddressManager::goBackPossible, this, &AddressBarDialog::changeBackAlpha);
connect(addressManager.data(), &AddressManager::goForwardPossible, this, &AddressBarDialog::changeForwardAlpha);
_backEnabled = false;
_forwardEnabled = false;
}
void AddressBarDialog::hide() {
@ -33,25 +37,19 @@ void AddressBarDialog::hide() {
void AddressBarDialog::changeBackAlpha(bool isPossible) {
if (isPossible) qDebug() << "Back is possible";
else qDebug() << "Back is not possible";
if (isPossible != _backEnabled) {
_backEnabled = isPossible;
emit backEnabledChanged();
}
}
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() << "Current parent's child : " << ((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;;
if (isPossible != _forwardEnabled) {
_forwardEnabled = isPossible;
emit forwardEnabledChanged();
}
}
void AddressBarDialog::loadAddress(const QString& address) {

View file

@ -21,6 +21,12 @@ class AddressBarDialog : public OffscreenQmlDialog
public:
AddressBarDialog(QQuickItem* parent = nullptr);
bool backEnabled() { return _backEnabled; }
bool forwardEnabled() { return _forwardEnabled; }
signals:
void backEnabledChanged();
void forwardEnabledChanged();
protected:
void displayAddressOfflineMessage();
@ -32,6 +38,9 @@ protected:
Q_INVOKABLE void loadAddress(const QString& address);
Q_INVOKABLE void loadBack();
Q_INVOKABLE void loadForward();
bool _backEnabled;
bool _forwardEnabled;
};
#endif