Skip to content

Commit

Permalink
Reduce to only two constant types
Browse files Browse the repository at this point in the history
  • Loading branch information
vkbo committed Feb 16, 2025
1 parent 8b238f3 commit c0bb0fa
Show file tree
Hide file tree
Showing 5 changed files with 29 additions and 26 deletions.
11 changes: 7 additions & 4 deletions novelwriter/constants.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,18 +23,21 @@
"""
from __future__ import annotations

from typing import Literal

from PyQt5.QtCore import QT_TRANSLATE_NOOP, QCoreApplication

from novelwriter.enum import (
nwBuildFmt, nwComment, nwItemClass, nwItemLayout, nwOutline, nwStatusShape
)


def trConst(text: str, context: Literal["Constant", "Stats"] = "Constant") -> str:
def trConst(text: str) -> str:
"""Wrapper function for locally translating constants."""
return QCoreApplication.translate(context, text)
return QCoreApplication.translate("Constant", text)


def trStats(text: str) -> str:
"""Wrapper function for locally translating stats constants."""
return QCoreApplication.translate("Stats", text)


class nwConst:
Expand Down
8 changes: 4 additions & 4 deletions novelwriter/gui/itemdetails.py
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@

from novelwriter import CONFIG, SHARED
from novelwriter.common import elide
from novelwriter.constants import nwLabels, nwStats, trConst
from novelwriter.constants import nwLabels, nwStats, trConst, trStats
from novelwriter.enum import nwChange
from novelwriter.types import (
QtAlignLeft, QtAlignLeftBase, QtAlignRight, QtAlignRightBase,
Expand Down Expand Up @@ -65,9 +65,9 @@ def __init__(self, parent: QWidget) -> None:
fntValue = self.font()
fntValue.setPointSizeF(0.9*fPt)

trStats1 = trConst(nwLabels.STATS_NAME[nwStats.CHARS], "Stats")
trStats2 = trConst(nwLabels.STATS_NAME[nwStats.WORDS], "Stats")
trStats3 = trConst(nwLabels.STATS_NAME[nwStats.PARAGRAPHS], "Stats")
trStats1 = trStats(nwLabels.STATS_NAME[nwStats.CHARS])
trStats2 = trStats(nwLabels.STATS_NAME[nwStats.WORDS])
trStats3 = trStats(nwLabels.STATS_NAME[nwStats.PARAGRAPHS])

# Label
self.labelName = QLabel(self.tr("Label"), self)
Expand Down
4 changes: 2 additions & 2 deletions novelwriter/gui/mainmenu.py
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@
from novelwriter.common import openExternalPath, qtLambda
from novelwriter.constants import (
nwConst, nwKeyWords, nwLabels, nwShortcode, nwStats, nwStyles, nwUnicode,
trConst
trConst, trStats
)
from novelwriter.enum import nwDocAction, nwDocInsert, nwFocus, nwView
from novelwriter.extensions.eventfilters import StatusTipFilter
Expand Down Expand Up @@ -601,7 +601,7 @@ def _buildInsertMenu(self) -> None:
self.mInsField = self.insMenu.addMenu(self.tr("Word/Character Count"))
for field in nwStats.ALL_FIELDS:
value = nwShortcode.FIELD_VALUE.format(field)
action = self.mInsField.addAction(trConst(nwLabels.STATS_NAME[field], "Stats"))
action = self.mInsField.addAction(trStats(nwLabels.STATS_NAME[field]))
action.triggered.connect(qtLambda(self.requestDocInsertText.emit, value))

# Insert > Breaks and Vertical Space
Expand Down
8 changes: 4 additions & 4 deletions novelwriter/gui/outline.py
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@

from novelwriter import CONFIG, SHARED
from novelwriter.common import checkInt, formatFileFilter
from novelwriter.constants import nwKeyWords, nwLabels, nwStats, nwStyles, trConst
from novelwriter.constants import nwKeyWords, nwLabels, nwStats, nwStyles, trConst, trStats
from novelwriter.enum import nwChange, nwDocMode, nwItemClass, nwItemLayout, nwItemType, nwOutline
from novelwriter.error import logException
from novelwriter.extensions.configlayout import NColourLabel
Expand Down Expand Up @@ -815,9 +815,9 @@ def __init__(self, outlineView: GuiOutlineView) -> None:

bFont = SHARED.theme.guiFontB

trStats1 = trConst(nwLabels.STATS_NAME[nwStats.CHARS], "Stats")
trStats2 = trConst(nwLabels.STATS_NAME[nwStats.WORDS], "Stats")
trStats3 = trConst(nwLabels.STATS_NAME[nwStats.PARAGRAPHS], "Stats")
trStats1 = trStats(nwLabels.STATS_NAME[nwStats.CHARS])
trStats2 = trStats(nwLabels.STATS_NAME[nwStats.WORDS])
trStats3 = trStats(nwLabels.STATS_NAME[nwStats.PARAGRAPHS])

# Details Area
self.titleLabel = QLabel(self.tr("Title"), self)
Expand Down
24 changes: 12 additions & 12 deletions novelwriter/tools/manuscript.py
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@

from novelwriter import CONFIG, SHARED
from novelwriter.common import fuzzyTime
from novelwriter.constants import nwLabels, nwStats, trConst
from novelwriter.constants import nwLabels, nwStats, trStats
from novelwriter.core.buildsettings import BuildCollection, BuildSettings
from novelwriter.core.docbuild import NWBuildDocument
from novelwriter.extensions.modified import NIconToggleButton, NIconToolButton, NToolDialog
Expand Down Expand Up @@ -1037,17 +1037,17 @@ def _buildBottomPanel(self) -> None:
hPx = CONFIG.pxInt(12)
vPx = CONFIG.pxInt(4)

trAllChars = trConst(nwLabels.STATS_NAME[nwStats.CHARS], "Stats")
trTextChars = trConst(nwLabels.STATS_NAME[nwStats.CHARS_TEXT], "Stats")
trTitleChars = trConst(nwLabels.STATS_NAME[nwStats.CHARS_TITLE], "Stats")
trParagraphCount = trConst(nwLabels.STATS_NAME[nwStats.PARAGRAPHS], "Stats")
trTitleCount = trConst(nwLabels.STATS_NAME[nwStats.TITLES], "Stats")
trAllWordChars = trConst(nwLabels.STATS_NAME[nwStats.WCHARS_ALL], "Stats")
trTextWordChars = trConst(nwLabels.STATS_NAME[nwStats.WCHARS_TEXT], "Stats")
trTitleWordChars = trConst(nwLabels.STATS_NAME[nwStats.WCHARS_TITLE], "Stats")
trAllWords = trConst(nwLabels.STATS_NAME[nwStats.WORDS], "Stats")
trTextWords = trConst(nwLabels.STATS_NAME[nwStats.WORDS_TEXT], "Stats")
trTitleWords = trConst(nwLabels.STATS_NAME[nwStats.WORDS_TITLE], "Stats")
trAllChars = trStats(nwLabels.STATS_NAME[nwStats.CHARS])
trTextChars = trStats(nwLabels.STATS_NAME[nwStats.CHARS_TEXT])
trTitleChars = trStats(nwLabels.STATS_NAME[nwStats.CHARS_TITLE])
trParagraphCount = trStats(nwLabels.STATS_NAME[nwStats.PARAGRAPHS])
trTitleCount = trStats(nwLabels.STATS_NAME[nwStats.TITLES])
trAllWordChars = trStats(nwLabels.STATS_NAME[nwStats.WCHARS_ALL])
trTextWordChars = trStats(nwLabels.STATS_NAME[nwStats.WCHARS_TEXT])
trTitleWordChars = trStats(nwLabels.STATS_NAME[nwStats.WCHARS_TITLE])
trAllWords = trStats(nwLabels.STATS_NAME[nwStats.WORDS])
trTextWords = trStats(nwLabels.STATS_NAME[nwStats.WORDS_TEXT])
trTitleWords = trStats(nwLabels.STATS_NAME[nwStats.WORDS_TITLE])

# Minimal Form
self.minWordCount = QLabel(self)
Expand Down

0 comments on commit c0bb0fa

Please sign in to comment.