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

View File

@@ -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;