novelWriter 2.7.4__tar.gz → 2.8b1__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.
Files changed (320) hide show
  1. {novelwriter-2.7.4 → novelwriter-2.8b1}/CHANGELOG.md +139 -3
  2. novelwriter-2.8b1/CREDITS.md +125 -0
  3. {novelwriter-2.7.4 → novelwriter-2.8b1}/PKG-INFO +7 -7
  4. {novelwriter-2.7.4 → novelwriter-2.8b1}/README.md +11 -9
  5. {novelwriter-2.7.4 → novelwriter-2.8b1}/novelWriter.egg-info/PKG-INFO +7 -7
  6. {novelwriter-2.7.4 → novelwriter-2.8b1}/novelWriter.egg-info/SOURCES.txt +69 -20
  7. novelwriter-2.8b1/novelWriter.egg-info/requires.txt +2 -0
  8. {novelwriter-2.7.4 → novelwriter-2.8b1}/novelwriter/__init__.py +8 -7
  9. {novelwriter-2.7.4 → novelwriter-2.8b1}/novelwriter/assets/icons/font_awesome.icons +22 -4
  10. {novelwriter-2.7.4 → novelwriter-2.8b1}/novelwriter/assets/icons/material_filled_normal.icons +20 -2
  11. {novelwriter-2.7.4 → novelwriter-2.8b1}/novelwriter/assets/icons/material_filled_thin.icons +20 -2
  12. {novelwriter-2.7.4 → novelwriter-2.8b1}/novelwriter/assets/icons/material_rounded_normal.icons +20 -2
  13. {novelwriter-2.7.4 → novelwriter-2.8b1}/novelwriter/assets/icons/material_rounded_thin.icons +20 -2
  14. {novelwriter-2.7.4 → novelwriter-2.8b1}/novelwriter/assets/icons/material_sharp_normal.icons +20 -2
  15. {novelwriter-2.7.4 → novelwriter-2.8b1}/novelwriter/assets/icons/material_sharp_thin.icons +20 -2
  16. {novelwriter-2.7.4 → novelwriter-2.8b1}/novelwriter/assets/icons/remix_filled.icons +20 -2
  17. {novelwriter-2.7.4 → novelwriter-2.8b1}/novelwriter/assets/icons/remix_outline.icons +20 -2
  18. novelwriter-2.8b1/novelwriter/assets/images/welcome.webp +0 -0
  19. {novelwriter-2.7.4 → novelwriter-2.8b1}/novelwriter/assets/manual.pdf +0 -0
  20. {novelwriter-2.7.4 → novelwriter-2.8b1}/novelwriter/assets/manual_fr.pdf +0 -0
  21. novelwriter-2.8b1/novelwriter/assets/sample.zip +0 -0
  22. novelwriter-2.8b1/novelwriter/assets/text/credits_en.htm +150 -0
  23. novelwriter-2.8b1/novelwriter/assets/themes/aura.conf +97 -0
  24. novelwriter-2.8b1/novelwriter/assets/themes/aura_bright.conf +95 -0
  25. novelwriter-2.8b1/novelwriter/assets/themes/aura_soft.conf +97 -0
  26. novelwriter-2.8b1/novelwriter/assets/themes/b2t_garden_dark.conf +97 -0
  27. novelwriter-2.8b1/novelwriter/assets/themes/b2t_garden_light.conf +97 -0
  28. novelwriter-2.8b1/novelwriter/assets/themes/b2t_suburb_dark.conf +97 -0
  29. novelwriter-2.8b1/novelwriter/assets/themes/b2t_suburb_light.conf +97 -0
  30. novelwriter-2.8b1/novelwriter/assets/themes/b4t_classic_o_dark.conf +97 -0
  31. novelwriter-2.8b1/novelwriter/assets/themes/b4t_classic_o_light.conf +97 -0
  32. novelwriter-2.8b1/novelwriter/assets/themes/b4t_modern_c_dark.conf +97 -0
  33. novelwriter-2.8b1/novelwriter/assets/themes/b4t_modern_c_light.conf +97 -0
  34. novelwriter-2.8b1/novelwriter/assets/themes/blue_streak_dark.conf +97 -0
  35. novelwriter-2.8b1/novelwriter/assets/themes/blue_streak_light.conf +97 -0
  36. novelwriter-2.8b1/novelwriter/assets/themes/castle_day.conf +95 -0
  37. novelwriter-2.8b1/novelwriter/assets/themes/castle_night.conf +95 -0
  38. novelwriter-2.8b1/novelwriter/assets/themes/catppuccin_latte.conf +97 -0
  39. novelwriter-2.8b1/novelwriter/assets/themes/catppuccin_mocha.conf +97 -0
  40. novelwriter-2.8b1/novelwriter/assets/themes/chalky_soil.conf +95 -0
  41. novelwriter-2.8b1/novelwriter/assets/themes/chernozem.conf +95 -0
  42. novelwriter-2.8b1/novelwriter/assets/themes/cyberpunk_night.conf +96 -0
  43. novelwriter-2.8b1/novelwriter/assets/themes/default_dark.conf +97 -0
  44. novelwriter-2.8b1/novelwriter/assets/themes/default_light.conf +97 -0
  45. novelwriter-2.8b1/novelwriter/assets/themes/dracula.conf +113 -0
  46. novelwriter-2.8b1/novelwriter/assets/themes/espresso.conf +97 -0
  47. novelwriter-2.8b1/novelwriter/assets/themes/everforest_dark.conf +97 -0
  48. novelwriter-2.8b1/novelwriter/assets/themes/everforest_light.conf +97 -0
  49. novelwriter-2.8b1/novelwriter/assets/themes/floral_daydream.conf +95 -0
  50. novelwriter-2.8b1/novelwriter/assets/themes/floral_midnight.conf +95 -0
  51. novelwriter-2.8b1/novelwriter/assets/themes/full_moon.conf +95 -0
  52. novelwriter-2.8b1/novelwriter/assets/themes/grey_dark.conf +97 -0
  53. novelwriter-2.8b1/novelwriter/assets/themes/grey_light.conf +97 -0
  54. novelwriter-2.8b1/novelwriter/assets/themes/horizon_dark.conf +97 -0
  55. novelwriter-2.8b1/novelwriter/assets/themes/horizon_light.conf +97 -0
  56. novelwriter-2.8b1/novelwriter/assets/themes/jewel_case_dark.conf +95 -0
  57. novelwriter-2.8b1/novelwriter/assets/themes/jewel_case_light.conf +95 -0
  58. novelwriter-2.8b1/novelwriter/assets/themes/lcars.conf +97 -0
  59. novelwriter-2.8b1/novelwriter/assets/themes/light_owl.conf +117 -0
  60. novelwriter-2.8b1/novelwriter/assets/themes/new_moon.conf +97 -0
  61. novelwriter-2.8b1/novelwriter/assets/themes/night_owl.conf +117 -0
  62. novelwriter-2.8b1/novelwriter/assets/themes/noctis.conf +129 -0
  63. novelwriter-2.8b1/novelwriter/assets/themes/noctis_lux.conf +129 -0
  64. novelwriter-2.8b1/novelwriter/assets/themes/nord.conf +97 -0
  65. novelwriter-2.8b1/novelwriter/assets/themes/nordlicht.conf +95 -0
  66. novelwriter-2.8b1/novelwriter/assets/themes/otium_dark.conf +95 -0
  67. novelwriter-2.8b1/novelwriter/assets/themes/otium_light.conf +95 -0
  68. novelwriter-2.8b1/novelwriter/assets/themes/paragon.conf +96 -0
  69. novelwriter-2.8b1/novelwriter/assets/themes/primer_light.conf +97 -0
  70. novelwriter-2.8b1/novelwriter/assets/themes/primer_night.conf +97 -0
  71. novelwriter-2.8b1/novelwriter/assets/themes/rose_pine.conf +97 -0
  72. novelwriter-2.8b1/novelwriter/assets/themes/rose_pine_dawn.conf +97 -0
  73. novelwriter-2.8b1/novelwriter/assets/themes/ruby_day.conf +95 -0
  74. novelwriter-2.8b1/novelwriter/assets/themes/ruby_night.conf +95 -0
  75. novelwriter-2.8b1/novelwriter/assets/themes/selenium_dark.conf +95 -0
  76. novelwriter-2.8b1/novelwriter/assets/themes/selenium_light.conf +95 -0
  77. novelwriter-2.8b1/novelwriter/assets/themes/sepia_dark.conf +95 -0
  78. novelwriter-2.8b1/novelwriter/assets/themes/sepia_light.conf +95 -0
  79. novelwriter-2.8b1/novelwriter/assets/themes/snazzy.conf +110 -0
  80. novelwriter-2.8b1/novelwriter/assets/themes/solarized_dark.conf +116 -0
  81. novelwriter-2.8b1/novelwriter/assets/themes/solarized_light.conf +116 -0
  82. novelwriter-2.8b1/novelwriter/assets/themes/sultana_light.conf +95 -0
  83. novelwriter-2.8b1/novelwriter/assets/themes/sultana_night.conf +95 -0
  84. novelwriter-2.8b1/novelwriter/assets/themes/tango_dark.conf +111 -0
  85. novelwriter-2.8b1/novelwriter/assets/themes/tango_light.conf +111 -0
  86. novelwriter-2.8b1/novelwriter/assets/themes/tomorrow.conf +117 -0
  87. novelwriter-2.8b1/novelwriter/assets/themes/tomorrow_night.conf +117 -0
  88. novelwriter-2.8b1/novelwriter/assets/themes/tomorrow_night_blue.conf +117 -0
  89. novelwriter-2.8b1/novelwriter/assets/themes/tomorrow_night_bright.conf +117 -0
  90. novelwriter-2.8b1/novelwriter/assets/themes/tomorrow_night_eighties.conf +117 -0
  91. novelwriter-2.8b1/novelwriter/assets/themes/vivid_black_green.conf +97 -0
  92. novelwriter-2.8b1/novelwriter/assets/themes/vivid_black_red.conf +97 -0
  93. novelwriter-2.8b1/novelwriter/assets/themes/vivid_white_green.conf +97 -0
  94. novelwriter-2.8b1/novelwriter/assets/themes/vivid_white_red.conf +97 -0
  95. novelwriter-2.8b1/novelwriter/assets/themes/warpgate.conf +96 -0
  96. novelwriter-2.8b1/novelwriter/assets/themes/waterlily_dark.conf +95 -0
  97. novelwriter-2.8b1/novelwriter/assets/themes/waterlily_light.conf +95 -0
  98. {novelwriter-2.7.4 → novelwriter-2.8b1}/novelwriter/common.py +47 -17
  99. {novelwriter-2.7.4 → novelwriter-2.8b1}/novelwriter/config.py +57 -62
  100. {novelwriter-2.7.4 → novelwriter-2.8b1}/novelwriter/constants.py +32 -6
  101. {novelwriter-2.7.4 → novelwriter-2.8b1}/novelwriter/core/buildsettings.py +3 -23
  102. {novelwriter-2.7.4 → novelwriter-2.8b1}/novelwriter/core/coretools.py +21 -25
  103. {novelwriter-2.7.4 → novelwriter-2.8b1}/novelwriter/core/docbuild.py +4 -9
  104. {novelwriter-2.7.4 → novelwriter-2.8b1}/novelwriter/core/document.py +2 -6
  105. {novelwriter-2.7.4 → novelwriter-2.8b1}/novelwriter/core/index.py +33 -53
  106. {novelwriter-2.7.4 → novelwriter-2.8b1}/novelwriter/core/indexdata.py +17 -22
  107. {novelwriter-2.7.4 → novelwriter-2.8b1}/novelwriter/core/item.py +11 -35
  108. {novelwriter-2.7.4 → novelwriter-2.8b1}/novelwriter/core/itemmodel.py +5 -21
  109. {novelwriter-2.7.4 → novelwriter-2.8b1}/novelwriter/core/novelmodel.py +3 -7
  110. {novelwriter-2.7.4 → novelwriter-2.8b1}/novelwriter/core/options.py +3 -4
  111. {novelwriter-2.7.4 → novelwriter-2.8b1}/novelwriter/core/project.py +31 -21
  112. {novelwriter-2.7.4 → novelwriter-2.8b1}/novelwriter/core/projectdata.py +2 -21
  113. {novelwriter-2.7.4 → novelwriter-2.8b1}/novelwriter/core/projectxml.py +13 -21
  114. {novelwriter-2.7.4 → novelwriter-2.8b1}/novelwriter/core/sessions.py +2 -4
  115. {novelwriter-2.7.4 → novelwriter-2.8b1}/novelwriter/core/spellcheck.py +12 -13
  116. {novelwriter-2.7.4 → novelwriter-2.8b1}/novelwriter/core/status.py +27 -20
  117. {novelwriter-2.7.4 → novelwriter-2.8b1}/novelwriter/core/storage.py +5 -10
  118. {novelwriter-2.7.4 → novelwriter-2.8b1}/novelwriter/core/tree.py +6 -15
  119. {novelwriter-2.7.4 → novelwriter-2.8b1}/novelwriter/dialogs/about.py +9 -10
  120. {novelwriter-2.7.4 → novelwriter-2.8b1}/novelwriter/dialogs/docmerge.py +17 -14
  121. {novelwriter-2.7.4 → novelwriter-2.8b1}/novelwriter/dialogs/docsplit.py +18 -14
  122. {novelwriter-2.7.4 → novelwriter-2.8b1}/novelwriter/dialogs/editlabel.py +15 -9
  123. {novelwriter-2.7.4 → novelwriter-2.8b1}/novelwriter/dialogs/preferences.py +69 -68
  124. {novelwriter-2.7.4 → novelwriter-2.8b1}/novelwriter/dialogs/projectsettings.py +88 -67
  125. {novelwriter-2.7.4 → novelwriter-2.8b1}/novelwriter/dialogs/quotes.py +15 -10
  126. {novelwriter-2.7.4 → novelwriter-2.8b1}/novelwriter/dialogs/wordlist.py +18 -21
  127. {novelwriter-2.7.4 → novelwriter-2.8b1}/novelwriter/enum.py +75 -30
  128. {novelwriter-2.7.4 → novelwriter-2.8b1}/novelwriter/error.py +6 -11
  129. {novelwriter-2.7.4 → novelwriter-2.8b1}/novelwriter/extensions/configlayout.py +8 -34
  130. {novelwriter-2.7.4 → novelwriter-2.8b1}/novelwriter/extensions/eventfilters.py +3 -3
  131. {novelwriter-2.7.4 → novelwriter-2.8b1}/novelwriter/extensions/modified.py +87 -32
  132. {novelwriter-2.7.4 → novelwriter-2.8b1}/novelwriter/extensions/novelselector.py +13 -12
  133. {novelwriter-2.7.4 → novelwriter-2.8b1}/novelwriter/extensions/pagedsidebar.py +10 -18
  134. {novelwriter-2.7.4 → novelwriter-2.8b1}/novelwriter/extensions/progressbars.py +5 -11
  135. {novelwriter-2.7.4 → novelwriter-2.8b1}/novelwriter/extensions/statusled.py +3 -6
  136. {novelwriter-2.7.4 → novelwriter-2.8b1}/novelwriter/extensions/switch.py +8 -11
  137. {novelwriter-2.7.4 → novelwriter-2.8b1}/novelwriter/extensions/switchbox.py +2 -11
  138. {novelwriter-2.7.4 → novelwriter-2.8b1}/novelwriter/extensions/versioninfo.py +6 -7
  139. {novelwriter-2.7.4 → novelwriter-2.8b1}/novelwriter/formats/shared.py +10 -2
  140. {novelwriter-2.7.4 → novelwriter-2.8b1}/novelwriter/formats/todocx.py +15 -37
  141. {novelwriter-2.7.4 → novelwriter-2.8b1}/novelwriter/formats/tohtml.py +52 -61
  142. {novelwriter-2.7.4 → novelwriter-2.8b1}/novelwriter/formats/tokenizer.py +33 -64
  143. {novelwriter-2.7.4 → novelwriter-2.8b1}/novelwriter/formats/tomarkdown.py +4 -11
  144. {novelwriter-2.7.4 → novelwriter-2.8b1}/novelwriter/formats/toodt.py +12 -71
  145. {novelwriter-2.7.4 → novelwriter-2.8b1}/novelwriter/formats/toqdoc.py +11 -21
  146. {novelwriter-2.7.4 → novelwriter-2.8b1}/novelwriter/formats/toraw.py +2 -6
  147. {novelwriter-2.7.4 → novelwriter-2.8b1}/novelwriter/gui/doceditor.py +207 -245
  148. {novelwriter-2.7.4 → novelwriter-2.8b1}/novelwriter/gui/dochighlight.py +142 -101
  149. {novelwriter-2.7.4 → novelwriter-2.8b1}/novelwriter/gui/docviewer.py +53 -84
  150. {novelwriter-2.7.4 → novelwriter-2.8b1}/novelwriter/gui/docviewerpanel.py +18 -41
  151. {novelwriter-2.7.4 → novelwriter-2.8b1}/novelwriter/gui/editordocument.py +12 -17
  152. {novelwriter-2.7.4 → novelwriter-2.8b1}/novelwriter/gui/itemdetails.py +5 -14
  153. {novelwriter-2.7.4 → novelwriter-2.8b1}/novelwriter/gui/mainmenu.py +24 -32
  154. {novelwriter-2.7.4 → novelwriter-2.8b1}/novelwriter/gui/noveltree.py +13 -51
  155. {novelwriter-2.7.4 → novelwriter-2.8b1}/novelwriter/gui/outline.py +20 -61
  156. {novelwriter-2.7.4 → novelwriter-2.8b1}/novelwriter/gui/projtree.py +40 -96
  157. {novelwriter-2.7.4 → novelwriter-2.8b1}/novelwriter/gui/search.py +9 -24
  158. {novelwriter-2.7.4 → novelwriter-2.8b1}/novelwriter/gui/sidebar.py +54 -22
  159. {novelwriter-2.7.4 → novelwriter-2.8b1}/novelwriter/gui/statusbar.py +7 -22
  160. novelwriter-2.8b1/novelwriter/gui/theme.py +1035 -0
  161. {novelwriter-2.7.4 → novelwriter-2.8b1}/novelwriter/guimain.py +87 -101
  162. {novelwriter-2.7.4 → novelwriter-2.8b1}/novelwriter/shared.py +79 -48
  163. {novelwriter-2.7.4 → novelwriter-2.8b1}/novelwriter/splash.py +9 -5
  164. {novelwriter-2.7.4 → novelwriter-2.8b1}/novelwriter/text/comments.py +1 -1
  165. {novelwriter-2.7.4 → novelwriter-2.8b1}/novelwriter/text/counting.py +9 -5
  166. {novelwriter-2.7.4 → novelwriter-2.8b1}/novelwriter/text/patterns.py +20 -15
  167. {novelwriter-2.7.4 → novelwriter-2.8b1}/novelwriter/tools/dictionaries.py +18 -16
  168. {novelwriter-2.7.4 → novelwriter-2.8b1}/novelwriter/tools/lipsum.py +15 -17
  169. {novelwriter-2.7.4 → novelwriter-2.8b1}/novelwriter/tools/manusbuild.py +25 -45
  170. {novelwriter-2.7.4 → novelwriter-2.8b1}/novelwriter/tools/manuscript.py +94 -95
  171. {novelwriter-2.7.4 → novelwriter-2.8b1}/novelwriter/tools/manussettings.py +149 -104
  172. {novelwriter-2.7.4 → novelwriter-2.8b1}/novelwriter/tools/noveldetails.py +10 -24
  173. {novelwriter-2.7.4 → novelwriter-2.8b1}/novelwriter/tools/welcome.py +24 -72
  174. {novelwriter-2.7.4 → novelwriter-2.8b1}/novelwriter/tools/writingstats.py +17 -26
  175. {novelwriter-2.7.4 → novelwriter-2.8b1}/novelwriter/types.py +25 -13
  176. {novelwriter-2.7.4 → novelwriter-2.8b1}/pkgutils.py +30 -53
  177. {novelwriter-2.7.4 → novelwriter-2.8b1}/pyproject.toml +74 -39
  178. novelwriter-2.8b1/setup/debian/control +31 -0
  179. {novelwriter-2.7.4 → novelwriter-2.8b1}/setup/description_pypi.md +3 -3
  180. {novelwriter-2.7.4 → novelwriter-2.8b1}/setup/iss_license.txt +1 -1
  181. {novelwriter-2.7.4 → novelwriter-2.8b1}/setup/macos/build.sh +2 -2
  182. {novelwriter-2.7.4 → novelwriter-2.8b1}/setup/make_pip.sh +3 -23
  183. {novelwriter-2.7.4 → novelwriter-2.8b1}/setup/make_release.sh +4 -12
  184. novelwriter-2.7.4/CREDITS.md +0 -81
  185. novelwriter-2.7.4/novelWriter.egg-info/requires.txt +0 -2
  186. novelwriter-2.7.4/novelwriter/assets/images/welcome-dark.jpg +0 -0
  187. novelwriter-2.7.4/novelwriter/assets/images/welcome-light.jpg +0 -0
  188. novelwriter-2.7.4/novelwriter/assets/sample.zip +0 -0
  189. novelwriter-2.7.4/novelwriter/assets/syntax/cyberpunk_night.conf +0 -28
  190. novelwriter-2.7.4/novelwriter/assets/syntax/default_dark.conf +0 -42
  191. novelwriter-2.7.4/novelwriter/assets/syntax/default_light.conf +0 -42
  192. novelwriter-2.7.4/novelwriter/assets/syntax/dracula.conf +0 -44
  193. novelwriter-2.7.4/novelwriter/assets/syntax/grey_dark.conf +0 -29
  194. novelwriter-2.7.4/novelwriter/assets/syntax/grey_light.conf +0 -29
  195. novelwriter-2.7.4/novelwriter/assets/syntax/light_owl.conf +0 -49
  196. novelwriter-2.7.4/novelwriter/assets/syntax/night_owl.conf +0 -49
  197. novelwriter-2.7.4/novelwriter/assets/syntax/snazzy.conf +0 -42
  198. novelwriter-2.7.4/novelwriter/assets/syntax/solarized_dark.conf +0 -29
  199. novelwriter-2.7.4/novelwriter/assets/syntax/solarized_light.conf +0 -29
  200. novelwriter-2.7.4/novelwriter/assets/syntax/tango.conf +0 -39
  201. novelwriter-2.7.4/novelwriter/assets/syntax/tomorrow.conf +0 -49
  202. novelwriter-2.7.4/novelwriter/assets/syntax/tomorrow_night.conf +0 -49
  203. novelwriter-2.7.4/novelwriter/assets/syntax/tomorrow_night_blue.conf +0 -49
  204. novelwriter-2.7.4/novelwriter/assets/syntax/tomorrow_night_bright.conf +0 -49
  205. novelwriter-2.7.4/novelwriter/assets/syntax/tomorrow_night_eighties.conf +0 -49
  206. novelwriter-2.7.4/novelwriter/assets/text/credits_en.htm +0 -100
  207. novelwriter-2.7.4/novelwriter/assets/themes/cyberpunk_night.conf +0 -48
  208. novelwriter-2.7.4/novelwriter/assets/themes/default.conf +0 -3
  209. novelwriter-2.7.4/novelwriter/assets/themes/default_dark.conf +0 -49
  210. novelwriter-2.7.4/novelwriter/assets/themes/default_light.conf +0 -49
  211. novelwriter-2.7.4/novelwriter/assets/themes/dracula.conf +0 -64
  212. novelwriter-2.7.4/novelwriter/assets/themes/snazzy.conf +0 -48
  213. novelwriter-2.7.4/novelwriter/assets/themes/solarized_dark.conf +0 -48
  214. novelwriter-2.7.4/novelwriter/assets/themes/solarized_light.conf +0 -48
  215. novelwriter-2.7.4/novelwriter/gui/theme.py +0 -921
  216. novelwriter-2.7.4/setup/debian/control +0 -13
  217. {novelwriter-2.7.4 → novelwriter-2.8b1}/LICENSE.md +0 -0
  218. {novelwriter-2.7.4 → novelwriter-2.8b1}/MANIFEST.in +0 -0
  219. {novelwriter-2.7.4 → novelwriter-2.8b1}/novelWriter.egg-info/dependency_links.txt +0 -0
  220. {novelwriter-2.7.4 → novelwriter-2.8b1}/novelWriter.egg-info/entry_points.txt +0 -0
  221. {novelwriter-2.7.4 → novelwriter-2.8b1}/novelWriter.egg-info/top_level.txt +0 -0
  222. {novelwriter-2.7.4 → novelwriter-2.8b1}/novelwriter/assets/i18n/nw_cs_CZ.qm +0 -0
  223. {novelwriter-2.7.4 → novelwriter-2.8b1}/novelwriter/assets/i18n/nw_de_DE.qm +0 -0
  224. {novelwriter-2.7.4 → novelwriter-2.8b1}/novelwriter/assets/i18n/nw_en_US.qm +0 -0
  225. {novelwriter-2.7.4 → novelwriter-2.8b1}/novelwriter/assets/i18n/nw_es_419.qm +0 -0
  226. {novelwriter-2.7.4 → novelwriter-2.8b1}/novelwriter/assets/i18n/nw_fr_FR.qm +0 -0
  227. {novelwriter-2.7.4 → novelwriter-2.8b1}/novelwriter/assets/i18n/nw_it_IT.qm +0 -0
  228. {novelwriter-2.7.4 → novelwriter-2.8b1}/novelwriter/assets/i18n/nw_ja_JP.qm +0 -0
  229. {novelwriter-2.7.4 → novelwriter-2.8b1}/novelwriter/assets/i18n/nw_nb_NO.qm +0 -0
  230. {novelwriter-2.7.4 → novelwriter-2.8b1}/novelwriter/assets/i18n/nw_nl_NL.qm +0 -0
  231. {novelwriter-2.7.4 → novelwriter-2.8b1}/novelwriter/assets/i18n/nw_pl_PL.qm +0 -0
  232. {novelwriter-2.7.4 → novelwriter-2.8b1}/novelwriter/assets/i18n/nw_pt_BR.qm +0 -0
  233. {novelwriter-2.7.4 → novelwriter-2.8b1}/novelwriter/assets/i18n/nw_ru_RU.qm +0 -0
  234. {novelwriter-2.7.4 → novelwriter-2.8b1}/novelwriter/assets/i18n/nw_zh_CN.qm +0 -0
  235. {novelwriter-2.7.4 → novelwriter-2.8b1}/novelwriter/assets/i18n/project_cs_CZ.json +0 -0
  236. {novelwriter-2.7.4 → novelwriter-2.8b1}/novelwriter/assets/i18n/project_de_DE.json +0 -0
  237. {novelwriter-2.7.4 → novelwriter-2.8b1}/novelwriter/assets/i18n/project_en_GB.json +0 -0
  238. {novelwriter-2.7.4 → novelwriter-2.8b1}/novelwriter/assets/i18n/project_en_US.json +0 -0
  239. {novelwriter-2.7.4 → novelwriter-2.8b1}/novelwriter/assets/i18n/project_es_419.json +0 -0
  240. {novelwriter-2.7.4 → novelwriter-2.8b1}/novelwriter/assets/i18n/project_fr_FR.json +0 -0
  241. {novelwriter-2.7.4 → novelwriter-2.8b1}/novelwriter/assets/i18n/project_it_IT.json +0 -0
  242. {novelwriter-2.7.4 → novelwriter-2.8b1}/novelwriter/assets/i18n/project_ja_JP.json +0 -0
  243. {novelwriter-2.7.4 → novelwriter-2.8b1}/novelwriter/assets/i18n/project_nb_NO.json +0 -0
  244. {novelwriter-2.7.4 → novelwriter-2.8b1}/novelwriter/assets/i18n/project_nl_NL.json +0 -0
  245. {novelwriter-2.7.4 → novelwriter-2.8b1}/novelwriter/assets/i18n/project_nn_NO.json +0 -0
  246. {novelwriter-2.7.4 → novelwriter-2.8b1}/novelwriter/assets/i18n/project_pl_PL.json +0 -0
  247. {novelwriter-2.7.4 → novelwriter-2.8b1}/novelwriter/assets/i18n/project_pt_BR.json +0 -0
  248. {novelwriter-2.7.4 → novelwriter-2.8b1}/novelwriter/assets/i18n/project_ru_RU.json +0 -0
  249. {novelwriter-2.7.4 → novelwriter-2.8b1}/novelwriter/assets/i18n/project_zh_CN.json +0 -0
  250. {novelwriter-2.7.4 → novelwriter-2.8b1}/novelwriter/assets/icons/none.svg +0 -0
  251. {novelwriter-2.7.4 → novelwriter-2.8b1}/novelwriter/assets/icons/novelwriter.ico +0 -0
  252. {novelwriter-2.7.4 → novelwriter-2.8b1}/novelwriter/assets/icons/novelwriter.svg +0 -0
  253. {novelwriter-2.7.4 → novelwriter-2.8b1}/novelwriter/assets/icons/x-novelwriter-project.ico +0 -0
  254. {novelwriter-2.7.4 → novelwriter-2.8b1}/novelwriter/assets/icons/x-novelwriter-project.svg +0 -0
  255. {novelwriter-2.7.4 → novelwriter-2.8b1}/novelwriter/assets/images/novelwriter-text-dark.svg +0 -0
  256. {novelwriter-2.7.4 → novelwriter-2.8b1}/novelwriter/assets/images/novelwriter-text-light.svg +0 -0
  257. {novelwriter-2.7.4 → novelwriter-2.8b1}/novelwriter/assets/images/splash.png +0 -0
  258. {novelwriter-2.7.4 → novelwriter-2.8b1}/novelwriter/assets/text/lipsum.txt +0 -0
  259. {novelwriter-2.7.4 → novelwriter-2.8b1}/setup/LICENSE-Apache-2.0.txt +0 -0
  260. {novelwriter-2.7.4 → novelwriter-2.8b1}/setup/appimage_launcher.sh +0 -0
  261. {novelwriter-2.7.4 → novelwriter-2.8b1}/setup/data/hicolor/128x128/apps/novelwriter.png +0 -0
  262. {novelwriter-2.7.4 → novelwriter-2.8b1}/setup/data/hicolor/128x128/mimetypes/application-x-novelwriter-project.png +0 -0
  263. {novelwriter-2.7.4 → novelwriter-2.8b1}/setup/data/hicolor/16x16/apps/novelwriter.png +0 -0
  264. {novelwriter-2.7.4 → novelwriter-2.8b1}/setup/data/hicolor/16x16/mimetypes/application-x-novelwriter-project.png +0 -0
  265. {novelwriter-2.7.4 → novelwriter-2.8b1}/setup/data/hicolor/24x24/apps/novelwriter.png +0 -0
  266. {novelwriter-2.7.4 → novelwriter-2.8b1}/setup/data/hicolor/24x24/mimetypes/application-x-novelwriter-project.png +0 -0
  267. {novelwriter-2.7.4 → novelwriter-2.8b1}/setup/data/hicolor/256x256/apps/novelwriter.png +0 -0
  268. {novelwriter-2.7.4 → novelwriter-2.8b1}/setup/data/hicolor/256x256/mimetypes/application-x-novelwriter-project.png +0 -0
  269. {novelwriter-2.7.4 → novelwriter-2.8b1}/setup/data/hicolor/32x32/apps/novelwriter.png +0 -0
  270. {novelwriter-2.7.4 → novelwriter-2.8b1}/setup/data/hicolor/32x32/mimetypes/application-x-novelwriter-project.png +0 -0
  271. {novelwriter-2.7.4 → novelwriter-2.8b1}/setup/data/hicolor/48x48/apps/novelwriter.png +0 -0
  272. {novelwriter-2.7.4 → novelwriter-2.8b1}/setup/data/hicolor/48x48/mimetypes/application-x-novelwriter-project.png +0 -0
  273. {novelwriter-2.7.4 → novelwriter-2.8b1}/setup/data/hicolor/512x512/apps/novelwriter.png +0 -0
  274. {novelwriter-2.7.4 → novelwriter-2.8b1}/setup/data/hicolor/512x512/mimetypes/application-x-novelwriter-project.png +0 -0
  275. {novelwriter-2.7.4 → novelwriter-2.8b1}/setup/data/hicolor/64x64/apps/novelwriter.png +0 -0
  276. {novelwriter-2.7.4 → novelwriter-2.8b1}/setup/data/hicolor/64x64/mimetypes/application-x-novelwriter-project.png +0 -0
  277. {novelwriter-2.7.4 → novelwriter-2.8b1}/setup/data/hicolor/scalable/apps/novelwriter.svg +0 -0
  278. {novelwriter-2.7.4 → novelwriter-2.8b1}/setup/data/hicolor/scalable/mimetypes/application-x-novelwriter-project.svg +0 -0
  279. {novelwriter-2.7.4 → novelwriter-2.8b1}/setup/data/novelwriter.desktop +0 -0
  280. {novelwriter-2.7.4 → novelwriter-2.8b1}/setup/data/novelwriter.png +0 -0
  281. {novelwriter-2.7.4 → novelwriter-2.8b1}/setup/data/x-novelwriter-project.xml +0 -0
  282. {novelwriter-2.7.4 → novelwriter-2.8b1}/setup/debian/compat +0 -0
  283. {novelwriter-2.7.4 → novelwriter-2.8b1}/setup/debian/copyright +0 -0
  284. {novelwriter-2.7.4 → novelwriter-2.8b1}/setup/debian/install +0 -0
  285. {novelwriter-2.7.4 → novelwriter-2.8b1}/setup/debian/py3dist-overrides +0 -0
  286. {novelwriter-2.7.4 → novelwriter-2.8b1}/setup/debian/rules +0 -0
  287. {novelwriter-2.7.4 → novelwriter-2.8b1}/setup/debian/source/format +0 -0
  288. {novelwriter-2.7.4 → novelwriter-2.8b1}/setup/description_short.txt +0 -0
  289. {novelwriter-2.7.4 → novelwriter-2.8b1}/setup/icons/novelwriter.ico +0 -0
  290. {novelwriter-2.7.4 → novelwriter-2.8b1}/setup/icons/novelwriter.png +0 -0
  291. {novelwriter-2.7.4 → novelwriter-2.8b1}/setup/icons/novelwriter.svg +0 -0
  292. {novelwriter-2.7.4 → novelwriter-2.8b1}/setup/icons/x-novelwriter-project.ico +0 -0
  293. {novelwriter-2.7.4 → novelwriter-2.8b1}/setup/icons/x-novelwriter-project.png +0 -0
  294. {novelwriter-2.7.4 → novelwriter-2.8b1}/setup/icons/x-novelwriter-project.svg +0 -0
  295. {novelwriter-2.7.4 → novelwriter-2.8b1}/setup/macos/App.entitlements +0 -0
  296. {novelwriter-2.7.4 → novelwriter-2.8b1}/setup/macos/Info.plist.template +0 -0
  297. {novelwriter-2.7.4 → novelwriter-2.8b1}/setup/macos/novelwriter.iconset/icon_128x128.png +0 -0
  298. {novelwriter-2.7.4 → novelwriter-2.8b1}/setup/macos/novelwriter.iconset/icon_128x128@2x.png +0 -0
  299. {novelwriter-2.7.4 → novelwriter-2.8b1}/setup/macos/novelwriter.iconset/icon_16x16.png +0 -0
  300. {novelwriter-2.7.4 → novelwriter-2.8b1}/setup/macos/novelwriter.iconset/icon_16x16@2x.png +0 -0
  301. {novelwriter-2.7.4 → novelwriter-2.8b1}/setup/macos/novelwriter.iconset/icon_256x256.png +0 -0
  302. {novelwriter-2.7.4 → novelwriter-2.8b1}/setup/macos/novelwriter.iconset/icon_256x256@2x.png +0 -0
  303. {novelwriter-2.7.4 → novelwriter-2.8b1}/setup/macos/novelwriter.iconset/icon_32x32.png +0 -0
  304. {novelwriter-2.7.4 → novelwriter-2.8b1}/setup/macos/novelwriter.iconset/icon_32x32@2x.png +0 -0
  305. {novelwriter-2.7.4 → novelwriter-2.8b1}/setup/macos/novelwriter.iconset/icon_512x512.png +0 -0
  306. {novelwriter-2.7.4 → novelwriter-2.8b1}/setup/macos/novelwriter.iconset/icon_512x512@2x.png +0 -0
  307. {novelwriter-2.7.4 → novelwriter-2.8b1}/setup/make_clean.sh +0 -0
  308. {novelwriter-2.7.4 → novelwriter-2.8b1}/setup/novelwriter.appdata.xml +0 -0
  309. {novelwriter-2.7.4 → novelwriter-2.8b1}/setup/novelwriter_readme.png +0 -0
  310. {novelwriter-2.7.4 → novelwriter-2.8b1}/setup/novelwriter_text.png +0 -0
  311. {novelwriter-2.7.4 → novelwriter-2.8b1}/setup/screenshot.png +0 -0
  312. {novelwriter-2.7.4 → novelwriter-2.8b1}/setup/signpath_logo.png +0 -0
  313. {novelwriter-2.7.4 → novelwriter-2.8b1}/setup/win_setup_embed.iss +0 -0
  314. {novelwriter-2.7.4 → novelwriter-2.8b1}/setup/windows/CMakeLists.txt +0 -0
  315. {novelwriter-2.7.4 → novelwriter-2.8b1}/setup/windows/launcher.rc +0 -0
  316. {novelwriter-2.7.4 → novelwriter-2.8b1}/setup/windows/main.cpp +0 -0
  317. {novelwriter-2.7.4 → novelwriter-2.8b1}/setup/windows/make.ps1 +0 -0
  318. {novelwriter-2.7.4 → novelwriter-2.8b1}/setup/windows/novelWriter.exe +0 -0
  319. {novelwriter-2.7.4 → novelwriter-2.8b1}/setup/windows/novelWriter.ico +0 -0
  320. {novelwriter-2.7.4 → novelwriter-2.8b1}/setup.cfg +0 -0
