Change Recon form UI

This commit is contained in:
chenhuijun
2024-04-26 13:43:44 +08:00
parent 08570fb377
commit 365bf791a2
6 changed files with 55 additions and 62 deletions

View File

@@ -23,9 +23,6 @@
ReconFormWidget::ReconFormWidget(QWidget *parent)
: TabFormWidget(parent)
, mBtnDiscard(new QToolButton(this))
, mBtnDelete(new QToolButton(this))
, mBtnRefresh(new QToolButton(this))
, mScanTable(new SlideTableView(this))
, mSearchWidget(new ScanSearchCriteriaForm(this))
, mModel(nullptr)
@@ -33,18 +30,10 @@ ReconFormWidget::ReconFormWidget(QWidget *parent)
{
auto layout = new QHBoxLayout(ui->commandWidget);
layout->setAlignment(Qt::AlignmentFlag::AlignLeft);
mBtnDiscard->setObjectName("btnDiscard");
mBtnDelete->setObjectName("btnDelete");
mBtnRefresh->setObjectName("btnRefreshData");
mBtnDiscard->setText(tr("Discard"));
mBtnDelete->setText(tr("Delete"));
mBtnRefresh->setText(tr("Refresh"));
// mBtnRefresh->setObjectName("btnRefreshData");
layout->addWidget(mBtnDiscard);
layout->addWidget(mBtnDelete);
layout->addSpacerItem(new QSpacerItem(20,20,QSizePolicy::Expanding));
addVerticalLine(layout);
layout->addWidget(mBtnRefresh);
initDataModel();
//Init content widget
@@ -55,16 +44,16 @@ ReconFormWidget::ReconFormWidget(QWidget *parent)
auto* contentLayout = new QHBoxLayout(this->ui->contentWidget);
contentLayout->setContentsMargins(0, 0, 0, 0);
initTableView(contentLayout);
connect(mBtnRefresh, &QToolButton::clicked, []()
{
LOG_USER_OPERATION("Update Recon State")
DeviceManager::Default()->updateReconState();
});
ui->commandWidget->setVisible(false);
// connect(mBtnRefresh, &QToolButton::clicked, []()
// {
// LOG_USER_OPERATION("Update Recon State")
// DeviceManager::Default()->updateReconState();
// });
connect(DeviceManager::Default(), &DeviceManager::updateReconStateFinished, mModel, &QSqlTableModel::select);
connect(DeviceManager::Default(), &DeviceManager::transferStatusUpdated, mModel, &QSqlTableModel::select);
connect(mSearchWidget, &ScanSearchCriteriaForm::searchFilterUpdated, this, &ReconFormWidget::updateSearchFilter);
connect(mBtnDelete, &QToolButton::clicked, this, &ReconFormWidget::deleteReconRecord);
connect(mSearchWidget, &ScanSearchCriteriaForm::refreshData, this, &ReconFormWidget::refreshTransferprogress);
connect(mRefreshTimer, &QTimer::timeout, this, &ReconFormWidget::refreshTransferprogress);
connect(EventCenter::Default(), &EventCenter::AnonymousModeChanged, this, &ReconFormWidget::updateSearchFilter);
}
@@ -143,43 +132,6 @@ void ReconFormWidget::hideEvent(QHideEvent *aEvent)
TabFormWidget::hideEvent(aEvent);
}
void ReconFormWidget::deleteReconRecord()
{
if(mScanTable->currentIndex().row() < 0)
{
DialogManager::Default()->requestAlertMessage(tr("No data selected."), DialogButtonMode::OkOnly, tr("Alert"));
return;
}
int currentRowIndex = mScanTable->currentIndex().row();
int state = mModel->index(currentRowIndex, getTableColumnIndex("State")).data().toInt();
if(state != 999)
{
DialogManager::Default()->requestAlertMessage(tr("Can not delete this record before pacs succeed."), DialogButtonMode::OkOnly, tr("Alert"));
return;
}
QString patientName = mModel->index(currentRowIndex, getTableColumnIndex("PatientName")).data().toString();
if (DialogManager::Default()->requestAlertMessage(QString(tr("Delete recon record with patient \"%1\" ?")).arg(patientName),DialogButtonMode::OkAndCancel,tr("Confirm")) != QDialog::Accepted)
{
return;
}
mModel->removeRow(currentRowIndex);
if (mModel->submitAll())
{
mModel->select();
if (mModel->rowCount() > 0)
{
mScanTable->selectRow(0);
mModel->selectRow(0);
LOG_USER_OPERATION(QString("Delete Recon, ID: %1").arg(mModel->index(currentRowIndex, getTableColumnIndex("PatientID")).data().toString()))
}
}
else
{
DialogManager::Default()->requestAlertMessage(tr("Can't delete selected record , db error!"), DialogButtonMode::OkOnly, tr("Alert"));
}
}
int ReconFormWidget::getTableColumnIndex(const QString& aColumnName)
{
return mModel->record().indexOf(aColumnName);

View File

@@ -24,16 +24,12 @@ protected:
private slots:
void updateSearchFilter();
void deleteReconRecord();
void refreshTransferprogress();
private:
int getTableColumnIndex(const QString& aColumnName);
private:
QToolButton* mBtnDiscard;
QToolButton* mBtnDelete;
QToolButton* mBtnRefresh;
SlideTableView* mScanTable;
ScanSearchCriteriaForm* mSearchWidget;
QSqlTableModel *mModel;

View File

@@ -2,6 +2,8 @@
#include "ui_ScanSearchCriteriaForm.h"
#include <QDate>
#include <QDebug>
#include "components/ListBox.h"
#include "dialogs/DialogManager.h"
#include "event/EventCenter.h"
@@ -35,7 +37,12 @@ ScanSearchCriteriaForm::ScanSearchCriteriaForm(QWidget *parent)
ui->mLBEndDate->setUpdatesEnabled(true);
ui->mLBEndDate->setText(QDate::currentDate().toString("yyyy-MM-dd"));
ui->CriteriaTitle->setObjectName("parameterTitle");
ui->CriteriaTitle->setAlignment(Qt::AlignCenter);
ui->ScanTitle->setObjectName("parameterTitle");
ui->ScanTitle->setAlignment(Qt::AlignCenter);
ui->RefreshTitle->setObjectName("parameterTitle");
ui->RefreshTitle->setAlignment(Qt::AlignCenter);
ui->holder1->setObjectName("endSpaceLine");
@@ -44,6 +51,8 @@ ScanSearchCriteriaForm::ScanSearchCriteriaForm(QWidget *parent)
ui->mAccessionNumberEdit->setEnabled(!JsonObject::Instance()->getAnonymousMode());
ui->mClearButton->setEnabled(!JsonObject::Instance()->getAnonymousMode());
ui->mRetrieveButton->setEnabled(!JsonObject::Instance()->getAnonymousMode());
ui->mRefreshButton->setEnabled(!JsonObject::Instance()->getAnonymousMode());
connect(ui->mLBEndDate, &QToolButton::clicked, [=]()
{
@@ -97,7 +106,6 @@ ScanSearchCriteriaForm::ScanSearchCriteriaForm(QWidget *parent)
connect(ui->mBtnDates, &QPushButton::clicked, this, &ScanSearchCriteriaForm::updateSearchFilter);
connect(ui->mRetrieveButton, &QPushButton::clicked, this, &ScanSearchCriteriaForm::updateSearchFilter);
connect(ui->mClearButton, &QPushButton::clicked, this, &ScanSearchCriteriaForm::clearCriteria);
connect(EventCenter::Default(),&EventCenter::AnonymousModeChanged,[=](){
bool AnonymousMode = JsonObject::Instance()->getAnonymousMode();
if (AnonymousMode){
@@ -109,6 +117,8 @@ ScanSearchCriteriaForm::ScanSearchCriteriaForm(QWidget *parent)
ui->mAccessionNumberEdit->setEnabled(false);
ui->mClearButton->setEnabled(false);
ui->mRetrieveButton->setEnabled(false);
ui->mRefreshButton->setEnabled(false);
}
else{
ui->mPatientIDEdit->setEnabled(true);
@@ -116,8 +126,16 @@ ScanSearchCriteriaForm::ScanSearchCriteriaForm(QWidget *parent)
ui->mAccessionNumberEdit->setEnabled(true);
ui->mClearButton->setEnabled(true);
ui->mRetrieveButton->setEnabled(true);
ui->mRefreshButton->setEnabled(true);
}
});
connect(ui->mRefreshButton, &QPushButton::clicked,[=](){
emit refreshData();
});
connect(EventCenter::Default(),&EventCenter::ReloadLanguage,[=](){
ui->retranslateUi(this);
});
}
ScanSearchCriteriaForm::~ScanSearchCriteriaForm()

View File

@@ -21,8 +21,10 @@ private slots:
void updateSearchFilter();
void clearCriteria();
signals:
void searchFilterUpdated();
void refreshData();
private:
Ui::ScanSearchCriteriaForm *ui;

View File

@@ -307,6 +307,20 @@
</layout>
</widget>
</item>
<item>
<widget class="QLabel" name="RefreshTitle">
<property name="text">
<string>Manual Refresh</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="mRefreshButton">
<property name="text">
<string>Refresh</string>
</property>
</widget>
</item>
<item>
<spacer name="verticalSpacer">
<property name="orientation">

View File

@@ -704,7 +704,18 @@ QLabel#protocolPanelTitle {
color: silver
}
QLabel#parameterTitle,#protocolTitle,#patientTitle{
QLabel#parameterTitle{
background: #0078d8;
color: #fcfcfc;
min-height: 52px;
max-height: 52px;
font-size: 26px;
border-radius: 5px;
margin-top: 5px;
margin-bottom: 10px;
}
QLabel#protocolTitle,#patientTitle{
font-size: 26px;
margin: 0;
border-bottom: 1px solid silver