From 54093e5c96e09403f920603cea872f4bab1d058e Mon Sep 17 00:00:00 2001 From: Ming Rui Zhang <mingrui.zhang@savoirfairelinux.com> Date: Tue, 6 Oct 2020 14:19:28 -0400 Subject: [PATCH] messagewebview: reload mainview if webengineview does not finish loading js Gitlab: #134 Change-Id: I0d6406b80ad80cc7278e395bd51d0d7b02538aa0 --- src/mainview/MainView.qml | 13 +++++++++++++ src/mainview/components/MessageWebView.qml | 4 +++- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/src/mainview/MainView.qml b/src/mainview/MainView.qml index 4f830d2e0..d393508dc 100644 --- a/src/mainview/MainView.qml +++ b/src/mainview/MainView.qml @@ -177,6 +177,19 @@ Window { // ConversationSmartListViewItemDelegate provides UI information function setMainView(currentUserDisplayName, currentUserAlias, currentUID, callStackViewShouldShow, isAudioOnly, callState) { + if (!(communicationPageMessageWebView.jsLoaded)) { + communicationPageMessageWebView.jsLoadedChanged.connect( + function(currentUserDisplayName, currentUserAlias, currentUID, + callStackViewShouldShow, isAudioOnly, callState) { + return function() { + setMainView(currentUserDisplayName, currentUserAlias, currentUID, + callStackViewShouldShow, isAudioOnly, callState) + } + }(currentUserDisplayName, currentUserAlias, currentUID, + callStackViewShouldShow, isAudioOnly, callState)) + return + } + if (callStackViewShouldShow) { if (inSettingsView) { toggleSettingsView() diff --git a/src/mainview/components/MessageWebView.qml b/src/mainview/components/MessageWebView.qml index 1b9dd3636..6b9515548 100644 --- a/src/mainview/components/MessageWebView.qml +++ b/src/mainview/components/MessageWebView.qml @@ -32,6 +32,7 @@ Rectangle { property int messageWebViewHeaderPreferredHeight: 64 property string headerUserAliasLabelText: "" property string headerUserUserNameLabelText: "" + property bool jsLoaded: false signal needToHideConversationInCall @@ -256,7 +257,8 @@ Rectangle { messageWebView.runJavaScript(UtilsAdapter.qStringFromFile( ":/qwebchannel.js")) messageWebView.runJavaScript(UtilsAdapter.qStringFromFile( - ":/chatview.js")) + ":/chatview.js"), + function(){jsLoaded = true}) messageWebView.runJavaScript("init_i18n();") messageWebView.runJavaScript("displayNavbar(false);") } -- GitLab