diff --git a/tests/assets/images/lost_incoming_call.svg b/tests/assets/images/declined_incoming_call.svg
similarity index 100%
rename from tests/assets/images/lost_incoming_call.svg
rename to tests/assets/images/declined_incoming_call.svg
diff --git a/tests/assets/images/lost_outgoing_call.svg b/tests/assets/images/declined_outgoing_call.svg
similarity index 100%
rename from tests/assets/images/lost_outgoing_call.svg
rename to tests/assets/images/declined_outgoing_call.svg
diff --git a/tests/assets/images/missed_incoming_call.svg b/tests/assets/images/missed_incoming_call.svg
new file mode 100644
index 000000000..ee5fd365a
--- /dev/null
+++ b/tests/assets/images/missed_incoming_call.svg
@@ -0,0 +1,13 @@
+
+
\ No newline at end of file
diff --git a/tests/assets/images/missed_outgoing_call.svg b/tests/assets/images/missed_outgoing_call.svg
new file mode 100644
index 000000000..ee5fd365a
--- /dev/null
+++ b/tests/assets/images/missed_outgoing_call.svg
@@ -0,0 +1,13 @@
+
+
\ No newline at end of file
diff --git a/tests/assets/languages/en.ts b/tests/assets/languages/en.ts
index e9e137d57..cddf5a3e4 100644
--- a/tests/assets/languages/en.ts
+++ b/tests/assets/languages/en.ts
@@ -191,11 +191,27 @@
Lost outgoing call
- endCall
+ outgoingCall
- outgoingCall
+ declinedIncomingCall
+
+
+
+ declinedOutgoingCall
+
+
+
+ endedCall
+
+
+
+ missedIncomingCall
+
+
+
+ missedOutgoingCall
diff --git a/tests/assets/languages/fr.ts b/tests/assets/languages/fr.ts
index dbd28d575..c14ddf558 100644
--- a/tests/assets/languages/fr.ts
+++ b/tests/assets/languages/fr.ts
@@ -191,11 +191,27 @@
Appel sortant manqué
- endCall
+ outgoingCall
- outgoingCall
+ declinedIncomingCall
+
+
+
+ declinedOutgoingCall
+
+
+
+ endedCall
+
+
+
+ missedIncomingCall
+
+
+
+ missedOutgoingCall
diff --git a/tests/resources.qrc b/tests/resources.qrc
index 7937a92e6..e190e2408 100644
--- a/tests/resources.qrc
+++ b/tests/resources.qrc
@@ -22,6 +22,8 @@
assets/images/contact_edit_pressed.svg
assets/images/contact_normal.svg
assets/images/contact_selected.svg
+ assets/images/declined_incoming_call.svg
+ assets/images/declined_outgoing_call.svg
assets/images/delete_hovered.svg
assets/images/delete_normal.svg
assets/images/delete_pressed.svg
@@ -36,8 +38,8 @@
assets/images/led_red.svg
assets/images/led_white.svg
assets/images/linphone.png
- assets/images/lost_incoming_call.svg
- assets/images/lost_outgoing_call.svg
+ assets/images/missed_incoming_call.svg
+ assets/images/missed_outgoing_call.svg
assets/images/outgoing_call.svg
assets/images/search.svg
assets/images/tooltip_arrow_bottom.svg
diff --git a/tests/src/components/chat/ChatModel.cpp b/tests/src/components/chat/ChatModel.cpp
index 0671e7457..ec48223c4 100644
--- a/tests/src/components/chat/ChatModel.cpp
+++ b/tests/src/components/chat/ChatModel.cpp
@@ -60,14 +60,15 @@ bool ChatModel::removeRows (int row, int count, const QModelIndex &parent) {
// -------------------------------------------------------------------
void ChatModel::removeEntry (int id) {
- qInfo() << "Removing chat entry:" << id << "of:" << getSipAddress();
+ qInfo() << QStringLiteral("Removing chat entry: %1 of %2.")
+ .arg(id).arg(getSipAddress());
if (!removeRow(id))
- qWarning() << "Unable to remove chat entry:" << id;
+ qWarning() << QStringLiteral("Unable to remove chat entry: %1").arg(id);
}
void ChatModel::removeAllEntries () {
- qInfo() << "Removing all chat entries of:" << getSipAddress();
+ qInfo() << QStringLiteral("Removing all chat entries of: %1.").arg(getSipAddress());
beginResetModel();
@@ -165,7 +166,12 @@ void ChatModel::setSipAddress (const QString &sip_address) {
// Get calls.
for (auto &call_log : core->getCallHistoryForAddress(m_chat_room->getPeerAddress())) {
- QVariantMap start, end;
+ // Ignore aborted calls.
+ if (call_log->getStatus() == linphone::CallStatusAborted)
+ continue;
+
+ // Add start call.
+ QVariantMap start;
fillCallStartEntry(start, call_log);
ChatEntryData pair = qMakePair(start, static_pointer_cast(call_log));
@@ -178,14 +184,12 @@ void ChatModel::setSipAddress (const QString &sip_address) {
);
m_entries.insert(it, pair);
+
+ // Add end call. (if necessary)
+
}
endResetModel();
emit sipAddressChanged(sip_address);
}
-
- // QT_TR_NOOP('endCall'),
- // QT_TR_NOOP('incomingCall'),
- // QT_TR_NOOP('lostIncomingCall'),
- // QT_TR_NOOP('lostOutgoingCall')
diff --git a/tests/src/components/chat/ChatProxyModel.cpp b/tests/src/components/chat/ChatProxyModel.cpp
index c33a8ae35..6d4e77777 100644
--- a/tests/src/components/chat/ChatProxyModel.cpp
+++ b/tests/src/components/chat/ChatProxyModel.cpp
@@ -5,7 +5,6 @@
ChatProxyModel::ChatProxyModel (QObject *parent) : QSortFilterProxyModel(parent) {
m_chat_model.setParent(this);
setSourceModel(&m_chat_model);
- setFilterCaseSensitivity(Qt::CaseInsensitive);
}
void ChatProxyModel::removeEntry (int id) {
@@ -23,5 +22,5 @@ bool ChatProxyModel::filterAcceptsRow (int source_row, const QModelIndex &source
index.data()
);
- return (data["type"].toInt() == m_entry_type_filter);
+ return data["type"].toInt() == m_entry_type_filter;
}
diff --git a/tests/ui/modules/Linphone/Chat/Event.qml b/tests/ui/modules/Linphone/Chat/Event.qml
index 06722836e..f36bc75f7 100644
--- a/tests/ui/modules/Linphone/Chat/Event.qml
+++ b/tests/ui/modules/Linphone/Chat/Event.qml
@@ -9,11 +9,21 @@ import Utils 1.0
Row {
property string _type: {
+ var status = $chatEntry.status
+
if ($chatEntry.status === ChatModel.CallStatusSuccess) {
return $chatEntry.isOutgoing ? 'outgoing_call' : 'incoming_call'
}
- return ''
+ if ($chatEntry.status === ChatModel.CallStatusDeclined) {
+ return $chatEntry.isOutgoing ? 'declined_outgoing_call' : 'declined_incoming_call'
+ }
+
+ if ($chatEntry.status === ChatModel.CallStatusMissed) {
+ return $chatEntry.isOutgoing ? 'missed_outgoing_call' : 'missed_incoming_call'
+ }
+
+ return 'ended_call'
}
height: ChatStyle.entry.lineHeight
@@ -32,8 +42,12 @@ Row {
// Private data for `lupdate`.
Item {
property var i18n: [
- QT_TR_NOOP('endCall'),
+ QT_TR_NOOP('declinedIncomingCall'),
+ QT_TR_NOOP('declinedOutgoingCall'),
+ QT_TR_NOOP('endedCall'),
QT_TR_NOOP('incomingCall'),
+ QT_TR_NOOP('missedIncomingCall'),
+ QT_TR_NOOP('missedOutgoingCall'),
QT_TR_NOOP('outgoingCall')
]
}