Compare commits

..

875 Commits
v2.4 ... v2.6

Author SHA1 Message Date
Veronica Berglyd Olsen
448057edf6 Release 2.6 (#2208) 2025-01-26 20:05:33 +01:00
Veronica Berglyd Olsen
9d993b2992 Fix typo in changelog 2025-01-26 20:05:03 +01:00
Veronica Berglyd Olsen
8ca13f6e08 Update changelog with last changes 2025-01-26 20:01:34 +01:00
Veronica Berglyd Olsen
80fc4c9538 Merge branch 'release' into release_2.6 2025-01-26 19:56:51 +01:00
Veronica Berglyd Olsen
9f8867c1b4 Update i18n for 2.6 final (#2207) 2025-01-26 19:56:32 +01:00
Veronica Berglyd Olsen
481ce883ab Update Italian translation 2025-01-26 18:36:25 +01:00
Veronica Berglyd Olsen
63f184dd60 Update Codecov action to v5 2025-01-26 18:34:44 +01:00
Veronica Berglyd Olsen
3d4d9ed111 Merge branch 'release' into i18n 2025-01-26 18:31:21 +01:00
Veronica Berglyd Olsen
b2ba932735 Update docs for 2.6 (#2210) 2025-01-26 18:31:00 +01:00
Veronica Berglyd Olsen
8c1070b318 Disable flaky test on Windows 2025-01-26 18:26:45 +01:00
Veronica Berglyd Olsen
6c4d8f3ede Update tests with change of default config 2025-01-26 18:19:12 +01:00
Veronica Berglyd Olsen
f2c118776a Update the project sections of the docs to 2.6 2025-01-26 18:15:36 +01:00
Veronica Berglyd Olsen
87890dd249 Update the Introduction section of the docs to 2.6 2025-01-26 16:17:56 +01:00
Veronica Berglyd Olsen
15301c9121 Bump version and update changelog 2025-01-25 22:00:14 +01:00
Veronica Berglyd Olsen
8dc4b661d8 Update final translations for de, en, ja, nb and pl 2025-01-25 21:43:41 +01:00
Veronica Berglyd Olsen
d47ec4157d Update completed translations before #2206 2025-01-25 21:41:44 +01:00
Veronica Berglyd Olsen
9d64a59b70 Update project translations 2025-01-25 21:38:59 +01:00
Veronica Berglyd Olsen
234fc20048 Change chapter heading level to H1 (#2206) 2025-01-25 21:36:13 +01:00
Veronica Berglyd Olsen
8432dfdd1f Extend ODT and DocX tests 2025-01-25 21:18:30 +01:00
Veronica Berglyd Olsen
5fddfd395e Update HTML output 2025-01-25 21:06:20 +01:00
Veronica Berglyd Olsen
11d0e4220f Use alternative level 1 format for titles and partitions for markdown 2025-01-25 20:51:24 +01:00
Veronica Berglyd Olsen
6d4e066810 Update other tests 2025-01-25 16:17:31 +01:00
Veronica Berglyd Olsen
9f1274f953 Update ODT and DocX to work with new chapter headers 2025-01-25 16:17:19 +01:00
Veronica Berglyd Olsen
9ac1692e2a Drop separate types for chapters, scenes and sections as they seem to not be needed 2025-01-25 16:11:57 +01:00
Veronica Berglyd Olsen
6f88357977 Update QTextDocument to work with new chapter headers 2025-01-25 15:35:02 +01:00
Veronica Berglyd Olsen
19bdbf9aca Update build settings margin labels 2025-01-25 15:26:25 +01:00
Veronica Berglyd Olsen
5a25d34ba3 Update HTML to work with new chapter headers 2025-01-25 15:05:11 +01:00
Veronica Berglyd Olsen
13e6199af2 Separate ordinary headers and novel headers in the Tokenizer 2025-01-25 14:58:06 +01:00
Veronica Berglyd Olsen
5be1e2c954 Make some minor code and GUI fixes (#2202) 2025-01-22 01:05:28 +01:00
Veronica Berglyd Olsen
306bd245fc Block tree context menu in blank area 2025-01-22 00:58:55 +01:00
Veronica Berglyd Olsen
7e42d04e36 Drop deleteLater for context menus 2025-01-22 00:53:18 +01:00
Veronica Berglyd Olsen
53dfdb3a2e Fix potential undefined variable in editor 2025-01-22 00:48:59 +01:00
Veronica Berglyd Olsen
eb113a8928 Make sure status label in item details panel can wrap 2025-01-22 00:48:03 +01:00
Veronica Berglyd Olsen
c369ef450f Fix add dicitonary tool (#2189) 2025-01-15 20:56:08 +01:00
Veronica Berglyd Olsen
6674cf99a6 Update spell check dictionary download links 2025-01-15 20:28:53 +01:00
Veronica Berglyd Olsen
70cca405f5 Make sure selection model exists before accessing (#2181) 2025-01-11 18:43:47 +01:00
Veronica Berglyd Olsen
d7d211baf2 Fix empty selection model bug (#2173) 2025-01-11 18:39:23 +01:00
Veronica Berglyd Olsen
d5a35fa86f Fix novel selector bug (#2179) 2025-01-11 18:37:06 +01:00
Veronica Berglyd Olsen
dc265e57f3 Store previous selection before clear in novel selector widget 2025-01-11 18:30:53 +01:00
Veronica Berglyd Olsen
4b79b2bd57 Fix i18n sources (#2169) 2025-01-10 01:06:24 +01:00
Veronica Berglyd Olsen
80c9e54a9a Update translation files 2025-01-10 01:00:16 +01:00
Veronica Berglyd Olsen
eba0b607a4 Fix translation issues 2025-01-10 00:59:53 +01:00
Veronica Berglyd Olsen
04464a2798 Separate some constants due to duplicate words 2025-01-09 23:51:29 +01:00
Veronica Berglyd Olsen
202b5192ed Release 2.6 RC 1 (#2168) 2025-01-09 23:07:24 +01:00
Veronica Berglyd Olsen
62397225f9 Update translations 2025-01-09 22:58:28 +01:00
Veronica Berglyd Olsen
b220fffd6f Bump version to 2.6 RC 1 and update changelog 2025-01-09 22:54:19 +01:00
Veronica Berglyd Olsen
e14f7881a3 Fix search panel theme update bug (#2167) 2025-01-09 22:42:47 +01:00
Veronica Berglyd Olsen
2085fbe107 Drop the wrapper widget for the search tool header (#2162) 2025-01-09 22:36:11 +01:00
Veronica Berglyd Olsen
31a75f044e Fix minor issues with some constants (#2166) 2025-01-09 22:27:08 +01:00
Veronica Berglyd Olsen
5b74125fcd Merge branch 'main' into minor_fixes 2025-01-09 22:22:39 +01:00
Veronica Berglyd Olsen
1cf3cfcf77 Fix typo in constant 2025-01-09 22:15:33 +01:00
Veronica Berglyd Olsen
defaf6c1ee Fix constant in error handler 2025-01-09 22:15:20 +01:00
Veronica Berglyd Olsen
e0f467fa10 Fix minor bug from in editor counter (#2157) 2025-01-04 01:42:21 +01:00
Veronica Berglyd Olsen
362da679b6 Fix minor issue introduced by selection counter update 2025-01-04 01:38:06 +01:00
Veronica Berglyd Olsen
0b35bcfc3b Fix minor issue with editor word counter (#2156) 2025-01-03 23:47:24 +01:00
Veronica Berglyd Olsen
fad162c6c1 Give selection counter priority in editor footer (#2155) 2025-01-03 23:42:41 +01:00
Veronica Berglyd Olsen
97fc64fcae Update copyright (#2154) 2025-01-03 12:02:48 +00:00
Veronica Berglyd Olsen
5224234637 Make sure imported status labels are saved (#2153) 2024-12-31 01:05:38 +01:00
Veronica Berglyd Olsen
b4f1d0ec77 Fix bug in status label import 2024-12-31 00:59:25 +01:00
Veronica Berglyd Olsen
5911c43b5b Add Import/export of status labels (#2152) 2024-12-31 00:40:52 +01:00
Veronica Berglyd Olsen
4f137466c5 Fix test for Windows 2024-12-31 00:38:02 +01:00
Veronica Berglyd Olsen
3836a2a56c Fix column stretch setting 2024-12-31 00:35:52 +01:00
Veronica Berglyd Olsen
49e59d74cc Update tests 2024-12-31 00:28:42 +01:00
Veronica Berglyd Olsen
9461eea03a Add import/export for status labels 2024-12-31 00:14:47 +01:00
Veronica Berglyd Olsen
136939d391 Make some general import/export functionality improvements 2024-12-31 00:14:25 +01:00
Veronica Berglyd Olsen
33aea82e6e Remove "Apply" buttons in Project Settings (#2151) 2024-12-30 17:00:18 +01:00
Veronica Berglyd Olsen
4a6511b39f Add some minor code cleanup 2024-12-30 16:55:54 +01:00
Veronica Berglyd Olsen
6448f05557 Also remove apply button from auto-replace settings 2024-12-30 16:50:34 +01:00
Veronica Berglyd Olsen
c08eca7c3b Update test 2024-12-30 16:39:44 +01:00
Veronica Berglyd Olsen
df6ca2e17b Drop the status/importance Apply button (#2150) 2024-12-30 16:34:54 +01:00
Veronica Berglyd Olsen
c39a5f9708 Hide session timer (#2149) 2024-12-29 18:02:17 +01:00
Veronica Berglyd Olsen
46d69c31d1 Update docs 2024-12-29 17:43:54 +01:00
Veronica Berglyd Olsen
e924d121bf Update tests 2024-12-29 17:38:21 +01:00
Veronica Berglyd Olsen
2fa1dcccac Use correct signal naming 2024-12-29 17:38:03 +01:00
Veronica Berglyd Olsen
dc9413fa7e Show or hide the status bar timer when it is clicked 2024-12-29 17:30:03 +01:00
Veronica Berglyd Olsen
1b34bc30c7 Add a modified label widget that emits a click signal 2024-12-29 17:29:07 +01:00
Veronica Berglyd Olsen
4d33f087df Fix project tree status/importance for folders (#2147) 2024-12-29 16:33:38 +01:00
Veronica Berglyd Olsen
81a4d5fadb Fix wrong check type for single item status label chang (#2145) 2024-12-29 16:15:56 +01:00
Veronica Berglyd Olsen
7682ae0425 Update MacOS DMG build (#2141) 2024-12-23 15:57:46 +01:00
Veronica Berglyd Olsen
677274adb3 Try a different MacOS image 2024-12-23 15:37:28 +01:00
Veronica Berglyd Olsen
83fca9fd94 Release 2.6 Beta 2 (#2139) 2024-12-23 15:06:51 +01:00
Veronica Berglyd Olsen
4150a9740b Bump version and update changelog 2024-12-23 15:00:01 +01:00
Veronica Berglyd Olsen
f7021559d0 Refactor quoted dialogue detection (#2138) 2024-12-23 14:23:53 +01:00
Veronica Berglyd Olsen
00d4c550f1 Update tests 2024-12-23 14:20:02 +01:00
Veronica Berglyd Olsen
97903993c8 Restructure dialogue detection from quotes 2024-12-23 14:19:47 +01:00
Veronica Berglyd Olsen
3d858ed9ab Remove boundary condition in quote dialogue highlighting in most cases (#2131) 2024-12-09 00:23:48 +01:00
Veronica Berglyd Olsen
cc5cd50065 Improve editor auto-replace (#2132) 2024-12-05 23:41:22 +01:00
Veronica Berglyd Olsen
0c0d909dcb Remove debug code 2024-12-05 23:34:12 +01:00
Veronica Berglyd Olsen
8dafaa13c0 Use slots for some of the often called attributes in the editor 2024-12-05 23:01:17 +01:00
Veronica Berglyd Olsen
05385ba73b Improve the text auto-replace class 2024-12-05 22:57:43 +01:00
Veronica Berglyd Olsen
924a2c3381 Move editor auto-replace to a separate class 2024-12-05 22:40:15 +01:00
Veronica Berglyd Olsen
6502c424e2 Align headers to bottom of page margin for ODT and DocX (#2128) 2024-11-29 12:52:50 +01:00
Veronica Berglyd Olsen
243124a4ba Update tests 2024-11-29 00:41:15 +01:00
Veronica Berglyd Olsen
4a2a14bc05 Make header margins similar in ODT and DocX files (#2120) 2024-11-29 00:40:45 +01:00
Veronica Berglyd Olsen
976328c9dc Fix font style and PDF issues (#2122) 2024-11-27 22:59:20 +01:00
Veronica Berglyd Olsen
3b0086e75e Use a frame for page break marker in manuscript preview 2024-11-26 23:56:31 +01:00
Veronica Berglyd Olsen
7c38a748b6 Merge branch 'main' into font_styles 2024-11-26 22:58:32 +01:00
Veronica Berglyd Olsen
4d98689304 Merge release 2.5.3 2024-11-26 22:57:51 +01:00
Veronica Berglyd Olsen
8307822e20 Release 2.5.3 (#2126) 2024-11-26 22:27:30 +01:00
Veronica Berglyd Olsen
f1548dc8ea Fix some issues in the changelog 2024-11-26 22:23:15 +01:00
Veronica Berglyd Olsen
25b33ab4d3 Bump version to 2.5.3 and update changelog 2024-11-26 22:21:30 +01:00
Veronica Berglyd Olsen
4af98dcab5 Add Russian translation 2024-11-26 22:13:55 +01:00
Veronica Berglyd Olsen
3cf916c845 Update translations 2024-11-26 22:10:43 +01:00
Veronica Berglyd Olsen
bcac05ca20 Only use 1200 DPI for scalable fonts 2024-11-26 21:42:54 +01:00
Veronica Berglyd Olsen
07c61450c7 Try forcing resolution for PDF printer 2024-11-26 18:57:07 +01:00
Veronica Berglyd Olsen
43d95462e0 Optimise a few details and add some tests 2024-11-26 17:07:02 +01:00
Veronica Berglyd Olsen
c091e0b9bb Apply the font matcher closer to config read 2024-11-26 17:06:34 +01:00
Veronica Berglyd Olsen
18c70ffe3e Allow setting resolution for ToQTextDocument converter 2024-11-26 02:22:36 +01:00
Veronica Berglyd Olsen
ff470028be Add a font matcher for text fonts (#2118) 2024-11-26 02:03:09 +01:00
Veronica Berglyd Olsen
8463188336 Fix default font in editor 2024-11-26 01:06:47 +01:00
Veronica Berglyd Olsen
2808c36753 Rename tokenizer setFont to setTextFont 2024-11-26 00:40:09 +01:00
Veronica Berglyd Olsen
05b1fdd7f2 Drop relative font weights in ODT output 2024-11-25 23:43:38 +01:00
Veronica Berglyd Olsen
00017e8065 Reset to default font style after emphasis in QTextDocuments (#2121) 2024-11-25 23:36:35 +01:00
Veronica Berglyd Olsen
ff34112532 Rewrite project tree as a model/view set (#2119) 2024-11-25 00:11:53 +01:00
Veronica Berglyd Olsen
4cadd1597e Add coverage to remaining missed lines 2024-11-25 00:07:32 +01:00
Veronica Berglyd Olsen
e30d2cbbf1 Always use forward slash for ToC file 2024-11-24 19:25:46 +01:00
Veronica Berglyd Olsen
0449cf824d Add test coverage of the gui project tree 2024-11-24 18:39:23 +01:00
Veronica Berglyd Olsen
32d899dbfb Fix windows path 2024-11-24 02:53:54 +01:00
Veronica Berglyd Olsen
9ec9c55c3f Add test coverage of the project tree 2024-11-24 02:48:17 +01:00
Veronica Berglyd Olsen
01b2b53fd5 Add test coverage of the item model 2024-11-24 00:43:01 +01:00
Veronica Berglyd Olsen
be6888f8c8 Fix Python 3.9 incompatible type 2024-11-23 20:29:02 +01:00
Veronica Berglyd Olsen
c1ed0647fe Refactor project signal proxies 2024-11-23 19:56:24 +01:00
Veronica Berglyd Olsen
1bf42ceb55 Update tests other than tree-related 2024-11-23 19:30:29 +01:00
Veronica Berglyd Olsen
ca8bd8d271 Disable project tree tests in core and gui 2024-11-22 17:04:53 +01:00
Veronica Berglyd Olsen
bf23a4920f Merge branch 'main' into project_model 2024-11-22 16:46:50 +01:00
Veronica Berglyd Olsen
cfb048ec19 Update log formatting again (#2117) 2024-11-22 16:46:28 +01:00
Veronica Berglyd Olsen
5284bea0f0 Rewrite log colouring 2024-11-22 16:41:11 +01:00
Veronica Berglyd Olsen
1244a4058c Merge branch 'main' into project_model 2024-11-22 02:22:47 +01:00
Veronica Berglyd Olsen
8c51363651 Colourise log output (#2114) 2024-11-22 02:22:10 +01:00
Veronica Berglyd Olsen
893f18c7ad Add test coverage 2024-11-22 02:18:31 +01:00
Veronica Berglyd Olsen
909c97feda Add ANSI colours to log output 2024-11-22 01:47:21 +01:00
Veronica Berglyd Olsen
fea989c1f8 Update comments 2024-11-22 00:56:33 +01:00
Veronica Berglyd Olsen
a64ed405f3 Add some clear data functions 2024-11-22 00:44:14 +01:00
Veronica Berglyd Olsen
ffe6cd0a65 Update item change signals 2024-11-22 00:15:12 +01:00
Veronica Berglyd Olsen
e0b27317f3 Make sure deleted documents are closed if open 2024-11-21 22:24:34 +01:00
Veronica Berglyd Olsen
7ed619cf2e Restore project item emphasis 2024-11-21 01:33:09 +01:00
Veronica Berglyd Olsen
d55f53be0a Clean up item notification and item main icon 2024-11-21 01:18:28 +01:00
Veronica Berglyd Olsen
55eed706fb Re-implement word counters 2024-11-21 00:14:54 +01:00
Veronica Berglyd Olsen
2f71ec68d8 Re-implement row highlight, empty trash, and fix recursive permanent delete 2024-11-20 23:07:40 +01:00
Veronica Berglyd Olsen
a45ab2f017 Remove tooltip for non-checkable items 2024-11-20 22:36:44 +01:00
Veronica Berglyd Olsen
26b4da9eb4 Fix most tests with minor issues 2024-11-20 19:58:34 +01:00
Veronica Berglyd Olsen
4897f6ad69 Update tests 2024-11-20 18:48:54 +01:00
Veronica Berglyd Olsen
bbe8683d59 Re-implement project item duplication 2024-11-20 18:48:14 +01:00
Veronica Berglyd Olsen
072be78991 Re-enable project tree context menu and clean up split and merge 2024-11-20 16:42:08 +01:00
Veronica Berglyd Olsen
3f41e62e21 Move some variables around 2024-11-20 16:41:26 +01:00
Veronica Berglyd Olsen
ec01336c21 Fix active status icon and tooltip 2024-11-20 13:06:49 +01:00
Veronica Berglyd Olsen
5dcfe5c874 Allow drag and drop to open documents 2024-11-20 02:12:28 +01:00
Veronica Berglyd Olsen
72f1bc2d77 Add model support for drag and drop 2024-11-20 01:31:56 +01:00
Veronica Berglyd Olsen
54685c8184 Reimplement item deletion 2024-11-19 23:26:01 +01:00
Veronica Berglyd Olsen
3532306833 Add move to trash functionality 2024-11-19 17:48:01 +01:00
Veronica Berglyd Olsen
442b065834 Handle item consistency in the nodes tree 2024-11-19 17:47:21 +01:00
Veronica Berglyd Olsen
53e70c118c Add back create new project item functionality 2024-11-19 00:22:59 +01:00
Veronica Berglyd Olsen
a5575992d6 Re-enable project tree move item and navigation 2024-11-18 18:04:25 +01:00
Veronica Berglyd Olsen
df0244095f Rewrite how project items are refreshed on the GUI 2024-11-18 17:51:05 +01:00
Veronica Berglyd Olsen
337f05f60e Re-enable item rename 2024-11-18 00:01:40 +01:00
Veronica Berglyd Olsen
4f8e898440 Switch data tree to new model structure 2024-11-17 23:24:49 +01:00
Veronica Berglyd Olsen
7991b9b27c Re-enable item selection 2024-11-17 22:41:45 +01:00
Veronica Berglyd Olsen
ef42e1956c Merge new and old project tree 2024-11-17 22:07:37 +01:00
Veronica Berglyd Olsen
27b3dde6f6 Complete build initial tree and save tree logic 2024-11-17 21:24:55 +01:00
Veronica Berglyd Olsen
cbe557507f Add a basic project tree model 2024-11-17 19:25:55 +01:00
Veronica Berglyd Olsen
7a9da5f219 Merge branch 'release' 2024-11-16 20:58:09 +01:00
Veronica Berglyd Olsen
d944a70063 Fix secondary issues due to Qt tree widget bug (#2109) 2024-11-16 20:35:14 +01:00
Veronica Berglyd Olsen
c20f970405 Block drops on project tree viewport, and allow non-root items on root to be deleted (#2108) 2024-11-16 20:21:57 +01:00
Veronica Berglyd Olsen
49bb7f3a34 Fix default button issue on Build dialog (#2105) 2024-11-15 21:51:25 +01:00
Veronica Berglyd Olsen
021827ff2d Force the Build button to be default on the build dialog (#2101) 2024-11-15 20:49:45 +01:00
Veronica Berglyd Olsen
97312aecf5 Fix PDF formatting (#2104) 2024-11-15 20:25:29 +01:00
Veronica Berglyd Olsen
f3c9a77989 Revert to QPrinter, but update paint device 2024-11-15 19:31:55 +01:00
Veronica Berglyd Olsen
2c031bc093 Skip anchors when generating PDF 2024-11-15 01:34:02 +01:00
Veronica Berglyd Olsen
69147c2480 Correct pixel units 2024-11-15 01:27:49 +01:00
Veronica Berglyd Olsen
22ca0045bc Correct font scaling on PDF output 2024-11-15 00:40:58 +01:00
Veronica Berglyd Olsen
af431a4766 Merge branch 'main' into pdf_format_fixes 2024-11-14 23:20:12 +01:00
Veronica Berglyd Olsen
5a8045131b Update editor toolbar icon (#2103) 2024-11-14 23:18:43 +01:00
Veronica Berglyd Olsen
7c0a6f1d02 Use correct em calculation in qdoc class 2024-11-14 23:18:22 +01:00
Veronica Berglyd Olsen
4fc69ef7c6 Replace printer with Qt's PDF writer 2024-11-14 23:17:54 +01:00
Veronica Berglyd Olsen
91e502deb6 Add a new icon for the editor toolbar 2024-11-14 21:10:33 +01:00
Veronica Berglyd Olsen
1ee191220f Refactor manuscript format text scaling and text margin settings (#2102) 2024-11-13 23:22:28 +01:00
Veronica Berglyd Olsen
a96ccf8422 Add icons for text margins 2024-11-13 23:16:54 +01:00
Veronica Berglyd Olsen
57641ecd7d Make page number work with Office 365 2024-11-13 20:50:47 +01:00
Veronica Berglyd Olsen
ed431aa30f Update tests 2024-11-13 20:40:44 +01:00
Veronica Berglyd Olsen
7a111bb173 Update default margins 2024-11-13 20:24:10 +01:00
Veronica Berglyd Olsen
220be06631 Make HTML margins scale to em units 2024-11-13 20:05:03 +01:00
Veronica Berglyd Olsen
d8c14f6712 Make ODT margins scale to em units 2024-11-13 20:04:52 +01:00
Veronica Berglyd Olsen
e514b1be4f Fix DocX line height setting 2024-11-13 19:51:36 +01:00
Veronica Berglyd Olsen
5e7ef1d25a Minor improvements for 2.6 beta release (#2095) 2024-11-13 18:43:11 +01:00
Veronica Berglyd Olsen
c2b3eb4ac2 Fix issue of alternative unicode symbols being replaced too early 2024-11-13 00:03:38 +01:00
Veronica Berglyd Olsen
1bd8370864 Update dialogue highlighting settings text in Preferences 2024-11-12 23:10:57 +01:00
Veronica Berglyd Olsen
8c952953e3 Release 2.6 Beta 1 (#2092) 2024-11-12 17:42:59 +01:00
Veronica Berglyd Olsen
c065c9b30f Fix a couple of mistakes in the changelog 2024-11-12 17:35:59 +01:00
Veronica Berglyd Olsen
a18eb1158e Bump version to 2.6b1 and update changelog 2024-11-12 00:38:49 +01:00
Veronica Berglyd Olsen
08ef352288 GUI improvements and fixes (#2089) 2024-11-08 22:02:35 +01:00
Veronica Berglyd Olsen
25297b8b0b Add some coverage settings to the main project file 2024-11-08 17:34:06 +01:00
Veronica Berglyd Olsen
ea591fe707 Fix bug in outline view preserving details panel split position 2024-11-08 17:31:23 +01:00
Veronica Berglyd Olsen
b0bcf8605c Fix closing app with no project bug 2024-11-08 17:30:54 +01:00
Veronica Berglyd Olsen
b28921d6c2 Add an edit button to the viewer (#1963) 2024-11-08 17:30:10 +01:00
Veronica Berglyd Olsen
87ae7585e8 Add status column to project outline (#2088) 2024-11-08 00:37:57 +01:00
Veronica Berglyd Olsen
b39b37fb2f Add timing to outline build 2024-11-08 00:34:21 +01:00
Veronica Berglyd Olsen
cd9e0de9dd Update test 2024-11-07 23:59:52 +01:00
Veronica Berglyd Olsen
5107849909 Add status column to outline 2024-11-07 23:55:59 +01:00
Veronica Berglyd Olsen
5c988960f5 Revert a mistake in page break cleanup 2024-11-07 19:05:49 +01:00
Veronica Berglyd Olsen
44792778aa Simplify collection of raw text (#2087) 2024-11-07 19:03:34 +01:00
Veronica Berglyd Olsen
0a7bd68258 Simplify collection of raw text 2024-11-07 18:56:16 +01:00
Veronica Berglyd Olsen
30118eceaa Make page breaks visible in manuscript preview (#2086) 2024-11-07 18:39:10 +01:00
Veronica Berglyd Olsen
87512eb13b Rename variable 2024-11-07 18:33:53 +01:00
Veronica Berglyd Olsen
9919e1a49e Add new features to new project title page 2024-11-07 18:31:08 +01:00
Veronica Berglyd Olsen
d04a21b70f Improve page break handling in the tokenizer 2024-11-07 17:53:19 +01:00
Veronica Berglyd Olsen
fc6e0a577f Add a switch to enable/disable showing page breaks in the manuscript tool 2024-11-07 17:52:56 +01:00
Veronica Berglyd Olsen
0c659422b7 Add page break markers to the QTextDocument format class 2024-11-07 17:52:01 +01:00
Veronica Berglyd Olsen
2018023dc7 Remove redundant if-checks 2024-11-07 14:34:35 +01:00
Veronica Berglyd Olsen
04645cab71 Merge bugfix for #2080 from 2.5 release branch 2024-11-05 18:46:12 +01:00
Veronica Berglyd Olsen
bec082c0ae Fix HTML formatting issue (#2085) 2024-11-05 18:44:05 +01:00
Veronica Berglyd Olsen
83b244a8a3 Fix head tags order in HTML output (#2080) 2024-11-05 18:39:43 +01:00
Veronica Berglyd Olsen
ae261381aa Add build copy feature (#2084) 2024-11-05 18:38:32 +01:00
Veronica Berglyd Olsen
b088b79ee8 Add test coverage 2024-11-05 18:32:02 +01:00
Veronica Berglyd Olsen
0b59ee8634 Add duplicate build feature 2024-11-05 18:17:43 +01:00
Veronica Berglyd Olsen
f62b755903 Add copy button icon 2024-11-05 18:17:21 +01:00
Veronica Berglyd Olsen
04036ef35c Improve dialogue highlighting after feedback (#2082) 2024-11-05 17:34:04 +01:00
Veronica Berglyd Olsen
e4a2ca2d19 Add horizontal bar to em dash conversion in tokenizer 2024-11-04 17:32:22 +01:00
Veronica Berglyd Olsen
89f452f3fc Restructure and improve dialogue highlighting 2024-11-04 17:28:21 +01:00
Veronica Berglyd Olsen
843f8e0d39 Add missing line in dialogue highlighting check 2024-11-04 00:21:25 +01:00
Veronica Berglyd Olsen
8618306230 Update dialogue handling again (#2081) 2024-11-03 22:40:17 +01:00
Veronica Berglyd Olsen
34a3e17326 Fix quotes regex issue and update tests 2024-11-03 22:09:16 +01:00
Veronica Berglyd Olsen
5af49dfc6f Add a separate setting for alternating dialogue/narration 2024-11-03 21:45:00 +01:00
Veronica Berglyd Olsen
837d3060b8 Separate single and double quoted dialogue 2024-11-03 21:14:36 +01:00
Veronica Berglyd Olsen
2754f78083 Merge Spanish and Portuguese narrator break logic 2024-11-03 21:14:11 +01:00
Veronica Berglyd Olsen
1b509ad60b Add a dialogue parser, and horizontal bar auto-complete (#2079) 2024-11-01 22:23:16 +01:00
Veronica Berglyd Olsen
82e923b181 Remove debug code 2024-11-01 22:11:35 +01:00
Veronica Berglyd Olsen
e92b8400c7 Add dialogue parser test coverage 2024-11-01 22:07:47 +01:00
Veronica Berglyd Olsen
1ad6a80682 Update auto-replace in editor, and update tests 2024-11-01 21:17:46 +01:00
Veronica Berglyd Olsen
f355b82bba Add auto-replace for horizontal bar 2024-11-01 20:49:16 +01:00
Veronica Berglyd Olsen
66567b6d6f Allow up to 4 dialogue line symbols 2024-11-01 20:07:35 +01:00
Veronica Berglyd Olsen
d9582436d4 Update tests 2024-11-01 19:55:56 +01:00
Veronica Berglyd Olsen
31c75ea0b1 Add a dialog parser class 2024-11-01 19:55:35 +01:00
Veronica Berglyd Olsen
057fc10565 Refactor and clean up GUI code (#2078) 2024-10-31 18:42:32 +01:00
Veronica Berglyd Olsen
bbb07c9963 Make some minor GUI tweaks 2024-10-31 18:35:28 +01:00
Veronica Berglyd Olsen
dd09d3af2f Refactor outline details panel code 2024-10-31 18:28:58 +01:00
Veronica Berglyd Olsen
ccb5f8418b Remove redundant function in project tree 2024-10-31 18:28:35 +01:00
Veronica Berglyd Olsen
55d2605222 Use the new qtLambda wrapper where appropriate 2024-10-31 17:31:58 +01:00
Veronica Berglyd Olsen
7f49979bc9 Clean up project tree class 2024-10-31 17:30:49 +01:00
Veronica Berglyd Olsen
b529d5b125 Improve document editing and test coverage (#2077) 2024-10-31 00:21:19 +01:00
Veronica Berglyd Olsen
f2e36d9974 Cover missing lines in error module 2024-10-31 00:18:16 +01:00
Veronica Berglyd Olsen
ca2b509d54 Make the test a little safer 2024-10-31 00:11:32 +01:00
Veronica Berglyd Olsen
0ba0674b9e Some code flow improvements and main GUI test coverage 2024-10-31 00:07:48 +01:00
Veronica Berglyd Olsen
a2b09fdfec Update various features in the doc editor using new helper code 2024-10-30 19:13:13 +01:00
Veronica Berglyd Olsen
fa0bef5500 Extend and refactor current open document highlighting 2024-10-30 19:12:09 +01:00
Veronica Berglyd Olsen
92d148b03d Allow inserting stats in documents (#2073) 2024-10-30 00:14:48 +01:00
Veronica Berglyd Olsen
3d935e29eb Update test coverage 2024-10-30 00:08:31 +01:00
Veronica Berglyd Olsen
3749c9f21d Fix variable formatting for DocX and ODT 2024-10-29 17:50:51 +01:00
Veronica Berglyd Olsen
2a3d3e46c2 Pin tests to set locale to en_GB 2024-10-29 17:50:51 +01:00
Veronica Berglyd Olsen
9bc1561e01 Change to use document locale for integers 2024-10-29 17:50:51 +01:00
Veronica Berglyd Olsen
d987246062 Use Qt for int locale 2024-10-29 17:50:50 +01:00
Veronica Berglyd Olsen
c6a22e2d96 Add stats variables to Lipsum test project 2024-10-29 17:50:50 +01:00
Veronica Berglyd Olsen
42f904f1ea Add field value insertion to all formats 2024-10-29 17:50:49 +01:00
Veronica Berglyd Olsen
f92521c93a Process field values in QTextDocuments 2024-10-29 17:50:49 +01:00
Veronica Berglyd Olsen
041183f914 Add processing of fields in the Tokenizer 2024-10-29 17:50:49 +01:00
Veronica Berglyd Olsen
857b6ddc55 Update main menu 2024-10-29 17:50:48 +01:00
Veronica Berglyd Olsen
f2d2b4c4f2 Generalise the manuscript stats count values 2024-10-29 17:47:32 +01:00
Veronica Berglyd Olsen
8725edaf7e Refactor main menu (#2075) 2024-10-29 17:46:16 +01:00
Veronica Berglyd Olsen
4eace705e3 Add a function wrapper that makes the linter happy when used for Qt slots 2024-10-29 17:37:50 +01:00
Veronica Berglyd Olsen
b2d71acd93 Connect menu actions to main GUI in the menu class 2024-10-29 17:36:54 +01:00
Veronica Berglyd Olsen
e424fcfe53 Add support for referencing tags in novel documents (#2072) 2024-10-28 00:18:46 +01:00
Veronica Berglyd Olsen
eefb40cb1f Update tests 2024-10-28 00:12:06 +01:00
Veronica Berglyd Olsen
785cd3aea9 Add support for story reference, and update mention reference in outline details 2024-10-28 00:08:28 +01:00
Veronica Berglyd Olsen
07c700f666 Rewrite narrator break for dialogue highlighting (#2068) 2024-10-27 13:15:57 +01:00
Veronica Berglyd Olsen
8db0928724 Re-order preferences settings and ensure dialog/narrator symbols are single characters 2024-10-27 13:11:50 +01:00
Veronica Berglyd Olsen
b25ba9de27 Add test coverage of the highlighter 2024-10-27 13:05:24 +01:00
Veronica Berglyd Olsen
bf478a6706 Update tests 2024-10-27 02:22:39 +02:00
Veronica Berglyd Olsen
a1a58f51b1 Add new logic for dialogue narrator break to tokenizer 2024-10-27 02:15:06 +02:00
Veronica Berglyd Olsen
8850161641 Add new logic for dialogue narrator break 2024-10-27 01:55:19 +02:00
Veronica Berglyd Olsen
f931148594 Bump version to 2.6 Alpha 3 2024-10-27 00:35:57 +02:00
Veronica Berglyd Olsen
c31b0bcf17 Add Url recognition and formatting (#2067) 2024-10-27 00:17:11 +02:00
Veronica Berglyd Olsen
ba260ac608 Add test coverage of new features, and some other places 2024-10-27 00:13:18 +02:00
Veronica Berglyd Olsen
f2fc19b168 Add test coverage of new features 2024-10-26 23:28:34 +02:00
Veronica Berglyd Olsen
ceabc666c3 Add font table, fix core.xml bug, clean up code, update tests, for DocX 2024-10-26 17:09:50 +02:00
Veronica Berglyd Olsen
6c217c2450 Fix spell checker issue 2024-10-25 23:53:38 +02:00
Veronica Berglyd Olsen
7ff8921420 Add links to DocX 2024-10-25 23:19:23 +02:00
Veronica Berglyd Olsen
fe56c88309 Separate spell checking and link scanning, and add ODT support for links 2024-10-25 23:19:23 +02:00
Veronica Berglyd Olsen
b13b91c8e8 Add url to Lipsum test project 2024-10-25 23:19:22 +02:00
Veronica Berglyd Olsen
d71435df53 Distinguish between anchor ref and href in tokenizer 2024-10-25 23:19:22 +02:00
Veronica Berglyd Olsen
058758122c Add url support in tokenizer and qdoc preview 2024-10-25 23:18:27 +02:00
Veronica Berglyd Olsen
759cfd77e9 Add url handling in editor and viewer 2024-10-25 23:18:27 +02:00
Veronica Berglyd Olsen
37268b873a Add URL regex pattern 2024-10-25 23:18:22 +02:00
Veronica Berglyd Olsen
439a04c603 Add support for mentions references (#2064) 2024-10-25 23:17:36 +02:00
Veronica Berglyd Olsen
9f642d501a Update documentation 2024-10-25 00:20:17 +02:00
Veronica Berglyd Olsen
7f8e2c66a6 Update tests 2024-10-25 00:13:09 +02:00
Veronica Berglyd Olsen
9962fd4a55 Add menu entry and shortcut 2024-10-25 00:13:03 +02:00
Veronica Berglyd Olsen
c27343534f Add mentions to sample project 2024-10-24 23:58:37 +02:00
Veronica Berglyd Olsen
46ecb2cf70 Add mentions to outline 2024-10-24 23:57:39 +02:00
Veronica Berglyd Olsen
88aa3f38c2 Add autocomplete for mentions 2024-10-24 23:57:10 +02:00
Veronica Berglyd Olsen
9214da3756 Add mention keyword 2024-10-24 23:53:48 +02:00
Veronica Berglyd Olsen
41e5152771 Add forced line breaks feature (#2063) 2024-10-24 17:55:56 +02:00
Veronica Berglyd Olsen
6b01bd7ffe Fix title page break issue and add test coverage 2024-10-24 17:47:14 +02:00
Veronica Berglyd Olsen
76a9f8e3df Fix a minor issue, and add test 2024-10-24 14:32:54 +02:00
Veronica Berglyd Olsen
e15941520f Add working forced line break implementation 2024-10-24 01:25:32 +02:00
Veronica Berglyd Olsen
ff7404d01d Add line break shortcode support 2024-10-24 01:07:03 +02:00
Veronica Berglyd Olsen
560540618c Process heading line breaks in the Tokenizer 2024-10-24 00:02:39 +02:00
Veronica Berglyd Olsen
bfa82f6bb3 Add test coverage of title line breaks, and don't break markdown titles 2024-10-24 00:02:39 +02:00
Veronica Berglyd Olsen
f77cd1c752 Fix counting error (#2062) 2024-10-24 00:01:39 +02:00
Veronica Berglyd Olsen
8461b0c15d Fix wrong character count when there is a footnote 2024-10-23 23:57:42 +02:00
Veronica Berglyd Olsen
2938a0f122 Remove version dependency in DocX tests 2024-10-23 17:44:55 +02:00
Veronica Berglyd Olsen
beccd1a7d1 Bump version to 2.6 Alpha 2 2024-10-23 17:41:28 +02:00
Veronica Berglyd Olsen
c6883908f1 Improve text document formatting (#2061) 2024-10-23 17:39:13 +02:00
Veronica Berglyd Olsen
36d8547f78 Correct misspelled variable 2024-10-23 17:36:12 +02:00
Veronica Berglyd Olsen
b01c91c0a3 Remove more redundant code 2024-10-23 17:20:07 +02:00
Veronica Berglyd Olsen
3712b2e93f Combine the different ways of storing generated text data in formats 2024-10-23 17:12:13 +02:00
Veronica Berglyd Olsen
0ddc1131dc Replace heading field with a general meta data field in the text block tuple 2024-10-23 16:20:50 +02:00
Veronica Berglyd Olsen
f4a941cd93 Fix format tag order for HTML validation 2024-10-23 11:01:06 +02:00
Veronica Berglyd Olsen
db72f2a722 Remove redundant code 2024-10-23 10:31:27 +02:00
Veronica Berglyd Olsen
16023676ea Simplify CSS in HTML format 2024-10-23 01:27:36 +02:00
Veronica Berglyd Olsen
52e85835df Flip if statement in Tokenizer 2024-10-23 01:26:48 +02:00
Veronica Berglyd Olsen
fe63770d21 Refactor and standardise text format modules (#2060) 2024-10-22 21:51:19 +02:00
Veronica Berglyd Olsen
bd5442c9e5 Process tags and references in Tokenizer 2024-10-22 21:37:18 +02:00
Veronica Berglyd Olsen
c7554f2b8d Process keyword flag in Tokenizer 2024-10-22 19:33:05 +02:00
Veronica Berglyd Olsen
63f9cd0bac Tokenize dialogue with colour tag 2024-10-22 18:41:34 +02:00
Veronica Berglyd Olsen
c537d0f396 Process comments in the Tokenizer 2024-10-22 17:37:00 +02:00
Veronica Berglyd Olsen
e759aa8d1b Move colour theme to Tokenizer class 2024-10-22 17:07:57 +02:00
Veronica Berglyd Olsen
2d8664b3ce Clean up wrapped code, and rename test variable 2024-10-22 00:40:54 +02:00
Veronica Berglyd Olsen
16076ebfb6 Move shared formats code to separate file, and rename some variables 2024-10-22 00:25:35 +02:00
Veronica Berglyd Olsen
38ca447c8a Convert format codes to enums 2024-10-21 23:37:27 +02:00
Veronica Berglyd Olsen
f91006631d Rename ODT test files 2024-10-21 18:56:37 +02:00
Veronica Berglyd Olsen
3cc5e4cc7a Handle text justify in Tokenizer instead 2024-10-21 18:54:19 +02:00
Veronica Berglyd Olsen
75178b7874 Merge branch 'release' 2024-10-21 17:14:32 +02:00
Veronica Berglyd Olsen
ce3f6dae20 Add DocX support (#2056) 2024-10-21 17:13:42 +02:00
Veronica Berglyd Olsen
bd82392d71 Add Python 3.13 and fix theme issue and broken link (#2059) 2024-10-21 17:12:09 +02:00
Veronica Berglyd Olsen
836a3d353a Update Enchant link (#2042) 2024-10-21 17:08:35 +02:00
Veronica Berglyd Olsen
a4d2a9ea6f Fix swapped colours in default light theme (#2057) 2024-10-21 17:05:19 +02:00
Veronica Berglyd Olsen
b0fc8d63a6 Add Python 3.13 support 2024-10-21 17:03:52 +02:00
Veronica Berglyd Olsen
ec7781fb9f Generalise ODT variables to DOC 2024-10-21 17:00:44 +02:00
Veronica Berglyd Olsen
787e1a46d1 Add DocX test coverage 2024-10-21 16:59:43 +02:00
Veronica Berglyd Olsen
148d46fcbc Add settings to DocX and compression to ODT and DocX 2024-10-20 23:08:14 +02:00
Veronica Berglyd Olsen
7e1a676e0a Add footnote support to DocX 2024-10-20 22:01:13 +02:00
Veronica Berglyd Olsen
e9220c5e77 Add DocX page settings and header support 2024-10-20 21:02:53 +02:00
Veronica Berglyd Olsen
72d41d4883 Refactor XML generation for DocX 2024-10-20 17:07:33 +02:00
Veronica Berglyd Olsen
de6c3e9b45 Fix issue with global justify, and add indentation to DocX 2024-10-19 20:14:01 +02:00
Veronica Berglyd Olsen
a0ab507ed1 Fix DocX tabs in text, and page break before issues 2024-10-19 19:04:16 +02:00
Veronica Berglyd Olsen
3c76d0e7e3 Fix issue with line spacing in DocX 2024-10-19 17:08:24 +02:00
Veronica Berglyd Olsen
34127d78bf Move custom XML sub element function to common 2024-10-19 17:08:08 +02:00
Veronica Berglyd Olsen
ca33f488f1 Get rid of the DocXRun class 2024-10-19 14:43:06 +02:00
Veronica Berglyd Olsen
717aac9dc8 Add remaining code blocks, and add colours 2024-10-18 21:18:59 +02:00
Veronica Berglyd Olsen
4b07dbadb2 Basic DocX text formatting works 2024-10-18 20:31:21 +02:00
Veronica Berglyd Olsen
9bbebd2085 Add DocX text styles 2024-10-18 18:35:56 +02:00
Veronica Berglyd Olsen
d60b29e0a2 make some improvements to the ODT writer 2024-10-18 16:37:42 +02:00
Veronica Berglyd Olsen
80d2dfd9a4 Add structure for DocX documents 2024-10-18 16:37:04 +02:00
Veronica Berglyd Olsen
464454e7a6 Expose text margin settings in Manuscript Build (#2051) 2024-10-17 22:41:42 +02:00
Veronica Berglyd Olsen
d145b65237 Standardise text sizes and margins 2024-10-17 22:34:46 +02:00
Veronica Berglyd Olsen
912198cc40 Add text margin settings 2024-10-17 21:57:04 +02:00
Veronica Berglyd Olsen
bffab79ba7 Merge build settings page layout options 2024-10-17 21:56:35 +02:00
Veronica Berglyd Olsen
c82f7fd9ca Bump version to 2.6 Alpha 1 2024-10-16 17:42:50 +02:00
Veronica Berglyd Olsen
53afe528e8 Add PDF output for manuscripts (#2048) 2024-10-16 17:41:31 +02:00
Veronica Berglyd Olsen
225befe57e Add test coverage 2024-10-16 17:33:32 +02:00
Veronica Berglyd Olsen
40817e73b4 Apply page layout settings to PDF format 2024-10-16 17:26:10 +02:00
Veronica Berglyd Olsen
17c93c2172 Add PDF format 2024-10-16 17:25:46 +02:00
Veronica Berglyd Olsen
c8d7ccadb7 Refactor document builder (#2047) 2024-10-16 00:26:32 +02:00
Veronica Berglyd Olsen
7bb292404a Update Tokenizer tests 2024-10-16 00:23:18 +02:00
Veronica Berglyd Olsen
d2ac0ed53f Pass the Markdown style to the constructor 2024-10-16 00:15:56 +02:00
Veronica Berglyd Olsen
c633a56bfb Simplify JSON and raw text writing 2024-10-15 23:59:25 +02:00
Veronica Berglyd Olsen
34696ba3a8 Merge doc build functions 2024-10-15 23:29:11 +02:00
Veronica Berglyd Olsen
93c105fe86 Extend heading styling options (#2045) 2024-10-15 21:40:21 +02:00
Veronica Berglyd Olsen
29eac0b4e5 Remove type alias for Python 3.9 2024-10-15 21:36:15 +02:00
Veronica Berglyd Olsen
fc27078954 Standardise the save document call for all document classes 2024-10-15 21:25:36 +02:00
Veronica Berglyd Olsen
759a8e84f0 Fix QTextDocument header formatting 2024-10-15 20:59:10 +02:00
Veronica Berglyd Olsen
b2c7da319e Generalise ODT build settings 2024-10-15 20:34:41 +02:00
Veronica Berglyd Olsen
b56095224a Move document format classes to new folder 2024-10-15 19:29:56 +02:00
Veronica Berglyd Olsen
2f12a8cc93 Add settings to style ODT headers 2024-10-15 19:22:08 +02:00
Veronica Berglyd Olsen
140f85f214 Merge branch 'main' into heading_styling 2024-10-14 00:26:55 +02:00
Veronica Berglyd Olsen
7405c7e20f Add Python 3.13 (#2044) 2024-10-14 00:25:07 +02:00
Veronica Berglyd Olsen
f29b13679a List and check support for Python 3.13 (#2040) 2024-10-14 00:21:22 +02:00
Veronica Berglyd Olsen
9b9ed53cf9 Don't use "match" as a variable (#2043) 2024-10-14 00:18:24 +02:00
Veronica Berglyd Olsen
2447ae5cff Replace usage of "match" as a variable name 2024-10-14 00:14:08 +02:00
Veronica Berglyd Olsen
7379b8b521 Remove plain heading style setting again 2024-10-14 00:10:23 +02:00
Veronica Berglyd Olsen
22473823c9 Improve build settings 2024-10-01 14:01:36 +02:00
Veronica Berglyd Olsen
d8bb9950d3 Add plain style setting for headings 2024-10-01 14:00:57 +02:00
Veronica Berglyd Olsen
279fe2ae18 Add title setting 2024-10-01 12:54:38 +02:00
Veronica Berglyd Olsen
1e812f3f06 Update tests 2024-10-01 12:15:42 +02:00
Veronica Berglyd Olsen
0f1401eb71 Rename title format settings to partition 2024-10-01 12:14:39 +02:00
Veronica Berglyd Olsen
57e739c3ef Add word counts to ODT output (#2035) 2024-10-01 12:00:04 +02:00
Veronica Berglyd Olsen
1b457585d9 Update tests 2024-09-30 22:52:39 +02:00
Veronica Berglyd Olsen
c9eab0b01e Add word counts to the ODT file as user fields (#2033) 2024-09-30 22:52:28 +02:00
Veronica Berglyd Olsen
3da5074d14 Refactor build settings (#2031) 2024-09-28 11:58:58 +02:00
Veronica Berglyd Olsen
e97a476c7f Update tests 2024-09-28 11:55:47 +02:00
Veronica Berglyd Olsen
a716f31b17 Fix some minor issues with spell checking 2024-09-28 11:41:26 +02:00
Veronica Berglyd Olsen
b2e760a284 Merge build settings formatting into a single form 2024-09-28 11:36:01 +02:00
Veronica Berglyd Olsen
7cc48aeb7f Improve spell checking (#2030) 2024-09-28 11:31:49 +02:00
Veronica Berglyd Olsen
a6494b4226 Allow words to be ignored by the spell checker (session only) 2024-09-28 11:21:04 +02:00
Veronica Berglyd Olsen
5ed03e29f3 Change regexes to use the pattern object directly 2024-09-28 11:20:09 +02:00
Veronica Berglyd Olsen
5c07148eb2 Replace Qt RegEx with Python RegEx (#2028) 2024-09-22 18:02:17 +02:00
Veronica Berglyd Olsen
17b4a7be4d Use regex end instead of length in tokenizer format processing function 2024-09-22 17:57:13 +02:00
Veronica Berglyd Olsen
9b08ebbbd5 Use Python regex for document search tool 2024-09-22 17:47:49 +02:00
Veronica Berglyd Olsen
37c469dbc7 Move word split to regex pattern class 2024-09-22 17:37:12 +02:00
Veronica Berglyd Olsen
c08033d153 Use stdlib re for dialogue matching 2024-09-22 17:34:04 +02:00
Veronica Berglyd Olsen
9c63f621a8 Use stdlib re for Shortcode matching 2024-09-22 17:06:57 +02:00
Veronica Berglyd Olsen
c3cb12e5e2 Use stdlib re for Markdown matching 2024-09-22 16:56:21 +02:00
Veronica Berglyd Olsen
d3799bc30a Update plain regex patterns to std lib re 2024-09-22 16:37:45 +02:00
Veronica Berglyd Olsen
cb8933b493 Use Python regex for spell checking 2024-09-22 16:23:35 +02:00
Veronica Berglyd Olsen
1aa58c047f Clean up Qt enums (#2025) 2024-09-18 22:18:15 +02:00
Veronica Berglyd Olsen
52b3084bee Fix type annotation 2024-09-18 22:12:39 +02:00
Veronica Berglyd Olsen
70b05c9e07 Use strings for shortcut keys 2024-09-18 22:11:32 +02:00
Veronica Berglyd Olsen
cafa440aee Update menu role enums 2024-09-18 22:06:23 +02:00
Veronica Berglyd Olsen
681cb7226a Fix bug in test 2024-09-18 22:04:06 +02:00
Veronica Berglyd Olsen
b36e49e43f Update scrollbar enums 2024-09-18 22:02:50 +02:00
Veronica Berglyd Olsen
90a6c2d98d Update keyboard and mouse enums 2024-09-18 21:55:59 +02:00
Veronica Berglyd Olsen
21d21846ca Update cursor and messagebox enums 2024-09-18 21:51:23 +02:00
Veronica Berglyd Olsen
cc8d7d9912 Fix ActionEvent enums 2024-09-18 21:46:44 +02:00
Veronica Berglyd Olsen
10527afbda Remove borders 2024-09-18 15:00:55 +02:00
Veronica Berglyd Olsen
d16ece2a81 Use html table instead 2024-09-18 14:59:38 +02:00
Veronica Berglyd Olsen
e7f7dc8d60 Increase sponsor logo size 2024-09-18 14:55:47 +02:00
Veronica Berglyd Olsen
2f2943452f Use px for logo size 2024-09-18 14:55:06 +02:00
Veronica Berglyd Olsen
08ae2b5351 Merge actions updates from 'release' 2024-09-18 14:52:46 +02:00
Veronica Berglyd Olsen
eda1a1c4dd Add sponsor link to readme 2024-09-18 14:52:24 +02:00
Veronica Berglyd Olsen
238abdb567 Update to release certificate for windows build 2024-09-18 14:33:45 +02:00
Veronica Berglyd Olsen
c3f9ceb03a Add version numbers to all build jobs 2024-09-18 14:02:27 +02:00
Veronica Berglyd Olsen
b95e9fcda3 Update for windows runner 2024-09-18 13:39:17 +02:00
Veronica Berglyd Olsen
b3f8a2c18c Add version parameter to windows build 2024-09-18 13:11:08 +02:00
Veronica Berglyd Olsen
18bbf7d86f Switch to test signing for windows setup 2024-09-18 12:14:37 +02:00
Veronica Berglyd Olsen
8e3ad6d874 Merge release 2.5.2 2024-09-17 16:51:06 +02:00
Veronica Berglyd Olsen
7a63ac83d2 Release 2.5.2 (#2021) 2024-09-17 15:49:04 +02:00
Veronica Berglyd Olsen
8dc28ddbee Add signing request to windows build 2024-09-17 15:45:30 +02:00
Veronica Berglyd Olsen
15803cf0a3 Bump version and update changelog 2024-09-17 15:33:37 +02:00
Veronica Berglyd Olsen
5ac001781c Improve documentation (#2015) 2024-09-09 12:03:22 +02:00
Veronica Berglyd Olsen
66986b88f8 Improve the spell checking info a little 2024-09-01 21:41:26 +02:00
Veronica Berglyd Olsen
f4e12a63a5 Merge branch 'release' into improve_docs 2024-09-01 21:37:53 +02:00
Veronica Berglyd Olsen
09b0f34199 Merge branch 'release' 2024-09-01 17:47:36 +02:00
Veronica Berglyd Olsen
095c005c3f Fix bugs in the document viewer (#2014) 2024-09-01 17:45:44 +02:00
Veronica Berglyd Olsen
e414b6458d Refresh tab stop distance after loading document (#1996) 2024-09-01 17:38:04 +02:00
Veronica Berglyd Olsen
ece73784c2 Only highlight dialogue in novel text (#2011 and #2013) 2024-09-01 17:32:37 +02:00
Veronica Berglyd Olsen
8dd9644c13 Fix issue with overlapping formatting (#2012) 2024-09-01 17:22:54 +02:00
Veronica Berglyd Olsen
556e8db104 Add some text about spell checking to editor docs 2024-08-16 09:33:38 +02:00
Veronica Berglyd Olsen
ce979b6c84 Merge branch 'release' 2024-07-28 14:10:36 +02:00
Veronica Berglyd Olsen
d2f422a441 Update Ubuntu releases (#1995) 2024-07-28 14:09:39 +02:00
Veronica Berglyd Olsen
e4daff8956 Drop Ubuntu 23.10 and add 24.10 2024-07-28 14:04:14 +02:00
Veronica Berglyd Olsen
c146c311c1 Merge branch 'release' 2024-07-28 13:46:53 +02:00
Veronica Berglyd Olsen
2e1b17dcdf Release 2.5.1 (#1989) 2024-07-28 13:32:15 +02:00
Veronica Berglyd Olsen
2ef11f56e5 Update changelog 2024-07-28 13:26:34 +02:00
Veronica Berglyd Olsen
fdaeca78a7 Update translations 2024-07-28 13:21:58 +02:00
Veronica Berglyd Olsen
93e7343fe9 Update changelog with latest fix 2024-07-26 00:22:58 +02:00
Veronica Berglyd Olsen
5167608f7a Merge branch 'release' into release_2.5.1 2024-07-26 00:20:11 +02:00
Veronica Berglyd Olsen
7fe3a8520d Merge branch 'release' 2024-07-26 00:19:25 +02:00
Veronica Berglyd Olsen
d4a0881e77 Fix updating of importance labels (#1993) 2024-07-26 00:18:47 +02:00
Veronica Berglyd Olsen
7f42210f2f Add test coverage 2024-07-26 00:15:14 +02:00
Veronica Berglyd Olsen
33497bc92d Simplify how the project tree is populated 2024-07-25 20:47:14 +02:00
Veronica Berglyd Olsen
06aa2e6c07 Only refresh project tree values when status labels change 2024-07-25 20:39:32 +02:00
Veronica Berglyd Olsen
3bffaa01dc Update viewer panel when importance labels change (#1992) 2024-07-25 19:21:52 +02:00
Veronica Berglyd Olsen
66237c35ea Bump version to 2.5.1 and update changelog 2024-07-21 20:05:54 +02:00
Veronica Berglyd Olsen
f532857345 Merge branch 'release' 2024-07-21 19:54:43 +02:00
Veronica Berglyd Olsen
5936e1a68b Improve test coverage 2024-07-21 19:45:40 +02:00
Veronica Berglyd Olsen
17b3b2b770 Navigate to heading when a tag is clicked for editing (#1983) 2024-07-21 19:45:28 +02:00
Veronica Berglyd Olsen
826e805b06 Make sure free form text boxes in Preferences are safe (#1986) 2024-07-21 19:20:51 +02:00
Veronica Berglyd Olsen
5419d76606 Fix test 2024-07-21 19:15:56 +02:00
Veronica Berglyd Olsen
0d84653f7d Process pad before and after settings in Preferences (#1985) 2024-07-21 19:06:45 +02:00
Veronica Berglyd Olsen
b7da56ac42 Merge branch 'release' 2024-07-14 16:43:43 +02:00
Veronica Berglyd Olsen
7140788b48 Lock project only after successful open (#1978) 2024-07-14 16:33:48 +02:00
Veronica Berglyd Olsen
a43bd5a50e Move project lock until all steps in project open are completed (#1977) 2024-07-14 16:28:09 +02:00
Veronica Berglyd Olsen
81dd98e83b Bump main branch to 2.6 alpha 0 2024-07-10 17:30:14 +02:00
Veronica Berglyd Olsen
742f84576e Release 2.5 (#1972) 2024-07-10 16:45:13 +02:00
Veronica Berglyd Olsen
ba81662d6a Bump version to 2.5 and update changelog 2024-07-10 16:41:49 +02:00
Veronica Berglyd Olsen
f669ac1265 Update documentation for 2.5 (#1928) 2024-07-10 16:21:54 +02:00
Veronica Berglyd Olsen
b8a97b1afc Update docs 2024-07-10 16:18:29 +02:00
Veronica Berglyd Olsen
4eb0ed386c Merge branch 'main' into update_docs 2024-07-09 19:58:44 +02:00
Veronica Berglyd Olsen
ece225c355 Fix first line indent between pages (#1971) 2024-07-08 14:07:58 +02:00
Veronica Berglyd Olsen
69d97a3f3e Add additional test coverage 2024-07-08 14:02:05 +02:00
Veronica Berglyd Olsen
dcecaae3af Fix indent info not passed between pages (#1965) 2024-07-08 14:01:42 +02:00
Veronica Berglyd Olsen
1c261ef371 Add focus switch on welcome dialog (#1968) 2024-07-07 20:04:58 +02:00
Veronica Berglyd Olsen
ea89e66a46 Focus project name field when entering new project form on welcome dialog (#1967) 2024-07-07 19:59:35 +02:00
Veronica Berglyd Olsen
dd03c19be2 Fix preview indent and status bar LEDs (#1962) 2024-07-05 15:20:30 +02:00
Veronica Berglyd Olsen
08e6d320df Use text colour for LED border 2024-07-05 15:16:58 +02:00
Veronica Berglyd Olsen
446163c6de Add DPI scaling to status LEDs 2024-07-05 15:14:30 +02:00
Veronica Berglyd Olsen
abd503b5a2 Rename the em variable for clarity 2024-07-05 14:51:12 +02:00
Veronica Berglyd Olsen
2e1c08cbfa Fix em unit calculation in document preview (#1961) 2024-07-05 13:21:39 +02:00
Veronica Berglyd Olsen
7bdadadea1 Minor changes to pkgutils (#1959) 2024-07-04 22:28:13 +02:00
Veronica Berglyd Olsen
bc33a4d0d4 Move build-clean to after the build commands in pkgutils 2024-07-04 22:24:33 +02:00
Veronica Berglyd Olsen
188bc5d16f Restore usage of wrapper functions for read and write in pkgutils 2024-07-04 22:22:41 +02:00
Veronica Berglyd Olsen
3fd0385160 Rewrite build tools (#1958) 2024-07-04 22:11:10 +02:00
Veronica Berglyd Olsen
5f3f55133e Remove manual build from linux tests 2024-07-04 22:08:28 +02:00
Veronica Berglyd Olsen
47b8e12bc7 Fix a few workflow issues 2024-07-04 22:07:33 +02:00
Veronica Berglyd Olsen
cc97129e64 Add description to pkgutils help 2024-07-04 22:01:52 +02:00
Veronica Berglyd Olsen
e40e282837 Fix bug in Windows build script 2024-07-04 21:44:28 +02:00
Veronica Berglyd Olsen
eba0fa58bf Update Windows build job 2024-07-04 21:40:48 +02:00
Veronica Berglyd Olsen
1c0fdd6a17 Update XDG tools, clean up and fix a deb build issue 2024-07-04 21:38:31 +02:00
Veronica Berglyd Olsen
43eb62576c Fix Windows installer and update MacOS PList generator 2024-07-04 21:16:49 +02:00
Veronica Berglyd Olsen
d43a799389 Updated Windows packaging code 2024-07-04 21:00:15 +02:00
Veronica Berglyd Olsen
4d716555af Updated AppImage packaging code 2024-07-04 20:31:53 +02:00
Veronica Berglyd Olsen
7c65d22452 Updated debian packaging code 2024-07-04 19:45:54 +02:00
Veronica Berglyd Olsen
1b8867537e Update all assets commands to pkgutils 2024-07-04 18:34:10 +02:00
Veronica Berglyd Olsen
b91a11980b Split build workflows (#1957) 2024-07-04 16:51:59 +02:00
Veronica Berglyd Olsen
e80a9824f6 Add placeholder Windows build job 2024-07-04 16:47:39 +02:00
Veronica Berglyd Olsen
140b22dc63 Split GitHub build workflows 2024-07-04 16:42:46 +02:00
Veronica Berglyd Olsen
60169b914a Revert main to 2.5 RC1 2024-07-04 16:32:01 +02:00
Veronica Berglyd Olsen
fbe381638a Merge branch 'release' 2024-07-04 16:30:26 +02:00
Veronica Berglyd Olsen
6dcb44c391 Improve open project error message (#1956) 2024-07-04 16:24:16 +02:00
Veronica Berglyd Olsen
54c7c5a463 Add path info to open project error dialogs (#1944) 2024-07-04 16:19:04 +02:00
Veronica Berglyd Olsen
d5bcee14f5 Update translations for 2.5 (#1955) 2024-07-04 16:08:04 +02:00
Veronica Berglyd Olsen
0064b742d3 Update credits and reduce the number of links 2024-07-04 16:05:01 +02:00
Veronica Berglyd Olsen
9f88f3b79e Update translations for 2.5 and add Polish 2024-07-04 15:16:15 +02:00
Veronica Berglyd Olsen
b95d030032 Fix various minor issues (#1954) 2024-07-03 21:13:28 +02:00
Veronica Berglyd Olsen
f4f3f82954 Add a wait statement to check paintEvent in Preferences 2024-07-03 20:29:00 +02:00
Veronica Berglyd Olsen
5e8892ee7c Rewrite the tree view focus switch (#1949) 2024-07-03 19:39:29 +02:00
Veronica Berglyd Olsen
42b1e6a559 Only switch focus between editor and viewer when viewer is visible (#1950) 2024-07-03 18:38:32 +02:00
Veronica Berglyd Olsen
e1bcfcfc05 Convert Preferences dialog to save/cancel like Project Settings 2024-07-03 18:29:38 +02:00
Veronica Berglyd Olsen
069e35565f Refresh coloured labels when theme change (#1951) 2024-07-03 18:18:41 +02:00
Veronica Berglyd Olsen
880b560a39 Bump main branch to 2.6 alpha 0 2024-06-24 16:38:25 +02:00
Veronica Berglyd Olsen
8becc83c05 Update i18n source files (#1943) 2024-06-22 16:13:20 +02:00
Veronica Berglyd Olsen
b5ef62194d Update i18n files 2024-06-22 15:02:29 +02:00
Veronica Berglyd Olsen
a87c287fa6 Release 2.5 RC 1 (#1939) 2024-06-22 14:21:45 +02:00
Veronica Berglyd Olsen
18f5deee82 Change release date and extend changelog 2024-06-22 14:17:44 +02:00
Veronica Berglyd Olsen
53545a0015 Merge branch 'main' into release_2.5rc1 2024-06-21 00:41:03 +02:00
Veronica Berglyd Olsen
f662eaeccc Revert font setting in custom class (#1941) 2024-06-21 00:40:45 +02:00
Veronica Berglyd Olsen
1e6377abaa Revert font setting from SHARED instance in colour label, which caused some weird issues 2024-06-21 00:35:28 +02:00
Veronica Berglyd Olsen
516db26c05 Add latest change to the changelog 2024-06-21 00:33:22 +02:00
Veronica Berglyd Olsen
2df55cf6ee Merge branch 'main' into release_2.5rc1 2024-06-21 00:26:40 +02:00
Veronica Berglyd Olsen
251475197d Add focus widget hinting (#1940) 2024-06-21 00:26:20 +02:00
Veronica Berglyd Olsen
802069b4e5 Try adding deleteLater to i18n test 2024-06-21 00:21:45 +02:00
Veronica Berglyd Olsen
d07543926f Disable failing fast in Linux test matrix 2024-06-21 00:18:10 +02:00
Veronica Berglyd Olsen
5665efd9d7 Update docs and test coverage 2024-06-20 23:32:02 +02:00
Veronica Berglyd Olsen
ea7f3fe51c Add editor/viewer toggle feature 2024-06-19 20:42:23 +02:00
Veronica Berglyd Olsen
c6569b63e5 Add focus indication to editor and viewer header 2024-06-18 22:42:52 +02:00
Veronica Berglyd Olsen
930c60ae4a Add faded colour to theme 2024-06-18 22:42:19 +02:00
Veronica Berglyd Olsen
869cdd2fb0 Extend colour label widget to accept two colour states 2024-06-18 22:41:29 +02:00
Veronica Berglyd Olsen
f7d0adad1b Shuffle around private slots in main GUI 2024-06-18 22:39:33 +02:00
Veronica Berglyd Olsen
d25e2adfb6 Bump version to 2.5rc1 and update changelog 2024-06-18 08:39:28 +02:00
Veronica Berglyd Olsen
cb3a24bcd2 Rehighlight tags on note creation (#1938) 2024-06-16 21:22:44 +02:00
Veronica Berglyd Olsen
6540c56672 Remove no longer needed rehighlighting code 2024-06-16 21:19:42 +02:00
Veronica Berglyd Olsen
efc94a7fd5 Sort signals in main GUI 2024-06-16 21:18:41 +02:00
Veronica Berglyd Olsen
683e81c57b Connect rehighlight tags in editor to index signal on tags change (#1916) 2024-06-16 21:13:50 +02:00
Veronica Berglyd Olsen
f548927b74 Refactor custom widgets (#1937) 2024-06-16 17:37:36 +02:00
Veronica Berglyd Olsen
53522908c8 Improve test coverage 2024-06-16 17:29:29 +02:00
Veronica Berglyd Olsen
43cdc8420c Merge progress bars into single source file 2024-06-16 16:14:11 +02:00
Veronica Berglyd Olsen
45ad0f8c20 Update global search (#1936) 2024-06-16 16:12:51 +02:00
Veronica Berglyd Olsen
59c9783393 Remove commented out line 2024-06-16 16:03:35 +02:00
Veronica Berglyd Olsen
611a6bb80a Include the whole word when displaying search results 2024-06-16 15:58:30 +02:00
Veronica Berglyd Olsen
ee46fdb5b1 Refresh global search when toggling settings, if there is a search 2024-06-16 15:27:46 +02:00
Veronica Berglyd Olsen
7c33c949cb Merge the two methods in the shared class to save editor content 2024-06-16 15:23:22 +02:00
Veronica Berglyd Olsen
e9e7fae40e Support line height in build tool (#1935) 2024-06-16 15:10:39 +02:00
Veronica Berglyd Olsen
ac05b07f10 Add line height formatting to build preview (#1920) 2024-06-16 15:05:45 +02:00
Veronica Berglyd Olsen
aff027b735 Remember last used path for each tool individually (#1934) 2024-06-16 12:05:32 +02:00
Veronica Berglyd Olsen
14f1697428 Rename lastPath in build settings 2024-06-16 11:23:59 +02:00
Veronica Berglyd Olsen
a3381f1f79 Remove fallback parameter for lastPath and remove commented out code 2024-06-16 11:23:42 +02:00
Veronica Berglyd Olsen
1b7d331e41 Update more docstring 2024-06-16 00:55:33 +02:00
Veronica Berglyd Olsen
df34293e74 Update docstring 2024-06-16 00:54:48 +02:00
Veronica Berglyd Olsen
fe27acc3ef Add full test coverage 2024-06-16 00:49:24 +02:00
Veronica Berglyd Olsen
35632abea3 Update current tests 2024-06-16 00:37:21 +02:00
Veronica Berglyd Olsen
ea247c5814 Remember new project folder last used path (#1930) 2024-06-16 00:31:02 +02:00
Veronica Berglyd Olsen
928a116666 Update current usage of last path 2024-06-16 00:22:38 +02:00
Veronica Berglyd Olsen
2a99cafbf2 Add a class to store last used paths 2024-06-16 00:21:54 +02:00
Veronica Berglyd Olsen
2196486454 Update Windows packaging (#1932) 2024-06-14 22:53:16 +02:00
Veronica Berglyd Olsen
f99bd79ce8 Merge branch 'main' into win_installer 2024-06-14 21:37:08 +02:00
Veronica Berglyd Olsen
ddaced1b78 Update the Inno Setup installer script to change compression method and fix some warnings and issues 2024-06-14 16:09:52 +02:00
Veronica Berglyd Olsen
3e8845ab58 Ensure HTML tags are properly closed in output documents (#1926) 2024-06-13 15:56:23 +02:00
Veronica Berglyd Olsen
d5be1e0479 Update text formatting documentation 2024-06-13 15:55:45 +02:00
Veronica Berglyd Olsen
babc39c6a2 Add test coverage 2024-06-13 15:48:09 +02:00
Veronica Berglyd Olsen
5c35ebeffa Rewrite HTML tag insertion to check for correct open and close of tags (#1919) 2024-06-13 01:00:01 +02:00
Veronica Berglyd Olsen
5fbc608c90 Merge Release 2.4.4 into main 2024-06-12 21:40:37 +02:00
Veronica Berglyd Olsen
0c7808a24b Release 2.4.4 (#1924) 2024-06-12 21:19:24 +02:00
Veronica Berglyd Olsen
4aadbdaed2 Bump version to 2.4.4 and update changelog 2024-06-11 22:36:31 +02:00
Veronica Berglyd Olsen
195a7e354b Ensure editor content is saved before using it (#1923) 2024-06-11 22:12:03 +02:00
Veronica Berglyd Olsen
c03e832c7b Make sure editor document is saved before using first title to set item label (#1914) 2024-06-11 22:00:59 +02:00
Veronica Berglyd Olsen
73515c96d8 Add a method in the shared object to ensure document editor is saved 2024-06-11 21:59:58 +02:00
Veronica Berglyd Olsen
e7c0d59809 Allow more characters to be used in file names (#1922) 2024-06-11 21:45:08 +02:00
Veronica Berglyd Olsen
556caea308 Make the file name safe function less restrictive 2024-06-11 21:38:50 +02:00
Veronica Berglyd Olsen
6d54902a08 Fix multiple tools dialog issue (#1921) 2024-06-11 01:02:39 +02:00
Veronica Berglyd Olsen
fb32cea5b5 Update writing stats tests 2024-06-11 00:54:05 +02:00
Veronica Berglyd Olsen
69cd443999 Fix duplicate tool dialogs issue 2024-06-11 00:53:50 +02:00
Veronica Berglyd Olsen
cc61c5321e Extend dialogue highlighting (#1908) 2024-06-11 00:16:32 +02:00
Veronica Berglyd Olsen
7821f099bf Use consistent dialogue colours in preview, ODT and HTML 2024-06-11 00:11:44 +02:00
Veronica Berglyd Olsen
4b0ad6ec48 Add test coverage of ODT dialogue 2024-06-11 00:03:54 +02:00
Veronica Berglyd Olsen
416c580a45 Fix highlighting of multiple dialogue sections 2024-06-10 23:50:59 +02:00
Veronica Berglyd Olsen
0b3488c265 Add processing of dialogue highlight for ODT files 2024-06-10 23:12:54 +02:00
Veronica Berglyd Olsen
f0f5ae6dc9 Add support for dialogue highlighting in HTML output 2024-06-10 17:18:03 +02:00
Veronica Berglyd Olsen
f61ce3919b Add highlight option to build settings and preview 2024-06-10 17:01:40 +02:00
Veronica Berglyd Olsen
67c6497e2a Merge branch 'main' into dialogue_highlight 2024-06-10 13:48:40 +02:00
Veronica Berglyd Olsen
9bcb2479ac Refactor dialog closing (#1918) 2024-06-10 13:48:14 +02:00
Veronica Berglyd Olsen
8a9b038d56 Use the direct insert call 2024-06-10 13:44:47 +02:00
Veronica Berglyd Olsen
eed4721ef0 Make lipusm test more robust 2024-06-10 13:25:20 +02:00
Veronica Berglyd Olsen
b76c866c9d Fix typo in docstring 2024-06-10 01:10:59 +02:00
Veronica Berglyd Olsen
255a4a327e Update tests 2024-06-10 01:05:13 +02:00
Veronica Berglyd Olsen
811db81a86 Use the reject slot for dialogs since close is not actually a slot 2024-06-10 01:04:10 +02:00
Veronica Berglyd Olsen
29b61c07b0 Restore the keyPressEvent overload for Preferences 2024-06-10 01:03:20 +02:00
Veronica Berglyd Olsen
f8c1ee90ce Reimplement the reject slot for the parent dialog class 2024-06-10 01:02:48 +02:00
Veronica Berglyd Olsen
d9c86d56bb Merge branch 'main' into dialogue_highlight 2024-06-09 00:10:14 +02:00
Veronica Berglyd Olsen
cddf63f111 Improve memory handling and fix a few variables (#1913) 2024-06-09 00:08:52 +02:00
Veronica Berglyd Olsen
ca91e6a677 Improve meminfo debug formatting 2024-06-09 00:05:45 +02:00
Veronica Berglyd Olsen
a48fde95a3 Update tests 2024-06-08 23:35:29 +02:00
Veronica Berglyd Olsen
aed4ba4310 Rename the modifier apostrophe constants 2024-06-08 23:35:20 +02:00
Veronica Berglyd Olsen
57ee88059d Remove lambda slots in preferences dialog that blocked freeing memory 2024-06-08 23:34:31 +02:00
Veronica Berglyd Olsen
c8dccbe438 Fix typo in predefined type 2024-06-08 23:34:12 +02:00
Veronica Berglyd Olsen
8a071090e0 Merge branch 'main' into dialogue_highlight 2024-06-04 18:26:12 +02:00
Veronica Berglyd Olsen
cbf76e6575 Move project name first in window title (#1911) 2024-06-04 18:25:27 +02:00
Veronica Berglyd Olsen
83d2cb4f82 Swap project name and app name in window title (#1910) 2024-06-04 18:19:21 +02:00
Veronica Berglyd Olsen
497d4dd7f9 Add stubs file to dev requirements 2024-06-04 17:56:30 +02:00
Veronica Berglyd Olsen
d48f1fa292 Update QTextDocument test 2024-06-02 23:48:42 +02:00
Veronica Berglyd Olsen
7744ae5912 Fix footnote navigation in viewer 2024-06-02 23:36:28 +02:00
Veronica Berglyd Olsen
92b7168363 Add tests for patterns 2024-06-01 23:03:30 +02:00
Veronica Berglyd Olsen
8fc97c263b Try to fix 3.10 test seg fault 2024-06-01 18:18:21 +02:00
Veronica Berglyd Olsen
d190315909 Make a few improvements to regex and remove debug output 2024-06-01 14:16:05 +02:00
Veronica Berglyd Olsen
987740f7e9 Add dialogue highlighting to the viewer 2024-06-01 13:35:22 +02:00
Veronica Berglyd Olsen
2e143071d9 Add dialogue processing to the tokenizer 2024-06-01 13:34:59 +02:00
Veronica Berglyd Olsen
388141aae6 Move text regex patterns to a separate class 2024-06-01 13:06:46 +02:00
Veronica Berglyd Olsen
80811ebf44 Don't highlight dialogue in notes 2024-06-01 12:41:42 +02:00
Veronica Berglyd Olsen
208c4fb8ba Refresh StatusLEDs when theme changes (#1906) 2024-05-30 20:54:01 +02:00
Veronica Berglyd Olsen
38a5fddb9d Update tests 2024-05-30 20:49:55 +02:00
Veronica Berglyd Olsen
f844a5080a Update StatusLED to be theme refreshable and use trinary enum for values (#1893) 2024-05-30 20:49:46 +02:00
Veronica Berglyd Olsen
a11a013d16 Remove deleteLater calls from Manuscript tools (#1905) 2024-05-30 16:48:17 +02:00
Veronica Berglyd Olsen
f34cb567e4 Backport deleteLater fix for Manuscript tools from 2.5 release 2024-05-30 16:43:47 +02:00
Veronica Berglyd Olsen
6cb330b06c Update Portuguese translation (#1904) 2024-05-30 16:37:08 +02:00
Veronica Berglyd Olsen
04cf375725 Update translation sources, and completed Portuguese translation 2024-05-30 16:31:17 +02:00
Veronica Berglyd Olsen
b66686a869 Make some improvements to the viewer and test coverage (#1902) 2024-05-29 21:42:40 +02:00
Veronica Berglyd Olsen
31776a51a7 Add some more easy coverage 2024-05-29 21:37:02 +02:00
Veronica Berglyd Olsen
f1b7257e73 Improve test coverage 2024-05-29 21:27:05 +02:00
Veronica Berglyd Olsen
be7078aa7e Save editor doc before opening same in viewer (#1884) 2024-05-29 21:26:29 +02:00
Veronica Berglyd Olsen
931aed6d78 Update first line indentation (#1898) 2024-05-28 23:25:18 +02:00
Veronica Berglyd Olsen
dc6fe77612 Merge branch 'main' into feature/build_preview 2024-05-28 23:20:51 +02:00
Veronica Berglyd Olsen
b387150d4f Improve dialog memory handling (#1899) 2024-05-28 23:19:39 +02:00
Veronica Berglyd Olsen
9b09b13bf9 Improve Manuscript dialog progress bar position 2024-05-28 21:43:09 +02:00
Veronica Berglyd Olsen
d8693c7afa Remove deleteLater form message boxes, and some redundant ones in tests 2024-05-28 21:23:57 +02:00
Veronica Berglyd Olsen
019dd3e478 Change how dialogs are deleted 2024-05-28 21:16:40 +02:00
Veronica Berglyd Olsen
b01a2f5abd Simplify the About dialog 2024-05-28 21:15:32 +02:00
Veronica Berglyd Olsen
087a9cdd2e Update tests 2024-05-27 23:36:53 +02:00
Veronica Berglyd Olsen
b33bf954bb Convert split and merge dialogs into class method dialogs 2024-05-27 23:36:17 +02:00
Veronica Berglyd Olsen
f7cdc7da0c Add a dialog parent class that handles escape key presses 2024-05-27 22:53:30 +02:00
Veronica Berglyd Olsen
cf14f84652 Fix test coverage 2024-05-27 21:45:31 +02:00
Veronica Berglyd Olsen
6289840a74 Update tests 2024-05-27 21:08:28 +02:00
Veronica Berglyd Olsen
770cccda49 Add some comments and add text indent to HTML 2024-05-27 21:08:09 +02:00
Veronica Berglyd Olsen
aa02c0f15d Add first line indentation to previews 2024-05-27 00:27:08 +02:00
Veronica Berglyd Olsen
ee137b6ffd Parse text indentation in the tokenizer instead 2024-05-27 00:26:53 +02:00
Veronica Berglyd Olsen
206ca6040e Post-release fixes (#1897) 2024-05-26 18:23:29 +02:00
Veronica Berglyd Olsen
16f5670c83 Remove tilde from GitHub package name 2024-05-26 18:19:39 +02:00
Veronica Berglyd Olsen
0fc1af7180 Fix some typos in new section of Preferences 2024-05-26 18:05:11 +02:00
Veronica Berglyd Olsen
55714bbcad Release 2.5 Beta 1 (#1895) 2024-05-26 16:49:07 +02:00
Veronica Berglyd Olsen
6f144c20cd Bump to 2.5 beta 1 and update changelog 2024-05-26 16:42:49 +02:00
Veronica Berglyd Olsen
f23bd3818f Add a QTextDocument format class for previews (#1892) 2024-05-26 00:57:15 +02:00
Veronica Berglyd Olsen
d3ea763d6b Add test coverage of new ToQTextDocument class 2024-05-26 00:51:27 +02:00
Veronica Berglyd Olsen
91222f631f Update manuscript tests 2024-05-25 23:02:34 +02:00
Veronica Berglyd Olsen
aceb344856 Fix a potential segfault issue in main gui and add auto-build on open manuscript tool 2024-05-25 22:43:09 +02:00
Veronica Berglyd Olsen
f11ea8d07e Make various fixes and tweaks, and update tests 2024-05-24 21:39:16 +02:00
Veronica Berglyd Olsen
a4e3bf848b Clean up no longer needed code, and fix text justify setting 2024-05-24 20:38:34 +02:00
Veronica Berglyd Olsen
e74c1057a4 Remove HTML preview mode and manuscript cache 2024-05-24 20:12:13 +02:00
Veronica Berglyd Olsen
6cc046c65c Use preview document class for manuscript preview 2024-05-24 18:52:18 +02:00
Veronica Berglyd Olsen
c97a070e98 Fix module header info 2024-05-23 22:04:19 +02:00
Veronica Berglyd Olsen
b4c0bf3322 Complete all current document viewer features in the qdoc class 2024-05-23 21:29:47 +02:00
Veronica Berglyd Olsen
e998cb634e Add working meta data blocks 2024-05-23 20:48:42 +02:00
Veronica Berglyd Olsen
c8017a1f42 Add text paragraph formatting 2024-05-23 19:43:32 +02:00
Veronica Berglyd Olsen
6d84942746 Update qdocument class to work with merged code from main 2024-05-23 19:02:27 +02:00
Veronica Berglyd Olsen
818f145b62 Merge branch 'main' into feature/preview_generator 2024-05-23 18:50:38 +02:00
Veronica Berglyd Olsen
f92c22ce7e Fix build formatting and font handling (#1891) 2024-05-23 18:49:32 +02:00
Veronica Berglyd Olsen
69b362b9d2 Add native font dialog option and fix tests 2024-05-23 18:44:45 +02:00
Veronica Berglyd Olsen
1fe7ca3db8 Update font description and add native font dialog setting to config 2024-05-22 23:31:28 +02:00
Veronica Berglyd Olsen
cc32674b0f Update tests 2024-05-22 23:13:50 +02:00
Veronica Berglyd Olsen
cf16b57f66 Clean up font handling in HTML and ODT 2024-05-22 23:13:16 +02:00
Veronica Berglyd Olsen
411163f750 Update tests 2024-05-22 17:28:57 +02:00
Veronica Berglyd Olsen
7f3da655c0 Update ODT handling of font 2024-05-22 17:28:29 +02:00
Veronica Berglyd Olsen
76e786d961 Update HTML handling of font 2024-05-22 16:59:44 +02:00
Veronica Berglyd Olsen
7e1f1a725c Switch Tokenizer to use QFont instead of font family and size 2024-05-22 16:57:50 +02:00
Veronica Berglyd Olsen
c63a0c2f58 Add new font and quote button icons 2024-05-22 16:55:36 +02:00
Veronica Berglyd Olsen
04a7e092a9 Clean up Markdown build code 2024-05-22 16:55:05 +02:00
Veronica Berglyd Olsen
309065bcbf Add general keep line breaks setting to build 2024-05-22 09:14:34 +02:00
Veronica Berglyd Olsen
20ae3febef Merge branch 'main' into feature/preview_generator 2024-05-21 23:16:27 +02:00
Veronica Berglyd Olsen
e95d33031c Improve the text tokenizer (#1885) 2024-05-21 23:11:44 +02:00
Veronica Berglyd Olsen
3fd62d0b02 Remove context menu test from main menu tests 2024-05-21 23:06:25 +02:00
Veronica Berglyd Olsen
dc0ddcfa9f Move text blocks first also in stats counter as an optimisation 2024-05-21 22:59:02 +02:00
Veronica Berglyd Olsen
7a13b14c15 Drop empty tokens from the tokenizer data 2024-05-21 22:45:01 +02:00
Veronica Berglyd Olsen
adf0550571 Update tests 2024-05-21 22:32:20 +02:00
Veronica Berglyd Olsen
ba6259f08a Update converter classes to handle only single paragraphs 2024-05-21 22:32:07 +02:00
Veronica Berglyd Olsen
d8bb2ad3ae Merge lines of the same paragraph already in the tokenizer 2024-05-21 21:58:34 +02:00
Veronica Berglyd Olsen
afe4a29fd1 Strip consecutive empty paragraphs when tokenizing 2024-05-21 20:53:45 +02:00
Veronica Berglyd Olsen
1203dd639b Add a QTextDocument generator class 2024-05-21 18:12:08 +02:00
Veronica Berglyd Olsen
aadad6aa8c Define header sizes as constants 2024-05-21 18:02:01 +02:00
Veronica Berglyd Olsen
8ac0440bb3 Rename a few files 2024-05-21 16:33:53 +02:00
Veronica Berglyd Olsen
d2fca3b980 Allow full font style settings for GUI and editor (#1881) 2024-05-20 18:37:42 +02:00
Veronica Berglyd Olsen
d6b4019614 Clean up app construction in main entry point 2024-05-20 18:33:00 +02:00
Veronica Berglyd Olsen
a6eb951361 Add font initialisation, and update tests 2024-05-20 17:36:40 +02:00
Veronica Berglyd Olsen
dce5bdd31d Update tests 2024-05-20 17:14:03 +02:00
Veronica Berglyd Olsen
0b999bd726 Fix font handling in manuscript tool 2024-05-20 17:13:10 +02:00
Veronica Berglyd Olsen
774437f7bb Save all font info for text font 2024-05-20 16:32:10 +02:00
Veronica Berglyd Olsen
c0673b8128 Save all font info for GUI font 2024-05-20 16:12:27 +02:00
Veronica Berglyd Olsen
0bc8a63ccf Add error text colour setting to theme (#1880) 2024-05-20 13:36:37 +02:00
Veronica Berglyd Olsen
192f4507e3 Update documentation 2024-05-20 13:32:13 +02:00
Veronica Berglyd Olsen
2d22adcd2a Update the dictionaries tool to use the new error colour 2024-05-20 13:32:06 +02:00
Veronica Berglyd Olsen
4c4b92fdd4 Add error text colour to theme definition 2024-05-20 13:31:38 +02:00
Veronica Berglyd Olsen
2a727d1c39 Merge branch 'main' into fix/dict_tool_error_colour 2024-05-20 13:09:44 +02:00
Veronica Berglyd Olsen
35693f5433 Fix remaining merge conflict in sample project 2024-05-20 13:09:26 +02:00
Veronica Berglyd Olsen
bf459b4090 Add error text value in themes 2024-05-20 13:08:59 +02:00
Veronica Berglyd Olsen
728f1ce1e3 Merge release 2.4.3 into main 2024-05-20 13:07:14 +02:00
Veronica Berglyd Olsen
7b8021de02 Release 2.4.3 (#1878) 2024-05-20 12:32:32 +02:00
Veronica Berglyd Olsen
60593cde21 Bump version to 2.4.3 and update changelog 2024-05-20 12:29:03 +02:00
Veronica Berglyd Olsen
f9292d61da Fix how document font is set (#1877) 2024-05-20 12:16:41 +02:00
Veronica Berglyd Olsen
9388ce6a46 Fix support for 90% font 2024-05-20 12:00:19 +02:00
Veronica Berglyd Olsen
cb19475409 Add font init to viewer, and update manuscript tool preview 2024-05-20 11:36:30 +02:00
Veronica Berglyd Olsen
09b51badd4 Add an explicit font setting function for text editor that covers all font settings 2024-05-20 11:17:23 +02:00
Veronica Berglyd Olsen
fddd5fda47 Fix crash in dictionaries install tool (#1876) 2024-05-19 21:52:54 +02:00
Veronica Berglyd Olsen
5b0a6f05ed Fix enchant folder missing bug for dictionaries tool (#1874) 2024-05-19 21:47:53 +02:00
Veronica Berglyd Olsen
51f91a27e2 Merge release 2.4.2 into main 2024-05-18 15:57:49 +02:00
Veronica Berglyd Olsen
09018d1214 Release 2.4.2 (#1872) 2024-05-18 15:22:19 +02:00
Veronica Berglyd Olsen
de12b22c97 Bump version and update changelog 2024-05-18 15:19:30 +02:00
Veronica Berglyd Olsen
d1ae7f5fe2 Update Dutch and Chinese translations 2024-05-18 15:08:39 +02:00
Veronica Berglyd Olsen
201d32f6ae Merge branch 'release' 2024-05-14 09:37:59 +02:00
Veronica Berglyd Olsen
6a441b1c6b Fix syntax highlighter init (#1866) 2024-05-14 09:37:00 +02:00
Veronica Berglyd Olsen
0afa15f2db Call highlighter init on editor init (#1865) 2024-05-14 09:29:21 +02:00
Veronica Berglyd Olsen
85eb44da02 Bump main branch to 2.5 alpha 4 2024-05-13 18:48:38 +02:00
Veronica Berglyd Olsen
4856c7a61b Improve dialogue highlighting (#1864) 2024-05-13 18:41:13 +02:00
Veronica Berglyd Olsen
1b4cc933e7 Add test coverage 2024-05-13 18:31:31 +02:00
Veronica Berglyd Olsen
d64acb038b Allow multiple widgets in config form 2024-05-13 18:31:14 +02:00
Veronica Berglyd Olsen
b5def640ed Add alternative dialog style 2024-05-13 18:11:44 +02:00
Veronica Berglyd Olsen
7e35b4c675 Update syntax themes and add alternative dialog colour 2024-05-13 17:57:19 +02:00
Veronica Berglyd Olsen
e5e3066b3d Update preferences 2024-05-13 17:51:16 +02:00
Veronica Berglyd Olsen
e1af21bf88 Add new dialogue highlighting settings 2024-05-13 17:50:18 +02:00
Veronica Berglyd Olsen
8c9d08e46b Merge branch 'release' 2024-05-13 12:33:53 +02:00
Veronica Berglyd Olsen
e4acfb4831 Fix manuscript tool font issue (#1863) 2024-05-13 12:33:22 +02:00
Veronica Berglyd Olsen
a8101c2231 Fix text font for header on build tool 2024-05-13 12:29:18 +02:00
Veronica Berglyd Olsen
a3ce426613 Clean up code style (#1859) 2024-05-10 16:39:26 +02:00
Veronica Berglyd Olsen
161d02cd98 Use python -m to run pytest 2024-05-10 16:36:14 +02:00
Veronica Berglyd Olsen
101400bea3 Clean up some linting errors 2024-05-10 16:22:55 +02:00
Veronica Berglyd Olsen
1ff9fea378 Remove banner comments 2024-05-10 16:14:47 +02:00
Veronica Berglyd Olsen
3f4538a60e Remove all END Test comments 2024-05-10 16:06:23 +02:00
Veronica Berglyd Olsen
142d7c4f3a Remove all END Enum comments 2024-05-10 16:01:44 +02:00
Veronica Berglyd Olsen
2afe0ebbe9 Remove all END Class comments 2024-05-10 16:00:56 +02:00
Veronica Berglyd Olsen
bc71a62199 Improve first line indent (#1857) 2024-05-10 15:49:59 +02:00
Veronica Berglyd Olsen
1e85ce4a84 Update tests 2024-05-10 15:26:46 +02:00
Veronica Berglyd Olsen
39951a5099 Add more settings to first line indent and move to Format section 2024-05-10 15:14:09 +02:00
Veronica Berglyd Olsen
9cbb6f3125 Merge release 2.4.1 into main 2024-05-06 22:27:29 +02:00
Veronica Berglyd Olsen
2dbd3e2534 Release 2.4.1 (#1853) 2024-05-06 21:44:15 +02:00
Veronica Berglyd Olsen
f871a51e5b Bump version number to 2.4.1 and update changelog 2024-05-06 21:40:50 +02:00
Veronica Berglyd Olsen
6ab3c68ebb Update translation files for 2.4.1 (#1850) 2024-05-06 21:29:35 +02:00
Veronica Berglyd Olsen
7243ccd44c Update translation files 2024-05-04 21:00:51 +02:00
Veronica Berglyd Olsen
2a96fa1a2d Update the docs for 2.4.1 2024-05-04 20:54:56 +02:00
Veronica Berglyd Olsen
c05620dddb Refactor Main GUI inheritance (#1849) 2024-05-02 22:36:44 +02:00
Veronica Berglyd Olsen
917977ae13 Force document save when manually calling save document 2024-05-02 22:30:58 +02:00
Veronica Berglyd Olsen
2b8338f537 Clean up Main GUI inheritance 2024-05-02 22:13:35 +02:00
Veronica Berglyd Olsen
e75b5e012c Refactor how editor document is saved, and always save cursor position 2024-05-02 21:45:50 +02:00
Veronica Berglyd Olsen
78e194d8c1 Improve handling of tool dialogs on project close 2024-05-02 21:29:07 +02:00
Veronica Berglyd Olsen
c594e07c8c Merge branch 'release' 2024-05-02 21:16:42 +02:00
Veronica Berglyd Olsen
a3ed079828 Make sure dialogs close when project closes (#1848) 2024-05-02 21:08:46 +02:00
Veronica Berglyd Olsen
976ce16ac2 Update imports 2024-05-02 21:04:39 +02:00
Veronica Berglyd Olsen
5faeb12a74 Close non-modal dialogs when project closes 2024-05-02 21:02:23 +02:00
Veronica Berglyd Olsen
acc463eb76 Prune some unneeded translation strings 2024-05-02 19:38:13 +02:00
Veronica Berglyd Olsen
3b7459ffbc Add usability updates to the build tool (#1846) 2024-05-01 22:18:15 +02:00
Veronica Berglyd Olsen
cfb19a697a Restore build preview scroll bar after update (#1837) 2024-05-01 22:10:54 +02:00
Veronica Berglyd Olsen
ceec43db67 Make sure open document is saved before we update preview or build manuscript (#1835) 2024-05-01 22:09:43 +02:00
Veronica Berglyd Olsen
229fa39436 Fix build settings bug (#1845) 2024-05-01 20:33:22 +02:00
Veronica Berglyd Olsen
2496eb22cb Make sure build map is cleared when list is updated 2024-05-01 20:32:50 +02:00
Veronica Berglyd Olsen
d0a45bceca Make sure build map is cleared when list is updated 2024-05-01 20:30:32 +02:00
Veronica Berglyd Olsen
7180fae453 Improve dialog handling (#1844) 2024-05-01 20:24:31 +02:00
Veronica Berglyd Olsen
e1a1b5980e Make sure build settings are closed before deletion 2024-05-01 20:23:59 +02:00
Veronica Berglyd Olsen
53d410a6ee Make sure build settings are closed before deletion 2024-05-01 20:18:08 +02:00
Veronica Berglyd Olsen
a56b38694c Create subclasses for non-blocking dialogs 2024-05-01 20:08:35 +02:00
Veronica Berglyd Olsen
600b60b441 Remove main gui inheritance in manuscript tools 2024-05-01 19:43:51 +02:00
Veronica Berglyd Olsen
aa7208b602 Merge branch 'release' 2024-05-01 19:38:38 +02:00
Veronica Berglyd Olsen
0092b3ece6 Fix two minor issues (#1843) 2024-05-01 19:30:13 +02:00
Veronica Berglyd Olsen
d01c1e867d Pin MacOS tests to macos-13 image 2024-05-01 19:26:59 +02:00
Veronica Berglyd Olsen
dd3c8dfac8 Use GUI font for the header and footer in the editor and viewer (#1842) 2024-05-01 19:22:22 +02:00
Veronica Berglyd Olsen
7c9c5a9a76 Fix garbage collection blocker in build settings 2024-05-01 19:12:45 +02:00
Veronica Berglyd Olsen
8f9a55c5ca Add tools settings to pyproject 2024-05-01 19:12:27 +02:00
Veronica Berglyd Olsen
ea0b61aa6d Update assets credits 2024-04-29 22:48:25 +02:00
Veronica Berglyd Olsen
b94e7159b8 Add more themes (#1840) 2024-04-29 21:37:35 +02:00
Veronica Berglyd Olsen
2eabca8267 Fix theme test 2024-04-29 21:34:28 +02:00
Veronica Berglyd Olsen
afbe434b59 Add Snazzy Light syntax theme 2024-04-29 21:26:37 +02:00
Veronica Berglyd Olsen
2a50799873 Add dracula syntax and GUI theme 2024-04-29 21:08:25 +02:00
Veronica Berglyd Olsen
77727ad500 Update tango theme 2024-04-29 21:08:11 +02:00
Veronica Berglyd Olsen
e89f1fe5a8 Fix some minor issues on other themes 2024-04-29 21:07:58 +02:00
Veronica Berglyd Olsen
503e7eceb5 Make default syntax themes consistent 2024-04-29 21:07:10 +02:00
Veronica Berglyd Olsen
c15eba8f62 Bump main branch to 2.5 Alpha 3 2024-04-28 23:19:36 +02:00
Veronica Berglyd Olsen
e2f83d5106 Update syntax themes (#1836) 2024-04-28 23:10:32 +02:00
Veronica Berglyd Olsen
937b5cca12 Rename old value colour to tag and add new value colour to all syntax themes 2024-04-28 23:07:20 +02:00
Veronica Berglyd Olsen
1d438d5d76 Separate tags and value colours 2024-04-28 22:43:46 +02:00
Veronica Berglyd Olsen
22a34be21a Fix note colour in viewer and fix tests 2024-04-28 20:08:35 +02:00
Veronica Berglyd Olsen
17a492444e Redesign the default dark colour theme 2024-04-28 19:54:08 +02:00
Veronica Berglyd Olsen
9a714a903d Add a note colour to syntax themes 2024-04-28 19:53:58 +02:00
Veronica Berglyd Olsen
69a99fc97f Add a syntax colour for special notes 2024-04-28 19:53:09 +02:00
Veronica Berglyd Olsen
8beb74689c Add footnotes (#1832) 2024-04-28 19:40:38 +02:00
Veronica Berglyd Olsen
6be7da0305 Clean up a few minor bits in the index tests 2024-04-28 18:43:22 +02:00
Veronica Berglyd Olsen
8a08fe213c Fix more deprecation warnings in xml module 2024-04-28 18:29:15 +02:00
Veronica Berglyd Olsen
205b17aea0 Fix deprecation warning in xml module 2024-04-28 18:26:38 +02:00
Veronica Berglyd Olsen
864172ea50 Add an elide function for shortening text 2024-04-28 18:22:31 +02:00
Veronica Berglyd Olsen
e01e14075c Update editor and highlight, and update tests 2024-04-28 18:05:53 +02:00
Veronica Berglyd Olsen
e9596e1bbc Fix footnote formatting for ODT and update document builder tests 2024-04-27 19:05:13 +02:00
Veronica Berglyd Olsen
db9305c230 Add a footnote to the Lorem Ipsum test project 2024-04-27 16:50:37 +02:00
Veronica Berglyd Olsen
4572d101cf Change to run MacOS test on 13 2024-04-26 22:29:26 +02:00
Veronica Berglyd Olsen
41506911c1 Fix regex flag in highlighter 2024-04-26 22:25:58 +02:00
Veronica Berglyd Olsen
b722224863 Improve comment processing 2024-04-26 22:25:08 +02:00
Veronica Berglyd Olsen
b585b8ecd1 Make the footnote registry per-file 2024-04-26 20:12:57 +02:00
Veronica Berglyd Olsen
52e8ae9cb6 Merge branch 'main' into features/footnotes 2024-04-25 23:35:40 +02:00
Veronica Berglyd Olsen
6d6d0c2d12 Require minimum Python 3.9 (#1833) 2024-04-25 23:35:26 +02:00
Veronica Berglyd Olsen
383640cb7e Drop Python 3.8 support 2024-04-25 23:30:26 +02:00
Veronica Berglyd Olsen
e5ef27dfbf Revert change in test 2024-04-25 23:25:23 +02:00
Veronica Berglyd Olsen
96741fc08b Fix remaining broken tests 2024-04-25 22:58:00 +02:00
Veronica Berglyd Olsen
dc41f495be Fix ODT tests 2024-04-24 18:39:06 +02:00
Veronica Berglyd Olsen
b278d64d0c Fix uninitialised shared class in tests 2024-04-24 18:38:50 +02:00
Veronica Berglyd Olsen
b5e32844f5 Merge branch 'main' into features/footnotes 2024-04-24 18:09:26 +02:00
Veronica Berglyd Olsen
4179d2e515 Add isort and clean up flake8 (#1831) 2024-04-24 18:08:42 +02:00
Veronica Berglyd Olsen
815ba9d553 Update linting and formatting tools 2024-04-24 17:46:00 +02:00
Veronica Berglyd Olsen
0d294f49f9 Merge branch 'main' into features/footnotes 2024-04-21 23:34:56 +02:00
Veronica Berglyd Olsen
a195cfc792 Merge branch 'release' 2024-04-21 13:56:08 +02:00
Veronica Berglyd Olsen
d3c9168ebf Make MacOS build script executable 2024-04-21 13:17:55 +02:00
Veronica Berglyd Olsen
4d153b8d99 Backport ARM build for MacOS from 2.5 branch 2024-04-21 13:14:38 +02:00
Veronica Berglyd Olsen
bf8d224064 Update build scripts (#1829) 2024-04-21 12:59:42 +02:00
Veronica Berglyd Olsen
b7ad2c969a Fix test 2024-04-20 21:49:22 +02:00
Veronica Berglyd Olsen
d78643160c Update MacOS package names and fic another launch script bug 2024-04-20 21:43:31 +02:00
Veronica Berglyd Olsen
221b38c766 Fix escapes in MacOS launch script 2024-04-20 21:36:09 +02:00
Veronica Berglyd Olsen
e8bd9b21b5 Explicitly set python exec and ignore errors from run from source blocks in main 2024-04-20 21:31:04 +02:00
Veronica Berglyd Olsen
c2f0d04a35 Merge branch 'main' into builds/macos_m1 2024-04-20 21:04:09 +02:00
Veronica Berglyd Olsen
54ebcd91cb Fix wrong hex version 2024-04-20 20:13:06 +02:00
Veronica Berglyd Olsen
07411327b6 Add some debug output 2024-04-20 19:50:45 +02:00
Veronica Berglyd Olsen
094ad1a17b Require input arguments 2024-04-20 19:44:50 +02:00
Veronica Berglyd Olsen
c362848b86 Fix bash script bug 2024-04-20 19:41:33 +02:00
Veronica Berglyd Olsen
47a8dfbd93 Go back to macos-12 runner 2024-04-20 19:35:39 +02:00
Veronica Berglyd Olsen
73b8443d7b Let's try this one more time ... 2024-04-20 18:35:31 +02:00
Veronica Berglyd Olsen
48a7929254 Escape forwarding of arguments in MacoS build script 2024-04-20 18:28:57 +02:00
Veronica Berglyd Olsen
2c1abf1519 Change package name 2024-04-20 18:18:11 +02:00
Veronica Berglyd Olsen
e27e066ccc Drop support for deprecated Linux AppImage 2024-04-20 18:12:51 +02:00
Veronica Berglyd Olsen
621e933f63 Make some tweaks to build scripts 2024-04-20 18:02:10 +02:00
Veronica Berglyd Olsen
885974a84e Keep artifacts for 14 days 2024-04-20 17:41:36 +02:00
Veronica Berglyd Olsen
b1d1af2153 Add M1 build for MacOS 2024-04-20 17:41:10 +02:00
Veronica Berglyd Olsen
cb94be5b3c Post-release updates 2024-04-20 17:30:35 +02:00
Veronica Berglyd Olsen
5a202e96fd Post-release updates 2024-04-20 17:27:12 +02:00
Veronica Berglyd Olsen
b80edee225 Merge Release 2.4 into Main 2024-04-20 17:26:12 +02:00
Veronica Berglyd Olsen
48e653a546 Clean up footnote key generation 2024-04-18 18:23:25 +02:00
Veronica Berglyd Olsen
a2d8aefb21 Reduce footnote index storage to keys only 2024-04-18 18:07:17 +02:00
Veronica Berglyd Olsen
ae893be79b Merge branch 'main' into features/footnotes 2024-04-18 00:01:48 +02:00
Veronica Berglyd Olsen
791080107f Update readme 2024-04-17 00:23:41 +02:00
Veronica Berglyd Olsen
7d22ed1249 Update packaging (#1826) 2024-04-17 00:21:42 +02:00
Veronica Berglyd Olsen
8150edbc43 Clean up and refactor package script 2024-04-17 00:12:06 +02:00
Veronica Berglyd Olsen
5acbfeffa5 Reduce zip build job to Windows only 2024-04-17 00:00:28 +02:00
Veronica Berglyd Olsen
3b763e3460 Remove windows install scripts 2024-04-16 23:54:54 +02:00
Veronica Berglyd Olsen
6dd5f4295d Drop build support for Ubuntu 20.04 2024-04-16 23:46:10 +02:00
Veronica Berglyd Olsen
ac7b0bc9a2 Drop code for pre Qt 5.15 versions 2024-04-16 23:45:59 +02:00
Veronica Berglyd Olsen
1733938eb4 Bump Qt version requirement to 5.15 2024-04-16 23:40:48 +02:00
Veronica Berglyd Olsen
e5c9ed4b80 Fix build errors for old Ubuntu LTSes 2024-04-16 23:34:25 +02:00
Veronica Berglyd Olsen
f45170850c Fix Ubuntu builds for 20.04 and 22.04, and bump to 2.5 alpha 2 2024-04-16 23:25:30 +02:00
Veronica Berglyd Olsen
bdce0e12c7 Simplify footnote handling in writer classes 2024-04-16 21:54:31 +02:00
Veronica Berglyd Olsen
57f9a0a844 Refactor and improve highlighter class 2024-04-16 21:52:37 +02:00
Veronica Berglyd Olsen
988d969de7 Drop the non-compliant print-orientation attribute from the ODT class 2024-04-16 21:51:54 +02:00
Veronica Berglyd Olsen
17960d286f Add a working ODT footnotes implementation 2024-04-16 00:39:48 +02:00
Veronica Berglyd Olsen
26ac68e98e Block footnotes in footnotes, and only output referenced footnotes 2024-04-16 00:37:26 +02:00
Veronica Berglyd Olsen
0729dd798b Add formatted comments for ODT 2024-04-15 18:49:49 +02:00
Veronica Berglyd Olsen
c65dee1df9 Skip footnote section if there are none 2024-04-15 18:30:07 +02:00
Veronica Berglyd Olsen
92888338f4 Add footnotes to output translation file 2024-04-15 18:25:13 +02:00
Veronica Berglyd Olsen
44192c88f5 Add footnote handling in html and markdown output 2024-04-15 18:22:55 +02:00
Veronica Berglyd Olsen
8d24243d4f Complete footnotes processing in tokenizer 2024-04-15 18:22:29 +02:00
Veronica Berglyd Olsen
7c4d4dec5c Use format list also for marker keys 2024-04-15 01:11:32 +02:00
Veronica Berglyd Olsen
9823677983 Add text marker processing in tokenizer class 2024-04-15 00:42:01 +02:00
Veronica Berglyd Olsen
ec6a5712e5 Update tests 2024-04-14 23:59:57 +02:00
Veronica Berglyd Olsen
70033cb0f3 Add insert footnote feature in editor 2024-04-14 23:33:35 +02:00
Veronica Berglyd Olsen
da102d3d5a Merge branch 'main' into features/footnotes 2024-04-14 22:17:23 +02:00
Veronica Berglyd Olsen
5568b43b22 Add key generator to text index 2024-04-14 22:17:00 +02:00
Veronica Berglyd Olsen
5da30e6608 Update the status shape feature (#1819) 2024-04-13 19:26:32 +02:00
Veronica Berglyd Olsen
0fb0af5b32 Merge branch 'main' into updates/shapes 2024-04-13 19:22:05 +02:00
Veronica Berglyd Olsen
f5fcc57a06 Merge branch 'release' 2024-04-13 19:19:53 +02:00
Veronica Berglyd Olsen
4a1a3013f4 Add missing i18n wrapper to shape labels 2024-04-13 18:34:09 +02:00
Veronica Berglyd Olsen
cf57a3ead0 Update file format spec 2024-04-13 01:34:12 +02:00
Veronica Berglyd Olsen
39b2ff4a72 Bump main branch to version 2.5a1 (correctly this time) 2024-04-13 01:10:39 +02:00
Veronica Berglyd Olsen
eced026aeb Add shape setting to status and importance icons (#1810) 2024-04-13 01:07:43 +02:00
Veronica Berglyd Olsen
730d09a76c Merge branch 'main' into feature/status_shapes 2024-04-13 01:04:24 +02:00
Veronica Berglyd Olsen
b521b39498 Bump main branch to version 2.5a1 2024-04-13 01:03:58 +02:00
Veronica Berglyd Olsen
492bc044fc Make project setting lists behave the same way 2024-04-11 21:53:37 +02:00
Veronica Berglyd Olsen
84ff2f8371 Merge branch 'main' into feature/status_shapes 2024-04-11 21:46:48 +02:00
Veronica Berglyd Olsen
54f26ea06e Update test 2024-04-11 21:42:33 +02:00
Veronica Berglyd Olsen
e10f3a19d3 Add size policy types 2024-04-11 21:36:48 +02:00
Veronica Berglyd Olsen
21a5dbbb52 Redesign status item controls, and clean up auto-replace methods 2024-04-11 21:35:25 +02:00
Veronica Berglyd Olsen
f67d2c5a4c Add pre-calculation of status icons 2024-04-11 19:52:54 +02:00
Veronica Berglyd Olsen
6cf83bb381 Add more status icon shapes 2024-04-11 11:17:03 +02:00
Veronica Berglyd Olsen
f4decae77f Simplify status class counter reset 2024-04-10 23:44:43 +02:00
Veronica Berglyd Olsen
e47f0c5166 Update GUI test 2024-04-10 23:35:14 +02:00
Veronica Berglyd Olsen
778b65b48c Add shape selector to project settings 2024-04-10 23:24:00 +02:00
Veronica Berglyd Olsen
d1dbb0b378 Add test coverage of status class 2024-04-10 22:19:15 +02:00
Veronica Berglyd Olsen
adfd003532 Update core tests 2024-04-10 21:39:23 +02:00
Veronica Berglyd Olsen
f17302439e Simplify further how status labels are added and updated 2024-04-10 21:38:43 +02:00
Veronica Berglyd Olsen
63d2f5c57d Simplify the status class 2024-04-10 17:57:39 +02:00
Veronica Berglyd Olsen
478db63b30 Update tests 2024-04-10 01:09:11 +02:00
Veronica Berglyd Olsen
127588699e Switch status entries from dict to dataclass 2024-04-10 01:08:57 +02:00
Veronica Berglyd Olsen
29c10542b1 Merge branch 'main' into feature/status_shapes 2024-04-09 23:22:45 +02:00
Veronica Berglyd Olsen
5c9fd471a7 Update codecov token 2024-04-09 23:00:17 +02:00
Veronica Berglyd Olsen
dd15c93f51 Comment out debug print 2024-04-09 22:41:37 +02:00
Veronica Berglyd Olsen
4003ececb2 Update tests 2024-04-09 22:40:14 +02:00
Veronica Berglyd Olsen
ff3cae9db4 Add status icon shape to project XML 2024-04-09 22:39:46 +02:00
Veronica Berglyd Olsen
af44646a77 Add a shape generator to the status class 2024-04-09 21:42:59 +02:00
Veronica Berglyd Olsen
ba42285172 Remove summaries from text index 2024-04-08 00:56:36 +02:00
Veronica Berglyd Olsen
dff2d5996b Add new index classes to store special text comments 2024-04-07 23:56:40 +02:00
Veronica Berglyd Olsen
08b17daec9 Add parsing for terms in comments 2024-04-07 18:06:21 +02:00
325 changed files with 59066 additions and 36056 deletions

View File

@@ -1,5 +0,0 @@
[flake8]
ignore = E133,E221,E226,E228,E241,W503,ANN101,ANN102,ANN401
per-file-ignores=tests/*:ANN
max-line-length = 99
exclude = docs/*

View File

@@ -1,99 +0,0 @@
name: Build
on: workflow_dispatch
jobs:
buildAssets:
runs-on: ubuntu-latest
steps:
- name: Python Setup
uses: actions/setup-python@v5
with:
python-version: "3.11"
architecture: x64
- name: Install Packages (apt)
run: |
sudo apt update
sudo apt install qttools5-dev-tools latexmk texlive texlive-latex-extra
- name: Checkout Source
uses: actions/checkout@v4
- name: Install Packages (pip)
run: pip install -r docs/source/requirements.txt
- name: Build Assets
run: python pkgutils.py qtlrelease sample manual
- name: Upload Artifacts
uses: actions/upload-artifact@v4
with:
name: nw-assets
path: |
novelwriter/assets/sample.zip
novelwriter/assets/manual.pdf
novelwriter/assets/i18n/*.qm
if-no-files-found: error
retention-days: 1
buildLinux:
needs: buildAssets
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.11"]
linux-tag: ["manylinux_2_24_x86_64", "manylinux_2_28_x86_64"]
steps:
- name: Python Setup
uses: actions/setup-python@v5
with:
python-version: "3.11"
architecture: x64
- name: Install Packages (pip)
run: pip install python-appimage
- name: Checkout Source
uses: actions/checkout@v4
- name: Download Artifacts
uses: actions/download-artifact@v4
with:
name: nw-assets
path: novelwriter/assets
- name: Build AppImage
run: python pkgutils.py build-appimage --linux-tag ${{ matrix.linux-tag }} --python-version ${{ matrix.python-version }}
- name: Upload Artifacts
uses: actions/upload-artifact@v4
with:
name: AppImage-${{ matrix.python-version }}-${{ matrix.linux-tag }}
path: dist_appimage
if-no-files-found: error
retention-days: 1
buildMac:
needs: buildAssets
runs-on: macos-12
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Download Artifacts
uses: actions/download-artifact@v4
with:
name: nw-assets
path: novelwriter/assets
- name: Build App Bundle
run: ./setup/macos/build.sh
- name: Upload DMG
uses: actions/upload-artifact@v4
with:
name: MacOS-DMG
path: dist_macos
if-no-files-found: error
retention-days: 1

39
.github/workflows/build_assets.yml vendored Normal file
View File

@@ -0,0 +1,39 @@
name: BuildAssets
on: workflow_call
jobs:
buildAssets:
runs-on: ubuntu-latest
steps:
- name: Python Setup
uses: actions/setup-python@v5
with:
python-version: "3.12"
architecture: x64
- name: Install Packages (apt)
run: |
sudo apt update
sudo apt install qttools5-dev-tools latexmk texlive texlive-latex-extra
- name: Checkout Source
uses: actions/checkout@v4
- name: Install Packages (pip)
run: pip install -r docs/source/requirements.txt
- name: Build Assets
run: |
python pkgutils.py build-assets
- name: Upload Artifacts
uses: actions/upload-artifact@v4
with:
name: nw-assets
path: |
novelwriter/assets/manual.pdf
novelwriter/assets/sample.zip
novelwriter/assets/i18n/*.qm
if-no-files-found: error
retention-days: 14

46
.github/workflows/build_linux.yml vendored Normal file
View File

@@ -0,0 +1,46 @@
name: BuildLinux
on: workflow_dispatch
jobs:
buildAssets:
uses: ./.github/workflows/build_assets.yml
buildLinux-AppImage:
needs: buildAssets
runs-on: ubuntu-latest
env:
PYTHON_VERSION: "3.12"
LINUX_TAG: "manylinux_2_28_x86_64"
steps:
- name: Python Setup
uses: actions/setup-python@v5
with:
python-version: "3.11"
architecture: x64
- name: Install Packages (pip)
run: pip install python-appimage
- name: Checkout Source
uses: actions/checkout@v4
- name: Download Artifacts
uses: actions/download-artifact@v4
with:
name: nw-assets
path: novelwriter/assets
- name: Build AppImage
id: build
run: |
echo "BUILD_VERSION=$(python pkgutils.py version)" >> $GITHUB_OUTPUT
python pkgutils.py build-appimage --linux-tag $LINUX_TAG --python-version $PYTHON_VERSION
- name: Upload Artifacts
uses: actions/upload-artifact@v4
with:
name: novelWriter-${{ steps.build.outputs.BUILD_VERSION }}-Linux-AppImage
path: dist_appimage/*.AppImage*
if-no-files-found: error
retention-days: 14

69
.github/workflows/build_mac.yml vendored Normal file
View File

@@ -0,0 +1,69 @@
name: BuildMacOS
on: workflow_dispatch
jobs:
buildAssets:
uses: ./.github/workflows/build_assets.yml
buildMac-AMD64:
needs: buildAssets
runs-on: macos-latest
env:
PYTHON_VERSION: "3.12"
PACKAGE_ARCH: x86_64
MINICONDA_ARCH: x86_64
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Download Artifacts
uses: actions/download-artifact@v4
with:
name: nw-assets
path: novelwriter/assets
- name: Build App Bundle
id: build
run: |
echo "BUILD_VERSION=$(python pkgutils.py version)" >> $GITHUB_OUTPUT
./setup/macos/build.sh $PYTHON_VERSION $PACKAGE_ARCH $MINICONDA_ARCH
- name: Upload DMG
uses: actions/upload-artifact@v4
with:
name: novelWriter-${{ steps.build.outputs.BUILD_VERSION }}-MacOS-AMD64-DMG
path: dist_macos/*.dmg*
if-no-files-found: error
retention-days: 14
buildMac-M1:
needs: buildAssets
runs-on: macos-latest
env:
PYTHON_VERSION: "3.12"
PACKAGE_ARCH: aarch64
MINICONDA_ARCH: arm64
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Download Artifacts
uses: actions/download-artifact@v4
with:
name: nw-assets
path: novelwriter/assets
- name: Build App Bundle
id: build
run: |
echo "BUILD_VERSION=$(python pkgutils.py version)" >> $GITHUB_OUTPUT
./setup/macos/build.sh $PYTHON_VERSION $PACKAGE_ARCH $MINICONDA_ARCH
- name: Upload DMG
uses: actions/upload-artifact@v4
with:
name: novelWriter-${{ steps.build.outputs.BUILD_VERSION }}-MacOS-M1-DMG
path: dist_macos/*.dmg*
if-no-files-found: error
retention-days: 14

62
.github/workflows/build_win.yml vendored Normal file
View File

@@ -0,0 +1,62 @@
name: BuildWindows
on: workflow_dispatch
jobs:
buildAssets:
uses: ./.github/workflows/build_assets.yml
buildWin64:
needs: buildAssets
runs-on: windows-latest
steps:
- name: Python Setup
uses: actions/setup-python@v5
with:
python-version: "3.12"
architecture: x64
- name: Checkout Source
uses: actions/checkout@v4
- name: Download Artifacts
uses: actions/download-artifact@v4
with:
name: nw-assets
path: novelwriter/assets
- name: Build Setup Installer
id: build
run: |
echo "BUILD_VERSION=$(python pkgutils.py version)" >> $Env:GITHUB_OUTPUT
python pkgutils.py build-win-exe
- name: Upload Unsigned Artifacts
id: upload-unsigned-artifact
uses: actions/upload-artifact@v4
with:
name: novelWriter-${{ steps.build.outputs.BUILD_VERSION }}-Win-Setup
path: dist/*.exe
if-no-files-found: error
retention-days: 14
- name: Submit Signing Request
uses: signpath/github-action-submit-signing-request@v1
with:
api-token: "${{ secrets.SIGNPATH_API_TOKEN }}"
organization-id: "0471e52c-66fa-4e9a-bfb9-36167095ca3f"
project-slug: "novelWriter"
signing-policy-slug: "release-signing "
github-artifact-id: "${{ steps.upload-unsigned-artifact.outputs.artifact-id }}"
wait-for-completion: true
output-artifact-directory: "dist/"
parameters: |
version: "${{ steps.build.outputs.BUILD_VERSION }}"
- name: Upload Signed Artifacts
uses: actions/upload-artifact@v4
with:
name: novelWriter-${{ steps.build.outputs.BUILD_VERSION }}-Win-Setup-Signed
path: dist/*.exe
if-no-files-found: error
retention-days: 14

View File

@@ -14,7 +14,8 @@ jobs:
testLinux:
strategy:
matrix:
python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"]
python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"]
fail-fast: false
runs-on: ubuntu-latest
steps:
- name: Python Setup
@@ -32,12 +33,14 @@ jobs:
run: |
pip install -U -r requirements.txt -r tests/requirements.txt
- name: Run Build Commands
run: python pkgutils.py qtlrelease sample
run: |
python pkgutils.py qtlrelease
python pkgutils.py sample
- name: Run Tests
run: |
export QT_QPA_PLATFORM=offscreen
pytest -v --cov=novelwriter --timeout=60
python -m pytest -v --cov=novelwriter --timeout=60
- name: Upload to Codecov
uses: codecov/codecov-action@v4
uses: codecov/codecov-action@v5
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}

View File

@@ -12,7 +12,7 @@ on:
jobs:
testMac:
runs-on: macos-latest
runs-on: macos-13
steps:
- name: Python Setup
uses: actions/setup-python@v5
@@ -30,8 +30,8 @@ jobs:
- name: Run Tests
run: |
export QT_QPA_PLATFORM=offscreen
pytest -v --cov=novelwriter --timeout=60
python -m pytest -v --cov=novelwriter --timeout=60
- name: Upload to Codecov
uses: codecov/codecov-action@v4
uses: codecov/codecov-action@v5
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}

View File

@@ -26,8 +26,8 @@ jobs:
pip install -U -r requirements.txt -r tests/requirements.txt
- name: Run Tests
run: |
pytest -v --cov=novelwriter --timeout=60
python -m pytest -v --cov=novelwriter --timeout=60
- name: Upload to Codecov
uses: codecov/codecov-action@v4
uses: codecov/codecov-action@v5
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}

View File

@@ -1,5 +1,635 @@
# novelWriter Changelog
## Version 2.6 [2025-01-26]
### Release Notes
The 2.6 release fixes a few minor issues from the RC 1 pre-release, and updates most translations.
See the website for complete [Release Notes](https://novelwriter.io/releases/release_2_6.html).
### Detailed Changelog
**Bugfixes**
* Fixed a bug in the novel selector dropdown used a few places that would clear the selection if
the novel list was refreshed. PR #2179.
* Fixed a bug that would crash the app if the project tree was clicked without any project having
been loaded. The selection model does not exist prior to a project load. Issue #2173. PR #2181.
* Replaced a broken link on the dictionary install tool available on Windows. PR #2189.
* Backported a few code fixes from 2.7 related to freeing memory from closed dialogs and one
instance of a potentially uninitialised variable. PR #2202.
* Fixed word wrapping in the item details panel for status and importance labels with very long
names. PR #2202.
* Fixed the project tree context menu so that it is not opened when right-clicking on an empty area
of the tree widget. PR #2202.
**Improvements**
* Chapter headings are now level 1 headings in all manuscript output formats, not just HTML like
before. Most applications that post-processes output will assume chapters are level 1.
Correspondingly, scenes are now level 2 and sections are level 3. Notes headings remain
unchanged. Issue #2205. PR #2206.
**Internationalisation**
* German, US English, Italian, Japanese, Norwegian and Polish have been updated in full. Brazilian
Portuguese and Chinese have been partially updated. PR #2207.
**Documentation**
* Documentation has been updated with 2.6 features. PR #2210.
----
## Version 2.6 RC 1 [2025-01-09]
### Release Notes
This is a release candidate of the next release version, and is intended for testing purposes.
Please be careful when using this version on live writing projects, and make sure you take frequent
backups.
### Detailed Changelog
**New Features**
* The session timer in the status bar can now be hidden by clicking on it. Issue #1029. PR #2149.
* Status and importance labels can now be exported and imported. Issue #1847. PRs #2152 and #2153.
**Bugfixes**
* Fix a beta release bug where it was not possible to change the status or importance flag on
folders in the project tree. Issue #2145. PR #2147.
* Fix an issue where the word counter would override the selection counter in the editor. This was
caused by the selection counter being on a much shorter timer than the word counter, so in some
cases the latter result came in after the former even if the user actions where the other way
around. The selection counter now takes precedence, always. Issue #2155. PRs #2156 and #2157.
* Fix a minor issue where the search panel header background would not update colour when the theme
was changed. Issue #2162. PR #2167.
**Improvements**
* It is no longer necessary to click the "Apply" button when making changes to status and
importance labels, or auto-replace settings, in Project Settings. The changes are applied
directly to the listed items. They are not applied to the project until the Project Settings are
accepted. This is a more intuitive approach. Issue #2150. PR #2151.
**Packaging and Installation**
* MacOS packages are now built on the latest MacOS image available on GitHub. The x86_64 build was
previously locked to MacOS 12, which is no loner available. PR #2141.
----
## Version 2.6 Beta 2 [2024-12-23]
### Release Notes
This is a beta release of the next release version, and is intended for testing purposes. Please be
careful when using this version on live writing projects, and make sure you take frequent backups.
### Detailed Changelog
**New Features**
* The project tree has been completely rewritten under the hood. The main difference in the GUI is
a lifting of restrictions on drag and drop. You can now select multiple items in multiple places
in the tree, and drag them to a new location. It is still not allowed to drag root level items,
or drop items on the root level. PR #2119.
* You can now drag and drop items from the project tree onto the editor and viewer to load the
documents there. PR #2119.
**Bugfixes**
* Make line height in DocX scale correctly. Issue #2099. PR #2102.
* Make margins scale with font size in ODT and HTML output. PR #2102.
* Fix DocX page count to work with Office 365. PR #2102.
* Fix font scaling issues for PDF output. Issue #2100. PR #2104.
* Fix an issue that cleared the editor when the return key was used on a folder item. PR #2113.
* Fix an issue where the viewer and preview would not reset text emphasis when selecting a default
font style with emphasis features. Issue #2121. PR #2122.
* Change how custom fonts are loaded to ensure that the Qt framework don't take shortcuts by using
a similar font instead of the chosen font. This is a side effect of the Qt font matching feature.
Issue #2118. PR #2122.
**Improvements**
* Move processing of alternative apostrophe and dash to a later point in the tokenization process.
It needs to happen after dialogue is processed to work as intended. PR #2095.
* Use icons for text margin settings in Build Settings. Issue #2098. PR #2102.
* Replace the toolbar icon in the editor. PR #2103.
* Turn off auto-default button on the Build dialog. Issue #2101. PR #2105.
* Add ANSI colours to log output for easier debugging. PRs #2114 and #2117.
* Document header is now aligned to the bottom of the top page margin in the same way for ODT and
DocX output. Issue #2120. PR #2128.
* Dialogue detection for quoted dialogue has been improved to better support Chinese, and other
languages that don't use whitespaces to separate words. Some improvements have also been made to
how single quoted dialogues are processed when apostrophes are present. Issue #2131. PR #2138.
**Code Improvements**
* Completely rewrite the project tree into a model/view set with one single definition if the
project structure. PR #2109.
* The auto-replace feature in the editor has been refactored. It is now better separated from the
editor code, and may have some minor performance improvements. Issue #2129. PR #2132.
----
## Version 2.6 Beta 1 [2024-11-12]
### Release Notes
This is a beta release of the next release version, and is intended for testing purposes. Please be
careful when using this version on live writing projects, and make sure you take frequent backups.
### Detailed Changelog
**New Features**
* Added PDF build format. Issue #2046. PR #2048.
* Added DocX (MS Word) format. Issue #1537. PR #2056.
* The Build settings tool has the following changes: Ability to control page break and centring of
main titles, an option to disable styling for headings altogether, and the ODT section has been
generalised to apply to all document formats. Issue #2023. PR #2045.
* Text and heading margin can now be control in the Manuscript Build tool. Issue #2023. PR #2051.
* Word counts and other such statistics can now be inserted into the manuscript. This is done
through new insert actions in the Insert menu, and processed at build time. Issue #2024.
PR #2073.
* Forced line breaks can now be inserted as a shortcode. This is useful when line breaks in
paragraphs are ignored when building the manuscript. Issue #1991. PR #2063.
* A new `@mentions` keyword has been added that can list any tag in the project as being mentioned
in the current section. These are listed separately from tags present in the story section.
Issue #1822. PR #2064.
* Tags in novel documents can now be referenced with the `@story` keyword. Issue #1990. PR #2072.
* URLs starting with http/https are now recognised and clickable in the editor, viewer, and
manuscript preview. Issue #1426. PR #2067.
* Added dialogue highlighting for Portuguese and Polish dialogue styles. Issues #2066 and #2070.
Related to #1773. PRs #2068, #2079, #2081 and #2082.
* Four dashes in the editor are now replaced by a horizontal bar. This is useful as a replacement
symbol for em dash when using dialogue highlighting to avoid triggering it. The horizontal bar is
replaced with an em dash in the manuscript. Issue #2070. PR #2079.
* Manuscript Build settings can now be duplicated. Issue #1931. PR #2084.
* Page breaks can optionally be made visible in the Manuscript preview. PR #2086.
* The document status label can now be selected in the Outline View. Issue #1909. PR #2088.
* The document viewer now has an edit button to open the document in the editor. Issue #1963.
PR #2089.
**User Interface**
* The Manuscript Build settings have now been moved into a single scrollable page, using the same
layout as in Preferences. The heading and filtering pages are still separate forms, as they are
of a more complex nature. PR #2031.
* The currently open document in the editor is now highlighted in the project tree, just like it is
in the novel view. Issue #1981. PR #2077.
* The details panel in the Outline view is now resizable. PR #2078.
**Improvements**
* Add an option to ignore a word in the spell checker. An ignored word is ignored only for the
current writing session. PR #2030.
* Word counts and other such statistics is now exported as custom variables to ODT files, and can
be inserted in the text in LibreOffice, and similar. Issue #2033. PR #2035.
**Code Improvements**
* Added Python 3.13 coverage to ensure the new Python release is supported. Issue #2040. PR #2044.
* Preparation for Qt6: Clean up Qt enums. PR #2025.
* Preparation for Qt6: Replace Qt regular expression tools with the internal Python re module for
markup processing and syntax highlighting. It is both slightly faster, and there are issues with
text encoding in at least some versions of Qt6 or PyQt6. PRs #2028 and #2043.
* Preparation for Qt6: Added a wrapper function for connecting signals to slots that has a
different function signature. Python lambdas generate warnings inn Qt6. PR #2075.
* Refactored manuscript formats and moved most of the processing to the Tokenizer class to simplify
the format classes and also make them more consistent. PRs #2060, #2061 and #2062.
* The document builder has been refactored to support more generalised format classes. PR #2047.
* Action parent assignment has been rafactored in the main menu. #2075.
* Raw text format output has been refactored and reduced to just appending documents. PR #2087.
----
## Version 2.5.3 [2024-11-26]
### Release Notes
This is a patch release that fixes a few minor bugs in the user interface, and with the HTML
manuscript format. This patch also adds a Russian translation, and updated the German and
Portuguese translations.
### Detailed Changelog
**Bugfixes**
* Fixed the red/green LEDs on the statusbar for the Default Light theme. The colours were swapped.
Issue #2057. PR #2059.
* Moved the styles tag into the head tag for HTML manuscript output, which is the correct placement
for them. Issue #2080. PR #2085.
* Fixed a bug in the project tree where it was possible to drag content to root level on some Qt
versions where the disallow flag is not obeyed. The illegal action is now additionally blocked by
code. Issue #2108. PR #2109.
**Documentation**
* Updated a dead link to the spell check library with the new one. Issue #2042. PR #2059.
**Internationalisation**
* Russian translation added by Konstantin Tan (@k1kimosha). PR #2126
* Updated German and Portuguese translations. PR #2126
----
## Version 2.5.2 [2024-09-17]
### Release Notes
This is a patch release that fixes a series of issues mostly affecting dialogue highlighting in the
document viewer. The way the text is formatted in the viewer changed a lot in 2.5, and there were a
few issues with the new implementation. The tab stop distance setting was also ignored, but has now
been fixed as well.
### Detailed Changelog
**Bugfixes**
* Fixed an issue where the tab stop distance setting was being ignored in the document viewer. It
must be set again every time a document is loaded. Issue #1996. PR #2014.
* Fixed an issue with overlapping formatting markers when processing text into new formats. This
issues was introduced when dialogue highlighting was added to the document viewer and manuscript
build. It arises because start and end of dialogue can occur on the same character as other
formatting, and then the order these markers are processed matters. This was not properly handled
in the code. Issue #2012. PR #2014.
* Dialogue highlighting is now only applied to plain text paragraphs, not comments, headings, and
other places where there should be no dialogue. Issue #2013. PR #2014.
* Note documents no longer get dialogue highlighting. Issue #2011. PR #2014.
**Documentation**
* Added a section about spell checking in the documentation. PR #2015.
----
## Version 2.5.1 [2024-07-28]
### Release Notes
This is a patch release that fixes an issue with the lock file being left in the project when the
project open is cancelled, a few issues with custom input boxes in Preferences, and a usability
issue when selecting to edit a tag or reference from the Tags and References panel as well as fixed
an issue with the Importance labels not being updated in the tabs for tags.
### Detailed Changelog
**Bugfixes**
* Fixes an issue where the project lock file was created before certain checks where the user could
cancel the project open process, leaving a lock file in the project folder behind. Issue #1977.
PR #1978.
* Fixes an issue where the user could add spaces to the pad before and after Preference settings,
which would pad every space entered into the text. The Preferences settings no longer accept any
white spaces in these boxes (they are removed on save) and also strips duplicate character
entries. Issue #1985. PR #1986.
* The narrator break and dialog symbol Preference text boxes will now be cleared if the settings is
a white space. PR #1986.
* Fixed an issue where Importance labels were not updated in the viewer panel's tags tabs when they
where changed in Project Settings. Issue #1992. PR #1993.
**Usability**
* When selecting to edit a tag or reference from the panel below the Document Viewer, the editor
now scrolls to the relevant heading as it does in the viewer. Issue #1983. PR #1987.
**Internationalisation**
* Latin American Spanish translation updated by Tommy Marplatt (@tmarplatt). PR #1989.
----
## Version 2.5 [2024-07-10]
### Release Notes
The 2.5 release fixes a number of minor issues from the RC 1 pre-release, and updates most
translation files. Polish has also been added.
See the website for complete [Release Notes](https://novelwriter.io/releases/release_2_5.html).
### Detailed Changelog
**Bugfixes**
* Fix an issue with unresponsiveness when switching from Outline View to Tree View with a keyboard
shortcut. Issue #1949. PR #1954.
* Fix an issue with switching focus between editor and viewer when the viewer is hidden.
Issue #1950. PR #1954.
* Fix an issue with first line indentation where it would sometimes indent first paragraph when it
should not. Issue #1965. PR #1971.
**Usability**
* Remove the "Apply" button from Preferences as changing theme does not updated the Preferences
dialog, which is unexpected behaviour. The Preferences dialog is now also consistent with other
settings dialogs. Issue #1951. PR #1954.
* Improved the error messages when opening a project fails. Issue #1944. PR #1956.
* Make sure the Project Name is selected and in focus when switching to the New Project Form on the
Welcome dialog. Issue #1967. PR #1968.
**Improvements**
* Add first line indentation to Manuscript previews. Issue #1961. PR #1962.
**Internationalisation**
* Norwegian and US English translations updated by @vkbo. PR #1955.
* German translation updated by Myian (@HeyMyian). PR #1955.
* Italian translation updated by Lou Cyper (loucyper1). PR #1955.
* Dutch translation updated by Martijn van der Kleijn (mvdkleijn). PR #1955.
* Chinese translation updated by @longqzh. PR #1955.
* Portuguese translation updated by Oli Maia. PR #1955.
* Japanese translation updated by @hebekeg. PR #1955.
* French translation updated by Albert Aribaud (@aaribaud). PR #1955.
* Polish translation added by Anna Maria Polak (@Nauthiz). PR #1955.
**Packaging**
* Rewrote the packaging utilities script. Windows builds are now created in GitHub actions, which
is needed for signed packages when this is enabled. PRs #1958 and #1959.
**Documentation**
* Updated the documentation for 2.5. PR #1928.
----
## Version 2.5 RC 1 [2024-06-22]
### Release Notes
This is a release candidate of the next release version, and is intended for testing purposes.
Please be careful when using this version on live writing projects, and make sure you take frequent
backups.
### Detailed Changelog
**Bugfixes**
* The Status bar LEDs are now properly updated when the theme changes. Issue #1893. PR #1906.
* All HTML tags are now properly closed at the end of each paragraph in HTML output. After
shortcodes were introduced, it was possible to leave formatting tags open. Issue #1919. PR #1926.
**Improvements**
* Move the first line indent setting from being an Open Document feature to a general build
settings feature that also applies to HTML, and make it visible in the Manuscript build tool
preview. Issue #1839 and #1858. PR #1898.
* Make sure the document in the editor is saved before the same document is opened in the viewer.
Issue #1884. PR #1902.
* The project name now appears before "novelWriter" in the main window title, which improves the
task bar label on at least Linux Mint Cinnamon, and Windows. Issue #1910. PR #1911.
* Dialogue highlighting now only applies to novel documents, not notes. It is also possible to
apply it to HTML and ODT manuscripts, and it also shows up in the preview and in the document
viewer. Issue #1774. PR #1908.
* The Welcome dialog and other tools that use the project name to generate files of folder names
are now less restrictive on what characters it allows in the file or folder names. Issue #1917.
PR #1922.
* Last used folder paths are now remembered individually for each tool or feature that requires
path input from the user. Issues #1930 and #1933. PR #1934.
* The Manuscript preview will now show line height as set in build settings. Issue #1920. PR #1935.
* Global search now refreshes if any of the search option buttons are toggled, and the search
result will show the complete word if the search term only matches part of a word. Issue #1830.
PR #1936.
* When a new note is created from a reference tag in the editor, the syntax highlighting is
properly updated to indicate the tag is now valid. Issue #1916. PR #1938.
* The `Ctrl+E` shortcut now toggles focus between editor and viewer instead of just going to the
editor. The header text colour changes to indicate which panel has focus. This should make it
easier to scroll the content of the viewer without having to click it with the mouse first.
Issue #1387. PRs #1940 and #1941.
**Code Improvements**
* Change how dialogs are handled in memory, and drop the calls to deleteLater for the underlying Qt
object as it caused problems in some cases. Instead, the dialog is disconnected from the parent
object, which seems to let the Python and Qt garbage collectors to kick in.
PRs #1899. #1913 and #1921.
* Overload the reject call for dialogs rather to call close, which the default implementation does
not. This simplifies the logic when closing dialogs, as reject() is also a slot, which close() is
not. Issue #1915. PR #1918.
* Processing of dialogue highlighting has been added to the Tokenizer class, and the RegEx handling
moved to a separate factory class. PR #1908.
* The progress bar widgets have been moved to a single module, and test coverage added. PR #1937.
**Packaging**
* The Windows installer is now built with Inno Setup 6.3, and uses zip compression rather than
lzma. It also properly sets the undelete icon, and the undelete process is better at cleaning up
files. PR #1932.
----
## Version 2.5 Beta 1 [2024-05-26]
### Release Notes
This is a beta release of the next release version, and is intended for testing purposes. Please be
careful when using this version on live writing projects, and make sure you take frequent backups.
### Detailed Changelog
**General Changes**
* novelWriter now requires Python 3.9 and Qt 5.15 as a minimum. That means Ubuntu 20.04 and older
are no longer supported for the Debian packages. Users on Ubuntu 20.04 and equivalent Linux
distros must use the AppImage. PRs #1826 and #1833.
**Major Features**
* Status and Importance icons can now be assigned a shape in addition to a colour. Issue #1786.
PRs #1810 and #1819.
* Footnotes have been added. They use a modified comment format for specifying the footnote text,
and a shortcode for inserting the footnote into the text. They are linked via a key. If the
footnote is inserted via the **Insert** menu, a unique key is generated. Issue #342. PR #1832.
* Comments in general now support formatting, so format tags work just like in regular text. This
was needed for footnotes, but has been expanded to include all comments. PR #1832.
* Two new themes have been added. Dracula is available as a set for both the GUI and the editor.
Snazzy Light is available for syntax only, but works well with the default light GUI theme.
PR #1840.
* Character dialogue highlighting has been completely redesigned. The highlighting rule now
specifically relates to dialogue, and not just quoted text in general. To that effect, more rules
for detecting what is and isn't dialogue has been added. This is designed to support difference
between dialogue conventions in different languages. Issues #1770 and #1771. PR #1864.
* The font settings in Preferences now considers the full range of font options, in particular font
style and weight. The changes include the font size in these settings, so the additional setting
for font size has been removed. Use the font dialog to pick size as well. Due to this removal,
the font size has been reset to default and must be set again by the user. Issue #1733. PR #1881.
* The document viewer and the manuscript preview now uses a completely new class to generate the
formatted text. The old method used an outdated HTML format as the go-between, which restricted
what formatting could be applied. The main noticeable change to users at the moment should be the
size of headings, that now match the size in the editor. Issue #1882. PR #1892.
**Improvements**
* The default dark theme has been redesigned to match the GUI theme a little better, and is now
also consistent with the default light themes. PRs #1836 and #1840.
* Special comments now have a different text colour than plain comments. PR #1836.
* The various Tomorrow themes are now a little more consistent in what colours are used for which
components. More variation has also been added. PR #1840.
* The Tango theme has been updated. PR #1840.
* The last cursor position is now always saved when a document is closed in the editor, even if the
content has not been changed. PR #1849.
* The settings for first line indent have now been extended to allow setting how deep the indents
are and whether or not to indent the first paragraph after a heading or break. The settings have
also moved from being Open Document specific to the general formatting tab for manuscripts.
PR #1857.
* Preserving in-paragraph line breaks is now a general Manuscript setting that applies to all
output formats. PR #1891.
* The Manuscript builds now also uses the full font settings of the selected output font, not just
the font family and size option. Since the size option has been merged into the general font
choice, the separate font size setting has been dropped and users must set it again. PR #1891.
* It is now possible to disable the usage of the font selection dialog from your operating system.
At least on Linux Gnome desktops, the system's font dialog lacks a lot of the selection options
available in the font dialog provided with Qt. PR #1891.
**Bugfixes**
* Fixed an issue where Manuscript dialogs would be left open if the project was closed. PR #1844.
* First line indents are no longer reset after a comment. Issue #1852. PR #1857.
**Packaging**
* Minimal zip file release packages can no longer be built from the package utility script. The zip
file needed for building the Windows installer is still available. PR #1826.
* Added build packages for AARCH64 on MacOS. It seems some dependencies still prevents it from
being installed cleanly without requiring some virtualisation feature, but it works. PR #1829.
* AppImages are now released with Python 3.12. PR #1829.
**Other Changes**
* A new GUI theme setting for error text has been added. It is used when error messages need to be
displayed on the GUI. PR #1880.
**Code Improvements**
* The behaviour of dialogs across various platforms has been unified and improved a little to
ensure more consistent behaviour. It is mostly related to modality and z-order. There are still
limitations due to platform restrictions, like non-modal dialogs being stuck on top on Linux
Wayland. PR #1844.
* Some GUI components have been improved and refactored to rely more on signals and slots rather
than reaching into each other's classes and calling methods. This is a little more robust.
PR #1849.
* The text tokenizer used to parse the formatting codes in novelWriter has been refactored and
improved. In particular, multi-line paragraphs are now processed during the second pass of
tokenization rather than when the final format is applied. This allows a much more compact format
of the token data, and avoid potential inconsistencies between the various output formats.
PR #1885.
----
## Version 2.4.4 [2024-06-12]
### Release Notes
This is a patch release that fixes a usage issue when setting document label from an unsaved
document, fixes a rare chance of a crash when closing the Manuscript tool, and updates the
Portuguese translation.
### Detailed Changelog
**Bugfixes**
* Backported some memory improvements from the upcoming 2.5 release. This also fixes a potential,
but low probability crash in the Manuscript tool. If the tool is closed during the milliseconds
long window when the clock on the yellow label is updated, the app can crash with a segmentation
fault. PRs #1903 and #1905.
* Fixed an issue where changing a document's label to match the document heading would suggest the
wrong title if the document was open in the editor, but in an unsaved state. An easy condition to
encounter when creating a new document and setting the heading first. Issue #1914. PR #1923.
**Internationalisation**
* Portuguese translation updated by Oli Maia. PR #1904.
----
## Version 2.4.3 [2024-05-20]
### Release Notes
This is a patch release that fixes issues with the document font in the editor, viewer and
manuscript preview on some Linux distros, and also fixes a potential crash on Windows when using
the spell check dictionary install tool.
### Detailed Changelog
**Bugfixes**
* Fixed a crash in the dictionaries install tool on Windows if the config folder reported by the
third party Enchant spell checker tool didn't already exist prior to adding new dictionaries.
The folder is now created when the tool is opened if it doesn't exist. Issue #1874. PR #1876.
* Fixed issues when setting a different text font for the editor and viewer, and related issues
with the preview in the Manuscript Build tool, on certain platforms. Changing the font and
setting non-standard font sizes produced unexpected results when reloading. The issue seems to be
related to Qt 5.15.3, but that is not fully confirmed. However, the only place so far where the
issue is observed is on Mint 21.3. Issues #1862 and #1875. PR #1877.
----
## Version 2.4.2 [2024-05-18]
### Release Notes
This is a patch release that fixes two minor font issues and updates the Dutch and Chinese
translations.
### Detailed Changelog
**Bugfixes**
* Change the preview widget in the Manuscript Build tool to use the document font only for the
document itself, not the yellow heading stating the age of the previewed text. PR #1863.
* Fixes the syntax highlighter so that it is re-initialised when the document editor is
re-initialised, so that changes to document font size regenerates the heading font sizes as well.
Issue #1865. PR #1866.
**Internationalisation**
* Dutch translation updated by Martijn van der Kleijn (@mvdkleijn). PR #1872.
* Chinese translation updated by @longqzh. PR #1872.
----
## Version 2.4.1 [2024-05-06]
### Release Notes
This is a patch release that fixes a number of minor issues with the Manuscript Build tool. The
only critical fix is related to a potential crash when deleting a build entry when its settings
dialog is still open.
### Detailed Changelog
**Bugfixes**
* Fixed an issue that could crash novelWriter if a build settings entry was deleted from the
Manuscript tool while its settings window was open. PR #1845.
**Improvements**
* Changed the font used for the document editor and viewer header and footer from the one used for
the document text to the one used for the user interface. Issue #1842. PR #1843.
* Added a save document step in the editor before running a manuscript build or a preview job. This
ensures that the text in the editor is included in the manuscript. Issue #1835. PR #1846.
* Restore preview panel scroll bar position after updating the preview on the Manuscript tool.
Issue #1837. PR #1846.
* Close all non-modal dialogs when a project is closed. PR #1848.
**Code Improvements**
* Fixed an issue with the Build Settings dialog that blocks the garbage collector from deleting the
dialog after it's been closed. PR #1843.
* Remove some deprecated translation entries from the translation files. PR #1850.
----
## Version 2.4 [2024-04-20]
### Release Notes

View File

@@ -2,69 +2,75 @@
## Main Developer
* Veronica Berglyd Olsen (@vkbo)
* Veronica Berglyd Olsen
## Contributors
* Concept: Marian Lückhof (@Number042)
* Internationalisation: Bruno Meneguello (@bkmeneguello)
* Setup and Packaging: Rachel Powers (@Ryex)
* Early Concept: Marian Lückhof
* Internationalisation: Bruno Meneguello
* Setup and Packaging: Rachel Powers
For other contributions, see the project's [Contributors](https://github.com/vkbo/novelWriter/graphs/contributors) page.
## Artwork
The artwork on the Welcome dialog was created by [Louis Durrant](https://louisdurrant.art).
The artwork on the Welcome dialog was created by Louis Durrant.
## Translations
The default language is English (UK) with English (US) as an option. These are the original
translators for the languages currently available:
* Dutch: Martijn van der Kleijn (@mvdkleijn)
* French: Jan Lüdke (@jyhelle)
* German: Myian (@heymyian)
* Italian: Riccardo Mangili
* Japanese: hebekeg (@hebekeg)
* Latin American Spanish: Tommy Marplatt (@tmarplatt)
* Norwegian: Veronica Berglyd Olsen (@vkbo)
* Portuguese: Bruno Meneguello (@bkmeneguello)
* Simplified Chinese: Qianzhi Long (@longqzh)
* **Dutch:** Martijn van der Kleijn (mvdkleijn)
* **French:** Jan Lüdke (jyhelle)
* **German:** Myian (HeyMyian)
* **Italian:** Riccardo Mangili
* **Japanese:** hebekeg
* **Latin American Spanish:** Tommy Marplatt (tmarplatt)
* **Norwegian:** Veronica Berglyd Olsen (vkbo)
* **Polish:** Anna Maria Polak (Nauthiz)
* **Portuguese:** Bruno Meneguello (bkmeneguello)
* **Russian:** Konstantin Tan (k1kimosha)
* **Simplified Chinese:** Qianzhi Long (longqzh)
Additional larger translation contributions:
* French: Albert Aribaud (@aaribaud)
* **French:** Albert Aribaud (aaribaud)
* **Portuguese:** Oli Maia (olimaia)
Translations are managed on [Crowdin](https://crowdin.com/project/novelwriter), and more
contributions are listed on the project's [Members](https://crowdin.com/project/novelwriter/members) page.
contributions are listed on the project's Members page.
## Libraries
The following libraries are dependencies of novelWriter:
* [Qt5](https://www.qt.io) by Qt Company
* [PyQt5](https://www.riverbankcomputing.com/software/pyqt) by Riverbank Computing
* [Enchant](https://abiword.github.io/enchant) by Dom Lachowicz
* [PyEnchant](https://pyenchant.github.io/pyenchant) by Dimitri Merejkowsky
* **Qt5** by Qt Company
* **PyQt5** by Riverbank Computing
* **Enchant** by Dom Lachowicz
* **PyEnchant** by Dimitri Merejkowsky
## Assets
Some of the assets bundled with novelWriter were adapted from the following sources:
* [Typicons](https://github.com/stephenhutchings/typicons.font) icons by Stephen Hutchings (CC BY-SA 4.0)
* [Tomorrow](https://github.com/chriskempson/base16) syntax themes by Chris Kempson (MIT License)
* [Owl](https://github.com/sdras/night-owl-vscode-theme) syntax themes by Sarah Drasner (MIT License)
* [Solarized](https://github.com/altercation/solarized) themes by Ethan Schoonover (MIT License)
* **Typicons** icons by Stephen Hutchings (CC BY-SA 4.0)
* **Tomorrow** syntax themes by Chris Kempson (MIT License)
* **Owl** syntax themes by Sarah Drasner (MIT License)
* **Solarized** themes by Ethan Schoonover (MIT License)
* **Cyberpunk Night** theme by Anders Lemvigh (CC BY-SA 4.0)
* **Dracula** theme by Zeno Rocha (MIT License)
* **Snazzy Light** theme by Florian Reuschel (MIT License)
## Fonts
The font used for the main novelWriter logo, mimetype and text banners is Pridi. Other fonts are
used on buttons and icons.
* Pridi by Cadson Demak (Open Font License, Version 1.1)
* Source Sans Pro by Paul D. Hunt (SIL Open Font License)
* **Pridi** by Cadson Demak (Open Font License, Version 1.1)
* **Source Sans Pro** by Paul D. Hunt (SIL Open Font License)
## Special Mentions
Additional thanks to @johnblommers who was an early user and who has provided a lot of very useful
Additional thanks to John Blommers who was an early user and who has provided a lot of very useful
feedback over the years.

View File

@@ -29,11 +29,20 @@ documentation.
* PyPi Project: [pypi.org/project/novelWriter](https://pypi.org/project/novelWriter)
* Social Media: [fosstodon.org/@novelwriter](https://fosstodon.org/@novelwriter)
## Sponsors
<table style="border: none;">
<tr>
<td><img align="left" style="height: 25px;" src="https://raw.githubusercontent.com/vkbo/novelWriter/main/setup/signpath_logo.png"></td>
<td>Free code signing on Windows provided by <a href="https://about.signpath.io/">SignPath.io</a>, certificate by <a href="https://signpath.org/">SignPath Foundation</a>.</td>
</tr>
</table>
## Implementation
novelWriter is written with Python 3 (3.8+) using Qt5 and PyQt5 (5.10+), and is released on Linux,
Windows and macOS. It can in principle run on any Operating System that also supports Qt, PyQt and
Python.
novelWriter is written with Python 3 (3.9+) using Qt5 and PyQt5 (5.15 only), and is released on
Linux, Windows and macOS. It can in principle run on any Operating System that also supports Qt,
PyQt and Python.
## Project Contributions

File diff suppressed because it is too large Load Diff

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 72 KiB

After

Width:  |  Height:  |  Size: 90 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 87 KiB

After

Width:  |  Height:  |  Size: 101 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 103 KiB

After

Width:  |  Height:  |  Size: 94 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 151 KiB

After

Width:  |  Height:  |  Size: 121 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 147 KiB

After

Width:  |  Height:  |  Size: 185 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 530 KiB

After

Width:  |  Height:  |  Size: 516 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 540 KiB

After

Width:  |  Height:  |  Size: 535 KiB

View File

@@ -13,7 +13,7 @@ Glossary
see :ref:`a_proj_roots`.
Novel Documents
These are documents that are created under a "Novel" :term:`root folder`. They behave
These are documents that are created under a "Novel" :term:`Root Folder`. They behave
differently than :term:`Project Notes`, and have some more restrictions. For instance, they
can not exist in folders intended only for project notes. See the :ref:`a_struct` chapter for
more details.

View File

@@ -16,22 +16,37 @@ This is a list of hopefully helpful little tips on how to get the most out of no
Managing the Project
====================
.. dropdown:: Merge Multiple Documents Into One
.. dropdown:: How do I create a project from a template?
:animate: fade-in-slide-down
On the Welcome dialog's **Create New Project** form, you can select to "Prefill Project" from
the content of a different project. This feature is most useful if you copy a project you have
dedicated to be a template project. If you have a structure and settings you want to use for
every new project, this is the best solution.
.. dropdown:: How do I merge multiple documents into one?
:animate: fade-in-slide-down
If you need to merge a selection of documents in your project into a single document, you can
achieve this by first making a new folder for just that purpose, and drag all the files you want
merged into this folder. Then you can right click the folder, select :guilabel:`Transform` and
:guilabel:`Merge Documents in Folder`.
achieve this by first making a new folder for just that purpose, and drag all the documents you
want merged into this folder. Then you can right click the folder, select :guilabel:`Transform`
and :guilabel:`Merge Documents in Folder`.
In the dialog that pops up, the documents will be in the same order as in the folder, but you
can rearrange them here of you wish. See :ref:`a_ui_tree_split_merge` for more details.
.. dropdown:: How do I share status or importance labels between projects?
:animate: fade-in-slide-down
The status or importance labels you have defined in a project can be exported from **Project
Settings** from the respective configuration tabs. You can then import these labels in another
project.
Layout Tricks
=============
.. dropdown:: Create a Simple Table
.. dropdown:: How do I create a table?
:animate: fade-in-slide-down
The formatting tools available in novelWriter don't allow for complex structures like tables.
@@ -44,11 +59,30 @@ Layout Tricks
This is most suitable for your notes, as the result in exported documents cannot be guaranteed
to match. Especially if you don't use the same font in your manuscript as in the editor.
.. dropdown:: How do I force a line break when line breaks are ignored in my manuscript?
:animate: fade-in-slide-down
In the **Manuscript Build Settings** you can choose to ignore line breaks within paragraphs in
your text. However, some times you still need those breaks. Like for instance on the cover page
where you may need to add your name and address. In such cases, you can add ``[br]`` where you
want line breaks. These breaks cannot be ignored by any settings and will always be respected.
.. versionadded:: 2.6
.. dropdown:: How do I turn off first line indent for a specific paragraph?
:animate: fade-in-slide-down
If you have first line indent enabled, but have a specific paragraph that you don't want
indented, you can disable the indentation by explicitly adding text alignment. For instance by
adding ``<<`` to the end to left-align it. Aligned paragraphs are not indented.
See :ref:`a_fmt_align` for more details.
Organising Your Text
====================
.. dropdown:: Add Introductory Text to Chapters
.. dropdown:: How do I add introductory text to chapters?
:animate: fade-in-slide-down
Sometimes chapters have a short preface, like a brief piece of text or a quote to set the stage
@@ -58,9 +92,7 @@ Organising Your Text
such text. Separating chapter and scene files also allows you to make scene files child
documents of the chapter.
.. versionadded:: 2.0
.. dropdown:: Distinguishing Soft and Hard Scene Breaks
.. dropdown:: How do I distinguishing between soft and hard scene breaks?
:animate: fade-in-slide-down
Depending on your writing style, you may need to separate between soft and hard scene breaks
@@ -69,8 +101,8 @@ Organising Your Text
In such cases you may want to use different scene headings for hard and soft scene breaks. The
**Build Manuscript** tool will let you define a different format for scenes using the ``###``
and ``###!`` heading codes when you generate your manuscript. You can for instance add the
common "``* * *``" for hard breaks and select to soft scene breaks, which will just insert an
empty paragraph in their place. See :ref:`a_manuscript_settings` for more details.
common "``* * *``" for hard breaks and select to hide soft scene breaks, which will just insert
an empty paragraph in their place. See :ref:`a_manuscript_settings` for more details.
.. versionadded:: 2.4
@@ -78,7 +110,7 @@ Organising Your Text
Other Tools
===========
.. dropdown:: Convert Project to/from yWriter Format
.. dropdown:: How do I convert my project to/from the yWriter format?
:animate: fade-in-slide-down
There is a tool available that lets you convert a `yWriter <http://spacejock.com/yWriter7.html>`_

View File

@@ -12,16 +12,17 @@ text without having to deal with formatting until you generate a draft document
Instead, you can focus on the writing right from the start.
Of course, you probably need *some* formatting for your text. At the very least you need emphasis.
Most people are familiar with adding emphasis using underscores and asterisks. This formatting
standard comes from Markdown_ and is supported by novelWriter. It also uses Markdown formatting for
defining document headings. If you need more specialised formatting, additional formatting options
are available using a shortcode format. See :ref:`a_fmt_shortcodes` for more details.
Most people are familiar with adding emphasis using ``_underscores_`` and ``**asterisks**``. This
formatting standard comes from Markdown_ and is supported by novelWriter. It also uses Markdown
formatting for defining document headings. If you need more specialised formatting, additional
formatting options are available using a shortcode format. See :ref:`a_fmt_shortcodes` for more
details.
.. admonition:: Limitations
novelWriter is designed for writing fiction, so the formatting features available are limited to
those relevant for this purpose. It is **not** suitable for technical writing, and it is **not**
a full-featured Markdown editor.
those relevant for this purpose. It is *not* suitable for technical writing, and it is *not* a
full-featured Markdown editor.
It is also not intended as a tool for organising research for writing, and therefore lacks
formatting features you may need for this purpose. The notes feature in novelWriter is mainly
@@ -32,13 +33,14 @@ instead of a single, large document. The idea is to make it easier to reorganise
structure without having to cut and paste text between chapters and scenes.
There are two kinds of documents in your project: :term:`Novel Documents` are documents that are
part of your story. The other kind of documents are :term:`Project Notes`. These are intended for
part of your story. The other kind of documents are :term:`Project Notes`, which are intended for
your notes about your characters, your world building, and so on.
You can at any point split the individual documents by their headings up into multiple documents,
or merge multiple documents into a single document. This makes it easier to use variations of the
Snowflake_ method for writing. You can start by writing larger structure-focused documents, like
for instance one document per act, and later effortlessly split these up into chapters or scenes.
for instance one document per act, and later effortlessly split these up into individual chapter or
scene documents.
.. _a_intro_features:
@@ -51,9 +53,12 @@ Below are some key features of novelWriter.
**Focus on writing**
The aim of the user interface is to let you focus on writing instead of spending time formatting
text. Formatting is therefore limited to a small set of formatting tags for simple things like
text emphasis and paragraph alignment. When you really want to focus on just writing, you can
switch the editor into **Focus Mode** where only the text editor panel itself is visible, and
the project structure view is hidden away.
text emphasis and paragraph alignment. Additional shortcodes are available for special
formatting cases when you need them.
When you really want to focus on just writing, you can switch the editor into **Focus Mode**
where only the text editor panel itself is visible, and the project structure view is hidden
away.
**Keep an eye on your notes**
The main window can optionally show a document viewer to the right of the editor. The viewer
@@ -72,19 +77,22 @@ Below are some key features of novelWriter.
**Multi-novel project support**
The main parts of your project is split up into top level special folders called "Root" folders.
Your main story text lives in the "Novel" root folder. You can have multiple such folders in a
project. This allows you to keep a series of individual novels with the same characters and
world building in the same project, and create manuscripts for them individually.
project, and rename them to whatever you want. This allows you to keep a series of individual
novels with the same characters and world building in the same project, and create manuscripts
for them separately.
**Keep track of your story elements**
All notes in your project can be assigned a :term:`tag` that you can then :term:`reference` from
any other document or note. In fact, you can add a new tag under each heading of a note if you
need to be able to reference specific sections of it.
All documents in your project can be assigned a :term:`tag` that you can then :term:`reference`
from any other document or note. In fact, you can add a new tag under each heading of a note if
you need to be able to reference specific sections of it, or you want to keep several topics or
scenes in the same document.
**Get an overview of your story**
It is not the documents themselves that define the chapters and scenes of your story, but the
headings that separate them. In the **Outline View** on the main window you can see an outline
of all the chapter and scene headings of your project. If they have any references in them, like
which character is in what chapter and scene, these are listed in additional columns.
headings within them. In the **Outline View** on the main window you can see an outline of all
the chapter and scene headings of each novel root folder in your project. If they have any
references in them, like which character is in what chapter and scene, these are listed in
additional columns.
You can also add a synopsis to each chapter or scene, which can be listed here as well. You have
the option to add or remove columns of information from this outline. A subset of the outline
@@ -100,9 +108,9 @@ Below are some key features of novelWriter.
Whether you want to assemble a manuscript, or export all your notes, or generate an outline of
your chapters and scenes with a synopsis included, you can use the **Build Manuscript** tool to
do so. The tool lets you select what information you want to include in the generated document,
and how it is formatted. You can send the result to a printer, a PDF, or to an Open Document
file that can be opened by most office type word processors. You can also generate the result
as HTML, or Markdown, both suitable for further conversion to other formats.
and how it is formatted. You can send the result to a printer, or generate an Open Document or
Word Document file that can be opened by most office type word processors. You can also generate
the result as HTML, or Markdown, both suitable for further conversion to other formats.
.. _a_intro_screenshots:

View File

@@ -5,12 +5,12 @@ What to Read First
******************
The documentation of novelWriter is quite extensive. There are a lot of features to get used to,
but you don't need all of them to get started.
but you don't need to know all of them to get started.
The chapters below labelled "Essential Information" are the ones you need to know to use the
application correctly. By "correctly", it is meant: in a way so novelWriter understands the basic
application correctly. By "correctly" it is meant: in a way so novelWriter understands the basic
structure of your text. It collects a lot of information from your text and uses it to display the
structure of it in various ways to help you get an overview of your project.
structure of it in various ways to help you get an overview of your writing.
The chapters labelled "Recommended Reading" includes additional information on how the different
parts if the application work and what the features do.
@@ -23,7 +23,7 @@ Using novelWriter
=================
In order to use novelWriter effectively, you need to know the basics of how it works. The following
chapters will explain the main principles. It starts with the basics, and gets more detailed as you
chapters will explain the main principles. They start with the basics, and get more detailed as you
read on.
:ref:`a_breakdown` – Essential Information

View File

@@ -4,7 +4,7 @@
Setup and Installation
**********************
.. _Enchant: https://abiword.github.io/enchant/
.. _Enchant: http://rrthomas.github.io/enchant/
.. _GitHub: https://github.com/vkbo/novelWriter
.. _Downloads page: https://download.novelwriter.io
.. _PPA: https://launchpad.net/~vkbo/+archive/ubuntu/novelwriter
@@ -15,7 +15,7 @@ Setup and Installation
.. _AppImage: https://appimage.org/
Ready-made packages and installers for novelWriter are available for all major platforms, including
Linux, Windows and MacOS, from the `Downloads page`_. See below for install additional instructions
Linux, Windows and MacOS, from the `Downloads page`_. See below for additional install instructions
for each platform.
You can also install novelWriter from the Python Package Index (PyPi_). See :ref:`a_started_pip`.
@@ -40,12 +40,6 @@ If you have any issues, try uninstalling the previous version and making a fresh
already had a version installed via a different method, you should uninstall that first as having
multiple installations has been known to cause problems.
.. note::
The novelWriter installer is not signed because Microsoft doesn't currently provide a way for
non-profit open source projects to properly sign their installers. The novelWriter project
doesn't have the funding to pay for commercial software signing certificates. You will therefore
see an additional warning about this when you download and run the installer.
.. _a_started_linux:
@@ -93,10 +87,6 @@ Then run the update and install commands as for Ubuntu:
sudo apt update
sudo apt install novelwriter
.. note::
You may need to use the Ubuntu 20.04 (focal) packages for Debian 11 or earlier. The newer Ubuntu
packages use a different compression algorithm that may not be supported.
.. tip::
If you get an error message like ``gpg: failed to create temporary file`` when importing the key
from the Ubuntu keyserver, try creating the folder it fails on, and import the key again:
@@ -142,7 +132,7 @@ done by holding down the option key on your keyboard and clicking on the applica
.. note::
The novelWriter DMG is not signed because Apple doesn't currently provide a way for non-profit
open source projects to properly sign their installers. The novelWriter project doesn't have the
funding to pay for commercial software signing certificates.
funding to pay for a commercial software signing certificate.
.. _a_started_pip:

View File

@@ -4,7 +4,7 @@
Customisations
**************
.. _Enchant: https://abiword.github.io/enchant
.. _Enchant: https://rrthomas.github.io/enchant/
.. _Free Desktop: https://cgit.freedesktop.org/libreoffice/dictionaries/tree/
There are a few ways you can customise novelWriter yourself. Currently, you can add new GUI themes,
@@ -131,9 +131,12 @@ A GUI theme ``.conf`` file consists of the following settings:
linkvisited = 100, 100, 100
[GUI]
statusnone = 100, 100, 100
statussaved = 100, 100, 100
statusunsaved = 100, 100, 100
helptext = 0, 0, 0
fadedtext = 128, 128, 128
errortext = 255, 0, 0
statusnone = 120, 120, 120
statussaved = 2, 133, 37
statusunsaved = 200, 15, 39
In the Main section you must at least define the ``name`` and ``icontheme`` settings. The
``icontheme`` settings should correspond to one of the internal icon themes, either
@@ -143,7 +146,11 @@ setting must match the icon theme's folder name.
The Palette values correspond to the Qt enum values for ``QPalette::ColorRole``, see the
`Qt documentation <https://doc.qt.io/qt-5.15/qpalette.html#ColorRole-enum>`_ for more details. The
colour values are RGB numbers on the format ``r, g, b`` where each is an integer from ``0`` to
``255``. Omitted values are not loaded and will use default values.
``255``. Omitted values are not loaded and will use default values. If the ``helptext`` colour is
not defined, it is computed as a colour between the ``window`` and ``windowtext`` colour.
.. versionadded:: 2.5
The ``fadedtext`` and ``errortext`` theme colour entries were added.
Custom Syntax Theme
@@ -168,12 +175,13 @@ A syntax theme ``.conf`` file consists of the following settings:
headertext = 0, 0, 0
headertag = 0, 0, 0
emphasis = 0, 0, 0
straightquotes = 0, 0, 0
doublequotes = 0, 0, 0
singlequotes = 0, 0, 0
dialog = 0, 0, 0
altdialog = 0, 0, 0
note = 0, 0, 0
hidden = 0, 0, 0
shortcode = 0, 0, 0
keyword = 0, 0, 0
tag = 0, 0, 0
value = 0, 0, 0
optional = 0, 0, 0
spellcheckline = 0, 0, 0
@@ -197,3 +205,7 @@ Omitted syntax colours default to black, except ``background`` which defaults to
.. versionadded:: 2.4
The ``texthighlight`` syntax colour entry was added.
.. versionadded:: 2.5
The ``dialog``, ``altdialog``, ``note`` and ``tag`` syntax colour entries were added.
``straightquotes``, ``doublequotes`` and ``singlequotes`` were removed.

View File

@@ -11,6 +11,7 @@ from the text in your project. All of this is handled by the **Manuscript Build*
activate it from the sidebar, the **Tools** menu, or by pressing :kbd:`F5`.
.. versionadded:: 2.1
This tool is new for version 2.1. A simpler tool was used for earlier versions. The simpler tool
only allows you to define a single set of options for the build, but otherwise had much the same
functionality.
@@ -58,6 +59,7 @@ Each build definition can be edited by opening it in the **Manuscript Build Sett
either by double-clicking or by selecting it and pressing the edit button in the toolbar.
.. tip::
You can keep the **Manuscript Build Settings** dialog open while testing the different options,
and just hit the :guilabel:`Apply` button. You can test the result of your settings by pressing
the :guilabel:`Preview` button in the main **Manuscript Build** window. When you're happy with
@@ -177,21 +179,34 @@ Open Document Format
flat version of the document format as a single XML file. Most rich text editors support the
former, and only a few the latter.
Microsoft Word Document Format
The Microsoft Word Document format writes a single ``.docx`` file. It uses a fairly basic format
that should be compatible with most rich text editors.
Portable Document Format (PDF)
The PDF is generated from a copy of the preview document, and should have the same formatting
capabilities as the preview. It's identical to what is produced if you select the print option
and print to PDF.
novelWriter HTML
The HTML format writes a single ``.htm`` file with minimal style formatting. The HTML document
is suitable for further processing by document conversion tools like Pandoc_, for importing in
word processors, or for printing from browser.
Standard/Extended Markdown
The Markdown format comes in both Standard and Extended flavour. The *only* difference in terms
of novelWriter functionality is the support for strike through text, which is not supported by
the Standard flavour.
novelWriter Markup
This is simply a concatenation of the project documents selected by the filters into a ``.txt``
file. The documents are stacked together in the order they appear in the project tree, with
comments, tags, etc. included if they are selected. This is a useful format for exporting the
project for later import back into novelWriter.
Standard/Extended Markdown
The Markdown format comes in both Standard and Extended flavour. The *only* difference in terms
of novelWriter functionality is the support for strike through text, which is not supported by
the Standard flavour.
.. versionadded:: 2.6
Microsoft Word and PDF output options were added.
Additional Formats
@@ -211,13 +226,14 @@ file can be imported directly into a Python dict object or a PHP array, to menti
.. _a_manuscript_print:
Print and PDF
=============
Printing
========
The :guilabel:`Print` button allows you to print the content in the preview window. You can either
print to one of your system's printers, or select PDF as your output format from the printer icon
on the print dialog.
.. note::
The paper format should in all cases default to whatever your system default is. If you want to
change it, you have to select it from the **Print Preview** dialog.

View File

@@ -1,8 +1,17 @@
.. _a_proj:
**************
Novel Projects
**************
*****************
Managing Projects
*****************
Your text in novelWriter is organised into projects. Each project is meant to contain one novel
and associated notes. If you have multiple novels in a series, with the same characters and shared
notes, it is also possible to keep all of them in the same project.
.. _a_proj_new:
Creating Project
================
New projects can be created from the **Project** menu by selecting **Create or Open Project**. This
will open the **Welcome** dialog, where you can select the :guilabel:`New` button that will assist
@@ -27,10 +36,19 @@ and page counts, is available through the **Novel Details** dialog. Statistics a
is also available in the **Manuscript Build** tool.
Template Projects
-----------------
From the Welcome dialog you can also create a new from another existing project. If you have a
specific structure you want to use for all your new projects, you can create a dedicated project to
be used as a template, and select to copy an existing project from the :guilabel:"Prefill Project"
option from the **New Project** form.
.. _a_proj_roots:
Project Roots
=============
Project Structure
=================
Projects are structured into a set of top level folders called "Root Folders". They are visible in
the project tree at the left side of the main window.
@@ -97,16 +115,17 @@ Root Folder Types
options. Tags in this folder type can be references using the ``@custom`` keyword.
The root folders are closely tied to the tags and reference system. Each folder type corresponds to
the categories of tags that can be used to reference them. For more information about the tags
listed, see :ref:`a_references_references`.
categories of tags that can be used to reference them. For more information about the tags listed,
see :ref:`a_references_references`.
There is also a ``@mention`` keyword that can be used to reference any tag.
See :ref:`a_references_references` for more details.
.. note::
You can rename root folders to whatever you want. However, this doesn't change the reference
keyword or what they do.
.. versionadded:: 2.0
As of version 2.0, you can make multiple root folders of each kind to split up your project.
.. _a_proj_roots_del:
@@ -149,11 +168,10 @@ The folders are there purely as a way for you to organise the documents in meani
to be able to collapse and hide them in the project tree when you're not working on those
documents.
.. versionadded:: 2.0
As of version 2.0 it is possible to add child documents to other documents. This is particularly
useful when you create chapters and scenes. If you add separate scene documents, you should also
add separate chapter documents, even if they only contain a chapter heading. You can then add
scene documents as child items to the chapters.
In addition to using folders. it is also possible to add child documents to other documents. This
is particularly useful when you create chapters and scenes. If you add separate scene documents,
you should also add separate chapter documents, even if they only contain a chapter heading. You
can then add scene documents as child items to the chapters.
.. _a_proj_roots_orphaned:
@@ -164,7 +182,7 @@ Recovered Documents
If novelWriter crashes or otherwise exits without saving the project state, or if you're using a
file synchronisation tool that runs out of sync, there may be files in the project storage folder
that aren't tracked in the core project file. These files, when discovered, are recovered and added
back into the project.
back into the project when a project is opened.
The discovered files are scanned for metadata that give clues as to where the document may
previously have been located in the project. The project loading routine will try to put them back
@@ -184,19 +202,21 @@ be named after its internal key, which is a string of characters and numbers.
Project Lockfile
----------------
To prevent lost documents caused by file conflicts when novelWriter projects are synchronised via
file synchronisation tools, a project lockfile is written to the project storage folder when a
project is open. If you try to open a project which already has such a file present, you will be
presented with a warning, and some information about where else novelWriter thinks the project is
also open. You will be given the option to ignore this warning, and continue opening the project at
your own risk.
To prevent data loss caused by file conflicts when novelWriter projects are synchronised via file
synchronisation tools, a project lockfile is written to the project storage folder when a project
is open. If you try to open a project which already has such a file present, you will be presented
with a warning, and some information about where else novelWriter thinks the project is also open.
You will be given the option to ignore this warning, and continue opening the project at your own
risk.
.. note::
If, for some reason, novelWriter or your computer crashes, the lock file may remain even if
there are no other instances keeping the project open. In such a case it is safe to ignore the
lock file warning when re-opening the project.
.. warning::
If you choose to ignore the warning and continue opening the project, and multiple instances of
the project are in fact open, you are likely to cause inconsistencies and create diverging
project files, potentially resulting in loss of data and orphaned files. You are not likely to
@@ -288,7 +308,8 @@ Status and Importance Tabs
--------------------------
Each document or folder of type **Novel** can be given a "Status" label accompanied by a coloured
icon, and each document or folder of the remaining types can be given an "Importance" label.
icon with an optional shape selected from a list of pre-defined shapes. Each document or folder of
the remaining types can be given an "Importance" label with the same customisation options.
These labels are there purely for your convenience, and you are not required to use them for any
other features to work. No other part of novelWriter accesses this information. The intention is to
@@ -296,9 +317,14 @@ use these to indicate at what stage of completion each novel document is, or how
content of a note is to the story. You don't have to use them this way, that's just what they were
intended for, but you can make them whatever you want.
Both status and importance labels can be exported and imported so you can share them between
projects, or define a standard set for all your writing projects. When you import labels to a
project, they are always added as *new* labels.
See also :ref:`a_ui_tree_status`.
.. note::
The status or importance level currently in use by one or more documents cannot be deleted, but
they can be edited.
@@ -362,7 +388,22 @@ also export the filtered data to a JSON file or to a CSV file that can be opened
application like for instance Libre Office Calc or Excel.
.. versionadded:: 1.2
As of version 1.2, the log file also stores how much of the session time was spent idle. The
definition of idle here is that the novelWriter main window loses focus, or the user hasn't made
any changes to the currently open document in five minutes. The number of minutes can be altered
in **Preferences**.
Session Timer
-------------
A session timer is by default visible in the status bar. The icon will show you a clock icon when
you are active, and a pause icon when you are considered "idle" per the criteria mentioned above.
If you do not wish to see the timer, you can click on it once to hide it. The icon will still be
visible. Click the icon once more to display the timer again.
.. versionadded:: 2.6
As of version 2.6, clicking the timer text or icon in the status bar will toggle its visibility.

View File

@@ -15,8 +15,9 @@ applications. It is therefore not always obvious to new users how this is suppos
this chapter hopes to explain in more detail how to use this tags and references system.
.. tip::
If you find the Tags and Reference system difficult to follow just from reading this chapter,
you can create a new project in the **Welcome** dialog's New project form and select "Create an
you can create a new project in the **Welcome** dialog's New project form and select "Create an
example project" from the "Pre-fill project" option. The example project contains several
examples of tags and references.
@@ -39,7 +40,8 @@ documents up using the document split feature. See :ref:`a_ui_tree_split_merge`
You can do the same with your notes. You can treat each heading as an independent element of your
notes that can be referenced somewhere else. That way you can collect all your minor or background
characters in a single note file, and still be able to reference them individually by separating
them with headings and assigning each a tag.
them with headings and assigning each a tag. Or, you can lay out your plot in a single document and
have a tag for each plot stage under separate headings.
.. _a_references_tags:
@@ -82,13 +84,20 @@ to the manuscript, or an outline document. If you want to compile a single docum
notes, you can do this from the **Manuscript Build** tool.
.. versionadded:: 2.2
Tags are no longer case sensitive. The tags are by default displayed with the capitalisation you
use when defining the tag, but you don't have to use the same capitalisation when referencing
it later.
.. versionadded:: 2.3
Tags can have an optional display name for manuscript builds.
.. versionadded:: 2.6
You can now add tags also to Novel Documents. These can be used for cross-referencing between
chapters and scenes, and also from notes if desired.
Example of a heading with a tag for a character of the story:
.. code-block:: md
@@ -162,15 +171,27 @@ reference keywords allow multiple values.
Custom references in the current section. The target must be a note tag in a **Custom** type
root folder. The custom folder are for any other category of notes you may want to use.
``@mention``
Anything mentioned, but not present in the current section. It is intended for those cases where
you reveal details about a character or place in a scene without it being otherwise a part of
it. This can be useful when checking for consistency later. Any tag in any root note folder can
be listed under mentions.
``@story``
This is used when referencing a Novel Document, like a scene or chapter, from somewhere else in
your project.
The syntax highlighter will alert the user that the tags and references are used correctly, and
that the tags referenced exist.
.. note::
The highlighter may be mistaken if the index of defined tags is out of date. If so, press
:kbd:`F9` to regenerate it, or select **Rebuild Index** from the **Tools** menu. In general, the
index for a document is regenerated when it is saved, so this shouldn't normally be necessary.
.. tip::
If you add a reference in the editor to a tag that doesn't yet exist, you can right-click it and
select **Create Note for Tag**. This will generate a new project note automatically with the new
tag defined. In order for this to be possible, a root folder for that category of references
@@ -186,6 +207,7 @@ meaningful if you want to be able to click-navigate between them, or of course i
highlight that two notes are related.
.. tip::
If you cross-reference between notes and export your project as an HTML document using the
**Manuscript Build** tool, the cross-references become clickable links in the exported HTML
document as well.

View File

@@ -11,8 +11,8 @@ Active novel documents can only live in a **Novel** type root folder. You can al
**Archive** and **Trash** of course, where they become inactive.
The project tree can distinguish between the different heading levels of the novel documents using
coloured icons, and optionally add emphasis on the label, set in **Preferences** for easier
identification.
coloured icons, and optionally add emphasis on the label. Emphasis can be enabled in
**Preferences**.
.. _a_struct_heads:
@@ -27,6 +27,7 @@ Four levels of headings are supported, signified by the number of hashes (``#``)
title. See also the :ref:`a_fmt` section for more details about the markup syntax.
.. note::
The heading levels are not only important when generating the manuscript, they are also used by
the indexer when building the outline tree in the **Outline View** as well as in the **Novel
Tree**. Each heading also starts a new region where new Tags and References can be defined. See
@@ -60,16 +61,25 @@ The syntax for the four basic heading types, and the three special types, is lis
mid-scene, like if you change the point-of-view character. You are free to use sections as you
wish, and you can filter them out of the final manuscript.
Page breaks can be automatically added before partition, chapter and scene headings from the
**Manuscript Build** tool when you build your project to a format that supports page breaks. If you
want page breaks in other places, you have to specify them manually. See :ref:`a_fmt_break`.
Page breaks can be automatically added before titles, partition, chapter and scene headings from
the **Manuscript Build** tool when you build your project to a format that supports page breaks. If
you want page breaks in other places, you have to specify them manually. See :ref:`a_fmt_break`.
.. tip::
There are multiple options of how to process novel headings when building the manuscript. For
instance, chapter numbers can be applied automatically, and so can scene numbers if you want
them in a draft manuscript. You can also insert point-of-view character names in chapter titles.
See the :ref:`a_manuscript` page for more details.
.. note::
As of 2.6, the heading levels internally in novelWriter do not map directly to heading levels in
manuscript documents. In manuscript documents, chapters are considered the top level heading,
and partitions become plain text paragraphs with a larger font.
.. versionadded:: 2.6
.. _a_struct_heads_title:
@@ -77,15 +87,28 @@ Novel Title and Front Matter
----------------------------
It is recommended that you add a document at the very top of each **Novel** root folder with the
novel title as the first line. You should modify the level 1 heading format code with an ``!`` in
order to render it as a document title that is excluded from any automatic Table of Content in a
manuscript build document, like so:
novel title in it. You should modify the level 1 heading format code with an ``!`` in order to
render it as a document title that is excluded from any automatic Table of Content in a manuscript
build document.
You can also add the author name and address above this if this is required by the manuscript
format you use, and additional space added before the title.
This is the title page novelWriter generates automatically for a new project as of version 2.6:
.. code-block:: md
Jane Doe[br]
Address 1[br]
Address 2 <<
[vspace:5]
#! My Novel
>> _by Jane Doe_ <<
>> **By Jane Doe** <<
>> Word Count: [field:textWords] <<
The title is by default centred on the page. You can add more text to the page as you wish, like
for instance the author's name and details.

View File

@@ -39,11 +39,9 @@ The following Python packages are needed to run all features of novelWriter:
* ``PyQt5`` – needed for connecting with the Qt5 libraries.
* ``PyEnchant`` – needed for spell checking (optional).
PyQt/Qt should be at least 5.10, but ideally 5.13 or higher for all features to work. For instance,
searching using regular expressions with full Unicode support requires 5.13.
If you want spell checking, you must install the ``PyEnchant`` package. The spell check library
must be at least 3.0 to work with Windows. On Linux, 2.0 also works fine.
PyQt/Qt must be at least 5.15.0. If you want spell checking, you must install the ``PyEnchant``
package. The spell check library must be at least 3.0 to work with Windows. On Linux, 2.0 also
works fine.
If you install from PyPi, these dependencies should be installed automatically. If you install from
source, dependencies can still be installed from PyPi with:
@@ -55,7 +53,7 @@ source, dependencies can still be installed from PyPi with:
.. note::
On Linux distros, the Qt library is usually split up into multiple packages. In some cases,
secondary dependencies may not be installed automatically. For novelWriter, the library files
for renderring the SVG icons may be left out and needs to be installed manually. This is the
for rendering the SVG icons may be left out and needs to be installed manually. This is the
case on for instance Arch Linux.

View File

@@ -7,6 +7,8 @@ How it Works
.. _Fusion: https://doc.qt.io/qt-6/gallery.html
.. _Pandoc: https://pandoc.org/
.. _Open Document: https://en.wikipedia.org/wiki/OpenDocument
.. _Office Open XML: https://en.wikipedia.org/wiki/Office_Open_XML
.. _version control: https://en.wikipedia.org/wiki/Version_control
The main features of novelWriter are listed in the :ref:`a_intro` chapter. In this chapter, we go
into some more details on how they are implemented. This is intended as an overview. Later on in
@@ -42,9 +44,10 @@ views you can switch between, a quick link to the **Build Manuscript** tool, and
project-related tools and quick access to settings at the bottom.
.. versionadded:: 2.2
A number of new formatting options were added in 2.2 to allow for some special formatting cases.
At the same time, a small formatting toolbar was added in the editor. It is hidden by default,
but can be opened by pressing the icon button in the top right corner.
At the same time, a small formatting toolbar was added to the editor. It is hidden by default,
but can be opened by pressing the button in the top--left corner of the editor header.
Project Tree and Editor View
@@ -54,9 +57,9 @@ Project Tree and Editor View
A screenshot of the Project Tree and Editor View.
When the application is in **Project Tree View** mode, the main work area of the main window is
split in two, or optionally three, panels. The left-most panel contains the project tree and all
the documents in your project. The second panel is the document editor.
When the application is in **Project Tree View** mode, the work area of the main window is split in
two, or optionally three, panels. The left-most panel contains the project tree and all the
documents in your project. The second panel is the document editor.
An optional third panel on the right side contains a document viewer which can view any document in
your project independently of what is open in the document editor. This panel is not intended as a
@@ -68,6 +71,14 @@ The editor also has a **Focus Mode** you can toggle either from the menu, from t
editor's header, or by pressing :kbd:`F8`. When **Focus Mode** is enabled, all the user interface
elements other than the document editor itself are hidden away.
The project tree will highlight with a different background colour the document that is currently
open in the editor.
.. versionadded:: 2.6
You can now drag and drop documents from the project tree onto the editor or viewer panels to
open them.
Novel View and Editor View
--------------------------
@@ -110,21 +121,20 @@ Novel Outline View
A screenshot of the Novel Outline View.
When the application is in **Novel Outline View** mode, the tree, editor and viewer will be
replaced by a large table that shows the entire novel structure with all the tags and references
listed. Pretty much all collected meta data is available here in different columns.
When the application is in **Novel Outline View** mode, the tree, editor and viewer are replaced by
a large table that shows the entire novel structure with all the tags and references listed. Pretty
much all collected meta data is available here in different columns.
You can select which novel root folder to display from the dropdown box, and you can select which
columns to show or hide from the menu button. You can also rearrange the columns by drag and drop.
The app will remember your column order and size between sessions, and for each individual project.
The app remembers your column order and sizes between sessions, and for each individual project.
Colour Themes
-------------
By default, novelWriter will use the colour theme provided by the Qt library, which is determined
by the Fusion_ style setting. You can also choose between a standard dark and light theme that have
neutral colours from **Preferences**.
By default, novelWriter uses a light colour theme. You can also choose between a standard dark
theme that have neutral colours, or a series of other included themes, from **Preferences**.
If you wish, you *can* create your own colour themes, and even have them added to the application.
See :ref:`a_custom_theme` for more details.
@@ -134,6 +144,7 @@ separate colour selectable from the "Document colour theme" setting in **Prefere
separated because there are a lot more options to choose from for the editor and viewer.
.. note::
If you switch between light and dark mode on the GUI, you should also switch editor theme to
match, otherwise icons may be hard to see in the editor and viewer.
@@ -148,12 +159,26 @@ in the document editor that acts on the open document.
.. versionadded:: 2.4
Switching Focus
---------------
If the project or novel view does not have focus, pressing :kbd:`Ctrl+T` switches focus to
whichever of the two is visible. If one of them already has focus, the key press will switch
between them instead.
Likewise, pressing :kbd:`Ctrl+E` will switch focus to the document editor or viewer, or if any of
them already have focus, it will switch focus between them,
These two shortcuts make it possible to jump between all these GUI elements without having to reach
for the mouse or touchpad.
.. _a_breakdown_project:
Project Layout
==============
This is a brief introduction to how you structure your writing projects. All of this will be
This is a brief introduction to how you should structure your writing projects. All of this will be
covered in more detail later.
The main point of novelWriter is that you are free to organise your project documents as you wish
@@ -179,12 +204,19 @@ This heading level structure is only taken into account for :term:`novel documen
:term:`project notes`, the heading levels have no structural meaning, and you are free to use them
however you want. See :ref:`a_struct` and :ref:`a_references` for more details.
.. versionadded:: 2.0
.. tip::
You can add documents as child items of other documents. This is often more useful than adding
folders, since you anyway may want to have the chapter heading in a separate document from your
individual scene documents so that you can rearrange scene documents freely without affecting
chapter placement.
.. versionadded:: 2.6
The heading levels for partitions, chapters and scenes only apply within novelWriter. When you
generate your manuscript, chapters are considered as the topmost heading level, with scenes
below it. Partitions are inserted as text elements in most formats.
.. _a_breakdown_export:
@@ -192,22 +224,24 @@ Building a Manuscript
=====================
The project can at any time be assembled into a range of different formats through the
**Build Manuscript** tool. Natively, novelWriter supports `Open Document`_, HTML5, and
various flavours of Markdown.
**Build Manuscript** tool. Natively, novelWriter supports `Open Document`_, Microsoft Word Document
(known as `Office Open XML`_), HTML5, and various flavours of Markdown. You can also generate a PDF
document.
The HTML5 format is suitable for conversion by a number of other tools like Pandoc_, or for
importing into word processors if the Open Document format isn't suitable. The Open Document format
is supported by most office type applications. In addition, printing is also possible. Print to PDF
is available from the print dialog.
importing into word processors if the Open Document or Word Document format isn't suitable. The
Open Document format is supported by most office type applications, so is the Word Document format.
In addition, printing is also possible.
For advanced processing, you can export the content of the project to a JSON file. This is useful
if you want to write your own custom processing script in for instance Python, as the entire novel
can be read into a Python dictionary with a couple of lines of code. The JSON file can be populated
with either HTML formatted text, or with the raw text as typed into the novel documents.
with either HTML formatted text, or with the raw text as typed it into the novel documents.
See :ref:`a_manuscript` for more details.
.. versionadded:: 2.1
You can now define multiple build definitions in the **Build Manuscript** tool. This allows you
to define specific settings for various types of draft documents, outline documents, and
manuscript formats. See :ref:`a_manuscript` for more details.
@@ -220,8 +254,8 @@ Project Storage
The files of a novelWriter project are stored in a dedicated project folder. The project structure
is kept in a file at the root of this folder called ``nwProject.nwx``. All the document files and
associated meta data is stored in other folders below the project folder. For more technical
details about what all the files mean and how they're organised, see the :ref:`a_storage` section.
associated meta data are stored in other folders below the project folder. For a more technical
description of what all the files mean and how they're organised, see the :ref:`a_storage` section.
This way of storing data was chosen for several reasons.
@@ -233,17 +267,19 @@ crashes.
Secondly, having multiple small files means it is very easy to synchronise them between computers
with standard file synchronisation tools.
Thirdly, if you use version control software to track the changes to your project, the file formats
used for the files are well suited. All the JSON documents have line breaks and indents as well,
which makes it easier to track them with version control software.
Thirdly, if you use `version control`_ software to track the changes to your project, the file
formats used for the files are well suited. All the JSON documents have line breaks and indents as
well, which makes it easier to track them with version control software.
.. note::
Since novelWriter has to keep track of a bunch of files and folders when a project is open, it
may not run well on some virtual file systems. A file or folder must be accessible with exactly
the path it was saved or created with. An example where this is not the case is the way Google
Drive is mapped on Linux Gnome desktops using gvfs/gio.
.. caution::
You should not add additional files to the project folder yourself. Nor should you, as a rule,
manually edit files within it. If you really must manually edit the text files, e.g. with some
automated task you want to perform, you need to rebuild the :term:`Project Index` when you open

View File

@@ -14,6 +14,10 @@ In addition to formatting codes, novelWriter allows for comments, a synopsis tag
keyword and value sets used for :term:`tags<tag>` and :term:`references<reference>`. There are also
some codes that apply to whole paragraphs. See :ref:`a_fmt_text` for more details.
URLs should also be highlighted and become clickable. However, only URLs starting with "http" or
"https" are recognised. In the editor, you must hold down the :kbd:`Ctrl` key when clicking a URL
to follow it.
.. _a_fmt_hlight:
@@ -76,14 +80,13 @@ For headings level one through three, adding a ``!`` modifies the meaning of the
``#! Title Text``
This tells the build tool that the level one heading is intended to be used for the novel or
notes folder's main title, like for instance on the front page. When building the manuscript,
this will use a different styling and will exclude the title from, for instance, a Table of
Contents in Libre Office.
notes folder's main title, like for instance the novel title on the cover page. When building
the manuscript, this will use a different styling.
``##! Title Text``
This tells the build tool to not assign a chapter number to this chapter title if automatic
chapter numbers are being used. Such titles are useful for a prologue for instance. See
:ref:`a_struct_heads_unnum` for more details.
chapter numbers are being used. Such titles are useful for prologues and epilogues for instance.
See :ref:`a_struct_heads_unnum` for more details.
``###! Title Text``
This is an alternative scene heading that can be formatted differently in the **Manuscript
@@ -92,6 +95,7 @@ For headings level one through three, adding a ``!`` modifies the meaning of the
details.
.. note::
The space after the ``#`` or ``!`` character is mandatory. The syntax highlighter will change
colour and font size when the heading is correctly formatted.
@@ -118,15 +122,23 @@ Non-breaking spaces are highlighted by the syntax highlighter with an alternate
background, depending on the selected theme.
.. tip::
Non-breaking spaces are for instance the correct type of space to separate a number from its
unit. Generally, non-breaking spaces are used to prevent line wrapping algorithms from adding
line breaks where they shouldn't.
.. note::
You should not manually apply text indentation in your paragraphs in the editor. These can be
added automatically in the **Manuscript Build** tool if you want to have them in the manuscript.
Each new paragraph should be separated from the previous content by an empty line and with no
indentation.
.. _a_fmt_emph:
Text Emphasis
=============
Text Emphasis with Markdown
===========================
A minimal set of Markdown text emphasis styles are supported for text paragraphs.
@@ -156,10 +168,11 @@ In addition, the following rules apply:
outside, they violate rule 2.
4. Text emphasis does not span past line breaks. If you need to add emphasis to multiple lines or
paragraphs, you must apply it to each of them in turn.
5. Text emphasis can only be used in plain paragraphs. Comments, titles, and meta data tags don't
5. Text emphasis can only be used in comments and paragraphs. Headings and meta data tags don't
allow for formatting, and any formatting markup will be rendered as-is.
.. tip::
novelWriter supports standard escape syntax for the emphasis markup characters in case the
editor misunderstands your intended usage of them. That is, ``\*``, ``\_`` and ``\~`` will
generate a plain ``*``, ``_`` and ``~``, respectively, without interpreting them as part of the
@@ -168,8 +181,8 @@ In addition, the following rules apply:
.. _a_fmt_shortcodes:
Extended Formatting with Shortcodes
===================================
Formatting with Shortcodes
==========================
For additional formatting options, you can use shortcodes. Shortcodes is a form of in-line codes
that can be used to change the format of the text that follows and opening code, and last until
@@ -197,6 +210,13 @@ word if you need to. You can also freely combine them to form more complex forma
The shortcodes are available from the **Format** menu and in the editor toolbar, which can be
activated by clicking the left-most icon button in the editor header.
.. note::
Shortcodes are not processed until you generate a preview or generate a manuscript document. So
there is no highlighting of the text between the formatting markers. There is also no check that
your markers make sense. You must ensure that you have both the opening and closing formatting
markers where you want them.
.. versionadded:: 2.2
@@ -209,52 +229,110 @@ In addition to the above formatting features, novelWriter also allows for commen
The text of a comment is always ignored by the word counter. The text can also be filtered out
when building the manuscript or viewing the document.
The first word of a comment, followed by a colon, can be one of a small set of modifiers that
indicates the comment is intended for a specific purpose. For instance, if the comment starts with
The first word of a comment, followed by a colon, can be one of a set of modifiers that indicates
the comment is intended for a specific purpose. For instance, if the comment starts with
``Synopsis:``, the comment is treated in a special manner and will show up in the
:ref:`a_ui_outline` in a dedicated column. The word ``synopsis`` is not case sensitive. If it is
correctly formatted, the syntax highlighter will indicate this by altering the colour of the word.
The different styles of comments are as follows:
``% Comment text ...``
``% Your comment text ...``
This is a comment. The text is not rendered by default (this can be overridden), seen in the
document viewer, or counted towards word counts. It is intended for you to make notes in your
text for your own sake, whatever that may be, that isn't part of the story text. This is the
general format of a comment.
``%Synopsis: Comment text ...``
``%Synopsis: Your synopsis text ...``
This is a synopsis comment. It is generally treated in the same way as a regular comment, except
that it is also captured by the indexing algorithm and displayed in the :ref:`a_ui_outline`. It
can also be filtered separately when building the project to for instance generate an outline
document of the whole project.
``%Short: Comment text ...``
``%Short: Your short description ...``
This is a short description comment. It is identical to the synopsis comment (they are
interchangeable), but is intended to be used for project notes. The text shows up in the
Reference panel below the document viewer in the last column labelled **Short Description**.
``%~ Comment text ...``
This can be used to exclude story text from your manuscript without having to delete it from
your text. Comments with the ``~`` will *never* be included in the manuscript, even if you have
chosen to include comments in it. That is the main difference between these two formats.
``%Footnote.<key>: Your footnote text ...``
This is a special comment assigned to a footnote marker. See :ref:`a_fmt_footnote` for how to
use them in your text.
.. note::
Only one comment can be flagged as a synopsis or short comment for each heading. If multiple
comments are flagged as synopsis or short comments, the last one will be used and the rest
ignored.
.. _a_fmt_footnote:
Footnotes
=========
Footnotes are added with a shortcode, paired with a matching comment for the actual footnote text.
The matching is done with a key that links the two. If you insert a footnote from the **Insert**
menu, a unique key is generated for you.
The insert feature will add the footnote shortcode marker at the position of your cursor in the
text, and create the associated footnote comment right after the paragraph, and move the cursor
there so you can immediately start typing the footnote text.
The footnote comment can be anywhere in the document, so if you wish to move them to, say, the
bottom of the text, you are free to do so.
Footnote keys are only required to be unique within a document, so if you copy, move or merge text,
you must make sure the keys are not duplicated. If you use the automatically generated keys from
the **Insert** menu, they are unique among all indexed documents. They are not guaranteed to be
unique against footnotes in the Archive or Trash folder though, but the chance of accidentally
generating the same key twice in a project is relatively small in the first place (1 in 810 000).
This is what a footnote inserted into a paragraph may look like when completed:
.. code-block:: md
This is a text paragraph with a footnote[footnote:fn1] in the middle.
%Footnote.fn1: This is the text of the footnote.
.. versionadded:: 2.5
.. _a_fmt_ignore:
Ignored Text
============
If you want to completely ignore some of the text in your documents, but are not ready to delete
it, you can add ``%~`` before the text paragraph or line. This will cause novelWriter to skip the
text entirely when generating previews or building manuscripts.
This is a better way of removing text than converting them to regular comments, as you may want to
include regular comments in your previews or draft manuscript.
You can toggle the ignored text feature on and off for a paragraph by pressing :kbd:`Ctrl+Shift+D`
on your keyboard with your cursor somewhere in the paragraph.
Example:
.. code-block:: md
%~ This text is ignored.
This text is a regular paragraph.
.. _a_fmt_tags:
Tags and References
===================
The document editor supports a set of keywords used for setting tags, and making references between
documents.
documents based on those tags.
Tags use the keyword ``@tag:`` to define a tag. The tag can be set once per section defined by a
heading. Setting it multiple times under the same heading will just override the previous setting.
You must use the keyword ``@tag:`` to define a tag. The tag can be set once per section defined by
a heading. Setting it multiple times under the same heading will just override the previous
setting.
``@tag: value``
A tag keyword followed by the tag value, like for instance the name of a character.
@@ -301,11 +379,43 @@ Examples:
"``> Left/right indented text <``", "The text has both margins increased."
.. note::
The text editor will not show the alignment and indentation live. But the viewer will show them
when you open the document there. It will of course also be reflected in the document generated
from the manuscript build tool as long as the format supports paragraph alignment.
Alignment with Line Breaks
--------------------------
If you have line breaks in the paragraph, the markers for all the lines are combined and used for
the entire paragraph. For the following text, all lines will be centred:
.. code-block:: md
>> I am the very model of a modern Major-General
I've information vegetable, animal, and mineral
I know the kings of England, and I quote the fights historical
From Marathon to Waterloo, in order categorical <<
Alignment with First Line Indent
--------------------------------
If you have first line indent enabled in your Manuscript build settings, you probably want to
disable it for text in verses. Adding any alignment tags will cause the first line indent to be
switched off for that paragraph.
The following text will always be aligned against the left margin:
.. code-block:: md
I am the very model of a modern Major-General <<
I've information vegetable, animal, and mineral
I know the kings of England, and I quote the fights historical
From Marathon to Waterloo, in order categorical
.. _a_fmt_break:
Vertical Space and Page Breaks
@@ -326,6 +436,7 @@ If you need to add a page break somewhere, put the text ``[new page]`` on a line
the text you wish to start on a new page.
.. note::
The page break code is applied to the text that follows it. It adds a "page break before" mark
to the text when exporting to HTML or Open Document. This means that a ``[new page]`` which has
no text following it, it will not result in a page break.
@@ -344,3 +455,16 @@ the text you wish to start on a new page.
[new page]
This text will start on a new page if the build format has pages.
.. _a_fmt_stats:
Inserting Word Counts in the Text
=================================
The cover page of a manuscript normally has the word count stated on it. Any statistics value
collected by novelWriter can be inserted into any document. You can generate the code for this from
the **Insert** menu under **Word/Character Count**.
The value inserted is the actual count for your entire manuscript, so it is not populated until you
run the **Manuscript Build** tool. Until then they will show up as "0" in the viewer panel.

View File

@@ -54,7 +54,8 @@ At the top of the project tree, you will find a set of buttons.
* The next two buttons can be used to move items up and down in the project tree. This is the only
way to move root folders.
* The next button opens a dropdown menu for adding new items to the tree. This includes root
folders. You can also activate this dropdown menu by pressing :kbd:`Ctrl+N`.
folders and template documents. You can also activate this dropdown menu by pressing
:kbd:`Ctrl+N`.
* The last button is a menu of further actions you can apply to the project tree.
Below the project tree you will find a small details panel showing the full information of the
@@ -62,6 +63,7 @@ currently selected item. This panel also includes the latest paragraph and chara
addition to the word count.
.. tip::
If you want to set the label of a document to be the same as a header within it, you can
right-click a header in the document when it is open in the editor and select
:guilabel:`Set as Document Name` from the context menu.
@@ -139,23 +141,19 @@ lives in. If it's in a **Novel** type folder, it uses the "Status" flag, otherwi
Project Tree Drag & Drop
------------------------
The project tree allows drag & drop to a certain extent to allow you to reorder your documents and
folders. Moving a document in the project tree will affect the text's position when you assemble
your manuscript in the **Manuscript Build** tool.
The project tree allows drag & drop to allow you to reorder your documents and folders. Moving a
document in the project tree will affect the text's position when you assemble your manuscript in
the **Manuscript Build** tool.
.. versionadded:: 2.2
You can now select multiple items in the project tree by holding down the :kbd:`Ctrl` or
:kbd:`Shift` key while selecting items.
You can drag and drop documents and regular folders, but not root folders. If you select multiple
items, they can only be dragged and dropped if they are siblings. That is, they have the same
parent item in the project. This limitation is due to the way drag and drop is implemented in the
user interface framework novelWriter is built upon.
Documents and their folders can be rearranged freely within their root folders. If you move a
**Novel Document** out of a **Novel** folder, it will be converted to a **Project Note**. Notes can
be moved freely between all root folders, but keep in mind that if you move a note into a **Novel**
type root folder, its "Importance" setting will be switched with a "Status" setting. See
type root folder, its "Importance" setting will be replaced by a "Status" setting. See
:ref:`a_ui_tree_status`. The old value will not be overwritten though, and should be restored if
you move it back at some point.
@@ -163,6 +161,10 @@ Root folders in the project tree cannot be dragged and dropped at all. If you wa
you can move them up or down with respect to each other from the arrow buttons at the top of the
project tree, or by pressing :kbd:`Ctrl+Up` or :kbd:`Ctrl+Down` when they are selected.
.. tip::
You can drag and drop documents onto the editor or viewer panel to open them.
.. _a_ui_tree_novel:
@@ -179,6 +181,7 @@ the view in the **Outline View**. It is convenient when you want to browse the s
story itself rather than the document files.
.. note::
You cannot reorganise the entries in the novel view, or add any new documents, as that would
imply restructuring the content of the document files themselves. Any such editing must be done
in the project tree. However, you can add new headings to existing documents, or change
@@ -207,6 +210,7 @@ You can select which novel folder to display from the dropdown menu. You can opt
to show a combination of all novel folders.
.. note::
Since the internal structure of the novel does not depend directly on the folder and document
structure of the project tree, this view will not necessarily look the same, depending on how
you choose to organise your documents. See the :ref:`a_struct` page for more details.
@@ -217,6 +221,7 @@ the menu button in the toolbar. The order of the columns can also be rearranged
a different position. You column settings are saved between sessions on a per-project basis.
.. note::
The **Title** column cannot be disabled or moved.
The information viewed in the outline is based on the :term:`project index`. While novelWriter does

View File

@@ -26,7 +26,7 @@ Main Window Shortcuts
":kbd:`F9`", "Re-build the project's index"
":kbd:`F11`", "Toggle full screen mode"
":kbd:`Ctrl+,`", "Open the **Preferences** dialog"
":kbd:`Ctrl+E`", "Switch focus to the document editor"
":kbd:`Ctrl+E`", "Switch or toggle focus for the editor or viewer"
":kbd:`Ctrl+T`", "Switch or toggle focus for the project tree or novel view"
":kbd:`Ctrl+Q`", "Exit novelWriter"
":kbd:`Ctrl+Shift+,`", "Open the **Project Settings** dialog"
@@ -165,6 +165,7 @@ a key or key combination for the inserted content.
":kbd:`Ctrl+K`, :kbd:`G`", "Insert a ``@tag`` keyword"
":kbd:`Ctrl+K`, :kbd:`H`", "Insert a short description comment"
":kbd:`Ctrl+K`, :kbd:`L`", "Insert a ``@location`` keyword"
":kbd:`Ctrl+K`, :kbd:`M`", "Insert a ``@mention`` keyword"
":kbd:`Ctrl+K`, :kbd:`O`", "Insert an ``@object`` keyword"
":kbd:`Ctrl+K`, :kbd:`P`", "Insert a ``@plot`` keyword"
":kbd:`Ctrl+K`, :kbd:`S`", "Insert a synopsis comment"

View File

@@ -18,10 +18,10 @@ Editing a Document
A screenshot of the Document Editor panel.
To edit a document, double-click it in the project tree, or press the :kbd:`Return` key while
having it selected. This will open the document in the document editor. The editor uses a
Markdown-like syntax for some features, and a novelWriter-specific syntax for others. The syntax
format is described in the :ref:`a_fmt` chapter.
To edit a document, double-click it in the project tree, press the :kbd:`Return` key while having
it selected, or drag and drop it onto the editor panel. This will open the document in the document
editor. The editor uses a Markdown-like syntax for some features, and a novelWriter-specific syntax
for others. The syntax format is described in the :ref:`a_fmt` chapter.
The editor has a maximise button, which toggles the **Focus Mode**, and a close button in the
top--right corner. On the top--left side you will find a tools button that opens a toolbar with a
@@ -33,6 +33,7 @@ header at the top of the edit or view panel. Optionally, the full project path t
be shown. This can be set in **Preferences**.
.. tip::
Clicking on the document title bar will select the document in the project tree and thus reveal
its location there, making it easier to find in a large project.
@@ -40,6 +41,24 @@ Any :term:`references<reference>` in the editor can be opened in the viewer by m
the label and pressing :kbd:`Ctrl+Return`. You can also control-click them with your mouse.
Spell Checking
--------------
A third party library called Enchant is used for spell checking in the editor. The controls for
spell checking can be found in the **Tools** menu. You can also set spell checking language in
**Project Settings**.
This spell checking library comes with support for custom words that you can add by selecting
"Add Word to Dictionary" from the context menu when a word is highlighted by the spell checker as
misspelled. The custom words are managed on a per-project basis, and can the list of words can be
edited from the **Project Word List** tool available from the **Tools** menu.
.. note::
Generally, spell checking dictionaries are collected from your operating system, but on Windows
they are not. See :ref:`a_custom_dict` for how to add spell checking dictionaries on Windows.
Editor Auto-Completer
---------------------
@@ -61,14 +80,14 @@ Viewing a Document
A screenshot of the Document Viewer panel.
Any document in the project tree can also be viewed in parallel in a right hand side document
viewer. To view a document, press :kbd:`Ctrl+R`, or select **View Document** in the menu or context
menu. If you have a middle mouse button, middle-clicking on the document will also open it in the
viewer.
viewer. To view a document, press :kbd:`Ctrl+R`, select **View Document** in the menu or context
menu, or drag and drop the document onto the viewer panel. If you have a middle mouse button,
middle-clicking on the document will also open it in the viewer.
The document viewed does not have to be the same document as the one currently being edited.
However, If you *are* viewing the same document, pressing :kbd:`Ctrl+R` again will update the
document with your latest changes. You can also press the reload button in the top--right corner of
the viewer panel, next to the close button, to achieve the same thing.
However, If you *are* viewing the same document, pressing :kbd:`Ctrl+R` from the editor will update
the document with your latest changes. You can also press the reload button in the top--right
corner of the viewer panel, next to the close button, to achieve the same thing.
In the viewer :term:`references<reference>` become clickable links. Clicking them will replace the
content of the viewer with the content of the document the reference points to.
@@ -77,7 +96,7 @@ The document viewer keeps a history of viewed documents, which you can navigate
buttons in the top--left corner of the viewer. If your mouse has backward and forward navigation
buttons, these can be used as well. They work just like the backward and forward features in a
browser. The left-most button is a dropdown menu for quickly navigation between headings in the
document.
document. The edit button on the right will open the viewed document in the editor.
At the bottom of the view panel there is a **References** panel. (If it is hidden, click the button
on the left side of the footer area to reveal it.) This panel contains a References tab with links
@@ -86,12 +105,14 @@ you have created root folders and tags for various story elements like character
these will appear as additional tabs in this panel.
.. note::
The **References** panel relies on an up-to-date :term:`index<project index>` of the project.
The index is maintained automatically. However, if anything is missing, or seems wrong, the
index can always be rebuilt by selecting **Rebuild Index** from the **Tools** menu, or by
pressing :kbd:`F9`.
.. versionadded:: 2.2
The reference panel was redesigned and the additional tabs added.
@@ -118,10 +139,8 @@ document when reaching the end. There is also a switch that will try to match th
when the replacement is made. That is, it will try to keep the word upper, lower, or capitalised to
match the word being replaced.
The regular expression search is somewhat dependant on which version of Qt your system has. If you
have Qt 5.13 or higher, there is better support for Unicode symbols in the search.
.. seealso::
For more information on the capabilities of the Regular Expression option, see the Qt
documentation for the `QRegularExpression <https://doc.qt.io/qt-5/qregularexpression.html>`_
class.
@@ -136,6 +155,7 @@ A few auto-replace features are supported by the editor. You can control every a
auto-replace feature from **Preferences**. You can also disable this feature entirely if you wish.
.. tip::
If you don't like auto-replacement, all symbols inserted by this feature are also available in
the :guilabel:`Insert` menu, and via :ref:`a_kb_ins`. You may also be using a `Compose Key`_
setup, which means you may not need the auto-replace feature at all.
@@ -147,6 +167,22 @@ always accurate. Especially distinguishing between closing single quote and apos
tricky for languages that use the same symbol for these, like English does.
.. tip::
If the auto-replace feature changes a symbol when you did not want it to change, pressing
:kbd:`Ctrl+Z` once after the auto-replacement will undo it without undoing the character
you typed before it.
.. _a_ui_edit_dialogue:
Dialogue Highlighting
=====================
The editor and viewer can optionally highlight character dialogue in your novel documents. By
default, this feature is set to display text in double quotes as dialogue. In **Preferences**, you
can change this to support various other dialogue markers that instead uses dashes to indicate
dialogue, like those used in Spanish, Portuguese, Polish, etc.
Various styles are supported by changing the settings under "Text Highlighting" in **Preferences**.
It is also possible to include the dialogue highlighting in your manuscripts.

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

5102
i18n/nw_pl_PL.ts Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

5067
i18n/nw_ru_RU.ts Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -47,19 +47,3 @@ QT_TRANSLATE_NOOP("QPlatformTheme", "Help")
QT_TRANSLATE_NOOP("QPlatformTheme", "Apply")
QT_TRANSLATE_NOOP("QPlatformTheme", "Reset")
QT_TRANSLATE_NOOP("QPlatformTheme", "Restore Defaults")
# QWizard
# =======
QT_TRANSLATE_NOOP("QWizard", "Go Back")
QT_TRANSLATE_NOOP("QWizard", "< &Back")
QT_TRANSLATE_NOOP("QWizard", "Continue")
QT_TRANSLATE_NOOP("QWizard", "&Next")
QT_TRANSLATE_NOOP("QWizard", "&Next >")
QT_TRANSLATE_NOOP("QWizard", "Commit")
QT_TRANSLATE_NOOP("QWizard", "Done")
QT_TRANSLATE_NOOP("QWizard", "&Finish")
QT_TRANSLATE_NOOP("QWizard", "Cancel")
QT_TRANSLATE_NOOP("QWizard", "Cancel")
QT_TRANSLATE_NOOP("QWizard", "Help")
QT_TRANSLATE_NOOP("QWizard", "&Help")

View File

@@ -3,10 +3,10 @@ novelWriter – Init File
=======================
File History:
Created: 2018-09-22 [0.0.1]
Created: 2018-09-22 [0.0.1] main
This file is a part of novelWriter
Copyright 2018–2024, Veronica Berglyd Olsen
Copyright (C) 2018 Veronica Berglyd Olsen and novelWriter contributors
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -32,7 +32,7 @@ from typing import TYPE_CHECKING
from PyQt5.QtWidgets import QApplication, QErrorMessage
from novelwriter.config import Config
from novelwriter.error import exceptionHandler, logException
from novelwriter.error import exceptionHandler
from novelwriter.shared import SharedData
if TYPE_CHECKING: # pragma: no cover
@@ -47,9 +47,9 @@ __license__ = "GPLv3"
__author__ = "Veronica Berglyd Olsen"
__maintainer__ = "Veronica Berglyd Olsen"
__email__ = "code@vkbo.net"
__version__ = "2.4"
__hexversion__ = "0x020400f0"
__date__ = "2024-04-20"
__version__ = "2.6"
__hexversion__ = "0x020600f0"
__date__ = "2025-01-26"
__status__ = "Stable"
__domain__ = "novelwriter.io"
@@ -60,10 +60,26 @@ logger = logging.getLogger(__name__)
# Main Program
##
# Global config and data singletons
# Globals Singletons
CONFIG = Config()
SHARED = SharedData()
# ANSI Colours
C_RED = "\033[91m"
C_GREEN = "\033[92m"
C_YELLOW = "\033[93m"
C_BLUE = "\033[94m"
C_WHITE = "\033[97m"
C_END = "\033[0m"
# Log Formats
L_TIME = "[{asctime:}]"
L_FILE = "{filename:>18}"
L_LINE = "{lineno:<4d}"
L_LVLP = "{levelname:8}"
L_LVLC = "{levelname:17}"
L_TEXT = "{message:}"
def main(sysArgs: list | None = None) -> GuiMain | None:
"""Parse command line, set up logging, and launch main GUI."""
@@ -77,6 +93,7 @@ def main(sysArgs: list | None = None) -> GuiMain | None:
"version",
"info",
"debug",
"color",
"style=",
"config=",
"data=",
@@ -98,6 +115,7 @@ def main(sysArgs: list | None = None) -> GuiMain | None:
" -v, --version Print program version and exit.\n"
" --info Print additional runtime information.\n"
" --debug Print debug output. Includes --info.\n"
" --color Add ANSI colors to log output.\n"
" --meminfo Show memory usage information in the status bar.\n"
" --style= Sets Qt5 style flag. Defaults to 'Fusion'.\n"
" --config= Alternative config file.\n"
@@ -106,12 +124,12 @@ def main(sysArgs: list | None = None) -> GuiMain | None:
# Defaults
logLevel = logging.WARN
logFormat = "{levelname:8} {message:}"
fmtFlags = 0b00
confPath = None
dataPath = None
testMode = False
qtStyle = "Fusion"
cmdOpen = None
qtStyle = "Fusion"
cmdOpen = None
# Parse Options
try:
@@ -135,8 +153,10 @@ def main(sysArgs: list | None = None) -> GuiMain | None:
logLevel = logging.INFO
elif inOpt == "--debug":
CONFIG.isDebug = True
fmtFlags = fmtFlags | 0b10
logLevel = logging.DEBUG
logFormat = "[{asctime:}] {filename:>18}:{lineno:<4d} {levelname:8} {message:}"
elif inOpt == "--color":
fmtFlags = fmtFlags | 0b01
elif inOpt == "--style":
qtStyle = inArg
elif inOpt == "--config":
@@ -148,13 +168,32 @@ def main(sysArgs: list | None = None) -> GuiMain | None:
elif inOpt == "--meminfo":
CONFIG.memInfo = True
if fmtFlags & 0b01:
# This will overwrite the default level names, and also ensure that
# they can be converted back to integer levels
logging.addLevelName(logging.DEBUG, f"{C_BLUE}DEBUG{C_END}")
logging.addLevelName(logging.INFO, f"{C_GREEN}INFO{C_END}")
logging.addLevelName(logging.WARNING, f"{C_YELLOW}WARNING{C_END}")
logging.addLevelName(logging.ERROR, f"{C_RED}ERROR{C_END}")
logging.addLevelName(logging.CRITICAL, f"{C_RED}CRITICAL{C_END}")
# Determine Log Format
if fmtFlags == 0b00:
logFmt = f"{L_LVLP} {L_TEXT}"
elif fmtFlags == 0b01:
logFmt = f"{L_LVLC} {L_TEXT}"
elif fmtFlags == 0b10:
logFmt = f"{L_TIME} {L_FILE}:{L_LINE} {L_LVLP} {L_TEXT}"
elif fmtFlags == 0b11:
logFmt = f"{L_TIME} {C_BLUE}{L_FILE}{C_END}:{C_WHITE}{L_LINE}{C_END} {L_LVLC} {L_TEXT}"
# Setup Logging
pkgLogger = logging.getLogger(__package__)
pkgLogger.setLevel(logLevel)
if len(pkgLogger.handlers) == 0:
# Make sure we only create one logger (mostly an issue with tests)
cHandle = logging.StreamHandler()
cHandle.setFormatter(logging.Formatter(fmt=logFormat, style="{"))
cHandle.setFormatter(logging.Formatter(fmt=logFmt, style="{"))
pkgLogger.addHandler(cHandle)
logger.info("Starting novelWriter %s (%s) %s", __version__, __hexversion__, __date__)
@@ -162,19 +201,19 @@ def main(sysArgs: list | None = None) -> GuiMain | None:
# Check Packages and Versions
errorData = []
errorCode = 0
if sys.hexversion < 0x030800f0:
if sys.hexversion < 0x030900f0:
errorData.append(
"At least Python 3.8 is required, found %s" % CONFIG.verPyString
"At least Python 3.9 is required, found %s" % CONFIG.verPyString
)
errorCode |= 0x04
if CONFIG.verQtValue < 0x050a00:
if CONFIG.verQtValue < 0x050f00:
errorData.append(
"At least Qt5 version 5.10 is required, found %s" % CONFIG.verQtString
"At least Qt5 version 5.15.0 is required, found %s" % CONFIG.verQtString
)
errorCode |= 0x08
if CONFIG.verPyQtValue < 0x050a00:
if CONFIG.verPyQtValue < 0x050f00:
errorData.append(
"At least PyQt5 version 5.10 is required, found %s" % CONFIG.verPyQtString
"At least PyQt5 version 5.15.0 is required, found %s" % CONFIG.verPyQtString
)
errorCode |= 0x10
@@ -198,52 +237,46 @@ def main(sysArgs: list | None = None) -> GuiMain | None:
# Finish initialising config
CONFIG.initConfig(confPath, dataPath)
if CONFIG.osDarwin:
if sys.platform == "darwin":
try:
from Foundation import NSBundle # type: ignore
bundle = NSBundle.mainBundle()
info = bundle.localizedInfoDictionary() or bundle.infoDictionary()
info["CFBundleName"] = "novelWriter"
except Exception:
logger.error("Failed to set application name")
logException()
elif CONFIG.osWindows:
pass # Quietly ignore error
elif sys.platform == "win32":
try:
import ctypes
appID = f"io.novelwriter.{__version__}"
ctypes.windll.shell32.SetCurrentProcessExplicitAppUserModelID(appID) # type: ignore
except Exception:
logger.error("Failed to set application name")
logException()
pass # Quietly ignore error
# Import GUI (after dependency checks), and launch
from novelwriter.guimain import GuiMain
if testMode:
nwGUI = GuiMain()
return nwGUI
# Only used for testing where the test framework creates the app
CONFIG.loadConfig()
return GuiMain()
else:
nwApp = QApplication([CONFIG.appName, (f"-style={qtStyle}")])
nwApp.setApplicationName(CONFIG.appName)
nwApp.setApplicationVersion(__version__)
nwApp.setOrganizationDomain(__domain__)
nwApp.setOrganizationName(__domain__)
nwApp.setDesktopFileName(CONFIG.appName)
app = QApplication([CONFIG.appName, (f"-style={qtStyle}")])
app.setApplicationName(CONFIG.appName)
app.setApplicationVersion(__version__)
app.setOrganizationDomain(__domain__)
app.setOrganizationName(__domain__)
app.setDesktopFileName(CONFIG.appName)
# Connect the exception handler before making the main GUI
sys.excepthook = exceptionHandler
# Connect the exception handler before making the main GUI
sys.excepthook = exceptionHandler
# Run Config steps that require the QApplication
CONFIG.initLocalisation(nwApp)
CONFIG.setTextFont(CONFIG.textFont, CONFIG.textSize) # Makes sure these are valid
# Run Config steps that require the QApplication
CONFIG.loadConfig()
CONFIG.initLocalisation(app)
# Launch main GUI
nwGUI = GuiMain()
nwGUI.postLaunchTasks(cmdOpen)
# Launch main GUI
nwGUI = GuiMain()
nwGUI.postLaunchTasks(cmdOpen)
sys.exit(nwApp.exec())
return None
# END Function main
sys.exit(app.exec())

View File

@@ -1,18 +1,20 @@
{
"Synopsis": "Synopsis",
"Short Description": "Kurzbeschreibung",
"Footnotes": "Fußnoten",
"Comment": "Kommentar",
"Notes": "Notizen",
"Tag": "Schlagwort",
"Point of View": "Perspektive",
"Focus": "Mittelpunkt",
"Focus": "Fokus",
"Characters": "Charaktere",
"Plot": "Handlungen",
"Plot": "Handlung",
"Timeline": "Zeitleiste",
"Locations": "Schauplätze",
"Objects": "Objekte",
"Entities": "Organisationen",
"Custom": "Benutzerdefiniert",
"New Page": "Neue Seite",
"0": "Null",
"1": "Eins",
"2": "Zwei",

View File

@@ -1,6 +1,7 @@
{
"Synopsis": "Synopsis",
"Short Description": "Short Description",
"Footnotes": "Footnotes",
"Comment": "Comment",
"Notes": "Notes",
"Tag": "Tag",
@@ -13,6 +14,7 @@
"Objects": "Objects",
"Entities": "Entities",
"Custom": "Custom",
"New Page": "New Page",
"0": "Zero",
"1": "One",
"2": "Two",

View File

@@ -1,6 +1,7 @@
{
"Synopsis": "Synopsis",
"Short Description": "Short Description",
"Footnotes": "Footnotes",
"Comment": "Comment",
"Notes": "Notes",
"Tag": "Tag",
@@ -13,6 +14,7 @@
"Objects": "Objects",
"Entities": "Entities",
"Custom": "Custom",
"New Page": "New Page",
"0": "Zero",
"1": "One",
"2": "Two",

View File

@@ -1,6 +1,7 @@
{
"Synopsis": "Sinossi",
"Short Description": "Breve descrizione",
"Footnotes": "Note a piè pagina",
"Comment": "Commento",
"Notes": "Note",
"Tag": "Etichetta",
@@ -13,6 +14,7 @@
"Objects": "Oggetti",
"Entities": "Enti",
"Custom": "Personalizzato",
"New Page": "Nuova pagina",
"0": "Zero",
"1": "Uno",
"2": "Due",

View File

@@ -1,6 +1,7 @@
{
"Synopsis": "あらすじ",
"Short Description": "短い説明",
"Footnotes": "脚注",
"Comment": "コメント ",
"Notes": "ノート",
"Tag": "タグ",
@@ -13,6 +14,7 @@
"Objects": "オブジェクト",
"Entities": "エンティティ",
"Custom": "カスタム",
"New Page": "新規ページ",
"0": "零",
"1": "一",
"2": "二",

View File

@@ -1,6 +1,7 @@
{
"Synopsis": "Sammendrag",
"Short Description": "Kort beskrivelse",
"Footnotes": "Fotnoter",
"Comment": "Kommentar",
"Notes": "Notat",
"Tag": "Knagg",
@@ -13,6 +14,7 @@
"Objects": "Objekter",
"Entities": "Enheter",
"Custom": "Annet",
"New Page": "Ny side",
"0": "null",
"1": "én",
"2": "to",

View File

@@ -1,6 +1,7 @@
{
"Synopsis": "Synopsis",
"Short Description": "Korte beschrijving",
"Footnotes": "Voetnoten",
"Comment": "Opmerking",
"Notes": "Notities",
"Tag": "Label",
@@ -13,6 +14,7 @@
"Objects": "Objecten",
"Entities": "Entiteiten",
"Custom": "Aangepast",
"New Page": "Nieuwe pagina",
"0": "nul",
"1": "één",
"2": "twee",

View File

@@ -0,0 +1,118 @@
{
"Synopsis": "Streszczenie",
"Short Description": "Krótki opis",
"Footnotes": "Przypisy",
"Comment": "Komentarz",
"Notes": "Notatki",
"Tag": "Znacznik",
"Point of View": "Punkt widzenia",
"Focus": "Skupienie",
"Characters": "Postacie",
"Plot": "Fabuła",
"Timeline": "Oś czasu",
"Locations": "Miejsca",
"Objects": "Obiekty",
"Entities": "Podmioty",
"Custom": "Różne",
"New Page": "Nowa strona",
"0": "zero",
"1": "pierwszy",
"2": "drugi",
"3": "trzeci",
"4": "czwarty",
"5": "piąty",
"6": "szósty",
"7": "siódmy",
"8": "ósmy",
"9": "dziewiąty",
"10": "dziesiąty",
"11": "jedenasty",
"12": "dwunasty",
"13": "trzynasty",
"14": "czternasty",
"15": "piętnasty",
"16": "szesnasty",
"17": "siedemnasty",
"18": "osiemnasty",
"19": "dziewiętnasty",
"20": "dwudziesty",
"21": "dwudziesty pierwszy",
"22": "dwudziesty drugi",
"23": "dwudziesty Trzeci",
"24": "dwudziesty czwarty",
"25": "dwudziesty piąty",
"26": "dwudziesty szósty",
"27": "dwudziesty siódmy",
"28": "dwudziesty ósmy",
"29": "dwudziesty dziewiąty",
"30": "trzydziesty",
"31": "trzydziesty pierwszy",
"32": "trzydziesty drugi",
"33": "trzydziesty trzeci",
"34": "trzydziesty czwarty",
"35": "trzydziesty piąty",
"36": "trzydziesty szósty",
"37": "trzydziesty siódmy",
"38": "trzydziesty ósmy",
"39": "trzydziesty dziewiaty",
"40": "czterdziesty",
"41": "czterdziesty pierwszy",
"42": "czterdziesty drugi",
"43": "czterdziesty Trzeci",
"44": "czterdziesty czwarty",
"45": "czterdziesty piąty",
"46": "czterdziesty szósty",
"47": "czterdziesty siódmy",
"48": "czterdziesty ósmy",
"49": "czterdziesty dziewiąty",
"50": "pięćdziesiąty",
"51": "pięćdziesiąty pierwszy",
"52": "pięćdziesiąty drugi",
"53": "pięćdziesiąty trzeci",
"54": "pięćdziesiąty czwarty",
"55": "pięćdziesiąty piąty",
"56": "pięćdziesiąty szósty",
"57": "pięćdziesiąty siódmy",
"58": "pięćdziesiąty ósmy",
"59": "pięćdziesiąty dziewiąty",
"60": "sześćdziesiąty",
"61": "sześćdziesiąty pierwszy",
"62": "sześćdziesiąty drugi",
"63": "sześćdziesiąty trzeci",
"64": "sześćdziesiąty czwarty",
"65": "sześćdziesiąty piąty",
"66": "sześćdziesiąty szósty",
"67": "sześćdziesiąty siódmy",
"68": "sześćdziesiąty ósmy",
"69": "sześćdziesiąty dziewiąty",
"70": "siedemdziesiąty",
"71": "siedemdziesiąty pierwszy",
"72": "siedemdziesiąty drugi",
"73": "siedemdziesiąty trzeci",
"74": "siedemdziesiąty czwarty",
"75": "siedemdziesiąty piąty",
"76": "siedemdziesiąty szósty",
"77": "siedemdziesiąty siódmy",
"78": "siedemdziesiąty ósmy",
"79": "siedemdziesiąty dziewiąty",
"80": "osiemdziesiąty",
"81": "osiemdziesiąty pierwszy",
"82": "osiemdziesiąty drugi",
"83": "osiemdziesiąty trzeci",
"84": "osiemdziesiąty czwarty",
"85": "osiemdziesiąty piąty",
"86": "osiemdziesiąty szósty",
"87": "osiemdziesiąty siódmy",
"88": "osiemdziesiąty ósmy",
"89": "osiemdziesiąty dziewiąty",
"90": "dziewięćdziesiąty",
"91": "dziewięćdziesiąty pierwszy",
"92": "dziewięćdziesiąty drugi",
"93": "dziewięćdziesiąty trzeci",
"94": "dziewięćdziesiąty czwarty",
"95": "dziewięćdziesiąty piąty",
"96": "dziewięćdziesiąty szósty",
"97": "dziewięćdziesiąty siódmy",
"98": "dziewięćdziesiąty ósmy",
"99": "dziewięćdziesiąty dziewiąty"
}

View File

@@ -1,7 +1,8 @@
{
"Synopsis": "Sinopse",
"Short Description": "Descrição breve",
"Comment": "Comentários",
"Footnotes": "Notas de rodapé",
"Comment": "Comentário",
"Notes": "Notas",
"Tag": "Etiqueta",
"Point of View": "Ponto de vista",
@@ -13,6 +14,7 @@
"Objects": "Objetos",
"Entities": "Entidades",
"Custom": "Outros",
"New Page": "Nova página",
"0": "Zero",
"1": "Um",
"2": "Dois",
@@ -30,87 +32,87 @@
"14": "Quatorze",
"15": "Quinze",
"16": "Dezesseis",
"17": "Dezesete",
"17": "Dezessete",
"18": "Dezoito",
"19": "Dezenove",
"20": "Vinte",
"21": "Vinte e Um",
"22": "Vinte e Dois",
"23": "Vinte e Três",
"24": "Vinte e Quatro",
"25": "Vinte e Cinco",
"26": "Vinte e Seis",
"27": "Vinte e Sete",
"28": "Vinte e Oito",
"29": "Vinte e Nove",
"21": "Vinte e um",
"22": "Vinte e dois",
"23": "Vinte e três",
"24": "Vinte e quatro",
"25": "Vinte e cinco",
"26": "Vinte e seis",
"27": "Vinte e sete",
"28": "Vinte e oito",
"29": "Vinte e nove",
"30": "Trinta",
"31": "Trinta e Um",
"32": "Trinta e Dois",
"33": "Trinta e Três",
"34": "Trinta e Quatro",
"35": "Trinta e Cinco",
"36": "Trinta e Seis",
"37": "Trinta e Sete",
"38": "Trinta e Oito",
"39": "Trinta e Nove",
"31": "Trinta e um",
"32": "Trinta e dois",
"33": "Trinta e três",
"34": "Trinta e quatro",
"35": "Trinta e cinco",
"36": "Trinta e seis",
"37": "Trinta e sete",
"38": "Trinta e oito",
"39": "Trinta e nove",
"40": "Quarenta",
"41": "Quarenta e Um",
"42": "Quarenta e Dois",
"43": "Quarenta e Três",
"44": "Quarenta e Quatro",
"45": "Quarenta e Cinco",
"46": "Quarenta e Seis",
"47": "Quarenta e Sete",
"48": "Quarenta e Oito",
"49": "Quarenta e Nove",
"41": "Quarenta e um",
"42": "Quarenta e dois",
"43": "Quarenta e três",
"44": "Quarenta e quatro",
"45": "Quarenta e cinco",
"46": "Quarenta e seis",
"47": "Quarenta e sete",
"48": "Quarenta e oito",
"49": "Quarenta e nove",
"50": "Cinquenta",
"51": "Cinquenta e Um",
"52": "Cinquenta e Dois",
"53": "Cinquenta e Três",
"54": "Cinquenta e Quatro",
"55": "Cinquenta e Cinco",
"56": "Cinquenta e Seis",
"57": "Cinquenta e Sete",
"58": "Cinquenta e Oito",
"59": "Cinquenta e Nove",
"51": "Cinquenta e um",
"52": "Cinquenta e dois",
"53": "Cinquenta e três",
"54": "Cinquenta e quatro",
"55": "Cinquenta e cinco",
"56": "Cinquenta e seis",
"57": "Cinquenta e sete",
"58": "Cinquenta e oito",
"59": "Cinquenta e nove",
"60": "Sessenta",
"61": "Sessenta e Um",
"62": "Sessenta e Dois",
"63": "Sessenta e Três",
"64": "Sessenta e Quatro",
"65": "Sessenta e Cinco",
"66": "Sessenta e Seis",
"67": "Sessenta e Sete",
"68": "Sessenta e Oito",
"69": "Sessenta e Nove",
"61": "Sessenta e um",
"62": "Sessenta e dois",
"63": "Sessenta e três",
"64": "Sessenta e quatro",
"65": "Sessenta e cinco",
"66": "Sessenta e seis",
"67": "Sessenta e sete",
"68": "Sessenta e oito",
"69": "Sessenta e nove",
"70": "Setenta",
"71": "Setenta e Um",
"72": "Setenta e Dois",
"73": "Setenta e Três",
"74": "Setenta e Quatro",
"75": "Setenta e Cinco",
"76": "Setenta e Seis",
"77": "Setenta e Sete",
"78": "Setenta e Oito",
"79": "Setenta e Nove",
"71": "Setenta e um",
"72": "Setenta e dois",
"73": "Setenta e três",
"74": "Setenta e quatro",
"75": "Setenta e cinco",
"76": "Setenta e seis",
"77": "Setenta e sete",
"78": "Setenta e oito",
"79": "Setenta e nove",
"80": "Oitenta",
"81": "Oitenta e Um",
"82": "Oitenta e Dois",
"83": "Oitenta e Três",
"84": "Oitenta e Quatro",
"85": "Oitenta e Cinco",
"86": "Oitenta e Seis",
"87": "Oitenta e Sete",
"88": "Oitenta e Oito",
"89": "Oitenta e Nove",
"81": "Oitenta e um",
"82": "Oitenta e dois",
"83": "Oitenta e três",
"84": "Oitenta e quatro",
"85": "Oitenta e cinco",
"86": "Oitenta e seis",
"87": "Oitenta e sete",
"88": "Oitenta e oito",
"89": "Oitenta e nove",
"90": "Noventa",
"91": "Noventa e Um",
"92": "Noventa e Dois",
"93": "Noventa e Três",
"94": "Noventa e Quatro",
"95": "Noventa e Cinco",
"96": "Noventa e Seis",
"97": "Noventa e Sete",
"98": "Noventa e Oito",
"99": "Noventa e Nove"
"91": "Noventa e um",
"92": "Noventa e dois",
"93": "Noventa e três",
"94": "Noventa e quatro",
"95": "Noventa e cinco",
"96": "Noventa e seis",
"97": "Noventa e sete",
"98": "Noventa e oito",
"99": "Noventa e nove"
}

View File

@@ -1,7 +1,18 @@
{
"Synopsis": "Сводка",
"Short Description": "Краткое описание",
"Comment": "Комментарий",
"Notes": "Заметки",
"Tag": "Тэг",
"Point of View": "Точка зрения",
"Focus": "Фокус",
"Characters": "Персонажей",
"Plot": "Сюжет",
"Timeline": "Хронология",
"Locations": "Локации",
"Objects": "Объекты",
"Entities": "Сущности",
"Custom": "Другое",
"0": "Ноль",
"1": "Один",
"2": "Два",

View File

@@ -1,6 +1,7 @@
{
"Synopsis": "概要",
"Short Description": "简短描述",
"Footnotes": "注释",
"Comment": "注释",
"Notes": "笔记",
"Tag": "标签",
@@ -13,6 +14,7 @@
"Objects": "物品",
"Entities": "条目",
"Custom": "自定义",
"New Page": "新建页面",
"0": "零",
"1": "一",
"2": "二",

View File

@@ -44,6 +44,7 @@ cls_template = mixed_document-new.svg
cls_timeline = typ_calendar.svg
cls_trash = typ_trash.svg
cls_world = typ_location.svg
copy = mixed_copy.svg
cross = typ_times.svg
document = typ_document.svg
down = typ_chevron-down.svg
@@ -59,9 +60,14 @@ fmt_strike-md = nw_tb-strike-md.svg
fmt_subscript = nw_tb-subscript.svg
fmt_superscript = nw_tb-superscript.svg
fmt_underline = nw_tb-underline.svg
font = nw_font.svg
forward = typ_chevron-right.svg
import = mixed_import.svg
list = typ_th-list.svg
margin_bottom = mixed_margin-bottom.svg
margin_left = mixed_margin-left.svg
margin_right = mixed_margin-right.svg
margin_top = mixed_margin-top.svg
maximise = typ_arrow-maximise.svg
menu = typ_th-dot-menu.svg
minimise = typ_arrow-minimise.svg
@@ -78,6 +84,7 @@ proj_scene = mixed_document-scene.svg
proj_section = mixed_document-section.svg
proj_stats = typ_chart-bar-grey.svg
proj_title = mixed_document-title.svg
quote = nw_quote.svg
refresh = typ_refresh.svg
remove = typ_minus.svg
revert = typ_refresh-flipped.svg
@@ -91,6 +98,8 @@ search_regex = nw_search-regex.svg
search_replace = mixed_search-replace.svg
search_word = nw_search-word.svg
settings = typ_cog.svg
size_height = mixed_size-height.svg
size_width = mixed_size-width.svg
star = typ_star.svg
status_idle = typ_media-pause-grey.svg
status_lang = typ_globe-grey.svg
@@ -99,6 +108,7 @@ status_stats = typ_chart-bar-grey.svg
status_time = typ_stopwatch-grey.svg
sticky-off = typ_pin-outline.svg
sticky-on = typ_pin.svg
toolbar = nw_toolbar.svg
unchecked = mixed_input-unchecked.svg
unfold-hide = typ_unfold-hidden.svg
unfold-show = typ_unfold-visible.svg

View File

@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="24" height="24" version="1.2" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
<path d="m7.8824 2c-1.2988 0-2.3529 1.0541-2.3529 2.3529v2.3529h-1.1765c-1.2988 0-2.3529 1.0541-2.3529 2.3529v10.588c0 1.2988 1.0541 2.3529 2.3529 2.3529h10.588c1.2988 0 2.3529-1.0541 2.3529-2.3529v-1.1765h2.3529c1.2988 0 2.3529-1.0541 2.3529-2.3529v-11.765c0-1.2988-1.0541-2.3529-2.3529-2.3529zm0 2.3529h11.765v11.765h-2.3529v-7.0588c0-1.2988-1.0541-2.3529-2.3529-2.3529h-7.0588zm-3.5294 4.7059h10.588c0.32353 0 0-0.32353 0 0v10.588h-10.588v-9.8943z" fill="#69c" stroke-width="1.1765"/>
</svg>

After

Width:  |  Height:  |  Size: 633 B

View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="24" height="24" version="1.2" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
<rect x="2" y="2" width="20" height="20" rx="1" ry="1" fill="#e6e6e6" fill-opacity=".14902" stroke-linecap="round" stroke-width="2"/>
<rect x="2" y="18" width="20" height="4" rx="1" ry="1" fill="#848484" stroke-linecap="round" stroke-width="2"/>
<path d="m18.414 8.5959c0.78104 0.79361 0.78104 2.0837 0 2.8773l-6.4141 6.5268-6.4141-6.5268c-0.391-0.3968-0.58601-0.91769-0.58601-1.4386 0-0.52092 0.195-1.0418 0.58601-1.4386 0.78104-0.79464 2.047-0.79464 2.8281 0l3.5861 3.6475 3.5861-3.6475c0.78104-0.79464 2.047-0.79464 2.8281 0z" fill="#69c" stroke-width="1.0087"/>
</svg>

After

Width:  |  Height:  |  Size: 713 B

View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="24" height="24" version="1.2" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
<rect x="2" y="2" width="20" height="20" rx="1" ry="1" fill="#e6e6e6" fill-opacity=".14902" stroke-linecap="round" stroke-width="2"/>
<rect x="2" y="2" width="4" height="20" rx="1" ry="1" fill="#848484" stroke-linecap="round" stroke-width="2"/>
<path d="m15.404 18.5c-0.79361 0.78104-2.0837 0.78104-2.8773 0l-6.5268-6.4141 6.5268-6.4141c0.3968-0.391 0.91769-0.58601 1.4386-0.58601 0.52092 0 1.0418 0.195 1.4386 0.58601 0.79464 0.78104 0.79464 2.047 0 2.8281l-3.6475 3.5861 3.6475 3.5861c0.79464 0.78104 0.79464 2.047 0 2.8281z" fill="#69c" stroke-width="1.0087"/>
</svg>

After

Width:  |  Height:  |  Size: 711 B

View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="24" height="24" version="1.2" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
<rect x="2" y="2" width="20" height="20" rx="1" ry="1" fill="#e6e6e6" fill-opacity=".14902" stroke-linecap="round" stroke-width="2"/>
<rect x="18" y="2" width="4" height="20" rx="1" ry="1" fill="#848484" stroke-linecap="round" stroke-width="2"/>
<path d="m8.5959 18.5c0.79361 0.78104 2.0837 0.78104 2.8773 0l6.5268-6.4141-6.5268-6.4141c-0.3968-0.391-0.91769-0.58601-1.4386-0.58601-0.52092 0-1.0418 0.195-1.4386 0.58601-0.79464 0.78104-0.79464 2.047 0 2.8281l3.6475 3.5861-3.6475 3.5861c-0.79464 0.78104-0.79464 2.047 0 2.8281z" fill="#69c" stroke-width="1.0087"/>
</svg>

After

Width:  |  Height:  |  Size: 711 B

View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="24" height="24" version="1.2" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
<rect x="2" y="2" width="20" height="20" rx="1" ry="1" fill="#e6e6e6" fill-opacity=".14902" stroke-linecap="round" stroke-width="2"/>
<rect x="2" y="2" width="20" height="4" rx="1" ry="1" fill="#848484" stroke-linecap="round" stroke-width="2"/>
<path d="m18.414 15.404c0.78104-0.79361 0.78104-2.0837 0-2.8773l-6.4141-6.5268-6.4141 6.5268c-0.391 0.3968-0.58601 0.91769-0.58601 1.4386 0 0.52092 0.195 1.0418 0.58601 1.4386 0.78104 0.79464 2.047 0.79464 2.8281 0l3.5861-3.6475 3.5861 3.6475c0.78104 0.79464 2.047 0.79464 2.8281 0z" fill="#69c" stroke-width="1.0087"/>
</svg>

After

Width:  |  Height:  |  Size: 712 B

View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="24" height="24" version="1.2" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
<rect x="2" y="2" width="20" height="20" rx="1" ry="1" fill="#e6e6e6" fill-opacity=".14902" stroke-linecap="round" stroke-width="2"/>
<path d="m18.414 10.404c0.78104-0.79361 0.78104-2.0837 0-2.8773l-6.4141-6.5268-6.4141 6.5268c-0.391 0.3968-0.58601 0.91769-0.58601 1.4386 0 0.52092 0.195 1.0418 0.58601 1.4386 0.78104 0.79464 2.047 0.79464 2.8281 0l3.5861-3.6475 3.5861 3.6475c0.78104 0.79464 2.047 0.79464 2.8281 0z" fill="#69c" stroke-width="1.0087"/>
<path d="m18.414 13.596c0.78104 0.79361 0.78104 2.0837 0 2.8773l-6.4141 6.5268-6.4141-6.5268c-0.391-0.3968-0.58601-0.91769-0.58601-1.4386 0-0.52092 0.195-1.0418 0.58601-1.4386 0.78104-0.79464 2.047-0.79464 2.8281 0l3.5861 3.6475 3.5861-3.6475c0.78104-0.79464 2.047-0.79464 2.8281 0z" fill="#69c" stroke-width="1.0087"/>
</svg>

After

Width:  |  Height:  |  Size: 921 B

View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="24" height="24" version="1.2" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
<rect x="2" y="2" width="20" height="20" rx="1" ry="1" fill="#e6e6e6" fill-opacity=".15" stroke-linecap="round" stroke-width="2"/>
<path d="m13.596 18.414c0.79361 0.78104 2.0837 0.78104 2.8773 0l6.5268-6.4141-6.5268-6.4141c-0.3968-0.391-0.91769-0.58601-1.4386-0.58601-0.52092 0-1.0418 0.195-1.4386 0.58601-0.79464 0.78104-0.79464 2.047 0 2.8281l3.6475 3.5861-3.6475 3.5861c-0.79464 0.78104-0.79464 2.047 0 2.8281z" fill="#69c" stroke-width="1.0087"/>
<path d="m10.404 18.414c-0.79361 0.78104-2.0837 0.78104-2.8773 0l-6.5268-6.4141 6.5268-6.4141c0.3968-0.391 0.91769-0.58601 1.4386-0.58601 0.52092 0 1.0418 0.195 1.4386 0.58601 0.79464 0.78104 0.79464 2.047 0 2.8281l-3.6475 3.5861 3.6475 3.5861c0.79464 0.78104 0.79464 2.047 0 2.8281z" fill="#69c" stroke-width="1.0087"/>
</svg>

After

Width:  |  Height:  |  Size: 919 B

View File

@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="24" height="24" version="1.1" viewBox="0 0 6.35 6.35" xmlns="http://www.w3.org/2000/svg">
<path d="m2.5744 5.8208v-4.2853h-1.4527v-1.0064h4.1067v1.0064h-1.4527v4.2853z" fill="#aeaeae" stroke-width="1.1503"/>
</svg>

After

Width:  |  Height:  |  Size: 267 B

View File

@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="24" height="24" version="1.1" viewBox="0 0 6.35 6.35" xmlns="http://www.w3.org/2000/svg">
<path d="m1.3715 3.0659q-0.32092-0.25674-0.44928-0.44928-0.12836-0.19255-0.12837-0.44928 0-0.42361 0.28241-0.69319 0.28241-0.28241 0.68035-0.28241 0.25674 0 0.44928 0.10269 0.19255 0.089858 0.3466 0.23106 0.24391 0.4878 0.24391 1.0141 0 0.42361-0.14121 0.82157-0.12837 0.38511-0.37227 0.71886-0.23106 0.33377-0.55199 0.61618-0.30808 0.26958-0.65467 0.46213l-0.25674-0.41078q0.29525-0.21822 0.57766-0.53914 0.28241-0.33375 0.46213-0.73171zm2.7598 0q-0.32092-0.25674-0.44928-0.44928-0.12837-0.19255-0.12837-0.44928 0-0.42361 0.28241-0.69319 0.28241-0.28241 0.68035-0.28241 0.25674 0 0.44928 0.10269 0.19255 0.089858 0.3466 0.23106 0.24391 0.4878 0.24391 1.0141 0 0.42361-0.14121 0.82157-0.12837 0.38511-0.37227 0.71886-0.23106 0.33377-0.55199 0.61618-0.30808 0.26958-0.65467 0.46213l-0.25674-0.41078q0.29525-0.21822 0.57766-0.53914 0.28241-0.33375 0.46213-0.73171z" fill="#aeaeae" fill-opacity=".78039" stroke-width="1.8194"/>
</svg>

After

Width:  |  Height:  |  Size: 1.0 KiB

View File

@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="24" height="24" version="1.2" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
<rect x="8" y="2" width="8" height="8" rx="1" ry="1" fill="none" stroke="#69c" stroke-linecap="round" stroke-width="2"/>
<rect x="8" y="14" width="8" height="8" rx="1" ry="1" fill="none" stroke="#69c" stroke-linecap="round" stroke-width="2"/>
</svg>

After

Width:  |  Height:  |  Size: 389 B

View File

@@ -44,6 +44,7 @@ cls_template = mixed_document-new.svg
cls_timeline = typ_calendar.svg
cls_trash = typ_trash.svg
cls_world = typ_location.svg
copy = mixed_copy.svg
cross = typ_times.svg
document = typ_document.svg
down = typ_chevron-down.svg
@@ -59,9 +60,14 @@ fmt_strike-md = nw_tb-strike-md.svg
fmt_subscript = nw_tb-subscript.svg
fmt_superscript = nw_tb-superscript.svg
fmt_underline = nw_tb-underline.svg
font = nw_font.svg
forward = typ_chevron-right.svg
import = mixed_import.svg
list = typ_th-list.svg
margin_bottom = mixed_margin-bottom.svg
margin_left = mixed_margin-left.svg
margin_right = mixed_margin-right.svg
margin_top = mixed_margin-top.svg
maximise = typ_arrow-maximise.svg
menu = typ_th-dot-menu.svg
minimise = typ_arrow-minimise.svg
@@ -78,6 +84,7 @@ proj_scene = mixed_document-scene.svg
proj_section = mixed_document-section.svg
proj_stats = typ_chart-bar-grey.svg
proj_title = mixed_document-title.svg
quote = nw_quote.svg
refresh = typ_refresh.svg
remove = typ_minus.svg
revert = typ_refresh-flipped.svg
@@ -91,6 +98,8 @@ search_regex = nw_search-regex.svg
search_replace = mixed_search-replace.svg
search_word = nw_search-word.svg
settings = typ_cog.svg
size_height = mixed_size-height.svg
size_width = mixed_size-width.svg
star = typ_star.svg
status_idle = typ_media-pause-grey.svg
status_lang = typ_globe-grey.svg
@@ -99,6 +108,7 @@ status_stats = typ_chart-bar-grey.svg
status_time = typ_stopwatch-grey.svg
sticky-off = typ_pin-outline.svg
sticky-on = typ_pin.svg
toolbar = nw_toolbar.svg
unchecked = mixed_input-unchecked.svg
unfold-hide = typ_unfold-hidden.svg
unfold-show = typ_unfold-visible.svg

View File

@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="24" height="24" version="1.2" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
<path d="m7.8824 2c-1.2988 0-2.3529 1.0541-2.3529 2.3529v2.3529h-1.1765c-1.2988 0-2.3529 1.0541-2.3529 2.3529v10.588c0 1.2988 1.0541 2.3529 2.3529 2.3529h10.588c1.2988 0 2.3529-1.0541 2.3529-2.3529v-1.1765h2.3529c1.2988 0 2.3529-1.0541 2.3529-2.3529v-11.765c0-1.2988-1.0541-2.3529-2.3529-2.3529zm0 2.3529h11.765v11.765h-2.3529v-7.0588c0-1.2988-1.0541-2.3529-2.3529-2.3529h-7.0588zm-3.5294 4.7059h10.588c0.32353 0 0-0.32353 0 0v10.588h-10.588v-9.8943z" fill="#4271ae" stroke-width="1.1765"/>
</svg>

After

Width:  |  Height:  |  Size: 636 B

View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="24" height="24" version="1.2" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
<rect x="2" y="2" width="20" height="20" rx="1" ry="1" fill="#333" fill-opacity=".15" stroke-linecap="round" stroke-width="2"/>
<rect x="2" y="18" width="20" height="4" rx="1" ry="1" fill="#333" stroke-linecap="round" stroke-width="2"/>
<path d="m18.414 8.5959c0.78104 0.79361 0.78104 2.0837 0 2.8773l-6.4141 6.5268-6.4141-6.5268c-0.391-0.3968-0.58601-0.91769-0.58601-1.4386 0-0.52092 0.195-1.0418 0.58601-1.4386 0.78104-0.79464 2.047-0.79464 2.8281 0l3.5861 3.6475 3.5861-3.6475c0.78104-0.79464 2.047-0.79464 2.8281 0z" fill="#4271ae" stroke-width="1.0087"/>
</svg>

After

Width:  |  Height:  |  Size: 707 B

View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="24" height="24" version="1.2" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
<rect x="2" y="2" width="20" height="20" rx="1" ry="1" fill="#333" fill-opacity=".15" stroke-linecap="round" stroke-width="2"/>
<rect x="2" y="2" width="4" height="20" rx="1" ry="1" fill="#333" stroke-linecap="round" stroke-width="2"/>
<path d="m15.404 18.5c-0.79361 0.78104-2.0837 0.78104-2.8773 0l-6.5268-6.4141 6.5268-6.4141c0.3968-0.391 0.91769-0.58601 1.4386-0.58601 0.52092 0 1.0418 0.195 1.4386 0.58601 0.79464 0.78104 0.79464 2.047 0 2.8281l-3.6475 3.5861 3.6475 3.5861c0.79464 0.78104 0.79464 2.047 0 2.8281z" fill="#4271ae" stroke-width="1.0087"/>
</svg>

After

Width:  |  Height:  |  Size: 705 B

View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="24" height="24" version="1.2" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
<rect x="2" y="2" width="20" height="20" rx="1" ry="1" fill="#333" fill-opacity=".15" stroke-linecap="round" stroke-width="2"/>
<rect x="18" y="2" width="4" height="20" rx="1" ry="1" fill="#333" stroke-linecap="round" stroke-width="2"/>
<path d="m8.5959 18.5c0.79361 0.78104 2.0837 0.78104 2.8773 0l6.5268-6.4141-6.5268-6.4141c-0.3968-0.391-0.91769-0.58601-1.4386-0.58601-0.52092 0-1.0418 0.195-1.4386 0.58601-0.79464 0.78104-0.79464 2.047 0 2.8281l3.6475 3.5861-3.6475 3.5861c-0.79464 0.78104-0.79464 2.047 0 2.8281z" fill="#4271ae" stroke-width="1.0087"/>
</svg>

After

Width:  |  Height:  |  Size: 705 B

View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="24" height="24" version="1.2" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
<rect x="2" y="2" width="20" height="20" rx="1" ry="1" fill="#333" fill-opacity=".15" stroke-linecap="round" stroke-width="2"/>
<rect x="2" y="2" width="20" height="4" rx="1" ry="1" fill="#333" stroke-linecap="round" stroke-width="2"/>
<path d="m18.414 15.404c0.78104-0.79361 0.78104-2.0837 0-2.8773l-6.4141-6.5268-6.4141 6.5268c-0.391 0.3968-0.58601 0.91769-0.58601 1.4386 0 0.52092 0.195 1.0418 0.58601 1.4386 0.78104 0.79464 2.047 0.79464 2.8281 0l3.5861-3.6475 3.5861 3.6475c0.78104 0.79464 2.047 0.79464 2.8281 0z" fill="#4271ae" stroke-width="1.0087"/>
</svg>

After

Width:  |  Height:  |  Size: 706 B

View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="24" height="24" version="1.2" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
<rect x="2" y="2" width="20" height="20" rx="1" ry="1" fill="#333" fill-opacity=".15" stroke-linecap="round" stroke-width="2"/>
<path d="m18.414 10.404c0.78104-0.79361 0.78104-2.0837 0-2.8773l-6.4141-6.5268-6.4141 6.5268c-0.391 0.3968-0.58601 0.91769-0.58601 1.4386 0 0.52092 0.195 1.0418 0.58601 1.4386 0.78104 0.79464 2.047 0.79464 2.8281 0l3.5861-3.6475 3.5861 3.6475c0.78104 0.79464 2.047 0.79464 2.8281 0z" fill="#4271ae" stroke-width="1.0087"/>
<path d="m18.414 13.596c0.78104 0.79361 0.78104 2.0837 0 2.8773l-6.4141 6.5268-6.4141-6.5268c-0.391-0.3968-0.58601-0.91769-0.58601-1.4386 0-0.52092 0.195-1.0418 0.58601-1.4386 0.78104-0.79464 2.047-0.79464 2.8281 0l3.5861 3.6475 3.5861-3.6475c0.78104-0.79464 2.047-0.79464 2.8281 0z" fill="#4271ae" stroke-width="1.0087"/>
</svg>

After

Width:  |  Height:  |  Size: 921 B

View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="24" height="24" version="1.2" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
<rect x="2" y="2" width="20" height="20" rx="1" ry="1" fill="#333" fill-opacity=".15" stroke-linecap="round" stroke-width="2"/>
<path d="m13.596 18.414c0.79361 0.78104 2.0837 0.78104 2.8773 0l6.5268-6.4141-6.5268-6.4141c-0.3968-0.391-0.91769-0.58601-1.4386-0.58601-0.52092 0-1.0418 0.195-1.4386 0.58601-0.79464 0.78104-0.79464 2.047 0 2.8281l3.6475 3.5861-3.6475 3.5861c-0.79464 0.78104-0.79464 2.047 0 2.8281z" fill="#4271ae" stroke-width="1.0087"/>
<path d="m10.404 18.414c-0.79361 0.78104-2.0837 0.78104-2.8773 0l-6.5268-6.4141 6.5268-6.4141c0.3968-0.391 0.91769-0.58601 1.4386-0.58601 0.52092 0 1.0418 0.195 1.4386 0.58601 0.79464 0.78104 0.79464 2.047 0 2.8281l-3.6475 3.5861 3.6475 3.5861c0.79464 0.78104 0.79464 2.047 0 2.8281z" fill="#4271ae" stroke-width="1.0087"/>
</svg>

After

Width:  |  Height:  |  Size: 922 B

View File

@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="24" height="24" version="1.1" viewBox="0 0 6.35 6.35" xmlns="http://www.w3.org/2000/svg">
<path d="m2.5744 5.8208v-4.2853h-1.4527v-1.0064h4.1067v1.0064h-1.4527v4.2853z" fill-opacity=".78039" stroke-width="1.1503"/>
</svg>

After

Width:  |  Height:  |  Size: 274 B

View File

@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="24" height="24" version="1.1" viewBox="0 0 6.35 6.35" xmlns="http://www.w3.org/2000/svg">
<path d="m1.3715 3.0659q-0.32092-0.25674-0.44928-0.44928-0.12836-0.19255-0.12837-0.44928 0-0.42361 0.28241-0.69319 0.28241-0.28241 0.68035-0.28241 0.25674 0 0.44928 0.10269 0.19255 0.089858 0.3466 0.23106 0.24391 0.4878 0.24391 1.0141 0 0.42361-0.14121 0.82157-0.12837 0.38511-0.37227 0.71886-0.23106 0.33377-0.55199 0.61618-0.30808 0.26958-0.65467 0.46213l-0.25674-0.41078q0.29525-0.21822 0.57766-0.53914 0.28241-0.33375 0.46213-0.73171zm2.7598 0q-0.32092-0.25674-0.44928-0.44928-0.12837-0.19255-0.12837-0.44928 0-0.42361 0.28241-0.69319 0.28241-0.28241 0.68035-0.28241 0.25674 0 0.44928 0.10269 0.19255 0.089858 0.3466 0.23106 0.24391 0.4878 0.24391 1.0141 0 0.42361-0.14121 0.82157-0.12837 0.38511-0.37227 0.71886-0.23106 0.33377-0.55199 0.61618-0.30808 0.26958-0.65467 0.46213l-0.25674-0.41078q0.29525-0.21822 0.57766-0.53914 0.28241-0.33375 0.46213-0.73171z" fill-opacity=".78039" stroke-width="1.8194"/>
</svg>

After

Width:  |  Height:  |  Size: 1.0 KiB

View File

@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="24" height="24" version="1.2" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
<rect x="8" y="2" width="8" height="8" rx="1" ry="1" fill="none" stroke="#4271ae" stroke-linecap="round" stroke-width="2"/>
<rect x="8" y="14" width="8" height="8" rx="1" ry="1" fill="none" stroke="#4271ae" stroke-linecap="round" stroke-width="2"/>
</svg>

After

Width:  |  Height:  |  Size: 395 B

View File

@@ -12,15 +12,17 @@ link = 77, 077, 255
headertext = 255, 255, 255
headertag = 50, 0, 180
emphasis = 0, 255, 255
straightquotes = 7, 27, 219
doublequotes = 0, 255, 0
singlequotes = 0, 140, 255
dialog = 0, 255, 0
altdialog = 0, 140, 255
note = 150, 150, 150
hidden = 77, 77, 100
shortcode = 255, 255, 0
keyword = 255, 100, 255
tag = 255, 150, 10
value = 255, 150, 10
spellcheckline = 242, 72, 23
errorline = 186, 218, 4
replacetag = 0, 0, 180
modifier = 144, 142, 176
optional = 180, 180, 180
texthighlight = 255, 255, 132, 96

View File

@@ -6,23 +6,37 @@ url = https://github.com/vkbo/novelWriter
license = CC BY-SA 4.0
licenseurl = https://creativecommons.org/licenses/by-sa/4.0/
##
# Colours:
# Background = 2a2a2a : 42, 42, 42
# Foreground = cccccc : 204, 204, 204
# Comment = 969696 : 150, 150, 150
# Red = e64250 : 230, 66, 80
# Orange = f99157 : 249, 145, 87
# Yellow = ffff84 : 255, 255, 132
# Green = 99cc99 : 153, 204, 153
# Blue = 288ed7 : 102, 153, 204
# Purple = 8c56d7 : 140, 86, 215
##
[Syntax]
background = 54, 54, 54
text = 199, 207, 208
link = 184, 200, 0
headertext = 0, 155, 200
headertag = 0, 105, 135
emphasis = 200, 120, 0
straightquotes = 200, 46, 0
doublequotes = 184, 200, 0
singlequotes = 136, 200, 0
background = 42, 42, 42
text = 204, 204, 204
link = 102, 153, 204
headertext = 153, 204, 153
headertag = 153, 204, 153, 160
emphasis = 249, 145, 87
dialog = 102, 153, 204
altdialog = 102, 153, 204
note = 255, 255, 216
hidden = 150, 150, 150
shortcode = 0, 155, 200
keyword = 200, 46, 0
value = 184, 200, 0
optional = 0, 155, 200
spellcheckline = 200, 46, 0
errorline = 46, 200, 0
replacetag = 0, 184, 46
modifier = 200, 120, 0
texthighlight = 136, 200, 0, 96
shortcode = 153, 204, 153
keyword = 230, 66, 80
tag = 153, 204, 153
value = 102, 153, 204
optional = 153, 204, 153
spellcheckline = 230, 66, 80
errorline = 153, 204, 153
replacetag = 153, 204, 153
modifier = 153, 204, 153
texthighlight = 255, 255, 132, 96

View File

@@ -6,23 +6,37 @@ url = https://github.com/vkbo/novelWriter
license = CC BY-SA 4.0
licenseurl = https://creativecommons.org/licenses/by-sa/4.0/
##
# Colours:
# Background = ffffff : 255, 255, 255
# Foreground = 000000 : 0, 0, 0
# Comment = 646464 : 100, 100, 100
# Red = c83232 : 200, 50, 50
# Orange = ae6e1e : 174, 110, 30
# Yellow = 969600 : 150, 150, 0
# Green = 006400 : 0, 100, 0
# Blue = 0000c8 : 0, 0, 200
# Purple = 6400ae : 100, 0, 174
##
[Syntax]
background = 255, 255, 255
text = 0, 0, 0
link = 0, 0, 200
headertext = 0, 100, 0
headertag = 50, 100, 50
emphasis = 150, 110, 30
straightquotes = 200, 0, 0
doublequotes = 0, 0, 200
singlequotes = 0, 0, 200
headertag = 0, 100, 0, 160
emphasis = 174, 110, 30
dialog = 0, 0, 200
altdialog = 0, 0, 200
note = 100, 100, 0
hidden = 100, 100, 100
shortcode = 0, 100, 0
keyword = 200, 50, 50
value = 50, 150, 50
tag = 0, 100, 0
value = 0, 0, 200
optional = 0, 100, 0
spellcheckline = 200, 0, 0
errorline = 0, 150, 0
replacetag = 0, 150, 0
modifier = 150, 110, 30
spellcheckline = 200, 50, 50
errorline = 0, 100, 0
replacetag = 0, 100, 0
modifier = 0, 100, 0
texthighlight = 150, 150, 0, 96

View File

@@ -0,0 +1,44 @@
[Main]
name = Dracula
author = Veronica Berglyd Olsen (adaptation)
credit = Zeno Rocha
url = https://draculatheme.com
license = MIT
licenseurl = https://github.com/dracula/dracula-theme/blob/main/LICENSE
##
# Colours:
# Background = 282a36 : 40, 42, 54
# Foreground = f8f8f2 : 248, 248, 242
# Comment = 6272a4 : 98, 114, 164
# Cyan = 8be9fd : 139, 233, 253
# Green = 50fa7b : 80, 250, 123
# Orange = ffb86c : 255, 184, 108
# Pink = ff79c6 : 255, 121, 198
# Purple = bd93f9 : 189, 147, 249
# Red = ff5555 : 255, 85, 85
# Yellow = f1fa8c : 241, 250, 140
##
[Syntax]
# See: https://spec.draculatheme.com/
background = 40, 42, 54
text = 248, 248, 242
link = 255, 121, 198
headertext = 189, 147, 249
headertag = 189, 147, 249, 160
emphasis = 255, 184, 108
dialog = 80, 250, 123
altdialog = 241, 250, 140
note = 255, 204, 233
hidden = 98, 114, 164
shortcode = 139, 233, 253
keyword = 255, 121, 198
tag = 255, 184, 108
value = 255, 184, 108
optional = 80, 250, 123
spellcheckline = 255, 85, 85
errorline = 80, 250, 123
replacetag = 241, 250, 140
modifier = 139, 233, 253
texthighlight = 241, 250, 140, 96

View File

@@ -11,14 +11,15 @@ background = 54, 54, 54
text = 200, 200, 200
link = 200, 200, 200
headertext = 225, 225, 225
headertag = 225, 225, 225
headertag = 225, 225, 225, 160
emphasis = 200, 200, 200
straightquotes = 200, 200, 200
doublequotes = 200, 200, 200
singlequotes = 200, 200, 200
dialog = 200, 200, 200
altdialog = 200, 200, 200
note = 200, 200, 200
hidden = 150, 150, 150
shortcode = 225, 225, 225
keyword = 225, 225, 225
tag = 200, 200, 200
value = 200, 200, 200
optional = 225, 225, 225
spellcheckline = 200, 46, 0

View File

@@ -11,14 +11,15 @@ background = 255, 255, 255
text = 20, 20, 20
link = 20, 20, 20
headertext = 0, 0, 0
headertag = 0, 0, 0
headertag = 0, 0, 0, 160
emphasis = 20, 20, 20
straightquotes = 20, 20, 20
doublequotes = 20, 20, 20
singlequotes = 20, 20, 20
dialog = 20, 20, 20
altdialog = 20, 20, 20
note = 20, 20, 20
hidden = 100, 100, 100
shortcode = 0, 0, 0
keyword = 0, 0, 0
tag = 20, 20, 20
value = 20, 20, 20
optional = 0, 0, 0
spellcheckline = 200, 0, 0

View File

@@ -31,18 +31,19 @@ background = 251, 251, 251
text = 64, 63, 82
link = 40, 142, 215
headertext = 40, 142, 215
headertag = 40, 142, 215
headertag = 40, 142, 215, 160
emphasis = 224, 175, 5
straightquotes = 222, 61, 58
doublequotes = 8, 145, 106
singlequotes = 255, 235, 149
dialog = 8, 145, 106
altdialog = 218, 170, 1
note = 128, 118, 75
hidden = 152, 159, 177
shortcode = 40, 142, 215
keyword = 222, 61, 58
value = 150, 74, 193
tag = 150, 74, 193
value = 224, 175, 5
optional = 40, 142, 215
spellcheckline = 222, 61, 58
errorline = 8, 145, 106
replacetag = 42, 162, 152
modifier = 224, 175, 5
modifier = 8, 145, 106
texthighlight = 218, 170, 1, 96

View File

@@ -31,18 +31,19 @@ background = 1, 22, 39
text = 214, 222, 235
link = 130, 170, 255
headertext = 130, 170, 255
headertag = 130, 170, 255
headertag = 130, 170, 255, 160
emphasis = 236, 196, 141
straightquotes = 247, 140, 108
doublequotes = 173, 219, 103
singlequotes = 255, 235, 149
dialog = 173, 219, 103
altdialog = 255, 235, 149
note = 255, 249, 202
hidden = 99, 119, 119
shortcode = 130, 170, 255
keyword = 247, 140, 108
value = 199, 146, 234
tag = 199, 146, 234
value = 255, 235, 149
optional = 130, 170, 255
spellcheckline = 247, 140, 108
errorline = 173, 219, 103
replacetag = 127, 219, 202
modifier = 236, 196, 141
modifier = 173, 219, 103
texthighlight = 255, 235, 149, 96

View File

@@ -0,0 +1,42 @@
[Main]
name = Snazzy Light
author = Veronica Berglyd Olsen (adaptation)
credit = Florian Reuschel (color theme)
url = https://github.com/loilo/vscode-snazzy-light
license = MIT License
licenseurl = https://github.com/loilo/vscode-snazzy-light/blob/master/LICENSE
##
# Colours:
# Background = fafbfc : 250, 251, 252
# Foreground = 565869 : 86, 88, 105
# Comment = 9194a2 : 145, 148, 162
# Yellow = cf9c00 : 207, 156, 0
# Red = ff5c57 : 255, 92, 87
# Pink = f767bb : 247, 103, 187
# Blue = 09a1ed : 9, 161, 237
# Cyan = 13bbb7 : 19, 187, 183
# Green = 2dae58 : 45, 174, 88
##
[Syntax]
background = 250, 251, 252
text = 86, 88, 105
link = 9, 161, 237
headertext = 45, 174, 88
headertag = 45, 174, 88, 160
emphasis = 19, 187, 183
dialog = 207, 156, 0
altdialog = 207, 156, 0
note = 120, 187, 185
hidden = 145, 148, 162
shortcode = 247, 103, 187
keyword = 9, 161, 237
tag = 45, 174, 88
value = 9, 161, 237
optional = 207, 156, 0
spellcheckline = 255, 92, 87
errorline = 45, 174, 88
replacetag = 19, 187, 183
modifier = 247, 103, 187
texthighlight = 207, 156, 0, 96

View File

@@ -13,12 +13,13 @@ link = 38, 139, 210
headertext = 147, 161, 161
headertag = 42, 161, 152
emphasis = 38, 139, 210
straightquotes = 211, 54, 130
doublequotes = 42, 161, 152
singlequotes = 42, 161, 152
dialog = 42, 161, 152
altdialog = 42, 161, 152
note = 101, 161, 156
hidden = 147, 161, 161
shortcode = 147, 161, 161
keyword = 133, 153, 0
tag = 203, 75, 22
value = 203, 75, 22
optional = 147, 161, 161
spellcheckline = 203, 75, 22

View File

@@ -13,12 +13,13 @@ link = 38, 139, 210
headertext = 88, 110, 117
headertag = 42, 161, 152
emphasis = 38, 139, 210
straightquotes = 211, 54, 130
doublequotes = 42, 161, 152
singlequotes = 42, 161, 152
dialog = 42, 161, 152
altdialog = 42, 161, 152
note = 27, 102, 96
hidden = 88, 110, 117
shortcode = 88, 110, 117
keyword = 133, 153, 0
tag = 203, 75, 22
value = 203, 75, 22
optional = 88, 110, 117
spellcheckline = 203, 75, 22

View File

@@ -2,22 +2,38 @@
name = Tango
author = Veronica Berglyd Olsen (adaptation)
##
# Colours:
# Background = 30302f : 48, 48, 47
# Foreground = eeeeec : 238, 238, 236
# Comment = 8f8f8d : 143, 143, 141
# Red = ef2929 : 239, 41, 41
# Orange = c4a000 : 196, 160, 0
# Yellow = fce94f : 252, 233, 79
# Green = 8ae234 : 138, 226, 52
# Cyan = 34e2e2 : 52, 226, 226
# Blue = 3465a4 : 114, 159, 207
# Purple = ad7fa8 : 173, 127, 168
##
[Syntax]
background = 48, 48, 47
text = 238, 238, 236
link = 115, 159, 207
headertext = 115, 159, 207
headertag = 52, 101, 164
link = 114, 159, 207
headertext = 114, 159, 207
headertag = 114, 159, 207, 160
emphasis = 196, 160, 0
straightquotes = 239, 41, 41
doublequotes = 138, 226, 52
singlequotes = 252, 233, 79
dialog = 138, 226, 52
altdialog = 252, 233, 79
note = 252, 242, 164
hidden = 143, 143, 141
shortcode = 115, 159, 207
shortcode = 114, 159, 207
keyword = 239, 41, 41
value = 173, 127, 168
optional = 115, 159, 207
tag = 173, 127, 168
value = 239, 41, 41
optional = 114, 159, 207
spellcheckline = 239, 41, 41
errorline = 138, 226, 52
replacetag = 51, 226, 226
modifier = 196, 160, 0
replacetag = 52, 226, 226
modifier = 114, 159, 207
texthighlight = 252, 233, 79, 96

View File

@@ -31,15 +31,16 @@ background = 255, 255, 255
text = 77, 77, 76
link = 66, 113, 174
headertext = 66, 113, 174
headertag = 66, 113, 174
headertag = 66, 113, 174, 160
emphasis = 245, 135, 31
straightquotes = 240, 40, 41
doublequotes = 113, 140, 0
singlequotes = 234, 183, 0
dialog = 113, 140, 0
altdialog = 234, 183, 0
note = 115, 90, 0
hidden = 142, 144, 140
shortcode = 66, 113, 174
keyword = 240, 40, 41
value = 137, 89, 168
tag = 137, 89, 168
value = 234, 183, 0
optional = 66, 113, 174
spellcheckline = 240, 40, 41
errorline = 113, 140, 0

View File

@@ -29,17 +29,18 @@ licenseurl = https://github.com/chriskempson/tomorrow-theme/blob/master/LICENSE.
[Syntax]
background = 29, 31, 33
text = 197, 200, 198
link = 129, 162, 190
link = 197, 200, 198, 160
headertext = 129, 162, 190
headertag = 129, 162, 190
headertag = 94, 119, 139
emphasis = 222, 147, 95
straightquotes = 204, 102, 102
doublequotes = 181, 189, 104
singlequotes = 240, 198, 116
dialog = 181, 189, 104
altdialog = 240, 198, 116
note = 240, 219, 178
hidden = 150, 152, 150
shortcode = 129, 162, 190
keyword = 204, 102, 102
value = 178, 148, 187
tag = 178, 148, 187
value = 240, 198, 116
optional = 129, 162, 190
spellcheckline = 204, 102, 102
errorline = 181, 189, 104

View File

@@ -31,15 +31,16 @@ background = 0, 36, 81
text = 255, 255, 255
link = 187, 218, 255
headertext = 187, 218, 255
headertag = 187, 218, 255
headertag = 187, 218, 255, 160
emphasis = 255, 197, 143
straightquotes = 255, 157, 164
doublequotes = 209, 241, 169
singlequotes = 255, 238, 173
dialog = 209, 241, 169
altdialog = 255, 238, 173
note = 255, 247, 214
hidden = 114, 133, 183
shortcode = 187, 218, 255
keyword = 255, 157, 164
value = 235, 187, 255
tag = 235, 187, 255
value = 255, 238, 173
optional = 187, 218, 255
spellcheckline = 255, 157, 164
errorline = 209, 241, 169

Some files were not shown because too many files have changed in this diff Show More