novelWriter 2.4.4__py3-none-any.whl → 2.5__py3-none-any.whl

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 (122) hide show
  1. {novelWriter-2.4.4.dist-info → novelWriter-2.5.dist-info}/METADATA +4 -5
  2. {novelWriter-2.4.4.dist-info → novelWriter-2.5.dist-info}/RECORD +121 -111
  3. {novelWriter-2.4.4.dist-info → novelWriter-2.5.dist-info}/WHEEL +1 -1
  4. novelwriter/__init__.py +33 -39
  5. novelwriter/assets/i18n/nw_de_DE.qm +0 -0
  6. novelwriter/assets/i18n/nw_en_US.qm +0 -0
  7. novelwriter/assets/i18n/nw_es_419.qm +0 -0
  8. novelwriter/assets/i18n/nw_fr_FR.qm +0 -0
  9. novelwriter/assets/i18n/nw_it_IT.qm +0 -0
  10. novelwriter/assets/i18n/nw_ja_JP.qm +0 -0
  11. novelwriter/assets/i18n/nw_nb_NO.qm +0 -0
  12. novelwriter/assets/i18n/nw_nl_NL.qm +0 -0
  13. novelwriter/assets/i18n/nw_pl_PL.qm +0 -0
  14. novelwriter/assets/i18n/nw_pt_BR.qm +0 -0
  15. novelwriter/assets/i18n/nw_zh_CN.qm +0 -0
  16. novelwriter/assets/i18n/project_en_GB.json +1 -0
  17. novelwriter/assets/i18n/project_pl_PL.json +116 -0
  18. novelwriter/assets/icons/typicons_dark/icons.conf +2 -0
  19. novelwriter/assets/icons/typicons_dark/nw_font.svg +4 -0
  20. novelwriter/assets/icons/typicons_dark/nw_quote.svg +4 -0
  21. novelwriter/assets/icons/typicons_light/icons.conf +2 -0
  22. novelwriter/assets/icons/typicons_light/nw_font.svg +4 -0
  23. novelwriter/assets/icons/typicons_light/nw_quote.svg +4 -0
  24. novelwriter/assets/manual.pdf +0 -0
  25. novelwriter/assets/sample.zip +0 -0
  26. novelwriter/assets/syntax/cyberpunk_night.conf +5 -3
  27. novelwriter/assets/syntax/default_dark.conf +32 -18
  28. novelwriter/assets/syntax/default_light.conf +24 -10
  29. novelwriter/assets/syntax/dracula.conf +44 -0
  30. novelwriter/assets/syntax/grey_dark.conf +5 -4
  31. novelwriter/assets/syntax/grey_light.conf +5 -4
  32. novelwriter/assets/syntax/light_owl.conf +7 -6
  33. novelwriter/assets/syntax/night_owl.conf +7 -6
  34. novelwriter/assets/syntax/snazzy.conf +42 -0
  35. novelwriter/assets/syntax/solarized_dark.conf +4 -3
  36. novelwriter/assets/syntax/solarized_light.conf +4 -3
  37. novelwriter/assets/syntax/tango.conf +27 -11
  38. novelwriter/assets/syntax/tomorrow.conf +6 -5
  39. novelwriter/assets/syntax/tomorrow_night.conf +7 -6
  40. novelwriter/assets/syntax/tomorrow_night_blue.conf +6 -5
  41. novelwriter/assets/syntax/tomorrow_night_bright.conf +6 -5
  42. novelwriter/assets/syntax/tomorrow_night_eighties.conf +6 -5
  43. novelwriter/assets/text/credits_en.htm +52 -41
  44. novelwriter/assets/themes/cyberpunk_night.conf +3 -0
  45. novelwriter/assets/themes/default_dark.conf +2 -0
  46. novelwriter/assets/themes/default_light.conf +2 -0
  47. novelwriter/assets/themes/dracula.conf +48 -0
  48. novelwriter/assets/themes/solarized_dark.conf +2 -0
  49. novelwriter/assets/themes/solarized_light.conf +2 -0
  50. novelwriter/common.py +33 -12
  51. novelwriter/config.py +184 -98
  52. novelwriter/constants.py +47 -35
  53. novelwriter/core/buildsettings.py +68 -69
  54. novelwriter/core/coretools.py +5 -23
  55. novelwriter/core/docbuild.py +52 -40
  56. novelwriter/core/document.py +3 -5
  57. novelwriter/core/index.py +115 -45
  58. novelwriter/core/item.py +8 -19
  59. novelwriter/core/options.py +2 -4
  60. novelwriter/core/project.py +37 -61
  61. novelwriter/core/projectdata.py +1 -3
  62. novelwriter/core/projectxml.py +12 -15
  63. novelwriter/core/sessions.py +3 -5
  64. novelwriter/core/spellcheck.py +4 -9
  65. novelwriter/core/status.py +211 -164
  66. novelwriter/core/storage.py +0 -8
  67. novelwriter/core/tohtml.py +139 -105
  68. novelwriter/core/tokenizer.py +278 -122
  69. novelwriter/core/{tomd.py → tomarkdown.py} +97 -78
  70. novelwriter/core/toodt.py +257 -166
  71. novelwriter/core/toqdoc.py +419 -0
  72. novelwriter/core/tree.py +5 -7
  73. novelwriter/dialogs/about.py +11 -18
  74. novelwriter/dialogs/docmerge.py +17 -19
  75. novelwriter/dialogs/docsplit.py +17 -19
  76. novelwriter/dialogs/editlabel.py +6 -10
  77. novelwriter/dialogs/preferences.py +200 -164
  78. novelwriter/dialogs/projectsettings.py +225 -189
  79. novelwriter/dialogs/quotes.py +12 -9
  80. novelwriter/dialogs/wordlist.py +9 -15
  81. novelwriter/enum.py +35 -30
  82. novelwriter/error.py +8 -15
  83. novelwriter/extensions/configlayout.py +55 -21
  84. novelwriter/extensions/eventfilters.py +1 -5
  85. novelwriter/extensions/modified.py +58 -14
  86. novelwriter/extensions/novelselector.py +1 -3
  87. novelwriter/extensions/pagedsidebar.py +9 -12
  88. novelwriter/extensions/{circularprogress.py → progressbars.py} +30 -8
  89. novelwriter/extensions/statusled.py +40 -26
  90. novelwriter/extensions/switch.py +4 -6
  91. novelwriter/extensions/switchbox.py +7 -6
  92. novelwriter/extensions/versioninfo.py +3 -9
  93. novelwriter/gui/doceditor.py +120 -139
  94. novelwriter/gui/dochighlight.py +231 -186
  95. novelwriter/gui/docviewer.py +69 -108
  96. novelwriter/gui/docviewerpanel.py +3 -10
  97. novelwriter/gui/editordocument.py +1 -3
  98. novelwriter/gui/itemdetails.py +7 -11
  99. novelwriter/gui/mainmenu.py +22 -18
  100. novelwriter/gui/noveltree.py +11 -24
  101. novelwriter/gui/outline.py +15 -26
  102. novelwriter/gui/projtree.py +35 -60
  103. novelwriter/gui/search.py +10 -3
  104. novelwriter/gui/sidebar.py +2 -6
  105. novelwriter/gui/statusbar.py +29 -37
  106. novelwriter/gui/theme.py +26 -48
  107. novelwriter/guimain.py +162 -160
  108. novelwriter/shared.py +36 -32
  109. novelwriter/text/patterns.py +113 -0
  110. novelwriter/tools/dictionaries.py +10 -20
  111. novelwriter/tools/lipsum.py +10 -16
  112. novelwriter/tools/manusbuild.py +9 -11
  113. novelwriter/tools/manuscript.py +71 -145
  114. novelwriter/tools/manussettings.py +71 -75
  115. novelwriter/tools/noveldetails.py +16 -21
  116. novelwriter/tools/welcome.py +21 -26
  117. novelwriter/tools/writingstats.py +9 -12
  118. novelwriter/types.py +49 -4
  119. novelwriter/extensions/simpleprogress.py +0 -55
  120. {novelWriter-2.4.4.dist-info → novelWriter-2.5.dist-info}/LICENSE.md +0 -0
  121. {novelWriter-2.4.4.dist-info → novelWriter-2.5.dist-info}/entry_points.txt +0 -0
  122. {novelWriter-2.4.4.dist-info → novelWriter-2.5.dist-info}/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: novelWriter
