feature: documents flow in the swarmDetailsPanel

Change-Id: I24a94b9ced0ec3930a0b9e20f3fa0440e2d8fd00
Signed-off-by: Nicolas Vengeon <nicolas.vengeon@savoirfairelinux.com>
This commit is contained in:
Nicolas Vengeon
2022-10-13 14:41:28 -04:00
parent 9b1a6e471b
commit 7a34209583
13 changed files with 610 additions and 6 deletions

View File

@@ -49,6 +49,7 @@ MessagesAdapter::MessagesAdapter(AppSettingsManager* settingsManager,
: QmlAdapterBase(instance, parent)
, settingsManager_(settingsManager)
, previewEngine_(previewEngine)
, mediaInteractions_(std::make_unique<MessageListModel>())
{
connect(lrcInstance_, &LRCInstance::selectedConvUidChanged, [this]() {
set_replyToId("");
@@ -136,6 +137,12 @@ MessagesAdapter::connectConversationModel()
this,
&MessagesAdapter::onComposingStatusChanged,
Qt::UniqueConnection);
QObject::connect(currentConversationModel,
&ConversationModel::messagesFoundProcessed,
this,
&MessagesAdapter::onMessagesFoundProcessed,
Qt::UniqueConnection);
}
void
@@ -517,6 +524,33 @@ MessagesAdapter::onComposingStatusChanged(const QString& convId,
}
}
void
MessagesAdapter::onMessagesFoundProcessed(const QString& accountId,
const VectorMapStringString& messageIds,
const QVector<interaction::Info>& messageInformations)
{
if (lrcInstance_->get_currentAccountId() != accountId) {
return;
}
bool isSearchInProgress = messageIds.length();
if (isSearchInProgress) {
int index = -1;
Q_FOREACH (const MapStringString& msg, messageIds) {
index++;
try {
std::pair<QString, interaction::Info> message(msg["id"],
messageInformations.at(index));
mediaInteractions_->insert(message);
} catch (...) {
qWarning() << "error in onMessagesFoundProcessed, message insertion on index: "
<< index;
}
}
} else {
set_mediaMessageListModel(QVariant::fromValue(mediaInteractions_.get()));
}
}
QList<QString>
MessagesAdapter::conversationTypersUrlToName(const QSet<QString>& typersSet)
{
@@ -637,3 +671,18 @@ MessagesAdapter::getFormattedDay(const quint64 timestamp)
return dateLocale;
}
void
MessagesAdapter::getConvMedias()
{
auto accountId = lrcInstance_->get_currentAccountId();
auto convId = lrcInstance_->get_selectedConvUid();
mediaInteractions_.reset(new MessageListModel(this));
try {
lrcInstance_->getCurrentConversationModel()->getConvMediasInfos(accountId, convId);
} catch (...) {
qDebug() << "Exception during getConvMedia:";
}
}