Items can now be renamed.
This commit is contained in:
@@ -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
@@ -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
@@ -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
@@ -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
|
||||||
|
|
||||||
|
|||||||
@@ -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:
|
||||||
|
|||||||
@@ -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>
|
||||||
|
|||||||
Reference in New Issue
Block a user