From 9cd784990cbb445a7afb9d1bb4a9ca16c83ee42f Mon Sep 17 00:00:00 2001 From: beholder Date: Wed, 23 Aug 2017 23:27:02 +0300 Subject: [PATCH] 5830: Go-To menu shows up blank except for address bar --- interface/resources/qml/hifi/Feed.qml | 7 ++----- .../qml/hifi/tablet/TabletAddressDialog.qml | 13 +++++++++++++ scripts/system/tablet-goto.js | 4 ++++ 3 files changed, 19 insertions(+), 5 deletions(-) diff --git a/interface/resources/qml/hifi/Feed.qml b/interface/resources/qml/hifi/Feed.qml index 960b62c169..8576e26fcd 100644 --- a/interface/resources/qml/hifi/Feed.qml +++ b/interface/resources/qml/hifi/Feed.qml @@ -35,7 +35,6 @@ Column { property string metaverseServerUrl: ''; property string actions: 'snapshot'; // sendToScript doesn't get wired until after everything gets created. So we have to queue fillDestinations on nextTick. - Component.onCompleted: delay.start(); property string labelText: actions; property string filter: ''; onFilterChanged: filterChoicesByText(); @@ -125,11 +124,9 @@ Column { cb(); }); } - property var delay: Timer { // No setTimeout or nextTick in QML. - interval: 0; - onTriggered: fillDestinations(); - } function fillDestinations() { // Public + console.debug('Feed::fillDestinations()') + function report(label, error) { console.log(label, actions, error || 'ok', allStories.length, 'filtered to', suggestions.count); } diff --git a/interface/resources/qml/hifi/tablet/TabletAddressDialog.qml b/interface/resources/qml/hifi/tablet/TabletAddressDialog.qml index 8bf13bad76..e8752b01e7 100644 --- a/interface/resources/qml/hifi/tablet/TabletAddressDialog.qml +++ b/interface/resources/qml/hifi/tablet/TabletAddressDialog.qml @@ -39,11 +39,24 @@ StackView { property var rpcCounter: 0; signal sendToScript(var message); function rpc(method, parameters, callback) { + console.debug('TabletAddressDialog: rpc: method = ', method, 'parameters = ', parameters, 'callback = ', callback) + rpcCalls[rpcCounter] = callback; var message = {method: method, params: parameters, id: rpcCounter++, jsonrpc: "2.0"}; sendToScript(message); } function fromScript(message) { + if (message.method === 'refreshFeeds') { + var feeds = [happeningNow, places, snapshots]; + console.debug('TabletAddressDialog::fromScript: refreshFeeds', 'feeds = ', feeds); + + feeds.forEach(function(feed) { + Qt.callLater(feed.fillDestinations); + }); + + return; + } + var callback = rpcCalls[message.id]; if (!callback) { console.log('No callback for message fromScript', JSON.stringify(message)); diff --git a/scripts/system/tablet-goto.js b/scripts/system/tablet-goto.js index fb842d1314..96ed3e3f59 100644 --- a/scripts/system/tablet-goto.js +++ b/scripts/system/tablet-goto.js @@ -42,6 +42,8 @@ }); function fromQml(message) { + console.debug('tablet-goto::fromQml: message = ', JSON.stringify(message)); + var response = {id: message.id, jsonrpc: "2.0"}; switch (message.method) { case 'request': @@ -98,6 +100,8 @@ button.editProperties({isActive: shouldActivateButton}); wireEventBridge(true); messagesWaiting(false); + tablet.sendToQml({ method: 'refreshFeeds' }) + } else { shouldActivateButton = false; onGotoScreen = false;