Only show config error when restarting, not everytime the app starts
send conferenceInfoReceived when conf info state is New

Use App ChatList instead of a new one in each ChatProxy (try to fix crash when catching signals in ChatCore)
This commit is contained in:
Gaelle Braud 2026-01-05 12:20:20 +01:00
parent b3cc4f8be2
commit d57bb585db
10 changed files with 143 additions and 147 deletions

View file

@ -115,7 +115,6 @@
#include "tool/thread/Thread.hpp"
#include "tool/ui/DashRectangle.hpp"
#if defined(Q_OS_MACOS)
#include "core/event-count-notifier/EventCountNotifierMacOs.hpp"
#else
@ -395,7 +394,7 @@ void App::setSelf(QSharedPointer<App>(me)) {
&CoreModel::configuringStatus, [this](const std::shared_ptr<linphone::Core> &core,
linphone::ConfiguringState status, const std::string &message) {
mustBeInLinphoneThread(log().arg(Q_FUNC_INFO));
if (status == linphone::ConfiguringState::Failed) {
if (mIsRestarting && status == linphone::ConfiguringState::Failed) {
mCoreModelConnection->invokeToCore([this, message]() {
mustBeInMainThread(log().arg(Q_FUNC_INFO));
//: Error
@ -851,7 +850,6 @@ void App::initCppInterfaces() {
qmlRegisterType<CallHistoryProxy>(Constants::MainQmlUri, 1, 0, "CallHistoryProxy");
qmlRegisterType<CallGui>(Constants::MainQmlUri, 1, 0, "CallGui");
qmlRegisterType<CallProxy>(Constants::MainQmlUri, 1, 0, "CallProxy");
qmlRegisterType<ChatList>(Constants::MainQmlUri, 1, 0, "ChatList");
qmlRegisterType<ChatProxy>(Constants::MainQmlUri, 1, 0, "ChatProxy");
qmlRegisterType<ChatGui>(Constants::MainQmlUri, 1, 0, "ChatGui");
qmlRegisterType<EventLogGui>(Constants::MainQmlUri, 1, 0, "EventLogGui");
@ -974,13 +972,13 @@ void App::restart() {
CoreModel::getInstance()->getCore()->stop();
mCoreModelConnection->invokeToCore([this]() {
mIsRestarting = true;
closeCallsWindow();
setMainWindow(nullptr);
setCoreStarted(false);
if (mAccountList) mAccountList->resetData();
if (mCallList) mCallList->resetData();
if (mChatList) mChatList->resetData();
if (mConferenceInfoList) mConferenceInfoList->resetData();
closeCallsWindow();
setMainWindow(nullptr);
setCoreStarted(false);
mEngine->clearComponentCache();
mEngine->clearSingletons();
delete mEngine;

View file

@ -26,9 +26,6 @@
DEFINE_ABSTRACT_OBJECT(ChatProxy)
ChatProxy::ChatProxy(QObject *parent) {
mList = ChatList::create();
setSourceModel(mList.get());
setDynamicSortFilter(true);
}
ChatProxy::~ChatProxy() {
@ -55,6 +52,7 @@ void ChatProxy::setSourceModel(QAbstractItemModel *model) {
}
QSortFilterProxyModel::setSourceModel(newChatList);
sort(0);
emit modelChanged();
}
int ChatProxy::findChatIndex(ChatGui *chatGui) {

View file

@ -30,7 +30,7 @@
class ChatProxy : public SortFilterProxy, public AbstractObject {
Q_OBJECT
Q_PROPERTY(QAbstractItemModel *model WRITE setSourceModel )
Q_PROPERTY(QAbstractItemModel *model WRITE setSourceModel NOTIFY modelChanged)
public:
ChatProxy(QObject *parent = Q_NULLPTR);
@ -45,6 +45,7 @@ public:
signals:
void chatAdded(ChatGui *chat);
void modelChanged();
protected:
QSharedPointer<ChatList> mList;

View file

@ -192,15 +192,14 @@ void ConferenceInfoCore::setSelf(QSharedPointer<ConferenceInfoCore> me) {
mConfInfoModelConnection->makeConnectToModel(
&ConferenceInfoModel::schedulerStateChanged, [this](linphone::ConferenceScheduler::State state) {
auto confInfoState = mConferenceInfoModel->getState();
QString uri;
if (state == linphone::ConferenceScheduler::State::Ready) {
uri = mConferenceInfoModel->getConferenceScheduler()->getUri();
emit CoreModel::getInstance()->conferenceInfoReceived(
CoreModel::getInstance()->getCore(), mConferenceInfoModel->getConferenceInfo());
if (confInfoState == linphone::ConferenceInfo::State::New) {
emit CoreModel::getInstance()->conferenceInfoReceived(
CoreModel::getInstance()->getCore(), mConferenceInfoModel->getConferenceInfo());
}
}
mConfInfoModelConnection->invokeToCore([this, state = LinphoneEnums::fromLinphone(state),
infoState = LinphoneEnums::fromLinphone(confInfoState),
uri] {
infoState = LinphoneEnums::fromLinphone(confInfoState)] {
setConferenceSchedulerState(state);
setConferenceInfoState(infoState);
});

View file

@ -57,7 +57,7 @@ int SortFilterProxy::getCount() const {
QVariant SortFilterProxy::getAt(const int &atIndex) const {
auto modelIndex = index(atIndex, 0);
return sourceModel()->data(mapToSource(modelIndex), 0);
return sourceModel() ? sourceModel()->data(mapToSource(modelIndex), 0) : QVariant();
}
int SortFilterProxy::getFilterType() const {

View file

@ -674,141 +674,141 @@
<context>
<name>App</name>
<message>
<location filename="../../core/App.cpp" line="355"/>
<location filename="../../core/App.cpp" line="365"/>
<source>remote_provisioning_dialog</source>
<extracomment>Voulez-vous télécharger et appliquer la configuration depuis cette adresse ?</extracomment>
<translation>Möchten Sie die Remote-Konfiguration von dieser Adresse herunterladen und anwenden?</translation>
</message>
<message>
<location filename="../../core/App.cpp" line="392"/>
<location filename="../../core/App.cpp" line="444"/>
<location filename="../../core/App.cpp" line="707"/>
<location filename="../../core/App.cpp" line="402"/>
<location filename="../../core/App.cpp" line="454"/>
<location filename="../../core/App.cpp" line="717"/>
<source>info_popup_error_title</source>
<extracomment>Error</extracomment>
<translation>Fehler</translation>
</message>
<message>
<location filename="../../core/App.cpp" line="393"/>
<location filename="../../core/App.cpp" line="709"/>
<location filename="../../core/App.cpp" line="403"/>
<location filename="../../core/App.cpp" line="719"/>
<source>info_popup_configuration_failed_message</source>
<extracomment>Remote provisioning failed : %1</extracomment>
<translation>Remote-Provisionierung fehlgeschlagen: %1</translation>
</message>
<message>
<location filename="../../core/App.cpp" line="447"/>
<location filename="../../core/App.cpp" line="457"/>
<source>info_popup_error_checking_update</source>
<extracomment>An error occured while trying to check update. Please try again later or contact support team.</extracomment>
<translation>Fehler bei der Update-Prüfung. Bitte später erneut versuchen oder Support-Team kontaktieren.</translation>
</message>
<message>
<location filename="../../core/App.cpp" line="454"/>
<location filename="../../core/App.cpp" line="464"/>
<source>info_popup_new_version_download_label</source>
<translation>Herunterladen!</translation>
</message>
<message>
<location filename="../../core/App.cpp" line="457"/>
<location filename="../../core/App.cpp" line="467"/>
<source>info_popup_new_version_available_title</source>
<extracomment>New version available !</extracomment>
<translation>Neue Version verfügbar!</translation>
</message>
<message>
<location filename="../../core/App.cpp" line="459"/>
<location filename="../../core/App.cpp" line="469"/>
<source>info_popup_new_version_available_message</source>
<extracomment>A new version of Linphone (%1) is available. %2</extracomment>
<translation>Eine neue Version von Linphone (%1) ist unter %1 verfügbar</translation>
</message>
<message>
<location filename="../../core/App.cpp" line="465"/>
<location filename="../../core/App.cpp" line="475"/>
<source>info_popup_version_up_to_date_title</source>
<translation>Auf dem neuesten Stand</translation>
</message>
<message>
<location filename="../../core/App.cpp" line="467"/>
<location filename="../../core/App.cpp" line="477"/>
<source>info_popup_version_up_to_date_message</source>
<extracomment>Your version is up to date</extracomment>
<translation>Ihre Version ist auf dem neuesten Stand</translation>
</message>
<message>
<location filename="../../core/App.cpp" line="703"/>
<location filename="../../core/App.cpp" line="713"/>
<source>configuration_error_detail</source>
<extracomment>not reachable</extracomment>
<translation>nicht erreichbar</translation>
</message>
<message>
<location filename="../../core/App.cpp" line="994"/>
<location filename="../../core/App.cpp" line="1003"/>
<source>application_description</source>
<extracomment>&quot;A free and open source SIP video-phone.&quot;</extracomment>
<translation>Ein kostenloses Open-Source SIP Video-Telefon.</translation>
</message>
<message>
<location filename="../../core/App.cpp" line="996"/>
<location filename="../../core/App.cpp" line="1005"/>
<source>command_line_arg_order</source>
<extracomment>&quot;Send an order to the application towards a command line&quot;</extracomment>
<translation>Kommandozeilen-Befehl an die Anwendung schicken</translation>
</message>
<message>
<location filename="../../core/App.cpp" line="1000"/>
<location filename="../../core/App.cpp" line="1009"/>
<source>command_line_option_show_help</source>
<translation>Zeige Hilfe</translation>
</message>
<message>
<location filename="../../core/App.cpp" line="1005"/>
<location filename="../../core/App.cpp" line="1014"/>
<source>command_line_option_show_app_version</source>
<translation>App-Version anzeigen</translation>
</message>
<message>
<location filename="../../core/App.cpp" line="1013"/>
<location filename="../../core/App.cpp" line="1022"/>
<source>command_line_option_config_to_fetch</source>
<extracomment>&quot;Specify the linphone configuration file to be fetched. It will be merged with the current configuration.&quot;</extracomment>
<translation>Abzurufende Linphone-Konfigurationsdatei angeben. Sie wird mit der aktuellen Konfiguration zusammengeführt.</translation>
</message>
<message>
<location filename="../../core/App.cpp" line="1015"/>
<location filename="../../core/App.cpp" line="1024"/>
<source>command_line_option_config_to_fetch_arg</source>
<extracomment>&quot;URL, path or file&quot;</extracomment>
<translation>URL, Pfad oder Datei</translation>
</message>
<message>
<location filename="../../core/App.cpp" line="1020"/>
<location filename="../../core/App.cpp" line="1029"/>
<source>command_line_option_minimized</source>
<translation>Minimieren</translation>
</message>
<message>
<location filename="../../core/App.cpp" line="1023"/>
<location filename="../../core/App.cpp" line="1032"/>
<source>command_line_option_log_to_stdout</source>
<translation>Debug-Informationen auf der Standardausgabe ausgeben</translation>
</message>
<message>
<location filename="../../core/App.cpp" line="1026"/>
<location filename="../../core/App.cpp" line="1035"/>
<source>command_line_option_print_app_logs_only</source>
<extracomment>&quot;Print only logs from the application&quot;</extracomment>
<translation>Nur Anwendungs-Logs ausgeben</translation>
</message>
<message>
<location filename="../../core/App.cpp" line="1470"/>
<location filename="../../core/App.cpp" line="1479"/>
<source>hide_action</source>
<extracomment>&quot;Cacher&quot; &quot;Afficher&quot;</extracomment>
<translation>Ausblenden</translation>
</message>
<message>
<location filename="../../core/App.cpp" line="1470"/>
<location filename="../../core/App.cpp" line="1479"/>
<source>show_action</source>
<translation>Zeigen</translation>
</message>
<message>
<location filename="../../core/App.cpp" line="1485"/>
<location filename="../../core/App.cpp" line="1494"/>
<source>quit_action</source>
<extracomment>&quot;Quitter&quot;</extracomment>
<translation>Beenden</translation>
</message>
<message>
<location filename="../../core/App.cpp" line="1503"/>
<location filename="../../core/App.cpp" line="1512"/>
<source>check_for_update</source>
<extracomment>Check for update</extracomment>
<translation>Auf Updates prüfen</translation>
</message>
<message>
<location filename="../../core/App.cpp" line="1626"/>
<location filename="../../core/App.cpp" line="1635"/>
<source>mark_all_read_action</source>
<translation>Alle als gelesen markieren</translation>
</message>
@ -2125,65 +2125,65 @@
<context>
<name>ChatListView</name>
<message>
<location filename="../../view/Control/Display/Chat/ChatListView.qml" line="265"/>
<location filename="../../view/Control/Display/Chat/ChatListView.qml" line="266"/>
<source>chat_message_is_writing_info</source>
<extracomment>%1 is writing</extracomment>
<translation>%1 schreibt</translation>
</message>
<message>
<location filename="../../view/Control/Display/Chat/ChatListView.qml" line="267"/>
<location filename="../../view/Control/Display/Chat/ChatListView.qml" line="268"/>
<source>chat_message_draft_sending_text</source>
<translation>Entwurf: %1</translation>
</message>
<message>
<location filename="../../view/Control/Display/Chat/ChatListView.qml" line="412"/>
<location filename="../../view/Control/Display/Chat/ChatListView.qml" line="413"/>
<source>chat_room_delete</source>
<extracomment>&quot;Delete&quot;</extracomment>
<translation>Löschen</translation>
</message>
<message>
<location filename="../../view/Control/Display/Chat/ChatListView.qml" line="351"/>
<location filename="../../view/Control/Display/Chat/ChatListView.qml" line="352"/>
<source>chat_room_mute</source>
<translation>Stummschalten</translation>
</message>
<message>
<location filename="../../view/Control/Display/Chat/ChatListView.qml" line="350"/>
<location filename="../../view/Control/Display/Chat/ChatListView.qml" line="351"/>
<source>chat_room_unmute</source>
<extracomment>&quot;Mute&quot;</extracomment>
<translation>Stummschaltung aufheben</translation>
</message>
<message>
<location filename="../../view/Control/Display/Chat/ChatListView.qml" line="364"/>
<location filename="../../view/Control/Display/Chat/ChatListView.qml" line="365"/>
<source>chat_room_mark_as_read</source>
<extracomment>&quot;Mark as read&quot;</extracomment>
<translation>Als gelesen markieren</translation>
</message>
<message>
<location filename="../../view/Control/Display/Chat/ChatListView.qml" line="383"/>
<location filename="../../view/Control/Display/Chat/ChatListView.qml" line="384"/>
<source>chat_room_leave</source>
<extracomment>&quot;leave&quot;</extracomment>
<translation>Verlassen</translation>
</message>
<message>
<location filename="../../view/Control/Display/Chat/ChatListView.qml" line="389"/>
<location filename="../../view/Control/Display/Chat/ChatListView.qml" line="390"/>
<source>chat_list_leave_chat_popup_title</source>
<extracomment>leave the conversation ?</extracomment>
<translation>Chat verlassen?</translation>
</message>
<message>
<location filename="../../view/Control/Display/Chat/ChatListView.qml" line="391"/>
<location filename="../../view/Control/Display/Chat/ChatListView.qml" line="392"/>
<source>chat_list_leave_chat_popup_message</source>
<extracomment>You will not be able to send or receive messages in this conversation anymore. Do You want to continue ?</extracomment>
<translation>Sie können in diesem Chat keine Nachrichten mehr senden oder empfangen. Möchten Sie fortfahren?</translation>
</message>
<message>
<location filename="../../view/Control/Display/Chat/ChatListView.qml" line="418"/>
<location filename="../../view/Control/Display/Chat/ChatListView.qml" line="419"/>
<source>chat_list_delete_chat_popup_title</source>
<extracomment>Delete the conversation ?</extracomment>
<translation>Chat löschen?</translation>
</message>
<message>
<location filename="../../view/Control/Display/Chat/ChatListView.qml" line="420"/>
<location filename="../../view/Control/Display/Chat/ChatListView.qml" line="421"/>
<source>chat_list_delete_chat_popup_message</source>
<extracomment>This conversation and all its messages will be deleted. Do You want to continue ?</extracomment>
<translation>Dieser Chat und alle seine Nachrichten werden gelöscht. Möchten Sie fortfahren?</translation>
@ -2716,13 +2716,13 @@ Stellen Sie sicher, dass Sie keine sensiblen Informationen teilen!</translation>
<context>
<name>ConferenceInfoCore</name>
<message>
<location filename="../../core/conference/ConferenceInfoCore.cpp" line="578"/>
<location filename="../../core/conference/ConferenceInfoCore.cpp" line="577"/>
<source>information_popup_error_title</source>
<extracomment>&quot;Erreur&quot;</extracomment>
<translation>Fehler</translation>
</message>
<message>
<location filename="../../core/conference/ConferenceInfoCore.cpp" line="580"/>
<location filename="../../core/conference/ConferenceInfoCore.cpp" line="579"/>
<source>information_popup_disconnected_account_message</source>
<extracomment>&quot;Votre compte est déconnecté&quot;</extracomment>
<translation>Ihr Konto ist getrennt</translation>
@ -3402,18 +3402,18 @@ Stellen Sie sicher, dass Sie keine sensiblen Informationen teilen!</translation>
<context>
<name>ContactsSettingsProviderLayout</name>
<message>
<location filename="../../view/Page/Layout/Settings/ContactsSettingsProviderLayout.qml" line="101"/>
<location filename="../../view/Page/Layout/Settings/ContactsSettingsProviderLayout.qml" line="100"/>
<source>information_popup_success_title</source>
<translation>Erfolg</translation>
</message>
<message>
<location filename="../../view/Page/Layout/Settings/ContactsSettingsProviderLayout.qml" line="103"/>
<location filename="../../view/Page/Layout/Settings/ContactsSettingsProviderLayout.qml" line="102"/>
<source>information_popup_changes_saved</source>
<extracomment>&quot;Les changements ont é sauvegardés&quot;</extracomment>
<translation>Änderungen wurden gespeichert</translation>
</message>
<message>
<location filename="../../view/Page/Layout/Settings/ContactsSettingsProviderLayout.qml" line="125"/>
<location filename="../../view/Page/Layout/Settings/ContactsSettingsProviderLayout.qml" line="124"/>
<source>add</source>
<extracomment>&quot;Ajouter&quot;</extracomment>
<translation>Hinzufügen</translation>

View file

@ -655,141 +655,141 @@
<context>
<name>App</name>
<message>
<location filename="../../core/App.cpp" line="355"/>
<location filename="../../core/App.cpp" line="365"/>
<source>remote_provisioning_dialog</source>
<extracomment>Voulez-vous télécharger et appliquer la configuration depuis cette adresse ?</extracomment>
<translation>Do you want to download and apply remote provisioning from this address ?</translation>
</message>
<message>
<location filename="../../core/App.cpp" line="392"/>
<location filename="../../core/App.cpp" line="444"/>
<location filename="../../core/App.cpp" line="707"/>
<location filename="../../core/App.cpp" line="402"/>
<location filename="../../core/App.cpp" line="454"/>
<location filename="../../core/App.cpp" line="717"/>
<source>info_popup_error_title</source>
<extracomment>Error</extracomment>
<translation>Error</translation>
</message>
<message>
<location filename="../../core/App.cpp" line="393"/>
<location filename="../../core/App.cpp" line="709"/>
<location filename="../../core/App.cpp" line="403"/>
<location filename="../../core/App.cpp" line="719"/>
<source>info_popup_configuration_failed_message</source>
<extracomment>Remote provisioning failed : %1</extracomment>
<translation>Remote provisioning failed : %1</translation>
</message>
<message>
<location filename="../../core/App.cpp" line="447"/>
<location filename="../../core/App.cpp" line="457"/>
<source>info_popup_error_checking_update</source>
<extracomment>An error occured while trying to check update. Please try again later or contact support team.</extracomment>
<translation>An error occured while trying to check update. Please try again later or contact support team.</translation>
</message>
<message>
<location filename="../../core/App.cpp" line="454"/>
<location filename="../../core/App.cpp" line="464"/>
<source>info_popup_new_version_download_label</source>
<translation>Download it !</translation>
</message>
<message>
<location filename="../../core/App.cpp" line="457"/>
<location filename="../../core/App.cpp" line="467"/>
<source>info_popup_new_version_available_title</source>
<extracomment>New version available !</extracomment>
<translation>New version available !</translation>
</message>
<message>
<location filename="../../core/App.cpp" line="459"/>
<location filename="../../core/App.cpp" line="469"/>
<source>info_popup_new_version_available_message</source>
<extracomment>A new version of Linphone (%1) is available. %2</extracomment>
<translation>A new version of Linphone (%1) is available at %1</translation>
</message>
<message>
<location filename="../../core/App.cpp" line="465"/>
<location filename="../../core/App.cpp" line="475"/>
<source>info_popup_version_up_to_date_title</source>
<translation>Up to date</translation>
</message>
<message>
<location filename="../../core/App.cpp" line="467"/>
<location filename="../../core/App.cpp" line="477"/>
<source>info_popup_version_up_to_date_message</source>
<extracomment>Your version is up to date</extracomment>
<translation>Up to date Your version is up to date</translation>
</message>
<message>
<location filename="../../core/App.cpp" line="703"/>
<location filename="../../core/App.cpp" line="713"/>
<source>configuration_error_detail</source>
<extracomment>not reachable</extracomment>
<translation>not reachable</translation>
</message>
<message>
<location filename="../../core/App.cpp" line="994"/>
<location filename="../../core/App.cpp" line="1003"/>
<source>application_description</source>
<extracomment>&quot;A free and open source SIP video-phone.&quot;</extracomment>
<translation>A free and open source SIP video-phone.</translation>
</message>
<message>
<location filename="../../core/App.cpp" line="996"/>
<location filename="../../core/App.cpp" line="1005"/>
<source>command_line_arg_order</source>
<extracomment>&quot;Send an order to the application towards a command line&quot;</extracomment>
<translation>Send an order to the application towards a command line</translation>
</message>
<message>
<location filename="../../core/App.cpp" line="1000"/>
<location filename="../../core/App.cpp" line="1009"/>
<source>command_line_option_show_help</source>
<translation>Show this help</translation>
</message>
<message>
<location filename="../../core/App.cpp" line="1005"/>
<location filename="../../core/App.cpp" line="1014"/>
<source>command_line_option_show_app_version</source>
<translation>Show app version</translation>
</message>
<message>
<location filename="../../core/App.cpp" line="1013"/>
<location filename="../../core/App.cpp" line="1022"/>
<source>command_line_option_config_to_fetch</source>
<extracomment>&quot;Specify the linphone configuration file to be fetched. It will be merged with the current configuration.&quot;</extracomment>
<translation>Specify the linphone configuration file to be fetched. It will be merged with the current configuration.</translation>
</message>
<message>
<location filename="../../core/App.cpp" line="1015"/>
<location filename="../../core/App.cpp" line="1024"/>
<source>command_line_option_config_to_fetch_arg</source>
<extracomment>&quot;URL, path or file&quot;</extracomment>
<translation>URL, path or file</translation>
</message>
<message>
<location filename="../../core/App.cpp" line="1020"/>
<location filename="../../core/App.cpp" line="1029"/>
<source>command_line_option_minimized</source>
<translation>Minimize</translation>
</message>
<message>
<location filename="../../core/App.cpp" line="1023"/>
<location filename="../../core/App.cpp" line="1032"/>
<source>command_line_option_log_to_stdout</source>
<translation>Log to stdout some debug information while running</translation>
</message>
<message>
<location filename="../../core/App.cpp" line="1026"/>
<location filename="../../core/App.cpp" line="1035"/>
<source>command_line_option_print_app_logs_only</source>
<extracomment>&quot;Print only logs from the application&quot;</extracomment>
<translation>Print only logs from the application</translation>
</message>
<message>
<location filename="../../core/App.cpp" line="1470"/>
<location filename="../../core/App.cpp" line="1479"/>
<source>hide_action</source>
<extracomment>&quot;Cacher&quot; &quot;Afficher&quot;</extracomment>
<translation>Hide</translation>
</message>
<message>
<location filename="../../core/App.cpp" line="1470"/>
<location filename="../../core/App.cpp" line="1479"/>
<source>show_action</source>
<translation>Show</translation>
</message>
<message>
<location filename="../../core/App.cpp" line="1485"/>
<location filename="../../core/App.cpp" line="1494"/>
<source>quit_action</source>
<extracomment>&quot;Quitter&quot;</extracomment>
<translation>Quit</translation>
</message>
<message>
<location filename="../../core/App.cpp" line="1503"/>
<location filename="../../core/App.cpp" line="1512"/>
<source>check_for_update</source>
<extracomment>Check for update</extracomment>
<translation>Check for update</translation>
</message>
<message>
<location filename="../../core/App.cpp" line="1626"/>
<location filename="../../core/App.cpp" line="1635"/>
<source>mark_all_read_action</source>
<translation>Marquer tout comme lu</translation>
</message>
@ -2088,65 +2088,65 @@
<context>
<name>ChatListView</name>
<message>
<location filename="../../view/Control/Display/Chat/ChatListView.qml" line="265"/>
<location filename="../../view/Control/Display/Chat/ChatListView.qml" line="266"/>
<source>chat_message_is_writing_info</source>
<extracomment>%1 is writing</extracomment>
<translation>%1 is writing</translation>
</message>
<message>
<location filename="../../view/Control/Display/Chat/ChatListView.qml" line="267"/>
<location filename="../../view/Control/Display/Chat/ChatListView.qml" line="268"/>
<source>chat_message_draft_sending_text</source>
<translation>Draft : %1</translation>
</message>
<message>
<location filename="../../view/Control/Display/Chat/ChatListView.qml" line="412"/>
<location filename="../../view/Control/Display/Chat/ChatListView.qml" line="413"/>
<source>chat_room_delete</source>
<extracomment>&quot;Delete&quot;</extracomment>
<translation>Delete</translation>
</message>
<message>
<location filename="../../view/Control/Display/Chat/ChatListView.qml" line="351"/>
<location filename="../../view/Control/Display/Chat/ChatListView.qml" line="352"/>
<source>chat_room_mute</source>
<translation>Mute</translation>
</message>
<message>
<location filename="../../view/Control/Display/Chat/ChatListView.qml" line="350"/>
<location filename="../../view/Control/Display/Chat/ChatListView.qml" line="351"/>
<source>chat_room_unmute</source>
<extracomment>&quot;Mute&quot;</extracomment>
<translation>Unmute</translation>
</message>
<message>
<location filename="../../view/Control/Display/Chat/ChatListView.qml" line="364"/>
<location filename="../../view/Control/Display/Chat/ChatListView.qml" line="365"/>
<source>chat_room_mark_as_read</source>
<extracomment>&quot;Mark as read&quot;</extracomment>
<translation>Mark as read</translation>
</message>
<message>
<location filename="../../view/Control/Display/Chat/ChatListView.qml" line="383"/>
<location filename="../../view/Control/Display/Chat/ChatListView.qml" line="384"/>
<source>chat_room_leave</source>
<extracomment>&quot;leave&quot;</extracomment>
<translation>Leave</translation>
</message>
<message>
<location filename="../../view/Control/Display/Chat/ChatListView.qml" line="389"/>
<location filename="../../view/Control/Display/Chat/ChatListView.qml" line="390"/>
<source>chat_list_leave_chat_popup_title</source>
<extracomment>leave the conversation ?</extracomment>
<translation>Leave the conversation ?</translation>
</message>
<message>
<location filename="../../view/Control/Display/Chat/ChatListView.qml" line="391"/>
<location filename="../../view/Control/Display/Chat/ChatListView.qml" line="392"/>
<source>chat_list_leave_chat_popup_message</source>
<extracomment>You will not be able to send or receive messages in this conversation anymore. Do You want to continue ?</extracomment>
<translation>You will not be able to send or receive messages in this conversation anymore. Do You want to continue ?</translation>
</message>
<message>
<location filename="../../view/Control/Display/Chat/ChatListView.qml" line="418"/>
<location filename="../../view/Control/Display/Chat/ChatListView.qml" line="419"/>
<source>chat_list_delete_chat_popup_title</source>
<extracomment>Delete the conversation ?</extracomment>
<translation>Delete the conversation ?</translation>
</message>
<message>
<location filename="../../view/Control/Display/Chat/ChatListView.qml" line="420"/>
<location filename="../../view/Control/Display/Chat/ChatListView.qml" line="421"/>
<source>chat_list_delete_chat_popup_message</source>
<extracomment>This conversation and all its messages will be deleted. Do You want to continue ?</extracomment>
<translation>This conversation and all its messages will be deleted. Do You want to continue ?</translation>
@ -2669,13 +2669,13 @@ Only your correspondent can decrypt them.</translation>
<context>
<name>ConferenceInfoCore</name>
<message>
<location filename="../../core/conference/ConferenceInfoCore.cpp" line="578"/>
<location filename="../../core/conference/ConferenceInfoCore.cpp" line="577"/>
<source>information_popup_error_title</source>
<extracomment>&quot;Erreur&quot;</extracomment>
<translation>Error</translation>
</message>
<message>
<location filename="../../core/conference/ConferenceInfoCore.cpp" line="580"/>
<location filename="../../core/conference/ConferenceInfoCore.cpp" line="579"/>
<source>information_popup_disconnected_account_message</source>
<extracomment>&quot;Votre compte est déconnecté&quot;</extracomment>
<translation>Your account is disconnected</translation>
@ -3310,18 +3310,18 @@ Only your correspondent can decrypt them.</translation>
<context>
<name>ContactsSettingsProviderLayout</name>
<message>
<location filename="../../view/Page/Layout/Settings/ContactsSettingsProviderLayout.qml" line="101"/>
<location filename="../../view/Page/Layout/Settings/ContactsSettingsProviderLayout.qml" line="100"/>
<source>information_popup_success_title</source>
<translation>Success</translation>
</message>
<message>
<location filename="../../view/Page/Layout/Settings/ContactsSettingsProviderLayout.qml" line="103"/>
<location filename="../../view/Page/Layout/Settings/ContactsSettingsProviderLayout.qml" line="102"/>
<source>information_popup_changes_saved</source>
<extracomment>&quot;Les changements ont é sauvegardés&quot;</extracomment>
<translation>Changes have been saved</translation>
</message>
<message>
<location filename="../../view/Page/Layout/Settings/ContactsSettingsProviderLayout.qml" line="125"/>
<location filename="../../view/Page/Layout/Settings/ContactsSettingsProviderLayout.qml" line="124"/>
<source>add</source>
<extracomment>&quot;Ajouter&quot;</extracomment>
<translation>Add</translation>

View file

@ -650,141 +650,141 @@
<context>
<name>App</name>
<message>
<location filename="../../core/App.cpp" line="355"/>
<location filename="../../core/App.cpp" line="365"/>
<source>remote_provisioning_dialog</source>
<extracomment>Voulez-vous télécharger et appliquer la configuration depuis cette adresse ?</extracomment>
<translation>Voulez-vous télécharger et appliquer la configuration depuis cette adresse ?</translation>
</message>
<message>
<location filename="../../core/App.cpp" line="392"/>
<location filename="../../core/App.cpp" line="444"/>
<location filename="../../core/App.cpp" line="707"/>
<location filename="../../core/App.cpp" line="402"/>
<location filename="../../core/App.cpp" line="454"/>
<location filename="../../core/App.cpp" line="717"/>
<source>info_popup_error_title</source>
<extracomment>Error</extracomment>
<translation>Erreur</translation>
</message>
<message>
<location filename="../../core/App.cpp" line="393"/>
<location filename="../../core/App.cpp" line="709"/>
<location filename="../../core/App.cpp" line="403"/>
<location filename="../../core/App.cpp" line="719"/>
<source>info_popup_configuration_failed_message</source>
<extracomment>Remote provisioning failed : %1</extracomment>
<translation>La configuration distante a échoué : %1</translation>
</message>
<message>
<location filename="../../core/App.cpp" line="447"/>
<location filename="../../core/App.cpp" line="457"/>
<source>info_popup_error_checking_update</source>
<extracomment>An error occured while trying to check update. Please try again later or contact support team.</extracomment>
<translation>Une erreur est survenue lors de la recherche de mise à jour. Merci de réessayer plus tard ou de contacter l&apos;équipe de support.</translation>
</message>
<message>
<location filename="../../core/App.cpp" line="454"/>
<location filename="../../core/App.cpp" line="464"/>
<source>info_popup_new_version_download_label</source>
<translation>Téléchargez-&#x202f;!</translation>
</message>
<message>
<location filename="../../core/App.cpp" line="457"/>
<location filename="../../core/App.cpp" line="467"/>
<source>info_popup_new_version_available_title</source>
<extracomment>New version available !</extracomment>
<translation>Nouvelle version disponible !</translation>
</message>
<message>
<location filename="../../core/App.cpp" line="459"/>
<location filename="../../core/App.cpp" line="469"/>
<source>info_popup_new_version_available_message</source>
<extracomment>A new version of Linphone (%1) is available. %2</extracomment>
<translation>Une nouvelle version de Linphone (%1) est disponible. %2</translation>
</message>
<message>
<location filename="../../core/App.cpp" line="465"/>
<location filename="../../core/App.cpp" line="475"/>
<source>info_popup_version_up_to_date_title</source>
<translation>À jour</translation>
</message>
<message>
<location filename="../../core/App.cpp" line="467"/>
<location filename="../../core/App.cpp" line="477"/>
<source>info_popup_version_up_to_date_message</source>
<extracomment>Your version is up to date</extracomment>
<translation>Votre version est à jour</translation>
</message>
<message>
<location filename="../../core/App.cpp" line="703"/>
<location filename="../../core/App.cpp" line="713"/>
<source>configuration_error_detail</source>
<extracomment>not reachable</extracomment>
<translation>indisponible</translation>
</message>
<message>
<location filename="../../core/App.cpp" line="994"/>
<location filename="../../core/App.cpp" line="1003"/>
<source>application_description</source>
<extracomment>&quot;A free and open source SIP video-phone.&quot;</extracomment>
<translation>A free and open source SIP video-phone.</translation>
</message>
<message>
<location filename="../../core/App.cpp" line="996"/>
<location filename="../../core/App.cpp" line="1005"/>
<source>command_line_arg_order</source>
<extracomment>&quot;Send an order to the application towards a command line&quot;</extracomment>
<translation>Send an order to the application towards a command line</translation>
</message>
<message>
<location filename="../../core/App.cpp" line="1000"/>
<location filename="../../core/App.cpp" line="1009"/>
<source>command_line_option_show_help</source>
<translation>Show this help</translation>
</message>
<message>
<location filename="../../core/App.cpp" line="1005"/>
<location filename="../../core/App.cpp" line="1014"/>
<source>command_line_option_show_app_version</source>
<translation>Afficher la version de l&apos;application</translation>
</message>
<message>
<location filename="../../core/App.cpp" line="1013"/>
<location filename="../../core/App.cpp" line="1022"/>
<source>command_line_option_config_to_fetch</source>
<extracomment>&quot;Specify the linphone configuration file to be fetched. It will be merged with the current configuration.&quot;</extracomment>
<translation>Specify the linphone configuration file to be fetched. It will be merged with the current configuration.</translation>
</message>
<message>
<location filename="../../core/App.cpp" line="1015"/>
<location filename="../../core/App.cpp" line="1024"/>
<source>command_line_option_config_to_fetch_arg</source>
<extracomment>&quot;URL, path or file&quot;</extracomment>
<translation>URL, path or file</translation>
</message>
<message>
<location filename="../../core/App.cpp" line="1020"/>
<location filename="../../core/App.cpp" line="1029"/>
<source>command_line_option_minimized</source>
<translation>Minimiser</translation>
</message>
<message>
<location filename="../../core/App.cpp" line="1023"/>
<location filename="../../core/App.cpp" line="1032"/>
<source>command_line_option_log_to_stdout</source>
<translation>Log to stdout some debug information while running</translation>
</message>
<message>
<location filename="../../core/App.cpp" line="1026"/>
<location filename="../../core/App.cpp" line="1035"/>
<source>command_line_option_print_app_logs_only</source>
<extracomment>&quot;Print only logs from the application&quot;</extracomment>
<translation>Print only logs from the application</translation>
</message>
<message>
<location filename="../../core/App.cpp" line="1470"/>
<location filename="../../core/App.cpp" line="1479"/>
<source>hide_action</source>
<extracomment>&quot;Cacher&quot; &quot;Afficher&quot;</extracomment>
<translation>Cacher</translation>
</message>
<message>
<location filename="../../core/App.cpp" line="1470"/>
<location filename="../../core/App.cpp" line="1479"/>
<source>show_action</source>
<translation>Afficher</translation>
</message>
<message>
<location filename="../../core/App.cpp" line="1485"/>
<location filename="../../core/App.cpp" line="1494"/>
<source>quit_action</source>
<extracomment>&quot;Quitter&quot;</extracomment>
<translation>Quitter</translation>
</message>
<message>
<location filename="../../core/App.cpp" line="1503"/>
<location filename="../../core/App.cpp" line="1512"/>
<source>check_for_update</source>
<extracomment>Check for update</extracomment>
<translation>Rechercher une mise à jour</translation>
</message>
<message>
<location filename="../../core/App.cpp" line="1626"/>
<location filename="../../core/App.cpp" line="1635"/>
<source>mark_all_read_action</source>
<translation>Marquer tout comme lu</translation>
</message>
@ -2083,65 +2083,65 @@
<context>
<name>ChatListView</name>
<message>
<location filename="../../view/Control/Display/Chat/ChatListView.qml" line="265"/>
<location filename="../../view/Control/Display/Chat/ChatListView.qml" line="266"/>
<source>chat_message_is_writing_info</source>
<extracomment>%1 is writing</extracomment>
<translation>%1 est en train d&apos;écrire</translation>
</message>
<message>
<location filename="../../view/Control/Display/Chat/ChatListView.qml" line="267"/>
<location filename="../../view/Control/Display/Chat/ChatListView.qml" line="268"/>
<source>chat_message_draft_sending_text</source>
<translation>Brouillon : %1</translation>
</message>
<message>
<location filename="../../view/Control/Display/Chat/ChatListView.qml" line="412"/>
<location filename="../../view/Control/Display/Chat/ChatListView.qml" line="413"/>
<source>chat_room_delete</source>
<extracomment>&quot;Delete&quot;</extracomment>
<translation>Supprimer</translation>
</message>
<message>
<location filename="../../view/Control/Display/Chat/ChatListView.qml" line="351"/>
<location filename="../../view/Control/Display/Chat/ChatListView.qml" line="352"/>
<source>chat_room_mute</source>
<translation>Mettre en sourdine</translation>
</message>
<message>
<location filename="../../view/Control/Display/Chat/ChatListView.qml" line="350"/>
<location filename="../../view/Control/Display/Chat/ChatListView.qml" line="351"/>
<source>chat_room_unmute</source>
<extracomment>&quot;Mute&quot;</extracomment>
<translation>Enlever la sourdine </translation>
</message>
<message>
<location filename="../../view/Control/Display/Chat/ChatListView.qml" line="364"/>
<location filename="../../view/Control/Display/Chat/ChatListView.qml" line="365"/>
<source>chat_room_mark_as_read</source>
<extracomment>&quot;Mark as read&quot;</extracomment>
<translation>Marquer comme lu</translation>
</message>
<message>
<location filename="../../view/Control/Display/Chat/ChatListView.qml" line="383"/>
<location filename="../../view/Control/Display/Chat/ChatListView.qml" line="384"/>
<source>chat_room_leave</source>
<extracomment>&quot;leave&quot;</extracomment>
<translation>Quitter la conversation</translation>
</message>
<message>
<location filename="../../view/Control/Display/Chat/ChatListView.qml" line="389"/>
<location filename="../../view/Control/Display/Chat/ChatListView.qml" line="390"/>
<source>chat_list_leave_chat_popup_title</source>
<extracomment>leave the conversation ?</extracomment>
<translation>Quitter la conversation ?</translation>
</message>
<message>
<location filename="../../view/Control/Display/Chat/ChatListView.qml" line="391"/>
<location filename="../../view/Control/Display/Chat/ChatListView.qml" line="392"/>
<source>chat_list_leave_chat_popup_message</source>
<extracomment>You will not be able to send or receive messages in this conversation anymore. Do You want to continue ?</extracomment>
<translation>Vous ne pourrez plus envoyer ou recevoir de messages dans cette conversation. Souhaitez-vous continuer ?</translation>
</message>
<message>
<location filename="../../view/Control/Display/Chat/ChatListView.qml" line="418"/>
<location filename="../../view/Control/Display/Chat/ChatListView.qml" line="419"/>
<source>chat_list_delete_chat_popup_title</source>
<extracomment>Delete the conversation ?</extracomment>
<translation>Supprimer la conversation ?</translation>
</message>
<message>
<location filename="../../view/Control/Display/Chat/ChatListView.qml" line="420"/>
<location filename="../../view/Control/Display/Chat/ChatListView.qml" line="421"/>
<source>chat_list_delete_chat_popup_message</source>
<extracomment>This conversation and all its messages will be deleted. Do You want to continue ?</extracomment>
<translation>La conversation et tous ses messages seront supprimés. Souhaitez-vous continuer ?</translation>
@ -2664,13 +2664,13 @@ en bout. Seul votre correspondant peut les déchiffrer.</translation>
<context>
<name>ConferenceInfoCore</name>
<message>
<location filename="../../core/conference/ConferenceInfoCore.cpp" line="578"/>
<location filename="../../core/conference/ConferenceInfoCore.cpp" line="577"/>
<source>information_popup_error_title</source>
<extracomment>&quot;Erreur&quot;</extracomment>
<translation>Erreur</translation>
</message>
<message>
<location filename="../../core/conference/ConferenceInfoCore.cpp" line="580"/>
<location filename="../../core/conference/ConferenceInfoCore.cpp" line="579"/>
<source>information_popup_disconnected_account_message</source>
<extracomment>&quot;Votre compte est déconnecté&quot;</extracomment>
<translation>Votre compte est déconnecté</translation>
@ -3305,18 +3305,18 @@ en bout. Seul votre correspondant peut les déchiffrer.</translation>
<context>
<name>ContactsSettingsProviderLayout</name>
<message>
<location filename="../../view/Page/Layout/Settings/ContactsSettingsProviderLayout.qml" line="101"/>
<location filename="../../view/Page/Layout/Settings/ContactsSettingsProviderLayout.qml" line="100"/>
<source>information_popup_success_title</source>
<translation>Succès</translation>
</message>
<message>
<location filename="../../view/Page/Layout/Settings/ContactsSettingsProviderLayout.qml" line="103"/>
<location filename="../../view/Page/Layout/Settings/ContactsSettingsProviderLayout.qml" line="102"/>
<source>information_popup_changes_saved</source>
<extracomment>&quot;Les changements ont é sauvegardés&quot;</extracomment>
<translation>Les changements ont é sauvegardés</translation>
</message>
<message>
<location filename="../../view/Page/Layout/Settings/ContactsSettingsProviderLayout.qml" line="125"/>
<location filename="../../view/Page/Layout/Settings/ContactsSettingsProviderLayout.qml" line="124"/>
<source>add</source>
<extracomment>&quot;Ajouter&quot;</extracomment>
<translation>Ajouter</translation>

View file

@ -40,6 +40,7 @@ ListView {
model: ChatProxy {
id: chatProxy
filterText: mainItem.searchText
model: AppCpp.chats
onFilterTextChanged: {
chatToSelectLater = currentChatGui
}

View file

@ -214,7 +214,6 @@ AbstractMainPage {
Layout.fillHeight: true
Layout.topMargin: Utils.getSizeWithScreenRatio(39)
searchBar: searchBar
chatProxy.sourceModel: AppCpp.chats
Control.ScrollBar.vertical: scrollbar
onCurrentChatGuiChanged: {