diff --git a/UmbraEdit.jpg b/UmbraEdit.jpg new file mode 100755 index 000000000..cb4a2cd61 Binary files /dev/null and b/UmbraEdit.jpg differ diff --git a/tests/_files/old_novelwriter.conf b/tests/_files/old_umbraedit.conf similarity index 100% rename from tests/_files/old_novelwriter.conf rename to tests/_files/old_umbraedit.conf diff --git a/tests/_files/nw_en_GB.qm b/tests/_files/ue_en_GB.qm similarity index 100% rename from tests/_files/nw_en_GB.qm rename to tests/_files/ue_en_GB.qm diff --git a/tests/_reference/config_novelwriter.toml b/tests/_reference/config_umbraedit.toml similarity index 100% rename from tests/_reference/config_novelwriter.toml rename to tests/_reference/config_umbraedit.toml diff --git a/tests/dialogs/test_preferences.py b/tests/dialogs/test_preferences.py index 8ea74d5b6..c8c081fdd 100644 --- a/tests/dialogs/test_preferences.py +++ b/tests/dialogs/test_preferences.py @@ -171,7 +171,7 @@ def testGuiPreferences_Settings( (fncPath / "ue_en_US.qm").touch() (fncPath / "project_en_US.json").touch() - CONFIG._nwLangPath = fncPath + CONFIG._ueLangPath = fncPath SHARED.theme._allThemes = { "theme1": ThemeEntry(name="Theme 1", dark=False, path=fncPath), "theme2": ThemeEntry(name="Theme 2", dark=False, path=fncPath), diff --git a/tests/dialogs/test_projectsettings.py b/tests/dialogs/test_projectsettings.py index 783cbbb73..b6800b8a5 100644 --- a/tests/dialogs/test_projectsettings.py +++ b/tests/dialogs/test_projectsettings.py @@ -119,7 +119,7 @@ def testGuiProjectSettings_SettingsPage( (fncPath / "ue_de.qm").touch() (fncPath / "project_en.json").touch() (fncPath / "project_de.json").touch() - CONFIG._nwLangPath = fncPath + CONFIG._ueLangPath = fncPath # Create new project buildTestProject(NWProject(), projPath) diff --git a/tests/test_config.py b/tests/test_config.py index c74b11658..554ad4d54 100644 --- a/tests/test_config.py +++ b/tests/test_config.py @@ -237,7 +237,7 @@ def testConfig_Localisation(fncPath: Path, tstPaths: TstPaths): i18nDir = fncPath / "i18n" i18nDir.mkdir() - conf._nwLangPath = i18nDir + conf._ueLangPath = i18nDir copyfile(tstPaths.filesDir / "ue_en_GB.qm", i18nDir / "ue_en_GB.qm") writeFile(i18nDir / "ue_en_GB.ts", "") diff --git a/umbraedit/__init__.py b/umbraedit/__init__.py index 3d2f80106..1760e59d4 100644 --- a/umbraedit/__init__.py +++ b/umbraedit/__init__.py @@ -50,7 +50,7 @@ __license__ = "GPLv3" __author__ = "Veronica Berglyd Olsen" __maintainer__ = "Veronica Berglyd Olsen" __email__ = "code@vkbo.net" -__version__ = "26.3b1" +__version__ = "1.0.0" __hexversion__ = "0x260300b1" __date__ = "2026-10-20" __status__ = "Stable" diff --git a/umbraedit/assets/icons/novelwriter.ico b/umbraedit/assets/icons/umbraedit.ico similarity index 100% rename from umbraedit/assets/icons/novelwriter.ico rename to umbraedit/assets/icons/umbraedit.ico diff --git a/umbraedit/assets/icons/novelwriter.svg b/umbraedit/assets/icons/umbraedit.svg similarity index 100% rename from umbraedit/assets/icons/novelwriter.svg rename to umbraedit/assets/icons/umbraedit.svg diff --git a/umbraedit/assets/icons/x-novelwriter-project.ico b/umbraedit/assets/icons/x-umbraedit-project.ico similarity index 100% rename from umbraedit/assets/icons/x-novelwriter-project.ico rename to umbraedit/assets/icons/x-umbraedit-project.ico diff --git a/umbraedit/assets/icons/x-novelwriter-project.svg b/umbraedit/assets/icons/x-umbraedit-project.svg similarity index 100% rename from umbraedit/assets/icons/x-novelwriter-project.svg rename to umbraedit/assets/icons/x-umbraedit-project.svg diff --git a/umbraedit/assets/images/novelwriter-text-dark.svg b/umbraedit/assets/images/umbraedit-text-dark.svg similarity index 100% rename from umbraedit/assets/images/novelwriter-text-dark.svg rename to umbraedit/assets/images/umbraedit-text-dark.svg diff --git a/umbraedit/assets/images/novelwriter-text-light.svg b/umbraedit/assets/images/umbraedit-text-light.svg similarity index 100% rename from umbraedit/assets/images/novelwriter-text-light.svg rename to umbraedit/assets/images/umbraedit-text-light.svg diff --git a/uv.lock b/uv.lock index 6ed7cf0a7..3cc9f7794 100644 --- a/uv.lock +++ b/uv.lock @@ -554,118 +554,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/54/c8/12811c9b48fde162bb72b6f2e78fada9a247a09d7bb5be2050a5d099c77b/nodeenv-1.11.0-py2.py3-none-any.whl", hash = "sha256:edaa16e6c14d7cf395d75d4bbd5a26390f4dc06501a33b4e76282b02cc688a25", size = 34277, upload-time = "2026-09-26T11:29:19.933Z" }, ] -[[package]] -name = "novelwriter" -source = { editable = "." } -dependencies = [ - { name = "pyenchant" }, - { name = "pyobjc-framework-cocoa", marker = "sys_platform == 'darwin'" }, - { name = "pyqt6" }, -] - -[package.dev-dependencies] -build = [ - { name = "pyyaml" }, - { name = "tzdata", marker = "sys_platform == 'win32'" }, -] -dev = [ - { name = "coverage" }, - { name = "docutils", version = "0.22.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.13'" }, - { name = "docutils", version = "0.23", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.13'" }, - { name = "pygments" }, - { name = "pyright" }, - { name = "pytest" }, - { name = "pytest-qt" }, - { name = "pytest-timeout" }, - { name = "pyyaml" }, - { name = "ruff" }, - { name = "sphinx", version = "9.0.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.12'" }, - { name = "sphinx", version = "9.1.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.12.*'" }, - { name = "sphinx", version = "9.2.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.13'" }, - { name = "sphinx-book-theme" }, - { name = "sphinx-copybutton" }, - { name = "sphinx-design" }, - { name = "sphinx-favicon" }, - { name = "sphinx-intl" }, - { name = "tzdata", marker = "sys_platform == 'win32'" }, -] -docs = [ - { name = "docutils", version = "0.22.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.13'" }, - { name = "docutils", version = "0.23", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.13'" }, - { name = "pygments" }, - { name = "sphinx", version = "9.0.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.12'" }, - { name = "sphinx", version = "9.1.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.12.*'" }, - { name = "sphinx", version = "9.2.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.13'" }, - { name = "sphinx-book-theme" }, - { name = "sphinx-copybutton" }, - { name = "sphinx-design" }, - { name = "sphinx-favicon" }, - { name = "sphinx-intl" }, -] -lint = [ - { name = "pyright" }, - { name = "ruff" }, -] -test = [ - { name = "coverage" }, - { name = "pytest" }, - { name = "pytest-qt" }, - { name = "pytest-timeout" }, - { name = "tzdata", marker = "sys_platform == 'win32'" }, -] - -[package.metadata] -requires-dist = [ - { name = "pyenchant", specifier = ">=3.3.0" }, - { name = "pyobjc-framework-cocoa", marker = "sys_platform == 'darwin'" }, - { name = "pyqt6", specifier = ">=6.4" }, -] - -[package.metadata.requires-dev] -build = [ - { name = "pyyaml" }, - { name = "tzdata", marker = "sys_platform == 'win32'" }, -] -dev = [ - { name = "coverage", specifier = ">=7.16.0" }, - { name = "docutils", specifier = ">=0.17.1" }, - { name = "pygments", specifier = ">=2.7" }, - { name = "pyright" }, - { name = "pytest", specifier = ">=6.0.0" }, - { name = "pytest-qt" }, - { name = "pytest-timeout" }, - { name = "pyyaml" }, - { name = "ruff" }, - { name = "sphinx", specifier = ">=5.0" }, - { name = "sphinx-book-theme" }, - { name = "sphinx-copybutton" }, - { name = "sphinx-design" }, - { name = "sphinx-favicon" }, - { name = "sphinx-intl" }, - { name = "tzdata", marker = "sys_platform == 'win32'" }, -] -docs = [ - { name = "docutils", specifier = ">=0.17.1" }, - { name = "pygments", specifier = ">=2.7" }, - { name = "sphinx", specifier = ">=5.0" }, - { name = "sphinx-book-theme" }, - { name = "sphinx-copybutton" }, - { name = "sphinx-design" }, - { name = "sphinx-favicon" }, - { name = "sphinx-intl" }, -] -lint = [ - { name = "pyright" }, - { name = "ruff" }, -] -test = [ - { name = "coverage", specifier = ">=7.16.0" }, - { name = "pytest", specifier = ">=6.0.0" }, - { name = "pytest-qt" }, - { name = "pytest-timeout" }, - { name = "tzdata", marker = "sys_platform == 'win32'" }, -] - [[package]] name = "packaging" version = "26.3" @@ -1259,6 +1147,118 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/94/21/1e5995a1c920cce14e4bffae20c665ec10e7ed03ab25e006cd741092b718/tzdata-2026.5-py2.py3-none-any.whl", hash = "sha256:b683bd1b6659ddcd810ff02ad09ba821d4bf1065072805063eb35c49617905ac", size = 347996, upload-time = "2026-10-03T09:23:12.535Z" }, ] +[[package]] +name = "umbraedit" +source = { editable = "." } +dependencies = [ + { name = "pyenchant" }, + { name = "pyobjc-framework-cocoa", marker = "sys_platform == 'darwin'" }, + { name = "pyqt6" }, +] + +[package.dev-dependencies] +build = [ + { name = "pyyaml" }, + { name = "tzdata", marker = "sys_platform == 'win32'" }, +] +dev = [ + { name = "coverage" }, + { name = "docutils", version = "0.22.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.13'" }, + { name = "docutils", version = "0.23", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.13'" }, + { name = "pygments" }, + { name = "pyright" }, + { name = "pytest" }, + { name = "pytest-qt" }, + { name = "pytest-timeout" }, + { name = "pyyaml" }, + { name = "ruff" }, + { name = "sphinx", version = "9.0.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.12'" }, + { name = "sphinx", version = "9.1.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.12.*'" }, + { name = "sphinx", version = "9.2.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.13'" }, + { name = "sphinx-book-theme" }, + { name = "sphinx-copybutton" }, + { name = "sphinx-design" }, + { name = "sphinx-favicon" }, + { name = "sphinx-intl" }, + { name = "tzdata", marker = "sys_platform == 'win32'" }, +] +docs = [ + { name = "docutils", version = "0.22.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.13'" }, + { name = "docutils", version = "0.23", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.13'" }, + { name = "pygments" }, + { name = "sphinx", version = "9.0.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.12'" }, + { name = "sphinx", version = "9.1.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.12.*'" }, + { name = "sphinx", version = "9.2.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.13'" }, + { name = "sphinx-book-theme" }, + { name = "sphinx-copybutton" }, + { name = "sphinx-design" }, + { name = "sphinx-favicon" }, + { name = "sphinx-intl" }, +] +lint = [ + { name = "pyright" }, + { name = "ruff" }, +] +test = [ + { name = "coverage" }, + { name = "pytest" }, + { name = "pytest-qt" }, + { name = "pytest-timeout" }, + { name = "tzdata", marker = "sys_platform == 'win32'" }, +] + +[package.metadata] +requires-dist = [ + { name = "pyenchant", specifier = ">=3.3.0" }, + { name = "pyobjc-framework-cocoa", marker = "sys_platform == 'darwin'" }, + { name = "pyqt6", specifier = ">=6.4" }, +] + +[package.metadata.requires-dev] +build = [ + { name = "pyyaml" }, + { name = "tzdata", marker = "sys_platform == 'win32'" }, +] +dev = [ + { name = "coverage", specifier = ">=7.16.0" }, + { name = "docutils", specifier = ">=0.17.1" }, + { name = "pygments", specifier = ">=2.7" }, + { name = "pyright" }, + { name = "pytest", specifier = ">=6.0.0" }, + { name = "pytest-qt" }, + { name = "pytest-timeout" }, + { name = "pyyaml" }, + { name = "ruff" }, + { name = "sphinx", specifier = ">=5.0" }, + { name = "sphinx-book-theme" }, + { name = "sphinx-copybutton" }, + { name = "sphinx-design" }, + { name = "sphinx-favicon" }, + { name = "sphinx-intl" }, + { name = "tzdata", marker = "sys_platform == 'win32'" }, +] +docs = [ + { name = "docutils", specifier = ">=0.17.1" }, + { name = "pygments", specifier = ">=2.7" }, + { name = "sphinx", specifier = ">=5.0" }, + { name = "sphinx-book-theme" }, + { name = "sphinx-copybutton" }, + { name = "sphinx-design" }, + { name = "sphinx-favicon" }, + { name = "sphinx-intl" }, +] +lint = [ + { name = "pyright" }, + { name = "ruff" }, +] +test = [ + { name = "coverage", specifier = ">=7.16.0" }, + { name = "pytest", specifier = ">=6.0.0" }, + { name = "pytest-qt" }, + { name = "pytest-timeout" }, + { name = "tzdata", marker = "sys_platform == 'win32'" }, +] + [[package]] name = "urllib3" version = "2.8.0"