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

@@ -41,6 +41,8 @@ PrefDialog::PrefDialog(QWidget *parent) :
connect(ui->namePriorityEdit, &QLineEdit::textEdited, this, &PrefDialog::onNameChange);
connect(ui->removeStatusButton, &QPushButton::clicked, this, &PrefDialog::onRemoveStatusButtonClick);
connect(ui->removePriorityButton, &QPushButton::clicked, this, &PrefDialog::onRemovePriorityButtonClick);
connect(ui->upStatus, &QPushButton::clicked, this, &PrefDialog::onUpStatusButtonClick);
connect(ui->downStatus, &QPushButton::clicked, this, &PrefDialog::onDownStatusButtonClick);
}
PrefDialog::~PrefDialog()
@@ -116,6 +118,16 @@ void PrefDialog::onItemSelectionChange(int index)
colorBtn = ui->colorStatusButton;
nameEdit = ui->nameStatusEdit;
colorEdit = ui->colorStatusEdit;
if (index > -1)
{
ui->downStatus->setEnabled((index > 0));
ui->upStatus->setEnabled((index < statusUUIDRef.size()-1));
}
else
{
ui->downStatus->setEnabled(false);
ui->upStatus->setEnabled(false);
}
}
else
{
@@ -211,6 +223,46 @@ void PrefDialog::onRemovePriorityButtonClick()
priorityUUIDRef.removeAt(index);
}
void PrefDialog::onUpStatusButtonClick()
{
if (ui->statusListWidget->selectedItems().size() != 1)
{
return;
}
int i = ui->statusListWidget->indexFromItem(ui->statusListWidget->selectedItems()[0]).row();
if (i < statusUUIDRef.size())
{
QListWidgetItem *item = ui->statusListWidget->takeItem(i);
i++;
ui->statusListWidget->insertItem(i, item);
statusUUIDRef.move(i-1, i);
ui->downStatus->setEnabled((i > 0));
ui->upStatus->setEnabled((i < statusUUIDRef.size()-1));
ui->statusListWidget->setCurrentRow(i);
}
}
void PrefDialog::onDownStatusButtonClick()
{
if (ui->statusListWidget->selectedItems().size() != 1)
{
return;
}
int i = ui->statusListWidget->indexFromItem(ui->statusListWidget->selectedItems()[0]).row();
if (i > 0)
{
QListWidgetItem *item = ui->statusListWidget->takeItem(i);
i--;
ui->statusListWidget->insertItem(i, item);
statusUUIDRef.move(i+1, i);
ui->downStatus->setEnabled((i > 0));
ui->upStatus->setEnabled((i < statusUUIDRef.size()-1));
ui->statusListWidget->setCurrentRow(i);
}
}
void PrefDialog::setItemColor(QListWidgetItem *item, QColor bgColor)
{
QColor fgColor = Tools::getForegroundColor(bgColor);