animation on progress status account connection + key binding open research in history
This commit is contained in:
parent
55ce938d0b
commit
6ccbdf6ef8
5 changed files with 657 additions and 626 deletions
|
|
@ -67,7 +67,7 @@ ListView {
|
|||
}
|
||||
}
|
||||
|
||||
onAtYEndChanged: if (atYEnd) {
|
||||
onAtYEndChanged: if (atYEnd && chat) {
|
||||
chat.core.lMarkAsRead()
|
||||
}
|
||||
onAtYBeginningChanged: if (atYBeginning) {
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@ Loader{
|
|||
: contact
|
||||
? contact.core.defaultAddress
|
||||
: ''
|
||||
readonly property string address: SettingsCpp.hideSipAddresses ? UtilsCpp.getUsername(_address) : _address
|
||||
readonly property var address: SettingsCpp.hideSipAddresses ? UtilsCpp.getUsername(_address) : _address
|
||||
property var displayNameObj: UtilsCpp.getDisplayName(_address)
|
||||
property var displayNameVal: account && account.core.displayName
|
||||
? account.core.displayName
|
||||
|
|
@ -126,6 +126,14 @@ Loader{
|
|||
: (contact
|
||||
? contact.core?.presenceIcon
|
||||
: "")
|
||||
RotationAnimator on rotation {
|
||||
running: mainItem.account && mainItem.account.core.registrationState === LinphoneEnums.RegistrationState.Progress
|
||||
direction: RotationAnimator.Clockwise
|
||||
from: 0
|
||||
to: 360
|
||||
loops: Animation.Infinite
|
||||
duration: 10000
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -73,15 +73,24 @@ Control.Control{
|
|||
RowLayout {
|
||||
anchors.fill: parent
|
||||
Image {
|
||||
sourceSize.width: 11 * DefaultStyle.dp
|
||||
sourceSize.height: 11 * DefaultStyle.dp
|
||||
id: registrationImage
|
||||
sourceSize.width: Math.round(11 * DefaultStyle.dp)
|
||||
sourceSize.height: Math.round(11 * DefaultStyle.dp)
|
||||
smooth: false
|
||||
Layout.preferredWidth: 11 * DefaultStyle.dp
|
||||
Layout.preferredHeight: 11 * DefaultStyle.dp
|
||||
Layout.preferredWidth: Math.round(11 * DefaultStyle.dp)
|
||||
Layout.preferredHeight: Math.round(11 * DefaultStyle.dp)
|
||||
source: presenceBar.isRegistered
|
||||
? mainItem.account.core.presenceIcon
|
||||
: mainItem.account?.core.registrationIcon || ""
|
||||
Layout.leftMargin: 8 * DefaultStyle.dp
|
||||
Layout.leftMargin: Math.round(8 * DefaultStyle.dp)
|
||||
RotationAnimator on rotation {
|
||||
running: mainItem.account && mainItem.account.core.registrationState === LinphoneEnums.RegistrationState.Progress
|
||||
direction: RotationAnimator.Clockwise
|
||||
from: 0
|
||||
to: 360
|
||||
loops: Animation.Infinite
|
||||
duration: 10000
|
||||
}
|
||||
}
|
||||
Text {
|
||||
id: presenceOrRegistrationText
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ import UtilsCpp
|
|||
import SettingsCpp
|
||||
import 'qrc:/qt/qml/Linphone/view/Style/buttonStyle.js' as ButtonStyle
|
||||
|
||||
RowLayout {
|
||||
FocusScope {
|
||||
id: mainItem
|
||||
property ChatGui chat
|
||||
// used to show chat message reactions in details panel
|
||||
|
|
@ -19,7 +19,6 @@ RowLayout {
|
|||
property CallGui call
|
||||
property alias callHeaderContent: splitPanel.headerContentItem
|
||||
property bool replyingToMessage: false
|
||||
spacing: 0
|
||||
enum PanelType { MessageReactions, SharedFiles, Medias, ImdnStatus, ForwardToList, ManageParticipants, EphemeralSettings, None}
|
||||
|
||||
signal oneOneCall(bool video)
|
||||
|
|
@ -51,8 +50,17 @@ RowLayout {
|
|||
}
|
||||
|
||||
Keys.onPressed: (event) => {
|
||||
if (event.modifiers & Qt.ControlModifier && event.key === Qt.Key_F) searchBarLayout.visible = true
|
||||
event.accepted = false
|
||||
if (event.modifiers & Qt.ControlModifier && event.key === Qt.Key_F) {
|
||||
searchBarLayout.visible = true
|
||||
event.accepted = true
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
RowLayout {
|
||||
anchors.fill: parent
|
||||
spacing: 0
|
||||
|
||||
//onEventChanged: {
|
||||
// TODO : call when all messages read after scroll to unread feature available
|
||||
|
|
@ -162,6 +170,10 @@ RowLayout {
|
|||
}
|
||||
spacing: Math.round(50 * DefaultStyle.dp)
|
||||
height: Math.round(65 * DefaultStyle.dp)
|
||||
Connections {
|
||||
target: mainItem
|
||||
function onChatChanged() {searchBarLayout.visible = false}
|
||||
}
|
||||
SearchBar {
|
||||
id: chatMessagesSearchBar
|
||||
Layout.fillWidth: true
|
||||
|
|
@ -235,6 +247,7 @@ RowLayout {
|
|||
anchors.fill: parent
|
||||
anchors.leftMargin: Math.round(18 * DefaultStyle.dp)
|
||||
anchors.rightMargin: Math.round(18 * DefaultStyle.dp)
|
||||
onActiveFocusChanged: console.log("chat messages focus", activeFocus)
|
||||
Control.ScrollBar.vertical: scrollbar
|
||||
onShowReactionsForMessageRequested: (chatMessage) => {
|
||||
mainItem.chatMessage = chatMessage
|
||||
|
|
@ -706,3 +719,4 @@ RowLayout {
|
|||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -334,8 +334,8 @@ AbstractMainPage {
|
|||
SelectedChatView {
|
||||
visible: chat != undefined && chat != null
|
||||
anchors.fill: parent
|
||||
chat: mainItem.selectedChatGui || null
|
||||
onChatChanged: if (mainItem.selectedChatGui !== chat) mainItem.selectedChatGui = chat
|
||||
chat: mainItem.selectedChatGui ? mainItem.selectedChatGui : null
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue