diff --git a/CHANGELOG.md b/CHANGELOG.md index 844790c4..554526cd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,20 @@ # novelWriter ChangeLog +## Version 0.5.1 [2020-05-14] + +**Bugfixes** + +* Fixed a bug where only some of the text would be rendered in the editor window when a large text document was loaded. The text is there in the buffer, but the rendering process was interrupted by the function that recalculates margins. This recalculation was added with the document tiles in 0.5. The re-rendering of the text could be triggered by opening the search bar, indicating that it was caused by the shifting of the vertical document frame. PR #208 + +**User Interface** + +* The icon theme functionality of novelWriter has been reworked. For the default system theme, very little has changed. It should still load whatever the system provides, but this doesn't work for all icons on Windows 10 for instance. It is now possible to select between three icon themes in the Preferences dialog, independent of the GUI theme. Using a theme breaks the dependency on the operating system to provide standard icons. Qt provides some, but not all needed by novelWriter. PR #207 +* Added a check that warns if the project file was saved with a newer version of novelWriter as that may cause meta information to be lost. This warning will remain there until the file format is finalised. This is an issue with preserving certain settings, not the project structure itself. PR #205 + +**Debugging** + +* Reduced the number of command line switches needed for debug runs. PR #205 + ## Version 0.5 [2020-05-09] This release of novelWriter has a number of feature updates, bringing it one step closer to initial feature completeness for a version 1.0 release. diff --git a/docs/source/conf.py b/docs/source/conf.py index 63958729..c0b1ce34 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -24,9 +24,9 @@ copyright = "2018-2020, Veronica Berglyd Olsen" author = "Veronica Berglyd Olsen" # The short X.Y version -version = "0.5" +version = "0.5.1" # The full version, including alpha/beta/rc tags -release = "0.5" +release = "0.5.1" # -- General configuration --------------------------------------------------- diff --git a/docs/source/started.txt b/docs/source/started.txt index 425f91bc..49bf0b08 100644 --- a/docs/source/started.txt +++ b/docs/source/started.txt @@ -6,8 +6,8 @@ You can download novelWriter from https://github.com/vkbo/novelWriter/releases Latest version is |version|: -* ZIP file: https://github.com/vkbo/novelWriter/archive/v0.5.zip -* TAR file: https://github.com/vkbo/novelWriter/archive/v0.5.tar.gz +* ZIP file: https://github.com/vkbo/novelWriter/archive/v0.5.1.zip +* TAR file: https://github.com/vkbo/novelWriter/archive/v0.5.1.tar.gz Extract the archive to a location of your choice. diff --git a/nw/__init__.py b/nw/__init__.py index 332b7009..31c19ee5 100644 --- a/nw/__init__.py +++ b/nw/__init__.py @@ -41,9 +41,9 @@ __package__ = "novelWriter" __author__ = "Veronica Berglyd Olsen" __copyright__ = "Copyright 2018–2020, Veronica Berglyd Olsen" __license__ = "GPLv3" -__version__ = "0.5" -__hexversion__ = "0x000500f0" -__date__ = "2020-05-09" +__version__ = "0.5.1" +__hexversion__ = "0x000501f0" +__date__ = "2020-05-14" __maintainer__ = "Veronica Berglyd Olsen" __email__ = "code@vkbo.net" __status__ = "Pre-Release" diff --git a/nw/core/project.py b/nw/core/project.py index be9cc131..781ad7c7 100644 --- a/nw/core/project.py +++ b/nw/core/project.py @@ -972,10 +972,12 @@ class NWProject(): for oHandle in orphanFiles: # Look for meta data + oName = "" if aDoc.openDocument(oHandle, showStatus=False, isOrphan=True): oName, oPath = aDoc.getMeta() aDoc.clearDocument() - else: + + if oName == "": nOrph += 1 oName = "Orphaned File %d" % nOrph diff --git a/nw/gui/dialogs/configeditor.py b/nw/gui/dialogs/configeditor.py index e03d7bad..da3158c0 100644 --- a/nw/gui/dialogs/configeditor.py +++ b/nw/gui/dialogs/configeditor.py @@ -59,9 +59,10 @@ class GuiConfigEditor(QDialog): self.setWindowTitle("Preferences") self.guiDeco = self.theParent.theTheme.loadDecoration("settings", (64,64)) + self.outerBox.setSpacing(16) + self.outerBox.addWidget(self.guiDeco, 0, Qt.AlignTop) self.outerBox.addLayout(self.innerBox) - self.outerBox.setSpacing(16) self.setLayout(self.outerBox) self.tabGeneral = GuiConfigEditGeneralTab(self.theParent) diff --git a/nw/gui/dialogs/itemeditor.py b/nw/gui/dialogs/itemeditor.py index d757b9fc..d2446579 100644 --- a/nw/gui/dialogs/itemeditor.py +++ b/nw/gui/dialogs/itemeditor.py @@ -57,15 +57,11 @@ class GuiItemEditor(QDialog): self._doClose() self.setWindowTitle("Item Settings") - self.guiDeco = QLabel() - self.guiDeco.setPixmap( - self.theParent.theTheme.getPixmap( - nwLabels.CLASS_ICON[self.theItem.itemClass], (64,64) - ) - ) + self.guiDeco = self.theParent.theTheme.loadDecoration("settings", (64,64)) + self.outerBox.setSpacing(16) + self.outerBox.addWidget(self.guiDeco, 0, Qt.AlignTop) self.outerBox.addLayout(self.innerBox) - self.outerBox.setSpacing(16) self.setLayout(self.outerBox) self.mainGroup = QGroupBox("Item Settings") diff --git a/nw/gui/dialogs/projecteditor.py b/nw/gui/dialogs/projecteditor.py index fd256c3a..6e8b63be 100644 --- a/nw/gui/dialogs/projecteditor.py +++ b/nw/gui/dialogs/projecteditor.py @@ -56,13 +56,11 @@ class GuiProjectEditor(QDialog): self.innerBox = QVBoxLayout() self.setWindowTitle("Project Settings") - self.guiDeco = QLabel() - self.guiDeco.setPixmap( - self.theParent.theTheme.getPixmap("cls_novel", (64,64)) - ) + self.guiDeco = self.theParent.theTheme.loadDecoration("settings", (64,64)) + self.outerBox.setSpacing(16) + self.outerBox.addWidget(self.guiDeco, 0, Qt.AlignTop) self.outerBox.addLayout(self.innerBox) - self.outerBox.setSpacing(16) self.setLayout(self.outerBox) self.theProject.countStatus() diff --git a/nw/gui/elements/doceditor.py b/nw/gui/elements/doceditor.py index 96ab264f..3549dbb7 100644 --- a/nw/gui/elements/doceditor.py +++ b/nw/gui/elements/doceditor.py @@ -289,7 +289,9 @@ class GuiDocEditor(QTextEdit): return def saveText(self): - + """Save the text currently in the editor to the NWDoc object, + and update the NWItem meta data. + """ if self.nwDocument.theItem is None: return False @@ -348,7 +350,11 @@ class GuiDocEditor(QTextEdit): self.qDocument.blockSignals(True) self.qDocument.rootFrame().setFrameFormat(docFormat) self.qDocument.blockSignals(False) - self.qDocument.contentsChange.emit(0,0,0) + + # The line below causes issues with large documents as it + # triggers an early repaint that seems to only render a part of + # the document. Leaving it here as a warning for now. + # self.qDocument.contentsChange.emit(0,0,0) return diff --git a/setup.py b/setup.py index 5e9fe304..7ffa7b7e 100755 --- a/setup.py +++ b/setup.py @@ -6,7 +6,7 @@ with open("README.md", "r") as inFile: setuptools.setup( name = "novelWriter", - version = "0.5", + version = "0.5.1", author = "Veronica Berglyd Olsen", author_email = "code@vkbo.net", description = "A markdown-like document editor for writing novels",