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(); } }