Merge 2.0.6 (#1384)

This commit is contained in:
Veronica Berglyd Olsen
2023-02-26 21:37:49 +01:00
committed by GitHub
6 changed files with 64 additions and 8 deletions
+34
View File
@@ -1,5 +1,39 @@
# novelWriter Changelog
## Version 2.0.6 [2023-02-26]
### Release Notes
This is a patch release that fixes a few minor bugs and a broken feature.
When opening a document from the Novel Tree or Outline View, the Project Tree would receive focus
even when it was hidden. This has been corrected and no focus change is made. The Project Tree now
also receives focus automatically when a new Project Item is created.
The backlinks in the Reference Panel below the Document Viewer were no longer working. They have
now been fixed. They were broken due to a change in the link format in 2.0.
### Detailed Changelog
**Bugfixes**
* The Reference Panel link would no longer recognise the new, shorter links after the 2.0 project
index change. The explicit check has now been made more lenient and will accept any link that is
at least 13 characters long (the length of a document handle). Test coverage has been added for
handling Reference Panel links. Issue #1378. PR #1379.
* The `setSelectedItem` method of the project tree class had a `setFocus()` call. It should not do
this as global focus is handled by the main GUI class, and doing this explicitly in the
`setSelectedItem` method is presumptuous. Issue #1369. PR #1379.
**Usability Fixes**
* When creating new items in the project tree via shortcuts, the project tree receives focus. Since
these actions can be accessed when the project tree does not have focus, a user would have to
switch focus to be able to open new items. The tree now automatically receives focus when a new
item is created. Issue #1376. PR #1379.
----
## Version 2.0.5 [2023-02-12]
### Release Notes
+2 -3
View File
@@ -4,7 +4,6 @@
How Data is Stored
******************
.. _File Format Spec 1.5: _static/fileformatspec15.pdf
.. _documentation: https://novelwriter.readthedocs.io
This section contains details of how novelWriter stores and handles the project data.
@@ -48,8 +47,8 @@ various meta data entries incremented, on each save.
.. only:: html
A full description of the current file format is available in the `File Format Spec 1.5`_
document, available as a PDF.
A full description of the current file format is available in the
:download:`File Format Spec 1.5 <fileformatspec15.pdf>` document, available as a PDF.
Project Documents
@@ -126,5 +126,14 @@ to ODF 1.3 extended format, and passes validation.</p>
<p>An Italian translation has been added, and Russian is currently available for project builds. A
full translation into Russian is on its way.</p>
<h3>Patch 2.0.6 &ndash; 26 February 2023</h3>
<p>This is a patch release that fixes a few minor bugs and a broken feature.</p>
<p>When opening a document from the Novel Tree or Outline View, the Project Tree would receive
focus even when it was hidden. This has been corrected and no focus change is made. The Project
Tree now also receives focus automatically when a new Project Item is created.</p>
<p>The backlinks in the Reference Panel below the Document Viewer were no longer working. They have
now been fixed. They were broken due to a change in the link format in 2.0.</p>
</body>
</html>
+4 -3
View File
@@ -1201,17 +1201,18 @@ class GuiDocViewDetails(QScrollArea):
return
##
# Internal Functions
# Private Slots
##
@pyqtSlot(str)
def _linkClicked(self, theLink):
"""Capture the link-click and forward it to the document viewer
class for handling.
"""
logger.debug("Clicked link: '%s'", theLink)
if len(theLink) == 21:
if len(theLink) >= 13:
tHandle = theLink[:13]
tAnchor = theLink[13:]
tAnchor = theLink[13:] or None
self.mainGui.viewDocument(tHandle, tAnchor)
return
+2 -2
View File
@@ -39,7 +39,7 @@ from PyQt5.QtWidgets import (
QVBoxLayout, QWidget
)
from novelwriter.enum import nwDocMode, nwItemType, nwItemClass, nwItemLayout, nwAlert
from novelwriter.enum import nwDocMode, nwItemType, nwItemClass, nwItemLayout, nwAlert, nwWidget
from novelwriter.constants import nwHeaders, nwUnicode, trConst, nwLabels
from novelwriter.core.coretools import DocMerger, DocSplitter
from novelwriter.dialogs.docmerge import GuiDocMerge
@@ -630,6 +630,7 @@ class GuiProjectTree(QTreeWidget):
# Add the new item to the project tree
self.revealNewTreeItem(tHandle, nHandle=nHandle, wordCount=True)
self.mainGui.switchFocus(nwWidget.TREE)
return True
@@ -1087,7 +1088,6 @@ class GuiProjectTree(QTreeWidget):
if tItem is None:
return False
self.setFocus()
if tHandle in self._treeMap:
self.setCurrentItem(self._treeMap[tHandle])
+13
View File
@@ -171,6 +171,19 @@ def testGuiViewer_Main(qtbot, monkeypatch, nwGUI, nwLipsum):
assert nwGUI.docViewer.loadText("846352075de7d") is False
assert nwGUI.docViewer.toPlainText() == "An error occurred while generating the preview."
# Check reference panel (issue #1378)
assert nwGUI.viewDocument("4c4f28287af27") is True
assert nwGUI.docViewer.toPlainText().startswith("Nobody Owens")
nwGUI.viewMeta._linkClicked("fb609cd8319dc")
assert nwGUI.docViewer.toPlainText().startswith("Chapter One")
nwGUI.viewMeta._linkClicked("88243afbe5ed8#T0001")
assert nwGUI.docViewer.toPlainText().startswith("Scene One")
nwGUI.viewMeta._linkClicked("88243afbe5ed8#ABCD")
assert nwGUI.docViewer.toPlainText().startswith("Scene One")
# qtbot.stop()
# END Test testGuiViewer_Main