novelWriter 2.6b2__py3-none-any.whl → 2.6rc1__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 (95) hide show
  1. {novelWriter-2.6b2.dist-info → novelWriter-2.6rc1.dist-info}/METADATA +2 -2
  2. {novelWriter-2.6b2.dist-info → novelWriter-2.6rc1.dist-info}/RECORD +95 -95
  3. {novelWriter-2.6b2.dist-info → novelWriter-2.6rc1.dist-info}/WHEEL +1 -1
  4. novelwriter/__init__.py +4 -4
  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_ru_RU.qm +0 -0
  16. novelwriter/assets/i18n/nw_zh_CN.qm +0 -0
  17. novelwriter/assets/manual.pdf +0 -0
  18. novelwriter/assets/sample.zip +0 -0
  19. novelwriter/common.py +1 -1
  20. novelwriter/config.py +4 -1
  21. novelwriter/constants.py +36 -36
  22. novelwriter/core/buildsettings.py +1 -1
  23. novelwriter/core/coretools.py +1 -1
  24. novelwriter/core/docbuild.py +1 -1
  25. novelwriter/core/document.py +1 -1
  26. novelwriter/core/index.py +1 -1
  27. novelwriter/core/item.py +1 -1
  28. novelwriter/core/itemmodel.py +1 -1
  29. novelwriter/core/options.py +1 -1
  30. novelwriter/core/project.py +1 -1
  31. novelwriter/core/projectdata.py +8 -2
  32. novelwriter/core/projectxml.py +1 -1
  33. novelwriter/core/sessions.py +1 -1
  34. novelwriter/core/spellcheck.py +1 -1
  35. novelwriter/core/status.py +17 -3
  36. novelwriter/core/storage.py +1 -1
  37. novelwriter/core/tree.py +1 -1
  38. novelwriter/dialogs/about.py +1 -1
  39. novelwriter/dialogs/docmerge.py +1 -1
  40. novelwriter/dialogs/docsplit.py +1 -1
  41. novelwriter/dialogs/editlabel.py +1 -1
  42. novelwriter/dialogs/preferences.py +2 -2
  43. novelwriter/dialogs/projectsettings.py +146 -96
  44. novelwriter/dialogs/quotes.py +1 -1
  45. novelwriter/dialogs/wordlist.py +11 -10
  46. novelwriter/enum.py +1 -1
  47. novelwriter/error.py +2 -2
  48. novelwriter/extensions/configlayout.py +1 -1
  49. novelwriter/extensions/eventfilters.py +1 -1
  50. novelwriter/extensions/modified.py +17 -5
  51. novelwriter/extensions/novelselector.py +1 -1
  52. novelwriter/extensions/pagedsidebar.py +4 -4
  53. novelwriter/extensions/progressbars.py +4 -4
  54. novelwriter/extensions/statusled.py +3 -3
  55. novelwriter/extensions/switch.py +3 -3
  56. novelwriter/extensions/switchbox.py +1 -1
  57. novelwriter/extensions/versioninfo.py +1 -1
  58. novelwriter/formats/shared.py +1 -1
  59. novelwriter/formats/todocx.py +1 -1
  60. novelwriter/formats/tohtml.py +1 -1
  61. novelwriter/formats/tokenizer.py +5 -5
  62. novelwriter/formats/tomarkdown.py +1 -1
  63. novelwriter/formats/toodt.py +1 -1
  64. novelwriter/formats/toqdoc.py +1 -1
  65. novelwriter/formats/toraw.py +1 -1
  66. novelwriter/gui/doceditor.py +4 -2
  67. novelwriter/gui/dochighlight.py +1 -1
  68. novelwriter/gui/docviewer.py +1 -1
  69. novelwriter/gui/docviewerpanel.py +1 -1
  70. novelwriter/gui/editordocument.py +1 -1
  71. novelwriter/gui/itemdetails.py +3 -3
  72. novelwriter/gui/mainmenu.py +1 -1
  73. novelwriter/gui/noveltree.py +1 -1
  74. novelwriter/gui/outline.py +8 -9
  75. novelwriter/gui/projtree.py +5 -7
  76. novelwriter/gui/search.py +2 -9
  77. novelwriter/gui/sidebar.py +1 -1
  78. novelwriter/gui/statusbar.py +20 -3
  79. novelwriter/gui/theme.py +1 -1
  80. novelwriter/guimain.py +1 -5
  81. novelwriter/shared.py +1 -1
  82. novelwriter/text/counting.py +1 -1
  83. novelwriter/text/patterns.py +1 -1
  84. novelwriter/tools/dictionaries.py +1 -1
  85. novelwriter/tools/lipsum.py +1 -1
  86. novelwriter/tools/manusbuild.py +1 -1
  87. novelwriter/tools/manuscript.py +7 -7
  88. novelwriter/tools/manussettings.py +1 -1
  89. novelwriter/tools/noveldetails.py +1 -1
  90. novelwriter/tools/welcome.py +1 -1
  91. novelwriter/tools/writingstats.py +1 -1
  92. novelwriter/types.py +2 -2
  93. {novelWriter-2.6b2.dist-info → novelWriter-2.6rc1.dist-info}/LICENSE.md +0 -0
  94. {novelWriter-2.6b2.dist-info → novelWriter-2.6rc1.dist-info}/entry_points.txt +0 -0
  95. {novelWriter-2.6b2.dist-info → novelWriter-2.6rc1.dist-info}/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.2
2
2
  Name: novelWriter
