fix: fix a toolbar and thumbnailbar display bug when data reload with a empty dir

This commit is contained in:
kradchen
2025-07-07 10:18:34 +08:00
parent 0b095927ff
commit 6a188112ea
3 changed files with 20 additions and 6 deletions

View File

@@ -85,9 +85,9 @@ void DefaultToolBar::changePseudoColor(bool on)
emit setPseudoColor(table);
}
void DefaultToolBar::resetToolbarMode()
void DefaultToolBar::resetToolbarMode(bool aHasSeries)
{
mBtnSlice->click();
if (aHasSeries)mBtnSlice->click();
}
QAction* DefaultToolBar::addButton(QToolButton* button, const char* objectName) {
@@ -469,6 +469,7 @@ void DefaultToolBar::initMeasureButton() {
QPixmap map(std::get<0>(MEASURE_ACTIIONS[index]));\
mBtnMeasure->setIcon(QIcon(map));\
MeasureHelper::setMeasureType(std::get<1>(MEASURE_ACTIIONS[index]));\
mBtnMeasure->setProperty("mode",0);\
})
@@ -481,7 +482,13 @@ void DefaultToolBar::initMeasureButton() {
mBtnMeasure->setToolTip(tr("Measuring tool"));
connect(mBtnMeasure, &QToolButton::clicked, [=](){
if (mBtnMeasure->property("mode").toInt() == 38)
{
emit modeChanged(38);
}
else{
MeasureHelper::setMeasureType(MeasureHelper::getMeasureType());
}
});
QMenu *m;
@@ -495,6 +502,7 @@ void DefaultToolBar::initMeasureButton() {
mBtnMeasure->setChecked(true);
QPixmap map(":/InfiniteViewer/Icon/crosshair.png");
mBtnMeasure->setIcon(QIcon(map));
mBtnMeasure->setProperty("mode",38);
emit modeChanged(38);
});
m->addSeparator();

View File

@@ -21,7 +21,7 @@ public:
void updateNeedCheckFunctionButtons(ViewFunctionState state);
void setViewManager(ImageViewManager* aManager);
void changePseudoColor(bool on = false);
void resetToolbarMode();
void resetToolbarMode(bool aHasSeries = true);
signals:
void openFile();
void openFolder();

View File

@@ -360,10 +360,16 @@ void QDicomViewer::openDICOM(const std::string &dicomName, SeriesOpenMode openMo
}
if (count > 0){
ui->viewContainer->getViewManager()->viewReload(vector[0]->GetUniqueID());
ui->thumbnailBar->updateThumbnailBar();
ui->toolBar->resetToolbarMode(true);
}
else{
ui->viewContainer->getViewManager()->getFirstView()->viewCleared();
displayThumbnailBar(false);
ui->thumbnailBar->updateThumbnailBar();
ui->toolBar->resetToolbarMode(false);
}
ui->thumbnailBar->updateThumbnailBar();
ui->toolBar->resetToolbarMode();
}
void QDicomViewer::openDICOMWithLayout(const std::string &dicomName, SeriesType aSeriesType)