diff --git a/src/app/currentconversation.cpp b/src/app/currentconversation.cpp index a0f940dbe9abc17f6c7ea403c4edcb38ed2569ef..d662f8f45d8307d6b2319e030b939ffebbd7ac75 100644 --- a/src/app/currentconversation.cpp +++ b/src/app/currentconversation.cpp @@ -51,7 +51,6 @@ void CurrentConversation::updateData() { auto convId = lrcInstance_->get_selectedConvUid(); - set_id(convId); if (convId.isEmpty()) return; try { @@ -133,6 +132,7 @@ CurrentConversation::updateData() } catch (...) { qWarning() << "Can't update current conversation data for" << convId; } + set_id(convId); updateErrors(convId); } diff --git a/src/app/mainview/ConversationView.qml b/src/app/mainview/ConversationView.qml index fc824082230532c5a18866e527c368bd76888edb..f96de59f97eda0231fd594157085ab36ae5b0146 100644 --- a/src/app/mainview/ConversationView.qml +++ b/src/app/mainview/ConversationView.qml @@ -80,6 +80,7 @@ BaseView { Qt.callLater(focusChatView) } else { dismiss() + callStackView.contentView.forceActiveFocus() } } @@ -88,6 +89,17 @@ BaseView { root.dismiss() } else { callStackView.chatViewContainer.visible = false + callStackView.contentView.forceActiveFocus() + } + } + + onVisibleChanged: { + if (!inCallView) + return + if (visible && !parent.showDetails) { + focusChatView() + } else { + callStackView.contentView.forceActiveFocus() } } } @@ -97,6 +109,13 @@ BaseView { id: callStackView Layout.fillWidth: true Layout.fillHeight: true + + onVisibleChanged: { + if (visible) + contentView.forceActiveFocus() + else + chatView.focusChatView() + } } } } diff --git a/src/app/mainview/components/CallStackView.qml b/src/app/mainview/components/CallStackView.qml index c5b4419fe1793489c3b0254e18fc254304a2c19e..f867989c3f32122c7b17be322579017fc11c2fbc 100644 --- a/src/app/mainview/components/CallStackView.qml +++ b/src/app/mainview/components/CallStackView.qml @@ -30,6 +30,7 @@ Item { id: root property alias chatViewContainer: ongoingCallPage.chatViewContainer + property alias contentView: callStackMainView property var sipKeys: [ "1", "2", "3", "A",