auto determine board status, show board status

This commit is contained in:
Aurelie Delhaie
2023-02-16 21:53:07 +01:00
parent 35dee6684f
commit 1b56b5eec5
11 changed files with 219 additions and 21 deletions

View File

@@ -25,6 +25,7 @@ MainWindow::MainWindow(QWidget *parent)
, ui(new Ui::MainWindow)
{
ui->setupUi(this);
ui->boardStatus->setVisible(false);
this->menuSelectedBoardItem = nullptr;
this->menuSelectedFilterItem = nullptr;
this->menuSelectedTaskItem = nullptr;
@@ -245,6 +246,7 @@ void MainWindow::onEditTask(QTreeWidgetItem *item)
t->update(editedTask);
updateTaskRow(item, editedTask);
save();
redrawBoardStatus();
if (selectedFilterIndex > -1)
{
redrawTaskTree();
@@ -629,6 +631,13 @@ void MainWindow::redrawTaskTree()
if (selectedBoardIndex > -1)
{
Board *b = boards[selectedBoardIndex];
std::optional<Status> boardStatus = TaskStateService::getInstance()->getStatusByUUID(b->getStatus());
if (boardStatus.has_value())
{
ui->boardStatus->setStyleSheet(Tools::getStatusLabelStylesheet(boardStatus.value()));
ui->boardStatus->setText(boardStatus.value().getName());
ui->boardStatus->setVisible(true);
}
foreach (Task *t, b->getTasks())
{
QTreeWidgetItem *item = new QTreeWidgetItem();
@@ -647,6 +656,23 @@ void MainWindow::redrawTaskTree()
ui->taskList->addTopLevelItem(item);
}
}
redrawBoardStatus();
}
void MainWindow::redrawBoardStatus()
{
ui->boardStatus->setVisible(false);
if (selectedBoardIndex > -1)
{
Board *b = boards[selectedBoardIndex];
std::optional<Status> boardStatus = TaskStateService::getInstance()->getStatusByUUID(b->getStatus());
if (boardStatus.has_value())
{
ui->boardStatus->setStyleSheet(Tools::getStatusLabelStylesheet(boardStatus.value()));
ui->boardStatus->setText(boardStatus.value().getName());
ui->boardStatus->setVisible(true);
}
}
}
void MainWindow::save()