diff --git a/novelwriter/__init__.py b/novelwriter/__init__.py index c86bab39..8597a55c 100644 --- a/novelwriter/__init__.py +++ b/novelwriter/__init__.py @@ -64,12 +64,6 @@ __hexversion__ = "0x020007f0" __date__ = "2023-04-16" __status__ = "Stable" __domain__ = "novelwriter.io" -__url__ = "https://novelwriter.io" -__docurl__ = "https://docs.novelwriter.io/" -__sourceurl__ = "https://github.com/vkbo/novelWriter" -__issuesurl__ = "https://github.com/vkbo/novelWriter/issues" -__helpurl__ = "https://github.com/vkbo/novelWriter/discussions" -__releaseurl__ = "https://github.com/vkbo/novelWriter/releases/latest" logger = logging.getLogger(__name__) diff --git a/novelwriter/constants.py b/novelwriter/constants.py index ed7604ca..a073307e 100644 --- a/novelwriter/constants.py +++ b/novelwriter/constants.py @@ -45,6 +45,14 @@ class nwConst: MAX_DOCSIZE = 5000000 # Maxium size of a single document MAX_BUILDSIZE = 10000000 # Maxium size of a project build + # URLs + URL_WEB = "https://novelwriter.io" + URL_DOCS = "https://docs.novelwriter.io" + URL_CODE = "https://github.com/vkbo/novelWriter" + URL_REPORT = "https://github.com/vkbo/novelWriter/issues" + URL_HELP = "https://github.com/vkbo/novelWriter/discussions" + URL_RELEASE = "https://github.com/vkbo/novelWriter/releases/latest" + # END Class nwConst diff --git a/novelwriter/dialogs/about.py b/novelwriter/dialogs/about.py index 626c8328..607cada2 100644 --- a/novelwriter/dialogs/about.py +++ b/novelwriter/dialogs/about.py @@ -37,6 +37,7 @@ from PyQt5.QtWidgets import ( from novelwriter import CONFIG from novelwriter.common import readTextFile +from novelwriter.constants import nwConst logger = logging.getLogger(__name__) @@ -150,7 +151,7 @@ class GuiAbout(QDialog): title1=self.tr("About novelWriter"), copy=novelwriter.__copyright__, link=self.tr("Website: {0}").format( - f"{novelwriter.__domain__}" + f"{novelwriter.__domain__}" ), intro=self.tr( "novelWriter is a markdown-like text editor designed for organising and " diff --git a/novelwriter/dialogs/updates.py b/novelwriter/dialogs/updates.py index 284842d5..8eaa353e 100644 --- a/novelwriter/dialogs/updates.py +++ b/novelwriter/dialogs/updates.py @@ -35,8 +35,9 @@ from PyQt5.QtWidgets import ( qApp, QDialog, QHBoxLayout, QVBoxLayout, QDialogButtonBox, QLabel ) -from novelwriter import CONFIG, __version__, __date__, __url__ +from novelwriter import CONFIG, __version__, __date__ from novelwriter.common import logException +from novelwriter.constants import nwConst logger = logging.getLogger(__name__) @@ -151,7 +152,7 @@ class GuiUpdates(QDialog): self.latestLink.setText(self.tr( "Download: {0}" ).format( - f'{__url__}' + f'{nwConst.URL_WEB}' )) qApp.restoreOverrideCursor() diff --git a/novelwriter/error.py b/novelwriter/error.py index 50e7ddc0..74f45318 100644 --- a/novelwriter/error.py +++ b/novelwriter/error.py @@ -111,18 +111,17 @@ class NWErrorMessage(QDialog): error traceback. """ from traceback import format_tb - from novelwriter import __issuesurl__, __version__ + from novelwriter import __version__ + from novelwriter.constants import nwConst from PyQt5.QtCore import QT_VERSION_STR, PYQT_VERSION_STR, QSysInfo - self.msgHead.setText(( + self.msgHead.setText( "

An unhandled error has been encountered.

" "

Please report this error by submitting an issue report on " "GitHub, providing a description and including the error " "message and traceback shown below.

" - "

URL: {issueUrl}

" - ).format( - issueUrl=__issuesurl__, - )) + f"

URL: {nwConst.URL_REPORT}

" + ) try: kernelVersion = QSysInfo.kernelVersion() diff --git a/novelwriter/gui/mainmenu.py b/novelwriter/gui/mainmenu.py index 64b36e96..1a9f0cf0 100644 --- a/novelwriter/gui/mainmenu.py +++ b/novelwriter/gui/mainmenu.py @@ -24,7 +24,6 @@ along with this program. If not, see . """ import logging -import novelwriter from pathlib import Path from urllib.parse import urljoin @@ -36,7 +35,7 @@ from PyQt5.QtWidgets import QMenuBar, QAction from novelwriter import CONFIG from novelwriter.enum import nwDocAction, nwDocInsert, nwWidget -from novelwriter.constants import trConst, nwKeyWords, nwLabels, nwUnicode +from novelwriter.constants import nwConst, trConst, nwKeyWords, nwLabels, nwUnicode logger = logging.getLogger(__name__) @@ -872,14 +871,9 @@ class GuiMainMenu(QMenuBar): self.helpMenu.addSeparator() # Help > User Manual (Online) - if novelwriter.__version__[-2] == "f": - docUrl = f"{novelwriter.__docurl__}/en/stable/" - else: - docUrl = f"{novelwriter.__docurl__}/en/latest/" - self.aHelpDocs = QAction(self.tr("User Manual (Online)"), self) self.aHelpDocs.setShortcut("F1") - self.aHelpDocs.triggered.connect(lambda: self._openWebsite(docUrl)) + self.aHelpDocs.triggered.connect(lambda: self._openWebsite(nwConst.URL_DOCS)) self.helpMenu.addAction(self.aHelpDocs) # Help > User Manual (PDF) @@ -894,17 +888,17 @@ class GuiMainMenu(QMenuBar): # Document > Report an Issue self.aIssue = QAction(self.tr("Report an Issue (GitHub)"), self) - self.aIssue.triggered.connect(lambda: self._openWebsite(novelwriter.__issuesurl__)) + self.aIssue.triggered.connect(lambda: self._openWebsite(nwConst.URL_REPORT)) self.helpMenu.addAction(self.aIssue) # Document > Ask a Question self.aQuestion = QAction(self.tr("Ask a Question (GitHub)"), self) - self.aQuestion.triggered.connect(lambda: self._openWebsite(novelwriter.__helpurl__)) + self.aQuestion.triggered.connect(lambda: self._openWebsite(nwConst.URL_HELP)) self.helpMenu.addAction(self.aQuestion) # Document > Main Website self.aWebsite = QAction(self.tr("The novelWriter Website"), self) - self.aWebsite.triggered.connect(lambda: self._openWebsite(novelwriter.__url__)) + self.aWebsite.triggered.connect(lambda: self._openWebsite(nwConst.URL_WEB)) self.helpMenu.addAction(self.aWebsite) # Help > Separator