Files
GUI/src/forms/recon/ScanSearchCriteriaForm.cpp
2023-08-22 17:51:08 +08:00

106 lines
3.5 KiB
C++

#include "ScanSearchCriteriaForm.h"
#include "ui_ScanSearchCriteriaForm.h"
#include <QDate>
#include "components/ListBox.h"
#include "dialogs/DialogManager.h"
ScanSearchCriteriaForm::ScanSearchCriteriaForm(QWidget *parent)
: QWidget(parent)
, ui(new Ui::ScanSearchCriteriaForm)
, mSearchFilter()
{
ui->setupUi(this);
auto beginBox = new ListBox(this);
// beginBox->setSmallBox(true);
ui->verticalLayoutDate->replaceWidget(ui->mLBBeginDate,beginBox);
ui->mLBBeginDate->setVisible(false);
ui->mLBBeginDate->deleteLater();
ui->mLBBeginDate=beginBox;
ui->mLBBeginDate->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed);
ui->mLBBeginDate->setUpdatesEnabled(true);
ui->mLBBeginDate->setText(QDate::currentDate().toString("yyyy-MM-dd"));
auto endBox = new ListBox(this);
// endBox->setSmallBox(true);
ui->verticalLayoutDate->replaceWidget(ui->mLBEndDate,endBox);
ui->mLBEndDate->setVisible(false);
ui->mLBEndDate->deleteLater();
ui->mLBEndDate=endBox;
ui->mLBEndDate->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed);
ui->mLBEndDate->setUpdatesEnabled(true);
ui->mLBEndDate->setText(QDate::currentDate().toString("yyyy-MM-dd"));
ui->CriteriaTitle->setObjectName("parameterTitle");
ui->ScanTitle->setObjectName("parameterTitle");
ui->holder1->setObjectName("endSpaceLine");
connect(ui->mLBEndDate, &QToolButton::clicked, [=]()
{
DialogResult result = DialogManager::Default()->requestSelectDate(ui->mLBEndDate->text());
if (result.ResultCode == QDialog::Accepted)
{
ui->mLBEndDate->setText(result.ResultData.toString());
}
});
connect(ui->mLBBeginDate, &QToolButton::clicked, [=]()
{
DialogResult result = DialogManager::Default()->requestSelectDate(ui->mLBEndDate->text());
if (result.ResultCode == QDialog::Accepted)
{
ui->mLBBeginDate->setText(result.ResultData.toString());
}
});
connect(ui->mBtnToday, &QToolButton::clicked, [=]()
{
QString today = QDate::currentDate().toString("yyyy-MM-dd");
ui->mLBEndDate->setText(today);
ui->mLBBeginDate->setText(today);
updateSearchFilter();
});
connect(ui->mBtnSevenDays, &QToolButton::clicked, [=]()
{
ui->mLBEndDate->setText(QDate::currentDate().toString("yyyy-MM-dd"));
ui->mLBBeginDate->setText(QDate::currentDate().addDays(-7).toString("yyyy-MM-dd"));
updateSearchFilter();
});
connect(ui->mBtnYesterday, &QToolButton::clicked, [=]()
{
QString yesterday = QDate::currentDate().addDays(-1).toString("yyyy-MM-dd");
ui->mLBEndDate->setText(yesterday);
ui->mLBBeginDate->setText(yesterday);
updateSearchFilter();
});
connect(ui->mBtnAll, &QToolButton::clicked, [=]()
{
QString today = QDate::currentDate().toString("yyyy-MM-dd");
ui->mLBEndDate->setText(today);
ui->mLBBeginDate->setText("1990-01-01");
updateSearchFilter();
});
connect(ui->mBtnDates, &QPushButton::clicked, this, &ScanSearchCriteriaForm::updateSearchFilter);
}
ScanSearchCriteriaForm::~ScanSearchCriteriaForm()
{
delete ui;
}
QString ScanSearchCriteriaForm::getSearchFilter()
{
return QString("ScanDateTime >= '%1 00:00:00' And ScanDateTime <= '%2 23:59:59'").arg(ui->mLBBeginDate->text()).arg(ui->mLBEndDate->text());
}
void ScanSearchCriteriaForm::updateSearchFilter()
{
emit searchFilterUpdated();
}