@@ -1,5 +1,141 @@
1
1
  # novelWriter Changelog
2
2
 
3
+ ## Version 2.8 Beta 1 [2025-10-29]
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
+ **Bugfixes**
13
+
14
+ * The editor now properly supports 4 byte Unicode characters without breaking the syntax
15
+ highlighting and spell checker. Issue #2449. PR #2451.
16
+ * Fixed a bug in the font matching code where the style name property for the font was set,
17
+ preventing Qt from picking a proper styled font. Issue #2502. PR #2503.
18
+ * Spell check dictionaries in the main menu are now updated when new dictionaries are installed
19
+ using the add dictionaries tool. Contributed by @Reproog. Issue #2558. PR #2562.
20
+ * Fixed an issue where the Novel Tree panel heading would be greyed out if there was only one Novel
21
+ root folder. Issue #2482. PR #2556.
22
+
23
+ **Features**
24
+
25
+ * Current line highlighting has been added and can be enabled in Preferences. Issue #1321.
26
+ PR #2405.
27
+ * The Status and Importance labels can now use theme colours in addition to a user defined custom
28
+ colour. The settings for these labels have also been made clearer. Issues #2357, #2366 and
29
+ #2452. PRs #2400 and #2461.
30
+ * Markdown style highlighting tags are now supported in the editor. Issue #1894. PR #2412.
31
+ * Synopsis/short comments, story comments, and story notes can now be used multiple times under a
32
+ heading. The text is just appended as a new paragraph each time the annotated comment type is
33
+ encountered. Issue #2483. PR #2543.
34
+
35
+ **Improvements**
36
+
37
+ * You can now press `Ctrl+T` and `Ctrl+Shift+T` when in Focus Mode to exit the Focus Mode
38
+ automatically and switch to the Project Tree or Outline View. Issue #1294. PR #2479.
39
+ * When creating a new document from a template, the first title of the template document is
40
+ replaced with the label text set for the new document. Issue #2238. PR #2477.
41
+ * When the app is performing a potentially bulky and time consuming task, a small progress bar will
42
+ appear at the top of the status bar to show the progress of the task. It is currently used when
43
+ the index is rebuilt and when processing multiple documents in the Project Tree. Issue #2243.
44
+ PR #2478.
45
+ * The auto-replace feature in the editor is now better at detecting opening and closing quotes when
46
+ used in relation to markdown style markup. Issue #2488. PR #2489.
47
+ * The application window is now blocked from resizing itself to a size larger than the screen when
48
+ opened on a smaller screen than it was previously opened on. Like for instance when it was
49
+ connected to an external screen from a laptop. Issue #2354. PR #2369.
50
+ * Improved the CSS styling of HTML manuscript documents. Issue #2358. PR #2404.
51
+ * Trailing spaces are no longer highlighted in the editor with an error underline. Multiple spaces
52
+ between words still are. Issue #2501. PR #2505.
53
+ * The rebuild index dialog is no longer showed if the index is rebuilt due to index structure
54
+ changes when a project is opened for the first time in a newer version of novelWriter. This was
55
+ confusing to some users who thought the dialog indicated an error. Issue #2513. PR #2537.
56
+ * A switch on the Manuscript Build Settings dialog now allows for automatic preview of the build
57
+ when Apply or Save is clicked. Issue #2486. PR #2553.
58
+ * Formatting and handling of Story Comments and Story Notes have been improved, and they can be
59
+ filtered separately in the viewer panel. PR #2421.
60
+
61
+ **User Interface**
62
+
63
+ * The GUI and syntax themes have been merged into a single theme, which means there are no longer
64
+ separate settings for the general GUI and the document colour theme. Issue #2335. PR #2373.
65
+ * There are now two GUI theme settings in Preferences, one for light and one for dark mode. A new
66
+ button on the sidebar allows you to switch between them, or it can be set to auto mode that
67
+ follows the operating system's light/dark mode. Issues #1173 and #2487.
68
+ PRs #2373 and #2545.
69
+ * More themeable settings have been added. The document active flag, the theme base colour, and the
70
+ new GUI accent colour (if Qt version is high enough) is now available. Issue #2382. PR #2384.
71
+ * The highlighting colour for special white spaces, like non-breaking spaces, can now be set in the
72
+ theme. Previously it used the emphasis colour. Issue #2547. PR #2548.
73
+ * The Welcome dialog background now follows the theme colours. Issue #2379. PR #2380.
74
+ * The dialog buttons now use icons from the selected theme, not from the host OS. Issues #2498,
75
+ #2551 and #2561. PRs #2544, #2546, #2553, #2557 and #2563.
76
+ * Added semantic categories for icon colours which can be defined in the colour theme. PR #2549.
77
+ * Primer Dark and Primer Light themes added by @HeyMyian. Issue #2376. PRs #2377 and #2419.
78
+ * Horizon, Otium, Paragon, Selenium, Sepia, Sultana, Vivid, Warpgate, and Waterlily themes added by
79
+ @HeyMyian. Issue #2407. PR #2495.
80
+ * Aura, B2T Garden, B2T Suburb, B4T Classic-O, B4T Modern-C, Everforest, New Moon, Full Moon, Nord,
81
+ Nordlicht, Castle, Chernozem, Chalky Soil, Floral, Ruby themes added by @HeyMyian. PR #2450.
82
+ * Blue Streak themes added. PR #2388.
83
+ * LCARS theme added. PR #2399.
84
+ * Espresso and Noctis themes added. PR #2422.
85
+ * Various improvements to existing and new themes by @vkbo. PRs #2396, #2418, #2475 and #2481.
86
+ * Various improvements to existing and new themes by @HeyMyian. PRs #2506 and #2494.
87
+
88
+ **Packaging**
89
+
90
+ * The license info for novelWriter has been updated to include `GPL-3.0-or-later`, `Apache-2.0`,
91
+ and `CC-BY-4.0`. Issue #2444. PR #2446.
92
+ * Updated Debian package build and added Qt6 plugin for WebP images as a dependency. PR #2401.
93
+
94
+ **Documentation**
95
+
96
+ * Added some info on how to get around the line heigh issue in the editor in the Tips & Tricks
97
+ section of the documentation. Issue #2559. PR #2564.
98
+ * Fixed some typos in the documentation. PR #2542.
99
+
100
+ **Code Maintenance**
101
+
102
+ * Improved linting and added more mapped Qt constants. PR #2536.
103
+ * Added test coverage of the theme files to ensure they are up to date. PR #2378.
104
+ * Updated credits and license information of icon themes. PR #2474.
105
+ * Some fields have been dropped from icon and colour themes. PRs #2466 and #2423.
106
+ * Changed a few default settings in config, added automatic rebuild of the index in new projects,
107
+ and fixed tests. PR #2395.
108
+ * Added test coverage and support for Python 3.14. PR #2538.
109
+ * Improved logging formatting by stripping HTML content. PR #2402.
110
+ * Cleaned up and improved pkgutils CLI tool. PR #2541.
111
+ * The project now uses UV as the primary dependency handling tool for development. PR #2540.
112
+ * Fixed the run_tests helper script for HighDPI monitors. PR #2496.
113
+
114
+ ----
115
+
116
+ ## Version 2.7.5 [2025-09-14]
117
+
118
+ ### Release Notes
119
+
120
+ This is a patch release that fixes an issue related to crashes when using the completer menu under
121
+ certain conditions, and improves positioning of the input box for CJK languages.
122
+
123
+ ### Detailed Changelog
124
+
125
+ **Bugfixes**
126
+
127
+ * Fixed an issue where the app would crash of deleting the `@` character with the completer menu
128
+ visible and the text margins of the editor set to "justified". This is likely crashing due to
129
+ some unhandled corner case in the Qt library, but the implementation of the completer menu in
130
+ novelWriter uses a small hack to bypass some intended behaviour of the menu. Extra steps have
131
+ been added to the implementation that seems to avoid the crash. Issue #2510. PR #2511.
132
+ * Fixed an issue where the input box that shows up when typing CJK languages were covering the text
133
+ due to an incorrect offset of the box location. The incorrect offset is caused by the text
134
+ margins not being taken into account. Fix by @Euophrys based on solution by @Jack-name.
135
+ Issues #2267 and #2517. PR #2518.
136
+
137
+ ----
138
+
3
139
  ## Version 2.7.4 [2025-07-15]
