novelWriter 2.4.3__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.3.dist-info → novelWriter-2.5.dist-info}/METADATA +4 -5
- {novelWriter-2.4.3.dist-info → novelWriter-2.5.dist-info}/RECORD +122 -112
- {novelWriter-2.4.3.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/i18n/project_pt_BR.json +74 -74
- 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 +70 -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 +39 -65
- 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 -19
- 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 +75 -149
- novelwriter/tools/manussettings.py +74 -76
- 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.3.dist-info → novelWriter-2.5.dist-info}/LICENSE.md +0 -0
- {novelWriter-2.4.3.dist-info → novelWriter-2.5.dist-info}/entry_points.txt +0 -0
- {novelWriter-2.4.3.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,7 +30,8 @@ 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
|
32
|
-
novelwriter/assets/i18n/
|
33
|
+
novelwriter/assets/i18n/project_pl_PL.json,sha256=msXu3rNhJ19ytVespoXQ95nZ-mFis5rlLeCPK4A3zS8,3461
|
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
|
35
37
|
novelwriter/assets/icons/none.svg,sha256=NRN9vMzohg7Ner71GwPthrCG0uA81TpY8UmKb8-L-pM,251
|
@@ -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
|