Merge pull request #13278 from SimonWalton-HiFi/tablet-popup-remains

Domain-unreachable message remaining on slow connects
This commit is contained in:
Stephen Birarda 2018-06-11 10:46:55 -07:00 committed by GitHub
commit 10e34000aa
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 40 additions and 0 deletions

View file

@ -65,6 +65,18 @@ Item {
return false;
}
function closeDialog() {
if (openMessage != null) {
openMessage.destroy();
openMessage = null;
}
if (openModal != null) {
openModal.destroy();
openModal = null;
}
}
function isUrlLoaded(url) {
if (currentApp >= 0) {
var currentAppUrl = tabletApps.get(currentApp).appUrl;

View file

@ -93,10 +93,18 @@ void DialogsManager::setDomainConnectionFailureVisibility(bool visible) {
static const QUrl url("dialogs/TabletConnectionFailureDialog.qml");
auto hmd = DependencyManager::get<HMDScriptingInterface>();
if (visible) {
_dialogCreatedWhileShown = tablet->property("tabletShown").toBool();
tablet->initialScreen(url);
if (!hmd->getShouldShowTablet()) {
hmd->openTablet();
}
} else if (tablet->isPathLoaded(url)) {
tablet->closeDialog();
tablet->gotoHomeScreen();
if (!_dialogCreatedWhileShown) {
hmd->closeTablet();
}
_dialogCreatedWhileShown = false;
}
}
}

View file

@ -80,6 +80,7 @@ private:
QPointer<OctreeStatsDialog> _octreeStatsDialog;
QPointer<TestingDialog> _testingDialog;
QPointer<DomainConnectionDialog> _domainConnectionDialog;
bool _dialogCreatedWhileShown { false };
bool _addressBarVisible { false };
};

View file

@ -431,6 +431,19 @@ bool TabletProxy::isMessageDialogOpen() {
return result.toBool();
}
void TabletProxy::closeDialog() {
if (QThread::currentThread() != thread()) {
QMetaObject::invokeMethod(this, "closeDialog");
return;
}
if (!_qmlTabletRoot) {
return;
}
QMetaObject::invokeMethod(_qmlTabletRoot, "closeDialog");
}
void TabletProxy::emitWebEvent(const QVariant& msg) {
if (QThread::currentThread() != thread()) {
QMetaObject::invokeMethod(this, "emitWebEvent", Q_ARG(QVariant, msg));

View file

@ -308,6 +308,12 @@ public:
*/
Q_INVOKABLE bool isMessageDialogOpen();
/**jsdoc
* Close any open dialogs.
* @function TabletProxy#closeDialog
*/
Q_INVOKABLE void closeDialog();
/**jsdoc
* Creates a new button, adds it to this and returns it.
* @function TabletProxy#addButton