1
0
Fork 0
mirror of https://git.jami.net/savoirfairelinux/jami-client-qt.git synced 2025-08-21 07:05:59 +02:00

chatview: acquire message input focus when selecting conversation

Change-Id: I0f4ad161f0f05959c4f5a312e92f256b56c9fd57
Gitlab: #107
This commit is contained in:
Andreas Traczyk 2020-09-29 11:47:57 -04:00
parent ac3b8b821d
commit 8a064c3a64
3 changed files with 24 additions and 17 deletions

View file

@ -269,22 +269,22 @@ ConversationsAdapter::connectConversationModel(bool updateFilter)
emit updateListViewRequested(); emit updateListViewRequested();
}); });
filterChangedConnection_ filterChangedConnection_ = QObject::connect(currentConversationModel,
= QObject::connect(currentConversationModel, &lrc::api::ConversationModel::filterChanged,
&lrc::api::ConversationModel::filterChanged, [this]() {
[this]() { conversationSmartListModel_
conversationSmartListModel_->fillConversationsList(); ->fillConversationsList();
updateConversationsFilterWidget(); updateConversationsFilterWidget();
emit updateListViewRequested(); emit updateListViewRequested();
}); });
newConversationConnection_ newConversationConnection_ = QObject::connect(currentConversationModel,
= QObject::connect(currentConversationModel, &lrc::api::ConversationModel::newConversation,
&lrc::api::ConversationModel::newConversation, [this](const QString& convUid) {
[this](const QString& convUid) { conversationSmartListModel_
conversationSmartListModel_->fillConversationsList(); ->fillConversationsList();
updateConversationForNewContact(convUid); updateConversationForNewContact(convUid);
}); });
conversationRemovedConnection_ conversationRemovedConnection_
= QObject::connect(currentConversationModel, = QObject::connect(currentConversationModel,

View file

@ -442,6 +442,7 @@ Window {
SidePanel { SidePanel {
id: mainViewWindowSidePanel id: mainViewWindowSidePanel
// TODO: remove the evil in this slot
onConversationSmartListNeedToAccessMessageWebView: { onConversationSmartListNeedToAccessMessageWebView: {
communicationPageMessageWebView.headerUserAliasLabelText = currentUserAlias communicationPageMessageWebView.headerUserAliasLabelText = currentUserAlias
communicationPageMessageWebView.headerUserUserNameLabelText = currentUserDisplayName communicationPageMessageWebView.headerUserUserNameLabelText = currentUserDisplayName
@ -507,6 +508,10 @@ Window {
sidePanelViewStack.push(communicationPageMessageWebView) sidePanelViewStack.push(communicationPageMessageWebView)
} }
} }
if (!callStackViewShouldShow) {
communicationPageMessageWebView.focusMessageWebView()
}
} }
Connections { Connections {
@ -527,6 +532,7 @@ Window {
WelcomePage { WelcomePage {
id: welcomePage id: welcomePage
visible: false visible: false
} }

View file

@ -39,6 +39,9 @@ Rectangle {
signal messagesCleared signal messagesCleared
signal messagesLoaded signal messagesLoaded
function focusMessageWebView() {
messageWebView.forceActiveFocus()
}
function webViewRunJavaScript(arg) { function webViewRunJavaScript(arg) {
messageWebView.runJavaScript(arg) messageWebView.runJavaScript(arg)
@ -189,7 +192,6 @@ Rectangle {
} }
WebEngineView { WebEngineView {
id: messageWebView id: messageWebView
anchors.top: messageWebViewHeader.bottom anchors.top: messageWebViewHeader.bottom
@ -270,7 +272,6 @@ Rectangle {
} }
} }
// Provide WebEngineProfile. // Provide WebEngineProfile.
WebEngineProfile { WebEngineProfile {
id: messageWebViewProfile id: messageWebViewProfile