5830: Go-To menu shows up blank except for address bar

This commit is contained in:
beholder 2017-08-23 23:27:02 +03:00
parent 42f6333948
commit 9cd784990c
3 changed files with 19 additions and 5 deletions

View file

@ -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);
}

View file

@ -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));

View file

@ -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;