Add a way for distros to recommend joining a space

Implements #137
This commit is contained in:
Tobias Fella
2024-01-29 23:12:51 +01:00
parent 292cfb0d3d
commit 4ebcc36fb3
5 changed files with 158 additions and 0 deletions

View File

@@ -6,6 +6,9 @@
#include <Quotient/csapi/space_hierarchy.h>
#include <Quotient/qt_connection_util.h>
#include <KConfigGroup>
#include <KSharedConfig>
#include "neochatroom.h"
#include "roomlistmodel.h"
@@ -163,4 +166,38 @@ void SpaceHierarchyCache::setConnection(NeoChatConnection *connection)
connect(connection, &Connection::aboutToDeleteRoom, this, &SpaceHierarchyCache::removeSpaceFromHierarchy);
}
QString SpaceHierarchyCache::recommendedSpaceId() const
{
return KConfigGroup(KSharedConfig::openConfig(), QStringLiteral("RecommendedSpace")).readEntry(QStringLiteral("Id"), {});
}
QString SpaceHierarchyCache::recommendedSpaceAvatar() const
{
return KConfigGroup(KSharedConfig::openConfig(), QStringLiteral("RecommendedSpace")).readEntry(QStringLiteral("Avatar"), {});
}
QString SpaceHierarchyCache::recommendedSpaceDisplayName() const
{
return KConfigGroup(KSharedConfig::openConfig(), QStringLiteral("RecommendedSpace")).readEntry(QStringLiteral("DisplayName"), {});
}
QString SpaceHierarchyCache::recommendedSpaceDescription() const
{
return KConfigGroup(KSharedConfig::openConfig(), QStringLiteral("RecommendedSpace")).readEntry(QStringLiteral("Description"), {});
}
bool SpaceHierarchyCache::recommendedSpaceHidden() const
{
KConfigGroup group(KSharedConfig::openStateConfig(), QStringLiteral("RecommendedSpace"));
return group.readEntry<bool>(QStringLiteral("hidden"), false);
}
void SpaceHierarchyCache::setRecommendedSpaceHidden(bool hidden)
{
KConfigGroup group(KSharedConfig::openStateConfig(), QStringLiteral("RecommendedSpace"));
group.writeEntry(QStringLiteral("hidden"), hidden);
group.sync();
Q_EMIT recommendedSpaceHiddenChanged();
}
#include "moc_spacehierarchycache.cpp"