Compare commits

...

365 commits

Author SHA1 Message Date
Jacki 50b9fd4980
Implement filter for characters
Signed-off-by: Jacki <jacki@thejackimonster.de>
2023-12-17 15:01:43 +01:00
TheJackiMonster 5a109250bb
========== manuskript-0.16.1 ==========
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
2023-12-14 14:21:49 +01:00
TheJackiMonster 8beea301ec
Fix path inconsistencies
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
2023-12-12 16:26:31 +01:00
TheJackiMonster f274cd489f
Use text mode writing files
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
2023-12-12 16:22:46 +01:00
TheJackiMonster 41e59d71c1
Fix newline changes to read universally
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
2023-12-12 16:18:43 +01:00
TheJackiMonster 98d6eb4975
Remove usage of hardcoded path separators
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
2023-12-12 15:53:37 +01:00
TheJackiMonster 530352c78b
========== manuskript-0.16.0 ==========
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
2023-12-07 19:42:24 +01:00
TheJackiMonster 82fe3262af
Prevent initial crash by changes in spellchecking
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
2023-12-07 19:36:37 +01:00
TheJackiMonster 3707d9e0ee
Update .ts files
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
2023-12-07 18:59:24 +01:00
Hosted Weblate d0e4c81132
Merge branch 'origin/develop' into Weblate. 2023-12-07 18:54:27 +01:00
TheJackiMonster 4d79bef20c
Update ui and translation
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
2023-12-07 18:53:14 +01:00
TheJackiMonster a7abc68f8e
Initialize textColor with None
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
2023-12-07 16:08:44 +01:00
Tobias Frisch 3d4eef2b49
Merge pull request #1214 from TheShadowblast123/develop
Update spellchecker.py And Fixed crashing
2023-12-07 16:06:03 +01:00
TheJackiMonster 1fd8762f5a
Fix crash #1218
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
2023-12-07 16:00:27 +01:00
TheJackiMonster d93e8eb544
Merge branch 'develop' of github.com:olivierkes/manuskript into develop 2023-12-07 15:41:25 +01:00
TheJackiMonster 79ba7b59ed
Set templateIndex to none when marked as deleted
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
2023-12-07 15:41:18 +01:00
Tobias Frisch 892f8f0592
Merge pull request #1226 from drmousse/develop
Crash on spellcheck context menu #1224
2023-12-07 15:35:59 +01:00
TheJackiMonster 14392909c3
Fix word count for template selection (fix #1163)
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
2023-12-07 15:34:01 +01:00
Tobias Frisch 5f3933bde2
Merge pull request #1198 from Niwreg/develop
added extra check for the filebase dir not to start with an .
2023-12-07 15:07:14 +01:00
Tobias Frisch cf4ff9f35a
Merge pull request #1196 from Dreaded-Gnu/cross-platform-fix
Fix inconsistent newline handling across operating systems
2023-12-07 15:04:25 +01:00
phlostically b963186071
Translated using Weblate (Esperanto)
Currently translated at 93.7% (709 of 756 strings)

Translation: Manuskript/Translations
Translate-URL: https://hosted.weblate.org/projects/manuskript/translations/eo/
2023-11-09 18:37:09 +01:00
Eryk Michalak 1c7b246e80
Translated using Weblate (Polish)
Currently translated at 98.6% (746 of 756 strings)

Translation: Manuskript/Translations
Translate-URL: https://hosted.weblate.org/projects/manuskript/translations/pl/
2023-10-01 13:02:56 +02:00
mousse 56dac84932 issue 1224: contextmenu on unknown word in context of pyspellchecker and symspellpy 2023-09-20 16:24:55 +02:00
Shadow 161290686b Update corkDelegate.py 2023-09-18 14:28:30 -07:00
Shadow 7d31628977 Resolved critical error that crashes
textColor isn't always set to a value and whenever it was used as an empty variable the program would crash. I'm uncertain as to whether or not this solution is appropriate, but this is one way to handle it and maintain functionality. Another would be setting textColor to a default value, but this default would have to depend on the theme set by the user.
2023-09-18 14:11:30 -07:00
Mickas Jensen 919df53b5f
Translated using Weblate (Danish)
Currently translated at 11.1% (84 of 756 strings)

Translation: Manuskript/Translations
Translate-URL: https://hosted.weblate.org/projects/manuskript/translations/da/
2023-09-18 11:00:49 +02:00
Shadow fbab930c44 Update spellchecker.py
Corrected issue where words within certain quotations would show up as incorrectly spelled (ex: 'I'm fine') would indicate both words are misspelled
2023-09-12 18:57:03 -07:00
Tobias Frisch 87da52efd4
Merge pull request #1212 from sagev9000/skip-comments-fix
Fix regex for ignoring multi-line comments.
2023-09-05 14:59:16 +02:00
Sage Vaillancourt d149ae45e7 Better regex dot config 2023-09-04 20:24:41 -04:00
Sage Vaillancourt 18089ae44f Fix regex for ignoring multi-line comments. 2023-09-03 20:33:25 -04:00
Павел Протасов 11294a5914
Translated using Weblate (Russian)
Currently translated at 100.0% (756 of 756 strings)

Translation: Manuskript/Translations
Translate-URL: https://hosted.weblate.org/projects/manuskript/translations/ru/
2023-08-28 18:10:58 +02:00
Tobias Frisch dccfa85d1f
Merge pull request #1205 from sagev9000/skip-comments-in-word-count
Skip comments in word count
2023-08-25 23:06:48 +02:00
Sage Vaillancourt f25b47149b Use regex to remove comments before counting 2023-08-25 14:46:45 -04:00
Sage Vaillancourt 6f6abc6f65 I think this reads slightly cleaner. 2023-08-19 21:38:30 -04:00
Sage Vaillancourt 80e90b5ddc Skip comments in word count. 2023-08-19 21:36:13 -04:00
Gerwin van der Kamp 8a5dd11075 added extra check for the filebase dir not to start with an . 2023-08-12 02:39:48 +02:00
Christian Freitag e267699667 - Adjusted open calls to use \n as newline for all platforms instead of guessing it 2023-08-07 13:09:55 +02:00
Tobias Frisch 6ee7e881be
Merge pull request #1195 from Dreaded-Gnu/manuskriptw-startup-fix
Fix manuskriptw startup error
2023-08-07 12:02:53 +02:00
Christian Freitag 42245d38c3 - Added catch of RuntimeError triggered on when sys.stderr is none 2023-08-07 10:04:26 +02:00
Aurélio Julio Arantes Silveira cc0fc29b28
Translated using Weblate (Portuguese (Brazil))
Currently translated at 98.9% (748 of 756 strings)

Translation: Manuskript/Translations
Translate-URL: https://hosted.weblate.org/projects/manuskript/translations/pt_BR/
2023-06-29 04:45:09 +02:00
TheJackiMonster 1933d53c1c
Fix match and case syntax for python 3.9 and below
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
2023-06-15 22:38:05 +02:00
TheJackiMonster 13486ad083
Update translation files
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
2023-06-15 22:31:33 +02:00
Tobias Frisch 4ebbf5efd6
Merge pull request #1165 from alfar/develop
Simple history back/forward navigation
2023-06-15 22:25:58 +02:00
Tymofii Lytvynenko 40a9cabece
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (756 of 756 strings)

Translation: Manuskript/Translations
Translate-URL: https://hosted.weblate.org/projects/manuskript/translations/uk/
2023-06-12 01:51:29 +02:00
Павел Протасов 14dd845e4c
Translated using Weblate (Russian)
Currently translated at 100.0% (756 of 756 strings)

Translation: Manuskript/Translations
Translate-URL: https://hosted.weblate.org/projects/manuskript/translations/ru/
2023-06-04 20:50:44 +02:00
Herb Huang e36c31f3a9
Translated using Weblate (Chinese (Simplified))
Currently translated at 91.1% (689 of 756 strings)

Translation: Manuskript/Translations
Translate-URL: https://hosted.weblate.org/projects/manuskript/translations/zh_Hans/
2023-05-30 13:10:04 +02:00
Herb Huang 15b9d6f0e1
Translated using Weblate (Chinese (Simplified))
Currently translated at 89.1% (674 of 756 strings)

Translation: Manuskript/Translations
Translate-URL: https://hosted.weblate.org/projects/manuskript/translations/zh_Hans/
2023-05-30 01:52:18 +02:00
Павел Протасов 0ce2ae61a0
Translated using Weblate (Russian)
Currently translated at 97.0% (734 of 756 strings)

Translation: Manuskript/Translations
Translate-URL: https://hosted.weblate.org/projects/manuskript/translations/ru/
2023-05-25 19:50:09 +02:00
Arne Sostack b05377b417 Implemented history back and forward navigation 2023-05-14 11:59:07 +02:00
Tymofii Lytvynenko 8932adf635
Translated using Weblate (Ukrainian)
Currently translated at 99.3% (751 of 756 strings)

Translation: Manuskript/Translations
Translate-URL: https://hosted.weblate.org/projects/manuskript/translations/uk/
2023-05-14 08:49:37 +02:00
phlostically 549a089eb0
Translated using Weblate (Esperanto)
Currently translated at 90.7% (686 of 756 strings)

Translation: Manuskript/Translations
Translate-URL: https://hosted.weblate.org/projects/manuskript/translations/eo/
2023-04-24 16:48:42 +02:00
albanobattistella 4abc6cacfd
Translated using Weblate (Italian)
Currently translated at 99.6% (753 of 756 strings)

Translation: Manuskript/Translations
Translate-URL: https://hosted.weblate.org/projects/manuskript/translations/it/
2023-04-11 10:52:44 +02:00
ruine e8199931d9
Translated using Weblate (Japanese)
Currently translated at 91.6% (693 of 756 strings)

Translation: Manuskript/Translations
Translate-URL: https://hosted.weblate.org/projects/manuskript/translations/ja/
2023-04-04 04:44:58 +02:00
albanobattistella 69fec580cb
Translated using Weblate (Italian)
Currently translated at 99.4% (752 of 756 strings)

Translation: Manuskript/Translations
Translate-URL: https://hosted.weblate.org/projects/manuskript/translations/it/
2023-04-02 21:41:24 +02:00
TheJackiMonster 8e298c0788
Merge branch 'master' into develop 2023-03-29 22:01:26 +02:00
TheJackiMonster 2f93c2f6fe
Fix missing python-markdown in Windows builds
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
2023-03-29 22:00:47 +02:00
Milo Ivir e84056ecbe
Translated using Weblate (Croatian)
Currently translated at 100.0% (756 of 756 strings)

Translation: Manuskript/Translations
Translate-URL: https://hosted.weblate.org/projects/manuskript/translations/hr/
2023-03-27 21:41:58 +02:00
Milo Ivir 8ffdeefbdf
Translated using Weblate (Croatian)
Currently translated at 99.6% (753 of 756 strings)

Translation: Manuskript/Translations
Translate-URL: https://hosted.weblate.org/projects/manuskript/translations/hr/
2023-03-25 15:41:11 +01:00
gallegonovato d8fbea13ba
Translated using Weblate (Spanish)
Currently translated at 100.0% (756 of 756 strings)

Translation: Manuskript/Translations
Translate-URL: https://hosted.weblate.org/projects/manuskript/translations/es/
2023-03-20 16:02:05 +01:00
Pedro Albuquerque 5f9335cc91
Translated using Weblate (Portuguese (Portugal))
Currently translated at 100.0% (757 of 757 strings)

Translation: Manuskript/Translations
Translate-URL: https://hosted.weblate.org/projects/manuskript/translations/pt_PT/
2023-03-20 08:34:06 +01:00
TheJackiMonster cdad1aa2d4
Update translation files
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
2023-03-20 04:59:01 +01:00
Tobias Frisch 131bdc5505
Merge pull request #1144 from tntscreed/develop
Bulk Info Manager bug fix and style changes.
2023-03-20 04:55:27 +01:00
TheJackiMonster 7de81a96f3
Update QM files
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
2023-03-20 04:54:22 +01:00
Hosted Weblate 1dc709fa20
Merge branch 'origin/develop' into Weblate. 2023-03-20 04:49:00 +01:00
TheJackiMonster fe213894cb
Add status of pytest workflow to README.md
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
2023-03-20 04:44:49 +01:00
gallegonovato 60ea5f9e14
Translated using Weblate (Spanish)
Currently translated at 100.0% (754 of 754 strings)

Translation: Manuskript/Translations
Translate-URL: https://hosted.weblate.org/projects/manuskript/translations/es/
2023-03-17 20:38:04 +01:00
Ettore Atalan 7d4151328c
Translated using Weblate (German)
Currently translated at 99.4% (750 of 754 strings)

Translation: Manuskript/Translations
Translate-URL: https://hosted.weblate.org/projects/manuskript/translations/de/
2023-03-17 20:38:03 +01:00
tntscreed 863e8df483 Bug and style fixes.
- Made small changes to better fit the style of the project.

- Fixed a bug that would result in a crash when details were applied with the bulk info manager.

- Improved the Bulk Manager UI by adding the list-add and list-remove icons, to better fit it to Manuskript's style. Also added tooltips.
2023-03-16 16:06:48 +01:00
tntscreed 9b372eac73 Added remaining QMessageBox text to self.tr method
I'm assuming it was left out on accident. Sorry, but I can't update the translation files on my own.
2023-03-16 13:19:19 +01:00
tntscreed 389cb19f55 Merge branch 'origin_develop' into develop 2023-03-16 13:03:28 +01:00
Pedro Albuquerque 1164c3c988
Translated using Weblate (Portuguese (Portugal))
Currently translated at 100.0% (755 of 755 strings)

Translation: Manuskript/Translations
Translate-URL: https://hosted.weblate.org/projects/manuskript/translations/pt_PT/
2023-03-16 07:47:49 +01:00
TheJackiMonster 3faaf1187a
Update qm files via makefile
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
2023-03-15 21:46:08 +01:00
TheJackiMonster 5e068c0603
Merge branch 'translations' into develop
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
2023-03-15 21:44:10 +01:00
TheJackiMonster 7d76bd6726
Update QM files
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
2023-03-15 21:12:52 +01:00
TheJackiMonster b1e23fd9fc
Update translation files
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
2023-03-15 21:11:41 +01:00
TheJackiMonster e62432307f
Make selection adjustment permanent and improve consistency
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
2023-03-15 21:06:31 +01:00
ssantos 5f8569718d
Translated using Weblate (Portuguese)
Currently translated at 100.0% (787 of 787 strings)

Translation: Manuskript/Translations
Translate-URL: https://hosted.weblate.org/projects/manuskript/translations/pt/
2023-03-12 22:37:31 +01:00
Pedro Albuquerque 66f6aecf1c
Translated using Weblate (Portuguese (Portugal))
Currently translated at 100.0% (788 of 788 strings)

Translation: Manuskript/Translations
Translate-URL: https://hosted.weblate.org/projects/manuskript/translations/pt_PT/
2023-03-12 22:37:31 +01:00
Mounim 763d9284f0
Translated using Weblate (Dutch)
Currently translated at 99.8% (786 of 787 strings)

Translation: Manuskript/Translations
Translate-URL: https://hosted.weblate.org/projects/manuskript/translations/nl/
2023-03-12 22:37:30 +01:00
Pedro Albuquerque 91b22292cc
Translated using Weblate (Portuguese (Portugal))
Currently translated at 100.0% (788 of 788 strings)

Translation: Manuskript/Translations
Translate-URL: https://hosted.weblate.org/projects/manuskript/translations/pt_PT/
2023-03-10 17:37:10 +01:00
tntscreed 92b1e0b648 Made small improvements to the bulk detail manager.
-Cleaned the code up a bit.

-Added warning message before discarding unapplied entries in the bulk manager. The bulk manager now doesn't automatically close when selecting a single (or no) character, but asks for the user's consent.
2023-03-09 16:24:35 +01:00
tntscreed 1fd45ba1d2 Fixed a typo.
The warning message-box for when the bulk manager was empty has been fixed.
2023-03-07 21:56:30 +01:00
tntscreed 2ead298b00 Removed the absolute path left in by pyuic.
Sorry about that. It didn't exactly doxx me, but it was weird.
2023-03-07 21:19:29 +01:00
tntscreed 953ce4bd15 Multi-Deletion of Characters + Confirmation Dialog
-Since multi-selection of characters is now possible, it's more intuitive that all selected characters should be deleted.

-Added a confirmation dialog before character-deletion? Why the heck  was this not a thing before? It was way too easy to accidentally delete characters, with no way to restore them without external source-control or backups.
2023-03-07 20:56:54 +01:00
tntscreed 06f8ab3519 The bulk info managers is now completely functional.
Also, a change has been made to the character tree view. Theoretically it shouldn't have any functional significance, but "addCharacterInfo" is used for adding info to only one character, so it makes sense to remove the old multi-selection info-adding functionality, even if it wouldn't ever be accessible.
2023-03-07 20:27:16 +01:00
tntscreed 66df68af69 Made the code a little nicer, added addition and deletion
The bulk manager has been made partially functional.
2023-03-07 18:14:01 +01:00
tntscreed b5dfee59d7 Created a (not yet functional) bulk manager widget.
-Some variables had to be declared in the mainWindow.py __init__ function.

-Added functions for creating the bulkPersoInfoManager widget as a tab when multiple characters are selected. All other tabs get stored and deleted, and restored after only one character is selected.

-Started work on functions that create the intended behaviours of the widget.
2023-03-06 21:43:31 +01:00
Samuel Marques 5d0a9d3019
Translated using Weblate (Portuguese)
Currently translated at 92.1% (725 of 787 strings)

Translation: Manuskript/Translations
Translate-URL: https://hosted.weblate.org/projects/manuskript/translations/pt/
2023-03-06 12:39:53 +01:00
albanobattistella 77f7018cb2
Translated using Weblate (Italian)
Currently translated at 100.0% (787 of 787 strings)

Translation: Manuskript/Translations
Translate-URL: https://hosted.weblate.org/projects/manuskript/translations/it/
2023-03-06 12:39:53 +01:00
Samuel Marques fc7a716c76
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (787 of 787 strings)

Translation: Manuskript/Translations
Translate-URL: https://hosted.weblate.org/projects/manuskript/translations/pt_BR/
2023-03-06 12:39:52 +01:00
tntscreed 25b64ad971 Merge remote-tracking branch 'origin/develop' into develop 2023-03-05 17:49:22 +01:00
tntscreed d55e88599d Made multi-selection of characters a bit more intuitive 2023-03-05 17:40:05 +01:00
tntscreed 49fb32deab Made selection a bit more intuitive 2023-03-05 15:04:56 +01:00
tntscreed fc86ed5df6 Started work on character multi-selection features.
-Added currentCharacters method, a list counterpart of currentCharacter.

-Replaced the connection for currentItemChanged with itemSelectionChanged. This is to accommodate for the bulk-changes when multiple characters are selected. The currentItemChanged method is now not called with a connection, but from the handleCharacterSelectionChanged method. The latter is called with the itemSelectionChanged connection.

-If no valid characters are selected, the tabPersos widget is disabled. This obviously breaks the functionality of bulk-adding info to characters. This will have to be fixed by only disabling the parts of the tabPersos widget that should not be affected with multiple selection operations.
2023-03-05 14:14:58 +01:00
tntscreed eaebfa9dfa Merge remote-tracking branch 'origin/develop' into develop 2023-03-05 01:10:48 +01:00
tntscreed a046656acf Made bulk-adding "Detailed info" to characters possible
-Changed the selection mode to extended selection on the lstCharacters tree-view. This will not affect anything else other than the "detailed info" rows. Every other change to a character's descriptions, motivations and such only affect the last selected one.

-Made a method to get all the IDs of the selected characters.

-Added a character-info dialog UI. Originally, adding information worked by adding a placeholder and then changing it. Users never want to just add a placeholder without initialising the values. And the bulk-adding only works this way.
2023-03-05 00:58:25 +01:00
TheJackiMonster 041fda5b74
========== manuskript-0.15.0 ==========
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
2023-03-04 20:32:58 +01:00
TheJackiMonster 2ca25a06f6
Update ui files regarding shortcut translation
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
2023-03-04 16:15:30 +01:00
TheJackiMonster 7358a7add5
Update all latest changes in qm files
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
2023-03-03 19:37:28 +01:00
Arsenicus 8ad2652cf5
Translated using Weblate (Russian)
Currently translated at 97.9% (771 of 787 strings)

Translation: Manuskript/Translations
Translate-URL: https://hosted.weblate.org/projects/manuskript/translations/ru/
2023-03-03 19:36:07 +01:00
TheJackiMonster 4d625182ad
Update qm files
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
2023-03-03 19:35:40 +01:00
Hosted Weblate 75425665de
Merge branch 'origin/develop' into Weblate. 2023-03-03 19:33:49 +01:00
Arsenicus ab4761e9c8
Translated using Weblate (Russian)
Currently translated at 97.3% (766 of 787 strings)

Translation: Manuskript/Translations
Translate-URL: https://hosted.weblate.org/projects/manuskript/translations/ru/
2023-03-03 19:33:49 +01:00
TheJackiMonster 9d65811eed
Add further automatic translations
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
2023-03-03 19:33:31 +01:00
TheJackiMonster 935811717b
Update qm files with latest translations
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
2023-03-03 19:29:47 +01:00
TuxIoannes 452279a8ae
Translated using Weblate (Ukrainian)
Currently translated at 99.3% (782 of 787 strings)

Translation: Manuskript/Translations
Translate-URL: https://hosted.weblate.org/projects/manuskript/translations/uk/
2023-02-27 19:39:20 +01:00
Adrián López Galera d68f332ef8
Translated using Weblate (Spanish)
Currently translated at 100.0% (787 of 787 strings)

Translation: Manuskript/Translations
Translate-URL: https://hosted.weblate.org/projects/manuskript/translations/es/
2023-02-27 19:39:19 +01:00
Milo Ivir 6a4137215f
Translated using Weblate (Croatian)
Currently translated at 100.0% (787 of 787 strings)

Translation: Manuskript/Translations
Translate-URL: https://hosted.weblate.org/projects/manuskript/translations/hr/
2023-02-21 13:39:18 +01:00
gallegonovato 910f569c2e
Translated using Weblate (Spanish)
Currently translated at 100.0% (787 of 787 strings)

Translation: Manuskript/Translations
Translate-URL: https://hosted.weblate.org/projects/manuskript/translations/es/
2023-02-21 13:39:18 +01:00
Pedro Albuquerque d936d4a348
Translated using Weblate (Portuguese (Portugal))
Currently translated at 100.0% (788 of 788 strings)

Translation: Manuskript/Translations
Translate-URL: https://hosted.weblate.org/projects/manuskript/translations/pt_PT/
2023-02-19 17:47:50 +01:00
Tobias Frisch 785fa8c77f
Translated using Weblate (German)
Currently translated at 100.0% (787 of 787 strings)

Translation: Manuskript/Translations
Translate-URL: https://hosted.weblate.org/projects/manuskript/translations/de/
2023-02-19 17:47:50 +01:00
TheJackiMonster e72cd06842
Update translation files
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
2023-02-19 14:19:32 +01:00
Hosted Weblate 4b64271ae4
Merge branch 'origin/develop' into Weblate. 2023-02-19 14:15:10 +01:00
TheJackiMonster 3b226658a6
Remove old files to update languages and translations
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
2023-02-19 14:13:10 +01:00
TheJackiMonster 035db18598
Merge branch 'develop' of github.com:olivierkes/manuskript into develop 2023-02-19 14:06:12 +01:00
TheJackiMonster 035b6222cf
Add tool to generate new manuskript.pro file
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
2023-02-19 14:06:00 +01:00
Milo Ivir e9b3873934
Translated using Weblate (Croatian)
Currently translated at 100.0% (881 of 881 strings)

Translation: Manuskript/Translations
Translate-URL: https://hosted.weblate.org/projects/manuskript/translations/hr/
2023-02-16 21:37:18 +01:00
Otávio Monteagudo 525e0d1f00
Translated using Weblate (Portuguese (Brazil))
Currently translated at 98.5% (750 of 761 strings)

Translation: Manuskript/Translations
Translate-URL: https://hosted.weblate.org/projects/manuskript/translations/pt_BR/
2023-02-16 21:37:17 +01:00
Milo Ivir 94b6d88657
Translated using Weblate (German)
Currently translated at 100.0% (761 of 761 strings)

Translation: Manuskript/Translations
Translate-URL: https://hosted.weblate.org/projects/manuskript/translations/de/
2023-02-16 21:37:17 +01:00
Tobias Frisch ea3bf4979c
Update README.md 2023-02-15 00:42:18 +01:00
TheJackiMonster 9203e0cc83
Fix #305, adding an indicator to tree view root element
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
2023-02-13 21:40:52 +01:00
TheJackiMonster 6ea209e523
Prevent right-click for popup menus to select item (fix #919)
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
2023-02-13 21:34:35 +01:00
TheJackiMonster a6ac2705d5
Add visual indicator to collapsibleGroupBox2 (fix #1132)
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
2023-02-13 21:22:39 +01:00
Tobias Frisch 3e811c75d1
Merge pull request #1060 from tcsch/feature/split-editor-functionality
Feature/split editor functionality
2023-02-13 20:39:18 +01:00
TheJackiMonster cc8924ada6
Remove translation from shortcuts
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
2023-02-11 00:41:47 +01:00
TheJackiMonster 16f6ecc8bc
Fix crash of issue #1082
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
2023-02-10 22:42:00 +01:00
TheJackiMonster eeb98a8ccd
Fix inconsistency of button states when searching in metadata
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
2023-02-10 22:21:22 +01:00
TheJackiMonster 3ac87d9125
Fix potential issue from the future
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
2023-02-10 00:11:27 +01:00
TheJackiMonster 72933c9978
Adjust syntax and formatting
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
2023-02-09 22:58:45 +01:00
TheJackiMonster 19cbe7fdf6
Allow huge xml files to be parsed
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
2023-02-09 22:24:17 +01:00
TheJackiMonster ee76b2d84e
Adjust syntax
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
2023-02-09 22:13:01 +01:00
gallegonovato 35d4a2171e
Translated using Weblate (Spanish)
Currently translated at 100.0% (761 of 761 strings)

Translation: Manuskript/Translations
Translate-URL: https://hosted.weblate.org/projects/manuskript/translations/es/
2023-02-06 15:40:19 +01:00
TheJackiMonster a88b61fbcd
Adjust visual defaults in settings from ui
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
2023-02-01 22:43:28 +01:00
TheJackiMonster 7293db7c40
Remove clearing focus in text edits to prevent a jumping cursor when not intended
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
2023-02-01 21:15:13 +01:00
TheJackiMonster 380354bdf8
Fix most problems regarding issue #1065
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
2023-01-30 23:20:30 +01:00
TheJackiMonster 414cd0f8a3
Cleanup code
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
2023-01-30 23:19:33 +01:00
Asduido Adio b0ac44f6fc
Translated using Weblate (Korean)
Currently translated at 69.3% (528 of 761 strings)

Translation: Manuskript/Translations
Translate-URL: https://hosted.weblate.org/projects/manuskript/translations/ko/
2023-01-10 15:50:19 +01:00
gallegonovato 606df9843c
Translated using Weblate (Spanish)
Currently translated at 100.0% (761 of 761 strings)

Translation: Manuskript/Translations
Translate-URL: https://hosted.weblate.org/projects/manuskript/translations/es/
2022-12-30 15:47:30 +01:00
TheShadowOfHassen acd23e9651
Fixed error # #1095 (#1098)
The error: TypeError: expected string or bytes-like object can be fixed by just a str to the line:
         return [(m.start(), m.end(), getSearchResultContext(text, m.start(), m.end())) for m in searchRegex.finditer(text)]
2022-12-29 22:07:31 +01:00
Tymofii Lytvynenko dba35f15d7
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (761 of 761 strings)

Translation: Manuskript/Translations
Translate-URL: https://hosted.weblate.org/projects/manuskript/translations/uk/
2022-12-21 20:47:28 +01:00
Kim a36bc55bf2
Add GitHub Actions Windows CI build to commits (#1092)
* Update build script, maybe?

* Squashed commit of the following:

commit a50aff9fb73c407a78da6013a1661c9cfbbc3d6d
Author: Kim Chase <me@hi-im.kim>
Date:   Tue Dec 13 14:40:59 2022 -0500

    Add install recommends back, forgot it...

commit 8034957fbcfe07b5408e926bf0cd4c8dc2a97501
Author: Kim Chase <me@hi-im.kim>
Date:   Tue Dec 13 14:18:16 2022 -0500

    Try 64 bit builds?

commit 4b624eff44b2c76ffad7fcf5cfb36d14797d9f6e
Author: Kim Chase <me@hi-im.kim>
Date:   Tue Dec 13 13:47:33 2022 -0500

    Remove wineprefix to test.

commit 1dc8cd0ab0ae10211b267cbb9d24df88e31ea47d
Author: Kim Chase <me@hi-im.kim>
Date:   Tue Dec 13 13:37:30 2022 -0500

    Swap to staging.

commit eb750931e018f6b608a5ffe38877b1d544f8605d
Author: Kim Chase <me@hi-im.kim>
Date:   Tue Dec 13 13:28:23 2022 -0500

    printing shit to try and diagnose.

commit c45c47db53d82521a61e053b91aac3fcd4909be2
Author: Kim Chase <me@hi-im.kim>
Date:   Tue Dec 13 13:06:48 2022 -0500

    Try winebooting first.

commit 6e618ff60b881e90e0427571abb740eabf2943bb
Author: Kim Chase <me@hi-im.kim>
Date:   Tue Dec 13 12:54:46 2022 -0500

    Try running with xvfb to deal with display issues?

commit cf0b938b756c078d59bde0914a5fe8f42da47a75
Author: Kim Chase <me@hi-im.kim>
Date:   Tue Dec 13 12:34:27 2022 -0500

    Swapping back to stable I guess?

commit 8b03199a6e5d08a862b370379642dd0df13bafff
Author: Kim Chase <me@hi-im.kim>
Date:   Tue Dec 13 12:14:09 2022 -0500

    Fix broken closing bracket.

commit b4d0c7ba4951b3efa86c8276707f734008292108
Author: Kim Chase <me@hi-im.kim>
Date:   Tue Dec 13 11:53:17 2022 -0500

    Fix stupid stub call of wine --version that I put an echo on that wasn't needed...

commit 9632b39c5873f1bec1cb7f7d1f370ebdb2972589
Author: Kim Chase <me@hi-im.kim>
Date:   Tue Dec 13 11:46:43 2022 -0500

    Try WineHQ steps after fix patch.

commit af21ddbec2ee0533a8cd4a1d8536a82a85f6f5cd
Author: Kim Chase <me@hi-im.kim>
Date:   Tue Dec 13 11:43:12 2022 -0500

    Add Wine version print.

commit b500eced8c2f815d3d29c0eaff2c438480e16396
Author: Kim Chase <me@hi-im.kim>
Date:   Tue Dec 13 11:39:04 2022 -0500

    Alternate name?

commit c2d9b751422de889b3ffc6943b052024318c19c6
Author: Kim Chase <me@hi-im.kim>
Date:   Tue Dec 13 11:35:01 2022 -0500

    Swap back to devel (since it goes stable->devel->staging apparently.)

commit 8cc5977d1acd8486b535a95c5900cbe33c31e280
Author: Kim Chase <me@hi-im.kim>
Date:   Tue Dec 13 11:30:48 2022 -0500

    Try out wine staging and update python.

commit 33af296b213cfc738ec88436c28fd458b5eabd1b
Author: Kim Chase <me@hi-im.kim>
Date:   Tue Dec 13 11:30:33 2022 -0500

    Try out wine staging and pray.

commit 551227bbee6526f6c4dcbde0fdd07f5e784cc220
Author: Kim Chase <me@hi-im.kim>
Date:   Tue Dec 13 11:25:05 2022 -0500

    Undo mucked syntax.

commit f67edaf009201c93fc454cb2c9dadf10ab7962bd
Author: Kim Chase <me@hi-im.kim>
Date:   Tue Dec 13 11:24:37 2022 -0500

    Older pandoc test.

commit 728707b5a2ce54af48c32594abf2ea72d17675b2
Author: Kim Chase <me@hi-im.kim>
Date:   Tue Dec 13 11:23:48 2022 -0500

    Try older pandoc install.

commit 7dee6c0039406c1ad6531fb33ce1815c33a46243
Author: Kim Chase <me@hi-im.kim>
Date:   Tue Dec 13 11:16:07 2022 -0500

    Try to shorten build steps process.

commit f2f9a5bd1c01d2351c31815903614e36ad89d577
Author: Kim Chase <me@hi-im.kim>
Date:   Tue Dec 13 11:14:52 2022 -0500

    Remove APT cache.

commit 1cdc43ae7a289b820a24d4917992ac055c336f4f
Author: Kim Chase <me@hi-im.kim>
Date:   Tue Dec 13 11:10:10 2022 -0500

    Fix syntax error.

commit 9cc172a343632e12c624e440c5b625de42487153
Author: Kim Chase <me@hi-im.kim>
Date:   Tue Dec 13 11:08:28 2022 -0500

    Try workaround in issue.

commit 6a9f2b38c18978b32a83649b813010ed35d2e7a4
Author: Kim Chase <me@hi-im.kim>
Date:   Tue Dec 13 10:53:02 2022 -0500

    Regular wine whine.

commit b202e08fd95a6a001ce181de43d78433a6cce16e
Author: Kim Chase <me@hi-im.kim>
Date:   Mon Dec 12 17:54:47 2022 -0500

    List sources so I can remove deb.sury.org from stuff.

commit 5bc6d770de9a73c0a6db82a00343a71f905a27c1
Author: Kim Chase <me@hi-im.kim>
Date:   Mon Dec 12 17:49:53 2022 -0500

    Try the workaround.

commit 58bee4649a1f988f6ce0c0f394c908e6ad7acd4c
Author: Kim Chase <me@hi-im.kim>
Date:   Mon Dec 12 17:45:59 2022 -0500

    Try this selector?

commit c11b9b9e943c334fea9ce9ab3d6bc600958b8659
Author: Kim Chase <me@hi-im.kim>
Date:   Mon Dec 12 17:41:48 2022 -0500

    WIne32 prayer.

commit d1afae710eff839c80e942ad7cac877dca5e6cf5
Author: Kim Chase <me@hi-im.kim>
Date:   Mon Dec 12 17:38:30 2022 -0500

    Clear cache and pray.

commit 145d38117d90ba164238f75cee2ef74734282b0c
Author: Kim Chase <me@hi-im.kim>
Date:   Mon Dec 12 17:34:30 2022 -0500

    explicitly install libwine386.

commit f152a63310a856650301ea73ae04c2e834d0cdea
Author: Kim Chase <me@hi-im.kim>
Date:   Mon Dec 12 17:30:31 2022 -0500

    sudo sudo sudo

commit df17f589c2f9c40f71ec788623cba9f369f3d5b5
Author: Kim Chase <me@hi-im.kim>
Date:   Mon Dec 12 17:28:04 2022 -0500

    i386 wine32 prayers.

commit d172b98b37b51e39209795f377eeadb9c6e5fd3c
Author: Kim Chase <me@hi-im.kim>
Date:   Mon Dec 12 17:22:38 2022 -0500

    Swap wine calls to wine64.

commit b56fe9fe498f9069239f8d8cf1dd83b81585272f
Author: Kim Chase <me@hi-im.kim>
Date:   Mon Dec 12 17:18:43 2022 -0500

    Tiny tweak.

commit a9c928e0066ca5250f6087c126d11f7b3f14c84d
Author: Kim Chase <me@hi-im.kim>
Date:   Mon Dec 12 17:16:28 2022 -0500

    Simplify.

commit ef9c94d8e2ef896eb428aa6e9d24b52cffd482c1
Author: Kim Chase <me@hi-im.kim>
Date:   Mon Dec 12 17:14:54 2022 -0500

    Update to 22.04 and hoping.

commit 5039fc25c04598c29c4ef7380f0b8207085d23a8
Author: Kim Chase <me@hi-im.kim>
Date:   Mon Dec 12 17:12:05 2022 -0500

    Remove WineHQ again I guess.

commit 32f46bbbfda89b1fb31f773ba36c98e6fef5e623
Author: Kim Chase <me@hi-im.kim>
Date:   Mon Dec 12 17:08:45 2022 -0500

    Add multiverse/universe.

commit 10f80d0a4948beb47f5380ab9b62889389898481
Author: Kim Chase <me@hi-im.kim>
Date:   Mon Dec 12 17:07:33 2022 -0500

    Reordering and praying.

commit 42be65f6573b8dece1ee3c4494ba28ae21623caf
Author: Kim Chase <me@hi-im.kim>
Date:   Mon Dec 12 17:05:58 2022 -0500

    Purge.

commit ddb83a8fe411c2083a119bb2e70bd377d839822a
Author: Kim Chase <me@hi-im.kim>
Date:   Mon Dec 12 17:05:20 2022 -0500

    try me.

commit 9214a1bb3d237c66e3a7a4b288c208147bee9469
Author: Kim Chase <me@hi-im.kim>
Date:   Mon Dec 12 17:02:01 2022 -0500

    Or not...

commit af8eff93092bb7b11c883cd7eaf0d02d28f0114f
Author: Kim Chase <me@hi-im.kim>
Date:   Mon Dec 12 16:59:35 2022 -0500

    Trying to explicitly install amd64 install... we'll see I guess?

commit 5c56958e6bcc003bd0badaf5663f3dadb385552d
Author: Kim Chase <me@hi-im.kim>
Date:   Mon Dec 12 16:56:08 2022 -0500

    Typo fix.

commit 71c784e619e35f204d410477c46b56378de747cb
Author: Kim Chase <me@hi-im.kim>
Date:   Mon Dec 12 16:54:00 2022 -0500

    Trying to remove MSFT build repo.

commit 48c8506bdb85f48e674393ad41f8ba2e2bb2cc2c
Author: Kim Chase <me@hi-im.kim>
Date:   Mon Dec 12 16:48:08 2022 -0500

    Upgrading first.

commit 3e540cca38ce6fe9fd7b518033fae643a59e55bf
Author: Kim Chase <me@hi-im.kim>
Date:   Mon Dec 12 16:45:04 2022 -0500

    Wine Ubuntu specific instructions and hoping.

commit ce4b7db69aba1ceef8bb569302530a22cb998bf4
Author: Kim Chase <me@hi-im.kim>
Date:   Mon Dec 12 16:42:05 2022 -0500

    Try with install reccomends *this time*.

commit cff2ad19fee1645bfca29045e03fcb00d71f59d7
Author: Kim Chase <me@hi-im.kim>
Date:   Mon Dec 12 16:40:10 2022 -0500

    Try again with 386.

commit 25efa15ba7d0645c70a16239d02df054465077b5
Author: Kim Chase <me@hi-im.kim>
Date:   Mon Dec 12 16:37:46 2022 -0500

    Trying different instructions and hoping.

commit 50fc7d80867fc3f25af48dba4e886de8256d9a37
Author: Kim Chase <me@hi-im.kim>
Date:   Mon Dec 12 16:33:55 2022 -0500

    Install suggests and hope and pray.

commit 928a871263b0e3ac6e0ceee770bae8c3350de651
Author: Kim Chase <me@hi-im.kim>
Date:   Mon Dec 12 16:31:16 2022 -0500

    Forgot sudo again.

commit 60ab87149345d19ecf86ef8f887ad0c824b482fa
Author: Kim Chase <me@hi-im.kim>
Date:   Mon Dec 12 16:29:29 2022 -0500

    testing again.

commit 02c4ee7954473ff004733cc7d73b34ba2cf8e312
Author: Kim Chase <me@hi-im.kim>
Date:   Mon Dec 12 16:24:16 2022 -0500

    We ball.

commit 0bdf889ca5a0a5a712964a725caabc3bc0e5a1db
Author: Kim Chase <me@hi-im.kim>
Date:   Mon Dec 12 16:20:59 2022 -0500

    Trying out modified instructions.

commit 600ab4fad16de201016487f34ef3e6db980cf7a0
Author: Kim Chase <me@hi-im.kim>
Date:   Mon Dec 12 16:16:57 2022 -0500

    Try instructions from Winehq.

commit 487be119657e307dac7370cdd8849532596fc9e7
Author: Kim Chase <me@hi-im.kim>
Date:   Mon Dec 12 16:12:50 2022 -0500

    Try with just stock wine?

commit e27ec743cbe7cb591958711f330d3d64f7559ce0
Author: Kim Chase <me@hi-im.kim>
Date:   Mon Dec 12 16:07:39 2022 -0500

    Trying out winehq-develop step.

commit 2e2a0c9b058000282f7fd45966031f7d1059124f
Author: Kim Chase <me@hi-im.kim>
Date:   Mon Dec 12 16:05:14 2022 -0500

    Try rearranging purge and re-install stuff.

commit ea26769e2c213202bc85915b33243313adf95998
Author: Kim Chase <me@hi-im.kim>
Date:   Mon Dec 12 16:00:07 2022 -0500

    Remove erroneous procss call.  Embarassing.

commit 10fc0e7d568eae2b093cf34de50ad464e94e56fe
Author: Kim Chase <me@hi-im.kim>
Date:   Mon Dec 12 15:57:51 2022 -0500

    Rearrange to try and cache apt from wine too.

commit d11f5b686570e9971e028ec05689179b56feb199
Author: Kim Chase <me@hi-im.kim>
Date:   Mon Dec 12 15:52:40 2022 -0500

    Fix *all* the calls in section to run as root.... fml.

commit ae10399abb88b1ffe7aefc0d37fe8e0f041f1b33
Author: Kim Chase <me@hi-im.kim>
Date:   Mon Dec 12 15:35:42 2022 -0500

    add sudo to dpkg call.

commit 2507fcc838ce4cf41199b1fa8810c91d539d33be
Author: Kim Chase <me@hi-im.kim>
Date:   Mon Dec 12 15:30:25 2022 -0500

    Add installer step to add i386 wine.

commit 0a8a5afb376acdc69c3cd41ee69b32c9a3807ca7
Author: Kim Chase <me@hi-im.kim>
Date:   Mon Dec 12 15:25:54 2022 -0500

    Try just re-running i guess.

commit 8f41100f5eabd3f69186bc425c43c5eb0507768b
Author: Kim Chase <me@hi-im.kim>
Date:   Mon Dec 12 15:22:00 2022 -0500

    Trying to kill latent xvfb that didn't close?

commit c95bc0368ff94169e3544fd53ec72dfaa51cada8
Author: Kim Chase <me@hi-im.kim>
Date:   Mon Dec 12 15:17:15 2022 -0500

    Fix package name, hopefully it runs.

commit 8bf1f1febe52fbbdc06d2902290d8c1a6d474ae3
Author: Kim Chase <me@hi-im.kim>
Date:   Mon Dec 12 15:11:55 2022 -0500

    Add upgrade step to hopefully help.  We'll see.

commit ea2322c5a8f7987c63344a91de24a7f570147ecc
Author: Kim Chase <me@hi-im.kim>
Date:   Mon Dec 12 15:09:39 2022 -0500

    Install Wine from different place?  We'll see.

commit b2642f6d4ae5c31e1193433513fa3b48082cb37b
Author: Kim Chase <me@hi-im.kim>
Date:   Mon Dec 12 15:05:49 2022 -0500

    Run in xvfb for CI/CD.

commit 208fa49759825848036822131164f1fec645b928
Author: Kim Chase <me@hi-im.kim>
Date:   Mon Dec 12 15:00:09 2022 -0500

    Tiny tweaks to fix Wine build issues.

commit 422f589384499698bd2f91c1bc3b6ee3a43b4b9e
Author: Kim Chase <me@hi-im.kim>
Date:   Mon Dec 12 14:56:18 2022 -0500

    Try with SHA short?

commit e16a23eeb2c53a5c5f07a545128af225d8bc2536
Author: Kim Chase <me@hi-im.kim>
Date:   Mon Dec 12 14:54:03 2022 -0500

    Swap to forced 64 bit builds (it's 2022, please...)

commit cb8278f23cfc9d4627519973e49c5c0722e1a859
Author: Kim Chase <me@hi-im.kim>
Date:   Mon Dec 12 14:51:24 2022 -0500

    Runner is not root.  Continue.

commit c3d27a4191b655f83aa2057593679e4e26d4b9da
Author: Kim Chase <me@hi-im.kim>
Date:   Mon Dec 12 14:50:44 2022 -0500

    Fix silly syntax issue.

commit 8b51550034a6b82a13f28fdd7730cdec49a0b32d
Author: Kim Chase <me@hi-im.kim>
Date:   Mon Dec 12 14:49:38 2022 -0500

    Fix missing Windows Python and continue on.

commit 70a20d03fadb73d1813486ad8947347aeb4d7ae9
Author: Kim Chase <me@hi-im.kim>
Date:   Mon Dec 12 14:44:26 2022 -0500

    Add wine to apt dependencies.

commit df00da451a0d7ab7c4e4d910f06fffbcb4de3e74
Author: Kim Chase <me@hi-im.kim>
Date:   Mon Dec 12 14:41:52 2022 -0500

    Forgot to include the ENV step.

commit a6e22d84edcd1c0519bf28e4001a7240e3061212
Author: Kim Chase <me@hi-im.kim>
Date:   Mon Dec 12 14:40:03 2022 -0500

    Testing WINE builds on GH Actions.

commit 2c32e4acf78db1f5a4ab55a713f42ed05538d03e
Author: Kim Chase <me@hi-im.kim>
Date:   Mon Dec 12 14:39:42 2022 -0500

    Try running windows build script?  i suppose?

commit 9cb7bbd3fc6a5670713127dcb9928521e8545a7e
Author: Kim Chase <me@hi-im.kim>
Date:   Mon Dec 12 14:30:10 2022 -0500

    Resolve syntax error #2.  oops.

commit db02840ae21f003d3857d79ef724c98592ca8299
Author: Kim Chase <me@hi-im.kim>
Date:   Mon Dec 12 14:29:39 2022 -0500

    Resolve syntax error... oops.

commit 8f261a7cecbd35c82d9c306ab75b7eca2cea441f
Author: Kim Chase <me@hi-im.kim>
Date:   Mon Dec 12 14:29:08 2022 -0500

    Attempting to cache apt packages for faster builds.

commit f3857d9e08e8fa18615b032c031c63c950d485ca
Author: Kim Chase <me@hi-im.kim>
Date:   Mon Dec 12 14:25:12 2022 -0500

    Attempting to print commit hash inside build.

commit f06d5adcf7cb9060986e0eb58fbd91f14e5aa538
Author: Kim Chase <me@hi-im.kim>
Date:   Mon Dec 12 14:22:09 2022 -0500

    hash based git version test 1.

commit bb19490c85c40c39f757f9f51e6c60a9188a49aa
Author: Kim Chase <me@hi-im.kim>
Date:   Mon Dec 12 14:18:29 2022 -0500

    First test of a linux build in Github CI.

commit 3808c3989ebbfe77b36f1f7b4dd8c92a444c2397
Author: Kim Chase <me@hi-im.kim>
Date:   Mon Dec 12 14:07:20 2022 -0500

    Indentation on workflow confirm.

commit 194d01a1fcd7770f57c7d8fd7a59cd1832b3197f
Author: Kim Chase <me@hi-im.kim>
Date:   Mon Dec 12 14:06:38 2022 -0500

    Minor cleanup to make this workflow named properly.

commit c27485cf30d4f36e5ccd0600834072fb579beb67
Author: Kim Chase <me@hi-im.kim>
Date:   Mon Dec 12 14:02:22 2022 -0500

    Update to proper version?  Apparently.

commit 66cd7034c726d257fd1fb57154f1e5e6422519c9
Author: Kim Chase <me@hi-im.kim>
Date:   Mon Dec 12 14:00:11 2022 -0500

    Update actions steps.

commit 7c650fbb8964d4b57e3546c530c57f9d870f085c
Author: Kim Chase <me@hi-im.kim>
Date:   Mon Dec 12 13:57:38 2022 -0500

    Update to python 3.9 for build script.

commit b4111e316cfc851ce1c60b42c8d6ead72de872a9
Author: Kim Chase <me@hi-im.kim>
Date:   Mon Dec 12 13:56:12 2022 -0500

    Try removing buggy build options.

* Trim together Windows build errata.

* Revert Windows build file to what it was at the start of this adventure to not break anyone else's work.

* Explicitly try to remove the files per the priorly mentioned W7 issues.

* Add semicolons to separate in-line powershell.

* Update path of Qt5Bluetooth.dll to be removed

Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>

Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
Co-authored-by: TheJackiMonster <thejackimonster@gmail.com>
2022-12-16 01:11:26 +01:00
TheJackiMonster 0a67fd793b
Fix issue in ui file from mainWindow
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
2022-12-14 18:26:41 +01:00
TheJackiMonster 542459da69
Merge branch 'develop' of github.com:olivierkes/manuskript into develop 2022-12-14 18:16:31 +01:00
TheJackiMonster 0fc0291809
Updated generated python scripts from ui files
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
2022-12-14 18:16:11 +01:00
Pedro Albuquerque 4d8adaaffb
Translated using Weblate (Portuguese (Portugal))
Currently translated at 100.0% (762 of 762 strings)

Translation: Manuskript/Translations
Translate-URL: https://hosted.weblate.org/projects/manuskript/translations/pt_PT/
2022-12-12 04:46:12 +01:00
Tobias Frisch 9412b88513
Merge pull request #1091 from MC42/develop
Resolve "Search" and "Cheat sheet" strings not being translated correctly in source string
2022-12-12 00:38:19 +01:00
Tobias Frisch 0203872cd3
Merge pull request #460 from nephlm/session-target
Session target
2022-12-10 20:12:15 +01:00
Kim Chase fd73fcc8e8 Ran lrelease to update all .qm files. 2022-12-10 13:29:51 -05:00
Kim Chase e22f304e6b Attempt #2 at small string fixes. 2022-12-10 12:15:05 -05:00
TheJackiMonster 00aca6a0e1
Fix type conversions, replace potentially deprecated function usage and center dialog
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
2022-12-10 18:05:41 +01:00
Kim C 34c1590401
Translated using Weblate (English (United Kingdom))
Currently translated at 95.2% (728 of 764 strings)

Translation: Manuskript/Translations
Translate-URL: https://hosted.weblate.org/projects/manuskript/translations/en_GB/
2022-11-26 02:48:53 +01:00
nephlm 0a81ff4960
Merge branch 'develop' into session-target 2022-11-21 01:13:28 -05:00
Hosted Weblate f218e26a4a
Merge branch 'origin/develop' into Weblate. 2022-11-20 19:47:37 +01:00
Marek Ľach 7f75b13131
Translated using Weblate (Slovak)
Currently translated at 0.7% (6 of 763 strings)

Translation: Manuskript/Translations
Translate-URL: https://hosted.weblate.org/projects/manuskript/translations/sk/
2022-11-04 10:02:23 +01:00
Marek Ľach a58e9503c1
Added translation using Weblate (Slovak) 2022-11-03 09:05:27 +01:00
Павел Протасов 5d21141034
Translated using Weblate (Russian)
Currently translated at 100.0% (763 of 763 strings)

Translation: Manuskript/Translations
Translate-URL: https://hosted.weblate.org/projects/manuskript/translations/ru/
2022-10-23 11:01:36 +02:00
Tobias Frisch 0de1c1c69d
Merge pull request #1056 from marosoft/macos-installer
Create a macOS installer (fixes #567)
2022-10-20 22:44:04 +02:00
Milo Ivir 0cbc2cf5cd
Translated using Weblate (Croatian)
Currently translated at 100.0% (881 of 881 strings)

Translation: Manuskript/Translations
Translate-URL: https://hosted.weblate.org/projects/manuskript/translations/hr/
2022-10-03 05:24:17 +02:00
Asduido Adio 8180414641
Translated using Weblate (Korean)
Currently translated at 69.5% (531 of 763 strings)

Translation: Manuskript/Translations
Translate-URL: https://hosted.weblate.org/projects/manuskript/translations/ko/
2022-10-03 05:24:16 +02:00
Marek Dabrowski 65efd968a5 Create a macOS installer (fixes #567) 2022-10-02 21:01:20 +01:00
Elizabeth Wega 701ce676ba
Translated using Weblate (Croatian)
Currently translated at 100.0% (881 of 881 strings)

Translation: Manuskript/Translations
Translate-URL: https://hosted.weblate.org/projects/manuskript/translations/hr/
2022-10-01 04:27:21 +02:00
Eduardo Malaspina db1f898a25
Translated using Weblate (Spanish)
Currently translated at 99.6% (760 of 763 strings)

Translation: Manuskript/Translations
Translate-URL: https://hosted.weblate.org/projects/manuskript/translations/es/
2022-10-01 04:27:21 +02:00
Milo Ivir 032c3444bc
Translated using Weblate (Croatian)
Currently translated at 100.0% (881 of 881 strings)

Translation: Manuskript/Translations
Translate-URL: https://hosted.weblate.org/projects/manuskript/translations/hr/
2022-09-29 12:04:08 +02:00
Milo Ivir 9f5515764d
Translated using Weblate (Croatian)
Currently translated at 100.0% (881 of 881 strings)

Translation: Manuskript/Translations
Translate-URL: https://hosted.weblate.org/projects/manuskript/translations/hr/
2022-09-28 16:14:05 +02:00
TheJackiMonster 9de9f78129
Revert adjustments with osx ci
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
2022-09-16 17:20:52 +02:00
TheJackiMonster 094095e2cd
Restore brew update to prepare script
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
2022-09-16 17:11:25 +02:00
TheJackiMonster c2b8e7827a
Updated xcode image version to 14
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
2022-09-16 17:05:40 +02:00
TheJackiMonster 6fb040d12c
Slightly improve creation scripts for packages
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
2022-09-16 15:42:33 +02:00
Paul Kater f3e7708a7d
Translated using Weblate (Dutch)
Currently translated at 100.0% (763 of 763 strings)

Translation: Manuskript/Translations
Translate-URL: https://hosted.weblate.org/projects/manuskript/translations/nl/
2022-08-31 17:19:38 +02:00
TheJackiMonster cf77cc7604
Generated .qm files for .ts files
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
2022-08-30 15:59:44 +02:00
Hosted Weblate 38e4335a5d
Merge branch 'origin/develop' into Weblate. 2022-08-30 15:54:59 +02:00
vegan-code 1fc570e8a0
Translated using Weblate (German)
Currently translated at 99.7% (761 of 763 strings)

Translation: Manuskript/Translations
Translate-URL: https://hosted.weblate.org/projects/manuskript/translations/de/
2022-08-30 15:54:59 +02:00
Paul Kater 74036b668c
Translated using Weblate (Dutch)
Currently translated at 100.0% (763 of 763 strings)

Translation: Manuskript/Translations
Translate-URL: https://hosted.weblate.org/projects/manuskript/translations/nl/
2022-08-28 21:06:04 +02:00
tcsch 0c12838610 Fix isTarget not being respected when selecting outline items 2022-08-12 18:34:48 +02:00
tcsch 22609fa1fd Add drag and drop functionality for outline items to editors 2022-08-12 18:34:31 +02:00
Tymofii Lytvynenko 1274baa9aa
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (763 of 763 strings)

Translation: Manuskript/Translations
Translate-URL: https://hosted.weblate.org/projects/manuskript/translations/uk/
2022-08-11 15:17:19 +02:00
KiR 0a5201ab4f
Translated using Weblate (French)
Currently translated at 100.0% (763 of 763 strings)

Translation: Manuskript/Translations
Translate-URL: https://hosted.weblate.org/projects/manuskript/translations/fr/
2022-08-11 15:17:18 +02:00
TheJackiMonster 48af930b11
Added checking for rootItem in models
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
2022-08-10 12:17:14 +02:00
TheJackiMonster c656911996
Removed snow flake method
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
2022-08-10 11:43:32 +02:00
Pedro Albuquerque bdc07dbfbd
Translated using Weblate (Portuguese (Portugal))
Currently translated at 100.0% (764 of 764 strings)

Translation: Manuskript/Translations
Translate-URL: https://hosted.weblate.org/projects/manuskript/translations/pt_PT/
2022-08-10 06:51:21 +02:00
TheJackiMonster 029dfe2056
Potential workaround for manuskriptw.exe
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
2022-08-10 00:29:49 +02:00
TheJackiMonster b802ae9784
Updated appdata information and screenshots
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
2022-08-09 18:07:20 +02:00
TheJackiMonster 671a5f9d19
Addressed issue #1047
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
2022-08-09 14:45:26 +02:00
TheJackiMonster 6916f27d60
Fixed issue #1042
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
2022-08-09 14:37:18 +02:00
TheJackiMonster 2877670a53
Updated xcode image for travis CI
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
2022-08-09 14:23:41 +02:00
TheJackiMonster bcc92c5e72
Generated .qm files for updates updated .ts files
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
2022-08-09 14:14:56 +02:00
TheJackiMonster 9e10e9323f
Merge branch 'develop' into translations
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
2022-08-09 14:07:21 +02:00
TheJackiMonster 0e342337dd
Updated translation files and added more labels to translation
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
2022-08-09 13:44:53 +02:00
Eugene Uvin 1a7b156fd4
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (881 of 881 strings)

Translation: Manuskript/Translations
Translate-URL: https://hosted.weblate.org/projects/manuskript/translations/uk/
2022-07-25 15:14:13 +02:00
Eugene Uvin 584e4591f7
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (881 of 881 strings)

Translation: Manuskript/Translations
Translate-URL: https://hosted.weblate.org/projects/manuskript/translations/uk/
2022-07-23 14:23:20 +02:00
poi 84a0fd52dd
Translated using Weblate (Chinese (Simplified))
Currently translated at 94.0% (829 of 881 strings)

Translation: Manuskript/Translations
Translate-URL: https://hosted.weblate.org/projects/manuskript/translations/zh_Hans/
2022-07-23 14:23:20 +02:00
Eugene Uvin abf2eafabc
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (881 of 881 strings)

Translation: Manuskript/Translations
Translate-URL: https://hosted.weblate.org/projects/manuskript/translations/uk/
2022-07-21 16:19:27 +02:00
Eugene Uvin f0bd76b7b9
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (881 of 881 strings)

Translation: Manuskript/Translations
Translate-URL: https://hosted.weblate.org/projects/manuskript/translations/uk/
2022-07-20 13:04:29 +02:00
TheJackiMonster ecf4d6b0b4
Changed default behavior to save projects
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
2022-07-18 09:27:24 +02:00
Roger VC 7a9ec9dcdf
Translated using Weblate (Catalan)
Currently translated at 11.0% (95 of 861 strings)

Translation: Manuskript/Translations
Translate-URL: https://hosted.weblate.org/projects/manuskript/translations/ca/
2022-07-07 22:17:09 +02:00
Johan Valentin Keller d8d771949f
Translated using Weblate (Danish)
Currently translated at 6.9% (61 of 881 strings)

Translation: Manuskript/Translations
Translate-URL: https://hosted.weblate.org/projects/manuskript/translations/da/
2022-06-22 20:14:22 +02:00
Artem 928cf8914f
Translated using Weblate (Ukrainian)
Currently translated at 22.0% (194 of 881 strings)

Translation: Manuskript/Translations
Translate-URL: https://hosted.weblate.org/projects/manuskript/translations/uk/
2022-06-22 20:14:22 +02:00
Tymofii Lytvynenko a2dfed7bc1
Translated using Weblate (Ukrainian)
Currently translated at 22.0% (194 of 881 strings)

Translation: Manuskript/Translations
Translate-URL: https://hosted.weblate.org/projects/manuskript/translations/uk/
2022-06-20 16:14:48 +02:00
TheJackiMonster aecdc21c0d
Adjusted links to use https
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
2022-06-18 09:58:10 +02:00
Adrián López Galera 4bbd5dfe68
Translated using Weblate (Spanish)
Currently translated at 100.0% (881 of 881 strings)

Translation: Manuskript/Translations
Translate-URL: https://hosted.weblate.org/projects/manuskript/translations/es/
2022-06-16 01:14:15 +02:00
Artur Sousa b94d40c0dc
Translated using Weblate (Portuguese (Brazil))
Currently translated at 98.5% (868 of 881 strings)

Translation: Manuskript/Translations
Translate-URL: https://hosted.weblate.org/projects/manuskript/translations/pt_BR/
2022-06-10 23:18:57 +02:00
TheJackiMonster 276d9dbabc
========== manuskript-0.14.0 ==========
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
2022-06-08 15:04:17 +02:00
TheJackiMonster 51688c52c1
Generated qm files from ts files
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
2022-06-08 13:38:24 +02:00
Hosted Weblate 00bb86ae16
Merge branch 'origin/develop' into Weblate. 2022-06-08 13:36:19 +02:00
TheJackiMonster 934205c46e
Update ui file of about dialog
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
2022-06-08 13:35:18 +02:00
Hosted Weblate 6e0fa09a29
Merge branch 'origin/develop' into Weblate. 2022-06-08 13:32:35 +02:00
Tobias Frisch d4bedd5003
Merge pull request #1007 from jdanielp/fix-olivierkes-996
Change welcome page spacer size policy to allow welcome to expand to fill most of screen (fixes olivierkes#996)
2022-06-08 13:28:51 +02:00
Tobias Frisch 692995f51c
Merge pull request #831 from zeth/loadsave_test
Write a test for ParseMMDFile function.
2022-06-08 13:24:47 +02:00
Pedro Albuquerque 2580e9224b
Translated using Weblate (Portuguese (Portugal))
Currently translated at 100.0% (882 of 882 strings)

Translation: Manuskript/Translations
Translate-URL: https://hosted.weblate.org/projects/manuskript/translations/pt_PT/
2022-06-06 07:17:51 +02:00
Tobias Frisch e780963891
Merge pull request #1002 from olivierkes/duplicate_ids
Potential fix for #719, #1001: data loss when reordering items in upward direction
2022-05-28 12:03:58 +02:00
Lauri Mukkala 9c5d24de20
Translated using Weblate (Finnish)
Currently translated at 18.2% (161 of 881 strings)

Translation: Manuskript/Translations
Translate-URL: https://hosted.weblate.org/projects/manuskript/translations/fi/
2022-05-25 12:19:09 +02:00
Lauri Mukkala 2528856144
Added translation using Weblate (Finnish) 2022-05-24 11:26:01 +02:00
TheJackiMonster de712dd299
Adding a second executable to the pyinstaller target
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
2022-05-17 12:34:39 +02:00
TheJackiMonster a33249fc9d
Added guard to catch errors with translation
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
2022-05-17 11:43:22 +02:00
TheJackiMonster fa44b505de
Removing old flatpak files and adding generic package resources
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
2022-05-16 16:01:12 +02:00
TtBbSs 96a06f48ee
Translated using Weblate (Danish)
Currently translated at 1.0% (9 of 881 strings)

Translation: Manuskript/Translations
Translate-URL: https://hosted.weblate.org/projects/manuskript/translations/da/
2022-05-06 09:11:19 +02:00
TtBbSs b3c966dec4
Added translation using Weblate (Danish) 2022-05-05 08:51:23 +02:00
TheJackiMonster e45314ba2d
Catch indexing issue in log level conversion
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
2022-05-03 14:10:37 +02:00
Kristoffer Grundström fc6b6d044b
Translated using Weblate (Swedish)
Currently translated at 88.0% (776 of 881 strings)

Translation: Manuskript/Translations
Translate-URL: https://hosted.weblate.org/projects/manuskript/translations/sv/
2022-04-04 05:10:29 +02:00
TheJackiMonster 9a4aa314e8
Generated QML files from TS files
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
2022-04-02 00:32:20 +02:00
Hosted Weblate 09199d9263
Merge branch 'origin/develop' into Weblate. 2022-04-02 00:27:08 +02:00
Elizabeth Wega 76cdab9838
Translated using Weblate (Croatian)
Currently translated at 100.0% (881 of 881 strings)

Translation: Manuskript/Translations
Translate-URL: https://hosted.weblate.org/projects/manuskript/translations/hr/
2022-04-02 00:27:08 +02:00
Elizabeth Wega dc5b3bceca
Translated using Weblate (Croatian)
Currently translated at 36.5% (322 of 881 strings)

Translation: Manuskript/Translations
Translate-URL: https://hosted.weblate.org/projects/manuskript/translations/hr/
2022-03-31 23:08:45 +02:00
Tobias Frisch cb5ee702d3
Merge pull request #1015 from amconners/develop
catch AttributeError in plotTreeView double click event (fixes #1014)
2022-03-31 02:27:11 +02:00
Tobias Frisch daf456e11a
Merge pull request #1004 from jdanielp/fix-olivierkes-950
Fix crash when files are locked for writing (Fixes olivierkes#950)
2022-03-30 22:49:04 +02:00
Tobias Frisch b859631a50
Replaced try & catch with early exit on NoneType
This should fix the issue without exception handling.
2022-03-30 22:44:12 +02:00
Elizabeth Wega 7bfd6de720
Translated using Weblate (Croatian)
Currently translated at 3.7% (33 of 881 strings)

Translation: Manuskript/Translations
Translate-URL: https://hosted.weblate.org/projects/manuskript/translations/hr/
2022-03-29 22:06:43 +02:00
Elizabeth Wega e626ca2980
Added translation using Weblate (Croatian) 2022-03-28 20:45:50 +02:00
poi 9f8c424b9e
Translated using Weblate (Chinese (Simplified))
Currently translated at 94.0% (829 of 881 strings)

Translation: Manuskript/Translations
Translate-URL: https://hosted.weblate.org/projects/manuskript/translations/zh_Hans/
2022-03-10 14:58:49 +01:00
Keito Tobichi bd956aba32
Translated using Weblate (Japanese)
Currently translated at 92.1% (812 of 881 strings)

Translation: Manuskript/Translations
Translate-URL: https://hosted.weblate.org/projects/manuskript/translations/ja/
2022-02-24 11:03:38 +01:00
ruine 783a96f7ae
Translated using Weblate (Japanese)
Currently translated at 92.1% (812 of 881 strings)

Translation: Manuskript/Translations
Translate-URL: https://hosted.weblate.org/projects/manuskript/translations/ja/
2022-02-24 11:03:38 +01:00
Rudi Coeckelberghs 5639eefd24
Translated using Weblate (Dutch)
Currently translated at 88.4% (779 of 881 strings)

Translation: Manuskript/Translations
Translate-URL: https://hosted.weblate.org/projects/manuskript/translations/nl/
2022-02-22 05:54:02 +01:00
Павел Протасов 4ff68f121d
Translated using Weblate (Russian)
Currently translated at 100.0% (881 of 881 strings)

Translation: Manuskript/Translations
Translate-URL: https://hosted.weblate.org/projects/manuskript/translations/ru/
2022-02-20 14:54:05 +01:00
Megan Conners 6fd6a68d9d catch AttributeError in plotTreeView double click event 2022-02-19 11:41:19 -05:00
Павел Протасов d6f0199ed0
Translated using Weblate (Russian)
Currently translated at 100.0% (881 of 881 strings)

Translation: Manuskript/Translations
Translate-URL: https://hosted.weblate.org/projects/manuskript/translations/ru/
2022-02-14 17:55:20 +01:00
Jonathan Pietkiewicz 750b96e18e apply patch per PR feedback to avoid segfault (fixes olivierkes#950) 2022-02-09 22:09:42 -06:00
Павел Протасов 8a14fbc060
Translated using Weblate (Russian)
Currently translated at 100.0% (881 of 881 strings)

Translation: Manuskript/Translations
Translate-URL: https://hosted.weblate.org/projects/manuskript/translations/ru/
2022-02-05 18:01:23 +01:00
Павел Протасов 06ea9eda7d
Translated using Weblate (Russian)
Currently translated at 100.0% (881 of 881 strings)

Translation: Manuskript/Translations
Translate-URL: https://hosted.weblate.org/projects/manuskript/translations/ru/
2022-02-02 18:52:48 +01:00
Jonathan Pietkiewicz 80490b34ce Change welcome page spacer size policy to allow welcome to expand to fill most of screen (fixes olivierkes#996) 2022-01-29 22:48:36 -06:00
Tobias Frisch 9e8e7a234f
Merge pull request #1003 from jdanielp/develop
Fix crash when regex is not valid (Fixes olivierkes#989)
2022-01-30 03:23:42 +01:00
Jonathan Pietkiewicz 5a6d68e139 Fix crash on open with locked files (fixex olivierkes#950) 2022-01-29 14:23:14 -06:00
Jonathan Pietkiewicz f63acafe4e Add generic list dialog, use it to show files that cannot be saved (fixes olivierkes#950) 2022-01-29 14:02:16 -06:00
Павел Протасов 1d62915520
Translated using Weblate (Russian)
Currently translated at 100.0% (881 of 881 strings)

Translation: Manuskript/Translations
Translate-URL: https://hosted.weblate.org/projects/manuskript/translations/ru/
2022-01-27 18:53:58 +01:00
Jonathan Pietkiewicz 50e305aa2f Update search feedback when menu is triggered 2022-01-25 22:08:01 -06:00
Jonathan Pietkiewicz 23ded19d58 Change text color to red when the regex is not correct
updated everytime the text changes in the lineedit
2022-01-25 21:57:54 -06:00
Jonathan Pietkiewicz e0a3d01091 move import outside try-catch 2022-01-25 21:16:32 -06:00
Tobias Frisch 1db1ef6414
Merge pull request #1000 from Mte90/hard_line
hard_line_breaks support
2022-01-26 00:16:00 +01:00
TheJackiMonster 36d48c8669
Stop the OSX CI from auto updating homebrew the whole time
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
2022-01-25 23:55:31 +01:00
Jonathan Pietkiewicz 37667ed70f Fix crash when files are locked for writing (Fixes olivierkes#950)
Wrap file opens in try-catch
Applied fix for project file as well as other files that are opened during save
2022-01-25 14:47:41 -06:00
Jonathan Pietkiewicz 795e1fa9c0 Fix crash when regex is not valid (Fixes olivierkes#989)
Wrap regex preparation in try-catch
Log when there is a problem preparing the regex
2022-01-25 14:05:50 -06:00
poi 14980cb821
Translated using Weblate (Chinese (Simplified))
Currently translated at 93.8% (827 of 881 strings)

Translation: Manuskript/Translations
Translate-URL: https://hosted.weblate.org/projects/manuskript/translations/zh_Hans/
2022-01-24 06:55:50 +01:00
Olivier Keshavjee 0330336311 Does not simply warn of duplicate IDs, but fixes them. 2022-01-22 09:53:36 +01:00
Olivier Keshavjee 47b55ba164 Potential fix for #719, #1001 2022-01-21 16:49:04 +01:00
Daniele Scasciafratte b66208791a feat(pandoc): hard_line_breaks support 2022-01-17 15:33:24 +01:00
Tobias Frisch 0182a43b8e
Merge pull request #999 from amconners/develop
Fix for #992 and #998
2022-01-16 23:13:06 +01:00
Megan Conners 01036e4540 fixes #992 and #998 with explicit int casts 2022-01-16 12:31:16 -05:00
Xavier Tardieu f67680ae1e
Translated using Weblate (French)
Currently translated at 99.8% (880 of 881 strings)

Translation: Manuskript/Translations
Translate-URL: https://hosted.weblate.org/projects/manuskript/translations/fr/
2022-01-15 22:52:54 +01:00
Daniele Scasciafratte 75f1d9e9a6
Translated using Weblate (Italian)
Currently translated at 100.0% (881 of 881 strings)

Translation: Manuskript/Translations
Translate-URL: https://hosted.weblate.org/projects/manuskript/translations/it/
2022-01-14 22:42:39 +01:00
ruine be8f20838e
Translated using Weblate (Japanese)
Currently translated at 91.7% (808 of 881 strings)

Translation: Manuskript/Translations
Translate-URL: https://hosted.weblate.org/projects/manuskript/translations/ja/
2022-01-09 13:55:43 +01:00
Павел Протасов 4b06b40dac
Translated using Weblate (Russian)
Currently translated at 100.0% (881 of 881 strings)

Translation: Manuskript/Translations
Translate-URL: https://hosted.weblate.org/projects/manuskript/translations/ru/
2022-01-08 13:23:27 +01:00
Павел Протасов c9b5842958
Translated using Weblate (Russian)
Currently translated at 100.0% (881 of 881 strings)

Translation: Manuskript/Translations
Translate-URL: https://hosted.weblate.org/projects/manuskript/translations/ru/
2022-01-08 13:17:12 +01:00
Павел Протасов 05e132d87f
Translated using Weblate (Russian)
Currently translated at 100.0% (881 of 881 strings)

Translation: Manuskript/Translations
Translate-URL: https://hosted.weblate.org/projects/manuskript/translations/ru/
2022-01-08 12:47:46 +01:00
Павел Протасов 13709bd375
Translated using Weblate (Russian)
Currently translated at 100.0% (881 of 881 strings)

Translation: Manuskript/Translations
Translate-URL: https://hosted.weblate.org/projects/manuskript/translations/ru/
2022-01-08 11:35:02 +01:00
Павел Протасов a86558644c
Translated using Weblate (Russian)
Currently translated at 100.0% (881 of 881 strings)

Translation: Manuskript/Translations
Translate-URL: https://hosted.weblate.org/projects/manuskript/translations/ru/
2022-01-08 11:27:29 +01:00
badlop b0de29ddf4
Translated using Weblate (Spanish)
Currently translated at 100.0% (881 of 881 strings)

Translation: Manuskript/Translations
Translate-URL: https://hosted.weblate.org/projects/manuskript/translations/es/
2021-12-29 13:52:04 +01:00
Adrián López Galera abf6a09c88
Translated using Weblate (Spanish)
Currently translated at 99.4% (876 of 881 strings)

Translation: Manuskript/Translations
Translate-URL: https://hosted.weblate.org/projects/manuskript/translations/es/
2021-12-28 12:54:05 +01:00
TheJackiMonster 2b992e70c6
Upgrading pip in linux CI script
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
2021-12-15 14:59:26 +01:00
TheJackiMonster c64e0ea489
Adjusted prepare_linux script for CI
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
2021-12-15 14:50:03 +01:00
Tobias Frisch 7de666c595
Update README.md 2021-12-13 17:17:43 +01:00
TheJackiMonster 9ccf665e12
========== manuskript-0.13.1 ========== 2021-12-13 14:30:49 +01:00
TheJackiMonster dc86e3b14e
Adjusted fixes for python 3.10 to not crash immediately
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
2021-12-13 14:27:59 +01:00
TheJackiMonster c9c18fae57
========== manuskript-0.13.0 ========== 2021-12-13 13:57:26 +01:00
TheJackiMonster 2b802e9dc7
Updated qml files (German)
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
2021-12-13 13:41:15 +01:00
obw 68bb421ed1
Translated using Weblate (German)
Currently translated at 100.0% (881 of 881 strings)

Translation: Manuskript/Translations
Translate-URL: https://hosted.weblate.org/projects/manuskript/translations/de/
2021-12-13 13:37:52 +01:00
Kliment 618a43a246
Translated using Weblate (German)
Currently translated at 100.0% (881 of 881 strings)

Translation: Manuskript/Translations
Translate-URL: https://hosted.weblate.org/projects/manuskript/translations/de/
2021-12-13 13:37:51 +01:00
Tobias Frisch 24fed8c930
Translated using Weblate (German)
Currently translated at 100.0% (881 of 881 strings)

Translation: Manuskript/Translations
Translate-URL: https://hosted.weblate.org/projects/manuskript/translations/de/
2021-12-13 13:37:51 +01:00
TheJackiMonster fb791cb7d3
Generated qml files for translation updates
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
2021-12-13 13:23:46 +01:00
Hosted Weblate 80aaf82310
Merge branch 'origin/develop' into Weblate. 2021-12-13 13:16:49 +01:00
Rahul Shirke 4f07de8f48
Translated using Weblate (Marathi)
Currently translated at 27.0% (238 of 881 strings)

Translation: Manuskript/Translations
Translate-URL: https://hosted.weblate.org/projects/manuskript/translations/mr/
2021-12-13 09:53:37 +01:00
TheJackiMonster 6b04118912
Adjusted flatpak to not break during build
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
2021-12-11 06:40:51 +01:00
TheJackiMonster d56c2225a3
Fixed issue #865 by adjusting the available IDs in an items constructor
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
2021-12-11 01:34:39 +01:00
Omer I.S bdf4ce3bac
Translated using Weblate (Hebrew)
Currently translated at 8.1% (72 of 880 strings)

Translation: Manuskript/Translations
Translate-URL: https://hosted.weblate.org/projects/manuskript/translations/he/
2021-12-02 00:51:55 +01:00
TheJackiMonster 77eee852de
Fixed issue #808 by resetting POV once the character gets deleted
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
2021-11-30 23:40:31 +01:00
TheJackiMonster a63da8d0a8
Fixed issue #937
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
2021-11-30 23:08:59 +01:00
TheJackiMonster 64b27bc7a1
Corrected desktop file and icon for of snap package
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
2021-11-29 19:16:04 +01:00
TheJackiMonster 7dcbf40602
Added pyspellchecker to snap package
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
2021-11-29 19:12:49 +01:00
Rahul Shirke aeefa5a4e6
Translated using Weblate (Marathi)
Currently translated at 10.6% (94 of 881 strings)

Translation: Manuskript/Translations
Translate-URL: https://hosted.weblate.org/projects/manuskript/translations/mr/
2021-11-28 08:51:33 +01:00
TheJackiMonster 08e8714f1d
Delegated export stderr output without exit code zero to warnings and fixed one crash during loading
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
2021-11-27 23:03:31 +01:00
TheJackiMonster 5355c26333
Added missing dependencies to snap
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
2021-11-27 21:20:25 +01:00
TheJackiMonster 25adfd2437
Adjusted inconsistent pandoc behavior depending on installed version
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
2021-11-27 16:47:38 +01:00
Rahul Shirke c789c90217
Added translation using Weblate (Marathi) 2021-11-27 07:34:55 +01:00
TheJackiMonster 6a69295526
Added missing adopt-info to snap
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
2021-11-27 01:52:59 +01:00
TheJackiMonster c833a7d8d6
Removed 'version' being 'overwritten' from snap
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
2021-11-27 01:45:56 +01:00
TheJackiMonster c52dab475c
Updated indonesian qt language files and ui files
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
2021-11-27 01:39:53 +01:00
Hosted Weblate 88da2eaf64
Merge branch 'origin/develop' into Weblate. 2021-11-27 01:30:56 +01:00
TheJackiMonster 7fb86e492f
Fixed snap package to work again
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
2021-11-27 00:32:16 +01:00
TheJackiMonster f147bde731
Fixed lxml issue with windows build script
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
2021-11-25 15:06:08 +01:00
TheJackiMonster 3448e9e2c5
Adjusted the windows build script but it is still not working
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
2021-11-21 21:32:12 +01:00
C e9c37e912f
Translated using Weblate (Indonesian)
Currently translated at 24.0% (212 of 881 strings)

Translation: Manuskript/Translations
Translate-URL: https://hosted.weblate.org/projects/manuskript/translations/id/
2021-11-19 15:50:19 +01:00
TheJackiMonster 0c62bdd67f
Updated to use newer pandoc in flatpak and windows build
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
2021-11-18 15:23:07 +01:00
C 5c07cd552b
Translated using Weblate (Indonesian)
Currently translated at 7.8% (69 of 881 strings)

Translation: Manuskript/Translations
Translate-URL: https://hosted.weblate.org/projects/manuskript/translations/id/
2021-11-18 13:37:46 +01:00
TheJackiMonster a5f422a5e8
Apply some fixes to flatpak files
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
2021-11-07 18:47:03 +01:00
TheJackiMonster e58a243ad6
Adjusted desktop file and application data to match flatpak requirements
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
2021-11-07 15:34:03 +01:00
TheJackiMonster 2ebc5cd7f4
Added application data and desktop file for flatpak
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
2021-11-07 14:50:47 +01:00
TheJackiMonster d5707571bb
Updated flatpak manifest and its modules
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
2021-11-07 02:55:28 +01:00
TheJackiMonster 401041f138
Merge remote-tracking branch 'origin/develop' into develop
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
2021-11-07 00:41:34 +01:00
ditokp c22597b02c
Translated using Weblate (Indonesian)
Currently translated at 4.1% (37 of 881 strings)

Translation: Manuskript/Translations
Translate-URL: https://hosted.weblate.org/projects/manuskript/translations/id/
2021-11-07 00:35:35 +01:00
C 052d6e7b91
Translated using Weblate (Indonesian)
Currently translated at 4.1% (37 of 881 strings)

Translation: Manuskript/Translations
Translate-URL: https://hosted.weblate.org/projects/manuskript/translations/id/
2021-11-07 00:35:35 +01:00
TheJackiMonster 7e5edf98ed
Fixed translation files which got messed up by last update
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
2021-11-07 00:32:07 +01:00
Tobias Frisch 23ead413c1
Merge pull request #895 from zeth/bug-891
Kill old insecure pickle setting files (untested)
2021-11-06 22:56:39 +01:00
TheJackiMonster eb6f43f6ad
Adjusted osx prepare script to expect python3 being installed now
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
2021-11-05 00:26:44 +01:00
TheJackiMonster cc4ba1aadd
Try travis CI with newer version of osx
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
2021-11-05 00:09:35 +01:00
TheJackiMonster 485e4d8040
Corrected unit in sleep command
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
2021-11-04 13:45:41 +01:00
TheJackiMonster d7f1cc47cc
Alternate solution to cancel travis timeout
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
2021-11-04 13:40:51 +01:00
TheJackiMonster dce208e36d
Moved travis_wait to work hopefully
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
2021-11-04 13:05:26 +01:00
TheJackiMonster cd3d436384
Adjusted the prepare script for osx to not timeout in the travis CI
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
2021-11-04 12:55:18 +01:00
TheJackiMonster 15edb6efb7
Fixed issue #957 enforcing types supported by spec for QColor
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
2021-11-04 00:50:44 +01:00
Tobias Frisch af3818e28d
Translated using Weblate (German)
Currently translated at 100.0% (881 of 881 strings)

Translation: Manuskript/Translations
Translate-URL: https://hosted.weblate.org/projects/manuskript/translations/de/
2021-10-24 18:34:17 +02:00
TheJackiMonster f6741710ea
Added Pandoc to the flatpak, fixed pyenchant and added texlive as extension for PDF export
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
2021-10-24 14:21:24 +02:00
TheJackiMonster 0d687b66f7
Added first flatpak configuration and script to build it (WIP)
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
2021-10-24 02:50:42 +02:00
Pedro Albuquerque 7f9baa926b
Translated using Weblate (Portuguese (Portugal))
Currently translated at 99.8% (881 of 882 strings)

Translation: Manuskript/Translations
Translate-URL: https://hosted.weblate.org/projects/manuskript/translations/pt_PT/
2021-10-23 18:08:01 +02:00
TheJackiMonster 1af7d89d2a
Fixed issue #931, updated ui files and updated translation files
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
2021-10-23 16:15:58 +02:00
TheJackiMonster 17d74eaeaa
Updated and generated QMLwith new translations
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
2021-10-15 00:43:53 +02:00
Hosted Weblate 9a88898858
Merge branch 'origin/develop' into Weblate. 2021-10-15 00:36:45 +02:00
phlostically 4246db391b
Translated using Weblate (Esperanto)
Currently translated at 100.0% (861 of 861 strings)

Translation: Manuskript/Translations
Translate-URL: https://hosted.weblate.org/projects/manuskript/translations/eo/
2021-10-01 02:40:01 +02:00
phlostically 5fccf8e7a5
Translated using Weblate (Esperanto)
Currently translated at 81.1% (699 of 861 strings)

Translation: Manuskript/Translations
Translate-URL: https://hosted.weblate.org/projects/manuskript/translations/eo/
2021-09-26 20:27:19 +02:00
phlostically 72dfba74e8
Translated using Weblate (Esperanto)
Currently translated at 54.9% (473 of 861 strings)

Translation: Manuskript/Translations
Translate-URL: https://hosted.weblate.org/projects/manuskript/translations/eo/
2021-09-24 21:37:24 +02:00
Tymofii Lytvynenko f1e84ef924
Translated using Weblate (Ukrainian)
Currently translated at 21.3% (188 of 880 strings)

Translation: Manuskript/Translations
Translate-URL: https://hosted.weblate.org/projects/manuskript/translations/uk/
2021-08-18 02:38:45 +02:00
Omer I.S 6b4c0fc0b4
Translated using Weblate (Hebrew)
Currently translated at 6.2% (55 of 880 strings)

Translation: Manuskript/Translations
Translate-URL: https://hosted.weblate.org/projects/manuskript/translations/he/
2021-08-15 07:23:48 +02:00
Omer I.S 6a238f6064
Added translation using Weblate (Hebrew) 2021-08-15 00:02:06 +02:00
guruleninnbc01b4b6f821486e 41a40468a4
Added translation using Weblate (Tamil) 2021-08-08 07:05:49 +02:00
TheJackiMonster 01706dc887
Fixed problem regarding the package for Windows 8 in the build process
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
2021-07-30 19:04:19 +02:00
dickus 6c652a73e0
Translated using Weblate (Russian)
Currently translated at 96.9% (853 of 880 strings)

Translation: Manuskript/Translations
Translate-URL: https://hosted.weblate.org/projects/manuskript/translations/ru/
2021-07-30 11:32:37 +02:00
Tobias Frisch 731e017e9e
Merge pull request #901 from worstje/dot-twelve-assorted
Fixes for a number of reported bugs
2021-07-10 19:57:48 +02:00
Jan Wester d6e472b939 Implemented fix for failed cursor iteration (#729)
A long time ago, I identified this failure but wasn't sure why it was
failing. I still don't know why, but the emergency fix at least prevents
other people from running into it. As a bonus, since we have a proper
logging facility now, we can actually log it as I desired to do back
then!

This commit tentatively fixes issue 729.
2021-07-10 19:01:58 +02:00
Jan Wester 32caf6aa04 Partial fix for erroneous nbsp->space conversion
QDocument::toPlainText() has the stupid decision to convert nbsp to
spaces in it, which our users obviously hate. Unfortunately, this is
out of our control to fix completely. It is a very deep rabbit hole. :(

Typing non-breaking spaces in the editor now works. Reopening these
files at a later point has these characters remain intact.

What does NOT work is copy-pasting non-breaking spaces. These will end
up looking like normal spaces when you paste them somewhere else, be it
in Manuskript or some other document. In other words: it is impossible
for users to verify whether something is a non-breaking space or an
ordinary one.

I realize that it makes this partial fix meaningless for many. Sorry. :/

Partially fixes issue 738.
2021-07-10 19:01:58 +02:00
Jan Wester 87f1fc0187 Bugfix for filtering on POV characters
If a project only had one character, and it was marked as a POV
character, then that could lead to the accessing of a non-existent
second character. (Yes. That code was very broken.)

Fixes issues 843, 875, 896.
2021-07-10 19:01:58 +02:00
Jan Wester 0ea4c0d174 Share OpenGL contexts to make Qt WebEngine happy
This takes care of the following warning in our log file:

Qt WebEngine seems to be initialized from a plugin. Please set
Qt::AA_ShareOpenGLContexts using QCoreApplication::setAttribute before
constructing QGuiApplication
2021-07-10 19:01:58 +02:00
Jan Wester 0a0ffb6d54 Fix broken filename argument handling (issue #898)
In addition to fixing the bug, related code that allowed this one to
slip under the radar has been cleaned up. Validation of the FILENAME
argument is now performed during parsing.
2021-07-10 19:01:58 +02:00
Kristoffer Grundström 8e0453962c
Translated using Weblate (Swedish)
Currently translated at 84.8% (747 of 880 strings)

Translation: Manuskript/Translations
Translate-URL: https://hosted.weblate.org/projects/manuskript/translations/sv/
2021-07-10 03:36:05 +02:00
StarFang208 7d5c72b6b3
Translated using Weblate (Italian)
Currently translated at 100.0% (880 of 880 strings)

Translation: Manuskript/Translations
Translate-URL: https://hosted.weblate.org/projects/manuskript/translations/it/
2021-06-24 21:34:34 +02:00
Tobias Frisch 4bfd663886
Merge pull request #894 from zeth/race-condition
Deal with race condition.
2021-06-21 18:38:35 +02:00
Tobias Frisch 9a5117be38
Fixed identation to match other code 2021-06-21 14:34:41 +02:00
Tobias Frisch a29bf79727
Merge pull request #893 from zeth/javascript_mood
Someone was in a JavaScript mood?
2021-06-21 14:30:26 +02:00
Zeth Green 6f841f9655 Everyone with really old projects will lose their settings but will get a new settings file. 2021-06-21 03:48:28 +01:00
Zeth Green 8acb9b3839 Deal with race condition. 2021-06-21 02:56:16 +01:00
Zeth Green bc10cd3671 Someone was in a JavaScript mood? 2021-06-21 02:43:09 +01:00
Biliplusre fdd160dd05
Translated using Weblate (Chinese (Simplified))
Currently translated at 84.2% (741 of 880 strings)

Translation: Manuskript/Translations
Translate-URL: https://hosted.weblate.org/projects/manuskript/translations/zh_Hans/
2021-06-03 11:33:53 +02:00
TheJackiMonster a58de3b1f6
Optimized counting words and characters via regex
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
2021-06-01 15:17:54 +02:00
Eugenia Russell 789844107b
Translated using Weblate (Greek)
Currently translated at 9.6% (83 of 861 strings)

Translation: Manuskript/Translations
Translate-URL: https://hosted.weblate.org/projects/manuskript/translations/el/
2021-05-28 18:33:31 +02:00
Eugenia Russell 1a42dd5f26
Translated using Weblate (Greek)
Currently translated at 8.4% (73 of 861 strings)

Translation: Manuskript/Translations
Translate-URL: https://hosted.weblate.org/projects/manuskript/translations/el/
2021-05-26 11:33:08 +02:00
StarFang208 1ccf955721
Translated using Weblate (Italian)
Currently translated at 97.1% (855 of 880 strings)

Translation: Manuskript/Translations
Translate-URL: https://hosted.weblate.org/projects/manuskript/translations/it/
2021-05-26 11:33:08 +02:00
Eugenia Russell c5f40c30dd
Translated using Weblate (Greek)
Currently translated at 7.6% (66 of 861 strings)

Translation: Manuskript/Translations
Translate-URL: https://hosted.weblate.org/projects/manuskript/translations/el/
2021-05-17 00:31:52 +02:00
Hosted Weblate 06e0235ca3
Merge branch 'origin/develop' into Weblate. 2021-05-10 10:42:57 +02:00
Eugenia Russell 247a228e9d
Translated using Weblate (Greek)
Currently translated at 7.2% (62 of 861 strings)

Translation: Manuskript/Translations
Translate-URL: https://hosted.weblate.org/projects/manuskript/translations/el/
2021-05-10 00:31:51 +02:00
Gas 33078632ab
Translated using Weblate (French)
Currently translated at 99.7% (878 of 880 strings)

Translation: Manuskript/Translations
Translate-URL: https://hosted.weblate.org/projects/manuskript/translations/fr/
2021-05-07 15:31:51 +02:00
Eugenia Russell b6f98a3b72
Translated using Weblate (Greek)
Currently translated at 5.3% (46 of 861 strings)

Translation: Manuskript/Translations
Translate-URL: https://hosted.weblate.org/projects/manuskript/translations/el/
2021-05-03 16:31:50 +02:00
TheJackiMonster 7e05b72d83
Hotfix of unhandled exception by language_tool_python (#870)
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
2021-04-30 20:46:30 +02:00
TheJackiMonster 9bdd80f244
Reverted mistakes in prepare_linux-CI script
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
2021-04-30 17:05:09 +02:00
Zeth Green 344c21be5f Add a test to prove a scene's content comes through. 2021-02-02 23:29:17 +00:00
Zeth Green 0bbf70b455 Make the naming match here too. 2021-02-02 21:59:02 +00:00
Zeth Green 2410598de0 More consistant naming. 2021-02-02 21:54:39 +00:00
Zeth Green 64c67eaf48 Write a test for ParseMMDFile function. 2021-02-02 21:47:36 +00:00
nephlm 592a4fddb7 #459 - remove debug/dead code 2019-01-22 00:41:32 -05:00
nephlm 4f2d57e86f Issue 459 - session progress/goal window 2019-01-22 00:37:22 -05:00
187 changed files with 57206 additions and 43812 deletions

59
.github/workflows/build_windows.yml vendored Normal file
View file

@ -0,0 +1,59 @@
# This workflow is used to run the pyinstaller spec
# and produce a Windows build directory as artifact.
# In the future it'll also need to confirm that all
# of the translations and UI files are built from
# scratch as a condition of the tests with pytest.
name: Build for Windows
# Controls when the action will run.
on:
# Triggers the workflow on push or pull request events but only for the develop branch
push:
branches: [ develop ]
pull_request:
branches: [ develop ]
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
jobs:
windows_build:
name: Building for Windows ${{ matrix.python_version }} on ${{ matrix.os }}
# The type of runner that the job will run on
runs-on: ${{ matrix.os }}
strategy:
matrix:
python-version: [3.9]
os: [windows-latest]
steps:
# We use the version from this commit and not just the current branch. This is for R&D builds too.
- uses: actions/checkout@v3
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
# These should be moved to a pyproject.toml file down the line.
- name: Install Python build dependencies
run: |
python -m pip install --upgrade pip
pip install pyqt5==5.15.7 lxml pytest pytest-faulthandler markdown language_tool_python symspellpy pyspellchecker pyenchant
pip install pyinstaller
- name: pyinstaller build
run: |
pyinstaller ./manuskript.spec
env:
manuskript_version: ${{ steps.vars.outputs.sha_short }}
- name: Remove W7 File Issues # https://github.com/olivierkes/manuskript/blob/develop/package/build_for_windows.sh#L85
run: |
powershell Remove-Item ./dist/manuskript/PyQt5/Qt5/bin/Qt5Bluetooth.dll;
powershell Remove-Item ./dist/manuskript/ucrtbase.dll;
powershell Remove-Item ./dist/manuskript/api-ms-win-*;
# https://docs.github.com/en/actions/using-workflows/storing-workflow-data-as-artifacts
- name: Upload Artifacts
uses: actions/upload-artifact@v3
with:
name: manuskript_windows
path: ./dist/manuskript/

View file

@ -1,6 +1,7 @@
# This is a basic workflow to help you get started with Actions
# This workflow is used to run pytest and confirm
# that Linux builds meet the pytest requirements for the project.
name: CI
name: Pytest Run (Linux)
# Controls when the action will run.
on:
@ -13,31 +14,28 @@ on:
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
# This workflow contains a single job called "build"
test:
name: Test on node ${{ matrix.python_version }} and ${{ matrix.os }}
name: Running pytest ${{ matrix.python_version }} and ${{ matrix.os }}
# The type of runner that the job will run on
runs-on: ${{ matrix.os }}
strategy:
matrix:
python-version: [3.6]
# python-version: [3.6, 3.7, 3.8, 3.9]
os: [ubuntu-16.04]
# os: [ubuntu-16.04, ubuntu-latest, windows-latest, macos-10.15]
# https://docs.github.com/en/actions/using-jobs/using-a-matrix-for-your-jobs
python-version: [3.9]
os: [ubuntu-20.04]
# Steps represent a sequence of tasks that will be executed as part of the job
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v2
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install pyqt5==5.9 lxml pytest pytest-faulthandler
pip install pyqt5==5.15.7 lxml pytest pytest-faulthandler
sudo apt-get -qq update
sudo apt-get -qq install python3-pip python3-dev build-essential qt5-default libxml2-dev libxslt1-dev mesa-utils libgl1-mesa-glx libgl1-mesa-dev libxcb-xinerama0-dev
if [ -f requirements.txt ]; then pip install -r requirements.txt; fi

1
.gitignore vendored
View file

@ -6,6 +6,7 @@
*.msk
*.nja
*.pyc
*.glade~
.cache
.directory
.idea

View file

@ -2,7 +2,7 @@ language: generic
os:
- osx
- linux
osx_image: xcode11
osx_image: xcode13.4
sudo: required
install:
- if [ "$TRAVIS_OS_NAME" = "osx" ]; then package/prepare_osx.sh; fi

View file

@ -1,16 +1,210 @@
# Changelog
## [0.12.0](https://github.com/olivierkes/manuskript/tree/0.12.0) (2021-04-30)
## [0.16.1](https://github.com/olivierkes/manuskript/tree/0.16.1) (2023-12-14)
[Full Changelog](https://github.com/olivierkes/manuskript/compare/0.11.0...HEAD)
[Full Changelog](https://github.com/olivierkes/manuskript/compare/0.16.0...0.16.1)
**Fixed bugs:**
- Characters, Plots and Worlds are greyed out [\#1249](https://github.com/olivierkes/manuskript/issues/1249)
- Missing Pages with Version 0.16.0 [\#1248](https://github.com/olivierkes/manuskript/issues/1248)
- Software crashing every time I open [\#1247](https://github.com/olivierkes/manuskript/issues/1247)
## [0.16.0](https://github.com/olivierkes/manuskript/tree/0.16.0) (2023-12-07)
[Full Changelog](https://github.com/olivierkes/manuskript/compare/0.15.0...0.16.0)
**Fixed bugs:**
- my manuskript is not launching i don't know why [\#1207](https://github.com/olivierkes/manuskript/issues/1207)
- cannot download to ubuntu [\#1199](https://github.com/olivierkes/manuskript/issues/1199)
- LanguageTool crashes app [\#1143](https://github.com/olivierkes/manuskript/issues/1143)
- can't load LanguageTool [\#1142](https://github.com/olivierkes/manuskript/issues/1142)
- Crash on spellcheck context menu [\#1224](https://github.com/olivierkes/manuskript/issues/1224)
- Trouble launching 0.15 in Windows 10 Home [\#1222](https://github.com/olivierkes/manuskript/issues/1222)
- Crash on Search [\#1218](https://github.com/olivierkes/manuskript/issues/1218)
- Crash on Mac not on windows with same project [\#1169](https://github.com/olivierkes/manuskript/issues/1169)
- Fedora 38 application crashes when cycling through the home options at first launch [\#1163](https://github.com/olivierkes/manuskript/issues/1163)
- RuntimeError with manuskriptw.exe \(sys.stderr is None\) [\#1138](https://github.com/olivierkes/manuskript/issues/1138)
**Closed issues:**
- Allow chapter/scene cards to be scrolled [\#1170](https://github.com/olivierkes/manuskript/issues/1170)
- Kubuntu 20.40.6 getting undefined symbol: krb5\_ser\_context\_init, version krb5\_3\_MIT [\#1155](https://github.com/olivierkes/manuskript/issues/1155)
**Merged pull requests:**
- Bulk Info Manager bug fix and style changes. [\#1144](https://github.com/olivierkes/manuskript/pull/1144) ([tntscreed](https://github.com/tntscreed))
- I added a feature to add "detailed info" entries to multiple characters simultaneously via a dialog box. [\#1137](https://github.com/olivierkes/manuskript/pull/1137) ([tntscreed](https://github.com/tntscreed))
- Crash on spellcheck context menu \#1224 [\#1226](https://github.com/olivierkes/manuskript/pull/1226) ([drmousse](https://github.com/drmousse))
- Update spellchecker.py And Fixed crashing [\#1214](https://github.com/olivierkes/manuskript/pull/1214) ([TheShadowblast123](https://github.com/TheShadowblast123))
- Fix regex for ignoring multi-line comments. [\#1212](https://github.com/olivierkes/manuskript/pull/1212) ([sagev9000](https://github.com/sagev9000))
- Skip comments in word count [\#1205](https://github.com/olivierkes/manuskript/pull/1205) ([sagev9000](https://github.com/sagev9000))
- added extra check for the filebase dir not to start with an . [\#1198](https://github.com/olivierkes/manuskript/pull/1198) ([Niwreg](https://github.com/Niwreg))
- Fix inconsistent newline handling across operating systems [\#1196](https://github.com/olivierkes/manuskript/pull/1196) ([Dreaded-Gnu](https://github.com/Dreaded-Gnu))
- Fix manuskriptw startup error [\#1195](https://github.com/olivierkes/manuskript/pull/1195) ([Dreaded-Gnu](https://github.com/Dreaded-Gnu))
- Simple history back/forward navigation [\#1165](https://github.com/olivierkes/manuskript/pull/1165) ([alfar](https://github.com/alfar))
## [0.15.0](https://github.com/olivierkes/manuskript/tree/0.15.0) (2023-03-04)
[Full Changelog](https://github.com/olivierkes/manuskript/compare/0.14.0...0.15.0)
**Implemented enhancements:**
- Feature request: Development version indicator [\#1126](https://github.com/olivierkes/manuskript/issues/1126)
**Fixed bugs:**
- 0.14 won't open [\#1105](https://github.com/olivierkes/manuskript/issues/1105)
- click on "Plan" makes Manuskript 0.14.0 crash [\#1094](https://github.com/olivierkes/manuskript/issues/1094)
- mouse over goes blank in fiction [\#1093](https://github.com/olivierkes/manuskript/issues/1093)
- Crashes on hitting "+" while editing plot step summary [\#1081](https://github.com/olivierkes/manuskript/issues/1081)
- Type error on launch [\#1043](https://github.com/olivierkes/manuskript/issues/1043)
- Plot-step summary disappearing and not being saved! [\#1008](https://github.com/olivierkes/manuskript/issues/1008)
- Don't open msk from command line [\#993](https://github.com/olivierkes/manuskript/issues/993)
- Metadata: References [\#756](https://github.com/olivierkes/manuskript/issues/756)
- Context/right click Menu slow and only in english [\#487](https://github.com/olivierkes/manuskript/issues/487)
- Translations breaks shortcuts [\#1135](https://github.com/olivierkes/manuskript/issues/1135)
- Missing visual indicator for collapsables like metadata fields [\#1132](https://github.com/olivierkes/manuskript/issues/1132)
- New search bug [\#1125](https://github.com/olivierkes/manuskript/issues/1125)
- One-time glitch: dragged "World" entry to top of list and it disappeared [\#1122](https://github.com/olivierkes/manuskript/issues/1122)
- Loading Error with fileno [\#1121](https://github.com/olivierkes/manuskript/issues/1121)
- Search no longer works [\#1095](https://github.com/olivierkes/manuskript/issues/1095)
- Crash when opening a plot in the cheat sheet containing deleted characters [\#1082](https://github.com/olivierkes/manuskript/issues/1082)
- CTD Crash To Desktop after "inserting link" [\#1071](https://github.com/olivierkes/manuskript/issues/1071)
- Spellcheck intermittantly looses location in editor [\#1065](https://github.com/olivierkes/manuskript/issues/1065)
- Translation - missing lines in .ts file etc. issues [\#1052](https://github.com/olivierkes/manuskript/issues/1052)
- Debian installer zst compression error [\#1047](https://github.com/olivierkes/manuskript/issues/1047)
- manuskriptw.exe can not be executed due to unhandled exception "NullWriter" [\#1044](https://github.com/olivierkes/manuskript/issues/1044)
- Crash when attempting to add an inexistent reference [\#1042](https://github.com/olivierkes/manuskript/issues/1042)
- Setting the language to German deletes shortcut-functions like "Ctrl+S" [\#1012](https://github.com/olivierkes/manuskript/issues/1012)
- Open in new tab doesn't work from tree [\#919](https://github.com/olivierkes/manuskript/issues/919)
- \[Bug\] Next Button in Characters Pane [\#584](https://github.com/olivierkes/manuskript/issues/584)
- Top level World items with sub-items do not visually indicate sub-items exist [\#305](https://github.com/olivierkes/manuskript/issues/305)
- saving error [\#274](https://github.com/olivierkes/manuskript/issues/274)
- Crashing when creating a new project - locale C [\#130](https://github.com/olivierkes/manuskript/issues/130)
**Closed issues:**
- Adding a clearer discription to contributing guidlines [\#1115](https://github.com/olivierkes/manuskript/issues/1115)
- I can't click boxes to edit them [\#1104](https://github.com/olivierkes/manuskript/issues/1104)
- Minor Python error during Installation - Linux Mint 20.3 [\#1097](https://github.com/olivierkes/manuskript/issues/1097)
- Package as App Bundle for macOS [\#567](https://github.com/olivierkes/manuskript/issues/567)
- Update files about languages [\#1133](https://github.com/olivierkes/manuskript/issues/1133)
**Merged pull requests:**
- Fix to error \#1095 [\#1098](https://github.com/olivierkes/manuskript/pull/1098) ([TheShadowOfHassen](https://github.com/TheShadowOfHassen))
- Add GitHub Actions Windows CI build to commits [\#1092](https://github.com/olivierkes/manuskript/pull/1092) ([MC42](https://github.com/MC42))
- Resolve "Search" and "Cheat sheet" strings not being translated correctly in source string [\#1091](https://github.com/olivierkes/manuskript/pull/1091) ([MC42](https://github.com/MC42))
- Feature/split editor functionality [\#1060](https://github.com/olivierkes/manuskript/pull/1060) ([tcsch](https://github.com/tcsch))
- Create a macOS installer \(fixes \#567\) [\#1056](https://github.com/olivierkes/manuskript/pull/1056) ([marosoft](https://github.com/marosoft))
- Session target [\#460](https://github.com/olivierkes/manuskript/pull/460) ([nephlm](https://github.com/nephlm))
## [0.14.0](https://github.com/olivierkes/manuskript/tree/0.14.0) (2022-06-08)
[Full Changelog](https://github.com/olivierkes/manuskript/compare/0.13.1...0.14.0)
**Implemented enhancements:**
- \[Feature Request\] Full Compile Export [\#1034](https://github.com/olivierkes/manuskript/issues/1034)
- Cleaning up the flatpak [\#1029](https://github.com/olivierkes/manuskript/issues/1029)
**Fixed bugs:**
- crash on the "Outline" section [\#1032](https://github.com/olivierkes/manuskript/issues/1032)
- Manuskript crashing while booting [\#1021](https://github.com/olivierkes/manuskript/issues/1021)
- Crashing when I'm trying to create the 1st project [\#1035](https://github.com/olivierkes/manuskript/issues/1035)
- \[Bug\] double click causes crash in outline or plots view [\#1014](https://github.com/olivierkes/manuskript/issues/1014)
- Re-ordering items in the outline causes data loss/text overwritting [\#1001](https://github.com/olivierkes/manuskript/issues/1001)
- An unhandled exception has occurred! on cheatsheet [\#994](https://github.com/olivierkes/manuskript/issues/994)
- Crash when changing index card style [\#992](https://github.com/olivierkes/manuskript/issues/992)
- Regex search causes crash [\#989](https://github.com/olivierkes/manuskript/issues/989)
- Crash when project file is open in another application [\#950](https://github.com/olivierkes/manuskript/issues/950)
**Closed issues:**
- Creating project from template dialog has fixed size [\#996](https://github.com/olivierkes/manuskript/issues/996)
- Creating empty language file hr-HR [\#1023](https://github.com/olivierkes/manuskript/issues/1023)
- Russian translation [\#990](https://github.com/olivierkes/manuskript/issues/990)
- \[Windows Version\] Two program windows pop up [\#327](https://github.com/olivierkes/manuskript/issues/327)
**Merged pull requests:**
- catch AttributeError in plotTreeView double click event \(fixes \#1014\) [\#1015](https://github.com/olivierkes/manuskript/pull/1015) ([amconners](https://github.com/amconners))
- Change welcome page spacer size policy to allow welcome to expand to fill most of screen \(fixes olivierkes\#996\) [\#1007](https://github.com/olivierkes/manuskript/pull/1007) ([jdanielp](https://github.com/jdanielp))
- Fix crash when files are locked for writing \(Fixes olivierkes\#950\) [\#1004](https://github.com/olivierkes/manuskript/pull/1004) ([jdanielp](https://github.com/jdanielp))
- Fix crash when regex is not valid \(Fixes olivierkes\#989\) [\#1003](https://github.com/olivierkes/manuskript/pull/1003) ([jdanielp](https://github.com/jdanielp))
- Potential fix for \#719, \#1001: data loss when reordering items in upward direction [\#1002](https://github.com/olivierkes/manuskript/pull/1002) ([olivierkes](https://github.com/olivierkes))
- hard\_line\_breaks support [\#1000](https://github.com/olivierkes/manuskript/pull/1000) ([Mte90](https://github.com/Mte90))
- Fix for \#992 and \#998 [\#999](https://github.com/olivierkes/manuskript/pull/999) ([amconners](https://github.com/amconners))
- Write a test for ParseMMDFile function. [\#831](https://github.com/olivierkes/manuskript/pull/831) ([zeth](https://github.com/zeth))
## [0.13.1](https://github.com/olivierkes/manuskript/tree/0.13.1) (2021-12-13)
[Full Changelog](https://github.com/olivierkes/manuskript/compare/0.12.0...0.13.1)
**Implemented enhancements:**
- Stripping down the install for low resource machines [\#956](https://github.com/olivierkes/manuskript/issues/956)
- Add filename/titles to warning dialog box when deleting files or folders [\#931](https://github.com/olivierkes/manuskript/issues/931)
- \[Request\] Additional Package formats: AppImage \(also note Flatpak, Snap\) [\#71](https://github.com/olivierkes/manuskript/issues/71)
**Fixed bugs:**
- Character Detailed Info Crash [\#971](https://github.com/olivierkes/manuskript/issues/971)
- Fail to launch [\#967](https://github.com/olivierkes/manuskript/issues/967)
- Critical error when running on Fedora 35 \(manuskript won't start\) [\#957](https://github.com/olivierkes/manuskript/issues/957)
- Can't open Manuskript executable "manuskript-0.12.0-win32" and "manuskript-0.12.0-fix-7e05b72-win32" on windows 7 professional. [\#951](https://github.com/olivierkes/manuskript/issues/951)
- Software crashes when I try to add a new character detail. [\#945](https://github.com/olivierkes/manuskript/issues/945)
- It crashes when I double click characters name's frame [\#937](https://github.com/olivierkes/manuskript/issues/937)
- calling pandoc 2.5 is broken with the later versions [\#922](https://github.com/olivierkes/manuskript/issues/922)
- Entry Point Error, how can I solve this ? [\#911](https://github.com/olivierkes/manuskript/issues/911)
- Issues pertaining to the wrong table being referenced in the "Detailed info" tab on the "Characters" pane [\#910](https://github.com/olivierkes/manuskript/issues/910)
- Upgraded from 0.11 to 0.12, open from command line and dolphin broken [\#898](https://github.com/olivierkes/manuskript/issues/898)
- IndexError in characterModel.py [\#896](https://github.com/olivierkes/manuskript/issues/896)
- Error on export return code: 43 [\#886](https://github.com/olivierkes/manuskript/issues/886)
- Issue installing v12 on Win7 64bit [\#872](https://github.com/olivierkes/manuskript/issues/872)
- well, now it don't even open... [\#870](https://github.com/olivierkes/manuskript/issues/870)
- Overlapping IDs repeating [\#865](https://github.com/olivierkes/manuskript/issues/865)
- crash on character details frame [\#843](https://github.com/olivierkes/manuskript/issues/843)
- POV selection changes if character is deleted and a new one is added [\#808](https://github.com/olivierkes/manuskript/issues/808)
- Crashhhh [\#791](https://github.com/olivierkes/manuskript/issues/791)
- Manuskript runs amok, with Project \(Project is added\) [\#729](https://github.com/olivierkes/manuskript/issues/729)
**Security fixes:**
- Possible security issue [\#891](https://github.com/olivierkes/manuskript/issues/891)
**Closed issues:**
- Ubuntu snap on edge channel not updated with v12 [\#955](https://github.com/olivierkes/manuskript/issues/955)
- Installed on chromebook \(linux\), no issues, opened it up and it has no words? [\#925](https://github.com/olivierkes/manuskript/issues/925)
- App crashing when adding detailed info to character. [\#920](https://github.com/olivierkes/manuskript/issues/920)
- Ubuntu 21.04, Manuskrip not installing or working with .deb snap or repository. [\#900](https://github.com/olivierkes/manuskript/issues/900)
- \(Windows, 0.12.0\) "GetDaylightFlag" not found in "kernel32.dll" [\#889](https://github.com/olivierkes/manuskript/issues/889)
- Text pasted in Summary or Notes/References disappears [\#873](https://github.com/olivierkes/manuskript/issues/873)
- Linux missing dependency? [\#847](https://github.com/olivierkes/manuskript/issues/847)
- Flatpak package [\#425](https://github.com/olivierkes/manuskript/issues/425)
**Merged pull requests:**
- Fixes for a number of reported bugs [\#901](https://github.com/olivierkes/manuskript/pull/901) ([worstje](https://github.com/worstje))
- Kill old insecure pickle setting files \(untested\) [\#895](https://github.com/olivierkes/manuskript/pull/895) ([zeth](https://github.com/zeth))
- Deal with race condition. [\#894](https://github.com/olivierkes/manuskript/pull/894) ([zeth](https://github.com/zeth))
- Someone was in a JavaScript mood? [\#893](https://github.com/olivierkes/manuskript/pull/893) ([zeth](https://github.com/zeth))
## [0.12.0](https://github.com/olivierkes/manuskript/tree/0.12.0) (2021-04-30)
[Full Changelog](https://github.com/olivierkes/manuskript/compare/0.11.0...0.12.0)
**Implemented enhancements:**
- \[Feature Request\] Word counter in full screen mode [\#723](https://github.com/olivierkes/manuskript/issues/723)
- Improving user-friendliness of log files [\#852](https://github.com/olivierkes/manuskript/issues/852)
- \[Feature Request\] Add spell check for Chinese. [\#822](https://github.com/olivierkes/manuskript/issues/822)
- Number of characters instead of number of words? [\#774](https://github.com/olivierkes/manuskript/issues/774)
- Italian spellchecker [\#730](https://github.com/olivierkes/manuskript/issues/730)
- \[Feature Request\] Word counter in full screen mode [\#723](https://github.com/olivierkes/manuskript/issues/723)
- Word count statistics incorrect when using Chinese characters [\#607](https://github.com/olivierkes/manuskript/issues/607)
- select which monitor in full screen mode [\#456](https://github.com/olivierkes/manuskript/issues/456)
- \[feature request\] Scene Search [\#376](https://github.com/olivierkes/manuskript/issues/376)
@ -19,6 +213,8 @@
**Fixed bugs:**
- Can't open any file [\#758](https://github.com/olivierkes/manuskript/issues/758)
- Main major and minor character are not functional [\#698](https://github.com/olivierkes/manuskript/issues/698)
- Using a world building template is broken [\#866](https://github.com/olivierkes/manuskript/issues/866)
- Slow startup when using language\_tool\_python in the test python setup [\#862](https://github.com/olivierkes/manuskript/issues/862)
- When using the + on editor or outline the application crashes [\#855](https://github.com/olivierkes/manuskript/issues/855)
@ -28,26 +224,25 @@
- Crash on showing settingsWindow.py [\#817](https://github.com/olivierkes/manuskript/issues/817)
- Python syntax warning upon installation [\#792](https://github.com/olivierkes/manuskript/issues/792)
- Right click → Insert Reference buggy when search term is followed by punctuation [\#781](https://github.com/olivierkes/manuskript/issues/781)
- Can't open any file [\#758](https://github.com/olivierkes/manuskript/issues/758)
- Error on export when using pandoc [\#736](https://github.com/olivierkes/manuskript/issues/736)
- Snap Package: All types of export with pandoc fail with error 97 [\#709](https://github.com/olivierkes/manuskript/issues/709)
- Main major and minor character are not functional [\#698](https://github.com/olivierkes/manuskript/issues/698)
- export error \(pandoc\) [\#590](https://github.com/olivierkes/manuskript/issues/590)
**Closed issues:**
- Small bug with LanguageTool [\#860](https://github.com/olivierkes/manuskript/issues/860)
- Help! Can't open MSK.file [\#759](https://github.com/olivierkes/manuskript/issues/759)
- Can't run Manuskript [\#742](https://github.com/olivierkes/manuskript/issues/742)
- Manuskript Crashes on Project Open [\#741](https://github.com/olivierkes/manuskript/issues/741)
- Program crashes randomly and then never opens again even after reinstall [\#665](https://github.com/olivierkes/manuskript/issues/665)
- PLOT Character Error Message [\#519](https://github.com/olivierkes/manuskript/issues/519)
- Program crashes on copy and paste [\#441](https://github.com/olivierkes/manuskript/issues/441)
- Enable/Disable POV-Option for Characters [\#335](https://github.com/olivierkes/manuskript/issues/335)
- Show character count progress indicator [\#334](https://github.com/olivierkes/manuskript/issues/334)
- Small bug with LanguageTool [\#860](https://github.com/olivierkes/manuskript/issues/860)
**Merged pull requests:**
- Hyphens no longer counted in word count [\#816](https://github.com/olivierkes/manuskript/pull/816) ([James-Joe](https://github.com/James-Joe))
- - adding characters count. Implementing \#334 [\#339](https://github.com/olivierkes/manuskript/pull/339) ([lechbaczynski](https://github.com/lechbaczynski))
- Fix missing root when using world building template [\#867](https://github.com/olivierkes/manuskript/pull/867) ([belug23](https://github.com/belug23))
- Add configuration for github actions to test linux on pull requests [\#864](https://github.com/olivierkes/manuskript/pull/864) ([belug23](https://github.com/belug23))
- Fix errors when language tool isn't installed [\#863](https://github.com/olivierkes/manuskript/pull/863) ([belug23](https://github.com/belug23))
@ -77,7 +272,6 @@
- Add global search [\#717](https://github.com/olivierkes/manuskript/pull/717) ([moisesjbc](https://github.com/moisesjbc))
- added 3 buttons to the textEditView that allow quickly adding new items [\#690](https://github.com/olivierkes/manuskript/pull/690) ([nagolinc](https://github.com/nagolinc))
- Logging and command-line arguments [\#667](https://github.com/olivierkes/manuskript/pull/667) ([worstje](https://github.com/worstje))
- adding characters count. Implementing \#334 [\#339](https://github.com/olivierkes/manuskript/pull/339) ([lechbaczynski](https://github.com/lechbaczynski))
## [0.11.0](https://github.com/olivierkes/manuskript/tree/0.11.0) (2020-01-18)
@ -142,28 +336,28 @@
**Closed issues:**
- Word count goal progress bar broken in develop. [\#652](https://github.com/olivierkes/manuskript/issues/652)
- Fullscreen mode causes spike in CPU [\#643](https://github.com/olivierkes/manuskript/issues/643)
- Italian dictionary [\#638](https://github.com/olivierkes/manuskript/issues/638)
- Manuskript 9.0 crashes when creating new project or opening existing project [\#631](https://github.com/olivierkes/manuskript/issues/631)
- Spell Check Not working [\#625](https://github.com/olivierkes/manuskript/issues/625)
- story line feature crashing [\#620](https://github.com/olivierkes/manuskript/issues/620)
- Manuskript me fastidio un documento de word [\#616](https://github.com/olivierkes/manuskript/issues/616)
- Feature request: Option to vertically center text input line on screen in fullscreen mode [\#602](https://github.com/olivierkes/manuskript/issues/602)
- Italian translation not applied, application still english. [\#599](https://github.com/olivierkes/manuskript/issues/599)
- File Randomly won't open [\#597](https://github.com/olivierkes/manuskript/issues/597)
- Adding Persian\(Farsi\) in Weblate [\#596](https://github.com/olivierkes/manuskript/issues/596)
- Importing images into Manuskript [\#593](https://github.com/olivierkes/manuskript/issues/593)
- British English translation [\#592](https://github.com/olivierkes/manuskript/issues/592)
- utf-8' codec can't decode byte 0xff in position 0 [\#591](https://github.com/olivierkes/manuskript/issues/591)
- Issue with saving as directory [\#589](https://github.com/olivierkes/manuskript/issues/589)
- Crashes in outliner [\#582](https://github.com/olivierkes/manuskript/issues/582)
- Headings h4 not translated from Markdown to ODF [\#580](https://github.com/olivierkes/manuskript/issues/580)
- \[BUG\] Shim error [\#579](https://github.com/olivierkes/manuskript/issues/579)
- Crash when edit text [\#555](https://github.com/olivierkes/manuskript/issues/555)
- Unusual environment failure [\#547](https://github.com/olivierkes/manuskript/issues/547)
- Won't run \(Arch Linux\) [\#546](https://github.com/olivierkes/manuskript/issues/546)
- Rendre extensible les modèles d'intrigue [\#329](https://github.com/olivierkes/manuskript/issues/329)
- Word count goal progress bar broken in develop. [\#652](https://github.com/olivierkes/manuskript/issues/652)
- story line feature crashing [\#620](https://github.com/olivierkes/manuskript/issues/620)
- Italian translation not applied, application still english. [\#599](https://github.com/olivierkes/manuskript/issues/599)
- Adding Persian\(Farsi\) in Weblate [\#596](https://github.com/olivierkes/manuskript/issues/596)
- Importing images into Manuskript [\#593](https://github.com/olivierkes/manuskript/issues/593)
- British English translation [\#592](https://github.com/olivierkes/manuskript/issues/592)
- Crashes in outliner [\#582](https://github.com/olivierkes/manuskript/issues/582)
**Merged pull requests:**
@ -186,7 +380,7 @@
- Fix Linux Travis CI build error - pyenv: version `3.6.3' not installed [\#610](https://github.com/olivierkes/manuskript/pull/610) ([gedakc](https://github.com/gedakc))
- Fix crash when setting word Goal on new Text \(scene\) in Outline pane [\#609](https://github.com/olivierkes/manuskript/pull/609) ([gedakc](https://github.com/gedakc))
- Spelling: Manuscript, could not, process, … No content [\#588](https://github.com/olivierkes/manuskript/pull/588) ([comradekingu](https://github.com/comradekingu))
- fix issue \#468 'unit' is reset [\#587](https://github.com/olivierkes/manuskript/pull/587) ([NocturnalFred](https://github.com/NocturnalFred))
- fix issue \#468 'unit' is reset [\#587](https://github.com/olivierkes/manuskript/pull/587) ([SOLIDFred](https://github.com/SOLIDFred))
- Fix pandoc export crashes is project title is empty [\#585](https://github.com/olivierkes/manuskript/pull/585) ([gedakc](https://github.com/gedakc))
- Track dirty state and have the UI behave accordingly [\#583](https://github.com/olivierkes/manuskript/pull/583) ([worstje](https://github.com/worstje))
- Fix crash if invalid character is inserted into the text. [\#578](https://github.com/olivierkes/manuskript/pull/578) ([kakaroto](https://github.com/kakaroto))
@ -196,7 +390,7 @@
- trying to resolve full screen exit issues on macOS [\#569](https://github.com/olivierkes/manuskript/pull/569) ([dschanoeh](https://github.com/dschanoeh))
- Fix typos in translation format placeholders that lead to crash [\#566](https://github.com/olivierkes/manuskript/pull/566) ([RaphaelWimmer](https://github.com/RaphaelWimmer))
- Fixed \#549 and refactored the image tooltip code [\#558](https://github.com/olivierkes/manuskript/pull/558) ([worstje](https://github.com/worstje))
- Fix typo [\#548](https://github.com/olivierkes/manuskript/pull/548) ([Acid147](https://github.com/Acid147))
- Fix typo [\#548](https://github.com/olivierkes/manuskript/pull/548) ([vulpivia](https://github.com/vulpivia))
- Fix misc. typos [\#489](https://github.com/olivierkes/manuskript/pull/489) ([luzpaz](https://github.com/luzpaz))
## [0.9.0](https://github.com/olivierkes/manuskript/tree/0.9.0) (2019-04-04)
@ -205,7 +399,6 @@
**Implemented enhancements:**
- Add non-enchant spellcheck support [\#505](https://github.com/olivierkes/manuskript/issues/505)
- Fullscreen editor suggestions [\#527](https://github.com/olivierkes/manuskript/issues/527)
- \[Feature Request\] Keyboard shortcuts in Full-Screen mode [\#444](https://github.com/olivierkes/manuskript/issues/444)
- \[Feature Request\] Add Ability to Add Image When Creating Fullscreen Theme [\#399](https://github.com/olivierkes/manuskript/issues/399)

View file

@ -1,11 +1,15 @@
# Manuskript
[Manuskript](http://www.theologeek.ch/manuskript) is an open-source
[Manuskript](https://www.theologeek.ch/manuskript) is an open-source
tool for writers.
[![pytest](https://github.com/olivierkes/manuskript/workflows/Pytest%20Run%20%28Linux%29/badge.svg)](https://github.com/olivierkes/manuskript/actions/workflows/pytest.yml)
[![manuskript](https://snapcraft.io/manuskript/badge.svg)](https://snapcraft.io/manuskript)
[![translations](https://hosted.weblate.org/widgets/manuskript/-/translations/svg-badge.svg)](https://hosted.weblate.org/projects/manuskript/translations)
Manuskript runs on GNU/Linux, Mac OS X, and Windows.
![Main view](http://www.theologeek.ch/manuskript/wp-content/uploads/2017/11/manuskript-0.5.0-main-view.jpg)
![Main view](https://www.theologeek.ch/manuskript/wp-content/uploads/2017/11/manuskript-0.5.0-main-view.jpg)
## Features
@ -18,34 +22,34 @@ With Manuskript you can:
* Create characters
* Conceive plots
* Construct outlines
([Outline mode](http://www.theologeek.ch/manuskript/2016/02/05/outliner/)
([Outline mode](https://www.theologeek.ch/manuskript/2016/02/05/outliner/)
and/or
[Index cards](http://www.theologeek.ch/manuskript/2016/02/05/index-cards/))
[Index cards](https://www.theologeek.ch/manuskript/2016/02/05/index-cards/))
* Write with focus
([Distraction free mode](https://github.com/olivierkes/manuskript/wiki/Full-screen-mode))
* Build worlds
* [Track items](https://github.com/olivierkes/manuskript/wiki/How-to-keep-track-of-important-items)
* Edit and re-organize chapters and scenes
* View [Story line](http://www.theologeek.ch/manuskript/2016/02/28/story-line/)
* View [Story line](https://www.theologeek.ch/manuskript/2016/02/28/story-line/)
* Compose with
[fiction or non-fiction templates and writing modes](http://www.theologeek.ch/manuskript/2016/03/31/writing-modes-simple-fiction/)
[fiction or non-fiction templates and writing modes](https://www.theologeek.ch/manuskript/2016/03/31/writing-modes-simple-fiction/)
* Import and export document formats such as HTML, ePub, OpenDocument, DocX, and
[more](https://github.com/olivierkes/manuskript/wiki/Import-and-Export-capabilities)
Additionally Manuskript can help in many more ways with a spell
checker, markdown highlighter,
[frequency analyzer](http://www.theologeek.ch/manuskript/2016/02/08/frequency-analyzer/),
[frequency analyzer](https://www.theologeek.ch/manuskript/2016/02/08/frequency-analyzer/),
and automatic save in
[open and plain text file format](http://www.theologeek.ch/manuskript/2016/03/31/open-plain-text-file-format/).
[open and plain text file format](https://www.theologeek.ch/manuskript/2016/03/31/open-plain-text-file-format/).
## Download
[Download](http://www.theologeek.ch/manuskript/download) and install Manuskript today.
[Download](https://www.theologeek.ch/manuskript/download) and install Manuskript today.
## HowTo's
See the [Wiki](http://github.com/olivierkes/manuskript/wiki) for more
See the [Wiki](https://github.com/olivierkes/manuskript/wiki) for more
detailed instructions on how to install and use Manuskript.
## Contribute
@ -56,7 +60,7 @@ You can help improve Manuskript by reporting
and
[translating to other languages](https://github.com/olivierkes/manuskript/wiki/Translate-Manuskript).
See also
[Manuskript Contribute page](http://www.theologeek.ch/manuskript/contribute/).
[Manuskript Contribute page](https://www.theologeek.ch/manuskript/contribute/).
Manuskript is written in Python3 and PyQt5.

View file

@ -1,5 +0,0 @@
TRANSLATIONS += manuskript_fr.ts
TRANSLATIONS += manuskript_es.ts
TRANSLATIONS += manuskript_de.ts
TRANSLATIONS += manuskript_sv.ts

View file

@ -1,114 +1,243 @@
FORMS += ../manuskript/ui/importers/generalSettings_ui.ui
FORMS += ../manuskript/ui/importers/importer_ui.ui
FORMS += ../manuskript/ui/about_ui.ui
FORMS += ../manuskript/ui/settings_ui.ui
FORMS += ../manuskript/ui/editors/locker_ui.ui
FORMS += ../manuskript/ui/editors/mainEditor_ui.ui
FORMS += ../manuskript/ui/editors/editorWidget_ui.ui
FORMS += ../manuskript/ui/editors/completer_ui.ui
FORMS += ../manuskript/ui/editors/textFormat_ui.ui
FORMS += ../manuskript/ui/editors/tabSplitter_ui.ui
FORMS += ../manuskript/ui/tools/frequency_ui.ui
FORMS += ../manuskript/ui/mainWindow.ui
FORMS += ../manuskript/ui/views/basicItemView_ui.ui
FORMS += ../manuskript/ui/views/metadataView_ui.ui
FORMS += ../manuskript/ui/views/storylineView_ui.ui
FORMS += ../manuskript/ui/views/propertiesView_ui.ui
FORMS += ../manuskript/ui/views/sldImportance_ui.ui
FORMS += ../manuskript/ui/search_ui.ui
FORMS += ../manuskript/ui/welcome_ui.ui
FORMS += ../manuskript/ui/cheatSheet_ui.ui
FORMS += ../manuskript/ui/revisions_ui.ui
FORMS += ../manuskript/ui/exporters/exportersManager_ui.ui
FORMS += ../manuskript/ui/exporters/manuskript/plainTextSettings_ui.ui
FORMS += ../manuskript/ui/exporters/exporter_ui.ui
SOURCES += ../manuskript/models/persosProxyModel.py
SOURCES += ../manuskript/models/plotsProxyModel.py
SOURCES += ../manuskript/models/plotModel.py
SOURCES += ../manuskript/models/worldModel.py
SOURCES += ../manuskript/models/abstractModel.py
SOURCES += ../manuskript/models/characterModel.py
SOURCES += ../manuskript/exporter/pandoc/abstractPlainText.py
SOURCES += ../manuskript/exporter/manuskript/markdown.py
SOURCES += ../manuskript/mainWindow.py
SOURCES += ../manuskript/main.py
SOURCES += ../manuskript/settingsWindow.py
SOURCES += ../manuskript/load_save/version_0.py
SOURCES += ../manuskript/ui/importers/importer.py
SOURCES += ../manuskript/ui/helpLabel.py
SOURCES += ../manuskript/ui/editors/textFormat.py
SOURCES += ../manuskript/ui/editors/tabSplitter.py
SOURCES += ../manuskript/ui/editors/mainEditor.py
SOURCES += ../manuskript/ui/editors/fullScreenEditor.py
SOURCES += ../manuskript/ui/editors/locker.py
SOURCES += ../manuskript/ui/welcome.py
SOURCES += ../manuskript/ui/tools/frequencyAnalyzer.py
SOURCES += ../manuskript/ui/tools/splitDialog.py
SOURCES += ../manuskript/ui/cheatSheet.py
SOURCES += ../manuskript/ui/about.py
SOURCES += ../manuskript/ui/views/cmbOutlineCharacterChoser.py
SOURCES += ../manuskript/ui/views/sldImportance.py
SOURCES += ../manuskript/ui/views/cmbOutlineStatusChoser.py
SOURCES += ../manuskript/ui/views/textEditView.py
SOURCES += ../manuskript/ui/views/corkDelegate.py
SOURCES += ../manuskript/ui/views/outlineDelegates.py
SOURCES += ../manuskript/ui/views/lineEditView.py
SOURCES += ../manuskript/ui/views/cmbOutlineLabelChoser.py
SOURCES += ../manuskript/ui/views/plotDelegate.py
SOURCES += ../manuskript/ui/views/plotTreeView.py
SOURCES += ../manuskript/ui/views/treeView.py
SOURCES += ../manuskript/ui/views/characterTreeView.py
SOURCES += ../manuskript/ui/views/storylineView.py
SOURCES += ../manuskript/ui/views/MDEditCompleter.py
SOURCES += ../manuskript/ui/search.py
SOURCES += ../manuskript/ui/collapsibleDockWidgets.py
SOURCES += ../manuskript/ui/exporters/manuskript/plainTextSettings.py
SOURCES += ../manuskript/ui/exporters/exporter.py
SOURCES += ../manuskript/ui/exporters/exportersManager.py
SOURCES += ../manuskript/ui/revisions.py
SOURCES += ../manuskript/models/references.py
SOURCES += ../manuskript/models/outlineItem.py
SOURCES += ../manuskript/exporter/pandoc/HTML.py
SOURCES += ../manuskript/exporter/pandoc/outputFormats.py
SOURCES += ../manuskript/exporter/pandoc/abstractPlainText.py
SOURCES += ../manuskript/exporter/pandoc/plainText.py
SOURCES += ../manuskript/exporter/pandoc/PDF.py
SOURCES += ../manuskript/exporter/pandoc/__init__.py
SOURCES += ../manuskript/exporter/manuskript/markdown.py
SOURCES += ../manuskript/exporter/manuskript/HTML.py
SOURCES += ../manuskript/exporter/manuskript/plainText.py
SOURCES += ../manuskript/exporter/manuskript/__init__.py
SOURCES += ../manuskript/converters/pandocConverter.py
SOURCES += ../manuskript/importer/markdownImporter.py
SOURCES += ../manuskript/importer/folderImporter.py
SOURCES += ../manuskript/importer/opmlImporter.py
SOURCES += ../manuskript/importer/pandocImporters.py
SOURCES += ../manuskript/importer/mindMapImporter.py
SOURCES += ../manuskript/ui/views/corkDelegate.py
SOURCES += ../manuskript/ui/views/outlineBasics.py
SOURCES += ../manuskript/ui/views/outlineDelegates.py
SOURCES += ../manuskript/ui/collapsibleDockWidgets.py
TRANSLATIONS += manuskript_ar_SA.ts
TRANSLATIONS += manuskript_de.ts
TRANSLATIONS += manuskript_en_GB.ts
TRANSLATIONS += manuskript_es.ts
TRANSLATIONS += manuskript_fa.ts
TRANSLATIONS += manuskript_fr.ts
TRANSLATIONS += manuskript_hu.ts
TRANSLATIONS += manuskript_id.ts
TRANSLATIONS += manuskript_it.ts
TRANSLATIONS += manuskript_ja.ts
TRANSLATIONS += manuskript_ko.ts
TRANSLATIONS += manuskript_nb_NO.ts
TRANSLATIONS += manuskript_nl.ts
TRANSLATIONS += manuskript_pl.ts
TRANSLATIONS += manuskript_pt_BR.ts
TRANSLATIONS += manuskript_pt_PT.ts
TRANSLATIONS += manuskript_ro.ts
TRANSLATIONS += manuskript_ru.ts
TRANSLATIONS += manuskript_sv.ts
TRANSLATIONS += manuskript_tr.ts
TRANSLATIONS += manuskript_uk.ts
TRANSLATIONS += manuskript_zh_CN.ts
TRANSLATIONS += manuskript_zh_HANT.ts
FORMS += ../manuskript/ui/exporters/exporter_ui.ui
FORMS += ../manuskript/ui/exporters/manuskript/plainTextSettings_ui.ui
FORMS += ../manuskript/ui/exporters/exportersManager_ui.ui
FORMS += ../manuskript/ui/about_ui.ui
FORMS += ../manuskript/ui/welcome_ui.ui
FORMS += ../manuskript/ui/mainWindow.ui
FORMS += ../manuskript/ui/importers/generalSettings_ui.ui
FORMS += ../manuskript/ui/importers/importer_ui.ui
FORMS += ../manuskript/ui/search_ui.ui
FORMS += ../manuskript/ui/settings_ui.ui
FORMS += ../manuskript/ui/tools/frequency_ui.ui
FORMS += ../manuskript/ui/tools/targets_ui.ui
FORMS += ../manuskript/ui/editors/locker_ui.ui
FORMS += ../manuskript/ui/editors/editorWidget_ui.ui
FORMS += ../manuskript/ui/editors/completer_ui.ui
FORMS += ../manuskript/ui/editors/textFormat_ui.ui
FORMS += ../manuskript/ui/editors/mainEditor_ui.ui
FORMS += ../manuskript/ui/editors/tabSplitter_ui.ui
FORMS += ../manuskript/ui/cheatSheet_ui.ui
FORMS += ../manuskript/ui/revisions_ui.ui
FORMS += ../manuskript/ui/views/storylineView_ui.ui
FORMS += ../manuskript/ui/views/sldImportance_ui.ui
FORMS += ../manuskript/ui/views/basicItemView_ui.ui
FORMS += ../manuskript/ui/views/propertiesView_ui.ui
FORMS += ../manuskript/ui/views/metadataView_ui.ui
FORMS += ../manuskript/ui/listDialog_ui.ui
SOURCES += ../manuskript/functions/__init__.py
SOURCES += ../manuskript/functions/spellchecker.py
SOURCES += ../manuskript/__init__.py
SOURCES += ../manuskript/enums.py
SOURCES += ../manuskript/converters/__init__.py
SOURCES += ../manuskript/converters/abstractConverter.py
SOURCES += ../manuskript/converters/pandocConverter.py
SOURCES += ../manuskript/converters/markdownConverter.py
SOURCES += ../manuskript/main.py
SOURCES += ../manuskript/mainWindow.py
SOURCES += ../manuskript/logging.py
SOURCES += ../manuskript/exporter/__init__.py
SOURCES += ../manuskript/exporter/basic.py
SOURCES += ../manuskript/exporter/pandoc/__init__.py
SOURCES += ../manuskript/exporter/pandoc/abstractOutput.py
SOURCES += ../manuskript/exporter/pandoc/outputFormats.py
SOURCES += ../manuskript/exporter/pandoc/abstractPlainText.py
SOURCES += ../manuskript/exporter/pandoc/HTML.py
SOURCES += ../manuskript/exporter/pandoc/PDF.py
SOURCES += ../manuskript/exporter/pandoc/plainText.py
SOURCES += ../manuskript/exporter/manuskript/__init__.py
SOURCES += ../manuskript/exporter/manuskript/markdown.py
SOURCES += ../manuskript/exporter/manuskript/HTML.py
SOURCES += ../manuskript/exporter/manuskript/plainText.py
SOURCES += ../manuskript/tests/__init__.py
SOURCES += ../manuskript/tests/load_save/__init__.py
SOURCES += ../manuskript/tests/load_save/test_ParseMMDFile.py
SOURCES += ../manuskript/tests/models/__init__.py
SOURCES += ../manuskript/tests/models/test_searchFilter.py
SOURCES += ../manuskript/tests/models/test_searchResultModel.py
SOURCES += ../manuskript/tests/models/test_outlineItem.py
SOURCES += ../manuskript/tests/models/test_references.py
SOURCES += ../manuskript/tests/models/conftest.py
SOURCES += ../manuskript/tests/test_settingsWindow.py
SOURCES += ../manuskript/tests/ui/exporters/__init__.py
SOURCES += ../manuskript/tests/ui/exporters/test_exporters.py
SOURCES += ../manuskript/tests/ui/__init__.py
SOURCES += ../manuskript/tests/ui/importers/__init__.py
SOURCES += ../manuskript/tests/ui/importers/test_importers.py
SOURCES += ../manuskript/tests/ui/test_welcome.py
SOURCES += ../manuskript/tests/ui/test_searchMenu.py
SOURCES += ../manuskript/tests/conftest.py
SOURCES += ../manuskript/tests/test_functions.py
SOURCES += ../manuskript/searchLabels.py
SOURCES += ../manuskript/settings.py
SOURCES += ../manuskript/importer/__init__.py
SOURCES += ../manuskript/importer/pandocImporters.py
SOURCES += ../manuskript/importer/mindMapImporter.py
SOURCES += ../manuskript/importer/markdownImporter.py
SOURCES += ../manuskript/importer/folderImporter.py
SOURCES += ../manuskript/importer/opmlImporter.py
SOURCES += ../manuskript/importer/abstractImporter.py
SOURCES += ../manuskript/load_save/__init__.py
SOURCES += ../manuskript/load_save/version_1.py
SOURCES += ../manuskript/load_save/version_0.py
SOURCES += ../manuskript/loadSave.py
SOURCES += ../manuskript/models/__init__.py
SOURCES += ../manuskript/models/searchResultModel.py
SOURCES += ../manuskript/models/outlineItem.py
SOURCES += ../manuskript/models/searchableItem.py
SOURCES += ../manuskript/models/plotsProxyModel.py
SOURCES += ../manuskript/models/worldModel.py
SOURCES += ../manuskript/models/persosProxyModel.py
SOURCES += ../manuskript/models/characterPOVModel.py
SOURCES += ../manuskript/models/abstractItem.py
SOURCES += ../manuskript/models/plotModel.py
SOURCES += ../manuskript/models/searchFilter.py
SOURCES += ../manuskript/models/references.py
SOURCES += ../manuskript/models/outlineModel.py
SOURCES += ../manuskript/models/flatDataModelWrapper.py
SOURCES += ../manuskript/models/abstractModel.py
SOURCES += ../manuskript/models/searchableModel.py
SOURCES += ../manuskript/models/characterModel.py
SOURCES += ../manuskript/version.py
SOURCES += ../manuskript/ui/exporters/__init__.py
SOURCES += ../manuskript/ui/exporters/exportersManager_ui.py
SOURCES += ../manuskript/ui/exporters/manuskript/__init__.py
SOURCES += ../manuskript/ui/exporters/manuskript/plainTextSettings.py
SOURCES += ../manuskript/ui/exporters/manuskript/plainTextSettings_ui.py
SOURCES += ../manuskript/ui/exporters/exporter.py
SOURCES += ../manuskript/ui/exporters/exportersManager.py
SOURCES += ../manuskript/ui/exporters/exporter_ui.py
SOURCES += ../manuskript/ui/__init__.py
SOURCES += ../manuskript/ui/listDialog.py
SOURCES += ../manuskript/ui/mainWindow.py
SOURCES += ../manuskript/ui/revisions_ui.py
SOURCES += ../manuskript/ui/about_ui.py
SOURCES += ../manuskript/ui/importers/__init__.py
SOURCES += ../manuskript/ui/importers/generalSettings_ui.py
SOURCES += ../manuskript/ui/importers/importer_ui.py
SOURCES += ../manuskript/ui/importers/importer.py
SOURCES += ../manuskript/ui/importers/generalSettings.py
SOURCES += ../manuskript/ui/highlighters/basicHighlighter.py
SOURCES += ../manuskript/ui/highlighters/__init__.py
SOURCES += ../manuskript/ui/highlighters/searchResultHighlighters/abstractSpecificSearchResultHighlighter.py
SOURCES += ../manuskript/ui/highlighters/searchResultHighlighters/__init__.py
SOURCES += ../manuskript/ui/highlighters/searchResultHighlighters/worldSearchResultHighlighter.py
SOURCES += ../manuskript/ui/highlighters/searchResultHighlighters/plotSearchResultHighlighter.py
SOURCES += ../manuskript/ui/highlighters/searchResultHighlighters/characterSearchResultHighlighter.py
SOURCES += ../manuskript/ui/highlighters/searchResultHighlighters/abstractSearchResultHighlighter.py
SOURCES += ../manuskript/ui/highlighters/searchResultHighlighters/plotStepSearchResultHighlighter.py
SOURCES += ../manuskript/ui/highlighters/searchResultHighlighters/outlineSearchResultHighlighter.py
SOURCES += ../manuskript/ui/highlighters/searchResultHighlighters/searchResultHighlighter.py
SOURCES += ../manuskript/ui/highlighters/searchResultHighlighters/flatDataSearchResultHighlighter.py
SOURCES += ../manuskript/ui/highlighters/searchResultHighlighters/widgetSelectionHighlighter.py
SOURCES += ../manuskript/ui/highlighters/MMDHighlighter.py
SOURCES += ../manuskript/ui/highlighters/markdownTokenizer.py
SOURCES += ../manuskript/ui/highlighters/markdownHighlighter.py
SOURCES += ../manuskript/ui/highlighters/markdownEnums.py
SOURCES += ../manuskript/ui/tools/__init__.py
SOURCES += ../manuskript/ui/tools/splitDialog.py
SOURCES += ../manuskript/ui/tools/frequency_ui.py
SOURCES += ../manuskript/ui/tools/targets_ui.py
SOURCES += ../manuskript/ui/tools/frequencyAnalyzer.py
SOURCES += ../manuskript/ui/tools/targets.py
SOURCES += ../manuskript/ui/helpLabel.py
SOURCES += ../manuskript/ui/editors/completer_ui.py
SOURCES += ../manuskript/ui/editors/fullScreenEditor.py
SOURCES += ../manuskript/ui/editors/__init__.py
SOURCES += ../manuskript/ui/editors/blockUserData.py
SOURCES += ../manuskript/ui/editors/textFormat.py
SOURCES += ../manuskript/ui/editors/MDFunctions.py
SOURCES += ../manuskript/ui/editors/locker.py
SOURCES += ../manuskript/ui/editors/locker_ui.py
SOURCES += ../manuskript/ui/editors/editorWidget.py
SOURCES += ../manuskript/ui/editors/completer.py
SOURCES += ../manuskript/ui/editors/textFormat_ui.py
SOURCES += ../manuskript/ui/editors/tabSplitter.py
SOURCES += ../manuskript/ui/editors/themes.py
SOURCES += ../manuskript/ui/editors/tabSplitter_ui.py
SOURCES += ../manuskript/ui/editors/mainEditor.py
SOURCES += ../manuskript/ui/editors/editorWidget_ui.py
SOURCES += ../manuskript/ui/editors/mainEditor_ui.py
SOURCES += ../manuskript/ui/revisions.py
SOURCES += ../manuskript/ui/search_ui.py
SOURCES += ../manuskript/ui/style.py
SOURCES += ../manuskript/ui/cheatSheet_ui.py
SOURCES += ../manuskript/ui/views/outlineView.py
SOURCES += ../manuskript/ui/views/corkView.py
SOURCES += ../manuskript/ui/views/metadataView_ui.py
SOURCES += ../manuskript/ui/views/__init__.py
SOURCES += ../manuskript/ui/views/treeView.py
SOURCES += ../manuskript/ui/views/cmbOutlineStatusChoser.py
SOURCES += ../manuskript/ui/views/characterTreeView.py
SOURCES += ../manuskript/ui/views/metadataView.py
SOURCES += ../manuskript/ui/views/plotTreeView.py
SOURCES += ../manuskript/ui/views/cmbOutlineCharacterChoser.py
SOURCES += ../manuskript/ui/views/webView.py
SOURCES += ../manuskript/ui/views/textEditView.py
SOURCES += ../manuskript/ui/views/storylineView.py
SOURCES += ../manuskript/ui/views/sldImportance.py
SOURCES += ../manuskript/ui/views/sldImportance_ui.py
SOURCES += ../manuskript/ui/views/basicItemView_ui.py
SOURCES += ../manuskript/ui/views/storylineView_ui.py
SOURCES += ../manuskript/ui/views/MDEditCompleter.py
SOURCES += ../manuskript/ui/views/MDEditView.py
SOURCES += ../manuskript/ui/views/cmbOutlineLabelChoser.py
SOURCES += ../manuskript/ui/views/outlineDelegates.py
SOURCES += ../manuskript/ui/views/outlineBasics.py
SOURCES += ../manuskript/ui/views/propertiesView.py
SOURCES += ../manuskript/ui/views/lineEditView.py
SOURCES += ../manuskript/ui/views/plotDelegate.py
SOURCES += ../manuskript/ui/views/basicItemView.py
SOURCES += ../manuskript/ui/views/treeDelegates.py
SOURCES += ../manuskript/ui/views/chkOutlineCompile.py
SOURCES += ../manuskript/ui/views/dndView.py
SOURCES += ../manuskript/ui/views/corkDelegate.py
SOURCES += ../manuskript/ui/views/PDFViewer.py
SOURCES += ../manuskript/ui/views/propertiesView_ui.py
SOURCES += ../manuskript/ui/collapsibleDockWidgets.py
SOURCES += ../manuskript/ui/collapsibleGroupBox2.py
SOURCES += ../manuskript/ui/welcome_ui.py
SOURCES += ../manuskript/ui/welcome.py
SOURCES += ../manuskript/ui/collapsibleGroupBox.py
SOURCES += ../manuskript/ui/settings_ui.py
SOURCES += ../manuskript/ui/searchMenu.py
SOURCES += ../manuskript/ui/listDialog_ui.py
SOURCES += ../manuskript/ui/about.py
SOURCES += ../manuskript/ui/cheatSheet.py
SOURCES += ../manuskript/ui/statusLabel.py
SOURCES += ../manuskript/ui/search.py
SOURCES += ../manuskript/settingsWindow.py
TRANSLATIONS += manuskript_sv.ts
TRANSLATIONS += manuskript_ta.ts
TRANSLATIONS += manuskript_nb_NO.ts
TRANSLATIONS += manuskript_ca.ts
TRANSLATIONS += manuskript_id.ts
TRANSLATIONS += manuskript_fi.ts
TRANSLATIONS += manuskript_zh_CN.ts
TRANSLATIONS += manuskript_pt.ts
TRANSLATIONS += manuskript_hu.ts
TRANSLATIONS += manuskript_it.ts
TRANSLATIONS += manuskript_sk.ts
TRANSLATIONS += manuskript_pl.ts
TRANSLATIONS += manuskript_tr.ts
TRANSLATIONS += manuskript_es.ts
TRANSLATIONS += manuskript_ru.ts
TRANSLATIONS += manuskript_uk.ts
TRANSLATIONS += manuskript_pt_PT.ts
TRANSLATIONS += manuskript_fr.ts
TRANSLATIONS += manuskript_mr.ts
TRANSLATIONS += manuskript_ja.ts
TRANSLATIONS += manuskript_ar_SA.ts
TRANSLATIONS += manuskript_nl.ts
TRANSLATIONS += manuskript_he.ts
TRANSLATIONS += manuskript_da.ts
TRANSLATIONS += manuskript_de.ts
TRANSLATIONS += manuskript_fa.ts
TRANSLATIONS += manuskript_el.ts
TRANSLATIONS += manuskript_ro.ts
TRANSLATIONS += manuskript_ca@valencia.ts
TRANSLATIONS += manuskript_pt_BR.ts
TRANSLATIONS += manuskript_en_GB.ts
TRANSLATIONS += manuskript_zh_HANT.ts
TRANSLATIONS += manuskript_ko.ts
TRANSLATIONS += manuskript_eo.ts
TRANSLATIONS += manuskript_hr.ts

Binary file not shown.

File diff suppressed because it is too large Load diff

Binary file not shown.

File diff suppressed because it is too large Load diff

Binary file not shown.

File diff suppressed because it is too large Load diff

BIN
i18n/manuskript_da.qm Normal file

Binary file not shown.

4003
i18n/manuskript_da.ts Normal file

File diff suppressed because it is too large Load diff

Binary file not shown.

File diff suppressed because it is too large Load diff

Binary file not shown.

File diff suppressed because it is too large Load diff

Binary file not shown.

File diff suppressed because it is too large Load diff

Binary file not shown.

File diff suppressed because it is too large Load diff

Binary file not shown.

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

BIN
i18n/manuskript_fi.qm Normal file

Binary file not shown.

4003
i18n/manuskript_fi.ts Normal file

File diff suppressed because it is too large Load diff

Binary file not shown.

File diff suppressed because it is too large Load diff

BIN
i18n/manuskript_he.qm Normal file

Binary file not shown.

4003
i18n/manuskript_he.ts Normal file

File diff suppressed because it is too large Load diff

BIN
i18n/manuskript_hr.qm Normal file

Binary file not shown.

4021
i18n/manuskript_hr.ts Normal file

File diff suppressed because it is too large Load diff

Binary file not shown.

File diff suppressed because it is too large Load diff

Binary file not shown.

File diff suppressed because it is too large Load diff

Binary file not shown.

File diff suppressed because it is too large Load diff

Binary file not shown.

File diff suppressed because it is too large Load diff

Binary file not shown.

File diff suppressed because it is too large Load diff

BIN
i18n/manuskript_mr.qm Normal file

Binary file not shown.

4003
i18n/manuskript_mr.ts Normal file

File diff suppressed because it is too large Load diff

Binary file not shown.

File diff suppressed because it is too large Load diff

Binary file not shown.

File diff suppressed because it is too large Load diff

Binary file not shown.

File diff suppressed because it is too large Load diff

Binary file not shown.

File diff suppressed because it is too large Load diff

Binary file not shown.

File diff suppressed because it is too large Load diff

Binary file not shown.

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

Binary file not shown.

File diff suppressed because it is too large Load diff

BIN
i18n/manuskript_sk.qm Normal file

Binary file not shown.

4003
i18n/manuskript_sk.ts Normal file

File diff suppressed because it is too large Load diff

Binary file not shown.

File diff suppressed because it is too large Load diff

BIN
i18n/manuskript_ta.qm Normal file

Binary file not shown.

4003
i18n/manuskript_ta.ts Normal file

File diff suppressed because it is too large Load diff

Binary file not shown.

File diff suppressed because it is too large Load diff

Binary file not shown.

File diff suppressed because it is too large Load diff

Binary file not shown.

File diff suppressed because it is too large Load diff

Binary file not shown.

File diff suppressed because it is too large Load diff

View file

@ -1,21 +0,0 @@
# Adds forms
for i in $(find .. -iname *.ui)
do
echo "FORMS += " $i;
done
# Adds file containing .tr(
for i in $(grep -ril "\.tr(" ../manuskript)
do
echo "SOURCES += " $i;
done
# Adds file containing .translate
for i in $(grep -ril "\.translate(" ../manuskript)
do
echo "SOURCES += " $i;
done
# Adds translations
cat languages.txt

Binary file not shown.

File diff suppressed because one or more lines are too long

View file

@ -2,39 +2,98 @@
block_cipher = None
# This is the spec file to be run with pyinstaller.
# However, it's what amounts to a python script, so
# we can do some incredibly cursed things to make
# sure it builds, and the way we want it to.
a = Analysis(['bin/manuskript'],
pathex=['.'],
binaries=None,
datas=[
("icons", "icons"),
("libs", "libs"),
("resources", "resources"),
("sample-projects", "sample-projects"),
("i18n", "i18n"),
],
hiddenimports=["xml.dom"],
hookspath=[],
runtime_hooks=[],
excludes=[],
win_no_prefer_redirects=False,
win_private_assemblies=False,
cipher=block_cipher)
pyz = PYZ(a.pure, a.zipped_data,
cipher=block_cipher)
exe = EXE(pyz,
a.scripts,
exclude_binaries=True,
name='manuskript',
debug=False,
strip=False,
upx=True,
console=True,
icon=os.path.join(SPECPATH, 'icons/Manuskript/manuskript.ico') )
coll = COLLECT(exe,
a.binaries,
a.zipfiles,
a.datas,
strip=False,
upx=True,
name='manuskript')
# For some reason we need to explicitly include the current directory. Unsure why.
import os
import sys
file_dir = os.path.dirname(".")
sys.path.append(file_dir)
# We're grabbing the current git SHA short to use in the version.
from util.hashed_version import writeVersionPlusHash
version = writeVersionPlusHash()
a = Analysis(
["bin/manuskript"],
pathex=["."],
binaries=None,
datas=[
("icons", "icons"),
("libs", "libs"),
("resources", "resources"),
("sample-projects", "sample-projects"),
("i18n", "i18n"),
],
hiddenimports=["xml.dom"],
hookspath=[],
runtime_hooks=[],
excludes=[],
win_no_prefer_redirects=False,
win_private_assemblies=False,
cipher=block_cipher,
)
pyz = PYZ(a.pure, a.zipped_data, cipher=block_cipher)
exe = EXE(
pyz,
a.scripts,
exclude_binaries=True,
name="manuskript",
debug=False,
strip=False,
upx=True,
console=True,
icon=os.path.join(SPECPATH, "icons/Manuskript/manuskript.ico"),
)
wexe = EXE(
pyz,
a.scripts,
exclude_binaries=True,
name="manuskriptw",
debug=False,
strip=False,
upx=True,
console=False,
icon=os.path.join(SPECPATH, "icons/Manuskript/manuskript.ico"),
)
coll = COLLECT(
exe, wexe, a.binaries, a.zipfiles, a.datas, strip=False, upx=True, name="manuskript"
)
app = BUNDLE(
coll,
name="manuskript.app",
icon=os.path.join(SPECPATH, "icons/Manuskript/Manuskript.icns"),
bundle_identifier="ch.theologeek.manuskript",
version=version,
info_plist={
"NSPrincipalClass": "NSApplication",
"NSAppleScriptEnabled": False,
"NSHighResolutionCapable": True,
"CFBundleURLTypes": [
{
"CFBundleURLName": "MSK",
"CFBundleTypeRole": "Editor",
"CFBundleURLSchemes": ["msk"],
}
],
"CFBundleDocumentTypes": [
{
"CFBundleTypeName": "MSK",
"CFBundleTypeIconFile": "icons/Manuscript/manuskript",
"CFBundleTypeExtensions": ["msk"],
"CFBundleTypeRole": "Editor",
"LSHandlerRank": "Owner",
}
],
},
)

View file

@ -9,7 +9,7 @@ from PyQt5.QtWidgets import qApp, QMessageBox
from PyQt5.QtGui import QCursor
from manuskript.converters import abstractConverter
from manuskript.functions import mainWindow
from manuskript.functions import mainWindow, safeTranslate
import logging
LOGGER = logging.getLogger(__name__)
@ -74,7 +74,7 @@ class pandocConverter(abstractConverter):
err = stderr.decode("utf-8")
LOGGER.error(err)
QMessageBox.critical(mainWindow().dialog,
qApp.translate("Export", "Error"), err)
safeTranslate(qApp, "Export", "Error"), err)
return None
return stdout.decode("utf-8")

View file

@ -6,6 +6,8 @@ from PyQt5.QtWidgets import QPlainTextEdit, qApp, QTabWidget, QFrame, QTextEdit
from manuskript.exporter.manuskript.markdown import markdown, markdownSettings
from manuskript.ui.views.webView import webView
from manuskript.ui.exporters.manuskript.plainTextSettings import exporterSettings
from manuskript.functions import safeTranslate
import os
try:
@ -15,8 +17,8 @@ except ImportError:
class HTML(markdown):
name = "HTML"
description = qApp.translate("Export", "Basic HTML output using the Python module 'markdown'.")
InvalidBecause = qApp.translate("Export", "Python module 'markdown'.")
description = safeTranslate(qApp, "Export", "Basic HTML output using the Python module 'markdown'.")
InvalidBecause = safeTranslate(qApp, "Export", "Python module 'markdown'.")
icon = "text-html"
exportVarName = "lastManuskriptHTML"
@ -51,12 +53,12 @@ class HTML(markdown):
w1 = QPlainTextEdit()
w1.setFrameShape(QFrame.NoFrame)
w1.setReadOnly(True)
t.addTab(w0, qApp.translate("Export", "Markdown source"))
t.addTab(w1, qApp.translate("Export", "HTML Source"))
t.addTab(w0, safeTranslate(qApp, "Export", "Markdown source"))
t.addTab(w1, safeTranslate(qApp, "Export", "HTML Source"))
if webView:
w2 = webView()
t.addTab(w2, qApp.translate("Export", "HTML Output"))
t.addTab(w2, safeTranslate(qApp, "Export", "HTML Output"))
t.setCurrentIndex(2)
return t

View file

@ -6,20 +6,22 @@ from manuskript.exporter.basic import basicExporter, basicFormat
from manuskript.exporter.manuskript.HTML import HTML
from manuskript.exporter.manuskript.markdown import markdown
from manuskript.exporter.manuskript.plainText import plainText
from manuskript.functions import appPath
from manuskript.functions import appPath, safeTranslate
import os
class manuskriptExporter(basicExporter):
name = "Manuskript"
description = qApp.translate("Export", "Default exporter, provides basic formats used by other exporters.")
description = safeTranslate(qApp, "Export", "Default exporter, provides basic formats used by other exporters.")
exportTo = [
plainText(),
markdown(),
HTML(),
basicFormat("OPML", icon="text-x-opml+xml")
]
icon = appPath("icons/Manuskript/icon-256px.png")
icon = appPath(os.path.join("icons", "Manuskript", "icon-256px.png"))
@classmethod
def isValid(cls):

View file

@ -4,14 +4,14 @@ from PyQt5.QtGui import QTextCharFormat, QFont
from PyQt5.QtWidgets import QPlainTextEdit, QGroupBox, qApp, QVBoxLayout, QCheckBox
from manuskript.exporter.manuskript.plainText import plainText
from manuskript.functions import mainWindow
from manuskript.functions import mainWindow, safeTranslate
from manuskript.ui.highlighters import MMDHighlighter
from manuskript.ui.exporters.manuskript.plainTextSettings import exporterSettings
class markdown(plainText):
name = "Markdown"
description = qApp.translate("Export", """Just like plain text, excepts adds markdown titles.
description = safeTranslate(qApp, "Export", """Just like plain text, excepts adds markdown titles.
Presupposes that texts are formatted in markdown.""")
exportVarName = "lastManuskriptMarkdown"
@ -57,7 +57,7 @@ class markdownSettings(exporterSettings):
w = self.toolBox.widget(self.toolBox.count() - 1)
self.grpMarkdown = QGroupBox(self.tr("Markdown"))
self.grpMarkdown.setLayout(QVBoxLayout())
self.chkMarkdownHighlighter = QCheckBox(qApp.translate("Export", "Preview with highlighter."))
self.chkMarkdownHighlighter = QCheckBox(safeTranslate(qApp, "Export", "Preview with highlighter."))
self.grpMarkdown.layout().addWidget(self.chkMarkdownHighlighter)
w.layout().insertWidget(w.layout().count() - 1, self.grpMarkdown)

View file

@ -5,7 +5,7 @@ from PyQt5.QtGui import QFont, QTextCharFormat
from PyQt5.QtWidgets import QPlainTextEdit, qApp, QFrame, QFileDialog, QMessageBox
from manuskript.exporter.basic import basicFormat
from manuskript.functions import mainWindow, getSaveFileNameWithSuffix
from manuskript.functions import mainWindow, getSaveFileNameWithSuffix, safeTranslate
from manuskript.models import outlineItem
from manuskript.ui.exporters.manuskript.plainTextSettings import exporterSettings
import codecs
@ -14,8 +14,8 @@ import logging
LOGGER = logging.getLogger(__name__)
class plainText(basicFormat):
name = qApp.translate("Export", "Plain text")
description = qApp.translate("Export", """Simplest export to plain text. Allows you to use your own markup not understood
name = safeTranslate(qApp, "Export", "Plain text")
description = safeTranslate(qApp, "Export", """Simplest export to plain text. Allows you to use your own markup not understood
by Manuskript, for example <a href='www.fountain.io'>Fountain</a>.""")
implemented = True
requires = {
@ -48,8 +48,8 @@ class plainText(basicFormat):
try:
return self.concatenate(mainWindow().mdlOutline.rootItem, settings)
except re.error as e:
QMessageBox.warning(mainWindow().dialog, qApp.translate("Export", "Error"),
qApp.translate("Export", "Could not process regular expression: \n{}").format(str(e)))
QMessageBox.warning(mainWindow().dialog, safeTranslate(qApp, "Export", "Error"),
safeTranslate(qApp, "Export", "Could not process regular expression: \n{}").format(str(e)))
return ""
def getExportFilename(self, settingsWidget, varName=None, filter=None):
@ -69,7 +69,7 @@ class plainText(basicFormat):
filename = ""
filename, filter = getSaveFileNameWithSuffix(settingsWidget.parent(),
caption=qApp.translate("Export", "Choose output file…"),
caption=safeTranslate(qApp, "Export", "Choose output file…"),
filter=filter,
directory=filename,
defaultSuffix=self.exportDefaultSuffix)
@ -96,7 +96,7 @@ class plainText(basicFormat):
LOGGER.error("No content. Nothing saved.")
return
with open(filename, "w", encoding='utf8') as f:
with open(filename, "wt", encoding="utf8", newline="\n") as f:
f.write(content)
def preview(self, settingsWidget, previewWidget):
@ -217,4 +217,3 @@ class plainText(basicFormat):
content += "\n"
return content

View file

@ -5,12 +5,14 @@ from PyQt5.QtCore import QUrl
from manuskript.exporter.manuskript import HTML as MskHTML
from manuskript.exporter.pandoc.abstractPlainText import abstractPlainText
from manuskript.functions import safeTranslate
import os
class HTML(abstractPlainText):
name = "HTML"
description = qApp.translate("Export", """A little known format modestly used. You know, web sites for example.""")
description = safeTranslate(qApp, "Export", """A little known format modestly used. You know, web sites for example.""")
icon = "text-html"
exportVarName = "lastPandocHTML"

View file

@ -7,7 +7,7 @@ from PyQt5.QtCore import QUrl
from PyQt5.QtWidgets import qApp
from manuskript.exporter.pandoc.abstractOutput import abstractOutput
from manuskript.functions import tempFile
from manuskript.functions import tempFile, safeTranslate
from manuskript.ui.views.PDFViewer import PDFViewer
@ -15,8 +15,8 @@ class PDF(abstractOutput):
"""PDF Viewer using PDF.js. Cf. https://github.com/mozilla/pdf.js/wiki/Setup-PDF.js-in-a-website"""
name = "PDF"
description = qApp.translate("Export", "Needs LaTeX to be installed.")
InvalidBecause = qApp.translate("Export", """a valid LaTeX installation. Pandoc recommendations can be found on:
description = safeTranslate(qApp, "Export", "Needs LaTeX to be installed.")
InvalidBecause = safeTranslate(qApp, "Export", """a valid LaTeX installation. Pandoc recommendations can be found on:
<a href="https://pandoc.org/installing.html">pandoc.org/installing.html</a>. If you want Unicode support, you need XeLaTeX.""")
icon = "application-pdf"

View file

@ -11,7 +11,7 @@ from manuskript.exporter.pandoc.HTML import HTML
from manuskript.exporter.pandoc.PDF import PDF
from manuskript.exporter.pandoc.outputFormats import ePub, OpenDocument, DocX
from manuskript.exporter.pandoc.plainText import reST, markdown, latex, OPML
from manuskript.functions import mainWindow
from manuskript.functions import mainWindow, safeTranslate
import logging
LOGGER = logging.getLogger(__name__)
@ -19,7 +19,7 @@ LOGGER = logging.getLogger(__name__)
class pandocExporter(basicExporter):
name = "Pandoc"
description = qApp.translate("Export", """<p>A universal document converter. Can be used to convert Markdown to a wide range of other
description = safeTranslate(qApp, "Export", """<p>A universal document converter. Can be used to convert Markdown to a wide range of other
formats.</p>
<p>Website: <a href="http://www.pandoc.org">http://pandoc.org/</a></p>
""")
@ -99,12 +99,16 @@ class pandocExporter(basicExporter):
qApp.restoreOverrideCursor()
if stderr or p.returncode != 0:
err = "ERROR on export" + "\n" \
+ "Return code" + ": %d\n" % (p.returncode) \
+ "Command and parameters" + ":\n%s\n" % (p.args) \
+ "Stderr content" + ":\n" + stderr.decode("utf-8")
LOGGER.error(err)
QMessageBox.critical(mainWindow().dialog, qApp.translate("Export", "Error"), err)
err_type = "ERROR" if p.returncode != 0 else "WARNING"
err = "%s on export\n" % err_type \
+ "Return code: %d\n" % p.returncode \
+ "Command and parameters:\n%s\n" % p.args \
+ "Stderr content:\n" + stderr.decode("utf-8")
if p.returncode != 0:
LOGGER.error(err)
QMessageBox.critical(mainWindow().dialog, safeTranslate(qApp, "Export", "Error"), err)
else:
LOGGER.warning(err)
return None
return stdout.decode("utf-8")

View file

@ -7,6 +7,10 @@ from PyQt5.QtWidgets import qApp, QVBoxLayout, QCheckBox, QWidget, QHBoxLayout,
from manuskript.exporter.manuskript.markdown import markdown, markdownSettings
from manuskript.ui.collapsibleGroupBox2 import collapsibleGroupBox2
from manuskript.functions import safeTranslate
import logging
LOGGER = logging.getLogger(__name__)
class abstractPlainText(markdown):
@ -23,13 +27,15 @@ class abstractPlainText(markdown):
def settingsWidget(self):
# Get pandoc major version to determine valid command line options
p = re.compile(r'pandoc (\d+)\..*')
p = re.compile(r'pandoc (\d+)\.(\d+).*')
m = p.match(self.exporter.version())
if m:
majorVersion = m.group(1)
minorVersion = m.group(2)
else:
majorVersion = ""
w = pandocSettings(self, majorVersion, toFormat=self.toFormat)
minorVersion = ""
w = pandocSettings(self, majorVersion, minorVersion, toFormat=self.toFormat)
w.loadSettings()
return w
@ -56,8 +62,35 @@ class abstractPlainText(markdown):
previewWidget.setPlainText(r)
def versionAsInt(version):
if version is None:
return 0
try:
return int(version)
except ValueError:
return 0
def versionToIntArray(version):
if version is None:
return [0, 0]
p = re.compile(r'(\d+)\.(\d+).*')
m = p.match(version)
if m:
majorVersion = m.group(1)
minorVersion = m.group(2)
else:
majorVersion = ""
minorVersion = ""
return [ versionAsInt(majorVersion), versionAsInt(minorVersion) ]
class pandocSetting:
def __init__(self, arg, type, format, label, widget=None, default=None, min=None, max=None, vals=None, suffix=""):
def __init__(self, arg, type, format, label, widget=None, default=None, min=None, max=None, vals=None, suffix="",
minVersion=None, maxVersion=None, specific=False, toc=False):
self.arg = arg # start with EXT for extensions
self.type = type
self.label = label
@ -70,6 +103,10 @@ class pandocSetting:
self.max = max
self.vals = vals.split("|") if vals else []
self.suffix = suffix
self.minVersion = versionToIntArray(minVersion)
self.maxVersion = versionToIntArray(maxVersion)
self.specific = specific
self.toc = toc
def isValid(self, format):
"""Return whether the specific setting is active with the given format."""
@ -88,120 +125,143 @@ class pandocSetting:
return False
def isCompatible(self, majorVersion, minorVersion):
majorNumber = versionAsInt(majorVersion)
minorNumber = versionAsInt(minorVersion)
if (majorNumber < self.minVersion[0]) or ((majorNumber == self.minVersion[0]) and
(minorNumber < self.minVersion[1])):
return False
if (self.maxVersion[0] == 0) and (self.maxVersion[1] == 0):
return True
return (majorNumber < self.maxVersion[0]) or ((majorNumber == self.maxVersion[0]) and
(minorNumber <= self.maxVersion[1]))
def isSpecific(self):
return self.specific
def isTOC(self):
return self.toc
class pandocSettings(markdownSettings):
settingsList = {
# General
"standalone": pandocSetting("--standalone", "checkbox", "",
qApp.translate("Export", "Standalone document (not just a fragment)"),
safeTranslate(qApp, "Export", "Standalone document (not just a fragment)"),
default=True),
"TOC": pandocSetting("--toc", "checkbox", "",
qApp.translate("Export", "Include a table of contents.")),
safeTranslate(qApp, "Export", "Include a table of contents."), toc=True),
"TOC-depth": pandocSetting("--toc-depth=", "number", "",
qApp.translate("Export", "Number of sections level to include in TOC: "),
default=3, min=1, max=6),
safeTranslate(qApp, "Export", "Number of sections level to include in TOC: "),
default=3, min=1, max=6, toc=True, minVersion="1.10"),
# pandoc v1 only
"smart": pandocSetting("--smart", "checkbox", "",
qApp.translate("Export", "Typographically correct output")),
safeTranslate(qApp, "Export", "Typographically correct output"),
maxVersion="1.19.2.4"),
# pandoc v1 only
"normalize": pandocSetting("--normalize", "checkbox", "",
qApp.translate("Export", "Normalize the document (cleaner)")),
"base-header": pandocSetting("--shift-heading-level-by=", "number", "",
qApp.translate("Export", "Specify the base level for headers: "),
default=0, min=0),
safeTranslate(qApp, "Export", "Normalize the document (cleaner)"),
minVersion="1.8", maxVersion="1.19.2.4"),
# pandoc v1.5 to 2.7.3
"base-header": pandocSetting("--base-header-level=", "number", "",
safeTranslate(qApp, "Export", "Specify the base level for headers: "),
default=1, min=1, minVersion="1.5", maxVersion="2.7.3"),
# pandoc v2.8+
"shift-heading": pandocSetting("--shift-heading-level-by=", "number", "",
safeTranslate(qApp, "Export", "Specify the base level for headers: "),
default=0, min=0, minVersion="2.8"),
"disable-YAML": pandocSetting("EXT-yaml_metadata_block", "checkbox", "",
qApp.translate("Export", "Disable YAML metadata block.\nUse that if you get YAML related error.")),
safeTranslate(qApp, "Export", "Disable YAML metadata block.\nUse that if you get YAML related error."),
minVersion="1.12"),
"hard-line-breaks": pandocSetting("EXT-hard_line_block", "checkbox", "",
safeTranslate(qApp, "Export", "Enable the support on markdown for line break on new line."),
minVersion="1.16"),
# Specific
"ref-link": pandocSetting("--reference-links", "checkbox", "markdown rst",
qApp.translate("Export", "Use reference-style links instead of inline links")),
safeTranslate(qApp, "Export", "Use reference-style links instead of inline links"),
specific=True),
# pandoc v1.9 to v2.11.1
"atx": pandocSetting("--atx-headers", "checkbox", "markdown asciidoc",
qApp.translate("Export", "Use ATX-style headers")),
safeTranslate(qApp, "Export", "Use ATX-style headers"), specific=True,
minVersion="1.9", maxVersion="2.11.1"),
# pandoc v2.11.2+
"atx-heading": pandocSetting("--markdown-headings=atx|setext", "checkbox", "markdown asciidoc",
safeTranslate(qApp, "Export", "Use ATX-style headers"), specific=True,
minVersion="2.11.2"),
"self-contained": pandocSetting("--self-contained", "checkbox", "html",
qApp.translate("Export", "Self-contained HTML files, with no dependencies")),
safeTranslate(qApp, "Export", "Self-contained HTML files, with no dependencies"),
specific=True, minVersion="1.9"),
"q-tags": pandocSetting("--html-q-tags", "checkbox", "html",
qApp.translate("Export", "Use <q> tags for quotes in HTML")),
safeTranslate(qApp, "Export", "Use <q> tags for quotes in HTML"), specific=True,
minVersion="1.10"),
# pandoc v1 only
"latex-engine": pandocSetting("--latex-engine=", "combo", "pdf",
qApp.translate("Export", "LaTeX engine used to produce the PDF."),
vals="pdflatex|lualatex|xelatex"),
safeTranslate(qApp, "Export", "LaTeX engine used to produce the PDF."),
vals="pdflatex|lualatex|xelatex", specific=True,
minVersion="1.9", maxVersion="1.19.2.4"),
# pandoc v2
"pdf-engine": pandocSetting("--pdf-engine=", "combo", "pdf",
qApp.translate("Export", "LaTeX engine used to produce the PDF."),
vals="pdflatex|lualatex|xelatex"),
safeTranslate(qApp, "Export", "LaTeX engine used to produce the PDF."),
vals="pdflatex|lualatex|xelatex", minVersion="2.0", specific=True),
"epub3": pandocSetting("EXTepub3", "checkbox", "epub",
qApp.translate("Export", "Convert to ePUB3")),
}
pdfSettings = {
safeTranslate(qApp, "Export", "Convert to ePUB3"), specific=True,
minVersion="1.10"),
# PDF
"latex-ps": pandocSetting("--variable=papersize:", "combo", "pdf latex", # FIXME: does not work with default template
qApp.translate("Export", "Paper size:"),
vals="letter|A4|A5"),
safeTranslate(qApp, "Export", "Paper size:"),
vals="letter|A4|A5", specific=True, minVersion="1.4"),
"latex-fs": pandocSetting("--variable=fontsize:", "number", "pdf latex", # FIXME: does not work with default template
qApp.translate("Export", "Font size:"),
min=8, max=88, default=12, suffix="pt"),
safeTranslate(qApp, "Export", "Font size:"),
min=8, max=88, default=12, suffix="pt", specific=True, minVersion="1.4"),
"latex-class": pandocSetting("--variable=documentclass:", "combo", "pdf latex",
qApp.translate("Export", "Class:"),
vals="article|report|book|memoir"),
safeTranslate(qApp, "Export", "Class:"),
vals="article|report|book|memoir", specific=True, minVersion="1.4"),
"latex-ls": pandocSetting("--variable=linestretch:", "combo", "pdf latex",
qApp.translate("Export", "Line spacing:"),
vals="1|1.25|1.5|2"),
safeTranslate(qApp, "Export", "Line spacing:"),
vals="1|1.25|1.5|2", specific=True, minVersion="1.4"),
# FIXME: complete with http://pandoc.org/README.html#variables-for-latex
}
def __init__(self, _format, majorVersion="", toFormat=None, parent=None):
def __init__(self, _format, majorVersion="", minorVersion="", toFormat=None, parent=None):
markdownSettings.__init__(self, _format, parent)
self.format = toFormat
self.majorVersion = majorVersion
self.minorVersion = minorVersion
dropSettings = []
for key, setting in self.settingsList.items():
if not setting.isCompatible(self.majorVersion, self.minorVersion):
dropSettings.append(key)
LOGGER.info(f'Using pandoc settings: {self.majorVersion}.{self.minorVersion}, dropping: {dropSettings}')
for key in dropSettings:
self.settingsList.pop(key, None)
w = QWidget(self)
w.setLayout(QVBoxLayout())
self.grpPandocGeneral = self.collapsibleGroupBox(self.tr("General"), w)
if majorVersion == "1":
# pandoc v1 only
self.addSettingsWidget("smart", self.grpPandocGeneral)
self.addSettingsWidget("normalize", self.grpPandocGeneral)
else:
# pandoc v2
self.settingsList.pop("smart", None)
self.settingsList.pop("normalize", None)
self.addSettingsWidget("base-header", self.grpPandocGeneral)
self.addSettingsWidget("standalone", self.grpPandocGeneral)
self.addSettingsWidget("disable-YAML", self.grpPandocGeneral)
self.grpPandocSpecific = self.collapsibleGroupBox(self.tr("Custom settings for {}").format(self.format), w)
self.grpPandocTOC = self.collapsibleGroupBox(self.tr("Table of Content"), w)
self.addSettingsWidget("TOC", self.grpPandocTOC)
self.addSettingsWidget("TOC-depth", self.grpPandocTOC)
self.grpPandocSpecific = self.collapsibleGroupBox(self.tr("Custom settings for {}").format(self.format), w)
self.addSettingsWidget("ref-link", self.grpPandocSpecific)
self.addSettingsWidget("atx", self.grpPandocSpecific)
self.addSettingsWidget("self-contained", self.grpPandocSpecific)
self.addSettingsWidget("q-tags", self.grpPandocSpecific)
if majorVersion == "1":
# pandoc v1 only
self.addSettingsWidget("latex-engine", self.grpPandocSpecific)
self.settingsList.pop("pdf-engine", None)
else:
# pandoc v2
self.settingsList.pop("latex-engine", None)
self.addSettingsWidget("pdf-engine", self.grpPandocSpecific)
self.addSettingsWidget("epub3", self.grpPandocSpecific)
# PDF settings
self.settingsList.update(self.pdfSettings)
for i in self.pdfSettings:
self.addSettingsWidget(i, self.grpPandocSpecific)
for key, setting in self.settingsList.items():
if setting.isTOC():
self.addSettingsWidget(key, self.grpPandocTOC)
elif setting.isSpecific():
self.addSettingsWidget(key, self.grpPandocSpecific)
else:
self.addSettingsWidget(key, self.grpPandocGeneral)
self.toolBox.insertItem(self.toolBox.count() - 1, w, "Pandoc")
self.toolBox.layout().setSpacing(0) # Not sure why this is needed, but hey...
@ -311,6 +371,8 @@ class pandocSettings(markdownSettings):
extensions += "-yaml_metadata_block"
if name == "epub3" and s.widget.isChecked():
toFormat = "epub3"
if name == "hard-line-breaks" and s.widget.isChecked():
extensions += "+hard_line_breaks"
r = ["--from=markdown" + extensions,
"--to={}".format(toFormat)]

View file

@ -3,11 +3,12 @@
from PyQt5.QtWidgets import qApp
from manuskript.exporter.pandoc.abstractOutput import abstractOutput
from manuskript.functions import safeTranslate
class ePub(abstractOutput):
name = "ePub"
description = qApp.translate("Export", """Books that don't kill trees.""")
description = safeTranslate(qApp, "Export", """Books that don't kill trees.""")
icon = "application-epub+zip"
exportVarName = "lastPandocePub"
@ -18,7 +19,7 @@ class ePub(abstractOutput):
class OpenDocument(abstractOutput):
name = "OpenDocument"
description = qApp.translate("Export", "OpenDocument format. Used by LibreOffice for example.")
description = safeTranslate(qApp, "Export", "OpenDocument format. Used by LibreOffice for example.")
exportVarName = "lastPandocODT"
toFormat = "odt"
@ -29,7 +30,7 @@ class OpenDocument(abstractOutput):
class DocX(abstractOutput):
name = "DocX"
description = qApp.translate("Export", "Microsoft Office (.docx) document.")
description = safeTranslate(qApp, "Export", "Microsoft Office (.docx) document.")
exportVarName = "lastPandocDocX"
toFormat = "docx"

View file

@ -3,11 +3,12 @@
from PyQt5.QtWidgets import qApp
from manuskript.exporter.pandoc.abstractPlainText import abstractPlainText
from manuskript.functions import safeTranslate
class markdown(abstractPlainText):
name = "Markdown"
description = qApp.translate("Export", """Export to markdown, using pandoc. Allows more formatting options
description = safeTranslate(qApp, "Export", """Export to markdown, using pandoc. Allows more formatting options
than the basic manuskript exporter.""")
icon = "text-x-markdown"
@ -19,7 +20,7 @@ class markdown(abstractPlainText):
class reST(abstractPlainText):
name = "reST"
description = qApp.translate("Export", """reStructuredText is a lightweight markup language.""")
description = safeTranslate(qApp, "Export", """reStructuredText is a lightweight markup language.""")
exportVarName = "lastPandocreST"
toFormat = "rst"
@ -30,7 +31,7 @@ class reST(abstractPlainText):
class latex(abstractPlainText):
name = "LaTeX"
description = qApp.translate("Export", """LaTeX is a word processor and document markup language used to create
description = safeTranslate(qApp, "Export", """LaTeX is a word processor and document markup language used to create
beautiful documents.""")
exportVarName = "lastPandocLatex"
@ -42,7 +43,7 @@ class latex(abstractPlainText):
class OPML(abstractPlainText):
name = "OPML"
description = qApp.translate("Export", """The purpose of this format is to provide a way to exchange information
description = safeTranslate(qApp, "Export", """The purpose of this format is to provide a way to exchange information
between outliners and Internet services that can be browsed or controlled
through an outliner.""")

View file

@ -23,18 +23,21 @@ AUC = Qt.AutoConnection | Qt.UniqueConnection
MW = None
def safeTranslate(qApp, group, text):
try:
return qApp.translate(group, text)
except:
return text
def wordCount(text):
t = text.strip().replace(" ", "\n").split("\n")
t = [l for l in t if l]
return len(t)
return len(re.findall(r"\S+", re.sub(r"(<!--).+?(-->)", "", text, flags=re.DOTALL)))
def charCount(text, use_spaces = True):
t = text.strip()
if not use_spaces:
t = t.replace(" ", "")
return len(t)
if use_spaces:
return len(re.findall(r"[\S ]", text))
else:
return len(re.findall(r"\S", text))
validate_ok = lambda *args, **kwargs: True
def uiParse(input, default, converter, validator=validate_ok):
@ -92,7 +95,7 @@ def drawProgress(painter, rect, progress, radius=0):
painter.setBrush(QBrush(colorFromProgress(progress)))
r2 = QRect(rect)
r2.setWidth(r2.width() * min(progress, 1))
r2.setWidth(int(r2.width() * min(progress, 1)))
painter.drawRoundedRect(r2, radius, radius)
@ -175,24 +178,25 @@ def randomColor(mix=None):
b = randint(0, 255)
if mix:
r = (r + mix.red()) / 2
g = (g + mix.green()) / 2
b = (b + mix.blue()) / 2
r = int((r + mix.red()) / 2)
g = int((g + mix.green()) / 2)
b = int((b + mix.blue()) / 2)
return QColor(r, g, b)
def mixColors(col1, col2, f=.5):
def mixColors(col1, col2, f=0.5):
fromString = False
if type(col1) == str:
fromString = True
col1 = QColor(col1)
if type(col2) == str:
col2 = QColor(col2)
f2 = 1-f
r = col1.red() * f + col2.red() * f2
g = col1.green() * f + col2.green() * f2
b = col1.blue() * f + col2.blue() * f2
f2 = 1.0 - f
r = int(col1.red() * f + col2.red() * f2)
g = int(col1.green() * f + col2.green() * f2)
b = int(col1.blue() * f + col2.blue() * f2)
return QColor(r, g, b) if not fromString else QColor(r, g, b).name()
@ -248,7 +252,7 @@ def colorifyPixmap(pixmap, color):
def appPath(suffix=None):
p = os.path.realpath(os.path.join(os.path.split(__file__)[0], "../.."))
p = os.path.realpath(os.path.join(os.path.split(__file__)[0], os.path.join("..", "..")))
if suffix:
p = os.path.join(p, suffix)
return p
@ -301,7 +305,7 @@ def findBackground(filename):
"""
Returns the full path to a background file of name filename within resources folders.
"""
return findFirstFile(re.escape(filename), "resources/backgrounds")
return findFirstFile(re.escape(filename), os.path.join("resources", "backgrounds"))
def findFirstFile(regex, path="resources"):
@ -407,7 +411,7 @@ def statusMessage(message, duration=5000, importance=1):
MW.statusLabel.adjustSize()
g = MW.statusLabel.geometry()
# g.moveCenter(MW.mapFromGlobal(MW.geometry().center()))
s = MW.layout().spacing() / 2
s = int(MW.layout().spacing() / 2)
g.setLeft(s)
g.moveBottom(MW.mapFromGlobal(MW.geometry().bottomLeft()).y() - s)
MW.statusLabel.setGeometry(g)
@ -465,7 +469,7 @@ def search(searchRegex, text):
:return: list of tuples (startPos, endPos)
"""
if text is not None:
return [(m.start(), m.end(), getSearchResultContext(text, m.start(), m.end())) for m in searchRegex.finditer(text)]
return [(m.start(), m.end(), getSearchResultContext(text, m.start(), m.end())) for m in searchRegex.finditer(str(text))]
else:
return []
@ -507,7 +511,7 @@ def getManuskriptPath(follow_symlinks=True):
path = os.path.abspath(sys.executable)
else:
import inspect
path = inspect.getabsfile(getManuskriptPath) + "/../.."
path = os.path.join(inspect.getabsfile(getManuskriptPath), "..", "..")
if follow_symlinks:
path = os.path.realpath(path)
return os.path.dirname(path)

View file

@ -0,0 +1,56 @@
from manuskript.functions.history.NavigatedEvent import NavigatedEvent
from manuskript.functions.history.Signal import Signal
class History():
def __init__(self) -> None:
self._entries = []
self._position = 0
self.navigated = Signal()
self._navigating = False
def next(self, entry):
if self._navigating:
return
while self._position < len(self._entries) - 1:
self._entries.pop()
self._entries.append(entry)
self._position = len(self._entries) - 1
self._navigating = True
self.navigated.fire(NavigatedEvent(self._position, len(self._entries), entry))
self._navigating = False
def replace(self, entry):
if self._navigating:
return
while self._position < len(self._entries):
self._entries.pop()
self._entries.append(entry)
self._position = len(self._entries) - 1
self._navigating = True
self.navigated.fire(NavigatedEvent(self._position, len(self._entries), entry))
self._navigating = False
def forward(self):
if self._position < len(self._entries) - 1:
self._position += 1
self._navigating = True
self.navigated.fire(NavigatedEvent(self._position, len(self._entries), self._entries[self._position]))
self._navigating = False
def back(self):
if self._position > 0:
self._position -= 1
self._navigating = True
self.navigated.fire(NavigatedEvent(self._position, len(self._entries), self._entries[self._position]))
self._navigating = False
def reset(self):
self._entries.clear()
self._position = 0
self.navigated.fire(NavigatedEvent(self._position, len(self._entries), None))

View file

@ -0,0 +1,5 @@
class NavigatedEvent():
def __init__(self, position, count, entry) -> None:
self.position = position
self.count = count
self.entry = entry

View file

@ -0,0 +1,23 @@
class Signal():
def __init__(self) -> None:
self._methods = []
def connect(self, func):
self._methods.append(func)
def disconnect(self, func):
try:
self._methods.remove(func)
except ValueError:
raise TypeError
def disconnect(self):
if len(self._methods) == 0:
raise TypeError
self._methods.pop()
def fire(self, data):
for m in self._methods:
m(data)

View file

@ -1,7 +1,7 @@
#!/usr/bin/env python
# --!-- coding: utf8 --!--
import os, gzip, json, glob, re
import os, gzip, json, glob, re, string
from PyQt5.QtCore import QLocale
from collections import OrderedDict
from manuskript.functions import writablePath
@ -23,7 +23,7 @@ try:
if distutils.version.LooseVersion(symspellpy.__version__) < SYMSPELLPY_MIN_VERSION:
symspellpy = None
except ImportError:
symspellpy = None
@ -148,7 +148,7 @@ class BasicDictionary:
self._customDict = set()
customPath = self.getCustomDictionaryPath()
try:
with gzip.open(customPath, "rt", encoding='utf-8') as f:
with gzip.open(customPath, 'rt', encoding='utf-8') as f:
self._customDict = set(json.loads(f.read()))
for word in self._customDict:
self._dict.create_dictionary_entry(word, self.CUSTOM_COUNT)
@ -187,6 +187,7 @@ class BasicDictionary:
def checkText(self, text):
# Based on http://john.nachtimwald.com/2009/08/22/qplaintextedit-with-in-line-spell-check/
WORDS = r'(?iu)((?:[^_\W]|\')+)[^A-Za-z0-9\']'
# (?iu) means case insensitive and Unicode
# ((?:[^_\W]|\')+) means words exclude underscores but include apostrophes
# [^A-Za-z0-9\'] used with above hack to prevent spellcheck while typing word
@ -197,8 +198,30 @@ class BasicDictionary:
for word_object in re.finditer(WORDS, text):
word = word_object.group(1)
mispelled = self.isMisspelled(word)
if mispelled == False:
continue
punctuation = string.punctuation.replace('-', '')
FALSE_POSITIVE = r'^[^\w]|([^{}])$'.format(punctuation)
#inorder to prevent apostrophes causing false positives and keep the same functionality otherwise,
#check that the word doesn't have any additional punctuation on it.
if re.match(FALSE_POSITIVE, word):
# ^[^\w] checks that it doesn't start with a word character
# ([\p{P}'])$ checks it doesn't end with punctuation characters
apostrophe_WORDS = r'(?iu)\b(?<=[\s\'"(])((?:[a-zA-Z]|\')+)(?=\b)'
# \b(?<=[\s\'"(]) looks for nonword characters and starts grouping after
# (?=\b) looks for the word boundary
# ((?:[a-zA-Z]|\')+) greedily matches for letters and apostrophes
temp = re.match(apostrophe_WORDS, word)
mispelled = self.isMisspelled(temp.group(1)) if temp else False
if (mispelled and not self.isCustomWord(word)):
if (self.isMisspelled(word) and not self.isCustomWord(word)):
matches.append(BasicMatch(
word_object.start(1), word_object.end(1)
))
@ -250,7 +273,7 @@ class BasicDictionary:
def _saveCustomDict(self):
customPath = self.getCustomDictionaryPath()
with gzip.open(customPath, "wt") as f:
with gzip.open(customPath, "wt", newline="\n") as f:
f.write(json.dumps(list(self._customDict)))
@ -363,7 +386,7 @@ class PySpellcheckerDictionary(BasicDictionary):
def getSuggestions(self, word):
candidates = self._dict.candidates(word)
if word in candidates:
if candidates and word in candidates:
candidates.remove(word)
return candidates
@ -393,7 +416,7 @@ class SymSpellDictionary(BasicDictionary):
if pyspellchecker:
path = os.path.join(pyspellchecker.__path__[0], "resources", "{}.json.gz".format(self.name))
if os.path.exists(path):
with gzip.open(path, "rt", encoding='utf-8') as f:
with gzip.open(path, 'rt', encoding='utf-8') as f:
data = json.loads(f.read())
for key in data:
self._dict.create_dictionary_entry(key, data[key])
@ -552,7 +575,10 @@ class LanguageToolDictionary(BasicDictionary):
@staticmethod
def getTool():
if LanguageToolDictionary._tool == None:
LanguageToolDictionary._tool = languagetool.LanguageTool()
try:
LanguageToolDictionary._tool = languagetool.LanguageTool()
except:
return None
return LanguageToolDictionary._tool
@ -569,7 +595,7 @@ class LanguageToolDictionary(BasicDictionary):
@staticmethod
def isInstalled():
if languagetool != None:
if (languagetool != None) and (LanguageToolDictionary.getTool() != None):
# This check, if Java is installed, is necessary to
# make sure LanguageTool can be run without problems.

View file

@ -5,6 +5,8 @@ import os
from manuskript.importer.abstractImporter import abstractImporter
from manuskript.models import outlineItem
from manuskript.enums import Outline
from manuskript.functions import safeTranslate
from PyQt5.QtWidgets import qApp
@ -44,7 +46,7 @@ class folderImporter(abstractImporter):
fName, fExt = os.path.splitext(f)
if fExt.lower() in ext:
try:
with open(os.path.join(dirpath, f), "r", encoding="utf-8") as fr:
with open(os.path.join(dirpath, f), 'rt', encoding="utf-8") as fr:
content = fr.read()
child = outlineItem(title=fName, _type="md", parent=item)
child._data[Outline.text] = content
@ -94,33 +96,29 @@ class folderImporter(abstractImporter):
# Add group
group = self.addGroup(widget.toolBox.widget(0),
qApp.translate("Import", "Folder import"))
safeTranslate(qApp, "Import", "Folder import"))
#group = cls.addPage(widget, "Folder import")
self.addSetting("info", "label",
qApp.translate("Import", """<p><b>Info:</b> Imports a whole
safeTranslate(qApp, "Import", """<p><b>Info:</b> Imports a whole
directory structure. Folders are added as folders, and
plaintext documents within (you chose which ones by extension)
are added as scene.</p>
<p>Only text files are supported (not images, binary or others).</p>"""))
self.addSetting("ext", "text",
qApp.translate("Import", "Include only those extensions:"),
safeTranslate(qApp, "Import", "Include only those extensions:"),
default="*.txt, *.md",
tooltip=qApp.translate("Import", "Comma separated values")),
tooltip=safeTranslate(qApp, "Import", "Comma separated values")),
self.addSetting("sortItems", "checkbox",
qApp.translate("Import", "Sort items by name"),
safeTranslate(qApp, "Import", "Sort items by name"),
default=True),
self.addSetting("separateFolderFiles", "checkbox",
qApp.translate("Import", "Import folder then files"),
safeTranslate(qApp, "Import", "Import folder then files"),
default=True),
self.addSettingsTo(group)
return widget

View file

@ -4,6 +4,8 @@
from manuskript.importer.abstractImporter import abstractImporter
from manuskript.models import outlineItem
from manuskript.enums import Outline
from manuskript.functions import safeTranslate
from PyQt5.QtWidgets import qApp
import re, os
@ -63,7 +65,7 @@ class markdownImporter(abstractImporter):
if not fromString:
# Read file
with open(filePath, "r", encoding="utf-8") as f:
with open(filePath, 'rt', encoding="utf-8") as f:
txt = f.read()
else:
txt = fromString
@ -173,11 +175,11 @@ class markdownImporter(abstractImporter):
# Add group
group = self.addGroup(widget.toolBox.widget(0),
qApp.translate("Import", "Markdown import"))
safeTranslate(qApp, "Import", "Markdown import"))
#group = cls.addPage(widget, "Folder import")
self.addSetting("info", "label",
qApp.translate("Import", """<b>Info:</b> A very simple
safeTranslate(qApp, "Import", """<b>Info:</b> A very simple
parser that will go through a markdown document and
create items for each titles.<br/>&nbsp;"""))

View file

@ -5,10 +5,11 @@ from PyQt5.QtWidgets import qApp, QMessageBox
from manuskript.models import outlineItem
from manuskript.enums import Outline
from lxml import etree as ET
from manuskript.functions import mainWindow
from manuskript.functions import mainWindow, safeTranslate
from manuskript.importer.abstractImporter import abstractImporter
from manuskript.converters import HTML2MD, HTML2PlainText
class mindMapImporter(abstractImporter):
name = "Mind Map"
@ -54,8 +55,8 @@ class mindMapImporter(abstractImporter):
if not ret:
QMessageBox.critical(
settingsWidget,
qApp.translate("Import", "Mind Map Import"),
qApp.translate("Import", "This does not appear to be a valid Mind Map file."))
safeTranslate(qApp, "Import", "Mind Map Import"),
safeTranslate(qApp, "Import", "This does not appear to be a valid Mind Map file."))
return None
@ -68,10 +69,10 @@ class mindMapImporter(abstractImporter):
# Add group
group = self.addGroup(widget.toolBox.widget(0),
qApp.translate("Import", "Mind Map import"))
safeTranslate(qApp, "Import", "Mind Map import"))
self.addSetting("importTipAs", "combo",
qApp.translate("Import", "Import tip as:"),
safeTranslate(qApp, "Import", "Import tip as:"),
vals="Text|Folder",
)
@ -86,7 +87,7 @@ class mindMapImporter(abstractImporter):
# Title
title = underElement.get('TEXT', "").replace("\n", " ")
if not title:
title = qApp.translate("Import", "Untitled")
title = safeTranslate(qApp, "Import", "Untitled")
item = outlineItem(parent=parentItem, title=title)
items.append(item)

View file

@ -5,9 +5,10 @@ from PyQt5.QtWidgets import qApp, QMessageBox
from manuskript.models import outlineItem
from manuskript.enums import Outline
from lxml import etree as ET
from manuskript.functions import mainWindow
from manuskript.functions import mainWindow, safeTranslate
from manuskript.importer.abstractImporter import abstractImporter
class opmlImporter(abstractImporter):
name = "OPML"
@ -34,8 +35,8 @@ class opmlImporter(abstractImporter):
opmlContent = opmlFile.read()
except:
QMessageBox.critical(settingsWidget,
qApp.translate("Import", "OPML Import"),
qApp.translate("Import", "File open failed."))
safeTranslate(qApp, "Import", "OPML Import"),
safeTranslate(qApp, "Import", "File open failed."))
return None
elif fromString == "":
@ -63,8 +64,8 @@ class opmlImporter(abstractImporter):
if not ret:
QMessageBox.critical(
settingsWidget,
qApp.translate("Import", "OPML Import"),
qApp.translate("Import", "This does not appear to be a valid OPML file."))
safeTranslate(qApp, "Import", "OPML Import"),
safeTranslate(qApp, "Import", "This does not appear to be a valid OPML file."))
return None

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