novelWriter 2.5rc1__tar.gz → 2.5.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (407) hide show
  1. {novelwriter-2.5rc1 → novelwriter-2.5.1}/CHANGELOG.md +92 -0
  2. novelwriter-2.5.1/CREDITS.md +75 -0
  3. {novelwriter-2.5rc1 → novelwriter-2.5.1}/PKG-INFO +1 -1
  4. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelWriter.egg-info/PKG-INFO +1 -1
  5. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelWriter.egg-info/SOURCES.txt +2 -0
  6. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/__init__.py +3 -3
  7. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/i18n/nw_de_DE.qm +0 -0
  8. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/i18n/nw_en_US.qm +0 -0
  9. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/i18n/nw_es_419.qm +0 -0
  10. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/i18n/nw_fr_FR.qm +0 -0
  11. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/i18n/nw_it_IT.qm +0 -0
  12. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/i18n/nw_ja_JP.qm +0 -0
  13. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/i18n/nw_nb_NO.qm +0 -0
  14. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/i18n/nw_nl_NL.qm +0 -0
  15. novelwriter-2.5.1/novelwriter/assets/i18n/nw_pl_PL.qm +0 -0
  16. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/i18n/nw_pt_BR.qm +0 -0
  17. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/i18n/nw_zh_CN.qm +0 -0
  18. novelwriter-2.5.1/novelwriter/assets/i18n/project_pl_PL.json +116 -0
  19. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/manual.pdf +0 -0
  20. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/sample.zip +0 -0
  21. novelwriter-2.5.1/novelwriter/assets/text/credits_en.htm +92 -0
  22. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/common.py +10 -0
  23. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/core/project.py +15 -4
  24. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/core/status.py +4 -1
  25. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/core/storage.py +6 -1
  26. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/core/tokenizer.py +5 -5
  27. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/core/toqdoc.py +13 -13
  28. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/dialogs/preferences.py +14 -27
  29. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/dialogs/projectsettings.py +6 -10
  30. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/extensions/configlayout.py +18 -3
  31. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/extensions/statusled.py +12 -2
  32. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/gui/doceditor.py +3 -3
  33. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/gui/docviewer.py +3 -1
  34. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/gui/docviewerpanel.py +7 -0
  35. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/gui/outline.py +1 -0
  36. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/gui/projtree.py +66 -49
  37. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/guimain.py +50 -42
  38. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/shared.py +9 -0
  39. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/tools/welcome.py +9 -0
  40. {novelwriter-2.5rc1 → novelwriter-2.5.1}/pkgutils.py +596 -768
  41. {novelwriter-2.5rc1 → novelwriter-2.5.1}/setup/make_pip.sh +1 -1
  42. {novelwriter-2.5rc1 → novelwriter-2.5.1}/setup/make_release.sh +1 -8
  43. {novelwriter-2.5rc1 → novelwriter-2.5.1}/setup/win_setup_embed.iss +1 -1
  44. novelwriter-2.5rc1/CREDITS.md +0 -73
  45. novelwriter-2.5rc1/novelwriter/assets/text/credits_en.htm +0 -84
  46. {novelwriter-2.5rc1 → novelwriter-2.5.1}/LICENSE.md +0 -0
  47. {novelwriter-2.5rc1 → novelwriter-2.5.1}/MANIFEST.in +0 -0
  48. {novelwriter-2.5rc1 → novelwriter-2.5.1}/README.md +0 -0
  49. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelWriter.egg-info/dependency_links.txt +0 -0
  50. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelWriter.egg-info/entry_points.txt +0 -0
  51. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelWriter.egg-info/requires.txt +0 -0
  52. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelWriter.egg-info/top_level.txt +0 -0
  53. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/i18n/project_de_DE.json +0 -0
  54. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/i18n/project_en_GB.json +0 -0
  55. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/i18n/project_en_US.json +0 -0
  56. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/i18n/project_es_419.json +0 -0
  57. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/i18n/project_fr_FR.json +0 -0
  58. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/i18n/project_it_IT.json +0 -0
  59. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/i18n/project_ja_JP.json +0 -0
  60. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/i18n/project_nb_NO.json +0 -0
  61. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/i18n/project_nl_NL.json +0 -0
  62. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/i18n/project_nn_NO.json +0 -0
  63. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/i18n/project_pt_BR.json +0 -0
  64. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/i18n/project_ru_RU.json +0 -0
  65. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/i18n/project_zh_CN.json +0 -0
  66. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/none.svg +0 -0
  67. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/novelwriter.ico +0 -0
  68. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/novelwriter.svg +0 -0
  69. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_dark/README.md +0 -0
  70. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_dark/icons.conf +0 -0
  71. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_dark/mixed_document-chapter.svg +0 -0
  72. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_dark/mixed_document-new.svg +0 -0
  73. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_dark/mixed_document-note.svg +0 -0
  74. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_dark/mixed_document-scene.svg +0 -0
  75. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_dark/mixed_document-section.svg +0 -0
  76. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_dark/mixed_document-title.svg +0 -0
  77. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_dark/mixed_edit.svg +0 -0
  78. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_dark/mixed_import.svg +0 -0
  79. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_dark/mixed_input-checked.svg +0 -0
  80. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_dark/mixed_input-none.svg +0 -0
  81. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_dark/mixed_input-unchecked.svg +0 -0
  82. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_dark/mixed_search-replace.svg +0 -0
  83. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_dark/nw_deco-h0.svg +0 -0
  84. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_dark/nw_deco-h1.svg +0 -0
  85. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_dark/nw_deco-h2-narrow.svg +0 -0
  86. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_dark/nw_deco-h2.svg +0 -0
  87. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_dark/nw_deco-h3-narrow.svg +0 -0
  88. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_dark/nw_deco-h3.svg +0 -0
  89. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_dark/nw_deco-h4-narrow.svg +0 -0
  90. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_dark/nw_deco-h4.svg +0 -0
  91. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_dark/nw_deco-note.svg +0 -0
  92. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_dark/nw_deco-noveltree-more.svg +0 -0
  93. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_dark/nw_font.svg +0 -0
  94. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_dark/nw_panel.svg +0 -0
  95. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_dark/nw_quote.svg +0 -0
  96. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_dark/nw_search-case.svg +0 -0
  97. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_dark/nw_search-preserve.svg +0 -0
  98. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_dark/nw_search-regex.svg +0 -0
  99. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_dark/nw_search-word.svg +0 -0
  100. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_dark/nw_tb-bold-md.svg +0 -0
  101. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_dark/nw_tb-bold.svg +0 -0
  102. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_dark/nw_tb-italic-md.svg +0 -0
  103. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_dark/nw_tb-italic.svg +0 -0
  104. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_dark/nw_tb-mark.svg +0 -0
  105. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_dark/nw_tb-strike-md.svg +0 -0
  106. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_dark/nw_tb-strike.svg +0 -0
  107. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_dark/nw_tb-subscript.svg +0 -0
  108. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_dark/nw_tb-superscript.svg +0 -0
  109. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_dark/nw_tb-underline.svg +0 -0
  110. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_dark/typ_arrow-down-thick-grey.svg +0 -0
  111. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_dark/typ_arrow-forward.svg +0 -0
  112. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_dark/typ_arrow-maximise.svg +0 -0
  113. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_dark/typ_arrow-minimise.svg +0 -0
  114. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_dark/typ_arrow-repeat-grey.svg +0 -0
  115. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_dark/typ_book-grey.svg +0 -0
  116. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_dark/typ_book.svg +0 -0
  117. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_dark/typ_bookmark.svg +0 -0
  118. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_dark/typ_calendar.svg +0 -0
  119. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_dark/typ_cancel-grey.svg +0 -0
  120. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_dark/typ_cancel.svg +0 -0
  121. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_dark/typ_chart-bar-grey.svg +0 -0
  122. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_dark/typ_chevron-down.svg +0 -0
  123. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_dark/typ_chevron-left.svg +0 -0
  124. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_dark/typ_chevron-right.svg +0 -0
  125. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_dark/typ_chevron-up.svg +0 -0
  126. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_dark/typ_cog.svg +0 -0
  127. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_dark/typ_delete-full.svg +0 -0
  128. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_dark/typ_delete.svg +0 -0
  129. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_dark/typ_directions-full.svg +0 -0
  130. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_dark/typ_document-add.svg +0 -0
  131. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_dark/typ_document-text.svg +0 -0
  132. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_dark/typ_document.svg +0 -0
  133. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_dark/typ_export-grey.svg +0 -0
  134. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_dark/typ_export.svg +0 -0
  135. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_dark/typ_eye.svg +0 -0
  136. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_dark/typ_flag.svg +0 -0
  137. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_dark/typ_folder-open.svg +0 -0
  138. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_dark/typ_folder.svg +0 -0
  139. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_dark/typ_globe-grey.svg +0 -0
  140. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_dark/typ_key.svg +0 -0
  141. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_dark/typ_lightbulb-full.svg +0 -0
  142. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_dark/typ_location.svg +0 -0
  143. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_dark/typ_media-pause-grey.svg +0 -0
  144. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_dark/typ_media-record-outline.svg +0 -0
  145. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_dark/typ_media-record.svg +0 -0
  146. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_dark/typ_minus.svg +0 -0
  147. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_dark/typ_pencil.svg +0 -0
  148. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_dark/typ_pin-outline.svg +0 -0
  149. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_dark/typ_pin.svg +0 -0
  150. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_dark/typ_plus.svg +0 -0
  151. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_dark/typ_puzzle-outline.svg +0 -0
  152. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_dark/typ_puzzle.svg +0 -0
  153. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_dark/typ_refresh-flipped.svg +0 -0
  154. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_dark/typ_refresh.svg +0 -0
  155. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_dark/typ_search-grey.svg +0 -0
  156. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_dark/typ_search.svg +0 -0
  157. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_dark/typ_star.svg +0 -0
  158. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_dark/typ_stopwatch-grey.svg +0 -0
  159. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_dark/typ_th-dot-menu.svg +0 -0
  160. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_dark/typ_th-dot-more.svg +0 -0
  161. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_dark/typ_th-list-grey.svg +0 -0
  162. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_dark/typ_th-list.svg +0 -0
  163. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_dark/typ_times.svg +0 -0
  164. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_dark/typ_trash.svg +0 -0
  165. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_dark/typ_unfold-hidden.svg +0 -0
  166. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_dark/typ_unfold-visible.svg +0 -0
  167. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_dark/typ_user.svg +0 -0
  168. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_dark/typ_warning-full.svg +0 -0
  169. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_light/README.md +0 -0
  170. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_light/icons.conf +0 -0
  171. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_light/mixed_document-chapter.svg +0 -0
  172. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_light/mixed_document-new.svg +0 -0
  173. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_light/mixed_document-note.svg +0 -0
  174. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_light/mixed_document-scene.svg +0 -0
  175. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_light/mixed_document-section.svg +0 -0
  176. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_light/mixed_document-title.svg +0 -0
  177. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_light/mixed_edit.svg +0 -0
  178. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_light/mixed_import.svg +0 -0
  179. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_light/mixed_input-checked.svg +0 -0
  180. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_light/mixed_input-none.svg +0 -0
  181. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_light/mixed_input-unchecked.svg +0 -0
  182. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_light/mixed_search-replace.svg +0 -0
  183. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_light/nw_deco-h0.svg +0 -0
  184. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_light/nw_deco-h1.svg +0 -0
  185. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_light/nw_deco-h2-narrow.svg +0 -0
  186. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_light/nw_deco-h2.svg +0 -0
  187. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_light/nw_deco-h3-narrow.svg +0 -0
  188. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_light/nw_deco-h3.svg +0 -0
  189. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_light/nw_deco-h4-narrow.svg +0 -0
  190. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_light/nw_deco-h4.svg +0 -0
  191. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_light/nw_deco-note.svg +0 -0
  192. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_light/nw_deco-noveltree-more.svg +0 -0
  193. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_light/nw_font.svg +0 -0
  194. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_light/nw_panel.svg +0 -0
  195. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_light/nw_quote.svg +0 -0
  196. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_light/nw_search-case.svg +0 -0
  197. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_light/nw_search-preserve.svg +0 -0
  198. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_light/nw_search-regex.svg +0 -0
  199. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_light/nw_search-word.svg +0 -0
  200. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_light/nw_tb-bold-md.svg +0 -0
  201. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_light/nw_tb-bold.svg +0 -0
  202. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_light/nw_tb-italic-md.svg +0 -0
  203. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_light/nw_tb-italic.svg +0 -0
  204. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_light/nw_tb-mark.svg +0 -0
  205. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_light/nw_tb-strike-md.svg +0 -0
  206. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_light/nw_tb-strike.svg +0 -0
  207. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_light/nw_tb-subscript.svg +0 -0
  208. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_light/nw_tb-superscript.svg +0 -0
  209. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_light/nw_tb-underline.svg +0 -0
  210. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_light/typ_arrow-down-thick-grey.svg +0 -0
  211. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_light/typ_arrow-forward.svg +0 -0
  212. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_light/typ_arrow-maximise.svg +0 -0
  213. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_light/typ_arrow-minimise.svg +0 -0
  214. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_light/typ_arrow-repeat-grey.svg +0 -0
  215. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_light/typ_book-grey.svg +0 -0
  216. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_light/typ_book.svg +0 -0
  217. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_light/typ_bookmark.svg +0 -0
  218. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_light/typ_calendar.svg +0 -0
  219. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_light/typ_cancel-grey.svg +0 -0
  220. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_light/typ_cancel.svg +0 -0
  221. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_light/typ_chart-bar-grey.svg +0 -0
  222. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_light/typ_chevron-down.svg +0 -0
  223. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_light/typ_chevron-left.svg +0 -0
  224. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_light/typ_chevron-right.svg +0 -0
  225. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_light/typ_chevron-up.svg +0 -0
  226. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_light/typ_cog.svg +0 -0
  227. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_light/typ_delete-full.svg +0 -0
  228. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_light/typ_delete.svg +0 -0
  229. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_light/typ_directions-full.svg +0 -0
  230. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_light/typ_document-add.svg +0 -0
  231. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_light/typ_document-text.svg +0 -0
  232. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_light/typ_document.svg +0 -0
  233. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_light/typ_export-grey.svg +0 -0
  234. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_light/typ_export.svg +0 -0
  235. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_light/typ_eye.svg +0 -0
  236. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_light/typ_flag.svg +0 -0
  237. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_light/typ_folder-open.svg +0 -0
  238. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_light/typ_folder.svg +0 -0
  239. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_light/typ_globe-grey.svg +0 -0
  240. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_light/typ_key.svg +0 -0
  241. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_light/typ_lightbulb-full.svg +0 -0
  242. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_light/typ_location.svg +0 -0
  243. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_light/typ_media-pause-grey.svg +0 -0
  244. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_light/typ_media-record-outline.svg +0 -0
  245. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_light/typ_media-record.svg +0 -0
  246. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_light/typ_minus.svg +0 -0
  247. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_light/typ_pencil.svg +0 -0
  248. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_light/typ_pin-outline.svg +0 -0
  249. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_light/typ_pin.svg +0 -0
  250. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_light/typ_plus.svg +0 -0
  251. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_light/typ_puzzle-outline.svg +0 -0
  252. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_light/typ_puzzle.svg +0 -0
  253. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_light/typ_refresh-flipped.svg +0 -0
  254. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_light/typ_refresh.svg +0 -0
  255. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_light/typ_search-grey.svg +0 -0
  256. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_light/typ_search.svg +0 -0
  257. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_light/typ_star.svg +0 -0
  258. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_light/typ_stopwatch-grey.svg +0 -0
  259. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_light/typ_th-dot-menu.svg +0 -0
  260. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_light/typ_th-dot-more.svg +0 -0
  261. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_light/typ_th-list-grey.svg +0 -0
  262. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_light/typ_th-list.svg +0 -0
  263. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_light/typ_times.svg +0 -0
  264. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_light/typ_trash.svg +0 -0
  265. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_light/typ_unfold-hidden.svg +0 -0
  266. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_light/typ_unfold-visible.svg +0 -0
  267. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_light/typ_user.svg +0 -0
  268. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/typicons_light/typ_warning-full.svg +0 -0
  269. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/x-novelwriter-project.ico +0 -0
  270. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/icons/x-novelwriter-project.svg +0 -0
  271. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/images/novelwriter-text-dark.svg +0 -0
  272. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/images/novelwriter-text-light.svg +0 -0
  273. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/images/welcome-dark.jpg +0 -0
  274. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/images/welcome-light.jpg +0 -0
  275. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/syntax/cyberpunk_night.conf +0 -0
  276. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/syntax/default_dark.conf +0 -0
  277. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/syntax/default_light.conf +0 -0
  278. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/syntax/dracula.conf +0 -0
  279. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/syntax/grey_dark.conf +0 -0
  280. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/syntax/grey_light.conf +0 -0
  281. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/syntax/light_owl.conf +0 -0
  282. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/syntax/night_owl.conf +0 -0
  283. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/syntax/snazzy.conf +0 -0
  284. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/syntax/solarized_dark.conf +0 -0
  285. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/syntax/solarized_light.conf +0 -0
  286. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/syntax/tango.conf +0 -0
  287. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/syntax/tomorrow.conf +0 -0
  288. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/syntax/tomorrow_night.conf +0 -0
  289. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/syntax/tomorrow_night_blue.conf +0 -0
  290. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/syntax/tomorrow_night_bright.conf +0 -0
  291. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/syntax/tomorrow_night_eighties.conf +0 -0
  292. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/text/lipsum.txt +0 -0
  293. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/themes/cyberpunk_night.conf +0 -0
  294. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/themes/default.conf +0 -0
  295. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/themes/default_dark.conf +0 -0
  296. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/themes/default_light.conf +0 -0
  297. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/themes/dracula.conf +0 -0
  298. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/themes/solarized_dark.conf +0 -0
  299. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/assets/themes/solarized_light.conf +0 -0
  300. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/config.py +0 -0
  301. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/constants.py +0 -0
  302. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/core/buildsettings.py +0 -0
  303. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/core/coretools.py +0 -0
  304. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/core/docbuild.py +0 -0
  305. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/core/document.py +0 -0
  306. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/core/index.py +0 -0
  307. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/core/item.py +0 -0
  308. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/core/options.py +0 -0
  309. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/core/projectdata.py +0 -0
  310. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/core/projectxml.py +0 -0
  311. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/core/sessions.py +0 -0
  312. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/core/spellcheck.py +0 -0
  313. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/core/tohtml.py +0 -0
  314. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/core/tomarkdown.py +0 -0
  315. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/core/toodt.py +0 -0
  316. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/core/tree.py +0 -0
  317. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/dialogs/about.py +0 -0
  318. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/dialogs/docmerge.py +0 -0
  319. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/dialogs/docsplit.py +0 -0
  320. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/dialogs/editlabel.py +0 -0
  321. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/dialogs/quotes.py +0 -0
  322. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/dialogs/wordlist.py +0 -0
  323. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/enum.py +0 -0
  324. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/error.py +0 -0
  325. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/extensions/eventfilters.py +0 -0
  326. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/extensions/modified.py +0 -0
  327. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/extensions/novelselector.py +0 -0
  328. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/extensions/pagedsidebar.py +0 -0
  329. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/extensions/progressbars.py +0 -0
  330. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/extensions/switch.py +0 -0
  331. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/extensions/switchbox.py +0 -0
  332. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/extensions/versioninfo.py +0 -0
  333. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/gui/dochighlight.py +0 -0
  334. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/gui/editordocument.py +0 -0
  335. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/gui/itemdetails.py +0 -0
  336. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/gui/mainmenu.py +0 -0
  337. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/gui/noveltree.py +0 -0
  338. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/gui/search.py +0 -0
  339. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/gui/sidebar.py +0 -0
  340. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/gui/statusbar.py +0 -0
  341. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/gui/theme.py +0 -0
  342. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/text/counting.py +0 -0
  343. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/text/patterns.py +0 -0
  344. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/tools/dictionaries.py +0 -0
  345. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/tools/lipsum.py +0 -0
  346. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/tools/manusbuild.py +0 -0
  347. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/tools/manuscript.py +0 -0
  348. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/tools/manussettings.py +0 -0
  349. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/tools/noveldetails.py +0 -0
  350. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/tools/writingstats.py +0 -0
  351. {novelwriter-2.5rc1 → novelwriter-2.5.1}/novelwriter/types.py +0 -0
  352. {novelwriter-2.5rc1 → novelwriter-2.5.1}/pyproject.toml +0 -0
  353. {novelwriter-2.5rc1 → novelwriter-2.5.1}/setup/appimage_launcher.sh +0 -0
  354. {novelwriter-2.5rc1 → novelwriter-2.5.1}/setup/data/hicolor/128x128/apps/novelwriter.png +0 -0
  355. {novelwriter-2.5rc1 → novelwriter-2.5.1}/setup/data/hicolor/128x128/mimetypes/application-x-novelwriter-project.png +0 -0
  356. {novelwriter-2.5rc1 → novelwriter-2.5.1}/setup/data/hicolor/16x16/apps/novelwriter.png +0 -0
  357. {novelwriter-2.5rc1 → novelwriter-2.5.1}/setup/data/hicolor/16x16/mimetypes/application-x-novelwriter-project.png +0 -0
  358. {novelwriter-2.5rc1 → novelwriter-2.5.1}/setup/data/hicolor/24x24/apps/novelwriter.png +0 -0
  359. {novelwriter-2.5rc1 → novelwriter-2.5.1}/setup/data/hicolor/24x24/mimetypes/application-x-novelwriter-project.png +0 -0
  360. {novelwriter-2.5rc1 → novelwriter-2.5.1}/setup/data/hicolor/256x256/apps/novelwriter.png +0 -0
  361. {novelwriter-2.5rc1 → novelwriter-2.5.1}/setup/data/hicolor/256x256/mimetypes/application-x-novelwriter-project.png +0 -0
  362. {novelwriter-2.5rc1 → novelwriter-2.5.1}/setup/data/hicolor/32x32/apps/novelwriter.png +0 -0
  363. {novelwriter-2.5rc1 → novelwriter-2.5.1}/setup/data/hicolor/32x32/mimetypes/application-x-novelwriter-project.png +0 -0
  364. {novelwriter-2.5rc1 → novelwriter-2.5.1}/setup/data/hicolor/48x48/apps/novelwriter.png +0 -0
  365. {novelwriter-2.5rc1 → novelwriter-2.5.1}/setup/data/hicolor/48x48/mimetypes/application-x-novelwriter-project.png +0 -0
  366. {novelwriter-2.5rc1 → novelwriter-2.5.1}/setup/data/hicolor/512x512/apps/novelwriter.png +0 -0
  367. {novelwriter-2.5rc1 → novelwriter-2.5.1}/setup/data/hicolor/512x512/mimetypes/application-x-novelwriter-project.png +0 -0
  368. {novelwriter-2.5rc1 → novelwriter-2.5.1}/setup/data/hicolor/64x64/apps/novelwriter.png +0 -0
  369. {novelwriter-2.5rc1 → novelwriter-2.5.1}/setup/data/hicolor/64x64/mimetypes/application-x-novelwriter-project.png +0 -0
  370. {novelwriter-2.5rc1 → novelwriter-2.5.1}/setup/data/hicolor/scalable/apps/novelwriter.svg +0 -0
  371. {novelwriter-2.5rc1 → novelwriter-2.5.1}/setup/data/hicolor/scalable/mimetypes/application-x-novelwriter-project.svg +0 -0
  372. {novelwriter-2.5rc1 → novelwriter-2.5.1}/setup/data/novelwriter.desktop +0 -0
  373. {novelwriter-2.5rc1 → novelwriter-2.5.1}/setup/data/novelwriter.png +0 -0
  374. {novelwriter-2.5rc1 → novelwriter-2.5.1}/setup/data/x-novelwriter-project.xml +0 -0
  375. {novelwriter-2.5rc1 → novelwriter-2.5.1}/setup/debian/compat +0 -0
  376. {novelwriter-2.5rc1 → novelwriter-2.5.1}/setup/debian/control +0 -0
  377. {novelwriter-2.5rc1 → novelwriter-2.5.1}/setup/debian/copyright +0 -0
  378. {novelwriter-2.5rc1 → novelwriter-2.5.1}/setup/debian/install +0 -0
  379. {novelwriter-2.5rc1 → novelwriter-2.5.1}/setup/debian/py3dist-overrides +0 -0
  380. {novelwriter-2.5rc1 → novelwriter-2.5.1}/setup/debian/rules +0 -0
  381. {novelwriter-2.5rc1 → novelwriter-2.5.1}/setup/debian/source/format +0 -0
  382. {novelwriter-2.5rc1 → novelwriter-2.5.1}/setup/description_pypi.md +0 -0
  383. {novelwriter-2.5rc1 → novelwriter-2.5.1}/setup/description_short.txt +0 -0
  384. {novelwriter-2.5rc1 → novelwriter-2.5.1}/setup/icons/novelwriter.ico +0 -0
  385. {novelwriter-2.5rc1 → novelwriter-2.5.1}/setup/icons/novelwriter.svg +0 -0
  386. {novelwriter-2.5rc1 → novelwriter-2.5.1}/setup/icons/x-novelwriter-project.ico +0 -0
  387. {novelwriter-2.5rc1 → novelwriter-2.5.1}/setup/icons/x-novelwriter-project.svg +0 -0
  388. {novelwriter-2.5rc1 → novelwriter-2.5.1}/setup/iss_license.txt +0 -0
  389. {novelwriter-2.5rc1 → novelwriter-2.5.1}/setup/launchpad_setup.cfg +0 -0
  390. {novelwriter-2.5rc1 → novelwriter-2.5.1}/setup/macos/App.entitlements +0 -0
  391. {novelwriter-2.5rc1 → novelwriter-2.5.1}/setup/macos/Info.plist.template +0 -0
  392. {novelwriter-2.5rc1 → novelwriter-2.5.1}/setup/macos/build.sh +0 -0
  393. {novelwriter-2.5rc1 → novelwriter-2.5.1}/setup/macos/novelwriter.iconset/icon_128x128.png +0 -0
  394. {novelwriter-2.5rc1 → novelwriter-2.5.1}/setup/macos/novelwriter.iconset/icon_128x128@2x.png +0 -0
  395. {novelwriter-2.5rc1 → novelwriter-2.5.1}/setup/macos/novelwriter.iconset/icon_16x16.png +0 -0
  396. {novelwriter-2.5rc1 → novelwriter-2.5.1}/setup/macos/novelwriter.iconset/icon_16x16@2x.png +0 -0
  397. {novelwriter-2.5rc1 → novelwriter-2.5.1}/setup/macos/novelwriter.iconset/icon_256x256.png +0 -0
  398. {novelwriter-2.5rc1 → novelwriter-2.5.1}/setup/macos/novelwriter.iconset/icon_256x256@2x.png +0 -0
  399. {novelwriter-2.5rc1 → novelwriter-2.5.1}/setup/macos/novelwriter.iconset/icon_32x32.png +0 -0
  400. {novelwriter-2.5rc1 → novelwriter-2.5.1}/setup/macos/novelwriter.iconset/icon_32x32@2x.png +0 -0
  401. {novelwriter-2.5rc1 → novelwriter-2.5.1}/setup/macos/novelwriter.iconset/icon_512x512.png +0 -0
  402. {novelwriter-2.5rc1 → novelwriter-2.5.1}/setup/macos/novelwriter.iconset/icon_512x512@2x.png +0 -0
  403. {novelwriter-2.5rc1 → novelwriter-2.5.1}/setup/make_clean.sh +0 -0
  404. {novelwriter-2.5rc1 → novelwriter-2.5.1}/setup/novelwriter.appdata.xml +0 -0
  405. {novelwriter-2.5rc1 → novelwriter-2.5.1}/setup/novelwriter_readme.png +0 -0
  406. {novelwriter-2.5rc1 → novelwriter-2.5.1}/setup/novelwriter_text.png +0 -0
  407. {novelwriter-2.5rc1 → novelwriter-2.5.1}/setup.cfg +0 -0
