[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: [ruqola] /: Check if we can modify room
From: Laurent Montel <null () kde ! org>
Date: 2018-02-28 21:14:36
Message-ID: E1er93c-0007D3-3C () code ! kde ! org
[Download RAW message or body]
Git commit 444b874a3050e81d992338951acc76997950f892 by Laurent Montel.
Committed on 28/02/2018 at 21:14.
Pushed by mlaurent into branch 'master'.
Check if we can modify room
M +2 -2 autotests/roommodeltest.cpp
M +4 -6 autotests/roomtest.cpp
M +13 -3 autotests/roomwrappertest.cpp
M +1 -0 autotests/roomwrappertest.h
M +2 -2 src/model/roommodel.cpp
M +6 -0 src/qml/ChannelInfoDialog.qml
M +3 -5 src/qml/PrivateChannelInfoDialog.qml
M +7 -0 src/qml/TextFieldEditor.qml
M +6 -4 src/rocketchataccount.cpp
M +2 -0 src/rocketchataccount.h
M +58 -25 src/room.cpp
M +8 -7 src/room.h
M +7 -2 src/roomwrapper.cpp
M +4 -2 src/roomwrapper.h
M +7 -0 src/utils.cpp
M +1 -0 src/utils.h
https://commits.kde.org/ruqola/444b874a3050e81d992338951acc76997950f892
diff --git a/autotests/roommodeltest.cpp b/autotests/roommodeltest.cpp
index fa259ee..79dc262 100644
--- a/autotests/roommodeltest.cpp
+++ b/autotests/roommodeltest.cpp
@@ -425,8 +425,8 @@ void RoomModelTest::shouldReturnData()
input->setName(name);
input->setSelected(selected);
input->setChannelType(roomType);
- input->setUserId(userId);
- input->setUserName(userName);
+ input->setRoomCreatorUserId(userId);
+ input->setRoomCreatorUserName(userName);
input->setTopic(topic);
input->setMutedUsers(mutedUsers);
input->setJitsiTimeout(time);
diff --git a/autotests/roomtest.cpp b/autotests/roomtest.cpp
index a620722..5664abf 100644
--- a/autotests/roomtest.cpp
+++ b/autotests/roomtest.cpp
@@ -63,8 +63,8 @@ void RoomTest::shouldSerialized()
input.setChannelType(QStringLiteral("p"));
input.setName(QStringLiteral("d"));
input.setAnnouncement(QStringLiteral("AA"));
- input.setUserName(QStringLiteral("pp"));
- input.setUserId(QStringLiteral("sdfsdfs"));
+ input.setRoomCreatorUserName(QStringLiteral("pp"));
+ input.setRoomCreatorUserId(QStringLiteral("sdfsdfs"));
input.setTopic(QStringLiteral("topic"));
input.setMutedUsers(QStringList{QStringLiteral("mutedUsers"), \
QStringLiteral("muted2")}); input.setJitsiTimeout(55);
@@ -90,7 +90,6 @@ void RoomTest::shouldEmitSignals()
QSignalSpy spyannouncementChanged(&input, &Room::announcementChanged);
QSignalSpy spytopicChanged(&input, &Room::topicChanged);
QSignalSpy spyfavoriteChanged(&input, &Room::favoriteChanged);
- QSignalSpy spyuserIdChanged(&input, &Room::userIdChanged);
QSignalSpy spyalertChanged(&input, &Room::alertChanged);
QSignalSpy spyreadOnlyChanged(&input, &Room::readOnlyChanged);
QSignalSpy spyunreadChanged(&input, &Room::unreadChanged);
@@ -101,8 +100,8 @@ void RoomTest::shouldEmitSignals()
input.setChannelType(QStringLiteral("p"));
input.setName(QStringLiteral("d"));
input.setAnnouncement(QStringLiteral("AA"));
- input.setUserName(QStringLiteral("pp"));
- input.setUserId(QStringLiteral("sdfsdfs"));
+ input.setRoomCreatorUserName(QStringLiteral("pp"));
+ input.setRoomCreatorUserId(QStringLiteral("sdfsdfs"));
input.setTopic(QStringLiteral("topic"));
input.setMutedUsers(QStringList{QStringLiteral("mutedUsers"), \
QStringLiteral("muted2")}); input.setJitsiTimeout(55);
@@ -120,7 +119,6 @@ void RoomTest::shouldEmitSignals()
QCOMPARE(spyannouncementChanged.count(), 1);
QCOMPARE(spytopicChanged.count(), 1);
QCOMPARE(spyfavoriteChanged.count(), 1);
- QCOMPARE(spyuserIdChanged.count(), 1);
QCOMPARE(spyalertChanged.count(), 1);
QCOMPARE(spyreadOnlyChanged.count(), 1);
QCOMPARE(spyunreadChanged.count(), 1);
diff --git a/autotests/roomwrappertest.cpp b/autotests/roomwrappertest.cpp
index 89cde45..167eef9 100644
--- a/autotests/roomwrappertest.cpp
+++ b/autotests/roomwrappertest.cpp
@@ -40,7 +40,7 @@ void RoomWrapperTest::shouldHaveDefaultValue()
QVERIFY(w.channelType().isEmpty());
QVERIFY(!w.favorite());
QVERIFY(!w.blocker());
- QVERIFY(w.userId().isEmpty());
+ QVERIFY(w.roomCreatorUserId().isEmpty());
QVERIFY(w.rid().isEmpty());
QVERIFY(w.description().isEmpty());
QVERIFY(!w.archived());
@@ -272,7 +272,7 @@ void RoomWrapperTest::shouldAssignValue()
//
const QString userId = QStringLiteral("foo");
- room->setUserId(userId);
+ room->setRoomCreatorUserId(userId);
QCOMPARE(spyRoomAnnoucementChanged.count(), 0);
QCOMPARE(spyRoomTopicChanged.count(), 0);
QCOMPARE(spyRoomNameChanged.count(), 0);
@@ -280,7 +280,7 @@ void RoomWrapperTest::shouldAssignValue()
QCOMPARE(spyRoomBlockerChanged.count(), 0);
QCOMPARE(spyRoomDescriptionChanged.count(), 0);
QCOMPARE(spyRoomArchivedChanged.count(), 0);
- QCOMPARE(w.userId(), userId);
+ QCOMPARE(w.roomCreatorUserId(), userId);
const QString rId = QStringLiteral("foo");
room->setId(rId);
@@ -295,3 +295,13 @@ void RoomWrapperTest::shouldAssignValue()
delete room;
}
+
+void RoomWrapperTest::shouldVerifyCanBeModify()
+{
+ Room *room = new Room();
+ room->setRoomCreatorUserId(QStringLiteral("foo"));
+ RoomWrapper w(room);
+ QVERIFY(!w.canBeModify());
+ //TODO check true but we need to add rocketchataccount;
+ delete room;
+}
diff --git a/autotests/roomwrappertest.h b/autotests/roomwrappertest.h
index 9477d78..194af69 100644
--- a/autotests/roomwrappertest.h
+++ b/autotests/roomwrappertest.h
@@ -32,6 +32,7 @@ public:
private Q_SLOTS:
void shouldHaveDefaultValue();
void shouldAssignValue();
+ void shouldVerifyCanBeModify();
};
#endif // ROOMWRAPPERTEST_H
diff --git a/src/model/roommodel.cpp b/src/model/roommodel.cpp
index 55de512..1724d47 100644
--- a/src/model/roommodel.cpp
+++ b/src/model/roommodel.cpp
@@ -175,9 +175,9 @@ QVariant RoomModel::data(const QModelIndex &index, int role) \
const case RoomModel::RoomType:
return r->channelType();
case RoomModel::RoomUserID:
- return r->userId();
+ return r->roomCreatorUserId();
case RoomModel::RoomUserName:
- return r->userName();
+ return r->roomCreatorUserName();
case RoomModel::RoomTopic:
return r->topic();
case RoomModel::RoomMutedUsers:
diff --git a/src/qml/ChannelInfoDialog.qml b/src/qml/ChannelInfoDialog.qml
index 92aef11..f3a85c0 100644
--- a/src/qml/ChannelInfoDialog.qml
+++ b/src/qml/ChannelInfoDialog.qml
@@ -47,6 +47,11 @@ QQC2.Dialog {
function initializeAndOpen()
{
+ channelNameField.setReadOnly(!roomInfo.canBeModify);
+ channelCommentField.setReadOnly(!roomInfo.canBeModify);
+ channelAnnoucementField.setReadOnly(!roomInfo.canBeModify);
+ channelDescriptionField.setReadOnly(!roomInfo.canBeModify);
+
open();
}
@@ -58,6 +63,7 @@ QQC2.Dialog {
TextFieldEditor {
id: channelNameField
textField: roomInfo === null ? "" : roomInfo.name
+
onUpdateValue: {
if (newVal != "") {
channelInfoDialog.modifyChannelSetting(channelName, \
RocketChatAccount.Name, newVal)
diff --git a/src/qml/PrivateChannelInfoDialog.qml \
b/src/qml/PrivateChannelInfoDialog.qml index 64f4e1c..fcb1d5d 100644
--- a/src/qml/PrivateChannelInfoDialog.qml
+++ b/src/qml/PrivateChannelInfoDialog.qml
@@ -41,17 +41,15 @@ QQC2.Dialog {
function initializeAndOpen()
{
- avatarRect.avatarurl = appid.rocketChatAccount.avatarUrl(roomInfo.userId)
- //console.log("ddddd " + avatarRect.avatarurl + " roomInfo.rid" + \
roomInfo.userId) + avatarRect.avatarurl = \
appid.rocketChatAccount.avatarUrlFromDirectChannel(roomInfo.rid) open();
}
ColumnLayout {
AvatarImage {
id: avatarRect
- avatarurl: roomInfo ? appid.rocketChatAccount.avatarUrl(roomInfo.userId) \
: ""
- //aliasname: i_aliasname
- //username: i_username
+ implicitHeight: 160
+ implicitWidth: 160
}
Button {
diff --git a/src/qml/TextFieldEditor.qml b/src/qml/TextFieldEditor.qml
index dcfba47..e3debe7 100644
--- a/src/qml/TextFieldEditor.qml
+++ b/src/qml/TextFieldEditor.qml
@@ -30,6 +30,12 @@ RowLayout {
signal updateValue(string newVal)
property alias textField: channelNameField.text
+ function setReadOnly(ro)
+ {
+ channelNameField.readOnly = ro;
+ channelIcon.visible = !ro;
+ }
+
function clear()
{
channelNameField.clear()
@@ -47,6 +53,7 @@ RowLayout {
}
Kirigami.Icon {
+ id: channelIcon
source: "document-edit"
width: 24
height: 24
diff --git a/src/rocketchataccount.cpp b/src/rocketchataccount.cpp
index 94ebd0b..c24b0ac 100644
--- a/src/rocketchataccount.cpp
+++ b/src/rocketchataccount.cpp
@@ -307,6 +307,11 @@ void RocketChatAccount::updateMessage(const QString &roomID, \
const QString &mess
ddp()->method(QStringLiteral("updateMessage"), QJsonDocument(json), \
DDPClient::Persistent); }
+QString RocketChatAccount::avatarUrlFromDirectChannel(const QString &rid)
+{
+ return mCache->avatarUrl(Utils::userIdFromDirectChannel(rid, userID()));
+}
+
QString RocketChatAccount::avatarUrl(const QString &userId)
{
return mCache->avatarUrl(userId);
@@ -936,10 +941,7 @@ void RocketChatAccount::blockUser(const QString &rid, bool \
block) } else {
//qDebug() << " void RocketChatAccount::blockUser userId " << userId << " \
block " << block << " rid " << rid << " own userdId" << userID();
- //Info from fairchat
- QString userId = rid;
- userId.remove(userID());
-
+ const QString userId = Utils::userIdFromDirectChannel(rid, userID());
if (block) {
ddp()->blockUser(rid, userId);
} else {
diff --git a/src/rocketchataccount.h b/src/rocketchataccount.h
index 11f3224..a10e6a7 100644
--- a/src/rocketchataccount.h
+++ b/src/rocketchataccount.h
@@ -149,6 +149,7 @@ public:
Q_INVOKABLE void setInputTextChanged(const QString &str, int position);
Q_INVOKABLE QString replaceWord(const QString &newWord, const QString &str, int \
position); Q_INVOKABLE void blockUser(const QString &userId, bool block);
+ Q_INVOKABLE QString avatarUrlFromDirectChannel(const QString &rid);
SearchChannelModel *searchChannelModel() const;
UserCompleterModel *userCompleterModel() const;
@@ -217,6 +218,7 @@ public:
void updateUser(const QJsonObject &object);
void initializeSettings(const QString &accountFileName);
+
Q_SIGNALS:
void connectedChanged();
void accountNameChanged();
diff --git a/src/room.cpp b/src/room.cpp
index ab96481..3b61a62 100644
--- a/src/room.cpp
+++ b/src/room.cpp
@@ -20,6 +20,7 @@
*
*/
+#include "rocketchataccount.h"
#include "room.h"
#include "ruqola_debug.h"
#include "model/usersforroommodel.h"
@@ -33,6 +34,7 @@
Room::Room(RocketChatAccount *account, QObject *parent)
: QObject(parent)
+ , mRocketChatAccount(account)
{
mUsersModelForRoom = new UsersForRoomModel(this);
mUsersModelForRoom->setObjectName(QStringLiteral("usersforroommodel"));
@@ -61,8 +63,8 @@ bool Room::isEqual(const Room &other) const
&& (mChannelType == other.channelType())
&& (mName == other.name())
&& (mAnnouncement == other.announcement())
- && (mUserName == other.userName())
- && (mUserId == other.userId())
+ && (mRoomCreatorUserName == other.roomCreatorUserName())
+ && (mRoomCreateUserId == other.roomCreatorUserId())
&& (mTopic == other.topic())
&& (mMutedUsers == other.mutedUsers())
&& (mJitsiTimeout == other.jitsiTimeout())
@@ -87,8 +89,8 @@ QDebug operator <<(QDebug d, const Room &t)
d << "type :" << t.channelType();
d << "name :" << t.name();
d << "mAnnouncement :" << t.announcement();
- d << "userName :" << t.userName();
- d << "userID :" << t.userId();
+ d << "roomCreaterUserName :" << t.roomCreatorUserName();
+ d << "roomCreaterUserID :" << t.roomCreatorUserId();
d << "topic :" << t.topic();
d << "mutedUsers :" << t.mutedUsers();
d << "jitsiTimeout :" << t.jitsiTimeout();
@@ -103,12 +105,22 @@ QDebug operator <<(QDebug d, const Room &t)
return d;
}
+bool Room::canBeModify() const
+{
+ if (mRocketChatAccount) {
+ qDebug() << "mRoomCreateUserId"<<mRoomCreateUserId << " \
mRocketChatAccount->userID()"<<mRocketChatAccount->userID(); + return \
(mRoomCreateUserId == mRocketChatAccount->userID()); + }
+ return false;
+}
+
void Room::parseUpdateRoom(const QJsonObject &json)
{
qDebug() << " void Room::parseUpdateRoom(const QJsonObject &json)"<<json;
- if (json.contains(QLatin1String("_id"))) {
- setUserId(json.value(QLatin1String("_id")).toString());
- }
+ // ???? FIXME it's not _id
+// if (json.contains(QLatin1String("_id"))) {
+// setRoomCreatorUserId(json.value(QLatin1String("_id")).toString());
+// }
if (json.contains(QLatin1String("rid"))) {
setId(json.value(QLatin1String("rid")).toString());
}
@@ -145,6 +157,13 @@ void Room::parseUpdateRoom(const QJsonObject &json)
} else {
setArchived(false);
}
+ const QJsonValue ownerValue = json.value(QLatin1String("u"));
+ if (!ownerValue.isUndefined()) {
+ const QJsonObject objOwner = ownerValue.toObject();
+ setRoomCreatorUserId(objOwner.value(QLatin1String("_id")).toString());
+ setRoomCreatorUserName(objOwner.value(QLatin1String("username")).toString());
+ }
+ qDebug() << " *thus" << *this;
}
bool Room::selected() const
@@ -196,28 +215,27 @@ void Room::setMutedUsers(const QStringList &mutedUsers)
}
}
-QString Room::userId() const
+QString Room::roomCreatorUserId() const
{
- return mUserId;
+ return mRoomCreateUserId;
}
-void Room::setUserId(const QString &userId)
+void Room::setRoomCreatorUserId(const QString &userId)
{
- if (mUserId != userId) {
- mUserId = userId;
+ if (mRoomCreateUserId != userId) {
+ mRoomCreateUserId = userId;
}
}
-QString Room::userName() const
+QString Room::roomCreatorUserName() const
{
- return mUserName;
+ return mRoomCreatorUserName;
}
-void Room::setUserName(const QString &userName)
+void Room::setRoomCreatorUserName(const QString &userName)
{
- if (mUserName != userName) {
- mUserName = userName;
- Q_EMIT userIdChanged();
+ if (mRoomCreatorUserName != userName) {
+ mRoomCreatorUserName = userName;
}
}
@@ -347,7 +365,7 @@ void Room::setName(const QString &name)
void Room::parseRoom(const QJsonObject &json)
{
qDebug() << " void Room::parseRoom(const QJsonObject &json)"<<json;
- setUserId(json.value(QLatin1String("_id")).toString());
+ //setRoomCreatorUserId(json.value(QLatin1String("_id")).toString());
setId(json.value(QLatin1String("rid")).toString());
setName(json[QStringLiteral("name")].toString());
setTopic(json[QStringLiteral("topic")].toString());
@@ -364,13 +382,22 @@ void Room::parseRoom(const QJsonObject &json)
} else {
setBlocker(false);
}
+ const QJsonValue ownerValue = json.value(QLatin1String("u"));
+ if (!ownerValue.isUndefined()) {
+ const QJsonObject objOwner = ownerValue.toObject();
+ setRoomCreatorUserId(objOwner.value(QLatin1String("_id")).toString());
+ setRoomCreatorUserName(objOwner.value(QLatin1String("username")).toString());
+ }
+ qDebug() << " *thus" << *this;
}
void Room::parseSubscriptionRoom(const QJsonObject &json)
{
const QString roomID = json.value(QLatin1String("rid")).toString();
setId(roomID);
- setUserId(json.value(QLatin1String("_id")).toString());
+ //????? FIXME
+ //setRoomCreatorUserId(json.value(QLatin1String("_id")).toString());
+ //
setName(json[QStringLiteral("name")].toString());
setTopic(json[QStringLiteral("topic")].toString());
setAnnouncement(json[QStringLiteral("announcement")].toString());
@@ -408,6 +435,13 @@ void Room::parseSubscriptionRoom(const QJsonObject &json)
for (int i = 0; i < mutedArray.count(); ++i) {
lst << mutedArray.at(i).toString();
}
+ const QJsonValue ownerValue = json.value(QLatin1String("u"));
+ if (!ownerValue.isUndefined()) {
+ const QJsonObject objOwner = ownerValue.toObject();
+ setRoomCreatorUserId(objOwner.value(QLatin1String("_id")).toString());
+ setRoomCreatorUserName(objOwner.value(QLatin1String("username")).toString());
+ }
+ qDebug() << " *thus" << *this;
setMutedUsers(lst);
//TODO add muted
@@ -421,8 +455,8 @@ Room *Room::fromJSon(const QJsonObject &o)
r->setId(o[QStringLiteral("rid")].toString());
r->setChannelType(o[QStringLiteral("t")].toString());
r->setName(o[QStringLiteral("name")].toString());
- r->setUserName(o[QStringLiteral("userName")].toString());
- r->setUserId(o[QStringLiteral("userID")].toString());
+ r->setRoomCreatorUserName(o[QStringLiteral("roomCreatorUserName")].toString());
+ r->setRoomCreatorUserId(o[QStringLiteral("roomCreatorUserID")].toString());
r->setTopic(o[QStringLiteral("topic")].toString());
r->setJitsiTimeout(o[QStringLiteral("jitsiTimeout")].toDouble());
r->setReadOnly(o[QStringLiteral("ro")].toBool());
@@ -434,7 +468,6 @@ Room *Room::fromJSon(const QJsonObject &o)
r->setOpen(o[QStringLiteral("open")].toBool());
r->setArchived(o[QStringLiteral("archived")].toBool());
r->setDescription(o[QStringLiteral("description")].toString());
- //TODO ???
r->setBlocker(o[QStringLiteral("blocker")].toBool());
const QJsonArray mutedArray = o.value(QLatin1String("mutedUsers")).toArray();
QStringList lst;
@@ -455,8 +488,8 @@ QByteArray Room::serialize(Room *r)
o[QStringLiteral("rid")] = r->id();
o[QStringLiteral("t")] = r->channelType();
o[QStringLiteral("name")] = r->name();
- o[QStringLiteral("userName")] = r->userName();
- o[QStringLiteral("userID")] = r->userId();
+ o[QStringLiteral("roomCreatorUserName")] = r->roomCreatorUserName();
+ o[QStringLiteral("roomCreatorUserID")] = r->roomCreatorUserId();
o[QStringLiteral("topic")] = r->topic();
o[QStringLiteral("jitsiTimeout")] = r->jitsiTimeout();
o[QStringLiteral("ro")] = r->readOnly();
diff --git a/src/room.h b/src/room.h
index e7bca88..f877258 100644
--- a/src/room.h
+++ b/src/room.h
@@ -55,11 +55,11 @@ public:
//we can't use operator== as it tests only id. We need it for autotest
bool isEqual(const Room &other) const;
- QString userName() const;
- void setUserName(const QString &userName);
+ QString roomCreatorUserName() const;
+ void setRoomCreatorUserName(const QString &userName);
- QString userId() const;
- void setUserId(const QString &userId);
+ QString roomCreatorUserId() const;
+ void setRoomCreatorUserId(const QString &userId);
QStringList mutedUsers() const;
void setMutedUsers(const QStringList &mutedUsers);
@@ -145,12 +145,12 @@ public:
QString description() const;
void setDescription(const QString &description);
+ bool canBeModify() const;
Q_SIGNALS:
void nameChanged();
void announcementChanged();
void topicChanged();
void favoriteChanged();
- void userIdChanged();
void alertChanged();
void readOnlyChanged();
void unreadChanged();
@@ -177,8 +177,8 @@ private:
QString mAnnouncement;
// u
- QString mUserName;
- QString mUserId;
+ QString mRoomCreatorUserName;
+ QString mRoomCreateUserId;
// topic
QString mTopic;
@@ -209,6 +209,7 @@ private:
FilesForRoomFilterProxyModel *mFilesForRoomFilterProxyModel = nullptr;
MessageModel *mMessageModel = nullptr;
+ RocketChatAccount *mRocketChatAccount = nullptr;
};
LIBRUQOLACORE_EXPORT QDebug operator <<(QDebug d, const Room &t);
diff --git a/src/roomwrapper.cpp b/src/roomwrapper.cpp
index a69378d..9df04f3 100644
--- a/src/roomwrapper.cpp
+++ b/src/roomwrapper.cpp
@@ -82,9 +82,9 @@ QString RoomWrapper::channelType() const
return mRoom->channelType();
}
-QString RoomWrapper::userId() const
+QString RoomWrapper::roomCreatorUserId() const
{
- return mRoom->userId();
+ return mRoom->roomCreatorUserId();
}
QString RoomWrapper::rid() const
@@ -101,3 +101,8 @@ bool RoomWrapper::archived() const
{
return mRoom->archived();
}
+
+bool RoomWrapper::canBeModify() const
+{
+ return mRoom->canBeModify();
+}
diff --git a/src/roomwrapper.h b/src/roomwrapper.h
index 91b71bd..4f3f060 100644
--- a/src/roomwrapper.h
+++ b/src/roomwrapper.h
@@ -36,8 +36,9 @@ class LIBRUQOLACORE_EXPORT RoomWrapper : public QObject
Q_PROPERTY(bool readOnly READ readOnly NOTIFY readOnlyChanged)
Q_PROPERTY(bool blocker READ blocker NOTIFY blockerChanged)
Q_PROPERTY(QString channelType READ channelType CONSTANT)
- Q_PROPERTY(QString userId READ userId CONSTANT)
+ Q_PROPERTY(QString roomCreatorUserId READ roomCreatorUserId CONSTANT)
Q_PROPERTY(QString rid READ rid CONSTANT)
+ Q_PROPERTY(bool canBeModify READ canBeModify CONSTANT)
Q_PROPERTY(QString description READ description NOTIFY descriptionChanged)
Q_PROPERTY(bool archived READ archived NOTIFY archivedChanged)
Q_OBJECT
@@ -54,10 +55,11 @@ public:
bool readOnly() const;
bool blocker() const;
QString channelType() const;
- QString userId() const;
+ QString roomCreatorUserId() const;
QString rid() const;
QString description() const;
bool archived() const;
+ bool canBeModify() const;
Q_SIGNALS:
void nameChanged();
diff --git a/src/utils.cpp b/src/utils.cpp
index 47a29b1..ebcbc30 100644
--- a/src/utils.cpp
+++ b/src/utils.cpp
@@ -134,3 +134,10 @@ void Utils::parseNotification(const QJsonArray &contents, \
QString &message, QStr
qCDebug(RUQOLA_LOG) << "Problem with notication json: missing payload";
}
}
+
+QString Utils::userIdFromDirectChannel(const QString &rid, const QString &userId)
+{
+ QString newUserId = rid;
+ newUserId.remove(userId);
+ return newUserId;
+}
diff --git a/src/utils.h b/src/utils.h
index f40dc1d..539fb36 100644
--- a/src/utils.h
+++ b/src/utils.h
@@ -32,6 +32,7 @@ LIBRUQOLACORE_TESTS_EXPORT User::PresenceStatus \
presenceStatusFromString(const Q LIBRUQOLACORE_TESTS_EXPORT QString \
generateRichText(const QString &markDown, const QMap<QString, QString> &mentions); \
LIBRUQOLACORE_TESTS_EXPORT QString extractRoomUserFromUrl(QString url); \
LIBRUQOLACORE_TESTS_EXPORT void parseNotification(const QJsonArray &contents, QString \
&message, QString &title, QString &sender); +LIBRUQOLACORE_TESTS_EXPORT QString \
userIdFromDirectChannel(const QString &rid, const QString &userId); }
#endif // UTILS_H
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic