Some reshuffling of loading into document viewer

This commit is contained in:
Veronica K. B. Olsen
2019-06-09 09:36:37 +02:00
parent c67ceb4245
commit 121473969e
2 changed files with 50 additions and 25 deletions
+48 -7
View File
@@ -13,32 +13,40 @@
import logging
import nw
from PyQt5.QtCore import Qt
from PyQt5.QtWidgets import QTextBrowser
from PyQt5.QtGui import QTextOption
from nw.convert.tokenizer import Tokenizer
from nw.convert.tohtml import ToHtml
from nw.enum import nwItemType
logger = logging.getLogger(__name__)
class GuiDocViewer(QTextBrowser):
def __init__(self, theParent):
def __init__(self, theParent, theProject):
QTextBrowser.__init__(self)
logger.debug("Initialising DocViewer ...")
# Class Variables
self.mainConf = nw.CONFIG
self.theParent = theParent
self.theTheme = theParent.theTheme
self.mainConf = nw.CONFIG
self.theProject = theProject
self.theParent = theParent
self.theTheme = theParent.theTheme
self.theHandle = None
self.theDoc = self.document()
self.theDoc.setDefaultStyleSheet((
self.theQDoc = self.document()
self.theQDoc.setDefaultStyleSheet((
"h1, h2, h3, h4 {{"
" color: rgb({0},{1},{2});"
"}}"
).format(
*self.theTheme.colHead
))
self.theDoc.setDocumentMargin(self.mainConf.textMargin[0])
self.setMinimumWidth(300)
self.initEditor()
logger.debug("DocViewer initialisation complete")
@@ -48,4 +56,37 @@ class GuiDocViewer(QTextBrowser):
self.clear()
return True
def initEditor(self):
"""Set editor settings from mani config.
"""
self.theQDoc.setDocumentMargin(self.mainConf.textMargin[0])
theOpt = QTextOption()
if self.mainConf.doJustify:
theOpt.setAlignment(Qt.AlignJustify)
self.theQDoc.setDefaultTextOption(theOpt)
return True
def loadText(self, tHandle):
tItem = self.theProject.getItem(tHandle)
if tItem is None:
logger.warning("Item not found")
return False
if tItem.itemType != nwItemType.FILE:
return False
logger.debug("Generating preview for item %s" % tHandle)
aDoc = ToHtml(self.theProject, self.theParent)
aDoc.setText(tHandle)
aDoc.doAutoReplace()
aDoc.tokenizeText()
aDoc.doConvert()
self.setHtml(aDoc.theResult)
self.theHandle = tHandle
self.theProject.setLastViewed(tHandle)
return True
# END Class GuiDocViewer