Commit Graph

539 Commits

Author SHA1 Message Date
Veronica Berglyd Olsen 2f547033cd Simplify all other strings in main project class 2022-04-16 17:00:08 +02:00
Veronica Berglyd Olsen 048e5faa1f Also simplify item labels, due to XML limitations 2022-04-16 16:44:39 +02:00
Veronica Berglyd Olsen c5f92edaa8 Update the NWProject class test for status and import labels 2022-04-16 16:27:46 +02:00
Veronica Berglyd Olsen d7a8cb1537 Rewrite NWStatus class tests 2022-04-16 15:38:13 +02:00
Veronica Berglyd Olsen fedb064b1f Fix other tests 2022-04-16 15:01:55 +02:00
Veronica Berglyd Olsen 23fd6b815f Save both status and importance flags (#1030)
* Put the status icons in the status object itself
* Allow saving both status and importance values
* Update current tests
* Improve test coverage
* Update sample project file
2022-04-03 22:43:11 +02:00
Veronica Berglyd Olsen a04b44d890 Add Lorem Ipsum tool (#1028)
* Add a Lorem Ipsum dialog
* Add the Lorem Ipsum text and insert action
* Add test coverage
2022-04-02 17:41:35 +02:00
Veronica Berglyd Olsen 6e3262f78e Minor fixes and updates (#1026)
* Make the Tokenizer class an abstract class
* Fix error message when opening non-file project items
2022-03-20 17:00:29 +01:00
Veronica Berglyd Olsen 6317202626 Merge branch 'main' into merge_1.6.1 2022-03-16 23:11:59 +01:00
Veronica Berglyd Olsen 1c7708babd Fix infinite search loop bug (#1016)
* Make sure the search loop in the editor cannot run infinitely
* Add test coverage of infinite search case
* Run GitHub actions against the patch branch
2022-03-16 22:34:29 +01:00
Veronica Berglyd Olsen 011291f225 Drop support for Python 3.6 (#1004)
* Drop support for Python 3.6
* Remove unused time parsing function
* Use Python 3.7 datetime function for writing stats data conversion
* Test against Python 3.10 on macOS and Windows
2022-02-20 23:35:33 +01:00
Veronica Berglyd Olsen 045a595537 Implement project file format 1.4 (#993)
* Update the item class with more compact item storage format
* Bump version and file version
* Update tests
* Add explicit test coverage for format conversions for item class
* Update the documentation
2022-02-20 22:05:31 +01:00
Veronica Berglyd Olsen 85ea9f5b19 Add automatic index rebuild (#975)
* Rebuild the index automatically if not all files are in the index on open
* Update tests
2022-01-25 17:41:34 +01:00
Veronica Berglyd Olsen ec07cebb51 Handle IO error on document save (#961)
* Add try/except to document replace call
* Try the os.replace command 5 times
* Just use else condition on for loop instead
* Make the exceptions explicitly OSError
* Revert the os.replace loop, as this is not the issue
2022-01-19 19:13:08 +01:00
Veronica Berglyd Olsen 074718aedc Clean up GUI text (#969)
* Remove all statustip entries in the menu
* Prune text in Preferences
* Fix class labels
* Remove some redundant tooltips
* Improve some labels and dialogs
* Remove some more tooltips and fix a typo
* Update base ts file
* Fix typo
2022-01-18 22:16:25 +01:00
Veronica Berglyd Olsen 25038e6cbb Add support for external translation tools (#968)
* Make some minor translation fixes
* Remove crowdin file and add import function for crowdin zip file
* Rename fallback project lang file to en_GB
* Update all i18n files from crowdin exports
* Fix tests
* Update docs
2022-01-18 19:17:20 +01:00
Veronica Berglyd Olsen c1c6a370a5 Merge patch 1.5.5 (#955)
* Remove os.path.commonpath call (Issue #954)
* Bump version and update changelog and release notes
2022-01-05 16:24:34 +01:00
Veronica Berglyd Olsen 9be2519406 Resolve HTML render bug (#951)
* Fix bug breaking HTML rendering with angle brackets in other blocks than normal text
* Restore cursor if document viewer fails to load
* Improve test coverage
2022-01-04 20:52:36 +01:00
Veronica Berglyd Olsen 59e10fbf0a Make ODT export more LibreOffice friendly (#949)
* Make the ToODT class more LibreOffice friendly
* Update tests
2022-01-02 20:49:12 +01:00
Veronica Berglyd Olsen 0401b8556d Add result count to search and rewrite scroll past end feature (#946)
* Restore colours to dark theme search-replace icon
* Implement a working search result counter
* Disable scroll past end feature and clean up search/replace and update test
* Re-implement scroll past end feature as a static distance
* Stop the search box from resizing on every search
2022-01-01 19:36:04 +01:00
Veronica Berglyd Olsen b0f939af32 Apply open document shortcuts to the tree that has focus (#945)
* Better handling of Enter/Return on GUI trees, resolves #913
* Update test
* Generalise open selected handle functions
* Improve test coverage
* Update docstring
2021-12-31 19:51:26 +01:00
Veronica Berglyd Olsen 7024254960 Simplify text width settings (#943)
* Remove the fixed text width switch, resolves #924
* Update tests
* Clean up code to set text width and add to viewer
2021-12-31 17:17:27 +01:00
Veronica Berglyd Olsen 6ac9e1aec4 Tighten up the item class (#937)
* Protect the attributes of the NWItem class
* Fix test coverage
* Add a type checker function to the tree class
2021-12-31 16:25:20 +01:00
Veronica Berglyd Olsen af3d0d2eb0 Happy new year! (#941) 2021-12-31 15:56:43 +01:00
Veronica Berglyd Olsen 5e2ab4f612 Refactor core and base classes (#931)
* Improve the NWIndex class
* Improve the NWItem and NWDoc classes
* Make some optimisations in projects and update tests
* Minor changes to string formatting in main source file
* Add some more protection to core classes
* Make all converter class attributes private
2021-12-18 16:03:45 +01:00
Veronica Berglyd Olsen 2f75d88694 Merge hotfixes from 1.5.2 (#934)
* Backport fix for issue #929
* Make the spell check wrapper more robust, solves #933
* Bump version and update changelog and release notes
2021-12-12 17:30:38 +01:00
Veronica Berglyd Olsen 00eea24e3f Error logging and mutables as function defaults (#930)
* Remove mutable iterables as function defaults
* Improve error reporting and standardise how it's done
2021-11-10 00:32:01 +01:00
Veronica Berglyd Olsen 67d2e266fd Fix greater/lesser symbol bug in HTML conversion (#928)
* Fix issue with greater or lesser symbol in paragraph with formatting
* Add test coverage and make another fix to special case of mixing formats
2021-11-10 00:26:07 +01:00
Veronica Berglyd Olsen e8bb130245 Code and GUI text cleanup (#926)
* Move int range checkers from options class to common file
* Improve error handling and reporting
* Make some minor improvements to init and test suite
* Fix 'trypewriter' to 'typewriter' typo
* Remove menu path description in dialog help text
* Improve the help text for entries in the Format menu
* Reword a couple of dialog messages
2021-11-07 18:17:17 +01:00
Veronica Berglyd Olsen 299cde9cdf Improve handling of page breaks (#916)
* Remove page break from title and always allow for partition and chapter
* Move strip of format string into the Tokenizer class
* Fix page breaks in HTML for skip and sep
* Update documentation
* Update tests
* Allow page breaks before scene and section headers
* Never hide the scene header and instead default to skip line
2021-10-24 22:09:41 +02:00
Veronica Berglyd Olsen 1c45331b0a Fix and optimise code (#904)
* Fix bug in early error reporting in main init
* Update docstrings and optimise code in GuiMain
* Update docstrings and optimise code in Config
* Update docstrings and optimise code in common module
* Update docstrings and optimise code in main project classes
* Update the OptionState class
* Update the spell checker class
* Update the file converter classes and extend tests
* Update the about, merge, split and item editor classes and extend tests
* Update item editor test
* Update about dialog tests
* Some minor test cleanup
* Fix typo and add clarification in contributing guide
2021-10-14 21:35:42 +02:00
Veronica Berglyd Olsen 15ec1496c5 Update and reorganise themes (#893)
* Drop the subfolders for GUI themes
* Remove bundled font support
* Add safe file read function
* Allow loading themes from multiple locations
* Clean up unused variables
* Clean up icons class
* Merge icon theme icons
* Update icon theme class
* Remove guiDark config setting
* Fix tests
* Fix handling of default theme
* Update icon readmes
* Add test for getGuiItem common function
2021-09-19 14:09:20 +02:00
Veronica Berglyd Olsen be3376272e Add selected words count feature (#899)
* Add a selected words counter in the document editor
* Update and extend test coverage
* Rename the functions to something more sensible
2021-09-19 13:59:36 +02:00
Veronica Berglyd Olsen c852a5bda3 Add hash check on document read/write (#890)
* Add sha256sum function
* Add hash check to document class
* Make sha256sum test more thorough
* Handle exceptions in the sha256sum function directly
* Update test coverage
* Clarify title on dialog box
* Don't write blank lines in makeAlert
2021-09-19 13:55:54 +02:00
Veronica Berglyd Olsen 8313de692e Fix Project Details dialog update issue (#883)
* Move project details dialog to correct folder
* Add update functions that are run each time the project details dialog is opened
2021-09-10 01:06:40 +02:00
Veronica Berglyd Olsen 3c8cb34b0a Project tree status and total word count changes (#882)
* Fix some inconsistencies in source file docstrings
* Remove the option to show status text in project tree
* Change how total word counts are calculated and propagated
* Fix tests and improve coverage
* Add setting in preferences
* Add missing word count timer to config file
2021-09-10 00:38:45 +02:00
Veronica Berglyd Olsen bbed05b273 Merge patch 1.4.2 2021-08-31 00:04:40 +02:00
Veronica Berglyd Olsen bdef9a3955 Fix smart quote issue (#874) 2021-08-30 23:23:47 +02:00
Veronica Berglyd Olsen f6845a9820 Remove the difflib spellchecker (#875)
* Delete simple spell checker
* Clean up the spell checker code
* Update tests
* Delete the bundled dictionaries
* Update documentation
* Use set() for user word list
* Fix tests so they pass also without dictionaries installed
2021-08-30 22:39:27 +02:00
Veronica Berglyd Olsen 1fb9648c6c Drop grey icon themes (#869)
* Add settings translator for icon themes
* Rename `typicons_colour_*` to `typicons_*`
* Delete grey icon themes
* Delete outdated paragraph in main README
* Fix tests
2021-08-26 18:01:52 +02:00
Veronica Berglyd Olsen 3403d98c72 Rename package from 'nw' to 'novelwriter' (#868)
* Rename nw folder to novelwriter
* Rename nw to novelwriter in auxiliary files
* Rename nw to novelwriter in main app source
* Rename nw to novelwriter in tests
* Make setup script for pdf docs less spammy
2021-08-26 17:33:54 +02:00
Veronica Berglyd Olsen b5e52b80a3 Add a "Check for Updates" dialog (#863)
* Add basic dialog for Updates check
* Add GitHub API call and processing
* Finalise the update dialog
* Improve test coverage
2021-08-22 14:33:00 +02:00
Veronica Berglyd Olsen 7958cb530f Taskbar icon on windows (#861)
* Give app an unique ID when launching on Windows
* Improve test coverage
2021-08-21 17:10:19 +02:00
Veronica Berglyd Olsen 95c79e1c23 Documentation and ODT exporter updates (#859)
* Clean up a few things in the ODT exporter
* Remove local HTML docs and instead add PDF docs
* Update documentation
2021-08-20 17:16:14 +02:00
Veronica Berglyd Olsen eee0f5e4c9 Include HTML docs in minimal installs (#856)
* Link to stable docs for stable release, otherwise latest docs
* Add build command to setup for making HTML docs
* Change the documentation menu entry to open either online or local HTML
* Update docs build instructions in docs
2021-08-18 00:13:28 +02:00
Veronica Berglyd Olsen a9368904e5 GUI and code tweaks and fixes (#852)
* Improve format menu header descriptions
* Ensure that item status is parsed after item class from XML
* Fix column alignment in ToC.txt file
* Rename test variable and fix outdated docstring
* Fix ToC.txt underline
* Rename the Layout label on the item details panel
* Add option to emphasise H1 and H2 labels in the project tree
* Rename the main column of the novel tree to match project tree
* Use the same document icons in the outline as the project tree
* Move project tree settings to Project section of config file
2021-08-17 21:45:18 +02:00
Veronica Berglyd Olsen 460b350d85 Update docs and add menu entries for special titles (#850)
* Update Introduction chapter
* Update User Interface chapter
* Update Novel Projects chapter
* Update Novel Structure chapter
* Update Exporting Projects chapter
* Drop the asterisk notation for unnumbered chapters
* Add menu entries and tests for Novel Title and Unnumbered Chapter block formats
2021-08-15 23:30:11 +02:00
Veronica Berglyd Olsen 1bf584f9bf Add [NEW PAGE] page and [VSPACE] to Insert menu (#848)
* Add menu entries for inserting new page and vspace codes
* Update tests
2021-08-15 18:58:49 +02:00
Veronica Berglyd Olsen 97aebc5b84 Update Project Tree (#847)
* Rename index textCounts to fileMeta and add main header level
* Add new icons for document layouts
* Add function in NWItem to describe the item
* Use the icons and description in the project tree and details panel
* Remove flags column and add status column with optional full text
* Update handling and display of header level in editor
* Fix potential bug in project tree
* Update tests
2021-08-15 17:55:57 +02:00
Veronica Berglyd Olsen cf08ba1d39 ODT Export Fixes (#843)
* Fix issue with additional line breaks in ODT export
* Improve format handling in ToOdt, and remove some unused code
* Add test for tab in format
* Add class to write text formats to XML
* Simplify the XMLParagraph class a bit
* Correct a breach of ODT standard and add error checking
* Make some final corrections
2021-08-14 12:42:44 +02:00