Removed vverbose logging level and added treeview double click event.

This commit is contained in:
Veronica K. B. Olsen
2018-11-01 20:30:23 +01:00
parent d71259eda5
commit 027dec67ce
5 changed files with 31 additions and 24 deletions
+4 -19
View File
@@ -41,25 +41,15 @@ __url__ = "https://github.com/vkbo/novelWriter"
# ----------- SPAM Threshold : Output above should be minimal ----------------- # ----------- SPAM Threshold : Output above should be minimal -----------------
# DEBUG Use for descriptions of main program flow # DEBUG Use for descriptions of main program flow
# VERBOSE Use for outputting values and program flow details # 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 # Adding verbose logging levels
VERBOSE = 5
VERBOSE = 9 logging.addLevelName(VERBOSE, "VERBOSE")
VVERBOSE = 8
logging.addLevelName(VERBOSE, "DEBUGV")
logging.addLevelName(VVERBOSE,"DEBUGVV")
def logVerbose(self, message, *args, **kws): def logVerbose(self, message, *args, **kws):
if self.isEnabledFor(VERBOSE): if self.isEnabledFor(VERBOSE):
self._log(VERBOSE, message, args, **kws) self._log(VERBOSE, message, args, **kws)
def logVVerbose(self, message, *args, **kws): logging.Logger.verbose = logVerbose
if self.isEnabledFor(VVERBOSE):
self._log(VVERBOSE, message, args, **kws)
logging.Logger.verbose = logVerbose
logging.Logger.vverbose = logVVerbose
# Initiating logging # Initiating logging
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)
@@ -88,7 +78,6 @@ def main(sysArgs):
"help", "help",
"debug=", "debug=",
"verbose", "verbose",
"vverbose",
"debuggui", "debuggui",
"quiet", "quiet",
"time", "time",
@@ -107,7 +96,6 @@ def main(sysArgs):
" -v, --version Print program version and exit.\n" " -v, --version Print program version and exit.\n"
" -d, --debug Debug level. Valid options are DEBUG, INFO, WARN or ERROR.\n" " -d, --debug Debug level. Valid options are DEBUG, INFO, WARN or ERROR.\n"
" --verbose Increase verbosity of debug.\n" " --verbose Increase verbosity of debug.\n"
" --vverbose Increase verbosity of debug even more.\n"
" -D, --debuggui Shows additional debug GUI elements.\n" " -D, --debuggui Shows additional debug GUI elements.\n"
" -q, --quiet Disable output to command line. Does not affect log file.\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" " -t, --time Shows time stamp in logging output. Adds milliseconds for verbose.\n"
@@ -167,9 +155,6 @@ def main(sysArgs):
elif inOpt in ("--verbose"): elif inOpt in ("--verbose"):
debugLevel = VERBOSE debugLevel = VERBOSE
timeStr = "[{asctime:}.{msecs:03.0f}] " timeStr = "[{asctime:}.{msecs:03.0f}] "
elif inOpt in ("--vverbose"):
debugLevel = VVERBOSE
timeStr = "[{asctime:}.{msecs:03.0f}] "
elif inOpt in ("-t","--time"): elif inOpt in ("-t","--time"):
showTime = True showTime = True
elif inOpt in ("--config"): elif inOpt in ("--config"):
+1 -1
View File
@@ -32,7 +32,7 @@ class GuiAboutView(QWidget):
self.outerBox = QVBoxLayout() self.outerBox = QVBoxLayout()
logoPath = path.abspath(path.join(self.mainConf.appPath,"..","novelWriter.svg")) 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 = QSvgWidget(logoPath)
nwLogo.setFixedSize(QSize(300,300)) nwLogo.setFixedSize(QSize(300,300))
+2 -2
View File
@@ -80,7 +80,7 @@ class GuiProjectEditor(QDialog):
return return
def _doSave(self): def _doSave(self):
logger.vverbose("ProjectEditor save button clicked") logger.verbose("ProjectEditor save button clicked")
projName = self.editName.text() projName = self.editName.text()
bookTitle = self.editTitle.text() bookTitle = self.editTitle.text()
bookAuthors = self.editAuthors.toPlainText() bookAuthors = self.editAuthors.toPlainText()
@@ -90,7 +90,7 @@ class GuiProjectEditor(QDialog):
return return
def _doClose(self): def _doClose(self):
logger.vverbose("ProjectEditor close button clicked") logger.verbose("ProjectEditor close button clicked")
self.close() self.close()
return return
+13 -1
View File
@@ -22,6 +22,7 @@ from nw.gui.doctree import GuiDocTree
from nw.gui.doceditor import GuiDocEditor from nw.gui.doceditor import GuiDocEditor
from nw.gui.projecteditor import GuiProjectEditor from nw.gui.projecteditor import GuiProjectEditor
from nw.project.project import NWProject from nw.project.project import NWProject
from nw.project.item import NWItem
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)
@@ -58,6 +59,7 @@ class GuiMain(QMainWindow):
self.setCentralWidget(self.splitMain) self.setCentralWidget(self.splitMain)
self._buildMenu() self._buildMenu()
self.treeView.itemDoubleClicked.connect(self._treeDoubleClick)
self.treeView.buildTree() self.treeView.buildTree()
self.show() self.show()
@@ -112,7 +114,7 @@ class GuiMain(QMainWindow):
return True return True
def openRecentProject(self, recentItem): 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.theProject.openProject(self.mainConf.recentList[recentItem])
self.treeView.buildTree() self.treeView.buildTree()
self._setWindowTitle(self.theProject.projName) self._setWindowTitle(self.theProject.projName)
@@ -130,6 +132,16 @@ class GuiMain(QMainWindow):
# Internal Functions # 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): def _closeMain(self):
logger.info("Exiting %s" % nw.__package__) logger.info("Exiting %s" % nw.__package__)
self.mainConf.setWinSize(self.width(), self.height()) self.mainConf.setWinSize(self.width(), self.height())
+11 -1
View File
@@ -239,6 +239,16 @@ class NWProject():
self.treeOrder = newOrder self.treeOrder = newOrder
return True 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 # Internal Functions
# #
@@ -255,7 +265,7 @@ class NWProject():
def _makeHandle(self, addSeed=""): def _makeHandle(self, addSeed=""):
newSeed = str(time()) + 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] itemHandle = sha256(newSeed.encode()).hexdigest()[0:13]
if itemHandle in self.projTree.keys(): if itemHandle in self.projTree.keys():
logger.warning("Duplicate handle encountered! Retrying ...") logger.warning("Duplicate handle encountered! Retrying ...")