4
140
 
5
141
  ### Release Notes
@@ -5770,7 +5906,7 @@ helpful feedback and issue reports for the new features added in this, and previ
5770
5906
  more fault tolerant, and will automatically rebuild a corrupt index loaded from cache. PR #140.
5771
5907
  * The way that dialog options (which options were selected last time a dialog was open) has been
5772
5908
  rewritten. All data is now stored in a single JSON file in the project meta folder. PR #175.
5773
- * Since the config class is instanciated before the GUI, error reporting to the user was tricky. An
5909
+ * Since the config class is instantiated before the GUI, error reporting to the user was tricky. An
5774
5910
  error cache has now been added to allow non-critical errors to be displayed after the GUI is
5775
5911
  built. PR #176.
5776
5912
  * All source files now have the minimal GPLv3 license note at the top. PR #188.
@@ -5834,7 +5970,7 @@ helpful feedback and issue reports for the new features added in this, and previ
5834
5970
  * Added keyboard shortcuts and menu entries for formatting headers, comments, and removing block
5835
5971
  formats. PR #155.
5836
5972
  * Disable re-highlighting of open file when resizing window. This is potentially a slow process if
5837
- the spell checker is on and the file is large. There is no need to do this just for reflowing
5973
+ the spell checker is on and the file is large. There is no need to do this just for re-flowing
5838
5974
  text, so it is now disabled on resize events. Issue #150, PR #153.
5839
5975
  * Improved the speed of the syntax highlighter by about 40% by not using regular expressions for
5840
5976
  highlighting block formats and by skipping empty lines entirely. PR #154.
@@ -6120,7 +6256,7 @@ helpful feedback and issue reports for the new features added in this, and previ
6120
6256
 
6121
6257
  **Code Improvements**
6122
6258
 
6123
- * Spell checking is now handled by a standard class that can be subclassed to support different
6259
+ * Spell checking is now handled by a standard class that can be sub-classed to support different
6124
6260
  spell check tools. This was done because pyenchant is no longer maintained and having a standard
6125
6261
  wrapper makes it easier to support other tools. PR #31.
6126
6262
 
@@ -0,0 +1,125 @@
1
+ # Credits
2
+
3
+ ## Main Developer
4
+
5
+ * Veronica Berglyd Olsen
6
+
7
+ ## Contributors
8
+
9
+ * Early Concept: Marian Lückhof
10
+ * Internationalisation: Bruno Meneguello
11
+ * Setup and Packaging: Rachel Powers
12
+
13
+ For other contributions, see the project's [Contributors](https://github.com/vkbo/novelWriter/graphs/contributors) page.
14
+
15
+ ## Artwork
16
+
17
+ The artwork on the Welcome dialog was created by Louis Durrant.
18
+
19
+ ## Translations
20
+
21
+ The default language is English (UK) with English (US) as an option. These are the original
22
+ translators for the languages currently available:
23
+
24
+ * **Czech:** Tomáš Zmek (perteus)
25
+ * **Dutch:** Martijn van der Kleijn (mvdkleijn)
26
+ * **French:** Jan Lüdke (jyhelle)
27
+ * **German:** Myian (HeyMyian)
28
+ * **Italian:** Riccardo Mangili
29
+ * **Japanese:** hebekeg
30
+ * **Latin American Spanish:** Tommy Marplatt (tmarplatt)
31
+ * **Norwegian:** Veronica Berglyd Olsen (vkbo)
32
+ * **Polish:** Anna Maria Polak (Nauthiz)
33
+ * **Portuguese:** Bruno Meneguello (bkmeneguello)
34
+ * **Russian:** Konstantin Tan (k1kimosha)
35
+ * **Simplified Chinese:** Qianzhi Long (longqzh)
36
+
37
+ Additional larger translation contributions:
38
+
39
+ * **French:** Albert Aribaud (aaribaud)
40
+ * **Portuguese:** Oli Maia (olimaia)
41
+
42
+ Translations of the documentation:
43
+
44
+ * **French:** Jean-Michel Heras (Karduin)
45
+
46
+ Translations are managed on [Crowdin](https://crowdin.com/project/novelwriter), and more
47
+ contributions are listed on the project's Members page.
48
+
49
+ ## Libraries
50
+
51
+ The following libraries are dependencies of novelWriter:
52
+
53
+ * **Qt6** by Qt Company
54
+ * **PyQt6** by Riverbank Computing
55
+ * **Enchant** by Dom Lachowicz
56
+ * **PyEnchant** by Dimitri Merejkowsky
57
+
58
+ ## Icon Themes
59
+
60
+ The default icon theme is a subset of icons from:
61
+
62
+ * **Material Symbols** by Google Inc (Apache 2.0)
63
+
64
+ Additional icon themes may or may not be bundled with novelWriter, depending on license
65
+ constraints. These themes include a subset of icons from:
66
+
67
+ * **Font Awesome** by Fonticons Inc (CC BY 4.0)
68
+ * **Remix** by RemixIcon (Apache 2.0 w/non-free clause)
69
+
70
+ ## Colour Themes
71
+
72
+ Colour themes included with novelWriter were adapted from the following sources:
73
+
74
+ * **Aura** themes by Dalton Menezes
75
+ * **B2T** themes by Bram de Haan
76
+ * **B4T** themes by Bram de Haan
77
+ * **Catppuccin** themes by Catppuccin Org
78
+ * **Dracula** theme by Zeno Rocha
79
+ * **Espresso** theme by Sainnhe Park and Antoine Cotten
80
+ * **Everforest** themes by Sainnhe Park
81
+ * **Horizon** themes by Jonathan Olaleye
82
+ * **New Moon** theme by Tania Rascia
83
+ * **Noctis** themes by Liviu Schera and contributors
84
+ * **Nord** theme by Sven Greb
85
+ * **Owl** themes by Sarah Drasner
86
+ * **Primer** themes by GitHub, Inc. and Myian
87
+ * **Rosé Pine** themes by Rosé Pine
88
+ * **Snazzy Light** theme by Florian Reuschel
89
+ * **Solarized** themes by Ethan Schoonover
90
+ * **Tango** themes by the Tango Desktop Project
91
+ * **Tomorrow** themes by Chris Kempson
92
+
93
+ Other themes were created for novelWriter:
94
+
95
+ * **Aura Bright** theme by Myian
96
+ * **Blue Streak** themes by Veronica Berglyd Olsen
97
+ * **Castle** themes by Myian
98
+ * **Chalky Soil** theme by Myian
99
+ * **Chernozem** theme by Myian
100
+ * **Cyberpunk Night** theme by Anders Lemvigh
101
+ * **Floral** themes by Myian
102
+ * **Full Moon** theme by Myian
103
+ * **Jewel Case** themes by Myian
104
+ * **LCARS** theme by Veronica Berglyd Olsen
105
+ * **Nordlicht** theme by Myian
106
+ * **Otium** themes by Myian
107
+ * **Paragon** theme by Myian
108
+ * **Ruby** themes by Myian
109
+ * **Selenium** themes by Myian
110
+ * **Sepia** themes by Myian
111
+ * **Sultana** themes by Myian
112
+ * **Vivid** themes by Myian
113
+ * **Warpgate** theme by Myian
114
+ * **Waterlily** themes by Myian
115
+
116
+ ## Fonts
117
+
118
+ The font used for the main novelWriter logo, mimetype and text banners is Pridi.
119
+
120
+ * **Pridi** by Cadson Demak (Open Font License, Version 1.1)
121
+
122
+ ## Special Mentions
123
+
124
+ Additional thanks to John Blommers who was an early user and who has provided a lot of very useful
125
+ feedback over the years.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: novelWriter
3
- Version: 2.7.4
3
+ Version: 2.8b1
4
4
  Summary: A plain text editor for planning and writing novels
5
5
  Author-email: Veronica Berglyd Olsen <code@vkbo.net>
6
6
  License-Expression: GPL-3.0-or-later AND Apache-2.0 AND CC-BY-4.0
@@ -9,22 +9,22 @@ Project-URL: Documentation, https://docs.novelwriter.io
9
9
  Project-URL: Repository, https://github.com/vkbo/novelWriter
10
10
  Project-URL: Issues, https://github.com/vkbo/novelWriter/issues
11
11
  Classifier: Programming Language :: Python :: 3 :: Only
12
- Classifier: Programming Language :: Python :: 3.10
13
12
  Classifier: Programming Language :: Python :: 3.11
14
13
  Classifier: Programming Language :: Python :: 3.12
15
14
  Classifier: Programming Language :: Python :: 3.13
15
+ Classifier: Programming Language :: Python :: 3.14
16
16
  Classifier: Programming Language :: Python :: Implementation :: CPython
17
17
  Classifier: Development Status :: 5 - Production/Stable
18
18
  Classifier: Operating System :: OS Independent
19
19
  Classifier: Intended Audience :: End Users/Desktop
20
20
  Classifier: Natural Language :: English
21
21
  Classifier: Topic :: Text Editors
22
- Requires-Python: >=3.10
22
+ Requires-Python: >=3.11
23
23
  Description-Content-Type: text/markdown
24
24
  License-File: LICENSE.md
25
25
  License-File: setup/LICENSE-Apache-2.0.txt
26
26
  Requires-Dist: pyqt6>=6.4
27
- Requires-Dist: pyenchant>=3.0.0
27
+ Requires-Dist: pyenchant>=3.3.0
28
28
  Dynamic: license-file
29
29
 
30
30
  <img src="https://raw.githubusercontent.com/vkbo/novelWriter/main/setup/novelwriter_text.png">
@@ -39,9 +39,9 @@ synchronisation tools. All text is saved as plain text files with a meta data he
39
39
  project structure is stored in a single project XML file, and other meta data is primarily saved as
40
40
  JSON files.
41
41
 
42
- The application is written with Python 3 (3.10+) using Qt6 and PyQt6 (5.10+). It is developed on
43
- Linux, but should in principle work fine on other operating systems as well as long as dependencies
44
- are met. It is regularly tested on Debian and Ubuntu Linux, Windows, and MacOS.
42
+ The application is written with Python 3 using Qt6 and PyQt6. It is developed on Linux, but should
43
+ in principle work fine on other operating systems as well as long as dependencies are met. It is
44
+ regularly tested on Debian and Ubuntu Linux, Windows, and MacOS.
45
45
 
46
46
  novelWriter is developed and maintained by [Veronica Berglyd Olsen](https://github.com/vkbo).
47
47
 
@@ -12,11 +12,7 @@ novelWriter is a plain text editor designed for writing novels assembled from ma
12
12
  documents. It uses a minimal formatting syntax inspired by Markdown, and adds a meta data syntax
13
13
  for comments, synopsis, and cross-referencing. It's designed to be a simple text editor that allows
14
14
  for easy organisation of text and notes, using human readable text files as storage for robustness.
15
-
16
- The project storage is suitable for version control software, and also well suited for file
17
- synchronisation tools. All text is saved as plain text files with a meta data header. The core
18
- project structure is stored in a single project XML file. Other meta data is primarily saved as
19
- JSON files.
15
+ The project format is well suited both for version control software and file synchronisation tools.
20
16
 
21
17
  For more details, and how to install and use novelWriter, please see the main website and
22
18
  documentation.
@@ -29,6 +25,7 @@ documentation.
29
25
  * PyPi Project: [pypi.org/project/novelWriter](https://pypi.org/project/novelWriter)
30
26
  * Social Media: [fosstodon.org/@novelwriter](https://fosstodon.org/@novelwriter)
31
27
 
28
+
32
29
  ## Sponsors
33
30
 
34
31
  <table style="border: none;">
@@ -38,22 +35,25 @@ documentation.
38
35
  </tr>
39
36
  </table>
40
37
 
38
+
41
39
  ## Implementation
42
40
 
43
- novelWriter is written with Python and Qt6 with PyQt6 Python binding. It is released on Linux,
44
- Windows and MacOS. It can in principle run on any Operating System that also supports Qt, PyQt and
45
- Python.
41
+ novelWriter is written in Python and uses Qt6 with PyQt6 Python binding as the UI framework. It is
42
+ released on Linux, Windows and MacOS. It can in principle run on any Operating System that also
43
+ supports Qt, PyQt and Python.
46
44
 
47
45
  <p align="center">
48
46
  <img width="80%" src="https://raw.githubusercontent.com/vkbo/novelWriter/main/setup/screenshot.png">
49
47
  </p>
50
48
 
49
+
51
50
  ## Project Contributions
52
51
 
53
52
  Please don't make feature pull requests without first having discussed them with the maintainer.
54
53
  You can make a feature request in the [issues tracker](https://github.com/vkbo/novelWriter/issues),
55
54
  or if the idea isn't fully formed, start a [discussion](https://github.com/vkbo/novelWriter/discussions).
56
- Please also don't make pull requests to reformat or rewrite existing code unless there is a very good reason for doing so.
55
+ Please also don't make pull requests to reformat or rewrite existing code unless there is a very
56
+ good reason for doing so. Please do not submit AI generated content.
57
57
 
58
58
  Fixes and patches are welcome. Contributions related to packaging and installing novelWriter will
59
59
  also be appreciated, but please make an issue or a discussion topic first. Before contributing any
@@ -66,6 +66,7 @@ Project credits are available in [CREDITS.md](https://github.com/vkbo/novelWrite
66
66
  the `release` branch. So if you're submitting a fix to a current release, **including changes to
67
67
  documentation**, they must be made to the `release` branch.
68
68
 
69
+
69
70
  ### Translations
70
71
 
71
72
  New translations are always welcome. This project uses Crowdin to maintain translations, and you
@@ -73,6 +74,7 @@ can contribute translations at the [Crowdin project page](https://crowdin.com/pr
73
74
  If you have any questions, feel free to post them to the
74
75
  [Translations of novelWriter](https://github.com/vkbo/novelWriter/issues/93) issue thread.
75
76
 
77
+
76
78
  ## Licence
77
79
 
78
80
  This is Open Source software, and novelWriter is licenced under GPLv3. See the
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: novelWriter
3
- Version: 2.7.4
3
+ Version: 2.8b1
4
4
  Summary: A plain text editor for planning and writing novels
5
5
  Author-email: Veronica Berglyd Olsen <code@vkbo.net>
6
6
  License-Expression: GPL-3.0-or-later AND Apache-2.0 AND CC-BY-4.0
@@ -9,22 +9,22 @@ Project-URL: Documentation, https://docs.novelwriter.io
9
9
  Project-URL: Repository, https://github.com/vkbo/novelWriter
10
10
  Project-URL: Issues, https://github.com/vkbo/novelWriter/issues
11
11
  Classifier: Programming Language :: Python :: 3 :: Only
12
- Classifier: Programming Language :: Python :: 3.10
13
12
  Classifier: Programming Language :: Python :: 3.11
14
13
  Classifier: Programming Language :: Python :: 3.12
15
14
  Classifier: Programming Language :: Python :: 3.13
15
+ Classifier: Programming Language :: Python :: 3.14
16
16
  Classifier: Programming Language :: Python :: Implementation :: CPython
17
17
  Classifier: Development Status :: 5 - Production/Stable
18
18
  Classifier: Operating System :: OS Independent
19
19
  Classifier: Intended Audience :: End Users/Desktop
20
20
  Classifier: Natural Language :: English
21
21
  Classifier: Topic :: Text Editors
22
- Requires-Python: >=3.10
22
+ Requires-Python: >=3.11
23
23
  Description-Content-Type: text/markdown
24
24
  License-File: LICENSE.md
25
25
  License-File: setup/LICENSE-Apache-2.0.txt
26
26
  Requires-Dist: pyqt6>=6.4
27
- Requires-Dist: pyenchant>=3.0.0
27
+ Requires-Dist: pyenchant>=3.3.0
28
28
  Dynamic: license-file
29
29
 
30
30
  <img src="https://raw.githubusercontent.com/vkbo/novelWriter/main/setup/novelwriter_text.png">
@@ -39,9 +39,9 @@ synchronisation tools. All text is saved as plain text files with a meta data he
39
39
  project structure is stored in a single project XML file, and other meta data is primarily saved as
40
40
  JSON files.
41
41
 
42
- The application is written with Python 3 (3.10+) using Qt6 and PyQt6 (5.10+). It is developed on
43
- Linux, but should in principle work fine on other operating systems as well as long as dependencies
44
- are met. It is regularly tested on Debian and Ubuntu Linux, Windows, and MacOS.
42
+ The application is written with Python 3 using Qt6 and PyQt6. It is developed on Linux, but should
43
+ in principle work fine on other operating systems as well as long as dependencies are met. It is
44
+ regularly tested on Debian and Ubuntu Linux, Windows, and MacOS.
45
45
 
46
46
  novelWriter is developed and maintained by [Veronica Berglyd Olsen](https://github.com/vkbo).
47
47
 
@@ -69,35 +69,84 @@ novelwriter/assets/icons/x-novelwriter-project.svg
69
69
  novelwriter/assets/images/novelwriter-text-dark.svg
70
70
  novelwriter/assets/images/novelwriter-text-light.svg
71
71
  novelwriter/assets/images/splash.png
72
- novelwriter/assets/images/welcome-dark.jpg
73
- novelwriter/assets/images/welcome-light.jpg
74
- novelwriter/assets/syntax/cyberpunk_night.conf
75
- novelwriter/assets/syntax/default_dark.conf
76
- novelwriter/assets/syntax/default_light.conf
77
- novelwriter/assets/syntax/dracula.conf
78
- novelwriter/assets/syntax/grey_dark.conf
79
- novelwriter/assets/syntax/grey_light.conf
80
- novelwriter/assets/syntax/light_owl.conf
81
- novelwriter/assets/syntax/night_owl.conf
82
- novelwriter/assets/syntax/snazzy.conf
83
- novelwriter/assets/syntax/solarized_dark.conf
84
- novelwriter/assets/syntax/solarized_light.conf
85
- novelwriter/assets/syntax/tango.conf
86
- novelwriter/assets/syntax/tomorrow.conf
87
- novelwriter/assets/syntax/tomorrow_night.conf
88
- novelwriter/assets/syntax/tomorrow_night_blue.conf
89
- novelwriter/assets/syntax/tomorrow_night_bright.conf
90
- novelwriter/assets/syntax/tomorrow_night_eighties.conf
72
+ novelwriter/assets/images/welcome.webp
91
73
  novelwriter/assets/text/credits_en.htm
92
74
  novelwriter/assets/text/lipsum.txt
75
+ novelwriter/assets/themes/aura.conf
76
+ novelwriter/assets/themes/aura_bright.conf
77
+ novelwriter/assets/themes/aura_soft.conf
78
+ novelwriter/assets/themes/b2t_garden_dark.conf
79
+ novelwriter/assets/themes/b2t_garden_light.conf
80
+ novelwriter/assets/themes/b2t_suburb_dark.conf
81
+ novelwriter/assets/themes/b2t_suburb_light.conf
82
+ novelwriter/assets/themes/b4t_classic_o_dark.conf
83
+ novelwriter/assets/themes/b4t_classic_o_light.conf
84
+ novelwriter/assets/themes/b4t_modern_c_dark.conf
85
+ novelwriter/assets/themes/b4t_modern_c_light.conf
86
+ novelwriter/assets/themes/blue_streak_dark.conf
87
+ novelwriter/assets/themes/blue_streak_light.conf
88
+ novelwriter/assets/themes/castle_day.conf
89
+ novelwriter/assets/themes/castle_night.conf
90
+ novelwriter/assets/themes/catppuccin_latte.conf
91
+ novelwriter/assets/themes/catppuccin_mocha.conf
92
+ novelwriter/assets/themes/chalky_soil.conf
93
+ novelwriter/assets/themes/chernozem.conf
93
94
  novelwriter/assets/themes/cyberpunk_night.conf
94
- novelwriter/assets/themes/default.conf
95
95
  novelwriter/assets/themes/default_dark.conf
96
96
  novelwriter/assets/themes/default_light.conf
97
97
  novelwriter/assets/themes/dracula.conf
98
+ novelwriter/assets/themes/espresso.conf
99
+ novelwriter/assets/themes/everforest_dark.conf
100
+ novelwriter/assets/themes/everforest_light.conf
101
+ novelwriter/assets/themes/floral_daydream.conf
102
+ novelwriter/assets/themes/floral_midnight.conf
103
+ novelwriter/assets/themes/full_moon.conf
104
+ novelwriter/assets/themes/grey_dark.conf
105
+ novelwriter/assets/themes/grey_light.conf
106
+ novelwriter/assets/themes/horizon_dark.conf
107
+ novelwriter/assets/themes/horizon_light.conf
108
+ novelwriter/assets/themes/jewel_case_dark.conf
109
+ novelwriter/assets/themes/jewel_case_light.conf
110
+ novelwriter/assets/themes/lcars.conf
111
+ novelwriter/assets/themes/light_owl.conf
112
+ novelwriter/assets/themes/new_moon.conf
113
+ novelwriter/assets/themes/night_owl.conf
114
+ novelwriter/assets/themes/noctis.conf
115
+ novelwriter/assets/themes/noctis_lux.conf
116
+ novelwriter/assets/themes/nord.conf
117
+ novelwriter/assets/themes/nordlicht.conf
118
+ novelwriter/assets/themes/otium_dark.conf
119
+ novelwriter/assets/themes/otium_light.conf
120
+ novelwriter/assets/themes/paragon.conf
121
+ novelwriter/assets/themes/primer_light.conf
122
+ novelwriter/assets/themes/primer_night.conf
123
+ novelwriter/assets/themes/rose_pine.conf
124
+ novelwriter/assets/themes/rose_pine_dawn.conf
125
+ novelwriter/assets/themes/ruby_day.conf
126
+ novelwriter/assets/themes/ruby_night.conf
127
+ novelwriter/assets/themes/selenium_dark.conf
128
+ novelwriter/assets/themes/selenium_light.conf
129
+ novelwriter/assets/themes/sepia_dark.conf
130
+ novelwriter/assets/themes/sepia_light.conf
98
131
  novelwriter/assets/themes/snazzy.conf
99
132
  novelwriter/assets/themes/solarized_dark.conf
100
133
  novelwriter/assets/themes/solarized_light.conf
134
+ novelwriter/assets/themes/sultana_light.conf
135
+ novelwriter/assets/themes/sultana_night.conf
136
+ novelwriter/assets/themes/tango_dark.conf
137
+ novelwriter/assets/themes/tango_light.conf
138
+ novelwriter/assets/themes/tomorrow.conf
139
+ novelwriter/assets/themes/tomorrow_night.conf
140
+ novelwriter/assets/themes/tomorrow_night_blue.conf
141
+ novelwriter/assets/themes/tomorrow_night_bright.conf
142
+ novelwriter/assets/themes/tomorrow_night_eighties.conf
143
+ novelwriter/assets/themes/vivid_black_green.conf
144
+ novelwriter/assets/themes/vivid_black_red.conf
145
+ novelwriter/assets/themes/vivid_white_green.conf
146
+ novelwriter/assets/themes/vivid_white_red.conf
147
+ novelwriter/assets/themes/warpgate.conf
148
+ novelwriter/assets/themes/waterlily_dark.conf
149
+ novelwriter/assets/themes/waterlily_light.conf
101
150
  novelwriter/core/buildsettings.py
102
151
  novelwriter/core/coretools.py
103
152
  novelwriter/core/docbuild.py
@@ -0,0 +1,2 @@
1
+ pyqt6>=6.4
2
+ pyenchant>=3.3.0
@@ -20,7 +20,7 @@ General Public License for more details.
20
20
 
21
21
  You should have received a copy of the GNU General Public License
22
22
  along with this program. If not, see <https://www.gnu.org/licenses/>.
23
- """
23
+ """ # noqa
24
24
  from __future__ import annotations
25
25
 
26
26
  import getopt
@@ -49,9 +49,9 @@ __license__ = "GPLv3"
49
49
  __author__ = "Veronica Berglyd Olsen"
50
50
  __maintainer__ = "Veronica Berglyd Olsen"
51
51
  __email__ = "code@vkbo.net"
52
- __version__ = "2.7.4"
53
- __hexversion__ = "0x020704f0"
54
- __date__ = "2025-07-15"
52
+ __version__ = "2.8b1"
53
+ __hexversion__ = "0x020800b1"
54
+ __date__ = "2025-10-29"
55
55
  __status__ = "Stable"
56
56
  __domain__ = "novelwriter.io"
57
57
 
@@ -206,9 +206,9 @@ def main(sysArgs: list | None = None) -> GuiMain | None:
206
206
  # Check Packages and Versions
207
207
  errorData = []
208
208
  errorCode = 0
209
- if sys.hexversion < 0x030a00f0:
209
+ if sys.hexversion < 0x030b00f0:
210
210
  errorData.append(
211
- f"At least Python 3.10 is required, found {CONFIG.verPyString}"
211
+ f"At least Python 3.11 is required, found {CONFIG.verPyString}"
212
212
  )
213
213
  errorCode |= 0x04
214
214
  if CONFIG.verQtValue < 0x060400:
@@ -296,7 +296,8 @@ def _createApp(style: str) -> QApplication:
296
296
  """Create the app. This is done in a function to make it easier to
297
297
  block app creation during testing.
298
298
  """
299
- app = QApplication([CONFIG.appName, f"-style={style}"])
299
+ app = QApplication([CONFIG.appName])
300
+ app.setStyle(style)
300
301
  app.setApplicationName(CONFIG.appName)
301
302
  app.setApplicationVersion(__version__)
302
303
  app.setOrganizationDomain(__domain__)