From 365bf791a26759de7ea55233b5d79f37011a1502 Mon Sep 17 00:00:00 2001 From: chenhuijun Date: Fri, 26 Apr 2024 13:43:44 +0800 Subject: [PATCH] Change Recon form UI --- src/forms/recon/ReconFormWidget.cpp | 64 +++------------------- src/forms/recon/ReconFormWidget.h | 4 -- src/forms/recon/ScanSearchCriteriaForm.cpp | 20 ++++++- src/forms/recon/ScanSearchCriteriaForm.h | 2 + src/forms/recon/ScanSearchCriteriaForm.ui | 14 +++++ src/stylesheet/Dark2.css | 13 ++++- 6 files changed, 55 insertions(+), 62 deletions(-) diff --git a/src/forms/recon/ReconFormWidget.cpp b/src/forms/recon/ReconFormWidget.cpp index 2761d3a..fbc261a 100644 --- a/src/forms/recon/ReconFormWidget.cpp +++ b/src/forms/recon/ReconFormWidget.cpp @@ -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); diff --git a/src/forms/recon/ReconFormWidget.h b/src/forms/recon/ReconFormWidget.h index a145838..2ac7caf 100644 --- a/src/forms/recon/ReconFormWidget.h +++ b/src/forms/recon/ReconFormWidget.h @@ -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; diff --git a/src/forms/recon/ScanSearchCriteriaForm.cpp b/src/forms/recon/ScanSearchCriteriaForm.cpp index f696aed..40fd7d2 100644 --- a/src/forms/recon/ScanSearchCriteriaForm.cpp +++ b/src/forms/recon/ScanSearchCriteriaForm.cpp @@ -2,6 +2,8 @@ #include "ui_ScanSearchCriteriaForm.h" #include +#include + #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() diff --git a/src/forms/recon/ScanSearchCriteriaForm.h b/src/forms/recon/ScanSearchCriteriaForm.h index 8e9153a..127a038 100644 --- a/src/forms/recon/ScanSearchCriteriaForm.h +++ b/src/forms/recon/ScanSearchCriteriaForm.h @@ -21,8 +21,10 @@ private slots: void updateSearchFilter(); void clearCriteria(); + signals: void searchFilterUpdated(); + void refreshData(); private: Ui::ScanSearchCriteriaForm *ui; diff --git a/src/forms/recon/ScanSearchCriteriaForm.ui b/src/forms/recon/ScanSearchCriteriaForm.ui index 2438b49..1af6085 100644 --- a/src/forms/recon/ScanSearchCriteriaForm.ui +++ b/src/forms/recon/ScanSearchCriteriaForm.ui @@ -307,6 +307,20 @@ + + + + Manual Refresh + + + + + + + Refresh + + + diff --git a/src/stylesheet/Dark2.css b/src/stylesheet/Dark2.css index 3db8aa9..d1809c3 100644 --- a/src/stylesheet/Dark2.css +++ b/src/stylesheet/Dark2.css @@ -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