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 = 10
DELETE_ROOT = 11 DELETE_ROOT = 11
EMPTY_TRASH = 12 EMPTY_TRASH = 12
RENAME = 13
# END Enum nwItemAction # END Enum nwItemAction
+13 -1
View File
@@ -16,7 +16,7 @@ import nw
from os import path from os import path
from PyQt5.QtGui import QIcon from PyQt5.QtGui import QIcon
from PyQt5.QtCore import Qt, QSize 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.enum import nwItemType, nwItemClass
from nw.project.item import NWItem from nw.project.item import NWItem
@@ -87,6 +87,18 @@ class GuiDocTree(QTreeWidget):
pItem.insertChild(nIndex, cItem) pItem.insertChild(nIndex, cItem)
return 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): def saveTreeOrder(self):
theList = [] theList = []
for i in range(self.topLevelItemCount()): for i in range(self.topLevelItemCount()):
+10 -1
View File
@@ -42,7 +42,6 @@ class GuiDocTreeCtx(QMenu):
self.selHandle = None self.selHandle = None
else: else:
self.selHandle = selItems[0].text(3) self.selHandle = selItems[0].text(3)
print(self.selHandle)
self._buildMenu() self._buildMenu()
@@ -54,6 +53,8 @@ class GuiDocTreeCtx(QMenu):
def _buildMenu(self): def _buildMenu(self):
vActs = self.theProject.getActionList(self.selHandle) vActs = self.theProject.getActionList(self.selHandle)
if nwItemAction.RENAME in vActs.keys():
self._buildMenuRename(vActs)
if nwItemAction.ADD_ROOT in vActs.keys(): if nwItemAction.ADD_ROOT in vActs.keys():
self._buildMenuAddRoot(vActs) self._buildMenuAddRoot(vActs)
if nwItemAction.ADD_FOLDER in vActs.keys(): if nwItemAction.ADD_FOLDER in vActs.keys():
@@ -84,6 +85,14 @@ class GuiDocTreeCtx(QMenu):
# Build Sub Menus # 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): def _buildMenuDelete(self, vActs):
mnuItem = QAction("Delete Permanently", self) mnuItem = QAction("Delete Permanently", self)
mnuItem.triggered.connect(lambda: self._ctxSignal( mnuItem.triggered.connect(lambda: self._ctxSignal(
+3 -1
View File
@@ -211,7 +211,7 @@ class GuiMain(QMainWindow):
selType = ctxMenu.selType selType = ctxMenu.selType
selTarget = ctxMenu.selTarget selTarget = ctxMenu.selTarget
print(selHandle, selAction, selClass, selType, selTarget) # print(selHandle, selAction, selClass, selType, selTarget)
if selAction == nwItemAction.ADD_ROOT: if selAction == nwItemAction.ADD_ROOT:
self.treeView.newTreeItem(selHandle, selType, selClass) self.treeView.newTreeItem(selHandle, selType, selClass)
@@ -237,6 +237,8 @@ class GuiMain(QMainWindow):
pass pass
elif selAction == nwItemAction.EMPTY_TRASH: elif selAction == nwItemAction.EMPTY_TRASH:
pass pass
elif selAction == nwItemAction.RENAME:
self.treeView.renameTreeItem(selHandle)
return return
+5
View File
@@ -230,6 +230,10 @@ class NWProject():
self.treeOrder = newOrder self.treeOrder = newOrder
return True return True
def setItemName(self, tHandle, theName):
self.projTree[tHandle].setName(theName)
return
## ##
# Get Functions # Get Functions
## ##
@@ -300,6 +304,7 @@ class NWProject():
} }
# Other actions available to novel or plot items # Other actions available to novel or plot items
validActions[nwItemAction.RENAME] = {}
validActions[nwItemAction.MOVE_UP] = {} validActions[nwItemAction.MOVE_UP] = {}
validActions[nwItemAction.MOVE_DOWN] = {} validActions[nwItemAction.MOVE_DOWN] = {}
if tType == nwItemType.ROOT: if tType == nwItemType.ROOT:
+2 -2
View File
@@ -1,5 +1,5 @@
<?xml version='1.0' encoding='utf-8'?> <?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> <project>
<name>Sample Project</name> <name>Sample Project</name>
<title>Sample Project</title> <title>Sample Project</title>
@@ -35,7 +35,7 @@
<paraCount>5</paraCount> <paraCount>5</paraCount>
</item> </item>
<item handle="636b6aa9b697b" order="1" parent="e7ded148d6e4a"> <item handle="636b6aa9b697b" order="1" parent="e7ded148d6e4a">
<name>New File</name> <name>Test File</name>
<type>FILE</type> <type>FILE</type>
<class>NOVEL</class> <class>NOVEL</class>
<depth>2</depth> <depth>2</depth>