diff --git a/src/app/constant/JamiStrings.qml b/src/app/constant/JamiStrings.qml index 65b28b99db0996fb044057ab8eab6f7e741b7ac4..362c9752594d7414db50d1c8b8045131bb1a6864 100644 --- a/src/app/constant/JamiStrings.qml +++ b/src/app/constant/JamiStrings.qml @@ -352,6 +352,7 @@ Item { property string disabledAccount: qsTr("The account is disabled") property string noNetworkConnectivity: qsTr("No network connectivity") property string deletedMessage: qsTr("Deleted message") + property string backCall: qsTr("Back to Call") //MessagesResearch property string jumpTo: qsTr("Jump to") diff --git a/src/app/mainview/ConversationView.qml b/src/app/mainview/ConversationView.qml index f8963ba69f89c0e5d8769a3fe98d290df357bcf0..fc824082230532c5a18866e527c368bd76888edb 100644 --- a/src/app/mainview/ConversationView.qml +++ b/src/app/mainview/ConversationView.qml @@ -78,6 +78,8 @@ BaseView { if (!CurrentConversation.hasCall) { resetPanels() Qt.callLater(focusChatView) + } else { + dismiss() } } diff --git a/src/app/mainview/components/ChatViewHeader.qml b/src/app/mainview/components/ChatViewHeader.qml index 9601a0ac323d25c7a4029293a9c2cbc7c43151cf..d17c87af863d715033f3bb904211d7fd791d9f34 100644 --- a/src/app/mainview/components/ChatViewHeader.qml +++ b/src/app/mainview/components/ChatViewHeader.qml @@ -81,10 +81,8 @@ Rectangle { preferredSize: 24 - source: CurrentConversation.inCall ? - JamiResources.round_close_24dp_svg : - JamiResources.back_24dp_svg - toolTipText: JamiStrings.hideChat + source: JamiResources.back_24dp_svg + toolTipText: CurrentConversation.inCall ? JamiStrings.backCall : JamiStrings.hideChat normalColor: JamiTheme.chatviewBgColor imageColor: JamiTheme.chatviewButtonColor @@ -146,119 +144,108 @@ Rectangle { } RowLayout { - id: buttonGroup - - property int buttonGroupMargin: 8 + id: headerButtons Layout.alignment: Qt.AlignRight | Qt.AlignVCenter - Layout.rightMargin: buttonGroupMargin + Layout.rightMargin: 8 spacing: 16 Layout.fillWidth: true Searchbar { id: rowSearchBar - spacing: buttonGroup.spacing + Layout.alignment: Qt.AlignRight | Qt.AlignVCenter + spacing: headerButtons.spacing visible: CurrentConversation.isSwarm } - RowLayout { - id: pushbuttons - - Layout.alignment: Qt.AlignRight | Qt.AlignVCenter - Layout.rightMargin: 8 - spacing: 16 - Layout.fillWidth: true - - PushButton { - id: startAAudioCallButton + PushButton { + id: startAAudioCallButton - visible: interactionButtonsVisibility && (!addMemberVisibility || UtilsAdapter.getAppValue(Settings.EnableExperimentalSwarm)) + visible: interactionButtonsVisibility && (!addMemberVisibility || UtilsAdapter.getAppValue(Settings.EnableExperimentalSwarm)) - source: JamiResources.place_audiocall_24dp_svg - toolTipText: JamiStrings.placeAudioCall + source: JamiResources.place_audiocall_24dp_svg + toolTipText: JamiStrings.placeAudioCall - normalColor: JamiTheme.chatviewBgColor - imageColor: JamiTheme.chatviewButtonColor + normalColor: JamiTheme.chatviewBgColor + imageColor: JamiTheme.chatviewButtonColor - onClicked: CallAdapter.placeAudioOnlyCall() - } + onClicked: CallAdapter.placeAudioOnlyCall() + } - PushButton { - id: startAVideoCallButton + PushButton { + id: startAVideoCallButton - visible: CurrentAccount.videoEnabled_Video && interactionButtonsVisibility && (!addMemberVisibility || UtilsAdapter.getAppValue(Settings.EnableExperimentalSwarm)) - source: JamiResources.videocam_24dp_svg - toolTipText: JamiStrings.placeVideoCall + visible: CurrentAccount.videoEnabled_Video && interactionButtonsVisibility && (!addMemberVisibility || UtilsAdapter.getAppValue(Settings.EnableExperimentalSwarm)) + source: JamiResources.videocam_24dp_svg + toolTipText: JamiStrings.placeVideoCall - normalColor: JamiTheme.chatviewBgColor - imageColor: JamiTheme.chatviewButtonColor + normalColor: JamiTheme.chatviewBgColor + imageColor: JamiTheme.chatviewButtonColor - onClicked: { - CallAdapter.placeCall() - } + onClicked: { + CallAdapter.placeCall() } + } - PushButton { - id: addParticipantsButton + PushButton { + id: addParticipantsButton - source: JamiResources.add_people_24dp_svg - toolTipText: JamiStrings.addParticipants + source: JamiResources.add_people_24dp_svg + toolTipText: JamiStrings.addParticipants - normalColor: JamiTheme.chatviewBgColor - imageColor: JamiTheme.chatviewButtonColor + normalColor: JamiTheme.chatviewBgColor + imageColor: JamiTheme.chatviewButtonColor - visible: CurrentConversationMembers.count < 8 && addMemberVisibility + visible: CurrentConversationMembers.count < 8 && addMemberVisibility - onClicked: addToConversationClicked() - } + onClicked: addToConversationClicked() + } - PushButton { - id: selectPluginButton + PushButton { + id: selectPluginButton - visible: PluginAdapter.isEnabled && PluginAdapter.chatHandlersListCount && - interactionButtonsVisibility + visible: PluginAdapter.isEnabled && PluginAdapter.chatHandlersListCount && + interactionButtonsVisibility - source: JamiResources.plugins_24dp_svg - toolTipText: JamiStrings.showPlugins + source: JamiResources.plugins_24dp_svg + toolTipText: JamiStrings.showPlugins - normalColor: JamiTheme.chatviewBgColor - imageColor: JamiTheme.chatviewButtonColor + normalColor: JamiTheme.chatviewBgColor + imageColor: JamiTheme.chatviewButtonColor - onClicked: pluginSelector() - } + onClicked: pluginSelector() + } - PushButton { - id: sendContactRequestButton + PushButton { + id: sendContactRequestButton - visible: CurrentConversation.isTemporary || CurrentConversation.isBanned + visible: CurrentConversation.isTemporary || CurrentConversation.isBanned - source: JamiResources.add_people_24dp_svg - toolTipText: JamiStrings.addToConversations + source: JamiResources.add_people_24dp_svg + toolTipText: JamiStrings.addToConversations - normalColor: JamiTheme.chatviewBgColor - imageColor: JamiTheme.chatviewButtonColor + normalColor: JamiTheme.chatviewBgColor + imageColor: JamiTheme.chatviewButtonColor - onClicked: CurrentConversation.isBanned ? - MessagesAdapter.unbanConversation(CurrentConversation.id) - : MessagesAdapter.sendConversationRequest() - } + onClicked: CurrentConversation.isBanned ? + MessagesAdapter.unbanConversation(CurrentConversation.id) + : MessagesAdapter.sendConversationRequest() + } - PushButton { - id: detailsButton + PushButton { + id: detailsButton - visible: swarmDetailsVisibility + visible: swarmDetailsVisibility - source: JamiResources.swarm_details_panel_svg - toolTipText: JamiStrings.details + source: JamiResources.swarm_details_panel_svg + toolTipText: JamiStrings.details - normalColor: JamiTheme.chatviewBgColor - imageColor: JamiTheme.chatviewButtonColor + normalColor: JamiTheme.chatviewBgColor + imageColor: JamiTheme.chatviewButtonColor - onClicked: showDetailsClicked() - } + onClicked: showDetailsClicked() } - } } diff --git a/src/app/mainview/components/OngoingCallPage.qml b/src/app/mainview/components/OngoingCallPage.qml index ebafe082312cc73d38f687d2aabee9d977efd2be..bb71389e6a90eeff984695af99e6ff674c8f3e49 100644 --- a/src/app/mainview/components/OngoingCallPage.qml +++ b/src/app/mainview/components/OngoingCallPage.qml @@ -117,6 +117,14 @@ Rectangle { previewRenderer.state = "geoChanging" } + onWidthChanged: { + if (chatViewContainer.visible && root.width < JamiTheme.chatViewHeaderMinimumWidth * 2) { + callPageMainRect.visible = false + } else { + callPageMainRect.visible = true + } + } + SplitView { id: mainColumnLayout @@ -137,10 +145,8 @@ Rectangle { id: callPageMainRect SplitView.preferredHeight: mainColumnLayout.isHorizontal ? root.height : (root.height / 3) * 2 - SplitView.preferredWidth: mainColumnLayout.isHorizontal ? (root.width / 3) * 2 : root.width - SplitView.minimumHeight: root.height / 2 + 20 - SplitView.minimumWidth: root.width / 2 + 20 - SplitView.fillWidth: !mainColumnLayout.isHorizontal + SplitView.minimumWidth: JamiTheme.chatViewHeaderMinimumWidth + SplitView.fillWidth: true TapHandler { acceptedButtons: Qt.LeftButton | Qt.RightButton @@ -388,10 +394,19 @@ Rectangle { root.height : root.height / 3 SplitView.preferredWidth: mainColumnLayout.isHorizontal ? - root.width / 3 : + JamiTheme.chatViewHeaderMinimumWidth : root.width + SplitView.minimumWidth: JamiTheme.chatViewHeaderMinimumWidth visible: false clip: true + + onVisibleChanged: { + if (visible && root.width < JamiTheme.chatViewHeaderMinimumWidth * 2) { + callPageMainRect.visible = false + } else { + callPageMainRect.visible = true + } + } } } }