3
- Version: 2.4.4
3
+ Version: 2.5
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
@@ -9,7 +9,6 @@ Project-URL: Documentation, https://docs.novelwriter.io
9
9
  Project-URL: Repository, https://github.com/vkbo/novelWriter
10
10
  Project-URL: Issues, https://github.com/vkbo/novelWriter/issues
11
11
  Classifier: Programming Language :: Python :: 3 :: Only
12
- Classifier: Programming Language :: Python :: 3.8
13
12
  Classifier: Programming Language :: Python :: 3.9
14
13
  Classifier: Programming Language :: Python :: 3.10
15
14
  Classifier: Programming Language :: Python :: 3.11
@@ -21,10 +20,10 @@ Classifier: Operating System :: OS Independent
21
20
  Classifier: Intended Audience :: End Users/Desktop
22
21
  Classifier: Natural Language :: English
23
22
  Classifier: Topic :: Text Editors
24
- Requires-Python: >=3.8
23
+ Requires-Python: >=3.9
25
24
  Description-Content-Type: text/markdown
26
25
  License-File: LICENSE.md
27
- Requires-Dist: pyqt5 >=5.10
26
+ Requires-Dist: pyqt5 >=5.15
28
27
  Requires-Dist: pyenchant >=3.0.0
29
28
 
30
29
  <img src="https://raw.githubusercontent.com/vkbo/novelWriter/main/setup/novelwriter_text.png">
@@ -39,7 +38,7 @@ synchronisation tools. All text is saved as plain text files with a meta data he
39
38
  project structure is stored in a single project XML file, and other meta data is primarily saved as
40
39
  JSON files.
41
40
 
42
- The application is written with Python 3 (3.8+) using Qt5 and PyQt5 (5.10+). It is developed on
41
+ The application is written with Python 3 (3.9+) using Qt5 and PyQt5 (5.10+). It is developed on
43
42
  Linux, but should in principle work fine on other operating systems as well as long as dependencies
44
43
  are met. It is regularly tested on Debian and Ubuntu Linux, Windows, and MacOS.
45
44
 
@@ -1,26 +1,27 @@
1
- novelwriter/__init__.py,sha256=_CJImzuDGASfUJUwJ6dCQnZT0pHK8G0tH-0Fa5iouHg,7744
2
- novelwriter/common.py,sha256=oarn4-2Ezm595b-dHD4MVrytxMFFB_QhITbTMIKD40M,17440
3
- novelwriter/config.py,sha256=Y0c3-0xfmDE-IDcFYW0U_x_WGPMoU2T0sqtNZ8CT4zQ,35841
4
- novelwriter/constants.py,sha256=UIxiF-23cB_gmRfxbQPYmObn8Ib-ygm46uOIG329RLY,19818
5
- novelwriter/enum.py,sha256=MP-nz3vDRp4bWxXitqjdLWO2_RvrDAlRxngiMON9mb8,3305
6
- novelwriter/error.py,sha256=rY3kHVkt7W0MM9iKOBkMY-9qhStlESGlyeOOXwT4BGM,7278
7
- novelwriter/guimain.py,sha256=Be32lkJv1ZF-aOSOQTPBfcH7TFrk3KvpLBmwIl20eRc,53477
8
- novelwriter/shared.py,sha256=CIzGQcCEAPnFRLRbzPH2m0gcPYDtCZt8PSIdEKKBw7w,15158
9
- novelwriter/types.py,sha256=6aP2hZraPEolYqBgj5R_5bah3NgelASBfKol6yYOi4g,3316
10
- novelwriter/assets/manual.pdf,sha256=TzPxpJnrik0Na6XaHjrCKctCXCQT-gmga9tysESLrRY,2691197
11
- novelwriter/assets/sample.zip,sha256=zCNbDDyjElPMp4O37qDJuW_rYkR9-Q_VuEk98q3ZP44,27358
12
- novelwriter/assets/i18n/nw_de_DE.qm,sha256=PPBpHJ3M0jL0t4xSY8zr3CKaO0umGW4K4Tb7bj0gtlA,97532
13
- novelwriter/assets/i18n/nw_en_US.qm,sha256=sZKjLkT2CcPhGAS3WUgKm9XO3ugbBrx2zbwVyhP7vSE,90470
14
- novelwriter/assets/i18n/nw_es_419.qm,sha256=8saaQ1As_hOgBI-oyEIqV5KCmLaMg_ldkOT9Q1uJmaY,99857
15
- novelwriter/assets/i18n/nw_fr_FR.qm,sha256=-hpWyPhLqC-Ri8Zp9mCnfhc5CrCy1_p69E71pxxncuk,100316
16
- novelwriter/assets/i18n/nw_it_IT.qm,sha256=mRgsonFCjm6bgG2sldQtMrRDAfqNIpiq9ebp1Sfl-gM,100250
17
- novelwriter/assets/i18n/nw_ja_JP.qm,sha256=kbZKcnRDKralChIDOqsnK8Sn0NdcjlTDf03fOLVPxxY,74895
18
- novelwriter/assets/i18n/nw_nb_NO.qm,sha256=cuQLRkvGXIFYsK7a4j1wxKY3H7JQIfjObkVvFbVFt-Q,92928
19
- novelwriter/assets/i18n/nw_nl_NL.qm,sha256=4RcFVAWj3PGT4jeivxLEp85HfiSr3FvFCnlmjQRXSRc,96814
20
- novelwriter/assets/i18n/nw_pt_BR.qm,sha256=JNs3XUrVyq2qNxlwSu4em8J8qUi_Wfp_Wom3JtwXWSE,98636
21
- novelwriter/assets/i18n/nw_zh_CN.qm,sha256=3q2cSsY3kT7dRggXq-fj8Sank88V_G2RKzjXQY5-3nA,67445
1
+ novelwriter/__init__.py,sha256=1T_HWnuHWjSdJaCGRXdYlPxEG1mbHxUPQDaW8eVEY5M,7550
2
+ novelwriter/common.py,sha256=sJK-MpM6bnZbhp0D8nRLRqL0HlnogGKDQozRhAZv6FU,18236
3
+ novelwriter/config.py,sha256=cUL4S-JOKhxEes--NxCiV84NpanvVbcbW_K5v74dS3w,39081
4
+ novelwriter/constants.py,sha256=y-UjNZxtU2lzn0Ji9lKiNU3233RmoJuK-3JWHT6GIvc,21368
5
+ novelwriter/enum.py,sha256=c1IS9rmpWMtqnMzftpWoQFtfRqcK9VMTO0vbMsf7pLM,3501
6
+ novelwriter/error.py,sha256=iIx1OzyXTT7Ngk2mXW_5c0YqVdFBD0NIkUFgAXNNBlM,6813
7
+ novelwriter/guimain.py,sha256=exQ3lBeQxsX2OMgurTcOFPpi_fZvePTFUq0D57QgAWw,53968
8
+ novelwriter/shared.py,sha256=PPbEe8S2TRzEvXii8s8U4R0371ACpeMFdKmAkO-On4g,15540
9
+ novelwriter/types.py,sha256=tV-XFc10wsk7zH__S2dEuEfidI6_adgOetpAVbnmJmI,4691
10
+ novelwriter/assets/manual.pdf,sha256=gS139USB0uL7z4WTfWNeEa0aTPf9IyILV4OhWHu9hHY,2723539
11
+ novelwriter/assets/sample.zip,sha256=Oljy86YvdM1B5cjJhDo7MaZoRNpnf3FM7qwcm1g_hAQ,27805
12
+ novelwriter/assets/i18n/nw_de_DE.qm,sha256=__e0mtl0hfBX61eICSrJhR4mY0r7W9IkI5fYCwvLrYw,100554
13
+ novelwriter/assets/i18n/nw_en_US.qm,sha256=Mueo40jL6hBXcV0Vxac-Jd-GAsLASSqEV_7W96sFkZ8,93304
14
+ novelwriter/assets/i18n/nw_es_419.qm,sha256=Ioc6nuY2I_Takh7DorFnjckeYbsVPzewfgjcm4mwW3k,98052
15
+ novelwriter/assets/i18n/nw_fr_FR.qm,sha256=mB2TCRNjttTFoC34iGbri5OVt2ygCNtxPS5g48CA-HA,103616
16
+ novelwriter/assets/i18n/nw_it_IT.qm,sha256=Lg7F4YjU3FE1axKalwcoF9kFvEXS0KDqVNYqHQqhVi4,103350
17
+ novelwriter/assets/i18n/nw_ja_JP.qm,sha256=ILDwq_8kHCiorjZabSbUYer9xB9q7hf-NQyAlReVKf8,77169
18
+ novelwriter/assets/i18n/nw_nb_NO.qm,sha256=g2raFt2Lw5RcE0IJM1_f7GJsqt8G_uSv7m6sD6zFe_0,95946
19
+ novelwriter/assets/i18n/nw_nl_NL.qm,sha256=SnEtdqHaSb8xWA4-EpnWxXD_uK8BeBs44I32AwlST3M,99906
20
+ novelwriter/assets/i18n/nw_pl_PL.qm,sha256=Em13jYHYnTbLZp_JaodgZntmcpxBrvbitOZhM8ZQXig,98702
21
+ novelwriter/assets/i18n/nw_pt_BR.qm,sha256=EXqtpkEPafPipTd0rCBN6cQ5SlqVyeMPwyMfgpTKjMs,101680
22
+ novelwriter/assets/i18n/nw_zh_CN.qm,sha256=poSDKRXapJ8zHBmiRdA85KcIN1nm6gnowDMlpoJwAKE,69647
22
23
  novelwriter/assets/i18n/project_de_DE.json,sha256=85ud9rxRHyXm85QDmW_LKcUE8h0L1Bvukaf5Tjt-wpg,2818