@@ -1,5 +1,97 @@
1
1
  # novelWriter Changelog
2
2
 
3
+ ## Version 2.5.1 [2024-07-28]
4
+
5
+ ### Release Notes
6
+
7
+ This is a patch release that fixes an issue with the lock file being left in the project when the
8
+ project open is cancelled, a few issues with custom input boxes in Preferences, and a usability
9
+ issue when selecting to edit a tag or reference from the Tags and References panel as well as fixed
10
+ an issue with the Importance labels not being updated in the tabs for tags.
11
+
12
+ ### Detailed Changelog
13
+
14
+ **Bugfixes**
15
+
16
+ * Fixes an issue where the project lock file was created before certain checks where the user could
17
+ cancel the project open process, leaving a lock file in the project folder behind. Issue #1977.
18
+ PR #1978.
19
+ * Fixes an issue where the user could add spaces to the pad before and after Preference settings,
20
+ which would pad every space entered into the text. The Preferences settings no longer accept any
21
+ white spaces in these boxes (they are removed on save) and also strips duplicate character
22
+ entries. Issue #1985. PR #1986.
23
+ * The narrator break and dialog symbol Preference text boxes will now be cleared if the settings is
24
+ a white space. PR #1986.
25
+ * Fixed an issue where Importance labels were not updated in the viewer panel's tags tabs when they
26
+ where changed in Project Settings. Issue #1992. PR #1993.
27
+
28
+ **Usability**
29
+
30
+ * When selecting to edit a tag or reference from the panel below the Document Viewer, the editor
31
+ now scrolls to the relevant heading as it does in the viewer. Issue #1983. PR #1987.
32
+
33
+ **Internationalisation**
34
+
35
+ * Latin American Spanish translation updated by Tommy Marplatt (@tmarplatt). PR #1989.
36
+
37
+ ----
38
+
39
+ ## Version 2.5 [2024-07-10]
40
+
41
+ ### Release Notes
42
+
43
+ The 2.5 release fixes a number of minor issues from the RC 1 pre-release, and updates most
44
+ translation files. Polish has also been added.
45
+
46
+ See the website for complete [Release Notes](https://novelwriter.io/releases/release_2_5.html).
47
+
48
+ ### Detailed Changelog
49
+
50
+ **Bugfixes**
51
+
52
+ * Fix an issue with unresponsiveness when switching from Outline View to Tree View with a keyboard
53
+ shortcut. Issue #1949. PR #1954.
54
+ * Fix an issue with switching focus between editor and viewer when the viewer is hidden.
55
+ Issue #1950. PR #1954.
56
+ * Fix an issue with first line indentation where it would sometimes indent first paragraph when it
57
+ should not. Issue #1965. PR #1971.
58
+
59
+ **Usability**
60
+
61
+ * Remove the "Apply" button from Preferences as changing theme does not updated the Preferences
62
+ dialog, which is unexpected behaviour. The Preferences dialog is now also consistent with other
63
+ settings dialogs. Issue #1951. PR #1954.
64
+ * Improved the error messages when opening a project fails. Issue #1944. PR #1956.
65
+ * Make sure the Project Name is selected and in focus when switching to the New Project Form on the
66
+ Welcome dialog. Issue #1967. PR #1968.
67
+
68
+ **Improvements**
69
+
70
+ * Add first line indentation to Manuscript previews. Issue #1961. PR #1962.
71
+
72
+ **Internationalisation**
73
+
74
+ * Norwegian and US English translations updated by @vkbo. PR #1955.
75
+ * German translation updated by Myian (@HeyMyian). PR #1955.
76
+ * Italian translation updated by Lou Cyper (loucyper1). PR #1955.
77
+ * Dutch translation updated by Martijn van der Kleijn (mvdkleijn). PR #1955.
78
+ * Chinese translation updated by @longqzh. PR #1955.
79
+ * Portuguese translation updated by Oli Maia. PR #1955.
80
+ * Japanese translation updated by @hebekeg. PR #1955.
81
+ * French translation updated by Albert Aribaud (@aaribaud). PR #1955.
82
+ * Polish translation added by Anna Maria Polak (@Nauthiz). PR #1955.
83
+
84
+ **Packaging**
85
+
86
+ * Rewrote the packaging utilities script. Windows builds are now created in GitHub actions, which
87
+ is needed for signed packages when this is enabled. PRs #1958 and #1959.
88
+
89
+ **Documentation**
90
+
91
+ * Updated the documentation for 2.5. PR #1928.
92
+
93
+ ----
94
+
3
95
  ## Version 2.5 RC 1 [2024-06-22]
4
96
 
5
97
  ### Release Notes
@@ -0,0 +1,75 @@
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
+ * **Dutch:** Martijn van der Kleijn (mvdkleijn)
25
+ * **French:** Jan Lüdke (jyhelle)
26
+ * **German:** Myian (HeyMyian)
27
+ * **Italian:** Riccardo Mangili
28
+ * **Japanese:** hebekeg
29
+ * **Latin American Spanish:** Tommy Marplatt (tmarplatt)
30
+ * **Norwegian:** Veronica Berglyd Olsen (vkbo)
31
+ * **Polish:** Anna Maria Polak (Nauthiz)
32
+ * **Portuguese:** Bruno Meneguello (bkmeneguello)
33
+ * **Simplified Chinese:** Qianzhi Long (longqzh)
34
+
35
+ Additional larger translation contributions:
36
+
37
+ * **French:** Albert Aribaud (aaribaud)
38
+ * **Portuguese:** Oli Maia (olimaia)
39
+
40
+ Translations are managed on [Crowdin](https://crowdin.com/project/novelwriter), and more
41
+ contributions are listed on the project's Members page.
42
+
43
+ ## Libraries
44
+
45
+ The following libraries are dependencies of novelWriter:
46
+
47
+ * **Qt5** by Qt Company
48
+ * **PyQt5** by Riverbank Computing
49
+ * **Enchant** by Dom Lachowicz
50
+ * **PyEnchant** by Dimitri Merejkowsky
51
+
52
+ ## Assets
53
+
54
+ Some of the assets bundled with novelWriter were adapted from the following sources:
55
+
56
+ * **Typicons** icons by Stephen Hutchings (CC BY-SA 4.0)
57
+ * **Tomorrow** syntax themes by Chris Kempson (MIT License)
58
+ * **Owl** syntax themes by Sarah Drasner (MIT License)
59
+ * **Solarized** themes by Ethan Schoonover (MIT License)
60
+ * **Cyberpunk Night** theme by Anders Lemvigh (CC BY-SA 4.0)
61
+ * **Dracula** theme by Zeno Rocha (MIT License)
62
+ * **Snazzy Light** theme by Florian Reuschel (MIT License)
63
+
64
+ ## Fonts
65
+
66
+ The font used for the main novelWriter logo, mimetype and text banners is Pridi. Other fonts are
67
+ used on buttons and icons.
68
+
69
+ * **Pridi** by Cadson Demak (Open Font License, Version 1.1)
70
+ * **Source Sans Pro** by Paul D. Hunt (SIL Open Font License)
71
+
72
+ ## Special Mentions
73
+
74
+ Additional thanks to John Blommers who was an early user and who has provided a lot of very useful
75
+ feedback over the years.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: novelWriter
3
- Version: 2.5rc1
3
+ Version: 2.5.1
4
4
  Summary: A markdown-like text editor for planning and writing novels
5
5
  Author-email: Veronica Berglyd Olsen <code@vkbo.net>
6
6
  License: GNU General Public License v3
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: novelWriter
3
- Version: 2.5rc1
3
+ Version: 2.5.1
4
4
  Summary: A markdown-like text editor for planning and writing novels
5
5
  Author-email: Veronica Berglyd Olsen <code@vkbo.net>
6
6
  License: GNU General Public License v3
@@ -30,6 +30,7 @@ novelwriter/assets/i18n/nw_it_IT.qm
30
30
  novelwriter/assets/i18n/nw_ja_JP.qm
31
31
  novelwriter/assets/i18n/nw_nb_NO.qm
32
32
  novelwriter/assets/i18n/nw_nl_NL.qm
33
+ novelwriter/assets/i18n/nw_pl_PL.qm
33
34
  novelwriter/assets/i18n/nw_pt_BR.qm
34
35
  novelwriter/assets/i18n/nw_zh_CN.qm
35
36
  novelwriter/assets/i18n/project_de_DE.json
@@ -42,6 +43,7 @@ novelwriter/assets/i18n/project_ja_JP.json
42
43
  novelwriter/assets/i18n/project_nb_NO.json
43
44
  novelwriter/assets/i18n/project_nl_NL.json
44
45
  novelwriter/assets/i18n/project_nn_NO.json
46
+ novelwriter/assets/i18n/project_pl_PL.json
45
47
  novelwriter/assets/i18n/project_pt_BR.json
46
48
  novelwriter/assets/i18n/project_ru_RU.json
47
49
  novelwriter/assets/i18n/project_zh_CN.json
@@ -47,9 +47,9 @@ __license__ = "GPLv3"
47
47
  __author__ = "Veronica Berglyd Olsen"
48
48
  __maintainer__ = "Veronica Berglyd Olsen"
49
49
  __email__ = "code@vkbo.net"
50
- __version__ = "2.5rc1"
51
- __hexversion__ = "0x020500c1"
52
- __date__ = "2024-06-22"
50
+ __version__ = "2.5.1"
51
+ __hexversion__ = "0x020501f0"
52
+ __date__ = "2024-07-28"
53
53
  __status__ = "Stable"
54
54
  __domain__ = "novelwriter.io"
55
55
 
@@ -0,0 +1,116 @@
1
+ {
2
+ "Synopsis": "Streszczenie",
3
+ "Short Description": "Krótki opis",
4
+ "Comment": "Komentarz",
5
+ "Notes": "Notatki",
6
+ "Tag": "Znacznik",
7
+ "Point of View": "Punkt widzenia",
8
+ "Focus": "Skupienie",
9
+ "Characters": "Postacie",
10
+ "Plot": "Fabuła",
11
+ "Timeline": "Oś czasu",
12
+ "Locations": "Miejsca",
13
+ "Objects": "Obiekty",
14
+ "Entities": "Podmioty",
15
+ "Custom": "Różne",
16
+ "0": "zero",
17
+ "1": "pierwszy",
18
+ "2": "drugi",
19
+ "3": "trzeci",
20
+ "4": "czwarty",
21
+ "5": "piąty",
22
+ "6": "szósty",
23
+ "7": "siódmy",
24
+ "8": "ósmy",
25
+ "9": "dziewiąty",
26
+ "10": "dziesiąty",
27
+ "11": "jedenasty",
28
+ "12": "dwunasty",
29
+ "13": "trzynasty",
30
+ "14": "czternasty",
31
+ "15": "piętnasty",
32
+ "16": "szesnasty",
33
+ "17": "siedemnasty",
34
+ "18": "osiemnasty",
35
+ "19": "dziewiętnasty",
36
+ "20": "dwudziesty",
37
+ "21": "dwudziesty pierwszy",
38
+ "22": "dwudziesty drugi",
39
+ "23": "dwudziesty Trzeci",
40
+ "24": "dwudziesty czwarty",
41
+ "25": "dwudziesty piąty",
42
+ "26": "dwudziesty szósty",
43
+ "27": "dwudziesty siódmy",
44
+ "28": "dwudziesty ósmy",
45
+ "29": "dwudziesty dziewiąty",
46
+ "30": "trzydziesty",
47
+ "31": "trzydziesty pierwszy",
48
+ "32": "trzydziesty drugi",
49
+ "33": "trzydziesty trzeci",
50
+ "34": "trzydziesty czwarty",
51
+ "35": "trzydziesty piąty",
52
+ "36": "trzydziesty szósty",
53
+ "37": "trzydziesty siódmy",
54
+ "38": "trzydziesty ósmy",
55
+ "39": "trzydziesty dziewiaty",
56
+ "40": "czterdziesty",
57
+ "41": "czterdziesty pierwszy",
58
+ "42": "czterdziesty drugi",
59
+ "43": "czterdziesty Trzeci",
60
+ "44": "czterdziesty czwarty",
61
+ "45": "czterdziesty piąty",
62
+ "46": "czterdziesty szósty",
63
+ "47": "czterdziesty siódmy",
64
+ "48": "czterdziesty ósmy",
65
+ "49": "czterdziesty dziewiąty",
66
+ "50": "pięćdziesiąty",
67
+ "51": "pięćdziesiąty pierwszy",
68
+ "52": "pięćdziesiąty drugi",
69
+ "53": "pięćdziesiąty trzeci",
70
+ "54": "pięćdziesiąty czwarty",
71
+ "55": "pięćdziesiąty piąty",
72
+ "56": "pięćdziesiąty szósty",
73
+ "57": "pięćdziesiąty siódmy",
74
+ "58": "pięćdziesiąty ósmy",
75
+ "59": "pięćdziesiąty dziewiąty",
76
+ "60": "sześćdziesiąty",
77
+ "61": "sześćdziesiąty pierwszy",
78
+ "62": "sześćdziesiąty drugi",
79
+ "63": "sześćdziesiąty trzeci",
80
+ "64": "sześćdziesiąty czwarty",
81
+ "65": "sześćdziesiąty piąty",
82
+ "66": "sześćdziesiąty szósty",
83
+ "67": "sześćdziesiąty siódmy",
84
+ "68": "sześćdziesiąty ósmy",
85
+ "69": "sześćdziesiąty dziewiąty",
86
+ "70": "siedemdziesiąty",
87
+ "71": "siedemdziesiąty pierwszy",
88
+ "72": "siedemdziesiąty drugi",
89
+ "73": "siedemdziesiąty trzeci",
90
+ "74": "siedemdziesiąty czwarty",
91
+ "75": "siedemdziesiąty piąty",
92
+ "76": "siedemdziesiąty szósty",
93
+ "77": "siedemdziesiąty siódmy",
94
+ "78": "siedemdziesiąty ósmy",
95
+ "79": "siedemdziesiąty dziewiąty",
96
+ "80": "osiemdziesiąty",
97
+ "81": "osiemdziesiąty pierwszy",
98
+ "82": "osiemdziesiąty drugi",
99
+ "83": "osiemdziesiąty trzeci",
100
+ "84": "osiemdziesiąty czwarty",
101
+ "85": "osiemdziesiąty piąty",
102
+ "86": "osiemdziesiąty szósty",
103
+ "87": "osiemdziesiąty siódmy",
104
+ "88": "osiemdziesiąty ósmy",
105
+ "89": "osiemdziesiąty dziewiąty",
106
+ "90": "dziewięćdziesiąty",
107
+ "91": "dziewięćdziesiąty pierwszy",
108
+ "92": "dziewięćdziesiąty drugi",
109
+ "93": "dziewięćdziesiąty trzeci",
110
+ "94": "dziewięćdziesiąty czwarty",
111
+ "95": "dziewięćdziesiąty piąty",
112
+ "96": "dziewięćdziesiąty szósty",
113
+ "97": "dziewięćdziesiąty siódmy",
114
+ "98": "dziewięćdziesiąty ósmy",
115
+ "99": "dziewięćdziesiąty dziewiąty"
116
+ }
@@ -0,0 +1,92 @@
1
+ <html>
2
+ <body>
3
+
4
+ <h3>Main Developer</h3>
5
+
6
+ <p>Veronica Berglyd Olsen</p>
7
+
8
+ <h3>Contributors</h3>
9
+
10
+ <ul>
11
+ <li><b>Early Concept:</b> Marian Lückhof</li>
12
+ <li><b>Internationalisation:</b> Bruno Meneguello</li>
13
+ <li><b>Setup and Packaging:</b> Rachel Powers</li>
14
+ </ul>
15
+
16
+ <p>For other contributions, see the project's
17
+ <a href="https://github.com/vkbo/novelWriter/graphs/contributors">Contributors</a> page.</p>
18
+
19
+ <h3>Artwork</h3>
20
+
21
+ <p>The artwork on the Welcome dialog was created by Louis Durrant.</p>
22
+
23
+ <h3>Translations</h3>
24
+
25
+ <p>The default language is English (UK) with English (US) as an option. These are the original
26
+ translators for the languages currently available:</p>
27
+
28
+ <ul>
29
+ <li><b>Dutch:</b> Martijn van der Kleijn (mvdkleijn)</li>
30
+ <li><b>French:</b> Jan Lüdke (jyhelle)</li>
31
+ <li><b>German:</b> Myian (HeyMyian)</li>
32
+ <li><b>Italian:</b> Riccardo Mangili</li>
33
+ <li><b>Japanese:</b> hebekeg</li>
34
+ <li><b>Latin American Spanish:</b> Tommy Marplatt (tmarplatt)</li>
35
+ <li><b>Norwegian:</b> Veronica Berglyd Olsen (vkbo)</li>
36
+ <li><b>Polish:</b> Anna Maria Polak (Nauthiz)</li>
37
+ <li><b>Portuguese:</b> Bruno Meneguello (bkmeneguello)</li>
38
+ <li><b>Simplified Chinese:</b> Qianzhi Long (longqzh)</li>
39
+ </ul>
40
+
41
+ <p>Additional larger translation contributions:</p>
42
+
43
+ <ul>
44
+ <li><b>French:</b> Albert Aribaud (aaribaud)</li>
45
+ <li><b>Portuguese:</b> Oli Maia (olimaia)</li>
46
+ </ul>
47
+
48
+ <p>Translations are managed on <a href="https://crowdin.com/project/novelwriter">Crowdin</a>, and
49
+ more contributions are listed on the project's Members page.</p>
50
+
51
+ <h3>Libraries</h3>
52
+
53
+ <p>The following libraries are dependencies of novelWriter:</p>
54
+
55
+ <ul>
56
+ <li><b>Qt5</b> by Qt Company</li>
57
+ <li><b>PyQt5</b> by Riverbank Computing</li>
58
+ <li><b>Enchant</b> by Dom Lachowicz</li>
59
+ <li><b>PyEnchant</b> by Dimitri Merejkowsky</li>
60
+ </ul>
61
+
62
+ <h3>Assets</h3>
63
+
64
+ <p>Some of the assets bundled with novelWriter were adapted from the following sources:</p>
65
+
66
+ <ul>
67
+ <li><b>Typicons</b> icons by Stephen Hutchings (CC BY-SA 4.0)</li>
68
+ <li><b>Tomorrow</b> syntax themes by Chris Kempson (MIT License)</li>
69
+ <li><b>Owl</b> syntax themes by Sarah Drasner (MIT License)</li>
70
+ <li><b>Solarized</b> themes by Ethan Schoonover (MIT License)</li>
71
+ <li><b>Cyberpunk Night</b> theme by Anders Lemvigh (CC BY-SA 4.0)</li>
72
+ <li><b>Dracula</b> theme by Zeno Rocha (MIT License)</li>
73
+ <li><b>Snazzy Light</b> theme by Florian Reuschel (MIT License)</li>
74
+ </ul>
75
+
76
+ <h3>Fonts</h3>
77
+
78
+ <p>The font used for the main novelWriter logo, mimetype and text banners is Pridi. Other fonts are
79
+ used on buttons and icons.</p>
80
+
81
+ <ul>
82
+ <li><b>Pridi</b> by Cadson Demak (Open Font License, Version 1.1)</li>
83
+ <li><b>Source Sans Pro</b> by Paul D. Hunt (SIL Open Font License)</li>
84
+ </ul>
85
+
86
+ <h3>Special Mentions</h3>
87
+
88
+ <p>Additional thanks to John Blommers who was an early user and who has provided a lot of very
89
+ useful feedback over the years.</p>
90
+
91
+ </body>
92
+ </html>
@@ -279,6 +279,16 @@ def simplified(text: str) -> str:
279
279
  return " ".join(str(text).strip().split())
280
280
 
281
281
 
282
+ def compact(text: str) -> str:
283
+ """Compact a string by removing spaces."""
284
+ return "".join(str(text).split())
285
+
286
+
287
+ def uniqueCompact(text: str) -> str:
288
+ """Return a unique, compact and sorted string."""
289
+ return "".join(sorted(set(compact(text))))
290
+
291
+
282
292
  def elide(text: str, length: int) -> str:
283
293
  """Elide a piece of text to a maximum length."""
284
294
  if len(text) > (cut := max(4, length)):
@@ -254,13 +254,23 @@ class NWProject:
254
254
  status = self._storage.initProjectStorage(projPath, clearLock)
255
255
  if status != NWStorageOpen.READY:
256
256
  if status == NWStorageOpen.UNKOWN:
257
- SHARED.error(self.tr("Not a known project file format."))
257
+ SHARED.error(
258
+ self.tr("Not a known project file format."),
259
+ info=self.tr("Path: {0}").format(str(projPath))
260
+ )
258
261
  elif status == NWStorageOpen.NOT_FOUND:
259
- SHARED.error(self.tr("Project file not found."))
262
+ SHARED.error(
263
+ self.tr("Project file not found."),
264
+ info=self.tr("Path: {0}").format(str(projPath))
265
+ )
266
+ elif status == NWStorageOpen.FAILED:
267
+ SHARED.error(
268
+ self.tr("Failed to open project."),
269
+ info=self.tr("Path: {0}").format(str(projPath)),
270
+ exc=self._storage.exc
271
+ )
260
272
  elif status == NWStorageOpen.LOCKED:
261
273
  self._state = NWProjectState.LOCKED
262
- elif status == NWStorageOpen.FAILED:
263
- SHARED.error(self.tr("Failed to open project."), exc=self._storage.exc)
264
274
  return False
265
275
 
266
276
  # Read Project XML
@@ -346,6 +356,7 @@ class NWProject:
346
356
  self.setProjectChanged(False)
347
357
  self._valid = True
348
358
  self._state = NWProjectState.READY
359
+ self._storage.lockSession() # Lock only after a successful open. See issue #1977.
349
360
 
350
361
  SHARED.newStatusMessage(self.tr("Opened Project: {0}").format(self._data.name))
351
362
 
@@ -121,7 +121,7 @@ class NWStatus:
121
121
  return key
122
122
 
123
123
  def update(self, update: list[tuple[str | None, StatusEntry]]) -> None:
124
- """Update the list of statuses, and from removed list."""
124
+ """Update the list of statuses."""
125
125
  self._store.clear()
126
126
  for key, entry in update:
127
127
  self._store[self._checkKey(key)] = entry
@@ -130,6 +130,9 @@ class NWStatus:
130
130
  if self._default not in self._store:
131
131
  self._default = next(iter(self._store)) if self._store else None
132
132
 
133
+ # Emit the change signal
134
+ SHARED.projectSingalProxy({"event": "statusLabels", "kind": self._prefix})
135
+
133
136
  return
134
137
 
135
138
  def check(self, value: str) -> str:
@@ -235,7 +235,6 @@ class NWStorage:
235
235
  if child.is_dir() and child.name.startswith("data_"):
236
236
  legacy.legacyDataFolder(basePath, child)
237
237
 
238
- self._writeLockFile()
239
238
  self._ready = True
240
239
 
241
240
  return NWStorageOpen.READY
@@ -249,6 +248,12 @@ class NWStorage:
249
248
  return True
250
249
  return True
251
250
 
251
+ def lockSession(self) -> None:
252
+ """Lock the session when the project is successfully opened."""
253
+ if self._ready:
254
+ self._writeLockFile()
255
+ return
256
+
252
257
  def closeSession(self) -> None:
253
258
  """Run tasks related to closing the session."""
254
259
  self._clearLockFile()
@@ -198,6 +198,7 @@ class Tokenizer(ABC):
198
198
  # Instance Variables
199
199
  self._hFormatter = HeadingFormatter(self._project)
200
200
  self._noSep = True # Flag to indicate that we don't want a scene separator
201
+ self._noIndent = False # Flag to disable text indent on next paragraph
201
202
  self._showDialog = False # Flag for dialogue highlighting
202
203
 
203
204
  # This File
@@ -873,7 +874,6 @@ class Tokenizer(ABC):
873
874
  pLines: list[T_Token] = []
874
875
 
875
876
  tCount = len(tokens)
876
- pIndent = True
877
877
  for n, cToken in enumerate(tokens):
878
878
 
879
879
  if n > 0:
@@ -881,11 +881,11 @@ class Tokenizer(ABC):
881
881
  if n < tCount - 1:
882
882
  nToken = tokens[n+1] # Look ahead
883
883
 
884
- if not self._indentFirst and cToken[0] in self.L_SKIP_INDENT:
884
+ if cToken[0] in self.L_SKIP_INDENT and not self._indentFirst:
885
885
  # Unless the indentFirst flag is set, we set up the next
886
886
  # paragraph to not be indented if we see a block of a
887
887
  # specific type
888
- pIndent = False
888
+ self._noIndent = True
889
889
 
890
890
  if cToken[0] == self.T_EMPTY:
891
891
  # We don't need to keep the empty lines after this pass
@@ -910,7 +910,7 @@ class Tokenizer(ABC):
910
910
  # Next token is not text, so we add the buffer to tokens
911
911
  nLines = len(pLines)
912
912
  cStyle = pLines[0][4]
913
- if self._firstIndent and pIndent and not cStyle & self.M_ALIGNED:
913
+ if self._firstIndent and not (self._noIndent or cStyle & self.M_ALIGNED):
914
914
  # If paragraph indentation is enabled, not temporarily
915
915
  # turned off, and the block is not aligned, we add the
916
916
  # text indentation flag
@@ -938,7 +938,7 @@ class Tokenizer(ABC):
938
938
 
939
939
  # Reset buffer and make sure text indent is on for next pass
940
940
  pLines = []
941
- pIndent = True
941
+ self._noIndent = False
942
942
 
943
943
  else:
944
944
  self._tokens.append(cToken)
@@ -26,7 +26,7 @@ from __future__ import annotations
26
26
  import logging
27
27
 
28
28
  from PyQt5.QtGui import (
29
- QColor, QFont, QFontMetrics, QTextBlockFormat, QTextCharFormat,
29
+ QColor, QFont, QFontMetricsF, QTextBlockFormat, QTextCharFormat,
30
30
  QTextCursor, QTextDocument
31
31
  )
32
32
 
@@ -99,19 +99,19 @@ class ToQTextDocument(Tokenizer):
99
99
  self._document.clear()
100
100
  self._document.setDefaultFont(self._textFont)
101
101
 
102
- qMetric = QFontMetrics(self._textFont)
103
- mScale = qMetric.height()
102
+ qMetric = QFontMetricsF(self._textFont)
103
+ mPx = qMetric.ascent() # 1 em in pixels
104
104
  fPt = self._textFont.pointSizeF()
105
105
 
106
106
  # Scaled Sizes
107
107
  # ============
108
108
 
109
109
  self._mHead = {
110
- self.T_TITLE: (mScale * self._marginTitle[0], mScale * self._marginTitle[1]),
111
- self.T_HEAD1: (mScale * self._marginHead1[0], mScale * self._marginHead1[1]),
112
- self.T_HEAD2: (mScale * self._marginHead2[0], mScale * self._marginHead2[1]),
113
- self.T_HEAD3: (mScale * self._marginHead3[0], mScale * self._marginHead3[1]),
114
- self.T_HEAD4: (mScale * self._marginHead4[0], mScale * self._marginHead4[1]),
110
+ self.T_TITLE: (mPx * self._marginTitle[0], mPx * self._marginTitle[1]),
111
+ self.T_HEAD1: (mPx * self._marginHead1[0], mPx * self._marginHead1[1]),
112
+ self.T_HEAD2: (mPx * self._marginHead2[0], mPx * self._marginHead2[1]),
113
+ self.T_HEAD3: (mPx * self._marginHead3[0], mPx * self._marginHead3[1]),
114
+ self.T_HEAD4: (mPx * self._marginHead4[0], mPx * self._marginHead4[1]),
115
115
  }
116
116
 
117
117
  self._sHead = {
@@ -122,12 +122,12 @@ class ToQTextDocument(Tokenizer):
122
122
  self.T_HEAD4: nwHeaders.H_SIZES.get(4, 1.0) * fPt,
123
123
  }
124
124
 
125
- self._mText = (mScale * self._marginText[0], mScale * self._marginText[1])
126
- self._mMeta = (mScale * self._marginMeta[0], mScale * self._marginMeta[1])
127
- self._mSep = (mScale * self._marginSep[0], mScale * self._marginSep[1])
125
+ self._mText = (mPx * self._marginText[0], mPx * self._marginText[1])
126
+ self._mMeta = (mPx * self._marginMeta[0], mPx * self._marginMeta[1])
127
+ self._mSep = (mPx * self._marginSep[0], mPx * self._marginSep[1])
128
128
 
129
- self._mIndent = mScale * 2.0
130
- self._tIndent = mScale * self._firstWidth
129
+ self._mIndent = mPx * 2.0
130
+ self._tIndent = mPx * self._firstWidth
131
131
 
132
132
  # Block Format
133
133
  # ============