From 6c9d7e079cceade194b5faa6c65e98920be697ef Mon Sep 17 00:00:00 2001 From: Louie S Date: Fri, 15 Mar 2024 16:35:30 -0400 Subject: sorting implemented; functionality is now matching pyqt version --- src/assignmentList.cpp | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) (limited to 'src/assignmentList.cpp') diff --git a/src/assignmentList.cpp b/src/assignmentList.cpp index a883523..abd2bda 100644 --- a/src/assignmentList.cpp +++ b/src/assignmentList.cpp @@ -1,3 +1,4 @@ +#include #include #include #include @@ -6,12 +7,12 @@ #include #include #include +#include #include #include #include #include -#include #include "addGroupForm.h" #include "assignmentList.h" @@ -72,7 +73,7 @@ void AssignmentList::displayWidgets() { QVBoxLayout *column_left = new QVBoxLayout(); QVBoxLayout *column_right = new QVBoxLayout(); BackendDB database; - QList groups = database.loadGroups(); + QList groups = database.loadGroups(); GroupLayout *new_group_layout; int i; @@ -80,10 +81,10 @@ void AssignmentList::displayWidgets() { recursiveClear(ui.groups_layout); for(i = 0; i < groups.size(); ++i) { - if(groups[i]->hidden) continue; - new_group_layout = new GroupLayout(*groups[i]); - new_group_layout->addLayout(this->drawEntries(groups[i]->id)); // add entries to layout - if(groups[i]->column == Group::left) column_left->addLayout(new_group_layout); + if(groups[i].hidden) continue; + new_group_layout = new GroupLayout(groups[i]); + new_group_layout->addLayout(this->drawEntries(groups[i].id)); // add entries to layout + if(groups[i].column == Group::left) column_left->addLayout(new_group_layout); else column_right->addLayout(new_group_layout); } @@ -96,18 +97,20 @@ void AssignmentList::displayWidgets() { QVBoxLayout *AssignmentList::drawEntries(int parent_id) { BackendDB database; - QList entries = database.loadEntries(parent_id); + QList entries = database.loadEntries(parent_id); QVBoxLayout *output = new QVBoxLayout; int i; // styling output->setContentsMargins(5, 0, 0, 0); - // TODO sort entries + // sort entries + std::sort(entries.begin(), entries.end(), Entry::compare); + for(i = 0; i < entries.size(); ++i) { // skip if this entry is set to hidden - if(entries[i]->hidden) continue; - output->addLayout(new EntryLayout(*entries[i])); + if(entries[i].hidden) continue; + output->addLayout(new EntryLayout(entries[i])); } return output; -- cgit