23
- novelwriter/assets/i18n/project_en_GB.json,sha256=EcQAVEiQgRL3qobuzkPTfOWIxAc3Om-tA7nXUFFXEdI,2483
24
+ novelwriter/assets/i18n/project_en_GB.json,sha256=7c9W2YJAELCSwx4zN_2qYZ3xsGncinCrGNhaj_FVkxk,2511
24
25
  novelwriter/assets/i18n/project_en_US.json,sha256=EcQAVEiQgRL3qobuzkPTfOWIxAc3Om-tA7nXUFFXEdI,2483
25
26
  novelwriter/assets/i18n/project_es_419.json,sha256=Z6CAhc0hzekUZFDM-0ykRRsckJG4c2AETy4Xa_f2T7s,2730
26
27
  novelwriter/assets/i18n/project_fr_FR.json,sha256=CBojo05gdhxev5pFg889ENe_CKOHSDv3oj8SmkBFqGg,2788
@@ -29,6 +30,7 @@ novelwriter/assets/i18n/project_ja_JP.json,sha256=8P03f2D9o2TlSxFU5ugRa-DJDeDZr_
29
30
  novelwriter/assets/i18n/project_nb_NO.json,sha256=e8E9c188KRPJfgZa298hDiaLEuhjHMxbRMaIF8HaVew,2298
30
31
  novelwriter/assets/i18n/project_nl_NL.json,sha256=qUEEjLMRtvt9VuNmjb_qOVCXqUCENHskCEyp5YlPMc4,2683
31
32
  novelwriter/assets/i18n/project_nn_NO.json,sha256=7ZfmtFWHcDMiLVqdOEDHQWHbpoC_bv5ESmf_-CoYiks,2250
33
+ novelwriter/assets/i18n/project_pl_PL.json,sha256=msXu3rNhJ19ytVespoXQ95nZ-mFis5rlLeCPK4A3zS8,3461
32
34
  novelwriter/assets/i18n/project_pt_BR.json,sha256=FDxIeSlf3v8AcrWfgwk7UOMRDmb2hWdDoabsBq5rkL8,2763
33
35
  novelwriter/assets/i18n/project_ru_RU.json,sha256=F4QkD6VVDCtGdil7uoXCmuczvUpe9tv-1L-3Eyc8sKE,3699
34
36
  novelwriter/assets/i18n/project_zh_CN.json,sha256=cfl0TsnbISYUvygOw015y0x0REDG97xR0yjyJ85Jm34,2322
@@ -38,7 +40,7 @@ novelwriter/assets/icons/novelwriter.svg,sha256=Ad_SgOdXSDJtFR3DLCx6Afme15I78r38
38
40
  novelwriter/assets/icons/x-novelwriter-project.ico,sha256=MXdZSYi3j95aIsT5bZo6CkhxmS75cThP9O_38UR7sjg,170697
39
41
  novelwriter/assets/icons/x-novelwriter-project.svg,sha256=VHf1aClkA91tZVYb3LFk9bi_Dw25QBVSjUJAjSD-YX4,5143
40
42
  novelwriter/assets/icons/typicons_dark/README.md,sha256=6ZxJq-19PNrMdeuVeVg84aLjxhr9oF7dLwuMFVGQyq0,1065
41
- novelwriter/assets/icons/typicons_dark/icons.conf,sha256=b-OYPcmJe1CBXRa62AFm75XIWev4cfeFarJF5mGgpiY,4431
43
+ novelwriter/assets/icons/typicons_dark/icons.conf,sha256=9sQ88muSh0xjI7_xYBcgjR5Kh2qRf_DVvlKemDkQCp0,4492
42
44
  novelwriter/assets/icons/typicons_dark/mixed_document-chapter.svg,sha256=POP_Cs3bkkKAmrS_fTgjj90eyNK0bipNGgOhDDlXKu0,1650
43
45
  novelwriter/assets/icons/typicons_dark/mixed_document-new.svg,sha256=EIVU3_ecC0d6rpCHXBfKoA_mWJyilqe7iA6XLQb9oRw,1849
44
46
  novelwriter/assets/icons/typicons_dark/mixed_document-note.svg,sha256=OaPRbvkA7h4GA4mnFXJRORv80h2nAsJTmlIR8Msrwt8,1650
@@ -61,7 +63,9 @@ novelwriter/assets/icons/typicons_dark/nw_deco-h4-narrow.svg,sha256=9dksKdaZnYtJ
61
63
  novelwriter/assets/icons/typicons_dark/nw_deco-h4.svg,sha256=ZQzYLzxDZS0vY-EED-4stwaPXKSdlHgUaddrTA004pc,231
62
64
  novelwriter/assets/icons/typicons_dark/nw_deco-note.svg,sha256=aAsfGV-UzemXM4nUFyZ5cS57S8PnUAUvOvPVZVSqQlo,225
63
65
  novelwriter/assets/icons/typicons_dark/nw_deco-noveltree-more.svg,sha256=Vt76I_GrMA0RvB0-0XTUTOgcHqgR8h4SuEIZiuspZns,314
66
+ novelwriter/assets/icons/typicons_dark/nw_font.svg,sha256=fuqUJ3Jazn0mFIX4NXjV-bezGMPaKKTyMFaXcNHascA,267
64
67
  novelwriter/assets/icons/typicons_dark/nw_panel.svg,sha256=ARAHkSVrLwsQmaEYkNU13UXegIG2Q5p6rnlKxdqAzto,912
68
+ novelwriter/assets/icons/typicons_dark/nw_quote.svg,sha256=jNxgM5jWhlfepPLPxnE-FBXggos0xAM3wwfk30HxfKg,1074
65
69
  novelwriter/assets/icons/typicons_dark/nw_search-case.svg,sha256=RTXth9FpdP83AjWpSq4-1VSOO_522dP3_MnHOJatO2w,950
66
70
  novelwriter/assets/icons/typicons_dark/nw_search-preserve.svg,sha256=PSjnk3BbKXGdCOnpaIK623EJml-75gRILs2cJrqo_B4,854
67
71
  novelwriter/assets/icons/typicons_dark/nw_search-regex.svg,sha256=j5u8KQD1LqwWHe7FG_fpyljN3KDWtbsrhI9Jp0eOGcw,746
@@ -136,7 +140,7 @@ novelwriter/assets/icons/typicons_dark/typ_unfold-visible.svg,sha256=IvVXmxlkrTy
136
140
  novelwriter/assets/icons/typicons_dark/typ_user.svg,sha256=00gZEDr59B1A7A4o0w5VjCJOHnQHANsgXBhnB_VTMU4,733
