feat: Add filter usage warning in water process mode.

This commit is contained in:
sunwen
2025-03-20 15:41:02 +08:00
parent a2008c6f58
commit 014a7abdca
9 changed files with 296 additions and 144 deletions

View File

@@ -22,6 +22,7 @@
#include "components/WaveWidget.h"
#include "components/ZFlashWidget.h"
#include "utilities/ScanProcessSequence.h"
#include "utilities/FilterUsageCalculator.h"
#include "dicom/MPPSManager.h"
#ifdef WIN32
@@ -127,7 +128,9 @@ void ScanFormWidget::initCommandWidget(QHBoxLayout *layout)
connect(mWaterfloodButton, &QToolButton::clicked, [this](bool aStatus)
{
if(aStatus && DialogManager::Default()->requestAlertMessage(tr("Please confirm if water injection is required ?"), DialogButtonMode::OkAndCancel, tr("Confirm Water Injection")) == QDialog::Rejected)
QString filterMessage = FilterUsageCalculator::getCurrentFilterUsage() > FilterUsageCalculator::getMaximumFilterUsage() ?
tr("\n(The filter element has expired, please pay attention to replacing the filter element)"):"";
if(aStatus && DialogManager::Default()->requestAlertMessage(tr("Please confirm if water injection is required ?") + filterMessage, DialogButtonMode::OkAndCancel, tr("Confirm Water Injection")) == QDialog::Rejected)
{
mWaterfloodButton->setChecked(!aStatus);
return;
@@ -169,7 +172,9 @@ void ScanFormWidget::initCommandWidget(QHBoxLayout *layout)
connect(mCleanButton, &QToolButton::clicked, [this](bool aStatus)
{
if(aStatus && DialogManager::Default()->requestAlertMessage(tr("Please confirm if cleaning and disinfection are required. ?"), DialogButtonMode::OkAndCancel, tr("Confirm cleaning")) == QDialog::Rejected)
QString filterMessage = FilterUsageCalculator::getCurrentFilterUsage() > FilterUsageCalculator::getMaximumFilterUsage() ?
tr("\n(The filter element has expired, please pay attention to replacing the filter element)"):"";
if(aStatus && DialogManager::Default()->requestAlertMessage(tr("Please confirm if cleaning and disinfection are required ?") + filterMessage, DialogButtonMode::OkAndCancel, tr("Confirm cleaning")) == QDialog::Rejected)
{
mCleanButton->setChecked(!aStatus);
return;
@@ -279,6 +284,7 @@ void ScanFormWidget::initCommandWidget(QHBoxLayout *layout)
switch (mWaterProcessMode)
{
case WaterFloodMode:
FilterUsageCalculator::addFilterUsageByWaterFloodMode();
message = tr("Waterflood finished.");
DialogManager::Default()->requestAlertMessage(message, DialogButtonMode::OkOnly, tr("Confirm Water Injection"));
break;
@@ -392,6 +398,7 @@ void ScanFormWidget::processWaterCleanResult()
switch (mWaterCleanStep)
{
case FirstWaterClean:
FilterUsageCalculator::addFilterUsageByCleanMode();
message = tr("Please click the confirm button for cleaning after disinfection.");
if(DialogManager::Default()->requestAlertMessage(message, DialogButtonMode::OkAndCancel, tr("Confirm cleaning")) == QDialog::Accepted)
{
@@ -399,6 +406,7 @@ void ScanFormWidget::processWaterCleanResult()
}
break;
case SecondWaterClean:
FilterUsageCalculator::addFilterUsageByCleanMode();
message = tr("cleanning finished.");
DialogManager::Default()->requestAlertMessage(message, DialogButtonMode::OkOnly, tr("Confirm cleaning"));
break;