Hide uneditable spaces from menu

This commit is contained in:
Nicolas Werner 2022-08-10 00:28:23 +02:00
parent 376612e4eb
commit 9714486447
No known key found for this signature in database
GPG key ID: C8D75E610773F2D9

View file

@ -751,6 +751,12 @@ CommunitiesModel::spaceChildrenListFromIndex(QString room, int idx) const
const auto &e = spaceOrder_.tree[i];
if (e.depth == spaceOrder_.tree[begin].depth && spaces_.count(e.id)) {
bool canSendChild = Permissions(e.id).canChange(qml_mtx_events::SpaceChild);
// For now hide the space, if we can't send any child, since then the only allowed
// action would be removing a space and even that only works if it currently only has a
// parent set in the child.
if (!canSendChild)
continue;
auto spaceId = e.id.toStdString();
auto child =
cache::client()->getStateEvent<mtx::events::state::space::Child>(spaceId, room_);