137
141
  novelwriter/assets/icons/typicons_dark/typ_warning-full.svg,sha256=zqqV82C37dWH_yHoSuPo-BLsErg0sl8_VlB6fzXL4VE,970
138
142
  novelwriter/assets/icons/typicons_light/README.md,sha256=nyGvWLJ8cusLYP8YsjX_l213NkDE_GHrwctZ-I_JQUg,1066
139
- novelwriter/assets/icons/typicons_light/icons.conf,sha256=rG7V9Vc0Jx0T7YUD2PpGA_Dg-i6zPPBK-mH-PmUnFCA,4434
143
+ novelwriter/assets/icons/typicons_light/icons.conf,sha256=TnqiHJ4CnvKqT4_5BPmsqJdTUKtDswlwL8c2xjYNLlw,4495
140
144
  novelwriter/assets/icons/typicons_light/mixed_document-chapter.svg,sha256=kXNwPbeKR3eupIrqtDQrNGq5sL8vdExLfPMrMX2sEsw,1650
141
145
  novelwriter/assets/icons/typicons_light/mixed_document-new.svg,sha256=u0YYfp6hTUEYLsrPleUqYocaG2hl62w-B85INvkm6S4,1825
142
146
  novelwriter/assets/icons/typicons_light/mixed_document-note.svg,sha256=XpKQ2Fj7J3I3BT9mAQkjk_A4eP7uy94vPeDBA62fOYI,1650
@@ -159,7 +163,9 @@ novelwriter/assets/icons/typicons_light/nw_deco-h4-narrow.svg,sha256=yKz154CJ85z
159
163
  novelwriter/assets/icons/typicons_light/nw_deco-h4.svg,sha256=Fr___Gtm93VfZUwORTVQ_IHXEWJ0FdSZI8KpsfbAcpM,231
160
164
  novelwriter/assets/icons/typicons_light/nw_deco-note.svg,sha256=99VNGOW5qg0V6avQokkwbur3O9TTv27E94mWwSa0o1k,225
161
165
  novelwriter/assets/icons/typicons_light/nw_deco-noveltree-more.svg,sha256=Vt76I_GrMA0RvB0-0XTUTOgcHqgR8h4SuEIZiuspZns,314
166
+ novelwriter/assets/icons/typicons_light/nw_font.svg,sha256=_6aHZzoGiKo2dwcKVCDfY16qsUNsD4I6wZOCjJqsOmg,274
162
167
  novelwriter/assets/icons/typicons_light/nw_panel.svg,sha256=_btLJwklPw8EzpGnEvbTjvFuFy5Fi5yT2I7fQchJ6z8,919
168
+ novelwriter/assets/icons/typicons_light/nw_quote.svg,sha256=H_4xmi2qjZiC4eAVV-9ngRqVsf0nmhZuU92UUoPUjQY,1059
163
169
  novelwriter/assets/icons/typicons_light/nw_search-case.svg,sha256=cU9e-bOh0vCrI_REFC38aeUmmf45oH2rVE0x-GZKsKQ,974
164
170
  novelwriter/assets/icons/typicons_light/nw_search-preserve.svg,sha256=ggEvIlqfEyjxR_IzP0R0TwVXK5nTaIxyWP4TGgmpLvs,885
165
171
  novelwriter/assets/icons/typicons_light/nw_search-regex.svg,sha256=uYWEIptuiwsVhp5Q30JalDsUTqfMktPosteARZbSXkI,760
@@ -237,93 +243,97 @@ novelwriter/assets/images/novelwriter-text-dark.svg,sha256=gbbDiXd92OV5c6qGREDkA
237
243
  novelwriter/assets/images/novelwriter-text-light.svg,sha256=ziTrfrr0WO9JWBzSfuuKBlYFCkENfEBp3MyOYTNGUYQ,5983
238
244
  novelwriter/assets/images/welcome-dark.jpg,sha256=MPRYUI1yEjzee1uHGWlrR352U1LFSSV92awDheFtmZo,299007
239
245
  novelwriter/assets/images/welcome-light.jpg,sha256=FcS5GA5G6o9KgmADYHktyR3GHquNlPNIUQeQQiscQzA,279989
240
- novelwriter/assets/syntax/cyberpunk_night.conf,sha256=w_22pAqGYDsGMrvzwx7QrOnweFW-mkZZjZ-cRB81yaI,760
241
- novelwriter/assets/syntax/default_dark.conf,sha256=EURI_CPep0nOahQ7Nrx1a4F6yXn0jlnnLI3kQSGPP4Q,844
242
- novelwriter/assets/syntax/default_light.conf,sha256=dJR58BVrHqw19zaX-2R1WihLrEPaHxZ9fwZB4v-9eZA,845
243
- novelwriter/assets/syntax/grey_dark.conf,sha256=umxXOfkt8UBypfb-ELT8YWnLNwg51umEyTAhGGL9YoA,841
244
- novelwriter/assets/syntax/grey_light.conf,sha256=4gveHH8vGuh0t0cjjR4KxumVpLConw1Fvggl7R0qfIM,842
245
- novelwriter/assets/syntax/light_owl.conf,sha256=Sh_dpqjvbYNC42uvrCL8CnOnSIU8CEKFAUmSOcqdwwk,1493
246
- novelwriter/assets/syntax/night_owl.conf,sha256=33KGoEWi3jD8QQZGZKlw1k5JnAjP2a-zhGsas7kLKYk,1493
247
- novelwriter/assets/syntax/solarized_dark.conf,sha256=XJkEeJ-Cg-cOQtRWm6Q-3i-HhuqEg87KTpI6iJ1ciOE,834
248
- novelwriter/assets/syntax/solarized_light.conf,sha256=IrL0_2BgNgURda1QrnDFl8HmZ1tILDad4SGSF9x0qMU,835
249
- novelwriter/assets/syntax/tango.conf,sha256=g_nLKaMW71p3NQ8JywpAnkDBXwIy5gvDfNYJFBmYcFw,635
250
- novelwriter/assets/syntax/tomorrow.conf,sha256=qAJUQyPk3LTo7S9s_GtqakKV1PFYBVmLyv8HTsWqu0g,1491
251
- novelwriter/assets/syntax/tomorrow_night.conf,sha256=2urAH-LHOrJHcKwPy2IqrVc_xhQrsrYpEITImk2W9FE,1503
252
- novelwriter/assets/syntax/tomorrow_night_blue.conf,sha256=UcPosIQ2S8M2E2mT7dzEqebmxxgIBAPlSu_o1xEQKiM,1513
253
- novelwriter/assets/syntax/tomorrow_night_bright.conf,sha256=T7Jzqfo3W_iTG3bR0PZ3ZG5Qgjn5QNU8a3tch4Rq88c,1518
254
- novelwriter/assets/syntax/tomorrow_night_eighties.conf,sha256=VW_ibz0cO828WgmaE62KEY7HMLVcIuFN4IJh-dVz6_0,1521
255
- novelwriter/assets/text/credits_en.htm,sha256=vB9WS-0rrtFRFCa2GnYyhZPbz6Fema0S4qRd07YhMGQ,4005
246
+ novelwriter/assets/syntax/cyberpunk_night.conf,sha256=AMtlu1UnnKHRbQw1s3j4cAekyIdQtBttgyvlFJPhiQg,826
247
+ novelwriter/assets/syntax/default_dark.conf,sha256=2aczHlskobF6c6VQOaucrkygBbTK6jIyc9UlP8_TcMk,1258
248
+ novelwriter/assets/syntax/default_light.conf,sha256=jmUmG1EO0yOyBbr-2DM4VW56MlBnMfaAaVaeLVECF-c,1259
249
+ novelwriter/assets/syntax/dracula.conf,sha256=fWA2tVAvCH9PPYZV0yTriA_9O5SLqamqTnJQnddJ8Mc,1323
250
+ novelwriter/assets/syntax/grey_dark.conf,sha256=L075no7vkh8ErukXVMIQVFe8zDfPQa2wdcYRQ-S80tI,877
251
+ novelwriter/assets/syntax/grey_light.conf,sha256=KulyqCZYTCSY_c8FMI3VSylDNpuYwrsWAS8vCipiHsY,878
252
+ novelwriter/assets/syntax/light_owl.conf,sha256=5sF7omkEIAs0inQCghbwIL-NmfN4vVNglzUP24zPU_Q,1529
253
+ novelwriter/assets/syntax/night_owl.conf,sha256=Tb_urqMBytO2fiy7Bo4ikVis6KT0nzwj22vVeBUsfqM,1529
254
+ novelwriter/assets/syntax/snazzy.conf,sha256=qM5K-3_OgzCZ54MP6kXtGPzsYT3mrCVyseE3YC1NsSE,1304
255
+ novelwriter/assets/syntax/solarized_dark.conf,sha256=BE9KAIcjiWKKY0blggVDqWkkMyD2AS0GbfwPXWYjLvQ,865
256
+ novelwriter/assets/syntax/solarized_light.conf,sha256=E9sA87QmRNp2mzYZM3O9bHzyaVhXX-z9nhhpm3NOFlc,866
257
+ novelwriter/assets/syntax/tango.conf,sha256=9ITFNN2iS0DOTr7NB-w5vlc_XPD32Oc4j5PeXhptsXQ,1124
258
+ novelwriter/assets/syntax/tomorrow.conf,sha256=Oj0TGfnzwvlVBA52CC9xU0BBK_M4NwBHLBeEhbvsTzM,1527
259
+ novelwriter/assets/syntax/tomorrow_night.conf,sha256=mWPneIV_6tszLEK4-Eo-kcJmUbrkzMJHohgKBFKnpaE,1539
260
+ novelwriter/assets/syntax/tomorrow_night_blue.conf,sha256=L42gcekFfNpCCB45m9Lhzmz8Y6Lvbpik3AADi_1Aao8,1549
261
+ novelwriter/assets/syntax/tomorrow_night_bright.conf,sha256=h8_775Ed8hl2XhfCoxAY2kT43vi-UvG8UHik1aI4eRw,1554
262
+ novelwriter/assets/syntax/tomorrow_night_eighties.conf,sha256=stO_xH5RzMN0jaZeYr53LVXbpqSmIXALBFGVLlJBDLA,1557
263
+ novelwriter/assets/text/credits_en.htm,sha256=jeEMRXuD-ZpGgRPtS3oZQ4HdIe6pwSnB3ZifvYiZLjU,2904
256
264
  novelwriter/assets/text/lipsum.txt,sha256=sGA6AC_p4jrUifxLxy3cSODeRwkpBNXDPGgX6YRTm2s,62937
