diff --git a/src/src/UI/Manager/ImageViewStateCheckWorker.cpp b/src/src/UI/Manager/ImageViewStateCheckWorker.cpp index 864d2ba..0a748a6 100644 --- a/src/src/UI/Manager/ImageViewStateCheckWorker.cpp +++ b/src/src/UI/Manager/ImageViewStateCheckWorker.cpp @@ -20,6 +20,10 @@ void ImageViewStateCheckWorker::checkImageViewState(DicomImageView *view) { state.canSync=mManager->checkSyncAbility(view); state.canMPR= view->checkMPRAble() ? view->getReconPlane() : -1; state.canFusion=mManager->checkViewFusion(view); - emit imageViewStateChanged(state); + state.none = false; } + else{ + state.none = true; + } + emit imageViewStateChanged(state); } diff --git a/src/src/UI/Manager/ImageViewStateCheckWorker.h b/src/src/UI/Manager/ImageViewStateCheckWorker.h index 168dd7c..0d61171 100644 --- a/src/src/UI/Manager/ImageViewStateCheckWorker.h +++ b/src/src/UI/Manager/ImageViewStateCheckWorker.h @@ -11,6 +11,7 @@ struct ViewFunctionState{ int canSync; int canMPR; bool canFusion; + bool none; }; class ImageViewStateCheckWorker: public QObject { diff --git a/src/src/UI/Widget/ToolBar/DefaultToolBar.cpp b/src/src/UI/Widget/ToolBar/DefaultToolBar.cpp index 3a138ce..a85fb11 100644 --- a/src/src/UI/Widget/ToolBar/DefaultToolBar.cpp +++ b/src/src/UI/Widget/ToolBar/DefaultToolBar.cpp @@ -91,30 +91,63 @@ void DefaultToolBar::initToolBarButtons() { addButton(mBtnFile, "file"); addButton(mBtnImport, "import"); addButton(mBtnSave, "save"); + mBtnSave->setEnabled(false); addSeparator(); addButton(mBtnGrid, "grid"); + mBtnGrid->setEnabled(false); + addButton(mBtnSync, "sync"); + mBtnSync->setEnabled(false); + addButton(mBtnAnonymize, "anonymize"); + mBtnAnonymize->setEnabled(false); + addSeparator(); QButtonGroup *modeGroup = new QButtonGroup(this); addGroupedButton(mBtnSlice, "slice", modeGroup); + mBtnSlice->setEnabled(false); + addGroupedButton(mBtnWindow, "window", modeGroup); + mBtnWindow->setEnabled(false); + addGroupedButton(mBtnPan, "pan", modeGroup); + mBtnPan->setEnabled(false); + addGroupedButton(mBtnZoom, "zoom", modeGroup); + mBtnZoom->setEnabled(false); + addGroupedButton(mBtnMeasure, "measure", modeGroup); + mBtnMeasure->setEnabled(false); + addButton(mBtnClear, "clear"); + mBtnClear->setEnabled(false); + addSeparator(); addButton(mBtnFlip, "flip"); + mBtnFlip->setEnabled(false); + addButton(mBtnCine, "cine"); - addButton(mBtnFusion, "fusion"); + mBtnCine->setEnabled(false); + + //hide for this version + auto actionFusion = addButton(mBtnFusion, "fusion"); + mBtnFusion->setEnabled(false); + actionFusion->setVisible(false); + addButton(mBtnMPR, "MPR"); - addButton(mBtnVR, "VR"); + mBtnMPR->setEnabled(false); + + //hide for this version + auto actionVR = addButton(mBtnVR, "VR"); + mBtnVR->setEnabled(false); + actionVR->setVisible(false); + QWidget *spacer = new QWidget(this); spacer->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Preferred); @@ -465,6 +498,37 @@ void DefaultToolBar::resetNeedCheckFunctionButtons(){ void DefaultToolBar::updateNeedCheckFunctionButtons(ViewFunctionState state) { + if (state.none) + { + mBtnSave->setEnabled(false); + mBtnGrid->setEnabled(false); + mBtnSync->setEnabled(false); + mBtnAnonymize->setEnabled(false); + mBtnSlice->setEnabled(false); + mBtnWindow->setEnabled(false); + mBtnPan->setEnabled(false); + mBtnZoom->setEnabled(false); + mBtnMeasure->setEnabled(false); + mBtnClear->setEnabled(false); + mBtnFlip->setEnabled(false); + mBtnCine->setEnabled(false); + mBtnFusion->setEnabled(false); + mBtnMPR->setEnabled(false); + mBtnVR->setEnabled(false); + } + else{ + mBtnSave->setEnabled(true); + mBtnGrid->setEnabled(true); + mBtnSync->setEnabled(true); + mBtnAnonymize->setEnabled(true); + mBtnSlice->setEnabled(true); + mBtnWindow->setEnabled(true); + mBtnPan->setEnabled(true); + mBtnZoom->setEnabled(true); + mBtnMeasure->setEnabled(true); + mBtnClear->setEnabled(true); + mBtnFlip->setEnabled(true); + mBtnCine->setEnabled(true); mBtnMPR->setEnabled(state.canMPR!=-1); mBtnVR->setEnabled(state.canMPR!=-1); if (state.canMPR!=-1){ @@ -479,6 +543,7 @@ void DefaultToolBar::updateNeedCheckFunctionButtons(ViewFunctionState state) mMPRActions[state.canMPR]->setChecked(true); } mBtnFusion->setEnabled(state.canFusion); + } // SyncHelper::setSyncState((SyncState)state.canSync); // syncStateChanged(); }