novelWriter 2.5.1__tar.gz → 2.6b1__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.5.1 → novelwriter-2.6b1}/CHANGELOG.md +102 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/PKG-INFO +2 -1
- {novelwriter-2.5.1 → novelwriter-2.6b1}/README.md +9 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelWriter.egg-info/PKG-INFO +2 -1
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelWriter.egg-info/SOURCES.txt +11 -5
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/__init__.py +3 -3
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/i18n/project_en_GB.json +1 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_dark/icons.conf +1 -0
- novelwriter-2.6b1/novelwriter/assets/icons/typicons_dark/mixed_copy.svg +4 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_light/icons.conf +1 -0
- novelwriter-2.6b1/novelwriter/assets/icons/typicons_light/mixed_copy.svg +4 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/manual.pdf +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/sample.zip +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/themes/default_light.conf +2 -2
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/common.py +63 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/config.py +10 -3
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/constants.py +153 -60
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/core/buildsettings.py +66 -39
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/core/coretools.py +34 -22
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/core/docbuild.py +130 -169
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/core/index.py +29 -18
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/core/item.py +2 -2
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/core/options.py +4 -1
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/core/spellcheck.py +9 -14
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/dialogs/preferences.py +45 -32
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/dialogs/projectsettings.py +3 -3
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/enum.py +29 -23
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/extensions/configlayout.py +24 -11
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/extensions/modified.py +13 -1
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/extensions/pagedsidebar.py +5 -5
- novelwriter-2.6b1/novelwriter/formats/shared.py +155 -0
- novelwriter-2.6b1/novelwriter/formats/todocx.py +1195 -0
- novelwriter-2.6b1/novelwriter/formats/tohtml.py +452 -0
- {novelwriter-2.5.1/novelwriter/core → novelwriter-2.6b1/novelwriter/formats}/tokenizer.py +483 -485
- novelwriter-2.6b1/novelwriter/formats/tomarkdown.py +217 -0
- {novelwriter-2.5.1/novelwriter/core → novelwriter-2.6b1/novelwriter/formats}/toodt.py +270 -320
- novelwriter-2.6b1/novelwriter/formats/toqdoc.py +436 -0
- novelwriter-2.6b1/novelwriter/formats/toraw.py +91 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/gui/doceditor.py +240 -193
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/gui/dochighlight.py +96 -84
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/gui/docviewer.py +56 -30
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/gui/docviewerpanel.py +3 -3
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/gui/editordocument.py +17 -2
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/gui/itemdetails.py +8 -4
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/gui/mainmenu.py +121 -60
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/gui/noveltree.py +35 -37
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/gui/outline.py +186 -238
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/gui/projtree.py +142 -131
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/gui/sidebar.py +7 -6
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/gui/theme.py +5 -4
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/guimain.py +43 -155
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/shared.py +14 -4
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/text/counting.py +2 -0
- novelwriter-2.6b1/novelwriter/text/patterns.py +209 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/tools/manusbuild.py +1 -1
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/tools/manuscript.py +121 -78
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/tools/manussettings.py +403 -260
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/tools/welcome.py +4 -4
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/tools/writingstats.py +3 -3
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/types.py +16 -6
- {novelwriter-2.5.1 → novelwriter-2.6b1}/pkgutils.py +1 -1
- {novelwriter-2.5.1 → novelwriter-2.6b1}/pyproject.toml +7 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/setup/launchpad_setup.cfg +1 -0
- novelwriter-2.6b1/setup/signpath_logo.png +0 -0
- novelwriter-2.5.1/novelwriter/core/tohtml.py +0 -530
- novelwriter-2.5.1/novelwriter/core/tomarkdown.py +0 -252
- novelwriter-2.5.1/novelwriter/core/toqdoc.py +0 -419
- novelwriter-2.5.1/novelwriter/text/patterns.py +0 -113
- {novelwriter-2.5.1 → novelwriter-2.6b1}/CREDITS.md +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/LICENSE.md +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/MANIFEST.in +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelWriter.egg-info/dependency_links.txt +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelWriter.egg-info/entry_points.txt +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelWriter.egg-info/requires.txt +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelWriter.egg-info/top_level.txt +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/i18n/nw_de_DE.qm +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/i18n/nw_en_US.qm +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/i18n/nw_es_419.qm +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/i18n/nw_fr_FR.qm +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/i18n/nw_it_IT.qm +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/i18n/nw_ja_JP.qm +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/i18n/nw_nb_NO.qm +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/i18n/nw_nl_NL.qm +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/i18n/nw_pl_PL.qm +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/i18n/nw_pt_BR.qm +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/i18n/nw_zh_CN.qm +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/i18n/project_de_DE.json +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/i18n/project_en_US.json +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/i18n/project_es_419.json +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/i18n/project_fr_FR.json +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/i18n/project_it_IT.json +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/i18n/project_ja_JP.json +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/i18n/project_nb_NO.json +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/i18n/project_nl_NL.json +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/i18n/project_nn_NO.json +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/i18n/project_pl_PL.json +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/i18n/project_pt_BR.json +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/i18n/project_ru_RU.json +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/i18n/project_zh_CN.json +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/none.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/novelwriter.ico +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/novelwriter.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_dark/README.md +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_dark/mixed_document-chapter.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_dark/mixed_document-new.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_dark/mixed_document-note.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_dark/mixed_document-scene.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_dark/mixed_document-section.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_dark/mixed_document-title.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_dark/mixed_edit.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_dark/mixed_import.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_dark/mixed_input-checked.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_dark/mixed_input-none.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_dark/mixed_input-unchecked.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_dark/mixed_search-replace.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_dark/nw_deco-h0.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_dark/nw_deco-h1.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_dark/nw_deco-h2-narrow.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_dark/nw_deco-h2.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_dark/nw_deco-h3-narrow.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_dark/nw_deco-h3.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_dark/nw_deco-h4-narrow.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_dark/nw_deco-h4.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_dark/nw_deco-note.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_dark/nw_deco-noveltree-more.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_dark/nw_font.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_dark/nw_panel.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_dark/nw_quote.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_dark/nw_search-case.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_dark/nw_search-preserve.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_dark/nw_search-regex.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_dark/nw_search-word.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_dark/nw_tb-bold-md.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_dark/nw_tb-bold.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_dark/nw_tb-italic-md.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_dark/nw_tb-italic.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_dark/nw_tb-mark.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_dark/nw_tb-strike-md.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_dark/nw_tb-strike.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_dark/nw_tb-subscript.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_dark/nw_tb-superscript.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_dark/nw_tb-underline.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_dark/typ_arrow-down-thick-grey.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_dark/typ_arrow-forward.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_dark/typ_arrow-maximise.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_dark/typ_arrow-minimise.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_dark/typ_arrow-repeat-grey.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_dark/typ_book-grey.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_dark/typ_book.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_dark/typ_bookmark.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_dark/typ_calendar.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_dark/typ_cancel-grey.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_dark/typ_cancel.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_dark/typ_chart-bar-grey.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_dark/typ_chevron-down.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_dark/typ_chevron-left.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_dark/typ_chevron-right.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_dark/typ_chevron-up.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_dark/typ_cog.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_dark/typ_delete-full.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_dark/typ_delete.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_dark/typ_directions-full.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_dark/typ_document-add.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_dark/typ_document-text.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_dark/typ_document.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_dark/typ_export-grey.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_dark/typ_export.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_dark/typ_eye.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_dark/typ_flag.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_dark/typ_folder-open.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_dark/typ_folder.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_dark/typ_globe-grey.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_dark/typ_key.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_dark/typ_lightbulb-full.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_dark/typ_location.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_dark/typ_media-pause-grey.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_dark/typ_media-record-outline.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_dark/typ_media-record.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_dark/typ_minus.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_dark/typ_pencil.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_dark/typ_pin-outline.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_dark/typ_pin.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_dark/typ_plus.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_dark/typ_puzzle-outline.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_dark/typ_puzzle.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_dark/typ_refresh-flipped.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_dark/typ_refresh.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_dark/typ_search-grey.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_dark/typ_search.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_dark/typ_star.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_dark/typ_stopwatch-grey.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_dark/typ_th-dot-menu.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_dark/typ_th-dot-more.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_dark/typ_th-list-grey.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_dark/typ_th-list.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_dark/typ_times.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_dark/typ_trash.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_dark/typ_unfold-hidden.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_dark/typ_unfold-visible.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_dark/typ_user.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_dark/typ_warning-full.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_light/README.md +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_light/mixed_document-chapter.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_light/mixed_document-new.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_light/mixed_document-note.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_light/mixed_document-scene.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_light/mixed_document-section.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_light/mixed_document-title.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_light/mixed_edit.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_light/mixed_import.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_light/mixed_input-checked.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_light/mixed_input-none.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_light/mixed_input-unchecked.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_light/mixed_search-replace.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_light/nw_deco-h0.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_light/nw_deco-h1.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_light/nw_deco-h2-narrow.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_light/nw_deco-h2.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_light/nw_deco-h3-narrow.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_light/nw_deco-h3.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_light/nw_deco-h4-narrow.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_light/nw_deco-h4.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_light/nw_deco-note.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_light/nw_deco-noveltree-more.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_light/nw_font.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_light/nw_panel.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_light/nw_quote.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_light/nw_search-case.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_light/nw_search-preserve.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_light/nw_search-regex.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_light/nw_search-word.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_light/nw_tb-bold-md.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_light/nw_tb-bold.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_light/nw_tb-italic-md.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_light/nw_tb-italic.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_light/nw_tb-mark.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_light/nw_tb-strike-md.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_light/nw_tb-strike.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_light/nw_tb-subscript.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_light/nw_tb-superscript.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_light/nw_tb-underline.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_light/typ_arrow-down-thick-grey.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_light/typ_arrow-forward.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_light/typ_arrow-maximise.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_light/typ_arrow-minimise.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_light/typ_arrow-repeat-grey.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_light/typ_book-grey.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_light/typ_book.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_light/typ_bookmark.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_light/typ_calendar.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_light/typ_cancel-grey.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_light/typ_cancel.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_light/typ_chart-bar-grey.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_light/typ_chevron-down.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_light/typ_chevron-left.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_light/typ_chevron-right.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_light/typ_chevron-up.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_light/typ_cog.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_light/typ_delete-full.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_light/typ_delete.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_light/typ_directions-full.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_light/typ_document-add.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_light/typ_document-text.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_light/typ_document.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_light/typ_export-grey.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_light/typ_export.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_light/typ_eye.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_light/typ_flag.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_light/typ_folder-open.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_light/typ_folder.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_light/typ_globe-grey.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_light/typ_key.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_light/typ_lightbulb-full.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_light/typ_location.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_light/typ_media-pause-grey.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_light/typ_media-record-outline.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_light/typ_media-record.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_light/typ_minus.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_light/typ_pencil.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_light/typ_pin-outline.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_light/typ_pin.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_light/typ_plus.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_light/typ_puzzle-outline.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_light/typ_puzzle.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_light/typ_refresh-flipped.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_light/typ_refresh.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_light/typ_search-grey.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_light/typ_search.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_light/typ_star.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_light/typ_stopwatch-grey.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_light/typ_th-dot-menu.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_light/typ_th-dot-more.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_light/typ_th-list-grey.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_light/typ_th-list.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_light/typ_times.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_light/typ_trash.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_light/typ_unfold-hidden.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_light/typ_unfold-visible.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_light/typ_user.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/typicons_light/typ_warning-full.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/x-novelwriter-project.ico +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/icons/x-novelwriter-project.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/images/novelwriter-text-dark.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/images/novelwriter-text-light.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/images/welcome-dark.jpg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/images/welcome-light.jpg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/syntax/cyberpunk_night.conf +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/syntax/default_dark.conf +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/syntax/default_light.conf +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/syntax/dracula.conf +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/syntax/grey_dark.conf +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/syntax/grey_light.conf +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/syntax/light_owl.conf +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/syntax/night_owl.conf +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/syntax/snazzy.conf +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/syntax/solarized_dark.conf +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/syntax/solarized_light.conf +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/syntax/tango.conf +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/syntax/tomorrow.conf +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/syntax/tomorrow_night.conf +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/syntax/tomorrow_night_blue.conf +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/syntax/tomorrow_night_bright.conf +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/syntax/tomorrow_night_eighties.conf +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/text/credits_en.htm +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/text/lipsum.txt +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/themes/cyberpunk_night.conf +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/themes/default.conf +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/themes/default_dark.conf +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/themes/dracula.conf +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/themes/solarized_dark.conf +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/assets/themes/solarized_light.conf +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/core/document.py +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/core/project.py +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/core/projectdata.py +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/core/projectxml.py +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/core/sessions.py +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/core/status.py +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/core/storage.py +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/core/tree.py +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/dialogs/about.py +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/dialogs/docmerge.py +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/dialogs/docsplit.py +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/dialogs/editlabel.py +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/dialogs/quotes.py +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/dialogs/wordlist.py +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/error.py +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/extensions/eventfilters.py +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/extensions/novelselector.py +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/extensions/progressbars.py +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/extensions/statusled.py +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/extensions/switch.py +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/extensions/switchbox.py +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/extensions/versioninfo.py +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/gui/search.py +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/gui/statusbar.py +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/tools/dictionaries.py +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/tools/lipsum.py +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/novelwriter/tools/noveldetails.py +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/setup/appimage_launcher.sh +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/setup/data/hicolor/128x128/apps/novelwriter.png +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/setup/data/hicolor/128x128/mimetypes/application-x-novelwriter-project.png +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/setup/data/hicolor/16x16/apps/novelwriter.png +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/setup/data/hicolor/16x16/mimetypes/application-x-novelwriter-project.png +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/setup/data/hicolor/24x24/apps/novelwriter.png +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/setup/data/hicolor/24x24/mimetypes/application-x-novelwriter-project.png +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/setup/data/hicolor/256x256/apps/novelwriter.png +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/setup/data/hicolor/256x256/mimetypes/application-x-novelwriter-project.png +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/setup/data/hicolor/32x32/apps/novelwriter.png +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/setup/data/hicolor/32x32/mimetypes/application-x-novelwriter-project.png +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/setup/data/hicolor/48x48/apps/novelwriter.png +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/setup/data/hicolor/48x48/mimetypes/application-x-novelwriter-project.png +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/setup/data/hicolor/512x512/apps/novelwriter.png +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/setup/data/hicolor/512x512/mimetypes/application-x-novelwriter-project.png +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/setup/data/hicolor/64x64/apps/novelwriter.png +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/setup/data/hicolor/64x64/mimetypes/application-x-novelwriter-project.png +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/setup/data/hicolor/scalable/apps/novelwriter.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/setup/data/hicolor/scalable/mimetypes/application-x-novelwriter-project.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/setup/data/novelwriter.desktop +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/setup/data/novelwriter.png +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/setup/data/x-novelwriter-project.xml +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/setup/debian/compat +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/setup/debian/control +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/setup/debian/copyright +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/setup/debian/install +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/setup/debian/py3dist-overrides +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/setup/debian/rules +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/setup/debian/source/format +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/setup/description_pypi.md +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/setup/description_short.txt +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/setup/icons/novelwriter.ico +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/setup/icons/novelwriter.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/setup/icons/x-novelwriter-project.ico +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/setup/icons/x-novelwriter-project.svg +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/setup/iss_license.txt +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/setup/macos/App.entitlements +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/setup/macos/Info.plist.template +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/setup/macos/build.sh +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/setup/macos/novelwriter.iconset/icon_128x128.png +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/setup/macos/novelwriter.iconset/icon_128x128@2x.png +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/setup/macos/novelwriter.iconset/icon_16x16.png +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/setup/macos/novelwriter.iconset/icon_16x16@2x.png +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/setup/macos/novelwriter.iconset/icon_256x256.png +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/setup/macos/novelwriter.iconset/icon_256x256@2x.png +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/setup/macos/novelwriter.iconset/icon_32x32.png +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/setup/macos/novelwriter.iconset/icon_32x32@2x.png +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/setup/macos/novelwriter.iconset/icon_512x512.png +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/setup/macos/novelwriter.iconset/icon_512x512@2x.png +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/setup/make_clean.sh +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/setup/make_pip.sh +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/setup/make_release.sh +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/setup/novelwriter.appdata.xml +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/setup/novelwriter_readme.png +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/setup/novelwriter_text.png +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/setup/win_setup_embed.iss +0 -0
- {novelwriter-2.5.1 → novelwriter-2.6b1}/setup.cfg +0 -0
@@ -1,5 +1,107 @@
|
|
1
1
|
# novelWriter Changelog
|
2
2
|
|
3
|
+
## Version 2.6 Beta 1 [2024-11-12]
|
4
|
+
|
5
|
+
### Release Notes
|
6
|
+
|
7
|
+
This is a beta release of the next release version, and is intended for testing purposes. Please be
|
8
|
+
careful when using this version on live writing projects, and make sure you take frequent backups.
|
9
|
+
|
10
|
+
### Detailed Changelog
|
11
|
+
|
12
|
+
**New Features**
|
13
|
+
|
14
|
+
* Added PDF build format. Issue #2046. PR #2048.
|
15
|
+
* Added DocX (MS Word) format. Issue #1537. PR #2056.
|
16
|
+
* The Build settings tool has the following changes: Ability to control page break and centring of
|
17
|
+
main titles, an option to disable styling for headings altogether, and the ODT section has been
|
18
|
+
generalised to apply to all document formats. Issue #2023. PR #2045.
|
19
|
+
* Text and heading margin can now be control in the Manuscript Build tool. Issue #2023. PR #2051.
|
20
|
+
* Word counts and other such statistics can now be inserted into the manuscript. This is done
|
21
|
+
through new insert actions in the Insert menu, and processed at build time. Issue #2024.
|
22
|
+
PR #2073.
|
23
|
+
* Forced line breaks can now be inserted as a shortcode. This is useful when line breaks in
|
24
|
+
paragraphs are ignored when building the manuscript. Issue #1991. PR #2063.
|
25
|
+
* A new `@mentions` keyword has been added that can list any tag in the project as being mentioned
|
26
|
+
in the current section. These are listed separately from tags present in the story section.
|
27
|
+
Issue #1822. PR #2064.
|
28
|
+
* Tags in novel documents can now be referenced with the `@story` keyword. Issue #1990. PR #2072.
|
29
|
+
* URLs starting with http/https are now recognised and clickable in the editor, viewer, and
|
30
|
+
manuscript preview. Issue #1426. PR #2067.
|
31
|
+
* Added dialogue highlighting for Portuguese and Polish dialogue styles. Issues #2066 and #2070.
|
32
|
+
Related to #1773. PRs #2068, #2079, #2081 and #2082.
|
33
|
+
* Four dashes in the editor are now replaced by a horizontal bar. This is useful as a replacement
|
34
|
+
symbol for em dash when using dialogue highlighting to avoid triggering it. The horizontal bar is
|
35
|
+
replaced with an em dash in the manuscript. Issue #2070. PR #2079.
|
36
|
+
* Manuscript Build settings can now be duplicated. Issue #1931. PR #2084.
|
37
|
+
* Page breaks can optionally be made visible in the Manuscript preview. PR #2086.
|
38
|
+
* The document status label can now be selected in the Outline View. Issue #1909. PR #2088.
|
39
|
+
* The document viewer now has an edit button to open the document in the editor. Issue #1963.
|
40
|
+
PR #2089.
|
41
|
+
|
42
|
+
**User Interface**
|
43
|
+
|
44
|
+
* The Manuscript Build settings have now been moved into a single scrollable page, using the same
|
45
|
+
layout as in Preferences. The heading and filtering pages are still separate forms, as they are
|
46
|
+
of a more complex nature. PR #2031.
|
47
|
+
* The currently open document in the editor is now highlighted in the project tree, just like it is
|
48
|
+
in the novel view. Issue #1981. PR #2077.
|
49
|
+
* The details panel in the Outline view is now resizable. PR #2078.
|
50
|
+
|
51
|
+
**Improvements**
|
52
|
+
|
53
|
+
* Add an option to ignore a word in the spell checker. An ignored word is ignored only for the
|
54
|
+
current writing session. PR #2030.
|
55
|
+
* Word counts and other such statistics is now exported as custom variables to ODT files, and can
|
56
|
+
be inserted in the text in LibreOffice, and similar. Issue #2033. PR #2035.
|
57
|
+
|
58
|
+
**Code Improvements**
|
59
|
+
|
60
|
+
* Added Python 3.13 coverage to ensure the new Python release is supported. Issue #2040. PR #2044.
|
61
|
+
* Preparation for Qt6: Clean up Qt enums. PR #2025.
|
62
|
+
* Preparation for Qt6: Replace Qt regular expression tools with the internal Python re module for
|
63
|
+
markup processing and syntax highlighting. It is both slightly faster, and there are issues with
|
64
|
+
text encoding in at least some versions of Qt6 or PyQt6. PRs #2028 and #2043.
|
65
|
+
* Preparation for Qt6: Added a wrapper function for connecting signals to slots that has a
|
66
|
+
different function signature. Python lambdas generate warnings inn Qt6. PR #2075.
|
67
|
+
* Refactored manuscript formats and moved most of the processing to the Tokenizer class to simplify
|
68
|
+
the format classes and also make them more consistent. PRs #2060, #2061 and #2062.
|
69
|
+
* The document builder has been refactored to support more generalised format classes. PR #2047.
|
70
|
+
* Action parent assignment has been rafactored in the main menu. #2075.
|
71
|
+
* Raw text format output has been refactored and reduced to just appending documents. PR #2087.
|
72
|
+
|
73
|
+
----
|
74
|
+
|
75
|
+
## Version 2.5.2 [2024-09-17]
|
76
|
+
|
77
|
+
### Release Notes
|
78
|
+
|
79
|
+
This is a patch release that fixes a series of issues mostly affecting dialogue highlighting in the
|
80
|
+
document viewer. The way the text is formatted in the viewer changed a lot in 2.5, and there were a
|
81
|
+
few issues with the new implementation. The tab stop distance setting was also ignored, but has now
|
82
|
+
been fixed as well.
|
83
|
+
|
84
|
+
### Detailed Changelog
|
85
|
+
|
86
|
+
**Bugfixes**
|
87
|
+
|
88
|
+
* Fixed an issue where the tab stop distance setting was being ignored in the document viewer. It
|
89
|
+
must be set again every time a document is loaded. Issue #1996. PR #2014.
|
90
|
+
* Fixed an issue with overlapping formatting markers when processing text into new formats. This
|
91
|
+
issues was introduced when dialogue highlighting was added to the document viewer and manuscript
|
92
|
+
build. It arises because start and end of dialogue can occur on the same character as other
|
93
|
+
formatting, and then the order these markers are processed matters. This was not properly handled
|
94
|
+
in the code. Issue #2012. PR #2014.
|
95
|
+
* Dialogue highlighting is now only applied to plain text paragraphs, not comments, headings, and
|
96
|
+
other places where there should be no dialogue. Issue #2013. PR #2014.
|
97
|
+
* Note documents no longer get dialogue highlighting. Issue #2011. PR #2014.
|
98
|
+
|
99
|
+
**Documentation**
|
100
|
+
|
101
|
+
* Added a section about spell checking in the documentation. PR #2015.
|
102
|
+
|
103
|
+
----
|
104
|
+
|
3
105
|
## Version 2.5.1 [2024-07-28]
|
4
106
|
|
5
107
|
### Release Notes
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: novelWriter
|
3
|
-
Version: 2.
|
3
|
+
Version: 2.6b1
|
4
4
|
Summary: A markdown-like text editor for planning and writing novels
|
5
5
|
Author-email: Veronica Berglyd Olsen <code@vkbo.net>
|
6
6
|
License: GNU General Public License v3
|
@@ -13,6 +13,7 @@ Classifier: Programming Language :: Python :: 3.9
|
|
13
13
|
Classifier: Programming Language :: Python :: 3.10
|
14
14
|
Classifier: Programming Language :: Python :: 3.11
|
15
15
|
Classifier: Programming Language :: Python :: 3.12
|
16
|
+
Classifier: Programming Language :: Python :: 3.13
|
16
17
|
Classifier: Programming Language :: Python :: Implementation :: CPython
|
17
18
|
Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
|
18
19
|
Classifier: Development Status :: 5 - Production/Stable
|
@@ -29,6 +29,15 @@ documentation.
|
|
29
29
|
* PyPi Project: [pypi.org/project/novelWriter](https://pypi.org/project/novelWriter)
|
30
30
|
* Social Media: [fosstodon.org/@novelwriter](https://fosstodon.org/@novelwriter)
|
31
31
|
|
32
|
+
## Sponsors
|
33
|
+
|
34
|
+
<table style="border: none;">
|
35
|
+
<tr>
|
36
|
+
<td><img align="left" style="height: 25px;" src="https://raw.githubusercontent.com/vkbo/novelWriter/main/setup/signpath_logo.png"></td>
|
37
|
+
<td>Free code signing on Windows provided by <a href="https://about.signpath.io/">SignPath.io</a>, certificate by <a href="https://signpath.org/">SignPath Foundation</a>.</td>
|
38
|
+
</tr>
|
39
|
+
</table>
|
40
|
+
|
32
41
|
## Implementation
|
33
42
|
|
34
43
|
novelWriter is written with Python 3 (3.9+) using Qt5 and PyQt5 (5.15 only), and is released on
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: novelWriter
|
3
|
-
Version: 2.
|
3
|
+
Version: 2.6b1
|
4
4
|
Summary: A markdown-like text editor for planning and writing novels
|
5
5
|
Author-email: Veronica Berglyd Olsen <code@vkbo.net>
|
6
6
|
License: GNU General Public License v3
|
@@ -13,6 +13,7 @@ Classifier: Programming Language :: Python :: 3.9
|
|
13
13
|
Classifier: Programming Language :: Python :: 3.10
|
14
14
|
Classifier: Programming Language :: Python :: 3.11
|
15
15
|
Classifier: Programming Language :: Python :: 3.12
|
16
|
+
Classifier: Programming Language :: Python :: 3.13
|
16
17
|
Classifier: Programming Language :: Python :: Implementation :: CPython
|
17
18
|
Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
|
18
19
|
Classifier: Development Status :: 5 - Production/Stable
|
@@ -54,6 +54,7 @@ novelwriter/assets/icons/x-novelwriter-project.ico
|
|
54
54
|
novelwriter/assets/icons/x-novelwriter-project.svg
|
55
55
|
novelwriter/assets/icons/typicons_dark/README.md
|
56
56
|
novelwriter/assets/icons/typicons_dark/icons.conf
|
57
|
+
novelwriter/assets/icons/typicons_dark/mixed_copy.svg
|
57
58
|
novelwriter/assets/icons/typicons_dark/mixed_document-chapter.svg
|
58
59
|
novelwriter/assets/icons/typicons_dark/mixed_document-new.svg
|
59
60
|
novelwriter/assets/icons/typicons_dark/mixed_document-note.svg
|
@@ -154,6 +155,7 @@ novelwriter/assets/icons/typicons_dark/typ_user.svg
|
|
154
155
|
novelwriter/assets/icons/typicons_dark/typ_warning-full.svg
|
155
156
|
novelwriter/assets/icons/typicons_light/README.md
|
156
157
|
novelwriter/assets/icons/typicons_light/icons.conf
|
158
|
+
novelwriter/assets/icons/typicons_light/mixed_copy.svg
|
157
159
|
novelwriter/assets/icons/typicons_light/mixed_document-chapter.svg
|
158
160
|
novelwriter/assets/icons/typicons_light/mixed_document-new.svg
|
159
161
|
novelwriter/assets/icons/typicons_light/mixed_document-note.svg
|
@@ -296,11 +298,6 @@ novelwriter/core/sessions.py
|
|
296
298
|
novelwriter/core/spellcheck.py
|
297
299
|
novelwriter/core/status.py
|
298
300
|
novelwriter/core/storage.py
|
299
|
-
novelwriter/core/tohtml.py
|
300
|
-
novelwriter/core/tokenizer.py
|
301
|
-
novelwriter/core/tomarkdown.py
|
302
|
-
novelwriter/core/toodt.py
|
303
|
-
novelwriter/core/toqdoc.py
|
304
301
|
novelwriter/core/tree.py
|
305
302
|
novelwriter/dialogs/about.py
|
306
303
|
novelwriter/dialogs/docmerge.py
|
@@ -320,6 +317,14 @@ novelwriter/extensions/statusled.py
|
|
320
317
|
novelwriter/extensions/switch.py
|
321
318
|
novelwriter/extensions/switchbox.py
|
322
319
|
novelwriter/extensions/versioninfo.py
|
320
|
+
novelwriter/formats/shared.py
|
321
|
+
novelwriter/formats/todocx.py
|
322
|
+
novelwriter/formats/tohtml.py
|
323
|
+
novelwriter/formats/tokenizer.py
|
324
|
+
novelwriter/formats/tomarkdown.py
|
325
|
+
novelwriter/formats/toodt.py
|
326
|
+
novelwriter/formats/toqdoc.py
|
327
|
+
novelwriter/formats/toraw.py
|
323
328
|
novelwriter/gui/doceditor.py
|
324
329
|
novelwriter/gui/dochighlight.py
|
325
330
|
novelwriter/gui/docviewer.py
|
@@ -355,6 +360,7 @@ setup/make_release.sh
|
|
355
360
|
setup/novelwriter.appdata.xml
|
356
361
|
setup/novelwriter_readme.png
|
357
362
|
setup/novelwriter_text.png
|
363
|
+
setup/signpath_logo.png
|
358
364
|
setup/win_setup_embed.iss
|
359
365
|
setup/data/novelwriter.desktop
|
360
366
|
setup/data/novelwriter.png
|
@@ -47,9 +47,9 @@ __license__ = "GPLv3"
|
|
47
47
|
__author__ = "Veronica Berglyd Olsen"
|
48
48
|
__maintainer__ = "Veronica Berglyd Olsen"
|
49
49
|
__email__ = "code@vkbo.net"
|
50
|
-
__version__ = "2.
|
51
|
-
__hexversion__ = "
|
52
|
-
__date__ = "2024-
|
50
|
+
__version__ = "2.6b1"
|
51
|
+
__hexversion__ = "0x020600b1"
|
52
|
+
__date__ = "2024-11-12"
|
53
53
|
__status__ = "Stable"
|
54
54
|
__domain__ = "novelwriter.io"
|
55
55
|
|
@@ -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="m7.8824 2c-1.2988 0-2.3529 1.0541-2.3529 2.3529v2.3529h-1.1765c-1.2988 0-2.3529 1.0541-2.3529 2.3529v10.588c0 1.2988 1.0541 2.3529 2.3529 2.3529h10.588c1.2988 0 2.3529-1.0541 2.3529-2.3529v-1.1765h2.3529c1.2988 0 2.3529-1.0541 2.3529-2.3529v-11.765c0-1.2988-1.0541-2.3529-2.3529-2.3529zm0 2.3529h11.765v11.765h-2.3529v-7.0588c0-1.2988-1.0541-2.3529-2.3529-2.3529h-7.0588zm-3.5294 4.7059h10.588c0.32353 0 0-0.32353 0 0v10.588h-10.588v-9.8943z" fill="#69c" stroke-width="1.1765"/>
|
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="m7.8824 2c-1.2988 0-2.3529 1.0541-2.3529 2.3529v2.3529h-1.1765c-1.2988 0-2.3529 1.0541-2.3529 2.3529v10.588c0 1.2988 1.0541 2.3529 2.3529 2.3529h10.588c1.2988 0 2.3529-1.0541 2.3529-2.3529v-1.1765h2.3529c1.2988 0 2.3529-1.0541 2.3529-2.3529v-11.765c0-1.2988-1.0541-2.3529-2.3529-2.3529zm0 2.3529h11.765v11.765h-2.3529v-7.0588c0-1.2988-1.0541-2.3529-2.3529-2.3529h-7.0588zm-3.5294 4.7059h10.588c0.32353 0 0-0.32353 0 0v10.588h-10.588v-9.8943z" fill="#4271ae" stroke-width="1.1765"/>
|
4
|
+
</svg>
|
Binary file
|
Binary file
|
@@ -29,6 +29,7 @@ import unicodedata
|
|
29
29
|
import uuid
|
30
30
|
import xml.etree.ElementTree as ET
|
31
31
|
|
32
|
+
from collections.abc import Callable
|
32
33
|
from configparser import ConfigParser
|
33
34
|
from datetime import datetime
|
34
35
|
from pathlib import Path
|
@@ -204,6 +205,14 @@ def checkIntTuple(value: int, valid: tuple | list | set, default: int) -> int:
|
|
204
205
|
return default
|
205
206
|
|
206
207
|
|
208
|
+
def firstFloat(*args: Any) -> float:
|
209
|
+
"""Return the first value that is a float."""
|
210
|
+
for arg in args:
|
211
|
+
if isinstance(arg, float):
|
212
|
+
return arg
|
213
|
+
return 0.0
|
214
|
+
|
215
|
+
|
207
216
|
##
|
208
217
|
# Formatting Functions
|
209
218
|
##
|
@@ -406,6 +415,10 @@ def numberToRoman(value: int, toLower: bool = False) -> str:
|
|
406
415
|
return roman.lower() if toLower else roman
|
407
416
|
|
408
417
|
|
418
|
+
##
|
419
|
+
# Qt Helpers
|
420
|
+
##
|
421
|
+
|
409
422
|
def cssCol(col: QColor, alpha: int | None = None) -> str:
|
410
423
|
"""Convert a QColor object to an rgba entry to use in CSS."""
|
411
424
|
return f"rgba({col.red()}, {col.green()}, {col.blue()}, {alpha or col.alpha()})"
|
@@ -421,6 +434,13 @@ def describeFont(font: QFont) -> str:
|
|
421
434
|
return "Error"
|
422
435
|
|
423
436
|
|
437
|
+
def qtLambda(func: Callable, *args: Any, **kwargs: Any) -> Callable:
|
438
|
+
"""A replacement for Python lambdas that works for Qt slots."""
|
439
|
+
def wrapper(*a_: Any) -> None:
|
440
|
+
func(*args, **kwargs)
|
441
|
+
return wrapper
|
442
|
+
|
443
|
+
|
424
444
|
##
|
425
445
|
# Encoder Functions
|
426
446
|
##
|
@@ -472,6 +492,10 @@ def jsonEncode(data: dict | list | tuple, n: int = 0, nmax: int = 0) -> str:
|
|
472
492
|
return "".join(buffer)
|
473
493
|
|
474
494
|
|
495
|
+
##
|
496
|
+
# XML Helpers
|
497
|
+
##
|
498
|
+
|
475
499
|
def xmlIndent(tree: ET.Element | ET.ElementTree) -> None:
|
476
500
|
"""A modified version of the XML indent function in the standard
|
477
501
|
library. It behaves more closely to how the one from lxml does.
|
@@ -515,6 +539,45 @@ def xmlIndent(tree: ET.Element | ET.ElementTree) -> None:
|
|
515
539
|
return
|
516
540
|
|
517
541
|
|
542
|
+
def xmlElement(
|
543
|
+
tag: str,
|
544
|
+
text: str | int | float | bool | None = None,
|
545
|
+
*,
|
546
|
+
attrib: dict | None = None,
|
547
|
+
tail: str | None = None,
|
548
|
+
) -> ET.Element:
|
549
|
+
"""A custom implementation of Element with more arguments."""
|
550
|
+
xSub = ET.Element(tag, attrib=attrib or {})
|
551
|
+
if text is not None:
|
552
|
+
if isinstance(text, bool):
|
553
|
+
xSub.text = str(text).lower()
|
554
|
+
else:
|
555
|
+
xSub.text = str(text)
|
556
|
+
if tail is not None:
|
557
|
+
xSub.tail = tail
|
558
|
+
return xSub
|
559
|
+
|
560
|
+
|
561
|
+
def xmlSubElem(
|
562
|
+
parent: ET.Element,
|
563
|
+
tag: str,
|
564
|
+
text: str | int | float | bool | None = None,
|
565
|
+
*,
|
566
|
+
attrib: dict | None = None,
|
567
|
+
tail: str | None = None,
|
568
|
+
) -> ET.Element:
|
569
|
+
"""A custom implementation of SubElement with more arguments."""
|
570
|
+
xSub = ET.SubElement(parent, tag, attrib=attrib or {})
|
571
|
+
if text is not None:
|
572
|
+
if isinstance(text, bool):
|
573
|
+
xSub.text = str(text).lower()
|
574
|
+
else:
|
575
|
+
xSub.text = str(text)
|
576
|
+
if tail is not None:
|
577
|
+
xSub.tail = tail
|
578
|
+
return xSub
|
579
|
+
|
580
|
+
|
518
581
|
##
|
519
582
|
# File and File System Functions
|
520
583
|
##
|
@@ -161,8 +161,9 @@ class Config:
|
|
161
161
|
|
162
162
|
self.dialogStyle = 2 # Quote type to use for dialogue
|
163
163
|
self.allowOpenDial = True # Allow open-ended dialogue quotes
|
164
|
-
self.narratorBreak = "" # Symbol to use for narrator break
|
165
164
|
self.dialogLine = "" # Symbol to use for dialogue line
|
165
|
+
self.narratorBreak = "" # Symbol to use for narrator break
|
166
|
+
self.narratorDialog = "" # Symbol for alternating between dialogue and narrator
|
166
167
|
self.altDialogOpen = "" # Alternative dialog symbol, open
|
167
168
|
self.altDialogClose = "" # Alternative dialog symbol, close
|
168
169
|
self.highlightEmph = True # Add colour to text emphasis
|
@@ -252,6 +253,10 @@ class Config:
|
|
252
253
|
def hasError(self) -> bool:
|
253
254
|
return self._hasError
|
254
255
|
|
256
|
+
@property
|
257
|
+
def locale(self) -> QLocale:
|
258
|
+
return self._dLocale
|
259
|
+
|
255
260
|
@property
|
256
261
|
def recentProjects(self) -> RecentProjects:
|
257
262
|
return self._recentProjects
|
@@ -653,10 +658,11 @@ class Config:
|
|
653
658
|
self.showFullPath = conf.rdBool(sec, "showfullpath", self.showFullPath)
|
654
659
|
self.dialogStyle = conf.rdInt(sec, "dialogstyle", self.dialogStyle)
|
655
660
|
self.allowOpenDial = conf.rdBool(sec, "allowopendial", self.allowOpenDial)
|
661
|
+
self.dialogLine = conf.rdStr(sec, "dialogline", self.dialogLine)
|
656
662
|
self.narratorBreak = conf.rdStr(sec, "narratorbreak", self.narratorBreak)
|
663
|
+
self.narratorDialog = conf.rdStr(sec, "narratordialog", self.narratorDialog)
|
657
664
|
self.altDialogOpen = conf.rdStr(sec, "altdialogopen", self.altDialogOpen)
|
658
665
|
self.altDialogClose = conf.rdStr(sec, "altdialogclose", self.altDialogClose)
|
659
|
-
self.dialogLine = conf.rdStr(sec, "dialogline", self.dialogLine)
|
660
666
|
self.highlightEmph = conf.rdBool(sec, "highlightemph", self.highlightEmph)
|
661
667
|
self.stopWhenIdle = conf.rdBool(sec, "stopwhenidle", self.stopWhenIdle)
|
662
668
|
self.userIdleTime = conf.rdInt(sec, "useridletime", self.userIdleTime)
|
@@ -762,10 +768,11 @@ class Config:
|
|
762
768
|
"showfullpath": str(self.showFullPath),
|
763
769
|
"dialogstyle": str(self.dialogStyle),
|
764
770
|
"allowopendial": str(self.allowOpenDial),
|
771
|
+
"dialogline": str(self.dialogLine),
|
765
772
|
"narratorbreak": str(self.narratorBreak),
|
773
|
+
"narratordialog": str(self.narratorDialog),
|
766
774
|
"altdialogopen": str(self.altDialogOpen),
|
767
775
|
"altdialogclose": str(self.altDialogClose),
|
768
|
-
"dialogline": str(self.dialogLine),
|
769
776
|
"highlightemph": str(self.highlightEmph),
|
770
777
|
"stopwhenidle": str(self.stopWhenIdle),
|
771
778
|
"useridletime": str(self.userIdleTime),
|