257
- novelwriter/assets/themes/cyberpunk_night.conf,sha256=cwNVyZ1ElGWm-r6Qpzj1Pl2vIhC_ePVsgmtriwMcAms,827
265
+ novelwriter/assets/themes/cyberpunk_night.conf,sha256=FvG_YVfEnMwJV1XUDEdpi9qoHQ5sdyVEaR_Y3WfWNA8,923
258
266
  novelwriter/assets/themes/default.conf,sha256=K0LZ64lODpCtUg3pISTAP4UKvEYMvPkmIYN9RDEaWwk,72
259
- novelwriter/assets/themes/default_dark.conf,sha256=L6xHLbgVb4E4SkQRSgCV7yEoxH9RxPunCjBuLpU8JEY,925
260
- novelwriter/assets/themes/default_light.conf,sha256=o_FJRMidFo-DJYK8bB-jdelcD5qg7MwW4J8lL9nlZUY,928
261
- novelwriter/assets/themes/solarized_dark.conf,sha256=HIP9icMtRljUmMH7PmU0IrcLGUSXVDaG97070Hc0UVM,852
262
- novelwriter/assets/themes/solarized_light.conf,sha256=jUfaCnWXM4GAOI1eUioj_nP0RiMrnr8MEOprSg7qUU4,854
263
- novelwriter/core/buildsettings.py,sha256=SVRYtmsneUlidzoHlmXebgpVPW7ZTei8mwTfVug3o4E,22423
264
- novelwriter/core/coretools.py,sha256=mNrFL7R3dAAQhe3aGT9QTha4rX4XXF5JOlmXykNCJh0,21467
265
- novelwriter/core/docbuild.py,sha256=cvvIe3w3ptY3VE_ak3ppzVkBMvoGS5o0CdzS0ifAVRw,13842
266
- novelwriter/core/document.py,sha256=ERU3GCZ1CHkIE3bV-NQ5G8HZlH5C4bWqa-OxyPgFu4w,12154
267
- novelwriter/core/index.py,sha256=e-Iov2NyeeLWiWsx_UCD758UIw_6KGe1FZ-jegkRgmU,45951
268
- novelwriter/core/item.py,sha256=6a-9Aty4_RIFE-90IxR8t19Fjyl_uHJAwz_TzUn8oRI,18104
269
- novelwriter/core/options.py,sha256=6gMe3cXq4U-oSN3zSoGtfiCOW6hX9xtjDssrbZYrtGY,7397
270
- novelwriter/core/project.py,sha256=dl8mx6uCjPUzb9H-pOcwYbDahQ6rxB5D-rkeb8CX-Kk,22718
271
- novelwriter/core/projectdata.py,sha256=NYhTL6qIbJxJX98-_zZdV4LzI2-tqdWaMvGYi0Xi4WU,9826
272
- novelwriter/core/projectxml.py,sha256=0qylTwEsgoKRlSmDyBgOU4XpGvA3nPMipYs1dNkc-hA,21948
273
- novelwriter/core/sessions.py,sha256=k13qaHO0oAyKBlMrhDogO0dFoAROBA8WNgUULGtIhIA,4431
274
- novelwriter/core/spellcheck.py,sha256=FuTPjunG3DpXZzVrpSp3cHCJR1s72MYiSjOm6ok2ZiE,7256
275
- novelwriter/core/status.py,sha256=TNeEapa-MLJexXPosoHs0UmHgZrK63vQEOegYOD8uuE,8769
276
- novelwriter/core/storage.py,sha256=eJgGL0cvfeQHhGYjc6FiojJ-dnGU-IQJ6FOWa8hFzJQ,20880
277
- novelwriter/core/tohtml.py,sha256=zybIc2qMAQhmWBNVVtcHRijmvqDK_DHidgAYwKUGQP0,17236
278
- novelwriter/core/tokenizer.py,sha256=mwcwUojDL7DW8W4wbXZbtnyPnOdN9soJb11dShrdtbk,40993
279
- novelwriter/core/tomd.py,sha256=xk5r3oyHkz6LOouiPaQLGVJWp6bT0HLe3upr4JmWjG4,7386
280
- novelwriter/core/toodt.py,sha256=nPslo_bEsUaGWk0YCPaPHak41dXS9PpzNKClGOF_cA0,58662
281
- novelwriter/core/tree.py,sha256=bwLJHhNkd2DOKoE-rIwfWwWgaYBlw9xZ8BaQeC0LUJw,18701
282
- novelwriter/dialogs/about.py,sha256=6FF9ssrP8G9TNWYAoZ1Z-Bd0gBrJsc8uPBVAulyDd_U,4888
283
- novelwriter/dialogs/docmerge.py,sha256=FzOmKQnKW8p1fc_z6pvDlP2LlJQgDG_BV355oB1MKzc,6148
284
- novelwriter/dialogs/docsplit.py,sha256=q4kt_lIqrz6-5VpBnCZOeTfvwcZMORZtjO3qrGEynPg,9140
285
- novelwriter/dialogs/editlabel.py,sha256=715nMbwexvqaxPRp2rJThyC3Sokp70zztpCg2ZxGKPw,2964
286
- novelwriter/dialogs/preferences.py,sha256=hQv70JmrQDTXDY5onrkeQVCZ1UiProi4i8c2xQsXTfk,36440
287
- novelwriter/dialogs/projectsettings.py,sha256=IbZkb0oFU9C5PtQxtrY5DJSfdaUoeb_A2qhpZJWG4KY,25750
288
- novelwriter/dialogs/quotes.py,sha256=iDtkACeCnaCQOTXQtW1H75BjeOJIm0SsrP4EzLsFq0E,4647
289
- novelwriter/dialogs/wordlist.py,sha256=EfjKQn_SZ8qUCXXw5WHgqe6hWLAn02cD23mWUTTaxkc,8646
290
- novelwriter/extensions/circularprogress.py,sha256=H0btKccdnvVfijU8ZudYvv4AgrvPYvx7IgznIxASBY0,3856
291
- novelwriter/extensions/configlayout.py,sha256=xHUE_HckNwJsfPKZ3hJjAKAYhxzQFRmNCmBrIh6QtTs,9253
292
- novelwriter/extensions/eventfilters.py,sha256=XehDoXwsnCvI1D3uieuYu5J3kxZggdV6Teo7Z0xZw7E,2581
293
- novelwriter/extensions/modified.py,sha256=KT2Qo3YsZO5dKzjYhA46Kg-T7fCcm6FyhQrmvrNwgSk,4464
294
- novelwriter/extensions/novelselector.py,sha256=5ccEDvqrbvrG7khZBrOiJwxsjjRnkFX-A4ZT-lj_z_g,3821
295
- novelwriter/extensions/pagedsidebar.py,sha256=X0AYo6oKM7gKr57662v-ZZWUTCVf5AbvIUCoLQai8fk,7369
296
- novelwriter/extensions/simpleprogress.py,sha256=13SrFQ9TZTDICyXCdTHeCX0MOtpw4UbBEgxiAmSOjyQ,1836
297
- novelwriter/extensions/statusled.py,sha256=640phDm3ZcLvM9EC_uwVPjG9LD5W3pAjtoqU4QbsZUU,2315
298
- novelwriter/extensions/switch.py,sha256=sZBNX5Wj1qkVA6cHh04GjuWOTbejaatHgLZ5yGzXGv4,4346
299
- novelwriter/extensions/switchbox.py,sha256=y6yuoCAZYYL7miaFlC8h5ymtuB0Xyk2AMmxAFYOYPDA,4210
300
- novelwriter/extensions/versioninfo.py,sha256=eUJzO6eV6SFXgp71uxr9696rjUQctGm84CA7XqxFhGc,5120
301
- novelwriter/gui/doceditor.py,sha256=d96MDOqdLb4y8cR25ah5KGZGvfFADPT33bDBd7O7kzA,114599
302
- novelwriter/gui/dochighlight.py,sha256=9-OP0YrMmljOCsdY-rqZe0G27gkBP7Fzk_R_f3iGGVE,17394
303
- novelwriter/gui/docviewer.py,sha256=RcvChY8OA5gxHzNi6l3xj60ua_6nPxSQ75_apIgeyDg,33559
304
- novelwriter/gui/docviewerpanel.py,sha256=IcQGLN49MmVGfIPg-8IzLGKYn9DbJqfdXWG6jd_JaAI,20009
305
- novelwriter/gui/editordocument.py,sha256=jxODONgq80Kf63lRezzbYtyEelaC-GpvgPEMKQ3m_sg,4116
306
- novelwriter/gui/itemdetails.py,sha256=VIfWDtn9g0IRBYSDFT_AhZgluQ0d7sK5C14lENyvzHg,9774
307
- novelwriter/gui/mainmenu.py,sha256=iTXNqmhEZqVDA6XkIAhpIq-cc1fF5-rZVe2g9z7v8_c,38707
308
- novelwriter/gui/noveltree.py,sha256=F-r6vdgCoIzxFwOI9kvsLEnz7nX2uOs30LOHHijN7NY,27988
309
- novelwriter/gui/outline.py,sha256=q0d21UI2r4K4D9jPARKc3ibWsdpiEnartAHfwxE2AgY,42410
310
- novelwriter/gui/projtree.py,sha256=lfGkIBAwi71KrnzpdsfpaSGw4rv8JsD5F7TTjDvkcGA,77927
311
- novelwriter/gui/search.py,sha256=PYsSIhe77PCuXj1fRXb2_7GF1gxLDv_vyq8JsgW5UfY,12996
312
- novelwriter/gui/sidebar.py,sha256=kidGGzXQ5RNQvKuH0kFh-lwoUSlkXffBucEoL15RMd4,6258
313
- novelwriter/gui/statusbar.py,sha256=ru-4pyg8owWkwkXGgj5GEupfq9fbIykYwGpomwzaINk,9353
314
- novelwriter/gui/theme.py,sha256=ANv1e5KghrB8z-uaHZbc3GZdmcl_or6KOpFhyBbgeX4,32781
267
+ novelwriter/assets/themes/default_dark.conf,sha256=obPCLVOXL1Zp973DbbROldyQOoUPGWlPKLbetZqMZe8,989
268
+ novelwriter/assets/themes/default_light.conf,sha256=zNjrtkRs2hLEcefFt3uys2-tei3Lxdth-yThO9InNz4,992
269
+ novelwriter/assets/themes/dracula.conf,sha256=pUvu7FS1nRPj3PyU3NZMR0WSb5sIa0oLpSa2XTzsh98,1425
270
+ novelwriter/assets/themes/solarized_dark.conf,sha256=7dDjs8aiFuAjl--hqMJQEExrfCgAapiPY82CL6aAo-I,916
271
+ novelwriter/assets/themes/solarized_light.conf,sha256=psCPVWcjAKB5y8H_E_h5zYUifxh5YpdFdBzxFofIHa0,918
272
+ novelwriter/core/buildsettings.py,sha256=cx-yjeja6VeYUdVZwNhLr6Ka_EXT8xCTwzQtv1Cmrec,22689
273
+ novelwriter/core/coretools.py,sha256=mItCKIHMMu1zrW3q2-FhF_lVfzjOKhbPtTEaXLt6U-o,21048
274
+ novelwriter/core/docbuild.py,sha256=h1jCFgkzyuoDgusjvuctBQpyDdNWBCHL2CNwQN0aEeM,14236
275
+ novelwriter/core/document.py,sha256=T8FlxyEMlR3t2HNE92InseWUMylWFTMnr2fP-Ge5LQc,12130
276
+ novelwriter/core/index.py,sha256=soGv-bDdAHk77ubqr1OfftGtyB1aJAJNODyfOq2nZm8,48450
277
+ novelwriter/core/item.py,sha256=0p_o3eCf8ZK30MiUR1rd1fDXb63lqNB4lHZeLMA6Wys,17635
278
+ novelwriter/core/options.py,sha256=8yAQoTkDhTCZY7EGg29Fq7Lj4n4Hd2i-Kx7TlgnausM,7372
279
+ novelwriter/core/project.py,sha256=mGHpIhFikV16algZfPikm5cpuMXDzJRBKfz9i3_XRT4,21975
280
+ novelwriter/core/projectdata.py,sha256=bt-LDNJsM2K4VwTcyZU_V2KOUZJFRKrNXNIwbU1v3Eo,9799
281
+ novelwriter/core/projectxml.py,sha256=dbgm2ryPCOa1BFsFay-6vEK2itE8TWYRUiwCBpPp59g,22013
282
+ novelwriter/core/sessions.py,sha256=V9eBXaUMcXTZjYXR5dgi6E14COIlcLIkNwS6pDrn75U,4405
283
+ novelwriter/core/spellcheck.py,sha256=MwkRPp3MJa2X-6yRWX6Rc-sq2vLsbLnjNnyUpAbRFiE,7176
284
+ novelwriter/core/status.py,sha256=pxW43PfS8rRjsNe3N406YSMOzSxOLCV5YrPH0Tw7YqQ,11498
285
+ novelwriter/core/storage.py,sha256=cu3V1YzdUJECW_QEXj9F2991ZKfYJHbCVynmPmMmLn8,20775
286
+ novelwriter/core/tohtml.py,sha256=NxM4c52q2ZFNW-XdHOI9L5lqTSiw9J5KZAELhdmN_9I,19211
287
+ novelwriter/core/tokenizer.py,sha256=Q7sfWpJxTSkcnj3SiSmQGr8JTXUlH-TGkwzfKe1pfsk,47712
288
+ novelwriter/core/tomarkdown.py,sha256=sZG64PLyTjDuIxnPQVMdcMSF-obsp4C06B1dUKhlbHU,7925
289
+ novelwriter/core/toodt.py,sha256=Hrb6FJkwf2wwcKE6f7lw5o0PZqKsf1TWqvJbrJWrijU,62529
290
+ novelwriter/core/toqdoc.py,sha256=p8_4WwwXcnEuPw2XsU4Xq76YTyT2JMk7NQR1arCjVd8,15500
291
+ novelwriter/core/tree.py,sha256=mmOB7kN0tjWda_AdT1WuZyFrewuc6uRAlqCfX6opwek,18681
292
+ novelwriter/dialogs/about.py,sha256=0iBYkifACc5vZj4KwG0G2Dll_Wp4acAHUfNTto74MFU,4755
293
+ novelwriter/dialogs/docmerge.py,sha256=HtJvmu56CGb_G27XGRgF3kl0jPR_14SBVsOKv_UyVX8,6286
294
+ novelwriter/dialogs/docsplit.py,sha256=nPb7U68vtZ5yuJtUIr-2yTWCfADCtK4T1h7LgL0Hx8c,9281
295
+ novelwriter/dialogs/editlabel.py,sha256=cs8ztrK1Gi3lEZozvs978dNAR6rnlV8cWr9dZArD51I,2963
296
+ novelwriter/dialogs/preferences.py,sha256=MqvpD-JCaQdgM5Lc1qyE14mDH8oHz-9Sfe2-cJv5qHo,38005
297
+ novelwriter/dialogs/projectsettings.py,sha256=hyRuOYk0FLPkZm8F8e-tx6-1dMRmp3PV8GZYojYpIlc,27635
298
+ novelwriter/dialogs/quotes.py,sha256=JCgoz9I8HepxYYVBXOzQac6aFpzNMF4CRdw4CnAnuNM,4727
299
+ novelwriter/dialogs/wordlist.py,sha256=yuQebLRuasVk2QUm2zWGn7ZzuWM4lFGyXz0egQPyILw,8511
300
+ novelwriter/extensions/configlayout.py,sha256=rQfK0kAwSZn30WEtqJKP8RoNWOjVP4C3gYTAXXkm5u0,10443
301
+ novelwriter/extensions/eventfilters.py,sha256=mTU_sMQPOEocRfvLcwQyXUpkm314tH32WsID61ss1CI,2522
302
+ novelwriter/extensions/modified.py,sha256=kXntkvw1ZWeRxseZyA444bV3O9RbmbErtaDDafu0DwY,5756
303
+ novelwriter/extensions/novelselector.py,sha256=etVtoDkHGJIP4ab__vStJQCREKYt5sWLfK1vyuO3hLI,3794
304
+ novelwriter/extensions/pagedsidebar.py,sha256=Brgl_d8KXnWWJov-sTkj9tMQu7Xrz8v7rXcnvpAaRK8,7232
305
+ novelwriter/extensions/progressbars.py,sha256=BpJHycboSNGYWIfAEMqIy1Qxf32Cg8TeWM3hogzakTs,4628
306
+ novelwriter/extensions/statusled.py,sha256=QdgkMSMKMfQRM9kiEXCuH-wbrq_AH9Sh8zBvYfvJE6Q,2943
307
+ novelwriter/extensions/switch.py,sha256=4kXJ3EHEhaivj1D69iBi46hkkPBGAt-Rt5EjVK3V4Aw,4299
308
+ novelwriter/extensions/switchbox.py,sha256=5tCiFWkT9WF9xh2c__BnNAJHFLw2nRso3fJZfwzDqRE,4198
309
+ novelwriter/extensions/versioninfo.py,sha256=R2_U6B678be0WNxbnhUntpxR5PnZVGf6eeyENp-S-Xo,5035
310
+ novelwriter/gui/doceditor.py,sha256=Cv9_sMKpSozKrIPusvcLDzlgD6rr8JxDHkzIoApOfMc,113720
311
+ novelwriter/gui/dochighlight.py,sha256=4JNWQkfaEc0p-EvRRkbBWwQdrFqVotgremzu2WWw9hA,19463
312
+ novelwriter/gui/docviewer.py,sha256=DzCyIwJusRAF8Uw93pAQEgk8PJ6H_yaH9TGFzPmcie8,32280
313
+ novelwriter/gui/docviewerpanel.py,sha256=Bh-WT2iSBqhMSxBgWKqNjJ2Erx_Y4BzsXLY_2RkMbMw,19852
314
+ novelwriter/gui/editordocument.py,sha256=5_v-gwZ9-CwJHGs7lFUGdY3paR7F1PW2FjD6_fbq5wY,4087
315
+ novelwriter/gui/itemdetails.py,sha256=0U3hghK4Vue3AwtLBRY6YJMN3vOCjatvvzXhJDn4UXo,9688
316
+ novelwriter/gui/mainmenu.py,sha256=PaJjO38DQ72UL9hMyvSbh2I1daxOZBSbJhNsov771fw,38908
317
+ novelwriter/gui/noveltree.py,sha256=rAU_f6efrt5uAsew6jGqo3X3E3ggrZaoQh2prm13wD8,27635
318
+ novelwriter/gui/outline.py,sha256=Id6hSEe1iLls6qPckX-b3U21rPOOndlfe7r4VsNC3G8,42312
319
+ novelwriter/gui/projtree.py,sha256=PUw0NcRqGHpYm1WTqUHflSSekigNJrqEs-Un0oCbGH0,77270
320
+ novelwriter/gui/search.py,sha256=HnS0_vOg15f3woXeZ8MS_ZAblx9aFIuN7BSa195tY1M,13262
321
+ novelwriter/gui/sidebar.py,sha256=jBkOinx69lwt4m1GovQ7nF44lF-g_SOk3yTT96KlbFY,6212
322
+ novelwriter/gui/statusbar.py,sha256=-rF6bIJXGKFRswVKWE1c5In5x3sX4iXMfp0AGxZxt0c,9053
323
+ novelwriter/gui/theme.py,sha256=M1ZbEKAZcU-INROiYyanUsDFNHcAZurArpEDvmg8870,31974
315
324
  novelwriter/text/counting.py,sha256=tkWKWS_scPYmBG8xLpIL1KLIjyF2HOlkrloQa5PZmDc,4304
