diff --git a/nw/__init__.py b/nw/__init__.py index 6fd5a257..c980441d 100644 --- a/nw/__init__.py +++ b/nw/__init__.py @@ -41,25 +41,15 @@ __url__ = "https://github.com/vkbo/novelWriter" # ----------- SPAM Threshold : Output above should be minimal ----------------- # DEBUG Use for descriptions of main program flow # VERBOSE Use for outputting values and program flow details -# VVERBOSE Use for describing what the user does, like clicks and entries # -# Adding verbose and vverbose logging levels - -VERBOSE = 9 -VVERBOSE = 8 -logging.addLevelName(VERBOSE, "DEBUGV") -logging.addLevelName(VVERBOSE,"DEBUGVV") - +# Adding verbose logging levels +VERBOSE = 5 +logging.addLevelName(VERBOSE, "VERBOSE") def logVerbose(self, message, *args, **kws): if self.isEnabledFor(VERBOSE): self._log(VERBOSE, message, args, **kws) -def logVVerbose(self, message, *args, **kws): - if self.isEnabledFor(VVERBOSE): - self._log(VVERBOSE, message, args, **kws) - -logging.Logger.verbose = logVerbose -logging.Logger.vverbose = logVVerbose +logging.Logger.verbose = logVerbose # Initiating logging logger = logging.getLogger(__name__) @@ -88,7 +78,6 @@ def main(sysArgs): "help", "debug=", "verbose", - "vverbose", "debuggui", "quiet", "time", @@ -107,7 +96,6 @@ def main(sysArgs): " -v, --version Print program version and exit.\n" " -d, --debug Debug level. Valid options are DEBUG, INFO, WARN or ERROR.\n" " --verbose Increase verbosity of debug.\n" - " --vverbose Increase verbosity of debug even more.\n" " -D, --debuggui Shows additional debug GUI elements.\n" " -q, --quiet Disable output to command line. Does not affect log file.\n" " -t, --time Shows time stamp in logging output. Adds milliseconds for verbose.\n" @@ -167,9 +155,6 @@ def main(sysArgs): elif inOpt in ("--verbose"): debugLevel = VERBOSE timeStr = "[{asctime:}.{msecs:03.0f}] " - elif inOpt in ("--vverbose"): - debugLevel = VVERBOSE - timeStr = "[{asctime:}.{msecs:03.0f}] " elif inOpt in ("-t","--time"): showTime = True elif inOpt in ("--config"): diff --git a/nw/gui/aboutview.py b/nw/gui/aboutview.py index 7d4d97d2..b4f1721e 100644 --- a/nw/gui/aboutview.py +++ b/nw/gui/aboutview.py @@ -32,7 +32,7 @@ class GuiAboutView(QWidget): self.outerBox = QVBoxLayout() logoPath = path.abspath(path.join(self.mainConf.appPath,"..","novelWriter.svg")) - logger.vverbose("Loading image: %s" % logoPath) + logger.verbose("Loading image: %s" % logoPath) nwLogo = QSvgWidget(logoPath) nwLogo.setFixedSize(QSize(300,300)) diff --git a/nw/gui/projecteditor.py b/nw/gui/projecteditor.py index 291ae00b..86ba78ff 100644 --- a/nw/gui/projecteditor.py +++ b/nw/gui/projecteditor.py @@ -80,7 +80,7 @@ class GuiProjectEditor(QDialog): return def _doSave(self): - logger.vverbose("ProjectEditor save button clicked") + logger.verbose("ProjectEditor save button clicked") projName = self.editName.text() bookTitle = self.editTitle.text() bookAuthors = self.editAuthors.toPlainText() @@ -90,7 +90,7 @@ class GuiProjectEditor(QDialog): return def _doClose(self): - logger.vverbose("ProjectEditor close button clicked") + logger.verbose("ProjectEditor close button clicked") self.close() return diff --git a/nw/gui/winmain.py b/nw/gui/winmain.py index c0b49fb0..05c4185d 100644 --- a/nw/gui/winmain.py +++ b/nw/gui/winmain.py @@ -22,6 +22,7 @@ from nw.gui.doctree import GuiDocTree from nw.gui.doceditor import GuiDocEditor from nw.gui.projecteditor import GuiProjectEditor from nw.project.project import NWProject +from nw.project.item import NWItem logger = logging.getLogger(__name__) @@ -58,6 +59,7 @@ class GuiMain(QMainWindow): self.setCentralWidget(self.splitMain) self._buildMenu() + self.treeView.itemDoubleClicked.connect(self._treeDoubleClick) self.treeView.buildTree() self.show() @@ -112,7 +114,7 @@ class GuiMain(QMainWindow): return True def openRecentProject(self, recentItem): - logger.vverbose("User requested opening recent project #%d" % recentItem) + logger.verbose("User requested opening recent project #%d" % recentItem) self.theProject.openProject(self.mainConf.recentList[recentItem]) self.treeView.buildTree() self._setWindowTitle(self.theProject.projName) @@ -130,6 +132,16 @@ class GuiMain(QMainWindow): # Internal Functions # + def _treeDoubleClick(self, tItem, colNo): + tHandle = tItem.text(3) + logger.verbose("User double clicked tree item with handle %s" % tHandle) + nwItem = self.theProject.getItem(tHandle) + if nwItem.itemType == NWItem.TYPE_FILE: + logger.verbose("Requested item %s is a file" % tHandle) + else: + logger.verbose("Requested item %s is a folder" % tHandle) + return + def _closeMain(self): logger.info("Exiting %s" % nw.__package__) self.mainConf.setWinSize(self.width(), self.height()) diff --git a/nw/project/project.py b/nw/project/project.py index fbf14093..9290ee11 100644 --- a/nw/project/project.py +++ b/nw/project/project.py @@ -239,6 +239,16 @@ class NWProject(): self.treeOrder = newOrder return True + # + # Get Functions + # + + def getItem(self, tHandle): + if tHandle in self.projTree: + return self.projTree[tHandle] + logger.error("No tree item with handle %s" % str(tHandle)) + return None + # # Internal Functions # @@ -255,7 +265,7 @@ class NWProject(): def _makeHandle(self, addSeed=""): newSeed = str(time()) + addSeed - logger.vverbose("Generating handle with seed '%s'" % newSeed) + logger.verbose("Generating handle with seed '%s'" % newSeed) itemHandle = sha256(newSeed.encode()).hexdigest()[0:13] if itemHandle in self.projTree.keys(): logger.warning("Duplicate handle encountered! Retrying ...")