Cleanup Neochatroom

Remove unneeded functions, remove Q_INVOKABLE from setters that are part of a Q_PROPERTY, move inlined getters and setters to the .cpp
This commit is contained in:
James Graham
2023-04-01 12:49:27 +00:00
committed by Tobias Fella
parent cefe5acdaa
commit a13b2e6bd2
2 changed files with 42 additions and 102 deletions

View File

@@ -8,7 +8,6 @@
#include <QMimeDatabase> #include <QMimeDatabase>
#include <QTemporaryFile> #include <QTemporaryFile>
#include <QTextDocument> #include <QTextDocument>
#include <functional>
#include <QMediaMetaData> #include <QMediaMetaData>
#include <QMediaPlayer> #include <QMediaPlayer>
@@ -110,6 +109,34 @@ NeoChatRoom::NeoChatRoom(Connection *connection, QString roomId, JoinState joinS
}); });
} }
bool NeoChatRoom::hasFileUploading() const
{
return m_hasFileUploading;
}
void NeoChatRoom::setHasFileUploading(bool value)
{
if (value == m_hasFileUploading) {
return;
}
m_hasFileUploading = value;
Q_EMIT hasFileUploadingChanged();
}
int NeoChatRoom::fileUploadingProgress() const
{
return m_fileUploadingProgress;
}
void NeoChatRoom::setFileUploadingProgress(int value)
{
if (m_fileUploadingProgress == value) {
return;
}
m_fileUploadingProgress = value;
Q_EMIT fileUploadingProgressChanged();
}
void NeoChatRoom::uploadFile(const QUrl &url, const QString &body) void NeoChatRoom::uploadFile(const QUrl &url, const QString &body)
{ {
doUploadFile(url, body); doUploadFile(url, body);
@@ -361,30 +388,6 @@ QDateTime NeoChatRoom::lastActiveTime()
return messageEvents().rbegin()->get()->originTimestamp(); return messageEvents().rbegin()->get()->originTimestamp();
} }
int NeoChatRoom::savedTopVisibleIndex() const
{
return firstDisplayedMarker() == historyEdge() ? 0 : int(firstDisplayedMarker() - messageEvents().rbegin());
}
int NeoChatRoom::savedBottomVisibleIndex() const
{
return lastDisplayedMarker() == historyEdge() ? 0 : int(lastDisplayedMarker() - messageEvents().rbegin());
}
void NeoChatRoom::saveViewport(int topIndex, int bottomIndex)
{
if (topIndex == -1 || bottomIndex == -1 || (bottomIndex == savedBottomVisibleIndex() && (bottomIndex == 0 || topIndex == savedTopVisibleIndex()))) {
return;
}
if (bottomIndex == 0) {
setFirstDisplayedEventId({});
setLastDisplayedEventId({});
return;
}
setFirstDisplayedEvent(maxTimelineIndex() - topIndex);
setLastDisplayedEvent(maxTimelineIndex() - bottomIndex);
}
QVariantList NeoChatRoom::getUsers(const QString &keyword, int limit) const QVariantList NeoChatRoom::getUsers(const QString &keyword, int limit) const
{ {
const auto userList = users(); const auto userList = users();
@@ -418,15 +421,6 @@ QVariantMap NeoChatRoom::getUser(const QString &userID) const
{QStringLiteral("color"), user.color()}}; {QStringLiteral("color"), user.color()}};
} }
QUrl NeoChatRoom::urlToMxcUrl(const QUrl &mxcUrl)
{
#ifdef QUOTIENT_07
return connection()->makeMediaUrl(mxcUrl);
#else
return DownloadFileJob::makeRequestUrl(connection()->homeserver(), mxcUrl);
#endif
}
QString NeoChatRoom::avatarMediaId() const QString NeoChatRoom::avatarMediaId() const
{ {
if (const auto avatar = Room::avatarMediaId(); !avatar.isEmpty()) { if (const auto avatar = Room::avatarMediaId(); !avatar.isEmpty()) {
@@ -795,30 +789,6 @@ void NeoChatRoom::changeAvatar(const QUrl &localFile)
} }
} }
void NeoChatRoom::addLocalAlias(const QString &alias)
{
auto a = aliases();
if (a.contains(alias)) {
return;
}
a += alias;
setLocalAliases(a);
}
void NeoChatRoom::removeLocalAlias(const QString &alias)
{
auto a = aliases();
if (!a.contains(alias)) {
return;
}
a.removeAll(alias);
setLocalAliases(a);
}
QString msgTypeToString(MessageEventType msgType) QString msgTypeToString(MessageEventType msgType)
{ {
switch (msgType) { switch (msgType) {
@@ -1005,11 +975,6 @@ bool NeoChatRoom::isUserBanned(const QString &user) const
return getCurrentState<RoomMemberEvent>(user)->membership() == MembershipType::Ban; return getCurrentState<RoomMemberEvent>(user)->membership() == MembershipType::Ban;
} }
QString NeoChatRoom::htmlSafeName() const
{
return name().toHtmlEscaped();
}
QString NeoChatRoom::htmlSafeDisplayName() const QString NeoChatRoom::htmlSafeDisplayName() const
{ {
return displayName().toHtmlEscaped(); return displayName().toHtmlEscaped();
@@ -1492,6 +1457,11 @@ bool NeoChatRoom::isSpace()
#endif #endif
} }
PushNotificationState::State NeoChatRoom::pushNotificationState() const
{
return m_currentPushNotificationState;
}
void NeoChatRoom::setPushNotificationState(PushNotificationState::State state) void NeoChatRoom::setPushNotificationState(PushNotificationState::State state)
{ {
// The caller should never try to set the state to unknown. // The caller should never try to set the state to unknown.

View File

@@ -3,14 +3,13 @@
#pragma once #pragma once
#include <qobjectdefs.h>
#include <room.h> #include <room.h>
#include <QCache> #include <QCache>
#include <QObject> #include <QObject>
#include <QTextCursor> #include <QTextCursor>
#include <qcoro/task.h> #include <qcorotask.h>
#include "neochatuser.h" #include "neochatuser.h"
#include "pollhandler.h" #include "pollhandler.h"
@@ -87,8 +86,7 @@ class NeoChatRoom : public Quotient::Room
Q_PROPERTY(int spaceParentPowerLevel READ spaceParentPowerLevel WRITE setSpaceParentPowerLevel NOTIFY spaceParentPowerLevelChanged) Q_PROPERTY(int spaceParentPowerLevel READ spaceParentPowerLevel WRITE setSpaceParentPowerLevel NOTIFY spaceParentPowerLevelChanged)
Q_PROPERTY(QString htmlSafeDisplayName READ htmlSafeDisplayName NOTIFY displayNameChanged) Q_PROPERTY(QString htmlSafeDisplayName READ htmlSafeDisplayName NOTIFY displayNameChanged)
Q_PROPERTY(PushNotificationState::State pushNotificationState MEMBER m_currentPushNotificationState WRITE setPushNotificationState NOTIFY Q_PROPERTY(PushNotificationState::State pushNotificationState READ pushNotificationState WRITE setPushNotificationState NOTIFY pushNotificationStateChanged)
pushNotificationStateChanged)
// Due to problems with QTextDocument, unlike the other properties here, chatBoxText is *not* used to store the text when switching rooms // Due to problems with QTextDocument, unlike the other properties here, chatBoxText is *not* used to store the text when switching rooms
Q_PROPERTY(QString chatBoxText READ chatBoxText WRITE setChatBoxText NOTIFY chatBoxTextChanged) Q_PROPERTY(QString chatBoxText READ chatBoxText WRITE setChatBoxText NOTIFY chatBoxTextChanged)
@@ -236,43 +234,17 @@ public:
[[nodiscard]] int spaceParentPowerLevel() const; [[nodiscard]] int spaceParentPowerLevel() const;
void setSpaceParentPowerLevel(const int &newPowerLevel); void setSpaceParentPowerLevel(const int &newPowerLevel);
[[nodiscard]] bool hasFileUploading() const [[nodiscard]] bool hasFileUploading() const;
{ void setHasFileUploading(bool value);
return m_hasFileUploading;
}
void setHasFileUploading(bool value)
{
if (value == m_hasFileUploading) {
return;
}
m_hasFileUploading = value;
Q_EMIT hasFileUploadingChanged();
}
[[nodiscard]] int fileUploadingProgress() const [[nodiscard]] int fileUploadingProgress() const;
{ void setFileUploadingProgress(int value);
return m_fileUploadingProgress;
}
void setFileUploadingProgress(int value)
{
if (m_fileUploadingProgress == value) {
return;
}
m_fileUploadingProgress = value;
Q_EMIT fileUploadingProgressChanged();
}
[[nodiscard]] bool readMarkerLoaded() const; [[nodiscard]] bool readMarkerLoaded() const;
Q_INVOKABLE [[nodiscard]] int savedTopVisibleIndex() const;
Q_INVOKABLE [[nodiscard]] int savedBottomVisibleIndex() const;
Q_INVOKABLE void saveViewport(int topIndex, int bottomIndex);
Q_INVOKABLE [[nodiscard]] QVariantList getUsers(const QString &keyword, int limit = -1) const; Q_INVOKABLE [[nodiscard]] QVariantList getUsers(const QString &keyword, int limit = -1) const;
Q_INVOKABLE [[nodiscard]] QVariantMap getUser(const QString &userID) const; Q_INVOKABLE [[nodiscard]] QVariantMap getUser(const QString &userID) const;
Q_INVOKABLE QUrl urlToMxcUrl(const QUrl &mxcUrl);
[[nodiscard]] QString avatarMediaId() const; [[nodiscard]] QString avatarMediaId() const;
[[nodiscard]] QString eventToString(const Quotient::RoomEvent &evt, Qt::TextFormat format = Qt::PlainText, bool stripNewlines = false) const; [[nodiscard]] QString eventToString(const Quotient::RoomEvent &evt, Qt::TextFormat format = Qt::PlainText, bool stripNewlines = false) const;
@@ -286,12 +258,12 @@ public:
bool isInvite() const; bool isInvite() const;
Q_INVOKABLE QString htmlSafeName() const; QString htmlSafeDisplayName() const;
Q_INVOKABLE QString htmlSafeDisplayName() const;
Q_INVOKABLE void clearInvitationNotification(); Q_INVOKABLE void clearInvitationNotification();
Q_INVOKABLE void reportEvent(const QString &eventId, const QString &reason); Q_INVOKABLE void reportEvent(const QString &eventId, const QString &reason);
Q_INVOKABLE void setPushNotificationState(PushNotificationState::State state); PushNotificationState::State pushNotificationState() const;
void setPushNotificationState(PushNotificationState::State state);
Q_INVOKABLE void download(const QString &eventId, const QUrl &localFilename = {}); Q_INVOKABLE void download(const QString &eventId, const QUrl &localFilename = {});
@@ -450,8 +422,6 @@ public Q_SLOTS:
const QString &replyEventId = QString(), const QString &replyEventId = QString(),
const QString &relateToEventId = QString()); const QString &relateToEventId = QString());
void changeAvatar(const QUrl &localFile); void changeAvatar(const QUrl &localFile);
void addLocalAlias(const QString &alias);
void removeLocalAlias(const QString &alias);
void toggleReaction(const QString &eventId, const QString &reaction); void toggleReaction(const QString &eventId, const QString &reaction);
void deleteMessagesByUser(const QString &user, const QString &reason); void deleteMessagesByUser(const QString &user, const QString &reason);
}; };