novelWriter 2.4b1__tar.gz → 2.4.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {novelWriter-2.4b1 → novelwriter-2.4.1}/CHANGELOG.md +126 -3
- {novelWriter-2.4b1 → novelwriter-2.4.1}/PKG-INFO +5 -6
- {novelWriter-2.4b1 → novelwriter-2.4.1}/README.md +4 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelWriter.egg-info/PKG-INFO +5 -6
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelWriter.egg-info/SOURCES.txt +7 -12
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/__init__.py +15 -8
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/i18n/nw_de_DE.qm +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/i18n/nw_en_US.qm +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/i18n/nw_es_419.qm +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/i18n/nw_fr_FR.qm +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/i18n/nw_it_IT.qm +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/i18n/nw_ja_JP.qm +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/i18n/nw_nb_NO.qm +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/i18n/nw_nl_NL.qm +0 -0
- novelwriter-2.4.1/novelwriter/assets/i18n/nw_pt_BR.qm +0 -0
- novelwriter-2.4.1/novelwriter/assets/i18n/nw_zh_CN.qm +0 -0
- novelwriter-2.4.1/novelwriter/assets/icons/none.svg +4 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_dark/icons.conf +2 -2
- novelwriter-2.4.1/novelwriter/assets/icons/typicons_dark/typ_unfold-hidden.svg +4 -0
- novelwriter-2.4.1/novelwriter/assets/icons/typicons_dark/typ_unfold-visible.svg +4 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_light/icons.conf +2 -2
- novelwriter-2.4.1/novelwriter/assets/icons/typicons_light/typ_unfold-hidden.svg +4 -0
- novelwriter-2.4.1/novelwriter/assets/icons/typicons_light/typ_unfold-visible.svg +4 -0
- novelwriter-2.4.1/novelwriter/assets/manual.pdf +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/sample.zip +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/common.py +11 -3
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/config.py +12 -4
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/core/buildsettings.py +7 -7
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/core/coretools.py +21 -22
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/core/docbuild.py +2 -2
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/core/projectxml.py +1 -1
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/core/spellcheck.py +3 -3
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/core/status.py +3 -2
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/core/tokenizer.py +3 -3
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/core/toodt.py +333 -356
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/dialogs/about.py +9 -11
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/dialogs/docmerge.py +17 -14
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/dialogs/docsplit.py +14 -12
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/dialogs/editlabel.py +5 -4
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/dialogs/preferences.py +29 -34
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/dialogs/projectsettings.py +31 -28
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/dialogs/quotes.py +10 -9
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/dialogs/wordlist.py +17 -14
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/error.py +14 -12
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/extensions/circularprogress.py +12 -8
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/extensions/configlayout.py +1 -3
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/extensions/modified.py +33 -2
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/extensions/pagedsidebar.py +16 -14
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/extensions/simpleprogress.py +3 -1
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/extensions/statusled.py +3 -1
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/extensions/switch.py +10 -9
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/extensions/switchbox.py +14 -13
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/gui/doceditor.py +205 -246
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/gui/dochighlight.py +26 -9
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/gui/docviewer.py +55 -59
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/gui/docviewerpanel.py +16 -13
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/gui/editordocument.py +4 -4
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/gui/itemdetails.py +45 -48
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/gui/mainmenu.py +2 -2
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/gui/noveltree.py +23 -21
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/gui/outline.py +93 -94
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/gui/projtree.py +32 -30
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/gui/search.py +75 -29
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/gui/sidebar.py +24 -28
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/gui/statusbar.py +14 -14
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/gui/theme.py +61 -39
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/guimain.py +37 -33
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/shared.py +21 -9
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/text/counting.py +1 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/tools/dictionaries.py +15 -14
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/tools/lipsum.py +20 -17
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/tools/manusbuild.py +44 -35
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/tools/manuscript.py +112 -112
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/tools/manussettings.py +91 -98
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/tools/noveldetails.py +20 -18
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/tools/welcome.py +51 -48
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/tools/writingstats.py +61 -55
- novelwriter-2.4.1/novelwriter/types.py +90 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/pkgutils.py +82 -58
- novelwriter-2.4.1/pyproject.toml +67 -0
- novelwriter-2.4.1/setup/launchpad_setup.cfg +48 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/setup/macos/build.sh +22 -9
- novelwriter-2.4.1/setup.cfg +4 -0
- novelWriter-2.4b1/novelWriter.egg-info/not-zip-safe +0 -1
- novelWriter-2.4b1/novelwriter/assets/i18n/nw_pt_BR.qm +0 -0
- novelWriter-2.4b1/novelwriter/assets/i18n/nw_zh_CN.qm +0 -0
- novelWriter-2.4b1/novelwriter/assets/icons/typicons_dark/typ_arrow-down.svg +0 -4
- novelWriter-2.4b1/novelwriter/assets/icons/typicons_dark/typ_arrow-right.svg +0 -4
- novelWriter-2.4b1/novelwriter/assets/icons/typicons_light/typ_arrow-down.svg +0 -4
- novelWriter-2.4b1/novelwriter/assets/icons/typicons_light/typ_arrow-right.svg +0 -4
- novelWriter-2.4b1/novelwriter/assets/manual.pdf +0 -0
- novelWriter-2.4b1/novelwriter/core/__init__.py +0 -3
- novelWriter-2.4b1/novelwriter/dialogs/__init__.py +0 -3
- novelWriter-2.4b1/novelwriter/extensions/__init__.py +0 -3
- novelWriter-2.4b1/novelwriter/gui/__init__.py +0 -3
- novelWriter-2.4b1/novelwriter/text/__init__.py +0 -3
- novelWriter-2.4b1/novelwriter/tools/__init__.py +0 -3
- novelWriter-2.4b1/pyproject.toml +0 -3
- novelWriter-2.4b1/setup.cfg +0 -58
- {novelWriter-2.4b1 → novelwriter-2.4.1}/CREDITS.md +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/LICENSE.md +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/MANIFEST.in +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelWriter.egg-info/dependency_links.txt +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelWriter.egg-info/entry_points.txt +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelWriter.egg-info/requires.txt +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelWriter.egg-info/top_level.txt +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/i18n/project_de_DE.json +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/i18n/project_en_GB.json +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/i18n/project_en_US.json +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/i18n/project_es_419.json +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/i18n/project_fr_FR.json +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/i18n/project_it_IT.json +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/i18n/project_ja_JP.json +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/i18n/project_nb_NO.json +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/i18n/project_nl_NL.json +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/i18n/project_nn_NO.json +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/i18n/project_pt_BR.json +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/i18n/project_ru_RU.json +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/i18n/project_zh_CN.json +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/novelwriter.ico +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/novelwriter.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_dark/README.md +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_dark/mixed_document-chapter.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_dark/mixed_document-new.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_dark/mixed_document-note.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_dark/mixed_document-scene.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_dark/mixed_document-section.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_dark/mixed_document-title.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_dark/mixed_edit.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_dark/mixed_import.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_dark/mixed_input-checked.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_dark/mixed_input-none.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_dark/mixed_input-unchecked.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_dark/mixed_search-replace.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_dark/nw_deco-h0.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_dark/nw_deco-h1.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_dark/nw_deco-h2-narrow.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_dark/nw_deco-h2.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_dark/nw_deco-h3-narrow.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_dark/nw_deco-h3.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_dark/nw_deco-h4-narrow.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_dark/nw_deco-h4.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_dark/nw_deco-note.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_dark/nw_deco-noveltree-more.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_dark/nw_panel.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_dark/nw_search-case.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_dark/nw_search-preserve.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_dark/nw_search-regex.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_dark/nw_search-word.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_dark/nw_tb-bold-md.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_dark/nw_tb-bold.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_dark/nw_tb-italic-md.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_dark/nw_tb-italic.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_dark/nw_tb-mark.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_dark/nw_tb-strike-md.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_dark/nw_tb-strike.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_dark/nw_tb-subscript.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_dark/nw_tb-superscript.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_dark/nw_tb-underline.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_dark/typ_arrow-down-thick-grey.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_dark/typ_arrow-forward.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_dark/typ_arrow-maximise.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_dark/typ_arrow-minimise.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_dark/typ_arrow-repeat-grey.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_dark/typ_book-grey.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_dark/typ_book.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_dark/typ_bookmark.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_dark/typ_calendar.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_dark/typ_cancel-grey.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_dark/typ_cancel.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_dark/typ_chart-bar-grey.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_dark/typ_chevron-down.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_dark/typ_chevron-left.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_dark/typ_chevron-right.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_dark/typ_chevron-up.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_dark/typ_cog.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_dark/typ_delete-full.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_dark/typ_delete.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_dark/typ_directions-full.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_dark/typ_document-add.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_dark/typ_document-text.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_dark/typ_document.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_dark/typ_export-grey.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_dark/typ_export.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_dark/typ_eye.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_dark/typ_flag.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_dark/typ_folder-open.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_dark/typ_folder.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_dark/typ_globe-grey.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_dark/typ_key.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_dark/typ_lightbulb-full.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_dark/typ_location.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_dark/typ_media-pause-grey.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_dark/typ_media-record-outline.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_dark/typ_media-record.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_dark/typ_minus.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_dark/typ_pencil.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_dark/typ_pin-outline.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_dark/typ_pin.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_dark/typ_plus.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_dark/typ_puzzle-outline.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_dark/typ_puzzle.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_dark/typ_refresh-flipped.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_dark/typ_refresh.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_dark/typ_search-grey.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_dark/typ_search.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_dark/typ_star.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_dark/typ_stopwatch-grey.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_dark/typ_th-dot-menu.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_dark/typ_th-dot-more.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_dark/typ_th-list-grey.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_dark/typ_th-list.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_dark/typ_times.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_dark/typ_trash.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_dark/typ_user.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_dark/typ_warning-full.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_light/README.md +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_light/mixed_document-chapter.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_light/mixed_document-new.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_light/mixed_document-note.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_light/mixed_document-scene.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_light/mixed_document-section.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_light/mixed_document-title.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_light/mixed_edit.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_light/mixed_import.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_light/mixed_input-checked.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_light/mixed_input-none.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_light/mixed_input-unchecked.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_light/mixed_search-replace.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_light/nw_deco-h0.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_light/nw_deco-h1.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_light/nw_deco-h2-narrow.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_light/nw_deco-h2.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_light/nw_deco-h3-narrow.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_light/nw_deco-h3.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_light/nw_deco-h4-narrow.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_light/nw_deco-h4.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_light/nw_deco-note.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_light/nw_deco-noveltree-more.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_light/nw_panel.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_light/nw_search-case.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_light/nw_search-preserve.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_light/nw_search-regex.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_light/nw_search-word.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_light/nw_tb-bold-md.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_light/nw_tb-bold.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_light/nw_tb-italic-md.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_light/nw_tb-italic.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_light/nw_tb-mark.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_light/nw_tb-strike-md.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_light/nw_tb-strike.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_light/nw_tb-subscript.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_light/nw_tb-superscript.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_light/nw_tb-underline.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_light/typ_arrow-down-thick-grey.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_light/typ_arrow-forward.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_light/typ_arrow-maximise.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_light/typ_arrow-minimise.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_light/typ_arrow-repeat-grey.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_light/typ_book-grey.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_light/typ_book.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_light/typ_bookmark.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_light/typ_calendar.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_light/typ_cancel-grey.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_light/typ_cancel.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_light/typ_chart-bar-grey.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_light/typ_chevron-down.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_light/typ_chevron-left.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_light/typ_chevron-right.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_light/typ_chevron-up.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_light/typ_cog.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_light/typ_delete-full.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_light/typ_delete.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_light/typ_directions-full.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_light/typ_document-add.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_light/typ_document-text.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_light/typ_document.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_light/typ_export-grey.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_light/typ_export.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_light/typ_eye.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_light/typ_flag.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_light/typ_folder-open.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_light/typ_folder.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_light/typ_globe-grey.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_light/typ_key.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_light/typ_lightbulb-full.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_light/typ_location.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_light/typ_media-pause-grey.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_light/typ_media-record-outline.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_light/typ_media-record.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_light/typ_minus.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_light/typ_pencil.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_light/typ_pin-outline.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_light/typ_pin.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_light/typ_plus.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_light/typ_puzzle-outline.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_light/typ_puzzle.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_light/typ_refresh-flipped.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_light/typ_refresh.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_light/typ_search-grey.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_light/typ_search.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_light/typ_star.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_light/typ_stopwatch-grey.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_light/typ_th-dot-menu.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_light/typ_th-dot-more.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_light/typ_th-list-grey.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_light/typ_th-list.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_light/typ_times.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_light/typ_trash.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_light/typ_user.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/typicons_light/typ_warning-full.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/x-novelwriter-project.ico +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/icons/x-novelwriter-project.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/images/novelwriter-text-dark.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/images/novelwriter-text-light.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/images/welcome-dark.jpg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/images/welcome-light.jpg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/syntax/cyberpunk_night.conf +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/syntax/default_dark.conf +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/syntax/default_light.conf +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/syntax/grey_dark.conf +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/syntax/grey_light.conf +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/syntax/light_owl.conf +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/syntax/night_owl.conf +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/syntax/solarized_dark.conf +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/syntax/solarized_light.conf +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/syntax/tango.conf +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/syntax/tomorrow.conf +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/syntax/tomorrow_night.conf +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/syntax/tomorrow_night_blue.conf +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/syntax/tomorrow_night_bright.conf +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/syntax/tomorrow_night_eighties.conf +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/text/credits_en.htm +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/text/lipsum.txt +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/themes/cyberpunk_night.conf +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/themes/default.conf +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/themes/default_dark.conf +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/themes/default_light.conf +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/themes/solarized_dark.conf +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/assets/themes/solarized_light.conf +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/constants.py +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/core/document.py +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/core/index.py +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/core/item.py +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/core/options.py +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/core/project.py +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/core/projectdata.py +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/core/sessions.py +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/core/storage.py +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/core/tohtml.py +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/core/tomd.py +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/core/tree.py +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/enum.py +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/extensions/eventfilters.py +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/extensions/novelselector.py +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/novelwriter/extensions/versioninfo.py +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/setup/appimage_launcher.sh +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/setup/data/hicolor/128x128/apps/novelwriter.png +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/setup/data/hicolor/128x128/mimetypes/application-x-novelwriter-project.png +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/setup/data/hicolor/16x16/apps/novelwriter.png +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/setup/data/hicolor/16x16/mimetypes/application-x-novelwriter-project.png +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/setup/data/hicolor/24x24/apps/novelwriter.png +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/setup/data/hicolor/24x24/mimetypes/application-x-novelwriter-project.png +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/setup/data/hicolor/256x256/apps/novelwriter.png +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/setup/data/hicolor/256x256/mimetypes/application-x-novelwriter-project.png +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/setup/data/hicolor/32x32/apps/novelwriter.png +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/setup/data/hicolor/32x32/mimetypes/application-x-novelwriter-project.png +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/setup/data/hicolor/48x48/apps/novelwriter.png +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/setup/data/hicolor/48x48/mimetypes/application-x-novelwriter-project.png +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/setup/data/hicolor/512x512/apps/novelwriter.png +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/setup/data/hicolor/512x512/mimetypes/application-x-novelwriter-project.png +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/setup/data/hicolor/64x64/apps/novelwriter.png +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/setup/data/hicolor/64x64/mimetypes/application-x-novelwriter-project.png +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/setup/data/hicolor/scalable/apps/novelwriter.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/setup/data/hicolor/scalable/mimetypes/application-x-novelwriter-project.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/setup/data/novelwriter.desktop +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/setup/data/novelwriter.png +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/setup/data/x-novelwriter-project.xml +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/setup/debian/compat +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/setup/debian/control +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/setup/debian/copyright +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/setup/debian/install +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/setup/debian/py3dist-overrides +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/setup/debian/rules +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/setup/debian/source/format +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/setup/description_pypi.md +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/setup/description_short.txt +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/setup/icons/novelwriter.ico +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/setup/icons/novelwriter.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/setup/icons/x-novelwriter-project.ico +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/setup/icons/x-novelwriter-project.svg +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/setup/iss_license.txt +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/setup/macos/App.entitlements +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/setup/macos/Info.plist.template +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/setup/macos/novelwriter.iconset/icon_128x128.png +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/setup/macos/novelwriter.iconset/icon_128x128@2x.png +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/setup/macos/novelwriter.iconset/icon_16x16.png +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/setup/macos/novelwriter.iconset/icon_16x16@2x.png +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/setup/macos/novelwriter.iconset/icon_256x256.png +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/setup/macos/novelwriter.iconset/icon_256x256@2x.png +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/setup/macos/novelwriter.iconset/icon_32x32.png +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/setup/macos/novelwriter.iconset/icon_32x32@2x.png +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/setup/macos/novelwriter.iconset/icon_512x512.png +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/setup/macos/novelwriter.iconset/icon_512x512@2x.png +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/setup/make_clean.sh +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/setup/make_pip.sh +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/setup/make_release.sh +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/setup/novelwriter.appdata.xml +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/setup/novelwriter_readme.png +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/setup/novelwriter_text.png +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/setup/win_setup_embed.iss +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/setup/windows_install.bat +0 -0
- {novelWriter-2.4b1 → novelwriter-2.4.1}/setup/windows_uninstall.bat +0 -0
@@ -1,5 +1,131 @@
|
|
1
1
|
# novelWriter Changelog
|
2
2
|
|
3
|
+
## Version 2.4.1 [2024-05-06]
|
4
|
+
|
5
|
+
### Release Notes
|
6
|
+
|
7
|
+
This is a patch release that fixes a number of minor issues with the Manuscript Build tool. The
|
8
|
+
only critical fix is related to a potential crash when deleting a build entry when its settings
|
9
|
+
dialog is still open.
|
10
|
+
|
11
|
+
### Detailed Changelog
|
12
|
+
|
13
|
+
**Bugfixes**
|
14
|
+
|
15
|
+
* Fixed an issue that could crash novelWriter if a build settings entry was deleted from the
|
16
|
+
Manuscript tool while its settings window was open. PR #1845.
|
17
|
+
|
18
|
+
**Improvements**
|
19
|
+
|
20
|
+
* Changed the font used for the document editor and viewer header and footer from the one used for
|
21
|
+
the document text to the one used for the user interface. Issue #1842. PR #1843.
|
22
|
+
* Added a save document step in the editor before running a manuscript build or a preview job. This
|
23
|
+
ensures that the text in the editor is included in the manuscript. Issue #1835. PR #1846.
|
24
|
+
* Restore preview panel scroll bar position after updating the preview on the Manuscript tool.
|
25
|
+
Issue #1837. PR #1846.
|
26
|
+
* Close all non-modal dialogs when a project is closed. PR #1848.
|
27
|
+
|
28
|
+
**Code Improvements**
|
29
|
+
|
30
|
+
* Fixed an issue with the Build Settings dialog that blocks the garbage collector from deleting the
|
31
|
+
dialog after it's been closed. PR #1843.
|
32
|
+
* Remove some deprecated translation entries from the translation files. PR #1850.
|
33
|
+
|
34
|
+
----
|
35
|
+
|
36
|
+
## Version 2.4 [2024-04-20]
|
37
|
+
|
38
|
+
### Release Notes
|
39
|
+
|
40
|
+
This release adds a new global search feature. The tool is still relatively basic, and will likely
|
41
|
+
be extended in later releases.
|
42
|
+
|
43
|
+
Among new text editing features is the ability to highlight text using `[m]text[/m]` shortcodes.
|
44
|
+
The code `[m]` is for "mark", which is the equivalent code in HTML.
|
45
|
+
|
46
|
+
A second feature added for text editing is the ability to add an alternatively formatted scene
|
47
|
+
heading by adding a `!` to the markup, like for chapters and main titles. This allows to
|
48
|
+
distinguish between two scene formatting styles, `### Title` and `###! Title`, which can for
|
49
|
+
instance be used for soft and hard scene breaks.
|
50
|
+
|
51
|
+
The **Manuscript Build** tool has also been extended with multiple new formatting options.
|
52
|
+
|
53
|
+
See the website for complete [Release Notes](https://novelwriter.io/releases/release_2_4.html).
|
54
|
+
|
55
|
+
### Detailed Changelog
|
56
|
+
|
57
|
+
**Bugfixes**
|
58
|
+
|
59
|
+
* Fixed background colour on some widgets on the new Project Search tool. PR #1800.
|
60
|
+
* Fixed a bug when using bold/italic/strike through toggle on an existing text selection in the
|
61
|
+
editor. Issue #1807. PR #1808.
|
62
|
+
* An index out of bounds error in the word counter has been fixed. It could only be triggered by a
|
63
|
+
single line only containing a ">" character. Issues #1816 and #1825. PR #1817.
|
64
|
+
* Fixed an issue where not all theme colours were completely reset before changing theme. PR #1820.
|
65
|
+
* Shortcodes are no longer passed to the spell checker. PR #1823.
|
66
|
+
|
67
|
+
**Improvements**
|
68
|
+
|
69
|
+
* Made placeholder text for search read as "Search for" and "Replace with". PR #1799.
|
70
|
+
* The initial count for adding chapter and scenes to new project in the Welcome dialog has been
|
71
|
+
changed to 0. The user must now select to add chapters and scenes. Issue #1811. PR #1815.
|
72
|
+
|
73
|
+
**Documentation**
|
74
|
+
|
75
|
+
* Updated the documentation for 2.4 features. PR #1818.
|
76
|
+
|
77
|
+
**Internationalisation**
|
78
|
+
|
79
|
+
* Norwegian and US English translations updated by Veronica Berglyd Olsen (@vkbo).
|
80
|
+
PRs #1799 and #1814.
|
81
|
+
* Latin American Spanish translation updated by Tommy Marplatt (@tmarplatt). PR #1814.
|
82
|
+
* Italian translation updated by Lou Cyper (loucyper1). PR #1814.
|
83
|
+
* Japanese translation updated by @hebekeg. PR #1814.
|
84
|
+
* French translation updated by Albert Aribaud (@aaribaud). PR #1821.
|
85
|
+
* German translation updated by Myian (@HeyMyian). PR #1821.
|
86
|
+
|
87
|
+
----
|
88
|
+
|
89
|
+
## Version 2.4 RC 1 [2024-04-06]
|
90
|
+
|
91
|
+
### Release Notes
|
92
|
+
|
93
|
+
This is a release candidate of the next release version, and is intended for testing purposes.
|
94
|
+
Please be careful when using this version on writing projects, and make frequent backups.
|
95
|
+
|
96
|
+
### Detailed Changelog
|
97
|
+
|
98
|
+
**Bugfixes**
|
99
|
+
|
100
|
+
* A number of issues GUI icon scaling has been fixed. Icons and buttons are supposed to scale
|
101
|
+
relative to the GUI font size, but several of them were not. Issue #1787. PR #1788.
|
102
|
+
* The persistence of button state for the editor search box has been improved. The present state
|
103
|
+
was only saved when the search box was actively closed, and there were several scenarios where
|
104
|
+
this didn't happen. The button states are now tracked in the central config, and will always be
|
105
|
+
preserved. Issue #1794. PR #1795.
|
106
|
+
|
107
|
+
**Other Improvements**
|
108
|
+
|
109
|
+
* A placeholder icon has been added for cases where users have their own icon theme, and icons are
|
110
|
+
missing. Issue #1780. PR #1781.
|
111
|
+
* The project search now refreshes the search results for the currently open document when it's
|
112
|
+
being edited. PR #1782.
|
113
|
+
* When activating project search from the editor while text is selected, the search box is
|
114
|
+
populated with this text. Issue #1789. PR #1790.
|
115
|
+
|
116
|
+
**Packaging**
|
117
|
+
|
118
|
+
* The project has moved from using a `setup.cfg` to only using the `pyproject.toml` meta data file
|
119
|
+
for packaging. This is the preferred file format now. PR #1791.
|
120
|
+
|
121
|
+
**Code Improvements**
|
122
|
+
|
123
|
+
* The part of the code related to Qt widgets and flags has been updated and refactored in
|
124
|
+
preparation for the eventual move to the Qt6 framework. Part of issue #1142. PR #1792.
|
125
|
+
* The Open Document writer class has been refactored and improved. PR #1796.
|
126
|
+
|
127
|
+
----
|
128
|
+
|
3
129
|
## Version 2.4 Beta 1 [2024-03-26]
|
4
130
|
|
5
131
|
### Release Notes
|
@@ -7,9 +133,6 @@
|
|
7
133
|
This is a beta release of the next release version, and is intended for testing purposes. Please be
|
8
134
|
careful when using this version on live writing projects, and make sure you take frequent backups.
|
9
135
|
|
10
|
-
Please check the changelog for an overview of changes. The full release notes will be added to the
|
11
|
-
final release.
|
12
|
-
|
13
136
|
### Detailed Changelog
|
14
137
|
|
15
138
|
**Major Features**
|
@@ -1,14 +1,13 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: novelWriter
|
3
|
-
Version: 2.
|
3
|
+
Version: 2.4.1
|
4
4
|
Summary: A markdown-like text editor for planning and writing novels
|
5
|
-
|
6
|
-
Author: Veronica Berglyd Olsen
|
7
|
-
Author-email: code@vkbo.net
|
5
|
+
Author-email: Veronica Berglyd Olsen <code@vkbo.net>
|
8
6
|
License: GNU General Public License v3
|
9
|
-
Project-URL:
|
7
|
+
Project-URL: Homepage, https://novelwriter.io
|
10
8
|
Project-URL: Documentation, https://docs.novelwriter.io
|
11
|
-
Project-URL:
|
9
|
+
Project-URL: Repository, https://github.com/vkbo/novelWriter
|
10
|
+
Project-URL: Issues, https://github.com/vkbo/novelWriter/issues
|
12
11
|
Classifier: Programming Language :: Python :: 3 :: Only
|
13
12
|
Classifier: Programming Language :: Python :: 3.8
|
14
13
|
Classifier: Programming Language :: Python :: 3.9
|
@@ -49,6 +49,10 @@ code, please also read the full
|
|
49
49
|
|
50
50
|
Project credits are available in [CREDITS.md](https://github.com/vkbo/novelWriter/blob/main/CREDITS.md).
|
51
51
|
|
52
|
+
**Note:** As of April 2024 only pre-releases are made from the `main` branch. Full releases are
|
53
|
+
made from the `release` branch. So if you're submitting a fix to a current release, **including
|
54
|
+
changes to documentation**, they must be made to the `release` branch.
|
55
|
+
|
52
56
|
### Translations
|
53
57
|
|
54
58
|
New translations are always welcome. This project uses Crowdin to maintain translations, and you
|
@@ -1,14 +1,13 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: novelWriter
|
3
|
-
Version: 2.
|
3
|
+
Version: 2.4.1
|
4
4
|
Summary: A markdown-like text editor for planning and writing novels
|
5
|
-
|
6
|
-
Author: Veronica Berglyd Olsen
|
7
|
-
Author-email: code@vkbo.net
|
5
|
+
Author-email: Veronica Berglyd Olsen <code@vkbo.net>
|
8
6
|
License: GNU General Public License v3
|
9
|
-
Project-URL:
|
7
|
+
Project-URL: Homepage, https://novelwriter.io
|
10
8
|
Project-URL: Documentation, https://docs.novelwriter.io
|
11
|
-
Project-URL:
|
9
|
+
Project-URL: Repository, https://github.com/vkbo/novelWriter
|
10
|
+
Project-URL: Issues, https://github.com/vkbo/novelWriter/issues
|
12
11
|
Classifier: Programming Language :: Python :: 3 :: Only
|
13
12
|
Classifier: Programming Language :: Python :: 3.8
|
14
13
|
Classifier: Programming Language :: Python :: 3.9
|
@@ -5,12 +5,10 @@ MANIFEST.in
|
|
5
5
|
README.md
|
6
6
|
pkgutils.py
|
7
7
|
pyproject.toml
|
8
|
-
setup.cfg
|
9
8
|
novelWriter.egg-info/PKG-INFO
|
10
9
|
novelWriter.egg-info/SOURCES.txt
|
11
10
|
novelWriter.egg-info/dependency_links.txt
|
12
11
|
novelWriter.egg-info/entry_points.txt
|
13
|
-
novelWriter.egg-info/not-zip-safe
|
14
12
|
novelWriter.egg-info/requires.txt
|
15
13
|
novelWriter.egg-info/top_level.txt
|
16
14
|
novelwriter/__init__.py
|
@@ -21,6 +19,7 @@ novelwriter/enum.py
|
|
21
19
|
novelwriter/error.py
|
22
20
|
novelwriter/guimain.py
|
23
21
|
novelwriter/shared.py
|
22
|
+
novelwriter/types.py
|
24
23
|
novelwriter/assets/manual.pdf
|
25
24
|
novelwriter/assets/sample.zip
|
26
25
|
novelwriter/assets/i18n/nw_de_DE.qm
|
@@ -46,6 +45,7 @@ novelwriter/assets/i18n/project_nn_NO.json
|
|
46
45
|
novelwriter/assets/i18n/project_pt_BR.json
|
47
46
|
novelwriter/assets/i18n/project_ru_RU.json
|
48
47
|
novelwriter/assets/i18n/project_zh_CN.json
|
48
|
+
novelwriter/assets/icons/none.svg
|
49
49
|
novelwriter/assets/icons/novelwriter.ico
|
50
50
|
novelwriter/assets/icons/novelwriter.svg
|
51
51
|
novelwriter/assets/icons/x-novelwriter-project.ico
|
@@ -90,12 +90,10 @@ novelwriter/assets/icons/typicons_dark/nw_tb-subscript.svg
|
|
90
90
|
novelwriter/assets/icons/typicons_dark/nw_tb-superscript.svg
|
91
91
|
novelwriter/assets/icons/typicons_dark/nw_tb-underline.svg
|
92
92
|
novelwriter/assets/icons/typicons_dark/typ_arrow-down-thick-grey.svg
|
93
|
-
novelwriter/assets/icons/typicons_dark/typ_arrow-down.svg
|
94
93
|
novelwriter/assets/icons/typicons_dark/typ_arrow-forward.svg
|
95
94
|
novelwriter/assets/icons/typicons_dark/typ_arrow-maximise.svg
|
96
95
|
novelwriter/assets/icons/typicons_dark/typ_arrow-minimise.svg
|
97
96
|
novelwriter/assets/icons/typicons_dark/typ_arrow-repeat-grey.svg
|
98
|
-
novelwriter/assets/icons/typicons_dark/typ_arrow-right.svg
|
99
97
|
novelwriter/assets/icons/typicons_dark/typ_book-grey.svg
|
100
98
|
novelwriter/assets/icons/typicons_dark/typ_book.svg
|
101
99
|
novelwriter/assets/icons/typicons_dark/typ_bookmark.svg
|
@@ -146,6 +144,8 @@ novelwriter/assets/icons/typicons_dark/typ_th-list-grey.svg
|
|
146
144
|
novelwriter/assets/icons/typicons_dark/typ_th-list.svg
|
147
145
|
novelwriter/assets/icons/typicons_dark/typ_times.svg
|
148
146
|
novelwriter/assets/icons/typicons_dark/typ_trash.svg
|
147
|
+
novelwriter/assets/icons/typicons_dark/typ_unfold-hidden.svg
|
148
|
+
novelwriter/assets/icons/typicons_dark/typ_unfold-visible.svg
|
149
149
|
novelwriter/assets/icons/typicons_dark/typ_user.svg
|
150
150
|
novelwriter/assets/icons/typicons_dark/typ_warning-full.svg
|
151
151
|
novelwriter/assets/icons/typicons_light/README.md
|
@@ -188,12 +188,10 @@ novelwriter/assets/icons/typicons_light/nw_tb-subscript.svg
|
|
188
188
|
novelwriter/assets/icons/typicons_light/nw_tb-superscript.svg
|
189
189
|
novelwriter/assets/icons/typicons_light/nw_tb-underline.svg
|
190
190
|
novelwriter/assets/icons/typicons_light/typ_arrow-down-thick-grey.svg
|
191
|
-
novelwriter/assets/icons/typicons_light/typ_arrow-down.svg
|
192
191
|
novelwriter/assets/icons/typicons_light/typ_arrow-forward.svg
|
193
192
|
novelwriter/assets/icons/typicons_light/typ_arrow-maximise.svg
|
194
193
|
novelwriter/assets/icons/typicons_light/typ_arrow-minimise.svg
|
195
194
|
novelwriter/assets/icons/typicons_light/typ_arrow-repeat-grey.svg
|
196
|
-
novelwriter/assets/icons/typicons_light/typ_arrow-right.svg
|
197
195
|
novelwriter/assets/icons/typicons_light/typ_book-grey.svg
|
198
196
|
novelwriter/assets/icons/typicons_light/typ_book.svg
|
199
197
|
novelwriter/assets/icons/typicons_light/typ_bookmark.svg
|
@@ -244,6 +242,8 @@ novelwriter/assets/icons/typicons_light/typ_th-list-grey.svg
|
|
244
242
|
novelwriter/assets/icons/typicons_light/typ_th-list.svg
|
245
243
|
novelwriter/assets/icons/typicons_light/typ_times.svg
|
246
244
|
novelwriter/assets/icons/typicons_light/typ_trash.svg
|
245
|
+
novelwriter/assets/icons/typicons_light/typ_unfold-hidden.svg
|
246
|
+
novelwriter/assets/icons/typicons_light/typ_unfold-visible.svg
|
247
247
|
novelwriter/assets/icons/typicons_light/typ_user.svg
|
248
248
|
novelwriter/assets/icons/typicons_light/typ_warning-full.svg
|
249
249
|
novelwriter/assets/images/novelwriter-text-dark.svg
|
@@ -273,7 +273,6 @@ novelwriter/assets/themes/default_dark.conf
|
|
273
273
|
novelwriter/assets/themes/default_light.conf
|
274
274
|
novelwriter/assets/themes/solarized_dark.conf
|
275
275
|
novelwriter/assets/themes/solarized_light.conf
|
276
|
-
novelwriter/core/__init__.py
|
277
276
|
novelwriter/core/buildsettings.py
|
278
277
|
novelwriter/core/coretools.py
|
279
278
|
novelwriter/core/docbuild.py
|
@@ -293,7 +292,6 @@ novelwriter/core/tokenizer.py
|
|
293
292
|
novelwriter/core/tomd.py
|
294
293
|
novelwriter/core/toodt.py
|
295
294
|
novelwriter/core/tree.py
|
296
|
-
novelwriter/dialogs/__init__.py
|
297
295
|
novelwriter/dialogs/about.py
|
298
296
|
novelwriter/dialogs/docmerge.py
|
299
297
|
novelwriter/dialogs/docsplit.py
|
@@ -302,7 +300,6 @@ novelwriter/dialogs/preferences.py
|
|
302
300
|
novelwriter/dialogs/projectsettings.py
|
303
301
|
novelwriter/dialogs/quotes.py
|
304
302
|
novelwriter/dialogs/wordlist.py
|
305
|
-
novelwriter/extensions/__init__.py
|
306
303
|
novelwriter/extensions/circularprogress.py
|
307
304
|
novelwriter/extensions/configlayout.py
|
308
305
|
novelwriter/extensions/eventfilters.py
|
@@ -314,7 +311,6 @@ novelwriter/extensions/statusled.py
|
|
314
311
|
novelwriter/extensions/switch.py
|
315
312
|
novelwriter/extensions/switchbox.py
|
316
313
|
novelwriter/extensions/versioninfo.py
|
317
|
-
novelwriter/gui/__init__.py
|
318
314
|
novelwriter/gui/doceditor.py
|
319
315
|
novelwriter/gui/dochighlight.py
|
320
316
|
novelwriter/gui/docviewer.py
|
@@ -329,9 +325,7 @@ novelwriter/gui/search.py
|
|
329
325
|
novelwriter/gui/sidebar.py
|
330
326
|
novelwriter/gui/statusbar.py
|
331
327
|
novelwriter/gui/theme.py
|
332
|
-
novelwriter/text/__init__.py
|
333
328
|
novelwriter/text/counting.py
|
334
|
-
novelwriter/tools/__init__.py
|
335
329
|
novelwriter/tools/dictionaries.py
|
336
330
|
novelwriter/tools/lipsum.py
|
337
331
|
novelwriter/tools/manusbuild.py
|
@@ -344,6 +338,7 @@ setup/appimage_launcher.sh
|
|
344
338
|
setup/description_pypi.md
|
345
339
|
setup/description_short.txt
|
346
340
|
setup/iss_license.txt
|
341
|
+
setup/launchpad_setup.cfg
|
347
342
|
setup/make_clean.sh
|
348
343
|
setup/make_pip.sh
|
349
344
|
setup/make_release.sh
|
@@ -23,16 +23,21 @@ along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
23
23
|
"""
|
24
24
|
from __future__ import annotations
|
25
25
|
|
26
|
-
import sys
|
27
26
|
import getopt
|
28
27
|
import logging
|
28
|
+
import sys
|
29
|
+
|
30
|
+
from typing import TYPE_CHECKING
|
29
31
|
|
30
32
|
from PyQt5.QtWidgets import QApplication, QErrorMessage
|
31
33
|
|
32
|
-
from novelwriter.error import exceptionHandler, logException
|
33
34
|
from novelwriter.config import Config
|
35
|
+
from novelwriter.error import exceptionHandler, logException
|
34
36
|
from novelwriter.shared import SharedData
|
35
37
|
|
38
|
+
if TYPE_CHECKING: # pragma: no cover
|
39
|
+
from novelwriter.guimain import GuiMain
|
40
|
+
|
36
41
|
# Package Meta
|
37
42
|
# ============
|
38
43
|
|
@@ -42,9 +47,9 @@ __license__ = "GPLv3"
|
|
42
47
|
__author__ = "Veronica Berglyd Olsen"
|
43
48
|
__maintainer__ = "Veronica Berglyd Olsen"
|
44
49
|
__email__ = "code@vkbo.net"
|
45
|
-
__version__ = "2.
|
46
|
-
__hexversion__ = "
|
47
|
-
__date__ = "2024-
|
50
|
+
__version__ = "2.4.1"
|
51
|
+
__hexversion__ = "0x020401f0"
|
52
|
+
__date__ = "2024-05-06"
|
48
53
|
__status__ = "Stable"
|
49
54
|
__domain__ = "novelwriter.io"
|
50
55
|
|
@@ -60,7 +65,7 @@ CONFIG = Config()
|
|
60
65
|
SHARED = SharedData()
|
61
66
|
|
62
67
|
|
63
|
-
def main(sysArgs: list | None = None):
|
68
|
+
def main(sysArgs: list | None = None) -> GuiMain | None:
|
64
69
|
"""Parse command line, set up logging, and launch main GUI."""
|
65
70
|
if sysArgs is None:
|
66
71
|
sysArgs = sys.argv[1:]
|
@@ -187,7 +192,7 @@ def main(sysArgs: list | None = None):
|
|
187
192
|
))
|
188
193
|
for errLine in errorData:
|
189
194
|
logger.critical(errLine)
|
190
|
-
errApp.
|
195
|
+
errApp.exec()
|
191
196
|
sys.exit(errorCode)
|
192
197
|
|
193
198
|
# Finish initialising config
|
@@ -237,6 +242,8 @@ def main(sysArgs: list | None = None):
|
|
237
242
|
nwGUI = GuiMain()
|
238
243
|
nwGUI.postLaunchTasks(cmdOpen)
|
239
244
|
|
240
|
-
sys.exit(nwApp.
|
245
|
+
sys.exit(nwApp.exec())
|
246
|
+
|
247
|
+
return None
|
241
248
|
|
242
249
|
# END Function main
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
@@ -100,8 +100,8 @@ status_time = typ_stopwatch-grey.svg
|
|
100
100
|
sticky-off = typ_pin-outline.svg
|
101
101
|
sticky-on = typ_pin.svg
|
102
102
|
unchecked = mixed_input-unchecked.svg
|
103
|
-
unfold-hide =
|
104
|
-
unfold-show =
|
103
|
+
unfold-hide = typ_unfold-hidden.svg
|
104
|
+
unfold-show = typ_unfold-visible.svg
|
105
105
|
up = typ_chevron-up.svg
|
106
106
|
view = typ_eye.svg
|
107
107
|
view_build = typ_export-grey.svg
|
@@ -0,0 +1,4 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<svg width="24" height="24" version="1.2" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
|
3
|
+
<path d="m9.8767 17.723 5.8157-5.723-5.8157-5.723c-0.18462-0.18462-0.46155-0.27693-0.64616-0.27693-0.18462 0-0.46155 0.092309-0.64616 0.27693-0.18462 0.18462-0.27693 0.36924-0.27693 0.64616v10.154c0 0.27693 0.092309 0.46154 0.27693 0.64616 0.18462 0.18462 0.46155 0.27693 0.64616 0.27693 0.18462 0 0.46155-0.09231 0.64616-0.27693z" fill="#aeaeae" stroke-width=".92309"/>
|
4
|
+
</svg>
|
@@ -0,0 +1,4 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<svg width="24" height="24" version="1.2" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
|
3
|
+
<path d="m6.277 9.8767 5.723 5.8157 5.723-5.8157c0.18462-0.18462 0.27693-0.46155 0.27693-0.64616 0-0.18462-0.092309-0.46155-0.27693-0.64616-0.18462-0.18462-0.36924-0.27693-0.64616-0.27693h-10.154c-0.27693 0-0.46155 0.092309-0.64616 0.27693-0.18462 0.18462-0.27693 0.46155-0.27693 0.64616 0 0.18462 0.092309 0.46155 0.27693 0.64616z" fill="#aeaeae" stroke-width=".92309"/>
|
4
|
+
</svg>
|
@@ -100,8 +100,8 @@ status_time = typ_stopwatch-grey.svg
|
|
100
100
|
sticky-off = typ_pin-outline.svg
|
101
101
|
sticky-on = typ_pin.svg
|
102
102
|
unchecked = mixed_input-unchecked.svg
|
103
|
-
unfold-hide =
|
104
|
-
unfold-show =
|
103
|
+
unfold-hide = typ_unfold-hidden.svg
|
104
|
+
unfold-show = typ_unfold-visible.svg
|
105
105
|
up = typ_chevron-up.svg
|
106
106
|
view = typ_eye.svg
|
107
107
|
view_build = typ_export-grey.svg
|
@@ -0,0 +1,4 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<svg width="24" height="24" version="1.2" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
|
3
|
+
<path d="m9.8767 17.723 5.8157-5.723-5.8157-5.723c-0.18462-0.18462-0.46155-0.27693-0.64616-0.27693-0.18462 0-0.46155 0.092309-0.64616 0.27693-0.18462 0.18462-0.27693 0.36924-0.27693 0.64616v10.154c0 0.27693 0.092309 0.46154 0.27693 0.64616 0.18462 0.18462 0.46155 0.27693 0.64616 0.27693 0.18462 0 0.46155-0.09231 0.64616-0.27693z" fill-opacity=".78039" stroke-width="1.6923"/>
|
4
|
+
</svg>
|
@@ -0,0 +1,4 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<svg width="24" height="24" version="1.2" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
|
3
|
+
<path d="m6.277 9.8767 5.723 5.8157 5.723-5.8157c0.18462-0.18462 0.27693-0.46155 0.27693-0.64616 0-0.18462-0.09231-0.46155-0.27693-0.64616-0.18462-0.18462-0.36924-0.27693-0.64616-0.27693h-10.154c-0.27693 0-0.46155 0.092309-0.64616 0.27693-0.18462 0.18462-0.27693 0.46155-0.27693 0.64616 0 0.18462 0.092309 0.46155 0.27693 0.64616z" fill-opacity=".78039" stroke-width="1.6923"/>
|
4
|
+
</svg>
|
Binary file
|
Binary file
|
@@ -36,7 +36,7 @@ from configparser import ConfigParser
|
|
36
36
|
from urllib.parse import urljoin
|
37
37
|
from urllib.request import pathname2url
|
38
38
|
|
39
|
-
from PyQt5.QtGui import QDesktopServices
|
39
|
+
from PyQt5.QtGui import QColor, QDesktopServices
|
40
40
|
from PyQt5.QtCore import QCoreApplication, QUrl
|
41
41
|
|
42
42
|
from novelwriter.enum import nwItemClass, nwItemType, nwItemLayout
|
@@ -382,6 +382,11 @@ def numberToRoman(value: int, toLower: bool = False) -> str:
|
|
382
382
|
return roman.lower() if toLower else roman
|
383
383
|
|
384
384
|
|
385
|
+
def cssCol(col: QColor, alpha: int | None = None) -> str:
|
386
|
+
"""Convert a QColor object to an rgba entry to use in CSS."""
|
387
|
+
return f"rgba({col.red()}, {col.green()}, {col.blue()}, {alpha or col.alpha()})"
|
388
|
+
|
389
|
+
|
385
390
|
##
|
386
391
|
# Encoder Functions
|
387
392
|
##
|
@@ -444,7 +449,7 @@ def xmlIndent(tree: ET.Element | ET.ElementTree) -> None:
|
|
444
449
|
|
445
450
|
indentations = ["\n"]
|
446
451
|
|
447
|
-
def indentChildren(elem, level):
|
452
|
+
def indentChildren(elem: ET.Element, level: int) -> None:
|
448
453
|
chLevel = level + 1
|
449
454
|
try:
|
450
455
|
chIndent = indentations[chLevel]
|
@@ -467,6 +472,8 @@ def xmlIndent(tree: ET.Element | ET.ElementTree) -> None:
|
|
467
472
|
if last is not None:
|
468
473
|
last.tail = indentations[level]
|
469
474
|
|
475
|
+
return
|
476
|
+
|
470
477
|
if len(tree):
|
471
478
|
indentChildren(tree, 0)
|
472
479
|
tree.tail = "\n"
|
@@ -529,8 +536,9 @@ class NWConfigParser(ConfigParser):
|
|
529
536
|
helper functions, and support for lists.
|
530
537
|
"""
|
531
538
|
|
532
|
-
def __init__(self):
|
539
|
+
def __init__(self) -> None:
|
533
540
|
super().__init__()
|
541
|
+
return
|
534
542
|
|
535
543
|
def rdStr(self, section: str, option: str, default: str) -> str:
|
536
544
|
"""Read string value."""
|
@@ -61,8 +61,12 @@ class Config:
|
|
61
61
|
self.appHandle = "novelwriter"
|
62
62
|
|
63
63
|
# Set Paths
|
64
|
-
confRoot = Path(QStandardPaths.writableLocation(
|
65
|
-
|
64
|
+
confRoot = Path(QStandardPaths.writableLocation(
|
65
|
+
QStandardPaths.StandardLocation.ConfigLocation)
|
66
|
+
)
|
67
|
+
dataRoot = Path(QStandardPaths.writableLocation(
|
68
|
+
QStandardPaths.StandardLocation.AppDataLocation)
|
69
|
+
)
|
66
70
|
|
67
71
|
self._confPath = confRoot.absolute() / self.appHandle # The user config location
|
68
72
|
self._dataPath = dataRoot.absolute() / self.appHandle # The user data location
|
@@ -83,7 +87,7 @@ class Config:
|
|
83
87
|
# Localisation
|
84
88
|
# Note that these paths must be strings
|
85
89
|
self._nwLangPath = self._appPath / "assets" / "i18n"
|
86
|
-
self._qtLangPath = QLibraryInfo.location(QLibraryInfo.TranslationsPath)
|
90
|
+
self._qtLangPath = QLibraryInfo.location(QLibraryInfo.LibraryLocation.TranslationsPath)
|
87
91
|
|
88
92
|
hasLocale = (self._nwLangPath / f"nw_{QLocale.system().name()}.qm").exists()
|
89
93
|
self._qLocale = QLocale.system() if hasLocale else QLocale("en_GB")
|
@@ -369,7 +373,7 @@ class Config:
|
|
369
373
|
elif self.osDarwin and "Helvetica" in fontFam:
|
370
374
|
self.textFont = "Helvetica"
|
371
375
|
else:
|
372
|
-
self.textFont = fontDB.systemFont(QFontDatabase.GeneralFont).family()
|
376
|
+
self.textFont = fontDB.systemFont(QFontDatabase.SystemFont.GeneralFont).family()
|
373
377
|
else:
|
374
378
|
self.textFont = family
|
375
379
|
return
|
@@ -386,6 +390,10 @@ class Config:
|
|
386
390
|
"""Un-scale fixed gui sizes by the screen scale factor."""
|
387
391
|
return int(value/self.guiScale)
|
388
392
|
|
393
|
+
def homePath(self) -> Path:
|
394
|
+
"""The user's home folder."""
|
395
|
+
return self._homePath
|
396
|
+
|
389
397
|
def dataPath(self, target: str | None = None) -> Path:
|
390
398
|
"""Return a path in the data folder."""
|
391
399
|
if isinstance(target, str):
|
@@ -56,13 +56,13 @@ SETTINGS_TEMPLATE = {
|
|
56
56
|
"headings.fmtChapter": (str, nwHeadFmt.TITLE),
|
57
57
|
"headings.fmtUnnumbered": (str, nwHeadFmt.TITLE),
|
58
58
|
"headings.fmtScene": (str, "* * *"),
|
59
|
-
"headings.
|
59
|
+
"headings.fmtAltScene": (str, ""),
|
60
60
|
"headings.fmtSection": (str, ""),
|
61
61
|
"headings.hideTitle": (bool, False),
|
62
62
|
"headings.hideChapter": (bool, False),
|
63
63
|
"headings.hideUnnumbered": (bool, False),
|
64
64
|
"headings.hideScene": (bool, False),
|
65
|
-
"headings.
|
65
|
+
"headings.hideAltScene": (bool, False),
|
66
66
|
"headings.hideSection": (bool, True),
|
67
67
|
"headings.centerTitle": (bool, True),
|
68
68
|
"headings.centerChapter": (bool, False),
|
@@ -110,7 +110,7 @@ SETTINGS_LABELS = {
|
|
110
110
|
"headings.fmtChapter": QT_TRANSLATE_NOOP("Builds", "Chapter Format"),
|
111
111
|
"headings.fmtUnnumbered": QT_TRANSLATE_NOOP("Builds", "Unnumbered Format"),
|
112
112
|
"headings.fmtScene": QT_TRANSLATE_NOOP("Builds", "Scene Format"),
|
113
|
-
"headings.
|
113
|
+
"headings.fmtAltScene": QT_TRANSLATE_NOOP("Builds", "Alt. Scene Format"),
|
114
114
|
"headings.fmtSection": QT_TRANSLATE_NOOP("Builds", "Section Format"),
|
115
115
|
|
116
116
|
"text.grpContent": QT_TRANSLATE_NOOP("Builds", "Text Content"),
|
@@ -178,7 +178,7 @@ class BuildSettings:
|
|
178
178
|
def __init__(self) -> None:
|
179
179
|
self._name = ""
|
180
180
|
self._uuid = str(uuid.uuid4())
|
181
|
-
self._path =
|
181
|
+
self._path = CONFIG.homePath()
|
182
182
|
self._build = ""
|
183
183
|
self._order = 0
|
184
184
|
self._format = nwBuildFmt.ODT
|
@@ -220,7 +220,7 @@ class BuildSettings:
|
|
220
220
|
"""The last used build path."""
|
221
221
|
if self._path.is_dir():
|
222
222
|
return self._path
|
223
|
-
return
|
223
|
+
return CONFIG.homePath()
|
224
224
|
|
225
225
|
@property
|
226
226
|
def lastBuildName(self) -> str:
|
@@ -297,7 +297,7 @@ class BuildSettings:
|
|
297
297
|
if isinstance(path, Path) and path.is_dir():
|
298
298
|
self._path = path
|
299
299
|
else:
|
300
|
-
self._path =
|
300
|
+
self._path = CONFIG.homePath()
|
301
301
|
self._changed = True
|
302
302
|
return
|
303
303
|
|
@@ -382,7 +382,7 @@ class BuildSettings:
|
|
382
382
|
|
383
383
|
postponed = []
|
384
384
|
|
385
|
-
def allowRoot(rHandle):
|
385
|
+
def allowRoot(rHandle: str | None) -> None:
|
386
386
|
if rHandle in postponed and rHandle in result and rHandle is not None:
|
387
387
|
result[rHandle] = (True, FilterMode.ROOT)
|
388
388
|
postponed.remove(rHandle)
|