diff options
Diffstat (limited to 'src/sessiontreemodel.cpp')
-rw-r--r-- | src/sessiontreemodel.cpp | 19 |
1 files changed, 11 insertions, 8 deletions
diff --git a/src/sessiontreemodel.cpp b/src/sessiontreemodel.cpp index deda9b7..6861158 100644 --- a/src/sessiontreemodel.cpp +++ b/src/sessiontreemodel.cpp @@ -11,8 +11,8 @@ #include "sessionsiconholder.h" #include "globals.h" -SessionTreeModel::SessionTreeModel(QObject *parent) - : QAbstractItemModel(parent) { +SessionTreeModel::SessionTreeModel(QObject *parent, bool ignoreSections) + : QAbstractItemModel(parent), ignoreSections_(ignoreSections) { root_ = new SessionTreeItem(SECTION_nullptr); } @@ -130,11 +130,15 @@ void SessionTreeModel::addItems(const QList<Session*>& sessions) { SessionTreeItem* parentItem = nullptr; SectionType section = s->section(); - for (int i = 0; i < root_->childCount(); ++i) { - SessionTreeItem* item = root_->child(i); - if (item->sectionType() == section) { - parentItem = item; - break; + if (ignoreSections_) { + parentItem = root_; + } else { + for (int i = 0; i < root_->childCount(); ++i) { + SessionTreeItem* item = root_->child(i); + if (item->sectionType() == section) { + parentItem = item; + break; + } } } @@ -142,7 +146,6 @@ void SessionTreeModel::addItems(const QList<Session*>& sessions) { parentItem = new SessionTreeItem(section, root_); root_->appendChild(parentItem); } - parentItem->appendChild(new SessionTreeItem(s, parentItem)); } } |