Skip to content

Commit

Permalink
Merge pull request ddnet#8982 from ChillerDragon/pr_qa_aq
Browse files Browse the repository at this point in the history
Add quick action "Add quads layer"
  • Loading branch information
def- authored Sep 19, 2024
2 parents be659b2 + ec6ddc5 commit 66e8d1f
Show file tree
Hide file tree
Showing 4 changed files with 15 additions and 8 deletions.
1 change: 1 addition & 0 deletions src/game/editor/editor.h
Original file line number Diff line number Diff line change
Expand Up @@ -330,6 +330,7 @@ class CEditor : public IEditor
void AddGroup();
void AddTileLayer();
void AddFrontLayer();
void AddQuadsLayer();
void LayerSelectImage();
bool IsNonGameTileLayerSelected() const;
void MapDetails();
Expand Down
10 changes: 2 additions & 8 deletions src/game/editor/popups.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -565,15 +565,9 @@ CUi::EPopupMenuFunctionResult CEditor::PopupGroup(void *pContext, CUIRect View,
// new quad layer
View.HSplitBottom(5.0f, &View, nullptr);
View.HSplitBottom(12.0f, &View, &Button);
static int s_NewQuadLayerButton = 0;
if(pEditor->DoButton_Editor(&s_NewQuadLayerButton, "Add quads layer", 0, &Button, 0, "Creates a new quad layer"))
if(pEditor->DoButton_Editor(&pEditor->m_QuickActionAddQuadsLayer, pEditor->m_QuickActionAddQuadsLayer.Label(), 0, &Button, 0, pEditor->m_QuickActionAddQuadsLayer.Description()))
{
std::shared_ptr<CLayer> pQuadLayer = std::make_shared<CLayerQuads>(pEditor);
pEditor->m_Map.m_vpGroups[pEditor->m_SelectedGroup]->AddLayer(pQuadLayer);
int LayerIndex = pEditor->m_Map.m_vpGroups[pEditor->m_SelectedGroup]->m_vpLayers.size() - 1;
pEditor->SelectLayer(LayerIndex);
pEditor->m_Map.m_vpGroups[pEditor->m_SelectedGroup]->m_Collapse = false;
pEditor->m_EditorHistory.RecordAction(std::make_shared<CEditorActionAddLayer>(pEditor, pEditor->m_SelectedGroup, LayerIndex));
pEditor->m_QuickActionAddQuadsLayer.Call();
return CUi::POPUP_CLOSE_CURRENT;
}

Expand Down
10 changes: 10 additions & 0 deletions src/game/editor/quick_actions.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -75,6 +75,16 @@ void CEditor::AddFrontLayer()
m_EditorHistory.RecordAction(std::make_shared<CEditorActionAddLayer>(this, m_SelectedGroup, LayerIndex));
}

void CEditor::AddQuadsLayer()
{
std::shared_ptr<CLayer> pQuadLayer = std::make_shared<CLayerQuads>(this);
m_Map.m_vpGroups[m_SelectedGroup]->AddLayer(pQuadLayer);
int LayerIndex = m_Map.m_vpGroups[m_SelectedGroup]->m_vpLayers.size() - 1;
SelectLayer(LayerIndex);
m_Map.m_vpGroups[m_SelectedGroup]->m_Collapse = false;
m_EditorHistory.RecordAction(std::make_shared<CEditorActionAddLayer>(this, m_SelectedGroup, LayerIndex));
}

bool CEditor::IsNonGameTileLayerSelected() const
{
std::shared_ptr<CLayer> pLayer = GetSelectedLayer(0);
Expand Down
2 changes: 2 additions & 0 deletions src/game/editor/quick_actions.h
Original file line number Diff line number Diff line change
Expand Up @@ -177,6 +177,8 @@ REGISTER_QUICK_ACTION(
ALWAYS_FALSE,
DEFAULT_BTN,
"Creates a new item layer.")
REGISTER_QUICK_ACTION(
AddQuadsLayer, "Add quads layer", [&]() { AddQuadsLayer(); }, ALWAYS_FALSE, ALWAYS_FALSE, DEFAULT_BTN, "Creates a new quads layer.")
REGISTER_QUICK_ACTION(
SaveAs,
"Save As",
Expand Down

0 comments on commit 66e8d1f

Please sign in to comment.