3
- Version: 2.6b2
3
+ Version: 2.6rc1
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,26 +1,26 @@
1
- novelwriter/__init__.py,sha256=KV3vGtSPCtlZ7kEWopW8OkdOG0Yrs5nRSF3y-vl8CmQ,8818
2
- novelwriter/common.py,sha256=23287aY7viedw94m9X_01DaTaXfcOGwv_Bm_3H7zkzY,21726
3
- novelwriter/config.py,sha256=0Z_30Y8ZEt3QZHO-h7ZEDkKdd6RcXthrEId5vuOaAck,39537
4
- novelwriter/constants.py,sha256=71YtZ8z25iTRiaUy-pCpONeNtjvxipHmGLVzSm9TTb4,26024
5
- novelwriter/enum.py,sha256=KX_51vOG-M3ytDsiMuMvoVzDhGlh2qRgjBUV_6ipt1A,3688
6
- novelwriter/error.py,sha256=iIx1OzyXTT7Ngk2mXW_5c0YqVdFBD0NIkUFgAXNNBlM,6813
7
- novelwriter/guimain.py,sha256=3zZqXkxdqThqvyv8qFTkbPC8om5ARqvZzFct-O1GIqE,49681
8
- novelwriter/shared.py,sha256=Sb9yri3rJX72-kTFCoSA2Lyjzg5RSS13DQDecQzY974,17486
9
- novelwriter/types.py,sha256=A71R3BwJty71aJl5TvxQ27RctWy3ETQq-yp314pA66Y,5073
10
- novelwriter/assets/manual.pdf,sha256=fZR_w_bJoeqP_JlctGpZmT1-SmDbvKbhFMNR4AaWAng,2734082
11
- novelwriter/assets/sample.zip,sha256=eQ_ZRDq5tEXtlibdo-DA6NQXSirfIpBRTch_evMZJog,28032
12
- novelwriter/assets/i18n/nw_de_DE.qm,sha256=tyew6MnnKP9s5zEkwO_MiLJ2EH2sOO21BPaDnP5ebRU,100540
13
- novelwriter/assets/i18n/nw_en_US.qm,sha256=Mueo40jL6hBXcV0Vxac-Jd-GAsLASSqEV_7W96sFkZ8,93304
14
- novelwriter/assets/i18n/nw_es_419.qm,sha256=eHiRXnf86BPH5MGvJuo8bR_nBaf-HULE-nRW76o9-yU,103131
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=zGC7PbMD6NlbNYmZ2IiV8B9xxdTE7yBpaFhSeaBQSzU,101706
22
- novelwriter/assets/i18n/nw_ru_RU.qm,sha256=DOaPZyREPxMrOuLLs1Sboj43QA6HfK6okU8WJGue5wE,98115
23
- novelwriter/assets/i18n/nw_zh_CN.qm,sha256=poSDKRXapJ8zHBmiRdA85KcIN1nm6gnowDMlpoJwAKE,69647
1
+ novelwriter/__init__.py,sha256=FpUhjOmmT5CoBcmp4xnXISjYAfc-zg5aGTeni8uXVQw,8844
2
+ novelwriter/common.py,sha256=i5kxxzOOg0W60uZ8w1HhwlgEUYKqv60F1JTlu4KEjrY,21751
3
+ novelwriter/config.py,sha256=ckvg0ufgBPz69qq-9Tk-RHoDE6vAG5tx4Sc9CJhA4qA,39789
4
+ novelwriter/constants.py,sha256=sPAjs_SwLlr5YVDvXrU2ZeJo6m7732oilnWY3jK7KuY,25948
5
+ novelwriter/enum.py,sha256=wbYnMgViyvuWEqeAGpNJDnk7AfnXDtxLey8Y4WbWkUo,3713
6
+ novelwriter/error.py,sha256=Pq4ogfb4GlqTBC698o9bJ537Ce5kXzyNw2JZxMGmZJM,6849
7
+ novelwriter/guimain.py,sha256=MqYuge0OPjfgyysjcQs_pdnSXcwAZq-DxnJJcvpVLBU,49628
8
+ novelwriter/shared.py,sha256=MaIQuDHX3XvW4SbhGaDlfI6YFn_yxzeq92IKi1ri810,17511
9
+ novelwriter/types.py,sha256=-qQovORltSnUMWn5Hcjv2FJV18t_DumGkggjch_oFRE,5098
10
+ novelwriter/assets/manual.pdf,sha256=vUvjZCWBpWsgbw8K7H9JWBH7sB7eWAVLmXvzx-cjxd8,2735354
11
+ novelwriter/assets/sample.zip,sha256=h9OHiTX2pyJxORdaFp3qzRbklJWzmg7jVMOh3UAXqe0,28036
12
+ novelwriter/assets/i18n/nw_de_DE.qm,sha256=jMjb_fnKDaBWX-qso1Ci76N0d5j_zQ0uu7c0NgVWp40,97177
13
+ novelwriter/assets/i18n/nw_en_US.qm,sha256=a7Q5U9C5vFq8xk-xK3h-XFnWmG_85OHnUdScYDrZNCg,90203
14
+ novelwriter/assets/i18n/nw_es_419.qm,sha256=LCNGv7RUpgTCWkA6oOyfPckGl-sKO1hmdGl_naQO8AY,99798
15
+ novelwriter/assets/i18n/nw_fr_FR.qm,sha256=BwHQadfuvJyx2koKC2McMWrjJI7KQTEYq8mLe6n1wfI,100161
16
+ novelwriter/assets/i18n/nw_it_IT.qm,sha256=ezbPAzRdh0sG4M4U3gcfldD4yJNtCZK6uowqK4SHMx4,99883
17
+ novelwriter/assets/i18n/nw_ja_JP.qm,sha256=lrpFS5T1mW3dPcAGRYLcB3vcMBl5MbAqgOtbbao2clk,74622
18
+ novelwriter/assets/i18n/nw_nb_NO.qm,sha256=bCeJnRX-e_KHEahvMVLxiu4PLW3V-AO3M1oKjRtXKRE,92747
19
+ novelwriter/assets/i18n/nw_nl_NL.qm,sha256=WCnVcavSwehklScJQTU-AhogQzrtN1IHYT2cK5B-9gg,96703
20
+ novelwriter/assets/i18n/nw_pl_PL.qm,sha256=oSy7GDTNNRqZy4tnp7llCVE6CkkqoJNEiI1s1p_wp5w,95451
21
+ novelwriter/assets/i18n/nw_pt_BR.qm,sha256=iSuAZk2-sKrj_nNCcWUmL4bp7PAq83FrzNGbt3uSNoU,98365
22
+ novelwriter/assets/i18n/nw_ru_RU.qm,sha256=W10A9BAdYhRbZRzHCpaN03G7Xba7hzl02L6bGveL_0o,94842
23
+ novelwriter/assets/i18n/nw_zh_CN.qm,sha256=ndKC1LJffwRKg4K7aVz9x7xWwInH3rUb_aJBkd3UAj8,67298
24
24
  novelwriter/assets/i18n/project_de_DE.json,sha256=fuEYohM2xm0mLXmibbU0TISr0BCZb2yOiBLCUmKhDJQ,2810
25
25
  novelwriter/assets/i18n/project_en_GB.json,sha256=CvBOO8kaW0k7NlwvxFi62Br9HYKJKQLDk1nQfvXOj48,2537
26
26
  novelwriter/assets/i18n/project_en_US.json,sha256=EcQAVEiQgRL3qobuzkPTfOWIxAc3Om-tA7nXUFFXEdI,2483
@@ -286,75 +286,75 @@ novelwriter/assets/themes/default_light.conf,sha256=2a4SXzlbZpyV9EX3BuFSRFYuLuzu
286
286
  novelwriter/assets/themes/dracula.conf,sha256=pUvu7FS1nRPj3PyU3NZMR0WSb5sIa0oLpSa2XTzsh98,1425
287
287
  novelwriter/assets/themes/solarized_dark.conf,sha256=7dDjs8aiFuAjl--hqMJQEExrfCgAapiPY82CL6aAo-I,916
288
288
  novelwriter/assets/themes/solarized_light.conf,sha256=psCPVWcjAKB5y8H_E_h5zYUifxh5YpdFdBzxFofIHa0,918
