Create filter dialog, board description
This commit is contained in:
80
src/frames/filterdialog.cpp
Normal file
80
src/frames/filterdialog.cpp
Normal file
@@ -0,0 +1,80 @@
|
||||
#include "filterdialog.h"
|
||||
#include "ui_filterdialog.h"
|
||||
|
||||
FilterDialog::FilterDialog(QString dialogTitle, QVector<Board*> boards, QVector<Status> status, QVector<Priority> priorities, QWidget *parent) :
|
||||
QDialog(parent),
|
||||
ui(new Ui::FilterDialog)
|
||||
{
|
||||
ui->setupUi(this);
|
||||
this->setWindowTitle(dialogTitle);
|
||||
|
||||
for (Board *b : boards)
|
||||
{
|
||||
QListWidgetItem *item = new QListWidgetItem();
|
||||
item->setFlags(item->flags() | Qt::ItemIsUserCheckable);
|
||||
item->setCheckState(Qt::Unchecked);
|
||||
item->setText(b->getName());
|
||||
item->setData(1, b->getUuid());
|
||||
ui->boardListWidget->addItem(item);
|
||||
}
|
||||
|
||||
for (Status s : status)
|
||||
{
|
||||
QListWidgetItem *item = new QListWidgetItem();
|
||||
item->setFlags(item->flags() | Qt::ItemIsUserCheckable);
|
||||
item->setCheckState(Qt::Unchecked);
|
||||
item->setText(s.getName());
|
||||
item->setData(1, s.getUUID());
|
||||
ui->statusListWidget->addItem(item);
|
||||
}
|
||||
|
||||
for (Priority p : priorities)
|
||||
{
|
||||
QListWidgetItem *item = new QListWidgetItem();
|
||||
item->setFlags(item->flags() | Qt::ItemIsUserCheckable);
|
||||
item->setCheckState(Qt::Unchecked);
|
||||
item->setText(p.getName());
|
||||
item->setData(1, p.getUUID());
|
||||
ui->priorityListWidget->addItem(item);
|
||||
}
|
||||
}
|
||||
|
||||
FilterDialog::~FilterDialog()
|
||||
{
|
||||
delete ui;
|
||||
}
|
||||
|
||||
const Filter FilterDialog::getFilter()
|
||||
{
|
||||
QString name = ui->nameEdit->text();
|
||||
uint8_t dateComparation = 0;
|
||||
if (ui->dateComparationCombobox->currentIndex() > -1)
|
||||
{
|
||||
dateComparation = ui->dateComparationCombobox->currentIndex();
|
||||
}
|
||||
QVector<QString> boards;
|
||||
for (int i = 0; i < ui->boardListWidget->count(); ++i) {
|
||||
QListWidgetItem *item = ui->boardListWidget->item(i);
|
||||
if (item->checkState() == Qt::Checked)
|
||||
{
|
||||
boards.append(item->data(1).toString());
|
||||
}
|
||||
}
|
||||
QVector<QString> status;
|
||||
for (int i = 0; i < ui->statusListWidget->count(); ++i) {
|
||||
QListWidgetItem *item = ui->statusListWidget->item(i);
|
||||
if (item->checkState() == Qt::Checked)
|
||||
{
|
||||
status.append(item->data(1).toString());
|
||||
}
|
||||
}
|
||||
QVector<QString> priorities;
|
||||
for (int i = 0; i < ui->priorityListWidget->count(); ++i) {
|
||||
QListWidgetItem *item = ui->priorityListWidget->item(i);
|
||||
if (item->checkState() == Qt::Checked)
|
||||
{
|
||||
priorities.append(item->data(1).toString());
|
||||
}
|
||||
}
|
||||
return Filter(name, dateComparation, boards, status, priorities);
|
||||
}
|
||||
Reference in New Issue
Block a user