Merge branch 'dev' into novel_tab

This commit is contained in:
Veronica K. B. Olsen
2021-01-03 17:17:30 +01:00
46 changed files with 168 additions and 79 deletions
+83
View File
@@ -4,6 +4,89 @@
----
## Version 1.0 [2021-01-03]
### Release Notes
Based on my own testing and usage, and no serious bugs discovered in quite some time (aside from a
few corner case issues), it appears that novelWriter is stable enough for a 1.0 release. Thanks to
all the new users who keep providing feedback on bugs, cosmetic issues, or suggesting improvements
and new features. I'm glad to hear that others find my application useful, and I will keep making
improvements as I get new suggestions and have new ideas myself. At the same time, I will continue
to keep novelWriter simple and clean and avoid feature-bloat.
This release mainly fixes cosmetic and other minor issues to the user interface and makes a few
minor improvements to some less used features. Aside from this, nothing major has changed since the
last release candidate.
This release concludes over two years of tinkering with this project. The project grew out of
numerous lunch and coffee discussions with my colleague Marian Lückhof at my former job. We were
both looking for a tool for writing novels on Linux that suited our needs. We started assembling a
wish list of features that has become novelWriter. In addition, users on GitHub have continued to
test new features, provide very helpful feedback, and make new suggestions for improvements.
Especially the feedback from @johnblommers has been helpful during much of the initial development
time. Over the last months more users have started posting ideas and feedback. Thanks to all of you
for your contributions.
The 1.0 release is intended as a first release of the core features of novelWriter. That does not
mean that all planned features have been fully implemented. There is a long list of ideas and
suggestions to consider and implement. New ideas and suggestions are welcome. Either as feature
requests in the issue tracker, or if not fully formed, can be discussed on the
[discussions page](https://github.com/vkbo/novelWriter/discussions).
### Detailed Changelog
**Bugfixes**
* Fixed a minor cosmetic issue with the checkbox next to the "Distraction Free Mode" entry in the
menu where its checkmark wouldn't always correspond to the current state of the mode. PR #532.
* When opening the "Writing Stats" dialog in a new project where there is no session log file yet,
an error dialog would pop up to complain the file is missing. A missing file is not an error, and
should just be quietly ignored. PR #535.
* Don't enforce string data type in meta data lines written to the head of documents. Some of the
entries can potentially be of NoneType, and the enforced type will then cause a crash. PR #539.
* Fixed a couple of faulty checks in the index and outline details panel. The checks were not
reachable by user actions, but put in place to capture coding errors. PR #549.
**User Interface**
* The placeholder text in the "Build Novel Project" tool was referring to the name of the build
button by a previous label. It now refers to the label that is on the current button. PR #535.
* Add "Move Item Up" and "Move Item Down" to the project tree context menu. These connect to the
same function as the same entries in the Tools menu. PR #535.
* Block the Item Editor for the root Trash folder. PR #539.
**Other Changes**
* The special "Orphaned Files" folder has been dropped. Since the document class saves most of the
document meta data to the header of document files, it is no longer strictly necessary and it
does complicate the code behind the project tree as the orphaned folder isn't a tracked folder
and therefore needs a fair bit of customised code to fit into the rest of the tree data model.
Files found in the project's storage folder that do not exist in the project file will now be
imported into the main project tree based on a set of fallbacks. All recovered files are prefixed
with the word "Recovered". Issue #540, PR #543.
* Changed the way novel headers are added to the Outline view in cases where the strict logic of
header levelled isn't obeyed. Previously. a scene header not under a chapter would be added to a
previous chapter. That may be a bit confusing. Now, instead, a scene outside a chapter will just
be bumped up one level. PR #549.
**Documentation**
* Fixed some minor typo or wrong word errors in the contributing guidelines. PR #537 by Curtis
Gedak @gedakc.
* Fixed minor grammar and typo issues in documentation. PR #544 by Curtis Gedak @gedakc.
* Updated documentation with latest changes and rewritten some sections to make the terminology
more consistent. PR #548.
**Code Improvements**
* Also enforce the maximum line length in text documents. PR #534.
* Updated various parts of the code where a question message box is opened and redirected the call
to the main GUI class. This was done mostly for consistency, but the feature was added earlier to
ensure that core classes do not depend on Qt libraries. PR #535.
----
## Version 1.0 Release Candidate 2 [2020-12-13]
### Release Notes
-16
View File
@@ -31,22 +31,6 @@ The full documentation is available at
The contributing guide is available in [CONTRIBUTING](CONTRIBUTING.md).
### Development Status
The application is still under initial development, but all core features have now been added.
The core functionality has been in place for a while, and novelWriter is being used for writing
projects by the author and collaborators.
No new major features will be added at this time, until the application is stable. Until then,
novelWriter is in a _beta_ state. Please report any issues you encounter via the repository's issue
tracker.
You should be able to use novelWriter for real projects, but as with all software, please make
regular backups of your data. There is a built in backup feature that can pack the entire project
into a zip file each time the main window or the project is closed. Please check the documentation
for further details.
## Implementation
The application is written in Python 3 using Qt5 via PyQt5. It is developed on Linux, but it should
+1 -1
View File
@@ -21,7 +21,7 @@ import sphinx_rtd_theme # noqa: F401
# -- Project information -----------------------------------------------------
project = "novelWriter"
copyright = "2018-2020, Veronica Berglyd Olsen"
copyright = "20182021, Veronica Berglyd Olsen"
author = "Veronica Berglyd Olsen"
# The short X.Y version
+2 -2
View File
@@ -9,7 +9,7 @@
Created: 2018-09-22 [0.0.1]
This file is a part of novelWriter
Copyright 20182020, Veronica Berglyd Olsen
Copyright 20182021, Veronica Berglyd Olsen
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -58,7 +58,7 @@ from nw.config import Config
#
__package__ = "nw"
__copyright__ = "Copyright 20182020, Veronica Berglyd Olsen"
__copyright__ = "Copyright 20182021, Veronica Berglyd Olsen"
__license__ = "GPLv3"
__author__ = "Veronica Berglyd Olsen"
__maintainer__ = "Veronica Berglyd Olsen"
+30 -3
View File
@@ -2,6 +2,36 @@
<html>
<body>
<h2>Release Notes for 1.0</h2>
<p><i>Released on 3 January 2021</i></p>
<p>Based on my own testing and usage, and no serious bugs discovered in quite some time (aside from
a few corner case issues), it appears that novelWriter is stable enough for a 1.0 release. Thanks
to all the new users who keep providing feedback on bugs, cosmetic issues, or suggesting
improvements and new features. I'm glad to hear that others find my application useful, and I will
keep making improvements as I get new suggestions and have new ideas myself. At the same time, I
will continue to keep novelWriter simple and clean and avoid feature-bloat.</p>
<p>This release mainly fixes cosmetic and other minor issues to the user interface and makes a few
minor improvements to some less used features. Aside from this, nothing major has changed since the
last release candidate.</p>
<p>This release concludes over two years of tinkering with this project. The project grew out of
numerous lunch and coffee discussions with my colleague Marian Lückhof at my former job. We were
both looking for a tool for writing novels on Linux that suited our needs. We started assembling a
wish list of features that has become novelWriter. In addition, users on GitHub have continued to
test new features, provide very helpful feedback, and make new suggestions for improvements.
Especially the feedback from @johnblommers has been helpful during much of the initial development
time. Over the last months more users have started posting ideas and feedback. Thanks to all of you
for your contributions.</p>
<p>The 1.0 release is intended as a first release of the core features of novelWriter. That does
not mean that all planned features have been fully implemented. There is a long list of ideas and
suggestions to consider and implement. New ideas and suggestions are welcome. Either as feature
requests in the issue tracker, or if not fully formed, can be discussed on the
<a href="https://github.com/vkbo/novelWriter/discussions">discussions page</a>.
<p><i>The full changelog is available
<a href="https://github.com/vkbo/novelWriter/blob/main/CHANGELOG.md">here</a>.</i></p>
<hr/>
<h2>Release Notes for 1.0 RC2</h2>
<p><i>Released on 13 December 2020</i></p>
<p>This second release candidate for 1.0 comes with only minor changes and improvements, and a
@@ -25,9 +55,6 @@ of these are corner cases that may not even be reachable by unexpected user acti
<p>Hopefully, these changes have resulted in an even more stable version of novelWriter. If no more
issues are discovered, the next release will be the final version 1.0 release.</p>
<p><i>The full changelog is available
<a href="https://github.com/vkbo/novelWriter/blob/main/CHANGELOG.md">here</a>.</i></p>
<hr/>
<h2>Release Notes for 1.0 RC1</h2>
+1 -1
View File
@@ -9,7 +9,7 @@
Created: 2019-05-12 [0.1.0]
This file is a part of novelWriter
Copyright 20182020, Veronica Berglyd Olsen
Copyright 20182021, Veronica Berglyd Olsen
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
+1 -1
View File
@@ -9,7 +9,7 @@
Created: 2018-09-22 [0.0.1]
This file is a part of novelWriter
Copyright 20182020, Veronica Berglyd Olsen
Copyright 20182021, Veronica Berglyd Olsen
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
+1 -1
View File
@@ -9,7 +9,7 @@
Created: 2019-04-28 [0.0.1]
This file is a part of novelWriter
Copyright 20182020, Veronica Berglyd Olsen
Copyright 20182021, Veronica Berglyd Olsen
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
+1 -1
View File
@@ -9,7 +9,7 @@
Created: 2018-11-02 [0.0.1]
This file is a part of novelWriter
Copyright 20182020, Veronica Berglyd Olsen
Copyright 20182021, Veronica Berglyd Olsen
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
+1 -1
View File
@@ -9,7 +9,7 @@
Created: 2019-11-05 [0.4.0]
This file is a part of novelWriter
Copyright 20182020, Veronica Berglyd Olsen
Copyright 20182021, Veronica Berglyd Olsen
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
+1 -1
View File
@@ -9,7 +9,7 @@
Created: 2018-09-29 [0.0.1]
This file is a part of novelWriter
Copyright 20182020, Veronica Berglyd Olsen
Copyright 20182021, Veronica Berglyd Olsen
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
+8 -13
View File
@@ -9,7 +9,7 @@
Created: 2019-05-27 [0.1.4]
This file is a part of novelWriter
Copyright 20182020, Veronica Berglyd Olsen
Copyright 20182021, Veronica Berglyd Olsen
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -156,16 +156,11 @@ class NWIndex():
logger.error(str(e))
return False
if "tagIndex" in theData.keys():
self._tagIndex = theData["tagIndex"]
if "refIndex" in theData.keys():
self._refIndex = theData["refIndex"]
if "novelIndex" in theData.keys():
self._novelIndex = theData["novelIndex"]
if "noteIndex" in theData.keys():
self._noteIndex = theData["noteIndex"]
if "textCounts" in theData.keys():
self._textCounts = theData["textCounts"]
self._tagIndex = theData.get("tagIndex", {})
self._refIndex = theData.get("refIndex", {})
self._novelIndex = theData.get("novelIndex", {})
self._noteIndex = theData.get("noteIndex", {})
self._textCounts = theData.get("textCounts", {})
nowTime = round(time())
self._timeNovel = nowTime
@@ -234,6 +229,7 @@ class NWIndex():
except Exception:
self.indexBroken = True
logger.debug("Index check complete")
if self.indexBroken:
self.clearIndex()
self.theParent.makeAlert(
@@ -604,8 +600,7 @@ class NWIndex():
return theRefs
for refTitle in self._refIndex[tHandle]:
theTags = self._refIndex[tHandle][refTitle].get("tags", None)
for aTag in theTags:
for aTag in self._refIndex[tHandle][refTitle].get("tags", []):
if len(aTag) == 3 and (sTitle is None or sTitle == refTitle):
theRefs[aTag[1]].append(aTag[2])
+1 -1
View File
@@ -9,7 +9,7 @@
Created: 2018-10-27 [0.0.1]
This file is a part of novelWriter
Copyright 20182020, Veronica Berglyd Olsen
Copyright 20182021, Veronica Berglyd Olsen
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
+1 -1
View File
@@ -10,7 +10,7 @@
Rewritten: 2020-02-19 [0.4.5]
This file is a part of novelWriter
Copyright 20182020, Veronica Berglyd Olsen
Copyright 20182021, Veronica Berglyd Olsen
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
+1 -1
View File
@@ -9,7 +9,7 @@
Created: 2018-09-29 [0.0.1]
This file is a part of novelWriter
Copyright 20182020, Veronica Berglyd Olsen
Copyright 20182021, Veronica Berglyd Olsen
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
+1 -1
View File
@@ -9,7 +9,7 @@
Created: 2019-06-11 [0.1.5]
This file is a part of novelWriter
Copyright 20182020, Veronica Berglyd Olsen
Copyright 20182021, Veronica Berglyd Olsen
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
+1 -1
View File
@@ -9,7 +9,7 @@
Created: 2019-05-19 [0.1.3]
This file is a part of novelWriter
Copyright 20182020, Veronica Berglyd Olsen
Copyright 20182021, Veronica Berglyd Olsen
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
+1 -1
View File
@@ -9,7 +9,7 @@
Created: 2019-05-07 [0.0.1]
This file is a part of novelWriter
Copyright 20182020, Veronica Berglyd Olsen
Copyright 20182021, Veronica Berglyd Olsen
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
+1 -1
View File
@@ -9,7 +9,7 @@
Created: 2019-05-05 [0.0.1]
This file is a part of novelWriter
Copyright 20182020, Veronica Berglyd Olsen
Copyright 20182021, Veronica Berglyd Olsen
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
+1 -1
View File
@@ -12,7 +12,7 @@
Created: 2020-07-05 [0.10.0] numberToRoman
This file is a part of novelWriter
Copyright 20182020, Veronica Berglyd Olsen
Copyright 20182021, Veronica Berglyd Olsen
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
+1 -1
View File
@@ -9,7 +9,7 @@
Created: 2020-05-07 [0.4.5]
This file is a part of novelWriter
Copyright 20182020, Veronica Berglyd Olsen
Copyright 20182021, Veronica Berglyd Olsen
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
+1 -1
View File
@@ -9,7 +9,7 @@
Created: 2020-08-02 [0.10.2]
This file is a part of novelWriter
Copyright 20182020, Veronica Berglyd Olsen
Copyright 20182021, Veronica Berglyd Olsen
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
+1 -1
View File
@@ -9,7 +9,7 @@
Created: 2020-05-21 [0.5.2]
This file is a part of novelWriter
Copyright 20182020, Veronica Berglyd Olsen
Copyright 20182021, Veronica Berglyd Olsen
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
+1 -1
View File
@@ -9,7 +9,7 @@
Created: 2020-05-09 [0.5]
This file is a part of novelWriter
Copyright 20182020, Veronica Berglyd Olsen
Copyright 20182021, Veronica Berglyd Olsen
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
+1 -1
View File
@@ -11,7 +11,7 @@
Created: 2020-05-17 [0.5.1] PagedDialog
This file is a part of novelWriter
Copyright 20182020, Veronica Berglyd Olsen
Copyright 20182021, Veronica Berglyd Olsen
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
+1 -1
View File
@@ -15,7 +15,7 @@
Rewritten: 2020-10-07 [1.0b3] BackgroundWordCounter
This file is a part of novelWriter
Copyright 20182020, Veronica Berglyd Olsen
Copyright 20182021, Veronica Berglyd Olsen
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
+1 -1
View File
@@ -9,7 +9,7 @@
Created: 2019-04-06 [0.0.1]
This file is a part of novelWriter
Copyright 20182020, Veronica Berglyd Olsen
Copyright 20182021, Veronica Berglyd Olsen
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
+1 -1
View File
@@ -9,7 +9,7 @@
Created: 2020-01-23 [0.4.3]
This file is a part of novelWriter
Copyright 20182020, Veronica Berglyd Olsen
Copyright 20182021, Veronica Berglyd Olsen
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
+1 -1
View File
@@ -9,7 +9,7 @@
Created: 2020-02-01 [0.4.3]
This file is a part of novelWriter
Copyright 20182020, Veronica Berglyd Olsen
Copyright 20182021, Veronica Berglyd Olsen
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
+1 -1
View File
@@ -13,7 +13,7 @@
Created: 2020-09-08 [1.0b1] GuiDocViewHistory
This file is a part of novelWriter
Copyright 20182020, Veronica Berglyd Olsen
Copyright 20182021, Veronica Berglyd Olsen
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
+1 -1
View File
@@ -9,7 +9,7 @@
Created: 2019-04-24 [0.0.1]
This file is a part of novelWriter
Copyright 20182020, Veronica Berglyd Olsen
Copyright 20182021, Veronica Berglyd Olsen
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
+1 -1
View File
@@ -9,7 +9,7 @@
Created: 2019-04-27 [0.0.1]
This file is a part of novelWriter
Copyright 20182020, Veronica Berglyd Olsen
Copyright 20182021, Veronica Berglyd Olsen
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
+1 -1
View File
@@ -9,7 +9,7 @@
Created: 2019-04-27 [0.0.1]
This file is a part of novelWriter
Copyright 20182020, Veronica Berglyd Olsen
Copyright 20182021, Veronica Berglyd Olsen
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
+1 -1
View File
@@ -9,7 +9,7 @@
Created: 2019-11-16 [0.4.1]
This file is a part of novelWriter
Copyright 20182020, Veronica Berglyd Olsen
Copyright 20182021, Veronica Berglyd Olsen
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
+1 -1
View File
@@ -9,7 +9,7 @@
Created: 2020-06-02 [0.7.0]
This file is a part of novelWriter
Copyright 20182020, Veronica Berglyd Olsen
Copyright 20182021, Veronica Berglyd Olsen
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
+1 -1
View File
@@ -9,7 +9,7 @@
Created: 2019-06-10 [0.1.5]
This file is a part of novelWriter
Copyright 20182020, Veronica Berglyd Olsen
Copyright 20182021, Veronica Berglyd Olsen
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
+1 -1
View File
@@ -9,7 +9,7 @@
Created: 2020-02-26 [0.4.5]
This file is a part of novelWriter
Copyright 20182020, Veronica Berglyd Olsen
Copyright 20182021, Veronica Berglyd Olsen
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
+1 -1
View File
@@ -9,7 +9,7 @@
Created: 2018-09-29 [0.0.1]
This file is a part of novelWriter
Copyright 20182020, Veronica Berglyd Olsen
Copyright 20182021, Veronica Berglyd Olsen
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
+1 -1
View File
@@ -10,7 +10,7 @@
Created: 2020-06-04 [0.7.0] GuiProjectTreeMenu
This file is a part of novelWriter
Copyright 20182020, Veronica Berglyd Olsen
Copyright 20182021, Veronica Berglyd Olsen
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
+1 -1
View File
@@ -9,7 +9,7 @@
Created: 2020-07-11 [0.10.1]
This file is a part of novelWriter
Copyright 20182020, Veronica Berglyd Olsen
Copyright 20182021, Veronica Berglyd Olsen
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
+1 -1
View File
@@ -9,7 +9,7 @@
Created: 2019-04-20 [0.0.1]
This file is a part of novelWriter
Copyright 20182020, Veronica Berglyd Olsen
Copyright 20182021, Veronica Berglyd Olsen
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
+1 -1
View File
@@ -10,7 +10,7 @@
Created: 2019-11-08 [0.4.0] GuiIcons
This file is a part of novelWriter
Copyright 20182020, Veronica Berglyd Olsen
Copyright 20182021, Veronica Berglyd Olsen
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
+1 -1
View File
@@ -9,7 +9,7 @@
Created: 2019-10-20 [0.3]
This file is a part of novelWriter
Copyright 20182020, Veronica Berglyd Olsen
Copyright 20182021, Veronica Berglyd Olsen
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
+1 -1
View File
@@ -9,7 +9,7 @@
Created: 2018-09-22 [0.0.1]
This file is a part of novelWriter
Copyright 20182020, Veronica Berglyd Olsen
Copyright 20182021, Veronica Berglyd Olsen
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
+5 -5
View File
@@ -1,13 +1,13 @@
<?xml version='1.0' encoding='utf-8'?>
<novelWriterXML appVersion="1.1a0" hexVersion="0x010100a0" fileVersion="1.2" timeStamp="2020-12-20 15:44:04">
<novelWriterXML appVersion="1.1a0" hexVersion="0x010100a0" fileVersion="1.2" timeStamp="2021-01-03 17:17:01">
<project>
<name>Sample Project</name>
<title>Sample Project</title>
<author>Jane Smith</author>
<author>Jay Doh</author>
<saveCount>836</saveCount>
<autoCount>155</autoCount>
<editTime>39747</editTime>
<saveCount>824</saveCount>
<autoCount>153</autoCount>
<editTime>39448</editTime>
</project>
<settings>
<doBackup>False</doBackup>
@@ -120,7 +120,7 @@
<charCount>1811</charCount>
<wordCount>318</wordCount>
<paraCount>8</paraCount>
<cursorPos>78</cursorPos>
<cursorPos>1880</cursorPos>
</item>
<item handle="bc0cbd2a407f3" order="2" parent="e7ded148d6e4a">
<name>Another Scene</name>
+1 -1
View File
@@ -17,7 +17,7 @@ classifiers =
Programming Language :: Python :: 3.9
Programming Language :: Python :: Implementation :: CPython
License :: OSI Approved :: GNU General Public License v3 (GPLv3)
Development Status :: 4 - Beta
Development Status :: 5 - Production/Stable
Operating System :: OS Independent
Intended Audience :: End Users/Desktop
Natural Language :: English