316
- novelwriter/tools/dictionaries.py,sha256=cEdkqXowPZJV9hD01EmYB6PDGsMFYwVQ7QLEt_jthOk,9308
317
- novelwriter/tools/lipsum.py,sha256=d-qdRSrXLfTkTdzi7vhjeBlWawwGwWQ9Qd_zRSwzgpQ,4901
318
- novelwriter/tools/manusbuild.py,sha256=80kRr4OfvW2lqjhLpnAWO8HiTX7Y3HSivcjT48v_KUE,14101
319
- novelwriter/tools/manuscript.py,sha256=lI7xV8KxnuPQt26sN2m-kKORqK3hInepm5Bc8FYhgjk,40510
320
- novelwriter/tools/manussettings.py,sha256=xMbamo3AKASz2NkJCIQYlvGPXE_rVeJQjxIXz2c57Bg,55754
321
- novelwriter/tools/noveldetails.py,sha256=KoENyz0hH3TlXfRCEJvRTZ0h7ruOgTIv85AgCl1Ur5o,18503
322
- novelwriter/tools/welcome.py,sha256=BxORHBPjqumEVNZC7SytE3kUasx01GMOKS5QQSagP-M,27954
323
- novelwriter/tools/writingstats.py,sha256=IubrbbLB_Qlnwp9B3muKkeD84xtckPvmTax7E4LnI5g,22797
324
- novelWriter-2.4.4.dist-info/LICENSE.md,sha256=2GirkkLrPfQqx7fACKRJjtKJUegKc8067erGvcDVQHM,32197
325
- novelWriter-2.4.4.dist-info/METADATA,sha256=y8mt-5n0Fuv5tb5iMrqkhYyZW_t_w8qFWknSFE3h1AE,2582
326
- novelWriter-2.4.4.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
327
- novelWriter-2.4.4.dist-info/entry_points.txt,sha256=YDUG1w361LtLsjD3YhxoTDTwM17JA5-nigjC6j5C74A,45
328
- novelWriter-2.4.4.dist-info/top_level.txt,sha256=wFFEucjEeNC_Ap5ULBuEutg5a1Uc0-YO9uFT5L2naNI,12
329
- novelWriter-2.4.4.dist-info/RECORD,,
325
+ novelwriter/text/patterns.py,sha256=sEBPf9buLtJvYeoYquZzDcSC6gfKBHIUPGbD31y5H-g,3843
326
+ novelwriter/tools/dictionaries.py,sha256=92GNCSEOK1EI7t2DiayT8p7nzKW7LwxJJz98F6kn3Vg,9243
327
+ novelwriter/tools/lipsum.py,sha256=NcmoxWzrbEybh_w1FzxuxHmeTr8N03OrxjxsPWEbae4,4794
328
+ novelwriter/tools/manusbuild.py,sha256=c3NdpkAqUPTKN2BpGX_xleFtZPi1G8uv80XBZEp27Bw,14071
329
+ novelwriter/tools/manuscript.py,sha256=77BaTqfytdrqgUxnCLUUVPxx1wScu289xfyBhcHGX-M,37955
330
+ novelwriter/tools/manussettings.py,sha256=Uz7QpCb2l_SftpQ5N7x0qHdq41-6fvTRHv7bxWvDLWg,56145
331
+ novelwriter/tools/noveldetails.py,sha256=xNpTf5-hFu-K_flPhMLug6tNboKvDWV7OEetpHx6Lsc,18481
332
+ novelwriter/tools/welcome.py,sha256=KLSlBTih_HOTJ3nmyv4IU4ec8XNJDL5AwXMZ6amqmIw,28027
333
+ novelwriter/tools/writingstats.py,sha256=f5nbmE5V9VsQ8qi_DlvfF5yVIupEbVDavtuMbTzU7IA,22753
334
+ novelWriter-2.5.dist-info/LICENSE.md,sha256=2GirkkLrPfQqx7fACKRJjtKJUegKc8067erGvcDVQHM,32197
335
+ novelWriter-2.5.dist-info/METADATA,sha256=HBbzNgYIEsupmX4PIGvo-hQWZ-EAHEBLLyu29mKSS1E,2530
336
+ novelWriter-2.5.dist-info/WHEEL,sha256=Z4pYXqR_rTB7OWNDYFOm1qRk0RX6GFP2o8LgvP453Hk,91
337
+ novelWriter-2.5.dist-info/entry_points.txt,sha256=YDUG1w361LtLsjD3YhxoTDTwM17JA5-nigjC6j5C74A,45
338
+ novelWriter-2.5.dist-info/top_level.txt,sha256=wFFEucjEeNC_Ap5ULBuEutg5a1Uc0-YO9uFT5L2naNI,12
339
+ novelWriter-2.5.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: bdist_wheel (0.43.0)
2
+ Generator: setuptools (70.3.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5
 
novelwriter/__init__.py CHANGED
@@ -32,7 +32,7 @@ from typing import TYPE_CHECKING
32
32
  from PyQt5.QtWidgets import QApplication, QErrorMessage
33
33
 
34
34
  from novelwriter.config import Config
35
- from novelwriter.error import exceptionHandler, logException
35
+ from novelwriter.error import exceptionHandler
36
36
  from novelwriter.shared import SharedData
37
37
 
38
38
  if TYPE_CHECKING: # pragma: no cover
@@ -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.4.4"
51
- __hexversion__ = "0x020404f0"
52
- __date__ = "2024-06-12"
50
+ __version__ = "2.5"
51
+ __hexversion__ = "0x020500f0"
52
+ __date__ = "2024-07-10"
53
53
  __status__ = "Stable"
54
54
  __domain__ = "novelwriter.io"
55
55
 
@@ -162,19 +162,19 @@ def main(sysArgs: list | None = None) -> GuiMain | None:
162
162
  # Check Packages and Versions
163
163
  errorData = []
164
164
  errorCode = 0
165
- if sys.hexversion < 0x030800f0:
165
+ if sys.hexversion < 0x030900f0:
166
166
  errorData.append(
167
- "At least Python 3.8 is required, found %s" % CONFIG.verPyString
167
+ "At least Python 3.9 is required, found %s" % CONFIG.verPyString
168
168
  )
169
169
  errorCode |= 0x04
170
- if CONFIG.verQtValue < 0x050a00:
170
+ if CONFIG.verQtValue < 0x050f00:
171
171
  errorData.append(
172
- "At least Qt5 version 5.10 is required, found %s" % CONFIG.verQtString
172
+ "At least Qt5 version 5.15.0 is required, found %s" % CONFIG.verQtString
173
173
  )
174
174
  errorCode |= 0x08
175
- if CONFIG.verPyQtValue < 0x050a00:
175
+ if CONFIG.verPyQtValue < 0x050f00:
176
176
  errorData.append(
177
- "At least PyQt5 version 5.10 is required, found %s" % CONFIG.verPyQtString
177
+ "At least PyQt5 version 5.15.0 is required, found %s" % CONFIG.verPyQtString
178
178
  )
179
179
  errorCode |= 0x10
180
180
 
@@ -198,52 +198,46 @@ def main(sysArgs: list | None = None) -> GuiMain | None:
198
198
  # Finish initialising config
199
199
  CONFIG.initConfig(confPath, dataPath)
200
200
 
201
- if CONFIG.osDarwin:
201
+ if sys.platform == "darwin":
202
202
  try:
203
203
  from Foundation import NSBundle # type: ignore
204
204
  bundle = NSBundle.mainBundle()
205
205
  info = bundle.localizedInfoDictionary() or bundle.infoDictionary()
206
206
  info["CFBundleName"] = "novelWriter"
207
207
  except Exception:
208
- logger.error("Failed to set application name")
209
- logException()
210
-
211
- elif CONFIG.osWindows:
208
+ pass # Quietly ignore error
209
+ elif sys.platform == "win32":
212
210
  try:
213
211
  import ctypes
214
212
  appID = f"io.novelwriter.{__version__}"
215
213
  ctypes.windll.shell32.SetCurrentProcessExplicitAppUserModelID(appID) # type: ignore
216
214
  except Exception:
217
- logger.error("Failed to set application name")
218
- logException()
215
+ pass # Quietly ignore error
219
216
 
220
217
  # Import GUI (after dependency checks), and launch
221
218
  from novelwriter.guimain import GuiMain
222
- if testMode:
223
- nwGUI = GuiMain()
224
- return nwGUI
225
219
 
226
- else:
227
- nwApp = QApplication([CONFIG.appName, (f"-style={qtStyle}")])
228
- nwApp.setApplicationName(CONFIG.appName)
229
- nwApp.setApplicationVersion(__version__)
230
- nwApp.setOrganizationDomain(__domain__)
231
- nwApp.setOrganizationName(__domain__)
232
- nwApp.setDesktopFileName(CONFIG.appName)
233
-
234
- # Connect the exception handler before making the main GUI
235
- sys.excepthook = exceptionHandler
220
+ if testMode:
221
+ # Only used for testing where the test framework creates the app
222
+ CONFIG.loadConfig()
223
+ return GuiMain()
236
224
 
237
- # Run Config steps that require the QApplication
238
- CONFIG.initLocalisation(nwApp)
239
- CONFIG.setTextFont(CONFIG.textFont, CONFIG.textSize) # Makes sure these are valid
225
+ app = QApplication([CONFIG.appName, (f"-style={qtStyle}")])
226
+ app.setApplicationName(CONFIG.appName)
227
+ app.setApplicationVersion(__version__)
228
+ app.setOrganizationDomain(__domain__)
229
+ app.setOrganizationName(__domain__)
230
+ app.setDesktopFileName(CONFIG.appName)
240
231
 
241
- # Launch main GUI
242
- nwGUI = GuiMain()
243
- nwGUI.postLaunchTasks(cmdOpen)
232
+ # Connect the exception handler before making the main GUI
233
+ sys.excepthook = exceptionHandler
244
234
 
245
- sys.exit(nwApp.exec())
235
+ # Run Config steps that require the QApplication
236
+ CONFIG.loadConfig()
237
+ CONFIG.initLocalisation(app)
246
238
 
247
- return None
239
+ # Launch main GUI
240
+ nwGUI = GuiMain()
241
+ nwGUI.postLaunchTasks(cmdOpen)
248
242
 
249
- # END Function main
243
+ sys.exit(app.exec())
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
@@ -1,6 +1,7 @@
1
1
  {
2
2
  "Synopsis": "Synopsis",
3
3
  "Short Description": "Short Description",
4
+ "Footnotes": "Footnotes",
4
5
  "Comment": "Comment",
5
6
  "Notes": "Notes",
6
7
  "Tag": "Tag",
@@ -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
+ }