289
- novelwriter/core/buildsettings.py,sha256=YAx1P-Vop4UssOjckon0IYLSgpTDVz5kYQFjjt0uIb4,24092
290
- novelwriter/core/coretools.py,sha256=8X2IVr3MD-KhokSgYnjuoZoq3xgLzGL-GVNr0Tk4bp4,21150
291
- novelwriter/core/docbuild.py,sha256=vpLHjK4QSfOvOg9sFm3Ho7fiSutCtMA8Wgm93yVE7Ck,13753
292
- novelwriter/core/document.py,sha256=T8FlxyEMlR3t2HNE92InseWUMylWFTMnr2fP-Ge5LQc,12130
293
- novelwriter/core/index.py,sha256=KOPYGv0aQJ7cmLkh-2QjdfhkHZl-X4QbzihAXcpKkbA,48585
294
- novelwriter/core/item.py,sha256=zPI7HdDehVpKflJkzIDH-UQtbKqbRPADH2EDZdJYtK8,18794
295
- novelwriter/core/itemmodel.py,sha256=7QcwrC1lAdIsJGWkd8NJGw68njRurky8QPiBpj3zbdo,18000
296
- novelwriter/core/options.py,sha256=HmN2-yOj5IkwMLzEOLM0IyCA4wNMNv3Nf53EBgtiPkE,7457
297
- novelwriter/core/project.py,sha256=xn3pFyCtgzzGhJ39PJ5zZ33qETokYfz--3OJTZ_sU90,21042
298
- novelwriter/core/projectdata.py,sha256=bt-LDNJsM2K4VwTcyZU_V2KOUZJFRKrNXNIwbU1v3Eo,9799
299
- novelwriter/core/projectxml.py,sha256=dbgm2ryPCOa1BFsFay-6vEK2itE8TWYRUiwCBpPp59g,22013
300
- novelwriter/core/sessions.py,sha256=V9eBXaUMcXTZjYXR5dgi6E14COIlcLIkNwS6pDrn75U,4405
301
- novelwriter/core/spellcheck.py,sha256=RBaqQaQtxi1e20zi7Jn3VUzHvfY3mGZh4Z7SY19csTc,7151
302
- novelwriter/core/status.py,sha256=5Dt6OSfKvN0knK576l-6Gb7sRuJ1Rz3EMsEu_kEFt_E,11607
303
- novelwriter/core/storage.py,sha256=mNM9EMW0VRMwEkmTKnzotPVdJk4tJDDUNAHNH9yG5mw,20926
304
- novelwriter/core/tree.py,sha256=xevkLomy5PwmarhIg5_Fe8frv9zJPeykp9bgfFcN-XE,18716
305
- novelwriter/dialogs/about.py,sha256=0iBYkifACc5vZj4KwG0G2Dll_Wp4acAHUfNTto74MFU,4755
306
- novelwriter/dialogs/docmerge.py,sha256=jvNVp22vG8oovPCMAG3wTeVeHbmaFVd_cPWWEaQbYzU,6095
307
- novelwriter/dialogs/docsplit.py,sha256=nPb7U68vtZ5yuJtUIr-2yTWCfADCtK4T1h7LgL0Hx8c,9281
308
- novelwriter/dialogs/editlabel.py,sha256=cs8ztrK1Gi3lEZozvs978dNAR6rnlV8cWr9dZArD51I,2963
309
- novelwriter/dialogs/preferences.py,sha256=6qaBULeyn-2gcHHZqDzCWyBUIYuuo9aQUgcfuswg018,38721
310
- novelwriter/dialogs/projectsettings.py,sha256=dD2h366Px1xoHTViLbdh8SGYWdAGjm6d3hmTQYreBzY,27529
311
- novelwriter/dialogs/quotes.py,sha256=JCgoz9I8HepxYYVBXOzQac6aFpzNMF4CRdw4CnAnuNM,4727
312
- novelwriter/dialogs/wordlist.py,sha256=yuQebLRuasVk2QUm2zWGn7ZzuWM4lFGyXz0egQPyILw,8511
313
- novelwriter/extensions/configlayout.py,sha256=pd3ayWEFGW1EDieEOtLszxaxdIjfb2HgXlme_u90x_s,10803
314
- novelwriter/extensions/eventfilters.py,sha256=mTU_sMQPOEocRfvLcwQyXUpkm314tH32WsID61ss1CI,2522
315
- novelwriter/extensions/modified.py,sha256=Skr0ke2NYH6YCuu-L98mNCg0NLlXmy5tfSruV4td-ns,6015
316
- novelwriter/extensions/novelselector.py,sha256=etVtoDkHGJIP4ab__vStJQCREKYt5sWLfK1vyuO3hLI,3794
317
- novelwriter/extensions/pagedsidebar.py,sha256=CbQlW5pTQhhiTN5py158AxY1ttw4hFAh8JlBWDwof4A,7248
318
- novelwriter/extensions/progressbars.py,sha256=BpJHycboSNGYWIfAEMqIy1Qxf32Cg8TeWM3hogzakTs,4628
319
- novelwriter/extensions/statusled.py,sha256=QdgkMSMKMfQRM9kiEXCuH-wbrq_AH9Sh8zBvYfvJE6Q,2943
320
- novelwriter/extensions/switch.py,sha256=4kXJ3EHEhaivj1D69iBi46hkkPBGAt-Rt5EjVK3V4Aw,4299
321
- novelwriter/extensions/switchbox.py,sha256=5tCiFWkT9WF9xh2c__BnNAJHFLw2nRso3fJZfwzDqRE,4198
322
- novelwriter/extensions/versioninfo.py,sha256=R2_U6B678be0WNxbnhUntpxR5PnZVGf6eeyENp-S-Xo,5035
323
- novelwriter/formats/shared.py,sha256=aXmOpXIOvpA8cTI2hV3OFMEmTEs6JYUd3aAUGcniipI,4580
324
- novelwriter/formats/todocx.py,sha256=J6G4D_vQHunDmgyUbL4sfOo2tn5g42seTpdHo9ADVFU,40254
325
- novelwriter/formats/tohtml.py,sha256=jHrkm6NSOu7u0Eomj2clumUDhLviJaKZdJOp1yNPWic,17054
326
- novelwriter/formats/tokenizer.py,sha256=tqrZnmEGSJvMOIA-BOBq77ZQLgLO2oBLbVBUqc8VZ2o,48419
327
- novelwriter/formats/tomarkdown.py,sha256=Y1zSkdfFiMzdrEoYAvd5a48_XrCKLT35CiAplS2lY20,6891
328
- novelwriter/formats/toodt.py,sha256=Wbhj0zMng-NvP8zZIgTNfLfalby9UdXQD7wbPw57ynM,58369
329
- novelwriter/formats/toqdoc.py,sha256=BE7FE88Rw68JZgEXWWvtJzVparD5Sj2k3T_ZB6eeHYM,17885
330
- novelwriter/formats/toraw.py,sha256=ySpdePg3_qAZGrDcNPYy1CYOp9EsERo1yIx5S4nfdhk,2817
331
- novelwriter/gui/doceditor.py,sha256=SzosIwqwyivbIokM3fftwBVIGdLPXwR1_jx8kSIB0fY,116461
332
- novelwriter/gui/dochighlight.py,sha256=es-UCYry-ks--tfscaqzN7_xn5Xvm-wGiBJVEj3Q4D4,19655
333
- novelwriter/gui/docviewer.py,sha256=wbNsEljJDPNlL8eppPA3XdeLD8VZIGxhcf8iLy_0fVQ,34491
334
- novelwriter/gui/docviewerpanel.py,sha256=tLs2iTpidFHSdxAQWXCzZhZqjsLdNGX9uaULdSW7leo,19701
335
- novelwriter/gui/editordocument.py,sha256=pCTp6fZT05BhTRwKlw60rQwsv1bVTIlV3_HiztamPeY,4698
336
- novelwriter/gui/itemdetails.py,sha256=SKPRvDqrEURgNr0kr4PX24YXh9ZNSlkVOGXfuoW3nuY,9619
337
- novelwriter/gui/mainmenu.py,sha256=VzRKgZOvxMlO7rrKii4eJQd_t8Gr7T43EtGWAN0ZIvA,41604
338
- novelwriter/gui/noveltree.py,sha256=bUzqa26NVCapbgV3ofJex7kHsz0hajyCA336j61a8IY,27111
339
- novelwriter/gui/outline.py,sha256=llAbX3xsdDtYZkgDrSC4cbzAv6HDMjNW14dOKvUUzF0,38469
340
- novelwriter/gui/projtree.py,sha256=ch3thUQ-xe3PACjEixmWK_cieMiIps2D7pXhnRhpt_E,53027
341
- novelwriter/gui/search.py,sha256=PURKBzXAQdyq5q2PnJ8t26cdHtweYHnTsCfAMEQRXgw,13108
342
- novelwriter/gui/sidebar.py,sha256=Yl86aZSVXDlbo6xXkolr8LlnoNKImKf8CrrlI3o7c9I,6261
343
- novelwriter/gui/statusbar.py,sha256=-rF6bIJXGKFRswVKWE1c5In5x3sX4iXMfp0AGxZxt0c,9053
344
- novelwriter/gui/theme.py,sha256=7LtGE7IfLR_qJfbgKilzy_5rn1kC_V2nF-ga_ohYDjY,32224
345
- novelwriter/text/counting.py,sha256=b88S7V8xWOgkq7dfuCeciX0qpxu94k0G071VqP6VNvE,4382
346
- novelwriter/text/patterns.py,sha256=5BQaep5KUx0KuK4AC9uZiJm5tglHZGv4KyqsJ9nPq_Y,7662
347
- novelwriter/tools/dictionaries.py,sha256=92GNCSEOK1EI7t2DiayT8p7nzKW7LwxJJz98F6kn3Vg,9243
348
- novelwriter/tools/lipsum.py,sha256=NcmoxWzrbEybh_w1FzxuxHmeTr8N03OrxjxsPWEbae4,4794
349
- novelwriter/tools/manusbuild.py,sha256=c-sjOZzMRBbDbzmoKXVPYydw0Wbx2olf-gE9CUYVVSw,14082
350
- novelwriter/tools/manuscript.py,sha256=i9w23boR7H2vZNFI6hzATmhtWLfw3MMWDcsu_cNkrF4,40052
351
- novelwriter/tools/manussettings.py,sha256=DiLF1oYSe3jurjfK1Pr-P2NvVSy7t1eifKcdiLJPVY0,60806
352
- novelwriter/tools/noveldetails.py,sha256=xNpTf5-hFu-K_flPhMLug6tNboKvDWV7OEetpHx6Lsc,18481
353
- novelwriter/tools/welcome.py,sha256=DsXNeudXe_PXsMv4R8zJ38rGQ60iqguZQ-g5lB8oJu8,27993
354
- novelwriter/tools/writingstats.py,sha256=456kR-EniRE5jNJSTE8ba3A1MrvavqF88Kt2k3OiFTM,22767
355
- novelWriter-2.6b2.dist-info/LICENSE.md,sha256=2GirkkLrPfQqx7fACKRJjtKJUegKc8067erGvcDVQHM,32197
356
- novelWriter-2.6b2.dist-info/METADATA,sha256=VRA78A2SNN39HWX2UoF9gEAXyGZkbmtBabljWQWxQ-Y,2581
357
- novelWriter-2.6b2.dist-info/WHEEL,sha256=PZUExdf71Ui_so67QXpySuHtCi3-J3wvF4ORK6k_S8U,91
358
- novelWriter-2.6b2.dist-info/entry_points.txt,sha256=YDUG1w361LtLsjD3YhxoTDTwM17JA5-nigjC6j5C74A,45
359
- novelWriter-2.6b2.dist-info/top_level.txt,sha256=wFFEucjEeNC_Ap5ULBuEutg5a1Uc0-YO9uFT5L2naNI,12
360
- novelWriter-2.6b2.dist-info/RECORD,,
289
+ novelwriter/core/buildsettings.py,sha256=q5ZgkUKJO1-tktAJcgmgKMF5r6Op_UrE_ZTyw-_nyoM,24117
290
+ novelwriter/core/coretools.py,sha256=sjhU0disSrOrc7X1ObahcjIUwXxyZhG3LiAUBvwBh4I,21175
291
+ novelwriter/core/docbuild.py,sha256=svK66k4-x203zMYp6P5T5TMKPJDQRLuRAsDUfauIRBs,13778
292
+ novelwriter/core/document.py,sha256=t52H5RrKu3Un-55Lhdd6cu_MN2-__bdXIJZDWzl72TM,12155
293
+ novelwriter/core/index.py,sha256=_hbKqnisf-5-WUYtju5EqpPKhfo2gsaiT28ZGXfalgc,48610
294
+ novelwriter/core/item.py,sha256=hPhR5vtn-FfEgx8OSJ7IbuYCqZOQ2kiPf_SDxbkUBFw,18819
295
+ novelwriter/core/itemmodel.py,sha256=1W7A-uLI1g2sOe7gietKiV15McF6rMY1VMVJ4L0PpAc,18025
296
+ novelwriter/core/options.py,sha256=wJ3PJrtwbLPCs-WEvMLTWTOdlX-bn8oaUBZqYNZLY5w,7482
297
+ novelwriter/core/project.py,sha256=11g3CTQFqzwJBKfNG0AqTsrEonb97vdymC_cM4Ggjz0,21067
298
+ novelwriter/core/projectdata.py,sha256=EPgvvC8U8qAL3UMZSSuUNiMc9kifULJaexQ3N09Wj4A,10006
299
+ novelwriter/core/projectxml.py,sha256=Y7_cTzd-kNK0yyvJIiWkdDvZJo6f2WveYM6IqZllHJY,22038
300
+ novelwriter/core/sessions.py,sha256=XMp6JQcZYLpWRqio28pBFMTmj4EVak61rL7c3qC9TQY,4430
301
+ novelwriter/core/spellcheck.py,sha256=6T14_EHi7WaK7VFIUwiDSmaFJw9_PnDPBxZRZJygBRY,7176
302
+ novelwriter/core/status.py,sha256=rP0bBsIauH6P-vIAUIPpUaDx8zF7YU32NhoK29zLRQU,12236
303
+ novelwriter/core/storage.py,sha256=ndB0PigeoRrQn3tUSjwbDc9FySEYOugeIARFUMld-AY,20951
304
+ novelwriter/core/tree.py,sha256=awKPagDBkX9negFwiSlydMj-RsowUJaJlGwzBctoGW0,18741
305
+ novelwriter/dialogs/about.py,sha256=TPdkAPpPsAx7zhCbfBrSn-GhXfz-xG1OSJIePdI-E1k,4780
306
+ novelwriter/dialogs/docmerge.py,sha256=8Xu_kan7u9LI2__HCnEsDZjLcfn5XP-tFjWvE8VXrDs,6120
307
+ novelwriter/dialogs/docsplit.py,sha256=nt5L_SuB7QlfDYgBecd57bir5RVIcbpptCMdIBg4-Fs,9306
308
+ novelwriter/dialogs/editlabel.py,sha256=3x34vjqkdIvS1EdR6D1DHJgVcR_Ny-BkhMR6PKtnUOc,2988
309
+ novelwriter/dialogs/preferences.py,sha256=__cUBVg5pMk0Er9f4GoVE0Wk7GOgiL2gBYDg3wViW2Q,38747
310
+ novelwriter/dialogs/projectsettings.py,sha256=uTTDKL5oZhj-DdCfxCOgvN8ZkoDg1Ds7j1wrYMHssHo,29949
311
+ novelwriter/dialogs/quotes.py,sha256=t8VfrjcBknebtU88rgNEkgQK28qbAd7BN8HNFa0EuOA,4752
312
+ novelwriter/dialogs/wordlist.py,sha256=zUPmeTp57_VEiIv-lnpuqfYWOYwo1GTrmgiZaXvFJ8U,8700
313
+ novelwriter/extensions/configlayout.py,sha256=mw5n6bT4J5xJKtzy9dVf3RZCzejxOMSyIhzwbiMbDMQ,10828
314
+ novelwriter/extensions/eventfilters.py,sha256=82DcBd900zQNce-3XQkQWXBuUuYfYpO_zlNt-p4NXBw,2547
315
+ novelwriter/extensions/modified.py,sha256=EHkhJV5gR9DV2oOni0eiorFE0yfCfO860Bee3i3RHrA,6428
316
+ novelwriter/extensions/novelselector.py,sha256=YjdsV8EIcnaM09TPP32-AYzw_sZkmI0hoBVP_zzEf8Y,3819
317
+ novelwriter/extensions/pagedsidebar.py,sha256=Vw3creX1eHRHPSQQrQAhWZPw5-U-SjTlY_xhEfLnv8g,7273
318
+ novelwriter/extensions/progressbars.py,sha256=fbFmfhO9FVNUSQqRB0mzEC4TyHvqpVvGXI2XObBMb6U,4653
319
+ novelwriter/extensions/statusled.py,sha256=pgmoMimVLITcSVs-25Fy0rB7z-zXYNylxPjNciGsDy8,2968
320
+ novelwriter/extensions/switch.py,sha256=W3K4of_fjhGj90P-5AeBSH9rukdfKAAckB5AbA3Ly_8,4324
321
+ novelwriter/extensions/switchbox.py,sha256=xDdCKXqd4qOjZFciU6eJRrOYEv74MB2oQivEXx1sztg,4223
322
+ novelwriter/extensions/versioninfo.py,sha256=gpV-sr1-nK_IjfkAC3ad3uqteFy7Lf2sYT46Osbcp6k,5060
323
+ novelwriter/formats/shared.py,sha256=RRzDtQN_0ZqS54aLNR7yny8pQGBuI7YS7A5mvVYGyew,4605
324
+ novelwriter/formats/todocx.py,sha256=4CNG0vOs6Ec9jGRPm9MgJUfo9VxD-5QNVPVrcaww9is,40279
325
+ novelwriter/formats/tohtml.py,sha256=avC2aO_eOb9-5FI4zQ9uAZdZ0HpXOn8Hm6bER9JFK7s,17079
326
+ novelwriter/formats/tokenizer.py,sha256=geeS70cuYlJJqjSIMjk_4owgW-6khPGMGQ_HxCzPz-8,48428
327
+ novelwriter/formats/tomarkdown.py,sha256=vFmiCdaEKgZ_6pwTjtLnPlwLt19b4tPMzhGl7eo2-8c,6916
328
+ novelwriter/formats/toodt.py,sha256=uH9htj75nQUxv1Oo58hqpwjJJlfwuqQV2m2DSuogWaM,58394
329
+ novelwriter/formats/toqdoc.py,sha256=kV4IhvpHzbnNaPtbkDRoLGBqg55uq4pxbbWFRcylIx8,17910
330
+ novelwriter/formats/toraw.py,sha256=niaFt6tVSIwGfMAEP-suDfzzTRN8M08V3KJClbG3hcU,2842
331
+ novelwriter/gui/doceditor.py,sha256=bYse2QK_JPyiT_y_uIFtATsMO8NNM9DHpfXwVk0cf_o,116618
332
+ novelwriter/gui/dochighlight.py,sha256=z6WcQfkHzSlXg4-DALtJUHl_8wnikP-YT0iIZmnCV8I,19680
333
+ novelwriter/gui/docviewer.py,sha256=LQKEJE5155hq4qHI0G694By2dzaobBMnPiAEr3e9Bgc,34516
334
+ novelwriter/gui/docviewerpanel.py,sha256=3MXehPMyf__mpNaKPNow1I-9CUme_8cpXd-cOCAxWls,19726
335
+ novelwriter/gui/editordocument.py,sha256=opqrQc_GMNa9InQBAWW_WugSHVO_5cievX7DuF1Cbm4,4723
336
+ novelwriter/gui/itemdetails.py,sha256=K0mfBDDnRHKoq2OLS_nXzg-6qRnfOIxRgm0q5OhJTfg,9636
337
+ novelwriter/gui/mainmenu.py,sha256=VKMgE8_jxRM8973ycArOpGMaTwHy-7ju2TIzm2-Zqqo,41629
338
+ novelwriter/gui/noveltree.py,sha256=-XKR_zBGjbO44hEknhZt64NeW00LIC_31LQURgjsv_U,27136
339
+ novelwriter/gui/outline.py,sha256=e1U_KakgnJX044nmP5NsXzbrSVd-G_t0tJ_531zMXZI,38446
340
+ novelwriter/gui/projtree.py,sha256=jfPygfefhRsp2iidX6MGe3fYnmKcrH7WDX-G3lf-xQc,52964
341
+ novelwriter/gui/search.py,sha256=xP5M4iEA-6Hulgk2JwNqg8_myWi2KT8Yk9ufw4H3gh0,12844
342
+ novelwriter/gui/sidebar.py,sha256=oPlbPu7jlE5J1P5Jn9X5YtvLgInzPz2Jr7AC98Z2S4k,6286
343
+ novelwriter/gui/statusbar.py,sha256=XVonGSeSu35nweE6uXrhFzrBEIaijIJsLLWY64hQ6lk,9632
344
+ novelwriter/gui/theme.py,sha256=__9xz8RxP7fSEdpi_8-ZzewjBsBc7sxn82uE744Sw7U,32249
345
+ novelwriter/text/counting.py,sha256=JEU-kv5BCdiFfTQc8Uk5Sym2WbRgJ4AKtixlwQIZe1M,4407
346
+ novelwriter/text/patterns.py,sha256=T2BpUcVvXXFIadIdOqOYF1eih4LFBiRAZ7CtRuO85c8,7687
347
+ novelwriter/tools/dictionaries.py,sha256=SlEAK21y5GEykJMU4O3OI_TUHVp0x3sRNW4xUaS5q0I,9268
348
+ novelwriter/tools/lipsum.py,sha256=NZdCJ5TNwKdfwYqtRXtQ5pDbtVFbQzxiGoNPctpCHDk,4819
349
+ novelwriter/tools/manusbuild.py,sha256=fUAGp7uaPY2rFUXRaGyE8Fce49z4-xkz1i8GAV2fXlI,14107
350
+ novelwriter/tools/manuscript.py,sha256=ib5FKpcQR_A6jBWuTfQCHpx32ySvE4YFtz56a8pLAxE,40053
351
+ novelwriter/tools/manussettings.py,sha256=r7SxaJZp5QnvMlhwoAPUPerAhzDUwDKv5ng3HHIHsQg,60831
352
+ novelwriter/tools/noveldetails.py,sha256=k17ZH21M7yfLNEhY_qD-GREia5CxanN9dbVWt1selkk,18506
353
+ novelwriter/tools/welcome.py,sha256=STHc6vLBN07MFGIbjhVbopVHTgJDvldzCC40-e1hUtQ,28018
354
+ novelwriter/tools/writingstats.py,sha256=tuIkHkkiAPJv4zUBIFyh6_mVHRK-beYSc_zBUKG8MnM,22792
355
+ novelWriter-2.6rc1.dist-info/LICENSE.md,sha256=2GirkkLrPfQqx7fACKRJjtKJUegKc8067erGvcDVQHM,32197
356
+ novelWriter-2.6rc1.dist-info/METADATA,sha256=H3d21lUrJE1SbJXBjEQlhPgFyMTASdiop5PqvPYPW38,2582
357
+ novelWriter-2.6rc1.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
358
+ novelWriter-2.6rc1.dist-info/entry_points.txt,sha256=YDUG1w361LtLsjD3YhxoTDTwM17JA5-nigjC6j5C74A,45
359
+ novelWriter-2.6rc1.dist-info/top_level.txt,sha256=wFFEucjEeNC_Ap5ULBuEutg5a1Uc0-YO9uFT5L2naNI,12
360
+ novelWriter-2.6rc1.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (75.6.0)
2
+ Generator: setuptools (75.8.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5
 
novelwriter/__init__.py CHANGED
@@ -6,7 +6,7 @@ File History:
6
6
  Created: 2018-09-22 [0.0.1] main
7
7
 
8
8
  This file is a part of novelWriter
9
- Copyright 2018–2024, Veronica Berglyd Olsen
9
+ Copyright (C) 2018 Veronica Berglyd Olsen and novelWriter contributors
10
10
 
11
11
  This program is free software: you can redistribute it and/or modify
12
12
  it under the terms of the GNU General Public License as published by
@@ -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.6b2"
51
- __hexversion__ = "0x020600b2"
52
- __date__ = "2024-12-23"
50
+ __version__ = "2.6rc1"
51
+ __hexversion__ = "0x020600c1"
52
+ __date__ = "2025-01-09"
53
53
  __status__ = "Stable"
54
54
  __domain__ = "novelwriter.io"
55
55
 
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
novelwriter/common.py CHANGED
@@ -6,7 +6,7 @@ File History:
6
6
  Created: 2019-05-12 [0.1.0]
7
7
 
8
8
  This file is a part of novelWriter
9
- Copyright 2018–2024, Veronica Berglyd Olsen
9
+ Copyright (C) 2019 Veronica Berglyd Olsen and novelWriter contributors
10
10
 
11
11
  This program is free software: you can redistribute it and/or modify
12
12
  it under the terms of the GNU General Public License as published by
novelwriter/config.py CHANGED
@@ -8,7 +8,7 @@ Created: 2022-11-09 [2.0rc2] RecentProjects
8
8
  Created: 2024-06-16 [2.5rc1] RecentPaths
9
9
 
10
10
  This file is a part of novelWriter
11
- Copyright 2018–2024, Veronica Berglyd Olsen
11
+ Copyright (C) 2018 Veronica Berglyd Olsen and novelWriter contributors
12
12
 
13
13
  This program is free software: you can redistribute it and/or modify
14
14
  it under the terms of the GNU General Public License as published by
@@ -194,6 +194,7 @@ class Config:
194
194
  # State
195
195
  self.showViewerPanel = True # The panel for the viewer is visible
196
196
  self.showEditToolBar = False # The document editor toolbar visibility
197
+ self.showSessionTime = True # Show the session time in the status bar
197
198
  self.viewComments = True # Comments are shown in the viewer
198
199
  self.viewSynopsis = True # Synopsis is shown in the viewer
199
200
 
@@ -674,6 +675,7 @@ class Config:
674
675
  sec = "State"
675
676
  self.showViewerPanel = conf.rdBool(sec, "showviewerpanel", self.showViewerPanel)
676
677
  self.showEditToolBar = conf.rdBool(sec, "showedittoolbar", self.showEditToolBar)
678
+ self.showSessionTime = conf.rdBool(sec, "showsessiontime", self.showSessionTime)
677
679
  self.viewComments = conf.rdBool(sec, "viewcomments", self.viewComments)
678
680
  self.viewSynopsis = conf.rdBool(sec, "viewsynopsis", self.viewSynopsis)
679
681
  self.searchCase = conf.rdBool(sec, "searchcase", self.searchCase)
@@ -784,6 +786,7 @@ class Config:
784
786
  conf["State"] = {
785
787
  "showviewerpanel": str(self.showViewerPanel),
786
788
  "showedittoolbar": str(self.showEditToolBar),
789
+ "showsessiontime": str(self.showSessionTime),
787
790
  "viewcomments": str(self.viewComments),
788
791
  "viewsynopsis": str(self.viewSynopsis),
789
792
  "searchcase": str(self.searchCase),
novelwriter/constants.py CHANGED
@@ -6,7 +6,7 @@ File History:
6
6
  Created: 2019-04-28 [0.0.1]
7
7
 
8
8
  This file is a part of novelWriter
9
- Copyright 2018–2024, Veronica Berglyd Olsen
9
+ Copyright (C) 2019 Veronica Berglyd Olsen and novelWriter contributors
10
10
 
11
11
  This program is free software: you can redistribute it and/or modify
12
12
  it under the terms of the GNU General Public License as published by
@@ -207,7 +207,7 @@ class nwLists:
207
207
 
208
208
  class nwStats:
209
209
 
210
- CHARS_ALL = "allChars"
210
+ CHARS = "allChars"
211
211
  CHARS_TEXT = "textChars"
212
212
  CHARS_TITLE = "titleChars"
213
213
  PARAGRAPHS = "paragraphCount"
@@ -215,14 +215,14 @@ class nwStats:
215
215
  WCHARS_ALL = "allWordChars"
216
216
  WCHARS_TEXT = "textWordChars"
217
217
  WCHARS_TITLE = "titleWordChars"
218
- WORDS_ALL = "allWords"
218
+ WORDS = "allWords"
219
219
  WORDS_TEXT = "textWords"
220
220
  WORDS_TITLE = "titleWords"
221
221
 
222
222
  # Note: The order here affects the order of menu entries
223
223
  ALL_FIELDS = [
224
- WORDS_ALL, WORDS_TEXT, WORDS_TITLE,
225
- CHARS_ALL, CHARS_TEXT, CHARS_TITLE,
224
+ WORDS, WORDS_TEXT, WORDS_TITLE,
225
+ CHARS, CHARS_TEXT, CHARS_TITLE,
226
226
  WCHARS_ALL, WCHARS_TEXT, WCHARS_TITLE,
227
227
  PARAGRAPHS, TITLES,
228
228
  ]
@@ -329,17 +329,17 @@ class nwLabels:
329
329
  nwOutline.SYNOP: QT_TRANSLATE_NOOP("Constant", "Synopsis"),
330
330
  }
331
331
  STATS_NAME = {
332
- nwStats.CHARS_ALL: QT_TRANSLATE_NOOP("Constant", "Characters"),
333
- nwStats.CHARS_TEXT: QT_TRANSLATE_NOOP("Constant", "Characters in Text"),
334
- nwStats.CHARS_TITLE: QT_TRANSLATE_NOOP("Constant", "Characters in Headings"),
335
- nwStats.PARAGRAPHS: QT_TRANSLATE_NOOP("Constant", "Paragraphs"),
336
- nwStats.TITLES: QT_TRANSLATE_NOOP("Constant", "Headings"),
337
- nwStats.WCHARS_ALL: QT_TRANSLATE_NOOP("Constant", "Characters, No Spaces"),
338
- nwStats.WCHARS_TEXT: QT_TRANSLATE_NOOP("Constant", "Characters in Text, No Spaces"),
339
- nwStats.WCHARS_TITLE: QT_TRANSLATE_NOOP("Constant", "Characters in Headings, No Spaces"),
340
- nwStats.WORDS_ALL: QT_TRANSLATE_NOOP("Constant", "Words"),
341
- nwStats.WORDS_TEXT: QT_TRANSLATE_NOOP("Constant", "Words in Text"),
342
- nwStats.WORDS_TITLE: QT_TRANSLATE_NOOP("Constant", "Words in Headings"),
332
+ nwStats.CHARS: QT_TRANSLATE_NOOP("Stats", "Characters"),
333
+ nwStats.CHARS_TEXT: QT_TRANSLATE_NOOP("Stats", "Characters in Text"),
334
+ nwStats.CHARS_TITLE: QT_TRANSLATE_NOOP("Stats", "Characters in Headings"),
335
+ nwStats.PARAGRAPHS: QT_TRANSLATE_NOOP("Stats", "Paragraphs"),
336
+ nwStats.TITLES: QT_TRANSLATE_NOOP("Stats", "Headings"),
337
+ nwStats.WCHARS_ALL: QT_TRANSLATE_NOOP("Stats", "Characters, No Spaces"),
338
+ nwStats.WCHARS_TEXT: QT_TRANSLATE_NOOP("Stats", "Characters in Text, No Spaces"),
339
+ nwStats.WCHARS_TITLE: QT_TRANSLATE_NOOP("Stats", "Characters in Headings, No Spaces"),
340
+ nwStats.WORDS: QT_TRANSLATE_NOOP("Stats", "Words"),
341
+ nwStats.WORDS_TEXT: QT_TRANSLATE_NOOP("Stats", "Words in Text"),
342
+ nwStats.WORDS_TITLE: QT_TRANSLATE_NOOP("Stats", "Words in Headings"),
343
343
  }
344
344
  BUILD_FMT = {
345
345
  nwBuildFmt.ODT: QT_TRANSLATE_NOOP("Constant", "Open Document (.odt)"),
@@ -366,32 +366,32 @@ class nwLabels:
366
366
  nwBuildFmt.J_NWD: ".json",
367
367
  }
368
368
  SHAPES_PLAIN = {
369
- nwStatusShape.SQUARE: QT_TRANSLATE_NOOP("Constant", "Square"),
370
- nwStatusShape.TRIANGLE: QT_TRANSLATE_NOOP("Constant", "Triangle"),
371
- nwStatusShape.NABLA: QT_TRANSLATE_NOOP("Constant", "Nabla"),
372
- nwStatusShape.DIAMOND: QT_TRANSLATE_NOOP("Constant", "Diamond"),
373
- nwStatusShape.PENTAGON: QT_TRANSLATE_NOOP("Constant", "Pentagon"),
374
- nwStatusShape.HEXAGON: QT_TRANSLATE_NOOP("Constant", "Hexagon"),
375
- nwStatusShape.STAR: QT_TRANSLATE_NOOP("Constant", "Star"),
376
- nwStatusShape.PACMAN: QT_TRANSLATE_NOOP("Constant", "Pacman"),
369
+ nwStatusShape.SQUARE: QT_TRANSLATE_NOOP("Shape", "Square"),
370
+ nwStatusShape.TRIANGLE: QT_TRANSLATE_NOOP("Shape", "Triangle"),
371
+ nwStatusShape.NABLA: QT_TRANSLATE_NOOP("Shape", "Nabla"),
372
+ nwStatusShape.DIAMOND: QT_TRANSLATE_NOOP("Shape", "Diamond"),
373
+ nwStatusShape.PENTAGON: QT_TRANSLATE_NOOP("Shape", "Pentagon"),
374
+ nwStatusShape.HEXAGON: QT_TRANSLATE_NOOP("Shape", "Hexagon"),
375
+ nwStatusShape.STAR: QT_TRANSLATE_NOOP("Shape", "Star"),
376
+ nwStatusShape.PACMAN: QT_TRANSLATE_NOOP("Shape", "Pacman"),
377
377
  }
378
378
  SHAPES_CIRCLE = {
379
- nwStatusShape.CIRCLE_Q: QT_TRANSLATE_NOOP("Constant", "1/4 Circle"),
380
- nwStatusShape.CIRCLE_H: QT_TRANSLATE_NOOP("Constant", "Half Circle"),
381
- nwStatusShape.CIRCLE_T: QT_TRANSLATE_NOOP("Constant", "3/4 Circle"),
382
- nwStatusShape.CIRCLE: QT_TRANSLATE_NOOP("Constant", "Full Circle"),
379
+ nwStatusShape.CIRCLE_Q: QT_TRANSLATE_NOOP("Shape", "1/4 Circle"),
380
+ nwStatusShape.CIRCLE_H: QT_TRANSLATE_NOOP("Shape", "Half Circle"),
381
+ nwStatusShape.CIRCLE_T: QT_TRANSLATE_NOOP("Shape", "3/4 Circle"),
382
+ nwStatusShape.CIRCLE: QT_TRANSLATE_NOOP("Shape", "Full Circle"),
383
383
  }
384
384
  SHAPES_BARS = {
385
- nwStatusShape.BARS_1: QT_TRANSLATE_NOOP("Constant", "1 Bar"),
386
- nwStatusShape.BARS_2: QT_TRANSLATE_NOOP("Constant", "2 Bars"),
387
- nwStatusShape.BARS_3: QT_TRANSLATE_NOOP("Constant", "3 Bars"),
388
- nwStatusShape.BARS_4: QT_TRANSLATE_NOOP("Constant", "4 Bars"),
385
+ nwStatusShape.BARS_1: QT_TRANSLATE_NOOP("Shape", "1 Bar"),
386
+ nwStatusShape.BARS_2: QT_TRANSLATE_NOOP("Shape", "2 Bars"),
387
+ nwStatusShape.BARS_3: QT_TRANSLATE_NOOP("Shape", "3 Bars"),
388
+ nwStatusShape.BARS_4: QT_TRANSLATE_NOOP("Shape", "4 Bars"),
389
389
  }
390
390
  SHAPES_BLOCKS = {
391
- nwStatusShape.BLOCK_1: QT_TRANSLATE_NOOP("Constant", "1 Block"),
392
- nwStatusShape.BLOCK_2: QT_TRANSLATE_NOOP("Constant", "2 Blocks"),
393
- nwStatusShape.BLOCK_3: QT_TRANSLATE_NOOP("Constant", "3 Blocks"),
394
- nwStatusShape.BLOCK_4: QT_TRANSLATE_NOOP("Constant", "4 Blocks"),
391
+ nwStatusShape.BLOCK_1: QT_TRANSLATE_NOOP("Shape", "1 Block"),
392
+ nwStatusShape.BLOCK_2: QT_TRANSLATE_NOOP("Shape", "2 Blocks"),
393
+ nwStatusShape.BLOCK_3: QT_TRANSLATE_NOOP("Shape", "3 Blocks"),
394
+ nwStatusShape.BLOCK_4: QT_TRANSLATE_NOOP("Shape", "4 Blocks"),
395
395
  }
396
396
  FILE_FILTERS = {
397
397
  "*.txt": QT_TRANSLATE_NOOP("Constant", "Text files"),
@@ -7,7 +7,7 @@ Created: 2023-02-14 [2.1b1] BuildSettings
7
7
  Created: 2023-05-22 [2.1b1] BuildCollection
8
8
 
9
9
  This file is a part of novelWriter
10
- Copyright 2018–2024, Veronica Berglyd Olsen
10
+ Copyright (C) 2023 Veronica Berglyd Olsen and novelWriter contributors
11
11
 
12
12
  This program is free software: you can redistribute it and/or modify
13
13
  it under the terms of the GNU General Public License as published by
@@ -9,7 +9,7 @@ Created: 2022-11-03 [2.0rc2] ProjectBuilder
9
9
  Created: 2023-07-20 [2.1b1] DocDuplicator
10
10
 
11
11
  This file is a part of novelWriter
12
- Copyright 2018–2024, Veronica Berglyd Olsen
12
+ Copyright (C) 2022 Veronica Berglyd Olsen and novelWriter contributors
13
13
 
14
14
  This program is free software: you can redistribute it and/or modify
15
15
  it under the terms of the GNU General Public License as published by
@@ -6,7 +6,7 @@ File History:
6
6
  Created: 2022-12-01 [2.1b1] NWBuildDocument
7
7
 
8
8
  This file is a part of novelWriter
9
- Copyright 2018–2024, Veronica Berglyd Olsen
9
+ Copyright (C) 2022 Veronica Berglyd Olsen and novelWriter contributors
10
10
 
11
11
  This program is free software: you can redistribute it and/or modify
12
12
  it under the terms of the GNU General Public License as published by
@@ -6,7 +6,7 @@ File History:
6
6
  Created: 2018-09-29 [0.0.1]
7
7
 
8
8
  This file is a part of novelWriter
9
- Copyright 2018–2024, Veronica Berglyd Olsen
9
+ Copyright (C) 2018 Veronica Berglyd Olsen and novelWriter contributors
10
10
 
11
11
  This program is free software: you can redistribute it and/or modify
12
12
  it under the terms of the GNU General Public License as published by
novelwriter/core/index.py CHANGED
@@ -10,7 +10,7 @@ Created: 2022-05-29 [2.0rc1] TagsIndex
10
10
  Created: 2022-05-29 [2.0rc1] ItemIndex
11
11
 
12
12
  This file is a part of novelWriter
13
- Copyright 2018–2024, Veronica Berglyd Olsen
13
+ Copyright (C) 2019 Veronica Berglyd Olsen and novelWriter contributors
14
14
 
15
15
  This program is free software: you can redistribute it and/or modify
16
16
  it under the terms of the GNU General Public License as published by
novelwriter/core/item.py CHANGED
@@ -6,7 +6,7 @@ File History:
6
6
  Created: 2018-10-27 [0.0.1] NWItem
7
7
 
8
8
  This file is a part of novelWriter
9
- Copyright 2018–2024, Veronica Berglyd Olsen
9
+ Copyright (C) 2018 Veronica Berglyd Olsen and novelWriter contributors
10
10
 
11
11
  This program is free software: you can redistribute it and/or modify
12
12
  it under the terms of the GNU General Public License as published by
@@ -7,7 +7,7 @@ Created: 2024-11-16 [2.6b2] ProjectNode
7
7
  Created: 2024-11-16 [2.6b2] ProjectModel
8
8
 
9
9
  This file is a part of novelWriter
10
- Copyright 2018–2024, Veronica Berglyd Olsen
10
+ Copyright (C) 2024 Veronica Berglyd Olsen and novelWriter contributors
11
11
 
12
12
  This program is free software: you can redistribute it and/or modify
13
13
  it under the terms of the GNU General Public License as published by
@@ -7,7 +7,7 @@ Created: 2019-10-21 [0.3.1] OptionState
7
7
  Rewritten: 2020-02-19 [0.4.5] OptionState
8
8
 
9
9
  This file is a part of novelWriter
10
- Copyright 2018–2024, Veronica Berglyd Olsen
10
+ Copyright (C) 2019 Veronica Berglyd Olsen and novelWriter contributors
11
11
 
12
12
  This program is free software: you can redistribute it and/or modify
13
13
  it under the terms of the GNU General Public License as published by
@@ -6,7 +6,7 @@ File History:
6
6
  Created: 2018-09-29 [0.0.1] NWProject
7
7
 
8
8
  This file is a part of novelWriter
9
- Copyright 2018–2024, Veronica Berglyd Olsen
9
+ Copyright (C) 2018 Veronica Berglyd Olsen and novelWriter contributors
10
10
 
11
11
  This program is free software: you can redistribute it and/or modify
12
12
  it under the terms of the GNU General Public License as published by
@@ -6,7 +6,7 @@ File History:
6
6
  Created: 2022-10-30 [2.0rc2] NWProjectData
7
7
 
8
8
  This file is a part of novelWriter
9
- Copyright 2018–2024, Veronica Berglyd Olsen
9
+ Copyright (C) 2022 Veronica Berglyd Olsen and novelWriter contributors
10
10
 
11
11
  This program is free software: you can redistribute it and/or modify
12
12
  it under the terms of the GNU General Public License as published by
@@ -29,7 +29,8 @@ import uuid
29
29
  from typing import TYPE_CHECKING, Any
30
30
 
31
31
  from novelwriter.common import (
32
- checkBool, checkInt, checkStringNone, checkUuid, isHandle, simplified
32
+ checkBool, checkInt, checkStringNone, checkUuid, isHandle,
33
+ makeFileNameSafe, simplified
33
34
  )
34
35
  from novelwriter.core.status import NWStatus
35
36
 
@@ -101,6 +102,11 @@ class NWProjectData:
101
102
  """Return the project name."""
102
103
  return self._name
103
104
 
105
+ @property
106
+ def fileSafeName(self) -> str:
107
+ """Return the project name in a file name safe format."""
108
+ return makeFileNameSafe(self._name)
109
+
104
110
  @property
105
111
  def author(self) -> str:
106
112
  """Return the project author."""
@@ -8,7 +8,7 @@ Created: 2022-09-28 [2.0rc2] ProjectXMLReader
8
8
  Created: 2022-10-31 [2.0rc2] ProjectXMLWriter
9
9
 
10
10
  This file is a part of novelWriter
11
- Copyright 2018–2024, Veronica Berglyd Olsen
11
+ Copyright (C) 2022 Veronica Berglyd Olsen and novelWriter contributors
12
12
 
13
13
  This program is free software: you can redistribute it and/or modify
14
14
  it under the terms of the GNU General Public License as published by
@@ -6,7 +6,7 @@ File History:
6
6
  Created: 2023-06-11 [2.1b1] NWSessionLog
7
7
 
8
8
  This file is a part of novelWriter
9
- Copyright 2018–2024, Veronica Berglyd Olsen
9
+ Copyright (C) 2023 Veronica Berglyd Olsen and novelWriter contributors
10
10
 
11
11
  This program is free software: you can redistribute it and/or modify
12
12
  it under the terms of the GNU General Public License as published by
@@ -7,7 +7,7 @@ Created: 2019-06-11 [0.1.5] NWSpellEnchant
7
7
  Created: 2023-06-13 [2.1b1] UserDictionary
8
8
 
9
9
  This file is a part of novelWriter
10
- Copyright 2018–2024, Veronica Berglyd Olsen
10
+ Copyright (C) 2019 Veronica Berglyd Olsen and novelWriter contributors
11
11
 
12
12
  This program is free software: you can redistribute it and/or modify
13
13
  it under the terms of the GNU General Public License as published by