From 24f951172651b5cec301119938009fe73e5a9ec0 Mon Sep 17 00:00:00 2001 From: "Veronica K. B. Olsen" <1619840+vkbo@users.noreply.github.com> Date: Sat, 2 Jan 2021 22:04:08 +0100 Subject: [PATCH] Prevent items from ending up in the wrong order in outline and novel tree --- nw/gui/noveltree.py | 12 +++++++++++- nw/gui/outline.py | 8 +++++++- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/nw/gui/noveltree.py b/nw/gui/noveltree.py index b04339e8..1174bbfe 100644 --- a/nw/gui/noveltree.py +++ b/nw/gui/noveltree.py @@ -237,6 +237,10 @@ class GuiNovelTree(QTreeWidget): """ self.clearTree() + currTitle = None + currChapter = None + currScene = None + for tKey, tHandle, sTitle, novIdx in self.theIndex.novelStructure(skipExcluded=True): tItem = self._createTreeItem(tHandle, sTitle, tKey, novIdx) @@ -244,14 +248,19 @@ class GuiNovelTree(QTreeWidget): tLevel = novIdx["level"] if tLevel == "H1": - currTitle = tItem self.addTopLevelItem(tItem) + currTitle = tItem + currChapter = None + currScene = None + elif tLevel == "H2": if currTitle is None: self.addTopLevelItem(tItem) else: currTitle.addChild(tItem) currChapter = tItem + currScene = None + elif tLevel == "H3": if currChapter is None: if currTitle is None: @@ -261,6 +270,7 @@ class GuiNovelTree(QTreeWidget): else: currChapter.addChild(tItem) currScene = tItem + elif tLevel == "H4": if currScene is None: if currChapter is None: diff --git a/nw/gui/outline.py b/nw/gui/outline.py index fce5c6c9..3ff4d59a 100644 --- a/nw/gui/outline.py +++ b/nw/gui/outline.py @@ -382,14 +382,19 @@ class GuiOutline(QTreeWidget): tLevel = novIdx["level"] if tLevel == "H1": - currTitle = tItem self.addTopLevelItem(tItem) + currTitle = tItem + currChapter = None + currScene = None + elif tLevel == "H2": if currTitle is None: self.addTopLevelItem(tItem) else: currTitle.addChild(tItem) currChapter = tItem + currScene = None + elif tLevel == "H3": if currChapter is None: if currTitle is None: @@ -399,6 +404,7 @@ class GuiOutline(QTreeWidget): else: currChapter.addChild(tItem) currScene = tItem + elif tLevel == "H4": if currScene is None: if currChapter is None: