fix out of bound crash when edit or remove a board, add board config dialog, fix glibc version in about dialog

This commit is contained in:
Aurelie Delhaie
2023-02-20 16:51:21 +01:00
parent 93026b1373
commit 22ebe6eded
11 changed files with 364 additions and 69 deletions

View File

@@ -10,19 +10,8 @@ TaskDialog::TaskDialog(QWidget *parent) :
ui(new Ui::TaskDialog)
{
ui->setupUi(this);
init();
this->setWindowTitle("New task");
this->status = TaskStateService::getInstance()->getStatuses();
this->priorities = TaskStateService::getInstance()->getPriorities();
foreach (Status s, this->status)
{
ui->statusCombo->addItem(s.getName());
}
foreach (Priority p, this->priorities)
{
ui->priorityCombo->addItem(p.getName());
}
QDate expectedFor = QDate::currentDate();
expectedFor = expectedFor.addDays(10);
@@ -34,19 +23,8 @@ TaskDialog::TaskDialog(Task *t, QWidget *parent) :
ui(new Ui::TaskDialog)
{
ui->setupUi(this);
init();
this->setWindowTitle("Edit task");
this->status = TaskStateService::getInstance()->getStatuses();
this->priorities = TaskStateService::getInstance()->getPriorities();
foreach (Status s, this->status)
{
ui->statusCombo->addItem(s.getName());
}
foreach (Priority p, this->priorities)
{
ui->priorityCombo->addItem(p.getName());
}
// set fields
ui->nameEdit->setText(t->getTitle());
@@ -55,34 +33,12 @@ TaskDialog::TaskDialog(Task *t, QWidget *parent) :
if (t->getPriorityUUID().length() > 0)
{
int16_t refindex = -1;
for (uint16_t i = 0; i < this->priorities.count(); i++)
{
if (this->priorities[i].getUUID() == t->getPriorityUUID())
{
refindex = i;
}
}
if (refindex > -1)
{
ui->priorityCombo->setCurrentIndex(refindex);
}
initSelectionCombobox(t->getPriorityUUID(), ui->priorityCombo);
}
if (t->getStatusUUID().length() > 0)
{
int16_t refindex = -1;
for (uint16_t i = 0; i < this->status.count(); i++)
{
if (this->status[i].getUUID() == t->getStatusUUID())
{
refindex = i;
}
}
if (refindex > -1)
{
ui->statusCombo->setCurrentIndex(refindex);
}
initSelectionCombobox(t->getStatusUUID(), ui->statusCombo);
}
}
@@ -98,16 +54,42 @@ Task TaskDialog::getTask()
QString description = ui->descriptionEdit->toMarkdown(QTextDocument::MarkdownFeature::MarkdownDialectCommonMark);
QDate expectedFor = ui->expectedForEdit->date();
QString priorityUUID = "";
if (ui->priorityCombo->currentIndex() > -1)
if (!ui->priorityCombo->currentData().isNull())
{
Priority priority = priorities[ui->priorityCombo->currentIndex()];
priorityUUID = priority.getUUID();
priorityUUID = ui->priorityCombo->currentData().toString();
}
QString statusUUID = "";
if (ui->statusCombo->currentIndex() > -1)
if (!ui->statusCombo->currentData().isNull())
{
Status s = status[ui->statusCombo->currentIndex()];
statusUUID = s.getUUID();
statusUUID = ui->statusCombo->currentData().toString();
}
return Task(title, description, expectedFor, priorityUUID, statusUUID);
}
void TaskDialog::init()
{
QVector<Status> statuses = TaskStateService::getInstance()->getStatuses();
QVector<Priority> priorities = TaskStateService::getInstance()->getPriorities();
foreach (Status s, statuses)
{
ui->statusCombo->addItem(s.getName(), s.getUUID());
}
foreach (Priority p, priorities)
{
ui->priorityCombo->addItem(p.getName(), p.getUUID());
}
}
void TaskDialog::initSelectionCombobox(QString uuid, QComboBox *cbx)
{
for (uint16_t i = 0; i < cbx->count(); i++)
{
if (cbx->itemData(i).toString() == uuid)
{
cbx->setCurrentIndex(i);
break;
}
}
}