summary refs log tree commit diff
path: root/src/timeline/TimelineModel.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/timeline/TimelineModel.cpp')
-rw-r--r--src/timeline/TimelineModel.cpp104
1 files changed, 54 insertions, 50 deletions
diff --git a/src/timeline/TimelineModel.cpp b/src/timeline/TimelineModel.cpp

index 0bec9505..075267d8 100644 --- a/src/timeline/TimelineModel.cpp +++ b/src/timeline/TimelineModel.cpp
@@ -15,9 +15,9 @@ #include <QGuiApplication> #include <QMimeDatabase> #include <QRegularExpression> -#include <QSettings> #include <QStandardPaths> #include <QVariant> +#include <utility> #include "Cache_p.h" #include "ChatPage.h" @@ -330,7 +330,7 @@ qml_mtx_events::fromRoomEventType(qml_mtx_events::EventType t) }; } -TimelineModel::TimelineModel(TimelineViewManager *manager, QString room_id, QObject *parent) +TimelineModel::TimelineModel(TimelineViewManager *manager, const QString &room_id, QObject *parent) : QAbstractListModel(parent) , events(room_id.toStdString(), this) , room_id_(room_id) @@ -355,7 +355,7 @@ TimelineModel::TimelineModel(TimelineViewManager *manager, QString room_id, QObj [](const QString &msg) { emit ChatPage::instance()->showNotification(msg); }, Qt::QueuedConnection); - connect(this, &TimelineModel::dataAtIdChanged, this, [this](QString id) { + connect(this, &TimelineModel::dataAtIdChanged, this, [this](const QString &id) { relatedEventCacheBuster++; auto idx = idToIndex(id); @@ -404,26 +404,28 @@ TimelineModel::TimelineModel(TimelineViewManager *manager, QString room_id, QObj connect(&events, &EventStore::startDMVerification, this, - [this](mtx::events::RoomEvent<mtx::events::msg::KeyVerificationRequest> msg) { + [this](const mtx::events::RoomEvent<mtx::events::msg::KeyVerificationRequest> &msg) { ChatPage::instance()->receivedRoomDeviceVerificationRequest(msg, this); }); connect(&events, &EventStore::updateFlowEventId, this, [this](std::string event_id) { - this->updateFlowEventId(event_id); + this->updateFlowEventId(std::move(event_id)); }); // When a message is sent, check if the current edit/reply relates to that message, // and update the event_id so that it points to the sent message and not the pending one. - connect( - &events, &EventStore::messageSent, this, [this](std::string txn_id, std::string event_id) { - if (edit_.toStdString() == txn_id) { - edit_ = QString::fromStdString(event_id); - emit editChanged(edit_); - } - if (reply_.toStdString() == txn_id) { - reply_ = QString::fromStdString(event_id); - emit replyChanged(reply_); - } - }); + connect(&events, + &EventStore::messageSent, + this, + [this](const std::string &txn_id, const std::string &event_id) { + if (edit_.toStdString() == txn_id) { + edit_ = QString::fromStdString(event_id); + emit editChanged(edit_); + } + if (reply_.toStdString() == txn_id) { + reply_ = QString::fromStdString(event_id); + emit replyChanged(reply_); + } + }); connect( manager_, &TimelineViewManager::initialSyncChanged, &events, &EventStore::enableKeyRequests); @@ -486,7 +488,7 @@ TimelineModel::rowCount(const QModelIndex &parent) const } QVariantMap -TimelineModel::getDump(QString eventId, QString relatedTo) const +TimelineModel::getDump(const QString &eventId, const QString &relatedTo) const { if (auto event = events.get(eventId.toStdString(), relatedTo.toStdString())) return data(*event, Dump).toMap(); @@ -772,7 +774,7 @@ TimelineModel::data(const QModelIndex &index, int role) const } QVariant -TimelineModel::dataById(QString id, int role, QString relatedTo) +TimelineModel::dataById(const QString &id, int role, const QString &relatedTo) { if (auto event = events.get(id.toStdString(), relatedTo.toStdString())) return data(*event, role); @@ -1052,13 +1054,13 @@ TimelineModel::readEvent(const std::string &id) } QString -TimelineModel::displayName(QString id) const +TimelineModel::displayName(const QString &id) const { return cache::displayName(room_id_, id).toHtmlEscaped(); } QString -TimelineModel::avatarUrl(QString id) const +TimelineModel::avatarUrl(const QString &id) const { return cache::avatarUrl(room_id_, id); } @@ -1079,7 +1081,7 @@ TimelineModel::formatDateSeparator(QDate date) const } void -TimelineModel::viewRawMessage(QString id) +TimelineModel::viewRawMessage(const QString &id) { auto e = events.get(id.toStdString(), "", false); if (!e) @@ -1089,17 +1091,17 @@ TimelineModel::viewRawMessage(QString id) } void -TimelineModel::forwardMessage(QString eventId, QString roomId) +TimelineModel::forwardMessage(const QString &eventId, QString roomId) { auto e = events.get(eventId.toStdString(), ""); if (!e) return; - emit forwardToRoom(e, roomId); + emit forwardToRoom(e, std::move(roomId)); } void -TimelineModel::viewDecryptedRawMessage(QString id) +TimelineModel::viewDecryptedRawMessage(const QString &id) { auto e = events.get(id.toStdString(), ""); if (!e) @@ -1112,19 +1114,19 @@ TimelineModel::viewDecryptedRawMessage(QString id) void TimelineModel::openUserProfile(QString userid) { - UserProfile *userProfile = new UserProfile(room_id_, userid, manager_, this); + UserProfile *userProfile = new UserProfile(room_id_, std::move(userid), manager_, this); connect(this, &TimelineModel::roomAvatarUrlChanged, userProfile, &UserProfile::updateAvatarUrl); emit manager_->openProfile(userProfile); } void -TimelineModel::replyAction(QString id) +TimelineModel::replyAction(const QString &id) { setReply(id); } void -TimelineModel::unpin(QString id) +TimelineModel::unpin(const QString &id) { auto pinned = cache::client()->getStateEvent<mtx::events::state::PinnedEvents>(room_id_.toStdString()); @@ -1154,7 +1156,7 @@ TimelineModel::unpin(QString id) } void -TimelineModel::pin(QString id) +TimelineModel::pin(const QString &id) { auto pinned = cache::client()->getStateEvent<mtx::events::state::PinnedEvents>(room_id_.toStdString()); @@ -1184,7 +1186,7 @@ TimelineModel::editAction(QString id) } RelatedInfo -TimelineModel::relatedInfo(QString id) +TimelineModel::relatedInfo(const QString &id) { auto event = events.get(id.toStdString(), ""); if (!event) @@ -1200,7 +1202,7 @@ TimelineModel::showReadReceipts(QString id) } void -TimelineModel::redactEvent(QString id) +TimelineModel::redactEvent(const QString &id) { if (!id.isEmpty()) { auto edits = events.edits(id.toStdString()); @@ -1237,7 +1239,7 @@ TimelineModel::redactEvent(QString id) } int -TimelineModel::idToIndex(QString id) const +TimelineModel::idToIndex(const QString &id) const { if (id.isEmpty()) return -1; @@ -1449,14 +1451,15 @@ TimelineModel::addPendingMessage(mtx::events::collections::TimelineEvents event) } void -TimelineModel::openMedia(QString eventId) +TimelineModel::openMedia(const QString &eventId) { - cacheMedia(eventId, - [](QString filename) { QDesktopServices::openUrl(QUrl::fromLocalFile(filename)); }); + cacheMedia(eventId, [](const QString &filename) { + QDesktopServices::openUrl(QUrl::fromLocalFile(filename)); + }); } bool -TimelineModel::saveMedia(QString eventId) const +TimelineModel::saveMedia(const QString &eventId) const { mtx::events::collections::TimelineEvents *event = events.get(eventId.toStdString(), ""); if (!event) @@ -1530,7 +1533,8 @@ TimelineModel::saveMedia(QString eventId) const } void -TimelineModel::cacheMedia(QString eventId, std::function<void(const QString)> callback) +TimelineModel::cacheMedia(const QString &eventId, + const std::function<void(const QString)> &callback) { mtx::events::collections::TimelineEvents *event = events.get(eventId.toStdString(), ""); if (!event) @@ -1619,7 +1623,7 @@ TimelineModel::cacheMedia(QString eventId, std::function<void(const QString)> ca } void -TimelineModel::cacheMedia(QString eventId) +TimelineModel::cacheMedia(const QString &eventId) { cacheMedia(eventId, NULL); } @@ -1675,7 +1679,7 @@ TimelineModel::scrollTimerEvent() } void -TimelineModel::requestKeyForEvent(QString id) +TimelineModel::requestKeyForEvent(const QString &id) { auto encrypted_event = events.get(id.toStdString(), "", false); if (encrypted_event) { @@ -1686,7 +1690,7 @@ TimelineModel::requestKeyForEvent(QString id) } void -TimelineModel::copyLinkToEvent(QString eventId) const +TimelineModel::copyLinkToEvent(const QString &eventId) const { QStringList vias; @@ -1726,7 +1730,7 @@ TimelineModel::copyLinkToEvent(QString eventId) const } QString -TimelineModel::formatTypingUsers(const std::vector<QString> &users, QColor bg) +TimelineModel::formatTypingUsers(const std::vector<QString> &users, const QColor &bg) { QString temp = tr("%1 and %2 are typing.", @@ -1780,7 +1784,7 @@ TimelineModel::formatTypingUsers(const std::vector<QString> &users, QColor bg) } QString -TimelineModel::formatJoinRuleEvent(QString id) +TimelineModel::formatJoinRuleEvent(const QString &id) { mtx::events::collections::TimelineEvents *e = events.get(id.toStdString(), ""); if (!e) @@ -1818,7 +1822,7 @@ TimelineModel::formatJoinRuleEvent(QString id) } QString -TimelineModel::formatGuestAccessEvent(QString id) +TimelineModel::formatGuestAccessEvent(const QString &id) { mtx::events::collections::TimelineEvents *e = events.get(id.toStdString(), ""); if (!e) @@ -1842,7 +1846,7 @@ TimelineModel::formatGuestAccessEvent(QString id) } QString -TimelineModel::formatHistoryVisibilityEvent(QString id) +TimelineModel::formatHistoryVisibilityEvent(const QString &id) { mtx::events::collections::TimelineEvents *e = events.get(id.toStdString(), ""); if (!e) @@ -1874,7 +1878,7 @@ TimelineModel::formatHistoryVisibilityEvent(QString id) } QString -TimelineModel::formatPowerLevelEvent(QString id) +TimelineModel::formatPowerLevelEvent(const QString &id) { mtx::events::collections::TimelineEvents *e = events.get(id.toStdString(), ""); if (!e) @@ -1892,7 +1896,7 @@ TimelineModel::formatPowerLevelEvent(QString id) } QVariantMap -TimelineModel::formatRedactedEvent(QString id) +TimelineModel::formatRedactedEvent(const QString &id) { QVariantMap pair{{"first", ""}, {"second", ""}}; mtx::events::collections::TimelineEvents *e = events.get(id.toStdString(), ""); @@ -1930,7 +1934,7 @@ TimelineModel::formatRedactedEvent(QString id) } void -TimelineModel::acceptKnock(QString id) +TimelineModel::acceptKnock(const QString &id) { mtx::events::collections::TimelineEvents *e = events.get(id.toStdString(), ""); if (!e) @@ -1954,7 +1958,7 @@ TimelineModel::acceptKnock(QString id) } bool -TimelineModel::showAcceptKnockButton(QString id) +TimelineModel::showAcceptKnockButton(const QString &id) { mtx::events::collections::TimelineEvents *e = events.get(id.toStdString(), ""); if (!e) @@ -1975,7 +1979,7 @@ TimelineModel::showAcceptKnockButton(QString id) } QString -TimelineModel::formatMemberEvent(QString id) +TimelineModel::formatMemberEvent(const QString &id) { mtx::events::collections::TimelineEvents *e = events.get(id.toStdString(), ""); if (!e) @@ -2079,7 +2083,7 @@ TimelineModel::formatMemberEvent(QString id) } void -TimelineModel::setEdit(QString newEdit) +TimelineModel::setEdit(const QString &newEdit) { if (newEdit.isEmpty()) { resetEdit(); @@ -2238,7 +2242,7 @@ TimelineModel::directChatOtherUserId() const { if (roomMemberCount() < 3) { QString id; - for (auto member : cache::getMembers(room_id_.toStdString())) + for (const auto &member : cache::getMembers(room_id_.toStdString())) if (member.user_id != UserSettings::instance()->userId()) id = member.user_id; return id;