mirror of
https://gitlab.linphone.org/BC/public/linphone-desktop.git
synced 2026-01-17 03:18:07 +00:00
fix search in history + move search button in the top bar of the chat message view
This commit is contained in:
parent
3f3f29b2ec
commit
55ce938d0b
21 changed files with 459 additions and 268 deletions
|
|
@ -23,6 +23,7 @@
|
|||
#include "core/chat/message/content/ChatMessageContentGui.hpp"
|
||||
#include "core/friend/FriendCore.hpp"
|
||||
#include "core/setting/SettingsCore.hpp"
|
||||
#include "model/chat/message/EventLogModel.hpp"
|
||||
#include "model/core/CoreModel.hpp"
|
||||
#include "model/friend/FriendModel.hpp"
|
||||
#include "model/tool/ToolModel.hpp"
|
||||
|
|
@ -604,6 +605,10 @@ std::shared_ptr<ChatModel> ChatCore::getModel() const {
|
|||
return mChatModel;
|
||||
}
|
||||
|
||||
QSharedPointer<SafeConnection<ChatCore, ChatModel>> ChatCore::getChatModelConnection() const {
|
||||
return mChatModelConnection;
|
||||
}
|
||||
|
||||
bool ChatCore::isMuted() const {
|
||||
return mIsMuted;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -135,6 +135,7 @@ public:
|
|||
void setComposingAddress(QString composingAddress);
|
||||
|
||||
std::shared_ptr<ChatModel> getModel() const;
|
||||
QSharedPointer<SafeConnection<ChatCore, ChatModel>> getChatModelConnection() const;
|
||||
|
||||
QList<QSharedPointer<ParticipantCore>> buildParticipants(const std::shared_ptr<linphone::ChatRoom> &chatRoom) const;
|
||||
QList<QSharedPointer<ParticipantCore>> getParticipants() const;
|
||||
|
|
|
|||
|
|
@ -21,6 +21,7 @@
|
|||
#include "EventLogCore.hpp"
|
||||
#include "core/App.hpp"
|
||||
#include "core/chat/ChatCore.hpp"
|
||||
#include "model/chat/message/EventLogModel.hpp"
|
||||
#include "model/tool/ToolModel.hpp"
|
||||
|
||||
DEFINE_ABSTRACT_OBJECT(EventLogCore)
|
||||
|
|
@ -36,6 +37,7 @@ EventLogCore::EventLogCore(const std::shared_ptr<const linphone::EventLog> &even
|
|||
mustBeInLinphoneThread(getClassName());
|
||||
App::getInstance()->mEngine->setObjectOwnership(this, QQmlEngine::CppOwnership);
|
||||
mEventLogType = LinphoneEnums::fromLinphone(eventLog->getType());
|
||||
mEventLogModel = Utils::makeQObject_ptr<EventLogModel>(eventLog);
|
||||
mTimestamp = QDateTime::fromMSecsSinceEpoch(eventLog->getCreationTime() * 1000);
|
||||
auto chatmessage = eventLog->getChatMessage();
|
||||
if (chatmessage) {
|
||||
|
|
@ -86,6 +88,10 @@ QDateTime EventLogCore::getTimestamp() const {
|
|||
return mTimestamp;
|
||||
}
|
||||
|
||||
std::shared_ptr<EventLogModel> EventLogCore::getModel() const {
|
||||
return mEventLogModel;
|
||||
}
|
||||
|
||||
// Events (other than ChatMessage and CallLog which are handled in their respective Core)
|
||||
|
||||
void EventLogCore::computeEvent(const std::shared_ptr<const linphone::EventLog> &eventLog) {
|
||||
|
|
|
|||
|
|
@ -36,6 +36,7 @@
|
|||
|
||||
class ChatMessageCore;
|
||||
class ChatMessageGui;
|
||||
class EventLogModel;
|
||||
|
||||
class EventLogCore : public QObject, public AbstractObject {
|
||||
Q_OBJECT
|
||||
|
|
@ -68,6 +69,8 @@ public:
|
|||
return mEphemeralRelated;
|
||||
}
|
||||
|
||||
std::shared_ptr<EventLogModel> getModel() const;
|
||||
|
||||
private:
|
||||
DECLARE_ABSTRACT_OBJECT
|
||||
QString mEventId;
|
||||
|
|
@ -83,6 +86,7 @@ private:
|
|||
|
||||
ChatMessageCore *getChatMessageCorePointer();
|
||||
CallHistoryCore *getCallHistoryCorePointer();
|
||||
std::shared_ptr<EventLogModel> mEventLogModel;
|
||||
void computeEvent(const std::shared_ptr<const linphone::EventLog> &eventLog);
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -26,6 +26,7 @@
|
|||
#include "core/call-history/CallHistoryGui.hpp"
|
||||
#include "core/chat/ChatCore.hpp"
|
||||
#include "core/chat/ChatGui.hpp"
|
||||
#include "model/chat/message/EventLogModel.hpp"
|
||||
#include <QSharedPointer>
|
||||
#include <linphone++/linphone.hh>
|
||||
|
||||
|
|
@ -75,8 +76,11 @@ void EventLogList::connectItem(const QSharedPointer<EventLogCore> item) {
|
|||
|
||||
void EventLogList::setChatCore(QSharedPointer<ChatCore> core) {
|
||||
if (mChatCore != core) {
|
||||
if (mChatCore) disconnect(mChatCore.get(), &ChatCore::eventListChanged, this, nullptr);
|
||||
if (mChatCore) disconnect(mChatCore.get(), &ChatCore::eventsInserted, this, nullptr);
|
||||
if (mChatCore) {
|
||||
disconnect(mChatCore.get(), &ChatCore::eventListChanged, this, nullptr);
|
||||
disconnect(mChatCore.get(), &ChatCore::eventsInserted, this, nullptr);
|
||||
mModelConnection->disconnect();
|
||||
}
|
||||
mChatCore = core;
|
||||
if (mChatCore) {
|
||||
connect(mChatCore.get(), &ChatCore::eventListChanged, this, &EventLogList::lUpdate);
|
||||
|
|
@ -93,6 +97,7 @@ void EventLogList::setChatCore(QSharedPointer<ChatCore> core) {
|
|||
}
|
||||
}
|
||||
});
|
||||
mModelConnection = SafeConnection<ChatCore, ChatModel>::create(mChatCore, mChatCore->getModel());
|
||||
}
|
||||
emit eventChanged();
|
||||
lUpdate();
|
||||
|
|
@ -112,6 +117,39 @@ int EventLogList::findFirstUnreadIndex() {
|
|||
return it == eventList.end() ? -1 : std::distance(eventList.begin(), it);
|
||||
}
|
||||
|
||||
void EventLogList::findChatMessageWithFilter(QString filter,
|
||||
QSharedPointer<EventLogCore> startEvent,
|
||||
bool forward,
|
||||
bool isFirstResearch) {
|
||||
if (mChatCore) {
|
||||
auto modelConnection = mChatCore->getChatModelConnection();
|
||||
auto chatModel = mChatCore->getModel();
|
||||
auto startEventModel = startEvent ? startEvent->getModel() : nullptr;
|
||||
modelConnection->invokeToModel(
|
||||
[this, chatModel, startEventModel, filter, forward, modelConnection, isFirstResearch] {
|
||||
auto linStartEvent = startEventModel ? startEventModel->getEventLog() : nullptr;
|
||||
auto eventLog = chatModel->searchMessageByText(filter, linStartEvent, forward);
|
||||
// If it is the first research and event was not found from the start event, search in the
|
||||
// entire history
|
||||
if (!eventLog && isFirstResearch) {
|
||||
auto firstEvent = getAt<EventLogCore>(0);
|
||||
auto linFirst = firstEvent ? firstEvent->getModel()->getEventLog() : nullptr;
|
||||
eventLog = chatModel->searchMessageByText(filter, nullptr, forward);
|
||||
}
|
||||
int index = -1;
|
||||
if (eventLog) {
|
||||
auto eventList = getSharedList<EventLogCore>();
|
||||
auto it = std::find_if(eventList.begin(), eventList.end(),
|
||||
[eventLog](const QSharedPointer<EventLogCore> item) {
|
||||
return item->getModel()->getEventLog() == eventLog;
|
||||
});
|
||||
index = it == eventList.end() ? -1 : std::distance(eventList.begin(), it);
|
||||
}
|
||||
modelConnection->invokeToCore([this, index] { emit messageWithFilterFound(index); });
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
void EventLogList::setSelf(QSharedPointer<EventLogList> me) {
|
||||
connect(this, &EventLogList::lUpdate, this, [this]() {
|
||||
for (auto &event : getSharedList<EventLogCore>()) {
|
||||
|
|
|
|||
|
|
@ -30,6 +30,7 @@ class EventLogGui;
|
|||
class EventLogCore;
|
||||
class ChatCore;
|
||||
class ChatGui;
|
||||
class ChatModel;
|
||||
// =============================================================================
|
||||
|
||||
class EventLogList : public ListProxy, public AbstractObject {
|
||||
|
|
@ -48,6 +49,11 @@ public:
|
|||
|
||||
int findFirstUnreadIndex();
|
||||
|
||||
void findChatMessageWithFilter(QString filter,
|
||||
QSharedPointer<EventLogCore> startEvent,
|
||||
bool forward = true,
|
||||
bool isFirstResearch = true);
|
||||
|
||||
void setSelf(QSharedPointer<EventLogList> me);
|
||||
virtual QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const override;
|
||||
QHash<int, QByteArray> roleNames() const override;
|
||||
|
|
@ -57,10 +63,12 @@ signals:
|
|||
void filterChanged(QString filter);
|
||||
void eventChanged();
|
||||
void eventInserted(int index, EventLogGui *message);
|
||||
void messageWithFilterFound(int index);
|
||||
|
||||
private:
|
||||
QString mFilter;
|
||||
QSharedPointer<ChatCore> mChatCore;
|
||||
QSharedPointer<SafeConnection<ChatCore, ChatModel>> mModelConnection;
|
||||
DECLARE_ABSTRACT_OBJECT
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -51,8 +51,20 @@ void EventLogProxy::setSourceModel(QAbstractItemModel *model) {
|
|||
.row();
|
||||
if (mMaxDisplayItems <= index) setMaxDisplayItems(index + mDisplayItemsStep);
|
||||
}
|
||||
loadUntil(index);
|
||||
emit eventInserted(index, event);
|
||||
});
|
||||
connect(newEventLogList, &EventLogList::messageWithFilterFound, this, [this, newEventLogList](int index) {
|
||||
if (index != -1) {
|
||||
auto model = getListModel<EventLogList>();
|
||||
mLastSearchStart = model->getAt<EventLogCore>(index);
|
||||
index = dynamic_cast<SortFilterList *>(sourceModel())
|
||||
->mapFromSource(newEventLogList->index(index, 0))
|
||||
.row();
|
||||
loadUntil(index);
|
||||
}
|
||||
emit indexWithFilterFound(index);
|
||||
});
|
||||
}
|
||||
setSourceModels(new SortFilterList(model, Qt::DescendingOrder));
|
||||
sort(0);
|
||||
|
|
@ -69,14 +81,17 @@ void EventLogProxy::setChatGui(ChatGui *chat) {
|
|||
}
|
||||
|
||||
EventLogGui *EventLogProxy::getEventAtIndex(int i) {
|
||||
auto model = getListModel<EventLogList>();
|
||||
auto sourceIndex = mapToSource(index(i, 0)).row();
|
||||
if (model) {
|
||||
auto event = model->getAt<EventLogCore>(sourceIndex);
|
||||
if (event) return new EventLogGui(event);
|
||||
else return nullptr;
|
||||
}
|
||||
return nullptr;
|
||||
auto eventCore = getEventCoreAtIndex(i);
|
||||
return eventCore == nullptr ? nullptr : new EventLogGui(eventCore);
|
||||
}
|
||||
|
||||
QSharedPointer<EventLogCore> EventLogProxy::getEventCoreAtIndex(int i) {
|
||||
return getItemAt<SortFilterList, EventLogList, EventLogCore>(i);
|
||||
}
|
||||
|
||||
void EventLogProxy::loadUntil(int index) {
|
||||
auto confInfoList = getListModel<EventLogList>();
|
||||
if (mMaxDisplayItems < index) setMaxDisplayItems(index + mDisplayItemsStep);
|
||||
}
|
||||
|
||||
int EventLogProxy::findFirstUnreadIndex() {
|
||||
|
|
@ -100,21 +115,17 @@ void EventLogProxy::markIndexAsRead(int proxyIndex) {
|
|||
if (event && event->getChatMessageCore()) event->getChatMessageCore()->lMarkAsRead();
|
||||
}
|
||||
|
||||
int EventLogProxy::findIndexCorrespondingToFilter(int startIndex, bool goingBackward) {
|
||||
void EventLogProxy::findIndexCorrespondingToFilter(int startIndex, bool forward, bool isFirstResearch) {
|
||||
auto filter = getFilterText();
|
||||
if (filter.isEmpty()) return startIndex;
|
||||
int endIndex = goingBackward ? 0 : getCount() - 1;
|
||||
startIndex = goingBackward ? startIndex - 1 : startIndex + 1;
|
||||
for (int i = startIndex; (goingBackward ? i >= 0 : i < getCount() - 1); (goingBackward ? --i : ++i)) {
|
||||
auto eventLog = getItemAt<SortFilterList, EventLogList, EventLogCore>(i);
|
||||
if (!eventLog) continue;
|
||||
if (auto message = eventLog->getChatMessageCore()) {
|
||||
auto text = message->getText();
|
||||
int regexIndex = text.indexOf(filter, 0, Qt::CaseInsensitive);
|
||||
if (regexIndex != -1) return i;
|
||||
if (filter.isEmpty()) return;
|
||||
auto eventLogList = getListModel<EventLogList>();
|
||||
if (eventLogList) {
|
||||
auto startEvent = mLastSearchStart;
|
||||
if (!startEvent) {
|
||||
startEvent = getItemAt<SortFilterList, EventLogList, EventLogCore>(startIndex);
|
||||
}
|
||||
eventLogList->findChatMessageWithFilter(filter, startEvent, forward, isFirstResearch);
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
|
||||
bool EventLogProxy::SortFilterList::filterAcceptsRow(int sourceRow, const QModelIndex &sourceParent) const {
|
||||
|
|
|
|||
|
|
@ -44,17 +44,21 @@ public:
|
|||
|
||||
void setSourceModel(QAbstractItemModel *sourceModel) override;
|
||||
|
||||
Q_INVOKABLE EventLogGui *getEventAtIndex(int index);
|
||||
Q_INVOKABLE void loadUntil(int index);
|
||||
Q_INVOKABLE EventLogGui *getEventAtIndex(int i);
|
||||
QSharedPointer<EventLogCore> getEventCoreAtIndex(int i);
|
||||
Q_INVOKABLE int findFirstUnreadIndex();
|
||||
Q_INVOKABLE void markIndexAsRead(int proxyIndex);
|
||||
Q_INVOKABLE int findIndexCorrespondingToFilter(int startIndex, bool goingBackward = false);
|
||||
Q_INVOKABLE void findIndexCorrespondingToFilter(int startIndex, bool forward = true, bool isFirstResearch = true);
|
||||
|
||||
signals:
|
||||
void eventChanged();
|
||||
void eventInserted(int index, EventLogGui *message);
|
||||
void indexWithFilterFound(int index);
|
||||
|
||||
protected:
|
||||
QSharedPointer<EventLogList> mList;
|
||||
QSharedPointer<EventLogCore> mLastSearchStart;
|
||||
ChatGui *mChatGui = nullptr;
|
||||
DECLARE_ABSTRACT_OBJECT
|
||||
};
|
||||
|
|
|
|||
1
Linphone/data/image/arrow-square-out.svg
Normal file
1
Linphone/data/image/arrow-square-out.svg
Normal file
|
|
@ -0,0 +1 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="#000000" viewBox="0 0 256 256"><path d="M224,104a8,8,0,0,1-16,0V59.32l-66.33,66.34a8,8,0,0,1-11.32-11.32L196.68,48H152a8,8,0,0,1,0-16h64a8,8,0,0,1,8,8Zm-40,24a8,8,0,0,0-8,8v72H48V80h72a8,8,0,0,0,0-16H48A16,16,0,0,0,32,80V208a16,16,0,0,0,16,16H176a16,16,0,0,0,16-16V136A8,8,0,0,0,184,128Z"></path></svg>
|
||||
|
After Width: | Height: | Size: 371 B |
|
|
@ -1748,13 +1748,13 @@
|
|||
<context>
|
||||
<name>ChatCore</name>
|
||||
<message>
|
||||
<location filename="../../core/chat/ChatCore.cpp" line="165"/>
|
||||
<location filename="../../core/chat/ChatCore.cpp" line="175"/>
|
||||
<source>info_toast_deleted_title</source>
|
||||
<extracomment>Deleted</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../core/chat/ChatCore.cpp" line="167"/>
|
||||
<location filename="../../core/chat/ChatCore.cpp" line="177"/>
|
||||
<source>info_toast_deleted_message_history</source>
|
||||
<extracomment>Message history has been deleted</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
|
|
@ -2072,45 +2072,45 @@ Error</extracomment>
|
|||
<context>
|
||||
<name>ChatMessagesListView</name>
|
||||
<message>
|
||||
<location filename="../../view/Control/Display/Chat/ChatMessagesListView.qml" line="36"/>
|
||||
<location filename="../../view/Control/Display/Chat/ChatMessagesListView.qml" line="50"/>
|
||||
<location filename="../../view/Control/Display/Chat/ChatMessagesListView.qml" line="101"/>
|
||||
<location filename="../../view/Control/Display/Chat/ChatMessagesListView.qml" line="112"/>
|
||||
<source>popup_info_find_message_title</source>
|
||||
<extracomment>Find message</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Control/Display/Chat/ChatMessagesListView.qml" line="38"/>
|
||||
<location filename="../../view/Control/Display/Chat/ChatMessagesListView.qml" line="114"/>
|
||||
<source>info_popup_no_result_message</source>
|
||||
<extracomment>No result found</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Control/Display/Chat/ChatMessagesListView.qml" line="52"/>
|
||||
<location filename="../../view/Control/Display/Chat/ChatMessagesListView.qml" line="106"/>
|
||||
<source>info_popup_first_result_message</source>
|
||||
<extracomment>First result reached</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Control/Display/Chat/ChatMessagesListView.qml" line="54"/>
|
||||
<location filename="../../view/Control/Display/Chat/ChatMessagesListView.qml" line="104"/>
|
||||
<source>info_popup_last_result_message</source>
|
||||
<extracomment>Last result reached</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Control/Display/Chat/ChatMessagesListView.qml" line="143"/>
|
||||
<location filename="../../view/Control/Display/Chat/ChatMessagesListView.qml" line="150"/>
|
||||
<source>chat_message_list_encrypted_header_title</source>
|
||||
<extracomment>End to end encrypted chat</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Control/Display/Chat/ChatMessagesListView.qml" line="153"/>
|
||||
<location filename="../../view/Control/Display/Chat/ChatMessagesListView.qml" line="160"/>
|
||||
<source>chat_message_list_encrypted_header_message</source>
|
||||
<extracomment>Les messages de cette conversation sont chiffrés de bout
|
||||
en bout. Seul votre correspondant peut les déchiffrer.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Control/Display/Chat/ChatMessagesListView.qml" line="191"/>
|
||||
<location filename="../../view/Control/Display/Chat/ChatMessagesListView.qml" line="200"/>
|
||||
<source>chat_message_is_writing_info</source>
|
||||
<extracomment>%1 is writing…</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
|
|
@ -2825,142 +2825,143 @@ Error</extracomment>
|
|||
<context>
|
||||
<name>ConversationInfos</name>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="185"/>
|
||||
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="184"/>
|
||||
<source>one_one_infos_call</source>
|
||||
<extracomment>"Appel"</extracomment>
|
||||
<translation type="unfinished">Anrufen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="199"/>
|
||||
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="198"/>
|
||||
<source>one_one_infos_unmute</source>
|
||||
<extracomment>"Sourdine"</extracomment>
|
||||
<translation type="unfinished">Unmute</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="199"/>
|
||||
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="198"/>
|
||||
<source>one_one_infos_mute</source>
|
||||
<translation type="unfinished">Stummschalten</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="215"/>
|
||||
<source>one_one_infos_search</source>
|
||||
<extracomment>"Rechercher"</extracomment>
|
||||
<translation type="unfinished">Suchen</translation>
|
||||
<translation type="obsolete">Suchen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="241"/>
|
||||
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="258"/>
|
||||
<source>group_infos_participants</source>
|
||||
<translation type="unfinished">Participants (%1)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="258"/>
|
||||
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="275"/>
|
||||
<source>group_infos_media_docs</source>
|
||||
<extracomment>Medias & documents</extracomment>
|
||||
<translation type="unfinished">Medien & Dokumente</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="264"/>
|
||||
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="281"/>
|
||||
<source>group_infos_shared_medias</source>
|
||||
<extracomment>Shared medias</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="275"/>
|
||||
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="292"/>
|
||||
<source>group_infos_shared_docs</source>
|
||||
<extracomment>Shared documents</extracomment>
|
||||
<translation type="unfinished">Geteilte Dokumente</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="288"/>
|
||||
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="305"/>
|
||||
<source>group_infos_other_actions</source>
|
||||
<extracomment>Other actions</extracomment>
|
||||
<translation type="unfinished">Weitere Aktionen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="294"/>
|
||||
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="311"/>
|
||||
<source>group_infos_ephemerals</source>
|
||||
<translation type="unfinished">Ephemeral messages : </translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="294"/>
|
||||
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="311"/>
|
||||
<source>group_infos_enable_ephemerals</source>
|
||||
<translation type="unfinished">Flüchtige Nachrichten aktivieren</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="307"/>
|
||||
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="220"/>
|
||||
<source>group_infos_meeting</source>
|
||||
<extracomment>Schedule a meeting</extracomment>
|
||||
<translation type="unfinished">Meeting</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="316"/>
|
||||
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="322"/>
|
||||
<source>group_infos_leave_room</source>
|
||||
<extracomment>Leave chat room</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="321"/>
|
||||
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="327"/>
|
||||
<source>group_infos_leave_room_toast_title</source>
|
||||
<extracomment>Leave Chat Room ?</extracomment>
|
||||
<translation type="unfinished">Chatraum verlassen?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="323"/>
|
||||
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="329"/>
|
||||
<source>group_infos_leave_room_toast_message</source>
|
||||
<extracomment>All the messages will be removed from the chat room. Do you want to continue ?</extracomment>
|
||||
<translation type="unfinished">Alle Nachrichten werden aus dem Chat entfernt. Möchten Sie fortfahren?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="336"/>
|
||||
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="342"/>
|
||||
<source>group_infos_delete_history</source>
|
||||
<extracomment>Delete history</extracomment>
|
||||
<translation type="unfinished">Verlauf löschen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="341"/>
|
||||
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="347"/>
|
||||
<source>group_infos_delete_history_toast_title</source>
|
||||
<extracomment>Delete history ?</extracomment>
|
||||
<translation type="unfinished">Verlauf löschen?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="343"/>
|
||||
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="349"/>
|
||||
<source>group_infos_delete_history_toast_message</source>
|
||||
<extracomment>All the messages will be removed from the chat room. Do you want to continue ?</extracomment>
|
||||
<translation type="unfinished">Alle Nachrichten werden aus dem Chat entfernt. Möchten Sie fortfahren?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="357"/>
|
||||
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="223"/>
|
||||
<source>one_one_infos_open_contact</source>
|
||||
<extracomment>Show contact</extracomment>
|
||||
<translation type="unfinished">Kontakt öffnen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="357"/>
|
||||
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="225"/>
|
||||
<source>one_one_infos_create_contact</source>
|
||||
<extracomment>Create contact</extracomment>
|
||||
<translation type="unfinished">Kontakt erstellen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="371"/>
|
||||
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="363"/>
|
||||
<source>one_one_infos_ephemerals</source>
|
||||
<translation type="unfinished">Ephemeral messages : </translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="371"/>
|
||||
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="363"/>
|
||||
<source>one_one_infos_enable_ephemerals</source>
|
||||
<translation type="unfinished">Flüchtige Nachrichten aktivieren</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="381"/>
|
||||
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="373"/>
|
||||
<source>one_one_infos_delete_history</source>
|
||||
<translation type="unfinished">Verlauf löschen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="386"/>
|
||||
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="378"/>
|
||||
<source>one_one_infos_delete_history_toast_title</source>
|
||||
<extracomment>Delete history ?</extracomment>
|
||||
<translation type="unfinished">Verlauf löschen?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="388"/>
|
||||
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="380"/>
|
||||
<source>one_one_infos_delete_history_toast_message</source>
|
||||
<extracomment>All the messages will be removed from the chat room. Do you want to continue ?</extracomment>
|
||||
<translation type="unfinished">Alle Nachrichten werden aus dem Chat entfernt. Möchten Sie fortfahren?</translation>
|
||||
|
|
@ -3198,58 +3199,58 @@ Error</extracomment>
|
|||
<context>
|
||||
<name>EventLogCore</name>
|
||||
<message>
|
||||
<location filename="../../core/chat/message/EventLogCore.cpp" line="101"/>
|
||||
<location filename="../../core/chat/message/EventLogCore.cpp" line="107"/>
|
||||
<source>conference_created_event</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../core/chat/message/EventLogCore.cpp" line="104"/>
|
||||
<location filename="../../core/chat/message/EventLogCore.cpp" line="110"/>
|
||||
<source>conference_created_terminated</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../core/chat/message/EventLogCore.cpp" line="108"/>
|
||||
<location filename="../../core/chat/message/EventLogCore.cpp" line="114"/>
|
||||
<source>conference_participant_added_event</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../core/chat/message/EventLogCore.cpp" line="112"/>
|
||||
<location filename="../../core/chat/message/EventLogCore.cpp" line="118"/>
|
||||
<source>conference_participant_removed_event</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../core/chat/message/EventLogCore.cpp" line="121"/>
|
||||
<location filename="../../core/chat/message/EventLogCore.cpp" line="123"/>
|
||||
<location filename="../../core/chat/message/EventLogCore.cpp" line="127"/>
|
||||
<location filename="../../core/chat/message/EventLogCore.cpp" line="129"/>
|
||||
<source>conference_security_event</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../core/chat/message/EventLogCore.cpp" line="130"/>
|
||||
<location filename="../../core/chat/message/EventLogCore.cpp" line="136"/>
|
||||
<source>conference_ephemeral_message_enabled_event</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../core/chat/message/EventLogCore.cpp" line="136"/>
|
||||
<location filename="../../core/chat/message/EventLogCore.cpp" line="142"/>
|
||||
<source>conference_ephemeral_message_lifetime_changed_event</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../core/chat/message/EventLogCore.cpp" line="141"/>
|
||||
<location filename="../../core/chat/message/EventLogCore.cpp" line="147"/>
|
||||
<source>conference_ephemeral_message_disabled_event</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../core/chat/message/EventLogCore.cpp" line="145"/>
|
||||
<location filename="../../core/chat/message/EventLogCore.cpp" line="151"/>
|
||||
<source>conference_subject_changed_event</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../core/chat/message/EventLogCore.cpp" line="153"/>
|
||||
<location filename="../../core/chat/message/EventLogCore.cpp" line="159"/>
|
||||
<source>conference_participant_unset_admin_event</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../core/chat/message/EventLogCore.cpp" line="149"/>
|
||||
<location filename="../../core/chat/message/EventLogCore.cpp" line="155"/>
|
||||
<source>conference_participant_set_admin_event</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
|
@ -4982,36 +4983,36 @@ Pour les activer dans un projet commercial, merci de nous contacter.</source>
|
|||
<context>
|
||||
<name>SelectedChatView</name>
|
||||
<message>
|
||||
<location filename="../../view/Page/Form/Chat/SelectedChatView.qml" line="38"/>
|
||||
<location filename="../../view/Page/Form/Chat/SelectedChatView.qml" line="37"/>
|
||||
<source>chat_view_group_call_toast_message</source>
|
||||
<translation>Start a group call ?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Form/Chat/SelectedChatView.qml" line="376"/>
|
||||
<location filename="../../view/Page/Form/Chat/SelectedChatView.qml" line="400"/>
|
||||
<source>reply_to_label</source>
|
||||
<extracomment>Reply to %1</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Form/Chat/SelectedChatView.qml" line="570"/>
|
||||
<location filename="../../view/Page/Form/Chat/SelectedChatView.qml" line="590"/>
|
||||
<source>shared_medias_title</source>
|
||||
<extracomment>Shared medias</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Form/Chat/SelectedChatView.qml" line="572"/>
|
||||
<location filename="../../view/Page/Form/Chat/SelectedChatView.qml" line="592"/>
|
||||
<source>shared_documents_title</source>
|
||||
<extracomment>Shared documents</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Form/Chat/SelectedChatView.qml" line="601"/>
|
||||
<location filename="../../view/Page/Form/Chat/SelectedChatView.qml" line="621"/>
|
||||
<source>forward_to_title</source>
|
||||
<extracomment>Forward to…</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Form/Chat/SelectedChatView.qml" line="635"/>
|
||||
<location filename="../../view/Page/Form/Chat/SelectedChatView.qml" line="655"/>
|
||||
<source>conversations_title</source>
|
||||
<extracomment>Conversations</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
|
|
|
|||
|
|
@ -1710,13 +1710,13 @@
|
|||
<context>
|
||||
<name>ChatCore</name>
|
||||
<message>
|
||||
<location filename="../../core/chat/ChatCore.cpp" line="165"/>
|
||||
<location filename="../../core/chat/ChatCore.cpp" line="175"/>
|
||||
<source>info_toast_deleted_title</source>
|
||||
<extracomment>Deleted</extracomment>
|
||||
<translation>Deleted</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../core/chat/ChatCore.cpp" line="167"/>
|
||||
<location filename="../../core/chat/ChatCore.cpp" line="177"/>
|
||||
<source>info_toast_deleted_message_history</source>
|
||||
<extracomment>Message history has been deleted</extracomment>
|
||||
<translation>Message history has been deleted</translation>
|
||||
|
|
@ -2034,38 +2034,38 @@ Error</extracomment>
|
|||
<context>
|
||||
<name>ChatMessagesListView</name>
|
||||
<message>
|
||||
<location filename="../../view/Control/Display/Chat/ChatMessagesListView.qml" line="36"/>
|
||||
<location filename="../../view/Control/Display/Chat/ChatMessagesListView.qml" line="50"/>
|
||||
<location filename="../../view/Control/Display/Chat/ChatMessagesListView.qml" line="101"/>
|
||||
<location filename="../../view/Control/Display/Chat/ChatMessagesListView.qml" line="112"/>
|
||||
<source>popup_info_find_message_title</source>
|
||||
<extracomment>Find message</extracomment>
|
||||
<translation>Find message</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Control/Display/Chat/ChatMessagesListView.qml" line="38"/>
|
||||
<location filename="../../view/Control/Display/Chat/ChatMessagesListView.qml" line="114"/>
|
||||
<source>info_popup_no_result_message</source>
|
||||
<extracomment>No result found</extracomment>
|
||||
<translation>No result found</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Control/Display/Chat/ChatMessagesListView.qml" line="52"/>
|
||||
<location filename="../../view/Control/Display/Chat/ChatMessagesListView.qml" line="106"/>
|
||||
<source>info_popup_first_result_message</source>
|
||||
<extracomment>First result reached</extracomment>
|
||||
<translation>First result reached</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Control/Display/Chat/ChatMessagesListView.qml" line="54"/>
|
||||
<location filename="../../view/Control/Display/Chat/ChatMessagesListView.qml" line="104"/>
|
||||
<source>info_popup_last_result_message</source>
|
||||
<extracomment>Last result reached</extracomment>
|
||||
<translation>Last result reached</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Control/Display/Chat/ChatMessagesListView.qml" line="143"/>
|
||||
<location filename="../../view/Control/Display/Chat/ChatMessagesListView.qml" line="150"/>
|
||||
<source>chat_message_list_encrypted_header_title</source>
|
||||
<extracomment>End to end encrypted chat</extracomment>
|
||||
<translation>End to end encrypted chat</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Control/Display/Chat/ChatMessagesListView.qml" line="153"/>
|
||||
<location filename="../../view/Control/Display/Chat/ChatMessagesListView.qml" line="160"/>
|
||||
<source>chat_message_list_encrypted_header_message</source>
|
||||
<extracomment>Les messages de cette conversation sont chiffrés de bout
|
||||
en bout. Seul votre correspondant peut les déchiffrer.</extracomment>
|
||||
|
|
@ -2073,7 +2073,7 @@ Error</extracomment>
|
|||
Only your correspondent can decrypt them.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Control/Display/Chat/ChatMessagesListView.qml" line="191"/>
|
||||
<location filename="../../view/Control/Display/Chat/ChatMessagesListView.qml" line="200"/>
|
||||
<source>chat_message_is_writing_info</source>
|
||||
<extracomment>%1 is writing…</extracomment>
|
||||
<translation>%1 is writing…</translation>
|
||||
|
|
@ -2748,142 +2748,138 @@ Only your correspondent can decrypt them.</translation>
|
|||
<context>
|
||||
<name>ConversationInfos</name>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="185"/>
|
||||
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="184"/>
|
||||
<source>one_one_infos_call</source>
|
||||
<extracomment>"Appel"</extracomment>
|
||||
<translation>Call</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="199"/>
|
||||
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="198"/>
|
||||
<source>one_one_infos_unmute</source>
|
||||
<extracomment>"Sourdine"</extracomment>
|
||||
<translation>Unmute</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="199"/>
|
||||
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="198"/>
|
||||
<source>one_one_infos_mute</source>
|
||||
<translation>Mute</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="215"/>
|
||||
<source>one_one_infos_search</source>
|
||||
<extracomment>"Rechercher"</extracomment>
|
||||
<translation>Search</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="241"/>
|
||||
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="258"/>
|
||||
<source>group_infos_participants</source>
|
||||
<translation>Participants (%1)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="258"/>
|
||||
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="275"/>
|
||||
<source>group_infos_media_docs</source>
|
||||
<extracomment>Medias & documents</extracomment>
|
||||
<translation>Medias & documents</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="264"/>
|
||||
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="281"/>
|
||||
<source>group_infos_shared_medias</source>
|
||||
<extracomment>Shared medias</extracomment>
|
||||
<translation>Shared medias</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="275"/>
|
||||
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="292"/>
|
||||
<source>group_infos_shared_docs</source>
|
||||
<extracomment>Shared documents</extracomment>
|
||||
<translation>Shared documents</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="288"/>
|
||||
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="305"/>
|
||||
<source>group_infos_other_actions</source>
|
||||
<extracomment>Other actions</extracomment>
|
||||
<translation>Other actions</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="294"/>
|
||||
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="311"/>
|
||||
<source>group_infos_ephemerals</source>
|
||||
<translation>Ephemeral messages : </translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="294"/>
|
||||
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="311"/>
|
||||
<source>group_infos_enable_ephemerals</source>
|
||||
<translation>Enable ephemeral messages</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="307"/>
|
||||
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="220"/>
|
||||
<source>group_infos_meeting</source>
|
||||
<extracomment>Schedule a meeting</extracomment>
|
||||
<translation>Schedule a meeting</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="316"/>
|
||||
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="322"/>
|
||||
<source>group_infos_leave_room</source>
|
||||
<extracomment>Leave chat room</extracomment>
|
||||
<translation>Leave Chat Room</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="321"/>
|
||||
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="327"/>
|
||||
<source>group_infos_leave_room_toast_title</source>
|
||||
<extracomment>Leave Chat Room ?</extracomment>
|
||||
<translation>Leave Chat Room ?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="323"/>
|
||||
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="329"/>
|
||||
<source>group_infos_leave_room_toast_message</source>
|
||||
<extracomment>All the messages will be removed from the chat room. Do you want to continue ?</extracomment>
|
||||
<translation>All the messages will be removed from the chat room. Do you want to continue ?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="336"/>
|
||||
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="342"/>
|
||||
<source>group_infos_delete_history</source>
|
||||
<extracomment>Delete history</extracomment>
|
||||
<translation>Delete history</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="341"/>
|
||||
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="347"/>
|
||||
<source>group_infos_delete_history_toast_title</source>
|
||||
<extracomment>Delete history ?</extracomment>
|
||||
<translation>Delete history ?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="343"/>
|
||||
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="349"/>
|
||||
<source>group_infos_delete_history_toast_message</source>
|
||||
<extracomment>All the messages will be removed from the chat room. Do you want to continue ?</extracomment>
|
||||
<translation>All the messages will be removed from the chat room. Do you want to continue ?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="357"/>
|
||||
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="223"/>
|
||||
<source>one_one_infos_open_contact</source>
|
||||
<extracomment>Show contact</extracomment>
|
||||
<translation>Show contact</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="357"/>
|
||||
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="225"/>
|
||||
<source>one_one_infos_create_contact</source>
|
||||
<extracomment>Create contact</extracomment>
|
||||
<translation>Create contact</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="371"/>
|
||||
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="363"/>
|
||||
<source>one_one_infos_ephemerals</source>
|
||||
<translation>Ephemeral messages : </translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="371"/>
|
||||
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="363"/>
|
||||
<source>one_one_infos_enable_ephemerals</source>
|
||||
<translation>Enable ephemeral messages</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="381"/>
|
||||
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="373"/>
|
||||
<source>one_one_infos_delete_history</source>
|
||||
<translation>Delete history</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="386"/>
|
||||
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="378"/>
|
||||
<source>one_one_infos_delete_history_toast_title</source>
|
||||
<extracomment>Delete history ?</extracomment>
|
||||
<translation>Delete history ?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="388"/>
|
||||
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="380"/>
|
||||
<source>one_one_infos_delete_history_toast_message</source>
|
||||
<extracomment>All the messages will be removed from the chat room. Do you want to continue ?</extracomment>
|
||||
<translation>All the messages will be removed from the chat room. Do you want to continue ?</translation>
|
||||
|
|
@ -3121,59 +3117,59 @@ Only your correspondent can decrypt them.</translation>
|
|||
<context>
|
||||
<name>EventLogCore</name>
|
||||
<message>
|
||||
<location filename="../../core/chat/message/EventLogCore.cpp" line="101"/>
|
||||
<location filename="../../core/chat/message/EventLogCore.cpp" line="107"/>
|
||||
<source>conference_created_event</source>
|
||||
<translation>You have joined the group</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../core/chat/message/EventLogCore.cpp" line="104"/>
|
||||
<location filename="../../core/chat/message/EventLogCore.cpp" line="110"/>
|
||||
<source>conference_created_terminated</source>
|
||||
<translation>You have left the group</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../core/chat/message/EventLogCore.cpp" line="108"/>
|
||||
<location filename="../../core/chat/message/EventLogCore.cpp" line="114"/>
|
||||
<source>conference_participant_added_event</source>
|
||||
<translation>%1 has joined</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../core/chat/message/EventLogCore.cpp" line="112"/>
|
||||
<location filename="../../core/chat/message/EventLogCore.cpp" line="118"/>
|
||||
<source>conference_participant_removed_event</source>
|
||||
<translation>%1 is no longer in the conversation</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../core/chat/message/EventLogCore.cpp" line="149"/>
|
||||
<location filename="../../core/chat/message/EventLogCore.cpp" line="155"/>
|
||||
<source>conference_participant_set_admin_event</source>
|
||||
<translation>%1 is now an admin</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../core/chat/message/EventLogCore.cpp" line="153"/>
|
||||
<location filename="../../core/chat/message/EventLogCore.cpp" line="159"/>
|
||||
<source>conference_participant_unset_admin_event</source>
|
||||
<translation>%1 is no longer an admin</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../core/chat/message/EventLogCore.cpp" line="121"/>
|
||||
<location filename="../../core/chat/message/EventLogCore.cpp" line="123"/>
|
||||
<location filename="../../core/chat/message/EventLogCore.cpp" line="127"/>
|
||||
<location filename="../../core/chat/message/EventLogCore.cpp" line="129"/>
|
||||
<source>conference_security_event</source>
|
||||
<translation>Security level degraded by %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../core/chat/message/EventLogCore.cpp" line="130"/>
|
||||
<location filename="../../core/chat/message/EventLogCore.cpp" line="136"/>
|
||||
<source>conference_ephemeral_message_enabled_event</source>
|
||||
<translation>Ephemeral messages enabled
|
||||
Expiration : %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../core/chat/message/EventLogCore.cpp" line="141"/>
|
||||
<location filename="../../core/chat/message/EventLogCore.cpp" line="147"/>
|
||||
<source>conference_ephemeral_message_disabled_event</source>
|
||||
<translation>Ephemeral messages disabled</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../core/chat/message/EventLogCore.cpp" line="145"/>
|
||||
<location filename="../../core/chat/message/EventLogCore.cpp" line="151"/>
|
||||
<source>conference_subject_changed_event</source>
|
||||
<translation>New subject: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../core/chat/message/EventLogCore.cpp" line="136"/>
|
||||
<location filename="../../core/chat/message/EventLogCore.cpp" line="142"/>
|
||||
<source>conference_ephemeral_message_lifetime_changed_event</source>
|
||||
<translation>Ephemeral messages updated
|
||||
Expiration : %1</translation>
|
||||
|
|
@ -4881,36 +4877,36 @@ To enable them in a commercial project, please contact us.</translation>
|
|||
<context>
|
||||
<name>SelectedChatView</name>
|
||||
<message>
|
||||
<location filename="../../view/Page/Form/Chat/SelectedChatView.qml" line="38"/>
|
||||
<location filename="../../view/Page/Form/Chat/SelectedChatView.qml" line="37"/>
|
||||
<source>chat_view_group_call_toast_message</source>
|
||||
<translation>Start a group call ?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Form/Chat/SelectedChatView.qml" line="376"/>
|
||||
<location filename="../../view/Page/Form/Chat/SelectedChatView.qml" line="400"/>
|
||||
<source>reply_to_label</source>
|
||||
<extracomment>Reply to %1</extracomment>
|
||||
<translation>Reply to %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Form/Chat/SelectedChatView.qml" line="570"/>
|
||||
<location filename="../../view/Page/Form/Chat/SelectedChatView.qml" line="590"/>
|
||||
<source>shared_medias_title</source>
|
||||
<extracomment>Shared medias</extracomment>
|
||||
<translation>Shared medias</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Form/Chat/SelectedChatView.qml" line="572"/>
|
||||
<location filename="../../view/Page/Form/Chat/SelectedChatView.qml" line="592"/>
|
||||
<source>shared_documents_title</source>
|
||||
<extracomment>Shared documents</extracomment>
|
||||
<translation>Shared documents</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Form/Chat/SelectedChatView.qml" line="601"/>
|
||||
<location filename="../../view/Page/Form/Chat/SelectedChatView.qml" line="621"/>
|
||||
<source>forward_to_title</source>
|
||||
<extracomment>Forward to…</extracomment>
|
||||
<translation>Froward to…</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Form/Chat/SelectedChatView.qml" line="635"/>
|
||||
<location filename="../../view/Page/Form/Chat/SelectedChatView.qml" line="655"/>
|
||||
<source>conversations_title</source>
|
||||
<extracomment>Conversations</extracomment>
|
||||
<translation>Conversations</translation>
|
||||
|
|
|
|||
|
|
@ -1710,13 +1710,13 @@
|
|||
<context>
|
||||
<name>ChatCore</name>
|
||||
<message>
|
||||
<location filename="../../core/chat/ChatCore.cpp" line="165"/>
|
||||
<location filename="../../core/chat/ChatCore.cpp" line="175"/>
|
||||
<source>info_toast_deleted_title</source>
|
||||
<extracomment>Deleted</extracomment>
|
||||
<translation>Supprimé</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../core/chat/ChatCore.cpp" line="167"/>
|
||||
<location filename="../../core/chat/ChatCore.cpp" line="177"/>
|
||||
<source>info_toast_deleted_message_history</source>
|
||||
<extracomment>Message history has been deleted</extracomment>
|
||||
<translation>L'historique des messages a été supprimé</translation>
|
||||
|
|
@ -2034,38 +2034,38 @@ Error</extracomment>
|
|||
<context>
|
||||
<name>ChatMessagesListView</name>
|
||||
<message>
|
||||
<location filename="../../view/Control/Display/Chat/ChatMessagesListView.qml" line="36"/>
|
||||
<location filename="../../view/Control/Display/Chat/ChatMessagesListView.qml" line="50"/>
|
||||
<location filename="../../view/Control/Display/Chat/ChatMessagesListView.qml" line="101"/>
|
||||
<location filename="../../view/Control/Display/Chat/ChatMessagesListView.qml" line="112"/>
|
||||
<source>popup_info_find_message_title</source>
|
||||
<extracomment>Find message</extracomment>
|
||||
<translation>Trouver un message</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Control/Display/Chat/ChatMessagesListView.qml" line="38"/>
|
||||
<location filename="../../view/Control/Display/Chat/ChatMessagesListView.qml" line="114"/>
|
||||
<source>info_popup_no_result_message</source>
|
||||
<extracomment>No result found</extracomment>
|
||||
<translation>Aucun résultat trouvé</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Control/Display/Chat/ChatMessagesListView.qml" line="52"/>
|
||||
<location filename="../../view/Control/Display/Chat/ChatMessagesListView.qml" line="106"/>
|
||||
<source>info_popup_first_result_message</source>
|
||||
<extracomment>First result reached</extracomment>
|
||||
<translation>Premier résultat atteint</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Control/Display/Chat/ChatMessagesListView.qml" line="54"/>
|
||||
<location filename="../../view/Control/Display/Chat/ChatMessagesListView.qml" line="104"/>
|
||||
<source>info_popup_last_result_message</source>
|
||||
<extracomment>Last result reached</extracomment>
|
||||
<translation>Dernier résultat atteint</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Control/Display/Chat/ChatMessagesListView.qml" line="143"/>
|
||||
<location filename="../../view/Control/Display/Chat/ChatMessagesListView.qml" line="150"/>
|
||||
<source>chat_message_list_encrypted_header_title</source>
|
||||
<extracomment>End to end encrypted chat</extracomment>
|
||||
<translation>Conversation chiffrée de bout en bout</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Control/Display/Chat/ChatMessagesListView.qml" line="153"/>
|
||||
<location filename="../../view/Control/Display/Chat/ChatMessagesListView.qml" line="160"/>
|
||||
<source>chat_message_list_encrypted_header_message</source>
|
||||
<extracomment>Les messages de cette conversation sont chiffrés de bout
|
||||
en bout. Seul votre correspondant peut les déchiffrer.</extracomment>
|
||||
|
|
@ -2073,7 +2073,7 @@ Error</extracomment>
|
|||
en bout. Seul votre correspondant peut les déchiffrer.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Control/Display/Chat/ChatMessagesListView.qml" line="191"/>
|
||||
<location filename="../../view/Control/Display/Chat/ChatMessagesListView.qml" line="200"/>
|
||||
<source>chat_message_is_writing_info</source>
|
||||
<extracomment>%1 is writing…</extracomment>
|
||||
<translation>%1 est en train d'écrire…</translation>
|
||||
|
|
@ -2748,142 +2748,138 @@ en bout. Seul votre correspondant peut les déchiffrer.</translation>
|
|||
<context>
|
||||
<name>ConversationInfos</name>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="185"/>
|
||||
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="184"/>
|
||||
<source>one_one_infos_call</source>
|
||||
<extracomment>"Appel"</extracomment>
|
||||
<translation>Appel</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="199"/>
|
||||
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="198"/>
|
||||
<source>one_one_infos_unmute</source>
|
||||
<extracomment>"Sourdine"</extracomment>
|
||||
<translation>Réactiver les notifications</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="199"/>
|
||||
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="198"/>
|
||||
<source>one_one_infos_mute</source>
|
||||
<translation>Sourdine</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="215"/>
|
||||
<source>one_one_infos_search</source>
|
||||
<extracomment>"Rechercher"</extracomment>
|
||||
<translation>Rechercher</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="241"/>
|
||||
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="258"/>
|
||||
<source>group_infos_participants</source>
|
||||
<translation>Participants (%1)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="258"/>
|
||||
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="275"/>
|
||||
<source>group_infos_media_docs</source>
|
||||
<extracomment>Medias & documents</extracomment>
|
||||
<translation>Medias & documents</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="264"/>
|
||||
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="281"/>
|
||||
<source>group_infos_shared_medias</source>
|
||||
<extracomment>Shared medias</extracomment>
|
||||
<translation>Médias partagés</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="275"/>
|
||||
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="292"/>
|
||||
<source>group_infos_shared_docs</source>
|
||||
<extracomment>Shared documents</extracomment>
|
||||
<translation>Documents partagés</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="288"/>
|
||||
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="305"/>
|
||||
<source>group_infos_other_actions</source>
|
||||
<extracomment>Other actions</extracomment>
|
||||
<translation>Autres actions</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="294"/>
|
||||
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="311"/>
|
||||
<source>group_infos_ephemerals</source>
|
||||
<translation>Messages éphémères : </translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="294"/>
|
||||
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="311"/>
|
||||
<source>group_infos_enable_ephemerals</source>
|
||||
<translation>Activer les messages éphémères</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="307"/>
|
||||
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="220"/>
|
||||
<source>group_infos_meeting</source>
|
||||
<extracomment>Schedule a meeting</extracomment>
|
||||
<translation>Programmer une réunion</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="316"/>
|
||||
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="322"/>
|
||||
<source>group_infos_leave_room</source>
|
||||
<extracomment>Leave chat room</extracomment>
|
||||
<translation>Quitter la conversation</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="321"/>
|
||||
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="327"/>
|
||||
<source>group_infos_leave_room_toast_title</source>
|
||||
<extracomment>Leave Chat Room ?</extracomment>
|
||||
<translation>Quitter la conversation ?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="323"/>
|
||||
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="329"/>
|
||||
<source>group_infos_leave_room_toast_message</source>
|
||||
<extracomment>All the messages will be removed from the chat room. Do you want to continue ?</extracomment>
|
||||
<translation>Vous ne recevrez ni pourrez envoyer des messages dans cette conversation, quitter ?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="336"/>
|
||||
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="342"/>
|
||||
<source>group_infos_delete_history</source>
|
||||
<extracomment>Delete history</extracomment>
|
||||
<translation>Supprimer l'historique</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="341"/>
|
||||
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="347"/>
|
||||
<source>group_infos_delete_history_toast_title</source>
|
||||
<extracomment>Delete history ?</extracomment>
|
||||
<translation>Supprimer l'historique ?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="343"/>
|
||||
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="349"/>
|
||||
<source>group_infos_delete_history_toast_message</source>
|
||||
<extracomment>All the messages will be removed from the chat room. Do you want to continue ?</extracomment>
|
||||
<translation>Tous les messages seront supprimés. Souhaitez-vous continuer ?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="357"/>
|
||||
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="223"/>
|
||||
<source>one_one_infos_open_contact</source>
|
||||
<extracomment>Show contact</extracomment>
|
||||
<translation>Voir le contact</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="357"/>
|
||||
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="225"/>
|
||||
<source>one_one_infos_create_contact</source>
|
||||
<extracomment>Create contact</extracomment>
|
||||
<translation>Créer un contact</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="371"/>
|
||||
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="363"/>
|
||||
<source>one_one_infos_ephemerals</source>
|
||||
<translation>Messages éphémères : </translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="371"/>
|
||||
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="363"/>
|
||||
<source>one_one_infos_enable_ephemerals</source>
|
||||
<translation>Activer les messages éphémères</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="381"/>
|
||||
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="373"/>
|
||||
<source>one_one_infos_delete_history</source>
|
||||
<translation>Supprimer l'historique</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="386"/>
|
||||
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="378"/>
|
||||
<source>one_one_infos_delete_history_toast_title</source>
|
||||
<extracomment>Delete history ?</extracomment>
|
||||
<translation>Supprimer l'historique ?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="388"/>
|
||||
<location filename="../../view/Page/Layout/Chat/ConversationInfos.qml" line="380"/>
|
||||
<source>one_one_infos_delete_history_toast_message</source>
|
||||
<extracomment>All the messages will be removed from the chat room. Do you want to continue ?</extracomment>
|
||||
<translation>Tous les messages seront supprimés. Souhaitez-vous continuer ?</translation>
|
||||
|
|
@ -3121,60 +3117,60 @@ en bout. Seul votre correspondant peut les déchiffrer.</translation>
|
|||
<context>
|
||||
<name>EventLogCore</name>
|
||||
<message>
|
||||
<location filename="../../core/chat/message/EventLogCore.cpp" line="101"/>
|
||||
<location filename="../../core/chat/message/EventLogCore.cpp" line="107"/>
|
||||
<source>conference_created_event</source>
|
||||
<translation>Vous avez rejoint le groupe</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../core/chat/message/EventLogCore.cpp" line="104"/>
|
||||
<location filename="../../core/chat/message/EventLogCore.cpp" line="110"/>
|
||||
<source>conference_created_terminated</source>
|
||||
<translation>Vous avez quitté le groupe</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../core/chat/message/EventLogCore.cpp" line="108"/>
|
||||
<location filename="../../core/chat/message/EventLogCore.cpp" line="114"/>
|
||||
<source>conference_participant_added_event</source>
|
||||
<translation>%1 a rejoint le groupe</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../core/chat/message/EventLogCore.cpp" line="112"/>
|
||||
<location filename="../../core/chat/message/EventLogCore.cpp" line="118"/>
|
||||
<source>conference_participant_removed_event</source>
|
||||
<translation>%1 ne fait plus partie du groupe</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../core/chat/message/EventLogCore.cpp" line="121"/>
|
||||
<location filename="../../core/chat/message/EventLogCore.cpp" line="123"/>
|
||||
<location filename="../../core/chat/message/EventLogCore.cpp" line="127"/>
|
||||
<location filename="../../core/chat/message/EventLogCore.cpp" line="129"/>
|
||||
<source>conference_security_event</source>
|
||||
<translation>Niveau de sécurité dégradé par %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../core/chat/message/EventLogCore.cpp" line="130"/>
|
||||
<location filename="../../core/chat/message/EventLogCore.cpp" line="136"/>
|
||||
<source>conference_ephemeral_message_enabled_event</source>
|
||||
<translation>Messages éphémères activés
|
||||
Expiration : %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../core/chat/message/EventLogCore.cpp" line="136"/>
|
||||
<location filename="../../core/chat/message/EventLogCore.cpp" line="142"/>
|
||||
<source>conference_ephemeral_message_lifetime_changed_event</source>
|
||||
<translation>Messages éphémères mis à jour
|
||||
Expiration : %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../core/chat/message/EventLogCore.cpp" line="141"/>
|
||||
<location filename="../../core/chat/message/EventLogCore.cpp" line="147"/>
|
||||
<source>conference_ephemeral_message_disabled_event</source>
|
||||
<translation>Messages éphémères désactivés</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../core/chat/message/EventLogCore.cpp" line="145"/>
|
||||
<location filename="../../core/chat/message/EventLogCore.cpp" line="151"/>
|
||||
<source>conference_subject_changed_event</source>
|
||||
<translation>Nouveau sujet : %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../core/chat/message/EventLogCore.cpp" line="153"/>
|
||||
<location filename="../../core/chat/message/EventLogCore.cpp" line="159"/>
|
||||
<source>conference_participant_unset_admin_event</source>
|
||||
<translation>%1 n'est plus admin</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../core/chat/message/EventLogCore.cpp" line="149"/>
|
||||
<location filename="../../core/chat/message/EventLogCore.cpp" line="155"/>
|
||||
<source>conference_participant_set_admin_event</source>
|
||||
<translation>%1 est maintenant admin</translation>
|
||||
</message>
|
||||
|
|
@ -4881,36 +4877,36 @@ Pour les activer dans un projet commercial, merci de nous contacter.</translatio
|
|||
<context>
|
||||
<name>SelectedChatView</name>
|
||||
<message>
|
||||
<location filename="../../view/Page/Form/Chat/SelectedChatView.qml" line="38"/>
|
||||
<location filename="../../view/Page/Form/Chat/SelectedChatView.qml" line="37"/>
|
||||
<source>chat_view_group_call_toast_message</source>
|
||||
<translation>Démarrer un appel de groupe ?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Form/Chat/SelectedChatView.qml" line="376"/>
|
||||
<location filename="../../view/Page/Form/Chat/SelectedChatView.qml" line="400"/>
|
||||
<source>reply_to_label</source>
|
||||
<extracomment>Reply to %1</extracomment>
|
||||
<translation>Réponse à %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Form/Chat/SelectedChatView.qml" line="570"/>
|
||||
<location filename="../../view/Page/Form/Chat/SelectedChatView.qml" line="590"/>
|
||||
<source>shared_medias_title</source>
|
||||
<extracomment>Shared medias</extracomment>
|
||||
<translation>Médias partagés</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Form/Chat/SelectedChatView.qml" line="572"/>
|
||||
<location filename="../../view/Page/Form/Chat/SelectedChatView.qml" line="592"/>
|
||||
<source>shared_documents_title</source>
|
||||
<extracomment>Shared documents</extracomment>
|
||||
<translation>Documents partagés</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Form/Chat/SelectedChatView.qml" line="601"/>
|
||||
<location filename="../../view/Page/Form/Chat/SelectedChatView.qml" line="621"/>
|
||||
<source>forward_to_title</source>
|
||||
<extracomment>Forward to…</extracomment>
|
||||
<translation>Transférer à…</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Form/Chat/SelectedChatView.qml" line="635"/>
|
||||
<location filename="../../view/Page/Form/Chat/SelectedChatView.qml" line="655"/>
|
||||
<source>conversations_title</source>
|
||||
<extracomment>Conversations</extracomment>
|
||||
<translation>Conversations</translation>
|
||||
|
|
|
|||
|
|
@ -13,6 +13,7 @@ list(APPEND _LINPHONEAPP_SOURCES
|
|||
|
||||
model/chat/ChatModel.cpp
|
||||
model/chat/message/ChatMessageModel.cpp
|
||||
model/chat/message/EventLogModel.cpp
|
||||
model/chat/message/content/ChatMessageContentModel.cpp
|
||||
|
||||
model/conference/ConferenceInfoModel.cpp
|
||||
|
|
|
|||
|
|
@ -175,6 +175,12 @@ ChatModel::createMessage(QString text, QList<std::shared_ptr<ChatMessageContentM
|
|||
return message;
|
||||
}
|
||||
|
||||
std::shared_ptr<linphone::EventLog>
|
||||
ChatModel::searchMessageByText(QString text, std::shared_ptr<const linphone::EventLog> from, bool forward) {
|
||||
return mMonitor->searchChatMessageByText(Utils::appStringToCoreString(text), from,
|
||||
forward ? linphone::SearchDirection::Down : linphone::SearchDirection::Up);
|
||||
}
|
||||
|
||||
void ChatModel::compose() {
|
||||
mMonitor->compose();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -61,6 +61,10 @@ public:
|
|||
std::shared_ptr<linphone::ChatMessage> createTextMessageFromText(QString text);
|
||||
std::shared_ptr<linphone::ChatMessage> createMessage(QString text,
|
||||
QList<std::shared_ptr<ChatMessageContentModel>> filesContent);
|
||||
|
||||
std::shared_ptr<linphone::EventLog>
|
||||
searchMessageByText(QString text, std::shared_ptr<const linphone::EventLog> = nullptr, bool forward = true);
|
||||
|
||||
void compose();
|
||||
linphone::ChatRoom::State getState() const;
|
||||
void setMuted(bool muted);
|
||||
|
|
|
|||
45
Linphone/model/chat/message/EventLogModel.cpp
Normal file
45
Linphone/model/chat/message/EventLogModel.cpp
Normal file
|
|
@ -0,0 +1,45 @@
|
|||
/*
|
||||
* Copyright (c) 2010-2024 Belledonne Communications SARL.
|
||||
*
|
||||
* This file is part of linphone-desktop
|
||||
* (see https://www.linphone.org).
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "EventLogModel.hpp"
|
||||
|
||||
#include <QDebug>
|
||||
|
||||
#include "core/path/Paths.hpp"
|
||||
#include "model/core/CoreModel.hpp"
|
||||
#include "model/setting/SettingsModel.hpp"
|
||||
#include "model/tool/ToolModel.hpp"
|
||||
#include "tool/Utils.hpp"
|
||||
|
||||
DEFINE_ABSTRACT_OBJECT(EventLogModel)
|
||||
|
||||
EventLogModel::EventLogModel(const std::shared_ptr<const linphone::EventLog> &eventLog, QObject *parent)
|
||||
: mEventLog(eventLog) {
|
||||
// lDebug() << "[EventLogModel] new" << this << " / SDKModel=" << eventLog.get();
|
||||
mustBeInLinphoneThread(getClassName());
|
||||
}
|
||||
|
||||
EventLogModel::~EventLogModel() {
|
||||
mustBeInLinphoneThread("~" + getClassName());
|
||||
}
|
||||
|
||||
std::shared_ptr<const linphone::EventLog> EventLogModel::getEventLog() const {
|
||||
return mEventLog;
|
||||
}
|
||||
45
Linphone/model/chat/message/EventLogModel.hpp
Normal file
45
Linphone/model/chat/message/EventLogModel.hpp
Normal file
|
|
@ -0,0 +1,45 @@
|
|||
/*
|
||||
* Copyright (c) 2010-2024 Belledonne Communications SARL.
|
||||
*
|
||||
* This file is part of linphone-desktop
|
||||
* (see https://www.linphone.org).
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#ifndef EVENT_LOG_MODEL_H_
|
||||
#define EVENT_LOG_MODEL_H_
|
||||
|
||||
#include "model/listener/Listener.hpp"
|
||||
#include "tool/AbstractObject.hpp"
|
||||
#include "tool/LinphoneEnums.hpp"
|
||||
|
||||
#include <QObject>
|
||||
#include <QTimer>
|
||||
#include <linphone++/linphone.hh>
|
||||
|
||||
class EventLogModel : public QObject, public AbstractObject {
|
||||
Q_OBJECT
|
||||
public:
|
||||
EventLogModel(const std::shared_ptr<const linphone::EventLog> &eventLog, QObject *parent = nullptr);
|
||||
~EventLogModel();
|
||||
|
||||
std::shared_ptr<const linphone::EventLog> getEventLog() const;
|
||||
|
||||
private:
|
||||
std::shared_ptr<const linphone::EventLog> mEventLog;
|
||||
DECLARE_ABSTRACT_OBJECT
|
||||
};
|
||||
|
||||
#endif
|
||||
|
|
@ -28,6 +28,7 @@ ColumnLayout {
|
|||
Text {
|
||||
id: text
|
||||
Layout.alignment: Qt.AlignHCenter
|
||||
Layout.fillWidth: true
|
||||
text: labelButton.label
|
||||
font {
|
||||
pixelSize: Typography.p1.pixelSize
|
||||
|
|
|
|||
|
|
@ -13,6 +13,7 @@ ListView {
|
|||
property ChatGui chat
|
||||
property color backgroundColor
|
||||
property bool lastItemVisible: false
|
||||
property int lastIndexFoundWithFilter: -1
|
||||
verticalLayoutDirection: ListView.BottomToTop
|
||||
signal showReactionsForMessageRequested(ChatMessageGui chatMessage)
|
||||
signal showImdnStatusForMessageRequested(ChatMessageGui chatMessage)
|
||||
|
|
@ -20,39 +21,21 @@ ListView {
|
|||
signal forwardMessageRequested(ChatMessageGui chatMessage)
|
||||
signal requestHighlight(int indexToHighlight)
|
||||
signal requestAutoPlayVoiceRecording(int indexToPlay)
|
||||
currentIndex: -1
|
||||
|
||||
property string filterText
|
||||
onFilterTextChanged: {
|
||||
lastIndexFoundWithFilter = -1
|
||||
if (filterText === "") return
|
||||
eventLogProxy.filterText = filterText
|
||||
var indexVisible = indexAt(contentX, contentY)
|
||||
var found = eventLogProxy.findIndexCorrespondingToFilter(indexVisible)
|
||||
if (found !== -1) {
|
||||
currentIndex = found
|
||||
positionViewAtIndex(found, ListView.Center)
|
||||
requestHighlight(found)
|
||||
} else {
|
||||
//: Find message
|
||||
UtilsCpp.showInformationPopup(qsTr("popup_info_find_message_title"),
|
||||
//: No result found
|
||||
qsTr("info_popup_no_result_message"), false)
|
||||
}
|
||||
}
|
||||
signal findIndexWithFilter(bool goingBackward)
|
||||
onFindIndexWithFilter: (goingBackward) => {
|
||||
var nextIndex = eventLogProxy.findIndexCorrespondingToFilter(currentIndex, goingBackward)
|
||||
if (nextIndex !== -1 && nextIndex !== currentIndex) {
|
||||
currentIndex = nextIndex
|
||||
positionViewAtIndex(nextIndex, ListView.Center)
|
||||
requestHighlight(nextIndex)
|
||||
} else if (currentIndex !== -1) {
|
||||
//: Find message
|
||||
UtilsCpp.showInformationPopup(qsTr("popup_info_find_message_title"),
|
||||
//: First result reached
|
||||
goingBackward ? qsTr("info_popup_first_result_message")
|
||||
//: Last result reached
|
||||
: qsTr("info_popup_last_result_message"), false)
|
||||
eventLogProxy.findIndexCorrespondingToFilter(indexVisible, true, true)
|
||||
}
|
||||
signal findIndexWithFilter(bool forward)
|
||||
property bool searchForward: true
|
||||
onFindIndexWithFilter: (forward) => {
|
||||
searchForward = forward
|
||||
eventLogProxy.findIndexCorrespondingToFilter(currentIndex, forward, false)
|
||||
}
|
||||
|
||||
Component.onCompleted: {
|
||||
|
|
@ -63,9 +46,6 @@ ListView {
|
|||
})
|
||||
}
|
||||
|
||||
onCountChanged: if (atYEnd) {
|
||||
positionViewAtEnd()
|
||||
}
|
||||
onChatChanged: lastItemVisible = false
|
||||
|
||||
Button {
|
||||
|
|
@ -109,6 +89,32 @@ ListView {
|
|||
positionViewAtIndex(index, ListView.Beginning)
|
||||
eventLogProxy.markIndexAsRead(index)
|
||||
})
|
||||
onIndexWithFilterFound: (index) => {
|
||||
if (index !== -1) {
|
||||
currentIndex = index
|
||||
mainItem.positionViewAtIndex(index, ListView.Center)
|
||||
mainItem.requestHighlight(index)
|
||||
mainItem.lastIndexFoundWithFilter = index
|
||||
} else {
|
||||
if (mainItem.lastIndexFoundWithFilter !== index) {
|
||||
//: Find message
|
||||
UtilsCpp.showInformationPopup(qsTr("popup_info_find_message_title"),
|
||||
mainItem.searchForward
|
||||
//: Last result reached
|
||||
? qsTr("info_popup_last_result_message")
|
||||
//: First result reached
|
||||
: qsTr("info_popup_first_result_message"), false)
|
||||
mainItem.positionViewAtIndex(mainItem.lastIndexFoundWithFilter, ListView.Center)
|
||||
mainItem.requestHighlight(mainItem.lastIndexFoundWithFilter)
|
||||
}
|
||||
else {
|
||||
//: Find message
|
||||
UtilsCpp.showInformationPopup(qsTr("popup_info_find_message_title"),
|
||||
//: No result found
|
||||
qsTr("info_popup_no_result_message"), false)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
footer: Item {
|
||||
|
|
|
|||
|
|
@ -19,7 +19,6 @@ RowLayout {
|
|||
property CallGui call
|
||||
property alias callHeaderContent: splitPanel.headerContentItem
|
||||
property bool replyingToMessage: false
|
||||
property bool showSearchBar: false
|
||||
spacing: 0
|
||||
enum PanelType { MessageReactions, SharedFiles, Medias, ImdnStatus, ForwardToList, ManageParticipants, EphemeralSettings, None}
|
||||
|
||||
|
|
@ -51,6 +50,10 @@ RowLayout {
|
|||
})
|
||||
}
|
||||
|
||||
Keys.onPressed: (event) => {
|
||||
if (event.modifiers & Qt.ControlModifier && event.key === Qt.Key_F) searchBarLayout.visible = true
|
||||
}
|
||||
|
||||
//onEventChanged: {
|
||||
// TODO : call when all messages read after scroll to unread feature available
|
||||
// if (chat) chat.core.lMarkAsRead()
|
||||
|
|
@ -65,7 +68,7 @@ RowLayout {
|
|||
header.leftPadding: Math.round(32 * DefaultStyle.dp)
|
||||
header.rightPadding: Math.round(32 * DefaultStyle.dp)
|
||||
header.topPadding: Math.round(6 * DefaultStyle.dp)
|
||||
header.bottomPadding: mainItem.showSearchBar ? Math.round(3 * DefaultStyle.dp) : Math.round(6 * DefaultStyle.dp)
|
||||
header.bottomPadding: searchBarLayout.visible ? Math.round(3 * DefaultStyle.dp) : Math.round(6 * DefaultStyle.dp)
|
||||
|
||||
headerContentItem: ColumnLayout {
|
||||
anchors.left: parent?.left
|
||||
|
|
@ -119,6 +122,18 @@ RowLayout {
|
|||
}
|
||||
}
|
||||
}
|
||||
RoundButton {
|
||||
id: searchInHistoryButton
|
||||
style: ButtonStyle.noBackground
|
||||
icon.source: AppIcons.search
|
||||
checkable: true
|
||||
checkedImageColor: DefaultStyle.main1_500_main
|
||||
onCheckedChanged: searchBarLayout.visible = checked
|
||||
Connections {
|
||||
target: searchBarLayout
|
||||
function onVisibleChanged() {searchInHistoryButton.checked = searchBarLayout.visible}
|
||||
}
|
||||
}
|
||||
RoundButton {
|
||||
style: ButtonStyle.noBackground
|
||||
icon.source: AppIcons.videoCamera
|
||||
|
|
@ -140,7 +155,7 @@ RowLayout {
|
|||
}
|
||||
RowLayout {
|
||||
id: searchBarLayout
|
||||
visible: mainItem.showSearchBar
|
||||
visible: searchInHistoryButton.checked
|
||||
onVisibleChanged: {
|
||||
if(!visible) chatMessagesSearchBar.clearText()
|
||||
else chatMessagesSearchBar.forceActiveFocus()
|
||||
|
|
@ -151,18 +166,24 @@ RowLayout {
|
|||
id: chatMessagesSearchBar
|
||||
Layout.fillWidth: true
|
||||
Layout.rightMargin: Math.round(10 * DefaultStyle.dp)
|
||||
property ChatMessageGui messageFound
|
||||
delaySearch: false
|
||||
Keys.onPressed: (event) => {
|
||||
event.accepted = false
|
||||
if (event.key === Qt.Key_Enter || event.key === Qt.Key_Return) {
|
||||
if (chatMessagesListView.filterText !== text) {
|
||||
chatMessagesListView.filterText = text
|
||||
} else {
|
||||
if (event.modifiers & Qt.ShiftModifier) {
|
||||
chatMessagesListView.findIndexWithFilter(true)
|
||||
} else {
|
||||
chatMessagesListView.findIndexWithFilter(false)
|
||||
} else {
|
||||
chatMessagesListView.findIndexWithFilter(true)
|
||||
}
|
||||
}
|
||||
event.accepted = true
|
||||
} else if (event.key === Qt.Key_Escape) {
|
||||
searchBarLayout.visible = false
|
||||
event.accepted = true
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -171,18 +192,21 @@ RowLayout {
|
|||
RoundButton {
|
||||
icon.source: AppIcons.upArrow
|
||||
style: ButtonStyle.noBackground
|
||||
onClicked: chatMessagesListView.findIndexWithFilter(true)
|
||||
onClicked: chatMessagesListView.findIndexWithFilter(false)
|
||||
}
|
||||
RoundButton {
|
||||
icon.source: AppIcons.downArrow
|
||||
style: ButtonStyle.noBackground
|
||||
onClicked: chatMessagesListView.findIndexWithFilter(false)
|
||||
onClicked: chatMessagesListView.findIndexWithFilter(true)
|
||||
}
|
||||
}
|
||||
RoundButton {
|
||||
icon.source: AppIcons.closeX
|
||||
Layout.rightMargin: Math.round(20 * DefaultStyle.dp)
|
||||
onClicked: mainItem.showSearchBar = false
|
||||
onClicked: {
|
||||
chatMessagesListView.filterText = ""
|
||||
searchBarLayout.visible = false
|
||||
}
|
||||
style: ButtonStyle.noBackground
|
||||
}
|
||||
}
|
||||
|
|
@ -204,7 +228,7 @@ RowLayout {
|
|||
ChatMessagesListView {
|
||||
id: chatMessagesListView
|
||||
clip: true
|
||||
height: contentHeight
|
||||
height: implicitHeight
|
||||
backgroundColor: splitPanel.panelColor
|
||||
width: parent.width - anchors.leftMargin - anchors.rightMargin
|
||||
chat: mainItem.chat
|
||||
|
|
@ -502,6 +526,7 @@ RowLayout {
|
|||
// anchors.top: parent.top
|
||||
anchors.fill: parent
|
||||
anchors.topMargin: Math.round(39 * DefaultStyle.dp)
|
||||
anchors.rightMargin: Math.round(15 * DefaultStyle.dp)
|
||||
sourceComponent: panelType === SelectedChatView.PanelType.EphemeralSettings
|
||||
? ephemeralSettingsComponent
|
||||
: panelType === SelectedChatView.PanelType.MessageReactions
|
||||
|
|
@ -531,10 +556,6 @@ RowLayout {
|
|||
onEphemeralSettingsRequested: contentLoader.panelType = SelectedChatView.PanelType.EphemeralSettings
|
||||
onShowSharedFilesRequested: (showMedias) => {
|
||||
contentLoader.panelType = showMedias ? SelectedChatView.PanelType.Medias : SelectedChatView.PanelType.SharedFiles
|
||||
}
|
||||
onSearchInHistoryRequested: {
|
||||
mainItem.showSearchBar = true
|
||||
detailsPanel.visible = false
|
||||
}
|
||||
onManageParticipantsRequested: contentLoader.panelType = SelectedChatView.PanelType.ManageParticipants
|
||||
}
|
||||
|
|
|
|||
|
|
@ -19,7 +19,6 @@ ColumnLayout {
|
|||
spacing: 0
|
||||
signal ephemeralSettingsRequested()
|
||||
signal showSharedFilesRequested(bool showMedias)
|
||||
signal searchInHistoryRequested()
|
||||
signal manageParticipantsRequested()
|
||||
|
||||
Avatar {
|
||||
|
|
@ -202,6 +201,7 @@ ColumnLayout {
|
|||
}
|
||||
}
|
||||
LabelButton {
|
||||
visible: !mainItem.isGroup || !SettingsCpp.disableMeetingsFeature
|
||||
text.Layout.fillWidth: true
|
||||
text.horizontalAlignment: Text.AlignHCenter
|
||||
text.wrapMode: Text.Wrap
|
||||
|
|
@ -210,11 +210,28 @@ ColumnLayout {
|
|||
Layout.maximumWidth: Math.round(130 * DefaultStyle.dp)
|
||||
button.icon.width: Math.round(24 * DefaultStyle.dp)
|
||||
button.icon.height: Math.round(24 * DefaultStyle.dp)
|
||||
button.icon.source: AppIcons.search
|
||||
//: "Rechercher"
|
||||
label: qsTr("one_one_infos_search")
|
||||
button.icon.source: mainItem.isGroup
|
||||
? AppIcons.videoconference
|
||||
: contactObj.value
|
||||
? AppIcons.adressBook
|
||||
: AppIcons.plusCircle
|
||||
label: mainItem.isGroup
|
||||
//: Schedule a meeting
|
||||
? qsTr("group_infos_meeting")
|
||||
: contactObj.value
|
||||
//: Show contact
|
||||
? qsTr("one_one_infos_open_contact")
|
||||
//: Create contact
|
||||
: qsTr("one_one_infos_create_contact")
|
||||
button.onClicked: {
|
||||
mainItem.searchInHistoryRequested()
|
||||
if (mainItem.isGroup)
|
||||
UtilsCpp.getMainWindow().scheduleMeeting(mainItem.chatCore.title, mainItem.chatCore.participantsAddresses)
|
||||
else {
|
||||
if (contactObj.value)
|
||||
mainWindow.displayContactPage(contactObj.value.core.defaultAddress)
|
||||
else
|
||||
mainWindow.displayCreateContactPage("",mainItem.chatCore.peerAddress)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -226,7 +243,6 @@ ColumnLayout {
|
|||
Layout.topMargin: Math.round(30 * DefaultStyle.dp)
|
||||
clip: true
|
||||
Layout.leftMargin: Math.round(15 * DefaultStyle.dp)
|
||||
Layout.rightMargin: Math.round(15 * DefaultStyle.dp)
|
||||
|
||||
ColumnLayout {
|
||||
spacing: 0
|
||||
|
|
@ -298,17 +314,6 @@ ColumnLayout {
|
|||
mainItem.ephemeralSettingsRequested()
|
||||
}
|
||||
},
|
||||
{
|
||||
visible: !SettingsCpp.disableMeetingsFeature,
|
||||
icon: AppIcons.videoconference,
|
||||
color: DefaultStyle.main2_600,
|
||||
showRightArrow: false,
|
||||
//: Schedule a meeting
|
||||
text: qsTr("group_infos_meeting"),
|
||||
action: function() {
|
||||
UtilsCpp.getMainWindow().scheduleMeeting(mainItem.chatCore.title, mainItem.chatCore.participantsAddresses)
|
||||
}
|
||||
},
|
||||
{
|
||||
icon: AppIcons.signOut,
|
||||
visible: !mainItem.chatCore.isReadOnly,
|
||||
|
|
@ -351,20 +356,6 @@ ColumnLayout {
|
|||
}
|
||||
]
|
||||
: [
|
||||
{
|
||||
icon: contactObj.value ? AppIcons.adressBook : AppIcons.plusCircle,
|
||||
visible: true,
|
||||
text: contactObj.value ? qsTr("one_one_infos_open_contact") : qsTr("one_one_infos_create_contact"),
|
||||
color: DefaultStyle.main2_600,
|
||||
showRightArrow: false,
|
||||
action: function() {
|
||||
// contactObj.value = friendGui
|
||||
if (contactObj.value)
|
||||
mainWindow.displayContactPage(contactObj.value.core.defaultAddress)
|
||||
else
|
||||
mainWindow.displayCreateContactPage("",mainItem.chatCore.peerAddress)
|
||||
}
|
||||
},
|
||||
{
|
||||
icon: AppIcons.clockCountDown,
|
||||
visible: !mainItem.chatCore.isReadOnly,
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue