diff --git a/CHANGELOG.md b/CHANGELOG.md index 331ff883..5a3f4257 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,4 @@ -# novelWriter Change Log +# novelWriter Changelog ## Version 1.1 [2021-02-07] @@ -27,6 +27,8 @@ clearer categories and hopefully better help text. Some new options have been ad syntax highlighting of multi-paragraph quotes. The highlighter can now optionally accept quotes to be left "hanging", that is, no closing quote in the same paragraph. +_These Release Notes also include the changes from 1.1 RC 1._ + ### Detailed Changelog **Bugfixes** @@ -97,7 +99,7 @@ functionality has been added to the main setup script to create desktop and star ---- -## Version 1.1 RC1 [2021-01-31] +## Version 1.1 RC 1 [2021-01-31] ### Release Notes diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 00f7323d..288d2b15 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -5,6 +5,26 @@ issue tracker or the discussions page with the owner of this repository before m you just want to make a minor correction, like fix a typo or similar, feel free to just make a pull request directly. +## Branching Structure + +There are three protected branches on this repository. They are used in the following way: + +* `main` – This is the Stable branch. It is used for releases and subsequent patches. No + development code should be merged into this branch starting from version 1.0. +* `dev` – This is the Unstable (development) branch. It is where new features are merged, and where + pre-releases are taken from. +* `testing` – This is the Testing branch. It is populated from the `dev` branch for pre-releases + that need a longer testing phase. + +Stable releases and patches will be tagged in the `main` branch, pre-releases may be tagged from +either `testing` or `dev` branch. + +### What Branch to Use for Contributions + +* If your contribution is a fix for the latest stable release, branch from the `main` branch. +* If your contribution is a fix for the latest testing release, branch from the `testing` branch. +* If your contribution is a new feature, branch from the `dev` branch. + ## Pull Request Process 1. Make sure your code passes all tests and conforms to the style guide. You can check that the diff --git a/MANIFEST.in b/MANIFEST.in index b3004fc3..0d7dcd2a 100644 --- a/MANIFEST.in +++ b/MANIFEST.in @@ -1,4 +1,6 @@ +include setup.py include LICENSE.md +include CHANGELOG.md recursive-include setup * recursive-include nw/assets * recursive-include sample *.nwx *.nwd diff --git a/nw/config.py b/nw/config.py index d35582fb..4084394f 100644 --- a/nw/config.py +++ b/nw/config.py @@ -272,8 +272,11 @@ class Config: self.appPath = getattr(sys, "_MEIPASS", os.path.abspath(os.path.dirname(__file__))) self.appRoot = os.path.abspath(os.path.join(self.appPath, os.path.pardir)) - if self.appRoot.endswith(".pyz"): - self.appRoot = os.path.abspath(os.path.join(self.appRoot, os.path.pardir)) + if os.path.isfile(self.appRoot): + # novelWriter is packaged as a single file, so the app and + # root paths are the same, and equal to the folder that + # contains the single executable. + self.appRoot = os.path.dirname(self.appRoot) self.appPath = self.appRoot # Assets diff --git a/nw/gui/theme.py b/nw/gui/theme.py index 8aa0c1fe..84628cf0 100644 --- a/nw/gui/theme.py +++ b/nw/gui/theme.py @@ -203,14 +203,17 @@ class GuiTheme: return def updateFont(self): - """Updated the GUI's font style from settings, + """Update the GUI's font style from settings. """ theFont = QFont() if self.mainConf.guiFont not in self.guiFontDB.families(): if self.mainConf.osWindows: - # On Windows, default to Cantarell provided by novelWriter - theFont.setFamily("Cantarell") - theFont.setPointSize(11) + if "Arial" in self.guiFontDB.families(): + theFont.setFamily("Arial") + else: + # On Windows, fall back to Cantarell provided by novelWriter + theFont.setFamily("Cantarell") + theFont.setPointSize(10) else: theFont = self.guiFontDB.systemFont(QFontDatabase.GeneralFont) self.mainConf.guiFont = theFont.family() diff --git a/pyproject.toml b/pyproject.toml index 9787c3bd..5a4ed8fd 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,3 +1,4 @@ +# Minimal PEP 518 pyproject file [build-system] requires = ["setuptools", "wheel"] build-backend = "setuptools.build_meta" diff --git a/pytest.ini b/pytest.ini index c2278317..1aa491bd 100644 --- a/pytest.ini +++ b/pytest.ini @@ -1,7 +1,7 @@ [pytest] markers = - base: Base functionality tests - core: Core functionality tests + base: Base classes tests + core: Core classes tests gui: Qt5 GUI tests serial qt_api = pyqt5 diff --git a/setup.py b/setup.py index 99d985e1..c9c9d302 100755 --- a/setup.py +++ b/setup.py @@ -402,7 +402,7 @@ def makeSimplePackage(embedPython): print("Writing: __main__.py") with open(os.path.join(zipDir, "__main__.py"), mode="w") as outFile: outFile.write( - "#!\"pythonw.exe\"\n" + "#!/usr/bin/env python3\n" "\n" "import os\n" "import sys\n" @@ -419,7 +419,7 @@ def makeSimplePackage(embedPython): print("") pyzFile = os.path.join(outDir, "novelWriter.pyz") - zipapp.create_archive(zipDir, target=pyzFile, interpreter="python3") + zipapp.create_archive(zipDir, target=pyzFile, interpreter="/usr/bin/env python3") # Install Dependencies # ====================