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()
|
chat.core.lMarkAsRead()
|
||||||
}
|
}
|
||||||
onAtYBeginningChanged: if (atYBeginning) {
|
onAtYBeginningChanged: if (atYBeginning) {
|
||||||
|
|
|
||||||
|
|
@ -24,7 +24,7 @@ Loader{
|
||||||
: contact
|
: contact
|
||||||
? contact.core.defaultAddress
|
? 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 displayNameObj: UtilsCpp.getDisplayName(_address)
|
||||||
property var displayNameVal: account && account.core.displayName
|
property var displayNameVal: account && account.core.displayName
|
||||||
? account.core.displayName
|
? account.core.displayName
|
||||||
|
|
@ -126,6 +126,14 @@ Loader{
|
||||||
: (contact
|
: (contact
|
||||||
? contact.core?.presenceIcon
|
? 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 {
|
RowLayout {
|
||||||
anchors.fill: parent
|
anchors.fill: parent
|
||||||
Image {
|
Image {
|
||||||
sourceSize.width: 11 * DefaultStyle.dp
|
id: registrationImage
|
||||||
sourceSize.height: 11 * DefaultStyle.dp
|
sourceSize.width: Math.round(11 * DefaultStyle.dp)
|
||||||
|
sourceSize.height: Math.round(11 * DefaultStyle.dp)
|
||||||
smooth: false
|
smooth: false
|
||||||
Layout.preferredWidth: 11 * DefaultStyle.dp
|
Layout.preferredWidth: Math.round(11 * DefaultStyle.dp)
|
||||||
Layout.preferredHeight: 11 * DefaultStyle.dp
|
Layout.preferredHeight: Math.round(11 * DefaultStyle.dp)
|
||||||
source: presenceBar.isRegistered
|
source: presenceBar.isRegistered
|
||||||
? mainItem.account.core.presenceIcon
|
? mainItem.account.core.presenceIcon
|
||||||
: mainItem.account?.core.registrationIcon || ""
|
: 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 {
|
Text {
|
||||||
id: presenceOrRegistrationText
|
id: presenceOrRegistrationText
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,7 @@ import UtilsCpp
|
||||||
import SettingsCpp
|
import SettingsCpp
|
||||||
import 'qrc:/qt/qml/Linphone/view/Style/buttonStyle.js' as ButtonStyle
|
import 'qrc:/qt/qml/Linphone/view/Style/buttonStyle.js' as ButtonStyle
|
||||||
|
|
||||||
RowLayout {
|
FocusScope {
|
||||||
id: mainItem
|
id: mainItem
|
||||||
property ChatGui chat
|
property ChatGui chat
|
||||||
// used to show chat message reactions in details panel
|
// used to show chat message reactions in details panel
|
||||||
|
|
@ -19,7 +19,6 @@ RowLayout {
|
||||||
property CallGui call
|
property CallGui call
|
||||||
property alias callHeaderContent: splitPanel.headerContentItem
|
property alias callHeaderContent: splitPanel.headerContentItem
|
||||||
property bool replyingToMessage: false
|
property bool replyingToMessage: false
|
||||||
spacing: 0
|
|
||||||
enum PanelType { MessageReactions, SharedFiles, Medias, ImdnStatus, ForwardToList, ManageParticipants, EphemeralSettings, None}
|
enum PanelType { MessageReactions, SharedFiles, Medias, ImdnStatus, ForwardToList, ManageParticipants, EphemeralSettings, None}
|
||||||
|
|
||||||
signal oneOneCall(bool video)
|
signal oneOneCall(bool video)
|
||||||
|
|
@ -51,8 +50,17 @@ RowLayout {
|
||||||
}
|
}
|
||||||
|
|
||||||
Keys.onPressed: (event) => {
|
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: {
|
//onEventChanged: {
|
||||||
// TODO : call when all messages read after scroll to unread feature available
|
// TODO : call when all messages read after scroll to unread feature available
|
||||||
|
|
@ -162,6 +170,10 @@ RowLayout {
|
||||||
}
|
}
|
||||||
spacing: Math.round(50 * DefaultStyle.dp)
|
spacing: Math.round(50 * DefaultStyle.dp)
|
||||||
height: Math.round(65 * DefaultStyle.dp)
|
height: Math.round(65 * DefaultStyle.dp)
|
||||||
|
Connections {
|
||||||
|
target: mainItem
|
||||||
|
function onChatChanged() {searchBarLayout.visible = false}
|
||||||
|
}
|
||||||
SearchBar {
|
SearchBar {
|
||||||
id: chatMessagesSearchBar
|
id: chatMessagesSearchBar
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
|
|
@ -235,6 +247,7 @@ RowLayout {
|
||||||
anchors.fill: parent
|
anchors.fill: parent
|
||||||
anchors.leftMargin: Math.round(18 * DefaultStyle.dp)
|
anchors.leftMargin: Math.round(18 * DefaultStyle.dp)
|
||||||
anchors.rightMargin: Math.round(18 * DefaultStyle.dp)
|
anchors.rightMargin: Math.round(18 * DefaultStyle.dp)
|
||||||
|
onActiveFocusChanged: console.log("chat messages focus", activeFocus)
|
||||||
Control.ScrollBar.vertical: scrollbar
|
Control.ScrollBar.vertical: scrollbar
|
||||||
onShowReactionsForMessageRequested: (chatMessage) => {
|
onShowReactionsForMessageRequested: (chatMessage) => {
|
||||||
mainItem.chatMessage = chatMessage
|
mainItem.chatMessage = chatMessage
|
||||||
|
|
@ -706,3 +719,4 @@ RowLayout {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -334,8 +334,8 @@ AbstractMainPage {
|
||||||
SelectedChatView {
|
SelectedChatView {
|
||||||
visible: chat != undefined && chat != null
|
visible: chat != undefined && chat != null
|
||||||
anchors.fill: parent
|
anchors.fill: parent
|
||||||
chat: mainItem.selectedChatGui || null
|
|
||||||
onChatChanged: if (mainItem.selectedChatGui !== chat) mainItem.selectedChatGui = chat
|
onChatChanged: if (mainItem.selectedChatGui !== chat) mainItem.selectedChatGui = chat
|
||||||
|
chat: mainItem.selectedChatGui ? mainItem.selectedChatGui : null
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue