novelWriter 2.4b1__tar.gz → 2.4rc1__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 (409) hide show
  1. {novelWriter-2.4b1 → novelWriter-2.4rc1}/CHANGELOG.md +40 -3
  2. {novelWriter-2.4b1 → novelWriter-2.4rc1}/PKG-INFO +5 -6
  3. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelWriter.egg-info/PKG-INFO +5 -6
  4. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelWriter.egg-info/SOURCES.txt +6 -12
  5. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/__init__.py +5 -5
  6. novelWriter-2.4rc1/novelwriter/assets/icons/none.svg +4 -0
  7. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_dark/icons.conf +2 -2
  8. novelWriter-2.4rc1/novelwriter/assets/icons/typicons_dark/typ_unfold-hidden.svg +4 -0
  9. novelWriter-2.4rc1/novelwriter/assets/icons/typicons_dark/typ_unfold-visible.svg +4 -0
  10. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_light/icons.conf +2 -2
  11. novelWriter-2.4rc1/novelwriter/assets/icons/typicons_light/typ_unfold-hidden.svg +4 -0
  12. novelWriter-2.4rc1/novelwriter/assets/icons/typicons_light/typ_unfold-visible.svg +4 -0
  13. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/manual.pdf +0 -0
  14. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/sample.zip +0 -0
  15. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/common.py +6 -1
  16. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/config.py +8 -4
  17. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/core/coretools.py +21 -22
  18. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/core/status.py +3 -2
  19. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/core/toodt.py +332 -355
  20. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/dialogs/about.py +9 -11
  21. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/dialogs/docmerge.py +17 -14
  22. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/dialogs/docsplit.py +14 -12
  23. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/dialogs/editlabel.py +5 -4
  24. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/dialogs/preferences.py +28 -33
  25. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/dialogs/projectsettings.py +29 -26
  26. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/dialogs/quotes.py +10 -9
  27. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/dialogs/wordlist.py +15 -12
  28. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/error.py +13 -11
  29. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/extensions/circularprogress.py +12 -8
  30. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/extensions/configlayout.py +1 -3
  31. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/extensions/modified.py +33 -2
  32. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/extensions/pagedsidebar.py +16 -14
  33. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/extensions/simpleprogress.py +3 -1
  34. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/extensions/statusled.py +3 -1
  35. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/extensions/switch.py +10 -9
  36. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/extensions/switchbox.py +14 -13
  37. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/gui/doceditor.py +182 -225
  38. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/gui/dochighlight.py +4 -4
  39. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/gui/docviewer.py +53 -57
  40. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/gui/docviewerpanel.py +16 -13
  41. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/gui/editordocument.py +4 -4
  42. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/gui/itemdetails.py +45 -48
  43. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/gui/noveltree.py +22 -20
  44. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/gui/outline.py +87 -88
  45. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/gui/projtree.py +31 -29
  46. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/gui/search.py +75 -29
  47. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/gui/sidebar.py +24 -28
  48. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/gui/statusbar.py +14 -14
  49. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/gui/theme.py +47 -35
  50. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/guimain.py +35 -31
  51. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/shared.py +5 -5
  52. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/tools/dictionaries.py +13 -12
  53. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/tools/lipsum.py +20 -17
  54. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/tools/manusbuild.py +35 -27
  55. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/tools/manuscript.py +68 -73
  56. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/tools/manussettings.py +68 -73
  57. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/tools/noveldetails.py +20 -18
  58. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/tools/welcome.py +47 -43
  59. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/tools/writingstats.py +61 -55
  60. novelWriter-2.4rc1/novelwriter/types.py +90 -0
  61. {novelWriter-2.4b1 → novelWriter-2.4rc1}/pkgutils.py +8 -9
  62. novelWriter-2.4rc1/pyproject.toml +48 -0
  63. novelWriter-2.4rc1/setup.cfg +4 -0
  64. novelWriter-2.4b1/novelWriter.egg-info/not-zip-safe +0 -1
  65. novelWriter-2.4b1/novelwriter/assets/icons/typicons_dark/typ_arrow-down.svg +0 -4
  66. novelWriter-2.4b1/novelwriter/assets/icons/typicons_dark/typ_arrow-right.svg +0 -4
  67. novelWriter-2.4b1/novelwriter/assets/icons/typicons_light/typ_arrow-down.svg +0 -4
  68. novelWriter-2.4b1/novelwriter/assets/icons/typicons_light/typ_arrow-right.svg +0 -4
  69. novelWriter-2.4b1/novelwriter/core/__init__.py +0 -3
  70. novelWriter-2.4b1/novelwriter/dialogs/__init__.py +0 -3
  71. novelWriter-2.4b1/novelwriter/extensions/__init__.py +0 -3
  72. novelWriter-2.4b1/novelwriter/gui/__init__.py +0 -3
  73. novelWriter-2.4b1/novelwriter/text/__init__.py +0 -3
  74. novelWriter-2.4b1/novelwriter/tools/__init__.py +0 -3
  75. novelWriter-2.4b1/pyproject.toml +0 -3
  76. novelWriter-2.4b1/setup.cfg +0 -58
  77. {novelWriter-2.4b1 → novelWriter-2.4rc1}/CREDITS.md +0 -0
  78. {novelWriter-2.4b1 → novelWriter-2.4rc1}/LICENSE.md +0 -0
  79. {novelWriter-2.4b1 → novelWriter-2.4rc1}/MANIFEST.in +0 -0
  80. {novelWriter-2.4b1 → novelWriter-2.4rc1}/README.md +0 -0
  81. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelWriter.egg-info/dependency_links.txt +0 -0
  82. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelWriter.egg-info/entry_points.txt +0 -0
  83. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelWriter.egg-info/requires.txt +0 -0
  84. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelWriter.egg-info/top_level.txt +0 -0
  85. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/i18n/nw_de_DE.qm +0 -0
  86. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/i18n/nw_en_US.qm +0 -0
  87. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/i18n/nw_es_419.qm +0 -0
  88. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/i18n/nw_fr_FR.qm +0 -0
  89. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/i18n/nw_it_IT.qm +0 -0
  90. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/i18n/nw_ja_JP.qm +0 -0
  91. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/i18n/nw_nb_NO.qm +0 -0
  92. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/i18n/nw_nl_NL.qm +0 -0
  93. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/i18n/nw_pt_BR.qm +0 -0
  94. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/i18n/nw_zh_CN.qm +0 -0
  95. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/i18n/project_de_DE.json +0 -0
  96. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/i18n/project_en_GB.json +0 -0
  97. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/i18n/project_en_US.json +0 -0
  98. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/i18n/project_es_419.json +0 -0
  99. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/i18n/project_fr_FR.json +0 -0
  100. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/i18n/project_it_IT.json +0 -0
  101. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/i18n/project_ja_JP.json +0 -0
  102. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/i18n/project_nb_NO.json +0 -0
  103. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/i18n/project_nl_NL.json +0 -0
  104. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/i18n/project_nn_NO.json +0 -0
  105. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/i18n/project_pt_BR.json +0 -0
  106. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/i18n/project_ru_RU.json +0 -0
  107. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/i18n/project_zh_CN.json +0 -0
  108. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/novelwriter.ico +0 -0
  109. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/novelwriter.svg +0 -0
  110. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_dark/README.md +0 -0
  111. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_dark/mixed_document-chapter.svg +0 -0
  112. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_dark/mixed_document-new.svg +0 -0
  113. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_dark/mixed_document-note.svg +0 -0
  114. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_dark/mixed_document-scene.svg +0 -0
  115. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_dark/mixed_document-section.svg +0 -0
  116. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_dark/mixed_document-title.svg +0 -0
  117. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_dark/mixed_edit.svg +0 -0
  118. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_dark/mixed_import.svg +0 -0
  119. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_dark/mixed_input-checked.svg +0 -0
  120. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_dark/mixed_input-none.svg +0 -0
  121. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_dark/mixed_input-unchecked.svg +0 -0
  122. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_dark/mixed_search-replace.svg +0 -0
  123. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_dark/nw_deco-h0.svg +0 -0
  124. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_dark/nw_deco-h1.svg +0 -0
  125. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_dark/nw_deco-h2-narrow.svg +0 -0
  126. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_dark/nw_deco-h2.svg +0 -0
  127. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_dark/nw_deco-h3-narrow.svg +0 -0
  128. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_dark/nw_deco-h3.svg +0 -0
  129. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_dark/nw_deco-h4-narrow.svg +0 -0
  130. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_dark/nw_deco-h4.svg +0 -0
  131. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_dark/nw_deco-note.svg +0 -0
  132. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_dark/nw_deco-noveltree-more.svg +0 -0
  133. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_dark/nw_panel.svg +0 -0
  134. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_dark/nw_search-case.svg +0 -0
  135. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_dark/nw_search-preserve.svg +0 -0
  136. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_dark/nw_search-regex.svg +0 -0
  137. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_dark/nw_search-word.svg +0 -0
  138. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_dark/nw_tb-bold-md.svg +0 -0
  139. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_dark/nw_tb-bold.svg +0 -0
  140. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_dark/nw_tb-italic-md.svg +0 -0
  141. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_dark/nw_tb-italic.svg +0 -0
  142. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_dark/nw_tb-mark.svg +0 -0
  143. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_dark/nw_tb-strike-md.svg +0 -0
  144. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_dark/nw_tb-strike.svg +0 -0
  145. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_dark/nw_tb-subscript.svg +0 -0
  146. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_dark/nw_tb-superscript.svg +0 -0
  147. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_dark/nw_tb-underline.svg +0 -0
  148. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_dark/typ_arrow-down-thick-grey.svg +0 -0
  149. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_dark/typ_arrow-forward.svg +0 -0
  150. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_dark/typ_arrow-maximise.svg +0 -0
  151. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_dark/typ_arrow-minimise.svg +0 -0
  152. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_dark/typ_arrow-repeat-grey.svg +0 -0
  153. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_dark/typ_book-grey.svg +0 -0
  154. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_dark/typ_book.svg +0 -0
  155. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_dark/typ_bookmark.svg +0 -0
  156. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_dark/typ_calendar.svg +0 -0
  157. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_dark/typ_cancel-grey.svg +0 -0
  158. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_dark/typ_cancel.svg +0 -0
  159. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_dark/typ_chart-bar-grey.svg +0 -0
  160. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_dark/typ_chevron-down.svg +0 -0
  161. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_dark/typ_chevron-left.svg +0 -0
  162. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_dark/typ_chevron-right.svg +0 -0
  163. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_dark/typ_chevron-up.svg +0 -0
  164. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_dark/typ_cog.svg +0 -0
  165. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_dark/typ_delete-full.svg +0 -0
  166. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_dark/typ_delete.svg +0 -0
  167. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_dark/typ_directions-full.svg +0 -0
  168. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_dark/typ_document-add.svg +0 -0
  169. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_dark/typ_document-text.svg +0 -0
  170. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_dark/typ_document.svg +0 -0
  171. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_dark/typ_export-grey.svg +0 -0
  172. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_dark/typ_export.svg +0 -0
  173. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_dark/typ_eye.svg +0 -0
  174. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_dark/typ_flag.svg +0 -0
  175. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_dark/typ_folder-open.svg +0 -0
  176. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_dark/typ_folder.svg +0 -0
  177. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_dark/typ_globe-grey.svg +0 -0
  178. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_dark/typ_key.svg +0 -0
  179. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_dark/typ_lightbulb-full.svg +0 -0
  180. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_dark/typ_location.svg +0 -0
  181. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_dark/typ_media-pause-grey.svg +0 -0
  182. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_dark/typ_media-record-outline.svg +0 -0
  183. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_dark/typ_media-record.svg +0 -0
  184. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_dark/typ_minus.svg +0 -0
  185. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_dark/typ_pencil.svg +0 -0
  186. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_dark/typ_pin-outline.svg +0 -0
  187. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_dark/typ_pin.svg +0 -0
  188. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_dark/typ_plus.svg +0 -0
  189. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_dark/typ_puzzle-outline.svg +0 -0
  190. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_dark/typ_puzzle.svg +0 -0
  191. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_dark/typ_refresh-flipped.svg +0 -0
  192. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_dark/typ_refresh.svg +0 -0
  193. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_dark/typ_search-grey.svg +0 -0
  194. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_dark/typ_search.svg +0 -0
  195. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_dark/typ_star.svg +0 -0
  196. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_dark/typ_stopwatch-grey.svg +0 -0
  197. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_dark/typ_th-dot-menu.svg +0 -0
  198. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_dark/typ_th-dot-more.svg +0 -0
  199. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_dark/typ_th-list-grey.svg +0 -0
  200. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_dark/typ_th-list.svg +0 -0
  201. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_dark/typ_times.svg +0 -0
  202. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_dark/typ_trash.svg +0 -0
  203. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_dark/typ_user.svg +0 -0
  204. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_dark/typ_warning-full.svg +0 -0
  205. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_light/README.md +0 -0
  206. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_light/mixed_document-chapter.svg +0 -0
  207. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_light/mixed_document-new.svg +0 -0
  208. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_light/mixed_document-note.svg +0 -0
  209. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_light/mixed_document-scene.svg +0 -0
  210. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_light/mixed_document-section.svg +0 -0
  211. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_light/mixed_document-title.svg +0 -0
  212. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_light/mixed_edit.svg +0 -0
  213. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_light/mixed_import.svg +0 -0
  214. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_light/mixed_input-checked.svg +0 -0
  215. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_light/mixed_input-none.svg +0 -0
  216. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_light/mixed_input-unchecked.svg +0 -0
  217. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_light/mixed_search-replace.svg +0 -0
  218. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_light/nw_deco-h0.svg +0 -0
  219. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_light/nw_deco-h1.svg +0 -0
  220. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_light/nw_deco-h2-narrow.svg +0 -0
  221. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_light/nw_deco-h2.svg +0 -0
  222. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_light/nw_deco-h3-narrow.svg +0 -0
  223. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_light/nw_deco-h3.svg +0 -0
  224. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_light/nw_deco-h4-narrow.svg +0 -0
  225. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_light/nw_deco-h4.svg +0 -0
  226. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_light/nw_deco-note.svg +0 -0
  227. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_light/nw_deco-noveltree-more.svg +0 -0
  228. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_light/nw_panel.svg +0 -0
  229. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_light/nw_search-case.svg +0 -0
  230. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_light/nw_search-preserve.svg +0 -0
  231. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_light/nw_search-regex.svg +0 -0
  232. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_light/nw_search-word.svg +0 -0
  233. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_light/nw_tb-bold-md.svg +0 -0
  234. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_light/nw_tb-bold.svg +0 -0
  235. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_light/nw_tb-italic-md.svg +0 -0
  236. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_light/nw_tb-italic.svg +0 -0
  237. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_light/nw_tb-mark.svg +0 -0
  238. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_light/nw_tb-strike-md.svg +0 -0
  239. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_light/nw_tb-strike.svg +0 -0
  240. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_light/nw_tb-subscript.svg +0 -0
  241. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_light/nw_tb-superscript.svg +0 -0
  242. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_light/nw_tb-underline.svg +0 -0
  243. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_light/typ_arrow-down-thick-grey.svg +0 -0
  244. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_light/typ_arrow-forward.svg +0 -0
  245. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_light/typ_arrow-maximise.svg +0 -0
  246. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_light/typ_arrow-minimise.svg +0 -0
  247. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_light/typ_arrow-repeat-grey.svg +0 -0
  248. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_light/typ_book-grey.svg +0 -0
  249. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_light/typ_book.svg +0 -0
  250. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_light/typ_bookmark.svg +0 -0
  251. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_light/typ_calendar.svg +0 -0
  252. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_light/typ_cancel-grey.svg +0 -0
  253. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_light/typ_cancel.svg +0 -0
  254. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_light/typ_chart-bar-grey.svg +0 -0
  255. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_light/typ_chevron-down.svg +0 -0
  256. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_light/typ_chevron-left.svg +0 -0
  257. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_light/typ_chevron-right.svg +0 -0
  258. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_light/typ_chevron-up.svg +0 -0
  259. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_light/typ_cog.svg +0 -0
  260. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_light/typ_delete-full.svg +0 -0
  261. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_light/typ_delete.svg +0 -0
  262. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_light/typ_directions-full.svg +0 -0
  263. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_light/typ_document-add.svg +0 -0
  264. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_light/typ_document-text.svg +0 -0
  265. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_light/typ_document.svg +0 -0
  266. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_light/typ_export-grey.svg +0 -0
  267. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_light/typ_export.svg +0 -0
  268. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_light/typ_eye.svg +0 -0
  269. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_light/typ_flag.svg +0 -0
  270. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_light/typ_folder-open.svg +0 -0
  271. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_light/typ_folder.svg +0 -0
  272. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_light/typ_globe-grey.svg +0 -0
  273. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_light/typ_key.svg +0 -0
  274. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_light/typ_lightbulb-full.svg +0 -0
  275. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_light/typ_location.svg +0 -0
  276. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_light/typ_media-pause-grey.svg +0 -0
  277. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_light/typ_media-record-outline.svg +0 -0
  278. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_light/typ_media-record.svg +0 -0
  279. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_light/typ_minus.svg +0 -0
  280. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_light/typ_pencil.svg +0 -0
  281. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_light/typ_pin-outline.svg +0 -0
  282. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_light/typ_pin.svg +0 -0
  283. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_light/typ_plus.svg +0 -0
  284. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_light/typ_puzzle-outline.svg +0 -0
  285. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_light/typ_puzzle.svg +0 -0
  286. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_light/typ_refresh-flipped.svg +0 -0
  287. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_light/typ_refresh.svg +0 -0
  288. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_light/typ_search-grey.svg +0 -0
  289. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_light/typ_search.svg +0 -0
  290. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_light/typ_star.svg +0 -0
  291. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_light/typ_stopwatch-grey.svg +0 -0
  292. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_light/typ_th-dot-menu.svg +0 -0
  293. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_light/typ_th-dot-more.svg +0 -0
  294. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_light/typ_th-list-grey.svg +0 -0
  295. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_light/typ_th-list.svg +0 -0
  296. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_light/typ_times.svg +0 -0
  297. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_light/typ_trash.svg +0 -0
  298. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_light/typ_user.svg +0 -0
  299. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/typicons_light/typ_warning-full.svg +0 -0
  300. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/x-novelwriter-project.ico +0 -0
  301. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/icons/x-novelwriter-project.svg +0 -0
  302. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/images/novelwriter-text-dark.svg +0 -0
  303. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/images/novelwriter-text-light.svg +0 -0
  304. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/images/welcome-dark.jpg +0 -0
  305. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/images/welcome-light.jpg +0 -0
  306. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/syntax/cyberpunk_night.conf +0 -0
  307. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/syntax/default_dark.conf +0 -0
  308. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/syntax/default_light.conf +0 -0
  309. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/syntax/grey_dark.conf +0 -0
  310. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/syntax/grey_light.conf +0 -0
  311. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/syntax/light_owl.conf +0 -0
  312. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/syntax/night_owl.conf +0 -0
  313. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/syntax/solarized_dark.conf +0 -0
  314. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/syntax/solarized_light.conf +0 -0
  315. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/syntax/tango.conf +0 -0
  316. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/syntax/tomorrow.conf +0 -0
  317. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/syntax/tomorrow_night.conf +0 -0
  318. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/syntax/tomorrow_night_blue.conf +0 -0
  319. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/syntax/tomorrow_night_bright.conf +0 -0
  320. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/syntax/tomorrow_night_eighties.conf +0 -0
  321. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/text/credits_en.htm +0 -0
  322. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/text/lipsum.txt +0 -0
  323. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/themes/cyberpunk_night.conf +0 -0
  324. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/themes/default.conf +0 -0
  325. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/themes/default_dark.conf +0 -0
  326. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/themes/default_light.conf +0 -0
  327. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/themes/solarized_dark.conf +0 -0
  328. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/assets/themes/solarized_light.conf +0 -0
  329. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/constants.py +0 -0
  330. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/core/buildsettings.py +0 -0
  331. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/core/docbuild.py +0 -0
  332. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/core/document.py +0 -0
  333. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/core/index.py +0 -0
  334. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/core/item.py +0 -0
  335. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/core/options.py +0 -0
  336. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/core/project.py +0 -0
  337. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/core/projectdata.py +0 -0
  338. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/core/projectxml.py +0 -0
  339. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/core/sessions.py +0 -0
  340. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/core/spellcheck.py +0 -0
  341. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/core/storage.py +0 -0
  342. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/core/tohtml.py +0 -0
  343. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/core/tokenizer.py +0 -0
  344. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/core/tomd.py +0 -0
  345. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/core/tree.py +0 -0
  346. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/enum.py +0 -0
  347. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/extensions/eventfilters.py +0 -0
  348. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/extensions/novelselector.py +0 -0
  349. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/extensions/versioninfo.py +0 -0
  350. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/gui/mainmenu.py +0 -0
  351. {novelWriter-2.4b1 → novelWriter-2.4rc1}/novelwriter/text/counting.py +0 -0
  352. {novelWriter-2.4b1 → novelWriter-2.4rc1}/setup/appimage_launcher.sh +0 -0
  353. {novelWriter-2.4b1 → novelWriter-2.4rc1}/setup/data/hicolor/128x128/apps/novelwriter.png +0 -0
  354. {novelWriter-2.4b1 → novelWriter-2.4rc1}/setup/data/hicolor/128x128/mimetypes/application-x-novelwriter-project.png +0 -0
  355. {novelWriter-2.4b1 → novelWriter-2.4rc1}/setup/data/hicolor/16x16/apps/novelwriter.png +0 -0
  356. {novelWriter-2.4b1 → novelWriter-2.4rc1}/setup/data/hicolor/16x16/mimetypes/application-x-novelwriter-project.png +0 -0
  357. {novelWriter-2.4b1 → novelWriter-2.4rc1}/setup/data/hicolor/24x24/apps/novelwriter.png +0 -0
  358. {novelWriter-2.4b1 → novelWriter-2.4rc1}/setup/data/hicolor/24x24/mimetypes/application-x-novelwriter-project.png +0 -0
  359. {novelWriter-2.4b1 → novelWriter-2.4rc1}/setup/data/hicolor/256x256/apps/novelwriter.png +0 -0
  360. {novelWriter-2.4b1 → novelWriter-2.4rc1}/setup/data/hicolor/256x256/mimetypes/application-x-novelwriter-project.png +0 -0
  361. {novelWriter-2.4b1 → novelWriter-2.4rc1}/setup/data/hicolor/32x32/apps/novelwriter.png +0 -0
  362. {novelWriter-2.4b1 → novelWriter-2.4rc1}/setup/data/hicolor/32x32/mimetypes/application-x-novelwriter-project.png +0 -0
  363. {novelWriter-2.4b1 → novelWriter-2.4rc1}/setup/data/hicolor/48x48/apps/novelwriter.png +0 -0
  364. {novelWriter-2.4b1 → novelWriter-2.4rc1}/setup/data/hicolor/48x48/mimetypes/application-x-novelwriter-project.png +0 -0
  365. {novelWriter-2.4b1 → novelWriter-2.4rc1}/setup/data/hicolor/512x512/apps/novelwriter.png +0 -0
  366. {novelWriter-2.4b1 → novelWriter-2.4rc1}/setup/data/hicolor/512x512/mimetypes/application-x-novelwriter-project.png +0 -0
  367. {novelWriter-2.4b1 → novelWriter-2.4rc1}/setup/data/hicolor/64x64/apps/novelwriter.png +0 -0
  368. {novelWriter-2.4b1 → novelWriter-2.4rc1}/setup/data/hicolor/64x64/mimetypes/application-x-novelwriter-project.png +0 -0
  369. {novelWriter-2.4b1 → novelWriter-2.4rc1}/setup/data/hicolor/scalable/apps/novelwriter.svg +0 -0
  370. {novelWriter-2.4b1 → novelWriter-2.4rc1}/setup/data/hicolor/scalable/mimetypes/application-x-novelwriter-project.svg +0 -0
  371. {novelWriter-2.4b1 → novelWriter-2.4rc1}/setup/data/novelwriter.desktop +0 -0
  372. {novelWriter-2.4b1 → novelWriter-2.4rc1}/setup/data/novelwriter.png +0 -0
  373. {novelWriter-2.4b1 → novelWriter-2.4rc1}/setup/data/x-novelwriter-project.xml +0 -0
  374. {novelWriter-2.4b1 → novelWriter-2.4rc1}/setup/debian/compat +0 -0
  375. {novelWriter-2.4b1 → novelWriter-2.4rc1}/setup/debian/control +0 -0
  376. {novelWriter-2.4b1 → novelWriter-2.4rc1}/setup/debian/copyright +0 -0
  377. {novelWriter-2.4b1 → novelWriter-2.4rc1}/setup/debian/install +0 -0
  378. {novelWriter-2.4b1 → novelWriter-2.4rc1}/setup/debian/py3dist-overrides +0 -0
  379. {novelWriter-2.4b1 → novelWriter-2.4rc1}/setup/debian/rules +0 -0
  380. {novelWriter-2.4b1 → novelWriter-2.4rc1}/setup/debian/source/format +0 -0
  381. {novelWriter-2.4b1 → novelWriter-2.4rc1}/setup/description_pypi.md +0 -0
  382. {novelWriter-2.4b1 → novelWriter-2.4rc1}/setup/description_short.txt +0 -0
  383. {novelWriter-2.4b1 → novelWriter-2.4rc1}/setup/icons/novelwriter.ico +0 -0
  384. {novelWriter-2.4b1 → novelWriter-2.4rc1}/setup/icons/novelwriter.svg +0 -0
  385. {novelWriter-2.4b1 → novelWriter-2.4rc1}/setup/icons/x-novelwriter-project.ico +0 -0
  386. {novelWriter-2.4b1 → novelWriter-2.4rc1}/setup/icons/x-novelwriter-project.svg +0 -0
  387. {novelWriter-2.4b1 → novelWriter-2.4rc1}/setup/iss_license.txt +0 -0
  388. {novelWriter-2.4b1 → novelWriter-2.4rc1}/setup/macos/App.entitlements +0 -0
  389. {novelWriter-2.4b1 → novelWriter-2.4rc1}/setup/macos/Info.plist.template +0 -0
  390. {novelWriter-2.4b1 → novelWriter-2.4rc1}/setup/macos/build.sh +0 -0
  391. {novelWriter-2.4b1 → novelWriter-2.4rc1}/setup/macos/novelwriter.iconset/icon_128x128.png +0 -0
  392. {novelWriter-2.4b1 → novelWriter-2.4rc1}/setup/macos/novelwriter.iconset/icon_128x128@2x.png +0 -0
  393. {novelWriter-2.4b1 → novelWriter-2.4rc1}/setup/macos/novelwriter.iconset/icon_16x16.png +0 -0
  394. {novelWriter-2.4b1 → novelWriter-2.4rc1}/setup/macos/novelwriter.iconset/icon_16x16@2x.png +0 -0
  395. {novelWriter-2.4b1 → novelWriter-2.4rc1}/setup/macos/novelwriter.iconset/icon_256x256.png +0 -0
  396. {novelWriter-2.4b1 → novelWriter-2.4rc1}/setup/macos/novelwriter.iconset/icon_256x256@2x.png +0 -0
  397. {novelWriter-2.4b1 → novelWriter-2.4rc1}/setup/macos/novelwriter.iconset/icon_32x32.png +0 -0
  398. {novelWriter-2.4b1 → novelWriter-2.4rc1}/setup/macos/novelwriter.iconset/icon_32x32@2x.png +0 -0
  399. {novelWriter-2.4b1 → novelWriter-2.4rc1}/setup/macos/novelwriter.iconset/icon_512x512.png +0 -0
  400. {novelWriter-2.4b1 → novelWriter-2.4rc1}/setup/macos/novelwriter.iconset/icon_512x512@2x.png +0 -0
  401. {novelWriter-2.4b1 → novelWriter-2.4rc1}/setup/make_clean.sh +0 -0
  402. {novelWriter-2.4b1 → novelWriter-2.4rc1}/setup/make_pip.sh +0 -0
  403. {novelWriter-2.4b1 → novelWriter-2.4rc1}/setup/make_release.sh +0 -0
  404. {novelWriter-2.4b1 → novelWriter-2.4rc1}/setup/novelwriter.appdata.xml +0 -0
  405. {novelWriter-2.4b1 → novelWriter-2.4rc1}/setup/novelwriter_readme.png +0 -0
  406. {novelWriter-2.4b1 → novelWriter-2.4rc1}/setup/novelwriter_text.png +0 -0
  407. {novelWriter-2.4b1 → novelWriter-2.4rc1}/setup/win_setup_embed.iss +0 -0
  408. {novelWriter-2.4b1 → novelWriter-2.4rc1}/setup/windows_install.bat +0 -0
  409. {novelWriter-2.4b1 → novelWriter-2.4rc1}/setup/windows_uninstall.bat +0 -0
@@ -1,5 +1,45 @@
1
1
  # novelWriter Changelog
2
2
 
3
+ ## Version 2.4 RC 1 [2024-04-06]
4
+
5
+ ### Release Notes
6
+
7
+ This is a release candidate of the next release version, and is intended for testing purposes.
8
+ Please be careful when using this version on writing projects, and make frequent backups.
9
+
10
+ ### Detailed Changelog
11
+
12
+ **Bugfixes**
13
+
14
+ * A number of issues GUI icon scaling has been fixed. Icons and buttons are supposed to scale
15
+ relative to the GUI font size, but several of them were not. Issue #1787. PR #1788.
16
+ * The persistence of button state for the editor search box has been improved. The present state
17
+ was only saved when the search box was actively closed, and there were several scenarios where
18
+ this didn't happen. The button states are now tracked in the central config, and will always be
19
+ preserved. Issue #1794. PR #1795.
20
+
21
+ **Other Improvements**
22
+
23
+ * A placeholder icon has been added for cases where users have their own icon theme, and icons are
24
+ missing. Issue #1780. PR #1781.
25
+ * The project search now refreshes the search results for the currently open document when it's
26
+ being edited. PR #1782.
27
+ * When activating project search from the editor while text is selected, the search box is
28
+ populated with this text. Issue #1789. PR #1790.
29
+
30
+ **Packaging**
31
+
32
+ * The project has moved from using a `setup.cfg` to only using the `pyproject.toml` meta data file
33
+ for packaging. This is the preferred file format now. PR #1791.
34
+
35
+ **Code Improvements**
36
+
37
+ * The part of the code related to Qt widgets and flags has been updated and refactored in
38
+ preparation for the eventual move to the Qt6 framework. Part of issue #1142. PR #1792.
39
+ * The Open Document writer class has been refactored and improved. PR #1796.
40
+
41
+ ----
42
+
3
43
  ## Version 2.4 Beta 1 [2024-03-26]
4
44
 
5
45
  ### Release Notes
@@ -7,9 +47,6 @@
7
47
  This is a beta release of the next release version, and is intended for testing purposes. Please be
8
48
  careful when using this version on live writing projects, and make sure you take frequent backups.
9
49
 
10
- Please check the changelog for an overview of changes. The full release notes will be added to the
11
- final release.
12
-
13
50
  ### Detailed Changelog
14
51
 
15
52
  **Major Features**
@@ -1,14 +1,13 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: novelWriter
3
- Version: 2.4b1
3
+ Version: 2.4rc1
4
4
  Summary: A markdown-like text editor for planning and writing novels
5
- Home-page: https://novelwriter.io
6
- Author: Veronica Berglyd Olsen
7
- Author-email: code@vkbo.net
5
+ Author-email: Veronica Berglyd Olsen <code@vkbo.net>
8
6
  License: GNU General Public License v3
9
- Project-URL: Bug Tracker, https://github.com/vkbo/novelWriter/issues
7
+ Project-URL: Homepage, https://novelwriter.io
10
8
  Project-URL: Documentation, https://docs.novelwriter.io
11
- Project-URL: Source Code, https://github.com/vkbo/novelWriter
9
+ Project-URL: Repository, https://github.com/vkbo/novelWriter
10
+ Project-URL: Issues, https://github.com/vkbo/novelWriter/issues
12
11
  Classifier: Programming Language :: Python :: 3 :: Only
13
12
  Classifier: Programming Language :: Python :: 3.8
14
13
  Classifier: Programming Language :: Python :: 3.9
@@ -1,14 +1,13 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: novelWriter
3
- Version: 2.4b1
3
+ Version: 2.4rc1
4
4
  Summary: A markdown-like text editor for planning and writing novels
5
- Home-page: https://novelwriter.io
6
- Author: Veronica Berglyd Olsen
7
- Author-email: code@vkbo.net
5
+ Author-email: Veronica Berglyd Olsen <code@vkbo.net>
8
6
  License: GNU General Public License v3
9
- Project-URL: Bug Tracker, https://github.com/vkbo/novelWriter/issues
7
+ Project-URL: Homepage, https://novelwriter.io
10
8
  Project-URL: Documentation, https://docs.novelwriter.io
11
- Project-URL: Source Code, https://github.com/vkbo/novelWriter
9
+ Project-URL: Repository, https://github.com/vkbo/novelWriter
10
+ Project-URL: Issues, https://github.com/vkbo/novelWriter/issues
12
11
  Classifier: Programming Language :: Python :: 3 :: Only
13
12
  Classifier: Programming Language :: Python :: 3.8
14
13
  Classifier: Programming Language :: Python :: 3.9
@@ -5,12 +5,10 @@ MANIFEST.in
5
5
  README.md
6
6
  pkgutils.py
7
7
  pyproject.toml
8
- setup.cfg
9
8
  novelWriter.egg-info/PKG-INFO
10
9
  novelWriter.egg-info/SOURCES.txt
11
10
  novelWriter.egg-info/dependency_links.txt
12
11
  novelWriter.egg-info/entry_points.txt
13
- novelWriter.egg-info/not-zip-safe
14
12
  novelWriter.egg-info/requires.txt
15
13
  novelWriter.egg-info/top_level.txt
16
14
  novelwriter/__init__.py
@@ -21,6 +19,7 @@ novelwriter/enum.py
21
19
  novelwriter/error.py
22
20
  novelwriter/guimain.py
23
21
  novelwriter/shared.py
22
+ novelwriter/types.py
24
23
  novelwriter/assets/manual.pdf
25
24
  novelwriter/assets/sample.zip
26
25
  novelwriter/assets/i18n/nw_de_DE.qm
@@ -46,6 +45,7 @@ novelwriter/assets/i18n/project_nn_NO.json
46
45
  novelwriter/assets/i18n/project_pt_BR.json
47
46
  novelwriter/assets/i18n/project_ru_RU.json
48
47
  novelwriter/assets/i18n/project_zh_CN.json
48
+ novelwriter/assets/icons/none.svg
49
49
  novelwriter/assets/icons/novelwriter.ico
50
50
  novelwriter/assets/icons/novelwriter.svg
51
51
  novelwriter/assets/icons/x-novelwriter-project.ico
@@ -90,12 +90,10 @@ novelwriter/assets/icons/typicons_dark/nw_tb-subscript.svg
90
90
  novelwriter/assets/icons/typicons_dark/nw_tb-superscript.svg
91
91
  novelwriter/assets/icons/typicons_dark/nw_tb-underline.svg
92
92
  novelwriter/assets/icons/typicons_dark/typ_arrow-down-thick-grey.svg
93
- novelwriter/assets/icons/typicons_dark/typ_arrow-down.svg
94
93
  novelwriter/assets/icons/typicons_dark/typ_arrow-forward.svg
95
94
  novelwriter/assets/icons/typicons_dark/typ_arrow-maximise.svg
96
95
  novelwriter/assets/icons/typicons_dark/typ_arrow-minimise.svg
97
96
  novelwriter/assets/icons/typicons_dark/typ_arrow-repeat-grey.svg
98
- novelwriter/assets/icons/typicons_dark/typ_arrow-right.svg
99
97
  novelwriter/assets/icons/typicons_dark/typ_book-grey.svg
100
98
  novelwriter/assets/icons/typicons_dark/typ_book.svg
101
99
  novelwriter/assets/icons/typicons_dark/typ_bookmark.svg
@@ -146,6 +144,8 @@ novelwriter/assets/icons/typicons_dark/typ_th-list-grey.svg
146
144
  novelwriter/assets/icons/typicons_dark/typ_th-list.svg
147
145
  novelwriter/assets/icons/typicons_dark/typ_times.svg
148
146
  novelwriter/assets/icons/typicons_dark/typ_trash.svg
147
+ novelwriter/assets/icons/typicons_dark/typ_unfold-hidden.svg
148
+ novelwriter/assets/icons/typicons_dark/typ_unfold-visible.svg
149
149
  novelwriter/assets/icons/typicons_dark/typ_user.svg
150
150
  novelwriter/assets/icons/typicons_dark/typ_warning-full.svg
151
151
  novelwriter/assets/icons/typicons_light/README.md
@@ -188,12 +188,10 @@ novelwriter/assets/icons/typicons_light/nw_tb-subscript.svg
188
188
  novelwriter/assets/icons/typicons_light/nw_tb-superscript.svg
189
189
  novelwriter/assets/icons/typicons_light/nw_tb-underline.svg
190
190
  novelwriter/assets/icons/typicons_light/typ_arrow-down-thick-grey.svg
191
- novelwriter/assets/icons/typicons_light/typ_arrow-down.svg
192
191
  novelwriter/assets/icons/typicons_light/typ_arrow-forward.svg
193
192
  novelwriter/assets/icons/typicons_light/typ_arrow-maximise.svg
194
193
  novelwriter/assets/icons/typicons_light/typ_arrow-minimise.svg
195
194
  novelwriter/assets/icons/typicons_light/typ_arrow-repeat-grey.svg
196
- novelwriter/assets/icons/typicons_light/typ_arrow-right.svg
197
195
  novelwriter/assets/icons/typicons_light/typ_book-grey.svg
198
196
  novelwriter/assets/icons/typicons_light/typ_book.svg
199
197
  novelwriter/assets/icons/typicons_light/typ_bookmark.svg
@@ -244,6 +242,8 @@ novelwriter/assets/icons/typicons_light/typ_th-list-grey.svg
244
242
  novelwriter/assets/icons/typicons_light/typ_th-list.svg
245
243
  novelwriter/assets/icons/typicons_light/typ_times.svg
246
244
  novelwriter/assets/icons/typicons_light/typ_trash.svg
245
+ novelwriter/assets/icons/typicons_light/typ_unfold-hidden.svg
246
+ novelwriter/assets/icons/typicons_light/typ_unfold-visible.svg
247
247
  novelwriter/assets/icons/typicons_light/typ_user.svg
248
248
  novelwriter/assets/icons/typicons_light/typ_warning-full.svg
249
249
  novelwriter/assets/images/novelwriter-text-dark.svg
@@ -273,7 +273,6 @@ novelwriter/assets/themes/default_dark.conf
273
273
  novelwriter/assets/themes/default_light.conf
274
274
  novelwriter/assets/themes/solarized_dark.conf
275
275
  novelwriter/assets/themes/solarized_light.conf
276
- novelwriter/core/__init__.py
277
276
  novelwriter/core/buildsettings.py
278
277
  novelwriter/core/coretools.py
279
278
  novelwriter/core/docbuild.py
@@ -293,7 +292,6 @@ novelwriter/core/tokenizer.py
293
292
  novelwriter/core/tomd.py
294
293
  novelwriter/core/toodt.py
295
294
  novelwriter/core/tree.py
296
- novelwriter/dialogs/__init__.py
297
295
  novelwriter/dialogs/about.py
298
296
  novelwriter/dialogs/docmerge.py
299
297
  novelwriter/dialogs/docsplit.py
@@ -302,7 +300,6 @@ novelwriter/dialogs/preferences.py
302
300
  novelwriter/dialogs/projectsettings.py
303
301
  novelwriter/dialogs/quotes.py
304
302
  novelwriter/dialogs/wordlist.py
305
- novelwriter/extensions/__init__.py
306
303
  novelwriter/extensions/circularprogress.py
307
304
  novelwriter/extensions/configlayout.py
308
305
  novelwriter/extensions/eventfilters.py
@@ -314,7 +311,6 @@ novelwriter/extensions/statusled.py
314
311
  novelwriter/extensions/switch.py
315
312
  novelwriter/extensions/switchbox.py
316
313
  novelwriter/extensions/versioninfo.py
317
- novelwriter/gui/__init__.py
318
314
  novelwriter/gui/doceditor.py
319
315
  novelwriter/gui/dochighlight.py
320
316
  novelwriter/gui/docviewer.py
@@ -329,9 +325,7 @@ novelwriter/gui/search.py
329
325
  novelwriter/gui/sidebar.py
330
326
  novelwriter/gui/statusbar.py
331
327
  novelwriter/gui/theme.py
332
- novelwriter/text/__init__.py
333
328
  novelwriter/text/counting.py
334
- novelwriter/tools/__init__.py
335
329
  novelwriter/tools/dictionaries.py
336
330
  novelwriter/tools/lipsum.py
337
331
  novelwriter/tools/manusbuild.py
@@ -42,9 +42,9 @@ __license__ = "GPLv3"
42
42
  __author__ = "Veronica Berglyd Olsen"
43
43
  __maintainer__ = "Veronica Berglyd Olsen"
44
44
  __email__ = "code@vkbo.net"
45
- __version__ = "2.4b1"
46
- __hexversion__ = "0x020400b1"
47
- __date__ = "2024-03-26"
45
+ __version__ = "2.4rc1"
46
+ __hexversion__ = "0x020400c1"
47
+ __date__ = "2024-04-06"
48
48
  __status__ = "Stable"
49
49
  __domain__ = "novelwriter.io"
50
50
 
@@ -187,7 +187,7 @@ def main(sysArgs: list | None = None):
187
187
  ))
188
188
  for errLine in errorData:
189
189
  logger.critical(errLine)
190
- errApp.exec_()
190
+ errApp.exec()
191
191
  sys.exit(errorCode)
192
192
 
193
193
  # Finish initialising config
@@ -237,6 +237,6 @@ def main(sysArgs: list | None = None):
237
237
  nwGUI = GuiMain()
238
238
  nwGUI.postLaunchTasks(cmdOpen)
239
239
 
240
- sys.exit(nwApp.exec_())
240
+ sys.exit(nwApp.exec())
241
241
 
242
242
  # END Function main
@@ -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="m0 0v4l8 8-8 8v4h4l8-8 8 8h4v-4l-8-8 8-8v-4h-4l-8 8-8-8h-4z" fill="#f00" stroke-width=".70711"/>
4
+ </svg>
@@ -100,8 +100,8 @@ status_time = typ_stopwatch-grey.svg
100
100
  sticky-off = typ_pin-outline.svg
101
101
  sticky-on = typ_pin.svg
102
102
  unchecked = mixed_input-unchecked.svg
103
- unfold-hide = typ_arrow-right.svg
104
- unfold-show = typ_arrow-down.svg
103
+ unfold-hide = typ_unfold-hidden.svg
104
+ unfold-show = typ_unfold-visible.svg
105
105
  up = typ_chevron-up.svg
106
106
  view = typ_eye.svg
107
107
  view_build = typ_export-grey.svg
@@ -0,0 +1,4 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <svg width="24" height="24" version="1.2" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
3
+ <path d="m9.8767 17.723 5.8157-5.723-5.8157-5.723c-0.18462-0.18462-0.46155-0.27693-0.64616-0.27693-0.18462 0-0.46155 0.092309-0.64616 0.27693-0.18462 0.18462-0.27693 0.36924-0.27693 0.64616v10.154c0 0.27693 0.092309 0.46154 0.27693 0.64616 0.18462 0.18462 0.46155 0.27693 0.64616 0.27693 0.18462 0 0.46155-0.09231 0.64616-0.27693z" fill="#aeaeae" stroke-width=".92309"/>
4
+ </svg>
@@ -0,0 +1,4 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <svg width="24" height="24" version="1.2" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
3
+ <path d="m6.277 9.8767 5.723 5.8157 5.723-5.8157c0.18462-0.18462 0.27693-0.46155 0.27693-0.64616 0-0.18462-0.092309-0.46155-0.27693-0.64616-0.18462-0.18462-0.36924-0.27693-0.64616-0.27693h-10.154c-0.27693 0-0.46155 0.092309-0.64616 0.27693-0.18462 0.18462-0.27693 0.46155-0.27693 0.64616 0 0.18462 0.092309 0.46155 0.27693 0.64616z" fill="#aeaeae" stroke-width=".92309"/>
4
+ </svg>
@@ -100,8 +100,8 @@ status_time = typ_stopwatch-grey.svg
100
100
  sticky-off = typ_pin-outline.svg
101
101
  sticky-on = typ_pin.svg
102
102
  unchecked = mixed_input-unchecked.svg
103
- unfold-hide = typ_arrow-right.svg
104
- unfold-show = typ_arrow-down.svg
103
+ unfold-hide = typ_unfold-hidden.svg
104
+ unfold-show = typ_unfold-visible.svg
105
105
  up = typ_chevron-up.svg
106
106
  view = typ_eye.svg
107
107
  view_build = typ_export-grey.svg
@@ -0,0 +1,4 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <svg width="24" height="24" version="1.2" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
3
+ <path d="m9.8767 17.723 5.8157-5.723-5.8157-5.723c-0.18462-0.18462-0.46155-0.27693-0.64616-0.27693-0.18462 0-0.46155 0.092309-0.64616 0.27693-0.18462 0.18462-0.27693 0.36924-0.27693 0.64616v10.154c0 0.27693 0.092309 0.46154 0.27693 0.64616 0.18462 0.18462 0.46155 0.27693 0.64616 0.27693 0.18462 0 0.46155-0.09231 0.64616-0.27693z" fill-opacity=".78039" stroke-width="1.6923"/>
4
+ </svg>
@@ -0,0 +1,4 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <svg width="24" height="24" version="1.2" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
3
+ <path d="m6.277 9.8767 5.723 5.8157 5.723-5.8157c0.18462-0.18462 0.27693-0.46155 0.27693-0.64616 0-0.18462-0.09231-0.46155-0.27693-0.64616-0.18462-0.18462-0.36924-0.27693-0.64616-0.27693h-10.154c-0.27693 0-0.46155 0.092309-0.64616 0.27693-0.18462 0.18462-0.27693 0.46155-0.27693 0.64616 0 0.18462 0.092309 0.46155 0.27693 0.64616z" fill-opacity=".78039" stroke-width="1.6923"/>
4
+ </svg>
@@ -36,7 +36,7 @@ from configparser import ConfigParser
36
36
  from urllib.parse import urljoin
37
37
  from urllib.request import pathname2url
38
38
 
39
- from PyQt5.QtGui import QDesktopServices
39
+ from PyQt5.QtGui import QColor, QDesktopServices
40
40
  from PyQt5.QtCore import QCoreApplication, QUrl
41
41
 
42
42
  from novelwriter.enum import nwItemClass, nwItemType, nwItemLayout
@@ -382,6 +382,11 @@ def numberToRoman(value: int, toLower: bool = False) -> str:
382
382
  return roman.lower() if toLower else roman
383
383
 
384
384
 
385
+ def cssCol(col: QColor, alpha: int | None = None) -> str:
386
+ """Convert a QColor object to an rgba entry to use in CSS."""
387
+ return f"rgba({col.red()}, {col.green()}, {col.blue()}, {alpha or col.alpha()})"
388
+
389
+
385
390
  ##
386
391
  # Encoder Functions
387
392
  ##
@@ -61,8 +61,12 @@ class Config:
61
61
  self.appHandle = "novelwriter"
62
62
 
63
63
  # Set Paths
64
- confRoot = Path(QStandardPaths.writableLocation(QStandardPaths.ConfigLocation))
65
- dataRoot = Path(QStandardPaths.writableLocation(QStandardPaths.AppDataLocation))
64
+ confRoot = Path(QStandardPaths.writableLocation(
65
+ QStandardPaths.StandardLocation.ConfigLocation)
66
+ )
67
+ dataRoot = Path(QStandardPaths.writableLocation(
68
+ QStandardPaths.StandardLocation.AppDataLocation)
69
+ )
66
70
 
67
71
  self._confPath = confRoot.absolute() / self.appHandle # The user config location
68
72
  self._dataPath = dataRoot.absolute() / self.appHandle # The user data location
@@ -83,7 +87,7 @@ class Config:
83
87
  # Localisation
84
88
  # Note that these paths must be strings
85
89
  self._nwLangPath = self._appPath / "assets" / "i18n"
86
- self._qtLangPath = QLibraryInfo.location(QLibraryInfo.TranslationsPath)
90
+ self._qtLangPath = QLibraryInfo.location(QLibraryInfo.LibraryLocation.TranslationsPath)
87
91
 
88
92
  hasLocale = (self._nwLangPath / f"nw_{QLocale.system().name()}.qm").exists()
89
93
  self._qLocale = QLocale.system() if hasLocale else QLocale("en_GB")
@@ -369,7 +373,7 @@ class Config:
369
373
  elif self.osDarwin and "Helvetica" in fontFam:
370
374
  self.textFont = "Helvetica"
371
375
  else:
372
- self.textFont = fontDB.systemFont(QFontDatabase.GeneralFont).family()
376
+ self.textFont = fontDB.systemFont(QFontDatabase.SystemFont.GeneralFont).family()
373
377
  else:
374
378
  self.textFont = family
375
379
  return
@@ -337,32 +337,32 @@ class DocSearch:
337
337
  """Iteratively search through documents in a project."""
338
338
  self._regEx.setPattern(self._buildPattern(search))
339
339
  logger.debug("Searching with pattern '%s'", self._regEx.pattern())
340
-
341
- num = len(search)
342
340
  storage = project.storage
343
341
  for item in project.tree:
344
342
  if item.isFileType():
345
- text = storage.getDocumentText(item.itemHandle)
346
- rxItt = self._regEx.globalMatch(text)
347
- count = 0
348
- capped = False
349
- results = []
350
- while rxItt.hasNext():
351
- rxMatch = rxItt.next()
352
- pos = rxMatch.capturedStart()
353
- num = rxMatch.capturedLength()
354
- context = text[pos:pos+100].partition("\n")[0]
355
- if context:
356
- results.append((pos, num, context))
357
- count += 1
358
- if count >= nwConst.MAX_SEARCH_RESULT:
359
- capped = True
360
- break
361
-
343
+ results, capped = self.searchText(storage.getDocumentText(item.itemHandle))
362
344
  yield item, results, capped
363
-
364
345
  return
365
346
 
347
+ def searchText(self, text: str) -> tuple[list[tuple[int, int, str]], bool]:
348
+ """Search a piece of text for RegEx matches."""
349
+ rxItt = self._regEx.globalMatch(text)
350
+ count = 0
351
+ capped = False
352
+ results = []
353
+ while rxItt.hasNext():
354
+ rxMatch = rxItt.next()
355
+ pos = rxMatch.capturedStart()
356
+ num = rxMatch.capturedLength()
357
+ context = text[pos:pos+100].partition("\n")[0]
358
+ if context:
359
+ results.append((pos, num, context))
360
+ count += 1
361
+ if count >= nwConst.MAX_SEARCH_RESULT:
362
+ capped = True
363
+ break
364
+ return results, capped
365
+
366
366
  ##
367
367
  # Internal Functions
368
368
  ##
@@ -382,8 +382,7 @@ class DocSearch:
382
382
  escaped += f"\\{c}"
383
383
  search = escaped
384
384
  if self._words:
385
- search = search if search.startswith("\\b") else f"\\b{search}"
386
- search = search if search.endswith("\\b") else f"{search}\\b"
385
+ search = f"(?:^|\\b){search}(?:$|\\b)"
387
386
  return search
388
387
 
389
388
  # END Class DocSearch
@@ -35,6 +35,7 @@ from PyQt5.QtCore import QRectF
35
35
 
36
36
  from novelwriter import CONFIG
37
37
  from novelwriter.common import minmax, simplified
38
+ from novelwriter.types import QtPaintAnitAlias, QtTransparent
38
39
 
39
40
  if TYPE_CHECKING: # pragma: no cover
40
41
  from typing import TypeGuard # Requires Python 3.10
@@ -248,10 +249,10 @@ class NWStatus:
248
249
  def _createIcon(self, red: int, green: int, blue: int) -> QIcon:
249
250
  """Generate an icon for a status label."""
250
251
  pixmap = QPixmap(self._iPX, self._iPX)
251
- pixmap.fill(QColor(0, 0, 0, 0))
252
+ pixmap.fill(QtTransparent)
252
253
 
253
254
  painter = QPainter(pixmap)
254
- painter.setRenderHint(QPainter.Antialiasing)
255
+ painter.setRenderHint(QtPaintAnitAlias)
255
256
  painter.fillPath(self._iconPath, QColor(red, green, blue))
256
257
  painter.end()
257
258