From b85b1ac717bb1991d115ae3e22a659dc609872ad Mon Sep 17 00:00:00 2001 From: Krad Date: Fri, 12 Aug 2022 14:08:19 +0800 Subject: [PATCH] Refactor DefaultToolBar.And remove sync auto disable logic. --- src/src/UI/Widget/ToolBar/DefaultToolBar.cpp | 110 +++++++++---------- src/src/UI/Widget/ToolBar/DefaultToolBar.h | 34 +++--- 2 files changed, 72 insertions(+), 72 deletions(-) diff --git a/src/src/UI/Widget/ToolBar/DefaultToolBar.cpp b/src/src/UI/Widget/ToolBar/DefaultToolBar.cpp index 5cfc6cb..0e6580a 100644 --- a/src/src/UI/Widget/ToolBar/DefaultToolBar.cpp +++ b/src/src/UI/Widget/ToolBar/DefaultToolBar.cpp @@ -55,20 +55,20 @@ DefaultToolBar::DefaultToolBar(QWidget *parent) : QToolBar(parent) mManualIcon.addFile(SYNC_MANUAL_URL); mAutoIcon.addFile(SYNC_AUTO_URL); mDisIcon.addFile(SYNC_DIS_URL); - initButtons(); + initToolBarButtons(); } DefaultToolBar::~DefaultToolBar() { } -QAction* DefaultToolBar::initButton(QToolButton* button, const char* objectName) { +QAction* DefaultToolBar::addButton(QToolButton* button, const char* objectName) { button->setObjectName(objectName); button->setToolButtonStyle(Qt::ToolButtonIconOnly); 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->setCheckable(true); button->setAutoExclusive(true); @@ -76,66 +76,66 @@ void DefaultToolBar::initGroupedButton(QToolButton* button, const char* objectNa addWidget(button); } -void DefaultToolBar::initButtons() { +void DefaultToolBar::initToolBarButtons() { setContextMenuPolicy(Qt::ContextMenuPolicy::PreventContextMenu); setFixedHeight(VCRHelper::toolbar_Height); setMovable(false); - initButton(mBtnFile, "file"); - initButton(mBtnImport, "import"); - initButton(mBtnSave, "save"); + addButton(mBtnFile, "file"); + addButton(mBtnImport, "import"); + addButton(mBtnSave, "save"); addSeparator(); - initButton(mBtnGrid, "grid"); - initButton(mBtnSync, "sync"); - initButton(mBtnAnonymize, "anonymize"); + addButton(mBtnGrid, "grid"); + addButton(mBtnSync, "sync"); + addButton(mBtnAnonymize, "anonymize"); addSeparator(); QButtonGroup *modeGroup = new QButtonGroup(this); - initGroupedButton(mBtnSlice, "slice", modeGroup); - initGroupedButton(mBtnWindow, "window", modeGroup); - initGroupedButton(mBtnPan, "pan", modeGroup); - initGroupedButton(mBtnZoom, "zoom", modeGroup); - initGroupedButton(mBtnMeasure, "measure", modeGroup); - initButton(mBtnClear, "clear"); + addGroupedButton(mBtnSlice, "slice", modeGroup); + addGroupedButton(mBtnWindow, "window", modeGroup); + addGroupedButton(mBtnPan, "pan", modeGroup); + addGroupedButton(mBtnZoom, "zoom", modeGroup); + addGroupedButton(mBtnMeasure, "measure", modeGroup); + addButton(mBtnClear, "clear"); addSeparator(); - initButton(mBtnFlip, "flip"); - initButton(mBtnCine, "cine"); - initButton(mBtnFusion, "fusion"); - initButton(mBtnMPR, "MPR"); + addButton(mBtnFlip, "flip"); + addButton(mBtnCine, "cine"); + addButton(mBtnFusion, "fusion"); + addButton(mBtnMPR, "MPR"); QWidget *spacer = new QWidget(this); spacer->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Preferred); addWidget(spacer); - mActionMinimize = initButton(mBtnMinimize, "minimize"); - mActionMaximize = initButton(mBtnMaximize, "maximize"); - mActionClose = initButton(mBtnClose, "close"); - mActionFullScreen = initButton(mBtnFullScreen, "fullscreen"); + mActionMinimize = addButton(mBtnMinimize, "minimize"); + mActionMaximize = addButton(mBtnMaximize, "maximize"); + mActionClose = addButton(mBtnClose, "close"); + mActionFullScreen = addButton(mBtnFullScreen, "fullscreen"); mActionMinimize->setVisible(false); mActionMaximize->setVisible(false); mActionClose->setVisible(false); - SetupFileTool(); - SetupImportTool(); - SetupExportTool(); - SetupGridTool(); - SetupSyncTool(); - SetupAnnoTool(); - SetupModeTool(); - SetupTransformTool(); - SetupFusionTool(); - SetupMPR(); - SetupCineTool(); - SetupEmptyTool(); - SetupScreenTool(); + initFileButton(); + initImportButton(); + initExportButton(); + initGridButton(); + initSyncButton(); + initAnonymizeButton(); + initModeButtons(); + initTransformButton(); + initFusionButton(); + initMPRButton(); + initCineButton(); + initClearButton(); + initScreenButtons(); } -void DefaultToolBar::SetupFileTool() { +void DefaultToolBar::initFileButton() { mBtnFile->setToolButtonStyle(Qt::ToolButtonTextBesideIcon); // Menu mBtnFile->setToolTip(QString("Open Dicom series from directory")); @@ -154,17 +154,17 @@ void DefaultToolBar::SetupFileTool() { connect(mBtnFile, &QToolButton::clicked, this, &DefaultToolBar::openFolder); } -void DefaultToolBar::SetupImportTool() { +void DefaultToolBar::initImportButton() { mBtnImport->setToolTip(QString("Search and download studies from PACS locations")); connect(mBtnImport, &QToolButton::clicked, this, &DefaultToolBar::import); } -void DefaultToolBar::SetupExportTool() { +void DefaultToolBar::initExportButton() { mBtnSave->setToolTip(QString("Export images")); connect(mBtnSave, &QToolButton::clicked, this, &DefaultToolBar::save); } -void DefaultToolBar::SetupGridTool() { +void DefaultToolBar::initGridButton() { mBtnGrid->setToolButtonStyle(Qt::ToolButtonTextBesideIcon); mBtnGrid->setToolTip(QString("Split Screen")); // connect @@ -173,7 +173,7 @@ void DefaultToolBar::SetupGridTool() { }); } -void DefaultToolBar::SetupSyncTool() { +void DefaultToolBar::initSyncButton() { mBtnSync->setToolButtonStyle(Qt::ToolButtonTextBesideIcon); mBtnSync->setToolTip(QString("Toggle series synchronization")); // Menu @@ -238,7 +238,7 @@ void DefaultToolBar::syncStateChanged() const { } } -void DefaultToolBar::SetupModeTool() { +void DefaultToolBar::initModeButtons() { mBtnWindow->setToolButtonStyle(Qt::ToolButtonTextBesideIcon); mBtnWindow->setToolTip(QString("Adjust window level")); connect(mBtnWindow, &QToolButton::clicked, this, [=]() { @@ -271,14 +271,13 @@ void DefaultToolBar::SetupModeTool() { emit modeChanged(4); }); - SetupMeasureTool(); + initMeasureButton(); } -void DefaultToolBar::SetupAnnoTool() { +void DefaultToolBar::initAnonymizeButton() { mBtnAnonymize->setToolButtonStyle(Qt::ToolButtonTextBesideIcon); mBtnAnonymize->setToolTip(QString("Toggle annotations")); mBtnAnonymize->setCheckable(true); - //视窗操作,显隐测量 QMenu *m; m = new QMenu(this); //视窗操作,显隐测量 @@ -315,7 +314,7 @@ void DefaultToolBar::SetupAnnoTool() { mBtnAnonymize->setMenu(m); } -void DefaultToolBar::SetupMeasureTool() { +void DefaultToolBar::initMeasureButton() { #define ADD_MEASURE_ACTION(index)\ m->addAction(tr(std::get<0>(MEASURE_ACTIIONS[index])), this, [=] {\ mBtnMeasure->setChecked(true);\ @@ -351,7 +350,7 @@ void DefaultToolBar::SetupMeasureTool() { mBtnMeasure->setMenu(m); } -void DefaultToolBar::SetupFusionTool() { +void DefaultToolBar::initFusionButton() { mBtnFusion->setToolButtonStyle(Qt::ToolButtonTextBesideIcon); mBtnFusion->setToolTip(QString("Fusion")); connect(mBtnFusion, &QToolButton::clicked, this, &DefaultToolBar::fusion); @@ -366,18 +365,18 @@ void DefaultToolBar::SetupFusionTool() { mBtnFusion->setEnabled(false); } -void DefaultToolBar::SetupCineTool() { +void DefaultToolBar::initCineButton() { mBtnCine->setToolTip(QString("Cine")); mBtnCine->setCheckable(true); connect(mBtnCine, &QToolButton::clicked, this, &DefaultToolBar::cine); } -void DefaultToolBar::SetupEmptyTool() { +void DefaultToolBar::initClearButton() { mBtnClear->setToolTip(QString("Delete current series")); connect(mBtnClear, &QToolButton::clicked, this, &DefaultToolBar::clear); } -void DefaultToolBar::SetupTransformTool() { +void DefaultToolBar::initTransformButton() { mBtnFlip->setToolButtonStyle(Qt::ToolButtonTextBesideIcon); mBtnFlip->setToolTip(QString("Transformations")); QMenu *m = new QMenu(this); @@ -402,7 +401,7 @@ void DefaultToolBar::SetupTransformTool() { }); } -void DefaultToolBar::SetupMPR(){ +void DefaultToolBar::initMPRButton(){ connect(mBtnMPR, &QToolButton::clicked, [=](){ SyncHelper::setSyncState(DIS_SYNC); syncStateChanged(); @@ -414,8 +413,9 @@ void DefaultToolBar::SetupMPR(){ void DefaultToolBar::resetNeedCheckFunctionButtons(){ mBtnMPR->setEnabled(false); mBtnFusion->setEnabled(false); - SyncHelper::setSyncState(DIS_SYNC); - syncStateChanged(); + +// SyncHelper::setSyncState(DIS_SYNC); +// syncStateChanged(); } void DefaultToolBar::updateNeedCheckFunctionButtons(ViewFunctionState state) @@ -426,7 +426,7 @@ void DefaultToolBar::updateNeedCheckFunctionButtons(ViewFunctionState state) // syncStateChanged(); } -void DefaultToolBar::SetupScreenTool() { +void DefaultToolBar::initScreenButtons() { mBtnFullScreen->setToolTip(QString("Full screen")); connect(mBtnFullScreen, &QToolButton::clicked, this, [=] { mActionFullScreen->setVisible(false); diff --git a/src/src/UI/Widget/ToolBar/DefaultToolBar.h b/src/src/UI/Widget/ToolBar/DefaultToolBar.h index 4f4a147..84a3fd8 100644 --- a/src/src/UI/Widget/ToolBar/DefaultToolBar.h +++ b/src/src/UI/Widget/ToolBar/DefaultToolBar.h @@ -40,27 +40,27 @@ signals: void transform(TransFormType type); void showMeta(); 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 SetupMPR(); + void initMPRButton(); - void SetupFileTool(); - void SetupImportTool(); - void SetupExportTool(); - void SetupGridTool(); - void SetupSyncTool(); - void SetupModeTool(); - void SetupAnnoTool(); - void SetupMeasureTool(); - void SetupFusionTool(); - void SetupCineTool(); - void SetupEmptyTool(); - void SetupTransformTool(); - void SetupScreenTool(); + void initFileButton(); + void initImportButton(); + void initExportButton(); + void initGridButton(); + void initSyncButton(); + void initModeButtons(); + void initAnonymizeButton(); + void initMeasureButton(); + void initFusionButton(); + void initCineButton(); + void initClearButton(); + void initTransformButton(); + void initScreenButtons(); QIcon mManualIcon; QIcon mAutoIcon;