e2e encrypted header chat message list

translations update

update sdk

fix #LINQT-1772
This commit is contained in:
Gaelle Braud 2025-05-16 18:30:41 +02:00
parent 75e71be14d
commit ac7164fb0b
11 changed files with 1258 additions and 975 deletions

View file

@ -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);

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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 {

View file

@ -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

View file

@ -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

@ -1 +1 @@
Subproject commit 83685e63b08c5e5eaf74b6a8ee0ba27802ea30ff
Subproject commit fe690e75c6ab33804c36079763c90d8e0cb84c08