Added status bar class

This commit is contained in:
Veronica K. B. Olsen
2019-04-20 17:45:20 +02:00
parent 31cb799171
commit 2e2c84ea60
2 changed files with 75 additions and 5 deletions
+68
View File
@@ -0,0 +1,68 @@
# -*- coding: utf-8 -*-
"""novelWriter GUI Main Window StatusBar
novelWriter GUI Main Window StatusBar
=========================================
Class holding the main window status bar
File History:
Created: 2019-04-20 [0.0.1]
"""
import logging
import nw
from os import path
from PyQt5.QtWidgets import QStatusBar, QLabel
logger = logging.getLogger(__name__)
class GuiMainStatus(QStatusBar):
def __init__(self):
QStatusBar.__init__(self)
logger.debug("Initialising GuiMainStatus ...")
self.mainConf = nw.CONFIG
self.boxWordCount = QLabel()
self.boxCharCount = QLabel()
self.boxDocHandle = QLabel()
self.addPermanentWidget(self.boxWordCount)
self.addPermanentWidget(self.boxCharCount)
if self.mainConf.debugGUI:
self.addPermanentWidget(self.boxDocHandle)
logger.debug("GuiMainStatus initialisation complete")
self.setWordCount(None)
self.setCharCount(None)
self.setDocHandleCount(None)
return
def setWordCount(self, theCount):
if theCount is None:
self.boxWordCount.setText("<b>Words:</b> --")
else:
self.boxWordCount.setText("<b>Words:</b> {:n}".format(theCount))
return
def setCharCount(self, theCount):
if theCount is None:
self.boxCharCount.setText("<b>Chars:</b> --")
else:
self.boxCharCount.setText("<b>Chars:</b> {:n}".format(theCount))
return
def setDocHandleCount(self, theHandle):
if theHandle is None:
self.boxDocHandle.setText("0000000000000")
else:
self.boxDocHandle.setText("%13s" % theHandle)
return
# END Class GuiMainStatus
+7 -5
View File
@@ -23,6 +23,7 @@ from nw.gui.doctree import GuiDocTree
from nw.gui.doctreectx import GuiDocTreeCtx
from nw.gui.doceditor import GuiDocEditor
from nw.gui.projecteditor import GuiProjectEditor
from nw.gui.statusbar import GuiMainStatus
from nw.project.project import NWProject
from nw.project.document import NWDoc
@@ -36,13 +37,13 @@ class GuiMain(QMainWindow):
logger.debug("Initialising GUI ...")
self.mainConf = nw.CONFIG
self.theProject = NWProject()
self.theDocument = NWDoc(self.theProject)
self.theDocument = NWDoc(self.theProject, self)
self.resize(*self.mainConf.winGeometry)
self._setWindowTitle()
self.setWindowIcon(QIcon(path.join(self.mainConf.appPath,"..","novelWriter.svg")))
self.docEditor = GuiDocEditor()
self.docEditor = GuiDocEditor(self)
self.treePane = QFrame()
self.treePane.setFrameShape(QFrame.StyledPanel)
@@ -75,6 +76,10 @@ class GuiMain(QMainWindow):
self.splitMain.setSizes(self.mainConf.mainPanePos)
self.splitMain.splitterMoved.connect(self._splitMainMove)
self.statusBar = GuiMainStatus()
self.setStatusBar(self.statusBar)
self.statusBar.showMessage("Ready")
# Load Theme StyleSheet
cssFile = path.join(self.mainConf.themePath,self.mainConf.guiTheme+".css")
if path.isfile(cssFile):
@@ -86,9 +91,6 @@ class GuiMain(QMainWindow):
logger.debug("GUI initialisation complete")
statBar = self.statusBar()
statBar.showMessage("Ready")
return
#