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.
- {novelWriter-2.4.4.dist-info → novelWriter-2.5.dist-info}/METADATA +4 -5
- {novelWriter-2.4.4.dist-info → novelWriter-2.5.dist-info}/RECORD +121 -111
- {novelWriter-2.4.4.dist-info → novelWriter-2.5.dist-info}/WHEEL +1 -1
- novelwriter/__init__.py +33 -39
- novelwriter/assets/i18n/nw_de_DE.qm +0 -0
- novelwriter/assets/i18n/nw_en_US.qm +0 -0
- novelwriter/assets/i18n/nw_es_419.qm +0 -0
- novelwriter/assets/i18n/nw_fr_FR.qm +0 -0
- novelwriter/assets/i18n/nw_it_IT.qm +0 -0
- novelwriter/assets/i18n/nw_ja_JP.qm +0 -0
- novelwriter/assets/i18n/nw_nb_NO.qm +0 -0
- novelwriter/assets/i18n/nw_nl_NL.qm +0 -0
- novelwriter/assets/i18n/nw_pl_PL.qm +0 -0
- novelwriter/assets/i18n/nw_pt_BR.qm +0 -0
- novelwriter/assets/i18n/nw_zh_CN.qm +0 -0
- novelwriter/assets/i18n/project_en_GB.json +1 -0
- novelwriter/assets/i18n/project_pl_PL.json +116 -0
- novelwriter/assets/icons/typicons_dark/icons.conf +2 -0
- novelwriter/assets/icons/typicons_dark/nw_font.svg +4 -0
- novelwriter/assets/icons/typicons_dark/nw_quote.svg +4 -0
- novelwriter/assets/icons/typicons_light/icons.conf +2 -0
- novelwriter/assets/icons/typicons_light/nw_font.svg +4 -0
- novelwriter/assets/icons/typicons_light/nw_quote.svg +4 -0
- novelwriter/assets/manual.pdf +0 -0
- novelwriter/assets/sample.zip +0 -0
- novelwriter/assets/syntax/cyberpunk_night.conf +5 -3
- novelwriter/assets/syntax/default_dark.conf +32 -18
- novelwriter/assets/syntax/default_light.conf +24 -10
- novelwriter/assets/syntax/dracula.conf +44 -0
- novelwriter/assets/syntax/grey_dark.conf +5 -4
- novelwriter/assets/syntax/grey_light.conf +5 -4
- novelwriter/assets/syntax/light_owl.conf +7 -6
- novelwriter/assets/syntax/night_owl.conf +7 -6
- novelwriter/assets/syntax/snazzy.conf +42 -0
- novelwriter/assets/syntax/solarized_dark.conf +4 -3
- novelwriter/assets/syntax/solarized_light.conf +4 -3
- novelwriter/assets/syntax/tango.conf +27 -11
- novelwriter/assets/syntax/tomorrow.conf +6 -5
- novelwriter/assets/syntax/tomorrow_night.conf +7 -6
- novelwriter/assets/syntax/tomorrow_night_blue.conf +6 -5
- novelwriter/assets/syntax/tomorrow_night_bright.conf +6 -5
- novelwriter/assets/syntax/tomorrow_night_eighties.conf +6 -5
- novelwriter/assets/text/credits_en.htm +52 -41
- novelwriter/assets/themes/cyberpunk_night.conf +3 -0
- novelwriter/assets/themes/default_dark.conf +2 -0
- novelwriter/assets/themes/default_light.conf +2 -0
- novelwriter/assets/themes/dracula.conf +48 -0
- novelwriter/assets/themes/solarized_dark.conf +2 -0
- novelwriter/assets/themes/solarized_light.conf +2 -0
- novelwriter/common.py +33 -12
- novelwriter/config.py +184 -98
- novelwriter/constants.py +47 -35
- novelwriter/core/buildsettings.py +68 -69
- novelwriter/core/coretools.py +5 -23
- novelwriter/core/docbuild.py +52 -40
- novelwriter/core/document.py +3 -5
- novelwriter/core/index.py +115 -45
- novelwriter/core/item.py +8 -19
- novelwriter/core/options.py +2 -4
- novelwriter/core/project.py +37 -61
- novelwriter/core/projectdata.py +1 -3
- novelwriter/core/projectxml.py +12 -15
- novelwriter/core/sessions.py +3 -5
- novelwriter/core/spellcheck.py +4 -9
- novelwriter/core/status.py +211 -164
- novelwriter/core/storage.py +0 -8
- novelwriter/core/tohtml.py +139 -105
- novelwriter/core/tokenizer.py +278 -122
- novelwriter/core/{tomd.py → tomarkdown.py} +97 -78
- novelwriter/core/toodt.py +257 -166
- novelwriter/core/toqdoc.py +419 -0
- novelwriter/core/tree.py +5 -7
- novelwriter/dialogs/about.py +11 -18
- novelwriter/dialogs/docmerge.py +17 -19
- novelwriter/dialogs/docsplit.py +17 -19
- novelwriter/dialogs/editlabel.py +6 -10
- novelwriter/dialogs/preferences.py +200 -164
- novelwriter/dialogs/projectsettings.py +225 -189
- novelwriter/dialogs/quotes.py +12 -9
- novelwriter/dialogs/wordlist.py +9 -15
- novelwriter/enum.py +35 -30
- novelwriter/error.py +8 -15
- novelwriter/extensions/configlayout.py +55 -21
- novelwriter/extensions/eventfilters.py +1 -5
- novelwriter/extensions/modified.py +58 -14
- novelwriter/extensions/novelselector.py +1 -3
- novelwriter/extensions/pagedsidebar.py +9 -12
- novelwriter/extensions/{circularprogress.py → progressbars.py} +30 -8
- novelwriter/extensions/statusled.py +40 -26
- novelwriter/extensions/switch.py +4 -6
- novelwriter/extensions/switchbox.py +7 -6
- novelwriter/extensions/versioninfo.py +3 -9
- novelwriter/gui/doceditor.py +120 -139
- novelwriter/gui/dochighlight.py +231 -186
- novelwriter/gui/docviewer.py +69 -108
- novelwriter/gui/docviewerpanel.py +3 -10
- novelwriter/gui/editordocument.py +1 -3
- novelwriter/gui/itemdetails.py +7 -11
- novelwriter/gui/mainmenu.py +22 -18
- novelwriter/gui/noveltree.py +11 -24
- novelwriter/gui/outline.py +15 -26
- novelwriter/gui/projtree.py +35 -60
- novelwriter/gui/search.py +10 -3
- novelwriter/gui/sidebar.py +2 -6
- novelwriter/gui/statusbar.py +29 -37
- novelwriter/gui/theme.py +26 -48
- novelwriter/guimain.py +162 -160
- novelwriter/shared.py +36 -32
- novelwriter/text/patterns.py +113 -0
- novelwriter/tools/dictionaries.py +10 -20
- novelwriter/tools/lipsum.py +10 -16
- novelwriter/tools/manusbuild.py +9 -11
- novelwriter/tools/manuscript.py +71 -145
- novelwriter/tools/manussettings.py +71 -75
- novelwriter/tools/noveldetails.py +16 -21
- novelwriter/tools/welcome.py +21 -26
- novelwriter/tools/writingstats.py +9 -12
- novelwriter/types.py +49 -4
- novelwriter/extensions/simpleprogress.py +0 -55
- {novelWriter-2.4.4.dist-info → novelWriter-2.5.dist-info}/LICENSE.md +0 -0
- {novelWriter-2.4.4.dist-info → novelWriter-2.5.dist-info}/entry_points.txt +0 -0
- {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.
|
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.
|
23
|
+
Requires-Python: >=3.9
|
25
24
|
Description-Content-Type: text/markdown
|
26
25
|
License-File: LICENSE.md
|
27
|
-
Requires-Dist: pyqt5 >=5.
|
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.
|
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=
|
2
|
-
novelwriter/common.py,sha256=
|
3
|
-
novelwriter/config.py,sha256=
|
4
|
-
novelwriter/constants.py,sha256=
|
5
|
-
novelwriter/enum.py,sha256=
|
6
|
-
novelwriter/error.py,sha256=
|
7
|
-
novelwriter/guimain.py,sha256=
|
8
|
-
novelwriter/shared.py,sha256=
|
9
|
-
novelwriter/types.py,sha256=
|
10
|
-
novelwriter/assets/manual.pdf,sha256=
|
11
|
-
novelwriter/assets/sample.zip,sha256=
|
12
|
-
novelwriter/assets/i18n/nw_de_DE.qm,sha256=
|
13
|
-
novelwriter/assets/i18n/nw_en_US.qm,sha256=
|
14
|
-
novelwriter/assets/i18n/nw_es_419.qm,sha256=
|
15
|
-
novelwriter/assets/i18n/nw_fr_FR.qm,sha256
|
16
|
-
novelwriter/assets/i18n/nw_it_IT.qm,sha256=
|
17
|
-
novelwriter/assets/i18n/nw_ja_JP.qm,sha256=
|
18
|
-
novelwriter/assets/i18n/nw_nb_NO.qm,sha256=
|
19
|
-
novelwriter/assets/i18n/nw_nl_NL.qm,sha256=
|
20
|
-
novelwriter/assets/i18n/
|
21
|
-
novelwriter/assets/i18n/
|
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=
|
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=
|
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=
|
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=
|
241
|
-
novelwriter/assets/syntax/default_dark.conf,sha256=
|
242
|
-
novelwriter/assets/syntax/default_light.conf,sha256=
|
243
|
-
novelwriter/assets/syntax/
|
244
|
-
novelwriter/assets/syntax/
|
245
|
-
novelwriter/assets/syntax/
|
246
|
-
novelwriter/assets/syntax/
|
247
|
-
novelwriter/assets/syntax/
|
248
|
-
novelwriter/assets/syntax/
|
249
|
-
novelwriter/assets/syntax/
|
250
|
-
novelwriter/assets/syntax/
|
251
|
-
novelwriter/assets/syntax/
|
252
|
-
novelwriter/assets/syntax/
|
253
|
-
novelwriter/assets/syntax/
|
254
|
-
novelwriter/assets/syntax/
|
255
|
-
novelwriter/assets/
|
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=
|
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=
|
260
|
-
novelwriter/assets/themes/default_light.conf,sha256=
|
261
|
-
novelwriter/assets/themes/
|
262
|
-
novelwriter/assets/themes/
|
263
|
-
novelwriter/
|
264
|
-
novelwriter/core/
|
265
|
-
novelwriter/core/
|
266
|
-
novelwriter/core/
|
267
|
-
novelwriter/core/
|
268
|
-
novelwriter/core/
|
269
|
-
novelwriter/core/
|
270
|
-
novelwriter/core/
|
271
|
-
novelwriter/core/
|
272
|
-
novelwriter/core/
|
273
|
-
novelwriter/core/
|
274
|
-
novelwriter/core/
|
275
|
-
novelwriter/core/
|
276
|
-
novelwriter/core/
|
277
|
-
novelwriter/core/
|
278
|
-
novelwriter/core/
|
279
|
-
novelwriter/core/
|
280
|
-
novelwriter/core/
|
281
|
-
novelwriter/core/
|
282
|
-
novelwriter/
|
283
|
-
novelwriter/
|
284
|
-
novelwriter/dialogs/
|
285
|
-
novelwriter/dialogs/
|
286
|
-
novelwriter/dialogs/
|
287
|
-
novelwriter/dialogs/
|
288
|
-
novelwriter/dialogs/
|
289
|
-
novelwriter/dialogs/
|
290
|
-
novelwriter/
|
291
|
-
novelwriter/
|
292
|
-
novelwriter/extensions/
|
293
|
-
novelwriter/extensions/
|
294
|
-
novelwriter/extensions/
|
295
|
-
novelwriter/extensions/
|
296
|
-
novelwriter/extensions/
|
297
|
-
novelwriter/extensions/
|
298
|
-
novelwriter/extensions/
|
299
|
-
novelwriter/extensions/
|
300
|
-
novelwriter/extensions/
|
301
|
-
novelwriter/
|
302
|
-
novelwriter/gui/
|
303
|
-
novelwriter/gui/
|
304
|
-
novelwriter/gui/
|
305
|
-
novelwriter/gui/
|
306
|
-
novelwriter/gui/
|
307
|
-
novelwriter/gui/
|
308
|
-
novelwriter/gui/
|
309
|
-
novelwriter/gui/
|
310
|
-
novelwriter/gui/
|
311
|
-
novelwriter/gui/
|
312
|
-
novelwriter/gui/
|
313
|
-
novelwriter/gui/
|
314
|
-
novelwriter/gui/
|
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/
|
317
|
-
novelwriter/tools/
|
318
|
-
novelwriter/tools/
|
319
|
-
novelwriter/tools/
|
320
|
-
novelwriter/tools/
|
321
|
-
novelwriter/tools/
|
322
|
-
novelwriter/tools/
|
323
|
-
novelwriter/tools/
|
324
|
-
|
325
|
-
novelWriter-2.
|
326
|
-
novelWriter-2.
|
327
|
-
novelWriter-2.
|
328
|
-
novelWriter-2.
|
329
|
-
novelWriter-2.
|
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,,
|
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
|
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.
|
51
|
-
__hexversion__ = "
|
52
|
-
__date__ = "2024-
|
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 <
|
165
|
+
if sys.hexversion < 0x030900f0:
|
166
166
|
errorData.append(
|
167
|
-
"At least Python 3.
|
167
|
+
"At least Python 3.9 is required, found %s" % CONFIG.verPyString
|
168
168
|
)
|
169
169
|
errorCode |= 0x04
|
170
|
-
if CONFIG.verQtValue <
|
170
|
+
if CONFIG.verQtValue < 0x050f00:
|
171
171
|
errorData.append(
|
172
|
-
"At least Qt5 version 5.
|
172
|
+
"At least Qt5 version 5.15.0 is required, found %s" % CONFIG.verQtString
|
173
173
|
)
|
174
174
|
errorCode |= 0x08
|
175
|
-
if CONFIG.verPyQtValue <
|
175
|
+
if CONFIG.verPyQtValue < 0x050f00:
|
176
176
|
errorData.append(
|
177
|
-
"At least PyQt5 version 5.
|
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
|
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
|
-
|
209
|
-
|
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
|
-
|
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
|
-
|
227
|
-
|
228
|
-
|
229
|
-
|
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
|
-
|
238
|
-
|
239
|
-
|
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
|
-
|
242
|
-
|
243
|
-
nwGUI.postLaunchTasks(cmdOpen)
|
232
|
+
# Connect the exception handler before making the main GUI
|
233
|
+
sys.excepthook = exceptionHandler
|
244
234
|
|
245
|
-
|
235
|
+
# Run Config steps that require the QApplication
|
236
|
+
CONFIG.loadConfig()
|
237
|
+
CONFIG.initLocalisation(app)
|
246
238
|
|
247
|
-
|
239
|
+
# Launch main GUI
|
240
|
+
nwGUI = GuiMain()
|
241
|
+
nwGUI.postLaunchTasks(cmdOpen)
|
248
242
|
|
249
|
-
|
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
|
@@ -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
|
+
}
|