diff --git a/GUI/View/Canvas/MaskEditorActions.cpp b/GUI/View/Canvas/MaskEditorActions.cpp index e9bd2f16c361dd5687b3f85a28098c3d0a8cda23..cee23649713d4133beb8ae457a1733ab7df25cd5 100644 --- a/GUI/View/Canvas/MaskEditorActions.cpp +++ b/GUI/View/Canvas/MaskEditorActions.cpp @@ -114,21 +114,29 @@ void MaskEditorActions::onToggleMaskValueAction() void MaskEditorActions::onBringToFrontAction() { - changeMaskStackingOrder(MaskFlags::BRING_TO_FRONT); + changeMaskStackingOrder(true); } void MaskEditorActions::onSendToBackAction() { - changeMaskStackingOrder(MaskFlags::SEND_TO_BACK); + changeMaskStackingOrder(false); } //! Lower mask one level down or rise one level up in the masks stack -void MaskEditorActions::changeMaskStackingOrder(MaskFlags::Stacking value) +void MaskEditorActions::changeMaskStackingOrder(bool move_up) { if (!m_maskContainerModel || !m_selectionModel) return; - if (value == MaskFlags::SEND_TO_BACK) { + if (move_up) { + QModelIndexList indexes = m_selectionModel->selectedIndexes(); + for (const QModelIndex& itemIndex : indexes) { + int row = itemIndex.row(); + int new_row = row - 1; + if (new_row >= 0 && new_row < m_maskContainerModel->rowCount({})) + m_maskContainerModel->moveMask(row, new_row); + } + } else { QModelIndexList indexes = m_selectionModel->selectedIndexes(); for (const QModelIndex& itemIndex : indexes) { int row = itemIndex.row(); @@ -140,15 +148,6 @@ void MaskEditorActions::changeMaskStackingOrder(MaskFlags::Stacking value) } } } - if (value == MaskFlags::BRING_TO_FRONT) { - QModelIndexList indexes = m_selectionModel->selectedIndexes(); - for (const QModelIndex& itemIndex : indexes) { - int row = itemIndex.row(); - int new_row = row - 1; - if (new_row >= 0 && new_row < m_maskContainerModel->rowCount({})) - m_maskContainerModel->moveMask(row, new_row); - } - } gProjectDocument.value()->setModified(); } diff --git a/GUI/View/Canvas/MaskEditorActions.h b/GUI/View/Canvas/MaskEditorActions.h index b81e032e451a33143eda30c68ea1db56d9d3b9cf..0593220b9b13f1ebf4e86935e1ebe919ddb5d3c4 100644 --- a/GUI/View/Canvas/MaskEditorActions.h +++ b/GUI/View/Canvas/MaskEditorActions.h @@ -57,7 +57,7 @@ private slots: private: void initItemContextMenu(QMenu& menu); - void changeMaskStackingOrder(MaskFlags::Stacking value); + void changeMaskStackingOrder(bool move_up); bool isBringToFrontPossible() const; bool isSendToBackPossible() const; void setAllActionsEnabled(bool value); diff --git a/GUI/View/Scene/MaskFlags.h b/GUI/View/Scene/MaskFlags.h index b9c7d6bf2b37347f73eaba562a4e0a0009a7b554..815fd6d322bc6858b9af3f31e82f0f99d77d3980 100644 --- a/GUI/View/Scene/MaskFlags.h +++ b/GUI/View/Scene/MaskFlags.h @@ -34,15 +34,11 @@ enum EActivityType { }; Q_DECLARE_FLAGS(Activity, EActivityType) -enum EMoveType { BRING_TO_FRONT, SEND_TO_BACK }; -Q_DECLARE_FLAGS(Stacking, EMoveType) - enum EMaskValue { MASK_OFF, MASK_ON }; Q_DECLARE_FLAGS(MaskValue, EMaskValue) }; // namespace MaskFlags Q_DECLARE_OPERATORS_FOR_FLAGS(MaskFlags::Activity) -Q_DECLARE_OPERATORS_FOR_FLAGS(MaskFlags::Stacking) Q_DECLARE_OPERATORS_FOR_FLAGS(MaskFlags::MaskValue) #endif // BORNAGAIN_GUI_VIEW_SCENE_MASKFLAGS_H