summary refs log tree commit diff
diff options
context:
space:
mode:
authorNicolas Werner <nicolas.werner@hotmail.de>2021-12-01 00:46:02 +0100
committerNicolas Werner <nicolas.werner@hotmail.de>2021-12-01 00:46:02 +0100
commitaa5d2098d02076f3268d9cba27e6d27f822b975c (patch)
tree760640a2ed8464da2ed669af5a9b24d5bc81ff5c
parentDon't pad, just fill (diff)
downloadnheko-aa5d2098d02076f3268d9cba27e6d27f822b975c.tar.xz
Don't waste space for non existing subspaces
-rw-r--r--resources/qml/CommunitiesList.qml2
-rw-r--r--src/timeline/CommunitiesModel.cpp1
-rw-r--r--src/timeline/CommunitiesModel.h10
3 files changed, 12 insertions, 1 deletions
diff --git a/resources/qml/CommunitiesList.qml b/resources/qml/CommunitiesList.qml

index 68175cea..46e24566 100644 --- a/resources/qml/CommunitiesList.qml +++ b/resources/qml/CommunitiesList.qml
@@ -131,7 +131,7 @@ Page { Item { Layout.preferredWidth: fontMetrics.lineSpacing - visible: !communitySidebar.collapsed && !model.collapsible + visible: !communitySidebar.collapsed && !model.collapsible && Communities.containsSubspaces } Avatar { diff --git a/src/timeline/CommunitiesModel.cpp b/src/timeline/CommunitiesModel.cpp
index 0db3b0b0..fb8aac24 100644 --- a/src/timeline/CommunitiesModel.cpp +++ b/src/timeline/CommunitiesModel.cpp
@@ -280,6 +280,7 @@ CommunitiesModel::initializeSidebar() emit tagsChanged(); emit hiddenTagsChanged(); + emit containsSubspacesChanged(); } void diff --git a/src/timeline/CommunitiesModel.h b/src/timeline/CommunitiesModel.h
index 21d24829..5191b239 100644 --- a/src/timeline/CommunitiesModel.h +++ b/src/timeline/CommunitiesModel.h
@@ -33,6 +33,7 @@ class CommunitiesModel : public QAbstractListModel currentTagIdChanged RESET resetCurrentTagId) Q_PROPERTY(QStringList tags READ tags NOTIFY tagsChanged) Q_PROPERTY(QStringList tagsWithDefault READ tagsWithDefault NOTIFY tagsChanged) + Q_PROPERTY(bool containsSubspaces READ containsSubspaces NOTIFY containsSubspacesChanged) public: enum Roles @@ -103,6 +104,14 @@ public: QVariant data(const QModelIndex &index, int role) const override; bool setData(const QModelIndex &index, const QVariant &value, int role = Qt::EditRole) override; + bool containsSubspaces() const + { + for (const auto &e : spaceOrder_.tree) + if (e.depth > 0) + return true; + return false; + } + public slots: void initializeSidebar(); void sync(const mtx::responses::Sync &sync_); @@ -131,6 +140,7 @@ signals: void currentTagIdChanged(QString tagId); void hiddenTagsChanged(); void tagsChanged(); + void containsSubspacesChanged(); private: QStringList tags_;