Items can now be renamed.

This commit is contained in:
Veronica K. B. Olsen
2019-04-24 18:11:38 +02:00
parent 184c33a59e
commit 96943d316a
6 changed files with 34 additions and 5 deletions
+1
View File
@@ -50,6 +50,7 @@ class nwItemAction(Enum):
DELETE = 10
DELETE_ROOT = 11
EMPTY_TRASH = 12
RENAME = 13
# END Enum nwItemAction
+13 -1
View File
@@ -16,7 +16,7 @@ import nw
from os import path
from PyQt5.QtGui import QIcon
from PyQt5.QtCore import Qt, QSize
from PyQt5.QtWidgets import QTreeWidget, QTreeWidgetItem, QAbstractItemView
from PyQt5.QtWidgets import QTreeWidget, QTreeWidgetItem, QAbstractItemView, QInputDialog, QLineEdit
from nw.enum import nwItemType, nwItemClass
from nw.project.item import NWItem
@@ -87,6 +87,18 @@ class GuiDocTree(QTreeWidget):
pItem.insertChild(nIndex, cItem)
return
def renameTreeItem(self, tHandle):
tItem = self.theMap[tHandle]
oldName = tItem.text(0)
newName, isOk = QInputDialog.getText(self, "Rename Item", "New Name", QLineEdit.Normal,oldName)
if isOk:
newName = newName.strip()
if newName == "":
newName = oldName
tItem.setText(0,newName)
self.theProject.setItemName(tHandle, newName)
return
def saveTreeOrder(self):
theList = []
for i in range(self.topLevelItemCount()):
+10 -1
View File
@@ -42,7 +42,6 @@ class GuiDocTreeCtx(QMenu):
self.selHandle = None
else:
self.selHandle = selItems[0].text(3)
print(self.selHandle)
self._buildMenu()
@@ -54,6 +53,8 @@ class GuiDocTreeCtx(QMenu):
def _buildMenu(self):
vActs = self.theProject.getActionList(self.selHandle)
if nwItemAction.RENAME in vActs.keys():
self._buildMenuRename(vActs)
if nwItemAction.ADD_ROOT in vActs.keys():
self._buildMenuAddRoot(vActs)
if nwItemAction.ADD_FOLDER in vActs.keys():
@@ -84,6 +85,14 @@ class GuiDocTreeCtx(QMenu):
# Build Sub Menus
##
def _buildMenuRename(self, vActs):
mnuItem = QAction("Rename", self)
mnuItem.triggered.connect(lambda: self._ctxSignal(
nwItemAction.RENAME, None, None
))
self.addAction(mnuItem)
return
def _buildMenuDelete(self, vActs):
mnuItem = QAction("Delete Permanently", self)
mnuItem.triggered.connect(lambda: self._ctxSignal(
+3 -1
View File
@@ -211,7 +211,7 @@ class GuiMain(QMainWindow):
selType = ctxMenu.selType
selTarget = ctxMenu.selTarget
print(selHandle, selAction, selClass, selType, selTarget)
# print(selHandle, selAction, selClass, selType, selTarget)
if selAction == nwItemAction.ADD_ROOT:
self.treeView.newTreeItem(selHandle, selType, selClass)
@@ -237,6 +237,8 @@ class GuiMain(QMainWindow):
pass
elif selAction == nwItemAction.EMPTY_TRASH:
pass
elif selAction == nwItemAction.RENAME:
self.treeView.renameTreeItem(selHandle)
return
+5
View File
@@ -230,6 +230,10 @@ class NWProject():
self.treeOrder = newOrder
return True
def setItemName(self, tHandle, theName):
self.projTree[tHandle].setName(theName)
return
##
# Get Functions
##
@@ -300,6 +304,7 @@ class NWProject():
}
# Other actions available to novel or plot items
validActions[nwItemAction.RENAME] = {}
validActions[nwItemAction.MOVE_UP] = {}
validActions[nwItemAction.MOVE_DOWN] = {}
if tType == nwItemType.ROOT:
+2 -2
View File
@@ -1,5 +1,5 @@
<?xml version='1.0' encoding='utf-8'?>
<novelWriterXML appVersion="0.0.1" fileVersion="1.0" timeStamp="2019-04-23 16:16:49">
<novelWriterXML appVersion="0.0.1" fileVersion="1.0" timeStamp="2019-04-24 18:07:47">
<project>
<name>Sample Project</name>
<title>Sample Project</title>
@@ -35,7 +35,7 @@
<paraCount>5</paraCount>
</item>
<item handle="636b6aa9b697b" order="1" parent="e7ded148d6e4a">
<name>New File</name>
<name>Test File</name>
<type>FILE</type>
<class>NOVEL</class>
<depth>2</depth>