Refactor DefaultToolBar.And remove sync auto disable logic.

This commit is contained in:
Krad
2022-08-12 14:08:19 +08:00
parent ab63c67bbf
commit b85b1ac717
2 changed files with 72 additions and 72 deletions

View File

@@ -55,20 +55,20 @@ DefaultToolBar::DefaultToolBar(QWidget *parent) : QToolBar(parent)
mManualIcon.addFile(SYNC_MANUAL_URL); mManualIcon.addFile(SYNC_MANUAL_URL);
mAutoIcon.addFile(SYNC_AUTO_URL); mAutoIcon.addFile(SYNC_AUTO_URL);
mDisIcon.addFile(SYNC_DIS_URL); mDisIcon.addFile(SYNC_DIS_URL);
initButtons(); initToolBarButtons();
} }
DefaultToolBar::~DefaultToolBar() { DefaultToolBar::~DefaultToolBar() {
} }
QAction* DefaultToolBar::initButton(QToolButton* button, const char* objectName) { QAction* DefaultToolBar::addButton(QToolButton* button, const char* objectName) {
button->setObjectName(objectName); button->setObjectName(objectName);
button->setToolButtonStyle(Qt::ToolButtonIconOnly); button->setToolButtonStyle(Qt::ToolButtonIconOnly);
return addWidget(button); return addWidget(button);
} }
void DefaultToolBar::initGroupedButton(QToolButton* button, const char* objectName, QButtonGroup * group) { void DefaultToolBar::addGroupedButton(QToolButton* button, const char* objectName, QButtonGroup * group) {
button->setObjectName(objectName); button->setObjectName(objectName);
button->setCheckable(true); button->setCheckable(true);
button->setAutoExclusive(true); button->setAutoExclusive(true);
@@ -76,66 +76,66 @@ void DefaultToolBar::initGroupedButton(QToolButton* button, const char* objectNa
addWidget(button); addWidget(button);
} }
void DefaultToolBar::initButtons() { void DefaultToolBar::initToolBarButtons() {
setContextMenuPolicy(Qt::ContextMenuPolicy::PreventContextMenu); setContextMenuPolicy(Qt::ContextMenuPolicy::PreventContextMenu);
setFixedHeight(VCRHelper::toolbar_Height); setFixedHeight(VCRHelper::toolbar_Height);
setMovable(false); setMovable(false);
initButton(mBtnFile, "file"); addButton(mBtnFile, "file");
initButton(mBtnImport, "import"); addButton(mBtnImport, "import");
initButton(mBtnSave, "save"); addButton(mBtnSave, "save");
addSeparator(); addSeparator();
initButton(mBtnGrid, "grid"); addButton(mBtnGrid, "grid");
initButton(mBtnSync, "sync"); addButton(mBtnSync, "sync");
initButton(mBtnAnonymize, "anonymize"); addButton(mBtnAnonymize, "anonymize");
addSeparator(); addSeparator();
QButtonGroup *modeGroup = new QButtonGroup(this); QButtonGroup *modeGroup = new QButtonGroup(this);
initGroupedButton(mBtnSlice, "slice", modeGroup); addGroupedButton(mBtnSlice, "slice", modeGroup);
initGroupedButton(mBtnWindow, "window", modeGroup); addGroupedButton(mBtnWindow, "window", modeGroup);
initGroupedButton(mBtnPan, "pan", modeGroup); addGroupedButton(mBtnPan, "pan", modeGroup);
initGroupedButton(mBtnZoom, "zoom", modeGroup); addGroupedButton(mBtnZoom, "zoom", modeGroup);
initGroupedButton(mBtnMeasure, "measure", modeGroup); addGroupedButton(mBtnMeasure, "measure", modeGroup);
initButton(mBtnClear, "clear"); addButton(mBtnClear, "clear");
addSeparator(); addSeparator();
initButton(mBtnFlip, "flip"); addButton(mBtnFlip, "flip");
initButton(mBtnCine, "cine"); addButton(mBtnCine, "cine");
initButton(mBtnFusion, "fusion"); addButton(mBtnFusion, "fusion");
initButton(mBtnMPR, "MPR"); addButton(mBtnMPR, "MPR");
QWidget *spacer = new QWidget(this); QWidget *spacer = new QWidget(this);
spacer->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Preferred); spacer->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Preferred);
addWidget(spacer); addWidget(spacer);
mActionMinimize = initButton(mBtnMinimize, "minimize"); mActionMinimize = addButton(mBtnMinimize, "minimize");
mActionMaximize = initButton(mBtnMaximize, "maximize"); mActionMaximize = addButton(mBtnMaximize, "maximize");
mActionClose = initButton(mBtnClose, "close"); mActionClose = addButton(mBtnClose, "close");
mActionFullScreen = initButton(mBtnFullScreen, "fullscreen"); mActionFullScreen = addButton(mBtnFullScreen, "fullscreen");
mActionMinimize->setVisible(false); mActionMinimize->setVisible(false);
mActionMaximize->setVisible(false); mActionMaximize->setVisible(false);
mActionClose->setVisible(false); mActionClose->setVisible(false);
SetupFileTool(); initFileButton();
SetupImportTool(); initImportButton();
SetupExportTool(); initExportButton();
SetupGridTool(); initGridButton();
SetupSyncTool(); initSyncButton();
SetupAnnoTool(); initAnonymizeButton();
SetupModeTool(); initModeButtons();
SetupTransformTool(); initTransformButton();
SetupFusionTool(); initFusionButton();
SetupMPR(); initMPRButton();
SetupCineTool(); initCineButton();
SetupEmptyTool(); initClearButton();
SetupScreenTool(); initScreenButtons();
} }
void DefaultToolBar::SetupFileTool() { void DefaultToolBar::initFileButton() {
mBtnFile->setToolButtonStyle(Qt::ToolButtonTextBesideIcon); mBtnFile->setToolButtonStyle(Qt::ToolButtonTextBesideIcon);
// Menu // Menu
mBtnFile->setToolTip(QString("Open Dicom series from directory")); mBtnFile->setToolTip(QString("Open Dicom series from directory"));
@@ -154,17 +154,17 @@ void DefaultToolBar::SetupFileTool() {
connect(mBtnFile, &QToolButton::clicked, this, &DefaultToolBar::openFolder); connect(mBtnFile, &QToolButton::clicked, this, &DefaultToolBar::openFolder);
} }
void DefaultToolBar::SetupImportTool() { void DefaultToolBar::initImportButton() {
mBtnImport->setToolTip(QString("Search and download studies from PACS locations")); mBtnImport->setToolTip(QString("Search and download studies from PACS locations"));
connect(mBtnImport, &QToolButton::clicked, this, &DefaultToolBar::import); connect(mBtnImport, &QToolButton::clicked, this, &DefaultToolBar::import);
} }
void DefaultToolBar::SetupExportTool() { void DefaultToolBar::initExportButton() {
mBtnSave->setToolTip(QString("Export images")); mBtnSave->setToolTip(QString("Export images"));
connect(mBtnSave, &QToolButton::clicked, this, &DefaultToolBar::save); connect(mBtnSave, &QToolButton::clicked, this, &DefaultToolBar::save);
} }
void DefaultToolBar::SetupGridTool() { void DefaultToolBar::initGridButton() {
mBtnGrid->setToolButtonStyle(Qt::ToolButtonTextBesideIcon); mBtnGrid->setToolButtonStyle(Qt::ToolButtonTextBesideIcon);
mBtnGrid->setToolTip(QString("Split Screen")); mBtnGrid->setToolTip(QString("Split Screen"));
// connect // connect
@@ -173,7 +173,7 @@ void DefaultToolBar::SetupGridTool() {
}); });
} }
void DefaultToolBar::SetupSyncTool() { void DefaultToolBar::initSyncButton() {
mBtnSync->setToolButtonStyle(Qt::ToolButtonTextBesideIcon); mBtnSync->setToolButtonStyle(Qt::ToolButtonTextBesideIcon);
mBtnSync->setToolTip(QString("Toggle series synchronization")); mBtnSync->setToolTip(QString("Toggle series synchronization"));
// Menu // Menu
@@ -238,7 +238,7 @@ void DefaultToolBar::syncStateChanged() const {
} }
} }
void DefaultToolBar::SetupModeTool() { void DefaultToolBar::initModeButtons() {
mBtnWindow->setToolButtonStyle(Qt::ToolButtonTextBesideIcon); mBtnWindow->setToolButtonStyle(Qt::ToolButtonTextBesideIcon);
mBtnWindow->setToolTip(QString("Adjust window level")); mBtnWindow->setToolTip(QString("Adjust window level"));
connect(mBtnWindow, &QToolButton::clicked, this, [=]() { connect(mBtnWindow, &QToolButton::clicked, this, [=]() {
@@ -271,14 +271,13 @@ void DefaultToolBar::SetupModeTool() {
emit modeChanged(4); emit modeChanged(4);
}); });
SetupMeasureTool(); initMeasureButton();
} }
void DefaultToolBar::SetupAnnoTool() { void DefaultToolBar::initAnonymizeButton() {
mBtnAnonymize->setToolButtonStyle(Qt::ToolButtonTextBesideIcon); mBtnAnonymize->setToolButtonStyle(Qt::ToolButtonTextBesideIcon);
mBtnAnonymize->setToolTip(QString("Toggle annotations")); mBtnAnonymize->setToolTip(QString("Toggle annotations"));
mBtnAnonymize->setCheckable(true); mBtnAnonymize->setCheckable(true);
//视窗操作,显隐测量
QMenu *m; QMenu *m;
m = new QMenu(this); m = new QMenu(this);
//视窗操作,显隐测量 //视窗操作,显隐测量
@@ -315,7 +314,7 @@ void DefaultToolBar::SetupAnnoTool() {
mBtnAnonymize->setMenu(m); mBtnAnonymize->setMenu(m);
} }
void DefaultToolBar::SetupMeasureTool() { void DefaultToolBar::initMeasureButton() {
#define ADD_MEASURE_ACTION(index)\ #define ADD_MEASURE_ACTION(index)\
m->addAction(tr(std::get<0>(MEASURE_ACTIIONS[index])), this, [=] {\ m->addAction(tr(std::get<0>(MEASURE_ACTIIONS[index])), this, [=] {\
mBtnMeasure->setChecked(true);\ mBtnMeasure->setChecked(true);\
@@ -351,7 +350,7 @@ void DefaultToolBar::SetupMeasureTool() {
mBtnMeasure->setMenu(m); mBtnMeasure->setMenu(m);
} }
void DefaultToolBar::SetupFusionTool() { void DefaultToolBar::initFusionButton() {
mBtnFusion->setToolButtonStyle(Qt::ToolButtonTextBesideIcon); mBtnFusion->setToolButtonStyle(Qt::ToolButtonTextBesideIcon);
mBtnFusion->setToolTip(QString("Fusion")); mBtnFusion->setToolTip(QString("Fusion"));
connect(mBtnFusion, &QToolButton::clicked, this, &DefaultToolBar::fusion); connect(mBtnFusion, &QToolButton::clicked, this, &DefaultToolBar::fusion);
@@ -366,18 +365,18 @@ void DefaultToolBar::SetupFusionTool() {
mBtnFusion->setEnabled(false); mBtnFusion->setEnabled(false);
} }
void DefaultToolBar::SetupCineTool() { void DefaultToolBar::initCineButton() {
mBtnCine->setToolTip(QString("Cine")); mBtnCine->setToolTip(QString("Cine"));
mBtnCine->setCheckable(true); mBtnCine->setCheckable(true);
connect(mBtnCine, &QToolButton::clicked, this, &DefaultToolBar::cine); connect(mBtnCine, &QToolButton::clicked, this, &DefaultToolBar::cine);
} }
void DefaultToolBar::SetupEmptyTool() { void DefaultToolBar::initClearButton() {
mBtnClear->setToolTip(QString("Delete current series")); mBtnClear->setToolTip(QString("Delete current series"));
connect(mBtnClear, &QToolButton::clicked, this, &DefaultToolBar::clear); connect(mBtnClear, &QToolButton::clicked, this, &DefaultToolBar::clear);
} }
void DefaultToolBar::SetupTransformTool() { void DefaultToolBar::initTransformButton() {
mBtnFlip->setToolButtonStyle(Qt::ToolButtonTextBesideIcon); mBtnFlip->setToolButtonStyle(Qt::ToolButtonTextBesideIcon);
mBtnFlip->setToolTip(QString("Transformations")); mBtnFlip->setToolTip(QString("Transformations"));
QMenu *m = new QMenu(this); QMenu *m = new QMenu(this);
@@ -402,7 +401,7 @@ void DefaultToolBar::SetupTransformTool() {
}); });
} }
void DefaultToolBar::SetupMPR(){ void DefaultToolBar::initMPRButton(){
connect(mBtnMPR, &QToolButton::clicked, [=](){ connect(mBtnMPR, &QToolButton::clicked, [=](){
SyncHelper::setSyncState(DIS_SYNC); SyncHelper::setSyncState(DIS_SYNC);
syncStateChanged(); syncStateChanged();
@@ -414,8 +413,9 @@ void DefaultToolBar::SetupMPR(){
void DefaultToolBar::resetNeedCheckFunctionButtons(){ void DefaultToolBar::resetNeedCheckFunctionButtons(){
mBtnMPR->setEnabled(false); mBtnMPR->setEnabled(false);
mBtnFusion->setEnabled(false); mBtnFusion->setEnabled(false);
SyncHelper::setSyncState(DIS_SYNC);
syncStateChanged(); // SyncHelper::setSyncState(DIS_SYNC);
// syncStateChanged();
} }
void DefaultToolBar::updateNeedCheckFunctionButtons(ViewFunctionState state) void DefaultToolBar::updateNeedCheckFunctionButtons(ViewFunctionState state)
@@ -426,7 +426,7 @@ void DefaultToolBar::updateNeedCheckFunctionButtons(ViewFunctionState state)
// syncStateChanged(); // syncStateChanged();
} }
void DefaultToolBar::SetupScreenTool() { void DefaultToolBar::initScreenButtons() {
mBtnFullScreen->setToolTip(QString("Full screen")); mBtnFullScreen->setToolTip(QString("Full screen"));
connect(mBtnFullScreen, &QToolButton::clicked, this, [=] { connect(mBtnFullScreen, &QToolButton::clicked, this, [=] {
mActionFullScreen->setVisible(false); mActionFullScreen->setVisible(false);

View File

@@ -40,27 +40,27 @@ signals:
void transform(TransFormType type); void transform(TransFormType type);
void showMeta(); void showMeta();
private: private:
QAction *initButton(QToolButton *button, const char *objectName); QAction *addButton(QToolButton *button, const char *objectName);
void initGroupedButton(QToolButton *button, const char *objectName, QButtonGroup *group); void addGroupedButton(QToolButton *button, const char *objectName, QButtonGroup *group);
void initButtons(); void initToolBarButtons();
void syncStateChanged() const; void syncStateChanged() const;
void SetupMPR(); void initMPRButton();
void SetupFileTool(); void initFileButton();
void SetupImportTool(); void initImportButton();
void SetupExportTool(); void initExportButton();
void SetupGridTool(); void initGridButton();
void SetupSyncTool(); void initSyncButton();
void SetupModeTool(); void initModeButtons();
void SetupAnnoTool(); void initAnonymizeButton();
void SetupMeasureTool(); void initMeasureButton();
void SetupFusionTool(); void initFusionButton();
void SetupCineTool(); void initCineButton();
void SetupEmptyTool(); void initClearButton();
void SetupTransformTool(); void initTransformButton();
void SetupScreenTool(); void initScreenButtons();
QIcon mManualIcon; QIcon mManualIcon;
QIcon mAutoIcon; QIcon mAutoIcon;