From 4533ce5f3d3f289672c3cd9ef7e220375a74d385 Mon Sep 17 00:00:00 2001 From: David Vierra Date: Fri, 17 Apr 2015 03:06:16 -1000 Subject: [PATCH] Add a "Remove" button to Configure Blocks --- src/mcedit2/ui/configure_blocks_dialog.ui | 7 +++++++ src/mcedit2/widgets/configureblocksdialog.py | 17 +++++++++++++++++ 2 files changed, 24 insertions(+) diff --git a/src/mcedit2/ui/configure_blocks_dialog.ui b/src/mcedit2/ui/configure_blocks_dialog.ui index bfd4e28..a9f8d3f 100644 --- a/src/mcedit2/ui/configure_blocks_dialog.ui +++ b/src/mcedit2/ui/configure_blocks_dialog.ui @@ -66,6 +66,13 @@ + + + + Remove + + + diff --git a/src/mcedit2/widgets/configureblocksdialog.py b/src/mcedit2/widgets/configureblocksdialog.py index 5196b04..9d4dc7d 100644 --- a/src/mcedit2/widgets/configureblocksdialog.py +++ b/src/mcedit2/widgets/configureblocksdialog.py @@ -229,6 +229,13 @@ class ConfigureBlocksItemModel(QtCore.QAbstractItemModel): log.info("Appended") self.endInsertRows() + def removeBlock(self, row): + if row >= len(self.definedBlocks): + return + self.beginRemoveRows(QtCore.QModelIndex(), row, row) + del self.definedBlocks[row] + self.endRemoveRows() + def setBlockModelPath(self, row, modelPath): blockDef = self.definedBlocks[row] blockDef.modelPath = modelPath @@ -249,6 +256,7 @@ class ConfigureBlocksDialog(QtGui.QDialog): self.blocksView.clicked.connect(self.currentBlockClicked) self.addBlockButton.clicked.connect(self.addBlock) + self.removeBlockButton.clicked.connect(self.removeBlock) headerWidths = [ 48, @@ -427,6 +435,15 @@ class ConfigureBlocksDialog(QtGui.QDialog): # self.internalNameBox.removeItem(index) self.model.addBlock(internalName) + def removeBlock(self): + index = self.blocksView.currentIndex() + if not index.isValid(): + return + + row = index.row() + self.model.removeBlock(row) + + def done(self, result): self.model.writeToJson() super(ConfigureBlocksDialog, self).done(result)