mirror of
https://gitlab.linphone.org/BC/public/linphone-desktop.git
synced 2026-01-17 03:18:07 +00:00
e2e encrypted header chat message list
translations update update sdk fix #LINQT-1772
This commit is contained in:
parent
75e71be14d
commit
ac7164fb0b
11 changed files with 1258 additions and 975 deletions
|
|
@ -90,6 +90,7 @@ ChatCore::ChatCore(const std::shared_ptr<linphone::ChatRoom> &chatRoom) : QObjec
|
|||
resetChatMessageList(messageList);
|
||||
mIdentifier = Utils::coreStringToAppString(chatRoom->getIdentifier());
|
||||
mChatRoomState = LinphoneEnums::fromLinphone(chatRoom->getState());
|
||||
mIsEncrypted = chatRoom->hasCapability((int)linphone::ChatRoom::Capabilities::Encrypted);
|
||||
connect(this, &ChatCore::messageListChanged, this, &ChatCore::lUpdateLastMessage);
|
||||
connect(this, &ChatCore::messagesInserted, this, &ChatCore::lUpdateLastMessage);
|
||||
connect(this, &ChatCore::messageRemoved, this, &ChatCore::lUpdateLastMessage);
|
||||
|
|
|
|||
|
|
@ -49,6 +49,7 @@ public:
|
|||
Q_PROPERTY(QString composingName READ getComposingName WRITE setComposingName NOTIFY composingUserChanged)
|
||||
Q_PROPERTY(QString composingAddress READ getComposingAddress WRITE setComposingAddress NOTIFY composingUserChanged)
|
||||
Q_PROPERTY(bool isGroupChat READ isGroupChat CONSTANT)
|
||||
Q_PROPERTY(bool isEncrypted MEMBER mIsEncrypted)
|
||||
|
||||
// Should be call from model Thread. Will be automatically in App thread after initialization
|
||||
static QSharedPointer<ChatCore> create(const std::shared_ptr<linphone::ChatRoom> &chatRoom);
|
||||
|
|
@ -137,6 +138,7 @@ private:
|
|||
QString mComposingName;
|
||||
QString mComposingAddress;
|
||||
bool mIsGroupChat = false;
|
||||
bool mIsEncrypted = false;
|
||||
LinphoneEnums::ChatRoomState mChatRoomState;
|
||||
std::shared_ptr<ChatModel> mChatModel;
|
||||
QSharedPointer<ChatMessageCore> mLastMessage;
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
|
@ -68,7 +68,7 @@ FocusScope {
|
|||
font.pixelSize: Typography.p2.pixelSize
|
||||
font.weight: Typography.p2.weight
|
||||
//: "Nom du groupe"
|
||||
text: qsTr("history_group_call_start_dialog_subject_hint")
|
||||
text: qsTr("group_start_dialog_subject_hint")
|
||||
}
|
||||
Item {
|
||||
Layout.fillWidth: true
|
||||
|
|
|
|||
|
|
@ -13,12 +13,24 @@ ColumnLayout {
|
|||
property alias header: rightPanelHeader
|
||||
spacing: 0
|
||||
|
||||
Rectangle {
|
||||
id: rightPanelHeader
|
||||
color: DefaultStyle.grey_0
|
||||
Layout.preferredHeight: Math.round(57 * DefaultStyle.dp)
|
||||
Item {
|
||||
Layout.preferredHeight: Math.round(57 * DefaultStyle.dp)
|
||||
Layout.fillWidth: true
|
||||
z: 1
|
||||
z: rightPanelContent.z + 1
|
||||
Rectangle {
|
||||
id: rightPanelHeader
|
||||
anchors.fill: parent
|
||||
color: DefaultStyle.grey_0
|
||||
}
|
||||
MultiEffect {
|
||||
anchors.fill: rightPanelHeader
|
||||
source: rightPanelHeader
|
||||
shadowEnabled: true
|
||||
shadowColor: DefaultStyle.grey_1000
|
||||
shadowBlur: 1
|
||||
shadowOpacity: 0.05
|
||||
shadowVerticalOffset: Math.round(10 * DefaultStyle.dp)
|
||||
}
|
||||
}
|
||||
Rectangle {
|
||||
id: rightPanelContent
|
||||
|
|
|
|||
|
|
@ -59,7 +59,52 @@ ListView {
|
|||
}
|
||||
|
||||
header: Item {
|
||||
height: Math.round(18 * DefaultStyle.dp)
|
||||
height: headerMessage.height + Math.round(50 * DefaultStyle.dp)
|
||||
width: headerMessage.width
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
Control.Control {
|
||||
id: headerMessage
|
||||
anchors.topMargin: Math.round(30 * DefaultStyle.dp)
|
||||
anchors.top: parent.top
|
||||
padding: Math.round(10 * DefaultStyle.dp)
|
||||
background: Rectangle {
|
||||
color: "transparent"
|
||||
border.color: DefaultStyle.main2_200
|
||||
border.width: Math.round(2 * DefaultStyle.dp)
|
||||
radius: Math.round(10 * DefaultStyle.dp)
|
||||
}
|
||||
contentItem: RowLayout {
|
||||
EffectImage {
|
||||
Layout.preferredWidth: Math.round(23 * DefaultStyle.dp)
|
||||
Layout.preferredHeight: Math.round(23 * DefaultStyle.dp)
|
||||
imageSource: AppIcons.lockSimple
|
||||
colorizationColor: DefaultStyle.info_500_main
|
||||
}
|
||||
ColumnLayout {
|
||||
spacing: Math.round(2 * DefaultStyle.dp)
|
||||
Text {
|
||||
//: End to end encrypted chat
|
||||
text: qsTr("chat_message_list_encrypted_header_title")
|
||||
Layout.fillWidth: true
|
||||
color: DefaultStyle.info_500_main
|
||||
font {
|
||||
pixelSize: Typography.p2.pixelSize
|
||||
weight: Typography.p2.weight
|
||||
}
|
||||
}
|
||||
Text {
|
||||
//: Les messages de cette conversation sont chiffrés de bout \n en bout. Seul votre correspondant peut les déchiffrer.
|
||||
text: qsTr("chat_message_list_encrypted_header_message")
|
||||
Layout.fillWidth: true
|
||||
color: DefaultStyle.grey_400
|
||||
font {
|
||||
pixelSize: Typography.p3.pixelSize
|
||||
weight: Typography.p3.weight
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
delegate: ChatMessage {
|
||||
|
|
|
|||
|
|
@ -110,6 +110,7 @@ Control.Control{
|
|||
popup.contentItem: Rectangle {
|
||||
implicitWidth: 280 * DefaultStyle.dp
|
||||
implicitHeight: 20 * DefaultStyle.dp + (setCustomStatus.visible ? 240 * DefaultStyle.dp : setPresence.implicitHeight)
|
||||
MouseArea{anchors.fill: parent}
|
||||
Presence {
|
||||
id: setPresence
|
||||
anchors.fill: parent
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ import Linphone
|
|||
import SettingsCpp
|
||||
import 'qrc:/qt/qml/Linphone/view/Style/buttonStyle.js' as ButtonStyle
|
||||
|
||||
Column {
|
||||
ColumnLayout {
|
||||
id: mainItem
|
||||
spacing: 20 * DefaultStyle.dp
|
||||
anchors.centerIn: parent
|
||||
|
|
|
|||
2
external/linphone-sdk
vendored
2
external/linphone-sdk
vendored
|
|
@ -1 +1 @@
|
|||
Subproject commit 83685e63b08c5e5eaf74b6a8ee0ba27802ea30ff
|
||||
Subproject commit fe690e75c6ab33804c36079763c90d8e0cb84c08
|
||||
Loading…
Add table
Reference in a new issue