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)