From 49ea321d92c56c4d9e77bd3daef636a71f9b2ca4 Mon Sep 17 00:00:00 2001 From: "Veronica K. B. Olsen" Date: Sat, 25 May 2019 23:24:30 +0200 Subject: [PATCH] Session word count now works --- nw/gui/doctree.py | 4 +++- nw/project/project.py | 25 +++++++++++++++++++++---- 2 files changed, 24 insertions(+), 5 deletions(-) diff --git a/nw/gui/doctree.py b/nw/gui/doctree.py index 3e4176d0..280fa09a 100644 --- a/nw/gui/doctree.py +++ b/nw/gui/doctree.py @@ -293,7 +293,9 @@ class GuiDocTree(QTreeWidget): if tItem == self.orphRoot: continue nWords += int(tItem.text(self.C_COUNT)) - self.theParent.statusBar.setStats(nWords,0) + self.theProject.setProjectWordCount(nWords) + sWords = self.theProject.getSessionWordCount() + self.theParent.statusBar.setStats(nWords,sWords) return def buildTree(self): diff --git a/nw/project/project.py b/nw/project/project.py index 3c2f68fa..dd21c3e4 100644 --- a/nw/project/project.py +++ b/nw/project/project.py @@ -20,7 +20,7 @@ from datetime import datetime from time import time from nw.enum import nwItemType, nwItemClass, nwItemLayout, nwAlert -from nw.common import checkString, checkBool +from nw.common import checkString, checkBool, checkInt from nw.project.item import NWItem from nw.project.status import NWStatus @@ -59,6 +59,8 @@ class NWProject(): self.importItems = None self.lastEdited = None self.lastViewed = None + self.lastWCount = 0 + self.currWCount = 0 # Set Defaults self.clearProject() @@ -156,6 +158,10 @@ class NWProject(): self.importItems.addEntry("Minor", (200, 50, 0)) self.importItems.addEntry("Major", (200,150, 0)) self.importItems.addEntry("Main", ( 50,200, 0)) + self.lastEdited = None + self.lastViewed = None + self.lastWCount = 0 + self.currWCount = 0 return @@ -215,6 +221,8 @@ class NWProject(): self.lastEdited = checkString(xItem.text,None,True) if xItem.tag == "lastViewed": self.lastViewed = checkString(xItem.text,None,True) + if xItem.tag == "lastWordCount": + self.lastWCount = checkInt(xItem.text,0,False) if xItem.tag == "status": self.statusItems.unpackEntries(xItem) if xItem.tag == "importance": @@ -276,9 +284,10 @@ class NWProject(): # Save Project Settings xSettings = etree.SubElement(nwXML,"settings") - self._saveProjectValue(xSettings,"spellCheck",self.spellCheck) - self._saveProjectValue(xSettings,"lastEdited",self.lastEdited) - self._saveProjectValue(xSettings,"lastViewed",self.lastViewed) + self._saveProjectValue(xSettings,"spellCheck", self.spellCheck) + self._saveProjectValue(xSettings,"lastEdited", self.lastEdited) + self._saveProjectValue(xSettings,"lastViewed", self.lastViewed) + self._saveProjectValue(xSettings,"lastWordCount",self.currWCount) xStatus = etree.SubElement(xSettings,"status") self.statusItems.packEntries(xStatus) @@ -365,6 +374,14 @@ class NWProject(): self.setProjectChanged(True) return True + def setProjectWordCount(self, theCount): + self.currWCount = theCount + self.setProjectChanged(True) + return True + + def getSessionWordCount(self): + return self.currWCount - self.lastWCount + def setStatusColours(self, newCols): replaceMap = self.statusItems.setNewEntries(newCols) if self.projTree is not None: