Compare commits

...

2601 Commits
v0.8 ... v2.0

Author SHA1 Message Date
Veronica Berglyd Olsen
a51f0db6fa Release 2.0 (#1261) 2022-11-28 17:27:38 +01:00
Veronica Berglyd Olsen
09eeb28257 Change the release data to today 2022-11-28 17:25:26 +01:00
Veronica Berglyd Olsen
956172af0c Make a minor change to the release notes 2022-11-28 17:23:24 +01:00
Veronica Berglyd Olsen
35ec8e0f12 Update release notes 2022-11-28 17:12:48 +01:00
Veronica Berglyd Olsen
8390615489 Bumped version and updated changelog 2022-11-28 10:59:41 +01:00
Veronica Berglyd Olsen
df499a9776 Update translations (#1254) 2022-11-28 10:35:38 +01:00
Veronica Berglyd Olsen
e027c4fd4c Update partial translations 2022-11-28 10:33:13 +01:00
Veronica Berglyd Olsen
0dd9f49856 Update completed translations 2022-11-27 17:15:04 +01:00
Veronica Berglyd Olsen
8853c73749 Remove some no longer needed strings from translations 2022-11-27 17:12:18 +01:00
Veronica Berglyd Olsen
9cb97f6a15 Merge branch 'main' into i18n 2022-11-27 17:11:08 +01:00
Veronica Berglyd Olsen
f69641c0f8 Simplify author setting (#1258) 2022-11-27 17:10:29 +01:00
Veronica Berglyd Olsen
1ac6e48c23 Update file format spec 2022-11-27 17:00:36 +01:00
Veronica Berglyd Olsen
a3ad90f419 Update tests 2022-11-27 16:57:11 +01:00
Veronica Berglyd Olsen
e5f04e5234 Reduce number of author entries in project to one 2022-11-27 16:55:54 +01:00
Veronica Berglyd Olsen
9d97e26fc1 Clean up the changelog a bit 2022-11-25 23:10:36 +01:00
Veronica Berglyd Olsen
e84b8d4d1d Fix versions in module docstrings, more 2022-11-25 22:57:05 +01:00
Veronica Berglyd Olsen
d0e4c9f822 Fix versions in module docstrings 2022-11-25 22:43:27 +01:00
Veronica Berglyd Olsen
378a805b02 Update German translation 2022-11-25 22:22:36 +01:00
Veronica Berglyd Olsen
6f465e28e2 Merge branch 'main' into i18n 2022-11-24 15:18:14 +01:00
Veronica Berglyd Olsen
1678cd5e96 Update docs (#1255) 2022-11-24 15:18:03 +01:00
Veronica Berglyd Olsen
44c6c136a2 Update docs, second round 2022-11-24 15:13:46 +01:00
Veronica Berglyd Olsen
5538b04d55 Update completed translations 2022-11-22 22:56:57 +01:00
Veronica Berglyd Olsen
febf67179a Fix minor GUI issues (#1253) 2022-11-22 13:19:12 +01:00
Veronica Berglyd Olsen
0a5fa0d190 Update main language file 2022-11-22 13:06:56 +01:00
Veronica Berglyd Olsen
4fa6329eb6 Fix tests and minor issues 2022-11-22 13:05:05 +01:00
Veronica Berglyd Olsen
3a77228aaa Fix retention of selected item of novel tree in the details panel 2022-11-22 12:54:26 +01:00
Veronica Berglyd Olsen
f26a745d0e Use novel selector for project details 2022-11-22 12:45:10 +01:00
Veronica Berglyd Olsen
55f7a91eaf Add a button to open the novel tree root selector 2022-11-22 12:33:32 +01:00
Veronica Berglyd Olsen
b7373688e7 Add a novel selector class (#1252) 2022-11-18 13:28:35 +01:00
Veronica Berglyd Olsen
1b7814e891 Disable tooltip when novel selector is idsabled 2022-11-18 02:07:30 +01:00
Veronica Berglyd Olsen
039b2095f0 Let the novel selector replace the novel tree label 2022-11-18 02:01:55 +01:00
Veronica Berglyd Olsen
5c7c820fef Add a combo box to novel tree 2022-11-18 01:03:44 +01:00
Veronica Berglyd Olsen
11b6ed87d4 Add the novel selector widget and use it for the outline 2022-11-18 00:44:58 +01:00
Veronica Berglyd Olsen
250a41a84a Move StatusLED class to new components module 2022-11-18 00:19:15 +01:00
Veronica Berglyd Olsen
8c5ab9d626 Update all translation files and add test (#1251) 2022-11-17 17:25:50 +01:00
Veronica Berglyd Olsen
281f878a79 Remove build language part of test as this is already done in workflow 2022-11-17 17:19:40 +01:00
Veronica Berglyd Olsen
77489d22cd Add test coverage of language files 2022-11-17 17:15:39 +01:00
Veronica Berglyd Olsen
fa880f5e2a Update all translation files 2022-11-17 16:40:13 +01:00
Veronica Berglyd Olsen
f014d690ea Add German trannslation (#1033 by @HeyMyian) 2022-11-17 16:25:49 +01:00
Veronica Berglyd Olsen
7ece1123a7 Merge branch 'main' into i18n-de_DE-created 2022-11-17 16:23:14 +01:00
Veronica Berglyd Olsen
ecff40dade Add file format specification (#1249) 2022-11-17 11:01:42 +01:00
Veronica Berglyd Olsen
d13e2531e8 Add a link to the file format spec in the docs (#1012) 2022-11-17 10:58:04 +01:00
Veronica Berglyd Olsen
47d2c20bfd Move the file format spec document into the source code 2022-11-17 10:57:19 +01:00
Veronica Berglyd Olsen
18c3e9851e Update docs for 2.0 (#1248) 2022-11-16 23:07:30 +01:00
Veronica Berglyd Olsen
308a1649a5 Update docs project section 2022-11-16 23:04:35 +01:00
Veronica Berglyd Olsen
09c414c991 Update docs usage section 2022-11-16 16:17:22 +01:00
Veronica Berglyd Olsen
af7b46f714 Update docs introduction section 2022-11-16 15:59:21 +01:00
Veronica Berglyd Olsen
9a20eab1b2 Update docs, index and build, and rename viewsbar to sidebar 2022-11-16 15:58:52 +01:00
Veronica Berglyd Olsen
444c168da5 Update closing project procedure, and editor scrolling (#1247) 2022-11-16 11:28:47 +01:00
Veronica Berglyd Olsen
61ab597499 Make go to line in editor work consistently with auto-scrolling 2022-11-16 11:21:16 +01:00
Veronica Berglyd Olsen
62cf9b6184 Sort out status leds and project closing (#1237) 2022-11-16 11:20:40 +01:00
Veronica Berglyd Olsen
9f4b9a4dde Update workflow actions (#1246) 2022-11-16 00:00:54 +01:00
Veronica Berglyd Olsen
af991eb31b Update actions for syntax workflow 2022-11-15 23:43:43 +01:00
Veronica Berglyd Olsen
e6267f32b2 Merge branch 'main' into actions 2022-11-15 23:43:17 +01:00
Veronica Berglyd Olsen
c83b36acfa Set a max column width for novel tree extra column (#1245) 2022-11-15 23:41:38 +01:00
Veronica Berglyd Olsen
b7f99ec95f Update workflow actions 2022-11-15 23:41:04 +01:00
Veronica Berglyd Olsen
1e2920641d Force a max width of extra column in novel view (#1238) 2022-11-15 23:27:54 +01:00
Veronica Berglyd Olsen
a15d25370e Improve project tree iterator 2022-11-15 21:49:15 +01:00
Veronica Berglyd Olsen
7ce2fd29a6 Improve document navigation (#1243) 2022-11-15 17:00:27 +01:00
Veronica Berglyd Olsen
e0ca2e7fb5 Update tests and remove unused functions in viewer 2022-11-15 16:50:41 +01:00
Veronica Berglyd Olsen
a2ea7b40e2 Don't reload document if opening the same (#1242) 2022-11-15 16:49:59 +01:00
Veronica Berglyd Olsen
6560594c49 Fix scrolling when moving to a specific line in editor (#1239) 2022-11-15 16:48:46 +01:00
Veronica Berglyd Olsen
c095cc4bf0 Auto-update novel item meta (#1241) 2022-11-14 20:25:03 +01:00
Veronica Berglyd Olsen
8dbaa6bbd9 Remove no longer needed index function 2022-11-14 18:59:47 +01:00
Veronica Berglyd Olsen
ebc6654069 Improve how the novel tree is refreshed 2022-11-14 18:45:36 +01:00
Veronica Berglyd Olsen
992ed4f36c Update tests 2022-11-14 17:56:31 +01:00
Veronica Berglyd Olsen
b0a0ca089f Rewrite index class to use sequential title keys rather than line numbers 2022-11-14 16:59:51 +01:00
Veronica Berglyd Olsen
e52d8d9ff7 Add novel tree method to refresh metadata for item 2022-11-14 16:59:04 +01:00
Veronica Berglyd Olsen
827ae921a4 Merge branch 'main' into i18n-de_DE-created 2022-11-13 10:52:13 +01:00
Veronica Berglyd Olsen
e9b603d5a5 Release 2.0 RC 2 (#1231) 2022-11-13 10:06:39 +01:00
Veronica Berglyd Olsen
d93b3aa79f Always save project when closing 2022-11-12 18:59:09 +01:00
Veronica Berglyd Olsen
9b6ba891a4 Merge branch 'main' into release_2.0rc2 2022-11-12 18:30:00 +01:00
Veronica Berglyd Olsen
8a9b79abd0 Improve tree class and auto-rebuild index (#1236) 2022-11-12 18:29:49 +01:00
Veronica Berglyd Olsen
d4d23a140f Update changelog 2022-11-12 18:29:20 +01:00
Veronica Berglyd Olsen
e7ce13f647 Rebuild index when opdating project (#1235) 2022-11-12 18:23:13 +01:00
Veronica Berglyd Olsen
74d71f24ca Improve the setOrder method in the NWTree class, and improve tests 2022-11-12 18:22:30 +01:00
Veronica Berglyd Olsen
a1213f1e84 Rename class project variable 2022-11-12 13:08:55 +01:00
Veronica Berglyd Olsen
36cf5c1d76 Merge new changes and update changelog 2022-11-11 17:24:04 +01:00
Veronica Berglyd Olsen
fd85770d4d Merge branch 'main' into release_2.0rc2 2022-11-11 17:22:20 +01:00
Veronica Berglyd Olsen
116ebd8243 Update Config and NWItem class (#1232) 2022-11-11 17:21:32 +01:00
Veronica Berglyd Olsen
612034f6be Make the item class non-dynamic, and cache formatting vars in editor 2022-11-11 17:09:03 +01:00
Veronica Berglyd Olsen
b05028e3c9 Split up the storage of quote symbols in config 2022-11-11 12:50:36 +01:00
Veronica Berglyd Olsen
495209cd1a Fix tests of XML files and version number (again) 2022-11-11 12:16:03 +01:00
Veronica Berglyd Olsen
402cb09bb6 Fix tests of XML files and version number 2022-11-10 18:26:08 +01:00
Veronica Berglyd Olsen
dbfda1e680 Update Norwegian and US English 2022-11-10 18:17:51 +01:00
Veronica Berglyd Olsen
b03b723d25 Update i18n file 2022-11-10 18:01:13 +01:00
Veronica Berglyd Olsen
5a8e8b2221 Release 2.0 RC 2 2022-11-10 17:58:13 +01:00
Veronica Berglyd Olsen
6a664037cf Block toolbars when there is no project (#1230) 2022-11-10 17:11:32 +01:00
Veronica Berglyd Olsen
f556fde848 Make some minor code fixes 2022-11-10 17:04:12 +01:00
Veronica Berglyd Olsen
bbc5be0075 Disable toolbars when no project is open 2022-11-10 16:32:17 +01:00
Veronica Berglyd Olsen
b587ab638c Make further config class updates (#1229) 2022-11-10 13:37:09 +01:00
Veronica Berglyd Olsen
a1ddc6ce1d Fix test file comparison filters 2022-11-10 13:24:13 +01:00
Veronica Berglyd Olsen
b46ad86c31 Clean up config file format, modify how projects are launched, and add broken theme setting handling 2022-11-10 13:20:26 +01:00
Veronica Berglyd Olsen
15fec91358 Clean up setters and getters in Config 2022-11-10 09:29:00 +01:00
Veronica Berglyd Olsen
e2f3a44d96 Fix pollution of recent cache from tests 2022-11-09 23:10:30 +01:00
Veronica Berglyd Olsen
eac7d9b9ee Refactor config class, and switch to pathlib (#1228) 2022-11-09 23:03:03 +01:00
Veronica Berglyd Olsen
0c7fdc7013 Fix windows vs posix path issue in test 2022-11-09 22:51:12 +01:00
Veronica Berglyd Olsen
03e173634f Switch to Path objects nearly everywhere 2022-11-09 22:43:48 +01:00
Veronica Berglyd Olsen
cb755ba820 Move recent cache out of config, and update all tests 2022-11-09 20:54:13 +01:00
Veronica Berglyd Olsen
8721d53ab2 Clean up the config class names and methods 2022-11-09 18:47:50 +01:00
Veronica Berglyd Olsen
47b57172eb Change lastPath to a Path object 2022-11-09 18:21:40 +01:00
Veronica Berglyd Olsen
9d3291aba6 Change assetPath to a Path object 2022-11-09 17:44:20 +01:00
Veronica Berglyd Olsen
6792c11a71 Change dataPath to a Path object 2022-11-09 00:25:50 +01:00
Veronica Berglyd Olsen
6f5539de90 Change confPath to a Path object 2022-11-09 00:09:40 +01:00
Veronica Berglyd Olsen
9500c3bdb2 Make some remaining project class bariables private 2022-11-08 23:09:08 +01:00
Veronica Berglyd Olsen
5999e72592 Add a storage class (#1225) 2022-11-08 22:46:50 +01:00
Veronica Berglyd Olsen
0b44cf9c0a Fix issues with variying file order in zip archive 2022-11-08 22:29:54 +01:00
Veronica Berglyd Olsen
f5a3280565 Add test coverage of storage class 2022-11-08 22:19:22 +01:00
Veronica Berglyd Olsen
ee79d3d6d6 Fix tests for core classes 2022-11-08 19:48:06 +01:00
Veronica Berglyd Olsen
b024c0996d Move zipping of project to storage class 2022-11-08 19:25:56 +01:00
Veronica Berglyd Olsen
262a6c36b7 Rename NWDoc class to NWDocument 2022-11-07 22:51:09 +01:00
Veronica Berglyd Olsen
26f7bb4b32 Change how spel checking and booleans in general are saved in the XML 2022-11-07 22:46:30 +01:00
Veronica Berglyd Olsen
42f2bf3628 Merge branch 'main' into storage_class 2022-11-07 12:24:19 +01:00
Veronica Berglyd Olsen
6f6fe876e2 Fix parameter missing in Python 3.7 2022-11-07 10:45:53 +01:00
Veronica Berglyd Olsen
615ee2958a Remove project path attribute from project class 2022-11-06 00:39:30 +01:00
Veronica Berglyd Olsen
a75424e44b Use storage class to return document objects 2022-11-06 00:29:43 +01:00
Veronica Berglyd Olsen
76a1421fde Remove project content attribute from project class 2022-11-06 00:15:24 +01:00
Veronica Berglyd Olsen
972ed25a8c Remove project cache attribute from project class 2022-11-05 23:33:50 +01:00
Veronica Berglyd Olsen
21ab4e58f9 Remove project meta attribute from project class 2022-11-05 23:29:25 +01:00
Veronica Berglyd Olsen
82b34d9d2c Move lock file code to storage class 2022-11-05 22:14:33 +01:00
Veronica Berglyd Olsen
9cdf840d12 Make some minor improvements to the xml reader 2022-11-05 21:37:10 +01:00
Veronica Berglyd Olsen
72cc0cf0aa Add project file format 1.5 2022-11-05 21:13:18 +01:00
Veronica Berglyd Olsen
c6d3f680cc Add a UUID to projects 2022-11-05 17:03:45 +01:00
Veronica Berglyd Olsen
8b4dac4e13 Split project data class back into a separate file 2022-11-05 16:24:57 +01:00
Veronica Berglyd Olsen
783a849e09 Remove the old legacy format code 2022-11-05 16:19:19 +01:00
Veronica Berglyd Olsen
407e7fa69e Add storage code to handle projecty structure and old projects 2022-11-05 16:15:26 +01:00
Veronica Berglyd Olsen
2b8d51035d Fix version requirements in debian build file 2022-11-03 23:48:30 +01:00
Veronica Berglyd Olsen
2e590b742f Move new project tool to core tools (resolves #1152) 2022-11-03 23:47:51 +01:00
Veronica Berglyd Olsen
bd81ea0880 Make project xml class and tests use pathlib instead of os 2022-11-03 22:17:25 +01:00
Veronica Berglyd Olsen
dfd9e15951 Use storage class to open and save project XML 2022-11-03 21:51:56 +01:00
Veronica Berglyd Olsen
96b011cf70 Rename doctools module to coretools 2022-11-03 21:41:57 +01:00
Veronica Berglyd Olsen
3eee8442a7 Make packing and unpacking item data consistent 2022-11-03 17:30:54 +01:00
Veronica Berglyd Olsen
da4f4b0801 Add prototyype storage class 2022-11-01 22:58:12 +01:00
Veronica Berglyd Olsen
717d516f6a Delegate responsibility for the index to the project class 2022-11-01 22:32:29 +01:00
Veronica Berglyd Olsen
e85bd56f60 Auto-open first document (#1223) 2022-11-01 19:23:35 +01:00
Veronica Berglyd Olsen
a2f92c1223 Auto-open first document on new project (#1219) 2022-11-01 19:15:32 +01:00
Veronica Berglyd Olsen
9dd1a60629 Fix bug with active icon on item details panel 2022-11-01 19:11:38 +01:00
Veronica Berglyd Olsen
5abc9784f1 Refactor project XML handling (#1221) 2022-11-01 18:44:59 +01:00
Veronica Berglyd Olsen
f1100d4475 Remove minimal project from test suite 2022-11-01 18:32:29 +01:00
Veronica Berglyd Olsen
494b94430c Fix tests broken by xml rewrite 2022-11-01 18:31:03 +01:00
Veronica Berglyd Olsen
5b7f2b2b55 Add test coverage of the project xml class 2022-11-01 17:14:57 +01:00
Veronica Berglyd Olsen
f41db97860 Clean up the content loading 2022-11-01 13:36:22 +01:00
Veronica Berglyd Olsen
0cfaf4f021 Drop the total word count value in the XML and rewrite how counts are handled 2022-11-01 12:21:16 +01:00
Veronica Berglyd Olsen
6fd7107675 Remove pre-generatiopn of status and importance items 2022-10-31 23:18:16 +01:00
Veronica Berglyd Olsen
a88a2f5b40 Change file format to save dictionaries consistently 2022-10-31 22:37:05 +01:00
Veronica Berglyd Olsen
13b9e5a434 Move project data class to project file 2022-10-31 21:25:40 +01:00
Veronica Berglyd Olsen
a760aff826 Complete the xml writer class 2022-10-31 20:05:20 +01:00
Veronica Berglyd Olsen
3a161e90f9 Complete loading project xml via data class 2022-10-31 18:11:46 +01:00
Veronica Berglyd Olsen
522acc479b Move status and importance to data class 2022-10-31 17:01:50 +01:00
Veronica Berglyd Olsen
cc2ef85afd CHange how current word counts are handled 2022-10-31 16:19:31 +01:00
Veronica Berglyd Olsen
9d283d2eae Move all remaining trivial project settings to the data class 2022-10-31 15:55:33 +01:00
Veronica Berglyd Olsen
aeef8734b8 Move the remaining project meta settings to project data class 2022-10-31 00:28:10 +01:00
Veronica Berglyd Olsen
192806a46d Fix or disable broken tests 2022-10-30 23:55:58 +01:00
Veronica Berglyd Olsen
e887ec6991 Move project name to project data class 2022-10-30 23:18:18 +01:00
Veronica Berglyd Olsen
ea80fd3c71 Complete the XML parsing 2022-10-30 22:51:31 +01:00
Veronica Berglyd Olsen
6d1734b655 Merge branch 'main' into xml_rw_class 2022-10-30 19:40:12 +01:00
Veronica Berglyd Olsen
72f06620e9 Add version and build info to AppImage build (#1218) 2022-10-30 17:59:08 +01:00
Veronica Berglyd Olsen
aa963dea3d Add version and build info to AppImage build (#1182) 2022-10-30 17:55:38 +01:00
Veronica Berglyd Olsen
16e7df0526 Allow moving split document to trash (#1217) 2022-10-30 17:21:29 +01:00
Veronica Berglyd Olsen
4d5c1b2455 Update split document tests 2022-10-30 17:14:28 +01:00
Veronica Berglyd Olsen
c1988bcc17 Fix bug where split document loses status or importance 2022-10-30 17:07:24 +01:00
Veronica Berglyd Olsen
1784d9ce28 Add move to trash switch on split dialog and processing (#1179) 2022-10-30 17:03:52 +01:00
Veronica Berglyd Olsen
15fd4c51df Fix bug with missing icons in outline view 2022-10-30 16:58:10 +01:00
Veronica Berglyd Olsen
fd92f1c588 Update active/inactive and status/importance icons (#1216) 2022-10-30 15:31:03 +01:00
Veronica Berglyd Olsen
80496ab1ed Improve active/inactive icons again 2022-10-30 15:16:39 +01:00
Veronica Berglyd Olsen
dbade05e46 Generate nicer status icons 2022-10-30 02:33:00 +02:00
Veronica Berglyd Olsen
e80536405e Replace active status icons in project tree 2022-10-30 01:21:07 +02:00
Veronica Berglyd Olsen
ea59379479 Add new checkbox icons 2022-10-30 01:20:31 +02:00
Veronica Berglyd Olsen
18878dd19b Change how item data is stored in the project tree 2022-10-29 17:55:45 +02:00
Veronica Berglyd Olsen
309a58cb18 Fix missing synopsis action in main window 2022-10-29 01:36:31 +02:00
Veronica Berglyd Olsen
64fbc2f4e9 Add format and insert features (#1214) 2022-10-29 01:33:42 +02:00
Veronica Berglyd Olsen
dcb473137b Update documentation and test with synopsis insert feature 2022-10-29 01:26:58 +02:00
Veronica Berglyd Olsen
3a90ee2b0d Add insert menu entry for synopsis comment (#1177) 2022-10-29 01:26:26 +02:00
Veronica Berglyd Olsen
dc401278fb Update tests 2022-10-29 01:05:41 +02:00
Veronica Berglyd Olsen
33eb3efb11 Remove restriction on formatting empty block (#1178) 2022-10-29 01:05:33 +02:00
Veronica Berglyd Olsen
6d15bc5f14 Fix help text in Preferences 2022-10-29 00:56:39 +02:00
Veronica Berglyd Olsen
04c4b9eda5 Update theme system (#1212) 2022-10-29 00:50:26 +02:00
Veronica Berglyd Olsen
4a9ea459fa Make some minor changes and update test coverage 2022-10-29 00:38:32 +02:00
Veronica Berglyd Olsen
9b1c3fece2 Update default themes and remove custom style sheet feature 2022-10-28 23:50:52 +02:00
Veronica Berglyd Olsen
f76fc95494 Complete coverage of themes classes 2022-10-28 23:26:25 +02:00
Veronica Berglyd Olsen
42f5ea205f Clean up GUI tests 2022-10-28 22:15:54 +02:00
Veronica Berglyd Olsen
28916afcce Add test coverage of GUI theme 2022-10-28 00:00:57 +02:00
Veronica Berglyd Olsen
34193021e8 Simplify the themes class a bit 2022-10-27 23:47:29 +02:00
Veronica Berglyd Olsen
c7999831c9 Remove icon setting from config, and let the theme control it 2022-10-26 22:01:04 +02:00
Veronica Berglyd Olsen
8d7ebefa65 Fix updating syntax colours (#1171) 2022-10-25 23:56:07 +02:00
Veronica Berglyd Olsen
88183cdc39 Add updateTheme functions to remaining GUI components 2022-10-25 23:42:43 +02:00
Veronica Berglyd Olsen
52ede26f3d Add updateTheme functions to most GUI components 2022-10-25 23:12:21 +02:00
Veronica Berglyd Olsen
e1ecd3cd27 Fix some code linter complaints in doc editor 2022-10-25 22:01:44 +02:00
Veronica Berglyd Olsen
25c4330fd0 Make icon theme a part of the GUI theme (solves #1172) 2022-10-25 21:27:55 +02:00
Veronica Berglyd Olsen
80ae810e1b Merge 1.6.6 (#1211) 2022-10-25 18:55:52 +02:00
Veronica Berglyd Olsen
719c2aada2 Merge branch 'main' into merge_1.6.6 2022-10-25 18:49:28 +02:00
Veronica Berglyd Olsen
f2e3d95e98 Merge branch 'main' into merge_1.6.6 2022-10-25 18:47:36 +02:00
Veronica Berglyd Olsen
c22354fe4d Release 1.6.6 (#1210) 2022-10-25 18:29:06 +02:00
Veronica Berglyd Olsen
4862ac3857 Bump the version number and update the changelog 2022-10-25 18:26:37 +02:00
Veronica Berglyd Olsen
e93e125a46 Allow lookup of tags with spaces (#1209) 2022-10-25 18:19:19 +02:00
Veronica Berglyd Olsen
dc0f9abdbc Fix lookup of tags with spaces (#1195) 2022-10-25 18:12:29 +02:00
Veronica Berglyd Olsen
455a065285 Updates to status and importance feature (#1207) 2022-10-25 17:18:45 +02:00
Veronica Berglyd Olsen
8b3ec4376d Merge branch 'main' into status_import 2022-10-25 17:12:37 +02:00
Veronica Berglyd Olsen
b69e4e91ac Add Python 3.11 (#1208) 2022-10-25 17:11:21 +02:00
Veronica Berglyd Olsen
a5cbaa7f8c Update requirements and add Python 3.11 to CI 2022-10-25 16:58:46 +02:00
Veronica Berglyd Olsen
b0095b266d Add checkmark for current active status or iumportance value (#1202) 2022-10-25 16:19:25 +02:00
Veronica Berglyd Olsen
7b04d57605 Refactor project settings test 2022-10-25 15:48:29 +02:00
Veronica Berglyd Olsen
2ee6adcf35 Clean up function mappings in project tree class 2022-10-25 15:47:40 +02:00
Veronica Berglyd Olsen
e89f004532 Add a manage labels option to project tree context menu (#1203) 2022-10-25 12:20:18 +02:00
Veronica Berglyd Olsen
624787994a Refactor the projhect tree context menu code 2022-10-25 08:17:18 +02:00
Veronica Berglyd Olsen
550896e795 Merge branch 'main' into xml_rw_class 2022-10-21 10:24:00 +02:00
Veronica Berglyd Olsen
2f926301e6 Update wizard custom page functionality (#1201) 2022-10-20 23:10:18 +02:00
Veronica Berglyd Olsen
34dbf3557c Turn off generating notes if all notes folders are off in the new project wizard (#1192) 2022-10-20 23:00:52 +02:00
Veronica Berglyd Olsen
ae856dda6a Rename exported status to active status (#1200) 2022-10-20 22:48:57 +02:00
Veronica Berglyd Olsen
871cef8af9 Add tooltip to active status icons and update build tool 2022-10-20 22:37:42 +02:00
Veronica Berglyd Olsen
6b16b7c3b7 Rename project file attribute 2022-10-20 18:28:32 +02:00
Veronica Berglyd Olsen
93a79f3605 Rename the access metods of the item class from exported to active 2022-10-20 18:14:40 +02:00
Veronica Berglyd Olsen
5ae96e4d44 Fix various issues in the code (#1197) 2022-10-20 12:30:00 +02:00
Veronica Berglyd Olsen
85e48eb56a Fix a few minor typing issues 2022-10-20 12:14:09 +02:00
Veronica Berglyd Olsen
58f8f98c6f Use constants for project and config file names 2022-10-20 12:13:29 +02:00
Veronica Berglyd Olsen
1da92e997c Fix project tree context menu labels (#1199) 2022-10-20 09:12:31 +02:00
Veronica Berglyd Olsen
734f3d57bf Rename statusBar to mainStatus in main GUI due to conflict with Qt method (#1190) 2022-10-20 00:26:18 +02:00
Veronica Berglyd Olsen
6a6742275f Clean up unused part of header check function in doc editor 2022-10-20 00:22:09 +02:00
Veronica Berglyd Olsen
815c0f1125 Add a bunch of None checks, even if many may be redundant 2022-10-20 00:21:51 +02:00
Veronica Berglyd Olsen
cfe11f7b54 Make the common module a little simpler 2022-10-19 22:10:23 +02:00
Veronica Berglyd Olsen
efb7d12e1d Remove verbose logging (#1191) 2022-10-19 16:21:23 +02:00
Veronica Berglyd Olsen
caf8a75bbc Fix a couple of issues discovered by pylance 2022-10-19 12:06:57 +02:00
Veronica Berglyd Olsen
e52f0a9e16 Remove verbose logging implementation 2022-10-19 08:29:02 +02:00
Veronica Berglyd Olsen
8775b360d8 Remove all verbose log entries 2022-10-19 08:27:11 +02:00
Veronica Berglyd Olsen
54fea1d28e Clean up common module, and fix a few typing issues (#1188) 2022-10-19 00:18:07 +02:00
Veronica Berglyd Olsen
c40ace1290 Fix a few weird dictionary lookups in the index 2022-10-19 00:04:31 +02:00
Veronica Berglyd Olsen
f34d95edaa Simplify the setText method of the Tokenizer class 2022-10-18 23:49:48 +02:00
Veronica Berglyd Olsen
ac05dbc55b Fix a potential bug 2022-10-18 23:46:08 +02:00
Veronica Berglyd Olsen
0f72c45fbc Update tests 2022-10-18 23:41:41 +02:00
Veronica Berglyd Olsen
da820871fd Simplify the check functions in common (#1185) and remove the checkIntRange function 2022-10-18 23:41:29 +02:00
Veronica Berglyd Olsen
1aec49f852 Fix missing data path issue when creating themes folders (#1184) 2022-10-18 21:01:23 +02:00
Veronica Berglyd Olsen
33b95b60e3 Fix missing data path issue (#1180) 2022-10-18 20:43:33 +02:00
Veronica Berglyd Olsen
d232b22501 Always index main heading (#1183) 2022-10-17 21:39:28 +02:00
Veronica Berglyd Olsen
6c06845ed5 Drop the error on level tag in index file 2022-10-17 21:31:57 +02:00
Veronica Berglyd Olsen
5f4a171dff Update lipsum test project 2022-10-17 21:18:42 +02:00
Veronica Berglyd Olsen
38df693987 Update tests 2022-10-17 21:15:52 +02:00
Veronica Berglyd Olsen
e24573f644 Clean out main header data in the index and make it set the item's value instead 2022-10-17 20:22:21 +02:00
Veronica Berglyd Olsen
8fe25d4b43 Update classes and functions to use the item as source of main heading instead of index 2022-10-17 20:15:45 +02:00
Veronica Berglyd Olsen
5a4b7b7264 Add a main heading variable to the NWItem class 2022-10-17 20:08:19 +02:00
Veronica Berglyd Olsen
9b5b00fd2d Release 2.0 RC 1 (#1169) 2022-10-17 16:40:08 +02:00
Veronica Berglyd Olsen
d59c408e44 Merge branch 'main' into release_2.0rc1 2022-10-17 13:34:04 +02:00
Veronica Berglyd Olsen
95b6949da8 Update readme with new minimum Qt version 2022-10-15 23:32:30 +02:00
Veronica Berglyd Olsen
b0e2dbf06e Merge branch 'main' into release_2.0rc1 2022-10-15 23:30:43 +02:00
Veronica Berglyd Olsen
0aadb29ac7 Update changelog 2022-10-15 23:29:12 +02:00
Veronica Berglyd Olsen
559a1791e1 Increase minimum Qt version to 5.10 (#1174) 2022-10-15 23:23:47 +02:00
Veronica Berglyd Olsen
f5dcad8725 Update references to Qt version in the docs 2022-10-15 23:14:34 +02:00
Veronica Berglyd Olsen
97724054ec Require at least Qt 5.10 instead 2022-10-15 23:05:43 +02:00
Veronica Berglyd Olsen
30661130ca Ignore coverage of lines of old Qt versions 2022-10-15 22:56:18 +02:00
Veronica Berglyd Olsen
9c16b58325 Fix document editor test 2022-10-15 22:50:07 +02:00
Veronica Berglyd Olsen
aadc576d0a Require at least Qt 5.9 2022-10-15 22:47:18 +02:00
Veronica Berglyd Olsen
84db544704 Update documentation screen shots 2022-10-15 19:59:02 +02:00
Veronica Berglyd Olsen
49bce76c0d Update changelog 2022-10-15 16:21:41 +02:00
Veronica Berglyd Olsen
20945cfc0d Merge branch 'main' into release_2.0rc1 2022-10-15 16:19:59 +02:00
Veronica Berglyd Olsen
05ad483f06 Update i18n (#1170) 2022-10-15 16:19:47 +02:00
Veronica Berglyd Olsen
98e014f834 Update translations for Norwegian and US English 2022-10-15 16:10:18 +02:00
Veronica Berglyd Olsen
e316270b57 Update base translation file 2022-10-15 16:09:59 +02:00
Veronica Berglyd Olsen
4fe34640f5 Bump version to 2.0 RC 1 and update changelog 2022-10-15 12:13:14 +02:00
Veronica Berglyd Olsen
ca613e83e8 Add a root folder filter to the Build Tool (#1168) 2022-10-14 22:55:09 +02:00
Veronica Berglyd Olsen
72e1180c84 Add a root folder filter to the build tool 2022-10-14 22:41:58 +02:00
Veronica Berglyd Olsen
a582d231e8 Make some minor GUI tweaks (#1167) 2022-10-14 22:16:44 +02:00
Veronica Berglyd Olsen
11ff9567c0 Make the novel combo box on project details always visible 2022-10-14 21:49:42 +02:00
Veronica Berglyd Olsen
64c07e8910 Change a few tooltip labels and remove focus mode checkbox in menu 2022-10-14 21:45:58 +02:00
Veronica Berglyd Olsen
6f257d9b27 Use the main menu entries in the view bar settings menu 2022-10-14 20:47:01 +02:00
Veronica Berglyd Olsen
928c25e742 Fix circular imports (#1166) 2022-10-14 19:45:05 +02:00
Veronica Berglyd Olsen
3c49ccff53 Move the custom gui module to the root of the project 2022-10-14 19:34:37 +02:00
Veronica Berglyd Olsen
5aa5640baa Make all imports in tests explicit 2022-10-14 19:25:21 +02:00
Veronica Berglyd Olsen
91961111d8 Add Quick Links to the Project Tree (#1165) 2022-10-14 17:43:23 +02:00
Veronica Berglyd Olsen
5fcfbf1c75 Add shortcut to docs, and fix broken link 2022-10-14 17:35:10 +02:00
Veronica Berglyd Olsen
77ec0a9eed Add a quick links dropdown menu to the project tree (#1137) 2022-10-14 17:30:28 +02:00
Veronica Berglyd Olsen
bbbad2b170 Add bookmark icon 2022-10-14 17:29:07 +02:00
Veronica Berglyd Olsen
505385b060 Update icons (#1164) 2022-10-14 10:31:25 +02:00
Veronica Berglyd Olsen
07a5def0a9 Change project details to use decoration graphics rather than icons, and delete the no longer used header icons 2022-10-14 10:20:30 +02:00
Veronica Berglyd Olsen
91e6b0671e Add header decoration function to the icon class 2022-10-14 10:19:31 +02:00
Veronica Berglyd Olsen
234a527f25 Add icon for Novel Section documents 2022-10-14 09:40:34 +02:00
Veronica Berglyd Olsen
845a15229d Remove unused icons 2022-10-14 09:37:50 +02:00
Veronica Berglyd Olsen
ab482c4ede Rewrite Split Tool (#1154) 2022-10-14 00:00:16 +02:00
Veronica Berglyd Olsen
d619f4a012 Add test coverage of splitter function in project tree 2022-10-13 23:48:52 +02:00
Veronica Berglyd Olsen
84af87b155 Add test for document splitter 2022-10-13 19:01:06 +02:00
Veronica Berglyd Olsen
3f4d85dcad Rewrite test for split dialog 2022-10-13 18:18:08 +02:00
Veronica Berglyd Olsen
02976c5f12 Add remaining logic to document splitter, and fix bug in recursive permanet delete 2022-10-13 17:11:43 +02:00
Veronica Berglyd Olsen
049190739f Merge branch 'main' into split_tool 2022-10-13 14:57:24 +02:00
Veronica Berglyd Olsen
e11137a90f Merge 1.6.5 (#1160) 2022-10-13 11:14:02 +02:00
Veronica Berglyd Olsen
28ae292703 Merge branch 'main' into merge_1.6.5 2022-10-13 11:07:24 +02:00
Veronica Berglyd Olsen
0e94b1ca88 Patch 1.6.5 (#1159) 2022-10-13 10:47:22 +02:00
Veronica Berglyd Olsen
dbf672224f Bump version to 1.6.5 and update changelog 2022-10-13 10:44:08 +02:00
Veronica Berglyd Olsen
1001140eec Fix preferences dialog window size issue #989 2022-10-13 10:25:38 +02:00
Veronica Berglyd Olsen
038c66258b Backport fix for #1150 2022-10-13 10:24:00 +02:00
Veronica Berglyd Olsen
bb8b0555ae Backport fix for #1149 2022-10-13 10:22:31 +02:00
Veronica Berglyd Olsen
1421ed3bf4 Turn off the old splitter tool test 2022-10-12 23:44:15 +02:00
Veronica Berglyd Olsen
31a5761ba0 Add the core code for the DocSplitter tool 2022-10-12 23:39:56 +02:00
Veronica Berglyd Olsen
baafd5f83c Rewrite the GuiDocSplit dialog 2022-10-12 22:36:06 +02:00
Veronica Berglyd Olsen
4f44374f48 Remove menu entry for split document 2022-10-11 23:41:39 +02:00
Veronica Berglyd Olsen
7403736ae1 Fix minor issues and clean up class inits (#1153) 2022-10-11 23:35:31 +02:00
Veronica Berglyd Olsen
9a0bda9884 Fix tab parents on settings dialogs 2022-10-11 23:27:45 +02:00
Veronica Berglyd Olsen
84104f2267 Include missing file from last commit 2022-10-11 23:18:37 +02:00
Veronica Berglyd Olsen
5d6778be57 Clean up class initialisation 2022-10-11 23:17:58 +02:00
Veronica Berglyd Olsen
1f05e90266 Remove the context menu in the main window (#1147) 2022-10-11 22:49:36 +02:00
Veronica Berglyd Olsen
3a7c3cec3f Reset idle time when creating a new project (#1149) 2022-10-11 22:44:06 +02:00
Veronica Berglyd Olsen
e8f7df9cb4 Add Shift+Enter to auto-replace (#1151) 2022-10-11 22:35:24 +02:00
Veronica Berglyd Olsen
9b5d2b2c2b Resolve issue #1150 2022-10-11 22:26:14 +02:00
Veronica Berglyd Olsen
87f20622f9 Rewrite Merge Tool (#1148) 2022-10-11 22:02:26 +02:00
Veronica Berglyd Olsen
417758a29a Add coverage of new function in project class 2022-10-11 21:48:40 +02:00
Veronica Berglyd Olsen
07c93bcb7d Update test coverage 2022-10-11 21:20:03 +02:00
Veronica Berglyd Olsen
b96c1e9f09 Add test coverage of doc tools 2022-10-10 16:35:13 +02:00
Veronica Berglyd Olsen
747a1a212c Make some minor improvements to code and tests 2022-10-10 15:48:45 +02:00
Veronica Berglyd Olsen
428dce3e6e Fix doc merge dialog test 2022-10-09 22:47:36 +02:00
Veronica Berglyd Olsen
02dc7f5fe0 Make a few more improvements to doc merge 2022-10-09 21:40:50 +02:00
Veronica Berglyd Olsen
d9a59bccda Don't allow merging root folders 2022-10-09 21:30:21 +02:00
Veronica Berglyd Olsen
23b73dd936 Update tests for project tree deleting items 2022-10-09 20:49:25 +02:00
Veronica Berglyd Olsen
0859c14581 Remove the old merge document menu entry 2022-10-09 19:23:55 +02:00
Veronica Berglyd Olsen
2bda53e971 Split up the project tree deleteItem function 2022-10-09 19:21:05 +02:00
Veronica Berglyd Olsen
0f3d598f8d Implement nre doc merge functionality in tree 2022-10-09 17:19:01 +02:00
Veronica Berglyd Olsen
e1c3a12d07 Redesign the Document Merge dialog box 2022-10-09 15:30:02 +02:00
Veronica Berglyd Olsen
43bb5aab5c Rename 1.7 to 2.0 (#1146) 2022-10-06 09:15:48 +02:00
Veronica Berglyd Olsen
b80f5ba057 Rename 1.7 to 2.0 2022-10-06 09:10:58 +02:00
Veronica Berglyd Olsen
9c381c40a5 Remove existing space when auto-inserting space (#1131) 2022-10-01 23:13:07 +02:00
Veronica Berglyd Olsen
47c39e68b7 Remove the no longer needed changes to the test 2022-10-01 22:44:11 +02:00
Veronica Berglyd Olsen
a24d37ffa4 Simplify the auto-insert space check code as this is efficient enough 2022-10-01 22:41:18 +02:00
Veronica Berglyd Olsen
03db815723 Update test coverage 2022-10-01 22:35:26 +02:00
Veronica Berglyd Olsen
1aeb66d9af Make sure existing space is stripped before inserting non-breaking space (#1061) 2022-10-01 22:35:00 +02:00
Veronica Berglyd Olsen
3efbc14d97 Update Project Details for multi-novel projects (#1130) 2022-10-01 22:11:21 +02:00
Veronica Berglyd Olsen
534614d037 Add a root folder combo box to the Project Details dialog 2022-10-01 22:02:24 +02:00
Veronica Berglyd Olsen
479478490e Update the index to generate a ToC for a specific root folder 2022-10-01 22:02:00 +02:00
Veronica Berglyd Olsen
f4eed2bf2c Add Expand/Collapse All functionality to project tree (#1129) 2022-10-01 21:25:19 +02:00
Veronica Berglyd Olsen
ba51fb4c46 Add Expand/Collapse All functionality to project tree 2022-10-01 21:17:47 +02:00
Veronica Berglyd Olsen
bdc7e4dc10 Convert folder to document or note (#1128) 2022-10-01 20:42:43 +02:00
Veronica Berglyd Olsen
25dec2ace8 Add test coverage of convert folder feature 2022-10-01 20:32:47 +02:00
Veronica Berglyd Olsen
7d99d6c40b Merge branch 'main' into convert_folder 2022-10-01 19:06:52 +02:00
Veronica Berglyd Olsen
ba88160deb Rough framework for XML reader/writer classes 2022-09-29 20:07:52 +02:00
Veronica Berglyd Olsen
08289d0675 Merge 1.6.4 (#1121) 2022-09-29 20:05:42 +02:00
Veronica Berglyd Olsen
a64c36221c Fix remaining merge conflict 2022-09-29 20:00:05 +02:00
Veronica Berglyd Olsen
bf2229538e Bring patch 1.6.4 changes into main 2022-09-29 19:59:21 +02:00
Veronica Berglyd Olsen
922d66ff53 Fix typo in release notes and changelog 2022-09-29 19:38:28 +02:00
Veronica Berglyd Olsen
cfb6059027 Add Ubunutu 22.10 to patch build 2022-09-29 19:34:20 +02:00
Veronica Berglyd Olsen
c04715c9ef Release 1.6.4 (#1120) 2022-09-29 19:27:02 +02:00
Veronica Berglyd Olsen
d82c739f01 Release 1.6.4 2022-09-29 19:23:41 +02:00
Veronica Berglyd Olsen
7267490645 Backport fix #1113 2022-09-29 14:33:12 +02:00
Veronica Berglyd Olsen
5adf21e87a Add integration test coverage of insert spaces issue 2022-09-29 14:25:42 +02:00
Veronica Berglyd Olsen
e6b2732281 Fix insert spaces crash (#1118) 2022-09-29 14:11:39 +02:00
Veronica Berglyd Olsen
9c4b3dbc08 Improve the tree change method 2022-09-29 14:09:03 +02:00
Veronica Berglyd Olsen
3d3ac0d05d Allow converting folder to file in project tree (#1071) 2022-09-19 13:33:56 +02:00
Veronica Berglyd Olsen
9434fe2cd7 Fix clipping of cursor due to no document margin (#1113) 2022-09-14 16:57:15 +02:00
Veronica Berglyd Olsen
af55e57ba3 Fix clipping of cursor due to 0 doc margin, issue #1112 2022-09-14 16:48:46 +02:00
Veronica Berglyd Olsen
90fbfc30ad Add Ubuntu 22.10 to setup builds 2022-09-14 13:33:09 +02:00
Veronica Berglyd Olsen
c48d415a9d Update context menu entries in project tree (#1111) 2022-09-11 19:12:49 +02:00
Veronica Berglyd Olsen
874f4f7198 Change a few other project tree context menu labels 2022-09-11 18:51:18 +02:00
Veronica Berglyd Olsen
19c583f615 Fix misleading deletion label in context menu for empty folders 2022-09-11 18:48:15 +02:00
Veronica Berglyd Olsen
76e9c822c9 Make adding new docs smarter (#1110) 2022-09-11 17:40:47 +02:00
Veronica Berglyd Olsen
73b8e3e0fb Use the new item checker functions instead of equal operator 2022-09-11 17:22:46 +02:00
Veronica Berglyd Olsen
5cba10151a Make the add new item feature a little smarter 2022-09-11 17:06:16 +02:00
Veronica Berglyd Olsen
01b66bc62e Add some type and layout checker functions to the item class 2022-09-11 17:04:21 +02:00
Veronica Berglyd Olsen
f14398392a Merge release 1.6.3 into main (#1104) 2022-08-18 22:57:15 +02:00
Veronica Berglyd Olsen
3a7ed1f2f3 Merge branch 'main' into patch_to_main 2022-08-18 22:53:46 +02:00
Veronica Berglyd Olsen
802d1b0132 Improve the build scripts (#1103) 2022-08-18 22:45:43 +02:00
Veronica Berglyd Olsen
d4878525ac Improve the package build pipeline 2022-08-18 22:38:32 +02:00
Veronica Berglyd Olsen
e98e758b5f Fix missing version bump 2022-08-18 22:36:46 +02:00
Veronica Berglyd Olsen
672e3680b7 Release 1.6.3 (#1102) 2022-08-18 20:38:42 +02:00
Veronica Berglyd Olsen
53c1d1b7ee Bumped version and update changelog 2022-08-17 23:49:37 +02:00
Veronica Berglyd Olsen
721d67ac0a Merge patches from 1.6.3 (#1101) 2022-08-17 23:32:43 +02:00
Veronica Berglyd Olsen
2407b61830 Fix typo in docstring and add reference to issue 2022-08-17 23:24:18 +02:00
Veronica Berglyd Olsen
f08345b15e Merge branch 'main' into merge_patches 2022-08-17 23:21:10 +02:00
Veronica Berglyd Olsen
20da33348c Block adding spaces before colon in certain meta data cases (#1099) 2022-08-17 23:09:17 +02:00
Veronica Berglyd Olsen
7e82461aba Fix comment in test 2022-08-17 23:05:26 +02:00
Veronica Berglyd Olsen
fcfe7507d6 Block adding spaces before colon (French language feature) in certain meta data cases 2022-08-17 23:01:03 +02:00
Veronica Berglyd Olsen
90b50fe180 Fix handling of empty spellcheck language string (#1098) 2022-08-17 22:34:45 +02:00
Veronica Berglyd Olsen
3ddbfb061b Make spell ckeck tests run on en_US 2022-08-17 22:29:27 +02:00
Veronica Berglyd Olsen
93194626c7 Add an additional ignore line on main editing test 2022-08-17 22:25:02 +02:00
Veronica Berglyd Olsen
c23a1d224d Install a generic English dictionary on Linux CI 2022-08-17 22:19:32 +02:00
Veronica Berglyd Olsen
2178391bcd Update tests of spell check classes 2022-08-17 21:49:59 +02:00
Veronica Berglyd Olsen
c917fc9c9c Fix issue #1096 and remove a couple of error ourputs 2022-08-17 21:49:41 +02:00
Veronica Berglyd Olsen
15c54224e0 Update the Outline View to be consistent with the Novel Tree (#1094) 2022-08-15 18:09:33 +02:00
Veronica Berglyd Olsen
cc7ae316ad Make some minor changes for consistency between similar classes 2022-08-15 16:08:25 +02:00
Veronica Berglyd Olsen
bf49b1ee50 Merge branch 'main' into outline_updates 2022-07-31 18:55:03 +02:00
Veronica Berglyd Olsen
bb2c78c0f6 Update tests 2022-07-31 18:50:43 +02:00
Veronica Berglyd Olsen
069e3baf67 Add functionality to load and save last selected outline novel, and fix a few inconsistencies 2022-07-31 18:40:16 +02:00
Veronica Berglyd Olsen
b30a4d26ae Appimage Distribution (#1092) 2022-07-15 16:53:37 +02:00
Veronica Berglyd Olsen
338d158bae Make some minor changes to the setup script 2022-07-15 16:39:12 +02:00
Veronica Berglyd Olsen
895beb6aa1 Revert change of spelling from UK to US 2022-07-15 16:36:45 +02:00
Veronica Berglyd Olsen
67aff2550b Change look of outline tree 2022-07-15 14:38:37 +02:00
Rachel Powers
82a5da391f - ensure dist_appimage removed during cleanup
- cleanup
2022-07-08 18:53:01 -07:00
Rachel Powers
3dc4d1443f ensure prefix matching of build-appimage args do not shadow normal setup
move defaults to pyhton 3.10 and manylinux2010 for better compatability
cleanup
2022-07-08 18:40:54 -07:00
Rachel Powers
073a9acfb3 add a method to automate the building of an Appimage package 2022-07-08 15:26:03 -07:00
Rachel Powers
b363259a72 fix spelling 2022-07-08 14:08:13 -07:00
Rachel Powers
211ab290d0 bring .desktop into compliance with Desktop Entry specification 1.1
validated with `desktop-file-validate`
2022-07-08 14:06:56 -07:00
Veronica Berglyd Olsen
f9df358c4f Add the Novel Tree meta data feature (#1088) 2022-06-15 20:46:45 +02:00
Veronica Berglyd Olsen
0d01e108f1 Improve test coverage 2022-06-15 20:37:19 +02:00
Veronica Berglyd Olsen
8c4ecaeee2 Fix tests 2022-06-15 20:01:45 +02:00
Veronica Berglyd Olsen
4fa814a2fa Remove no longer needed config settings, and change default text width 2022-06-15 19:51:13 +02:00
Veronica Berglyd Olsen
bb85232ea7 Add some fixes to keep novel tree active handle up to date 2022-06-15 19:47:04 +02:00
Veronica Berglyd Olsen
469275eea5 Add novel tree highlight of rows of current document 2022-06-15 19:39:07 +02:00
Veronica Berglyd Olsen
ba0ce33cfc Add a tool tip with meta data behind a button on each novel tree item 2022-06-15 19:17:24 +02:00
Veronica Berglyd Olsen
50f299171a Add some convenient tree widget settings to the different trees 2022-06-15 17:33:47 +02:00
Veronica Berglyd Olsen
5c04e79486 Merge branch 'main' into i18n-de_DE-created 2022-06-15 17:18:47 +02:00
Veronica Berglyd Olsen
fb14e978cd Merge branch 'patch' 2022-06-15 17:11:56 +02:00
Veronica Berglyd Olsen
3a455fa1a7 Fix build ODT language, and collapsing of view panel (#1087) 2022-06-15 17:10:35 +02:00
Veronica Berglyd Olsen
ad50ad9b0d Resolve issue #1085 2022-06-15 17:06:18 +02:00
Veronica Berglyd Olsen
7d7c2dba26 Resolve issue #1073 2022-06-15 17:05:48 +02:00
Veronica Berglyd Olsen
0b95804535 Update the novel tree GUI (#1084) 2022-06-15 16:52:42 +02:00
Veronica Berglyd Olsen
6ccbb358b9 Update tests 2022-06-15 16:46:44 +02:00
Veronica Berglyd Olsen
cff464392a Use the indenta decorators of the novel tree to indicate type 2022-06-15 16:15:29 +02:00
Veronica Berglyd Olsen
3a061eec3f Update novel tree menu processing and fix issue with reaload of document 2022-06-15 16:14:28 +02:00
Veronica Berglyd Olsen
538b722bdf Fix tests and a few other bits 2022-06-14 19:33:12 +02:00
Veronica Berglyd Olsen
ea61db9591 Simplify the novel outline tree 2022-06-14 00:14:51 +02:00
Veronica Berglyd Olsen
49ace054bd Make options class handle enums, and add plot column to novel tree 2022-06-12 20:18:24 +02:00
Veronica Berglyd Olsen
8040441757 Allow changing content of last column of the novel tree 2022-06-12 19:59:18 +02:00
Veronica Berglyd Olsen
88b2d61cec Update tests 2022-06-12 17:54:37 +02:00
Veronica Berglyd Olsen
52683d5a21 Add novel tree toolbar and connect actions 2022-06-12 17:47:32 +02:00
Veronica Berglyd Olsen
b3eb276437 Wrap the novel tree in an outer widget 2022-06-12 15:45:39 +02:00
Veronica Berglyd Olsen
ed5c52859d Simplify the conversion of very old project data (#1083) 2022-06-11 23:57:08 +02:00
Veronica Berglyd Olsen
c58868ed39 Simplify the conversion of very old project data 2022-06-11 23:54:20 +02:00
Veronica Berglyd Olsen
5a5a64e3a2 Replace the edit item dialog (#1082) 2022-06-11 18:54:08 +02:00
Veronica Berglyd Olsen
2cc8be5776 Rename the main GUI function for editing an item 2022-06-11 18:48:22 +02:00
Veronica Berglyd Olsen
8d427f40c6 Add a shortcut to open project tree context menu 2022-06-11 18:40:21 +02:00
Veronica Berglyd Olsen
946656f8c5 Add test for edit label dialog 2022-06-11 18:26:41 +02:00
Veronica Berglyd Olsen
37c3bb8cd2 Replace the item editor with the label editor dialog 2022-06-11 18:19:21 +02:00
Veronica Berglyd Olsen
6058423970 Add a new edit label dialog 2022-06-11 18:17:57 +02:00
Veronica Berglyd Olsen
d162be3543 Give main GUI objects better names (#1081) 2022-06-11 16:36:15 +02:00
Veronica Berglyd Olsen
985179bbb9 Rename main theme object 2022-06-11 16:29:49 +02:00
Veronica Berglyd Olsen
db01d85f2e Rename outline components 2022-06-11 15:59:08 +02:00
Veronica Berglyd Olsen
94068e777a Give main GUI elements more identifiable names 2022-06-11 15:49:45 +02:00
Veronica Berglyd Olsen
0181bebd70 Rename ambiguous theParent variable to mainGui 2022-06-11 15:33:32 +02:00
Veronica Berglyd Olsen
b8d557646a Update the Project Tree with major improvements (#1079) 2022-06-11 14:53:45 +02:00
Veronica Berglyd Olsen
025463a28e Improve project tree test coverage 2022-06-11 14:40:03 +02:00
Veronica Berglyd Olsen
f0bef18b63 Re-implement the tree context menu 2022-06-11 13:44:45 +02:00
Veronica Berglyd Olsen
77746f712f Fix inconsistend expand/collapse when tree items are moved 2022-06-11 12:33:37 +02:00
Veronica Berglyd Olsen
ad438e128a Merge branch 'main' into project_tree_updates 2022-06-07 23:41:48 +02:00
Veronica Berglyd Olsen
af39fb98a1 Clean up project tree code and add undo action to the menu 2022-06-07 23:38:17 +02:00
Veronica Berglyd Olsen
ef270bc069 Tweak project toolbar look, and fix shortcuts 2022-06-07 22:38:02 +02:00
Veronica Berglyd Olsen
0909bf7c36 Update code of conduct to v2.1 2022-06-07 10:34:27 +02:00
Veronica Berglyd Olsen
5a6ef5efd3 Add move buttons to project tree toolbar 2022-06-07 00:11:42 +02:00
Veronica Berglyd Olsen
272e7f6e24 Remove redundant menu entries 2022-06-06 22:17:24 +02:00
Veronica Berglyd Olsen
46bb8e5bcc Populate the add button menu in the project widget 2022-06-06 22:03:42 +02:00
Veronica Berglyd Olsen
12a7ec7fe3 Allow the project class to create new files 2022-06-06 22:02:44 +02:00
Veronica Berglyd Olsen
d07f5dc520 Wrap project tree in an outer widget with a toolbar 2022-06-06 15:50:46 +02:00
Veronica Berglyd Olsen
b88cdb7677 Make the project tree columns fixed 2022-06-06 14:11:59 +02:00
Veronica Berglyd Olsen
669eabc7e8 Handle actions in the project tree internally in the class 2022-06-06 13:46:54 +02:00
Veronica Berglyd Olsen
24112f6d8d Merge branch 'main' into i18n-de_DE-created 2022-06-06 13:27:48 +02:00
Veronica Berglyd Olsen
3ff5dfce33 Set build language for Open Document files (#1077) 2022-06-05 22:47:21 +02:00
Veronica Berglyd Olsen
2f81aef0a3 Set build language for Open Document files 2022-06-05 22:42:25 +02:00
Veronica Berglyd Olsen
29739ab210 Update the Outline View panel (#1063)
Add a top level widget that contains the entire Outline View.
Move the details panel code to the outline.py file.
Add a toolbar to the top of the Outline view with a dropdown box to select which Novel folder to view.
Add a refresh button to the tool bar.
Move the context menu for changing columns to a menu button on the tool bar.
Remove the Rebuild Outline and Auto-Update Outline options from the main menu.
2022-06-05 22:34:49 +02:00
Veronica Berglyd Olsen
4d9b94cfe6 Improve test coverage of Outline 2022-06-05 22:31:10 +02:00
Veronica Berglyd Olsen
85f63721e0 Allow showing all novel files in Outline 2022-06-05 18:43:09 +02:00
Veronica Berglyd Olsen
92924b3288 Make the new item function better at guessing header level of new files 2022-06-05 17:41:29 +02:00
Veronica Berglyd Olsen
88976d6800 Streamline how project item changes are reported 2022-06-05 17:25:39 +02:00
Veronica Berglyd Olsen
2873336dce Allow switching between root novel folders 2022-06-05 15:04:04 +02:00
Veronica Berglyd Olsen
de07546e3f Fix tests 2022-06-05 13:41:22 +02:00
Veronica Berglyd Olsen
ac14888e2a Merge branch 'main' into outline_view 2022-06-05 13:36:54 +02:00
Veronica Berglyd Olsen
c28ac37df1 Rewrite index class (#1074)
Rewrites the index class to use objects rather than dictionaries to store indexing information.
Moves the index instance into the main project class instead of the main GUI object.
Makes the project tree and project options classes private to the project class.
2022-06-05 13:21:45 +02:00
Veronica Berglyd Olsen
63068f1018 Add full test coverage of index class 2022-06-05 13:17:24 +02:00
Veronica Berglyd Olsen
22099c1b56 Make some minor improvements to handling of tags and references 2022-06-03 11:07:40 +02:00
Veronica Berglyd Olsen
eed59a96be Make some fixes to the index class, and improve test coverage 2022-05-30 00:28:43 +02:00
Veronica Berglyd Olsen
865acfd7e9 Clean up imports 2022-05-29 19:40:14 +02:00
Veronica Berglyd Olsen
d1b32f1ba1 Move the tags index into a wrapper class 2022-05-29 19:24:41 +02:00
Veronica Berglyd Olsen
77e50a6cee Move the item index into a wrapper class and combine the access functions 2022-05-29 18:58:32 +02:00
Veronica Berglyd Olsen
347d34bf83 Clean up the index code a bit and add index validation 2022-05-29 00:18:48 +02:00
Veronica Berglyd Olsen
94ba7a2f94 Use the new index instead of the old 2022-05-28 21:59:52 +02:00
Veronica Berglyd Olsen
01be8be44f Remove old tagsIndex 2022-05-28 20:16:27 +02:00
Veronica Berglyd Olsen
d584f57a3b Loading of new index now works 2022-05-28 19:45:33 +02:00
Veronica Berglyd Olsen
b5b0074411 Rewritten index storage using classes instead 2022-05-28 18:48:31 +02:00
Veronica Berglyd Olsen
44926a4e9a Also make tree and options properties of the project 2022-05-28 14:33:25 +02:00
Veronica Berglyd Olsen
8bdd09400a Move the project index into the project class 2022-05-28 14:11:58 +02:00
Veronica Berglyd Olsen
8ac30b036a Change how tag links are followed 2022-05-26 12:11:22 +02:00
Veronica Berglyd Olsen
ecc0585c87 Add a toolbar to the Outline view 2022-05-22 23:03:30 +02:00
Veronica Berglyd Olsen
007f2fbff4 Add a menu icon 2022-05-22 22:46:42 +02:00
Veronica Berglyd Olsen
1f66ed3e3b Reduce the list of tag classes in outline view when they are not used 2022-05-22 21:00:49 +02:00
Veronica Berglyd Olsen
eb66b2c175 Merge branch 'main' into outline_view 2022-05-22 18:15:36 +02:00
Veronica Berglyd Olsen
5d86cfb092 Improve GUI look and usability (#1069) 2022-05-22 18:11:25 +02:00
Veronica Berglyd Olsen
b9fcc43ca6 Move highlighting theme setting back to General tab in Preferences 2022-05-22 17:53:46 +02:00
Veronica Berglyd Olsen
3cfc5d9a1a Remove borders from all main GUI widgets 2022-05-22 17:45:54 +02:00
Veronica Berglyd Olsen
25427e8521 Add tooltips to views bar 2022-05-22 17:43:38 +02:00
Veronica Berglyd Olsen
2425af4bfe Add menu to view bar settings, and add build button 2022-05-22 17:00:45 +02:00
Veronica Berglyd Olsen
4a4ed32fe6 Add new view bar icons 2022-05-22 17:00:09 +02:00
Veronica Berglyd Olsen
f7e31bd452 Use "project name" consistently on the GUI 2022-05-22 16:23:49 +02:00
Veronica Berglyd Olsen
adf7357155 Merge branch 'main' into outline_view 2022-05-22 16:19:53 +02:00
Veronica Berglyd Olsen
a541c90690 Add icon name to xdg mime type just in case (#1068) 2022-05-22 15:58:09 +02:00
Veronica Berglyd Olsen
217e184153 Update new project creation (#1067) 2022-05-21 22:22:07 +02:00
Veronica Berglyd Olsen
e14348a05b Fix a few text labels on the wizard 2022-05-21 22:18:16 +02:00
Veronica Berglyd Olsen
78b97ce8fb Remove name as a required parameter for new root folders since no part of the GUI uses it 2022-05-21 22:10:25 +02:00
Veronica Berglyd Olsen
aeaaaaf3af Update test coverage 2022-05-21 21:55:19 +02:00
Veronica Berglyd Olsen
63a3e56cdb Fix ignored lines in XML comparison 2022-05-21 18:15:38 +02:00
Veronica Berglyd Olsen
cea22b6147 Clean up new project creation function 2022-05-21 17:58:47 +02:00
Veronica Berglyd Olsen
06d39ea352 Make tests not depend on minimal project settings 2022-05-21 17:33:58 +02:00
Veronica Berglyd Olsen
b4ea5bc8d0 Update minimal project content 2022-05-21 17:33:36 +02:00
Veronica Berglyd Olsen
ad42a71427 Fix tests 2022-05-21 16:57:09 +02:00
Veronica Berglyd Olsen
46dce17dfe Update new project generation to match wizard 2022-05-21 16:29:41 +02:00
Veronica Berglyd Olsen
7a8c97225b Add a summary page to the wizard 2022-05-21 15:47:21 +02:00
Veronica Berglyd Olsen
5574d8d6c0 Update and clarify the options on the Wizard 2022-05-21 15:11:33 +02:00
Veronica Berglyd Olsen
a166d9a4dd Add a Translation Guidelines section in i18n 2022-05-19 20:04:10 +02:00
Veronica Berglyd Olsen
b863077bfe Make minor changes post 1.7b1 release (#1065) 2022-05-17 20:52:50 +02:00
Veronica Berglyd Olsen
ae2b5d4403 Fix typo and set max width on views bar 2022-05-17 20:22:39 +02:00
Veronica Berglyd Olsen
301d81f987 Update various translation files 2022-05-17 20:22:16 +02:00
Veronica Berglyd Olsen
15f59c1a4e Release 1.7 Beta 1 (#1064) 2022-05-17 18:51:01 +02:00
Veronica Berglyd Olsen
9eaf240674 Release 1.7-beta1 2022-05-17 18:41:01 +02:00
Veronica Berglyd Olsen
a71fa02b0c Sort i18n credits on about and credits doc 2022-05-17 18:40:10 +02:00
Veronica Berglyd Olsen
9add2aaa87 Update the sample project to reflect new functionality 2022-05-17 17:51:40 +02:00
Veronica Berglyd Olsen
a5b2a06f84 Fix tests and add missing methods 2022-05-15 17:56:36 +02:00
Veronica Berglyd Olsen
ca48e37163 Move the outline view into a wrapper widget 2022-05-15 17:45:51 +02:00
Veronica Berglyd Olsen
304d122342 Add valid path check to the New Project Wizard (#1062) 2022-05-15 16:43:43 +02:00
Veronica Berglyd Olsen
7c7e4c2297 Disabled second wizard test on macOS as it too segfaults 2022-05-15 16:39:41 +02:00
Veronica Berglyd Olsen
e2c10f52d2 Disabled wizard test on macOS as it still segfaults 2022-05-15 16:37:09 +02:00
Veronica Berglyd Olsen
c91f19f9f7 Update wizard test coverage 2022-05-15 16:31:51 +02:00
Veronica Berglyd Olsen
1d5c8566d1 Check the sanity of paths during project wizard run (issue #1058) 2022-05-15 15:11:17 +02:00
Veronica Berglyd Olsen
badb768529 Add a "views" toolbar to the main GUI (#1057) 2022-05-14 19:12:02 +02:00
Veronica Berglyd Olsen
d965320b57 Fix broken test 2022-05-14 19:07:34 +02:00
Veronica Berglyd Olsen
096c2dbc83 Add Typicons link to credits 2022-05-14 19:03:51 +02:00
Veronica Berglyd Olsen
88cc4bd5a4 Add new icons for the views bar 2022-05-14 19:00:47 +02:00
Veronica Berglyd Olsen
e8a0a6d5f9 Connect the change of view methods to all relevant actions 2022-05-14 18:27:18 +02:00
Veronica Berglyd Olsen
864b06a0e7 Shift all view changing functionality to the new Views bar 2022-05-10 22:14:35 +02:00
Veronica Berglyd Olsen
ea09a53496 Add the GuiViewsBar class 2022-05-10 20:56:52 +02:00
Veronica Berglyd Olsen
d6ca87868b Add quick delete for empty folders (#1055) 2022-05-08 18:26:25 +02:00
Veronica Berglyd Olsen
14458c7184 Merge branch 'main' into delete_items 2022-05-08 18:23:04 +02:00
Veronica Berglyd Olsen
12cfce758c Force consistency of item settings (#1054) 2022-05-08 18:22:52 +02:00
Veronica Berglyd Olsen
9e9beea83c Fix outdated docstring in project tree class 2022-05-08 18:21:17 +02:00
Veronica Berglyd Olsen
0a5c51ad4b Make deleting empty folders bypass Trash 2022-05-08 18:07:21 +02:00
Veronica Berglyd Olsen
9ee4d1b2cd Reset meta data for folders 2022-05-08 17:52:36 +02:00
Veronica Berglyd Olsen
d833692e27 Merge branch 'main' into item_checks 2022-05-08 17:46:37 +02:00
Veronica Berglyd Olsen
b68280655f Add Mastodon link to main readme and docs 2022-04-28 19:17:16 +02:00
Veronica Berglyd Olsen
1e7d329962 Force conistency of ROOT item settings 2022-04-28 19:04:21 +02:00
Veronica Berglyd Olsen
b35c85e831 Allow deleting non-empty folders (#1048) 2022-04-23 21:44:37 +02:00
Veronica Berglyd Olsen
bb53b2530c Fix error messages when emptying trash 2022-04-23 21:41:14 +02:00
Veronica Berglyd Olsen
9bc7250532 Allow deleting non-empty folders 2022-04-23 21:33:11 +02:00
Veronica Berglyd Olsen
160c3d80f9 Fix the redundant spaces highlight option text in Preferences (#1046) 2022-04-23 20:14:13 +02:00
Veronica Berglyd Olsen
5538c3f995 Merge branch 'main' into issue_1043 2022-04-23 20:03:43 +02:00
Veronica Berglyd Olsen
c7e560ffc5 Allow documents to have child items (#1047) 2022-04-23 20:03:30 +02:00
Veronica Berglyd Olsen
d9e3fd7a01 Make some minor improvements to how expanded status is saved for items 2022-04-23 19:34:40 +02:00
Veronica Berglyd Olsen
732f20a0f1 Fix word count accounting and double click tree expansion 2022-04-23 19:00:11 +02:00
Veronica Berglyd Olsen
a8a34a4a37 Fix drag and drop word propagation 2022-04-23 18:03:03 +02:00
Veronica Berglyd Olsen
821833df8e Fix tests and drop unused function from NWTree class 2022-04-23 17:05:29 +02:00
Veronica Berglyd Olsen
bd5a14b18e Block drag and drop for ROOT items on the widget level, and drop the TRASH item type 2022-04-23 16:57:13 +02:00
Veronica Berglyd Olsen
d96c8ddf85 Remove all restrictions on drag and drop except in ROOT items 2022-04-23 16:21:20 +02:00
Veronica Berglyd Olsen
5cdcda66a5 Update data recursively when moving an item with child items 2022-04-23 16:09:50 +02:00
Veronica Berglyd Olsen
1a47bbaf8c Allow files to have child items 2022-04-23 15:53:14 +02:00
Veronica Berglyd Olsen
64da2793ac Allow file items to save expanded status 2022-04-23 15:38:53 +02:00
Veronica Berglyd Olsen
31fac7bf45 Make the test suite less spammy again 2022-04-23 15:28:26 +02:00
Veronica Berglyd Olsen
147b9a4501 Fix the redundant spaces highlight option text in Preferences: issue #1043 2022-04-23 15:17:20 +02:00
Veronica Berglyd Olsen
b588fdfe1a Use the random generator for item handles (#1044) 2022-04-20 22:00:34 +02:00
Veronica Berglyd Olsen
607f9409d2 Update tests 2022-04-20 21:50:07 +02:00
Veronica Berglyd Olsen
e32eb21fbf Add a mock random number generator for testing 2022-04-20 21:46:53 +02:00
Veronica Berglyd Olsen
8320aab1bf Use the same method to generate item handles as for status keys 2022-04-20 21:44:45 +02:00
Veronica Berglyd Olsen
ca76cb2af3 Make a couple of random, minor fixes 2022-04-20 17:15:55 +02:00
Veronica Berglyd Olsen
e938ea8967 Allow multiple roots of same class (#1031) 2022-04-17 19:35:51 +02:00
Veronica Berglyd Olsen
15ede5e14c Make better use of the new NWItem functions and do some cleanup 2022-04-17 19:15:00 +02:00
Veronica Berglyd Olsen
4eec2926cb Clean up unused code and add more comments 2022-04-17 18:38:25 +02:00
Veronica Berglyd Olsen
3f4356467e Relax moving restrictions in project tree, and improve test coverage of NWItem class 2022-04-17 18:32:22 +02:00
Veronica Berglyd Olsen
50db7fcddb Simplify updating an item after it has been moved 2022-04-17 17:49:47 +02:00
Veronica Berglyd Olsen
d158de5d82 Update test coverage 2022-04-17 17:00:43 +02:00
Veronica Berglyd Olsen
4cfbbf4c68 Remove max folder depth restriction, and simplify adding folders and files in the tree 2022-04-17 14:44:11 +02:00
Veronica Berglyd Olsen
ebee9ff791 Update tests 2022-04-16 20:56:52 +02:00
Veronica Berglyd Olsen
61f5425662 Update new item functions in project class 2022-04-16 20:55:54 +02:00
Veronica Berglyd Olsen
da13fbff08 Merge branch 'main' into multi_root 2022-04-16 18:49:46 +02:00
Veronica Berglyd Olsen
b785128f4c Make status and importance labels sortable again (#1040) 2022-04-16 18:40:10 +02:00
Veronica Berglyd Olsen
3ed74f0b02 Add test coverage of status and importance reordering 2022-04-16 18:35:26 +02:00
Veronica Berglyd Olsen
6aa13e318b Add sorting capability to status and importance labels 2022-04-16 18:17:01 +02:00
Veronica Berglyd Olsen
fd2248de17 Add up and down button icons 2022-04-16 17:44:54 +02:00
Veronica Berglyd Olsen
17c56440f2 Automatic indexing of un-indexed files (#1039)
* Downgrade rebuild index dialog from warning to info
* Don't flag index as broken if file is missing, just add it again
* Fix log warning
* Drop the return value in the index checker
2022-04-16 17:28:28 +02:00
Veronica Berglyd Olsen
b642e4437e Simplify text labels in XML (#1038) 2022-04-16 17:03:44 +02:00
Veronica Berglyd Olsen
2f547033cd Simplify all other strings in main project class 2022-04-16 17:00:08 +02:00
Veronica Berglyd Olsen
72c5a9ee92 Rename some internal variables in the NWItem class 2022-04-16 16:47:57 +02:00
Veronica Berglyd Olsen
048e5faa1f Also simplify item labels, due to XML limitations 2022-04-16 16:44:39 +02:00
Veronica Berglyd Olsen
c9f7fba7dd Re-implement the status and importance flags (#1034) 2022-04-16 16:32:48 +02:00
Veronica Berglyd Olsen
c5f92edaa8 Update the NWProject class test for status and import labels 2022-04-16 16:27:46 +02:00
Veronica Berglyd Olsen
d7a8cb1537 Rewrite NWStatus class tests 2022-04-16 15:38:13 +02:00
Veronica Berglyd Olsen
fedb064b1f Fix other tests 2022-04-16 15:01:55 +02:00
Veronica Berglyd Olsen
cf7e1da96a Fix display text issues in varuious GUI elements 2022-04-16 14:59:59 +02:00
Veronica Berglyd Olsen
e98e942f19 Replace key generator in the NWStatus class 2022-04-16 14:59:25 +02:00
Veronica Berglyd Olsen
ac904ee9fc Update sample project file 2022-04-05 23:15:18 +02:00
Veronica Berglyd Olsen
ddd8b60816 Complete the needed GUI class changes for the new NWStatus class 2022-04-05 23:13:39 +02:00
Veronica Berglyd Olsen
40e7055f16 Rewrite most of the NWStatus class 2022-04-05 22:08:14 +02:00
Veronica Berglyd Olsen
7298e1f438 Add two new utility functions to the common module 2022-04-05 22:07:20 +02:00
Myian
383364b165 Update nw_de_DE.ts 2022-04-05 20:28:27 +02:00
Myian
8e0c42afa9 Update about.py 2022-04-05 20:16:49 +02:00
Veronica K. B. Olsen
9c9408d78a Changing status or importance flags should still update hidden flags 2022-04-05 11:22:41 +02:00
Myian
d1a4fbf3ce Update CREDITS.md 2022-04-04 17:47:29 +02:00
Myian
d28e0743f0 Update about.py 2022-04-04 17:46:56 +02:00
Myian
bf3d89e550 Add files via upload 2022-04-04 17:33:52 +02:00
Veronica Berglyd Olsen
34b5181f34 Merge branch 'main' into multi_root 2022-04-03 22:53:45 +02:00
Veronica Berglyd Olsen
23fd6b815f Save both status and importance flags (#1030)
* Put the status icons in the status object itself
* Allow saving both status and importance values
* Update current tests
* Improve test coverage
* Update sample project file
2022-04-03 22:43:11 +02:00
Veronica Berglyd Olsen
bdde6a2080 Clean up handling of root and class info for items 2022-04-03 17:45:17 +02:00
Veronica Berglyd Olsen
37970bd446 Add root information to project file 2022-04-02 19:43:26 +02:00
Veronica Berglyd Olsen
f9ddcd2f8a Restructure the record of root items in the tree class 2022-04-02 19:13:54 +02:00
Veronica Berglyd Olsen
8ddda4783d Merge branch 'main' into multi_root 2022-04-02 17:42:37 +02:00
Veronica Berglyd Olsen
a04b44d890 Add Lorem Ipsum tool (#1028)
* Add a Lorem Ipsum dialog
* Add the Lorem Ipsum text and insert action
* Add test coverage
2022-04-02 17:41:35 +02:00
Veronica Berglyd Olsen
89558481de Merge branch 'main' into multi_root 2022-04-02 16:03:43 +02:00
Martijn
99cc3635f7 Add Dutch translation (#1027)
* Add @mvdkleijn as translator
* Update about.py
2022-03-23 19:22:44 +01:00
Veronica Berglyd Olsen
6e3262f78e Minor fixes and updates (#1026)
* Make the Tokenizer class an abstract class
* Fix error message when opening non-file project items
2022-03-20 17:00:29 +01:00
Veronica Berglyd Olsen
fbff421de8 Merge 1.6.2 (#1025) 2022-03-20 16:04:18 +01:00
Veronica Berglyd Olsen
cebe20964f Merge branch 'main' into merge_1.6.2 2022-03-20 15:59:12 +01:00
Veronica Berglyd Olsen
203e353e92 Release 1.6.2 (#1024) 2022-03-20 15:44:52 +01:00
Veronica Berglyd Olsen
8c4e5b99fe Only compute shasum of file if it exists (#1023) 2022-03-20 15:22:09 +01:00
Veronica Berglyd Olsen
16ce55ba60 Make sure empty files are indexed (#1022)
* Make sure also empty files are indexed
* Update comments
2022-03-20 15:09:46 +01:00
Veronica Berglyd Olsen
a2d33e9672 Merge 1.6.1 (#1019) 2022-03-16 23:15:39 +01:00
Veronica Berglyd Olsen
6317202626 Merge branch 'main' into merge_1.6.1 2022-03-16 23:11:59 +01:00
Veronica Berglyd Olsen
4cbbae6d2f Release 1.6.1 (#1018) 2022-03-16 23:01:14 +01:00
Veronica Berglyd Olsen
9e76498f65 Update Latin American Spanish translation (#1017) 2022-03-16 22:41:52 +01:00
Veronica Berglyd Olsen
1c7708babd Fix infinite search loop bug (#1016)
* Make sure the search loop in the editor cannot run infinitely
* Add test coverage of infinite search case
* Run GitHub actions against the patch branch
2022-03-16 22:34:29 +01:00
Veronica Berglyd Olsen
ce4d3c0b5c Update linting settings, and drop Ubuntu 18.04 releases (#1014)
* Add E133 and W503 to ignored list for flake8
* Drop making releases for Ubuntu 18.04
2022-03-15 22:07:33 +01:00
Veronica Berglyd Olsen
7f43584ed5 Merge bugfixes (#1009)
* Fix document margin recursion error (#1007)
* Fix project file icon path in Windows installer (#1006)
2022-02-24 21:19:12 +01:00
Veronica Berglyd Olsen
7532fdb1fc Fix project file icon path in Windows installer (#1006) 2022-02-24 21:08:42 +01:00
Veronica Berglyd Olsen
3cdba90bb0 Fix document margin recursion error (#1007) 2022-02-24 21:06:28 +01:00
Veronica Berglyd Olsen
011291f225 Drop support for Python 3.6 (#1004)
* Drop support for Python 3.6
* Remove unused time parsing function
* Use Python 3.7 datetime function for writing stats data conversion
* Test against Python 3.10 on macOS and Windows
2022-02-20 23:35:33 +01:00
Veronica Berglyd Olsen
045a595537 Implement project file format 1.4 (#993)
* Update the item class with more compact item storage format
* Bump version and file version
* Update tests
* Add explicit test coverage for format conversions for item class
* Update the documentation
2022-02-20 22:05:31 +01:00
Veronica Berglyd Olsen
be703c1f46 Merge Release 1.6 (#1003)
* Update Spanish translation
* Bumb version and update changelog and release notes
* Add a note in the changelog
2022-02-20 20:09:24 +01:00
Veronica Berglyd Olsen
45c4f3cb97 Add Out of Cheese Error (#1000)
* Add error dialog window title
* Add more error messages
2022-02-16 17:43:50 +01:00
Veronica Berglyd Olsen
3fdea6e57a Fix tests 2022-02-14 22:18:38 +01:00
Veronica Berglyd Olsen
05aa656e75 Remove checks for unique root 2022-02-14 22:18:16 +01:00
Veronica Berglyd Olsen
f8ddff9bc3 Update en_US, fr_FR, nb_NO and pt_BR (#992)
* Update en_US, fr_FR, nb_NO, pt_BR translations
* Add Dutch project localisation
2022-02-12 18:15:51 +01:00
Veronica Berglyd Olsen
7f2d51bd15 Make some corrections to the docs introduction section (#991) 2022-02-12 18:13:17 +01:00
Veronica Berglyd Olsen
45def4b3b7 Set a default editor font for Windows and macOS (#990)
* Set a specific default editor font for Windows and macOS as GUI font isn't suitable
* Fix wrong reference
2022-02-12 17:36:58 +01:00
Veronica Berglyd Olsen
67c94314ed Remove Ubuntu 21.04 release and add 22.04 (#987) 2022-02-06 23:47:37 +01:00
Veronica Berglyd Olsen
7f320d23ca Release 1.6 RC 1 (#986)
* Bump version, update changelog and base translation file
* Replace svg image for docs due to LaTeX build error
2022-02-06 23:27:10 +01:00
Veronica Berglyd Olsen
6d097f0bcb Add customisation help to docs (#984)
* Make sure user-defined themes folders exist in the data path
* Minor cleanup in shortcuts table
* Add details in docs on how to customise GUI and add dictionaries
* Add spell check reference in docs overview
2022-02-06 13:45:30 +01:00
Veronica Berglyd Olsen
d7f2fec8ad Fix typo in main README 2022-02-06 00:00:20 +01:00
Veronica Berglyd Olsen
5ee857f6f4 Add new docs theme, and restructure (#978)
* Change documentation theme to 'furo'
* Update docs source for new theme
* Update index and split introduction
* Add a Getting Started section to the docs
* Rename getting started docs file
* Reorganise setup instructions
* Update usage sections for consistency
* Update docs references in main README
* Show release in sidebar
2022-02-05 23:59:05 +01:00
Veronica Berglyd Olsen
07c92b4bc3 Simplify windows setup builder a bit (#983)
* Optimise setup file
* Shorten windows setup file name
2022-02-04 23:58:01 +01:00
Veronica Berglyd Olsen
a0cdf44deb Add a windows setup builder (#981)
* Add a package builder for windows install
* Remove old win installer build
* Update setup instructions
* Some minor clarifications to docs and README
2022-02-04 20:37:04 +01:00
Veronica Berglyd Olsen
71419eeda3 Update docs on install and project storage (#976)
* Add note to docs about Ubuntu repo on Debian (issue #956)
* Add section on project storage to docs (covers issue #960)
2022-01-25 18:29:23 +01:00
Veronica Berglyd Olsen
85ea9f5b19 Add automatic index rebuild (#975)
* Rebuild the index automatically if not all files are in the index on open
* Update tests
2022-01-25 17:41:34 +01:00
Veronica Berglyd Olsen
1a9efa4e1e Allow hiding scene and section titles in export builds (#974) 2022-01-23 15:57:51 +01:00
Veronica Berglyd Olsen
ec07cebb51 Handle IO error on document save (#961)
* Add try/except to document replace call
* Try the os.replace command 5 times
* Just use else condition on for loop instead
* Make the exceptions explicitly OSError
* Revert the os.replace loop, as this is not the issue
2022-01-19 19:13:08 +01:00
Veronica Berglyd Olsen
8b603d15a5 Add back in i18n instructions and revert changes to class labels (#970)
* Revert the duplicate class name labels since there was no real need
* Restore i18n instructions
2022-01-19 08:35:59 +01:00
Veronica Berglyd Olsen
074718aedc Clean up GUI text (#969)
* Remove all statustip entries in the menu
* Prune text in Preferences
* Fix class labels
* Remove some redundant tooltips
* Improve some labels and dialogs
* Remove some more tooltips and fix a typo
* Update base ts file
* Fix typo
2022-01-18 22:16:25 +01:00
Veronica Berglyd Olsen
25038e6cbb Add support for external translation tools (#968)
* Make some minor translation fixes
* Remove crowdin file and add import function for crowdin zip file
* Rename fallback project lang file to en_GB
* Update all i18n files from crowdin exports
* Fix tests
* Update docs
2022-01-18 19:17:20 +01:00
Veronica Berglyd Olsen
537bf921d2 Update Crowdin configuration file 2022-01-18 16:42:45 +01:00
Veronica Berglyd Olsen
f06048384d Add a base language file (#965) 2022-01-18 16:40:35 +01:00
Veronica Berglyd Olsen
56e96ec3aa Update Crowdin configuration file 2022-01-18 15:11:47 +01:00
Veronica Berglyd Olsen
95c9e9d695 Update Crowdin configuration file 2022-01-18 14:59:27 +01:00
Veronica Berglyd Olsen
cb587112da Update language files (#964) 2022-01-18 10:17:22 +01:00
Veronica Berglyd Olsen
306edec32d Remove dependency from i18n docs and fix JSON error in Chinese file (#963) 2022-01-18 09:44:49 +01:00
Veronica Berglyd Olsen
c1c6a370a5 Merge patch 1.5.5 (#955)
* Remove os.path.commonpath call (Issue #954)
* Bump version and update changelog and release notes
2022-01-05 16:24:34 +01:00
Veronica Berglyd Olsen
00b3c3e9d2 Release 1.6 Beta 1 (#953) 2022-01-04 22:52:18 +01:00
Veronica Berglyd Olsen
52efbcc89f Merge changes from 1.5.4 (#952)
* Backport fix to issue #950
* Bump version and update changelog and release notes
2022-01-04 21:12:32 +01:00
Veronica Berglyd Olsen
9be2519406 Resolve HTML render bug (#951)
* Fix bug breaking HTML rendering with angle brackets in other blocks than normal text
* Restore cursor if document viewer fails to load
* Improve test coverage
2022-01-04 20:52:36 +01:00
Veronica Berglyd Olsen
59e10fbf0a Make ODT export more LibreOffice friendly (#949)
* Make the ToODT class more LibreOffice friendly
* Update tests
2022-01-02 20:49:12 +01:00
Veronica Berglyd Olsen
79657a9d53 Fix line number update when searching (#947)
* Fix line position in footer not updating when searching
* Update and fix docstrings
2022-01-02 00:12:46 +01:00
Veronica Berglyd Olsen
0401b8556d Add result count to search and rewrite scroll past end feature (#946)
* Restore colours to dark theme search-replace icon
* Implement a working search result counter
* Disable scroll past end feature and clean up search/replace and update test
* Re-implement scroll past end feature as a static distance
* Stop the search box from resizing on every search
2022-01-01 19:36:04 +01:00
Veronica Berglyd Olsen
b0f939af32 Apply open document shortcuts to the tree that has focus (#945)
* Better handling of Enter/Return on GUI trees, resolves #913
* Update test
* Generalise open selected handle functions
* Improve test coverage
* Update docstring
2021-12-31 19:51:26 +01:00
Veronica Berglyd Olsen
7024254960 Simplify text width settings (#943)
* Remove the fixed text width switch, resolves #924
* Update tests
* Clean up code to set text width and add to viewer
2021-12-31 17:17:27 +01:00
Veronica Berglyd Olsen
6ac9e1aec4 Tighten up the item class (#937)
* Protect the attributes of the NWItem class
* Fix test coverage
* Add a type checker function to the tree class
2021-12-31 16:25:20 +01:00
Veronica Berglyd Olsen
af3d0d2eb0 Happy new year! (#941) 2021-12-31 15:56:43 +01:00
Veronica Berglyd Olsen
5afd402c8b Merge 1.5.3 fixes (#940)
* Resolve #918
* Resolve #935
* Bump version and update changelog and release notes
2021-12-31 14:58:17 +01:00
Veronica Berglyd Olsen
5e2ab4f612 Refactor core and base classes (#931)
* Improve the NWIndex class
* Improve the NWItem and NWDoc classes
* Make some optimisations in projects and update tests
* Minor changes to string formatting in main source file
* Add some more protection to core classes
* Make all converter class attributes private
2021-12-18 16:03:45 +01:00
Veronica Berglyd Olsen
2f75d88694 Merge hotfixes from 1.5.2 (#934)
* Backport fix for issue #929
* Make the spell check wrapper more robust, solves #933
* Bump version and update changelog and release notes
2021-12-12 17:30:38 +01:00
Veronica Berglyd Olsen
00eea24e3f Error logging and mutables as function defaults (#930)
* Remove mutable iterables as function defaults
* Improve error reporting and standardise how it's done
2021-11-10 00:32:01 +01:00
Veronica Berglyd Olsen
67d2e266fd Fix greater/lesser symbol bug in HTML conversion (#928)
* Fix issue with greater or lesser symbol in paragraph with formatting
* Add test coverage and make another fix to special case of mixing formats
2021-11-10 00:26:07 +01:00
Tommy Marplatt
32d6583ae3 Complete Latin American Spanish GUI localisation (es_419) (#927)
* Complete Latin American Spanish GUI localisation (es_419)
* LA Spanish localisation credits
2021-11-09 21:20:57 +01:00
Veronica Berglyd Olsen
e8bb130245 Code and GUI text cleanup (#926)
* Move int range checkers from options class to common file
* Improve error handling and reporting
* Make some minor improvements to init and test suite
* Fix 'trypewriter' to 'typewriter' typo
* Remove menu path description in dialog help text
* Improve the help text for entries in the Format menu
* Reword a couple of dialog messages
2021-11-07 18:17:17 +01:00
Veronica Berglyd Olsen
e71121f738 Fix docs build issues (#922)
* Remove python version in rtd config
* Try pinning docutils version
2021-10-31 23:42:25 +01:00
Veronica Berglyd Olsen
c17cec0574 Fix missing translation (#921)
* Fix missing translation of label
* Make some minor fixes to comments and logging
2021-10-31 23:10:29 +01:00
Veronica Berglyd Olsen
f562937e81 Add pylupdate6 tool to i18n (#920)
* Add the pylupdate code from PyQt6 source
* Fix linting errors in pylupdate6
* Update setup script, add readme and update debian copyright file
2021-10-31 22:43:00 +01:00
Tommy Marplatt
508d92c3e8 Improve the i18n readme (#917)
* Improve i18n readme.
* Make some minor clarifications and reformatting of the i18n readme file

Co-authored-by: Veronica Berglyd Olsen <1619840+vkbo@users.noreply.github.com>
2021-10-28 23:38:59 +02:00
Veronica Berglyd Olsen
299cde9cdf Improve handling of page breaks (#916)
* Remove page break from title and always allow for partition and chapter
* Move strip of format string into the Tokenizer class
* Fix page breaks in HTML for skip and sep
* Update documentation
* Update tests
* Allow page breaks before scene and section headers
* Never hide the scene header and instead default to skip line
2021-10-24 22:09:41 +02:00
Veronica Berglyd Olsen
da2685131d Update how translation files are built and added (#915)
* Fix wrapping of setup help text
* Fix wrong info in help description in setup
* Drop .pro file and generate lupdate arguments on the fly
* Generate lrelease arguments on the fly
* Update i18n readme file
2021-10-24 16:01:26 +02:00
Veronica Berglyd Olsen
9a484193eb Merge hotfixes from 1.5.1 (#914)
* Fix bug in translation source list and restore lost translations
* Fix shift focus to novel tree on Alt+1 when visible
* Bump version and update changelog and release notes
2021-10-23 16:23:01 +02:00
Veronica Berglyd Olsen
1c45331b0a Fix and optimise code (#904)
* Fix bug in early error reporting in main init
* Update docstrings and optimise code in GuiMain
* Update docstrings and optimise code in Config
* Update docstrings and optimise code in common module
* Update docstrings and optimise code in main project classes
* Update the OptionState class
* Update the spell checker class
* Update the file converter classes and extend tests
* Update the about, merge, split and item editor classes and extend tests
* Update item editor test
* Update about dialog tests
* Some minor test cleanup
* Fix typo and add clarification in contributing guide
2021-10-14 21:35:42 +02:00
Veronica Berglyd Olsen
2a06db0a2b Change how PPA key is added (#910) 2021-10-13 19:24:15 +02:00
Veronica Berglyd Olsen
180deb106b Add Python 3.10 to supported versions (#909)
* Add Python 3.10 to supported versions
* Make Python versions a string in action
2021-10-07 19:31:17 +02:00
Veronica Berglyd Olsen
662aab973c Fix error in debian setup instructions (#908) 2021-10-02 17:45:00 +02:00
Veronica Berglyd Olsen
3f972250d0 Post-release fixes and updates (#903)
* Add an extra pause to the windows scripts
* Update main readme
* Add mention of Linux Mint in docs
2021-09-19 16:04:34 +02:00
Veronica Berglyd Olsen
15ec1496c5 Update and reorganise themes (#893)
* Drop the subfolders for GUI themes
* Remove bundled font support
* Add safe file read function
* Allow loading themes from multiple locations
* Clean up unused variables
* Clean up icons class
* Merge icon theme icons
* Update icon theme class
* Remove guiDark config setting
* Fix tests
* Fix handling of default theme
* Update icon readmes
* Add test for getGuiItem common function
2021-09-19 14:09:20 +02:00
Veronica Berglyd Olsen
be3376272e Add selected words count feature (#899)
* Add a selected words counter in the document editor
* Update and extend test coverage
* Rename the functions to something more sensible
2021-09-19 13:59:36 +02:00
Veronica Berglyd Olsen
c852a5bda3 Add hash check on document read/write (#890)
* Add sha256sum function
* Add hash check to document class
* Make sha256sum test more thorough
* Handle exceptions in the sha256sum function directly
* Update test coverage
* Clarify title on dialog box
* Don't write blank lines in makeAlert
2021-09-19 13:55:54 +02:00
Veronica Berglyd Olsen
d65c5e93b6 Fix wrong format for version number 2021-09-19 13:54:14 +02:00
Veronica Berglyd Olsen
07ac88bfd6 Bump version to 1.6-alpha0 for next release cycle 2021-09-19 13:46:19 +02:00
Veronica Berglyd Olsen
1386be23f4 Setup fixes post 1.5 release (#902)
* The main version must now always include the patch number
* Fix bug in pip build script
* Fix bug in debian sha256 function call
2021-09-19 13:43:20 +02:00
Veronica Berglyd Olsen
18cadf8db5 Release 1.5 (#888)
* Bump version to 1.5 and update changelog and release notes
* Update changelog and release notes
2021-09-19 12:56:45 +02:00
Veronica Berglyd Olsen
cf83b6572e Update French translation (#901)
Co-authored-by: jyhelle <47108022+jyhelle@users.noreply.github.com>
2021-09-18 23:10:03 +02:00
Veronica Berglyd Olsen
22662fd5eb Dialog format error (#889)
* Remove redundant format tags in project class
* Be consistent about internal function mapping
2021-09-11 16:14:35 +02:00
Veronica Berglyd Olsen
3263ce5669 Package building fixes (#887)
* Fix a couple of errors in make scripts
* Fix snapshot versioning for launchpad
2021-09-11 14:30:58 +02:00
Veronica Berglyd Olsen
cbb527c464 Add a shasum function to setup and use it for all packages (#886) 2021-09-10 22:13:00 +02:00
Veronica Berglyd Olsen
9cd2bb232b Release 1.5 RC 1 (#885)
* Bump version and update release notes and changelog
* Delete old release notes
2021-09-10 18:41:40 +02:00
Veronica Berglyd Olsen
dcfb353537 Update en_US and nb_NO translations (#884)
* Update US English translation
* Update Norwegian translation
2021-09-10 17:46:30 +02:00
Veronica Berglyd Olsen
8313de692e Fix Project Details dialog update issue (#883)
* Move project details dialog to correct folder
* Add update functions that are run each time the project details dialog is opened
2021-09-10 01:06:40 +02:00
Veronica Berglyd Olsen
3c8cb34b0a Project tree status and total word count changes (#882)
* Fix some inconsistencies in source file docstrings
* Remove the option to show status text in project tree
* Change how total word counts are calculated and propagated
* Fix tests and improve coverage
* Add setting in preferences
* Add missing word count timer to config file
2021-09-10 00:38:45 +02:00
Veronica Berglyd Olsen
b9311e84ce Fix a few mistakes in the docs (#881) 2021-09-08 20:47:33 +02:00
Veronica Berglyd Olsen
50d0c1eb29 Add PPA support (#880)
* Clean up a few things in various setup function
* Add Launchpad-related setting to Debian build function
* Add signature feature to package builder and fix error in debian/copyright
* Update documentation
* Update README
2021-09-08 20:38:35 +02:00
Veronica Berglyd Olsen
a9cd0b29d4 Fix icon in main README 2021-09-01 23:46:00 +02:00
Veronica Berglyd Olsen
2037ef3eac Setup fixes and tweaks (#879)
* Fix transparency on some of the icons
* Rewrite the setup clean command
* Clean up setup script and remove no longer needed qthelp command
* Add bash scripts for common make build chains
* Update the description files and change how setup writes generated files
* Reduce the number of setup files added to minimal zip packages
2021-09-01 23:41:38 +02:00
Veronica Berglyd Olsen
0582b9718b Debian package builder (#876)
* Add debian build files
* Add debian package build code to setup script
* Update the licenses in debian/copyright
* Fix a typo in windows setup docs
* Remove duplicate files
* Add missing fallback icons to assets
2021-08-31 23:46:03 +02:00
Veronica Berglyd Olsen
bbed05b273 Merge patch 1.4.2 2021-08-31 00:04:40 +02:00
Veronica Berglyd Olsen
30f0e82fba Release 1.4.2 2021-08-30 23:36:42 +02:00
Veronica Berglyd Olsen
bdef9a3955 Fix smart quote issue (#874) 2021-08-30 23:23:47 +02:00
Veronica Berglyd Olsen
f6845a9820 Remove the difflib spellchecker (#875)
* Delete simple spell checker
* Clean up the spell checker code
* Update tests
* Delete the bundled dictionaries
* Update documentation
* Use set() for user word list
* Fix tests so they pass also without dictionaries installed
2021-08-30 22:39:27 +02:00
Veronica Berglyd Olsen
4b52f343c1 Packaging Updates (#873)
* Make setup-generated script names lower case
* Change how the manual.pdf file is handled
2021-08-29 16:27:59 +02:00
Veronica Berglyd Olsen
a00d0820cc Release 1.5 Beta 2 (#871)
* Bump version to 1.5b2 and update changelog and release notes
* Update sample project
2021-08-26 21:10:29 +02:00
Veronica Berglyd Olsen
cdc9ab4ad6 Update US English and Norwegian translations (#870)
* Fix typo in main menu
* Add missing source file to translation list
* Update en_US translation
* Update nb_NO translation
2021-08-26 18:46:55 +02:00
Veronica Berglyd Olsen
1fb9648c6c Drop grey icon themes (#869)
* Add settings translator for icon themes
* Rename `typicons_colour_*` to `typicons_*`
* Delete grey icon themes
* Delete outdated paragraph in main README
* Fix tests
2021-08-26 18:01:52 +02:00
Veronica Berglyd Olsen
3403d98c72 Rename package from 'nw' to 'novelwriter' (#868)
* Rename nw folder to novelwriter
* Rename nw to novelwriter in auxiliary files
* Rename nw to novelwriter in main app source
* Rename nw to novelwriter in tests
* Make setup script for pdf docs less spammy
2021-08-26 17:33:54 +02:00
Veronica Berglyd Olsen
2cf2eb9f55 Simplify the setup instructions for Windows (#865) 2021-08-25 23:24:00 +02:00
Veronica Berglyd Olsen
b5e52b80a3 Add a "Check for Updates" dialog (#863)
* Add basic dialog for Updates check
* Add GitHub API call and processing
* Finalise the update dialog
* Improve test coverage
2021-08-22 14:33:00 +02:00
Veronica Berglyd Olsen
80911af4d2 Release 1.5 Beta 1 (#858)
* Bump version to 1.5-beta1 and update changelog and release notes
2021-08-22 11:35:06 +02:00
Veronica Berglyd Olsen
7a80e6a55c Make Help select correct version of docs (#862) 2021-08-21 18:33:35 +02:00
Veronica Berglyd Olsen
7958cb530f Taskbar icon on windows (#861)
* Give app an unique ID when launching on Windows
* Improve test coverage
2021-08-21 17:10:19 +02:00
Veronica Berglyd Olsen
95c79e1c23 Documentation and ODT exporter updates (#859)
* Clean up a few things in the ODT exporter
* Remove local HTML docs and instead add PDF docs
* Update documentation
2021-08-20 17:16:14 +02:00
Veronica Berglyd Olsen
eee0f5e4c9 Include HTML docs in minimal installs (#856)
* Link to stable docs for stable release, otherwise latest docs
* Add build command to setup for making HTML docs
* Change the documentation menu entry to open either online or local HTML
* Update docs build instructions in docs
2021-08-18 00:13:28 +02:00
Veronica Berglyd Olsen
a9368904e5 GUI and code tweaks and fixes (#852)
* Improve format menu header descriptions
* Ensure that item status is parsed after item class from XML
* Fix column alignment in ToC.txt file
* Rename test variable and fix outdated docstring
* Fix ToC.txt underline
* Rename the Layout label on the item details panel
* Add option to emphasise H1 and H2 labels in the project tree
* Rename the main column of the novel tree to match project tree
* Use the same document icons in the outline as the project tree
* Move project tree settings to Project section of config file
2021-08-17 21:45:18 +02:00
Veronica Berglyd Olsen
f7c768bb91 Add project format documentation and popup box (#855)
* Add documentation of the various project file formats
* Add an info box  for updating to project format 1.3
* Add information on how to access the documentation
* Add a note on file format and rename a few things
* Fix some typos
2021-08-17 20:06:26 +02:00
Veronica Berglyd Olsen
f2b93f90f7 Fix a typo and fix section naming in docs 2021-08-16 18:12:09 +02:00
Veronica Berglyd Olsen
7d5661443f Improve Docs (#851)
* Split up the docs a bit more
* Improve documentation
2021-08-16 18:06:00 +02:00
Veronica Berglyd Olsen
460b350d85 Update docs and add menu entries for special titles (#850)
* Update Introduction chapter
* Update User Interface chapter
* Update Novel Projects chapter
* Update Novel Structure chapter
* Update Exporting Projects chapter
* Drop the asterisk notation for unnumbered chapters
* Add menu entries and tests for Novel Title and Unnumbered Chapter block formats
2021-08-15 23:30:11 +02:00
Veronica Berglyd Olsen
669f013c96 Fix issue with icons not updating when index is rebuilt (#849) 2021-08-15 21:40:45 +02:00
Veronica Berglyd Olsen
1bf584f9bf Add [NEW PAGE] page and [VSPACE] to Insert menu (#848)
* Add menu entries for inserting new page and vspace codes
* Update tests
2021-08-15 18:58:49 +02:00
Veronica Berglyd Olsen
97aebc5b84 Update Project Tree (#847)
* Rename index textCounts to fileMeta and add main header level
* Add new icons for document layouts
* Add function in NWItem to describe the item
* Use the icons and description in the project tree and details panel
* Remove flags column and add status column with optional full text
* Update handling and display of header level in editor
* Fix potential bug in project tree
* Update tests
2021-08-15 17:55:57 +02:00
Veronica Berglyd Olsen
cf7cd5502c Make PyQt5 minimum version requirement consistent (#846) 2021-08-15 10:21:37 +02:00
Veronica Berglyd Olsen
cf08ba1d39 ODT Export Fixes (#843)
* Fix issue with additional line breaks in ODT export
* Improve format handling in ToOdt, and remove some unused code
* Add test for tab in format
* Add class to write text formats to XML
* Simplify the XMLParagraph class a bit
* Correct a breach of ODT standard and add error checking
* Make some final corrections
2021-08-14 12:42:44 +02:00
Veronica Berglyd Olsen
c41e0efc73 Add a warning when opening novelWriter alpha version (#844) 2021-08-13 15:26:22 +02:00
Veronica Berglyd Olsen
bb1a778277 Merge Novel Layouts (#837)
* Merge novel layouts and simplify the Tokenizer class
* Fix core tests
* Delete auto-layout code
* Remove no longer needed item layouts
* Remove references to deleted item layouts in test
* Make some minor changes to Tokenizer class and update tests
* Update test reference files
* Update sample project
* Fix a few issues with the Tokenizer
* Centre some text in the sample documents
* Make some minor changes to how new projects are generated
* Add support for New Page and VSpace commands to the Tokenizer
* Remove Title and Page layouts and add codes for page break and vertical space
* Add document layout and fix some issues in index class with new title formats
* Update tests and reference files
* Bump the project file version and fix a minor issue in items class
* Update tests and test coverage
* Clean up some warnings and issues in tests
2021-08-02 23:44:35 +02:00
Veronica Berglyd Olsen
c6973043e6 Index Updates (#840)
* Improve the index keyword checker function
* Implement a more compact indented JSON encoder
* Remove timestamp from reference, novel and note indices
* Remove empty entries in reference index
* Merge novel and note indices into a single file index
2021-08-01 18:19:03 +02:00
Veronica Berglyd Olsen
e5c715695e Config class improvements (#826)
* Subclass ConfigParser
* Remove redundant variables and update tests
* Update file description
* Move NWConfigParser class to common.py
* Improve coverage of config class
* Use NWConfigParser also in themes.py
* Update config class file header
* Fix comment
* Update the usage of ConfigParser to recommended practice and extend tests
* Improve logging for info level a bit
2021-07-28 00:10:15 +02:00
Veronica Berglyd Olsen
e92506dc07 Bump version to 1.5-alpha0 for next release cycle 2021-07-28 00:05:42 +02:00
Veronica Berglyd Olsen
62344376d7 Bump version to 1.4.1, and update changelog and release notes 2021-07-27 23:46:15 +02:00
Veronica Berglyd Olsen
8cf96c3102 Make a clarification in the changelog 2021-07-27 23:31:04 +02:00
Veronica Berglyd Olsen
16fa8679d0 Bump version to 1.4 final, and update changelog and release notes 2021-07-27 23:30:44 +02:00
Veronica Berglyd Olsen
b517276156 Fix layout margins and z-order of some dialogs (#834)
* Fix layout margins on paged dialogs
* Make sure non-modal dialogs are only shown once and are on top
2021-07-26 16:40:20 +02:00
Veronica Berglyd Olsen
732450e163 Add CREDITS file and update README (#833)
* Add CREDITS file and update README
* Fix typo and add note in Libraries section of CREDITS
2021-07-25 16:50:12 +02:00
Veronica Berglyd Olsen
df8e3dd82b Update Contributing Guide (#832)
* Update Contributing Guide
* Minor improvements to README and CONTRIBUTING
2021-07-17 17:27:38 +02:00
Veronica Berglyd Olsen
75ddafd31d Update French translation (#829)
Co-authored-by: jyhelle <47108022+jyhelle@users.noreply.github.com>
2021-07-13 21:51:30 +02:00
Veronica Berglyd Olsen
4f38a8d16c Update the formatting section of the README (#828)
* Update the formatting section of the readme
* Use sup tags for footnotes in readme
2021-07-13 16:13:03 +02:00
Veronica Berglyd Olsen
35746103c7 i18n: Update en_US and nb_NO (#825)
* Update US English translation file
* Update Norwegian translation file
2021-07-13 15:37:24 +02:00
Veronica Berglyd Olsen
fb5347b8e4 Change the branching model (#827)
* Update workflows and add requirements-dev.txt
* Remove codecov from dev requirements
* Update readme and contributing guide
* Update PR template
2021-07-13 15:34:10 +02:00
Veronica Berglyd Olsen
6890b278ea Release 1.4 RC 1 (#824)
* Bump version to 1.4 RC 1
* Update changelog and release notes
2021-07-12 20:52:35 +02:00
Veronica Berglyd Olsen
9f667a0b35 Update code style to new standard 2021-07-05 16:28:44 +02:00
Veronica Berglyd Olsen
36be7b0b33 Test Coverage of the Editor (#787)
* Drop the _qDocument class variables
* Split up the current doceditor test file
* Add tests for editor init, load and save
* Add tests for editor meta functions and actions
* Add tests for editor insert functions
* Add tests for editor text manipulation and block formatting
* Fix code style
* Add text coverage for alignment and indent
2021-07-05 16:10:52 +02:00
Veronica Berglyd Olsen
1d16cc2a03 Move the coding of angle brackets in HTML to the innermost function in the chain (#821) 2021-07-04 18:05:26 +02:00
Veronica Berglyd Olsen
72fd2990e7 Merge branch 'main' into dev 2021-07-04 17:58:53 +02:00
Veronica Berglyd Olsen
6d7ca2bb86 Cleanup (#820)
* Update instructions and readmes
* Cleanup in base files
* Cleanup in core files
* Cleanup in gui files
* Cleanup in dialog files
* Cleanup in tools files
* Cleanup in test files
2021-07-04 17:57:54 +02:00
Veronica Berglyd Olsen
f10a8f9589 Update PR template 2021-07-04 17:56:40 +02:00
Veronica Berglyd Olsen
1881b3d32c Merge branch 'main' into dev 2021-07-02 10:25:56 +02:00
Veronica Berglyd Olsen
1b89d0a4f0 Logger messages (#818)
* Change the way logger messages are generated by using the printf-like method
* Use single quotes around log values that can be empty strings
* Fix bug in log message
2021-07-02 10:22:00 +02:00
용성지
671888b6ea add language support (Simplified Chinese - initial version) (#817)
* add translator's name in about dialog

* add new CN.ts

* Update nw_zh_CN.ts

* inital version (CN)

* add project_zh_CN.json

* Update project_zh_CN.json

* Revert changes to otherlanguage files

* Change case of first character in 'novelWriter' in Chinese translation

* Update about.py

Change the entry "Simplified Chinese" from English the local name of the language

Co-authored-by: Veronica Berglyd Olsen <1619840+vkbo@users.noreply.github.com>
2021-07-02 10:17:58 +02:00
Veronica Berglyd Olsen
50498a7462 Merge pull request #819 from vkbo/update_guides
Update guides
2021-07-01 20:28:41 +02:00
Veronica Berglyd Olsen
ecd190987e Add a pull request template 2021-07-01 20:23:21 +02:00
Veronica Berglyd Olsen
2c000f6808 Update contributing guide and i18n readme 2021-07-01 20:23:09 +02:00
Veronica Berglyd Olsen
c472e40b2b Fix workflow 2021-06-25 23:28:38 +02:00
Veronica Berglyd Olsen
0575f89ae9 Remove alignments in arguments for format statements 2021-06-25 23:20:15 +02:00
Veronica Berglyd Olsen
e1dcfaa1e3 Drop dictionary alignment by colon 2021-06-25 23:14:13 +02:00
Veronica Berglyd Olsen
486af84107 Merge pull request #816 from vkbo/style
Style
2021-06-25 21:56:03 +02:00
Veronica Berglyd Olsen
8acbd8b978 Update contributing guide with new restrictions 2021-06-25 21:48:50 +02:00
Veronica Berglyd Olsen
7f9180e356 Update workflow 2021-06-25 21:39:24 +02:00
Veronica Berglyd Olsen
26912f226f Add double space before in-line comments 2021-06-25 21:36:52 +02:00
Veronica Berglyd Olsen
0c286231cc Remove multiple hashes before comments 2021-06-25 21:11:25 +02:00
Veronica Berglyd Olsen
991a61f2f6 Remove encoding line and add spaces between classes and functions, tests 2021-06-25 21:04:48 +02:00
Veronica Berglyd Olsen
edfd7c9770 Remove encoding line and add spaces between classes and functions 2021-06-25 20:53:33 +02:00
Veronica Berglyd Olsen
ad62faaeea Fix broken links in docs 2021-06-13 20:03:53 +02:00
Veronica Berglyd Olsen
468903bbeb Merge pull request #812 from vkbo/release_1.4beta1
Release 1.4 Beta 1
2021-06-13 20:01:03 +02:00
Veronica Berglyd Olsen
0723f44dc3 Update changelog and release notes 2021-06-13 19:56:16 +02:00
Veronica Berglyd Olsen
831bdabfc6 Bumped version to 1.4-beta1 2021-06-13 19:12:10 +02:00
Veronica Berglyd Olsen
93a3eed530 Merge pull request #804 from vkbo/text_align
Text alignment and indent
2021-06-13 19:10:15 +02:00
Veronica Berglyd Olsen
307a52e7f4 Update documentation 2021-06-13 19:07:36 +02:00
Veronica Berglyd Olsen
3246f4bfcc Add tests for the menu functions 2021-06-13 18:46:35 +02:00
Veronica Berglyd Olsen
fa4f4a8db4 Make the comment format action a toggle feature 2021-06-13 18:32:11 +02:00
Veronica Berglyd Olsen
cb797fe903 Add menu entries for align and indent 2021-06-13 18:28:23 +02:00
Veronica Berglyd Olsen
618461b1ff Merge branch 'dev' into text_align 2021-06-13 17:59:47 +02:00
Veronica Berglyd Olsen
e2f08d3c76 Merge branch 'main' into dev 2021-06-13 17:58:49 +02:00
Veronica Berglyd Olsen
f39cda729d Merge pull request #811 from vkbo/release_1.3.3
Release 1.3.3
2021-06-13 17:13:54 +02:00
Veronica Berglyd Olsen
b28d826d76 Updated changelog and release notes 2021-06-13 17:11:19 +02:00
Veronica Berglyd Olsen
57ae559723 Merge pull request #810 from vkbo/wcount_when_delete
Update project word count when a file is permanently deleted
2021-06-13 16:57:31 +02:00
Veronica Berglyd Olsen
1d1be18689 Bumped version to 1.3.3 2021-06-13 16:56:29 +02:00
Veronica Berglyd Olsen
141b5eb776 Update project word count when a file is permanently deleted 2021-06-13 16:53:40 +02:00
Veronica Berglyd Olsen
3f941bf9fd Merge branch 'dev' into text_align 2021-06-11 00:11:40 +02:00
Veronica Berglyd Olsen
a48f302531 Merge branch 'main' into dev 2021-06-11 00:11:19 +02:00
Veronica Berglyd Olsen
12d8872973 Merge pull request #809 from vkbo/item_tags
Make XML parser for items less picky
2021-06-11 00:10:46 +02:00
Veronica Berglyd Olsen
40ff865989 Make XML parser for items less picky 2021-06-11 00:01:58 +02:00
Veronica Berglyd Olsen
32e9c10702 Fix word counter for align and indent tags 2021-06-10 23:38:11 +02:00
Veronica Berglyd Olsen
804dd3bb7c Merge branch 'dev' into text_align 2021-06-10 22:52:47 +02:00
Veronica Berglyd Olsen
9f2e3a66cd Merge branch 'main' into dev 2021-06-10 22:51:45 +02:00
Veronica Berglyd Olsen
960d1967a3 Merge pull request #808 from vkbo/focus_keys
Focus keys
2021-06-10 22:45:18 +02:00
Veronica Berglyd Olsen
ad025c3fe4 Merge branch 'main' into focus_keys 2021-06-10 22:42:40 +02:00
Veronica Berglyd Olsen
81212a108e Merge pull request #807 from vkbo/setup_win_encoding
Make the extractVersion function in setup a bit more robust
2021-06-10 22:42:30 +02:00
Veronica Berglyd Olsen
8637a4eb12 Merge branch 'main' into focus_keys 2021-06-10 22:35:55 +02:00
Veronica Berglyd Olsen
0e4489d627 Merge branch 'main' into setup_win_encoding 2021-06-10 22:33:04 +02:00
Veronica Berglyd Olsen
0bfb9d0700 Update docs 2021-06-10 22:18:51 +02:00
Veronica Berglyd Olsen
efe759b94e Change focus shortcuts on Window as they conflict with alt codes 2021-06-10 22:16:06 +02:00
Veronica Berglyd Olsen
9f89c1f7a4 Merge pull request #806 from vkbo/cleanup_alerts
Fix translations and refactor makeAlert calls
2021-06-10 22:10:32 +02:00
Veronica Berglyd Olsen
530d92cc3f Make the extractVersion function in setup a bit more robust 2021-06-10 22:08:26 +02:00
Veronica Berglyd Olsen
b0225515d2 Remove isinstance check in error reporting 2021-06-10 21:55:40 +02:00
Veronica Berglyd Olsen
d511c69ee7 Rewrap some alert messages 2021-06-10 21:51:52 +02:00
Veronica Berglyd Olsen
6e1e40f13e Fix translations and refactor makeAlert calls 2021-06-10 21:42:40 +02:00
Veronica Berglyd Olsen
70d3ee07bf Update sample project 2021-06-10 21:39:58 +02:00
Veronica Berglyd Olsen
e5477f314e Add support for indented paragraphs in exports 2021-06-10 21:38:58 +02:00
Veronica Berglyd Olsen
80c4826253 Added left/right indentation to Tokenizer class 2021-06-10 00:04:54 +02:00
Veronica Berglyd Olsen
e0de3ff191 Improve test coverage 2021-06-09 23:40:37 +02:00
Veronica Berglyd Olsen
239cff3dee Fix tests 2021-06-09 23:32:22 +02:00
Veronica Berglyd Olsen
6f9e3168b0 Fix default alignment 2021-06-09 23:05:16 +02:00
Veronica Berglyd Olsen
7d067f807d Add text alignment tags 2021-06-09 22:08:31 +02:00
Veronica Berglyd Olsen
a7b43699ed Merge pull request #802 from teymour-aldridge/patch-1
Remove redundant assignment.
2021-06-09 19:46:48 +02:00
Teymour Aldridge
7d11917d1c Remove redundant assignment. 2021-06-09 18:42:16 +01:00
Veronica Berglyd Olsen
904ba9b1ca Merge branch 'main' into dev 2021-05-30 12:27:30 +02:00
Veronica Berglyd Olsen
616fe35ed5 Merge pull request #797 from vkbo/release_1.3.2
Release 1.3.2
2021-05-30 12:17:58 +02:00
Veronica Berglyd Olsen
577a3c6c6a Bump version to 1.3.2 and update changelog 2021-05-30 12:14:41 +02:00
Veronica Berglyd Olsen
e937267eb0 Merge pull request #796 from vkbo/split_tool
Fix split tool dropping last line (#795)
2021-05-30 11:58:28 +02:00
Veronica Berglyd Olsen
2c1e1b94e7 Fix split tool dropping last line (#795) 2021-05-30 11:55:56 +02:00
Veronica Berglyd Olsen
60736ce04c Update readme 2021-05-25 19:23:34 +02:00
Veronica Berglyd Olsen
03daa350f8 Merge branch 'main' into dev 2021-05-23 16:37:24 +02:00
Veronica Berglyd Olsen
095cc38122 Merge pull request #786 from vkbo/allow_line_breaks
Allow line breaks
2021-05-23 16:35:09 +02:00
Veronica Berglyd Olsen
142d659b70 Fix an issue with markdown export 2021-05-23 16:31:06 +02:00
Veronica Berglyd Olsen
0826a2f8a3 Remove trailing space highlight and add highlight of redundant spaces 2021-05-23 16:17:05 +02:00
Veronica Berglyd Olsen
a3819a7785 Update docs 2021-05-23 15:20:26 +02:00
Veronica Berglyd Olsen
2314777b4b Add test coverage 2021-05-23 15:04:26 +02:00
Veronica Berglyd Olsen
729e97a95d Add function to clean up line breaks 2021-05-23 14:39:02 +02:00
Veronica Berglyd Olsen
5ab60ca4a3 Fix test 2021-05-23 13:15:09 +02:00
Veronica Berglyd Olsen
f1adff82a8 Remove hard line break menu entry 2021-05-23 13:13:03 +02:00
Veronica Berglyd Olsen
96b2d139c9 Allow line breaks in paragraphs 2021-05-23 13:08:10 +02:00
Veronica Berglyd Olsen
e1bc1222c4 Merge pull request #784 from vkbo/xdg_setup
Add entry in xdg-install to remove old desktop icon
2021-05-22 10:55:53 +02:00
Veronica Berglyd Olsen
0bff4a3d21 Add entry in xdg-install to remove old desktop icon 2021-05-22 10:50:21 +02:00
Veronica K. B. Olsen
dfc775c925 Fix merge from main 2021-05-17 20:28:36 +02:00
Veronica K. B. Olsen
dea304d1eb Merge branch 'main' into dev 2021-05-17 20:27:08 +02:00
Veronica Berglyd Olsen
cfd80645e2 Merge pull request #782 from vkbo/meta_stats
Clear handle when tree details panel is cleared
2021-05-17 20:25:36 +02:00
Veronica K. B. Olsen
4b7f7887c8 Clear handle when tree details panel is cleared 2021-05-17 20:07:56 +02:00
Veronica Berglyd Olsen
9fc640aa59 Merge pull request #780 from vkbo/class_cleanup
GUI Class Cleanup
2021-05-17 17:02:39 +02:00
Veronica K. B. Olsen
d812aab173 Update gitignore with versions files 2021-05-17 16:58:52 +02:00
Veronica K. B. Olsen
39b58711c7 Make some GuiItemDetails variables private 2021-05-17 16:58:07 +02:00
Veronica K. B. Olsen
c6120fcf7c Make some GuiDocViewer variables private 2021-05-17 16:57:49 +02:00
Veronica Berglyd Olsen
45b9215c87 Merge pull request #779 from vkbo/editor_cleanup
Editor Code Improvements
2021-05-16 19:02:57 +02:00
Veronica K. B. Olsen
394f6adf82 Remove no longer needed forward function 2021-05-16 17:35:33 +02:00
Veronica K. B. Olsen
1a5076438d Add a signal for updated word counts 2021-05-16 17:31:12 +02:00
Veronica K. B. Olsen
872b8e7902 Fix broken tests 2021-05-16 16:57:00 +02:00
Veronica K. B. Olsen
0cad96fdca Use an enum to pass values to the status bar LEDs 2021-05-16 16:43:44 +02:00
Veronica K. B. Olsen
e9ef4fd091 Make sure slots and signals are correct type 2021-05-16 16:26:03 +02:00
Veronica K. B. Olsen
4ce8b38acd Add editorDocumentChanged signal in GuiDocEditor 2021-05-16 00:41:44 +02:00
Veronica K. B. Olsen
24ab6f2d3b Make the editor dictionary internal 2021-05-16 00:19:40 +02:00
Veronica K. B. Olsen
ba5e5f4bb5 Make GuiDocEditor variables private 2021-05-15 23:57:31 +02:00
Veronica K. B. Olsen
6ef8611a0a Merge branch 'main' into dev 2021-05-08 21:41:36 +02:00
Veronica Berglyd Olsen
486676baa5 Merge pull request #777 from vkbo/release_1.3.1
Release 1.3.1
2021-05-06 22:26:25 +02:00
Veronica K. B. Olsen
542cbf13ff Update changelog and release notes 2021-05-06 22:23:22 +02:00
Veronica K. B. Olsen
62630eb519 Merge branch 'main' into release_1.3.1 2021-05-06 22:08:11 +02:00
Veronica Berglyd Olsen
b1d597e63f Merge pull request #776 from vkbo/issue769_handles_on_windows
Issue #769: Generating handles on Windows
2021-05-06 22:07:36 +02:00
Veronica Berglyd Olsen
887eee01fc Merge branch 'main' into issue769_handles_on_windows 2021-05-06 22:05:34 +02:00
Veronica K. B. Olsen
f605f1fc75 Solve an unwante error message when creating a new project 2021-05-06 22:02:59 +02:00
Veronica K. B. Olsen
cc8fc38734 Update the handle generator test 2021-05-06 21:58:35 +02:00
Veronica K. B. Olsen
5797b8655d {#769) Fix problem with handle collisions when generated rapidly in Windows 2021-05-06 21:58:08 +02:00
Veronica K. B. Olsen
fd4d663a1c Bump version to 1.3.1 2021-05-06 21:43:43 +02:00
Veronica Berglyd Olsen
88263d55f2 Merge pull request #774 from vkbo/issue773_qtranslate_filepath
Issue #773: Fix QTranslate() filePath issue
2021-05-06 12:52:58 +02:00
Veronica Berglyd Olsen
5c4398f948 Some more tweaks to Linux workflow 2021-05-06 12:50:00 +02:00
Veronica Berglyd Olsen
9ff397dfbc Build translation on Linux workflow 2021-05-06 12:44:58 +02:00
Veronica Berglyd Olsen
1c9ebfd11c Improve feedback and documentation for i18n 2021-05-06 12:33:15 +02:00
Veronica Berglyd Olsen
22e8d7ee71 (#773) Fix Qt 5.15 only call in Config 2021-05-06 10:35:16 +02:00
Veronica K. B. Olsen
35458a7e37 Fix wrong location of parameter in setup.cfg 2021-05-05 19:50:17 +02:00
Veronica Berglyd Olsen
c1544ab374 Merge pull request #760 from vkbo/doc_class
Non-Reusable Document Class
2021-05-02 19:53:20 +02:00
Veronica K. B. Olsen
d795eb6f5f Delete no longer needed test reference files 2021-05-02 19:47:39 +02:00
Veronica K. B. Olsen
ce8264b8f2 New split tool test 2021-05-02 19:47:04 +02:00
Veronica K. B. Olsen
c6cbc8a8b1 New merge tool test 2021-05-02 18:52:36 +02:00
Veronica K. B. Olsen
6c79a1daba Test terminology update 2021-05-02 17:48:28 +02:00
Veronica K. B. Olsen
7867965989 Alter the init logic of handles in NWDoc 2021-05-02 17:19:50 +02:00
Veronica K. B. Olsen
348513a248 Merge branch 'dev' into doc_class 2021-05-02 17:14:15 +02:00
Veronica K. B. Olsen
eb62253137 Merge branch 'main' into dev 2021-05-02 17:12:41 +02:00
Veronica Berglyd Olsen
c4e87435dd Merge pull request #766 from vkbo/release_1.3
Release 1.3
2021-05-02 16:58:48 +02:00
Veronica K. B. Olsen
9980d225f5 Fix test that failed due to change in version number 2021-05-02 16:54:25 +02:00
Veronica K. B. Olsen
9c0f596c0d Release 1.3 2021-05-02 16:49:08 +02:00
Veronica Berglyd Olsen
ff8cca6d8b Merge pull request #765 from vkbo/minimal_setup
Minimal Setup and i18n
2021-05-02 16:08:09 +02:00
Veronica K. B. Olsen
0e5e263dea Merge branch 'main' into minimal_setup 2021-05-02 15:57:48 +02:00
Veronica K. B. Olsen
166732946e Add a custom long description for PyPi 2021-05-02 15:57:38 +02:00
Veronica K. B. Olsen
cccdab45dc Add novelwriter banner png 2021-05-02 15:50:26 +02:00
Veronica K. B. Olsen
190ca7cf2d Merge branch 'main' into minimal_setup 2021-05-02 15:41:08 +02:00
Veronica K. B. Olsen
009160b6bf Add a paragraph break 2021-05-02 15:40:45 +02:00
Veronica K. B. Olsen
851f67d86f Update badges 2021-05-02 15:39:34 +02:00
Veronica K. B. Olsen
b8be2277c4 Merge linux workflows 2021-05-02 15:34:09 +02:00
Veronica K. B. Olsen
14e266b938 Update i18n README 2021-05-02 15:28:38 +02:00
Veronica K. B. Olsen
94f070f096 Fix setup entries for i18n files for minimal packages 2021-05-02 15:20:32 +02:00
Veronica Berglyd Olsen
0c28664ced Merge pull request #764 from vkbo/i18n_pip
I18n and PyPi
2021-05-02 15:05:21 +02:00
Veronica K. B. Olsen
754863e42c Fix setup message 2021-05-01 17:18:15 +02:00
Veronica K. B. Olsen
fb5e4a5f17 Update translations 2021-05-01 17:14:13 +02:00
Veronica K. B. Olsen
03e9fb93c7 Update readmes 2021-05-01 17:14:04 +02:00
Veronica K. B. Olsen
3e77e24b1f The i18n files are no read from assets, while the ts files remain in the root folder 2021-05-01 17:12:59 +02:00
Veronica Berglyd Olsen
d97809e4b0 Merge pull request #762 from vkbo/issue761_lastpath
Issue #761: lastpath in build + test coverage
2021-04-26 23:57:34 +02:00
Veronica K. B. Olsen
551fd0aaf9 This line should not have been changed 2021-04-26 23:54:32 +02:00
Veronica K. B. Olsen
2fc36f8355 Fix timestamp format in odt generator 2021-04-26 23:47:47 +02:00
Veronica K. B. Olsen
13cc2feb3f Improve build class test 2021-04-26 23:41:40 +02:00
Veronica K. B. Olsen
e2b62fc9f6 Fix alternative save path in build, and also add in project wizard 2021-04-26 18:22:16 +02:00
Veronica K. B. Olsen
6b119cf4b8 Remove the return false on error in doc viewer 2021-04-25 23:58:11 +02:00
Veronica K. B. Olsen
88d198403e Update translations 2021-04-25 23:47:42 +02:00
Veronica K. B. Olsen
5ee39d7ecc Tighten up the use of item and nwdoc objects in editor class 2021-04-25 23:46:09 +02:00
Veronica K. B. Olsen
e7102725bd Update translations 2021-04-25 23:24:21 +02:00
Veronica K. B. Olsen
bd28867804 Update tests 2021-04-25 23:22:05 +02:00
Veronica K. B. Olsen
0eb09a2136 Move error reporting out of the NWDoc class 2021-04-25 23:21:51 +02:00
Veronica K. B. Olsen
470daf0036 Make NWDoc class non-reusable 2021-04-25 23:01:20 +02:00
Veronica K. B. Olsen
fd28cbca4e Merge branch 'main' into dev 2021-04-25 18:25:12 +02:00
Veronica Berglyd Olsen
6ecf0ecd88 Merge pull request #759 from vkbo/index_alert
Remove duplicate error message in index class
2021-04-25 18:24:09 +02:00
Veronica K. B. Olsen
c940d9d8a4 Remove duplicate error message in index class 2021-04-25 18:20:31 +02:00
Veronica K. B. Olsen
efef172658 Another round of edits to the main README 2021-04-25 18:18:36 +02:00
Veronica Berglyd Olsen
e865b2c054 Merge pull request #758 from vkbo/class_cleanup
Class Cleanup
2021-04-25 18:02:25 +02:00
Veronica K. B. Olsen
f8243f6934 Update translation files 2021-04-25 17:52:07 +02:00
Veronica K. B. Olsen
746268c3ef GUI classes should only init with main GUI as parent 2021-04-25 17:50:11 +02:00
Veronica K. B. Olsen
48695651e1 Core classes should only init with project class and if needed access main gui via project 2021-04-25 17:39:52 +02:00
Veronica K. B. Olsen
45f726669e Remove the showStatus flag from document handling 2021-04-25 17:16:57 +02:00
Veronica K. B. Olsen
d473615ccf Rename open and save document to read and write in NWDoc 2021-04-25 17:10:12 +02:00
Veronica K. B. Olsen
70425c77ea Clarigy the second paragraph of the README 2021-04-25 13:21:28 +02:00
Veronica K. B. Olsen
8520409459 Shorten the first paragraph of the README 2021-04-25 13:18:39 +02:00
Veronica K. B. Olsen
1e48c6dcfe Merge branch 'main' into dev 2021-04-25 11:27:13 +02:00
Veronica K. B. Olsen
67a81400ff Clarify a few things about markup in the main readme 2021-04-25 11:25:30 +02:00
Veronica K. B. Olsen
51431169dd Merge branch 'main' into dev 2021-04-23 22:02:59 +02:00
Veronica Berglyd Olsen
2a0183c838 Merge pull request #754 from vkbo/restructure_code
Restructure Code
2021-04-23 22:01:36 +02:00
Veronica K. B. Olsen
e222915a37 Update tests readme 2021-04-23 21:54:03 +02:00
Veronica K. B. Olsen
b698ccbc1d Move qutae symbol dialog source file to the dialogs folder 2021-04-23 21:49:20 +02:00
Veronica K. B. Olsen
03a80beebe Move tools source files to their own folder 2021-04-23 21:34:45 +02:00
Veronica K. B. Olsen
1c072e9f32 Move dialog source files to their own folder 2021-04-23 21:24:09 +02:00
Veronica Berglyd Olsen
01576f941f Merge pull request #753 from vkbo/update_readmes
Cleanup of setup instructions and scripts
2021-04-19 20:20:37 +02:00
Veronica K. B. Olsen
4af80286d5 Minor corrections to the main README 2021-04-19 20:15:36 +02:00
Veronica K. B. Olsen
c9785bc57b Cleanup the setup instructions and rename the windows setup scripts 2021-04-19 20:02:58 +02:00
Veronica K. B. Olsen
81e72826ce Merge branch 'main' into dev 2021-04-18 18:18:05 +02:00
Veronica Berglyd Olsen
71f9f3d230 Merge pull request #751 from vkbo/release_1.3rc1
Release 1.3 RC 1
2021-04-18 17:58:36 +02:00
Veronica K. B. Olsen
500a01b46d Bump version to 1.3-rc1 and update changelog and release notes 2021-04-18 17:55:06 +02:00
Veronica K. B. Olsen
8190c189e5 Merge branch 'testing' into dev 2021-04-18 17:33:54 +02:00
Veronica K. B. Olsen
dea2ac22e1 Merge branch 'main' into testing 2021-04-18 17:33:29 +02:00
Veronica Berglyd Olsen
1cae46a936 Merge pull request #750 from vkbo/release_1.2.3
Release 1.2.3
2021-04-18 16:05:18 +02:00
Veronica K. B. Olsen
ac22838ded Bump version to 1.2.3 and update changelog and release notes 2021-04-17 23:44:49 +02:00
Veronica Berglyd Olsen
93875d667c Merge pull request #749 from vkbo/win_uninstall
Windows Uninstall
2021-04-17 18:02:21 +02:00
Veronica K. B. Olsen
41043e4dc1 Fix wrong progress message in setup script 2021-04-17 17:59:35 +02:00
Veronica K. B. Olsen
2e8425d4b1 Improve the setup/uninstall text a bit for windows 2021-04-17 17:57:13 +02:00
Veronica K. B. Olsen
fcac28c69f Improve the windows uninstall script a little 2021-04-17 17:45:28 +02:00
Veronica K. B. Olsen
a14b319ada Update the docs 2021-04-17 17:37:22 +02:00
Veronica K. B. Olsen
6763ebdd66 Don't use import to read version number during setup 2021-04-17 17:18:47 +02:00
Veronica K. B. Olsen
421f2dd688 Add uninstall script for windows 2021-04-17 16:35:13 +02:00
Veronica K. B. Olsen
19b21a3e8a Add win-uninstall command to the setup script 2021-04-17 16:13:13 +02:00
Veronica K. B. Olsen
06dcaff806 Merge branch 'testing' into dev 2021-04-06 17:49:28 +02:00
Veronica K. B. Olsen
f02bba5630 Merge branch 'main' into testing 2021-04-06 17:49:11 +02:00
Veronica Berglyd Olsen
12fa295506 Merge pull request #742 from vkbo/update_i18n
Update i18n
2021-04-06 17:46:39 +02:00
Veronica K. B. Olsen
1054bbdf8b Refresh translation files 2021-04-06 17:42:26 +02:00
Bruno Meneguello
b47436ec59 Update Portuguese translation 2021-04-06 17:42:05 +02:00
Veronica K. B. Olsen
856534cb81 Fix reference to moved file in translation files 2021-04-06 17:39:54 +02:00
Veronica Berglyd Olsen
3ee07c7da7 Merge pull request #736 from vkbo/xdg_setup
XDG Setup and Uninstall
2021-04-02 16:17:57 +02:00
Veronica K. B. Olsen
96fb892465 Update docs 2021-04-02 16:13:18 +02:00
Veronica K. B. Olsen
3a48a124e2 Linux tests 3.6 and 3.7 should also push to codecov 2021-04-02 16:02:40 +02:00
Veronica K. B. Olsen
b391d47a40 Add xdg-uninstall option to setup 2021-04-02 15:50:20 +02:00
Veronica K. B. Olsen
a3c4d7c7b6 Remove desktop icon for xdg install 2021-04-02 15:37:55 +02:00
Veronica K. B. Olsen
4ee5890d90 Merge branch 'testing' into dev 2021-03-31 19:03:42 +02:00
Veronica K. B. Olsen
2ce1134b8b Merge branch 'main' into testing 2021-03-31 19:03:28 +02:00
Veronica Berglyd Olsen
641ff441b5 Merge pull request #734 from vkbo/issue733_project_wordlist
Fix failed initial project dictionary
2021-03-31 19:02:21 +02:00
Veronica K. B. Olsen
7687259381 Non-existing project dictionary file shouldn't prevent the vraiable from being set 2021-03-31 18:53:54 +02:00
Veronica K. B. Olsen
bd888451ec Merge branch 'testing' into dev 2021-03-29 18:52:36 +02:00
Veronica K. B. Olsen
7484542af2 Merge branch 'main' into testing 2021-03-29 18:52:23 +02:00
Veronica K. B. Olsen
1e64a3f94c Further clarifications on installation 2021-03-29 18:51:43 +02:00
Veronica K. B. Olsen
fd7319b295 Merge branch 'testing' into dev 2021-03-29 18:39:36 +02:00
Veronica K. B. Olsen
923e00ad19 Merge branch 'main' into testing 2021-03-29 18:39:17 +02:00
Veronica K. B. Olsen
518be4e630 Merge REaDME from testing branch and rename some tests in workflows 2021-03-29 18:36:15 +02:00
Veronica K. B. Olsen
06a13557e3 Merge branch 'testing' into dev 2021-03-28 18:15:40 +02:00
Veronica Berglyd Olsen
72aa82c8ed Merge pull request #731 from vkbo/release_1.3b1
Release 1.3 Beta 1
2021-03-28 17:59:34 +02:00
Veronica K. B. Olsen
b8a136e0ad Typo in changelog 2021-03-28 17:58:00 +02:00
Veronica K. B. Olsen
38ba214327 Updated changelog and release notes 2021-03-28 17:54:22 +02:00
Veronica K. B. Olsen
c23ec06ce6 Bumped version to 1.3b1 2021-03-28 17:54:06 +02:00
Veronica Berglyd Olsen
c495098582 Merge pull request #730 from vkbo/cleanup
Source Cleanup
2021-03-28 17:25:30 +02:00
Veronica Berglyd Olsen
499d095f81 Merge branch 'testing' into cleanup 2021-03-28 17:18:30 +02:00
Veronica Berglyd Olsen
2ed9367dc8 Merge pull request #729 from vkbo/i18n_setup
I18n Setup
2021-03-28 17:18:22 +02:00
Veronica K. B. Olsen
820e6fcfa3 Update tests 2021-03-28 17:15:35 +02:00
Veronica K. B. Olsen
f92ef05ee2 Move enum and constants to the root source folder 2021-03-28 17:15:17 +02:00
Veronica K. B. Olsen
4b3795671d Update lanaguage files 2021-03-28 16:37:23 +02:00
Veronica K. B. Olsen
bff5ff79bd Added i18n instructions to the docs 2021-03-28 16:30:08 +02:00
Veronica K. B. Olsen
21056c5cb8 Clean up and update the main README 2021-03-28 16:22:03 +02:00
Veronica K. B. Olsen
a4567939d6 Include i18n files in the minimal zip files 2021-03-28 15:42:58 +02:00
Veronica K. B. Olsen
e92ac2b30d Merge branch 'testing' into dev 2021-03-28 15:23:16 +02:00
Veronica K. B. Olsen
90871d5859 Merge branch 'main' into testing 2021-03-28 15:23:02 +02:00
Veronica Berglyd Olsen
cb299d145b Merge pull request #725 from vkbo/release_1.2.2
Release 1.2.2
2021-03-28 15:08:17 +02:00
Veronica K. B. Olsen
6afc34e47e Update changelog and release notes 2021-03-27 22:31:15 +01:00
Veronica K. B. Olsen
f6bcbbd962 Merge branch 'main' into release_1.2.2 2021-03-27 22:22:02 +01:00
Veronica Berglyd Olsen
55f1129a24 Merge pull request #728 from vkbo/issue727_pyw_file
Fix Win-Install from Source
2021-03-27 22:16:22 +01:00
Veronica K. B. Olsen
a2c48492ee Make sure the novelWriter.pyw file exists on win-install 2021-03-27 22:12:33 +01:00
Veronica K. B. Olsen
cb0591fe5f Bump version to 1.2.2 and update changelog 2021-03-27 15:38:48 +01:00
Veronica Berglyd Olsen
2f269c3e17 Merge pull request #724 from vkbo/setup_shasum
SHA 256 Sum for setup files
2021-03-27 15:37:50 +01:00
Veronica K. B. Olsen
d1a15f07d5 Add sha256sum to setup script 2021-03-23 21:21:29 +01:00
Veronica Berglyd Olsen
3cb0c95278 Merge pull request #717 from vkbo/issue716_focus_shortcuts
Issue #716: Focus Mode Improvement and Bugfix
2021-03-22 19:01:42 +01:00
Veronica K. B. Olsen
74910a6b56 Use an enum for switching focus instead of hard coded numbers 2021-03-22 18:57:57 +01:00
Veronica K. B. Olsen
5ab32326c1 Update tests 2021-03-22 18:39:25 +01:00
Veronica K. B. Olsen
7dc184f05f Rename the main GUi setFocus function so that it doesn't override the internal one 2021-03-22 18:35:02 +01:00
Veronica K. B. Olsen
dbdb3931f4 Fix search shortcuts in Focus Mode and stop hiding buttons 2021-03-22 18:34:18 +01:00
Veronica K. B. Olsen
56a5559024 Merge branch 'testing' into dev 2021-03-21 17:18:43 +01:00
Veronica K. B. Olsen
8798afc41c Merge branch 'main' into testing 2021-03-21 17:18:29 +01:00
Veronica Berglyd Olsen
e67c911c97 Merge pull request #710 from vkbo/release_1.2.1
Release 1.2.1
2021-03-21 17:10:31 +01:00
Veronica K. B. Olsen
88d69f6fd4 Update changelog and release notes 2021-03-21 17:08:51 +01:00
Veronica Berglyd Olsen
99555f7dd0 Merge branch 'main' into release_1.2.1 2021-03-21 17:01:14 +01:00
Veronica Berglyd Olsen
b3ec77c631 Merge pull request #715 from vkbo/issue714_install_docs
Issue #714: Linux Setup
2021-03-21 17:01:02 +01:00
Veronica K. B. Olsen
d4c61e7ec9 Update Linux setup for consistency and add more details for macOS 2021-03-21 16:54:53 +01:00
Veronica K. B. Olsen
48bbe288b7 Clarify the install instructions for Linux 2021-03-21 16:50:10 +01:00
Veronica K. B. Olsen
3664266eed Merge branch 'testing' into dev 2021-03-17 22:58:28 +01:00
Veronica Berglyd Olsen
a1f7ab1562 Merge pull request #713 from vkbo/update_french_again
Update french again
2021-03-17 22:57:48 +01:00
Veronica K. B. Olsen
5f95c745e2 Update positions in translation files 2021-03-17 22:40:07 +01:00
jyhelle
1f735d8739 Remove French translations for Qt base, submitted by email 2021-03-17 22:39:46 +01:00
Veronica K. B. Olsen
551fa28b27 Fix typo in i18n readme 2021-03-17 21:19:48 +01:00
Veronica K. B. Olsen
909114e318 Merge branch 'testing' into dev 2021-03-17 21:13:51 +01:00
Veronica Berglyd Olsen
a4e55a0664 Merge pull request #711 from vkbo/update_french
Update French + Bugfix
2021-03-17 21:12:57 +01:00
Veronica K. B. Olsen
86e196808e Fix bug saving quote settings in Preferences 2021-03-17 21:06:58 +01:00
jyhelle
0a4e15de31 Update French translation submitted by email 2021-03-17 21:06:32 +01:00
Veronica K. B. Olsen
cd1f52c6b5 Update translation files 2021-03-17 21:05:57 +01:00
Veronica K. B. Olsen
b63449bffd Merge branch 'main' into testing 2021-03-17 17:25:00 +01:00
Veronica K. B. Olsen
93965138da Bump version and update changelog for patch 1.2.1 2021-03-17 17:23:20 +01:00
Veronica Berglyd Olsen
fae1bd791f Merge pull request #709 from vkbo/issue708_focus
Issue #708: Search bar focus
2021-03-17 17:12:53 +01:00
Veronica K. B. Olsen
35855d2d71 Add a section about search in the docs 2021-03-17 17:09:24 +01:00
Veronica K. B. Olsen
c374534d9e Fix test 2021-03-17 16:43:51 +01:00
Veronica K. B. Olsen
f6c92dab24 Make the editor search/replace bypass the docAction pipeline and be called directly 2021-03-17 16:43:45 +01:00
Veronica K. B. Olsen
03beae30ca Move dev branch to version 1.4-alpha0 2021-03-17 11:33:37 +01:00
Veronica K. B. Olsen
4ee81501a9 Merge branch 'testing' into dev 2021-03-14 18:28:50 +01:00
Veronica K. B. Olsen
3b92c3d75c Wrong docs link on PyPi 2021-03-14 18:22:22 +01:00
Veronica Berglyd Olsen
814876f8df Merge pull request #699 from vkbo/release_1.2
Release 1.2
2021-03-14 18:11:44 +01:00
Veronica K. B. Olsen
567d1ae104 Improve the text for new Preferences options 2021-03-14 15:00:31 +01:00
Veronica Berglyd Olsen
7b7f028d74 Merge pull request #704 from vkbo/french_space
French space padding
2021-03-14 14:52:32 +01:00
Veronica K. B. Olsen
0e53524f2e Update translation files 2021-03-14 14:49:56 +01:00
Veronica K. B. Olsen
0f0e0951ec Add padding options to Preferences 2021-03-14 14:43:12 +01:00
Veronica K. B. Olsen
a172c4b725 Move quote symbols to new Preferences tab 2021-03-14 14:32:05 +01:00
Veronica K. B. Olsen
9f979c02f8 Use free string entries for padding instead of many switches 2021-03-14 14:23:44 +01:00
Veronica K. B. Olsen
1d59a67d6e Fix tests 2021-03-13 23:41:39 +01:00
Veronica K. B. Olsen
5837a4602a Add optional padding for large punctuation symbols 2021-03-13 23:38:12 +01:00
Veronica K. B. Olsen
e07a7ac496 Add optional padding to single and double quotes 2021-03-13 23:25:20 +01:00
Veronica K. B. Olsen
de57d0b027 Merge branch 'main' into dev 2021-03-13 17:00:07 +01:00
Veronica K. B. Olsen
32bcb52f14 Properly update release notes 2021-03-13 16:54:02 +01:00
Veronica K. B. Olsen
612ec06262 Updated changelog and release notes 2021-03-13 16:44:59 +01:00
Veronica K. B. Olsen
93dea90970 Merge branch 'main' into release_1.2 2021-03-13 16:35:27 +01:00
Veronica Berglyd Olsen
47ece1f285 Merge pull request #700 from vkbo/manual_updates
Updates for the documentation
2021-03-13 16:33:17 +01:00
Veronica Berglyd Olsen
64378419d0 Merge branch 'main' into manual_updates 2021-03-13 16:27:15 +01:00
Veronica K. B. Olsen
00a201181d Updated documentation for release 1.2 2021-03-13 16:25:59 +01:00
Veronica Berglyd Olsen
b3f9a14c85 Merge pull request #702 from vkbo/empty_trash
Empty Trash Fix
2021-03-09 12:06:51 +01:00
Veronica K. B. Olsen
065e3828b1 Update test and always ask before moving to trash 2021-03-09 11:02:44 +01:00
Veronica K. B. Olsen
63e91f0ee5 Fix broken emptu trash feature (#701) 2021-03-09 10:52:27 +01:00
jyhelle
182ef5c8f7 Corrections received by email 2021-03-05 19:10:59 +01:00
Veronica Berglyd Olsen
2f790140e0 Merge pull request #698 from vkbo/about_dialog
About dialog updates
2021-03-03 23:04:45 +01:00
Veronica K. B. Olsen
a8bf247d01 Consistency 2021-03-03 22:56:03 +01:00
Veronica K. B. Olsen
e2b3e06077 Merge branch 'dev' into about_dialog 2021-03-03 22:53:45 +01:00
Veronica Berglyd Olsen
43332d8752 Merge pull request #697 from bkmeneguello/pt
Update portuguese translation
2021-03-03 22:52:12 +01:00
Veronica K. B. Olsen
b410ef5d08 Update translations 2021-03-03 22:51:13 +01:00
Veronica K. B. Olsen
1e97a9a872 Use tables instead of lists in About dialog 2021-03-03 22:50:55 +01:00
Veronica K. B. Olsen
26c49e7c22 Add a translations credit section to the About dialog 2021-03-03 21:52:30 +01:00
Veronica B. Olsen
b0f000acfd Bumped version for 1.2 2021-03-03 09:21:52 +01:00
Bruno Kühnen Meneguello
89269b848d Update portuguese translation 2021-03-02 09:04:21 -03:00
Veronica K. B. Olsen
7a55af405b Update outdated info in README 2021-03-02 12:31:22 +01:00
Veronica K. B. Olsen
a3343bc738 Backport .gitignore from dev branch 2021-03-02 11:42:07 +01:00
Veronica K. B. Olsen
dd10486f27 Merge branch 'main' into dev 2021-03-02 11:38:36 +01:00
Veronica Berglyd Olsen
a324ad2dd8 Merge pull request #696 from vkbo/testing
Testing to Main
2021-03-02 11:36:30 +01:00
Veronica Berglyd Olsen
38b4653cb3 Merge pull request #671 from vkbo/release_1.2rc1
Release 1.2 RC 1
2021-03-02 10:29:51 +01:00
Veronica K. B. Olsen
fdd9186ae9 Update release notes and bumped release date 2021-03-02 10:26:55 +01:00
Veronica Berglyd Olsen
81302e3ca5 Merge pull request #695 from vkbo/projsettings_update
Project Settings update
2021-02-27 17:37:01 +01:00
Veronica K. B. Olsen
cf99b4f8b9 Fix flake8 error 2021-02-27 17:19:39 +01:00
Veronica K. B. Olsen
12d39550a8 Use constants for column indices 2021-02-27 17:18:30 +01:00
Veronica K. B. Olsen
9c3e063635 Update en_US and nb_NO translations 2021-02-27 17:08:28 +01:00
Veronica K. B. Olsen
bc0f3e343b Merge branch 'dev' into projsettings_update 2021-02-27 17:02:23 +01:00
Veronica K. B. Olsen
d3eabd8d8f Fix test and revealed bug in main code 2021-02-27 17:00:17 +01:00
Veronica K. B. Olsen
bfa8f97e7e Make the Importance and Status tabs look consistent with Auto-Replace 2021-02-27 16:49:54 +01:00
Veronica K. B. Olsen
4136328a36 Improve the layout of Project Settings > Auto-Replace 2021-02-27 16:21:03 +01:00
Veronica K. B. Olsen
2fd2c18dfc Remove the colour range function as it will not be used 2021-02-27 16:06:24 +01:00
Veronica K. B. Olsen
0a32f9405a Merge branch 'testing' into dev 2021-02-24 22:45:41 +01:00
Veronica K. B. Olsen
7125e9ecd5 Updated changelog 2021-02-24 22:44:01 +01:00
Veronica K. B. Olsen
869e4a0b9d Merge branch 'testing' into release_1.2rc1 2021-02-24 22:38:05 +01:00
Veronica K. B. Olsen
dc0e5c218f Merge branch 'main' into testing 2021-02-24 22:37:44 +01:00
Veronica Berglyd Olsen
7fe3238339 Merge pull request #693 from vkbo/translations
Translations Rondup
2021-02-24 22:34:04 +01:00
Veronica K. B. Olsen
f491f5bf49 Fix broken test 2021-02-24 22:29:49 +01:00
Veronica K. B. Olsen
17070b88d3 Add American English translation 2021-02-24 22:23:35 +01:00
Veronica K. B. Olsen
36fd23b264 Fix some typos and inconsistencies in GUI texts 2021-02-24 22:19:17 +01:00
Veronica K. B. Olsen
fcd1d400f8 Fix spelling of the word "licence" 2021-02-24 21:39:21 +01:00
Veronica K. B. Olsen
dbbec86a13 Merge branch 'dev' into projsettings_update 2021-02-24 20:57:11 +01:00
Veronica K. B. Olsen
67bd23a027 Workflow updates and file cleanup 2021-02-24 20:47:00 +01:00
Veronica Berglyd Olsen
f22a350938 Create FUNDING.yml 2021-02-24 20:38:51 +01:00
Veronica Berglyd Olsen
2f0388d692 Merge pull request #692 from vkbo/french_translation
Add French translation
2021-02-24 20:06:36 +01:00
Jan Lüdke
d7922c6330 Add French translation 2021-02-24 20:00:53 +01:00
Veronica K. B. Olsen
b383142c14 Set maximum height for author box on project settings 2021-02-24 19:47:49 +01:00
Veronica K. B. Olsen
c42b0caf0f Clean up the Project Settings classes 2021-02-23 23:29:18 +01:00
Veronica Berglyd Olsen
6ba286087d Merge pull request #690 from vkbo/issue688_testing
Issue #688: Keyword indexing
2021-02-23 22:35:07 +01:00
Veronica K. B. Olsen
c2e3fef7fc Improve keyword indexer and extend test 2021-02-23 22:28:02 +01:00
Veronica K. B. Olsen
b9d344c7d9 Make sure the test cheks for issue 688 2021-02-23 22:07:14 +01:00
Veronica K. B. Olsen
320643d2da Merge branch 'testing' into dev 2021-02-23 21:14:48 +01:00
Veronica K. B. Olsen
fe04c1af25 Merge branch 'main' into testing 2021-02-23 21:14:30 +01:00
Veronica Berglyd Olsen
21d3ed61ef Merge pull request #689 from vkbo/issue688_wrong_tag
Issue #688: Indexing of invalid keywords
2021-02-23 21:14:03 +01:00
Veronica K. B. Olsen
b7f27a2af0 Don't save invalid keyword references to the index 2021-02-23 20:51:43 +01:00
Veronica Berglyd Olsen
2560b4d336 Merge pull request #687 from vkbo/gui_tweaks
Make settings layouts more responsive
2021-02-23 17:38:44 +01:00
Veronica K. B. Olsen
66282d4ed0 Add Preferences window size to Config and update tests 2021-02-22 20:23:14 +01:00
Veronica K. B. Olsen
2152f54066 Make use of the improved layout class in Project Settings and Preferences 2021-02-22 20:22:49 +01:00
Veronica K. B. Olsen
c89cb32871 Make the QConfigLayout custom class more responsive to the length of labels due to translations 2021-02-22 20:21:22 +01:00
Veronica K. B. Olsen
59eaf9177e Remove some debug print statements 2021-02-22 19:29:01 +01:00
Veronica B. Olsen
36aa58b38e Update changelog 2021-02-22 09:36:09 +01:00
Veronica B. Olsen
2f4fccfb2c Merge branch 'testing' into release_1.2rc1 2021-02-22 09:14:46 +01:00
Veronica B. Olsen
d251ebb995 Fix typo in changelog 2021-02-22 09:13:52 +01:00
Veronica K. B. Olsen
0cc1573503 Merge remote-tracking branch 'origin/dev' into dev 2021-02-21 20:37:04 +01:00
Veronica Berglyd Olsen
2ad3f2c1ab Merge pull request #686 from bkmeneguello/pt
Update portuguese translation
2021-02-21 17:49:28 +01:00
Bruno Kühnen Meneguello
6cca26b914 Updates portuguese translation 2021-02-21 13:34:00 -03:00
Veronica K. B. Olsen
0c946516e8 Merge branch 'testing' into release_1.2rc1 2021-02-21 16:27:04 +01:00
Veronica K. B. Olsen
7b417929e6 Merge branch 'testing' into dev 2021-02-21 16:24:33 +01:00
Veronica K. B. Olsen
c77ef4e4ce Merge branch 'main' into testing 2021-02-21 16:23:50 +01:00
Veronica Berglyd Olsen
a9d90da5c8 Merge pull request #672 from vkbo/release_1.1.1
Release 1.1.1
2021-02-21 16:09:27 +01:00
Veronica K. B. Olsen
4071c2ca43 Last changes to release notes 2021-02-21 16:01:15 +01:00
Veronica K. B. Olsen
58eaddf753 Merge branch 'main' into dev 2021-02-20 17:40:44 +01:00
Veronica K. B. Olsen
0a571502ce Merge branch 'main' into testing 2021-02-20 17:40:30 +01:00
Veronica K. B. Olsen
a850e5b74e Merge latest changes in main and update changelog and release notes 2021-02-20 17:40:17 +01:00
Veronica K. B. Olsen
71aa1fa113 Merge branch 'main' into release_1.1.1 2021-02-20 17:37:01 +01:00
Veronica Berglyd Olsen
24eef2dc0b Merge pull request #685 from vkbo/session_log_short
Drop short sessions from the log file
2021-02-20 17:35:53 +01:00
Veronica K. B. Olsen
5977c8c8e2 Fix test 2021-02-20 17:31:31 +01:00
Veronica K. B. Olsen
dcd4c19b21 Drop logging quick open and close sessions to the session log 2021-02-20 17:28:05 +01:00
Veronica K. B. Olsen
464c7dae0a Fix an issue in index with open a version 1.2 project 2021-02-20 17:27:32 +01:00
Veronica K. B. Olsen
ad92e2e5eb Update changelog 2021-02-20 17:09:47 +01:00
Veronica K. B. Olsen
254845d71f Update changelog and release notes 2021-02-20 16:41:33 +01:00
Veronica Berglyd Olsen
89ab97076c Merge pull request #684 from vkbo/qt_translations
Qt Widget Translations
2021-02-20 13:48:57 +01:00
Veronica K. B. Olsen
dd444ccc8a Update TS files 2021-02-20 13:44:37 +01:00
Veronica K. B. Olsen
c9cab47ce0 Minor code changes for consistency 2021-02-20 13:40:26 +01:00
Veronica K. B. Olsen
b868477406 Change minimum Qt version to 5.3 2021-02-20 13:39:48 +01:00
Veronica K. B. Olsen
71ad3fc51d Fix flake8 error 2021-02-19 17:21:49 +01:00
Veronica K. B. Olsen
837ad7e39c Fix tests 2021-02-19 17:19:10 +01:00
Veronica Berglyd Olsen
898c589e2b Merge branch 'dev' into qt_translations 2021-02-19 16:46:48 +01:00
Veronica K. B. Olsen
49c90a4455 Add a dummy file for translating Qt widgets used in nW for languages with no qtbase localised file 2021-02-19 16:40:52 +01:00
Veronica K. B. Olsen
d315f37c88 Remove translations of standard buttons and switch to native file dialogs 2021-02-19 16:38:56 +01:00
Veronica Berglyd Olsen
799c1dc804 Merge pull request #683 from Number042/dev
Add German translation.
2021-02-19 16:30:00 +01:00
Marian Lückhof
3d457e757d Add German translation. 2021-02-19 16:06:19 +01:00
Veronica K. B. Olsen
f74d575d6a Update the i18n readme 2021-02-18 21:42:46 +01:00
Veronica Berglyd Olsen
d4e0bacde9 Merge pull request #682 from vkbo/project_language
Project Language
2021-02-18 21:26:43 +01:00
Veronica K. B. Olsen
844c3ab26f Allow Build language to not be set at all 2021-02-18 21:18:14 +01:00
Veronica K. B. Olsen
97c884de42 Fix a potential bug 2021-02-18 20:53:31 +01:00
Veronica K. B. Olsen
6cc974a8e9 Fix tests 2021-02-18 20:47:22 +01:00
Veronica K. B. Olsen
5f3822ac1a The word "Synopsis" should be translated to GUI language when it appears in document viewer 2021-02-18 20:46:27 +01:00
Veronica K. B. Olsen
e9763f4ec6 Add language option to the Build tool 2021-02-18 20:45:18 +01:00
Veronica K. B. Olsen
e4d03f9581 Fix tests for variable change, and change monkeypatches to use the context manager 2021-02-18 19:21:46 +01:00
Veronica K. B. Olsen
8b0ac6e81e Rename projLang to spellLang 2021-02-18 19:19:50 +01:00
Veronica Berglyd Olsen
a73eba8916 Merge pull request #681 from bkmeneguello/pt
Updates portuguese translations
2021-02-18 09:10:32 +01:00
Bruno Kühnen Meneguello
c74d761a4b Updates portuguese translations 2021-02-17 21:41:45 -03:00
Veronica Berglyd Olsen
e60cc7b544 Merge pull request #679 from vkbo/norwegian_locale
Norwegian Localisation
2021-02-17 23:25:19 +01:00
Veronica K. B. Olsen
515e53b220 Fix indentation 2021-02-17 23:20:20 +01:00
Veronica K. B. Olsen
8948c3f435 Final translation pass for Norwegian 2021-02-17 23:16:23 +01:00
Veronica K. B. Olsen
3a1367a1d8 Finish the first iteration of the Norwegian translation 2021-02-17 21:55:23 +01:00
Veronica K. B. Olsen
e114873e4c Remove deprecated meta entry support in project files 2021-02-17 21:54:56 +01:00
Veronica K. B. Olsen
be8f98f6c7 Add more translations 2021-02-17 19:10:50 +01:00
Veronica K. B. Olsen
5a685474ff Move the remanining two functions in the tools.py file to other source files 2021-02-17 16:31:37 +01:00
Veronica K. B. Olsen
185974a3ea Add a basic project_pt.json file 2021-02-17 16:30:29 +01:00
Veronica K. B. Olsen
6c87711595 Add internationalisation README 2021-02-17 12:32:00 +01:00
Veronica K. B. Olsen
35b8e389a3 The project language files should obviously also be in the i18n folder 2021-02-17 12:14:57 +01:00
Veronica K. B. Olsen
51564d1adc Rename nb-NO to nb_NO 2021-02-17 10:08:48 +01:00
Veronica K. B. Olsen
88df06ee47 Merge branch 'dev' into norwegian_locale 2021-02-17 10:06:12 +01:00
Veronica Berglyd Olsen
770c746444 Merge pull request #680 from bkmeneguello/Languages-GUI
Adds language selector to preferences
2021-02-17 10:04:41 +01:00
Veronica K. B. Olsen
47215ddb13 Fix instantiation of DummyApp 2021-02-17 09:59:53 +01:00
Veronica K. B. Olsen
fb09066679 Remove debug print and add test coverage 2021-02-17 09:53:27 +01:00
Veronica K. B. Olsen
7591095f2a Rewrite listLanguages function to add more checks and fix misidentification of default language 2021-02-17 09:28:25 +01:00
Bruno Kühnen Meneguello
48575c09ca Adds languages combo to preferences 2021-02-16 23:07:13 -03:00
Veronica K. B. Olsen
5fc01fe685 Add the updated translation files 2021-02-17 01:43:12 +01:00
Veronica Berglyd Olsen
df94dd2cf5 Merge branch 'dev' into norwegian_locale 2021-02-17 01:39:07 +01:00
Veronica Berglyd Olsen
ae53ce5544 Merge pull request #676 from vkbo/tokenizer_localisation
Tokenizer Localisation
2021-02-17 01:37:58 +01:00
Veronica K. B. Olsen
1f0e6c0426 Fix a bunch of missing translation tags and fix a few default strings 2021-02-17 01:37:28 +01:00
Veronica K. B. Olsen
7f84c3c71c Ignore compiled linguistics files 2021-02-17 01:36:06 +01:00
Veronica K. B. Olsen
8a050810c1 Update translation file after removing no longer needed Tokenizer translations 2021-02-17 00:01:07 +01:00
Veronica K. B. Olsen
4033f7a47d Fix tests 2021-02-16 23:58:25 +01:00
Veronica K. B. Olsen
62cc64d912 Remove the old numberToWord functions and clean up the translation files 2021-02-16 23:47:49 +01:00
Veronica K. B. Olsen
290ca2178d Merge branch 'dev' into tokenizer_localisation 2021-02-16 23:13:36 +01:00
Veronica Berglyd Olsen
b935f8a3f3 Merge pull request #673 from bkmeneguello/i18n
Project basic internationalization support
2021-02-16 23:08:34 +01:00
Bruno Kühnen Meneguello
65e31115a1 Final translations 2021-02-16 18:48:15 -03:00
Veronica K. B. Olsen
19d536ea8b Add norwegian project translation files 2021-02-16 22:45:17 +01:00
Veronica K. B. Olsen
8aa2401134 Make sure the project translation map is loaded correctly 2021-02-16 22:42:18 +01:00
Veronica K. B. Olsen
4699d9404b Add the project localisation to the converter classes 2021-02-16 22:18:14 +01:00
Veronica K. B. Olsen
b50132e255 Add support for project language file 2021-02-16 22:02:59 +01:00
Veronica K. B. Olsen
8f1c4af9fa Fix a bug in Build and Constants, and clean up some more nested translates 2021-02-16 19:42:50 +01:00
Veronica K. B. Olsen
d5bd816676 Last round of changes to localisation 2021-02-16 18:14:04 +01:00
Bruno Kühnen Meneguello
8093528694 Update portuguese translation 2021-02-15 22:22:05 -03:00
Veronica K. B. Olsen
7b7bf5d390 Fix a bug in parsing orphaned file names 2021-02-16 00:38:15 +01:00
Veronica K. B. Olsen
8db140fe89 Make the number to word function ready for multiple langauges, and make some minor changes to tooltips in build and status bar 2021-02-15 23:43:56 +01:00
Veronica K. B. Olsen
2e4148a9eb Restore some of the old spell check information in the status bar 2021-02-15 22:29:05 +01:00
Bruno Kühnen Meneguello
ed356ba85d Merge branch 'i18n' of https://github.com/bkmeneguello/novelWriter into i18n 2021-02-15 15:48:52 -03:00
Bruno Kühnen Meneguello
cf79fef0bc Update portuguese translation 2021-02-15 15:47:14 -03:00
Bruno Kühnen Meneguello
d4b4451a48 Improved list and quote handling, also fix a typo 2021-02-15 15:46:48 -03:00
Veronica K. B. Olsen
2f57a4f86f Resolve comment about numbered format string in dialog 2021-02-15 18:03:36 +01:00
Veronica K. B. Olsen
31b665d344 Last pass of fixes and tweaks 2021-02-15 17:52:04 +01:00
Veronica K. B. Olsen
6d56bc7c0c Fix flake8 complaints 2021-02-15 17:01:38 +01:00
Veronica K. B. Olsen
89cf28fade Make tests work on github actions default language code 2021-02-15 16:57:56 +01:00
Veronica K. B. Olsen
8087e8ad75 Fix tests and a bug in GuiMain 2021-02-15 16:48:12 +01:00
Veronica K. B. Olsen
df19ced50c Rewrap self.tr and fix a few bugs 2021-02-15 16:47:57 +01:00
Veronica K. B. Olsen
dba8865d75 Revert some changes to how languages are loaded and remove iso.py 2021-02-15 16:32:20 +01:00
Bruno Meneguello
d506cf2d2a Fix typo and left back "print" 2021-02-15 09:37:45 -03:00
Veronica K. B. Olsen
5e30e1a2ee Just use Qt's own facility for loading localisation files 2021-02-15 11:35:19 +01:00
Veronica K. B. Olsen
af6d96843d Add docstrings and help info for the i18n tools in setup.py 2021-02-15 00:03:14 +01:00
Veronica K. B. Olsen
c0acc1d087 Move the i18n initialisation to the Config class 2021-02-15 00:02:45 +01:00
Bruno Kühnen Meneguello
98e3343808 novelWriter i18n and portuguese translation 2021-02-14 17:16:43 -03:00
Veronica K. B. Olsen
3c72f195ba Bumped version for release 1.1.1 2021-02-13 12:54:16 +01:00
Veronica K. B. Olsen
f3f46858c9 Bumped version for release 1.2 RC 1 2021-02-13 12:48:41 +01:00
Veronica K. B. Olsen
861a847692 Merge branch 'testing' into dev 2021-02-12 22:07:46 +01:00
Veronica K. B. Olsen
d4631229af Merge branch 'main' into testing 2021-02-12 22:07:32 +01:00
Veronica Berglyd Olsen
a78f7d5789 Merge pull request #669 from vkbo/user_dict
Tool to Edit User Dictionary
2021-02-12 22:05:06 +01:00
Veronica K. B. Olsen
fca5c77089 Add GuiWordList test 2021-02-12 22:00:22 +01:00
Veronica Berglyd Olsen
fe828a1c49 Merge pull request #670 from Symbian9/patch-1
Fix installation guide links order
2021-02-12 21:04:42 +01:00
app4soft
11e3573ebd Fix installation guide links order 2021-02-12 22:00:09 +02:00
Veronica K. B. Olsen
ff1d625dc8 Fix logging of exception 2021-02-12 20:26:37 +01:00
Veronica K. B. Olsen
bd9691532f Merge branch 'testing' into user_dict 2021-02-12 20:25:05 +01:00
Veronica K. B. Olsen
133b597093 Merge branch 'main' into testing 2021-02-12 20:23:50 +01:00
Veronica Berglyd Olsen
d4d540bc33 Merge pull request #668 from vkbo/spelling_speedup
Simple Spell Check Speedup
2021-02-12 20:22:11 +01:00
Veronica K. B. Olsen
d08322c1a3 No point making a list to convert to a set 2021-02-12 20:18:32 +01:00
Veronica K. B. Olsen
ec1c664ed6 Fix test 2021-02-12 20:15:38 +01:00
Veronica K. B. Olsen
a3b46581b0 Make the simple spell checker use a set instead of a list 2021-02-12 20:15:28 +01:00
Veronica K. B. Olsen
b115d4f02d Finish the word list dialog and make it possible to reload the user dictionary with pyenchant 2021-02-12 19:40:10 +01:00
Veronica K. B. Olsen
6e64ede90b Add a starting widget for the word liste ditor and connect it to the GUI 2021-02-12 17:01:46 +01:00
Veronica K. B. Olsen
1917c2ce38 Merge branch 'testing' into dev 2021-02-11 23:14:50 +01:00
Veronica K. B. Olsen
c06c2422a9 Merge branch 'main' into testing 2021-02-11 23:13:32 +01:00
Veronica K. Berglyd Olsen
14d205f845 Merge pull request #666 from vkbo/ctrl_del
Change Delete Item Shortcut
2021-02-11 22:06:39 +00:00
Veronica K. B. Olsen
a57ce557e8 Clean up lisence header of main init file 2021-02-11 22:59:19 +01:00
Veronica K. B. Olsen
23c200f333 Update docs 2021-02-11 22:53:58 +01:00
Veronica K. B. Olsen
bf6a3adc06 Change the delete item shortcut 2021-02-11 22:53:14 +01:00
Veronica K. Berglyd Olsen
60a8c8212c Merge pull request #664 from vkbo/minor_fixes
Minor Fixes for 1.2 Beta 1
2021-02-11 21:51:15 +00:00
Veronica K. B. Olsen
525c9c8fd8 Revert last commit and instead change delete item shortcut 2021-02-11 19:27:35 +01:00
Veronica K. B. Olsen
08651685d4 Allow Ctrl+Del to be propagated to the document editor 2021-02-11 19:11:41 +01:00
Veronica K. B. Olsen
3a60abaeee F2 should only edit item if project tree has focus, and edit current document meta if editor has focus 2021-02-11 18:57:44 +01:00
Veronica K. B. Olsen
1e5d980b85 Fix the label of the idle time switch on Writing Statistics 2021-02-11 18:42:28 +01:00
Veronica K. B. Olsen
f9e97735e6 Merge branch 'testing' into dev 2021-02-11 17:19:53 +01:00
Veronica K. Berglyd Olsen
df36aceddb Merge pull request #663 from vkbo/release_1.2beta1
Release 1.2 Beta 1
2021-02-11 16:08:31 +00:00
Veronica K. B. Olsen
600e1cdbfb Added release notes 2021-02-11 17:04:48 +01:00
Veronica K. B. Olsen
d0f11db700 Fix main init source file header 2021-02-10 23:08:47 +01:00
Veronica K. B. Olsen
27de8138f5 Bumped version to 1.3 alpha0 for next dev cycle 2021-02-10 23:00:40 +01:00
Veronica K. B. Olsen
bc0cd2332c Changelog clarifications and corrected typos 2021-02-10 22:59:13 +01:00
Veronica K. B. Olsen
c1b5287ba0 Bumped version to 1.2beta1 and updated changelog 2021-02-10 22:49:32 +01:00
Veronica K. Berglyd Olsen
a2a43b3996 Merge pull request #662 from vkbo/issue605_focus_char
Issue #605: Focus Character
2021-02-10 21:07:25 +00:00
Veronica K. B. Olsen
6c07ecb700 Fix a typo 2021-02-10 22:03:25 +01:00
Veronica K. B. Olsen
2d3f848ab3 Update documentation with references to the @focus keyword 2021-02-10 21:58:25 +01:00
Veronica K. B. Olsen
fdd188516b Update sample project and test 2021-02-10 21:47:42 +01:00
Veronica K. B. Olsen
4c95b1d7ad Add Focus reference to the GUI elements 2021-02-10 21:47:23 +01:00
Veronica K. B. Olsen
19b7b51eea Add the @focus keyword to the base constant classes 2021-02-10 21:46:55 +01:00
Veronica K. Berglyd Olsen
3c355e2d75 Merge pull request #660 from vkbo/build_tool
Build Tool Updates
2021-02-10 19:30:40 +00:00
Veronica K. Berglyd Olsen
290c2f7b62 Merge branch 'dev' into build_tool 2021-02-10 18:34:51 +00:00
Veronica K. Berglyd Olsen
be7bcd03e1 Merge pull request #661 from vkbo/fix_idle_stats
Fix idle Time in Writing Stats
2021-02-10 18:34:04 +00:00
Veronica K. B. Olsen
0965f4213e Fix an issue with summing up idle time when grouping writing stats by day 2021-02-10 19:27:32 +01:00
Veronica K. B. Olsen
bb9ca6e40f Reorder HTML cache file 2021-02-10 18:48:13 +01:00
Veronica K. B. Olsen
672ea6d6f2 Fix and update tests 2021-02-10 16:57:32 +01:00
Veronica K. B. Olsen
ec189a4867 Clean up the Build dialog and connect new options 2021-02-10 16:57:15 +01:00
Veronica K. B. Olsen
f67a50c064 Change the way Unicode is handled in HTML, and clean up the class a bit 2021-02-10 16:56:52 +01:00
Veronica K. B. Olsen
a0fba34ff6 Apply line height and margins to HTML output 2021-02-10 16:55:46 +01:00
Veronica K. B. Olsen
7ea45ac3d2 Cleanup Build dialog and add line height to HTML 2021-02-10 10:39:25 +01:00
Veronica K. B. Olsen
78a58617c1 Connect line height to Build dialog 2021-02-10 10:38:22 +01:00
Veronica K. Berglyd Olsen
f098aeb622 Merge pull request #656 from vkbo/session_idle
Session Idle Time
2021-02-09 20:36:10 +00:00
Veronica K. B. Olsen
6904afc5e7 Updated tests 2021-02-09 21:09:03 +01:00
Veronica K. B. Olsen
b079b30694 Merge branch 'dev' into session_idle 2021-02-09 20:55:26 +01:00
Veronica K. B. Olsen
3e8a425684 Merge branch 'main' into dev 2021-02-09 20:54:31 +01:00
Veronica K. Berglyd Olsen
b47c4c8f71 Merge pull request #659 from vkbo/writing_stats_calc
Make writing stats word calculation more intuitive
2021-02-09 19:54:03 +00:00
Veronica K. B. Olsen
6d3097ae76 Update test 2021-02-09 20:48:48 +01:00
Veronica K. B. Olsen
09e521c2c2 Make writing stats word calculation more intuitive 2021-02-09 19:57:14 +01:00
Veronica K. B. Olsen
2439cf4633 Writing Stats tool should show idle time as either percantage or actual time 2021-02-09 19:46:00 +01:00
Veronica K. B. Olsen
f1b31f26d0 Add preferences for controlling session timer behaviour 2021-02-09 18:54:44 +01:00
Veronica K. B. Olsen
b1eca89a05 Switch icon when session timer is paused 2021-02-09 18:28:22 +01:00
Veronica K. B. Olsen
09bf2a0fe0 Forgot to consider GUI scale 2021-02-08 23:51:03 +01:00
Veronica K. B. Olsen
2d754641b5 Add a switch to hide the idle time column 2021-02-08 23:40:21 +01:00
Veronica K. B. Olsen
871a0dfc6c Fix tests 2021-02-08 23:26:40 +01:00
Veronica K. B. Olsen
3521d4a4f7 Add idle time to session log and writing stats dialog 2021-02-08 23:17:33 +01:00
Veronica K. B. Olsen
407f12760c Record idle time 2021-02-08 21:58:38 +01:00
Veronica K. B. Olsen
479975fdff Move clock tick timer to main GUI 2021-02-08 21:33:06 +01:00
Veronica K. B. Olsen
98fae8a6de Merge branch 'main' into dev 2021-02-08 17:35:41 +01:00
Veronica K. Berglyd Olsen
2e94104ff8 Merge pull request #655 from vkbo/improvements
Various Improvements
2021-02-08 16:34:48 +00:00
Veronica K. B. Olsen
039c13fc0a Add some clarifications to the changelog 2021-02-08 17:29:58 +01:00
Veronica K. B. Olsen
de266e8c88 Add branching policy to the contributing guide 2021-02-08 17:08:48 +01:00
Veronica K. B. Olsen
ada99077a4 Fix some issues with resolving paths for a packaged single executable 2021-02-08 09:44:10 +01:00
Veronica K. B. Olsen
f5588f94db Tweak the project config files 2021-02-08 09:19:53 +01:00
Veronica K. B. Olsen
2a325ae4cc GUI font on Windows should default to Arial first, and fall back to Cantarell 2021-02-07 21:43:32 +01:00
Veronica K. B. Olsen
ac9345419e Merge branch 'main' into dev 2021-02-07 21:14:34 +01:00
Veronica K. B. Olsen
b3fb020dfa Drop using the __status__ variable 2021-02-07 21:12:31 +01:00
Veronica K. Berglyd Olsen
4b885a6e30 Merge pull request #648 from vkbo/release_1.1
Release 1.1
2021-02-07 19:09:48 +00:00
Veronica K. B. Olsen
fa814d64de Updated release notes 2021-02-07 19:45:46 +01:00
Veronica K. B. Olsen
8aa376de25 Merge branch 'main' into release_1.1 2021-02-07 19:43:39 +01:00
Veronica K. Berglyd Olsen
14e7f2d986 Merge pull request #652 from vkbo/odt_header
Add Header to Open Document export
2021-02-07 14:14:44 +00:00
Veronica K. B. Olsen
f816f3d29b Turn document margins into settings 2021-02-06 23:28:41 +01:00
Veronica K. B. Olsen
3db9987966 Add a default header to Open Document files 2021-02-06 23:22:23 +01:00
Veronica K. B. Olsen
5e40bd5deb Change text on build tool print button 2021-02-06 18:31:37 +01:00
Veronica K. B. Olsen
74a9ddbe47 Fix wrong version in ToOdt class header 2021-02-06 18:29:59 +01:00
Veronica K. Berglyd Olsen
188c2ae7ea Merge pull request #650 from vkbo/markdown_export
Markdown Export
2021-02-06 17:05:11 +00:00
Veronica K. B. Olsen
e645c19761 Fix flake8 error 2021-02-06 18:01:03 +01:00
Veronica K. B. Olsen
baf9cab66c Fix a few other docs sections about export 2021-02-06 17:55:29 +01:00
Veronica K. B. Olsen
2fd940bcde Update documentation 2021-02-06 17:48:59 +01:00
Veronica K. B. Olsen
f4988c5d86 Clean up build tool and extend export tests 2021-02-06 17:40:39 +01:00
Veronica K. B. Olsen
b59b3a3a74 Use the old converter for nwd file, not the markdown class 2021-02-06 17:19:30 +01:00
Veronica K. B. Olsen
c677db70b4 Fix a few issues with markdown export 2021-02-06 16:38:06 +01:00
Veronica K. B. Olsen
9861f294b7 Connect markdown exporter to build tool 2021-02-06 15:20:03 +01:00
Veronica K. B. Olsen
c7a42a1641 Basic to markdown class added 2021-02-06 15:07:08 +01:00
Veronica K. B. Olsen
e2a721b209 Merge branch 'main' into dev 2021-02-06 14:35:09 +01:00
Veronica K. Berglyd Olsen
66090e3926 Merge pull request #649 from vkbo/branch_and_ci
Branch and Actions
2021-02-06 13:18:31 +00:00
Veronica K. B. Olsen
60395fb16d Change badges in readme 2021-02-06 14:14:47 +01:00
Veronica K. B. Olsen
54881facf8 Change release branch to testing, and bump mac and windows action to Python 3.9 2021-02-06 14:07:08 +01:00
Veronica K. B. Olsen
9f2f131df9 Merge branch 'main' into dev 2021-02-06 14:03:22 +01:00
Veronica K. B. Olsen
70ab4122a3 Updated version to 1.1 and updated changelog 2021-02-06 13:59:54 +01:00
Veronica K. Berglyd Olsen
7302fb951e Merge pull request #639 from vkbo/minor_tweaks
Minor Tweaks
2021-02-06 12:38:48 +00:00
Veronica K. B. Olsen
dee8ccd8b3 Search box should select the text on open #645 2021-02-06 13:35:53 +01:00
Veronica K. B. Olsen
40b2efb339 Remove some redundant line breaks 2021-02-06 13:35:20 +01:00
Veronica K. B. Olsen
190e74b4d2 Clarify and cross-reference the two sections of the docs describing references and tags 2021-02-06 01:41:56 +01:00
Veronica K. B. Olsen
8bec08799e Merge branch 'release' into dev 2021-02-05 23:08:48 +01:00
Veronica K. B. Olsen
003b056301 Merge branch 'release' into minor_tweaks 2021-02-05 23:08:35 +01:00
Veronica K. B. Olsen
97fd58f793 Merge branch 'main' into release 2021-02-05 23:08:05 +01:00
Veronica K. Berglyd Olsen
aa70d410f8 Merge pull request #644 from vkbo/packaging_cleanup
Packaging Cleanup
2021-02-05 22:07:12 +00:00
Veronica K. B. Olsen
ab21a9238d Update Windows Setup documentation 2021-02-05 17:28:16 +01:00
Veronica K. B. Olsen
be080b1463 Remove the pyinstaller setup functions 2021-02-05 17:27:56 +01:00
Veronica K. B. Olsen
f8ef3e6754 Add flag to tailor minimal zip package to different OSes 2021-02-05 16:52:23 +01:00
Veronica K. Berglyd Olsen
e4e8b939e2 Merge pull request #643 from vkbo/minimal_zip
Minimal Zip Package
2021-02-04 22:20:59 +00:00
Veronica K. B. Olsen
020f122647 Add size 192 scaled icons 2021-02-04 23:16:31 +01:00
Veronica K. B. Olsen
ab0626720a Add setup files to the minimal zip packager in setup.py 2021-02-04 23:16:14 +01:00
Veronica K. B. Olsen
637c05466a Compress minimal zip file 2021-02-03 21:45:22 +01:00
Veronica K. B. Olsen
08b98739f7 Fix typo 2021-02-03 21:37:35 +01:00
Veronica K. B. Olsen
920a835344 Merge branch 'release' into dev 2021-02-03 21:33:42 +01:00
Veronica K. B. Olsen
88e27e315f Merge branch 'release' into minor_tweaks 2021-02-03 21:33:25 +01:00
Veronica K. B. Olsen
7d3427474d Merge branch 'main' into release 2021-02-03 21:32:29 +01:00
Veronica K. Berglyd Olsen
d77183fd48 Merge pull request #635 from vkbo/release_1.0.4
Release 1.0.4
2021-02-03 19:55:38 +00:00
Veronica K. B. Olsen
caa601c9aa Update of release notes and changelog before release 1.0.4 2021-02-03 20:52:36 +01:00
Veronica K. B. Olsen
b9a0152000 Merge branch 'main' into release_1.0.4 2021-02-03 20:41:32 +01:00
Veronica K. Berglyd Olsen
5c5e4e3464 Merge pull request #642 from vkbo/minimal_zip
Minimal Zip Package
2021-02-03 19:40:42 +00:00
Veronica K. B. Olsen
044f987ecd Include the CHANGELOG in the minimal zip 2021-02-03 20:37:04 +01:00
Veronica K. B. Olsen
295351d3e9 Fix a few issues with the minimal zip file and update README 2021-02-03 20:33:32 +01:00
Veronica K. B. Olsen
ab7ca411a4 Add setup command to build a minimal zip file 2021-02-03 20:13:15 +01:00
Veronica K. B. Olsen
c0dee497cd Updated readme and changelog 2021-02-03 19:38:34 +01:00
Veronica K. B. Olsen
247e51478b Merge branch 'main' into release_1.0.4 2021-02-03 17:49:35 +01:00
Veronica K. Berglyd Olsen
a0540e0452 Merge pull request #641 from vkbo/win_install_cont
Windows Install Continued
2021-02-03 16:48:41 +00:00
Veronica K. B. Olsen
515d421dc0 Fix a couple of setup issues and add a note to the docs about updating python 2021-02-03 17:36:25 +01:00
Veronica K. B. Olsen
6032f52798 Update documentation 2021-02-03 16:59:07 +01:00
Veronica K. B. Olsen
05989fdc58 Improve setup for Windows 2021-02-03 16:58:42 +01:00
Veronica K. B. Olsen
b62fafe520 Add source headers to setup and start files, and keep windows start file 2021-02-03 15:21:01 +01:00
Veronica K. B. Olsen
4562a0130a Add a button to the Project Open to remove listed projects, and clarify the dialog message 2021-02-02 22:06:02 +01:00
Veronica K. B. Olsen
6949481198 Stop lookup error on none in project tree meta panel 2021-02-02 16:36:45 +01:00
Veronica K. B. Olsen
5654170278 Let the main gui handle the novel tree refresh decision 2021-02-02 16:36:19 +01:00
Veronica K. Berglyd Olsen
735a324f5a Merge pull request #638 from vkbo/fix_duplicate_from_issue636
Fix Duplicate Code from PR #637
2021-02-01 22:25:47 +00:00
Veronica K. B. Olsen
2cb51f5b58 Backport a small fix from the dev branch 2021-02-01 23:24:02 +01:00
Veronica K. B. Olsen
3baeef4f44 Drop the whole firstTitle index again 2021-02-01 23:20:07 +01:00
Veronica K. B. Olsen
cada78ca4d use what was added in #637 to replace first title lookup in editor saveText 2021-02-01 23:19:24 +01:00
Veronica K. B. Olsen
a2929ef441 Merge branch 'release' into dev 2021-02-01 23:02:40 +01:00
Veronica K. Berglyd Olsen
6c7c8b43b9 Merge pull request #637 from vkbo/issue636_noveltab_wcount
Issue #636: Novel Tab Word Count
2021-02-01 21:59:06 +00:00
Veronica K. B. Olsen
d0940708b0 Add a header structure record to the editor, and force an update of te novel tree if header levels change 2021-02-01 22:49:11 +01:00
Veronica K. B. Olsen
af21f3c5d8 Add index functions to extract headers and word counts for a given handle 2021-02-01 22:48:07 +01:00
Veronica K. B. Olsen
dd18040232 Fix some source file headers 2021-02-01 21:52:51 +01:00
Veronica K. B. Olsen
c72e3a1585 Bumped version to 1.0.4 and updated changelog 2021-02-01 21:17:30 +01:00
Veronica K. B. Olsen
888a47e7a9 Merge branch 'release' into dev 2021-02-01 17:53:40 +01:00
Veronica K. B. Olsen
0df51d2d7c Merge branch 'main' into release 2021-02-01 17:53:17 +01:00
Veronica K. Berglyd Olsen
022945b0d1 Merge pull request #634 from vkbo/win_install
Windows Installation Improvements
2021-02-01 16:51:52 +00:00
Veronica K. B. Olsen
0e62284671 Allow the win-install option to keep icons for both stable and testing version 2021-02-01 17:30:21 +01:00
Veronica K. B. Olsen
704103f9f1 Reorganised and update install instruction in the docs 2021-02-01 17:12:59 +01:00
Veronica K. B. Olsen
1f2ffe7e76 Add win-install command to setup script 2021-02-01 14:14:38 +01:00
Veronica K. Berglyd Olsen
b763abdc76 Merge pull request #632 from vkbo/actions_refactoring
Menu Actions Refactoring and Extension
2021-01-31 22:07:09 +00:00
Veronica K. B. Olsen
af2fcbc059 Add a simple test for now 2021-01-31 23:01:36 +01:00
Veronica K. B. Olsen
0c4d278de2 Extract duplicate code into a new function 2021-01-31 22:53:58 +01:00
Veronica K. B. Olsen
9596d24cca Some final tweaks to the drag and drop feature 2021-01-31 22:29:39 +01:00
Veronica K. B. Olsen
a52b71ef43 Remove ToC.txt files from repo 2021-01-31 22:06:13 +01:00
Veronica K. B. Olsen
216289455e Merge branch 'dev' into actions_refactoring 2021-01-31 19:48:43 +01:00
Veronica K. B. Olsen
019d8cf756 Merge branch 'release' into dev 2021-01-31 19:47:22 +01:00
Veronica K. Berglyd Olsen
3a1c09f89c Merge pull request #596 from vkbo/release_1.1rc1
Release 1.1 RC1
2021-01-31 17:17:23 +00:00
Veronica K. B. Olsen
e9ed4a3f93 Updated changelog and added release notes 2021-01-31 18:12:35 +01:00
Veronica K. B. Olsen
164d6b1b6c Merge branch 'release' into release_1.1rc1 2021-01-31 17:46:37 +01:00
Veronica K. B. Olsen
2307dfaaac Add feature to undo last project tree move 2021-01-31 17:44:28 +01:00
Veronica K. B. Olsen
3cecc1229f Fix GUI blocking in tests 2021-01-31 13:44:44 +01:00
Veronica K. B. Olsen
cca895e418 Cleanup in main menu and move the Move Up/Down entries to the project menu 2021-01-31 13:35:40 +01:00
Veronica K. B. Olsen
ddda934eed Fix tests 2021-01-31 12:56:58 +01:00
Veronica K. B. Olsen
1d8c9ecfc4 Merge branch 'dev' into actions_refactoring 2021-01-31 12:53:03 +01:00
Veronica K. B. Olsen
1f20574520 Merge branch 'release' into dev 2021-01-31 12:51:57 +01:00
Veronica K. B. Olsen
da81bc3ba5 Merge branch 'main' into release 2021-01-31 12:51:36 +01:00
Veronica K. B. Olsen
013fb58267 Block document action if editor does not have focus 2021-01-31 12:50:42 +01:00
Veronica K. B. Olsen
f4f2feae3c Merge branch 'main' into actions_refactoring 2021-01-31 12:45:57 +01:00
Veronica K. Berglyd Olsen
ffad6e47ec Merge pull request #631 from vkbo/issue629_ctrl_del_action
Issue #629: ctrl del action
2021-01-31 11:27:40 +00:00
Veronica K. Berglyd Olsen
2b8f884c12 Merge pull request #630 from vkbo/revert-626-doc_meta
Revert "Add timestamp to document meta"
2021-01-31 11:20:21 +00:00
Veronica K. Berglyd Olsen
2df0d81d29 Revert "Add timestamp to document meta" 2021-01-31 11:59:24 +01:00
Veronica K. B. Olsen
b02c4904a9 Fix tests 2021-01-31 11:58:56 +01:00
Veronica K. B. Olsen
f73cdac9e2 Only allow the delete item command in the project tree if it has focus 2021-01-31 11:53:38 +01:00
Veronica K. Berglyd Olsen
de848511af Merge pull request #628 from vkbo/various_improvements
Various Improvements
2021-01-30 22:39:00 +00:00
Veronica K. B. Olsen
9e294529cf When a new file is added, automatically add the title line 2021-01-30 23:31:19 +01:00
Veronica K. B. Olsen
96d6accbde Add layout and class info to editor footer bar 2021-01-30 22:55:38 +01:00
Veronica K. B. Olsen
86e276ea94 Merge branch 'release' into dev 2021-01-30 22:38:55 +01:00
Veronica K. B. Olsen
8566d62aee Merge branch 'main' into release 2021-01-30 22:37:06 +01:00
Veronica K. Berglyd Olsen
0ccc78e90a Merge pull request #626 from vkbo/doc_meta
Add timestamp to document meta
2021-01-30 18:59:55 +00:00
Veronica K. Berglyd Olsen
3c86207d63 Merge pull request #627 from vkbo/load_project_order_bug
Fix "Open Project" list sorting issue
2021-01-30 18:59:24 +00:00
Veronica K. B. Olsen
c2a37c814d Fix Open Project list sorting issue 2021-01-30 19:43:00 +01:00
Veronica K. B. Olsen
4727866b15 Update test projects 2021-01-30 19:00:12 +01:00
Veronica K. B. Olsen
7a3c33fde3 Fix tests 2021-01-30 18:54:30 +01:00
Veronica K. B. Olsen
087735a08f Add timestamp to document meta data 2021-01-30 18:54:13 +01:00
Veronica K. B. Olsen
a3077d91ec Updated changelog 2021-01-30 15:21:16 +01:00
Veronica K. B. Olsen
649763f2b1 Merge branch 'release' into release_1.1rc1 2021-01-30 15:18:10 +01:00
Veronica K. Berglyd Olsen
f9b988a232 Merge pull request #620 from vkbo/item_layouts
Automatic Item Layouts
2021-01-30 14:16:14 +00:00
Veronica K. B. Olsen
ab45bcb121 Merge branch 'dev' into item_layouts 2021-01-30 15:13:13 +01:00
Veronica K. B. Olsen
e9190d01dc Merge branch 'release' into dev 2021-01-30 15:12:32 +01:00
Veronica K. B. Olsen
ba0e98fd4b Merge branch 'main' into release 2021-01-30 15:11:51 +01:00
Veronica K. Berglyd Olsen
40cc5b379b Merge pull request #624 from vkbo/prefs_fixes
Preferences Fixes
2021-01-30 14:06:37 +00:00
Veronica K. Berglyd Olsen
b1cb48aa9b Merge pull request #625 from vkbo/issue623_justify_prefs
Fix issue #623
2021-01-30 14:06:23 +00:00
Veronica K. B. Olsen
82d9165d92 Fix test 2021-01-30 15:00:51 +01:00
Veronica K. B. Olsen
39d4ee9ad8 More Preferences clarifications 2021-01-30 14:59:17 +01:00
Veronica K. B. Olsen
2cdd444e29 Fix issue #623 2021-01-30 14:48:47 +01:00
Veronica K. B. Olsen
d492f0f41f Rename Preferences variables to match those in the Config class 2021-01-30 14:41:04 +01:00
Veronica K. B. Olsen
943e085d37 Fix a bug and some misleading labels in Preferences 2021-01-30 14:24:06 +01:00
Veronica K. B. Olsen
0624f9103f Get test coverage of NWTree back to 100% 2021-01-30 01:28:05 +01:00
Veronica K. B. Olsen
cab1530afc Add debug log output for layout change 2021-01-30 01:03:54 +01:00
Veronica K. B. Olsen
90e63f1898 Merge branch 'dev' into item_layouts 2021-01-30 00:57:42 +01:00
Veronica K. B. Olsen
b2fdd92f9c Merge branch 'release' into dev 2021-01-30 00:57:22 +01:00
Veronica K. Berglyd Olsen
91701b484a Merge pull request #621 from vkbo/issue608_cursor_in_blank_doc
Issue #608: Missing Cursor
2021-01-29 22:08:59 +00:00
Veronica K. B. Olsen
9fdae1ac45 Fix missing cursor when opening empty document 2021-01-29 22:38:07 +01:00
Veronica K. B. Olsen
b7766946d8 Update index check and test 2021-01-29 20:43:04 +01:00
Veronica K. B. Olsen
9486749345 Merge branch 'dev' into item_layouts 2021-01-29 20:20:16 +01:00
Veronica K. Berglyd Olsen
a3bec4d5fc Merge pull request #619 from vkbo/index_check
More thorough index check
2021-01-29 19:18:06 +00:00
Veronica K. B. Olsen
d8cc091f94 Also use the new nwItem checkers in the NWItem class 2021-01-29 18:39:48 +01:00
Veronica K. B. Olsen
89ba4aeeaf Use the logException function in all places where exception messages are written to the error log 2021-01-29 18:29:50 +01:00
Veronica K. B. Olsen
a2f223a992 Perform a detailed check of the loaded index to make sure everything is in order 2021-01-29 18:15:00 +01:00
Veronica K. B. Olsen
286efade59 Add more check functions 2021-01-29 13:22:38 +01:00
Veronica K. B. Olsen
4e7888259f Add logging wrapper for exceptions 2021-01-29 13:17:31 +01:00
Veronica K. B. Olsen
8e3fa892e1 Modify conditions according to #618 2021-01-29 11:55:36 +01:00
Veronica K. B. Olsen
8de0c55b68 Fix broken tests 2021-01-29 01:14:58 +01:00
Veronica K. B. Olsen
4c27d2600a Update document layout during editor save process 2021-01-29 01:09:04 +01:00
Veronica K. B. Olsen
59cfb14a19 Add a first title index that tracks the level and location of the first title of a file 2021-01-29 00:57:34 +01:00
Veronica K. B. Olsen
6f7cf4f186 Bump dev version to 1.2-alpha0 2021-01-28 22:09:28 +01:00
Veronica K. B. Olsen
52454c50b7 Updated changelog 2021-01-28 21:49:29 +01:00
Veronica K. B. Olsen
c56219f5b4 Merge branch 'release' into release_1.1rc1 2021-01-28 21:41:35 +01:00
Veronica K. B. Olsen
99b6e1f93c Merge branch 'release' into dev 2021-01-28 21:35:43 +01:00
Veronica K. Berglyd Olsen
6ff1549d2e Merge pull request #616 from vkbo/issue610_save_doc_on_build
Issue #610: Save document before build
2021-01-28 20:33:20 +00:00
Veronica K. B. Olsen
1b05e8ddc9 Save current document before building project 2021-01-28 21:26:51 +01:00
Veronica K. Berglyd Olsen
4745877a63 Merge pull request #615 from vkbo/issue612_change_focus
Issue #612: Change Focus
2021-01-28 20:17:43 +00:00
Veronica K. B. Olsen
c81c7f5a33 Fix syntax check for release branch 2021-01-28 21:13:19 +01:00
Veronica K. B. Olsen
a23beddc66 Update documentation with new shortcut key 2021-01-28 21:07:58 +01:00
Veronica K. B. Olsen
045929681d Add Alt+4 focus key, and switch main tab on focus change 2021-01-28 21:04:22 +01:00
Veronica K. Berglyd Olsen
cf0cf52298 Merge pull request #607 from vkbo/odt_format
Open Document Export
2021-01-28 19:54:00 +00:00
Veronica K. B. Olsen
1ff7c8bdd5 Update reference files for build test 2021-01-28 20:48:49 +01:00
Veronica K. B. Olsen
7254f766d5 Remove div tags from HTML output and bring Tokenizer and ToHtml tests back to 100% 2021-01-28 20:42:39 +01:00
Veronica K. B. Olsen
83e07ec76c Fix tests 2021-01-28 17:04:33 +01:00
Veronica K. B. Olsen
c3a1f25894 Reshuffle build and preview in Build Novel Project tool 2021-01-28 17:04:14 +01:00
Veronica K. B. Olsen
750d8b0a25 Clean up ODT code and add some comments 2021-01-28 01:23:48 +01:00
Veronica K. B. Olsen
2e4558a5d3 Bypass html cache when not building html doc 2021-01-28 00:40:10 +01:00
Veronica K. B. Olsen
3e5813323b Drop the manifest.rdf file 2021-01-28 00:22:53 +01:00
Veronica K. B. Olsen
ecd858251f Add code for writing ODT files 2021-01-28 00:21:39 +01:00
Veronica K. B. Olsen
ac0847ffe3 Predefine some XML tags 2021-01-27 21:54:14 +01:00
Veronica K. B. Olsen
d1bf49790e Add exports for comments, synopsis and keywords 2021-01-27 21:48:20 +01:00
Veronica K. B. Olsen
815f24fbf5 Add release branch for release candidates 2021-01-27 19:53:53 +01:00
Veronica K. B. Olsen
d83352e16f Fix Build Novel Project test on Ubuntu 2021-01-27 19:49:21 +01:00
Veronica K. B. Olsen
8715ab9322 Add logic to apply formatting to text 2021-01-27 19:36:34 +01:00
Veronica K. B. Olsen
4df294f0a2 Add customised margin sizes 2021-01-27 16:22:59 +01:00
Veronica K. B. Olsen
cbbe1b4f47 Add ODT meta namespace, add font format to HTML, and merge page break settings 2021-01-27 13:36:09 +01:00
Veronica K. B. Olsen
8ccd6a8ed3 Fix setting font setting for ODT export 2021-01-27 12:38:31 +01:00
Veronica K. B. Olsen
cbd222fe30 Add code to save tabs and line breaks to ODT file 2021-01-27 02:35:19 +01:00
Veronica K. B. Olsen
1683567dda Restructure Build Novel Project tool to allow ODT save 2021-01-27 01:12:34 +01:00
Veronica K. B. Olsen
da2e40db4d Add ODT auto-style logic 2021-01-27 01:12:09 +01:00
Veronica K. B. Olsen
e3c37f003b Add main ODT style XML 2021-01-26 20:22:32 +01:00
Veronica K. B. Olsen
c9eebafb2d Add core structure for ODT class 2021-01-26 16:25:14 +01:00
Veronica K. Berglyd Olsen
751da877ee Merge pull request #604 from vkbo/insert_symbols
More Insert Symbols
2021-01-26 15:09:08 +00:00
Veronica K. B. Olsen
14d19b5117 Fix indentation of Project Details source file header 2021-01-26 16:06:36 +01:00
Veronica K. B. Olsen
41d4c883a3 Add horizontal bar 2021-01-26 16:03:30 +01:00
Veronica K. B. Olsen
09504508d9 Add proper minus sign, and change a few shortcuts to more sensible ones 2021-01-26 14:03:19 +01:00
Veronica K. B. Olsen
94c755a0e6 Fix tests and clean up a couple of minor things in HTML generator 2021-01-26 13:12:38 +01:00
Veronica K. B. Olsen
f21cff335b Drop the triangle bullet as it's not always available in fonts 2021-01-26 13:11:26 +01:00
Veronica K. B. Olsen
6947996c9a Correct name of HTML constant for cross symbol 2021-01-25 23:50:47 +01:00
Veronica K. B. Olsen
0756090081 Update documentations on new symbols 2021-01-25 23:45:28 +01:00
Veronica K. B. Olsen
95e03d2684 Add triangle and hyphen bullets 2021-01-25 23:45:11 +01:00
Veronica K. B. Olsen
fab5833cdf Add degree, times and divide symbols to insert menu, and simply the editor insert function 2021-01-25 23:05:41 +01:00
Veronica K. Berglyd Olsen
a011c10d4d Merge pull request #603 from vkbo/various_changes
Various Minor Changes
2021-01-25 16:24:50 +00:00
Veronica K. B. Olsen
14584bef55 Update docs and tests 2021-01-25 17:15:12 +01:00
Veronica K. B. Olsen
907a371bd4 Some minor improvements to the logging system 2021-01-25 17:11:05 +01:00
Veronica K. B. Olsen
a420c1749a Add more insert menu entries 2021-01-25 17:09:39 +01:00
Veronica K. B. Olsen
c29e9bb68d Project Details Content tree should not have selectable rows 2021-01-25 11:28:18 +01:00
Veronica K. B. Olsen
fd965e6022 Updated changelog 2021-01-25 11:24:37 +01:00
Veronica K. B. Olsen
2e8d7a20d0 Merge branch 'dev' into release_1.1rc1 2021-01-25 11:20:02 +01:00
Veronica K. Berglyd Olsen
8084ed191e Merge pull request #598 from vkbo/improve_details
Improve Project Details
2021-01-25 10:18:20 +00:00
Veronica K. B. Olsen
0b51e50c19 Add a title to the Contents tab in project Details 2021-01-24 22:57:32 +01:00
Veronica K. B. Olsen
659e056eeb Fix flake8 complaint 2021-01-24 22:54:40 +01:00
Veronica K. B. Olsen
c70023c066 Fix tests 2021-01-24 22:49:23 +01:00
Veronica K. B. Olsen
ba2bdf8ea4 Add page offset spinbox to Contents tab on Project Details dialog 2021-01-24 22:49:13 +01:00
Veronica K. B. Olsen
57330bb2cd Make sure project tree is updated before Project Details dialog is opened 2021-01-24 22:47:49 +01:00
Veronica K. B. Olsen
16fdef2d55 Merge branch 'dev' into release_1.1rc1 2021-01-24 14:52:59 +01:00
Veronica K. B. Olsen
31928d5ebb Merge branch 'main' into dev 2021-01-24 14:52:35 +01:00
Veronica K. Berglyd Olsen
8370b99302 Merge pull request #594 from vkbo/release_1.0.3
Release 1.0.3
2021-01-24 13:19:53 +00:00
Veronica K. B. Olsen
13f98e1675 Update changelog and release notes 2021-01-24 14:14:43 +01:00
Veronica K. B. Olsen
615804333e Merge branch 'main' into release_1.0.3 2021-01-24 13:56:26 +01:00
Veronica K. Berglyd Olsen
e1b9e113b1 Merge pull request #597 from vkbo/build_tweaks
HTML conversion tweaks
2021-01-24 12:55:56 +00:00
Veronica K. B. Olsen
dfbde3e41c Fix broken tests 2021-01-24 13:41:40 +01:00
Veronica K. B. Olsen
034b4feff4 HTML divs should end in a line break, and use hex values for binary flags 2021-01-24 13:41:26 +01:00
Veronica K. B. Olsen
949439361e Bump version to 1.1 RC1 and update changelog 2021-01-23 16:27:17 +01:00
Veronica K. Berglyd Olsen
163b6b3725 Merge pull request #577 from vkbo/issue546_multipar_quotes
Issue #546: Multi-Paragraph Quotes
2021-01-23 15:05:38 +00:00
Veronica K. B. Olsen
bdc6addf81 Fix a minor issue in the Preferences test 2021-01-23 16:00:06 +01:00
Veronica K. B. Olsen
fd7c1e24a3 Merge branch 'dev' into issue546_multipar_quotes 2021-01-23 15:44:01 +01:00
Veronica K. B. Olsen
a16ecbcebd Merge branch 'main' into dev 2021-01-23 15:43:24 +01:00
Veronica K. B. Olsen
0a1f6be4a5 Bump version and update changelog 2021-01-23 15:39:41 +01:00
Veronica K. Berglyd Olsen
98bf462e02 Merge pull request #593 from vkbo/minor_fixes
Minor Fixes
2021-01-23 14:21:20 +00:00
Veronica K. B. Olsen
86fa59e5e1 Easier to just make the scroll past end feature go to 90% 2021-01-23 15:19:01 +01:00
Veronica K. B. Olsen
1ddadeba5d Make the autoscroll feature also work for a very short document 2021-01-23 15:12:25 +01:00
Veronica K. B. Olsen
2e1d5d4d13 Windows installer for pyz should have a different name than the regular installer 2021-01-23 15:11:52 +01:00
Veronica K. Berglyd Olsen
31b29abf5f Merge pull request #584 from vkbo/simple_pack
Package for Windows without an .exe file
2021-01-23 13:55:22 +00:00
Veronica K. B. Olsen
16c428dbd5 Update docs to reflect that make.py has been merged into setup.py 2021-01-23 14:51:27 +01:00
Veronica K. Berglyd Olsen
54bc6550ee Merge branch 'main' into simple_pack 2021-01-23 13:46:31 +00:00
Veronica K. B. Olsen
a698cb6ef7 Automatically download the correct Python embed version 2021-01-23 14:43:54 +01:00
Veronica K. B. Olsen
5f86ab27bb Complete the zipapp packaging for Windows 2021-01-23 14:25:12 +01:00
Veronica K. Berglyd Olsen
f0b2c08a9e Merge pull request #592 from vkbo/update_texts
Update README.md and CONTRIBUTING.md
2021-01-23 13:22:00 +01:00
Veronica K. B. Olsen
3f8c705989 Fix some typos and reword some bits in README and CONTRIBUTING 2021-01-23 13:14:50 +01:00
Veronica K. B. Olsen
6f84574511 Also updated docs 2021-01-23 12:12:45 +01:00
Veronica K. B. Olsen
6a131977d3 Reorganise and update README 2021-01-23 11:43:22 +01:00
Veronica K. B. Olsen
4df0075b42 Add note on line length to contributing guide 2021-01-23 11:10:59 +01:00
Veronica K. B. Olsen
e3972c6205 Merge branch 'main' into simple_pack 2021-01-22 20:18:52 +01:00
Veronica K. B. Olsen
4e949f542c Re-organised the Preferences dialog as some pages were growing quite long 2021-01-22 20:18:03 +01:00
Veronica K. Berglyd Olsen
af38fd3ba3 Merge pull request #590 from mgrhm/setup-typo-fix
fix: Typos in setup.py file.
2021-01-22 19:53:57 +01:00
Mike Graham
d00ac278c6 Fixed typos in setup.py. 2021-01-22 18:24:19 +00:00
Veronica K. Berglyd Olsen
0e01303921 Merge pull request #587 from vkbo/issue581_os_relpath
Issue #581: os.path.relpath on Windows
2021-01-22 00:41:51 +01:00
Veronica K. B. Olsen
39eeaf06e5 Add explicit reference directory for os relpath calls to avoid issue #581 on Windows 2021-01-22 00:35:43 +01:00
Veronica K. B. Olsen
7c2c4b26b3 Merge make.py into setup.py 2021-01-21 17:24:54 +01:00
Veronica K. B. Olsen
2ea0703701 Preserve both methods for building Inno Setup installers 2021-01-21 16:45:16 +01:00
Veronica K. B. Olsen
d425cdc27d Added alternative packaging method for windows 2021-01-21 00:50:13 +01:00
Veronica K. B. Olsen
799c833a66 Add a simple packaging function 2021-01-20 18:25:51 +01:00
Veronica K. B. Olsen
96bc88d045 Added some smart filters for quote settings 2021-01-20 00:08:49 +01:00
Veronica K. Berglyd Olsen
da7bbc2b20 Merge pull request #578 from nullbasis/main
Added new GUI and editor themes
2021-01-19 23:39:03 +01:00
Null
7b4f6c3222 Add files via upload 2021-01-19 16:34:36 -06:00
Null
e3bc528647 Add files via upload 2021-01-19 16:32:32 -06:00
Null
29665203c0 Add files via upload 2021-01-19 16:19:16 -06:00
Null
7beb9afc36 Added Solarized Dark and Light GUI themes 2021-01-19 15:24:29 -06:00
Null
2fcb3a0131 Added Solarized Dark and Light editor themes 2021-01-19 15:23:44 -06:00
Veronica K. B. Olsen
0a9749726f Merge branch 'dev' into issue546_multipar_quotes 2021-01-19 21:34:23 +01:00
Veronica K. B. Olsen
c1e6d9c633 Merge branch 'main' into dev 2021-01-19 21:33:59 +01:00
Veronica K. Berglyd Olsen
4767d49e4d Fixed duplicate word in README 2021-01-19 21:25:02 +01:00
Veronica K. Berglyd Olsen
2bf7e8506c Merge pull request #564 from vkbo/release_1.0.2
Release 1.0.2
2021-01-19 20:59:38 +01:00
Veronica K. B. Olsen
447966e3b8 Changed release date and updated release notes 2021-01-19 20:56:29 +01:00
Veronica K. B. Olsen
adc17272dc Updated changelog with latest changes 2021-01-19 20:17:15 +01:00
Veronica K. B. Olsen
6e54f34419 Merge branch 'main' into release_1.0.2 2021-01-19 20:02:43 +01:00
Veronica K. Berglyd Olsen
4b4051a823 Merge pull request #576 from vkbo/issue570_install_docs
Issue #570: Clarify install instructions
2021-01-19 20:01:28 +01:00
Veronica K. B. Olsen
5c4e230f69 No need to duplicate instructions, but added a TLDR section 2021-01-19 19:55:25 +01:00
Veronica K. B. Olsen
2c191a9bd3 Minor modification to the macOS workflow 2021-01-19 19:30:35 +01:00
Veronica K. B. Olsen
ed9313759b Clarify install instructions on dependency install 2021-01-19 19:30:14 +01:00
Veronica K. Berglyd Olsen
70a7a72baa Merge pull request #575 from vkbo/issue574_user_dict_no_suggest
Issue #574: Show "Add Word to Dictionary" when there are no spell suggestions
2021-01-19 19:20:54 +01:00
Veronica K. B. Olsen
4d69025250 Fix lambda function syntax 2021-01-19 19:09:37 +01:00
Veronica K. B. Olsen
9f9028b7ce Fix "Add Word to Dictionary" missing when there are no spell suggestions 2021-01-19 19:08:51 +01:00
Veronica K. Berglyd Olsen
e9be3242b2 Merge pull request #573 from stranger-danger-zamu/patch-1
Issue #570
2021-01-19 18:37:57 +01:00
Veronica K. B. Olsen
6868b683d8 Added new quote setting to Preferences and updated tests 2021-01-19 18:37:19 +01:00
Veronica K. B. Olsen
4934ec2ea1 Add syntax highlighting for open-ended quotes 2021-01-19 18:36:47 +01:00
stranger-danger-zamu
211a06e9bc Issue #570 2021-01-19 11:44:44 -05:00
Veronica K. Berglyd Olsen
debca0a82d Merge pull request #565 from vkbo/gui_tweaks
GUI Tweaks
2021-01-18 19:05:55 +01:00
Veronica K. B. Olsen
92da954229 Drop the showGUI debug flag, removing test mode from beyond the main function 2021-01-18 18:55:32 +01:00
Veronica K. B. Olsen
91d96b162e Fixed and imrpoved margin calculations on GUI elements 2021-01-18 17:52:32 +01:00
Veronica K. B. Olsen
0907bf195e Bump version to 1.0.2 and update changelog 2021-01-17 21:11:51 +01:00
Veronica K. B. Olsen
f30b14a3da Merge branch 'main' into dev 2021-01-17 20:58:15 +01:00
Veronica K. B. Olsen
2030793a02 Latest release notes check should use hex version number instead of string version number 2021-01-17 20:52:34 +01:00
Veronica K. Berglyd Olsen
d09f561ef6 Merge pull request #563 from vkbo/source_code_maintenance
Source code maintenance
2021-01-16 18:14:38 +01:00
Veronica K. B. Olsen
2d1bede57e Fix test file header titles 2021-01-16 18:10:47 +01:00
Veronica K. B. Olsen
a947ec10e4 Move test files into subfolders with similar structure as source code 2021-01-16 17:59:29 +01:00
Veronica K. B. Olsen
fd04f94b76 Also update the newest test 2021-01-16 17:55:11 +01:00
Veronica K. B. Olsen
6881446e67 Merge branch 'dev' into source_code_maintenance 2021-01-16 17:53:58 +01:00
Veronica K. B. Olsen
bd0a9952ff Merge branch 'main' into dev 2021-01-16 17:53:13 +01:00
Veronica K. B. Olsen
c35255b82b Merge branch 'file_headers' into source_code_maintenance 2021-01-16 17:51:32 +01:00
Veronica K. B. Olsen
5e71e7d04d Add license header to test files 2021-01-16 17:50:14 +01:00
Veronica K. B. Olsen
cdf3c62d17 Reformat and update the source file header docstrings 2021-01-16 17:41:40 +01:00
Veronica K. Berglyd Olsen
e7e2176e64 Merge pull request #561 from vkbo/issue560_window_title
Issue #560: Window Title
2021-01-15 19:44:45 +01:00
Veronica K. B. Olsen
ecb9e92c48 Clear statusbar on new project, and change colors of saved indicators on light desktop 2021-01-15 19:27:19 +01:00
Veronica K. B. Olsen
053c2eb379 Set window title after new project is created, and also automatically call close if a project is open. 2021-01-15 10:47:50 +01:00
Veronica K. B. Olsen
bde2810c08 Clear window title when closing a project 2021-01-15 10:40:41 +01:00
Veronica K. B. Olsen
692159219e Fix an issue with generated files in test projects in the test suite 2021-01-15 10:40:19 +01:00
Veronica K. Berglyd Olsen
71b194cbcb Merge pull request #555 from vkbo/project_details
Project Details Dialog
2021-01-14 20:14:22 +01:00
Veronica K. B. Olsen
fb81c7e8e0 Minimal docs update, and add test for Project Details 2021-01-14 20:09:18 +01:00
Veronica K. B. Olsen
84878315d5 Minor GUI tweaks to Project Details and related items 2021-01-14 18:58:11 +01:00
Veronica K. B. Olsen
1bd675cce9 Merge branch 'dev' into project_details 2021-01-14 18:47:37 +01:00
Veronica K. B. Olsen
e77a0a9385 Merge branch 'main' into dev 2021-01-14 18:47:14 +01:00
Veronica K. Berglyd Olsen
d63da05e87 Merge pull request #559 from vkbo/fix_clear_treemeta
Backport from 1.1: clear project tree meta panel on close
2021-01-14 18:45:36 +01:00
Veronica K. B. Olsen
dece58faf6 Backport from 1.1: clear project tree meta panel on close 2021-01-14 18:36:39 +01:00
Veronica K. B. Olsen
0bfc166899 Added a few buttons below the project tree now that the tabs make room for it 2021-01-14 18:31:27 +01:00
Veronica K. B. Olsen
3bc8006028 Some minor improvements to the Project Detals dialog 2021-01-13 23:52:48 +01:00
Veronica K. B. Olsen
f6b7a35c81 Add some more unicode constants and rename thin non-breaking space variable 2021-01-13 23:52:09 +01:00
Veronica K. B. Olsen
5f17b28e05 Remove old details panel in Project Settings 2021-01-13 23:51:24 +01:00
Veronica K. B. Olsen
138099f11d Merge branch 'dev' into project_details 2021-01-11 21:21:16 +01:00
Veronica K. B. Olsen
beb425bbd0 Merge branch 'main' into dev 2021-01-11 21:19:56 +01:00
Veronica K. Berglyd Olsen
b5631aa1df Merge pull request #558 from vkbo/index_note_bug
Duplicate index entry issue
2021-01-11 21:16:14 +01:00
Veronica K. B. Olsen
2958881343 Fix issue with changing novel doc to note before indexing which produces duplicate entry 2021-01-11 21:05:55 +01:00
Veronica K. B. Olsen
981e26e1b6 Use actual novel word count in project details, and update index test 2021-01-11 21:02:45 +01:00
Veronica K. B. Olsen
b5e11f2303 Added more info to the forst tab of the Project Details dialog 2021-01-11 19:47:42 +01:00
Veronica K. Berglyd Olsen
6a159aa631 Merge pull request #557 from vkbo/docs_spelling
Spelling, typo, and wording update of the docs
2021-01-10 18:56:53 +01:00
Veronica K. B. Olsen
4b14a4bc50 Extend the texhnical doc to cover project meta data and cache 2021-01-10 18:52:23 +01:00
Veronica K. B. Olsen
2ca4b15154 Fix typos, grammars and improve wording of the docs 2021-01-10 18:30:58 +01:00
Veronica K. Berglyd Olsen
e02d602341 Merge pull request #553 from vkbo/release_1.0.1
Release 1.0.1
2021-01-10 16:04:16 +01:00
Veronica K. B. Olsen
8d218db35f Project Details page Overview populated 2021-01-10 15:54:36 +01:00
Veronica K. B. Olsen
f96d78e9b8 Contents tab now fully working 2021-01-10 15:09:34 +01:00
Veronica K. B. Olsen
28dd7e4ca7 Add Chapters tab to Project Details tool 2021-01-10 00:14:03 +01:00
Veronica K. B. Olsen
14a0e6bd6e Allow indexing of untitled pages, and add a ToC function to the index class 2021-01-10 00:13:26 +01:00
Veronica K. B. Olsen
f2b2952909 Added heading level 0 icon 2021-01-09 23:52:07 +01:00
Veronica K. B. Olsen
adc82bea85 Merge branch 'dev' into project_details 2021-01-09 22:25:57 +01:00
Veronica K. B. Olsen
778adc2f39 Merge branch 'main' into dev 2021-01-09 21:42:18 +01:00
Veronica K. B. Olsen
a92895d09d Update changelog and release notes 2021-01-09 20:40:09 +01:00
Veronica K. B. Olsen
dfb66cc41f Merge branch 'main' into release_1.0.1 2021-01-09 20:30:59 +01:00
Veronica K. Berglyd Olsen
065180e86c Merge pull request #554 from vkbo/doc_modified
Doc and Project Modified Status
2021-01-09 20:29:38 +01:00
Veronica K. B. Olsen
73cd7f7513 Improve doc changed checking and some code cleanup 2021-01-09 20:26:05 +01:00
Veronica K. B. Olsen
e2d5534959 Some minor code cleanup and redundant code removed 2021-01-09 20:21:32 +01:00
Veronica K. B. Olsen
a6cbdfc559 Fix initial setting of project word count 2021-01-09 20:07:09 +01:00
Veronica K. B. Olsen
7c643ea698 Make sure document edit status is not set on non-text changes 2021-01-09 19:53:42 +01:00
Veronica K. B. Olsen
39be3d0958 Merge branch 'main' into dev 2021-01-09 15:33:03 +01:00
Veronica K. B. Olsen
e693141f50 Bumped version to 1.0.1 and updated changelog 2021-01-07 22:31:58 +01:00
Veronica K. Berglyd Olsen
927dad4ff5 Merge pull request #552 from vkbo/edit_item_fix
Item Editor fixes
2021-01-07 21:38:47 +01:00
Veronica K. B. Olsen
885caa52db Code cleanup in the Item Settings constructor 2021-01-07 21:15:03 +01:00
Veronica K. B. Olsen
88776b4e00 Fix max length bug in Item Editor and let input boxes expand with dialog width 2021-01-06 22:09:20 +01:00
Veronica K. B. Olsen
8b963f3fe4 Use new novel class list to select status or importance list in Item Editor 2021-01-06 22:08:34 +01:00
Veronica K. B. Olsen
4a4ac1d6c8 Add a new constants class named nwLists 2021-01-06 21:53:42 +01:00
Veronica K. Berglyd Olsen
b5eef748b4 Merge pull request #551 from vkbo/install_instructions
Install instructions
2021-01-05 00:02:37 +01:00
Veronica K. B. Olsen
6ebe235dc3 Rewritten "Getting Started" section in the documentation 2021-01-04 23:58:57 +01:00
Veronica K. B. Olsen
bbde3159bb Updated install intructions in readme 2021-01-04 23:45:47 +01:00
Veronica K. B. Olsen
7e65aea6d9 Connected new dialog to menu 2021-01-03 21:46:53 +01:00
Veronica K. B. Olsen
e377675897 Added basic project details dialog 2021-01-03 18:14:00 +01:00
Veronica K. Berglyd Olsen
c3d40c9fb9 Merge pull request #538 from vkbo/novel_tab
Novel Tree Tab [v1.1]
2021-01-03 17:23:25 +01:00
Veronica K. B. Olsen
5efc61b155 Updated changelog 2021-01-03 17:21:06 +01:00
Veronica K. B. Olsen
323ab5498b Merge branch 'dev' into novel_tab 2021-01-03 17:17:30 +01:00
Veronica K. B. Olsen
b6e18e70bc Merge branch 'main' into dev 2021-01-03 17:14:16 +01:00
Veronica K. Berglyd Olsen
1496d9d931 Merge pull request #550 from vkbo/update_status
Update status of novelWriter to stable, from beta
2021-01-03 17:00:52 +01:00
Veronica K. B. Olsen
e0e35f5abf Update status of novelWriter to stable, from beta 2021-01-03 16:47:30 +01:00
Veronica K. Berglyd Olsen
e6a4a6c882 Merge pull request #547 from vkbo/release_1.0
Release 1.0
2021-01-03 16:39:02 +01:00
Veronica K. B. Olsen
24f0f99c84 Updated changelog with last fixes 2021-01-03 15:22:38 +01:00
Veronica K. B. Olsen
418d45cd8d Merge branch 'main' into release_1.0 2021-01-03 15:12:56 +01:00
Veronica K. Berglyd Olsen
9253872b5b Merge pull request #549 from vkbo/fixes
Minor Fixes
2021-01-03 15:12:30 +01:00
Veronica K. B. Olsen
9615098d76 Some minor improvements to the index 2021-01-03 02:04:31 +01:00
Veronica K. B. Olsen
89b6b26d5a Ensure outline tree items don't end up under the wrong parent item 2021-01-03 01:45:37 +01:00
Veronica K. B. Olsen
9d9b64fc3d Fix a couple of broken checks 2021-01-03 01:45:05 +01:00
Veronica K. B. Olsen
0b7e4d594e Fix a minor issue in the outline details class 2021-01-02 22:34:52 +01:00
Veronica K. B. Olsen
1bdf0b5500 Make index dictionaries internal 2021-01-02 22:28:30 +01:00
Veronica K. B. Olsen
acb6f1fc87 Add novel data extraction function to index 2021-01-02 22:22:05 +01:00
Veronica K. B. Olsen
a57e8f3a5d Remove GUI block in test 2021-01-02 22:05:17 +01:00
Veronica K. B. Olsen
4cb86b76e8 Add test of novel tree 2021-01-02 22:04:25 +01:00
Veronica K. B. Olsen
24f9511726 Prevent items from ending up in the wrong order in outline and novel tree 2021-01-02 22:04:08 +01:00
Veronica K. B. Olsen
e4d160ee0b Make novel structure function in index class an iterable function instead 2021-01-02 21:37:46 +01:00
Veronica K. B. Olsen
21d91193a2 Keep project tree and outline tree in sync 2021-01-02 17:33:53 +01:00
Veronica K. B. Olsen
4d7f925c5a Added timestamp to project tree, and made some class variables internal in various classes 2021-01-02 16:57:12 +01:00
Veronica K. B. Olsen
ad5f3f2450 Merge branch 'dev' into novel_tab 2021-01-02 13:18:08 +01:00
Veronica K. B. Olsen
a84fc734ff Merge branch 'main' into dev 2021-01-02 13:17:39 +01:00
Veronica K. B. Olsen
b9e28a5f09 Updated changelog and release notes 2021-01-02 02:41:08 +01:00
Veronica K. B. Olsen
57636a31ce Merge branch 'main' into release_1.0 2021-01-02 02:26:48 +01:00
Veronica K. Berglyd Olsen
9a4b357bcd Merge pull request #548 from vkbo/update_docs
Updated Documentation
2021-01-01 21:37:57 +01:00
Veronica K. B. Olsen
a9b5d96d65 Further docs edits 2021-01-01 21:23:41 +01:00
Veronica K. B. Olsen
8ad2da30ca Updated the remaining sections of the docs 2021-01-01 19:44:17 +01:00
Veronica K. B. Olsen
92f44f0aaa Updated the introduction section of the docs 2021-01-01 18:37:11 +01:00
Veronica K. B. Olsen
b2d3b2cf72 Bump copyright year to 2021 2021-01-01 15:14:37 +01:00
Veronica K. B. Olsen
2fdc840fa6 Bump version to 1.0 2021-01-01 15:12:46 +01:00
Veronica K. B. Olsen
3d5a5e4d86 Selecting outline item should also select it in project tree 2021-01-01 15:08:11 +01:00
Veronica K. Berglyd Olsen
176c25004c Merge pull request #544 from gedakc/fix-typos-and-grammar-in-docs
Fix minor grammar and typo issues in documentation
2020-12-24 00:22:24 +01:00
Curtis Gedak
962409a9b3 Fix minor grammar and typo issues in documentation 2020-12-23 13:58:46 -07:00
Veronica K. B. Olsen
2d14a74ec2 Merge branch 'main' into dev 2020-12-21 21:51:35 +01:00
Veronica K. B. Olsen
942a604b5b Merge branch 'main' into novel_tab 2020-12-21 21:51:17 +01:00
Veronica K. Berglyd Olsen
11c75c9905 Merge pull request #543 from vkbo/orphaned_files
Orphaned files handling
2020-12-21 21:49:07 +01:00
Veronica K. B. Olsen
a881fb8bd7 Update docs 2020-12-21 21:41:26 +01:00
Veronica K. B. Olsen
fa319391c0 Remove some now redundant checks 2020-12-21 21:25:04 +01:00
Veronica K. B. Olsen
d008113eec Remove some more test flags in the main code 2020-12-21 21:08:49 +01:00
Veronica K. B. Olsen
6ad132e12d Clean up the logic of creating new project tree items, and improve test coverage 2020-12-21 21:08:13 +01:00
Veronica K. B. Olsen
4509545214 Some minor cleanup and fixes 2020-12-21 11:03:47 +01:00
Veronica K. B. Olsen
dc16077205 Fix test 2020-12-21 01:42:57 +01:00
Veronica K. B. Olsen
414f4d3a6e Remove code related to orphaned files 2020-12-21 01:39:18 +01:00
Veronica K. B. Olsen
6a188a5906 Orphaned files are now put back in the tree, or rejected if nowhere to put them 2020-12-21 01:28:19 +01:00
Veronica K. B. Olsen
1ea12fedb9 Don't force string format on file meta data (must be able to handle NoneType) 2020-12-20 22:08:27 +01:00
Veronica K. B. Olsen
cf3350c6b6 Trash and Orphaned folders shouldn't be editable 2020-12-20 22:07:10 +01:00
Veronica K. B. Olsen
e5ea8074d2 Copy the mouse press behaviour from the project tree to the novel tree 2020-12-20 17:18:54 +01:00
Veronica K. B. Olsen
2779c8e69f Use build time to update novel tree, and restore last selected item on tab change 2020-12-20 16:50:01 +01:00
Veronica K. B. Olsen
1d12014399 The basic functionality of the novel tree view is now in place 2020-12-20 16:27:42 +01:00
Veronica K. B. Olsen
d4b26025ed Add the basic structure for a novel tree 2020-12-20 15:50:01 +01:00
Veronica K. B. Olsen
597f177d5b Bump version for next stage of dev branch to 1.1 alpha 0 2020-12-20 14:40:25 +01:00
Veronica K. Berglyd Olsen
8435d866ca Merge pull request #535 from vkbo/minor_fixes
Minor Fixes
2020-12-20 14:30:59 +01:00
Veronica K. Berglyd Olsen
d16f7e0941 Merge branch 'main' into minor_fixes 2020-12-20 14:25:48 +01:00
Veronica K. B. Olsen
fa6b7d0d42 Wrong reason stated in flake8 listing 2020-12-20 00:01:07 +01:00
Veronica K. Berglyd Olsen
a5715e76c4 Merge pull request #537 from gedakc/fix-typos-in-contributions
Fix minor typos in Contributing guidelines
2020-12-19 23:54:19 +01:00
Veronica K. B. Olsen
299998e8ff Update flake8 settings in CONTRIBUTING file to those currently in use 2020-12-19 23:50:50 +01:00
Curtis Gedak
4e90f82af3 Fix minor typos in Contributing guidelines 2020-12-19 14:36:05 -07:00
Veronica K. B. Olsen
8d71ee30d4 Use the main gui askQuestion function for yes/no dialogs 2020-12-19 20:21:43 +01:00
Veronica K. B. Olsen
5b746af4bd Merge branch 'tree_menu_move_item' into minor_fixes 2020-12-18 21:58:15 +01:00
Veronica K. B. Olsen
885c62990a Add move item up and down to the project tree context menu 2020-12-18 21:57:46 +01:00
Veronica K. B. Olsen
d9cccc8752 The Writing Stats tool should not pop an error message if there is no satistics log 2020-12-17 18:52:56 +01:00
Veronica K. B. Olsen
1d9c4430f7 Correct placeholder text in Build Novel Project tool 2020-12-17 18:50:37 +01:00
Veronica K. Berglyd Olsen
0e8cb1059f Merge pull request #534 from vkbo/readme_line_len
Apply max line length to markdown files
2020-12-16 23:25:43 +01:00
Veronica K. B. Olsen
b5caba6ecf Also re-wrap the readme files 2020-12-16 23:24:00 +01:00
Veronica K. B. Olsen
f78b491849 Wrapped changelog lines to <= 99 characters 2020-12-16 23:17:53 +01:00
Veronica K. Berglyd Olsen
81347d370d Merge pull request #532 from vkbo/distraction_free_mode_toggle
Fix the Focus Mode checkbox not updating in the menu
2020-12-13 20:17:55 +01:00
Veronica K. B. Olsen
9a5f87073f Fix the Focus Mode checkbox not updating in the menu 2020-12-13 20:10:24 +01:00
Veronica K. Berglyd Olsen
939cc80851 Merge pull request #504 from vkbo/release_1.0rc2
Release 1.0 RC2
2020-12-13 16:00:05 +01:00
Veronica K. B. Olsen
5067d75fa0 Added release notes 2020-12-13 15:57:23 +01:00
Veronica K. B. Olsen
0c15fffd9c Updated changelog 2020-12-12 19:36:44 +01:00
Veronica K. B. Olsen
3aa68907e4 Merge branch 'main' into release_1.0rc2 2020-12-12 19:35:15 +01:00
Veronica K. Berglyd Olsen
30c2d3a3dc Merge pull request #527 from vkbo/refactor_gui_tests
Refactor and Extend GUI Tests
2020-12-12 19:33:18 +01:00
Veronica K. B. Olsen
27696d65e4 Remove some unnecessary branches and unused functions 2020-12-12 19:22:38 +01:00
Veronica K. B. Olsen
585287b487 Reorganise remainin GUI tests, but no improved coverage 2020-12-12 18:58:05 +01:00
Veronica K. B. Olsen
325c8dc68d Split up the main gui test file 2020-12-12 17:39:28 +01:00
Veronica K. B. Olsen
c37d4013f8 Refactored build, merge, split, and item editor tests 2020-12-12 16:56:15 +01:00
Veronica K. B. Olsen
9eb8158c36 Separated out about test and updated it 2020-12-12 15:59:35 +01:00
Veronica K. B. Olsen
e258ff60d0 Separated out project settings test and updated it 2020-12-12 15:51:03 +01:00
Veronica K. B. Olsen
70eadd11cb Separated out writing stats test and updated it 2020-12-12 14:44:33 +01:00
Veronica K. B. Olsen
a270de6e4e Updated changelog 2020-12-12 11:52:06 +01:00
Veronica K. B. Olsen
64154286e0 Merge branch 'main' into release_1.0rc2 2020-12-12 11:32:22 +01:00
Veronica K. Berglyd Olsen
22cb1669e1 Merge pull request #526 from vkbo/github_templates
Updated the GitHub templates
2020-12-12 10:19:48 +01:00
Veronica K. B. Olsen
0fdee99227 Updated the github templates 2020-12-12 10:19:05 +01:00
Veronica K. Berglyd Olsen
56cf3418ff Merge pull request #522 from vkbo/issue521_move_item_crash
Issue 521: Move Tree Item Crash
2020-12-09 23:27:22 +01:00
Veronica K. B. Olsen
15c5ffcb76 Break up another nested if statement 2020-12-09 23:22:15 +01:00
Veronica K. B. Olsen
c2321c502f Ensure that the moveTreeItem function exits properly if no item to be moved is selected 2020-12-09 23:19:02 +01:00
Veronica K. Berglyd Olsen
e129319faa Merge pull request #520 from vkbo/add_discussions_link
Add the GitHub Discussions link to the Help menu
2020-12-09 10:09:13 +01:00
Veronica K. B. Olsen
5108c03fec Add the GitHub Discussions link to the Help menu 2020-12-09 10:03:44 +01:00
Veronica K. Berglyd Olsen
d5a6683c26 Merge pull request #519 from vkbo/issue517_new_files_in_outtakes
Allow creating files in the 'Outtakes' root folder
2020-12-09 09:43:52 +01:00
Veronica K. B. Olsen
e12c41d7e7 Clarify docstring of project tree context menu filterAction 2020-12-09 09:26:21 +01:00
Veronica K. B. Olsen
8ea153da54 Allow creating files in the 'Outtakes' root folder 2020-12-09 09:21:37 +01:00
Veronica K. Berglyd Olsen
dc0be12084 Merge pull request #516 from vkbo/gui_fixes
GUI Changes
2020-12-08 17:44:35 +01:00
Veronica K. B. Olsen
cd675b23d1 Change some preferences help lines 2020-12-08 17:41:09 +01:00
Veronica K. B. Olsen
9ffb5e6a16 Add grey syntax themes and fix automatic update when changing them 2020-12-08 17:33:34 +01:00
Veronica K. B. Olsen
5cc6e4c543 Update text on About and Preferences dialogs 2020-12-08 17:32:42 +01:00
Veronica K. Berglyd Olsen
1572778761 Merge pull request #514 from vkbo/base_tests
Refactor Base Tests
2020-12-08 00:03:47 +01:00
Veronica K. B. Olsen
1469953b5e Updated test README 2020-12-07 23:45:14 +01:00
Veronica K. B. Olsen
330ee77e58 Fix flake8 fail 2020-12-07 23:39:54 +01:00
Veronica K. B. Olsen
9772c85ece Rewritten Config class test 2020-12-07 23:34:12 +01:00
Veronica K. B. Olsen
a4ee1e112c Updated and extended the testing of the main function 2020-12-07 20:00:58 +01:00
Veronica K. B. Olsen
ee7a5e1681 Moved the launch test from main to init 2020-12-06 13:27:31 +01:00
Veronica K. B. Olsen
cdeee65505 Also remove the gui blocking from the error handler 2020-12-06 13:21:47 +01:00
Veronica K. B. Olsen
33c2dda471 Cleaned up error tests and removed testmode from error handler 2020-12-06 13:01:49 +01:00
Veronica K. B. Olsen
730b572d4f Updated the Common tests to new format 2020-12-06 12:46:10 +01:00
Veronica K. B. Olsen
7c95e6dffa Updated existing Error test 2020-12-06 01:06:37 +01:00
Veronica K. B. Olsen
d70ee34429 Rename project test reference files 2020-12-06 00:29:38 +01:00
Veronica K. Berglyd Olsen
d0979d693b Merge pull request #512 from vkbo/refactor_tests
Rewrite Core Tests
2020-12-06 00:17:27 +01:00
Veronica K. B. Olsen
bd9ed0d5d3 Fix testCoreProject_Methods test on Windows 2020-12-05 21:24:19 +01:00
Veronica K. B. Olsen
51cb9814d2 Rename GUI test files 2020-12-05 21:10:34 +01:00
Veronica K. B. Olsen
d274c418d1 Remove nwFuncTemp fixture 2020-12-05 21:08:42 +01:00
Veronica K. B. Olsen
c353e9ffb1 Updated and new tests for NWProject class 2020-12-05 21:06:57 +01:00
Veronica K. B. Olsen
c17d4de0a5 Remove QMessageBox dependency in NWProject class 2020-12-05 19:13:36 +01:00
Veronica K. B. Olsen
57397fa2bc Updated existing NWProject tests 2020-12-04 21:28:35 +01:00
Veronica K. B. Olsen
91ece2b7f2 New test for ToHtml class 2020-12-04 20:58:44 +01:00
Veronica K. B. Olsen
b687ffe696 New test for Tokenizer class 2020-12-04 00:46:29 +01:00
Veronica K. B. Olsen
0cb36c02f3 New test for NWStatus class 2020-12-03 20:22:22 +01:00
Veronica K. B. Olsen
c7c70a35a0 Updated tests for NWSpell* classes 2020-12-03 18:37:52 +01:00
Veronica K. B. Olsen
c13bd18271 Remove nw prefix from common test files 2020-12-03 17:39:42 +01:00
Veronica K. B. Olsen
fba4d5d04d New test for OptionsState class 2020-12-01 23:27:29 +01:00
Veronica K. B. Olsen
7ec43e42fd Fix flake8 and windows test 2020-12-01 22:32:48 +01:00
Veronica K. B. Olsen
8cc6fa6030 New test for NWDoc class 2020-12-01 22:19:18 +01:00
Veronica K. B. Olsen
2018d44ba8 Some changes to fixtures and added tests README 2020-12-01 21:00:31 +01:00
Veronica K. B. Olsen
afea7b66bd Rename nwRef to refDir 2020-12-01 10:50:41 +01:00
Veronica K. B. Olsen
deededb0d9 Updated NWIndex tests 2020-12-01 10:49:06 +01:00
Veronica K. B. Olsen
2c0eaeb557 Fix old tests 2020-12-01 10:23:35 +01:00
Veronica K. B. Olsen
b4b359475d Revert some changes to the NWTree.append class 2020-12-01 09:41:56 +01:00
Veronica K. B. Olsen
2a642ea405 New test for NWTree class 2020-12-01 01:15:06 +01:00
Veronica K. B. Olsen
dd943116af New test for core tools functions 2020-11-30 22:46:55 +01:00
Veronica K. B. Olsen
6a1dc8b5ae New test for NWItem class 2020-11-30 22:28:01 +01:00
Veronica K. Berglyd Olsen
78c738c5ab Merge pull request #511 from vkbo/tweaks
Release Tweaks
2020-11-29 20:16:07 +01:00
Veronica K. B. Olsen
f943b956f0 Remove windows line endings from SVG files 2020-11-29 17:01:25 +01:00
Veronica K. B. Olsen
eb35e4d642 Cleanup and registry fixes for mime icon 2020-11-29 16:24:35 +01:00
Veronica K. B. Olsen
d3fa849dee Add mime icon and setting to windows build 2020-11-29 15:58:52 +01:00
Veronica K. B. Olsen
df29c71ecb Minor changes to the Help menu 2020-11-29 12:27:46 +01:00
Veronica K. Berglyd Olsen
6c78594e82 Merge pull request #508 from vkbo/latest_release
Release Notes
2020-11-24 20:14:55 +01:00
Veronica K. Berglyd Olsen
1b0e64dacb Merge branch 'main' into latest_release 2020-11-24 20:09:52 +01:00
Veronica K. Berglyd Olsen
e398e233d1 Merge pull request #509 from vkbo/menu_updates
Menu Updates
2020-11-24 19:55:09 +01:00
Veronica K. B. Olsen
36db4b5d59 A few minor updates to the main menu 2020-11-24 19:13:31 +01:00
Veronica K. B. Olsen
b28556cd40 Fix broken test 2020-11-24 18:51:20 +01:00
Veronica K. B. Olsen
434a0c6056 Updated release notes 2020-11-24 18:48:32 +01:00
Veronica K. B. Olsen
1510a5af74 Fix and update tests 2020-11-24 18:36:30 +01:00
Veronica K. B. Olsen
00f6277eb7 Add config option and set up menu action 2020-11-24 18:36:08 +01:00
Veronica K. B. Olsen
12c2d93968 Added release notes from website 2020-11-23 13:05:53 +01:00
Veronica K. B. Olsen
41bbd7b259 Added releases URL 2020-11-23 12:48:08 +01:00
Veronica K. B. Olsen
6921070ed6 Updated sample project 2020-11-21 15:36:00 +01:00
Veronica K. B. Olsen
73eb2e474d Bump version and updated changelog for 1.0 RC2 release 2020-11-21 15:35:26 +01:00
Veronica K. Berglyd Olsen
5715247de9 Merge pull request #503 from vkbo/issue501_insert_kewords
Issue #501: Insert Keywords from Menu
2020-11-21 15:25:29 +01:00
Veronica K. B. Olsen
75ef523bc5 Updated docs and clarified a insert menu entry 2020-11-21 15:22:13 +01:00
Veronica K. B. Olsen
22d268c6e1 Add test coverage for keyword insert feature 2020-11-21 15:16:18 +01:00
Veronica K. B. Olsen
108b99f99b Improve the insert keyword feature when in the middle of a paragraph 2020-11-21 15:16:02 +01:00
Veronica K. B. Olsen
6087506cf0 Split insert menu into groups, and add keywords to distraction free mode 2020-11-21 14:51:37 +01:00
Veronica K. B. Olsen
67063e089c Added insert menu entries for keywords 2020-11-21 14:46:01 +01:00
Veronica K. Berglyd Olsen
6d630d3a1b Merge pull request #502 from vkbo/issue499_editor_scaling
High DPI Header & Footer Scaling
2020-11-21 13:47:23 +01:00
Veronica K. B. Olsen
a70d14b589 Fix scaling of item editor margins on high DPI 2020-11-21 13:42:27 +01:00
Veronica K. B. Olsen
f7bd793d93 Fix scaling of QSwitch on high DPI 2020-11-21 13:30:26 +01:00
Veronica K. B. Olsen
0b065ea76b Fixed high DPI issue in QConfigLayout class 2020-11-21 13:16:50 +01:00
Veronica K. B. Olsen
ba0658ed48 Force a minimum height for document headers and footers 2020-11-21 13:10:52 +01:00
Veronica K. Berglyd Olsen
562ca919e0 Merge pull request #488 from vkbo/release_1.0rc1
Release 1.0 RC 1
2020-11-16 19:51:42 +01:00
Veronica K. B. Olsen
e7ffff12b3 Set release date and make some clarifications in the changelog 2020-11-16 19:48:49 +01:00
Veronica K. B. Olsen
c3696f5425 Postpone release ill next weekend and update changelog 2020-11-08 18:19:12 +01:00
Veronica K. B. Olsen
b4d6626b2d Merge branch 'main' into release_1.0rc1 2020-11-08 18:11:50 +01:00
Veronica K. Berglyd Olsen
95c25dec40 Merge pull request #495 from vkbo/close_dialog
Clarify the dialog messages when closing a project or novelWriter
2020-11-08 00:44:27 +01:00
Veronica K. B. Olsen
18bc4fb520 Clarify the dialog messages when closing a project or novelWriter 2020-11-08 00:41:04 +01:00
Veronica K. Berglyd Olsen
1910463e8f Merge pull request #493 from vkbo/remove_toc_json
Remove ToC.json
2020-11-03 21:38:41 +01:00
Veronica K. B. Olsen
bc87337b35 Remove unused import 2020-11-03 21:35:51 +01:00
Veronica K. B. Olsen
aed0af8772 Remove commented out code 2020-11-03 21:20:03 +01:00
Veronica K. B. Olsen
82a5fdb796 Updated docs 2020-11-03 21:17:06 +01:00
Veronica K. B. Olsen
b79f485af0 Remove the ToC.json file and change the format of the ToC.txt file a little 2020-11-03 21:11:40 +01:00
Veronica K. Berglyd Olsen
342d6a07c0 Merge pull request #492 from vkbo/fixes
Action fixes for no project or document open
2020-11-01 18:47:49 +01:00
Veronica K. B. Olsen
ccc119ed8b Fixed test 2020-11-01 18:40:35 +01:00
Veronica K. B. Olsen
2a0be718d7 Added more checks on actions for project or document being open 2020-11-01 18:39:12 +01:00
Veronica K. B. Olsen
98be2bd5b4 Block a bunch more main GUI actions when no project is open 2020-11-01 18:25:00 +01:00
Veronica K. B. Olsen
f35b1c0ad6 Don't allow inserts when no document is open 2020-11-01 18:14:43 +01:00
Veronica K. B. Olsen
ea5bab31e6 Update changelog and change release date 2020-11-01 17:13:40 +01:00
Veronica K. B. Olsen
42e55b8e49 Merge branch 'main' into release_1.0rc1 2020-11-01 17:08:44 +01:00
Veronica K. Berglyd Olsen
4102f5cc97 Merge pull request #491 from vkbo/clear_outline
Clear the outline details panel when closing a project
2020-10-31 19:44:09 +01:00
Veronica K. B. Olsen
967037ff89 Clear the outline details panel when closing a project 2020-10-31 17:49:32 +01:00
Veronica K. Berglyd Olsen
6650333143 Merge pull request #489 from vkbo/gui_tweaks
GUI Tweaks
2020-10-29 19:41:31 +01:00
Veronica K. B. Olsen
90ed47b836 Make the setup script a bit more helpful! 2020-10-29 13:00:38 +01:00
Veronica K. B. Olsen
805161ff71 Fixed typos and grammar in the changelog 2020-10-27 22:14:15 +01:00
Veronica K. B. Olsen
e2ab9ed6cf All constants should be upper case 2020-10-27 20:36:04 +01:00
Veronica K. B. Olsen
8e95728e20 Move the keyword maps into the nwKeyWords constants class where the keywords are defined 2020-10-27 20:30:11 +01:00
Veronica K. B. Olsen
91e2092674 Move the spell check class constants to the nwConst class 2020-10-27 20:21:39 +01:00
Veronica K. B. Olsen
6e029f56a4 Remove line endings from logged ignored doc meta lines 2020-10-25 14:51:15 +01:00
Veronica K. B. Olsen
42700a2325 More sensible default values for tree column widths 2020-10-25 14:31:23 +01:00
Veronica K. B. Olsen
02b79248ec Make build panels non-collapsible and fix spacing values 2020-10-25 14:22:44 +01:00
Veronica K. B. Olsen
cde0d6dff5 Only run word counter when a document is open 2020-10-25 14:14:40 +01:00
Veronica K. B. Olsen
5aaafa45c8 Updated changelog 2020-10-25 11:40:03 +01:00
Veronica K. B. Olsen
1ab57e4bc2 Bumped version to 1.0 rc1 2020-10-25 11:26:24 +01:00
Veronica K. Berglyd Olsen
d5ec44a2b8 Merge pull request #487 from vkbo/fix_syntax_theme_switch
Fix Syntax Theme Switching
2020-10-25 11:23:29 +01:00
Veronica K. B. Olsen
a07bfec433 Palette no longer needs to be a class variable in headers and footers 2020-10-25 11:18:02 +01:00
Veronica K. B. Olsen
5edee1be0b Also update colours on headers and footers 2020-10-25 11:14:04 +01:00
Veronica K. B. Olsen
dbab60d064 Properly update document colours when switching syntax theme 2020-10-25 10:57:20 +01:00
Veronica K. B. Olsen
f23294c898 Change badge order 2020-10-24 19:36:06 +02:00
Veronica K. Berglyd Olsen
6bebe673fe Merge pull request #461 from vkbo/python_39
Adding Python 3.9 Workflow
2020-10-24 19:34:58 +02:00
Veronica K. B. Olsen
f504287aef Add Python 3.9 badge to main README 2020-10-24 19:31:32 +02:00
Veronica K. B. Olsen
0545bc6557 Update python 3.9 coverage now that lxml supports it 2020-10-24 19:27:48 +02:00
Veronica K. B. Olsen
9d5b542603 Merge branch 'main' into python_39 2020-10-24 19:26:44 +02:00
Veronica K. Berglyd Olsen
39a502cadd Merge pull request #486 from vkbo/doc_meta
Change Document Meta Format
2020-10-24 19:24:54 +02:00
Veronica K. B. Olsen
f083ada3b3 Add coverage of else condition in doc meta parser 2020-10-24 19:13:39 +02:00
Veronica K. B. Olsen
de8ee126cf Add some debug output to the document meta parser 2020-10-24 19:08:26 +02:00
Veronica K. B. Olsen
79d345e0f8 Updated sample project 2020-10-24 18:57:22 +02:00
Veronica K. B. Olsen
538009eff6 Updated tests 2020-10-24 18:56:01 +02:00
Veronica K. B. Olsen
a9b264227a Merge branch 'main' into doc_meta 2020-10-24 18:32:49 +02:00
Veronica K. Berglyd Olsen
90f885b5ac Merge pull request #485 from vkbo/code_improvements
Code Improvements
2020-10-24 18:32:30 +02:00
Veronica K. B. Olsen
f13bd87702 Allow more than one meta data line in documents, and split the current line into three 2020-10-24 18:31:18 +02:00
Veronica K. Berglyd Olsen
0c4bbc4a82 Merge branch 'main' into code_improvements 2020-10-24 18:01:00 +02:00
Veronica K. B. Olsen
8d31428a9d Improve a few functions in common and item 2020-10-24 17:54:02 +02:00
Veronica K. B. Olsen
3b14aacc0f Fix icon link 2020-10-24 12:06:42 +02:00
Veronica K. B. Olsen
c0ad631039 Updated source file descriptions 2020-10-23 21:05:41 +02:00
Veronica K. B. Olsen
8db7c17798 Drop using formatting a few places where it isn't necessary 2020-10-23 20:56:44 +02:00
Veronica K. B. Olsen
170c2dc19c Added a new formatTime function to common, and replaced similar functions in other classes 2020-10-23 20:26:29 +02:00
Veronica K. Berglyd Olsen
78a0a595b9 Merge pull request #484 from vkbo/xdg-install
XDG Install
2020-10-22 23:04:45 +02:00
Veronica K. B. Olsen
bfcbf66044 Some minor tweaks of the xdg install 2020-10-22 23:00:06 +02:00
Veronica K. B. Olsen
299b8cde1b Update readmes with the XDG changes 2020-10-22 22:40:54 +02:00
Veronica K. B. Olsen
56cbf86df4 Flake8 tag 2020-10-22 22:34:31 +02:00
Veronica K. B. Olsen
92610ca88a Move the import of setuptools to where it's used 2020-10-22 22:33:32 +02:00
Veronica K. B. Olsen
eca2869894 Install launcher and icons the right way 2020-10-22 22:25:44 +02:00
Veronica K. Berglyd Olsen
dfbbdf10f6 Merge pull request #483 from vkbo/json_format
JSON File Changes
2020-10-21 20:32:15 +02:00
Veronica K. B. Olsen
20e44ad7ae Update tests 2020-10-21 20:06:08 +02:00
Veronica K. B. Olsen
37c5ecc755 Skip intermediate steps when loading/saving json files, and always use 2 space indent 2020-10-21 20:05:54 +02:00
Veronica K. B. Olsen
f69c37fe91 Cleanup of document viewer stylesheet 2020-10-19 23:46:15 +02:00
Veronica K. Berglyd Olsen
8a8644804b Merge pull request #482 from vkbo/typewriter_mode
Updated Typewriter Mode
2020-10-18 20:06:31 +02:00
Veronica K. B. Olsen
eed349ab85 Added more comments and tweaked the scroll features 2020-10-18 19:56:24 +02:00
Veronica K. B. Olsen
dc4257bbf4 Renamed the typewriter config settings 2020-10-18 19:37:32 +02:00
Veronica K. B. Olsen
8e222c1e67 Change typewriter mode to scroll at any point 2020-10-18 19:25:12 +02:00
Veronica K. Berglyd Olsen
7473c4272a Merge pull request #477 from vkbo/release_1.0rc1
Release 1.0 Beta 5
2020-10-18 14:41:53 +02:00
Veronica K. B. Olsen
947f5b79de This will be beta 5 release instead 2020-10-18 11:58:44 +02:00
Veronica K. B. Olsen
b54527e9a5 Updated changelog with latest changes 2020-10-18 11:53:44 +02:00
Veronica K. B. Olsen
89a2d8db74 Merge branch 'main' into release_1.0rc1 2020-10-18 11:45:37 +02:00
Veronica K. B. Olsen
50cc135dde Fixed lots of top-of-file docstrings that were out of date 2020-10-17 23:46:54 +02:00
Veronica K. B. Olsen
4584a4b8b4 Renamed setup/BUILD.md to setup/README.md 2020-10-17 23:35:33 +02:00
Veronica K. B. Olsen
3045275ab5 Updated the main docstrings in the setup and make scripts 2020-10-17 17:45:34 +02:00
Veronica K. B. Olsen
95db7faf8a Fixed wrong heading type 2020-10-17 17:32:07 +02:00
Veronica K. Berglyd Olsen
b63891a7c5 Merge pull request #480 from vkbo/setup
Setup and Install
2020-10-17 17:28:47 +02:00
Veronica K. B. Olsen
2ffca7db48 Updated and cleaned up the readme 2020-10-17 17:26:04 +02:00
Veronica K. B. Olsen
139293b21c Added a launcher option to setup.py, and updated documentation 2020-10-17 16:58:47 +02:00
Veronica K. B. Olsen
3378b387cf Reduce size of freeze build and added more documentation 2020-10-17 15:52:40 +02:00
Veronica K. B. Olsen
614572ca80 Minor modifications to make.py, and made Inno Setyp 64 bit 2020-10-17 15:05:58 +02:00
Veronica K. B. Olsen
db2eb98c27 Minor changes to the windows inno setup 2020-10-17 14:09:32 +02:00
Veronica K. B. Olsen
a20296cded Rnamed make_windows.py to make.py, and deleted install.py 2020-10-17 13:57:19 +02:00
Veronica K. B. Olsen
f0adc59d4c Rewritten make_windows.py script 2020-10-17 13:56:27 +02:00
Veronica K. B. Olsen
3b63dd49dc Cleanup of the setup script 2020-10-17 13:03:32 +02:00
Veronica K. B. Olsen
a5201d79cb Fix typo 2020-10-17 01:46:50 +02:00
Veronica K. B. Olsen
ede9d034c7 Make sample.zip before pyinstaller runs, and make sure the make_windows script is windows only 2020-10-17 01:43:47 +02:00
Veronica K. B. Olsen
0665b9b032 Added temp iss file to gitignore, and fiex a bug in windows make 2020-10-17 01:30:13 +02:00
Veronica K. B. Olsen
115cef3ffb Added more comments to windows script 2020-10-17 01:05:49 +02:00
Veronica K. B. Olsen
70086f5ca6 Added python and iss script for making setup.exe releases on Windows 2020-10-17 00:58:48 +02:00
Veronica K. B. Olsen
403066a83f Moe settings from setup.py to setup.cfg, and add pyproject.toml 2020-10-16 18:53:29 +02:00
Veronica K. Berglyd Olsen
7a25186634 Merge pull request #479 from vkbo/gnome_setup
Gnome Setup
2020-10-16 17:19:25 +02:00
Veronica K. B. Olsen
0888bd70e1 Renamed the root assets folder to setup to avoid mixing it with nw/assets 2020-10-16 14:22:10 +02:00
Veronica K. B. Olsen
062ec44890 Some minor fixes to the debian and ubuntu install scripts 2020-10-16 14:11:02 +02:00
Veronica K. Berglyd Olsen
db13c96d04 Merge pull request #478 from vkbo/code_cleanup
Code Cleanup and Improvements
2020-10-15 22:57:32 +02:00
Veronica K. B. Olsen
487a116795 Removed some redundant parantheses 2020-10-15 22:52:16 +02:00
Veronica K. B. Olsen
7deee064d0 More improvements, mostly string formatting 2020-10-15 22:44:47 +02:00
Veronica K. B. Olsen
e0d15a882e Further improvements to the status bar clock 2020-10-15 20:56:09 +02:00
Veronica K. B. Olsen
bf7429f028 Update format statements and improve status bar clock 2020-10-15 20:33:10 +02:00
Veronica K. B. Olsen
1923a55443 Code cleanup in core classes and rename of parHandle to itemParent in NWItem class 2020-10-15 19:08:35 +02:00
Veronica K. B. Olsen
d973f28755 Code and comment cleanup in main GUI 2020-10-15 18:39:15 +02:00
Veronica K. B. Olsen
8e9fb58677 Swapped lines in source code 2020-10-15 17:43:58 +02:00
Veronica K. B. Olsen
bd9463fe58 Added version scheme comment to main package init file 2020-10-15 17:36:28 +02:00
Veronica K. B. Olsen
5f8e4b5316 Updated changelog 2020-10-15 14:39:23 +02:00
Veronica K. B. Olsen
4fdc0ba9db Bumped version and update changelog from last release 2020-10-15 10:07:53 +02:00
Veronica K. Berglyd Olsen
1ce2165717 Merge pull request #476 from vkbo/syntax
Syntax Highlighting of Strikethrough
2020-10-14 18:33:42 +02:00
Veronica K. B. Olsen
bf1f22e7dd Merge branch 'main' into syntax 2020-10-14 18:24:50 +02:00
Veronica K. Berglyd Olsen
55125491e4 Merge pull request #475 from vkbo/multipar_format
Formatting with mulitple paragraphs selected
2020-10-14 18:23:58 +02:00
Veronica K. B. Olsen
0dc07de77d Also handle multi-paragraph formatting for quotes 2020-10-14 18:20:41 +02:00
Veronica K. B. Olsen
1a0f37fa45 Rename the regex constants 2020-10-14 18:13:42 +02:00
Veronica K. B. Olsen
366d601983 Change the strikethrough colour to the color labelled as 'hidden' 2020-10-14 16:06:51 +02:00
Veronica K. B. Olsen
1c27a8e0da Minor fix to the select word and select all functions 2020-10-14 14:13:59 +02:00
Veronica K. B. Olsen
8d64a6672f Only apply format to the first block when multiple blocks are selected 2020-10-14 13:43:18 +02:00
Veronica K. Berglyd Olsen
1f957a2817 Merge pull request #474 from vkbo/editor_tweaks
Document Editor Tweaks
2020-10-13 22:57:10 +02:00
Veronica K. B. Olsen
25b77c91db Add 'Follow Tag' to the context meny when right clicking a tag, and disable spell check for it 2020-10-13 22:46:39 +02:00
Veronica K. B. Olsen
3fbe5e218c Make sure the scroll bar anim cannot go past 650 ms, and add a percentage of total to the line counter 2020-10-13 22:14:17 +02:00
Veronica K. B. Olsen
10e97a567b Make sure the scrolling effect is covered by test 2020-10-13 21:59:02 +02:00
Veronica K. B. Olsen
7d1e85c0d4 Animate the scroll bar movement when following cursor 2020-10-13 21:51:49 +02:00
Veronica K. Berglyd Olsen
3e26c926fa Merge pull request #472 from vkbo/build_qtversion_bug
Fix a bug in build tool for lower Qt versions
2020-10-13 20:31:12 +02:00
Veronica K. B. Olsen
2861f4be36 Fix a bug in build tool for lower Qt versions 2020-10-13 20:16:06 +02:00
Veronica K. Berglyd Olsen
9667a0a5de Merge pull request #470 from vkbo/python_version
Change Python minimal version to 3.6
2020-10-13 19:43:25 +02:00
Veronica K. B. Olsen
7c5a098cab Update docs 2020-10-13 19:37:53 +02:00
Veronica K. B. Olsen
e5b24e39ee Don't import nw in setup.py 2020-10-13 19:27:50 +02:00
Veronica K. B. Olsen
d2325c57a3 Change minimum Python version to 3.6 2020-10-13 11:00:13 +02:00
Veronica K. Berglyd Olsen
f3949dea40 Merge pull request #469 from vkbo/scroll_tweaks
Tweaks for the scrolling changes
2020-10-11 23:18:47 +02:00
Veronica K. B. Olsen
d0bda15b0a Change name of scroll position variable and fix calculation of it 2020-10-11 23:03:37 +02:00
Veronica K. B. Olsen
322be33ac4 Fix flake8 test 2020-10-11 22:53:38 +02:00
Veronica K. B. Olsen
c76c2df925 Simplify the typewriter mode 2020-10-11 22:52:06 +02:00
Veronica K. B. Olsen
77ec41a820 Make sure scroll past end margin cannot be negative 2020-10-11 21:43:26 +02:00
Veronica K. B. Olsen
9c75ed5b06 Leave scroll bar on build tool document, and don't scroll too far past end in doc editor 2020-10-11 21:39:42 +02:00
Veronica K. Berglyd Olsen
2990616a5c Merge pull request #468 from vkbo/scrolling
Scrolling Options
2020-10-11 21:27:53 +02:00
Veronica K. B. Olsen
870c5d8343 Fix flake8 test 2020-10-11 21:23:39 +02:00
Veronica K. B. Olsen
6ee326e716 Hardcode the values of the session stats log 2020-10-11 21:21:33 +02:00
Veronica K. B. Olsen
92c87872ad Try to fix writing stats test that keeps randomly failing 2020-10-11 20:58:45 +02:00
Veronica K. B. Olsen
5ff9cf43df Merge branch 'word_counts' into scrolling 2020-10-11 20:36:30 +02:00
Veronica K. B. Olsen
710ad598d9 Count words when saving editor text 2020-10-11 20:34:51 +02:00
Veronica K. B. Olsen
2382118dad Add test coverage of the new options 2020-10-11 20:18:58 +02:00
Veronica K. B. Olsen
ae8ec555fd Connected the new settings to the Preferences dialog 2020-10-11 20:13:39 +02:00
Veronica K. B. Olsen
fa55983f3a Split General tab in Preferences into General and Projects 2020-10-11 19:57:00 +02:00
Veronica K. B. Olsen
0c0ef6916b Save new config settings and update tests 2020-10-11 19:41:06 +02:00
Veronica K. B. Olsen
1234c9feb6 Attemt to scroll upwards like a typewriter 2020-10-11 18:21:49 +02:00
Veronica K. B. Olsen
fe71353198 Add option to hide scrollbars on all major GUI areas 2020-10-11 16:40:54 +02:00
Veronica K. B. Olsen
80e8788baa Added scroll past end feature by setting a large root frame margin of the document 2020-10-11 16:20:47 +02:00
Veronica K. B. Olsen
4a47be89de Setup script should fail when help docs build fails 2020-10-11 15:41:14 +02:00
Veronica K. Berglyd Olsen
ea4c5a8e49 Merge pull request #456 from vkbo/release_1.0b4
Release 1.0b4
2020-10-11 15:16:02 +02:00
Veronica K. B. Olsen
dee3972e3b Updated changelog 2020-10-11 15:13:22 +02:00
Veronica K. B. Olsen
3aaeffee5f Merge branch 'main' into release_1.0b4 2020-10-11 15:09:18 +02:00
Veronica K. Berglyd Olsen
549995cc2b Merge pull request #466 from vkbo/line_stats
Line Counter
2020-10-10 18:04:08 +02:00
Veronica K. B. Olsen
e9868744f4 Remove the total line count, and trigger the update *after* the key/mouse events 2020-10-10 17:58:22 +02:00
Veronica K. B. Olsen
7105cd637f Added line counter to document footer 2020-10-10 17:52:37 +02:00
Veronica K. B. Olsen
788bec4567 Added line status icons 2020-10-10 17:52:18 +02:00
Veronica K. B. Olsen
1f3d33c60a Updated changelog 2020-10-08 00:56:06 +02:00
Veronica K. B. Olsen
b20dada9af Merge branch 'main' into release_1.0b4 2020-10-08 00:14:23 +02:00
Veronica K. Berglyd Olsen
321b980c81 Merge pull request #464 from vkbo/gui_improvements
GUI Improvements (Integers)
2020-10-08 00:13:44 +02:00
Veronica K. B. Olsen
b40e4635d9 Further number formatting improvements 2020-10-08 00:06:17 +02:00
Veronica K. B. Olsen
214323fa6e Add spin cursor to build tool print, and add formatting to project tree words column 2020-10-07 23:50:34 +02:00
Veronica K. B. Olsen
d9b1363788 Use markContentsDirty when possible also for document viewer 2020-10-07 23:35:09 +02:00
Veronica K. Berglyd Olsen
22909b3390 Merge pull request #462 from vkbo/editor_features
Various Document Editor and Related Improvements
2020-10-07 20:58:21 +02:00
Veronica K. B. Olsen
014b970982 Change a few checks to use built-in features 2020-10-07 20:33:34 +02:00
Veronica K. B. Olsen
8bbdbde7ca Minor changes to document re-highlighting 2020-10-07 20:20:59 +02:00
Veronica K. B. Olsen
dc5da378ed Merge branch 'main' into editor_features 2020-10-07 19:32:56 +02:00
Veronica K. Berglyd Olsen
585be8fb57 Merge pull request #463 from vkbo/macos_improvements
Improvements mainly for macOS
2020-10-07 19:29:46 +02:00
Veronica K. B. Olsen
8e5664c9ae Minor changes to imort document feature 2020-10-07 19:26:38 +02:00
Veronica K. B. Olsen
e22f99cffb handle tuple returns from file dialog properly 2020-10-07 19:19:36 +02:00
Veronica K. B. Olsen
48742ceb0e Updated readme with more install information 2020-10-07 19:01:03 +02:00
Veronica K. B. Olsen
87baabeaa5 Minor fixes to dialogs, partially related to macOS 2020-10-07 18:38:43 +02:00
Veronica K. B. Olsen
357a407116 Fix the main menu look on macOS 2020-10-07 15:51:12 +02:00
Veronica K. B. Olsen
0c1aaecd78 Qt threading done right (thread pool for word counter) 2020-10-07 15:04:13 +02:00
Veronica K. B. Olsen
b6a4568254 Merge branch 'main' into better_spellcheck 2020-10-06 22:10:21 +02:00
Veronica K. B. Olsen
049392db8f Add dependencies for lxml for python 3.9 2020-10-06 20:53:35 +02:00
Veronica K. B. Olsen
0d9f2f2ae9 Use setup-python v2 2020-10-06 20:46:58 +02:00
Veronica K. B. Olsen
a77b30b93f Python 3.9 action 2020-10-06 20:42:22 +02:00
Veronica K. Berglyd Olsen
68d84ae2c8 Merge pull request #460 from vkbo/editor_performance
Editor Performance Improvements
2020-10-06 20:41:13 +02:00
Veronica K. B. Olsen
bd33b28d2d Fix dialog test method and make appropriate changes to the project load tool 2020-10-06 20:34:12 +02:00
Veronica K. B. Olsen
8d66875ebc Performance improvements to Build and Writing Stats, and making sure only one of each can be opened 2020-10-06 20:28:00 +02:00
Veronica K. B. Olsen
23d5e33864 Added large size handling to build tool 2020-10-06 14:29:33 +02:00
Veronica K. B. Olsen
3893892927 Enforce a maximum document size of the document editor of 5 MB 2020-10-06 13:18:42 +02:00
Veronica K. B. Olsen
b3b3c581f0 Speedup of word counter for very large documents 2020-10-06 13:18:08 +02:00
Veronica K. B. Olsen
dceb5e62c6 Fixed a typo and downgraded some error messages in the index class to info 2020-10-06 01:37:30 +02:00
Veronica K. B. Olsen
93851d84bf Delayed cursor move for large documents speeds up loading significantly 2020-10-06 01:14:14 +02:00
Veronica K. B. Olsen
003d28f9db Updating the index now only rehighlights lines with meta keywords 2020-10-05 22:55:21 +02:00
Veronica K. B. Olsen
efdf88be66 Drop the doceditor reloadText function as it resets undo stack 2020-10-05 20:54:19 +02:00
Veronica K. B. Olsen
96a5b9e4ae More descriptive spell check tooltip 2020-10-04 21:21:30 +02:00
Veronica K. B. Olsen
ac96636f8a Add dictionary information function to the spell check classes 2020-10-04 20:46:38 +02:00
Veronica K. B. Olsen
e8383d1850 Fix spell checking for words with a dash 2020-10-04 20:32:55 +02:00
Veronica K. Berglyd Olsen
eb67582313 Merge pull request #459 from vkbo/build_tool_improvements
Build Tool Improvements
2020-10-04 19:23:14 +02:00
Veronica K. B. Olsen
ee0b6ad2f5 Updated tests 2020-10-04 19:12:09 +02:00
Veronica K. B. Olsen
4f0d368f4f Added replace tabs with spaces option 2020-10-04 18:44:42 +02:00
Veronica K. B. Olsen
61359f746c Make the whole build tool dialog more dynamic in sizes and areas 2020-10-04 18:23:48 +02:00
Veronica K. B. Olsen
bb66541c81 Fix the formatting of white spaces on html export 2020-10-04 17:20:54 +02:00
Veronica K. Berglyd Olsen
557c0a2c7f Merge pull request #457 from vkbo/fixes
Minor Fixes
2020-10-04 16:58:56 +02:00
Veronica K. B. Olsen
c7cf4c0704 flake8 fixes 2020-10-04 16:52:07 +02:00
Veronica K. B. Olsen
2cc12490d8 Block cluttering of the user's home folder 2020-10-04 16:38:53 +02:00
Veronica K. B. Olsen
eaf8e83d40 Drop the QtSvg dependency as it is no longer used 2020-10-04 16:22:11 +02:00
Veronica K. B. Olsen
381370079b Updated changelog 2020-10-02 00:02:24 +02:00
Veronica K. B. Olsen
5e57f02fb6 Bumped version to 1.0-beta4 2020-10-01 23:38:01 +02:00
Veronica K. B. Olsen
2682314c6a Updated badges 2020-10-01 23:26:57 +02:00
Veronica K. Berglyd Olsen
69648098f6 Merge pull request #453 from vkbo/test_coverage
Even More Test Coverage
2020-10-01 23:21:50 +02:00
Veronica K. B. Olsen
1bf5c2de91 Just disable the wizard test for macOS 2020-10-01 23:17:43 +02:00
Veronica K. B. Olsen
a460c3d682 Use the same wizard dialog for all four tests 2020-10-01 23:09:21 +02:00
Veronica K. B. Olsen
79620ebc19 Attempt to fix the wizard test 2020-10-01 22:22:58 +02:00
Veronica K. B. Olsen
401b9df57f Typo in coverage switch 2020-10-01 22:05:25 +02:00
Veronica K. B. Olsen
4b1c45ddb4 Fixed coverage in actions and updated launch test 2020-10-01 22:01:41 +02:00
Veronica K. B. Olsen
d63c741cfe Remove logfile related launch options 2020-10-01 21:00:37 +02:00
Veronica K. B. Olsen
f1d8265a02 A couple of fixes to tests breaking on windows and mac 2020-10-01 20:44:52 +02:00
Veronica K. B. Olsen
26ebcd496d Improve itemEditor test, and refactor actions 2020-10-01 20:34:48 +02:00
Veronica K. B. Olsen
0179965a8d Improve project wizard test 2020-10-01 14:31:05 +02:00
Veronica K. B. Olsen
ff0ee1f020 Add mac test 2020-10-01 14:03:50 +02:00
Veronica K. Berglyd Olsen
0bd76c10bd Merge branch 'main' into test_coverage 2020-10-01 12:01:02 +02:00
Veronica K. B. Olsen
dfb09802d5 Added release badge and updated test badge in docs 2020-10-01 11:58:24 +02:00
Veronica K. B. Olsen
3010b65a3f Merge branch 'main' into test_coverage 2020-10-01 11:52:58 +02:00
Veronica K. B. Olsen
54f43b911b Added a line break in badges list 2020-10-01 11:52:25 +02:00
Veronica K. Berglyd Olsen
61ff6a88a2 Merge pull request #454 from vkbo/tests_and_badges
Split pytest jobs up into one per python version
2020-10-01 10:56:43 +02:00
Veronica K. B. Olsen
5a913a8b74 Update readme with badges 2020-10-01 10:53:14 +02:00
Veronica K. B. Olsen
39f34769fd Split pytest jobs up into one per python version 2020-10-01 10:45:56 +02:00
Veronica K. B. Olsen
238b3c254e Fixed the monkeypatching of time.time() 2020-09-30 23:43:50 +02:00
Veronica K. B. Olsen
1a70a4ec1c Get that one last line in the About dialog test 2020-09-30 23:10:47 +02:00
Veronica K. B. Olsen
86d5a6f6b2 Coverage of index class 100% 2020-09-30 22:57:00 +02:00
Veronica K. B. Olsen
9bf50cae34 Improved test coverage of index class 2020-09-30 21:51:16 +02:00
Veronica K. B. Olsen
6fc5dad938 Fixed some potential issues with getting the trash folder handle, and made some minor improvements to index class methods 2020-09-30 21:50:59 +02:00
Veronica K. B. Olsen
d382e70d72 Fix a potential issue in the test suite 2020-09-30 19:53:00 +02:00
Veronica K. B. Olsen
1dc2a49581 Fixed code style error (too long line) 2020-09-29 23:51:13 +02:00
Veronica K. B. Olsen
e721fbbdb7 Add coverage of some partially covered functions 2020-09-29 23:47:06 +02:00
Veronica K. B. Olsen
e251ddacd2 Completed coverage of setProjectPath and made all os imports explicit 2020-09-29 23:27:51 +02:00
Veronica K. B. Olsen
0b7cd71b92 Complete coverage of new project function and remove test code from main app 2020-09-29 21:49:00 +02:00
Veronica K. B. Olsen
0c9849b906 Various test changes, and improvements to project wizard test 2020-09-29 21:10:21 +02:00
Veronica K. B. Olsen
9f8dd4abf3 Monkeypatched a couple more file dialogs 2020-09-28 23:40:49 +02:00
Veronica K. B. Olsen
5152d80ac4 Fixed a bug in project open where old projects were converted before asking permision 2020-09-28 23:39:43 +02:00
Veronica K. B. Olsen
28ef1d12b0 All message box questions are now handled in test suite, so no need to check for showGUI 2020-09-28 22:22:29 +02:00
Veronica K. B. Olsen
678a31855f Improved coverage of dialogs tools, and import document feature 2020-09-28 20:29:52 +02:00
Veronica K. B. Olsen
fc096ddb0b Significant improvements to dialog tests 2020-09-28 18:17:14 +02:00
Veronica K. B. Olsen
bd5c011cd9 Better test coverage of project tree view 2020-09-27 00:12:42 +02:00
Veronica K. B. Olsen
efd34ded63 Fix bug in old project test 2020-09-26 17:21:54 +02:00
Veronica K. B. Olsen
f013662e20 Add test of zipped projects for backup 2020-09-26 17:17:34 +02:00
Veronica K. B. Olsen
fa72b9b0d0 Added test to convert older project to new format 2020-09-26 16:48:43 +02:00
Veronica K. B. Olsen
31c642b8bc Added test for QuotesDialog 2020-09-26 16:10:07 +02:00
Veronica K. B. Olsen
8697604f2b Drop icon theme dependency in test 2020-09-26 15:36:11 +02:00
Veronica K. B. Olsen
711e27f048 Try to add icon theme to github action setup 2020-09-26 15:30:04 +02:00
Veronica K. B. Olsen
ee14dd6e2d Added better coverage of themes class 2020-09-26 15:25:30 +02:00
Veronica K. B. Olsen
3c21a39cee Extended build tool test 2020-09-26 13:49:08 +02:00
Veronica K. B. Olsen
be9253e388 Added test for the main function 2020-09-26 13:31:04 +02:00
Veronica K. B. Olsen
635a52fd31 More import and file cleanup 2020-09-26 13:08:48 +02:00
Veronica K. B. Olsen
eb66b879c5 Imports cleanup 2020-09-26 13:02:51 +02:00
Veronica K. B. Olsen
e36892ed38 Improve index class test 2020-09-24 23:31:13 +02:00
Veronica K. B. Olsen
008117fece Remove unused code and reuse a few lines in split/merge tools 2020-09-24 23:30:59 +02:00
Veronica K. B. Olsen
ad50ef6e8c Fix bug in document section stats 2020-09-24 23:24:15 +02:00
Veronica K. B. Olsen
a9fd68a249 Merge branch 'main' into test_coverage 2020-09-24 22:24:44 +02:00
Veronica K. B. Olsen
16a7d47f58 Modify the codecov configuration 2020-09-24 22:23:58 +02:00
Veronica K. B. Olsen
19aa3c0739 Don't use the link click path 2020-09-24 22:14:56 +02:00
Veronica K. B. Olsen
3c4c60da45 Add a delay after mouse click 2020-09-24 22:10:24 +02:00
Veronica K. B. Olsen
0e3aba3b0d Increase docViewer test coverage 2020-09-24 21:43:49 +02:00
Veronica K. B. Olsen
67f8a36272 Change copyright year to year-range 2020-09-22 23:13:46 +02:00
Veronica K. B. Olsen
3f30923d12 Add objectName to all dialogs and made some other minor fixes 2020-09-22 23:01:09 +02:00
Veronica K. B. Olsen
9a9cfe1ce5 Rename showGUI variable to blockGUI and added some comments in Config class 2020-09-22 21:37:00 +02:00
Veronica K. B. Olsen
7a9124ca58 Finished Search/Replace test 2020-09-21 22:25:22 +02:00
Veronica K. B. Olsen
24e336cd77 Try to fix xvfb display 2020-09-21 22:10:22 +02:00
Veronica K. B. Olsen
de3b35fa6d Add Search/Replace test 2020-09-21 22:07:21 +02:00
Veronica K. B. Olsen
191895507b Improved coverage of Edit, Insert and Format menus and document editor 2020-09-21 20:17:07 +02:00
Veronica K. B. Olsen
4f11e0bf32 Fixed some typos 2020-09-20 15:48:14 +02:00
Veronica K. Berglyd Olsen
3310dfb0ab Merge pull request #450 from vkbo/release_1.0b3
Release 1.0b3
2020-09-20 15:37:41 +02:00
Veronica K. B. Olsen
476a5bedb6 Updated changelog 2020-09-20 15:33:39 +02:00
Veronica K. B. Olsen
8dc6c6d045 Merge branch 'main' into release_1.0b3 2020-09-20 15:29:25 +02:00
Veronica K. Berglyd Olsen
6634210063 Merge pull request #452 from vkbo/gui_tweaks
Tree Context Menu Fix and Project Load Improvement
2020-09-20 15:28:51 +02:00
Veronica K. B. Olsen
4c82a195af Turn off codecov patch check again 2020-09-20 15:23:51 +02:00
Veronica K. B. Olsen
3b1c03329a Fix a couple of issues with the project tree context menu where the new file/folder was not showing if the trash folder was None, and isArch was wrong for files in subfolders 2020-09-20 12:39:35 +02:00
Veronica K. B. Olsen
b9f983a348 Moved fixed with definition to themes class, made time column in project load fixed width and added thin space between words and multiplier 2020-09-20 11:44:33 +02:00
Veronica K. B. Olsen
5bb8ac0ef8 Updated changelog 2020-09-19 23:32:11 +02:00
Veronica K. B. Olsen
0fe4d0bf18 Bumped version to 1.0 beta 3 2020-09-19 23:13:48 +02:00
Veronica K. Berglyd Olsen
a73c5b3776 Merge pull request #449 from vkbo/test_coverage
More Test Coverage
2020-09-19 20:49:47 +02:00
Veronica K. B. Olsen
9203c32412 Fix flake8 failure 2020-09-19 20:32:44 +02:00
Veronica K. B. Olsen
67083ca148 Renamed preferences test reference file 2020-09-19 20:31:41 +02:00
Veronica K. B. Olsen
5810ba68b5 Added test for main preferences and improved the Preferences dialog a bit 2020-09-19 20:30:04 +02:00
Veronica K. B. Olsen
4338580d2c Minor improvements to existing tests to increase coverage 2020-09-19 18:51:45 +02:00
Veronica K. B. Olsen
149fc1a9c5 Pass None as traceback object for error handling test 2020-09-19 17:47:36 +02:00
Veronica K. B. Olsen
bebb2f8e9d Cleanup 2020-09-19 17:44:04 +02:00
Veronica K. B. Olsen
c311271f30 Added check for orphaned files 2020-09-19 17:38:58 +02:00
Veronica K. B. Olsen
17173f65d3 Also added basic check of exceptinHandler 2020-09-19 17:38:25 +02:00
Veronica K. B. Olsen
ffab0b35a8 Merge branch 'main' into test_coverage 2020-09-19 16:57:20 +02:00
Veronica K. Berglyd Olsen
43bf3a1f77 Merge pull request #448 from vkbo/bug_fixes
Bug Fixes: Edit Item, Merge Tool, Orphaned Files
2020-09-19 16:56:47 +02:00
Veronica K. B. Olsen
f2e6c86c79 Fixed an issue with adding empty orphaned files to the project 2020-09-19 16:47:24 +02:00
Veronica K. B. Olsen
2ae6646885 Added a check in merge documents that there is actually something to merge 2020-09-19 16:38:31 +02:00
Veronica K. B. Olsen
43fc829c4f Made most menu entries lambda functions 2020-09-19 16:36:41 +02:00
Veronica K. B. Olsen
adbbe3fc83 No spaces before colon after lambda 2020-09-19 16:14:37 +02:00
Veronica K. B. Olsen
2136e85ac7 Fix edit item bug 2020-09-19 16:14:15 +02:00
Veronica K. B. Olsen
a87f5bab7f Working error test, but cannot properly test exception handler 2020-09-19 16:09:05 +02:00
Veronica K. B. Olsen
d978900590 Split gui tests and dialog tests into separate source files 2020-09-19 13:15:05 +02:00
Veronica K. B. Olsen
365e2676fb Add test for the main error handler 2020-09-19 13:06:58 +02:00
Veronica K. B. Olsen
e9fd293689 Run tests on push to main and dev branch 2020-09-18 18:57:32 +02:00
Veronica K. Berglyd Olsen
c4fc31e735 Merge pull request #447 from vkbo/code_improvements
Code Improvements
2020-09-18 18:55:55 +02:00
Veronica K. B. Olsen
de72d93b9c Minor cleanup, and made status class properties private 2020-09-18 18:50:13 +02:00
Veronica K. B. Olsen
4e03fdca31 Added tests for core tools functions 2020-09-18 18:30:52 +02:00
Veronica K. B. Olsen
bb59891310 Cleanup in index and options and improved options test coverage 2020-09-18 17:57:31 +02:00
Veronica K. B. Olsen
86bb1fc9a4 Made some the properties of the NWDoc class internal 2020-09-18 17:10:33 +02:00
Veronica K. B. Olsen
d7feece887 Improvements to commenst and logtext 2020-09-18 15:20:27 +02:00
Veronica K. B. Olsen
904bdd9001 Minor code improvements and consistent naming of XML functions 2020-09-17 14:05:51 +02:00
Veronica K. B. Olsen
27ee82aad0 Improve the way the project tree is managed and elements deleted. 2020-09-17 14:03:51 +02:00
Veronica K. Berglyd Olsen
9bca006a45 Merge pull request #440 from vkbo/release_1.0b2
Release 1.0 beta 2
2020-09-13 15:47:01 +02:00
Veronica K. B. Olsen
33e77fd840 Updated changelog 2020-09-11 12:32:17 +02:00
Veronica K. Berglyd Olsen
3681d4ed5f Merge branch 'main' into release_1.0b2 2020-09-11 09:29:35 +02:00
Veronica K. Berglyd Olsen
890a13a936 Merge pull request #446 from vkbo/test_coverage
Improved Test Coverage
2020-09-10 23:06:57 +02:00
Veronica K. B. Olsen
00c4404f9d Added spell check test 2020-09-10 23:02:12 +02:00
Veronica K. B. Olsen
b79e63c9d3 Added a last check on doc meta 2020-09-10 22:43:43 +02:00
Veronica K. B. Olsen
61b9567e3a Added test for document meta 2020-09-10 22:40:45 +02:00
Veronica K. B. Olsen
8603c59815 Added more tests for common functions 2020-09-10 22:28:52 +02:00
Veronica K. Berglyd Olsen
99bf4ea58c Merge branch 'main' into release_1.0b2 2020-09-10 21:46:30 +02:00
Veronica K. B. Olsen
68bf363010 Updated codecov settings file 2020-09-10 21:45:37 +02:00
Veronica K. B. Olsen
6e50d4cc0a Updated codecov settings file 2020-09-10 21:41:28 +02:00
Veronica K. Berglyd Olsen
734706a567 Merge branch 'main' into release_1.0b2 2020-09-10 21:33:16 +02:00
Veronica K. B. Olsen
35af9772bf Fixed a few issues in README and CONTRIBUTING 2020-09-09 23:13:37 +02:00
Veronica K. B. Olsen
90811d67fb A couple of improvements after PR #445 2020-09-09 22:49:18 +02:00
Veronica K. Berglyd Olsen
28bdf82bfb Merge pull request #445 from vkbo/edit_search_buttons
Header and Footer Buttons (Edit, Search, Comments, Synopsis)
2020-09-09 21:19:35 +02:00
Veronica K. B. Olsen
8c72bf8ba8 Removed commented out line 2020-09-09 21:15:18 +02:00
Veronica K. B. Olsen
af0937cbcc Corrected a label in Preferences 2020-09-09 21:10:39 +02:00
Veronica K. B. Olsen
88d924f784 Removed the render options from Preferences 2020-09-09 21:07:17 +02:00
Veronica K. B. Olsen
e2e82dba03 Added buttons to toggle comments and synopsis in the viewer footer 2020-09-09 21:05:42 +02:00
Veronica K. B. Olsen
6451e3b986 Added bullet on and off icons 2020-09-09 21:04:58 +02:00
Veronica K. B. Olsen
f1ffb4fc22 Added edit and search button to document editor header 2020-09-09 20:22:36 +02:00
Veronica K. B. Olsen
1ff0e831aa Updated changelog 2020-09-08 23:25:07 +02:00
Veronica K. B. Olsen
a9f592ddec Merge branch 'main' into release_1.0b2 2020-09-08 23:21:33 +02:00
Veronica K. Berglyd Olsen
ceef077811 Merge pull request #443 from vkbo/middle_button
Middle Mouse Button
2020-09-08 23:20:15 +02:00
Veronica K. B. Olsen
6067c9af0e Middle mouse clicking a document in the tree view opens it for viewing 2020-09-08 23:13:49 +02:00
Veronica K. Berglyd Olsen
ab1b3aaaff Merge pull request #442 from vkbo/issue441_back-nav
Issue #441: Document Viewer History Navigation
2020-09-08 22:45:35 +02:00
Veronica K. B. Olsen
ad8d384537 Add fallback icons 2020-09-08 22:42:18 +02:00
Veronica K. B. Olsen
b67a518b98 Renamed menu entries and updated docs 2020-09-08 22:25:37 +02:00
Veronica K. B. Olsen
d8aa29f656 Added test coverage of navigation buttons and class 2020-09-08 22:10:08 +02:00
Veronica K. B. Olsen
a7a345f05c Added backward and forward nav buttons 2020-09-08 22:00:07 +02:00
Veronica K. B. Olsen
7bd1907261 Added icons for backward and forward navigation buttons 2020-09-08 21:59:44 +02:00
Veronica K. B. Olsen
e30064ba0b Nav history in doc viewer now works 2020-09-08 21:20:38 +02:00
Veronica K. B. Olsen
2a3df92b20 Added starte view history class and connected mouse, menu and keyboard 2020-09-08 18:44:08 +02:00
Veronica K. B. Olsen
6ebc4ca268 Cleaned up the way navigation is done in the document viewer 2020-09-08 18:19:22 +02:00
Veronica K. B. Olsen
7d9172c377 Merge branch 'main' into release_1.0b2 2020-09-06 14:59:13 +02:00
Veronica K. B. Olsen
f32ec659bf Updated changelog with changes so far for beta 2 2020-09-06 14:58:47 +02:00
Veronica K. Berglyd Olsen
82b064fe37 Merge pull request #439 from vkbo/issue438_copy-paste
Issue #438: Editor cut/copy/paste
2020-09-06 14:48:32 +02:00
Veronica K. B. Olsen
4d603aecf3 Version bump for 1.0 beta 2 2020-09-06 14:48:07 +02:00
Veronica K. B. Olsen
2c2fe125ea Minor fix to test that sometimes fails in a place it shouldn't 2020-09-06 14:44:05 +02:00
Veronica K. B. Olsen
70d96f3fdb Added test coverage of context menus and selection functions 2020-09-06 14:30:59 +02:00
Veronica K. B. Olsen
af34bb4f38 Added custom context menu also to document viewer 2020-09-06 14:01:08 +02:00
Veronica K. B. Olsen
a6a65fb7d2 Added selection functions to the context menu 2020-09-06 13:46:00 +02:00
Veronica K. B. Olsen
d4f7d8eb67 Added cut/copy/paste to document context menu 2020-09-06 13:24:33 +02:00
Veronica K. Berglyd Olsen
3457037908 Merge pull request #437 from vkbo/issue368_project-lang
Issue #368: Project language setting
2020-09-05 18:11:52 +02:00
Veronica K. B. Olsen
9a7f514f4a Try to fix test build 2020-09-05 18:08:08 +02:00
Veronica K. B. Olsen
58264bb65c Fixed tests 2020-09-05 17:35:41 +02:00
Veronica K. B. Olsen
ba4bc54c9f Added the handling of project dictionary in the editor as well 2020-09-05 17:30:50 +02:00
Veronica K. B. Olsen
6e949b975f Added spell check language setting to project class and project settings 2020-09-05 17:18:18 +02:00
Veronica K. Berglyd Olsen
f2bb0fcea6 Merge pull request #436 from vkbo/split_tool
Split and Merge improvements
2020-09-01 23:39:39 +02:00
Veronica K. B. Olsen
af0d578555 Also have the merge tool preserve item status of the source item 2020-09-01 23:33:13 +02:00
Veronica K. B. Olsen
123b986a07 Split document now preserves item status of the source item 2020-09-01 23:27:48 +02:00
Veronica K. B. Olsen
9aa0e259fe Added a message box before the document split process is completed 2020-09-01 23:24:29 +02:00
Veronica K. Berglyd Olsen
f4ba9e8304 Merge pull request #434 from vkbo/issue433_move-footer-on-hscroll
Issue #433: Move footer if horisontal scroll bar appears
2020-08-31 17:44:49 +02:00
Veronica K. B. Olsen
aefb4e782c Use more compact notation 2020-08-31 17:41:06 +02:00
Veronica K. B. Olsen
bcd8f94b2c Move footer if horisontal scroll bar appears 2020-08-31 17:37:26 +02:00
Veronica K. Berglyd Olsen
abd777026e Merge pull request #422 from vkbo/release_1.0b1
Release 1.0-beta1
2020-08-30 17:10:40 +02:00
Veronica K. B. Olsen
4fec7136af Changed the release date before release 2020-08-30 17:07:34 +02:00
Veronica K. B. Olsen
e6830f10bb Updated changelog 2020-08-28 16:39:24 +02:00
Veronica K. B. Olsen
68f1d996c6 Merge branch 'main' into release_1.0b1 2020-08-28 16:32:28 +02:00
Veronica K. Berglyd Olsen
4a5c760215 Merge pull request #432 from vkbo/issue431_test-dependency
Issue #431: Test Dependency
2020-08-28 16:23:28 +02:00
Veronica K. B. Olsen
7e830c9aab Cleanup unneeded stuff 2020-08-28 16:20:31 +02:00
Veronica K. B. Olsen
64cd356c34 Decoupled gui tests 2020-08-28 16:10:47 +02:00
Veronica K. B. Olsen
3869d8670c Decouple item tests 2020-08-28 13:16:22 +02:00
Veronica K. B. Olsen
b065e4d52b Decoupled config tests 2020-08-28 12:56:03 +02:00
Veronica K. B. Olsen
8340c0665d Made project tests independent 2020-08-28 12:31:38 +02:00
Veronica K. Berglyd Olsen
447ddb73de Merge pull request #430 from vkbo/drop_double_apos
Quote symbols and highlighting
2020-08-23 21:07:59 +02:00
Veronica K. B. Olsen
9567e3dc4a Improve regex matches for quote strings 2020-08-23 20:56:15 +02:00
Veronica K. B. Olsen
f1f7697df2 Clean up docs and test 2020-08-23 20:55:54 +02:00
Veronica K. B. Olsen
5f033a98bf Remove the alternative double apostrophe again 2020-08-23 20:55:30 +02:00
Veronica K. Berglyd Olsen
cb1eb0f5a3 Merge pull request #429 from vkbo/apostrophe_proper
Alternative Apostrophes
2020-08-22 14:21:11 +02:00
Veronica K. B. Olsen
42fa913be5 Shorter menu entries 2020-08-22 14:17:18 +02:00
Veronica K. B. Olsen
6c367a4b58 Added prefixes to documentation files 2020-08-22 14:10:22 +02:00
Veronica K. B. Olsen
bc1c54b643 Updated documentation 2020-08-22 14:06:57 +02:00
Veronica K. B. Olsen
21d68eb1dc Added the new insert menu entries to the corresponding test 2020-08-22 13:20:39 +02:00
Veronica K. B. Olsen
995685241a The html converter should strip these out again 2020-08-22 13:20:19 +02:00
Veronica K. B. Olsen
377c9a3d41 Added insert menu entries and insert action code 2020-08-22 13:20:01 +02:00
Veronica K. B. Olsen
27c36f3880 Added the modifier apostrophe characters to the Unicode list and doc actions 2020-08-22 13:19:25 +02:00
Veronica K. Berglyd Olsen
dbd6e8ed6d Merge pull request #428 from vkbo/issue_427
Issue #427: Spell check highlighting and forward slash
2020-08-22 12:40:37 +02:00
Veronica K. B. Olsen
ca818bc497 Fix detecting slashes in spell check hihglighting 2020-08-22 12:36:17 +02:00
Veronica K. B. Olsen
eb1407ed62 Changed date format in docs 2020-08-20 23:38:12 +02:00
Veronica K. Berglyd Olsen
683b4507e6 Merge branch 'main' into release_1.0b1 2020-08-20 22:00:02 +02:00
Veronica K. B. Olsen
55a6afd022 Updated changelog 2020-08-20 21:59:07 +02:00
Veronica K. B. Olsen
97bed81c9e Updated badges on readme and in docs 2020-08-20 21:59:06 +02:00
Veronica K. B. Olsen
df50ef8877 Use lower case test names 2020-08-20 21:59:06 +02:00
Veronica K. B. Olsen
c2685f4df7 Don't runn full tests on push to master 2020-08-20 21:59:06 +02:00
Veronica K. B. Olsen
8c9f674050 Updated badges again 2020-08-20 21:59:05 +02:00
Veronica K. B. Olsen
114824e5c8 Renamed Flake8 Checks to Flake8 2020-08-20 21:59:05 +02:00
Veronica K. B. Olsen
197c370beb Also include push to main 2020-08-20 21:59:05 +02:00
Veronica K. B. Olsen
0e5f0cb6e6 Fixed badge 2020-08-20 21:59:04 +02:00
Veronica K. Berglyd Olsen
66a992582f Merge pull request #426 from vkbo/pytest_action
More actions stuff
2020-08-20 21:54:11 +02:00
Veronica K. B. Olsen
cde43a25ff Updated badges on readme and in docs 2020-08-20 21:50:33 +02:00
Veronica K. B. Olsen
f5c750520c Use lower case test names 2020-08-20 21:46:01 +02:00
Veronica K. B. Olsen
0ded954efd Don't runn full tests on push to master 2020-08-20 21:42:48 +02:00
Veronica K. Berglyd Olsen
690bca5e03 Merge pull request #425 from vkbo/pytest_action
PyTest: Fix badge
2020-08-20 21:41:39 +02:00
Veronica K. B. Olsen
8210a78b1f Updated badges again 2020-08-20 21:35:06 +02:00
Veronica K. B. Olsen
326dfb44f1 Renamed Flake8 Checks to Flake8 2020-08-20 21:33:53 +02:00
Veronica K. Berglyd Olsen
896ce13f57 Merge branch 'main' into pytest_action 2020-08-20 21:32:27 +02:00
Veronica K. B. Olsen
bf14e626e0 Also include push to main 2020-08-20 21:31:33 +02:00
Veronica K. B. Olsen
4bff145394 Fixed badge 2020-08-20 21:30:56 +02:00
Veronica K. Berglyd Olsen
4e039164f7 Merge branch 'main' into release_1.0b1 2020-08-20 21:28:18 +02:00
Veronica K. Berglyd Olsen
6d2b1a7330 Merge pull request #424 from vkbo/pytest_action
GitHub action using pytest
2020-08-20 21:28:05 +02:00
Veronica K. B. Olsen
b3da2b7029 Final version of pytest workflow 2020-08-20 21:24:35 +02:00
Veronica K. B. Olsen
305e5cdf55 That didn't work ... trying something else 2020-08-20 21:21:00 +02:00
Veronica K. B. Olsen
c3da3e3cce Added test dependencies and dropped Python 3.5 2020-08-20 21:18:43 +02:00
Veronica K. B. Olsen
3fa21688aa Added second job step with other python versions 2020-08-20 21:14:39 +02:00
Veronica K. B. Olsen
15757a745b Add codecov part tp action 2020-08-20 21:07:11 +02:00
Veronica K. B. Olsen
fe15a335a9 Change item selection method 2020-08-20 20:59:40 +02:00
Veronica K. B. Olsen
be0b9ef358 Fixed typo in test 2020-08-20 20:52:47 +02:00
Veronica K. B. Olsen
aef093a3e5 Try calling the function directly 2020-08-20 20:48:07 +02:00
Veronica K. B. Olsen
cff7463a7c Make sure the correct item is selected 2020-08-20 20:43:19 +02:00
Veronica K. B. Olsen
d4052568be Make sure new replace items in project settings are inserted at the top 2020-08-20 20:36:33 +02:00
Veronica K. B. Olsen
8b2d7e2917 test other packages and add delays to project editor test 2020-08-20 20:24:40 +02:00
Veronica K. B. Olsen
c0769581ea Add more packages 2020-08-20 20:09:42 +02:00
Veronica K. B. Olsen
dc0d80c622 Disable travis while we do this 2020-08-20 20:05:39 +02:00
Veronica K. B. Olsen
d723529708 Fix workflow file error 2020-08-20 20:04:57 +02:00
Veronica K. B. Olsen
e08bd436d7 Added pytest workflow 2020-08-20 20:03:12 +02:00
Veronica K. B. Olsen
d4ccb369f4 nw and tests folders only 2020-08-20 09:56:39 +02:00
Veronica K. B. Olsen
9d2563c72b Minor changes to flake8 check 2020-08-20 09:54:36 +02:00
Veronica K. Berglyd Olsen
da04be1761 Merge pull request #423 from vkbo/more_tests
Adding Tests for Project Load and Outline View
2020-08-20 00:22:55 +02:00
Veronica K. B. Olsen
d1f5703369 Drop the mouseclick and just pass the value 2020-08-20 00:11:05 +02:00
Veronica K. B. Olsen
d32451be1c Add a delay for loading the document view ite from outline 2020-08-20 00:02:56 +02:00
Veronica K. B. Olsen
7941cbbd34 Added test for outline panel 2020-08-19 23:55:23 +02:00
Veronica K. B. Olsen
d9b092b593 Fixed bug where word and paragraph count was swapped in outline details panel 2020-08-19 22:50:37 +02:00
Veronica K. B. Olsen
bd430d61e3 Added test for the project load dialog 2020-08-19 22:33:33 +02:00
Veronica K. Berglyd Olsen
cdc3155734 Merge branch 'main' into release_1.0b1 2020-08-19 21:39:47 +02:00
Veronica K. Berglyd Olsen
0469754da7 Merge pull request #421 from vkbo/max_depth
Make sure the Split Document tool doesn't go past the maximum folder depth
2020-08-18 21:54:50 +02:00
Veronica K. B. Olsen
5ee0b640bd Make sure the doc split doesn't go past the maximum folder depth 2020-08-18 21:47:50 +02:00
Veronica K. B. Olsen
0839662e68 Updated changelog 2020-08-18 21:40:17 +02:00
Veronica K. B. Olsen
5e00ef5052 Bumped version to 1.0b1 2020-08-18 21:09:09 +02:00
Veronica K. Berglyd Olsen
dbe7b80e07 Merge pull request #420 from vkbo/issue_418
Issue #418: Error printout in the logger
2020-08-18 20:59:56 +02:00
Veronica K. B. Olsen
b404a10285 Fix the error message about the lookup for a None handle - issue #418 2020-08-18 20:37:46 +02:00
Veronica K. Berglyd Olsen
752be16772 Merge pull request #419 from vkbo/viewer_tabs
Tab Stop in Document Viewer and Build
2020-08-18 20:18:00 +02:00
Veronica K. B. Olsen
95dd867d47 Bring the readme file up to date 2020-08-18 20:11:57 +02:00
Veronica K. B. Olsen
4a20a0eb01 Use markContentsDirty on the QTextDocument instead of the textWidth hack 2020-08-18 08:50:08 +02:00
Veronica K. B. Olsen
b80ff750fb A bit less aggressive version off the redraw text hack 2020-08-18 00:33:33 +02:00
Veronica K. B. Olsen
a9ac3a2aa1 Removed commented out code 2020-08-18 00:29:18 +02:00
Veronica K. B. Olsen
2f177c50fc Improved the tab handling and added the same fix to the build tool 2020-08-18 00:21:25 +02:00
Veronica K. B. Olsen
10936b6910 Implement the same tab stop code in the editor as for the viewer 2020-08-17 22:40:04 +02:00
Veronica K. B. Olsen
1d9cd3ee49 Add a workaround for getting tabs through the html parsing and setHtml function in QTextBrowser 2020-08-17 22:39:38 +02:00
Veronica K. Berglyd Olsen
4a706b6f90 Merge pull request #417 from vkbo/error_handling
Updated Error Handling
2020-08-17 20:53:05 +02:00
Veronica K. B. Olsen
4c91c08b22 More appropriate logging entries for final error shutdown 2020-08-17 20:46:58 +02:00
Veronica K. B. Olsen
0e0032e020 Some minor cleanup of the code 2020-08-17 20:39:39 +02:00
Veronica K. B. Olsen
1ac2503190 Removed the try/except around the main GUI call 2020-08-17 20:33:33 +02:00
Veronica K. B. Olsen
35ed4a1c8d Created a new error handler and dialog class 2020-08-17 20:32:52 +02:00
Veronica K. Berglyd Olsen
7df2f83202 Merge pull request #416 from vkbo/fixes
Outtake/Archive Fixes
2020-08-16 22:05:21 +02:00
Veronica K. B. Olsen
619810544a Reduce the defacto maximum folder depth from ~200 to a hard 30 and enforce it 2020-08-16 21:55:36 +02:00
Veronica K. B. Olsen
850ac2b2f3 Put back the edit item popup as it blocks runaway file or folder creation 2020-08-16 21:35:22 +02:00
Veronica K. B. Olsen
f21036d1f0 Minor tweaks in docs 2020-08-16 21:26:31 +02:00
Veronica K. B. Olsen
efc7078a22 Updated documentation 2020-08-16 21:24:04 +02:00
Veronica K. B. Olsen
c19c624652 Allow folders in Outtakes root folder as it seems to be working as intended with the current logic 2020-08-16 21:17:58 +02:00
Veronica K. B. Olsen
8cd4a6cc27 Use integer time for the index 2020-08-16 18:57:59 +02:00
Veronica K. B. Olsen
e4ad4f38c8 Indexer should still count words for trash and archived files 2020-08-16 18:39:34 +02:00
Veronica K. Berglyd Olsen
5fb0b9cfb1 Merge pull request #415 from vkbo/outtakes
Outtakes (Archive) Feature
2020-08-16 18:29:29 +02:00
Veronica K. B. Olsen
f1b2b1766d Updated documentation 2020-08-16 18:17:33 +02:00
Veronica K. B. Olsen
00f3909e19 Fix bug in update available root list when deleting root item 2020-08-16 17:58:40 +02:00
Veronica K. B. Olsen
7b39bc0780 Updated sample project with an example of archived files 2020-08-16 17:51:33 +02:00
Veronica K. B. Olsen
3f47aef77b Added an icon for the outtakes folder 2020-08-16 17:45:36 +02:00
Veronica K. B. Olsen
cc3c938e16 Fix build to exclude archived files 2020-08-16 17:39:18 +02:00
Veronica K. B. Olsen
68a7dd4390 Fixed menu entries and drop options for trash and archive folders 2020-08-16 17:25:11 +02:00
Veronica K. B. Olsen
65131e87c7 The deleted and outtake files are now properly handled by the index 2020-08-16 16:51:07 +02:00
Veronica K. B. Olsen
e0a824cfb6 Drag and drop of archived files now works 2020-08-16 16:28:51 +02:00
Veronica K. B. Olsen
b62cfc017b Added the archive root folder type 2020-08-16 16:10:30 +02:00
Veronica K. Berglyd Olsen
ce21670931 Merge pull request #413 from vkbo/editor_focus
Also capture the return key for the replace box
2020-08-16 15:16:36 +02:00
Veronica K. Berglyd Olsen
cb14ae5013 Merge branch 'main' into editor_focus 2020-08-16 15:11:43 +02:00
Veronica K. B. Olsen
accae5e074 Also capture the return key for the replace box 2020-08-16 15:10:02 +02:00
Veronica K. Berglyd Olsen
54274417d7 Merge pull request #412 from vkbo/editor_focus
Editor Focus and Enter Key Behaviour
2020-08-16 14:59:42 +02:00
Veronica K. B. Olsen
fa1c79a1da Add the alternative redo sequence Ctrl+Shift+Z to the documentation 2020-08-16 14:28:04 +02:00
Veronica K. B. Olsen
3f6737a3b8 Better capture of the tab, return and enter keys in the editor and search function 2020-08-16 14:27:20 +02:00
Veronica K. B. Olsen
0acea8877a Added the option to replace 3 hypens with emdash, not just endash+hyphen 2020-08-16 13:15:25 +02:00
Veronica K. Berglyd Olsen
1a9e54d11b Merge pull request #411 from vkbo/test_and_release_0.12.1
Release 0.12.1
2020-08-16 12:01:59 +02:00
Veronica K. Berglyd Olsen
48ee32ddde Merge branch 'main' into test_and_release_0.12.1 2020-08-16 11:57:13 +02:00
Veronica K. Berglyd Olsen
b6fd859dc4 Merge pull request #408 from vkbo/bugfixes
Various Minor Fixes
2020-08-16 11:57:03 +02:00
Veronica K. Berglyd Olsen
2c023e4733 Merge branch 'main' into bugfixes 2020-08-16 11:52:22 +02:00
Veronica K. B. Olsen
6af156af39 Added test for insert menu functionality 2020-08-16 11:48:46 +02:00
Veronica K. B. Olsen
8513e6a6c2 Updated changelog 2020-08-16 11:20:28 +02:00
Veronica K. B. Olsen
617192a6d9 set version to 0.12.1 2020-08-16 11:20:15 +02:00
Veronica K. Berglyd Olsen
9b7bf1918d Merge pull request #410 from vkbo/issue_409
Issue #409: Accidental tuple in insert menu
2020-08-16 10:41:29 +02:00
Veronica K. B. Olsen
bb0bcdd406 Removed an additional comma in some of the insert menu items that changed the type to tuple 2020-08-16 10:35:07 +02:00
Veronica K. B. Olsen
2a62998479 Use 1.0-beta1 as version number instead of 1.0b1 2020-08-15 22:26:04 +02:00
Veronica K. B. Olsen
287e083b0a QSysInfo.kernelversion doesn't exist in older versions of Qt 2020-08-15 20:49:35 +02:00
Veronica K. Berglyd Olsen
702a10fff5 Merge pull request #406 from vkbo/unnum_chapter_heading
Unnumbered Chapter: Alternative Syntax
2020-08-15 20:14:21 +02:00
Veronica K. B. Olsen
2ddbb628a4 Updated changelog 2020-08-15 20:09:06 +02:00
Veronica K. B. Olsen
1d83e0d678 Merge branch 'main' into unnum_chapter_heading 2020-08-15 20:05:58 +02:00
Veronica K. Berglyd Olsen
515e166006 Merge pull request #407 from vkbo/release_1.0b1
Version bump on main to 1.0b1
2020-08-15 20:05:24 +02:00
Veronica K. B. Olsen
0927c11798 Updated changelog 2020-08-15 20:00:04 +02:00
Veronica K. B. Olsen
4b60c879f1 Bumped version to 1.0 beta 1 2020-08-15 19:55:39 +02:00
Veronica K. B. Olsen
0252922cb7 Merge branch 'main' into unnum_chapter_heading 2020-08-15 19:42:12 +02:00
Veronica K. Berglyd Olsen
eb31076c4e Merge pull request #405 from vkbo/issue_396
Issue #396: Select Paragraph Fix
2020-08-15 19:41:47 +02:00
Veronica K. B. Olsen
29d19c6f10 Updated documentation accordingly 2020-08-15 19:40:48 +02:00
Veronica K. B. Olsen
19b97bf8a6 Added an override for unnumbered chapters based on a leading asterisk 2020-08-15 19:40:17 +02:00
Veronica K. B. Olsen
609572bbb8 Modify the paragraph selection behaviour of Qt to not select paragraph separator 2020-08-15 17:56:23 +02:00
Veronica K. Berglyd Olsen
e13aea684c Merge pull request #393 from vkbo/release_0.12
Release 0.12
2020-08-15 15:35:13 +02:00
Veronica K. B. Olsen
df65d2a959 Merge branch 'main' into release_0.12 2020-08-15 15:30:09 +02:00
Veronica K. Berglyd Olsen
77fefff1fe Merge pull request #403 from vkbo/issue_395
Issue 395: Check colour return value in Project Settings
2020-08-15 15:29:48 +02:00
Veronica K. B. Olsen
bc1d238965 Updated changelog with issue 395 fix 2020-08-15 15:27:01 +02:00
Veronica K. B. Olsen
1a4fd45803 Check that the colour returned for a status icon in project settings is valid 2020-08-15 15:22:40 +02:00
Veronica K. B. Olsen
0b8e5e3ef2 Changed release date to today 2020-08-15 15:17:27 +02:00
Veronica K. B. Olsen
774eb8edf7 Updated changelog with latest PR 2020-08-14 20:21:59 +02:00
Veronica K. B. Olsen
882f91adca Merge branch 'main' into release_0.12 2020-08-14 20:20:51 +02:00
Veronica K. B. Olsen
da747b2849 Added action badge to main readme 2020-08-14 20:17:42 +02:00
Veronica K. Berglyd Olsen
59f6b48a83 Merge pull request #401 from vkbo/flake_actions
Flake + actions
2020-08-14 20:10:39 +02:00
Veronica K. B. Olsen
a3f2487622 Fixed travis yml config warnings 2020-08-14 20:05:35 +02:00
Veronica K. B. Olsen
dcbe726170 Bumped travis ubuntu distro to focal 2020-08-14 19:57:52 +02:00
Veronica K. B. Olsen
593afdd823 Updated actions and templates 2020-08-14 19:52:02 +02:00
Veronica K. B. Olsen
77b1d50e31 Cleaned up tests for syntax 2020-08-14 19:50:29 +02:00
Veronica K. B. Olsen
2c04130e27 Updated changelog with PR 397 and 398 2020-08-13 22:38:20 +02:00
Veronica K. B. Olsen
54551a3498 Merge branch 'main' into release_0.12 2020-08-13 22:36:40 +02:00
Veronica K. Berglyd Olsen
559f2e53e4 Merge pull request #397 from vkbo/more_cleanup
More Code Cleanup (flake8)
2020-08-13 22:00:55 +02:00
Veronica K. Berglyd Olsen
c273f3f67e Merge branch 'main' into more_cleanup 2020-08-13 21:55:40 +02:00
Veronica K. Berglyd Olsen
3398bcec12 Merge pull request #398 from vkbo/templates
Update issue templates
2020-08-13 21:54:38 +02:00
Veronica K. B. Olsen
9d71cade2e Updated templates 2020-08-13 21:53:18 +02:00
Veronica K. Berglyd Olsen
5041f9be2a Update issue templates 2020-08-13 21:50:41 +02:00
Veronica K. B. Olsen
00e321a6bf Added link to the contributing file in readme 2020-08-13 21:42:04 +02:00
Veronica K. B. Olsen
4ca2edd25f Updated the contributing file 2020-08-13 21:40:02 +02:00
Veronica K. B. Olsen
fcd2b732c3 Renamed style.md file to CONTRIBUTING/md 2020-08-13 21:11:01 +02:00
Veronica K. Berglyd Olsen
29f6af7638 Merge branch 'main' into more_cleanup 2020-08-13 21:09:10 +02:00
Veronica K. B. Olsen
67ef5a89dd Removed additional spaces in enum file 2020-08-13 21:07:25 +02:00
Veronica K. B. Olsen
832b5747df Fiexd more formatting errors 2020-08-13 21:01:52 +02:00
Veronica K. B. Olsen
4cf49bd80a Updated flake8 settings 2020-08-13 21:01:15 +02:00
Veronica K. Berglyd Olsen
e1f3b15cf4 Create CODE_OF_CONDUCT.md 2020-08-13 10:25:31 +02:00
Veronica K. B. Olsen
bfb5f55e24 Updated changelog with PR #394 2020-08-12 22:05:14 +02:00
Veronica K. B. Olsen
0d68b8bb11 Merge branch 'main' into release_0.12 2020-08-12 22:04:45 +02:00
Veronica K. Berglyd Olsen
47b06dac1b Merge pull request #394 from vkbo/code_cleanup
Code Cleanup
2020-08-12 21:57:54 +02:00
Veronica K. B. Olsen
133b15957d Disabled codecov patch coverage check 2020-08-12 21:52:27 +02:00
Veronica K. B. Olsen
cccd3eacf1 Fixed syntax error in DummyMain class in tests 2020-08-12 21:50:43 +02:00
Veronica K. B. Olsen
f958f68302 Added style checks to action 2020-08-12 21:42:01 +02:00
Veronica K. B. Olsen
00f0a6887c Fixed flake8 W and F errors 2020-08-12 21:41:37 +02:00
Veronica K. B. Olsen
72cb1ed60f Fixed pycodestyle E7 errors 2020-08-12 21:11:25 +02:00
Veronica K. B. Olsen
95ee2bf874 Fixed pycodestyle E231 errors 2020-08-12 20:51:22 +02:00
Veronica K. B. Olsen
28ab689dab Fixed pycodestyle E1 errors 2020-08-12 20:28:42 +02:00
Veronica K. B. Olsen
827e84f731 Rewritten number to word function 2020-08-12 20:26:20 +02:00
Veronica K. B. Olsen
900bde6b9d That didn't work ... 2020-08-12 19:38:57 +02:00
Veronica K. B. Olsen
9fcfc38753 Added tests to flake8 action 2020-08-12 19:38:03 +02:00
Veronica K. Berglyd Olsen
b016c5d142 Update syntax.yml 2020-08-12 19:31:53 +02:00
Veronica K. Berglyd Olsen
58458e1036 Flake 8 check 2020-08-12 19:21:14 +02:00
Veronica K. B. Olsen
7f0bff29d2 Added config file for readthedocs 2020-08-12 13:12:54 +02:00
Veronica K. B. Olsen
b4497b133c Updated changelog 2020-08-11 23:05:54 +02:00
Veronica K. B. Olsen
8425c8c9be Bumped version to 0.12 2020-08-11 23:03:10 +02:00
Veronica K. Berglyd Olsen
ae997c3236 Merge pull request #366 from vkbo/new_project_wizard
New Project Wizard
2020-08-11 23:00:48 +02:00
Veronica K. B. Olsen
033c3e63c2 Some final tweaks 2020-08-11 22:55:38 +02:00
Veronica K. B. Olsen
e05aada76a Turning on codecov patch feature again 2020-08-11 22:29:46 +02:00
Veronica K. B. Olsen
dbdef444a1 Added project wizard gui test 2020-08-11 22:14:48 +02:00
Veronica K. B. Olsen
a46803232c Added tests for new sample and new custom project 2020-08-11 00:02:02 +02:00
Veronica K. B. Olsen
3acabdf74e Better title page 2020-08-10 22:26:37 +02:00
Veronica K. B. Olsen
72e4656a57 Have the new project function also set titles in files added 2020-08-10 22:16:46 +02:00
Veronica K. B. Olsen
7bc62db5e3 Updated project tests 2020-08-10 21:33:53 +02:00
Veronica K. B. Olsen
7d803a2eb7 Updated GUI tests 2020-08-10 21:25:45 +02:00
Veronica K. B. Olsen
8a50590a5d Update the new project code and add title page 2020-08-10 21:05:26 +02:00
Veronica K. B. Olsen
bf35bda942 Fixed tests 2020-08-09 20:53:38 +02:00
Veronica K. B. Olsen
9044ab4c3f Added setup command to create sample.zip file 2020-08-09 20:37:48 +02:00
Veronica K. B. Olsen
10067921f6 Fixed a few issues 2020-08-09 20:20:10 +02:00
Veronica K. B. Olsen
3c1e2727ad Extratcing the example project now works 2020-08-09 19:57:45 +02:00
Veronica K. B. Olsen
b5b657650a Creating a custom project now works 2020-08-09 18:17:46 +02:00
Veronica K. B. Olsen
ebec7c22a0 Wizard can now make a minimal project 2020-08-09 17:59:40 +02:00
Veronica K. B. Olsen
2702edced4 Completed the last couple of pages 2020-08-09 17:23:25 +02:00
Veronica K. B. Olsen
8ae491ddbc Merge branch 'main' into new_project_wizard 2020-08-09 16:17:40 +02:00
Veronica K. Berglyd Olsen
c74c733396 Merge pull request #392 from vkbo/release_0.11.1
Release 0.11.1
2020-08-09 16:01:29 +02:00
Veronica K. B. Olsen
fff03b8986 Updated changelog 2020-08-09 15:56:19 +02:00
Veronica K. B. Olsen
1215995531 Bumped version to 0.11.1 2020-08-09 15:42:58 +02:00
Veronica K. B. Olsen
c38951cf54 Force timezone for docs 2020-08-08 22:09:59 +02:00
Veronica K. Berglyd Olsen
42743fb891 Merge pull request #391 from vkbo/code_cleanup
Code Cleanup
2020-08-08 22:01:34 +02:00
Veronica K. B. Olsen
56b2cbee10 Code cleanup and added comments 2020-08-08 21:54:32 +02:00
Veronica K. B. Olsen
a9b6e00ba7 Cleanup of unused imports 2020-08-08 20:55:45 +02:00
Veronica K. Berglyd Olsen
a47c212b79 Merge pull request #390 from vkbo/docs_build_time
Add build date to docs
2020-08-08 20:09:00 +02:00
Veronica K. B. Olsen
aa8b2a7f23 Add build date to docs 2020-08-08 19:17:32 +02:00
Veronica K. Berglyd Olsen
1e3f006430 Merge pull request #389 from vkbo/dialog_modality
Dialog Modality
2020-08-08 18:48:41 +02:00
Veronica K. B. Olsen
16cfa13abb Removed show() from a few dialogs 2020-08-08 18:39:03 +02:00
Veronica K. B. Olsen
d1982c0abb Moved the about dialog functions to main gui class 2020-08-08 18:37:25 +02:00
Veronica K. B. Olsen
76fcc74342 Make writing stats and buid dialogs non-modal 2020-08-08 18:27:16 +02:00
Veronica K. Berglyd Olsen
1abff1e816 Merge pull request #388 from vkbo/travis_tweak
Travis tweaks
2020-08-08 17:32:29 +02:00
Veronica K. B. Olsen
6a664a1890 Drop 3.9 for now as it takes too long to build dependencies 2020-08-08 17:27:15 +02:00
Veronica K. Berglyd Olsen
1a76e13a00 Merge branch 'main' into travis_tweak 2020-08-08 17:19:28 +02:00
Veronica K. B. Olsen
d5b7c027fb Added conditional for future test stage 2020-08-08 17:18:42 +02:00
Veronica K. B. Olsen
7eabb7a1f4 That did not work 2020-08-08 17:09:30 +02:00
Veronica K. B. Olsen
9922efda77 Trying different packages 2020-08-08 17:06:05 +02:00
Veronica K. B. Olsen
59e588ebf5 Move the install commands back 2020-08-08 16:58:01 +02:00
Veronica K. B. Olsen
71d908fa3e Fixed 3.6 and added 3.9 2020-08-08 16:52:28 +02:00
Veronica K. B. Olsen
e8ad068a42 Another try at getting 3.7 to run 2020-08-08 16:43:06 +02:00
Veronica K. Berglyd Olsen
79186c2ccc Merge pull request #387 from vkbo/stats_hist_max
Writing Stats Histogram Cap
2020-08-08 16:31:24 +02:00
Veronica K. B. Olsen
d6e91df208 Updates to the travis script 2020-08-08 16:30:57 +02:00
Veronica K. B. Olsen
364aa77454 Added some info about the writing statistics tool in the docs 2020-08-08 16:19:47 +02:00
Veronica K. B. Olsen
5c1abfd220 Fix the slot for the various update signals 2020-08-08 16:11:16 +02:00
Veronica K. B. Olsen
ceabf50cf9 The histogram cap setting is now saved to the options file 2020-08-08 16:01:33 +02:00
Veronica K. B. Olsen
cd0f67d900 Prevent the enter key from closing the stats dialog 2020-08-08 15:57:45 +02:00
Veronica K. B. Olsen
2f9645491c The histogram bar of the writing stats dialog can now be capped 2020-08-08 15:51:59 +02:00
Veronica K. B. Olsen
43a7ea8f78 Merge branch 'main' into new_project_wizard 2020-08-08 15:26:27 +02:00
Veronica K. Berglyd Olsen
e927f88121 Merge pull request #386 from vkbo/doc_menu
Help Menu Improvements
2020-08-08 15:09:13 +02:00
Veronica K. B. Olsen
2d9a9c2b22 Updated documentation on shortcuts 2020-08-08 15:03:09 +02:00
Veronica K. B. Olsen
6bcf46191d better checking before launching local help 2020-08-08 14:58:19 +02:00
Veronica K. Berglyd Olsen
49bd828be0 Merge pull request #385 from vkbo/release_0.11
Release 0.11
2020-08-08 14:28:52 +02:00
Veronica K. B. Olsen
298df58808 Updated the sample file 2020-08-08 14:25:52 +02:00
Veronica K. B. Olsen
ff9acf8e6e Updated changelog 2020-08-08 14:24:57 +02:00
Veronica K. B. Olsen
9431af6330 Bumped version to 0.11 2020-08-08 14:06:45 +02:00
Veronica K. B. Olsen
edb556ba91 Shorten the first paragraph a bit 2020-08-08 11:08:44 +02:00
Veronica K. Berglyd Olsen
967f8360ed Merge pull request #384 from vkbo/update_readme
Update the readme file
2020-08-08 11:05:40 +02:00
Veronica K. B. Olsen
11ea0fb08f Update the readme file to match new docs 2020-08-08 11:02:22 +02:00
Veronica K. B. Olsen
96342e633d Fix another broken link 2020-08-07 23:29:43 +02:00
Veronica K. B. Olsen
58d4b24df5 Fix broken link 2020-08-07 23:28:16 +02:00
Veronica K. Berglyd Olsen
3ed98c7fed Merge pull request #375 from vkbo/docs_updates
Documentation Updates
2020-08-07 23:13:23 +02:00
Veronica K. B. Olsen
d7c1e47113 Made another pass of editing of the entire documentation 2020-08-07 23:06:35 +02:00
Veronica K. B. Olsen
566c704c87 Added docs logo 2020-08-07 20:55:30 +02:00
Veronica K. B. Olsen
050c08ea77 Trying a different header breakdown of the main document ... again 2020-08-06 23:52:02 +02:00
Veronica K. B. Olsen
62908adac6 Trying a different header breakdown of the main document 2020-08-06 23:48:46 +02:00
Veronica K. B. Olsen
38fb4a8184 Split up the toctree 2020-08-06 23:32:53 +02:00
Veronica K. B. Olsen
f820b8159e Fixed the layout of the export docs file 2020-08-06 23:18:03 +02:00
Veronica K. B. Olsen
4e7e888a53 Edited the remaining documentation files 2020-08-06 23:06:51 +02:00
Veronica K. B. Olsen
f227099eb4 Rewritten the structure page 2020-08-06 22:35:56 +02:00
Veronica K. B. Olsen
f600ad0759 Merge branch 'main' into docs_updates 2020-08-06 22:08:46 +02:00
Veronica K. B. Olsen
21eebbb88f Made a new pass of all the previously updated documentation files 2020-08-06 22:08:36 +02:00
Veronica K. Berglyd Olsen
8b1e9b2fbe Merge pull request #382 from vkbo/update_readme
Switch default branch
2020-08-06 10:34:06 +02:00
Veronica K. B. Olsen
80b8b3ec17 Updated readme with new default branch 2020-08-06 10:28:13 +02:00
Veronica K. B. Olsen
cb8e0231d7 Remove references to symspell 2020-08-05 00:09:37 +02:00
Veronica K. B. Olsen
c58b5e71d0 Use shutil.which to check for existence of executable instead 2020-08-04 21:36:24 +02:00
Veronica K. B. Olsen
565be8c580 Merge branch 'master' into docs_updates 2020-08-04 21:23:32 +02:00
Veronica K. B. Olsen
3708b3486b Make sure the assistant executable also exists 2020-08-04 21:23:25 +02:00
Veronica K. B. Olsen
bf184c4e5a The local documentation can now be opened if installed, otherwise go to online docs 2020-08-04 18:49:48 +02:00
Veronica K. B. Olsen
c695ae903f Added setup option to build qthelp documentation 2020-08-04 16:46:36 +02:00
Veronica K. Berglyd Olsen
a14b459664 Merge pull request #381 from vkbo/test_import_path
Added project root path to sys.path for test suite
2020-08-04 14:08:50 +02:00
Veronica K. B. Olsen
df61101ac3 Added project root path to sys.path for test suite 2020-08-04 12:59:24 +02:00
Veronica K. B. Olsen
0664e49ca2 Use release instead of version for docs 2020-08-04 12:57:19 +02:00
Veronica K. Berglyd Olsen
00160acf28 Merge branch 'master' into docs_updates 2020-08-03 23:53:01 +02:00
Veronica K. B. Olsen
9b9a3dd5bb Finished rewriting the project docs file 2020-08-03 23:33:05 +02:00
Veronica K. B. Olsen
2abe214b2f Added anchors to the already updated files 2020-08-03 22:52:25 +02:00
Veronica K. B. Olsen
9e2fe92c83 Added custom css and rewrote the interfaces docs file 2020-08-03 22:46:43 +02:00
Veronica K. Berglyd Olsen
c8ac0f0fc4 Merge pull request #380 from vkbo/fix_install
Fix install.py
2020-08-02 22:39:34 +02:00
Veronica K. B. Olsen
de7ba23a25 Fixed some problems with the install.py script 2020-08-02 22:27:01 +02:00
Veronica K. B. Olsen
c6c47866d1 Updated the getting started page 2020-08-02 22:26:01 +02:00
Veronica K. B. Olsen
5e414d5730 Merge branch 'master' into docs_updates 2020-08-02 21:46:08 +02:00
Veronica K. Berglyd Olsen
ffb65f8393 Merge pull request #379 from vkbo/about_tweaks
About and Setup Tweaks
2020-08-02 21:45:14 +02:00
Veronica K. B. Olsen
56528d0f98 Add source url variable to nw init 2020-08-02 21:36:09 +02:00
Veronica K. B. Olsen
4d0777b02e Remove duplicate settings from setup, and add more classifiers 2020-08-02 21:35:45 +02:00
Veronica K. B. Olsen
b6e06a81d5 Setup file should get version from nw/__init__.py 2020-08-02 21:25:45 +02:00
Veronica K. B. Olsen
148c3530e2 Split up author and credit entries in icon theme config files 2020-08-02 21:23:16 +02:00
Veronica K. B. Olsen
61190284be About box shoud now point to the new website URL 2020-08-02 21:22:50 +02:00
Veronica K. Berglyd Olsen
9a069eea8d Merge pull request #378 from vkbo/exceptions
Exception Handling
2020-08-02 19:17:20 +02:00
Veronica K. B. Olsen
d3ab1caf3a Block the error handler dialog in test mode 2020-08-02 15:14:46 +02:00
Veronica K. B. Olsen
46c9f0fb5f Added more infor to the error dialog 2020-08-02 15:03:17 +02:00
Veronica K. B. Olsen
95a5ee7b8a Set up global error handler and modified error handling for initial GUI build 2020-08-02 14:34:44 +02:00
Veronica K. B. Olsen
e5cdb2e8ca Added error.py file for error handling functions 2020-08-02 14:34:09 +02:00
Veronica K. Berglyd Olsen
5f64d55f5b Merge pull request #376 from vkbo/package_structure
Python Package Structure
2020-07-31 21:58:29 +02:00
Veronica K. B. Olsen
350d5beed7 Some minor last tweaks to the exception handler 2020-07-31 21:46:23 +02:00
Veronica K. B. Olsen
9233cdd014 Added exception handling for the main app itself 2020-07-31 17:49:10 +02:00
Veronica K. B. Olsen
fc017cd8da Changed how the application name is passed around 2020-07-31 16:41:46 +02:00
Veronica K. B. Olsen
02f85bd5d7 Set __package__ to nw and added variable __appname__ 2020-07-31 14:48:37 +02:00
Veronica K. B. Olsen
d848827e58 Updating documentation 2020-07-30 21:53:57 +02:00
Veronica K. B. Olsen
57f199ef17 Some updates to the docs config file 2020-07-30 00:18:08 +02:00
Veronica K. Berglyd Olsen
f5cc67d33f Merge pull request #374 from vkbo/release_0.10.2
Release 0.10.2
2020-07-29 16:44:17 +02:00
Veronica K. B. Olsen
2b3190400c Updated changelog and bumped version to 0.10.2 2020-07-29 16:34:42 +02:00
Veronica K. Berglyd Olsen
62e8750b18 Merge pull request #373 from vkbo/search_replace
Search/Replace Fix
2020-07-27 20:28:49 +02:00
Veronica K. B. Olsen
c506212efd Some minor code tweaks 2020-07-27 20:14:23 +02:00
Veronica K. B. Olsen
01e1ab3f68 Found a better way to validate a search/replace when using RegEx 2020-07-27 20:09:39 +02:00
Veronica K. Berglyd Olsen
a55552e132 Merge pull request #372 from vkbo/issue_371
Bugfix: RegEx Search/Replace Crash
2020-07-26 22:29:08 +02:00
Veronica K. B. Olsen
a4db7f934d Typo and clarification 2020-07-26 22:25:33 +02:00
Veronica K. B. Olsen
cacb0f2db8 Try to capture some user edge cases 2020-07-26 22:24:12 +02:00
Veronica K. B. Olsen
2dc225ae1f Revert that ... 2020-07-26 22:21:35 +02:00
Veronica K. B. Olsen
41b6ffa67b Drop the whole case check in replace 2020-07-26 22:19:29 +02:00
Veronica K. B. Olsen
45e762567b Fix for issue 371, regex search replace crash 2020-07-26 22:13:09 +02:00
Veronica K. Berglyd Olsen
f08743b338 Merge pull request #370 from vkbo/escape_warnings
Kill invalid escape sequence warning in Tokenizer class
2020-07-26 20:00:56 +02:00
Veronica K. B. Olsen
595218835e Kill invalid escape sequence warning in Tokenizer class 2020-07-26 19:55:31 +02:00
Veronica K. Berglyd Olsen
f0504f13f3 Merge pull request #369 from vkbo/screenshots
Updated screenshots
2020-07-26 19:51:23 +02:00
Veronica K. B. Olsen
d67e4fa48a Updated screenshots 2020-07-26 19:45:38 +02:00
Veronica K. Berglyd Olsen
5a813c9bc5 Merge pull request #367 from vkbo/insert_quotes
Insert Quotes in Text
2020-07-26 14:49:32 +02:00
Veronica K. B. Olsen
3c4a2f83e3 Updated documentation 2020-07-26 14:36:12 +02:00
Veronica K. B. Olsen
d17e9466d2 Removed the constant class for document insert values as they are no longer all static 2020-07-26 14:33:53 +02:00
Veronica K. B. Olsen
646562cdf8 Rewritten the doc editors insertText function 2020-07-26 14:33:12 +02:00
Veronica K. B. Olsen
0d179a6208 Added menu entries for insert quotes 2020-07-26 14:20:43 +02:00
Veronica K. B. Olsen
32878a336d Uncommited changes 2020-07-26 14:14:49 +02:00
Veronica K. B. Olsen
9db7550d30 Added populate project page, and two more dummy pages 2020-07-12 18:11:56 +02:00
Veronica K. B. Olsen
5749b1948f Changed a bit how novelWriter icon and dialog decoration is loaded 2020-07-12 17:30:40 +02:00
Veronica K. B. Olsen
8c895319e5 Added the wizard project location page 2020-07-11 15:48:31 +02:00
Veronica K. B. Olsen
1277e5025d Added first page to wizard 2020-07-11 15:07:11 +02:00
Veronica K. B. Olsen
8cc75fcbd4 Added project wizard class file 2020-07-11 13:49:48 +02:00
Veronica K. B. Olsen
efaa3b6719 Typo in changelog 2020-07-11 13:39:48 +02:00
Veronica K. Berglyd Olsen
e1a4265964 Merge pull request #365 from vkbo/release_0.10.1
Release 0.10.1
2020-07-11 13:17:05 +02:00
Veronica K. B. Olsen
81013c29d8 Updated changelog 2020-07-11 13:14:15 +02:00
Veronica K. B. Olsen
c174386e04 Bumped version to 0.10.1 2020-07-11 12:58:26 +02:00
Veronica K. Berglyd Olsen
202a413503 Merge pull request #364 from vkbo/fixes
Build Fixes
2020-07-11 12:50:11 +02:00
Veronica K. B. Olsen
8d1938922d Set the correct categories for the .desktop file 2020-07-10 14:36:25 +02:00
Veronica K. Berglyd Olsen
aa2706fa87 Merge branch 'master' into fixes 2020-07-10 14:32:12 +02:00
Veronica K. B. Olsen
0330b3a0b4 Added root folder assets to the manifest file 2020-07-10 14:26:39 +02:00
Veronica K. B. Olsen
fa08276dd5 Some fixed to the install scripts and launcher template 2020-07-09 12:23:39 +02:00
Veronica K. Berglyd Olsen
324445cab4 Merge pull request #363 from vkbo/fixes
Minor Fixes
2020-07-06 08:20:33 +02:00
Veronica K. B. Olsen
a14850de65 Improved the roman number function and fixed a bug in it 2020-07-06 08:16:22 +02:00
Veronica K. B. Olsen
57c7fdcf6d Fixed typo in tooltip 2020-07-05 23:25:29 +02:00
Veronica K. Berglyd Olsen
74dcf67dd9 Merge pull request #362 from vkbo/roman_numbers
Roman Numbers in Build Tool
2020-07-05 17:01:45 +02:00
Veronica K. B. Olsen
f805b0ccae Updated documentation 2020-07-05 16:56:21 +02:00
Veronica K. B. Olsen
7816bf5b87 Connected the Roman numbers function to the build tool 2020-07-05 16:56:06 +02:00
Veronica K. B. Olsen
1cb17733c6 Adding a numberToRoman function for converting integers to Roman number strings 2020-07-05 16:55:31 +02:00
Veronica K. Berglyd Olsen
e4b454c9c7 Merge pull request #361 from vkbo/minor_changes
Minor GUI Changes
2020-07-04 20:01:45 +02:00
Veronica K. B. Olsen
731fd4e139 Add tooltip to some more main gui buttons 2020-07-04 19:55:38 +02:00
Veronica K. B. Olsen
f179738b69 Reorder menu items and rename some features 2020-07-04 19:46:39 +02:00
Veronica K. B. Olsen
4cc295e0f2 Minor reordering of log output during init 2020-07-04 19:25:40 +02:00
Veronica K. Berglyd Olsen
5dd7befc82 Merge pull request #360 from vkbo/regex_update_search
Search/Replace Regular Expression Update
2020-07-03 23:13:34 +02:00
Veronica K. B. Olsen
a2b2910bd7 If running with Qt 5.13 or higher, search/replace uses the QRegularExpression class instead of just QRegExp 2020-07-03 23:06:56 +02:00
Veronica K. Berglyd Olsen
9130db1fe2 Merge pull request #359 from vkbo/fixes
Minor Fixes
2020-07-02 21:25:35 +02:00
Veronica K. B. Olsen
b119db0ee1 Add note about required Qt version for regex search/replace 2020-07-02 21:07:53 +02:00
Veronica K. B. Olsen
7bdfbc4ce7 Fixed error reporting for legacy project folder converter 2020-07-02 20:56:50 +02:00
Veronica K. Berglyd Olsen
eb985280ed Merge pull request #358 from vkbo/release_0.10
Release 0.10
2020-06-30 18:51:20 +02:00
Veronica K. B. Olsen
8081351ad6 Updated changelog 2020-06-29 22:29:29 +02:00
Veronica K. B. Olsen
e6a392481c Bumped version to 0.10 2020-06-29 21:33:36 +02:00
Veronica K. B. Olsen
8a06400f2a Made a note of the addition of GuiDocEditFooter in the source file 2020-06-29 21:32:08 +02:00
Veronica K. B. Olsen
2d82526bd1 Remove some out of date infor in docs 2020-06-29 19:19:23 +02:00
Veronica K. Berglyd Olsen
0d1bd5355a Merge pull request #357 from vkbo/option_highlight_emph
Optional Colour Highlighting of Emphasised Text
2020-06-29 19:05:50 +02:00
Veronica K. B. Olsen
fbd367c1b0 Fixed tests 2020-06-29 17:36:55 +02:00
Veronica K. B. Olsen
e190ef146e Moved writing guides settings to Editor tab in Preferences 2020-06-29 17:34:05 +02:00
Veronica K. B. Olsen
a6a28b41d1 Added option to disable colour highlighting of emphasised text 2020-06-29 17:33:36 +02:00
Veronica K. Berglyd Olsen
89591561fd Merge pull request #356 from vkbo/selectable_path
Select Path in Project Settings
2020-06-29 17:17:54 +02:00
Veronica K. Berglyd Olsen
85db807e3b Merge branch 'master' into selectable_path 2020-06-29 17:04:24 +02:00
Veronica K. Berglyd Olsen
ca9fb03803 Merge pull request #355 from vkbo/markdown-fixes
Markdown fixes
2020-06-29 17:04:12 +02:00
Veronica K. B. Olsen
a8b2a34438 Make project path selectable, issue #354 2020-06-29 13:49:36 +02:00
Veronica K. B. Olsen
4355d5fd77 Put back the non-breaking space in the sample 2020-06-29 13:28:15 +02:00
Veronica K. B. Olsen
fdf7f58d5f Updated docs 2020-06-29 13:14:47 +02:00
Veronica K. B. Olsen
70078be145 Fixed tests and updated sample 2020-06-29 12:56:36 +02:00
Veronica K. B. Olsen
564a15968c Fixed menu and shortcut action for bold/italic 2020-06-29 12:52:56 +02:00
Veronica K. B. Olsen
ceadfe1e5c Improved regex, highlighting and HTML conversion of bold and italic text. Reverting to old syntax for italic. 2020-06-29 12:15:49 +02:00
Veronica K. Berglyd Olsen
c572eb0d16 Merge pull request #351 from vkbo/hide_doc_footer
Hide docFooter in Zen Mode
2020-06-27 21:27:01 +02:00
Veronica K. B. Olsen
6b70d9677d Fixed tests 2020-06-27 21:21:49 +02:00
Veronica K. B. Olsen
c67e5f444a Added the code to hide document footer 2020-06-27 21:21:13 +02:00
Veronica K. B. Olsen
3d682e154e Added the hideZenFooter config option 2020-06-27 21:17:41 +02:00
Veronica K. B. Olsen
dad4677791 Fixed typo in enum 2020-06-27 21:06:19 +02:00
Veronica K. Berglyd Olsen
9f8963d6d2 Merge pull request #350 from vkbo/emphasis
Emphasis instead of Italic, Bold, etc
2020-06-27 21:04:47 +02:00
Veronica K. B. Olsen
2ac4e2ce26 Updated documentation 2020-06-27 20:52:48 +02:00
Veronica K. B. Olsen
e5180e1398 Fixed tests 2020-06-27 20:45:39 +02:00
Veronica K. B. Olsen
a15af30578 Renamed italic and bold to emphasis and strong emphasis 2020-06-27 20:45:24 +02:00
Veronica K. Berglyd Olsen
4d88b20fc1 Merge pull request #349 from vkbo/writing_stats
Writing Stats
2020-06-27 20:23:24 +02:00
Veronica K. B. Olsen
a89b3cbde3 Updated documentation 2020-06-27 20:17:23 +02:00
Veronica K. B. Olsen
1dce9b185b Fixed tests 2020-06-27 20:17:11 +02:00
Veronica K. B. Olsen
7d6d0cc195 Renamed Session Log to Writing Statistics 2020-06-27 20:16:21 +02:00
Veronica K. Berglyd Olsen
c78c0c82b3 Merge pull request #348 from vkbo/editor_footer
Editor Footer
2020-06-27 20:00:20 +02:00
Veronica K. B. Olsen
e9d21db263 Updated test 2020-06-27 19:56:38 +02:00
Veronica K. B. Olsen
c0074ca269 Update count and infor separately, and make sure info is updated on item edit 2020-06-27 19:49:06 +02:00
Veronica K. B. Olsen
243d9dd85a Remove doc word count from main statusbar, and added support for session word count for documents 2020-06-27 19:41:41 +02:00
Veronica K. B. Olsen
7d30a2c044 Added word count to the document footer 2020-06-27 19:29:41 +02:00
Veronica K. B. Olsen
ed1f30662c Merge branch 'master' into editor_footer 2020-06-27 18:12:45 +02:00
Veronica K. Berglyd Olsen
e930fb203c Merge pull request #347 from vkbo/fixes
Session Log Fix
2020-06-27 17:56:11 +02:00
Veronica K. Berglyd Olsen
6f89b1a9a5 Merge branch 'master' into fixes 2020-06-27 17:46:57 +02:00
Veronica K. B. Olsen
40e7213a39 And another fix, plus some cleanup 2020-06-27 17:44:48 +02:00
Veronica K. Berglyd Olsen
6cb10a3896 Merge pull request #346 from vkbo/fixes
Session Log Fixes and Project File Version Bump
2020-06-27 17:34:38 +02:00
Veronica K. B. Olsen
c241e5f52e Do it right! 2020-06-27 17:31:33 +02:00
Veronica K. B. Olsen
3d162b880a Alert the user to which novelWriter version the file was saved with. 2020-06-27 17:29:47 +02:00
Veronica K. B. Olsen
f4625647e1 Updated changelog 2020-06-27 17:21:03 +02:00
Veronica K. B. Olsen
1b773c1b44 Bump the version of the project XML file to prevent data loss if going back to an older version of novelWriter 2020-06-27 17:20:47 +02:00
Veronica K. B. Olsen
e6a8488e08 Some minor tweaks to the session log filter logic 2020-06-27 17:00:41 +02:00
Veronica K. Berglyd Olsen
91b2e1e57e Merge pull request #343 from vkbo/dev
Dev to Master for 0.10
2020-06-27 16:54:09 +02:00
Veronica K. B. Olsen
24582f4c2c Deleted the lib folder 2020-06-26 21:36:30 +02:00
Veronica K. B. Olsen
5f15b06303 Merge branch 'master' into dev 2020-06-26 21:32:19 +02:00
Veronica K. Berglyd Olsen
d40aab951f Merge pull request #345 from vkbo/release_0.9.2
Release 0.9.2
2020-06-26 21:28:18 +02:00
Veronica K. B. Olsen
c495825018 Grammatical error 2020-06-26 21:23:39 +02:00
Veronica K. B. Olsen
9126a1de2b Updated changelog 2020-06-26 21:21:25 +02:00
Veronica K. B. Olsen
9609095790 Bumped version number to 0.9.2 2020-06-26 21:21:08 +02:00
Veronica K. Berglyd Olsen
48c72b3755 Merge pull request #344 from vkbo/autoreplace_xml
Auto-Replace XML Format
2020-06-26 19:44:16 +02:00
Veronica K. B. Olsen
a0d07409d4 Fixed test 2020-06-26 19:33:42 +02:00
Veronica K. B. Olsen
e2f5ddf5f5 Change the storage format of auto-replace in the XML 2020-06-26 19:30:51 +02:00
Veronica K. Berglyd Olsen
216d3f2ce4 Merge pull request #339 from vkbo/session_log
Session Log Updates
2020-06-26 19:11:40 +02:00
Veronica K. B. Olsen
f78fbcbc8f Added test for the session log tool 2020-06-26 19:07:00 +02:00
Veronica K. B. Olsen
198836c261 No need to set the session log offset value if it's 0 2020-06-26 18:37:17 +02:00
Veronica K. B. Olsen
b05d6f2dc1 Remove some unused data and variables from the code 2020-06-26 18:28:36 +02:00
Veronica K. B. Olsen
bdedc7a11c The session data can now be exported to JSON and CSV files with the filters applied 2020-06-26 18:23:44 +02:00
Veronica K. B. Olsen
d316277f72 Merge branch 'dev' into session_log 2020-06-26 11:21:19 +02:00
Veronica K. B. Olsen
3258621456 No dash before rc1 in version number 2020-06-26 11:21:01 +02:00
Veronica K. B. Olsen
98b822fa47 Fix tests 2020-06-26 11:19:40 +02:00
Veronica K. B. Olsen
09be23a11e Brand new session stats log with saved counts for novel and notes seperately, and new parsing code 2020-06-25 21:11:37 +02:00
Veronica K. B. Olsen
9e6feb6b05 Session log entries can be grouped by day 2020-06-24 23:39:20 +02:00
Veronica K. B. Olsen
2749569482 Added histogram bars for relative word count in session log 2020-06-24 22:49:08 +02:00
Veronica K. B. Olsen
9f1826cb59 Replaced checkboxes with switches 2020-06-24 21:53:31 +02:00
Veronica K. B. Olsen
935971fa0c Give the session log class a shorter name 2020-06-24 21:45:41 +02:00
Veronica K. B. Olsen
1110f40231 Restructured the session log class and made it consistent with other source files 2020-06-24 21:36:08 +02:00
Veronica K. B. Olsen
a5c83a45f5 First some code cleanup and fix of the filtered total 2020-06-24 21:20:22 +02:00
Veronica K. B. Olsen
996bffb21b Bumped version for dev branch 2020-06-24 21:01:32 +02:00
Veronica K. Berglyd Olsen
b5afe8703b Merge pull request #338 from vkbo/update_docs
Update Docs
2020-06-23 22:43:18 +02:00
Veronica K. B. Olsen
5913c944d9 Make a note in the docd about bold/italic etc formatting 2020-06-23 22:40:16 +02:00
Veronica K. Berglyd Olsen
4043f81065 Merge pull request #337 from vkbo/built_time
Built Time – A Few Tweaks
2020-06-23 22:08:06 +02:00
Veronica K. Berglyd Olsen
2d9c92a156 Merge branch 'master' into built_time 2020-06-23 22:05:29 +02:00
Veronica K. B. Olsen
a1d7f8296f Set a default build doc header 2020-06-23 22:02:57 +02:00
Veronica K. B. Olsen
ca04f31309 Just let the fuzzy time run till it counts years 2020-06-23 22:02:19 +02:00
Veronica K. Berglyd Olsen
6d65c7a827 Merge pull request #336 from vkbo/built_time
Age of Project Build
2020-06-23 20:53:00 +02:00
Veronica K. B. Olsen
918d9c6470 Forgot to clean up imports 2020-06-23 20:45:34 +02:00
Veronica K. B. Olsen
c19c93d60c Some last tweaks 2020-06-23 20:41:10 +02:00
Veronica K. B. Olsen
bc8873fdd4 Also added a fuzzy time string to the build doc header to make it easier to see the age of the build 2020-06-23 20:23:52 +02:00
Veronica K. B. Olsen
b47d6b6546 Added a document header to the build tool document stating when it was generated 2020-06-23 19:55:19 +02:00
Veronica K. Berglyd Olsen
e83717f286 Merge pull request #335 from vkbo/word_counts
Word Counts
2020-06-22 19:34:52 +02:00
Veronica K. Berglyd Olsen
65df802a0a Merge branch 'master' into word_counts 2020-06-22 19:26:55 +02:00
Veronica K. Berglyd Olsen
34fbdae50d Merge pull request #334 from vkbo/reveal_in_tree
Scroll to Reveal in Tree Settings
2020-06-22 19:26:45 +02:00
Veronica K. B. Olsen
bce23c69e1 Also remove word count when a file is permamently deleted 2020-06-22 19:22:26 +02:00
Veronica K. B. Olsen
bc6751ba00 Move to trash and drag'n'drop items now updates word counts 2020-06-22 19:07:30 +02:00
Veronica K. B. Olsen
a57242d26f Different policy for scrolling to reveal tree item for different ways of opening a document 2020-06-22 18:37:22 +02:00
Veronica K. Berglyd Olsen
64e2521974 Merge pull request #329 from vkbo/release_0.9.1
Release 0.9.1 (Bugfix)
2020-06-21 22:33:18 +02:00
Veronica K. B. Olsen
56aba17bb9 Fixed typo 2020-06-21 21:38:03 +02:00
Veronica K. B. Olsen
8b0e14e8ac Bumped version to 0.9.1 and updated changelog 2020-06-21 21:36:49 +02:00
Veronica K. Berglyd Olsen
fe3c231071 Merge pull request #328 from vkbo/replace_bugfix
Fixed bug in search replace
2020-06-21 21:32:10 +02:00
Veronica K. B. Olsen
dac3643de6 Fixed bug in search replace 2020-06-21 21:28:05 +02:00
Veronica K. Berglyd Olsen
76e369905a Merge pull request #326 from vkbo/release_0.9
Release 0.9
2020-06-21 12:57:37 +02:00
Veronica K. B. Olsen
afd6c46609 Updated docs 2020-06-20 20:43:12 +02:00
Veronica K. B. Olsen
02da62f120 Fixed typo 2020-06-20 20:31:50 +02:00
Veronica K. B. Olsen
5eda8ddd13 Bumped version to 0.9 and updated changelog 2020-06-20 20:24:31 +02:00
Veronica K. Berglyd Olsen
9e5140ddb5 Merge pull request #315 from vkbo/dev
Dev to Master for 0.9
2020-06-20 20:15:19 +02:00
Veronica K. B. Olsen
51ddfb3cee Fixed a typo 2020-06-20 20:12:12 +02:00
Veronica K. B. Olsen
24d79ade58 Updated changelog 2020-06-20 20:10:31 +02:00
Veronica K. Berglyd Olsen
df473ad4d2 Merge pull request #325 from vkbo/project_tree_stay_put
Don't Auto-Scroll Project Tree
2020-06-20 19:50:18 +02:00
Veronica K. B. Olsen
b46177b40b Fixed test 2020-06-20 19:47:39 +02:00
Veronica K. B. Olsen
1d6f346955 Don't scroll project tree every time a document is opened 2020-06-20 18:17:48 +02:00
Veronica K. Berglyd Olsen
6c872596b7 Merge pull request #324 from vkbo/project_settings_settings
Project Settings Dimensions
2020-06-19 23:24:22 +02:00
Veronica K. Berglyd Olsen
14ae67c94c Merge branch 'dev' into project_settings_settings 2020-06-19 23:19:47 +02:00
Veronica K. Berglyd Olsen
f2e1be38cd Merge pull request #323 from vkbo/preview_tweaks
Preview Edit Doc Before Selected Doc
2020-06-19 23:19:37 +02:00
Veronica K. B. Olsen
5a373f1cda Save the window size and replace column width in project settings 2020-06-19 23:18:17 +02:00
Veronica K. B. Olsen
747ff63a92 Also save first if pressing the relaod button from the doc viewer header bar 2020-06-19 23:01:22 +02:00
Veronica K. B. Olsen
b19c106b45 CHange the order of preference for the view document action 2020-06-19 22:46:22 +02:00
Veronica K. Berglyd Olsen
6a95f1e960 Merge pull request #321 from vkbo/replace_quotes
Replace Quotes and Undo History Behaviour
2020-06-19 22:27:26 +02:00
Veronica K. B. Olsen
d6dd776056 Delete unused variable 2020-06-19 22:17:57 +02:00
Veronica K. B. Olsen
03f1142e40 Added replace quotes function, and cleaned up some buggy behaviour with undo and how changes are tracked 2020-06-19 21:56:37 +02:00
Veronica K. B. Olsen
b0380adc5f Added line and paragraph separatir unicodes back into nwUnicode class 2020-06-19 21:55:43 +02:00
Veronica K. Berglyd Olsen
38511b18ba Merge pull request #319 from vkbo/more_space
Document Insert Feature
2020-06-19 20:01:29 +02:00
Veronica K. B. Olsen
ee23f937f2 Added issues tracker menu entry, and made a few minor changes 2020-06-19 19:51:23 +02:00
Veronica K. B. Olsen
fdf7915747 Updated sample text with extra descriptions 2020-06-19 17:35:35 +02:00
Veronica K. B. Olsen
0fc0851def Added insert options and key bindings for seven different symbol and space inserts 2020-06-19 17:35:14 +02:00
Veronica K. B. Olsen
61856cec5b Added new constants for document insert feature 2020-06-19 17:34:41 +02:00
Veronica K. B. Olsen
3bfe214682 Added thin space and thin non-breaking space to unicode class 2020-06-18 23:45:23 +02:00
Veronica K. Berglyd Olsen
69170aad3e Merge pull request #318 from vkbo/test_coverage
Increase Test Coverage
2020-06-18 23:12:21 +02:00
Veronica K. B. Olsen
1135ca7f87 Added document action test 2020-06-18 23:00:47 +02:00
Veronica K. B. Olsen
8ff54ceaa4 Added some more checks in the gui tests for writing documents 2020-06-18 22:36:36 +02:00
Veronica K. B. Olsen
70ce2b1226 Update codecov settings 2020-06-18 21:58:38 +02:00
Veronica K. B. Olsen
4dd27ba58c Updated changelog 2020-06-18 21:37:34 +02:00
Veronica K. Berglyd Olsen
c1e89db0a8 Merge pull request #317 from vkbo/quotes
Quote Symbols Dialog
2020-06-18 21:23:26 +02:00
Veronica K. B. Olsen
28641a7b13 Fixed test and cleaned up imports 2020-06-18 21:20:15 +02:00
Veronica K. B. Olsen
670f1c0b35 Added the quote selection dialog to Preferences 2020-06-18 19:30:34 +02:00
Veronica K. B. Olsen
a64d867ed4 Added a quote symbol selection dialog 2020-06-18 19:30:02 +02:00
Veronica K. B. Olsen
bbd6e70868 Forgot to save the file ... 2020-06-17 22:39:52 +02:00
Veronica K. B. Olsen
1978d50e7e Some minor cleanup in doceditor 2020-06-17 22:39:01 +02:00
Veronica K. B. Olsen
399b13dd3d Make both panes use viewportmargin 2020-06-17 22:27:06 +02:00
Veronica K. B. Olsen
8896bbb4b9 Merge branch 'dev' into editor_footer 2020-06-17 22:20:36 +02:00
Veronica K. Berglyd Olsen
1d9493f1f5 Merge pull request #314 from vkbo/update_search_replace
Update Search Replace
2020-06-17 21:51:27 +02:00
Veronica K. B. Olsen
c2b55530be Renamed a variable, and fixed the document margins of search box change of size 2020-06-17 21:46:59 +02:00
Veronica K. B. Olsen
c264e6100d Replaced one of the icons on the search bar 2020-06-17 21:46:23 +02:00
Veronica K. B. Olsen
5832d3db71 This seemed to fix the test on the local machine 2020-06-17 21:28:22 +02:00
Veronica K. B. Olsen
b2747baf6d Pin exact version then ... 2020-06-17 20:50:22 +02:00
Veronica K. B. Olsen
7994491c5d Force tests to run with qt<5.15 2020-06-17 20:45:34 +02:00
Veronica K. B. Olsen
deec57c9c6 Another attempt at forcing the test word counter 2020-06-17 20:23:20 +02:00
Veronica K. B. Olsen
f2c1ce1cca Second attempt at fixing test where the word counter suddenly isn't working 2020-06-17 20:05:30 +02:00
Veronica K. B. Olsen
22341c5e21 Fixed test and cleaned up imports 2020-06-17 19:56:19 +02:00
Veronica K. B. Olsen
79d6e3594c Fixed tests 2020-06-17 19:47:44 +02:00
Veronica K. B. Olsen
6712a7dfcd The state of the search buttons is now saved between sessions 2020-06-17 19:47:25 +02:00
Veronica K. B. Olsen
32052b1bc3 Searching through files can now loop back to first file again 2020-06-17 19:29:25 +02:00
Veronica K. B. Olsen
ad21c6e3a4 Continue search in next file is now working 2020-06-17 19:16:32 +02:00
Veronica K. B. Olsen
0ddb7ad1de Preserve case repalce now works 2020-06-17 17:15:30 +02:00
Veronica K. B. Olsen
c3c0bd7abe Added search options as a toolbar instead 2020-06-17 16:57:49 +02:00
Veronica K. B. Olsen
ef0d1fc89c Added icons for the search tool 2020-06-17 16:57:20 +02:00
Veronica K. B. Olsen
abc14db7d1 Search options can now be set in a popup menu 2020-06-16 23:07:18 +02:00
Veronica K. B. Olsen
f28a9f4523 Regex searching also works now 2020-06-16 22:32:08 +02:00
Veronica K. B. Olsen
ad8463543e Merged find next and prev functions, and added optrions for case sensitivity and whole words 2020-06-16 21:35:57 +02:00
Veronica K. B. Olsen
8755434f76 Fix weird issue with text editor capturing enter key without having focus 2020-06-16 20:44:24 +02:00
Veronica K. B. Olsen
2c5692085e Use viewport margins for all scaling of editor doc margins 2020-06-16 00:20:59 +02:00
Veronica K. B. Olsen
a4108222b0 Search functionality mostly working again 2020-06-15 22:24:50 +02:00
Veronica K. B. Olsen
65492b13b7 Some cleanup of unneeded code in main gui 2020-06-15 22:24:26 +02:00
Veronica K. B. Olsen
bbb0f5f9dd Moved the search bar code into a new class 2020-06-15 21:36:04 +02:00
Veronica K. B. Olsen
7374d0513e Some minor changes for code consistency 2020-06-15 16:39:31 +02:00
Veronica K. B. Olsen
aad35e2d7b First some cleanup of the document widgets 2020-06-15 16:35:24 +02:00
Veronica K. B. Olsen
8d71a2385b Minimal doc editor footer bar 2020-06-14 22:01:58 +02:00
Veronica K. B. Olsen
094da13c49 Merge branch 'master' into dev 2020-06-14 16:10:51 +02:00
Veronica K. Berglyd Olsen
55b8fd20c6 Merge pull request #310 from vkbo/tidy_formatting
Standard Markdown Text Emphasis
2020-06-13 21:17:08 +02:00
Veronica K. B. Olsen
bd8a6afd91 Minor tweaks in text parsing and highlighting 2020-06-13 21:14:04 +02:00
Veronica K. B. Olsen
ff6b4bcfa7 Improve the word saparation detection of the spell check highlighting 2020-06-13 20:44:27 +02:00
Veronica K. B. Olsen
95268a8ca5 Updated changelog and documentation 2020-06-13 10:46:58 +02:00
Veronica K. B. Olsen
d2b1b8b57e Added back in strikethrough support 2020-06-13 10:27:02 +02:00
Veronica K. B. Olsen
31ca1718a0 Also in the tokenizer 2020-06-13 10:08:35 +02:00
Veronica K. B. Olsen
49049e19d8 Moved the emphasis regexes to a constants class 2020-06-13 10:08:00 +02:00
Veronica K. B. Olsen
6951b3d2fa Fixed tests 2020-06-13 00:39:57 +02:00
Veronica K. B. Olsen
8adda0c4a9 Fix regexes to be exclusive for 1, 2 and 3 stars 2020-06-13 00:14:34 +02:00
Veronica K. B. Olsen
63656e637f Improved the emphasis function for alternating between levels 2020-06-12 22:47:54 +02:00
Veronica K. B. Olsen
013b737452 Updated syntax highlighter 2020-06-12 22:47:13 +02:00
Veronica K. B. Olsen
1f434718ec Replaced underline format with bold-italic, and all formats now use star, not underscore 2020-06-12 22:00:14 +02:00
Veronica K. B. Olsen
3c8cf6829a Added changelog entry for PR #309 2020-06-12 20:28:54 +02:00
Veronica K. Berglyd Olsen
501fc6cf77 Merge pull request #309 from vkbo/load_updates
Project Load Updates (++)
2020-06-12 20:27:01 +02:00
Veronica K. B. Olsen
ee303491e4 Only one standard icon size 2020-06-12 20:18:58 +02:00
Veronica K. B. Olsen
19474dbc5e Pop a dialog box before removing an item from the recent entries list 2020-06-12 20:10:00 +02:00
Veronica K. B. Olsen
f7363c8465 Added PR #308 to yhe changelog 2020-06-12 17:51:04 +02:00
Veronica K. Berglyd Olsen
bff56aa100 Merge pull request #308 from vkbo/more_meta
More Meta
2020-06-12 17:48:32 +02:00
Veronica K. B. Olsen
5358bf5e6b Trying another method of parsing the meta string 2020-06-12 17:45:27 +02:00
Veronica K. B. Olsen
06ac3bdaba Fixed tests 2020-06-12 17:22:57 +02:00
Veronica K. B. Olsen
ad0ccf8a56 Fixed return of no meta data 2020-06-12 17:22:48 +02:00
Veronica K. B. Olsen
66c8931ece Updated sample project 2020-06-12 17:22:32 +02:00
Veronica K. B. Olsen
3fc17c5439 Save more meta data to the top of files 2020-06-12 17:08:18 +02:00
Veronica K. B. Olsen
8e38637250 No ned to explicitly declare sets 2020-06-12 17:07:55 +02:00
Veronica K. B. Olsen
2c48e02558 Bumped dev branch to version 0.9rc1 2020-06-11 22:52:11 +02:00
730 changed files with 117218 additions and 402526 deletions

12
.github/FUNDING.yml vendored Normal file
View File

@@ -0,0 +1,12 @@
# These are supported funding model platforms
# github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
# patreon: # Replace with a single Patreon username
# open_collective: # Replace with a single Open Collective username
ko_fi: jadzia626
# tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
# community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
# liberapay: # Replace with a single Liberapay username
# issuehunt: # Replace with a single IssueHunt username
# otechie: # Replace with a single Otechie username
# custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']

16
.github/ISSUE_TEMPLATE/bug-report.md vendored Normal file
View File

@@ -0,0 +1,16 @@
---
name: Bug Report
about: Create a report to help us improve
title: ""
labels: bug
---
**Note**: Issues without a description will not be considered.
Please also check if an issue already exists on this problem.
Please provide a description covering the following points, if applicable:
* A clear and concise description of what the bug is.
* Steps to reproduce the behaviour
* A clear and concise description of what you expected to happen.
* If applicable, add screenshots to help explain your problem.
* If the error dialog popped up, copy/paste the content here.

View File

@@ -0,0 +1,15 @@
---
name: Feature Request
about: Suggest an idea for this project
title: ""
labels: enhancement
---
**Note**: Feature requests without a description will not be considered.
Please also check if an issue already exists on this feature.
Please provide a description covering the following points, if applicable:
* A clear and concise description of what the problem is. Ex. I'm always frustrated when ...
* A clear and concise description of what you want to happen.
* A clear and concise description of any alternative solutions or features you've considered.
* If applicable, add screenshots to help explain your request.

24
.github/pull_request_template.md vendored Normal file
View File

@@ -0,0 +1,24 @@
<!--
Please check the following before you make a pull request:
* The branch you are making the pull request from (in your own fork) has a unique and descriptive
name. Do not make a pull request directly from your copy of `main`.
* If you are submitting translation files, only submit the files that you have added translations
to, not the other .ts files that may have been updated in the process.
* Make sure your contribution follows the style guide and other requirements mentioned in the
CONTRIBUTING.md file in the repository.
* Fill in the Summary section below, and if relevant, mention the issue numbers related to the PR.
-->
**Summary:**
**Related Issue(s):**
**Reviewer's Checklist:**
* [ ] The header of all files contain a reference to the repository license
* [ ] The overall test coverage is increased or remains the same as before
* [ ] All tests are passing
* [ ] All flake8 checks are passing and the style guide is followed
* [ ] Documentation (as docstrings) is complete and understandable
* [ ] Only files that have been actively changed are committed

33
.github/workflows/syntax.yml vendored Normal file
View File

@@ -0,0 +1,33 @@
name: flake8
on:
push:
branches:
- main
- patch
pull_request:
branches:
- main
- patch
jobs:
checkSyntax:
runs-on: ubuntu-latest
steps:
- name: Python Setup
uses: actions/setup-python@v4
with:
python-version: 3
architecture: x64
- name: Checkout Source
uses: actions/checkout@v3
- name: Install flake8
run: pip install flake8
- name: Syntax Error Check
run: |
flake8 novelwriter --count --select=E9,F63,F7,F82 --show-source --statistics
flake8 tests --count --select=E9,F63,F7,F82 --show-source --statistics
- name: Coding Style Violations
run: |
flake8 novelwriter --count --max-line-length=99 --ignore E133,E221,E226,E228,E241,W503 --show-source --statistics
flake8 tests --count --max-line-length=99 --ignore E133,E221,E226,E228,E241,W503 --show-source --statistics

43
.github/workflows/test_linux.yml vendored Normal file
View File

@@ -0,0 +1,43 @@
name: Linux
on:
push:
branches:
- main
- patch
pull_request:
branches:
- main
- patch
jobs:
testLinux:
strategy:
matrix:
python-version: ["3.7", "3.8", "3.9", "3.10", "3.11"]
runs-on: ubuntu-latest
steps:
- name: Python Setup
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
architecture: x64
- name: Install Packages (apt)
run: |
sudo apt update
sudo apt install libenchant-dev qttools5-dev-tools aspell-en
- name: Checkout Source
uses: actions/checkout@v3
- name: Install Dependencies (pip)
run: |
pip install --upgrade pip
pip install -r requirements.txt
pip install -r requirements-dev.txt
- name: Run Build Commands
run: python setup.py qtlrelease sample
- name: Run Tests
run: |
export QT_QPA_PLATFORM=offscreen
pytest -v --cov=novelwriter --timeout=60
- name: Upload to Codecov
uses: codecov/codecov-action@v3

38
.github/workflows/test_mac.yml vendored Normal file
View File

@@ -0,0 +1,38 @@
name: macOS
on:
push:
branches:
- main
- patch
pull_request:
branches:
- main
- patch
jobs:
testMac:
runs-on: macos-latest
steps:
- name: Python Setup
uses: actions/setup-python@v4
with:
python-version: "3.10"
architecture: x64
- name: Install Packages
run: |
brew install enchant
- name: Checkout Source
uses: actions/checkout@v3
- name: Install Dependencies
run: |
pip install --upgrade pip
pip install -r requirements.txt
pip install -r requirements-dev.txt
pip install pyobjc
- name: Run Tests
run: |
export QT_QPA_PLATFORM=offscreen
pytest -v --cov=novelwriter --timeout=60
- name: Upload to Codecov
uses: codecov/codecov-action@v3

33
.github/workflows/test_win.yml vendored Normal file
View File

@@ -0,0 +1,33 @@
name: Windows
on:
push:
branches:
- main
- patch
pull_request:
branches:
- main
- patch
jobs:
testWin:
runs-on: windows-latest
steps:
- name: Python Setup
uses: actions/setup-python@v4
with:
python-version: "3.10"
architecture: x64
- name: Checkout Source
uses: actions/checkout@v3
- name: Install Dependencies
run: |
pip install --upgrade pip
pip install -r requirements.txt
pip install -r requirements-dev.txt
- name: Run Tests
run: |
pytest -v --cov=novelwriter --timeout=60
- name: Upload to Codecov
uses: codecov/codecov-action@v3

27
.gitignore vendored
View File

@@ -1,31 +1,54 @@
# Setup/Install
/MANIFEST
/dist/
/build/
/deploy/
/dist/
/dist_*/
*.spec
*.egg-info
setup.iss
/novelwriter.desktop
/novelWriter.pyw
# Translations
/novelwriter/assets/i18n/*.qm
.qmake.stash
i18n/*.qm
i18n/*.qph
# Documentation
/docs/build/
/docs/source/_*
/novelwriter/assets/help/
/novelwriter/assets/manual.pdf
*.qch
*.qhc
.~lock.*
# Python Temp
__pycache__
*.pyc
# Sample Project
/novelwriter/assets/sample.zip
/sample/cache
/sample/meta
/sample/versions
*.bak
*.lock
ToC.txt
# PyTest
/prof/
/htmlcov/
/tests/temp
/tests/lipsum/cache
/tests/lipsum/meta
/tests/minimal/cache
/tests/minimal/meta
/tests/oldproj/cache
/.pytest_cache
/pytestdebug.log
# Coverage
/.coverage
/coverage.*

24
.readthedocs.yml Normal file
View File

@@ -0,0 +1,24 @@
# Read the Docs configuration file
# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details
# Required
version: 2
# Build documentation in the docs/ directory with Sphinx
sphinx:
configuration: docs/source/conf.py
# Build documentation with MkDocs
#mkdocs:
# configuration: mkdocs.yml
# Optionally build your docs in additional formats such as PDF
formats:
- htmlzip
- epub
- pdf
# Optionally set the version of Python and requirements required to build your docs
python:
install:
- requirements: docs/source/requirements.txt

View File

@@ -1,32 +0,0 @@
os: linux
dist: bionic
services:
- xvfb
language: python
cache: bundler
addons:
apt:
packages:
- libenchant-dev
- python3-pyqt5
- python3-pyqt5.qtsvg
python:
- "3.6"
- "3.7"
- "3.8"
install:
- pip install --upgrade pip
- pip install -r requirements.txt
# - pip install pytest-faulthandler
- pip install PyVirtualDisplay==0.2.5
- pip install pytest-xvfb
- pip install pytest-cov
- pip install pytest-qt
- pip install codecov
script:
- python -m pytest --cov=nw -m "project|core|gui" -v
after_success:
- codecov
after_failure:
- cat /sys/fs/cgroup/memory/memory.max_usage_in_bytes

File diff suppressed because it is too large Load Diff

132
CODE_OF_CONDUCT.md Normal file
View File

@@ -0,0 +1,132 @@
# Contributor Covenant Code of Conduct
## Our Pledge
We as members, contributors, and leaders pledge to make participation in our
community a harassment-free experience for everyone, regardless of age, body
size, visible or invisible disability, ethnicity, sex characteristics, gender
identity and expression, level of experience, education, socio-economic status,
nationality, personal appearance, race, caste, color, religion, or sexual
identity and orientation.
We pledge to act and interact in ways that contribute to an open, welcoming,
diverse, inclusive, and healthy community.
## Our Standards
Examples of behavior that contributes to a positive environment for our
community include:
* Demonstrating empathy and kindness toward other people
* Being respectful of differing opinions, viewpoints, and experiences
* Giving and gracefully accepting constructive feedback
* Accepting responsibility and apologizing to those affected by our mistakes,
and learning from the experience
* Focusing on what is best not just for us as individuals, but for the overall
community
Examples of unacceptable behavior include:
* The use of sexualized language or imagery, and sexual attention or advances of
any kind
* Trolling, insulting or derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing others' private information, such as a physical or email address,
without their explicit permission
* Other conduct which could reasonably be considered inappropriate in a
professional setting
## Enforcement Responsibilities
Community leaders are responsible for clarifying and enforcing our standards of
acceptable behavior and will take appropriate and fair corrective action in
response to any behavior that they deem inappropriate, threatening, offensive,
or harmful.
Community leaders have the right and responsibility to remove, edit, or reject
comments, commits, code, wiki edits, issues, and other contributions that are
not aligned to this Code of Conduct, and will communicate reasons for moderation
decisions when appropriate.
## Scope
This Code of Conduct applies within all community spaces, and also applies when
an individual is officially representing the community in public spaces.
Examples of representing our community include using an official e-mail address,
posting via an official social media account, or acting as an appointed
representative at an online or offline event.
## Enforcement
Instances of abusive, harassing, or otherwise unacceptable behavior may be
reported to the community leaders responsible for enforcement at issues (at)
novelwriter.io. All complaints will be reviewed and investigated promptly and
fairly.
All community leaders are obligated to respect the privacy and security of the
reporter of any incident.
## Enforcement Guidelines
Community leaders will follow these Community Impact Guidelines in determining
the consequences for any action they deem in violation of this Code of Conduct:
### 1. Correction
**Community Impact**: Use of inappropriate language or other behavior deemed
unprofessional or unwelcome in the community.
**Consequence**: A private, written warning from community leaders, providing
clarity around the nature of the violation and an explanation of why the
behavior was inappropriate. A public apology may be requested.
### 2. Warning
**Community Impact**: A violation through a single incident or series of
actions.
**Consequence**: A warning with consequences for continued behavior. No
interaction with the people involved, including unsolicited interaction with
those enforcing the Code of Conduct, for a specified period of time. This
includes avoiding interactions in community spaces as well as external channels
like social media. Violating these terms may lead to a temporary or permanent
ban.
### 3. Temporary Ban
**Community Impact**: A serious violation of community standards, including
sustained inappropriate behavior.
**Consequence**: A temporary ban from any sort of interaction or public
communication with the community for a specified period of time. No public or
private interaction with the people involved, including unsolicited interaction
with those enforcing the Code of Conduct, is allowed during this period.
Violating these terms may lead to a permanent ban.
### 4. Permanent Ban
**Community Impact**: Demonstrating a pattern of violation of community
standards, including sustained inappropriate behavior, harassment of an
individual, or aggression toward or disparagement of classes of individuals.
**Consequence**: A permanent ban from any sort of public interaction within the
community.
## Attribution
This Code of Conduct is adapted from the [Contributor Covenant][homepage],
version 2.1, available at
[https://www.contributor-covenant.org/version/2/1/code_of_conduct.html][v2.1].
Community Impact Guidelines were inspired by
[Mozilla's code of conduct enforcement ladder][Mozilla CoC].
For answers to common questions about this code of conduct, see the FAQ at
[https://www.contributor-covenant.org/faq][FAQ]. Translations are available at
[https://www.contributor-covenant.org/translations][translations].
[homepage]: https://www.contributor-covenant.org
[v2.1]: https://www.contributor-covenant.org/version/2/1/code_of_conduct.html
[Mozilla CoC]: https://github.com/mozilla/diversity
[FAQ]: https://www.contributor-covenant.org/faq
[translations]: https://www.contributor-covenant.org/translations

122
CONTRIBUTING.md Normal file
View File

@@ -0,0 +1,122 @@
# Contributing Guide
When contributing to this repository, please first discuss the change you wish to make via the
issue tracker or the discussions page with the owner of this repository. Especially if it is
regarding new features. If you just want to make a minor correction, like fix a typo or similar,
feel free to just make a pull request directly.
The following contributions are welcome:
* Bugfixes for new or existing bugs. Please also report new bugs in the issue tracker even if you
also provide a fix. It makes it easier to keep track of what has been fixed and when.
* Translations via the [crowdin project page](https://crowdin.com/project/novelwriter).
* Improvements to the documentation. Particularly if the documentation is unclear. Please don't
make any larger changes to the documentation without discussing if with the maintainer first.
* Adaptations, installation or packaging features targeting specific operating systems.
Please do not:
* Make a pull request that restructures or reformats existing code. If you think some parts of the
code could be improved, please make an issue thread or start a discussion. The same applies to
any text document in the repository.
## Pull Requests
This project follows the [OneFlow](https://www.endoflineblog.com/oneflow-a-git-branching-model-and-workflow)
model. The `main` branch is the default branch. For general changes, please make a new branch in
your own fork from the current `main` branch. Do not make pull requests from your own `main`
branch.
**Note:** If your contribution is a bugfix for a specific version, please make a bugfix branch from
the tag you want the fix to be applied to, not directly from the `main` branch. This is important.
Also check the following:
* Make sure your code passes all tests and conforms to the style guide. You can check that the
code generally conforms by running the Python linting tool `flake8` from the root of the project
folder, although it doesn't check everything. The same check is also run on pull requests by the
maintainer.
* Please provide a description of the changes in the pull request under the summary section of the
pull request template, and reference any related issues by providing the issue number.
* Do not change the version number.
* Do not submit files that were not actively changed but have otherwise been modifed. This is
mostly an issue with translation files. The language tool may update all files in the `i18n`
folder.
## Code of Conduct
There is a code of conduct. Please follow it in all your interactions with the project.
### Our Pledge
In the interest of fostering an open and welcoming environment, we as contributors and maintainers
pledge to making participation in our project and our community a harassment-free experience for
everyone, regardless of age, body size, disability, ethnicity, gender identity and expression,
level of experience, nationality, personal appearance, race, religion, or sexual identity and
orientation.
Please see the [CODE_OF_CONDUCT](CODE_OF_CONDUCT.md) file for the full text.
## Code Style Guide
The source code of novelWriter broadly follows the [PEP8](https://www.python.org/dev/peps/pep-0008)
style guide, but with a few exceptions. Some key points are listed below.
**Line Length:**
* Source code lines can extend to the upper limit of 99 characters allowed by PEP8. 79 characters
is the recommended line length in PEP8, but this is often too restrictive. 99 characters are
acceptable when that is more practical. Readability has priority. Generally, if a code statement
requires multiple lines, the lines should wrap at 79 characters if possible. If wrapping can be
avoided by going to 99, then that is generally preferrable.
* For text files, the text should be wrapped at 99 character. The exception is markdown image tags
and urls which can run past that limit.
**Variable and Function Names**
* PEP8 allows for camelCase for consistency with existing code. The Qt library uses camelCase, so
the Python source code does too.
* The exception to the above is for constants. They should always be in upper snake case, like PEP8
states.
**Spaces, Indentation and Alignment**
* Only indentation by multiples of 4 spaces is allowed.
* No trailing spaces should occur on any line in the source code, including empty lines.
* Ideally, a function should end on the same indention level as it started. Exceptions are allowed
if it makes the code easier to follow.
* Aligning operators and attributes in columns with multiple spaces is not allowed by PEP8. The
rule is relaxed a bit here. Alignment is allowed when populating large dictionaries or setting
many class attributes. It does improve readability in such cases, but should not be overused.
### Linting with `flake8`
A good tool for checking Python code for errors and code style is `flake8`. The documentation is
available [here](https://flake8.pycqa.org/en/latest/).
The `setup.cfg` file in the root of this project has the following settings for `flake8` that
matches the above code style:
```conf
[flake8]
ignore = E133,E221,E226,E228,E241,W503
max-line-length = 99
exclude = docs/*
```
The command line equivalent, with reporting, is:
```bash
flake8 . --count --ignore E133,E221,E226,E228,E241,W503 --max-line-length=99 --show-source --statistics
```
Passing this check is required before contributions are merged. This is checked automatically when
you make a pull request. You can run the `flake8` command locally to check beforehand. The full
command will give you a detailed description of the code lines that do not conform to the standard.
Two of the ignored errors are due to the relaxed restriction on column alignment, these are the
E221 and E241 error codes.
The code E226 is ignored becuse it doesn't actually follow the
[PEP8 recommendation](https://www.python.org/dev/peps/pep-0008/#other-recommendations)
of grouping longer equations by operator precedence like `2*a + 3*b` instead of `a * a + 3 * b`.
Generally, don't use spaces around `*`, `/` and `**`, but _do_ use spaces around `+` and `-`.
The same applies to the modulo operator `%`, hence E228 is also ignored.

46
CREDITS.md Normal file
View File

@@ -0,0 +1,46 @@
# Credits
## Main Developer
* Veronica Berglyd Olsen (@vkbo)
## Main Contributors
* Concept: Marian Lückhof (@Number042)
* Internationalisation: Bruno Meneguello (@bkmeneguello)
## Translations
The default language is English (UK) with English (US) as an option.
* Dutch: Martijn van der Kleijn (@mvdkleijn)
* French: Jan Lüdke (@jyhelle)
* German: Myian (@heymyian)
* Latin American Spanish: Tommy Marplatt (@tmarplatt)
* Norwegian: Veronica Berglyd Olsen (@vkbo)
* Portuguese: Bruno Meneguello (@bkmeneguello)
* Simplified Chinese: Qianzhi Long (@longqzh)
## Libraries
The following libraries are dependencies of novelWriter:
* Qt5 by [Qt Company](https://www.qt.io/)
* PyQt5 by [Riverbank Computing](https://www.riverbankcomputing.com/software/pyqt/)
* lxml by [Martijn Faassen](https://lxml.de/)
* Enchant by [Dom Lachowicz](https://abiword.github.io/enchant/)
* PyEnchant by [Dimitri Merejkowsky](https://pyenchant.github.io/pyenchant/)
## Assets
Some of the assets bundled with novelWriter were adapted from the following sources:
* Typicons icons by [Stephen Hutchings](https://github.com/stephenhutchings/typicons.font) (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, added by @nullbasis (MIT License)
## Special Mentions
Additional thanks to @johnblommers who was an early user and who has provided a lot of very useful
feedback over the years.

View File

@@ -1,3 +1,7 @@
include setup.py
include LICENSE.md
recursive-include nw/assets *
include CREDITS.md
include CHANGELOG.md
recursive-include setup *
recursive-include novelwriter/assets *
recursive-include sample *.nwx *.nwd

310
README.md
View File

@@ -1,212 +1,194 @@
# novelWriter
[![Build Status](https://travis-ci.com/vkbo/novelWriter.svg?branch=master)](https://travis-ci.com/vkbo/novelWriter)
[![codecov](https://codecov.io/gh/vkbo/novelWriter/branch/master/graph/badge.svg)](https://codecov.io/gh/vkbo/novelWriter)
[![Documentation Status](https://readthedocs.org/projects/novelwriter/badge/?version=latest)](https://novelwriter.readthedocs.io/en/latest/?badge=latest)
[![Linux](https://github.com/vkbo/novelWriter/actions/workflows/test_linux.yml/badge.svg?branch=main)](https://github.com/vkbo/novelWriter/actions/workflows/test_linux.yml)
[![Windows](https://github.com/vkbo/novelWriter/actions/workflows/test_win.yml/badge.svg?branch=main)](https://github.com/vkbo/novelWriter/actions/workflows/test_win.yml)
[![macOS](https://github.com/vkbo/novelWriter/actions/workflows/test_mac.yml/badge.svg?branch=main)](https://github.com/vkbo/novelWriter/actions/workflows/test_mac.yml)
[![flake8](https://github.com/vkbo/novelWriter/workflows/flake8/badge.svg)](https://github.com/vkbo/novelWriter/actions)
[![codecov](https://codecov.io/gh/vkbo/novelWriter/branch/main/graph/badge.svg)](https://codecov.io/gh/vkbo/novelWriter)
[![docs](https://readthedocs.org/projects/novelwriter/badge/?version=latest)](https://novelwriter.readthedocs.io/en/latest/?badge=latest)
[![release](https://img.shields.io/github/v/release/vkbo/novelwriter)](https://github.com/vkbo/novelWriter/releases)
[![pypi](https://img.shields.io/pypi/v/novelwriter)](https://pypi.org/project/novelWriter)
[![python](https://img.shields.io/pypi/pyversions/novelwriter)](https://pypi.org/project/novelWriter)
[![Crowdin](https://badges.crowdin.net/novelwriter/localized.svg)](https://crowdin.com/project/novelwriter)
<img align="left" style="margin: 0 16px 4px 0;" src="assets/icons/96x96/novelwriter.png">
novelWriter is a markdown-like text editor designed for writing novels and larger projects of many smaller plain text documents.
It uses its own flavour of markdown that supports a meta data syntax for comments, synopsis and cross-referencing between files.
The idea is to have a simple text editor which allows for easy organisation of text files and notes, built on a plain text file project repository for robustness.
The plain text storage is suitable for version control software, and also well suited for file synchronisation tools.
The core project structure is stored in a project XML file.
Other meta data is primarily saved in JSON files.
<img align="left" style="margin: 0 16px 4px 0;" src="https://raw.githubusercontent.com/vkbo/novelWriter/main/setup/novelwriter.png">
The full documentation is available at [novelwriter.readthedocs.io](https://novelwriter.readthedocs.io/).
novelWriter is a plain text editor designed for writing novels assembled from many smaller text
documents. It uses a minimal formatting syntax inspired by Markdown, and adds a meta data syntax
for comments, synopsis, and cross-referencing. It's designed to be a simple text editor that allows
for easy organisation of text and notes, using human readable text files as storage for robustness.
### Note
The project storage is suitable for version control software, and also well suited for file
synchronisation tools. All text is saved as plain text files with a meta data header. The core
project structure is stored in a single project XML file. Other meta data is primarily saved as
JSON files.
The application is still under initial development, but all core features have now been added.
The core functionality has been in place for a while, and novelWriter is being used for writing projects by the author and collaborators.
The full documentation is available at
[novelwriter.readthedocs.io](https://novelwriter.readthedocs.io).
No new major features will be added at this time, until the application is stable.
Until then, novelWriter is in a beta state.
Please report any issues you may encounter in the repository issue tracker.
You should be able to use novelWriter for real projects, but as with all software, please make regular backups.
There is a built in backup feature that can pack the entire project into a zip file on close.
Please check the documentation for further details.
## License
This is Open Source software, and novelWriter is licensed under GPLv3.
See the [GNU General Public License website](https://www.gnu.org/licenses/gpl-3.0.en.html) for more details, or consult the [LICENSE](LICENSE.md) file.
Bundled assets have the following licenses:
* The Typicon-based icon themes by Stephen Hutchings are licensed under [CC BY-SA 4.0](http://creativecommons.org/licenses/by-sa/4.0/). The icons have been altered in size and colour for use with novelWriter, and some additional icons added. The original icon set is available at [stephenhutchings/typicons.font](https://github.com/stephenhutchings/typicons.font).
* The Cantarell font by Dave Crossland is licensed under [OPEN FONT LICENSE Version 1.1](http://scripts.sil.org/OFL). It is available at [Google Fonts](https://fonts.google.com/specimen/Cantarell).
* The Tomorrow syntax themes use colour schemes taken from Chris Kempson's collection of code editor themes, licensed with the [MIT License](https://github.com/chriskempson/tomorrow-theme/blob/master/LICENSE.md), and the main repo is available at [chriskempson/tomorrow-theme](https://github.com/chriskempson/tomorrow-theme).
* Likewise, the Owl syntax themes use colours from Sarah Drasner's code editor themes, licensed with the [MIT License](https://github.com/sdras/night-owl-vscode-theme/blob/master/LICENSE), and the main repo is available at [sdras/night-owl-vscode-theme](https://github.com/sdras/night-owl-vscode-theme).
## Markdown Flavour
novelWriter is **not** a full-feature Markdown editor.
It allows for a minimal set of formatting needed for writing text documents for novels.
These are currently limited to:
* Headings level 1 to 4 using the `#` syntax only.
* Bold, italic and underline text.
* Hard line breaks using two or more spaces at the end of a line.
That is it.
Features not supported in the editor are also not exported when using the export tool.
In addition, novelWriter adds the following, which is otherwise not supported by Markdown:
* A line starting with `%` is treated as a comment and not rendered on exports unless requested.
Comments do not count towards the word count.
* A set of meta data keyword/value sets starting with the character `@`.
This is used for tagging and inter-linking documents.
* Non-breaking spaces are supported as long as your system is using at least Qt 5.9.
For earlier version, non-breaking spaces are converted to normal spaces when saving the document.
This is done by the Qt library.
From Qt 5.9 and on, it is possible to extract the raw text from a document, which preserves non-breaking spaces.
* Tabs may be rendered, depending on export format.
With Qt 5.10 or higher, the width of a tab in pixels can be changed in Preferences.
The core export format of novelWriter is HTML5.
You can also export the entire project as a single novelWriter flavour document.
In addition, other exports to Open Document, PDF, and plain text is offered through the Qt library, although with limitations to formatting.
Even though novelWriter can export to Open Document, the result is actually better when using the HTML output and then importing the HTML document into for instance Libre Office.
The HTML output is also suitable for conversion with tools like Pandoc.
The full credits are listed in
[CREDITS.md](https://github.com/vkbo/novelWriter/blob/main/CREDITS.md).
You can also follow novelWriter on Mastodon at [fosstodon.org/@novelwriter](https://fosstodon.org/@novelwriter).
## Implementation
The application is written in Python3 using Qt5 via PyQt5.
It is developed on Linux, but it should in principle work fine on other operating systems as well as long as dependencies are met.
It is regularly tested on Windows 10.
The application is written with Python 3 (3.7+) using Qt5 and PyQt5 (5.10+). It is developed on
Linux, but should in principle work fine on other operating systems as well as long as dependencies
are met. It is regularly tested on Debian and Ubuntu Linux, Windows, and macOS.
The application can be started from the source folder with one of the commands:
```
./novelWriter.py
python novelWriter.py
python3 novelWriter.py
```
## Installation
It also takes a few parameters for debugging and such, which can be listed with the switch `--help`.
### Linux Mint, Ubuntu and Debian
In the root assets folder there are icons and scripts and a template for setting up a launcher on Gnome desktops.
You may need to modify those scripts slightly, but as they are, they work on Debian and Ubuntu.
For other operating systems, please consult your operating system documentation for how to make those.
Feel free to submit more if you are able to make them.
The Releases page has a `.deb` package that should install on Mint, Ubuntu and Debian.
You can also use the novelWriter [PPA](https://launchpad.net/~vkbo/+archive/ubuntu/novelwriter).
For more details, check the [Getting Started](https://novelwriter.readthedocs.io/en/latest/int_started.html)
section in the documentation.
## Package Dependencies
### Windows 10+
It is recommended that novelWriter runs with Qt 5.10 or later, and Python 3.6 or later.
Running with Qt as low as 5.2.1 and Python 3.4.3 has been tested, and worked in the past, but there are no guarantees that this will keep working as these are not a part of the test builds.
The Release page has a `setup.exe` file for Windows 10, that should also work on other Windows
versions. The installer includes Python 3.10 and the library dependencies.
For the apt package manager on Debian systems, the following Python3 packages are needed:
### Other Install Options
* `python3-pyqt5` for the GUI
* `python3-pyqt5.qtsvg` may need to be installed separately
* `python3-lxml` for writing project files
You can also download and install one of the minimal zip files from the
[Releases](https://github.com/vkbo/novelWriter/releases) page or the
[novelwriter.io](https://novelwriter.io/) website.
The [Getting Started](https://novelwriter.readthedocs.io/en/latest/int_started.html) section of the
documentation has detailed install instructions for these packages, and for installation via the
Python Package Index.
These are optional, but recommended:
## Project Contributions
* `python3-enchant` for better spell checking
Please don't make feature pull requests without first having discussed them with the maintainer.
You can make a feature request in the issue tracker, or if the idea isn't fully formed, start a
discussion on the discussion page. Please also don't make pull requests to reformat or rewrite
existing code unless there is a very good reason for doing so.
Alternatively, the packages can be installed with `pip` by running
```
pip install -r requirements.txt
```
in the application folder.
Fixes and patches are welcome. Contributions related to packaging and installing novelWriter will
also be appreciated, but please make an issue or a discussion topic first. Before contributing any
code, please also read the full
[Contributing Guide](https://github.com/vkbo/novelWriter/blob/main/CONTRIBUTING.md).
You can also do them one at a time, skipping the ones you don't need:
```
pip install pyqt5
pip install lxml
pip install pyenchant
```
### Translations
PyQt/Qt should be at least 5.2.1, but ideally 5.10 or higher for nearly all features to work.
Exporting to markdown requires PyQt/Qt 5.14.
There are no known minimum for lxml, but the code was originally written with 4.2.
The optional spell check library must be at least 3.0.0 to work with Windows.
On Linux, 2.0.0 also works fine.
New translations are always welcome. This project uses Crowdin to maintain translations, and you
can contribute translations at the [Crowdin project page](https://crowdin.com/project/novelwriter).
If you have any questions, feel free to post them to the
[Translations of novelWriter](https://github.com/vkbo/novelWriter/issues/93) issue thread.
If no external spell checking tool is installed, novelWriter will use a basic spell checker based on standard Python package `difflib`.
Currently, only English dictionaries are available for this spell checker, but more can be added to the `nw/assets/dict` folder.
See the [nw/assets/dict/README.md](README.md) file in that folder for how to generate more dictionaries.
Note that the difflib-based option is both slow and limited.
Note: On Windows, make sure Python3 is in your PATH if you want to launch novelWriter from command line.
You can also right click the `novelWriter.py` file, create a shortcut, then right click again, select "Properties" and change the target to your python executable and `novelWriter.py`.
It should look something like this:
```
C:\...\AppData\Local\Programs\Python\Python38\python.exe novelWriter.py
```
For more details, and how to use Qt Linguist for translations, see the
[i18n instructions](https://github.com/vkbo/novelWriter/blob/main/i18n/README.md).
## Key Features
The text documents of novelWriter use a format similar to markdown, but with a few extensions and a few omissions.
Project meta data is stored as XML.
Some key features of novelWriter are listed below. The
[documentation](https://novelwriter.readthedocs.io) has a lot more information.
### Formatting Codes
Although novelWriter is a plain text editor, it uses a Markdown-like syntax to allow for a minimal
set of formatting that is useful for the specific task of writing novels.
| Code | Usage | Description |
|------------|----------|-------------|
| `#` | Prefix | Headings level 1 to 4. |
| `_` | Wrapped | Emphasised (italicised) text. |
| `**` | Wrapped | Strongly emphasised (bold) text. |
| `~~` | Wrapped | Strikethrough text. |
| `%` | Prefix | A comment; does not count towards the word count.<sup>1</sup> |
| `@` | Prefix | The following text is parsed as a keyword/value command for meta data. |
| `>` | Prefix | The paragraph is indented one tab width from the left. |
| `<` | Suffix | The paragraph is indented one tab width from the right. |
| `>>` | Prefix | The paragraph is right-aligned. |
| `<<` | Suffix | The paragraph is left-aligned. |
| `>>`, `<<` | Wrapped | The paragraph is centred. |
<sup>1</sup> If the first word of the comment is `synopsis:`, the comment is indexed and treated as
the synopsis for the section of text where it occurs. These synopsis comments can be used to build
an outline and exported to external documents.
### Export Formats
The core export formats of novelWriter are Open Document and HTML5. Open Document is an open
standard for office type documents that is supported by most office applications. See
[Open Document > Application Support](https://en.wikipedia.org/wiki/OpenDocument#Application_support)
for more details.
You can also export the entire project as a single novelWriter-markup document. These can later be
imported again into novelWriter. In addition, printing and export to PDF is offered through the Qt
library, although with limitations to formatting.
### Colour Themes
The editor has syntax highlighting for the features it supports, and includes a set of different syntax highlighting themes.
The GUI also has an optional dark theme in addition to the default system theme.
Note that the dark theme may not render all elements of the GUI as dark colours if you are running an early version of Qt5.
This is not due to a bug in novelWriter, but due to the fact that the the styling options in the Qt API in some versions were incomplete.
New themes can easily be added to the `nw/assets/themes` folder.
Have a look in the existing folders for examples of how to define the colours.
### Auto-Saving and Document Stats
Open documents and the project file itself is saved regularly on a timer.
The status of this is indicated by two indicators on the right hand side of the status bar.
Unsaved changes are in yellow, and saved is indicated by green in the default theme.
Latest word count for the document and project is shown next to these indicators in the status bar.
The counts are updated regularly, but not as-you-type.
The editor has syntax highlighting for the features it supports, and includes a set of different
syntax highlighting themes. Optional GUI themes are also available, including dark themes.
### Easy Organising of Project Files
The structure of the project is shown on the left hand side of the main GUI.
Project files are organised into root folders, indicating what class of file they are.
The most important root folder is the Novel folder, which contains all of the files that makes up the finished novel.
Each root folder can have subfolders.
Folders have no impact on the project structure, they are purely tools for organising the files in whatever way the user needs.
The structure of the project is shown on the left hand side of the main window. Project files are
organised into root folders, indicating what class of file they are. The most important root folder
is the `Novel` folder, which contains all of the files that make up the novel itself. Each root
folder can have subfolders. Subfolders have no impact on the final project structure, they are
there for you to organise your files in whatever way you want.
The editor supports four levels of headings, which determines what level the following text belongs to.
Headings of level one signify a book or partition title.
Headings of level two signify the start of a new chapter.
Headings of level three signify the start of a new scene.
Headings of level four can be used internally in each scene to separate sections.
The editor supports four levels of headings, which determine what level the following text belongs
to. Headings of level one signify a book or partition title. Headings of level two signify the
start of a new chapter. Headings of level three signify the start of a new scene. Headings of level
four can be used internally in each scene to create separate sections.
Each novel file can be assigned a layout format, which shows up as a flag next to the item in the project tree.
These are mostly to help the user see what they contain, but they also have some impact on the format of the exported document.
See the documentation for further details.
See the [documentation](https://novelwriter.readthedocs.io) for further details.
#### Project Notes
### Project Notes
Supporting note files can be added for the story plot, characters, locations, story timeline, etc.
These have their separate root folders.
These are optional files.
Supporting notes can be added for the story plot, characters, locations, story timeline, etc. These
have their separate root folders and are optional to use.
### Visualisation of Story Elements
The different notes can be assigned tags, which other files can refer back to using special meta keywords.
This information can be used to display an outline of the story, showing where each scene connects to the plot, and which characters, etc. occur in them.
In addition, the tags themselves are clickable in the document view pane, and control-clickable in the editor.
They make it possible to quickly navigate between the documents while editing.
The different notes can be assigned tags, which other files can refer back to using `@`-prefixed
meta keywords. This information can be used to display an outline of the story, showing where each
scene connects to the plot, and which characters, etc. occur in them. In addition, the tags
themselves are clickable in the document view pane, and control-clickable in the editor. They make
it possible to quickly navigate between the documents while writing.
## Contribution
## Installing or Running from Source
If you want to contribute to novelWriter, please follow the coding convention laid out in the [Style Guide](docs/markdown/style.md).
They broadly follow Python PEP8, but there are a few modifications.
If you want to run novelWriter directly from the source code, you must run the `novelWriter.py`
file from command line.
## Screenshot
Dependencies can generally be installed from PyPi with:
```bash
pip install -r requirements.txt
```
On Linux, the dependencies are generally available in the standard package repository.
For more details on running or installing from source, see
[Other Setup Methods](https://novelwriter.readthedocs.io/en/latest/setup_other.html).
## Debugging
If you need to debug novelWriter, you must run it from the command line. It takes a few parameters,
which can be listed with the switch `--help`. The `--info`, `--debug` or `--verbose` flags are
particularly useful for increasing logging output for debugging.
## Licence
This is Open Source software, and novelWriter is licenced under GPLv3. See the
[GNU General Public License website](https://www.gnu.org/licenses/gpl-3.0.en.html) for more
details, or consult the [LICENSE](https://github.com/vkbo/novelWriter/blob/main/LICENSE.md) file.
Bundled assets and their licences are listed in
[CREDITS](https://github.com/vkbo/novelWriter/blob/main/CREDITS.md).
## Screenshots
**novelWriter with default system theme:**
![Screenshot 1](docs/source/images/screenshot_default.png)
![Screenshot 1](https://raw.githubusercontent.com/vkbo/novelWriter/main/docs/source/images/screenshot_default.png)
**novelWriter with dark theme:**
![Screenshot 2](docs/source/images/screenshot_dark.png)
![Screenshot 2](https://raw.githubusercontent.com/vkbo/novelWriter/main/docs/source/images/screenshot_dark.png)

Binary file not shown.

Before

Width:  |  Height:  |  Size: 98 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 76 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 660 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 115 KiB

View File

@@ -1,28 +0,0 @@
#!/bin/bash
cd ..
EXEC=$(pwd)/novelWriter.py
EXEC=$(echo $EXEC | sed 's_/_\\/_g')
sed "s/%%exec%%/$EXEC/g" assets/novelwriter.desktop > /usr/share/applications/novelwriter.desktop
cp -v assets/icons/24x24/novelwriter.png /usr/share/icons/hicolor/24x24/apps/
cp -v assets/icons/48x48/novelwriter.png /usr/share/icons/hicolor/48x48/apps/
cp -v assets/icons/96x96/novelwriter.png /usr/share/icons/hicolor/96x96/apps/
cp -v assets/icons/256x256/novelwriter.png /usr/share/icons/hicolor/256x256/apps/
cp -v assets/icons/512x512/novelwriter.png /usr/share/icons/hicolor/512x512/apps/
cp -v assets/icons/1024x1024/novelwriter.png /usr/share/icons/hicolor/1024x1024/apps/
cp -v assets/icons/novelwriter.svg /usr/share/icons/hicolor/scalable/apps/
cp -v assets/icons/x-novelwriter-project.svg /usr/share/icons/hicolor/scalable/mimetypes/application-x-novelwriter-project.svg
cp -v assets/mime/x-novelwriter-project.xml /usr/share/mime/packages/
update-mime-database /usr/share/mime/
update-icon-caches /usr/share/icons/hicolor/24x24/apps/
update-icon-caches /usr/share/icons/hicolor/48x48/apps/
update-icon-caches /usr/share/icons/hicolor/96x96/apps/
update-icon-caches /usr/share/icons/hicolor/256x256/apps/
update-icon-caches /usr/share/icons/hicolor/512x512/apps/
update-icon-caches /usr/share/icons/hicolor/1024x1024/apps/
update-icon-caches /usr/share/icons/hicolor/scalable/apps/
update-icon-caches /usr/share/icons/hicolor/scalable/mimetypes/

View File

@@ -1,21 +0,0 @@
#!/bin/bash
cd ..
EXEC=$(pwd)/novelWriter.py
EXEC=$(echo $EXEC | sed 's_/_\\/_g')
sed "s/%%exec%%/$EXEC/g" assets/novelwriter.desktop > /usr/share/applications/novelwriter.desktop
cp -v assets/icons/24x24/novelwriter.png /usr/share/icons/hicolor/24x24/apps/
cp -v assets/icons/48x48/novelwriter.png /usr/share/icons/hicolor/48x48/apps/
cp -v assets/icons/96x96/novelwriter.png /usr/share/icons/hicolor/96x96/apps/
cp -v assets/icons/256x256/novelwriter.png /usr/share/icons/hicolor/256x256/apps/
cp -v assets/icons/512x512/novelwriter.png /usr/share/icons/hicolor/512x512/apps/
#cp -v assets/icons/1024x1024/novelwriter.png /usr/share/icons/hicolor/1024x1024/apps/
cp -v assets/icons/novelwriter.svg /usr/share/icons/hicolor/scalable/apps/
cp -v assets/icons/x-novelwriter-project.svg /usr/share/icons/hicolor/scalable/mimetypes/application-x-novelwriter-project.svg
cp -v assets/mime/x-novelwriter-project.xml /usr/share/mime/packages/
update-mime-database /usr/share/mime/
update-icon-caches /usr/share/icons/*

View File

@@ -1,10 +0,0 @@
[Desktop Entry]
Type=Application
Encoding=UTF-8
Name=novelWriter
Comment=Multi-document markdown editor for novels
Exec=%%exec%% %f
Icon=novelwriter
Categories=GTK;GNOME;Office;
Terminal=false
MimeType=application/x-novelwriter-project

View File

@@ -3,12 +3,14 @@ codecov:
coverage:
precision: 2
round: down
range: "70...100"
round: nearest
range: "70...95"
status:
project: yes
patch: yes
project:
default:
threshold: 1%
patch: no
changes: no
parsers:
@@ -18,5 +20,3 @@ parsers:
loop: yes
method: no
macro: no
comment: false

2119
docs/FileFormatSpec-1.5.fodt Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -1,24 +0,0 @@
# Code Style Guide
The source code of novelWriter broadly follows the style guide [PEP8](https://www.python.org/dev/peps/pep-0008/), but with a few modifications and exceptions.
### Source Code Exceptions
* Methods are camelCase, not underscore based.
The reason is partially because of the maintainers personal preference, and partially because that is what Qt5 and PyQt5 uses.
The maintainer generally, across multiple programming languages, uses underscores for defining namespaces.
* The maximum length of a code line is 99 characters, not 79.
The reason for this is that novelWriter is almost entirely made up of classes, meaning nearly all lines of code already have 8 leading spaces.
A 79 character limitation is too strict, and causes too many wrapped lines.
99 characters is suitable for GitHub diff readability, and therefore the preferred limit.
It is also permitted under PEP8 as the maximum.
Comments and docstrings should comply with the 72 character limit.
* Aligning code with additional spaces is acceptable in those cases where it improves readability.
Otherwise, the PEP8 standard should be applied.
### Documentation
The documentation does not adhere to the 80 character limit either.
The standard used in documentation is one line break after each sentence.
This is an alternative style that greatly improves readability of diffs as re-wrapping text is not needed when inserting new text in paragraphs.
Instead, the diff will show changes to each sentence.

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

View File

@@ -1,172 +1,115 @@
# -*- coding: utf-8 -*-
#
# Configuration file for the Sphinx documentation builder.
#
# This file does only contain a selection of the most common options. For a
# full list see the documentation:
# http://www.sphinx-doc.org/en/master/config
# -- Path setup --------------------------------------------------------------
# If extensions (or modules to document with autodoc) are in another directory,
# add these directories to sys.path here. If the directory is relative to the
# documentation root, use os.path.abspath to make it absolute, like shown here.
#
# import os
# import sys
# sys.path.insert(0, os.path.abspath("."))
# -- Imports -----------------------------------------------------------------
# -- Project information -----------------------------------------------------
import os
import time
import datetime
# -- Project Information -----------------------------------------------------
project = "novelWriter"
copyright = "2018-2020, Veronica Berglyd Olsen"
copyright = f"{datetime.date.today().year}, Veronica Berglyd Olsen"
author = "Veronica Berglyd Olsen"
# The short X.Y version
version = "0.8"
# The full version, including alpha/beta/rc tags
release = "0.8.0"
initFile = os.path.join(
os.path.dirname(__file__), os.pardir, os.pardir,
"novelwriter", "__init__.py"
)
with open(initFile) as inFile:
for aLine in inFile:
if aLine.startswith("__version__"):
release = aLine.split('"')[1].strip()
break
else:
release = "unknown"
version = release.split("-")[0]
# -- General configuration ---------------------------------------------------
# -- General Configuration ---------------------------------------------------
# If your documentation needs a minimal Sphinx version, state it here.
#
# needs_sphinx = "1.0"
os.environ["TZ"] = "Europe/Oslo"
time.tzset()
# Add any Sphinx extension module names here, as strings. They can be
# extensions coming with Sphinx (named "sphinx.ext.*") or your custom
# ones.
extensions = [
]
# Add any paths that contain templates here, relative to this directory.
needs_sphinx = "4.0"
templates_path = ["_templates"]
# The suffix(es) of source filenames.
# You can specify multiple suffix as a list of string:
#
# source_suffix = [".rst", ".md"]
source_suffix = ".rst"
# The master toctree document.
master_doc = "index"
# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
#
# This is also used if you do content translation via gettext catalogs.
# Usually you set "language" from the command line for these cases.
language = None
# List of patterns, relative to source directory, that match files and
# directories to ignore when looking for source files.
# This pattern also affects html_static_path and html_extra_path.
today_fmt = "%A, %d %B %Y at %H:%M"
language = "en"
exclude_patterns = []
pygments_style = "sphinx"
pygments_dark_style = "monokai"
# The name of the Pygments (syntax highlighting) style to use.
pygments_style = None
# -- Options for HTML Output -------------------------------------------------
# -- Options for HTML output -------------------------------------------------
# The theme to use for HTML and HTML Help pages. See the documentation for
# a list of builtin themes.
#
html_theme = "default"
# Theme options are theme-specific and customize the look and feel of a theme
# further. For a list of options available for each theme, see the
# documentation.
#
# html_theme_options = {}
# Add any paths that contain custom static files (such as style sheets) here,
# relative to this directory. They are copied after the builtin static files,
# so a file named "default.css" will overwrite the builtin "default.css".
html_theme = "furo"
html_static_path = ["_static"]
html_theme_options = {
"light_logo": "novelwriter-light.png",
"dark_logo": "novelwriter-dark.png",
}
html_title = f"<div style='text-align: center'>Documentation Version {release}</div>"
# Custom sidebar templates, must be a dictionary that maps document names
# to template names.
#
# The default sidebars (for documents that don"t match any pattern) are
# defined by theme itself. Builtin themes are using these templates by
# default: ``["localtoc.html", "relations.html", "sourcelink.html",
# "searchbox.html"]``.
#
# html_sidebars = {}
# -- Options for HTMLHelp output ---------------------------------------------
# -- Options for HTMLHelp Output ---------------------------------------------
# Output file base name for HTML help builder.
htmlhelp_basename = "novelWriterdoc"
htmlhelp_basename = "novelWriterDoc"
# -- Options for LaTeX output ------------------------------------------------
# -- Options for LaTeX Output ------------------------------------------------
latex_elements = {
# The paper size ("letterpaper" or "a4paper").
#
# "papersize": "letterpaper",
# The font size ("10pt", "11pt" or "12pt").
#
# "pointsize": "10pt",
# Additional stuff for the LaTeX preamble.
#
# "preamble": "",
# Latex figure (float) alignment
#
# "figure_align": "htbp",
"papersize": "a4paper",
"pointsize": "11pt",
"preamble": (
"\\usepackage[utf8]{inputenc}\n"
"\\DeclareUnicodeCharacter{2212}{\\textendash}\n"
),
"figure_align": "htbp",
}
# Grouping the document tree into LaTeX files. List of tuples
# (source start file, target name, title,
# author, documentclass [howto, manual, or own class]).
latex_documents = [
(master_doc, "novelWriter.tex", "novelWriter Documentation",
"Veronica Berglyd Olsen", "manual"),
]
latex_documents = [(
master_doc, "manual.tex", "novelWriter Documentation",
author, "manual"
)]
# -- Options for manual page output ------------------------------------------
# -- Options for Man Page Output ---------------------------------------------
# One entry per manual page. List of tuples
# (source start file, name, description, authors, manual section).
man_pages = [
(master_doc, "novelwriter", "novelWriter Documentation",
[author], 1)
]
man_pages = [(
master_doc, "novelwriter", "novelWriter Documentation", [author], 1
)]
# -- Options for Texinfo output ----------------------------------------------
# -- Options for Texinfo Output ----------------------------------------------
# Grouping the document tree into Texinfo files. List of tuples
# (source start file, target name, title, author,
# dir menu entry, description, category)
texinfo_documents = [
(master_doc, "novelWriter", "novelWriter Documentation",
author, "novelWriter", "Markdown-like editor for novels.",
"Miscellaneous"),
]
texinfo_documents = [(
master_doc, "novelWriter", "novelWriter Documentation", author,
"novelWriter", "Markdown-like editor for novels.", "Miscellaneous"
)]
# -- Options for Epub output -------------------------------------------------
# -- Options for EPub Output -------------------------------------------------
# Bibliographic Dublin Core info.
epub_title = project
# The unique identifier of the text. This can be a ISBN number
# or the project homepage.
#
# epub_identifier = ""
# A unique identification for the text.
#
# epub_uid = ""
# A list of files that should not be packed into the epub file.

View File

@@ -1,112 +0,0 @@
##################
Exporting Projects
##################
The novelWriter project can be exported in various formats using the build tool available from :menuselection:`Project --> Build Project` or by pressing :kbd:`F5`.
*****************
Header Formatting
*****************
The titles for the four levels of story structure can be formatted collectively in the export tool.
This is done through a series of keyword–replace steps.
The keyword ``%title%`` will always be replaced by the text you put after the ``#`` characters in your document.
The keywords ``%ch%`` and ``%chw%`` is replaced by a number, or a number word, respectively.
The number is incremented by one each time the build tool sees a new heading of level two in a file with layout "Chapter".
If the file has layout "Unnumbered", the counter is *not* incremented.
The latter is useful for for instance Prologue and Epilogue chapters.
Likewise, the keywords ``%sc%`` and ``%sca%`` are number counters for scene files.
These are incremented each time a heading of level three is encountered.
The former keyword is reset to one for each new chapter, while the latter is not reset but counts from first scene encountered in the project.
If you want to insert a line break in your title format, add two backslashes ``\\``.
.. note::
Header formatting only applies to novel files.
Headings in note files will will be left as-is, but heading levels 1 through 4 are converted to the correct heading level in the respective output formats.
****************
Scene Separators
****************
If you don't want any titles for your scenes (and for your sections if you have them), you can leave the boxes empty, and an empty paragraph will be inserted between the scenes or sections instead.
Alternatively, if you want a separator between them, like the common "\*\*\*", you can also enter that in the box.
In fact, if the format is a piece of static text, it will always be treated as a separator.
**************
File Selection
**************
Which files are selected for export can be controlled from the options on the left side of the dialog window.
The switch for "Include novel files" will select any file that isn't classified as a note.
That is, files with layout "Book", "Page", "Partition", "Chapet", "Unnumbered", or "Scene".
The switch for "Include note files" will select any file that is a note.
That is, files with layout "Note".
This is allows for exporting just the novel, just your notes, or both, as you see fit.
In addition, you can select to export the synopsis comments, regular comments, keywords, and even exclude the body text itself.
If you for instance want to export a document with an outline of the novel, you can enable keywords and synopsis export and disable body text, thus getting a document with each heading followed by the tags and references and the synopsis.
If you need to exclude specific files from your exports, like draft files or files you want to take out of your build, but don't want to delete, you can uncheck the "Include when building project" option for each file in the project tree.
An included file has a checkmark after the status icon in the "Flags" column.
The "Build Novel Project" tool has a switch to ignore this flag if you need to collectively override these settings.
**************
Export Formats
**************
Currently, six formats are supported for exporting.
OpenDocument Format
===================
This is produces an open document ``.odt`` file.
The document produced has very little formatting, and may require further editing afterwards.
For a better formatted office document, you may get a better result with exporting to HTML and the import that HTML document in your office word processor.
PDF Format
==========
The PDF export is just a shortcut for print to file.
novelWriter HTML
================
The HTML export format writes a single ``.htm`` file with minimal style formatting.
The exported HTML file is suitable for further processing by document conversion tools like Pandoc, for importing in word processors, or for printing from browser.
novelWriter Markdown
====================
This is simply a concatenation of the files selected by the filters.
The files in the project are stacked together in the order they appear in the tree view, 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 Markdown
=================
If you have Qt 5.14 or higher, the option to export to plain Markdown is available.
This feature uses Qt's own Markdown export feature.
Plain Text
==========
The plain text export format writes a simple ``.txt`` file without any formatting at all.
*************************
Additional Export Options
*************************
In addition to the above document formats, the novelWriter HTML and Markdown formats can also be wrapped in a JSON file.
The files will have a meta data entry and a body entry.
For HTML, also the accompanying css styles are exported.
The text body is saved in a two-level list.
The outer list contains one entry per exported file, in the order they appear in the project tree.
Each file is then split up into a lst as well, with one entry per line.
These files are mainly intended for scripted post-processing for those who want that option.
A JSON file can be imported directly into a Python dict object or a PHP array, to mentions a few options.

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 255 KiB

After

Width:  |  Height:  |  Size: 534 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 256 KiB

After

Width:  |  Height:  |  Size: 539 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 379 KiB

View File

@@ -1,25 +1,90 @@
####################################
Welcome to novelWriter Documentation
####################################
#############################
Documentation for novelWriter
#############################
This is the documentation for novelWriter |version|.
.. image:: images/novelwriter_logo.png
:align: right
:width: 48
**Contents**
| **For Release:** |release|
| **Last Updated:** |today|
|
novelWriter is an open source plain text editor designed for writing novels assembled from many
smaller text documents. It uses a minimal formatting syntax inspired by Markdown, and adds a meta
data syntax for comments, synopsis, and cross-referencing. It is designed to be a simple text
editor that allows for easy organisation of text and notes, using human readable text files as
storage for robustness.
.. figure:: images/screenshot_multi.png
:align: center
:width: 500
The project storage is suitable for version control software, and also well suited for file
synchronisation tools. All text is saved as plain text files with a meta data header. The core
project structure is stored in a single project XML file. Other meta data is primarily saved as
JSON files. See the :ref:`a_breakdown_storage` section for more details.
Any operating system that can run Python 3 and has the Qt 5 libraries should be able to run
novelWriter. It runs fine on Linux, Windows and macOS, and users have tested it on other platforms
as well. novelWriter can also be run directly from the Python source, or installed from packages or
the pip tool. See :ref:`a_started` for more details.
.. note::
Version 1.5 introduced a few changes that will require you to make some minor modifications to
some of the headings in your project. It should be fairly quick and straightforward. Please see
the :ref:`a_prjfmt_1_3` section for more details.
**Useful Links**
* Website: https://novelwriter.io
* Documentation: https://novelwriter.readthedocs.io
* Internationalisation: https://crowdin.com/project/novelwriter
* Source Code: https://github.com/vkbo/novelWriter
* Source Releases: https://github.com/vkbo/novelWriter/releases
* Issue Tracker: https://github.com/vkbo/novelWriter/issues
* Feature Discussions: https://github.com/vkbo/novelWriter/discussions
* PyPi Project: https://pypi.org/project/novelWriter
* Social Media: https://fosstodon.org/@novelwriter
.. toctree::
:maxdepth: 2
:maxdepth: 1
:caption: Introduction
:hidden:
introduction
started
interface
projects
structure
notes
export
technical
int_introduction
int_overview
int_started
int_source
int_customise
**Indices and Tables**
.. toctree::
:maxdepth: 1
:caption: Using novelWriter
:hidden:
* :ref:`genindex`
* :ref:`modindex`
* :ref:`search`
usage_breakdown
usage_interface
usage_format
usage_shortcuts
usage_typography
usage_projectformat
.. toctree::
:maxdepth: 1
:caption: Organising Your Project
:hidden:
project_overview
project_structure
project_notes
project_export
.. toctree::
:maxdepth: 1
:caption: Under the Hood
:hidden:
tech_locations
tech_storage
tech_tests

View File

@@ -0,0 +1,65 @@
.. _a_custom:
**************
Customisations
**************
.. _Enchant: https://abiword.github.io/enchant
.. _Free Desktop: https://cgit.freedesktop.org/libreoffice/dictionaries/tree/
There are a few ways you can customise novelWriter youself. Currently, you can add new GUI themes,
your own syntax themes, and install additional dictionaries.
.. _a_custom_dict:
Spell Check Dictionaries
========================
novelWriter uses Enchant_ as the spell checking tool. Depending on you operating system, it may or
may not load installed spell check dictionaries.
Linux
On Linux, you generally only have to install hunspell or aspell dictionaries on your system like
you do for other applications. See your distro's documentation for how to do this. These
dictionaries should then show up as available spell check languages in novelWriter.
Windows
For Windows, English is included with the installation. For other languages you have to download
and add dictionaries yourself. You can find the various dictionaries on the `Free Desktop`_
website. You should find a folder for your language, if it is available at all, and download the
files ending with ``.aff`` and ``.dic``. These files must then be copied to the following
location:
``C:\Users\<USER>\AppData\Local\enchant\hunspell``
This assumes your user profile is stored at ``C:\Users\<USER>``. The last one or two folders may
not exist, so you may need to create them.
.. _a_custom_theme:
Syntax and GUI Themes
=====================
Adding your own GUI and syntax themes is relatively easy. The themes are defined by simple plain
text config files with meta data and colour settings.
In order to make your own versions, first copy one of the existing files to your local computer and
modify it as you like.
* The existing syntax themes are stored in
`novelwriter/assets/syntax <https://github.com/vkbo/novelWriter/tree/main/novelwriter/assets/syntax>`_.
* The existing GUI themes are stored in
`novelwriter/assets/themes <https://github.com/vkbo/novelWriter/tree/main/novelwriter/assets/themes>`_.
Remember to also change the name of your theme by modifying the ``name`` setting at the top of the
file, otherwise you may not be able to distinguish them in :guilabel:`Preferences`.
For novelWriter to be able to locate the custom theme files, you must copy them to the
:ref:`a_locations_data` location in your home or user area. There should be a folder there named
``syntax`` for syntax themes and just ``themes`` for GUI themes. These folders are created the
first time you start novelWriter.
Once the files are copied there, they should show up in :guilabel:`Preferences` with the label you
set as ``name`` inside the file.

View File

@@ -0,0 +1,79 @@
.. _a_intro:
************
Key Features
************
.. _Snowflake : https://www.advancedfictionwriting.com/articles/snowflake-method/
At the core, novelWriter is a multi-document plain text editor. It uses a markup syntax inspired by
Markdown to apply simple formatting to the text. It is designed for writing fiction, so the
formatting features are limited to those relevant for this purpose. It is not suitable for
technical writing.
Your novel project is organised as a collection of separate plain text documents instead of a
single, large document. The idea here is to make it easier to reorganise your project structure
without having to cut and paste text.
You can at any point split documents by their header, or merge multiple documents into single
documents. This makes it easier to use variations of the popular Snowflake_ method for writing.
Below are some key features of novelWriter.
**Focus on writing**
The aim of the user interface is to let the user 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 :guilabel:`Focus Mode` where only the text editor window
itself is vissible.
**Keep an eye on your notes**
The main window can optionally show a document viewer to the right of the editor. This view
panel is intended for displaying another scene document, you character notes, plot notes, or any
other document you may need to reference while writing.
**Organise your documents how you like**
You can split your novel project up into as many individual documents as you want to. When you
build the project, they are all glued together in the top-to-bottom order in which they appear
in the project tree. You can use as few text documents as you like, but splitting the project up
into chapters and scenes means you can easily reorder them using the drag and drop feature. You
can start out with a few documents and then later split the document into multiple documents
based on its headers.
**Keep track of your plot elements**
All notes in your project can be assigned a *tag* you can *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 a specific section. Note tags are organised into categories with specific reference
keywords.
**Get an overview of your plot elements**
In the :guilabel:`Outline View` on the main window you can see an outline of all the chapters,
scenes, and sections of your project. If they have any references in them, these are listed in
additional columns. You can also add a synopsis to each document, 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 information is also available in the :guilabel:`Novel View` as a replacement for the
main project tree.
**Building your manuscript**
Whether you want to compile a manuscript, or export all your notes, or generate an outline of
your chapters and scenes with a synopsis, you can use the :guilabel:`Build Novel Project` tool.
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.
.. _a_intro_screenshots:
Screenshots
===========
**novelWriter with default theme:**
.. image:: images/screenshot_default.png
:width: 800
**novelWriter with dark theme:**
.. image:: images/screenshot_dark.png
:width: 800

View File

@@ -0,0 +1,92 @@
.. _a_overview:
********
Overview
********
.. only:: html
.. image:: images/python_powered.png
:align: right
:width: 220
novelWriter is built on `Python 3 <https://www.python.org/>`_, a cross platform programming
language that doesn't require a compiler to build and run. That means that the code can run on your
computer right out of the box, or from a zip file.
While it is developed for Linux primarily, it runs just fine on Windows as well. It also works fine
on macOS, but the author is not a mac user, so support for mac is dependant on user feedback and
contributions.
In order to run novelWriter, you also need a few additional packages. The user interface is built
with `Qt 5 <https://www.qt.io/>`_, a cross platform library for building graphical user interface
applications. It also uses a third party XML package. If you want spell checking, you also need the
spell check package Enchant developed for AbiWord
For install instructions, see :ref:`a_started`.
For information on how to add spell check dictionaries, see :ref:`a_custom_dict`.
Using novelWriter
=================
In order to use novelWriter effectively, you need to know the basics of how it works. The following
sections will explain the main principles. It starts with the basics, and gets more detailed as you
read on.
:ref:`a_breakdown` – Essential Information
This section explains the basics of how the application works and what it can and cannot do.
:ref:`a_ui` – Recommended Reading
This section will give you a more detailed explanation of what the various elements on the user
interface do and how you can use them more effectively.
:ref:`a_fmt` – Essential Information
This section covers how you should format your text. The editor is plain text, so text
formatting requires some basic markup. The structure of your novel is also inferred by how you
use headings. Tags and references are implemented by simple codes.
:ref:`a_kb` – Optional / Lookup
This section lists all the keyboard shortcuts in novelWriter and what they do. Most of the
shortcuts are also listed next to the menu items inside the app, or in tool tips, so this
section is mostly for reference.
:ref:`a_typ` – Optional
This section gives you an overview of the special typographical symbols available in
novelWriter. The auto-replace feature can handle the insertion of standard quote symbols for
your language, and other special characters. If you use any symbols aside from these. their
intended use is explained here.
:ref:`a_prjfmt` – Optional
This section is more technical and has an overview of changes made to the way your project data
is stored. The format has changed a bit from time to time, and sometimes the changes require
that you make small modifications to your project. Everything you need to know is listed in this
section.
Organising Your Projects
========================
In addition to manage a collection of plain text files, novelWriter can interpret and map the
structure of your novel and show you additional information about its flow and content. In order
to take advantage of these features, you must structure your text in a specific way and add some
meta data for it to extract.
:ref:`a_proj` – Essential Information
This section explains how you organise the content of your project, and how to set up automated
backups of your work.
:ref:`a_struct` – Essential Information
This section covers the way your novel's structure is encoded into the text documents. It
explains how the different levels of headings are used, and how you can include information
about characters, plot elements, and other meta data in your text.
:ref:`a_notes` - Recommended Reading
This section briefly describes what novelWriter does with the note files you add to your
project. Generally, the application doesn't do much with them at all aside from looking through
them for tags you've set so that it knows which file to open when you click on a reference.
:ref:`a_export` - Recommended Reading
This section explains in more detail how the build tool works. In particular how you can
control the way chapter titles are formatted, and how scene and section breaks are handled.

155
docs/source/int_source.rst Normal file
View File

@@ -0,0 +1,155 @@
.. _a_source:
*******************
Running from Source
*******************
.. _main website: https://novelwriter.io
.. _GitHub: https://github.com/vkbo/novelWriter/releases
.. _PyPi: https://pypi.org/project/novelWriter/
.. _Sphinx Docs: https://www.sphinx-doc.org/
This section describes various ways of running novelWriter directly from the source code, and how
to build the various components like the translation files and documentation.
.. note::
The text below assumes the command ``python`` corresponds to a Python 3 executable. Python 2 is
now deprecated, but many systems still have both Python 2 and 3. For such systems, the command
``python3`` may be needed instead. Likewise, ``pip`` may need to be replaced with ``pip3``.
.. _a_source_depend:
Dependencies
============
novelWriter has been designed to rely on as few dependencies as possible. Aside from the packages
needed to communicate with the Qt GUI libraries, only one package is required for handling the XML
format of the main project file. Everything else is handled with standard Python libraries.
The following Python packages are needed to run novelWriter:
* ``PyQt5`` – needed for connecting with the Qt5 libraries.
* ``lxml`` – needed for full XML support.
* ``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. There is no known
minimum version requirement for package ``lxml``, but the code was originally written with 4.2,
which is therefore set as the minimum. It may work on lower versions. You have to test it.
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:
.. code-block:: bash
pip install -r requirements.txt
.. _a_source_install:
Install from Source
===================
You can download the latest version of novelWriter from the source repository on GitHub_ and run
the setup manually. It is equivalent to what the ``pip install`` command does, and it installs
novelWriter to the default location for Python packages.
This step requires that you have ``setuptools`` installed on your system. If you don't have it
installed, it can usually be installed from your distro's repository. For Debian and Ubuntu this is
achieved with:
.. code-block:: bash
sudo apt install python3-setuptools
The package is also available from PyPi:
.. code-block:: bash
pip install --user setuptools
With ``setuptools`` in place, novelWriter can be installed to the user space with:
.. code-block:: bash
python setup.py install --user
.. tip::
The main setup script has a number of options that may be useful to you. You can list them by
running ``python setup.py help``.
.. _a_source_i18n:
Building the Translation Files
==============================
If you installed novelWriter from a package, the translation files should be pre-built and
included. If you're running novelWriter from the source code, you will need to generate the files
yourself. The files you need will be written to the ``novelwriter/assets/i18n`` folder, and will
have the ``.qm`` file extension.
You can build the ``.qm`` files with:
.. code-block:: bash
python setup.py qtlrelease
This requires that the Qt Linguist tool is installed on your system. On Ubuntu and Debian, the
needed package is called ``qttools5-dev-tools``.
.. note::
If you want to improve novelWriter with translation files for another language, or update an
existing translation, instructions for how to contribute can be found in the ``README.md`` file
in the ``i18n`` folder of the source code.
.. _a_source_sample:
Building the Example Project
============================
In order to be able to create new projects from example files, you need a ``sample.zip`` file in
the ``assets`` folder of the source. This file can be built from setup script by running:
.. code-block:: bash
python setup.py sample
.. _a_source_docs:
Building the Documentation
==========================
A local copy of this documentation can be generated as HTML. This requires the following Python
packages from PyPi:
.. code-block:: bash
pip install furo sphinx
The documentation can then be built from the root folder in the source code by running:
.. code-block:: bash
make -C docs html
If successful, the documentation should be available in the ``docs/build/html`` folder and you can
open the ``index.html`` file in your browser.
You can also build a PDF manual from the documentation using the setup script:
.. code-block:: bash
python setup.py manual
This will build the documentation as a PDF using LaTeX. The file will then be copied into the
assets folder and made available in the :guilabel:`Help` menu in novelWriter. The Sphinx build
system has a few extra dependencies when building the PDF. Please check the `Sphinx Docs`_ for more
details.

250
docs/source/int_started.rst Normal file
View File

@@ -0,0 +1,250 @@
.. _a_started:
***************
Getting Started
***************
.. _brew docs: https://docs.brew.sh/Homebrew-and-Python
.. _Enchant: https://abiword.github.io/enchant/
.. _GitHub: https://github.com/vkbo/novelWriter
.. _macOS: https://github.com/vkbo/novelWriter/issues/867
.. _main website: https://novelwriter.io
.. _PPA: https://launchpad.net/~vkbo/+archive/ubuntu/novelwriter
.. _Pre-Release PPA: https://launchpad.net/~vkbo/+archive/ubuntu/novelwriter-pre
.. _PyPi: https://pypi.org/project/novelWriter/
.. _python.org: https://www.python.org/downloads/windows
.. _Releases: https://github.com/vkbo/novelWriter/releases
.. _RPM: https://github.com/vkbo/novelWriter/issues/907
.. _AppImage: https://appimage.org/
If you are using Windows or a Debian-based Linux distribtuion, you can install novelWriter from
package installers. If you are on macOS, you have the option to run novelWriter from a standalone
folder. See :ref:`a_started_minimal`. This option is also available for Windows and Linux. The
third option is to install novelWriter from the Python Package Index. See :ref:`a_started_pip`.
Spell checking in novelWriter is provided by a third party library called Enchant_. Generally, it
should pull dictionaries from your operating system automatically. However, on Windows they must be
installed manually. See :ref:`a_custom_dict` for more details.
.. admonition:: Help Wanted
:class: seealso
If you would like to help making more installers, the project is currently looking for people
who can help make releases for Red Hat-based Linux distros (RPM) and for macOS. See the issues
posted for RPM_ and macOS_ on GitHub_.
.. _a_started_windows:
Install on Windows
==================
You can install novelWriter with both Python and library dependencies embedded using the Windows
Installer (setup.exe) file from the `main website`_, or from the Releases_ page on GitHub.
Installing it should be straightforward.
If you have any issues, try uninstalling the previous version and making a fresh install. If you
already had a version installed via a different method, you should uninstall that first.
.. _a_started_linux:
Install on Linux
================
A Debian package can be downloaded from the `main website`_, or from the Releases_ page on GitHub.
This package should work on both Debian, Ubuntu and Linux Mint, at least.
If you prefer, you can also add the novelWriter repository on Launchpad to your package manager.
Ubuntu
------
You can add the Ubuntu PPA_ and install novelWriter with the following commands.
.. code-block:: bash
sudo add-apt-repository ppa:vkbo/novelwriter
sudo apt update
sudo apt install novelwriter
If you want pre-releases, add the ``ppa:vkbo/novelwriter-pre`` repository instead.
Debian and Mint
---------------
Since this is a pure Python package, the Launchpad PPA can in principle also be used on Debian or
Mint. However, the above command will fail to add the signing key.
Instead, run the following commands to add the repository and key:
.. code-block:: bash
sudo gpg --no-default-keyring --keyring /usr/share/keyrings/novelwriter-ppa-keyring.gpg --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys F19F1FCE50043114
echo "deb [signed-by=/usr/share/keyrings/novelwriter-ppa-keyring.gpg] http://ppa.launchpad.net/vkbo/novelwriter/ubuntu focal main" | sudo tee /etc/apt/sources.list.d/novelwriter.list
Then run the update and install commands as for Ubuntu:
.. code-block:: bash
sudo apt update
sudo apt install novelwriter
.. note::
Please use the Ubuntu 20.04 (focal) packages for Debian. The newer Ubuntu packages use a
different compression algorithm that Debian doesn't currently support.
AppImage Releases
-----------------
For other Linux distros than the ones mentioned above, the primary option is AppImage_. These are
completely standalone images for the app that include the necessary environment to run novelWriter.
They can of course be run on any Linux distro, if you prefer this to native packages.
.. _a_started_minimal:
Minimal Package Install
=======================
On the `main website`_ and on the Releases_ page on GitHub you will also find "Minimal Package"
install files for Windows, Linux and macOS. These are zip files of just the files you need to run
novelWriter on that specific platform.
These zip files don't include any dependencies, so you must install them separately.
.. _a_started_minimal_windows:
Minimal Package on Windows
--------------------------
First, make sure you have Python installed on your system. If you don't, you can download it from
`python.org`_. Python 3.7 or higher is required, but it is recommended that you install the latest
version.
Make sure you select the "Add Python to PATH" option during installation, otherwise the ``python``
command will not work in the command line window.
.. figure:: images/python_win_install.png
:align: center
:width: 500
When Python is installed, extract the novelWriter zip file and move the extracted folder to a
suitable location. You should probably not keep it on your desktop or in your downloads folder
where it may be accidentally deleted. Instead, move and rename it to for instance
``C:\novelWriter``.
After you've got the folder where you want it, open it and double-click the file named
``windows_install.bat``. This will open a command line window and run the setup script to install
dependencies, and add desktop and start menu icons.
Running ``windows_uninstall.bat`` will reverse the process if you wish to uninstall. After that,
you can just delete the novelWriter folder.
.. _a_started_minimal_linux:
Minimal Package on Linux
------------------------
On Linux you need to install the following packages on Debian-based distros, including Ubuntu and
Linux Mint:
.. code-block:: bash
sudo apt install python3-pyqt5 python3-lxml python3-enchant
On Fedora, you need the following packages:
.. code-block:: bash
sudo dnf install python3-qt5 python3-lxml python3-enchant
A standard desktop launcher can be installed via the main setup script. It will create the needed
desktop file and add it to the Applications menu. The necessary icons will also be installed, and a
file association with ``.nwx`` project files added.
To set this up, run the following from inside the extracted novelWriter folder:
.. code-block:: bash
python3 setup.py xdg-install
This installs icons for the current user. Run with ``sudo`` to install system-wide.
To uninstall the icons, run:
.. code-block:: bash
python3 setup.py xdg-uninstall
.. _a_started_minimal_mac:
Minimal Package on macOS
------------------------
These instructions assume you're using brew, and have Python and pip set up. If not, see the
`brew docs`_ for help. The main requirements for novelWriter are installed via the requirements
file. You also need to install the ``pyobjc`` package, so you should run:
.. code-block:: bash
pip3 install --user -r requirements.txt
pip3 install --user pyobjc
For spell checking you may also need to install the enchant package. It comes with a lot of default
dictionaries.
.. code-block:: bash
brew install enchant
With the dependencies in place, you can launch the ``novelWriter.py`` script directly to run
novelWriter.
.. note::
Right now there isn't a better integration with macOS available. Contributions from someone more
familiar with macOS would be very much appreciated. See the macOS_ issue on GitHub.
.. _a_started_pip:
Install from PyPi
=================
novelWriter is also available on the Python Package Index, or PyPi_. This install method works on
all supported operating systems.
To install from PyPi you must first have the ``python`` and ``pip`` commands available on your
system. If you don't, see specific instructions for your operating system in this documentation on
how to get the Python environment set up.
To install novelWriter from PyPi, use the following command:
.. code-block:: bash
pip install novelwriter
To upgrade an existing installation, use:
.. code-block:: bash
pip install --upgrade novelwriter
When installing via pip, novelWriter can be launched from command line with:
.. code-block:: bash
novelwriter
Make sure the install location for pip is in your PATH variable. This is not always the case by
default.
.. note::
On systems with both Python 2 and 3, you may have to replace the ``pip`` command with ``pip3``.

View File

@@ -1,171 +0,0 @@
***************
User Interface
***************
The user interface is kept as simple as possible to avoid distractions when writing.
The main window contains a tree view pane with the entire structure of the project, and a small details panel below it to display additional information about the currently selected item.
Edit View
=========
Editing a document can be done by either double-clicking on it, or hitting the return key when a file is selected.
This will open the document editor, which uses a simplified markdown format, described in the section below.
The document currently being edited can also be viewed in parallel in a right hand side view pane.
To view a document, simply press :kbd:`Ctrl-R`, or select a file and go to :menuselection:`Document --> View Document` in the menu.
The document viewed does not need to be the same document currently being edited.
If you are viewing the same document as the one you're editing, pressing :kbd:`Ctrl-R` again will update the document with your last changes.
References to tags can be opened in the view pane from the document editor by moving the cursor to a reference to a tag and hitting :kbd:`Ctrl-Enter`.
In the view panel, the references become clickable links, and the "Referenced By" panel at the bottom will show links to all documents referring back to it.
.. note::
The "Referenced By" panel relies on an up-to-date index of the project.
If anything is missing, or seems wrong, the index can always be rebuilt from :menuselection:`Tools --> Rebuild Index` or by pressing :kbd:`F9`.
Both the document editor and the viewer will show the label of the document as set in the Project Tree.
Optionally, the full project path to the file can be shown.
This can be set the Preferences.
Clicking on the document title bar will select and reveal the file in the Project Tree, making it easier to find the project location of the file in a large project.
Markdown Format
===============
The document editor uses a simplified markdown format.
That is, it supports basic formatting like bold, italics and underline, as well as four levels of headings.
The formats are listed below.
In addition to these standard markdown features, the editor also allows for comments, that is text that is ignored by the word counter and not exported or, optionally, hidden in the document viewer.
If the first word of a comment is "Synopsis:" (with the colon), the comment is treated specially, and will show up in the Outline View.
The editor also has a minimal set of keywords used for setting tags and references between files.
.. csv-table:: Formatting Syntax
:header: "Format", "Description"
:widths: 15, 50
"``# Title``", "Heading level one. The space after the # is mandatory."
"``## Title``", "Heading level two. The space after the # is mandatory."
"``### Title``", "Heading level three. The space after the # is mandatory."
"``#### Title``", "Heading level four. The space after the # is mandatory."
"``**text**``", "The text is rendered as bold text."
"``_text_``", "The text is rendered as italicized text."
"``__text__``", "The text is rendered as underlined text."
"``% text...``", "A comment. The text is not exported by default, seen in viewer, or counted towards word counts."
"``% Synopsis: text...``", "A synopsis comment. Shows up in the Synopsis column of the Outline View, but is otherwise treated as a comment."
"``@keyword: value``", "A keyword argument followed by a value, or a comma separated list of values."
The editor and viewer also supports markdown standard hard line breaks, and preserves non-breaking spaces.
A hard line break is achieved by leaving two or more spaces at the end of the line.
Alternatively, the user can press :kbd:`Shift-Enter` to insert this.
A non-breaking space is inserted with :kbd:`Shift-Space`.
Both hard line breaks and non-breaking spaces are highlighted by the syntax highlighter as an alternate coloured background, depending on the selected theme.
Project Outline View
====================
The Project Outline View is available as the second tab on the right hand side of the main window marked "Outline".
The Outline View provides an overview of the novel structure, displaying a tree hierarchy of the elements of the novel, that is, the level 1 to 4 headings.
Various meta data and information extracted from tags can be displayed in columns in the Outline View.
To turn on or off specific columns, right click the header and select the columns you want to show.
The order of the columns can be rearranged by dragging them to a different position.
.. note::
The "Title" columns cannot be disabled or moved.
The information viewed in teh Outline View is based on the Project Index.
While novelWriter does its best to keep the index up-to-date when content changes, you can always rebuild it manually by pressing :kbd:`F9`.
The Outline View itself can be regenerated by pressing :kbd:`F10`.
You can also enable automatic updating in the :menuselection:`Tools` menu, which will trigger an update whenever the index is updated.
You may want to disable this feature if your project is very large,
Synopsis Feature
================
The "Synopsis" column of the Outline View takes its information from a specially formatted comment.
In order to flag a comment as a Synopsis, add the word "Synopsis:" as the first word of the comment.
The ":" is required, and "synopsis" is not case sensitive.
If it is correctly formatted, the syntax highlighter will indicate this by altering the colour of the word.
.. note::
Only one comment can be flagged as a synopsis comment for each heading.
If multiple comments are flagged as a synopsis, the last one will be used.
Keyboard Shortcuts
==================
Most features are available as keyboard shortcuts.
These are as following:
.. csv-table:: Keyboard Shortcuts
:header: "Shortcut", "Description"
:widths: 15, 50
":kbd:`Alt-1`", "Switch focus to tree view pane."
":kbd:`Alt-2`", "Switch focus to document editor pane."
":kbd:`Alt-3`", "Switch focus to document viewer pane."
":kbd:`Ctrl-.`", "Correct word under cursor."
":kbd:`Ctrl-,`", "Open the Preferences dialog."
":kbd:`Ctrl-/`", "Change block format to comment."
":kbd:`Ctrl-0`", "Remove block formatting for block under cursor."
":kbd:`Ctrl-1`", "Change block format to header level 1."
":kbd:`Ctrl-2`", "Change block format to header level 2."
":kbd:`Ctrl-3`", "Change block format to header level 3."
":kbd:`Ctrl-4`", "Change block format to header level 4."
":kbd:`Ctrl-A`", "Select all text in document."
":kbd:`Ctrl-B`", "Format selected text, or word under cursor, as bold."
":kbd:`Ctrl-C`", "Copy selected text to clipboard."
":kbd:`Ctrl-D`", "Wrap selected text, or word under cursor, in double quotes."
":kbd:`Ctrl-E`", "If in tree view, edit a document or folder settings. (Same as :kbd:`F2`)"
":kbd:`Ctrl-F`", "Open the search bar and search for selected word, if any is selected."
":kbd:`Ctrl-G`", "Find next occurrence of word in current document. (Same as :kbd:`F3`)"
":kbd:`Ctrl-H`", "Open the search and replace bar and search for selected word, if any is selected. (On Mac, this is :kbd:`Cmd+=`)"
":kbd:`Ctrl-I`", "Format selected text, or word under cursor, as italic."
":kbd:`Ctrl-N`", "Create new document."
":kbd:`Ctrl-O`", "Open selected document."
":kbd:`Ctrl-Q`", "Exit novelWriter."
":kbd:`Ctrl-R`", "If in tree view, open a document for viewing. If editor pane has focus, open current document for viewing."
":kbd:`Ctrl-S`", "Save the current document in the editor."
":kbd:`Ctrl-U`", "Format selected text, or word under cursor, as underline."
":kbd:`Ctrl-V`", "Paste text from clipboard to cursor position."
":kbd:`Ctrl-W`", "Close the current document in the editor."
":kbd:`Ctrl-X`", "Cut selected text to clipboard."
":kbd:`Ctrl-Y`", "Redo latest undo."
":kbd:`Ctrl-Z`", "Undo latest changes."
":kbd:`Ctrl-F7`", "Toggle spell checking."
":kbd:`Ctrl-F10`", "Toggle automatic updating of project outline."
":kbd:`Ctrl-Del`", "If in tree view, move a document to trash, or delete a folder."
":kbd:`Ctrl-Enter`", "Open the tag or reference under the cursor in the view panel."
":kbd:`Ctrl-Shift-,`", "Open the Project Settings dialog."
":kbd:`Ctrl-Shift-/`", "Remove block formatting for block under cursor."
":kbd:`Ctrl-Shift-1`", "Replace occurrence of word in current document, and search for next occurrence."
":kbd:`Ctrl-Shift-A`", "Select all text in current paragraph."
":kbd:`Ctrl-Shift-D`", "Wrap selected text, or word under cursor, in single quotes."
":kbd:`Ctrl-Shift-G`", "Find previous occurrence of word in current document. (Same as :kbd:`Shift-F3`"
":kbd:`Ctrl-Shift-I`", "Import text to the current document from a text file."
":kbd:`Ctrl-Shift-N`", "Create new folder."
":kbd:`Ctrl-Shift-O`", "Open a project."
":kbd:`Ctrl-Shift-R`", "Close the document view pane."
":kbd:`Ctrl-Shift-S`", "Save the current project."
":kbd:`Ctrl-Shift-W`", "Close the current project."
":kbd:`Ctrl-Shift-Up`", "Move item one step up in the tree view."
":kbd:`Ctrl-Shift-Down`", "Move item one step down in the tree view."
":kbd:`F1`", "Open documentation. This just tries to send the documentation URL ti your browser."
":kbd:`F2`", "If in tree view, edit a document or folder settings. (Same as :kbd:`Ctrl-E`)"
":kbd:`F3`", "Find next occurrence of word in current document. (Same as :kbd:`Ctrl-G`)"
":kbd:`F5`", "Open the Build Novel Project dialog."
":kbd:`F7`", "Re-run spell checker."
":kbd:`F8`", "Activate Zen Mode, hiding project tree and view panel."
":kbd:`F9`", "Re-build project index."
":kbd:`F10`", "Re-build project outline."
":kbd:`F11`", "Activate full screen mode."
":kbd:`Shift-Enter`", "Insert a hard line break at the cursor position."
":kbd:`Shift-F3`", "Find previous occurrence of word in current document. (Same as :kbd:`Ctrl-Shift-G`"
":kbd:`Shift-Space`", "Insert a non-breaking space at the cursor position."
":kbd:`Enter`", "If in tree view, open a document for editing."
.. note::
On macOS, replace :kbd:`Ctrl` with :kbd:`Cmd`.

View File

@@ -1,55 +0,0 @@
************
Introduction
************
novelWriter is a simple, multi-document plain text editor using a modified markdown syntax to apply simple formatting.
Additional features that are not standard markdown are available through special meta data keywords.
These keywords make it possible to inter-link documents, and generate an overview of the entire novel project and how the various files are interconnected.
Design Philosophy
-----------------
The user interface is intended to be as minimalistic as practically possible, while at the same time provide a complete set of features needed for writing a novel.
.. note::
novelWriter is not intended to be a full office type word processor.
It doesn't support images, links, tables, and its formatting is limited to headers, and bold, italicised and underlined text.
Most features are accessible through the menu and through keyboard shortcuts.
The colour scheme of the user interface can be modified with various themes, and new themes are fairly straight forward to add.
The project itself is laid out in a tree view on the left hand side of the main window.
It has various sections, called *root folders*, for the various types of supporting files that the user may want to add to the project.
The novel itself lives under its own root folder.
Project Layout
--------------
The layout of the novel itself is managed through the four supported heading levels, H1 through H4.
H1 is used for the book title, and for partitions.
H2 is used for chapter tiles.
H3 is reserved for scene titles.
H4 is for section titles within scenes, if such granularity is necessary.
For the files designated as project notes, the usage of headers imply no structural meaning, and the user is free to do whatever they want.
Project Export
--------------
The project can at any time be exported to a range of different formats.
Natively, novelWriter supports export to plain text file, HTML document, novelWriter flavoured markdown, standard markdown (requires Qt 5.14), and to a basic Open Document.
In addition, printing and printing to PDF is also possible.
The best supported export format is HTML, which can be imported or converted by a number of other tools like Pandoc, or simply imported into Libre Office and similar.
Screenshot
----------
**novelWriter with default system theme:**
.. image:: images/screenshot_default.png
:width: 800
**novelWriter with dark theme:**
.. image:: images/screenshot_dark.png
:width: 800

View File

@@ -1,23 +0,0 @@
************************
Supporting Files (Notes)
************************
Supporting files, or notes, are any files stored in root folders that are not the Novel root folder.
These files are intended for summaries and outlines of the various plot elements, characters, locations, and so on, of the novel.
These are not required, but making at least minimal files for each such element, and add a tag to them, makes it possible to use the Outline View feature to see how each element intersects with each section of the novel itself, and add clickable cross-references between document in the editor and viewer.
File Tags
=========
Each new heading in a note file can have a tag associated with it.
The format of a tag is ``@tag: tagname``, where tagname is a unique identifier.
Tags can then be referenced in the novel files, or other note files, and will show up in the Outline View and in the back-reference panel when a document is being viewed.
The syntax highlighter will alert the user that the keyword is correctly used and that the tag is allowed, that is, the tag is unique.
Duplicate tags should be detected as long as the index is up to date.
The tag is the only part of these files that the application uses.
The rest of the file is there for the writer to use in whatever way they wish.
A note file can also reference other note files in the same way novel files do.
When the note file is opened in the view pane, these become clickable links, making it easier to follow connections in the plot.

View File

@@ -0,0 +1,159 @@
.. _a_export:
***********************
Building the Manuscript
***********************
You can at any time build a manuscript, an outline of your notes, or any other type of document
from the text in your project. All of this is handled by the :guilabel:`Build Novel Project` tool.
You can activate it from the sidebar, the :guilabel:`Tools` menu, or by pressing :kbd:`F5`.
.. note::
This tool is scheduled to receive a full update in novelWriter 2.1, adding many new features
requested by users. See the `2.1 Milestone <https://github.com/vkbo/novelWriter/milestone/43>`_
for an overview.
.. _a_export_headers:
Header Formatting
=================
The titles for the five types of headings (the chapter headings come in a numbered and unnumbered
version) of story structure can be formatted collectively in the build tool. This is done through
a series of keyword–replace steps. They are all on the format ``%keyword%``.
``%title%``
This keyword will always be replaced with the title text you put after the ``#`` characters in
your document.
``%ch%``
This will be replaced by a chapter number. The number is incremented by one each time the build
tool sees a new heading of level two in a document, unless the heading formatting code has the
added ``!``. In the latter case, the counter is *not* incremented. This is useful for for
instance Prologue and Epilogue chapters.
``%chw%``
Behaves like ``%ch%``, but the number is represented as a number word. You can select between a
number of different languages.
``%chi%``
Begaves like ``%ch%``, but represented as a lower case Roman number from 1 to 4999.
``%chI%``
Behaves like ``%ch%``, but represented as an upper case Roman number from 1 to 4999.
``%sc%``
This is the number counter equivalent for scenes. These are incremented each time a heading of
level three is encountered, but reset to 1 each time a chapter is encountered. They can thus be
used for counting scenes within a chapter.
``%sca%``
Behaves like ``%sc%``, but the number is *not* reset to 1 for each chapter. Instead it runs from
1 from the beginning of the novel to produce an absolute scene count.
``\\``
This inserts a line break within the title.
.. note::
Header formatting only applies to novel documents. Headings in notes will be left as-is.
**Example**
* The format ``%title%`` just reproduces the title you set in the document.
* The format ``Chapter %ch%: %title%`` produces something like "Chapter 1: My Chapter Title".
* The format ``Scene %ch%.%sc%`` produces something like "Scene 1.2" for scene 2 in chapter 1.
.. _a_export_scenes:
Scene Separators
================
If you don't want any titles for your scenes (or for your sections if you have them), you can leave
the formatting boxes empty. If so, an empty paragraph will be inserted between the scenes or
sections instead, resulting in a gap in the text.
Alternatively, if you want a separator between them, like the common ``* * *``, you can enter the
desired separator text in the formatting box. In fact, if the format is a piece of static text, it
will always be treated as a separator.
.. _a_export_files:
File Selection
==============
Which documents and notes are selected for the build can be controlled from the options on the left
side of the dialog window. In addition, you can select to include the synopsis comments, regular
comments, keywords, and even exclude the body text itself if you just want an outline.
.. tip::
If you for instance want to export a document with an outline of the novel, you can enable
keywords and synopsis export and disable body text, thus getting a document with each heading
followed by the tags and references and the synopsis.
If you need to exclude specific documents from your exports, like draft documents or documents you
want to take out of your manuscript, but don't want to delete, you can set the documents as
"inactive" in the project tree. :guilabel:`Build Novel Project` tool has a switch to collectively
exclude inactive documents.
.. _a_export_print:
Printing
========
The print button allows you to print the content in the preview window. You can either print to one
of your system's printers, or print directly to a file as PDF. You can also print to file from the
regular print dialog. The direct to file option is just a shortcut.
.. note::
The paper format should in all cases default to whatever your system default is. Of you want to
change it, you have to select it from the :guilabel:`Print Preview`` dialog.
.. _a_export_formats:
Export Formats
==============
Currently, six formats are supported.
Open Document Format
The Build tool can produce either an ``.odt`` file, or an ``.fodt`` file. The latter is just a
flat version of the document format as a single XML file. Most rich text editors support the
former, and a few the latter.
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.
novelWriter Markdown
This is simply a concatenation of the project documents selected by the filters. 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/GitHub Markdown
The Markdown format comes in both Standard and GitHub flavour. The *only* difference in terms of
novelWriter functionality is the support for strikethrough text, which is not supported by the
Standard flavour, but *is* supported by the GitHub flavour.
.. _a_export_options:
Additional Formats
==================
In addition to the above document formats, the novelWriter HTML and Markdown formats can also be
wrapped in a JSON file. These files will have a meta data entry and a body entry. For HTML, also
the accompanying css styles are included.
The text body is saved in a two-level list. The outer list contains one entry per document, in the
order they appear in the project tree. Each document is then split up into a list as well, with one
entry per paragraph it contains.
These files are mainly intended for scripted post-processing for those who want that option. A JSON
file can be imported directly into a Python dict object or a PHP array, to mentions a few options.

View File

@@ -0,0 +1,72 @@
.. _a_notes:
*************
Project Notes
*************
novelWriter doesn't have a database and complicated forms for filling in details about plot
elements, characters, and all sorts of additional information that isn't a part of the novel text
itself. Instead, all such information is saved in notes that are written and maintained just like
all other text in your project.
The relation between all these additional elements is extracted from the documents and notes by the
project indexer, based on the tags and references you set within them.
Using notes is not required, but making at least minimal notes for each plot element, and adding a
tag to them, makes it possible to use the Outline View to see how each element intersects with each
section of the novel itself, and adds clickable cross-references between documents in the editor
and viewer.
.. _a_notes_tags:
Tags in Notes
=============
Each new heading in a note can have a tag associated with it. The format of a tag is
``@tag: tagname``, where tagname is a unique identifier of your choosing. Tags can then be
referenced in the novel documents, or cross-referenced in other notes, and will show up in the
Outline View and in the back-reference panel when a document is opened in the viewer. See
:ref:`a_struct_tags` for how to reference notes.
The syntax highlighter will alert the user that the keyword is correctly used and that the tag is
allowed, that is, the tag is unique. Duplicate tags should be detected as long as the index is up
to date. An invalid tag should have a green wiggly line under it, and will not receive the syntax
colour that valid tags do.
The tag is the only part of these notes that the application uses. The rest of the document content
is there for the writer to use in whatever way they wish. Of course, the content of the documents
can be added to the manuscript, or an outline document. If you want to compile a single document of
all your notes, you can do this from the :guilabel:`Build Novel Project` tool.
One note can also reference another note in the same way novel documents do. When the note is
opened in the view panel, the references become clickable links, making it easier to follow
connections in the plot. Notes don't show up in the Outline View though, so referencing between
notes is only meaningful if you want to be able to click-navigate between them, or of course if you
just want to highlight that two notes are related.
.. tip::
If you cross-reference between notes and export your project as an HTML document using the
:guilabel:`Build Novel Project` tool, the cross-references become clickable links in the
exported HTML document.
Example of a project note with two headers, with separate tags, and with references to other notes:
.. code-block:: none
:linenos:
# Main Characters
## Jane Doe
@tag: Jane
@location: Earth
Something about Jane ...
## John Doh
@tag: John
@location: Mars
Something about John ...

View File

@@ -0,0 +1,361 @@
.. _a_proj:
**************
Novel Projects
**************
New projects can be created from the :guilabel:`Project` menu by selecting :guilabel:`New Project`.
This will open the :guilabel:`New Project Wizard` that will assist you in creating a barebone
project suited to your needs.
A novelWriter project requires a dedicated folder for storing its files on the local file system.
See :ref:`a_storage` for further details on how files are organised.
A list of recently opened projects is maintained, and displayed in the :guilabel:`Open Project`
dialog. A project can be removed from this list by selecting it and pressing the :kbd:`Del` key or
by clicking the :guilabel:`Remove` button.
Project-specific settings are available in :guilabel:`Project Settings` in the :guilabel:`Project`
menu. See further details below in the :ref:`a_proj_settings` section. Details about the project,
including word counts, and a table of contents with word and page counts, is available through the
:guilabel:`Project Details` dialog.
.. _a_proj_roots:
Project Roots
=============
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.
The novel documents go into a root folder of type :guilabel:`Novel`. Project notes go into the
other root folders. These other root folder types are intended for your notes on the various
elements of your story. Using them is of course entirely optional.
A new project may not have all of the root folders present, but you can add the ones you want from
the project tree tool bar.
Each root folder has one or more reference keyword associated with it that is used to reference
them from other documents and notes. The intended usage of each type of root folder is listed
below. However, aside from the :guilabel:`Novel` folder, no restrictions are applied by the
application on what you put in them. You can use them however you want.
.. tip::
You can make multiple root folders of each kind if you wish to split up your notes.
.. note::
It is not the notes themselves that are referenced by the listed reference keywords, but tags
set within the notes. See the examples below and in :ref:`a_struct_tags`.
:guilabel:`Novel`
This is the root folder of all text that goes into the final novel or novels. This class of
documents have other rules and features than the project notes. See :ref:`a_struct` for more
details.
:guilabel:`Plot`
This is the root folder where main plots can be outlined. It is optional, but adding at least
brief notes can be useful in order to tag plot elements for the Outline View. Tags in this
folder can be references using the ``@plot`` keyword.
:guilabel:`Characters`
Character notes go in this root folder. These are especially important if you want to use the
Outline View to see which character appears where, and which part of the story is told from a
specific character's point-of-view, or focusing on a particular character's storyline. Tags in
this folder can be referenced using the ``@pov`` keyword for point-of-view characters,
``@focus`` for a focus character, or the ``@char`` keyword for any other characters.
:guilabel:`Locations`
The locations folder is for various scene locations that you want to track. Tags in this folder
can be references using the ``@location`` keyword.
:guilabel:`Timeline`
If the story has multiple plot timelines or jumps in time within the same plot, this class of
notes can be used to track this. Tags in this folder can be references using the ``@time``
keyword.
:guilabel:`Objects`
Important objects in the story, for instance important objects that change hands often, can be
tracked here. Tags in this folder can be references using the ``@object`` keyword.
:guilabel:`Entities`
Does your plot have many powerful organisations or companies? Or other entities that are part of
the plot? They can be organised here. Tags in this folder can be references using the
``@entity`` keyword.
:guilabel:`Custom`
The custom root folder can be used for tracking anything else not covered by the above options.
Tags in this folder can be references using the ``@custom`` keyword.
The root folders correspond to the categories of tags that can be used to reference them. For more
information about the tags listed, see :ref:`a_struct_tags`.
.. note::
You can rename root folders to whatever you want. However, this doesn't change the reference
keyword.
Example of a character note:
.. code-block:: none
:linenos:
# Jane Doe
@tag: Jane
Some information about the character Jane Doe.
Example of a novel scene referencing the above character:
.. code-block:: none
:linenos:
### Chapter 1, Scene 1
@pov: Jane
When Jane woke up that morning ...
.. _a_proj_roots_del:
Deleted Documents
-----------------
Deleted documents will be moved into a special :guilabel:`Trash` root folder. Documents in the
trash folder can then be deleted permanently, either individually, or by emptying the trash from
the menu. Documents in the trash folder are removed from the project index and cannot be
referenced.
A document or a folder can be deleted from the :guilabel:`Project` menu, or by pressing
:kbd:`Ctrl`:kbd:`Shift`:kbd:`Del`. Root folders can only be deleted when they are empty.
.. _a_proj_roots_out:
Archived Documents
------------------
If you don't want to delete a document, or put it in the :guilabel:`Trash` folder where it may be
deleted, but still want it out of your main project tree, you can create an :guilabel:`Archive`
root folder.
You can drag any document to this folder and preserve its settings. The document will always be
excluded from the :guilabel:`Build Novel Project` builds. It is also removed from the project
index, so the tags and references defined in it will not show up anywhere else.
.. _a_proj_roots_orph:
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 folder that
aren't tracked in the core project file. These files, when discovered, are recovered and added back
into the project if possible.
The discovered files are scanned for meta information that give clues as to where the document may
previously have been located in the project. The project loading routines will try to put them back
as close as possible to this location, if it still exists. Generally, it will be appended to the
end of the folder where it previously was located. If that folder doesn't exist, it will try to add
it to the correct root folder. If it cannot figure out which root folder is correct, the document
will be added to the :guilabel:`Novel` root folder. Only if the :guilabel:`Novel` folder is
missing will it give up.
If the title of the document can be recovered, the word "Recovered:" will be added as a prefix. If
the title cannot be determined, the document will be named "Recovered File N" where N is a
sequential number.
.. _a_proj_roots_lock:
Project Lockfile
----------------
To prevent lost documents caused by file conflicts when novelWriter projects are synced with file
synchronisation tools, a project lockfile is written to the project folder. If you try to open a
project which 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 give the option to ignore
this warning, and continue opening the project at your own risk.
.. note::
If, for some reason, novelWriter 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
lose any actual text unless both instances have the same document open in the editor, and
novelWriter will try to resolve project inconsistencies the next time you open the project.
.. _a_proj_roots_dirs:
Using Folders in the Project Tree
---------------------------------
Folders, aside from root folders, have no structural significance to the project. When novelWriter
is processing the documents in the novel, like for instance during export, these folders are
ignored. Only the order of the documents themselves matter.
The folders are there purely as a way for the user to organise the documents in meaningful sections
and to be able to collapse and hide them in the project tree when you're not working on those
documents.
.. tip::
You can 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_files:
Project Documents
=================
New documents can be created from the tool bar in the Project Tree, or by pressing
:kbd:`Ctrl`:kbd:`N`. This will open the create new item menu and let you choose between a number of
pre-defined documents and folders. You will be prompted for a label for the new item. You can
always rename an item by selecting :guilabel:`Rename Item` from the :guilabel:`Project` menu, or by
pressing :kbd:`F2`.
Other settings for project items are available from the context menu that you can activate by
right-clicking on an item in the Project Tree. The :guilabel:`Transform` submenu includes options
for converting, splitting, or merging items.
.. _a_proj_files_counts:
Word Counts
-----------
A character, word and paragraph count is maintained for each document, as well as for each section
of a document following a header. The word count and change of words in the current session is
displayed in the footer of any document open in the editor, and all stats are shown in the details
panel below the project tree for any document selected in the project or novel tree.
The word counts are not updated in real time, but run in the background every few seconds for as
long as the document is being actively edited.
A total project word count is displayed in the status bar. The total count depends on the sum of
the values in the project tree, which again depend on an up to date index. If the counts seem
wrong, a full project word recount can be initiated by rebuilding the project's index. Either form
the :guilabel:`Tools` menu, or by pressing :kbd:`F9`.
.. _a_proj_settings:
Project Settings
================
The :guilabel:`Project Settings` can be accessed from the :guilabel:`Project` menu, or by pressing
:kbd:`Ctrl`:kbd:`Shift`:kbd:`,`. This will open a dialog box, with a set of tabs.
Settings Tab
------------
The :guilabel:`Settings` tab holds the project name, title, and author settings.
The :guilabel:`Project Name` can be set to a different value than the :guilabel:`Novel Title`. The
difference between them is simply that the :guilabel:`Project Name` is used for the GUI (main
window title) and for generating the backup files. The intention is that the
:guilabel:`Project Name` should remain unchanged throughout the project's lifetime, otherwise the
name of exported files and backup files may change too.
The :guilabel:`Novel Title` and :guilabel:`Authors` settings are used when building the manuscript,
for some formats.
If your project is in a different language than your main spell checking is set to, you can
override the default spell checking language here. You can also override the automatic backup
setting.
Status and Importance Tabs
--------------------------
Each document or folder of type :guilabel:`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.
These are purely there for the user's 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
use these to indicate at what stage of completion each novel document is, or how important the
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.
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.
Auto-Replace Tab
----------------
A set of automatically replaced keywords can be added in this tab. The keywords in the left column
will be replaced by the text in the right column when documents are opened in the viewer. They will
also be applied to manuscript builds.
The auto-replace feature will replace text in angle brackets that are in this list. The syntax
highlighter will add an alternate colour to text matching the syntax, but it doesn't check if the
text is in this list.
.. note::
A keyword cannot contain spaces. The angle brackets are added by default, and when used in the
text are a part of the keyword to be replaced. This is to ensure that parts of the text aren't
unintentionally replaced by the content of the list.
.. _a_proj_backup:
Backup
======
An automatic backup system is built into novelWriter. In order to use it, a backup path to where
the backup files are to be stored must be provided in :guilabel:`Preferences`.
Backups can be run automatically when a project is closed, which also implies it is run when the
application itself is closed. Backups are date stamped zip files of the project files in the
project folder (files not strictly a part of the project are ignored). The zip archives are stored
in a subfolder of the backup path. The subfolder will have the same name as the
:guilabel:`Project Name` as defined in :ref:`a_proj_settings`.
The backup feature, when configured, can also be run manually from the :guilabel:`Tools` menu.
It is also possible to disable automated backups for a given project in
:guilabel:`Project Settings`.
.. note::
For the backup to be able to run, the :guilabel:`Project Name` must be set in
:guilabel:`Project Settings`. This value is used to generate the folder name for the zip files.
Without it, the backup will not run at all, but it will produce a warning message.
.. _a_proj_stats:
Writing Statistics
==================
When you work on a project, a log file records when you opened it, when you closed it, and the
total word counts of your novel documents and notes at the end of the session, provided that the
session lasted either more than 5 minutes, or that the total word count changed. You can view this
file in the ``meta`` folder in the directory where you saved your project. The file is named
``sessionStats.log``.
A tool to view the content of this file is available in the :guilabel:`Tools` menu under
:guilabel:`Writing Statistics`. You can also launch it by pressing :kbd:`F6`, or find it on the
Sidebar.
The tool will show a list of all your sessions, and a set of filters to apply to the data. You can
also export the filtered data to a JSON file or to a CSV file that can be opened by a spreadsheet
application like for instance Libre Office Calc.
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
:guilabel:`Preferences`.

View File

@@ -0,0 +1,208 @@
.. _a_struct:
***************
Novel Structure
***************
This section covers the structure of a novel project.
It concerns documents under the :guilabel:`Novel` type root folder only. There are some
restrictions and features that only apply to these types of documents.
.. _a_struct_heads:
Importance of Headings
======================
Subfolders under root folders have no impact on the structure of the novel itself. The structure is
instead dictated by the heading level of the headers within the documents.
Four levels of headings are supported, signified by the number of hashes (``#``) preceding the
title. See also the :ref:`a_fmt` section for more details about the markdown syntax.
.. note::
The header levels are not only important when generating the manuscript, they are also used by
the indexer when building the outline tree in the Outline as well as the Novel Tree. Each
heading also starts a new region where new references and tags can be defined.
The syntax for the four basic header types, and the two special header types, is listed in section
:ref:`a_fmt_head`. The meaning of the four levels for the structure of your novel is as follows:
**Header Level 1: Partition**
This header level signifies that the text refers to a top level partition. This is useful when
you want to split the manuscript up into books, parts, or acts. These headings are not required.
The novel title itself should use the special header level explained in :ref:`a_fmt_head`.
**Header Level 2: Chapter**
This header level signifies a chapter level partition. Each time you want to start a new
chapter, you must add such a heading. If you choose to split your manuscript up into one
document per scene, you need a single chapter document with just the heading. You can of course
also add a synopsis and reference keywords to the chapter document. If you want to open the
chapter with a quote or other introductory text that isn't part of a scene, this is also where
you'd put that text.
**Header Level 3: Scene**
This header level signifies a scene level partition. You must provide a title text, but the
title text can be replaced with a scene separator or just skipped entirely when you build your
manuscript.
**Header Level 4: Section**
This header level signifies a sub-scene level partition, usually called a "section" in the
documentation and the user interface. These can be useful if you want to change tag references
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 just like with scene titles.
Page breaks are automatically added before level 1 and 2 headers when you build your project to a
format that supports page breaks, or when you print the document directly from the build tool. 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 titles 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. See the :ref:`a_export` page for more details.
.. _a_struct_heads_title:
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 header 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:
``#! My Novel``
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.
If you want an additional page of text after the title page, starting on a fresh page, you can add
``[NEW PAGE]`` on a line by itself, and continue the text after it. This will insert a page break
before the text. See also :ref:`a_fmt_break`.
.. _a_struct_heads_unnum:
Unnumbered Chapter Headings
---------------------------
If you use the automatic numbering feature for your chapters, but you want to keep some special
chapters separate from this, you cam add a ``!`` to the level 2 header formatting code to tell the
build tool to skip these chapters.
``##! Unnumbered Chapter Title``
There is a separate formatting feature for such chapters in the :guilabel:`Build Novel Project`
tool as well. See the :ref:`a_export` page for more details. When building a document of a format
that supports page breaks, also unnumbered chapters will have a page break added just like for
normal chapters.
.. Note::
Previously, you could also disable the automatic numbering of a chapter by adding an ``*`` as
the first character of the chapter title itself. This feature has been dropped in favour of the
current format in order to keep level 1 and 2 headers consistent. Please update your chapter
headings if you've used this syntax.
.. _a_struct_tags:
Note References
===============
Each text partition, indicated by a heading of any level, can contain references to tags set in the
project notes of the project. The references are gathered by the indexer and used to generate the
Outline View. This section covers how to make references to tags. See :ref:`a_notes_tags` for how
to define tags the references can point to.
References and tags are also clickable in the document editor and viewer, making it easy to
navigate between reference notes while writing. Clicked links are always opened in the view panel.
References are set as a keyword and a list of corresponding tags. The valid keywords are listed
below. The format of a reference line is ``@keyword: value1, [value2] ... [valueN]``. All keywords
allow multiple values.
``@pov``
The point-of-view character for the current section. The target must be a note tag in a
:guilabel:`Character` type root folder.
``@focus``
The character that has the focus for the current section. This can be used in cases where the
focus is not a point-of-view character. The target must be a note tag in a :guilabel:`Character`
type root folder.
``@char``
Other characters in the current section. The target must be a note tag in a
:guilabel:`Character` type root folder. This should not include the point-of-view or focus
character if those references are used.
``@plot``
The plot or subplot advanced in the current section. The target must be a note tag in a
:guilabel:`Plot` type root folder.
``@time``
The timelines touched by the current section. The target must be a note tag in a
:guilabel:`Timeline` type root folder.
``@location``
The location the current section takes place in. The target must be a note tag in a
:guilabel:`Locations` type root folder.
``@object``
Objects present in the current section. The target must be a note tag in a :guilabel:`Object`
type root folder.
``@entity``
Entities present in the current section. The target must be a note tag in a
:guilabel:`Entities` type root folder.
``@custom``
Custom references in the current section. The target must be a note tag in a :guilabel:`Custom`
type root folder. The custom folder are for any other category of notes you may want to use.
The syntax highlighter will alert the user that the tags and references are used correctly, and
that the tags referenced exist.
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 :guilabel:`Rebuild Index` from the :guilabel:`Tools` menu. In general,
the index for a document is regenerated when it is saved, so this shouldn't normally be necessary.
Example of a novel document with references to characters and plots:
.. code-block:: none
:linenos:
## Chapter 1
@pov: Jane
### Scene 1
@char: John, Sam
@plot: Main
Once upon a time ...
.. _a_struct_layout:
Document Layout
===============
All documents in the project can have a layout format set. Previously, there were multiple layouts
available to change how the documents where formatted on export. These have now been reduced to
just two layouts: :guilabel:`Novel Document` and :guilabel:`Project Note`.
Novel documents can only live in a :guilabel:`Novel` type root folder. You can also move them to
:guilabel:`Archive` and :guilabel:`Trash` of course. Project notes can be added anywhere in the
project.
The project tree can distinguish between the different layouts and header levels of the documents
using coloured icons, and optionally add emphasis on the label (See the :guilabel:`Preferences`.)
For novel documents, the heading level of the first heading is recorded, and indicated by the icon.
.. tip::
You can always start writing with a coarse setup with one or a few documents, and then later use
the split tool to split the documents into separate chapter and scene documents. You can split a
document on any of the four header levels.

View File

@@ -1,158 +0,0 @@
**************
Novel Projects
**************
A novelWriter project requires a dedicated folder for storing its files on the local file system.
See the Technical Information section for further details.
A new project can be created from the Project menu by selecting :menuselection:`Project --> New Project`.
A list of recently opened projects is maintained, and displayed in the "Open Project" dialog.
A project can be removed from this list by selecting it and pressing the :kbd:`Del` key.
The project specific settings are available in :menuselection:`Project --> Project Settings`.
See further details below.
Project Roots
=============
Projects are structured into a set of root folders, visible in the left side tree view panel.
The core novel files go into a root folder of type "Novel".
Other supporting files go into root folders of types "Plot", "Characters", "Locations", "Timeline", "Objects", "Entities", or "Custom".
These other root folder types are intended for your notes on the various elements of your story.
Using these is of course entirely optional.
A new project will not have all of the root folders present, but you can add the ones you want from :menuselection:`Project --> Create Root Folder`.
The root folders are intended for the following use, but aside from the Novel folder, no restrictions are enforced by the application.
You can use them however you want.
.. note::
The root folders correspond to the categories of tags that can be used.
See the "Project Structure" section for further details.
* **Novel:** The root folder of all text that goes into the final novel.
This class of files have other rules and features than other files in the project.
See the Novel Structure section for more details.
* **Plot:** This is the root folder where main plots can be outlined.
It is optional, but adding at least dummy files can be useful in order to tag plot elements for the Outline View.
* **Characters:** Character files go in this root folder.
These are especially important if one wants to use the Outline View to see which character appears where, and which part of the story is told from a specific character's point-of-view.
* **Locations:** Location is for various scene locations that one wants to track.
* **Timeline:** If the story jumps in time within the same plot, this class of files can be used to track this.
* **Objects:** Important objects in the story can be tracked here.
* **Entities:** Entities, like organisations or companies, that are part of the plot, can be organised here.
* **Custom:** The custom root folder can be used for tracking anything else not covered by the above options.
Deleted files will be moved into a special "Trash" root folder.
Files in the Trash folder can be deleted permanently.
Orphaned Documents
------------------
In the event the editor crashes or otherwise exits without saving the project state, files that have been added to the project tree and are saved to disk will appear in a special "Orphaned Items" root folder next time the application is started.
These orphaned files will not have any meta data associated with them, although novelWriter will try to restore the file label it had in the project tree.
Other information will have to be set again, and the files moved back to the correct location in the project.
Project Lockfile
----------------
To prevent orphaned files caused by file conflicts when novelWriter projects are synced with file synchronisation tools, a project lockfile is written to the project folder.
If you try to open a project which has such a file, you will be presented with a warning, and some information about where novelWriter thinks the project is open.
You will be give the option to ignore this warning, and continue opening the project.
However, if multiple instances are in fact editing the same project, you are likely to cause inconsistencies and create diverging project files, potentially resulting in loss of data.
.. note::
If, for some reason, novelWriter crashes, the lock file may remain.
In such a case it is safe to ignore the lock file warning when re-opening the project.
Using Folders in the Project Tree
---------------------------------
Folders, aside from root folders, have no structural significance to the project.
They are there purely as a way for the user to organise the files in meaningful sections and to be able to close them in the tree view.
When processing the files in the novel, like for instance during export, the folders are ignored.
Project Settings
================
The project settings can be accessed from the :menuselection:`Project --> Project Settings` menu entry.
This will open a dialog box, with a set of tabs.
Settings Tab
------------
The Settings tab holds the project title and author settings.
Working Title can be set to a different title than the Book Title.
The difference between them is simply that the Working Title is used for the GUI (main window title) and for generating the backup files.
The intention is that the working title should remain unchanged, while changing the final title has no effect on features relying on the project name.
The Book Title is currently not ues for anything, so setting it is just for the benefit of the author.
The Book Authors text box takes one author per line.
Details Tab
-----------
This tab presents an overview of meta data about the project.
It states where on your file system the project is saved, how may times it has been saved, how many folders and files it contains, and how many words exist in the entire project.
Status Tab
----------
Each file of type "Novel" can be given a status level, signified by a coloured icon.
These are purely there for the user's convenience, and you are not required to use them for any other feature to work.
The intention is to use this list to set what stage of writing you are on, although you can in principle make them whatever you want.
.. note::
The status levels currently in use by a file cannot be deleted.
Importance Tab
--------------
Each file of types "Plot", "Character", "World", "Timeline", "Object", "Entity", or "Custom", can be given an importance level, signified by a coloured icon like for status level.
These are also purely there for the user's convenience, and you are not required to use them for any other feature to work.
The intention is to use this list to set how important the character, plot element, or otherwise, is for the story.
Again, these can in principle be used for whatever you want.
.. note::
The importance levels currently in use by a file cannot be deleted.
Auto-Replace Tab
----------------
A set of automatically replaced keywords can be added in this tab.
The keywords in the left column wile be replaced by the text in the right column when documents are opened in the viewer.
This will also be applied to exports when the feature is added.
Note that a keyword cannot contain any spaces.
The angle brackets are added by default, and when used in the text are a part of the keyword to be replaced.
This is to ensure that parts of the text isn't unintentionally replaced by the content of the list.
Writing Files
=============
New document files can be created from the Document menu, or by pressing :kbd:`Ctrl-N` while in the tree view pane.
This will create a new, empty file, and open the item settings dialog where the filename and various other settings can be set.
This dialog can also be opened again later from either the menu, :menuselection:`Project -> Edit` item, or by pressing :kbd:`Ctrl-E` or :kbd:`F2` with the item selected.
The layout of the file is also defined here.
For Novel files, the full list of layout options are available.
For non-Novel files, only "Note" is available.
You can also select whether the file is by default included when building the project.
This setting can be overridden in the export tool if you wish to include them anyway.
See the Project Structure section for more details.
Backup
======
An automatic backup system is built into novelWriter.
In order to use it, a backup path to where the backups are to be stored must to be provided in :menuselection:`Tools --> Preferences`.
Backups can be run automatically when a project is closed, which also implies it is run when the application is closed.
Backups are date stamped zip files of the entire project folder, and are stored in a subfolder of the backup path with the same name as the project working title set in Project Settings.
The backup feature, when configured, can also be run manually from the :menuselection:`Tools` menu.
It is also possible to dissable automated backup for a given project in Project Settings.
.. note::
For the backup to be able to run, the Working Title must be set in Project Settings.
This value is used to generate the folder name for the zip files.

View File

@@ -0,0 +1,4 @@
furo
sphinx>=4.0
pygments>=2.7
docutils==0.17.1

View File

@@ -1,88 +0,0 @@
***************
Getting Started
***************
You can download novelWriter from https://github.com/vkbo/novelWriter/releases
Latest version is |version|.
Installing Dependencies
=======================
If you already have Python installed, all you need to do is install the dependencies.
To do this, your need to open your command line tool, find the folder where you extracted novelWriter, and run:
.. code-block:: console
python -m pip install -r requirements.txt
On some operating systems you need to use ``python3`` instead of ``python``.
The following Python packages are required to run novelWriter:
* ``pyqt5`` for the GUI
* ``lxml`` for writing project files
.. note::
Sometimes the SVG graphics package for pyqt5 must be installed separately.
The following are optional, but recommended:
* ``pyenchant`` for spell checking
PyQt/Qt should be at least 5.2.1, but ideally 5.10 or higher for nearly all features to work.
Exporting to standard Markdown requires PyQt/Qt 5.14.
There are no known minimum for package lxml, but the code was originally written with 4.2.
The optional spell check library must be at least 3.0.0 to work with Windows.
On Linux, 2.0.0 also works fine.
Running novelWriter
===================
If all the required dependencies are met, you can run novelWriter from the command line in one of the following ways:
.. code-block:: console
python novelWriter.py
python3 novelWriter.py
./novelWriter.py
A few switches are supported from the command line, mostly to assist in debugging if an error is encountered.
To list all options, run:
.. code-block:: console
python novelWriter.py --help
There are also a couple of install scripts in the assets folder which will assist in setting up launch icon and the novelWriter project file mimetype for Gnome desktops on Linux.
Currently, there's one script for Debian and one for Ubuntu.
Building a Standalone Executable
================================
A standalone executable can be built with pyinstaller, using the provided python script "install.py" in the source folder.
This script will automatically try to install all dependencies and build the standalone executable of novelWriter.
You can run the script by typing the following into your command prompt:
.. code-block:: console
python install.py
If successful, the executable will be in the "dist" folder.
Additional Instructions for Windows
-----------------------------------
If you don't have Python installed, you can download it from the python.org website.
The installers for Windows are available at https://www.python.org/downloads/windows/
novelWriter should work with Python 3.5 or higher, and the executable installer is the easiest to install.
Please note that the `pyenchant` package for spell checking does not currently work with the x86-64 version, so if you want spell checking, you must install the x86 version.
Also, make sure you select the "Add Python to PATH" option.
.. image:: images/python_win_install.png
:width: 600
Once Python is set up and running, you can either run novelWriter from the folder where you extracted it, or you can build an executable and run that from a desktop icon instead.

View File

@@ -1,120 +0,0 @@
*****************
Project Structure
*****************
This section covers the structure of a novel project.
.. note::
This section concerns files under the Novel type root folder only.
There are some restrictions and features that only applies to these type of files.
Importance of Headings
======================
Subfolders under root folders have no impact on the structure of the novel itself.
The structure is instead dictated by the heading level.
Four levels of headings are supported, signified by the number of hashes preceding the title.
See the Markdown section.
The header levels are not only important when generating the exported novel file, but they are also used by the indexer and Outline View.
Each heading starts a new region where new references to tags can be set.
The different header levels are interpreted as specific section types of the novel.
* ``# Header1``: Header level 1 signifies that the text refers to either the novel title or the name of a top level partition.
* ``## Header2``: Header level 2 signifies a chapter level partition.
* ``### Header3``: Header level 3 signifies a scene level partition.
* ``#### Header4``: Header level 4 signifies a sub-scene level partition (section).
Tag References
==============
Each partition, indicated by a heading, can contain references to tags set in the supporting files of the project.
The references are gathered by the indexer and used to generate the Outline View of how the different parts of the novel are connected.
References and tags are also clickable in the view panel, and makes it easy to navigate reference notes while writing.
The targets of references can also be set per header.
This is covered in the "Supporting Files" section.
References are set as keyword and a list of corresponding tags.
The valid keywords are listed below.
The format of a meta line is ``@keyword: value1, [value2] ... [valueN]``.
All keywords allow multiple values.
* ``@pov``: The point-of-view character for the current section.
The target must be a note tag in the character root folder.
* ``@char``: Other characters in the current section.
The target must be a note tag in the character root folder.
This should not include the point-of-view character.
* ``@plot``: The plot timelines touched by the current section.
The target must be a note tag in the plot root folder.
* ``@time``: The timelines touched by the current section.
The target must be a note tag in the timeline root folder.
* ``@location``: The location the current section takes place in.
The target must be a note tag in the locations root folder.
* ``@object``: Objects present in the current section.
The target must be a note tag in the object root folder.
* ``@entity``: Entities present in the current section.
The target must be a note tag in the entities root folder.
* ``@custom``: Custom references in the current section.
The target must be a note tag in the custom root folder.
The syntax highlighter will alert the user that only the correct keywords are used, and that the tags referenced exist.
If the index of defined tags is out of date, press :kbd:`F9` to regenerate it, or select :menuselection:`Tools --> Rebuild Index` from the menu.
In general, the index for a file is regenerated when a file is saved, so this shouldn't normally be necessary.
Novel File Layout
=================
Files in a novelWriter project can have a layout format set.
These layouts are important when the project is exported, as they indicate how to treat the content in terms of formatting, headings and page breaks.
The layout for each file is indicated as the last set of characters in the Flags column of the project tree.
They also help to indicate what each file is for in your project.
Some of these layout types are different, some are just cosmetic.
The "Book" layout is a generic novel file layout that in formatting is identical to "Chapter" and "Scene", but may help to indicate what files do in your project.
You can lay out your project using Book files for each act, and then later split those into chapter or scene files by using the "Split Document" tool.
Scenes can also be contained within chapter files, but you lose the drag and drop feature that comes with having them in separate files.
Some layouts have implications on how the project is exported.
Files with layout "Title" and "Partition" have all headings and text centred, while the "Unnumbered" layout disables the automatic chapter numbering feature for everything contained within it.
All of the above layout formats are only usable in the Novel root folder.
Files that are not a part of the novel itself should have the Note layout.
These files are not getting any special formatting, and it is possible to collectively filter them out during export.
Note files can be used anywhere in the project.
Below is an overview of all available layout formats.
* **Title Page**: The title page layout.
The title should be formatted as a heading level one.
All text is automatically centred on exports.
* **Plain Page**: A plain page layout useful for instance for front matter pages.
Heading levels are ignored for this layout format, and so are formatting options like Justify Text.
The page is exported with a page break before it.
* **Book**: This is the generic novel file format that in principle can be used for all novel files.
Since the internal structure of the novel is controlled by the heading levels, this file will produce the same result as a collection of Partition, Chapter and Scene type files.
However, it does not provide the functionality of the Unnumbered layout format.
* **Partition**: A partition can be used to split the novel into parts.
Partition titles are indicated with a level one heading.
You can also add text and meta data to the page.
The Partition file layout will in addition force a page break before the heading, and centre all content on the page.
* **Chapter**: Signifies the start of a new chapter.
If the text itself is contained in scene files, these files should only contain the title, comments, synopsis, and tag references for characters, plot, etc.
The heading for chapters should be level two.
If you need an opening text, like a quote or other leading text before the first scene, this is also where you'd want to add this text.
* **Unnumbered**: Same as Chapter, but when exporting the files and automatic chapter numbering is enabled, this file will not receive a number.
This makes the layout suitable for Prologue and Epilogue type chapters.
* **Scene**: A scene file.
This file should have a header of level three.
Further sections can have headers of level four, but there are no file layout specifically for sections.
* **Note**: A generic file that is optionally ignored when the novel is exported.
Use these files for descriptions of content in the supporting root folders.
Note files can also be added to the Novel root folder if you need to insert notes there.
Note file headers receive no formatting when building the project.
They are always exported as-is.
.. note::
The layout granularity is entirely optional.
In principle, you can write the entire novel in a single file with layout "Book".
You can also have a single file per chapter.

View File

@@ -0,0 +1,56 @@
.. _a_locations:
**************
File Locations
**************
.. _QStandardPaths: https://doc.qt.io/qt-5/qstandardpaths.html
novelWriter will create a few files on your system outside of the application folder itself. These
file locations are described in this document.
.. _a_locations_conf:
Configuration
=============
The general configuration of novelWriter, including everything that is in :guilabel:`Preferences`,
is saved in one central configuration file. The location of this file depends on your operating
system. The system paths are provided by the Qt QStandardPaths_ class and its ConfigLocation value.
The standard paths are:
* Linux: ``~/.config/novelwriter/novelwriter.conf``
* macOS: ``~/Library/Preferences/novelwriter/novelwriter.conf``
* Windows: ``C:\Users\<USER>\AppData\Local\novelwriter\novelwriter.conf``
Here, ``~`` corresponds to the user's home directory on Linux and macOS, and ``<USER>`` is the
user's username on Windows.
.. note::
These are the standard operating system defined locations. If your system has been set up in a
different way, these locations may also be different.
.. _a_locations_data:
Application Data
================
novelWriter also stores a bit of data that is generated by the user's actions. This includes the
list of recent projects form the :guilabel:`Open Project` dialog. Custom themes should also be
saved here. The system paths are provided by the Qt QStandardPaths_ class and its AppDataLocation.
The standard paths are:
* Linux: ``~/.local/share/novelwriter/``
* macOS: ``~/Library/Application Support/novelwriter/``
* Windows: ``C:\Users\<USER>\AppData\Roaming\novelwriter\``
Here, ``~`` corresponds to the user's home directory on Linux and macOS, and ``<USER>`` is the
user's username on Windows.
.. note::
These are the standard operating system defined locations. If your system has been set up in a
different way, these locations may also be different.

View File

@@ -0,0 +1,159 @@
.. _a_storage:
******************
How Data is Stored
******************
This section contains details of how novelWriter stores and handles the project data.
Project Structure
=================
All novelWriter files are written with utf-8 encoding. Since Python automatically converts Unix
line endings to Windows line endings on Windows systems, novelWriter does not make any adaptations
to the formatting on Windows systems. This is handled entirely by the Python standard library.
Python also handles this when working on the same files on both Windows and Unix-based operating
systems.
Main Project File
-----------------
The project itself requires a dedicated folder for storing its files, where novelWriter will create
its own "file system" where the folder and file hierarchy is described in a project XML file. This
is the main project file in the project's root folder with the name ``nwProject.nwx``. This file
also contains all the meta data required for the project, and a number of related project settings.
If this file is lost or corrupted, the structure of the project is lost, although not the text
itself. It is important to keep this file backed up, either through the built-in backup tool, or
your own backup solution.
.. tip::
The novelWriter project folder is structured so that it can easily be added to a version control
system like git. If you do so, you may want to add a `.gitignore` file to exclude files with the
extensions `.json` as JSON files are used to cache the index and various run-time settings and
are generally large files that change often.
The project XML file is indent-formatted, and is suitable for diff tools and version control since
most of the file will stay static, although a timesetamp is set in the meta section on line 2, and
various meta data entries incremented, on each save.
Project Documents
=================
All the project documents are saved in a folder in the main project folder named ``content``. Each
document has a file handle based on a 52 bit random number, represented as a hexadecimal string.
The documents are saved with a filename assembled from this handle and the file extension ``.nwd``.
If you wish to find the file system location of a document in the project, you can either look it
up in the project XML file, select :guilabel:`Show File Details` from the :guilabel:`Document` menu
when having the document open, or look in the ``ToC.txt`` file in the root of the project folder.
The ``ToC.txt`` file has a list of all documents in the project, referenced by their label, and
where they are saved.
The reason for this cryptic file naming is to avoid issues with file naming conventions and
restrictions on different operating systems, and also to have a file name that does not depend on
what the user names the document within the project, or changes it to. This is particularly useful
when using a versioning system.
Each document file contains a plain text version of the text from the editor. The file can in
principle be edited in any text editor, and is suitable for diffing and version control if so
desired. Just make sure the file remains in utf-8 encoding, otherwise unicode characters may
become mangled when the file is opened in novelWriter again.
Editing these files is generally not recommended outside of special circumstances, whatever they
may be. The reason for this is that the index will not be automatically updated when doing so,
which means novelWriter doesn't know you've altered the file. If you do edit a file in this manner,
you should rebuild the index when you next open the project in novelWriter.
The first lines of the file may contain some meta data starting with the characters ``%%~``. These
lines are mainly there to restore some information if it is lost from the project file, and the
information may be helpful if you do open the file in an external editor as it contains the
document label and the document class and layout. The lines can be deleted without any consequences
to the rest of the content of the file, and will be added back the next time the document is saved
in novelWriter.
The File Saving Process
-----------------------
When saving the project file, or any of the documents, the data is first saved to a temporary file.
If successful, the old data file is then removed, and the temporary file becomes the new file. This
ensures that the previously saved data is only replaced when the new data has been successfully
saved to the storage medium.
For the project XML file, a ``.bak`` file is in addition kept, which will always contain the
previous version of the file, although when auto-save is enabled, they may have the same content.
If the opening of a project file fails, novelWriter will automatically try to open the ``.bak``
file instead.
Project Meta Data
=================
The project folder contains a subfolder named ``meta``, containing a number of files. The meta
folder contains semi-important files. That is, they can be lost with only minor impact to the
project.
If you use version control software on your project, you can exclude this folder, although you may
want to track the session log file and the custom words list. The JSON files within this folder can
safely be ignored as they will be automatically regenerated if lost.
The Project Index
-----------------
Between writing sessions, the project index is saved in a JSON file in ``meta/tagsIndex.json``.
This file is not critical. If it is lost, it can be rebuilt from within novelWriter from the
:guilabel:`Tools` menu.
The index is maintained and updated whenever a document or note is saved in the editor. It contains
all references and tags in documents and notes, as well as the location of all headers in the
project, and the word counts within each header section.
The integrity of the index is checked when the file is loaded. It is possible to corrupt the index
if the file is manually edited and manipulated, so the check is important to avoid sudden crashes
of novelWriter. If the file contains errors, novelWriter will automatically build it anew. If the
check somehow fails and novelWriter keeps crashing, you can delete the file manually and rebuild
the index. If this too fails, you have likely encountered a bug.
Cached GUI Options
------------------
A file named ``meta/guiOptions.json`` contains the latest state of various GUI buttons, switches,
dialog window sizes, column sizes, etc, from the GUI. These are the GUI settings that are specific
to the project. Global GUI settings are stored in the main config file.
The file is not critical, but if it is lost, all such GUI options will revert back to their default
settings.
Custom Word List
----------------
A file named ``meta/wordlist.txt`` contains all the custom words you've added to the project for
spell checking purposes. The content of the file can be edited from the :guilabel:`Tools` menu. If
you lose this file, all your custom spell check words will be lost too.
Session Stats
-------------
The writing progress is saved in the ``meta/sessionStats.log`` file. This file records the length
and word counts of each writing session on the given project. The file is used by the
:guilabel:`Writing Statistics` tool. If this file is lost, the history it contains is also lost,
but it has otherwise no impact on the project.
Project Cache
=============
The project ``cache`` folder contains non-critical files. If these files are lost, there is no
impact on the functionality of novelWriter or the history of the project. It contains temporary
files, like the preview document in the :guilabel:`Build Novel Project` tool.
It should be excluded from version control tools if such are used. The folder will be removed
entirely in novelWriter 2.1.

View File

@@ -0,0 +1,85 @@
.. _a_pytest:
*************
Running Tests
*************
The novelWriter source code is well covered by tests. The test framework used for the development
is ``pytest`` with the use of an extension for Qt.
Dependencies
============
The dependencies for running the tests can be installed with:
.. code-block:: bash
pip install -r requirements-dev.txt
This will install a couple of extra packages for coverage and test management. The minimum
requirement is ``pytest`` and ``pytest-qt``.
Simple Test Run
===============
To run the tests, you simply need to execute the following from the root of the source folder:
.. code-block:: bash
pytest
Since several of the tests involve opening up the novelWriter GUI, you may want to disable the GUI
for the duration of the test run. Moving your mouse while the tests are running may otherwise
interfere with the execution of some tests.
You can disable the renderring of the GUI by setting the flag ``export QT_QPA_PLATFORM=offscreen``,
or alternatively run the tests with the ``xvfb`` package, like so:
.. code-block:: bash
xvfb-run pytest
Advanced Options
================
Adding the flag ``-v`` to the ``pytest`` command will increase verbosity of the test execution.
You can also add coverage report generation. For instance to HTML:
.. code-block:: bash
xvfb-run pytest -v --cov=novelwriter --cov-report=html
Other useful report formats are ``xml``, and ``term`` for terminal output.
You can also run tests per subpackage of novelWriter with the ``-m`` command. The available
subpackage groups are ``base``, ``core``, and ``gui``. Consider for instance:
.. code-block:: bash
xvfb-run pytest -v --cov=novelwriter --cov-report=html -m core
This will only run the tests of the "core" package, that is, all the classes that deal with the
project data of a novelWriter project. The "gui" tests, likewise, will run the tests for the GUI
components, and the "base" tests cover the bits in-between.
You can also filter the tests with the ``-k`` switch. The following will do the same as
``-m core``:
.. code-block:: bash
xvfb-run pytest -v --cov=novelwriter --cov-report=html -k testCore
All tests are named in such a way that you can filter them by adding more bits of the test names.
They all start with the word "test". Then comes the group: "Core", "Base", "Dlg", "Tool", or "Gui".
Finally comes the name of the class or module, which generally corresponds to a single source code
file. For instance, running the following will run all tests for the document editor:
.. code-block:: bash
xvfb-run pytest -v --cov=novelwriter --cov-report=html -k testGuiEditor
To run a single test, simply add the full test name to the ``-k`` switch.

View File

@@ -1,55 +0,0 @@
*********************
Technical Information
*********************
This section contains details of how novelWriter stores and handles the project data.
How Data is Stored
==================
All novelWriter files are written with utf-8 encoding.
Since Python automatically converts Unix line endings to Windows line endings on Windows systems, novelWriter does not make any adaptations to the formatting on Windows systems.
This is handled entirely by the Python standard library.
Main Project File
-----------------
The project itself requires a dedicated folder for storing its files, where novelWriter will create its own "file system" where the folder and file hierarchy is described in a project XML file.
This is the main project file in the project's root folder with the name ``nwProject.nwx``.
This file also contains all the meta data required for the project, and a number of related project settings.
If this file is lost or corrupted, the structure of the project is lost.
It is important to keep this file backed up, either through the built-in backup tool, or your own backup solution.
.. note::
The novelWriter project folder is structured so that it can easily be added to a version control system like git.
If so, you may want to add a `.gitignore` file to exclude files with the extensions `.json` as JSON files are used to cache the index and various run-time settings.
The project XML file is indent-formatted, suitable for diff tools and version control, although a timesetamp is set in the meta section on line 2 each time the file is saved.
Project Documents
-----------------
The project documents are saved in a folder in the main project folder named ``content``.
Each document has a file handle taken from the first 13 characters of a SHA256 hash of the system time when the file was first created.
The documents are saved with a filename assembled from this hash and the file extension ``.nwd``.
If you wish to find the physical location of a file in the project, you can either look it up in the project XML file, or select :menuselection:`Document --> Show File Details` in the menu when having the document open.
The reason for this cryptic file naming is to avoid issues with file naming conventions and restrictions on different operating systems, and also to have a file name that does not depend on what the user names the files, or changes it to.
The file meta data in the tree view, except the file label, is only saved in the project XML file.
Each document file contains a plain text version of the text from the editor.
The file can in principle be edited in any text editor, and is suitable for diffing and version control if so desired.
Just make sure the file remains in utf-8 encoding, otherwise unicode chatracters may become mangled when opened in novelWriter again.
The first line of the file contains some meta data starting with the characters "%%~".
This line is mainly there to restore some information if it is lost from the project file, and the information may be helpful if you do open the file in an external editor as it contains the file label as the last entry.
The line can be deleted without any consequences to the rest of the content of the file, and will be added back next time the file is saved in novelWriter.
The File Saving Process
-----------------------
When saving the project file, or any of the documents, the data is first saved to a temporary file.
If successful, the old data file is removed, and the temporary file becomes the new file.
This ensures that the previously saved data is only replaced when the new data has been successfully saved.
For the project XML file, a `.bak` file is kept which will always contain the previous version of the file, although when auto-save is enabled, they may have the same content.

View File

@@ -0,0 +1,209 @@
.. _a_breakdown:
************
How it Works
************
.. _Fusion: https://doc.qt.io/qt-6/gallery.html
.. _Pandoc: https://pandoc.org/
.. _Typicons: https://github.com/stephenhutchings/typicons.font
.. _Open Document: https://en.wikipedia.org/wiki/OpenDocument
The main features of novelWriter are listed in the :ref:`a_intro` section. Here, we go into some
more details on how they are implemented. This is intended as an overview. Later on in this
documentation, these features will be covered in even more detail.
.. _a_breakdown_design:
GUI Layout and Design
=====================
The user interface of novelWriter is intended to be as minimalistic as practically possible, while
at the same time provide a complete set of features needed for writing a novel.
The main window does not have an editor toolbar like many other applications do. This reduces
clutter, and since the documents are formatted with style tags, is more or less redundant. However,
most formatting features supported are available through convenient keyboard shortcuts. They are
also available in the main menu so you don't have to look up formatting codes every time you need
them. For reference, a list of all shortcuts can be found in the :ref:`a_kb` section.
.. note::
novelWriter is not intended to be a full office type word processor. It doesn't support images,
links, tables, and other complex structures and objects often needed for such documents.
Formatting is limited to headers, emphasis, text alignment, and a few other simple features.
On the left edge of the main window, you will find a sidebar. This bar has buttons for the standard
views you can switch between, a quick link to the :guilabel:`Build Novel Project` tool, and a set
of project-related tools as well as quick access to settings at the bottom.
Project Tree View
-----------------
When in :guilabel:`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. An optional third panel on the right is 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 preview window, although you can use it for this
if you wish as it will apply the formatting tags you have specified. The main purpose of the viewer
is for viewing your notes next to your editor while you're writing.
The editor also has a :guilabel:`Focus Mode` you can toggle either from the menu, from the icon in
the editor header, or by pressing :kbd:`F8`. When :guilabel:`Focus Mode` is enabled, all the user
interface elements other than the document editor itself are hidden away.
Novel Tree View
---------------
When in :guilabel:`Novel Tree View` mode, the project tree is replaces by an overview of your novel
structure. Instead of showing individual documents, the tree now shows all headings of your novel
text. This includes multiple headings within the same document.
Each heading is indented according to the heading level. You can open and edit your novel documents
from this view as well. All headings contained in the currently open document should be highlighted
in the view to indicate which ones belong together.
If you have multiple Novel root folders, the header of the novel view becomes a droopdown box. You
can then switch between them by clicking the "Outline of ..." text. You can also click the novel
icon button next to it.
Generally, the novel view should update when you make changes to the novel structure, including
edits of the current document in the editor. The information is only updated when the automatic
save of the document is initiated though. You can adjust the aut-save interval in
:guilabel:`Preferences`. You can also regenerate the whole novel view by pressing the refresh
button at the top.
It is possible to show an optional third column in the novel view, The settings are available from
the menu button ath the top.
If you click the arrow icon to the right of each item, a tooltip will pop up showing you all the
meta data collected for that heading entry.
Novel Outline View
------------------
When in :guilabel:`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.
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 you column order and size between sessions, and for each individual project.
Colour Themes
-------------
The default colour theme of the user interface is the default theme from the Qt library. By
default, novelWriter is loaded with the Fusion_ style setting. (You can override this with the
``--style=`` setting when starting novelWriter.)
There is a standard dark theme provided as well, which is similar to the default Qt theme. Some
other light and dark colour themes are also provided. You can select which one you prefer from in
:guilabel:`Preferences` .
A number of syntax highlighting themes are also available in :guilabel:`Preferences`. These are
separate settings because there are a lot more options for syntax highlighting.
.. note::
If you switch to dark mode on the GUI, you should also switch syntax highlighting theme to
match, otherwise icons may be hard to see in the editor and viewer.
.. _a_breakdown_project:
Project Layout
==============
This is a brief introduction to how you 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
into subfolders or subdocuments, and split the text between these documents in whatever way suits
you. All that matters to novelWriter is the linear order the documents appear at in the project
tree (top to bottom). The chapters, scenes and sections of the novel are determined by the headings
within those documents.
The four heading levels (**H1** to **H4**) are treated as follows:
* **H1** is used for the book title, and for partitions.
* **H2** is used for chapter tiles.
* **H3** is used for scene titles – optionally replaced by separators.
* **H4** is for section titles within scenes, if such granularity is needed.
The project tree will select an icon for the document based on the first heading in it.
This header level structure is only taken into account for novel documents. For the project notes,
the header levels have no structural meaning, and the user is free to do whatever they want. See
:ref:`a_struct` and :ref:`a_notes` for more details.
.. note::
You can add documents as child items of other documents if you wish. 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.
.. _a_breakdown_export:
Building the Manuscript
=======================
The project can at any time be assembled into a range of different formats through the
:guilabel:`Build Novel Project` tool. Natively, novelWriter supports `Open Document`_, HTML5, and
various flavours of Markdown.
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. In addition, printing
and printing to PDF is also possible.
You can also export the content of the project to a JSON file. This is useful if you want to write
your own 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 either with HTML
formatted text, or with the raw text as typed into the novel documents. See :ref:`a_export_options`
for more details.
A number of filter options can be applied to the :guilabel:`Build Novel Project` tool, allowing you
to make a draft manuscript, a reference document of notes, an outline based on chapter and scene
titles with a synopsis each, and so on. See :ref:`a_export` for more details on build features and
formats.
.. _a_breakdown_storage:
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 the 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.
This way of storing data was chosen for several reasons. Firstly, all the text you add to your
project is saved directly to your project folder in separate files. Only the project structure and
the text you are currently editing is stored in memory at any given time. Secondly, having multiple
small files means it is very easy to sync 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. Also the JSON documents have line breaks and indents,
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 manually edit
files within it as a general rule. If you really must manually edit the text files, e.g. with
some automated task you want to perform, you need to rebuild the index when you open the project
again.
Editing text files in the ``content`` folder is less risky as they are just plain text. Editing
the main project XML file, however, may make the project file unreadable and you may crash
novelWriter and lose project structure information and project settings.

View File

@@ -0,0 +1,248 @@
.. _a_fmt:
********************
Formatting Your Text
********************
The novelWriter text editor is a plain text editor that uses formatting codes for setting meta data
values and allowing for some text formatting. The syntax is based on Markdown, but novelWriter is
*not* a Markdown editor. It supports basic formatting like emphasis (italic), strong importance
(bold) and strikethrough text, as well as four levels of headings.
In addition to formatting codes, novelWriter allows for comments, a synopsis tag, and a set of
keyword and value sets used for tags and references. There are also some codes that apply two whole
paragraphs. See :ref:`a_fmt_text` below for more details.
.. _a_fmt_hlight:
Syntax Highlighting
===================
The editor has a syntax highlighter feature that is meant to help you know when you've used the
formtatting tags or other features correctly. It will change the colour and font size of your
headings, change the text colour of emphasised text, and it can also show you where you have
dialogue in your text.
When you use the commands to set tags and references, these also change colour. Correct commands
have a dedicated colour, and the references themselves will get a colour if they are valid. Invalid
references will get a squiggly error line underneath. The same applies to duplicate tags.
There are a number of syntax highlighter colour themes available, both for light and dark GUIs. You
can select them for :guilabel:`Preferences`.
.. _a_fmt_head:
Headings
========
Four levels of headings are allowed. For project notes, they are free to be used as you see fit.
That is, novelWriter doesn't assign the different headings any particular meaning. However, for
novel documents they indicate the structural level of the novel and must be used correctly to
produce the intended result. See :ref:`a_struct_heads` for more details.
``# Title Text``
Heading level one. For novel documents, the header level indicates the start of a new partition.
``## Title Text``
Heading level two. For novel documents, the header level indicates the start of a new chapter.
Chapter numbers can be inserted automatically when building the manuscript.
``### Title Text``
Heading level three. For novel documents, the header level indicates the start of a new scene.
Scene numbers or scene separators can be inserted automatically when building the manuscript,
so you can use the title field as a working title for your scenes if you wish.
``#### Title Text``
Heading level four. For novel documents, the header level indicates the start of a new section.
Section titles can be replaced by separators or removed completely when building the manuscript.
For headers level one and two, adding a ``!`` modifies the behaviour of the heading:
``#! Title Text``
This tells the build tool that the level one heading is intended to be used for the novel'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.
``##! 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.
.. note::
The space after the ``#`` or ``!`` character is mandatory. The syntax highlighter will change
colour and font size when the heading is correctly formatted.
.. _a_fmt_text:
Text Paragraphs
===============
A text paragraph is indicated by a blank line. That is, you need two line breaks to separate two
fragments of text into two paragraphs. Single line breaks are treated as line breaks within a
paragraph.
In addition, the editor supports a few additional types of whitespaces:
* A non-breaking space can be inserted with :kbd:`Ctrl`:kbd:`K`, :kbd:`Space`.
* Thin spaces are also supported, and can be inserted with :kbd:`Ctrl`:kbd:`K`,
:kbd:`Shift`:kbd:`Space`.
* Non-breaking thin space can be inserted with :kbd:`Ctrl`:kbd:`K`, :kbd:`Ctrl`:kbd:`Space`.
These are all insert features, and the :guilabel:`Insert` menu has more. They are also listed
in :ref:`a_kb_ins`.
Non-breaking spaces are highlighted by the syntax highlighter with an alternate coloured
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.
.. _a_fmt_emph:
Text Emphasis
=============
A minimal set of text emphasis styles are supported.
``_text_``
The text is rendered as emphasised text (italicised).
``**text**``
The text is rendered as strongly important text (bold).
``~~text~~``
Strikethrough text.
In markdown guides it is often recommended to differentiate between strong importance and emphasis
by using ``**`` for strong and ``_`` for emphasis, although Markdown generally also supports ``__``
for strong and ``*`` for emphasis. However, since the differentiation makes the highlighting and
conversion significantly simpler and faster, in novelWriter this is a rule, not just a
recommendation.
In addition, the following rules apply:
1. The emphasis and strikethrough formatting tags do not allow spaces between the words and the tag
itself. That is, ``**text**`` is valid, ``**text **`` is not.
2. More generally, the delimiters must be on the outer edge of words. That is, ``some **text in
bold** here`` is valid, ``some** text in bold** here`` is not.
3. If using both ``**`` and ``_`` to wrap the same text, the underscore must be the inner wrapper.
This is due to the underscore also being a valid word character, so if they are on the 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.
.. _a_fmt_comm:
Comments and Synopsis
=====================
In addition to these standard Markdown features, novelWriter also allows for comments in documents.
The text of a comment is ignored by the word counter. The text can also be filtered out when
building the manuscript or viewing the document.
If the first word of a comment is ``Synopsis:`` (with the colon included), the comment is treated
specially 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.
``% text...``
This is a comment. The text is not renderred by default (this can be overridden), seen in the
document viewer, or counted towards word counts.
``% 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.
.. note::
Only one comment can be flagged as a synopsis comment for each heading. If multiple comments are
flagged as synopsis comments, the last one will be used and the rest ignored.
.. _a_fmt_tags:
Tags and References
===================
The document editor supports a set of keywords used for setting tags, and making references between
documents. 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. References can be set anywhere
within a section, and are collected according to their category.
``@keyword: value``
A keyword argument followed by a value, or a comma separated list of values.
The available tag and reference keywords are listed in the :ref:`a_struct_tags` section. They can
also be inserted at the cursor position in the editor via the :guilabel:`Insert` menu.
.. _a_fmt_align:
Paragraph Alignment and Indentation
===================================
All documents have the text by default aligned to the left or justified, depending on your
Preferences.
You can override the default text alignment on individual paragraphs by specifying alignment tags.
These tags are double angle brackets. Either ``>>`` or ``<<``. You put them either before or after
the paragraph, and they will "push" the text towards the edge the brackets point towards. This
should be fairly intuitive.
Indentation uses a similar syntax. But here you use a single ``>`` or ``<`` to push the text away
from the edge.
Examples:
.. csv-table:: Text Alignment and Indentation
:header: "Syntax", "Description"
:widths: 40, 60
:class: "tight-table"
"``>> Right aligned text``", "The text paragraph is right-aligned."
"``Left aligned text <<``", "The text paragraph is left-aligned."
"``>> Centred text <<``", "The text paragraph is centred."
"``> Left indented text``", "The text has an increased left margin."
"``Right indented text <``", "The text has an increased right margin."
"``> Left/right indented text <``", "The text has an 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 build tool as long as the format supports paragraph alignment.
.. _a_fmt_break:
Vertical Space and Page Breaks
==============================
Adding more than one line break between paragraphs will *not* increase the space between those
paragraphs when building the project. To add additional space between paragraphs, add the text
``[VSPACE]`` on a line of its own, and the build tool will insert a blank paragraph in its place.
If you need multiple blank paragraphs just add a colon and a number to the above code. For
instance, writing ``[VSPACE:3]`` will insert three blank paragraphs.
Normally, the build tool will insert a page break before all headers of level one and for all
headers of level two for novel documents, i.e. chapters, but not for project notes.
If you need to add a page break somewhere else, put the text ``[NEW PAGE]`` on a line by itself
before the text you wish to start on a new page.
Page breaks are automatically added to partition, chapter and unnumbered chapter headers of novel
documents. If you want such breaks for scenes and sections, you must add them manually.
.. 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.

View File

@@ -0,0 +1,271 @@
.. _a_ui:
******************
The User Interface
******************
.. _Compose Key: https://en.wikipedia.org/wiki/Compose_key
This sections covers in more detail what all the information on the user interface is for, and how
you can organise your project, and how you use the editor, viewer and outline panel.
.. _a_ui_tree:
The Project Tree
================
The main window contains a project tree in the left-most panel. It shows the entire structure of
the project, and has four columns:
**Column 1**
The first column shows the icon and label of each folder, document, or note in your project. The
label is not the same as the title you set inside the document. However, the document's label
will appear in the header above the document text itself so you know where in the project an
open document belongs. The icon is selected based on the type of item, and for novel documents,
the level of the first header in the document text.
**Column 2**
The second column shows the word count of the document, or the sum of words of the child items
for folders and documents with subdocuments. If the counts seem incorrect, they can be updated
by rebuilding the project index from the :guilabel:`Tools` menu, or by pressing :kbd:`F9`.
**Column 3**
The third column indicates whether the document is considered active or inactive in the project.
You can use this flag to indicate that a document is still in the project, but should not be
considered an active part of it. When you run the :guilabel:`Build Novel Project` tool, you can
filter based on this flag. You can change this value from the context menu.
**Column 4**
The fourth column shows the user-defined status or importance labels you've assigned to each
project item. See :ref:`a_ui_tree_status` for more details. You can change these labels from the
context menu.
Right-clicking an item in the project tree will open a context menu under the cursor, displaying
a selection of actions that can be performed on the selected item.
At the top of the tree, you will find a set of buttons.
* The first button is a quick links button that will show you a dropdown menu of all the root
folders in your project. Selecting one will move to that position in the tree. You can also
activate this menu by pressing :kbd:`Ctrl`:kbd:`L`.
* 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`:kbd:`N`.
* The last button is a menu of further actions on the entire project tree.
.. tip::
Under the :guilabel:`Transform` submenu in the context menu of an item, you will find several
options on how to change a document or folder. This includes changing between document and note,
splitting them into multiple documents, or merging child items into a single document.
Below the project tree you will find a small details panel showing the full information of the
currently selected item. This panel also includes the latest paragraph and character counts in
addition to the word count.
.. _a_ui_tree_novel:
The Novel Tree
--------------
An alternative way to view the project structure is the novel tree. You can switch to this view by
selecting the :guilabel:`Novel Tree View` button in the sidebar. This view is a simplified version
of the view in the :guilabel:`Outline`. It is convenient when you want to browse the structure of
the story itself rather than the document files.
.. note::
You cannot reorganise the entries in the novel tree, or add any new documents, as that would
imply restructuring the content of the document files. Any editing must be done in the project
tree. However, you can add new headings to existing documents, or change references, which will
be updated in this view.
.. _a_ui_tree_status:
Document Importance and Status
------------------------------
Each document or folder in your project can have either a "Status" or "Importance" flag set. These
are flags that you control and define yourself. The app doesn't do anything with them at all. To
modify the labels, go to their respective tabs in :guilabel:`Project Settings`.
The "Status" flag is intended to tag a Novel document as for instance a draft or as completed, and
the "Importance" flag is intended to tag character notes, or other notes, as for instance a main,
major or minor character.
Whether a document uses a "Status" or "Importance" flag depends on which root folder it lives in.
If it's in the :guilabel:`Novel` folder, it uses the "Status" flag, otherwise it uses an
"Importance" flag. Some folders, like :guilabel:`Trash` and :guilabel:`Archive` allow both.
.. _a_ui_tree_dnd:
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 build tool.
Drag & drop has only limited support for moving documents. In general, bulk actions are not
allowed. This is deliberate to avoid accidentally messing up your project. If you make a mistake,
the last move action can be undone by pressing :kbd:`Ctrl`:kbd:`Shift`:kbd:`Z`.
Documents and their folders can be rearranged freely within their root folders. If you move a Novel
documents 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 :guilabel:`Novel` root
folder, its "Importance" setting will be switched with 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.
Root folders in the project tree cannot be dragged & dropped at all. If you want to reorder them,
you can move them up or down with respect to eachother from the arrow buttons at the top of the
project tree, or by pressing :kbd:`Ctrl`:kbd:`Shift` and the :kbd:`Up` or :kbd:`Down` key.
.. _a_ui_edit:
Editing and Viewing Documents
=============================
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` section.
The editor has a maximise button (toggles the :guilabel:`Focus Mode`) and a close button in the
top–right corner. On the top–left side you will find an edit button that opens the
:guilabel:`Item Label` dialog for the currently open document, and a search button to open the
search dialog.
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`:kbd:`R`, or select :guilabel:`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.
The document viewed does not have to be the same document as currently being edited. However, If
you *are* viewing the same document, pressing :kbd:`Ctrl`:kbd:`R` again will update the document
with your latest changes. You can also press the reload button in the top–right corner of the view
panel, next to the close button, to achieve the same thing.
Both the document editor and viewer will show the label of the document in the header at the top of
the edit or view panel. Optionally, the full project path to the document can be shown. This can be
set in :guilabel:`Preferences`.
.. tip::
Clicking on the document title bar will select the document in the project tree and reveal its
location, making it easier to locate in a large project.
Any tag reference in the editor can be opened in the viewer by moving the cursor to the label and
pressing :kbd:`Ctrl`:kbd:`Return`. You can also control-click them with your mouse. In the viewer,
the references become clickable links. Clicking them will replace the content of the viewer with
the content of the document the reference points to.
The document viewer keeps a history of viewed documents, which you can navigate with the arrow
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.
At the bottom of the view panel there is a :guilabel:`References` panel. (If it is hidden, click
the icon to reveal it.) This panel will show links to all documents referring back to the one
you're currently viewing, if any has been defined. The :guilabel:`Sticky` button will freeze the
content of the panel to the current document, even if you navigate to another document. This is
convenient if you want to quickly look through all documents in the list in the
:guilabel:`References` panel without losing the list in the process.
.. note::
The :guilabel:`References` panel relies on an up-to-date 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 :guilabel:`Rebuild Index` from the :guilabel:`Tools` menu, or by
pressing :kbd:`F9`.
.. _a_ui_edit_search:
Search & Replace
----------------
The document editor has a search and replace tool that can be activated with :kbd:`Ctrl`:kbd:`F`
for search mode or :kbd:`Ctrl`:kbd:`H` for search and replace mode.
Pressing :kbd:`Return` while in the search box will search for the next occurrence of the word, and
:kbd:`Shift`:kbd:`Return` for the previous. Pressing :kbd:`Return` in the replace box, will replace
the highlighted text and move to the next result.
There are a number of settings for the search tool available as toggle switches above the search
box. They allow you to search for, in order: matched case only, whole word results only, search
using regular expressions, loop search when reaching the end of the document, and move to the next
document when reaching the end. There is also a switch that will try to match the case of the word
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.
.. _a_ui_edit_auto:
Auto-Replace as You Type
========================
A few auto-replace features are supported by the editor. You can control every aspect of the
auto-replace feature from :guilabel:`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 convenient :ref:`a_kb_ins`. You may also be using a
`Compose Key`_ setup, which means you may not need the auto-replace feature.
The editor is able to replace two and three hyphens with short and long dashes, triple points with
ellipsis, and replace straight single and double quotes with user-defined quote symbols. It will
also try to determine whether to use the opening or closing symbol, although this feature isn't
always accurate. Especially distinguishing between closing single quote and apostrophe can be
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`:kbd:`Z` immediately after the auto-replacement will undo it without undoing the
character you typed.
.. _a_ui_outline:
Project Outline View
====================
The project's Outline view is available as another view option from the views bar. The outline
provides an overview of the novel structure, displaying a tree hierarchy of the elements of the
novel, that is, the level 1 to 4 headings representing partitions, chapters, scenes and sections.
The document containing the heading can also be displayed as a separate column, as well as the line
number where it occurs. Double-clicking an entry will open the corresponding document in the
editor.
You can select which novel folder to display from the dropdown menu. You can optionally also choose
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, these will not necessarily look the same, depending on how you
choose to organise your documents. See the :ref:`a_struct` page for more details.
Various meta data and information extracted from tags can be displayed in columns in the outline.
A default set of such columns is visible, but you can turn on or off more columns from the menu
button in the toolbar. The order of the columns can also be rearranged by dragging them to a
different position. You column settings are saved between sessions on a per-project basis.
.. note::
The :guilabel:`Title` column cannot be disabled or moved.
The information viewed in the outline is based on the project's main index. While novelWriter does
its best to keep the index up to date when contents change, you can always rebuild it manually by
pressing :kbd:`F9` if something isn't right.
The outline view itself can be regenerated by pressing the refresh button. By default, the content
is refreshed each time you switch to this view.
The :guilabel:`Synopsis` column of the outline view takes its information from a specially
formatted comment. See :ref:`a_fmt_comm`.

View File

@@ -0,0 +1,133 @@
.. _a_prjfmt:
**********************
Project Format Changes
**********************
.. _File Format Spec 1.5: _static/fileformatspec15.pdf
.. _documentation: https://novelwriter.readthedocs.io
Most of the changes to the file formats over the history of novelWriter have no impact on the
user-side of things. The project files are generally updated automatically. However, some of the
changes require minor actions from the user.
The key changes in the formats are listed below, as well as the user actions required, where
applicable.
.. only:: not html
A full project file format specification is available in the online documentation_.
.. caution::
When you update a project from one format version to the next, the project can no longer be
opened by a version of novelWriter prior to the version where the new file format was
introduced. You will get a notification about any updates to your project file format and will
have the option to decline the upgrade.
.. only:: html
**For Developers**
A full description of the current file format is available in the `File Format Spec 1.5`_
document, available as a PDF. This document is intended for contributors to novelWriter, those
building project conversion tools, either to or from tne novelWriter format, and for those who
wish to make their own templating system.
.. _a_prjfmt_1_5:
Format 1.5 Changes
==================
This project format was introduced in novelWriter version 2.0 RC 2.
This is a modification of the 1.4 format. It makes the XML more consistent in that meta data have
been moved to their respective section nodes as attributes, and key/value settings now have a
consistent format. Logical flags are saved as yes/no instead of Python True/False, and the main
heading of the document is now saved to the item rather than in the index. The conversion is done
automatically the first time a project is loaded. No user action is required.
.. _a_prjfmt_1_4:
Format 1.4 Changes
==================
This project format was introduced in novelWriter version 2.0 RC 1. Since this was a release
candidate, it is unlikely that your project uses it, but it may be the case if you've installed a
pre-release.
This format changes the way project items (folders, documents and notes) are stored. It is a more
compact format that is simpler and faster to parse, and easier to extend. The conversion is done
automatically the first time a project is loaded. No user action is required.
.. _a_prjfmt_1_3:
Format 1.3 Changes
==================
This project format was introduced in novelWriter version 1.5.
With this format, the number of document layouts was reduced from 8 to 2. The conversion of
document layouts is performed automatically when the project is opened.
Due to the reduction of layouts, some features that were previously controlled by these layouts
will be lost. These features are instead now controlled by syntax codes, so to recover these
features, some minor modification must be made to select documents by the user.
The manual changes the user must make should be very few as they apply to document layouts that
should be used only a few places in any given project. These are as follows:
**Title Pages**
* The formatting of the level one title on the title page must be changed from ``# Title Text`` to
``#! Title Text`` in order to retain the previous functionality. See :ref:`a_fmt_head`.
* Any text that was previously centred on the page must be manually centred using the new text
alignment feature. See :ref:`a_fmt_align`.
**Unnumbered Chapters**
* Since the specific layout for unnumbered chapters has been dropped, such chapters must all use
the ``##! Chapter Name`` formatting code instead of ``## Chapter Name``. This also includes
chapters marked by an asterisk: ``## *Chapter Name``, as this feature has also been dropped.
See :ref:`a_fmt_head`.
**Plain Pages**
* The layout named "Plain Page" has also been removed. The only feature of this layout was that it
ensured that the content always started on a fresh page. In the new format, fresh pages can be
set anywhere in the text with the ``[NEW PAGE]`` code. See :ref:`a_fmt_break`.
.. _a_prjfmt_1_2:
Format 1.2 Changes
==================
This project format was introduced in novelWriter version 0.10.
With this format, the way auto-replace entries were stored in the main project XML file changed.
.. _a_prjfmt_1_1:
Format 1.1 Changes
==================
This project format was introduced in novelWriter version 0.7.
With this format, the ``content`` folder was introduced in the project storage. Previously, all
novelWriter documents were saved in a series of folders numbered from ``data_0`` to ``data_f``.
It also reduces the number of meta data and cache files. These files are automatically deleted if
an old project is opened. This was also when the Table of Contents file was introduced.
.. _a_prjfmt_1_0:
Format 1.0 Changes
==================
This is the original file format and project structure. It was in use up to version 0.6.3.

View File

@@ -0,0 +1,146 @@
.. _a_kb:
******************
Keyboard Shortcuts
******************
Most features in novelWriter are available as keyboard shortcuts. This is a reference list if these
shortcuts. Most of them are also listed in the application.
.. _a_kb_main:
Main Shortcuts
==============
The main shorcuts are as follows:
.. csv-table:: Keyboard Shortcuts
:header: "Shortcut", "Description"
:widths: 22, 78
:class: "tight-table"
":kbd:`F1`", "Open the online user manual."
":kbd:`F2`", "If in the project tree, edit an item's label."
":kbd:`F3`", "Find next occurrence of search word in current document."
":kbd:`F5`", "Open the :guilabel:`Build Novel Project` dialog."
":kbd:`F6`", "Open the :guilabel:`Writing Statistics` dialog."
":kbd:`F7`", "Re-run spell checker."
":kbd:`F8`", "Toggle :guilabel:`Focus Mode`."
":kbd:`F9`", "Re-build the project index."
":kbd:`F11`", "Toggle full screen mode."
":kbd:`Return`", "If in the project tree, open a document for editing."
":kbd:`Alt`:kbd:`1`", "Switch focus to the project tree. On Windows, use :kbd:`Ctrl`:kbd:`Alt`:kbd:`1`."
":kbd:`Alt`:kbd:`2`", "Switch focus to document editor. On Windows, use :kbd:`Ctrl`:kbd:`Alt`:kbd:`2`."
":kbd:`Alt`:kbd:`3`", "Switch focus to document viewer. On Windows, use :kbd:`Ctrl`:kbd:`Alt`:kbd:`3`."
":kbd:`Alt`:kbd:`4`", "Switch focus to outline view. On Windows, use :kbd:`Ctrl`:kbd:`Alt`:kbd:`4`."
":kbd:`Alt`:kbd:`Left`", "Move backward in the view history of the document viewer."
":kbd:`Alt`:kbd:`Right`", "Move forward in the view history of the document viewer."
":kbd:`Ctrl`:kbd:`.`", "Open the context menu in the project tree or the document editor."
":kbd:`Ctrl`:kbd:`,`", "Open the :guilabel:`Preferences` dialog."
":kbd:`Ctrl`:kbd:`/`", "Toggle block format as comment."
":kbd:`Ctrl`:kbd:`0`", "Remove block formatting for block under cursor."
":kbd:`Ctrl`:kbd:`1`", "Change block format to header level 1."
":kbd:`Ctrl`:kbd:`2`", "Change block format to header level 2."
":kbd:`Ctrl`:kbd:`3`", "Change block format to header level 3."
":kbd:`Ctrl`:kbd:`4`", "Change block format to header level 4."
":kbd:`Ctrl`:kbd:`5`", "Change block alignment to left-aligned."
":kbd:`Ctrl`:kbd:`6`", "Change block alignment to centred."
":kbd:`Ctrl`:kbd:`7`", "Change block alignment to right-aligned."
":kbd:`Ctrl`:kbd:`8`", "Add a left margin to the block."
":kbd:`Ctrl`:kbd:`9`", "Add a right margin to the block."
":kbd:`Ctrl`:kbd:`A`", "Select all text in the document."
":kbd:`Ctrl`:kbd:`B`", "Format selected text, or word under cursor, with strong emphasis (bold)."
":kbd:`Ctrl`:kbd:`C`", "Copy selected text to clipboard."
":kbd:`Ctrl`:kbd:`D`", "Strikethrough selected text, or word under cursor."
":kbd:`Ctrl`:kbd:`F`", "Open the search bar and search for the selected word, if any is selected."
":kbd:`Ctrl`:kbd:`G`", "Find next occurrence of search word in current document."
":kbd:`Ctrl`:kbd:`H`", "Open the search and replace tool and search for the selected word, if any is selected. (On Mac, this is :kbd:`Cmd`:kbd:`=`.)"
":kbd:`Ctrl`:kbd:`I`", "Format selected text, or word under cursor, with emphasis (italic)."
":kbd:`Ctrl`:kbd:`K`", "Activate the insert commands. The commands are listed in :ref:`a_kb_ins`."
":kbd:`Ctrl`:kbd:`L`", "Open the :guilabel:`Quick Links` menu in the Project Tree."
":kbd:`Ctrl`:kbd:`N`", "Open the Create New Item menu in the Project Tree."
":kbd:`Ctrl`:kbd:`O`", "Open selected document."
":kbd:`Ctrl`:kbd:`Q`", "Exit novelWriter."
":kbd:`Ctrl`:kbd:`R`", "If in the project tree, open a document for viewing. If in the editor, open current document for viewing."
":kbd:`Ctrl`:kbd:`S`", "Save the current document in the document editor."
":kbd:`Ctrl`:kbd:`V`", "Paste text from clipboard to cursor position."
":kbd:`Ctrl`:kbd:`W`", "Close the current document in the document editor."
":kbd:`Ctrl`:kbd:`X`", "Cut selected text to clipboard."
":kbd:`Ctrl`:kbd:`Y`", "Redo latest undo."
":kbd:`Ctrl`:kbd:`Z`", "Undo latest changes."
":kbd:`Ctrl`:kbd:`F7`", "Toggle spell checking."
":kbd:`Ctrl`:kbd:`Up`", "Move item one step up in the project tree."
":kbd:`Ctrl`:kbd:`Down`", "Move item one step down in the project tree."
":kbd:`Ctrl`:kbd:`Del`", "Delete next word in editor."
":kbd:`Ctrl`:kbd:`Backspace`", "Delete previous word in editor."
":kbd:`Ctrl`:kbd:`'`", "Wrap selected text, or word under cursor, in single quotes."
":kbd:`Ctrl`:kbd:`""`", "Wrap selected text, or word under cursor, in double quotes."
":kbd:`Ctrl`:kbd:`Return`", "Open the tag or reference under the cursor in the Viewer."
":kbd:`Ctrl`:kbd:`Shift`:kbd:`,`", "Open the :guilabel:`Project Settings` dialog."
":kbd:`Ctrl`:kbd:`Shift`:kbd:`/`", "Remove block formatting for block under cursor."
":kbd:`Ctrl`:kbd:`Shift`:kbd:`1`", "Replace occurrence of search word in current document, and search for next occurrence."
":kbd:`Ctrl`:kbd:`Shift`:kbd:`A`", "Select all text in current paragraph."
":kbd:`Ctrl`:kbd:`Shift`:kbd:`G`", "Find previous occurrence of search word in current document."
":kbd:`Ctrl`:kbd:`Shift`:kbd:`I`", "Import text to the current document from a text file."
":kbd:`Ctrl`:kbd:`Shift`:kbd:`O`", "Open a project."
":kbd:`Ctrl`:kbd:`Shift`:kbd:`R`", "Close the document viewer."
":kbd:`Ctrl`:kbd:`Shift`:kbd:`S`", "Save the current project."
":kbd:`Ctrl`:kbd:`Shift`:kbd:`W`", "Close the current project."
":kbd:`Ctrl`:kbd:`Shift`:kbd:`Z`", "Undo move of project tree item."
":kbd:`Ctrl`:kbd:`Shift`:kbd:`Del`", "If in the project tree, move an item to Trash."
":kbd:`Shift`:kbd:`F1`", "Open the local user manual (PDF) if it is available."
":kbd:`Shift`:kbd:`F3`", "Find previous occurrence of search word in current document."
":kbd:`Shift`:kbd:`F6`", "Open the :guilabel:`Project Details` dialog."
.. note::
On macOS, replace :kbd:`Ctrl` with :kbd:`Cmd`.
.. _a_kb_ins:
Insert Shortcuts
================
A set of insert features are also available through shortcuts, but they require a double
combination of key sequences. The insert feature is activated with :kbd:`Ctrl`:kbd:`K`, followed by
a key or key combination for the inserted content.
.. csv-table:: Keyboard Shortcuts
:header: "Shortcut", "Description"
:widths: 30, 70
:class: "tight-table"
":kbd:`Ctrl`:kbd:`K`, :kbd:`−`", "Insert a short dash (en dash)."
":kbd:`Ctrl`:kbd:`K`, :kbd:`_`", "Insert a long dash (em dash)."
":kbd:`Ctrl`:kbd:`K`, :kbd:`Ctrl`:kbd:`_`", "Insert a horizontal bar (quotation dash)."
":kbd:`Ctrl`:kbd:`K`, :kbd:`~`", "Insert a figure dash (same width as a number)."
":kbd:`Ctrl`:kbd:`K`, :kbd:`1`", "Insert a left single quote."
":kbd:`Ctrl`:kbd:`K`, :kbd:`2`", "Insert a right single quote."
":kbd:`Ctrl`:kbd:`K`, :kbd:`3`", "Insert a left double quote."
":kbd:`Ctrl`:kbd:`K`, :kbd:`4`", "Insert a right double quote."
":kbd:`Ctrl`:kbd:`K`, :kbd:`'`", "Insert a modifier apostrophe."
":kbd:`Ctrl`:kbd:`K`, :kbd:`.`", "Insert an ellipsis."
":kbd:`Ctrl`:kbd:`K`, :kbd:`Ctrl`:kbd:`'`", "Insert a prime."
":kbd:`Ctrl`:kbd:`K`, :kbd:`Ctrl`:kbd:`""`", "Insert a double prime."
":kbd:`Ctrl`:kbd:`K`, :kbd:`Space`", "Insert a non-breaking space."
":kbd:`Ctrl`:kbd:`K`, :kbd:`Shift`:kbd:`Space`", "Insert a thin space."
":kbd:`Ctrl`:kbd:`K`, :kbd:`Ctrl`:kbd:`Space`", "Insert a thin non-breaking space."
":kbd:`Ctrl`:kbd:`K`, :kbd:`*`", "Insert a list bullet."
":kbd:`Ctrl`:kbd:`K`, :kbd:`Ctrl`:kbd:`−`", "Insert a hyphen bullet (alternative bullet)."
":kbd:`Ctrl`:kbd:`K`, :kbd:`Ctrl`:kbd:`*`", "Insert a flower mark (alternative bullet)."
":kbd:`Ctrl`:kbd:`K`, :kbd:`%`", "Insert a per mille symbol."
":kbd:`Ctrl`:kbd:`K`, :kbd:`Ctrl`:kbd:`O`", "Insert a degree symbol."
":kbd:`Ctrl`:kbd:`K`, :kbd:`Ctrl`:kbd:`X`", "Insert a times sign."
":kbd:`Ctrl`:kbd:`K`, :kbd:`Ctrl`:kbd:`D`", "Insert a division sign."
":kbd:`Ctrl`:kbd:`K`, :kbd:`G`", "Insert a ``@tag`` keyword."
":kbd:`Ctrl`:kbd:`K`, :kbd:`V`", "Insert a ``@pov`` keyword."
":kbd:`Ctrl`:kbd:`K`, :kbd:`F`", "Insert a ``@focus`` keyword."
":kbd:`Ctrl`:kbd:`K`, :kbd:`C`", "Insert a ``@char`` keyword."
":kbd:`Ctrl`:kbd:`K`, :kbd:`P`", "Insert a ``@plot`` keyword."
":kbd:`Ctrl`:kbd:`K`, :kbd:`S`", "Insert a synopsis comment."
":kbd:`Ctrl`:kbd:`K`, :kbd:`T`", "Insert a ``@time`` keyword."
":kbd:`Ctrl`:kbd:`K`, :kbd:`L`", "Insert a ``@location`` keyword."
":kbd:`Ctrl`:kbd:`K`, :kbd:`O`", "Insert an ``@object`` keyword."
":kbd:`Ctrl`:kbd:`K`, :kbd:`E`", "Insert an ``@entity`` keyword."
":kbd:`Ctrl`:kbd:`K`, :kbd:`X`", "Insert a ``@custom`` keyword."

View File

@@ -0,0 +1,101 @@
.. _a_typ:
*******************
Typographical Notes
*******************
.. _Prime: https://en.wikipedia.org/wiki/Prime_(symbol)
.. _thin space: https://en.wikipedia.org/wiki/Thin_space
.. _Quotation Mark: https://en.wikipedia.org/wiki/Quotation_mark
.. _Modifier letter apostrophe: https://en.wikipedia.org/wiki/Modifier_letter_apostrophe
novelWriter has some support for typographical symbols that are not usually easily available in
many text editors. This includes for instance the proper unicode quotation marks, dashes, ellipsis,
thin spaces, etc. All these symbols are available from the :guilabel:`Insert` menu, and via
keyboard shortcuts. See :ref:`a_kb_ins`.
This chapter provides some additional information on how novelWriter handles these symbols.
.. _a_typ_notes:
Special Notes on Symbols
========================
This section contains additional notes on the available special symbols.
Dashes and Ellipsis
-------------------
With the auto-replace feature enabled (see :ref:`a_ui_edit_auto`), multiple hyphens are converted
automatically to short and long dashes, and three dots to ellipsis. The last auto-replace can
always be reverted with the undo command :kbd:`Ctrl`:kbd:`Z`, reverting the text to what you typed
before the automatic replacement occurred.
In addition, "Figure Dash" is available. The Figure Dash is a dash that has the same width as the
numbers of the same font, for most fonts. It helps to align numbers nicely in columns when you need
to use a dash in them.
Single and Double Quotes
------------------------
All the different quotation marks listed on the `Quotation Mark`_ Wikipedia page are available, and
can be selected as auto-replaced symbols for straight single and double quote key strokes. The
settings can be found in :guilabel:`Preferences`.
Ordinarily, text wrapped in quotes are highlighted by the editor. This is meant as a convenience
for highlighting dialogue between characters. This feature can be disabled in
:guilabel:`Preferences` if this feature isn't wanted.
The editor distinguishes between text wrapped in regular straight double quotes and the
user-selected double quote symbols. This is to help the writer recognise which parts of the text
are not using the chosen quote symbols. Two convenience functions in the :guilabel:`Format` menu
can be used to re-format a selected section of text with the correct quote symbols.
Single and Double Prime
------------------------
Both single and double prime symbols are available in the :guilabel:`Insert` menu. These symbols
are the correct symbols to use for unit symbols for feet, inches, minutes and seconds. The usage of
these is described in more detail on the Wikipedia Prime_ page. They look very similar to single
and double straight quotes, and may be renderred similarly by the font, but they have different
codes. Using these correctly will also prevent the auto-replace and dialogue highlighting features
misunderstanding their meaning in the text.
Modifier Letter Apostrophe
--------------------------
The auto-replace feature will consider any right-facing single straight quote as a quote symbol,
even if it is intended as an apostrophe. This also includes the syntax highlighter, which may
assume the first following apostrophe is the closing symbol of a single quoted region of text.
To get around this, an alternative apostrophe is available. It is a special Unicode character that
is not categorised as punctuation, but as a modifier. It is usually renderred the same way as the
right single quotation marks, depending on the font. There is a Wikipedia article for the
`Modifier letter apostrophe`_ with more details.
.. note::
On export with the :guilabel:`Build Novel Project` tool, these apostrophes will be replaced
automatically with the corresponding right hand single quote symbol as is generally recommended.
Therefore it doesn't really matter if you only use them to correct highlighting.
Special Space Symbols
---------------------
A few variations of the regular space character is supported. The correct typographical way to
separate a number from its unit is with a `thin space`_. It is usually 2/3 the width of a regular
space. For numbers and units, this should in addition be a non-breaking space, that is, the text
wrapping should not add a line break on this particular space.
A regular space can also be made into a non-breaking space if needed.
All non-breaking spaces are highlighted with a differently coloured background to make it easier to
spot them in the text. The colour will depend on the selected colour theme.
The thin and non-breaking spaces are converted to their corresponding HTML codes on export to HTML
format.

140
i18n/README.md Normal file
View File

@@ -0,0 +1,140 @@
# novelWriter Internationalisation (i18n)
The maintenance of translations has been moved to the Crowdin service. The translation strings can
be edited there at the [novelWriter project page](https://crowdin.com/project/novelwriter).
However, please read the Translation Guidelines section below.
You can still use the manual approach listed below, and then upload the file through the website's
interface. The translation strings for that language will then be updated and queued for approval.
To verify a language file translated through the Crowdin tool, download and extract it into the
`i18n` folder in the novelWriter source and follow the instructions in
[Generate an Updated Translation File](#generate-an-updated-translation-file) below.
# Translation Guidelines
When contributing translations, keep the following things in mind.
* For descriptive labels and dialog boxes, make sure you do _not_ change the meaning of the text
when you translate it from English. The user must receive the same instructions or information
regardless of language. This is improtant, otherwise the documentation will be inconsistent with
the user interface and it will become a lot more difficult to handle user issues and questions.
* If you think a label or description is misleading or incomplete, please file an issue report. The
correct way to handle such changes is to change the text in the code first, which will then be
forwarded to _all_ translators such that the GUI is consistent across all languages.
* For very short labels, like button labels. it may be fine to replace the word with a similar
word, but only as long as the user understands what it is supposed to do. Some buttons and tabs
have limited space. If necessary, it is OK to use abbreviations.
# Direct Approach Using Qt Linguist
Here you will find instructions for translating novelWriter to a new language directly using Qt
Linguist, or updating the translations for an already existing supported language.
There are two areas relevant to localisation:
* The Qt5 GUI translation files, which consists of `nw_XX.ts` files. This is the bulk of the
translation work.
* The `project_XX.json` files. See [Project Localisation](#project-localisation) below.
The `XX` in the file name corresponds to the language and country code for the translation. For
instance `en_GB` for British English.
## Qt5 GUI Localisation
You will need the translation tool Qt 5 Linguist on your system.
For Ubuntu/Debian, run:
```bash
sudo apt install qttools5-dev-tools
```
See also [Qt Linguist Manual: Translators](https://doc.qt.io/qt-5/linguist-translators.html).
### Workflow
Here's an overview of the localisation workflow:
1. First, create a new branch off of `main`, and there, generate a new `nw_XX.ts` translation file.
1. Load the translation file in Qt Linguist. Translate and save your changes.
1. Generate the `nw_XX.qm` file.
1. Run the application and verify your changes. Iterate from step 2.
1. Once finished, commit your changes and submit your pull request.
When you want to translate new changes, again create a new branch off of `main` and re-generate the
translation file. Continue from step 2.
### Generate an Updated Translation File
The `i18n` folder at the root of the repository contains the `nw_XX.ts` translation files.
Whether to add a new language to the translation framework, or to update the file against the
current source code, you must first run the `qtlupdate` command:
```bash
python3 setup.py qtlupdate i18n/nw_XX.ts
```
The file name must be in the correct format. All translation files must be located in the `i18n`
folder, start with `nw_` and end with `.ts`. In between goes the language and country code. It must
be a valid ISO language code, otherwise novelWriter will not accept the file.
For instance, the French translation uses the language code `fr_FR`, so its translation file will
be `nw_fr_FR.ts`
### Edit the Translation File in Qt Linguist
The `i18n/nw_XX.ts` file can be edited with the Qt Linguist application provided by Qt 5. This is
by far easier than manually editing the `.ts` file.
Please select "English" and "United Kingdom" as the _source_ language if prompted by Qt Linguist.
### Verify Your Translation
The application does not use `.ts` files directly. The `novelwriter/assets/i18n/nw_XX.qm` files are
the actual files used to translate the GUI into another language other than the default British
English. These files are not generated by default, but they can be built with:
```bash
python3 setup.py qtlrelease
```
You can now test the translation in novelWriter. The Preferences dialog should list the newly added
language, so go ahead and select it.
### Missing QtBase Translations
The default Qt dialogs also have translations, for instance for standard buttons like "Yes", "No",
"Ok", "Cancel", etc. Generally, these translation files are installed with the Qt libraries on your
system, and novelWriter will collect those translations from there. However, these translations are
missing for many languages.
As a starting point, there is no need to translate any entries in the `.ts` files that are under
elements starting with the letter "Q", like "QPlatformTheme", "QWizard", etc. If these turn up in
English in novelWriter after activating a translation, it means they are probably missing in the Qt
library, and you may also need to translate these.
These additional translation entries are generated from a file named `i18n/qtbase.py`, which is not
a file that novelWriter uses. It is there only to generate these additional entries for the `.ts`
files.
## Project Localisation
Projects can have a different language setting than the GUI itself. The files with format
`project_XX.json` in `novelwriter/assets/i18n` are simple translation maps for text that goes into
the exported documents generated by the Build Novel Project tool.
The files are loaded based on the language setting in the Build Novel Project tool. At the present
time, no other parts of the application use these files. Since these are used as replacement
lookups, they are maintained as plain JSON files. The main usage is to generate chapter headers as
number words.
Adding new translations for these files is easy. Just copy the `project_en_GB.json` file, rename it
to the appropriate language coded filename, and open it in a text editor and edit the content.

4513
i18n/nw_base.ts Normal file

File diff suppressed because it is too large Load Diff

4513
i18n/nw_de_DE.ts Normal file

File diff suppressed because it is too large Load Diff

4513
i18n/nw_en_US.ts Normal file

File diff suppressed because it is too large Load Diff

4513
i18n/nw_es_419.ts Normal file

File diff suppressed because it is too large Load Diff

4523
i18n/nw_fr_FR.ts Normal file

File diff suppressed because it is too large Load Diff

4513
i18n/nw_nb_NO.ts Normal file

File diff suppressed because it is too large Load Diff

4513
i18n/nw_nl_NL.ts Normal file

File diff suppressed because it is too large Load Diff

4513
i18n/nw_pt_BR.ts Normal file

File diff suppressed because it is too large Load Diff

4513
i18n/nw_zh_CN.ts Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,7 @@
# PyQt6 Linguist Tool
This is a copy of the `pylupdate` tool from PyQt6 version 6.2.1 from
[PyPi](https://pypi.org/project/PyQt6/).
The tool is stripped down to run for novelWriter.
PyQt6 is licensed under GPL 3.0

View File

@@ -0,0 +1,22 @@
# Copyright (c) 2021 Riverbank Computing Limited <info@riverbankcomputing.com>
#
# This file is part of PyQt6.
#
# This file may be used under the terms of the GNU General Public License
# version 3.0 as published by the Free Software Foundation and appearing in
# the file LICENSE included in the packaging of this file. Please review the
# following information to ensure the GNU General Public License version 3.0
# requirements will be met: http://www.gnu.org/copyleft/gpl.html.
#
# If you do not wish to use this file under the terms of the GPL version 3.0
# then you may purchase a commercial license. For more information contact
# info@riverbankcomputing.com.
#
# This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
# WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
# The public API.
from .lupdate import lupdate
__all__ = ["lupdate"]

View File

@@ -0,0 +1,90 @@
# Copyright (c) 2021 Riverbank Computing Limited <info@riverbankcomputing.com>
#
# This file is part of PyQt6.
#
# This file may be used under the terms of the GNU General Public License
# version 3.0 as published by the Free Software Foundation and appearing in
# the file LICENSE included in the packaging of this file. Please review the
# following information to ensure the GNU General Public License version 3.0
# requirements will be met: http://www.gnu.org/copyleft/gpl.html.
#
# If you do not wish to use this file under the terms of the GPL version 3.0
# then you may purchase a commercial license. For more information contact
# info@riverbankcomputing.com.
#
# This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
# WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
import fnmatch
import os
# from .designer_source import DesignerSource
from .python_source import PythonSource
from .translation_file import TranslationFile
from .user import UserException
def lupdate(
sources, translation_files, no_obsolete=False, no_summary=True, verbose=False, excludes=None
):
""" Update a sequence of translation (.ts) files from a sequence of Python
source (.py) files, Designer source (.ui) files or directories containing
source files.
"""
if excludes is None:
excludes = ()
# Read the .ts files.
translations = [
TranslationFile(ts, no_obsolete=no_obsolete, no_summary=no_summary, verbose=verbose)
for ts in translation_files
]
# Read the sources.
source_files = []
for source in sources:
if os.path.isdir(source):
for dirpath, _, filenames in os.walk(source):
for fn in filenames:
# Apply any exclusion patterns.
for exclude in excludes:
if fnmatch.fnmatch(fn, exclude):
fn = None
break
if fn is None:
continue
filename = os.path.join(dirpath, fn)
if filename.endswith('.py'):
source_files.append(PythonSource(filename=filename, verbose=verbose))
# UI file support is disabled
# elif filename.endswith('.ui'):
# source_files.append(
# DesignerSource(filename=filename,
# verbose=verbose))
elif verbose:
print("Ignoring", filename)
elif source.endswith('.py'):
source_files.append(PythonSource(filename=source, verbose=verbose))
# UI file support is disabled
# elif source.endswith('.ui'):
# source_files.append(
# DesignerSource(filename=source, verbose=verbose))
else:
raise UserException("{0} must be a directory or a .py or a .ui file".format(source))
# Update each translation for each source.
for t in translations:
for s in source_files:
t.update(s)
t.write()

View File

@@ -0,0 +1,362 @@
# Copyright (c) 2021 Riverbank Computing Limited <info@riverbankcomputing.com>
#
# This file is part of PyQt6.
#
# This file may be used under the terms of the GNU General Public License
# version 3.0 as published by the Free Software Foundation and appearing in
# the file LICENSE included in the packaging of this file. Please review the
# following information to ensure the GNU General Public License version 3.0
# requirements will be met: http://www.gnu.org/copyleft/gpl.html.
#
# If you do not wish to use this file under the terms of the GPL version 3.0
# then you may purchase a commercial license. For more information contact
# info@riverbankcomputing.com.
#
# This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
# WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
import ast
import re
import tokenize
from .source_file import SourceFile
from .translations import Context, EmbeddedComments, Message
from .user import User, UserException
class PythonSource(SourceFile, User):
""" Encapsulate a Python source file. """
# The regular expression to extract a PEP 263 encoding.
_PEP_263 = re.compile(rb'^[ \t\f]*#.*?coding[:=][ \t]*([-_.a-zA-Z0-9]+)')
def __init__(self, **kwargs):
""" Initialise the object. """
super().__init__(**kwargs)
# Read the source file.
self.progress("Reading {0}...".format(self.filename))
with open(self.filename, 'rb') as f:
source = f.read()
# Implement universal newlines.
source = source.replace(b'\r\n', b'\n').replace(b'\r', b'\n')
# Try and extract a PEP 263 encoding.
encoding = 'UTF-8'
for line_nr, line in enumerate(source.split(b'\n')):
if line_nr > 1:
break
match = re.match(self._PEP_263, line)
if match:
encoding = match.group(1).decode('ascii')
break
# Decode the source according to the encoding.
try:
source = source.decode(encoding)
except LookupError:
raise UserException("Unsupported encoding '{0}'".format(encoding))
# Parse the source file.
self.progress("Parsing {0}...".format(self.filename))
try:
tree = ast.parse(source, filename=self.filename)
except SyntaxError as e:
raise UserException(
"Invalid syntax at line {0} of {1}:\n{2}".format(
e.lineno, e.filename, e.text.rstrip()
)
)
# Look for translation contexts and their contents.
visitor = Visitor(self)
visitor.visit(tree)
# Read the file again as a sequence of tokens so that we see the
# comments.
with open(self.filename, 'rb') as f:
current = None
for token in tokenize.tokenize(f.readline):
if token.type == tokenize.COMMENT:
# See if it is an embedded comment.
parts = token.string.split(' ', maxsplit=1)
if len(parts) == 2:
if parts[0] == '#:':
if current is None:
current = EmbeddedComments()
current.extra_comments.append(parts[1])
elif parts[0] == '#=':
if current is None:
current = EmbeddedComments()
current.message_id = parts[1]
elif parts[0] == '#~':
parts = parts[1].split(' ', maxsplit=1)
if len(parts) == 1:
parts.append('')
if current is None:
current = EmbeddedComments()
current.extras.append(parts)
elif token.type == tokenize.NL:
continue
elif current is not None:
# Associate the embedded comment with the line containing
# this token.
line_nr = token.start[0]
# See if there is a message on that line.
for context in self.contexts:
for message in context.messages:
if message.line_nr == line_nr:
break
else:
message = None
if message is not None:
message.embedded_comments = current
break
current = None
class Visitor(ast.NodeVisitor):
""" A visitor that extracts translation contexts. """
def __init__(self, source):
""" Initialise the visitor. """
self._source = source
self._context_stack = []
super().__init__()
def visit_Call(self, node):
""" Visit a call. """
# Parse the arguments if a translation function is being called.
call_args = None
if isinstance(node.func, ast.Attribute):
name = node.func.attr
if name == 'tr':
call_args = self._parse_tr(node)
elif name == 'translate':
call_args = self._parse_translate(node)
elif isinstance(node.func, ast.Name):
name = node.func.id
if name == 'QT_TR_NOOP':
call_args = self._parse_QT_TR_NOOP(node)
elif name == 'QT_TRANSLATE_NOOP':
call_args = self._parse_QT_TRANSLATE_NOOP(node)
# Update the context if the arguments are usable.
if call_args is not None and call_args.source != '':
call_args.context.messages.append(
Message(
self._source.filename, node.lineno,
call_args.source, call_args.disambiguation,
(call_args.numerus)
)
)
self.generic_visit(node)
def visit_ClassDef(self, node):
""" Visit a class. """
try:
name = self._context_stack[-1].name + '.' + node.name
except IndexError:
name = node.name
self._context_stack.append(Context(name))
self.generic_visit(node)
context = self._context_stack.pop()
if context.messages:
self._source.contexts.append(context)
def _get_current_context(self):
""" Return the current Context object if there is one. """
return self._context_stack[-1] if self._context_stack else None
@classmethod
def _get_first_str(cls, args):
""" Get the first of a list of arguments as a str. """
# Check that there is at least one argument.
if not args:
return None
return cls._get_str(args[0])
def _get_or_create_context(self, name):
""" Return the Context object for a name, creating it if necessary. """
for context in self._source.contexts:
if context.name == name:
return context
context = Context(name)
self._source.contexts.append(context)
return context
@staticmethod
def _get_str(node, allow_none=False):
""" Return the str from a node or None if it wasn't an appropriate
node.
"""
if isinstance(node, ast.Str):
return node.s
if isinstance(node, ast.Constant):
if isinstance(node.value, str):
return node.value
if allow_none and node.value is None:
return ''
return None
def _parse_QT_TR_NOOP(self, node):
""" Parse the arguments to QT_TR_NOOP(). """
# Ignore unless there is a current context.
context = self._get_current_context()
if context is None:
return None
call_args = self._parse_noop_without_context(node.args, node.keywords)
if call_args is None:
return None
call_args.context = context
return call_args
def _parse_QT_TRANSLATE_NOOP(self, node):
""" Parse the arguments to QT_TRANSLATE_NOOP(). """
# Get the context.
name = self._get_first_str(node.args)
if name is None:
return None
call_args = self._parse_noop_without_context(node.args[1:], node.keywords)
if call_args is None:
return None
call_args.context = self._get_or_create_context(name)
return call_args
def _parse_tr(self, node):
""" Parse the arguments to tr(). """
# Ignore unless there is a current context.
context = self._get_current_context()
if context is None:
return None
call_args = self._parse_without_context(node.args, node.keywords)
if call_args is None:
return None
call_args.context = context
return call_args
def _parse_translate(self, node):
""" Parse the arguments to translate(). """
# Get the context.
name = self._get_first_str(node.args)
if name is None:
return None
call_args = self._parse_without_context(node.args[1:], node.keywords)
if call_args is None:
return None
call_args.context = self._get_or_create_context(name)
return call_args
def _parse_without_context(self, args, keywords):
""" Parse arguments for a message source and optional disambiguation
and n.
"""
# The source is required.
source = self._get_first_str(args)
if source is None:
return None
if len(args) > 1:
disambiguation = self._get_str(args[1], allow_none=True)
else:
for kw in keywords:
if kw.arg == 'disambiguation':
disambiguation = self._get_str(kw.value, allow_none=True)
break
else:
disambiguation = ''
# Ignore if the disambiguation is specified but isn't a string.
if disambiguation is None:
return None
if len(args) > 2:
numerus = True
else:
numerus = 'n' in keywords
if len(args) > 3:
return None
return CallArguments(source, disambiguation, numerus)
def _parse_noop_without_context(self, args, keywords):
""" Parse arguments for a message source. """
# There must be exactly one positional argument.
if len(args) != 1 or len(keywords) != 0:
return None
source = self._get_str(args[0])
if source is None:
return None
return CallArguments(source)
class CallArguments:
""" Encapsulate the possible arguments of a translation function. """
def __init__(self, source, disambiguation='', numerus=False):
""" Initialise the object. """
self.context = None
self.source = source
self.disambiguation = disambiguation
self.numerus = numerus

View File

@@ -0,0 +1,29 @@
# Copyright (c) 2021 Riverbank Computing Limited <info@riverbankcomputing.com>
#
# This file is part of PyQt6.
#
# This file may be used under the terms of the GNU General Public License
# version 3.0 as published by the Free Software Foundation and appearing in
# the file LICENSE included in the packaging of this file. Please review the
# following information to ensure the GNU General Public License version 3.0
# requirements will be met: http://www.gnu.org/copyleft/gpl.html.
#
# If you do not wish to use this file under the terms of the GPL version 3.0
# then you may purchase a commercial license. For more information contact
# info@riverbankcomputing.com.
#
# This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
# WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
class SourceFile:
""" The base class for any source file that provides translation contexts.
"""
def __init__(self, filename, **kwargs):
""" Initialise the object. """
super().__init__(**kwargs)
self.filename = filename
self.contexts = []

View File

@@ -0,0 +1,390 @@
# Copyright (c) 2021 Riverbank Computing Limited <info@riverbankcomputing.com>
#
# This file is part of PyQt6.
#
# This file may be used under the terms of the GNU General Public License
# version 3.0 as published by the Free Software Foundation and appearing in
# the file LICENSE included in the packaging of this file. Please review the
# following information to ensure the GNU General Public License version 3.0
# requirements will be met: http://www.gnu.org/copyleft/gpl.html.
#
# If you do not wish to use this file under the terms of the GPL version 3.0
# then you may purchase a commercial license. For more information contact
# info@riverbankcomputing.com.
#
# This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
# WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
import os
from xml.etree import ElementTree
from .user import User, UserException
class TranslationFile(User):
""" Encapsulate a translation file. """
def __init__(self, ts_file, no_obsolete, no_summary, **kwargs):
""" Initialise the translation file. """
super().__init__(**kwargs)
if os.path.isfile(ts_file):
self.progress("Reading {0}...".format(ts_file))
try:
self._root = ElementTree.parse(ts_file).getroot()
except Exception as e:
raise UserException(
"{}: {}: {}".format(ts_file, "invalid translation file", str(e))
)
else:
self._root = ElementTree.fromstring(_EMPTY_TS)
self._ts_file = ts_file
self._no_obsolete = no_obsolete
self._no_summary = no_summary
self._updated_contexts = {}
# Create a dict of contexts keyed by the context name and having the
# list of message elements as the value.
self._contexts = {}
# Also create a dict of existing translations so that they can be
# re-used.
self._translations = {}
context_els = []
for context_el in self._root:
if context_el.tag != 'context':
continue
context_els.append(context_el)
name = ''
message_els = []
for el in context_el:
if el.tag == 'name':
name = el.text
elif el.tag == 'message':
message_els.append(el)
if name:
self._contexts[name] = message_els
for message_el in message_els:
source_el = message_el.find('source')
if source_el is None or not source_el.text:
continue
translation_el = message_el.find('translation')
if translation_el is None or not translation_el.text:
continue
self._translations[source_el.text] = translation_el.text
# Remove the context elements but keep everything else in the root
# (probably set by Linguist).
for context_el in context_els:
self._root.remove(context_el)
# Clear the summary statistics.
self._nr_new = 0
self._nr_new_duplicates = 0
self._nr_new_using_existing_translation = 0
self._nr_existing = 0
self._nr_kept_obsolete = 0
self._nr_discarded_obsolete = 0
self._nr_discarded_untranslated = 0
# Remember all new messages so we can make the summary less confusing
# than it otherwise might be.
self._new_message_els = []
def update(self, source):
""" Update the translation file from a SourceFile object. """
self.progress("Updating {0} from {1}...".format(self._ts_file, source.filename))
for context in source.contexts:
# Get the messages that we already know about for this context.
try:
message_els = self._contexts[context.name]
except KeyError:
message_els = []
# Get the messages that have already been updated.
updated_message_els = self._get_updated_message_els(context.name)
for message in context.messages:
message_el = self._find_message(message, message_els)
if message_el is not None:
# Move the message to the updated list.
message_els.remove(message_el)
self._add_message_el(message_el, updated_message_els)
else:
# See if this is a new message. If not then we just have
# another location for an existing message.
message_el = self._find_message(message, updated_message_els)
if message_el is None:
message_el = self._make_message_el(message)
updated_message_els.append(message_el)
self.progress("Added new message '{0}'".format(self.pretty(message.source)))
self._nr_new += 1
else:
self.progress("Updated message '{0}'".format(self.pretty(message.source)))
# Don't count another copy of a new message as an existing
# one.
if message_el in self._new_message_els:
self._nr_new_duplicates += 1
else:
self._nr_existing += 1
message_el.insert(0, self._make_location_el(message))
def write(self):
""" Write the translation file back to the filesystem. """
# If we are keeping obsolete messages then add them to the updated
# message elements list.
for name, message_els in self._contexts.items():
updated_message_els = None
for message_el in message_els:
source = self.pretty(message_el.find('source').text)
translation_el = message_el.find('translation')
if translation_el is not None and translation_el.text:
if self._no_obsolete:
self.progress("Discarded obsolete message '{0}'".format(source))
self._nr_discarded_obsolete += 1
else:
translation_el.set('type', 'vanished')
if updated_message_els is None:
updated_message_els = self._get_updated_message_els(name)
self._add_message_el(message_el, updated_message_els)
self.progress("Kept obsolete message '{0}'".format(source))
self._nr_kept_obsolete += 1
else:
self.progress("Discarded untranslated message '{0}'".format(source))
self._nr_discarded_untranslated += 1
# Created the sorted context elements.
for name in sorted(self._updated_contexts.keys()):
context_el = ElementTree.Element('context')
name_el = ElementTree.Element('name')
name_el.text = name
context_el.append(name_el)
context_el.extend(self._updated_contexts[name])
self._root.append(context_el)
self.progress("Writing {0}...".format(self._ts_file))
with open(self._ts_file, 'w', encoding='utf-8', newline='\n') as f:
f.write('<?xml version="1.0" encoding="utf-8"?>\n')
f.write('<!DOCTYPE TS>\n')
# Python v3.9 and later.
if hasattr(ElementTree, 'indent'):
ElementTree.indent(self._root)
ElementTree.ElementTree(self._root).write(f, encoding='unicode')
f.write('\n')
if not self._no_summary:
self._summary()
@staticmethod
def _add_message_el(message_el, updated_message_els):
""" Add a message element to a list of updated message elements. """
# Remove all the location elements.
for location_el in message_el.findall('location'):
message_el.remove(location_el)
# Add the message to the updated list.
updated_message_els.append(message_el)
@classmethod
def _find_message(cls, message, message_els):
""" Return the message element for a message from a list. """
for message_el in message_els:
source = ''
comment = ''
extra_comment = ''
extras = []
# Extract the data from the element.
for el in message_el:
if el.tag == 'source':
source = el.text
elif el.tag == 'comment':
comment = el.text
elif el.tag == 'extracomment':
extra_comment = el.text
elif el.tag.startswith('extra-'):
extras.append([el.tag[6:], el.text])
# Compare with the message.
if source != message.source:
continue
if comment != message.comment:
continue
if extra_comment != cls._get_message_extra_comments(message):
continue
if extras != message.embedded_comments.extras:
continue
return message_el
return None
@staticmethod
def _get_message_extra_comments(message):
""" Return a message's extra comments as they appear in a .ts file. """
return ' '.join(message.embedded_comments.extra_comments)
def _get_updated_message_els(self, name):
""" Return the list of updated message elements for a context. """
try:
updated_message_els = self._updated_contexts[name]
except KeyError:
updated_message_els = []
self._updated_contexts[name] = updated_message_els
return updated_message_els
def _make_location_el(self, message):
""" Return a 'location' element. """
return ElementTree.Element(
'location',
filename=os.path.relpath(
message.filename, start=os.path.dirname(os.path.abspath(self._ts_file))
),
line=str(message.line_nr)
)
def _make_message_el(self, message):
""" Return a 'message' element. """
attrs = {}
if message.embedded_comments.message_id:
attrs['id'] = message.embedded_comments.message_id
if message.numerus:
attrs['numerus'] = 'yes'
message_el = ElementTree.Element('message', attrs)
source_el = ElementTree.Element('source')
source_el.text = message.source
message_el.append(source_el)
if message.comment:
comment_el = ElementTree.Element('comment')
comment_el.text = message.comment
message_el.append(comment_el)
if message.embedded_comments.extra_comments:
extracomment_el = ElementTree.Element('extracomment')
extracomment_el.text = self._get_message_extra_comments(message)
message_el.append(extracomment_el)
translation_el = ElementTree.Element('translation', type='unfinished')
# Try and find another message with the same source and use its
# translation if it has one.
translation = self._translations.get(message.source)
if translation:
translation_el.text = translation
self.progress("Reused existing translation for '{0}'".format(
self.pretty(message.source))
)
self._nr_new_using_existing_translation += 1
if message.numerus:
translation_el.append(ElementTree.Element('numerusform'))
message_el.append(translation_el)
for field, value in message.embedded_comments.extras:
el = ElementTree.Element('extra-' + field)
el.text = value
message_el.append(el)
self._new_message_els.append(message_el)
return message_el
def _summary(self):
""" Display the summary of changes to the user. """
summary_lines = []
# Display a line of the summary and the heading if not already done.
def summary(line):
nonlocal summary_lines
if not summary_lines:
summary_lines.append("Summary of changes to {ts}:".format(ts=self._ts_file))
summary_lines.append(" " + line)
if self._nr_new:
if self._nr_new_duplicates:
summary("{0} new messages were added (and {1} duplicates)".format(
self._nr_new, self._nr_new_duplicates))
else:
summary("{0} new messages were added".format(self._nr_new))
if self._nr_new_using_existing_translation:
summary("{0} messages reused existing translations".format(
self._nr_new_using_existing_translation))
if self._nr_existing:
summary("{0} existing messages were found".format(
self._nr_existing))
if self._nr_kept_obsolete:
summary("{0} obsolete messages were kept".format(
self._nr_kept_obsolete))
if self._nr_discarded_obsolete:
summary("{0} obsolete messages were discarded".format(
self._nr_discarded_obsolete))
if self._nr_discarded_untranslated:
summary("{0} untranslated messages were discarded".format(
self._nr_discarded_untranslated))
if not summary_lines:
summary_lines.append("{ts} was unchanged".format(ts=self._ts_file))
print(os.linesep.join(summary_lines))
# The XML of an empty .ts file. This is what a current lupdate will create
# with an empty C++ source file.
_EMPTY_TS = '''<TS version="2.1">
</TS>
'''

View File

@@ -0,0 +1,51 @@
# Copyright (c) 2021 Riverbank Computing Limited <info@riverbankcomputing.com>
#
# This file is part of PyQt6.
#
# This file may be used under the terms of the GNU General Public License
# version 3.0 as published by the Free Software Foundation and appearing in
# the file LICENSE included in the packaging of this file. Please review the
# following information to ensure the GNU General Public License version 3.0
# requirements will be met: http://www.gnu.org/copyleft/gpl.html.
#
# If you do not wish to use this file under the terms of the GPL version 3.0
# then you may purchase a commercial license. For more information contact
# info@riverbankcomputing.com.
#
# This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
# WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
class Context:
""" Encapsulate a message context. """
def __init__(self, name):
""" Initialise the context. """
self.name = name
self.messages = []
class EmbeddedComments:
""" Encapsulate information for a translator embedded in comments. """
def __init__(self):
""" Initialise the object. """
self.message_id = ''
self.extra_comments = []
self.extras = []
class Message:
""" Encapsulate a message. """
def __init__(self, filename, line_nr, source, comment, numerus):
""" Initialise the message. """
self.filename = filename
self.line_nr = line_nr
self.source = source
self.comment = comment
self.numerus = numerus
self.embedded_comments = EmbeddedComments()

47
i18n/pylupdate6/user.py Normal file
View File

@@ -0,0 +1,47 @@
# Copyright (c) 2021 Riverbank Computing Limited <info@riverbankcomputing.com>
#
# This file is part of PyQt6.
#
# This file may be used under the terms of the GNU General Public License
# version 3.0 as published by the Free Software Foundation and appearing in
# the file LICENSE included in the packaging of this file. Please review the
# following information to ensure the GNU General Public License version 3.0
# requirements will be met: http://www.gnu.org/copyleft/gpl.html.
#
# If you do not wish to use this file under the terms of the GPL version 3.0
# then you may purchase a commercial license. For more information contact
# info@riverbankcomputing.com.
#
# This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
# WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
class UserException(Exception):
""" Encapsulate an exception ultimate caused by the user. """
pass
class User:
""" A mixin that provides methods for communicating with the user. """
def __init__(self, verbose, **kwargs):
""" Initialise the object. """
super().__init__(**kwargs)
self._verbose = verbose
@staticmethod
def pretty(text):
""" Returns a pretty-fied version of some text suitable for displaying
to the user.
"""
return text.replace('\n', '\\n')
def progress(self, message):
""" Display a progress message. """
if self._verbose:
print(message)

65
i18n/qtbase.py Normal file
View File

@@ -0,0 +1,65 @@
"""
Qt Base Translation File
========================
This file causes Qt Linguist to generate translation entries for the Qt
elements that need translation in novelWriter for those languages who do
not yet have a qtbase_xx.qm file shipped with Qt.
If a qtbase_xx.qm file already exists, do not add a translation for the
entries generated from this file.
"""
from PyQt5.QtCore import QT_TRANSLATE_NOOP
# QDialogButtonBox
# ================
QT_TRANSLATE_NOOP("QDialogButtonBox", "OK")
# QGnomeTheme
# ===========
QT_TRANSLATE_NOOP("QGnomeTheme", "&OK")
QT_TRANSLATE_NOOP("QGnomeTheme", "&Save")
QT_TRANSLATE_NOOP("QGnomeTheme", "&Cancel")
QT_TRANSLATE_NOOP("QGnomeTheme", "&Close")
QT_TRANSLATE_NOOP("QGnomeTheme", "Close without Saving")
# QPlatformTheme
# ==============
QT_TRANSLATE_NOOP("QPlatformTheme", "OK")
QT_TRANSLATE_NOOP("QPlatformTheme", "Save")
QT_TRANSLATE_NOOP("QPlatformTheme", "Save All")
QT_TRANSLATE_NOOP("QPlatformTheme", "Open")
QT_TRANSLATE_NOOP("QPlatformTheme", "&Yes")
QT_TRANSLATE_NOOP("QPlatformTheme", "Yes to &All")
QT_TRANSLATE_NOOP("QPlatformTheme", "&No")
QT_TRANSLATE_NOOP("QPlatformTheme", "N&o to All")
QT_TRANSLATE_NOOP("QPlatformTheme", "Abort")
QT_TRANSLATE_NOOP("QPlatformTheme", "Retry")
QT_TRANSLATE_NOOP("QPlatformTheme", "Ignore")
QT_TRANSLATE_NOOP("QPlatformTheme", "Close")
QT_TRANSLATE_NOOP("QPlatformTheme", "Cancel")
QT_TRANSLATE_NOOP("QPlatformTheme", "Discard")
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")

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