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.doctreectx import GuiDocTreeCtx
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.gui.statusbar import GuiMainStatus
from nw.project.project import NWProject from nw.project.project import NWProject
from nw.project.document import NWDoc from nw.project.document import NWDoc
@@ -36,13 +37,13 @@ class GuiMain(QMainWindow):
logger.debug("Initialising GUI ...") logger.debug("Initialising GUI ...")
self.mainConf = nw.CONFIG self.mainConf = nw.CONFIG
self.theProject = NWProject() self.theProject = NWProject()
self.theDocument = NWDoc(self.theProject) self.theDocument = NWDoc(self.theProject, self)
self.resize(*self.mainConf.winGeometry) self.resize(*self.mainConf.winGeometry)
self._setWindowTitle() self._setWindowTitle()
self.setWindowIcon(QIcon(path.join(self.mainConf.appPath,"..","novelWriter.svg"))) self.setWindowIcon(QIcon(path.join(self.mainConf.appPath,"..","novelWriter.svg")))
self.docEditor = GuiDocEditor() self.docEditor = GuiDocEditor(self)
self.treePane = QFrame() self.treePane = QFrame()
self.treePane.setFrameShape(QFrame.StyledPanel) self.treePane.setFrameShape(QFrame.StyledPanel)
@@ -75,6 +76,10 @@ class GuiMain(QMainWindow):
self.splitMain.setSizes(self.mainConf.mainPanePos) self.splitMain.setSizes(self.mainConf.mainPanePos)
self.splitMain.splitterMoved.connect(self._splitMainMove) self.splitMain.splitterMoved.connect(self._splitMainMove)
self.statusBar = GuiMainStatus()
self.setStatusBar(self.statusBar)
self.statusBar.showMessage("Ready")
# Load Theme StyleSheet # Load Theme StyleSheet
cssFile = path.join(self.mainConf.themePath,self.mainConf.guiTheme+".css") cssFile = path.join(self.mainConf.themePath,self.mainConf.guiTheme+".css")
if path.isfile(cssFile): if path.isfile(cssFile):
@@ -86,9 +91,6 @@ class GuiMain(QMainWindow):
logger.debug("GUI initialisation complete") logger.debug("GUI initialisation complete")
statBar = self.statusBar()
statBar.showMessage("Ready")
return return
# #