Skip to content

Commit

Permalink
Delete key deletes selected polygon nodes (#1682)
Browse files Browse the repository at this point in the history
Closes #1555
  • Loading branch information
ketanhwr authored and bjorn committed Aug 11, 2017
1 parent 395cdb5 commit b6a1519
Show file tree
Hide file tree
Showing 3 changed files with 13 additions and 3 deletions.
6 changes: 5 additions & 1 deletion src/tiled/editpolygontool.h
Original file line number Diff line number Diff line change
Expand Up @@ -57,11 +57,15 @@ class EditPolygonTool : public AbstractObjectTool

void languageChanged() override;

bool hasSelectedHandles() const { return !mSelectedHandles.isEmpty(); }

public slots:
void deleteNodes();

private slots:
void updateHandles();
void objectsRemoved(const QList<MapObject *> &objects);

void deleteNodes();
void joinNodes();
void splitSegments();

Expand Down
8 changes: 6 additions & 2 deletions src/tiled/mapeditor.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -160,6 +160,7 @@ MapEditor::MapEditor(QObject *parent)
mStampBrush = new StampBrush(this);
mTerrainBrush = new TerrainBrush(this);
mBucketFillTool = new BucketFillTool(this);
mEditPolygonTool = new EditPolygonTool(this);
CreateObjectTool *tileObjectsTool = new CreateTileObjectTool(this);
CreateObjectTool *rectangleObjectsTool = new CreateRectangleObjectTool(this);
CreateObjectTool *ellipseObjectsTool = new CreateEllipseObjectTool(this);
Expand All @@ -176,7 +177,7 @@ MapEditor::MapEditor(QObject *parent)
mToolsToolBar->addAction(mToolManager->registerTool(new SelectSameTileTool(this)));
mToolsToolBar->addSeparator();
mToolsToolBar->addAction(mToolManager->registerTool(new ObjectSelectionTool(this)));
mToolsToolBar->addAction(mToolManager->registerTool(new EditPolygonTool(this)));
mToolsToolBar->addAction(mToolManager->registerTool(mEditPolygonTool));
mToolsToolBar->addAction(mToolManager->registerTool(rectangleObjectsTool));
mToolsToolBar->addAction(mToolManager->registerTool(ellipseObjectsTool));
mToolsToolBar->addAction(mToolManager->registerTool(polygonObjectsTool));
Expand Down Expand Up @@ -479,7 +480,10 @@ void MapEditor::performStandardAction(StandardAction action)
paste(ClipboardManager::PasteInPlace);
break;
case DeleteAction:
MapDocumentActionHandler::instance()->delete_();
if (mEditPolygonTool->hasSelectedHandles())
mEditPolygonTool->deleteNodes();
else
MapDocumentActionHandler::instance()->delete_();
break;
}
}
Expand Down
2 changes: 2 additions & 0 deletions src/tiled/mapeditor.h
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@ namespace Internal {

class AbstractTool;
class BucketFillTool;
class EditPolygonTool;
class LayerDock;
class MapDocument;
class MapDocumentActionHandler;
Expand Down Expand Up @@ -162,6 +163,7 @@ private slots:
StampBrush *mStampBrush;
BucketFillTool *mBucketFillTool;
TerrainBrush *mTerrainBrush;
EditPolygonTool *mEditPolygonTool;

QToolBar *mMainToolBar;
QToolBar *mToolsToolBar;
Expand Down

0 comments on commit b6a1519

Please sign in to comment.