Added better tracking of document and project changes and added coloured icons for the status bar

This commit is contained in:
Veronica K. B. Olsen
2019-05-05 01:02:04 +02:00
parent 9565b14d8b
commit 971d8a9a59
5 changed files with 68 additions and 21 deletions
+35 -1
View File
@@ -15,7 +15,6 @@ import nw
from os import path
from PyQt5.QtWidgets import QStatusBar, QLabel, QFrame
from PyQt5.QtGui import QIcon
logger = logging.getLogger(__name__)
@@ -29,9 +28,20 @@ class GuiMainStatus(QStatusBar):
self.mainConf = nw.CONFIG
self.boxCounts = QLabel()
self.boxCounts.setToolTip("Character, Word, Paragraph Count")
self.boxCounts.setFrameStyle(QFrame.Panel | QFrame.Sunken);
self.addPermanentWidget(self.boxCounts)
self.projChanged = QLabel("P")
self.projChanged.setToolTip("Project Changes Saved")
self.projChanged.setFrameStyle(QFrame.Panel | QFrame.Sunken);
self.addPermanentWidget(self.projChanged)
self.docChanged = QLabel("D")
self.docChanged.setToolTip("Document Changes Saved")
self.docChanged.setFrameStyle(QFrame.Panel | QFrame.Sunken);
self.addPermanentWidget(self.docChanged)
self.boxDocHandle = QLabel()
self.boxDocHandle.setFrameStyle(QFrame.Panel | QFrame.Sunken);
if self.mainConf.debugGUI:
@@ -41,6 +51,8 @@ class GuiMainStatus(QStatusBar):
self.setCounts(0,0,0)
self.setDocHandleCount(None)
self.setProjectStatus(None)
self.setDocumentStatus(None)
self.setSizeGripEnabled(True)
@@ -50,6 +62,28 @@ class GuiMainStatus(QStatusBar):
self.showMessage(theMessage, int(timeOut*1000))
return
def setProjectStatus(self, isChanged):
if isChanged is None:
self.projChanged.setStyleSheet("QLabel {background-color: rgba(120,120,120,1.0);}")
elif isChanged == True:
self.projChanged.setStyleSheet("QLabel {background-color: rgba(120,120,40,1.0);}")
elif isChanged == False:
self.projChanged.setStyleSheet("QLabel {background-color: rgba(40,120,0,1.0);}")
else:
self.projChanged.setStyleSheet("QLabel {background-color: rgba(120,120,120,1.0);}")
return
def setDocumentStatus(self, isChanged):
if isChanged is None:
self.docChanged.setStyleSheet("QLabel {background-color: rgba(120,120,120,1.0);}")
elif isChanged == True:
self.docChanged.setStyleSheet("QLabel {background-color: rgba(120,120,40,1.0);}")
elif isChanged == False:
self.docChanged.setStyleSheet("QLabel {background-color: rgba(40,120,0,1.0);}")
else:
self.docChanged.setStyleSheet("QLabel {background-color: rgba(120,120,120,1.0);}")
return
def setCounts(self, cC, wC, pC):
self.boxCounts.setText("<b>C:</b> {:n}&nbsp;&nbsp;<b>W:</b> {:n}&nbsp;&nbsp;<b>P:</b> {:n}".format(cC,wC,pC))
return