From ccc10a881e8c5a023e51d24fcc6de5b37f920584 Mon Sep 17 00:00:00 2001 From: sunwen Date: Tue, 19 Nov 2024 15:25:28 +0800 Subject: [PATCH] fix: Default scan protocol error. --- src/dialogs/StartScanProcessDialog.cpp | 40 +++++++++++++++++-------- src/forms/select/PatientInformation.cpp | 8 +++++ 2 files changed, 35 insertions(+), 13 deletions(-) diff --git a/src/dialogs/StartScanProcessDialog.cpp b/src/dialogs/StartScanProcessDialog.cpp index 0bb808e..683e43a 100644 --- a/src/dialogs/StartScanProcessDialog.cpp +++ b/src/dialogs/StartScanProcessDialog.cpp @@ -100,39 +100,53 @@ void StartScanProcessDialog::setButtonModeFromPatient(PatientInformation* aPatie return; } + int defaultProtocol = GetProtocalHelper::getProtocal(); if(selectedAccession.size() == 2) { mUI->mOnlyLeftButton->setEnabled(false); mUI->mOnlyRightButton->setEnabled(false); - return; + if(defaultProtocol == LONE || defaultProtocol == RONE) + { + mUI->mLeftToRightButton->setChecked(true); + mScanProtocal = LSTAND; + } } if(aPatient->mSelectedScanProtocol == ScanLeftRight) { mUI->mOnlyLeftButton->setEnabled(false); mUI->mOnlyRightButton->setEnabled(false); - mUI->mLeftToRightButton->setChecked(true); - mScanProtocal = LSTAND; + if(defaultProtocol == LONE || defaultProtocol == RONE) + { + mUI->mLeftToRightButton->setChecked(true); + mScanProtocal = LSTAND; + } return; } if(aPatient->mSelectedScanProtocol == ScanLeft) { - mUI->mLeftToRightButton->setEnabled(false); - mUI->mRightToLeftButton->setEnabled(false); - mUI->mOnlyRightButton->setEnabled(false); - mUI->mOnlyLeftButton->setChecked(true); - mScanProtocal = LONE; + if(selectedAccession.size() == 1) + { + mUI->mLeftToRightButton->setEnabled(false); + mUI->mRightToLeftButton->setEnabled(false); + mUI->mOnlyRightButton->setEnabled(false); + mUI->mOnlyLeftButton->setChecked(true); + mScanProtocal = LONE; + } return; } if(aPatient->mSelectedScanProtocol == ScanRight) { - mUI->mLeftToRightButton->setEnabled(false); - mUI->mRightToLeftButton->setEnabled(false); - mUI->mOnlyLeftButton->setEnabled(false); - mUI->mOnlyRightButton->setChecked(true); - mScanProtocal = RONE; + if(selectedAccession.size() == 1) + { + mUI->mLeftToRightButton->setEnabled(false); + mUI->mRightToLeftButton->setEnabled(false); + mUI->mOnlyLeftButton->setEnabled(false); + mUI->mOnlyRightButton->setChecked(true); + mScanProtocal = RONE; + } return; } } diff --git a/src/forms/select/PatientInformation.cpp b/src/forms/select/PatientInformation.cpp index 423b697..ffb9f9f 100644 --- a/src/forms/select/PatientInformation.cpp +++ b/src/forms/select/PatientInformation.cpp @@ -191,10 +191,18 @@ AccessionInformation* PatientInformation::findSelectedAccession(ScanProtocol aPr if(aIfEmptyGetTop) { + if(mSelectedAccessions.first()->mPosition & ScanLeftRight) + { + return mSelectedAccessions.last(); + } return mSelectedAccessions.first(); } else { + if(mSelectedAccessions.last()->mPosition & ScanLeftRight) + { + return mSelectedAccessions.first(); + } return mSelectedAccessions.last(); } }