Added status bar class
This commit is contained in:
@@ -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
@@ -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
|
||||||
|
|
||||||
#
|
#
|
||||||
|
|||||||
Reference in New Issue
Block a user