Wrap some long or too long code lines
This commit is contained in:
+3
-1
@@ -533,7 +533,9 @@ class Config:
|
|||||||
|
|
||||||
# Write config file
|
# Write config file
|
||||||
try:
|
try:
|
||||||
cnfParse.write(open(path.join(self.confPath,self.confFile),mode="w",encoding="utf8"))
|
cnfParse.write(
|
||||||
|
open(path.join(self.confPath, self.confFile), mode="w", encoding="utf8")
|
||||||
|
)
|
||||||
self.confChanged = False
|
self.confChanged = False
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
logger.error("Could not save config file")
|
logger.error("Could not save config file")
|
||||||
|
|||||||
+6
-6
@@ -1097,10 +1097,10 @@ class NWProject():
|
|||||||
|
|
||||||
# END Class NWProject
|
# END Class NWProject
|
||||||
|
|
||||||
# ================================================================================================ #
|
# =============================================================================================== #
|
||||||
# NWTree
|
# NWTree
|
||||||
# Class holding the project tree for the NWProject
|
# Class holding the project tree for the NWProject
|
||||||
# ================================================================================================ #
|
# =============================================================================================== #
|
||||||
|
|
||||||
class NWTree():
|
class NWTree():
|
||||||
|
|
||||||
@@ -1435,10 +1435,10 @@ class NWTree():
|
|||||||
|
|
||||||
# END Class NWTree
|
# END Class NWTree
|
||||||
|
|
||||||
# ================================================================================================ #
|
# =============================================================================================== #
|
||||||
# NWItem
|
# NWItem
|
||||||
# Class holding the project items making up the NWProject
|
# Class holding the project items making up the NWProject
|
||||||
# ================================================================================================ #
|
# =============================================================================================== #
|
||||||
|
|
||||||
class NWItem():
|
class NWItem():
|
||||||
|
|
||||||
@@ -1680,10 +1680,10 @@ class NWItem():
|
|||||||
|
|
||||||
# END Class NWItem
|
# END Class NWItem
|
||||||
|
|
||||||
# ================================================================================================ #
|
# =============================================================================================== #
|
||||||
# NWStatus
|
# NWStatus
|
||||||
# Class holding the item status values stored in the NWProject
|
# Class holding the item status values stored in the NWProject
|
||||||
# ================================================================================================ #
|
# =============================================================================================== #
|
||||||
|
|
||||||
class NWStatus():
|
class NWStatus():
|
||||||
|
|
||||||
|
|||||||
@@ -35,9 +35,9 @@ from nw.constants import isoLanguage
|
|||||||
|
|
||||||
logger = logging.getLogger(__name__)
|
logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
# ================================================================================================ #
|
# =============================================================================================== #
|
||||||
# SpellChecking SuperClass
|
# SpellChecking SuperClass
|
||||||
# ================================================================================================ #
|
# =============================================================================================== #
|
||||||
|
|
||||||
class NWSpellCheck():
|
class NWSpellCheck():
|
||||||
|
|
||||||
@@ -129,9 +129,9 @@ class NWSpellCheck():
|
|||||||
|
|
||||||
# END Class NWSpellCheck
|
# END Class NWSpellCheck
|
||||||
|
|
||||||
# ================================================================================================ #
|
# =============================================================================================== #
|
||||||
# Enchant Based SpellChecking
|
# Enchant Based SpellChecking
|
||||||
# ================================================================================================ #
|
# =============================================================================================== #
|
||||||
|
|
||||||
class NWSpellEnchant(NWSpellCheck):
|
class NWSpellEnchant(NWSpellCheck):
|
||||||
|
|
||||||
@@ -211,9 +211,9 @@ class NWSpellEnchantDummy:
|
|||||||
|
|
||||||
# END Class NWSpellEnchantDummy
|
# END Class NWSpellEnchantDummy
|
||||||
|
|
||||||
# ================================================================================================ #
|
# =============================================================================================== #
|
||||||
# Fallback SpellChecking Using difflib
|
# Fallback SpellChecking Using difflib
|
||||||
# ================================================================================================ #
|
# =============================================================================================== #
|
||||||
|
|
||||||
class NWSpellSimple(NWSpellCheck):
|
class NWSpellSimple(NWSpellCheck):
|
||||||
"""Internal spell check tool that uses standard Python packages with
|
"""Internal spell check tool that uses standard Python packages with
|
||||||
|
|||||||
+18
-6
@@ -172,7 +172,9 @@ class GuiBuildNovel(QDialog):
|
|||||||
|
|
||||||
self.textFont = QFontComboBox()
|
self.textFont = QFontComboBox()
|
||||||
self.textFont.setFixedWidth(220)
|
self.textFont.setFixedWidth(220)
|
||||||
self.textFont.setToolTip("The font is used for PDF and printing. Other formats have no font set.")
|
self.textFont.setToolTip(
|
||||||
|
"The font is used for PDF and printing. Other formats have no font set."
|
||||||
|
)
|
||||||
self.textFont.setCurrentFont(
|
self.textFont.setCurrentFont(
|
||||||
QFont(self.optState.getString("GuiBuildNovel", "textFont", self.mainConf.textFont))
|
QFont(self.optState.getString("GuiBuildNovel", "textFont", self.mainConf.textFont))
|
||||||
)
|
)
|
||||||
@@ -182,13 +184,17 @@ class GuiBuildNovel(QDialog):
|
|||||||
self.textSize.setMinimum(5)
|
self.textSize.setMinimum(5)
|
||||||
self.textSize.setMaximum(48)
|
self.textSize.setMaximum(48)
|
||||||
self.textSize.setSingleStep(1)
|
self.textSize.setSingleStep(1)
|
||||||
self.textSize.setToolTip("The size is used for PDF and printing. Other formats have no size set.")
|
self.textSize.setToolTip(
|
||||||
|
"The size is used for PDF and printing. Other formats have no size set."
|
||||||
|
)
|
||||||
self.textSize.setValue(
|
self.textSize.setValue(
|
||||||
self.optState.getInt("GuiBuildNovel", "textSize", self.mainConf.textSize)
|
self.optState.getInt("GuiBuildNovel", "textSize", self.mainConf.textSize)
|
||||||
)
|
)
|
||||||
|
|
||||||
self.justifyText = QSwitch()
|
self.justifyText = QSwitch()
|
||||||
self.justifyText.setToolTip("Applies to PDF, printing, HTML, and Open Document exports.")
|
self.justifyText.setToolTip(
|
||||||
|
"Applies to PDF, printing, HTML, and Open Document exports."
|
||||||
|
)
|
||||||
self.justifyText.setChecked(
|
self.justifyText.setChecked(
|
||||||
self.optState.getBool("GuiBuildNovel", "justifyText", False)
|
self.optState.getBool("GuiBuildNovel", "justifyText", False)
|
||||||
)
|
)
|
||||||
@@ -210,15 +216,21 @@ class GuiBuildNovel(QDialog):
|
|||||||
self.includeGroup.setLayout(self.includeForm)
|
self.includeGroup.setLayout(self.includeForm)
|
||||||
|
|
||||||
self.includeSynopsis = QSwitch()
|
self.includeSynopsis = QSwitch()
|
||||||
self.includeSynopsis.setToolTip("Include synopsis type comments in the output.")
|
self.includeSynopsis.setToolTip(
|
||||||
|
"Include synopsis type comments in the output."
|
||||||
|
)
|
||||||
self.includeSynopsis.setChecked(self.theProject.titleFormat["withSynopsis"])
|
self.includeSynopsis.setChecked(self.theProject.titleFormat["withSynopsis"])
|
||||||
|
|
||||||
self.includeComments = QSwitch()
|
self.includeComments = QSwitch()
|
||||||
self.includeComments.setToolTip("Include plain comments in the output.")
|
self.includeComments.setToolTip(
|
||||||
|
"Include plain comments in the output."
|
||||||
|
)
|
||||||
self.includeComments.setChecked(self.theProject.titleFormat["withComments"])
|
self.includeComments.setChecked(self.theProject.titleFormat["withComments"])
|
||||||
|
|
||||||
self.includeKeywords = QSwitch()
|
self.includeKeywords = QSwitch()
|
||||||
self.includeKeywords.setToolTip("Include meta keywords (tags, references) in the output.")
|
self.includeKeywords.setToolTip(
|
||||||
|
"Include meta keywords (tags, references) in the output."
|
||||||
|
)
|
||||||
self.includeKeywords.setChecked(self.theProject.titleFormat["withKeywords"])
|
self.includeKeywords.setChecked(self.theProject.titleFormat["withKeywords"])
|
||||||
|
|
||||||
self.includeForm.addWidget(QLabel("Include synopsis"), 0, 0, 1, 1, Qt.AlignLeft)
|
self.includeForm.addWidget(QLabel("Include synopsis"), 0, 0, 1, 1, Qt.AlignLeft)
|
||||||
|
|||||||
+13
-10
@@ -119,16 +119,19 @@ class GuiAbout(QDialog):
|
|||||||
"<h2>About {name:s}</h2>"
|
"<h2>About {name:s}</h2>"
|
||||||
"<p>{copyright:s}.</p>"
|
"<p>{copyright:s}.</p>"
|
||||||
"<p>Website: <a href='{website:s}'>{domain:s}</a></p>"
|
"<p>Website: <a href='{website:s}'>{domain:s}</a></p>"
|
||||||
"<p>{name:s} is a markdown-like text editor designed for organising and writing "
|
"<p>{name:s} is a markdown-like text editor designed for "
|
||||||
"novels. It is written in Python 3 with a Qt5 GUI, using PyQt5.</p>"
|
"organising and writing novels. It is written in Python 3 with a "
|
||||||
"<p>{name:s} is free software: you can redistribute it and/or modify it under the "
|
"Qt5 GUI, using PyQt5.</p>"
|
||||||
"terms of the GNU General Public License as published by the Free Software Foundation, "
|
"<p>{name:s} is free software: you can redistribute it and/or "
|
||||||
"either version 3 of the License, or (at your option) any later version.</p>"
|
"modify it under the terms of the GNU General Public License as "
|
||||||
"<p>{name:s} is distributed in the hope that it will be useful, but WITHOUT ANY "
|
"published by the Free Software Foundation, either version 3 of "
|
||||||
"WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A "
|
"the License, or (at your option) any later version.</p>"
|
||||||
"PARTICULAR PURPOSE.</p>"
|
"<p>{name:s} is distributed in the hope that it will be useful, "
|
||||||
"<p>See the License tab for the full text, or visit the GNU website at "
|
"but WITHOUT ANY WARRANTY; without even the implied warranty of "
|
||||||
"<a href='https://www.gnu.org/licenses/gpl-3.0.html'>GPL v3.0</a> for more details.</p>"
|
"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.</p>"
|
||||||
|
"<p>See the License tab for the full text, or visit the GNU website "
|
||||||
|
"at <a href='https://www.gnu.org/licenses/gpl-3.0.html'>GPL v3.0</a> "
|
||||||
|
"for more details.</p>"
|
||||||
"<h3>Credits</h3>"
|
"<h3>Credits</h3>"
|
||||||
"<p>{credits:s}</p>"
|
"<p>{credits:s}</p>"
|
||||||
).format(
|
).format(
|
||||||
|
|||||||
@@ -150,7 +150,9 @@ class GuiDocSplit(QDialog):
|
|||||||
), nwAlert.ERROR)
|
), nwAlert.ERROR)
|
||||||
return
|
return
|
||||||
|
|
||||||
fHandle = self.theProject.newFolder(srcItem.itemName, srcItem.itemClass, srcItem.parHandle)
|
fHandle = self.theProject.newFolder(
|
||||||
|
srcItem.itemName, srcItem.itemClass, srcItem.parHandle
|
||||||
|
)
|
||||||
self.theParent.treeView.revealTreeItem(fHandle)
|
self.theParent.treeView.revealTreeItem(fHandle)
|
||||||
logger.verbose("Creating folder %s" % fHandle)
|
logger.verbose("Creating folder %s" % fHandle)
|
||||||
|
|
||||||
@@ -174,7 +176,9 @@ class GuiDocSplit(QDialog):
|
|||||||
newItem = self.theProject.projTree[nHandle]
|
newItem = self.theProject.projTree[nHandle]
|
||||||
newItem.setLayout(itemLayout)
|
newItem.setLayout(itemLayout)
|
||||||
logger.verbose(
|
logger.verbose(
|
||||||
"Creating new document %s with text from line %d to %d" % (nHandle, iStart, iEnd-1)
|
"Creating new document %s with text from line %d to %d" % (
|
||||||
|
nHandle, iStart, iEnd-1
|
||||||
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
theText = "\n".join(theLines[iStart:iEnd])
|
theText = "\n".join(theLines[iStart:iEnd])
|
||||||
@@ -227,7 +231,9 @@ class GuiDocSplit(QDialog):
|
|||||||
|
|
||||||
spLevel = self.splitLevel.currentData()
|
spLevel = self.splitLevel.currentData()
|
||||||
self.optState.setValue("GuiDocSplit", "spLevel", spLevel)
|
self.optState.setValue("GuiDocSplit", "spLevel", spLevel)
|
||||||
logger.debug("Scanning document %s for headings level <= %d" % (self.sourceItem, spLevel))
|
logger.debug(
|
||||||
|
"Scanning document %s for headings level <= %d" % (self.sourceItem, spLevel)
|
||||||
|
)
|
||||||
|
|
||||||
lineNo = 0
|
lineNo = 0
|
||||||
for aLine in theText.splitlines():
|
for aLine in theText.splitlines():
|
||||||
|
|||||||
@@ -180,11 +180,15 @@ class GuiSessionLogView(QDialog):
|
|||||||
inData = inLine.split()
|
inData = inLine.split()
|
||||||
if len(inData) != 8:
|
if len(inData) != 8:
|
||||||
continue
|
continue
|
||||||
dStart = datetime.strptime("%s %s" % (inData[1],inData[2]), nwConst.tStampFmt)
|
dStart = datetime.strptime(
|
||||||
dEnd = datetime.strptime("%s %s" % (inData[4],inData[5]), nwConst.tStampFmt)
|
"%s %s" % (inData[1],inData[2]), nwConst.tStampFmt
|
||||||
|
)
|
||||||
|
dEnd = datetime.strptime(
|
||||||
|
"%s %s" % (inData[4],inData[5]), nwConst.tStampFmt
|
||||||
|
)
|
||||||
nWords = int(inData[7])
|
nWords = int(inData[7])
|
||||||
tDiff = dEnd - dStart
|
tDiff = dEnd - dStart
|
||||||
sDiff = tDiff.total_seconds()
|
sDiff = tDiff.total_seconds()
|
||||||
|
|
||||||
self.timeTotal += sDiff
|
self.timeTotal += sDiff
|
||||||
if abs(nWords) > 0:
|
if abs(nWords) > 0:
|
||||||
@@ -196,7 +200,9 @@ class GuiSessionLogView(QDialog):
|
|||||||
if hideNegative and nWords < 0:
|
if hideNegative and nWords < 0:
|
||||||
continue
|
continue
|
||||||
|
|
||||||
newItem = QTreeWidgetItem([str(dStart),self._formatTime(sDiff),str(nWords),""])
|
newItem = QTreeWidgetItem(
|
||||||
|
[str(dStart), self._formatTime(sDiff), str(nWords), ""]
|
||||||
|
)
|
||||||
|
|
||||||
newItem.setTextAlignment(1,Qt.AlignRight)
|
newItem.setTextAlignment(1,Qt.AlignRight)
|
||||||
newItem.setTextAlignment(2,Qt.AlignRight)
|
newItem.setTextAlignment(2,Qt.AlignRight)
|
||||||
@@ -208,7 +214,9 @@ class GuiSessionLogView(QDialog):
|
|||||||
self.listBox.addTopLevelItem(newItem)
|
self.listBox.addTopLevelItem(newItem)
|
||||||
|
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
self.theParent.makeAlert(["Failed to read session log file.",str(e)], nwAlert.ERROR)
|
self.theParent.makeAlert(
|
||||||
|
["Failed to read session log file.",str(e)], nwAlert.ERROR
|
||||||
|
)
|
||||||
return False
|
return False
|
||||||
|
|
||||||
self.labelFilter.setText(self._formatTime(self.timeFilter))
|
self.labelFilter.setText(self._formatTime(self.timeFilter))
|
||||||
|
|||||||
@@ -479,7 +479,9 @@ class GuiDocEditor(QTextEdit):
|
|||||||
self.hLight.rehighlight()
|
self.hLight.rehighlight()
|
||||||
qApp.restoreOverrideCursor()
|
qApp.restoreOverrideCursor()
|
||||||
afTime = time()
|
afTime = time()
|
||||||
logger.debug("Document re-highlighted in %.3f milliseconds" % (1000*(afTime-bfTime)))
|
logger.debug(
|
||||||
|
"Document re-highlighted in %.3f milliseconds" % (1000*(afTime-bfTime))
|
||||||
|
)
|
||||||
|
|
||||||
return True
|
return True
|
||||||
|
|
||||||
@@ -716,7 +718,9 @@ class GuiDocEditor(QTextEdit):
|
|||||||
"""
|
"""
|
||||||
sinceActive = time()-self.lastEdit
|
sinceActive = time()-self.lastEdit
|
||||||
if sinceActive > 5*self.wcInterval:
|
if sinceActive > 5*self.wcInterval:
|
||||||
logger.debug("Stopping word count timer: no activity last %.1f seconds" % sinceActive)
|
logger.debug(
|
||||||
|
"Stopping word count timer: no activity last %.1f seconds" % sinceActive
|
||||||
|
)
|
||||||
self.wcTimer.stop()
|
self.wcTimer.stop()
|
||||||
elif self.wCounter.isRunning():
|
elif self.wCounter.isRunning():
|
||||||
logger.verbose("Word counter thread is busy")
|
logger.verbose("Word counter thread is busy")
|
||||||
@@ -952,7 +956,9 @@ class GuiDocEditor(QTextEdit):
|
|||||||
theText = newText
|
theText = newText
|
||||||
cOffset -= 0
|
cOffset -= 0
|
||||||
else:
|
else:
|
||||||
logger.error("Unknown or unsupported block format requested: %s" % str(docAction))
|
logger.error(
|
||||||
|
"Unknown or unsupported block format requested: %s" % str(docAction)
|
||||||
|
)
|
||||||
return
|
return
|
||||||
|
|
||||||
# Replace the block text
|
# Replace the block text
|
||||||
|
|||||||
+3
-1
@@ -297,7 +297,9 @@ class GuiIcons:
|
|||||||
|
|
||||||
# Finally. we check if we have a fallback icon
|
# Finally. we check if we have a fallback icon
|
||||||
if self.mainConf.guiDark:
|
if self.mainConf.guiDark:
|
||||||
fbackIcon = path.join(self.mainConf.iconPath, self.fbackName, "%s-dark.svg" % iconKey)
|
fbackIcon = path.join(
|
||||||
|
self.mainConf.iconPath, self.fbackName, "%s-dark.svg" % iconKey
|
||||||
|
)
|
||||||
if path.isfile(fbackIcon):
|
if path.isfile(fbackIcon):
|
||||||
logger.verbose("Loading icon '%s' from fallback theme" % iconKey)
|
logger.verbose("Loading icon '%s' from fallback theme" % iconKey)
|
||||||
return QIcon(fbackIcon)
|
return QIcon(fbackIcon)
|
||||||
|
|||||||
Reference in New Issue
Block a user