From f83e9d8c87ee2536e3d5d7cd6be716c7f4705b58 Mon Sep 17 00:00:00 2001 From: Veronica Berglyd Olsen <1619840+vkbo@users.noreply.github.com> Date: Thu, 30 Jan 2025 17:28:39 +0100 Subject: [PATCH] Drop the trinary enum --- novelwriter/enum.py | 7 ------- novelwriter/extensions/statusled.py | 11 +++++------ novelwriter/gui/statusbar.py | 13 ++++++------- tests/test_gui/test_gui_statusbar.py | 25 ++++++++++++------------- 4 files changed, 23 insertions(+), 33 deletions(-) diff --git a/novelwriter/enum.py b/novelwriter/enum.py index d738a616..c9d871b3 100644 --- a/novelwriter/enum.py +++ b/novelwriter/enum.py @@ -68,13 +68,6 @@ class nwComment(Enum): STORY = 7 -class nwTrinary(Enum): - - NEGATIVE = -1 - NEUTRAL = 0 - POSITIVE = 1 - - class nwChange(Enum): CREATE = 0 diff --git a/novelwriter/extensions/statusled.py b/novelwriter/extensions/statusled.py index e9a88104..e3806cc0 100644 --- a/novelwriter/extensions/statusled.py +++ b/novelwriter/extensions/statusled.py @@ -29,7 +29,6 @@ from PyQt5.QtGui import QColor, QPainter, QPaintEvent from PyQt5.QtWidgets import QAbstractButton, QWidget from novelwriter import CONFIG -from novelwriter.enum import nwTrinary from novelwriter.types import QtBlack, QtPaintAntiAlias logger = logging.getLogger(__name__) @@ -47,14 +46,14 @@ class StatusLED(QAbstractButton): self._postitve = QtBlack self._negative = QtBlack self._color = QtBlack - self._state = nwTrinary.NEUTRAL + self._state = None self._bPx = CONFIG.pxInt(1) self.setFixedWidth(sW) self.setFixedHeight(sH) return @property - def state(self) -> nwTrinary: + def state(self) -> bool | None: """The current state of the LED.""" return self._state @@ -66,11 +65,11 @@ class StatusLED(QAbstractButton): self.setState(self._state) return - def setState(self, state: nwTrinary) -> None: + def setState(self, state: bool | None) -> None: """Set the colour state.""" - if state == nwTrinary.POSITIVE: + if state is True: self._color = self._postitve - elif state == nwTrinary.NEGATIVE: + elif state is False: self._color = self._negative else: self._color = self._neutral diff --git a/novelwriter/gui/statusbar.py b/novelwriter/gui/statusbar.py index 14e3f420..ad810589 100644 --- a/novelwriter/gui/statusbar.py +++ b/novelwriter/gui/statusbar.py @@ -34,7 +34,6 @@ from PyQt5.QtWidgets import QApplication, QLabel, QStatusBar, QWidget from novelwriter import CONFIG, SHARED from novelwriter.common import formatTime from novelwriter.constants import nwConst -from novelwriter.enum import nwTrinary from novelwriter.extensions.modified import NClickableLabel from novelwriter.extensions.statusled import StatusLED @@ -121,8 +120,8 @@ class GuiMainStatus(QStatusBar): self.setRefTime(-1.0) self.setLanguage(*SHARED.spelling.describeDict()) self.setProjectStats(0, 0) - self.setProjectStatus(nwTrinary.NEUTRAL) - self.setDocumentStatus(nwTrinary.NEUTRAL) + self.setProjectStatus(None) + self.setDocumentStatus(None) self.updateTime() return @@ -152,12 +151,12 @@ class GuiMainStatus(QStatusBar): self._refTime = refTime return - def setProjectStatus(self, state: nwTrinary) -> None: + def setProjectStatus(self, state: bool | None) -> None: """Set the project status colour icon.""" self.projIcon.setState(state) return - def setDocumentStatus(self, state: nwTrinary) -> None: + def setDocumentStatus(self, state: bool | None) -> None: """Set the document status colour icon.""" self.docIcon.setState(state) return @@ -220,13 +219,13 @@ class GuiMainStatus(QStatusBar): @pyqtSlot(bool) def updateProjectStatus(self, status: bool) -> None: """Update the project status.""" - self.setProjectStatus(nwTrinary.NEGATIVE if status else nwTrinary.POSITIVE) + self.setProjectStatus(not status) return @pyqtSlot(bool) def updateDocumentStatus(self, status: bool) -> None: """Update the document status.""" - self.setDocumentStatus(nwTrinary.NEGATIVE if status else nwTrinary.POSITIVE) + self.setDocumentStatus(not status) return ## diff --git a/tests/test_gui/test_gui_statusbar.py b/tests/test_gui/test_gui_statusbar.py index 1a279a48..7090f6f7 100644 --- a/tests/test_gui/test_gui_statusbar.py +++ b/tests/test_gui/test_gui_statusbar.py @@ -25,7 +25,6 @@ import time import pytest from novelwriter import CONFIG, SHARED -from novelwriter.enum import nwTrinary from tests.tools import C, buildTestProject @@ -47,20 +46,20 @@ def testGuiStatusBar_Main(qtbot, monkeypatch, nwGUI, projPath, mockRnd): assert status._refTime == refTime # Project Status - status.setProjectStatus(nwTrinary.NEUTRAL) - assert status.projIcon.state == nwTrinary.NEUTRAL - status.setProjectStatus(nwTrinary.NEGATIVE) - assert status.projIcon.state == nwTrinary.NEGATIVE - status.setProjectStatus(nwTrinary.POSITIVE) - assert status.projIcon.state == nwTrinary.POSITIVE + status.setProjectStatus(None) + assert status.projIcon.state is None + status.setProjectStatus(False) + assert status.projIcon.state is False + status.setProjectStatus(True) + assert status.projIcon.state is True # Document Status - status.setDocumentStatus(nwTrinary.NEUTRAL) - assert status.docIcon.state == nwTrinary.NEUTRAL - status.setDocumentStatus(nwTrinary.NEGATIVE) - assert status.docIcon.state == nwTrinary.NEGATIVE - status.setDocumentStatus(nwTrinary.POSITIVE) - assert status.docIcon.state == nwTrinary.POSITIVE + status.setDocumentStatus(None) + assert status.docIcon.state is None + status.setDocumentStatus(False) + assert status.docIcon.state is False + status.setDocumentStatus(True) + assert status.docIcon.state is True # Idle Status CONFIG.stopWhenIdle = False