Moved WordCounter class into doceditor file
This commit is contained in:
@@ -31,7 +31,6 @@ from nw.gui.elements.viewdetails import GuiDocViewDetails
|
|||||||
# Tools
|
# Tools
|
||||||
from nw.gui.tools.dochighlight import GuiDocHighlighter
|
from nw.gui.tools.dochighlight import GuiDocHighlighter
|
||||||
from nw.gui.tools.optionstate import OptionState
|
from nw.gui.tools.optionstate import OptionState
|
||||||
from nw.gui.tools.wordcounter import WordCounter
|
|
||||||
|
|
||||||
__all__ = [
|
__all__ = [
|
||||||
"GuiBuildNovel",
|
"GuiBuildNovel",
|
||||||
@@ -58,5 +57,4 @@ __all__ = [
|
|||||||
"GuiDocViewDetails",
|
"GuiDocViewDetails",
|
||||||
"GuiDocHighlighter",
|
"GuiDocHighlighter",
|
||||||
"OptionState",
|
"OptionState",
|
||||||
"WordCounter",
|
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -6,7 +6,8 @@
|
|||||||
Class holding the document editor
|
Class holding the document editor
|
||||||
|
|
||||||
File History:
|
File History:
|
||||||
Created: 2018-09-29 [0.0.1]
|
Created: 2018-09-29 [0.0.1] GuiDocEditor
|
||||||
|
Created: 2019-04-22 [0.0.1] WordCounter
|
||||||
|
|
||||||
This file is a part of novelWriter
|
This file is a part of novelWriter
|
||||||
Copyright 2020, Veronica Berglyd Olsen
|
Copyright 2020, Veronica Berglyd Olsen
|
||||||
@@ -30,7 +31,7 @@ import nw
|
|||||||
|
|
||||||
from time import time
|
from time import time
|
||||||
|
|
||||||
from PyQt5.QtCore import Qt, QTimer, pyqtSlot
|
from PyQt5.QtCore import Qt, QThread, QTimer, pyqtSlot
|
||||||
from PyQt5.QtWidgets import (
|
from PyQt5.QtWidgets import (
|
||||||
qApp, QTextEdit, QAction, QMenu, QShortcut, QMessageBox
|
qApp, QTextEdit, QAction, QMenu, QShortcut, QMessageBox
|
||||||
)
|
)
|
||||||
@@ -40,9 +41,9 @@ from PyQt5.QtGui import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
from nw.core import NWDoc
|
from nw.core import NWDoc
|
||||||
from nw.gui.tools import GuiDocHighlighter, WordCounter
|
from nw.gui.tools import GuiDocHighlighter
|
||||||
from nw.gui.elements.doctitlebar import GuiDocTitleBar
|
from nw.gui.elements.doctitlebar import GuiDocTitleBar
|
||||||
from nw.core import NWSpellSimple
|
from nw.core import NWSpellSimple, countWords
|
||||||
from nw.constants import nwUnicode, nwDocAction
|
from nw.constants import nwUnicode, nwDocAction
|
||||||
|
|
||||||
logger = logging.getLogger(__name__)
|
logger = logging.getLogger(__name__)
|
||||||
@@ -52,7 +53,7 @@ class GuiDocEditor(QTextEdit):
|
|||||||
def __init__(self, theParent, theProject):
|
def __init__(self, theParent, theProject):
|
||||||
QTextEdit.__init__(self)
|
QTextEdit.__init__(self)
|
||||||
|
|
||||||
logger.debug("Initialising DocEditor ...")
|
logger.debug("Initialising GuiDocEditor ...")
|
||||||
|
|
||||||
# Class Variables
|
# Class Variables
|
||||||
self.mainConf = nw.CONFIG
|
self.mainConf = nw.CONFIG
|
||||||
@@ -131,7 +132,7 @@ class GuiDocEditor(QTextEdit):
|
|||||||
|
|
||||||
self.initEditor()
|
self.initEditor()
|
||||||
|
|
||||||
logger.debug("DocEditor initialisation complete")
|
logger.debug("GuiDocEditor initialisation complete")
|
||||||
|
|
||||||
# Connect Functions
|
# Connect Functions
|
||||||
self.setSelectedHandle = self.theParent.treeView.setSelectedHandle
|
self.setSelectedHandle = self.theParent.treeView.setSelectedHandle
|
||||||
@@ -1082,3 +1083,28 @@ class GuiDocEditor(QTextEdit):
|
|||||||
return
|
return
|
||||||
|
|
||||||
# END Class GuiDocEditor
|
# END Class GuiDocEditor
|
||||||
|
|
||||||
|
class WordCounter(QThread):
|
||||||
|
|
||||||
|
def __init__(self, theParent):
|
||||||
|
QThread.__init__(self, theParent)
|
||||||
|
self.theParent = theParent
|
||||||
|
self.charCount = 0
|
||||||
|
self.wordCount = 0
|
||||||
|
self.paraCount = 0
|
||||||
|
return
|
||||||
|
|
||||||
|
def run(self):
|
||||||
|
"""Overloaded run function for the word counter, forwarding the
|
||||||
|
call to the function that does the actual counting.
|
||||||
|
"""
|
||||||
|
theText = self.theParent.getText()
|
||||||
|
cC, wC, pC = countWords(theText)
|
||||||
|
|
||||||
|
self.charCount = cC
|
||||||
|
self.wordCount = wC
|
||||||
|
self.paraCount = pC
|
||||||
|
|
||||||
|
return
|
||||||
|
|
||||||
|
## END Class WordCounter
|
||||||
|
|||||||
@@ -2,10 +2,8 @@
|
|||||||
|
|
||||||
from nw.gui.tools.dochighlight import GuiDocHighlighter
|
from nw.gui.tools.dochighlight import GuiDocHighlighter
|
||||||
from nw.gui.tools.optionstate import OptionState
|
from nw.gui.tools.optionstate import OptionState
|
||||||
from nw.gui.tools.wordcounter import WordCounter
|
|
||||||
|
|
||||||
__all__ = [
|
__all__ = [
|
||||||
"GuiDocHighlighter",
|
"GuiDocHighlighter",
|
||||||
"OptionState",
|
"OptionState",
|
||||||
"WordCounter",
|
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -1,60 +0,0 @@
|
|||||||
# -*- coding: utf-8 -*-
|
|
||||||
"""novelWriter GUI Document Word Counter
|
|
||||||
|
|
||||||
novelWriter – GUI Document Word Counter
|
|
||||||
===================================
|
|
||||||
A thread for counting words and characters in a document
|
|
||||||
|
|
||||||
File History:
|
|
||||||
Created: 2019-04-22 [0.0.1]
|
|
||||||
|
|
||||||
This file is a part of novelWriter
|
|
||||||
Copyright 2020, Veronica Berglyd Olsen
|
|
||||||
|
|
||||||
This program is free software: you can redistribute it and/or modify
|
|
||||||
it under the terms of the GNU General Public License as published by
|
|
||||||
the Free Software Foundation, either version 3 of the License, or
|
|
||||||
(at your option) any later version.
|
|
||||||
|
|
||||||
This program is distributed in the hope that it will be useful, but
|
|
||||||
WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
||||||
General Public License for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
||||||
"""
|
|
||||||
|
|
||||||
import logging
|
|
||||||
import nw
|
|
||||||
|
|
||||||
from PyQt5.QtCore import QThread
|
|
||||||
|
|
||||||
from nw.core.tools import countWords
|
|
||||||
|
|
||||||
logger = logging.getLogger(__name__)
|
|
||||||
|
|
||||||
class WordCounter(QThread):
|
|
||||||
|
|
||||||
def __init__(self, theParent):
|
|
||||||
QThread.__init__(self, theParent)
|
|
||||||
self.theParent = theParent
|
|
||||||
self.charCount = 0
|
|
||||||
self.wordCount = 0
|
|
||||||
self.paraCount = 0
|
|
||||||
return
|
|
||||||
|
|
||||||
def run(self):
|
|
||||||
"""Overloaded run function for the word counter, forwarding the
|
|
||||||
call to the function that does the actual counting.
|
|
||||||
"""
|
|
||||||
theText = self.theParent.getText()
|
|
||||||
cC, wC, pC = countWords(theText)
|
|
||||||
|
|
||||||
self.charCount = cC
|
|
||||||
self.wordCount = wC
|
|
||||||
self.paraCount = pC
|
|
||||||
|
|
||||||
return
|
|
||||||
|
|
||||||
## END Class WordCounter
|
|
||||||
Reference in New Issue
Block a user