From db01d85f2e9d0f39f38468344e20cf3808206a53 Mon Sep 17 00:00:00 2001
From: Veronica Berglyd Olsen <1619840+vkbo@users.noreply.github.com>
Date: Sat, 11 Jun 2022 15:59:08 +0200
Subject: [PATCH] Rename outline components
---
novelwriter/gui/__init__.py | 4 +-
novelwriter/gui/outline.py | 42 +++++------
novelwriter/guimain.py | 4 +-
tests/test_gui/test_gui_guimain.py | 8 +--
tests/test_gui/test_gui_outline.py | 108 ++++++++++++++---------------
5 files changed, 83 insertions(+), 83 deletions(-)
diff --git a/novelwriter/gui/__init__.py b/novelwriter/gui/__init__.py
index 9560df1b..1892e83d 100644
--- a/novelwriter/gui/__init__.py
+++ b/novelwriter/gui/__init__.py
@@ -24,7 +24,7 @@ from novelwriter.gui.docviewer import GuiDocViewer, GuiDocViewDetails
from novelwriter.gui.itemdetails import GuiItemDetails
from novelwriter.gui.mainmenu import GuiMainMenu
from novelwriter.gui.noveltree import GuiNovelTree
-from novelwriter.gui.outline import GuiOutline
+from novelwriter.gui.outline import GuiOutlineView
from novelwriter.gui.projtree import GuiProjectView
from novelwriter.gui.statusbar import GuiMainStatus
from novelwriter.gui.theme import GuiTheme
@@ -38,7 +38,7 @@ __all__ = [
"GuiMainMenu",
"GuiMainStatus",
"GuiNovelTree",
- "GuiOutline",
+ "GuiOutlineView",
"GuiProjectView",
"GuiTheme",
"GuiViewsBar",
diff --git a/novelwriter/gui/outline.py b/novelwriter/gui/outline.py
index d2b2eb04..e3283ead 100644
--- a/novelwriter/gui/outline.py
+++ b/novelwriter/gui/outline.py
@@ -4,9 +4,9 @@ novelWriter – GUI Project Outline
GUI class for the project outline view
File History:
-Created: 2022-05-15 [1.7b1] GuiOutline
+Created: 2022-05-15 [1.7b1] GuiOutlineView
Created: 2022-05-22 [1.7b1] GuiOutlineToolBar
-Created: 2019-11-16 [0.4.1] GuiOutlineView
+Created: 2019-11-16 [0.4.1] GuiOutlineTree
Created: 2019-11-16 [0.4.1] GuiOutlineHeaderMenu
Created: 2020-06-02 [0.7.0] GuiOutlineDetails
@@ -52,7 +52,7 @@ from novelwriter.constants import trConst, nwKeyWords, nwLabels
logger = logging.getLogger(__name__)
-class GuiOutline(QWidget):
+class GuiOutlineView(QWidget):
loadDocumentTagRequest = pyqtSignal(str, Enum)
@@ -64,11 +64,11 @@ class GuiOutline(QWidget):
# Build GUI
self.outlineBar = GuiOutlineToolBar(self)
- self.outlineView = GuiOutlineView(self)
+ self.outlineTree = GuiOutlineTree(self)
self.outlineData = GuiOutlineDetails(self)
self.splitOutline = QSplitter(Qt.Vertical)
- self.splitOutline.addWidget(self.outlineView)
+ self.splitOutline.addWidget(self.outlineTree)
self.splitOutline.addWidget(self.outlineData)
self.splitOutline.setSizes(self.mainConf.getOutlinePanePos())
@@ -81,14 +81,14 @@ class GuiOutline(QWidget):
self.setLayout(self.outerBox)
# Connect Signals
- self.outlineView.hiddenStateChanged.connect(self._updateMenuColumns)
- self.outlineView.activeItemChanged.connect(self.outlineData.showItem)
+ self.outlineTree.hiddenStateChanged.connect(self._updateMenuColumns)
+ self.outlineTree.activeItemChanged.connect(self.outlineData.showItem)
self.outlineData.itemTagClicked.connect(self._tagClicked)
self.outlineBar.loadNovelRootRequest.connect(self._rootItemChanged)
- self.outlineBar.viewColumnToggled.connect(self.outlineView.menuColumnToggled)
+ self.outlineBar.viewColumnToggled.connect(self.outlineTree.menuColumnToggled)
# Function Mappings
- self.getSelectedHandle = self.outlineView.getSelectedHandle
+ self.getSelectedHandle = self.outlineTree.getSelectedHandle
return
@@ -104,24 +104,24 @@ class GuiOutline(QWidget):
return
def initOutline(self):
- self.outlineView.initOutline()
+ self.outlineTree.initOutline()
self.outlineData.initDetails()
return
def closeOutline(self):
- self.outlineView.closeOutline()
+ self.outlineTree.closeOutline()
self.outlineData.updateClasses()
return
def refreshView(self, overRide=False, novelChanged=False):
- self.outlineView.refreshTree(overRide=overRide, novelChanged=novelChanged)
+ self.outlineTree.refreshTree(overRide=overRide, novelChanged=novelChanged)
return
def treeFocus(self):
- return self.outlineView.hasFocus()
+ return self.outlineTree.hasFocus()
def setTreeFocus(self):
- return self.outlineView.setFocus()
+ return self.outlineTree.setFocus()
##
# Public Slots
@@ -145,7 +145,7 @@ class GuiOutline(QWidget):
checkboxes whenever a signal is received that the hidden state
of columns has changed.
"""
- self.outlineBar.setColumnHiddenState(self.outlineView.hiddenColumns)
+ self.outlineBar.setColumnHiddenState(self.outlineTree.hiddenColumns)
return
@pyqtSlot(str)
@@ -160,10 +160,10 @@ class GuiOutline(QWidget):
def _rootItemChanged(self, handle):
"""The root novel handle has changed or needs to be refreshed.
"""
- self.outlineView.refreshTree(rootHandle=(handle or None), overRide=True)
+ self.outlineTree.refreshTree(rootHandle=(handle or None), overRide=True)
return
-# END Class GuiOutline
+# END Class GuiOutlineView
class GuiOutlineToolBar(QToolBar):
@@ -271,7 +271,7 @@ class GuiOutlineToolBar(QToolBar):
# END Class GuiOutlineToolBar
-class GuiOutlineView(QTreeWidget):
+class GuiOutlineTree(QTreeWidget):
DEF_WIDTH = {
nwOutline.TITLE: 200,
@@ -319,7 +319,7 @@ class GuiOutlineView(QTreeWidget):
def __init__(self, theOutline):
QTreeWidget.__init__(self, theOutline)
- logger.debug("Initialising GuiOutlineView ...")
+ logger.debug("Initialising GuiOutlineTree ...")
self.mainConf = novelwriter.CONFIG
self.mainGui = theOutline.mainGui
@@ -355,7 +355,7 @@ class GuiOutlineView(QTreeWidget):
self.hiddenStateChanged.emit()
- logger.debug("GuiOutlineView initialisation complete")
+ logger.debug("GuiOutlineTree initialisation complete")
return
@@ -717,7 +717,7 @@ class GuiOutlineView(QTreeWidget):
return newItem
-# END Class GuiOutlineView
+# END Class GuiOutlineTree
class GuiOutlineHeaderMenu(QMenu):
diff --git a/novelwriter/guimain.py b/novelwriter/guimain.py
index 24c2180d..8c0e0e51 100644
--- a/novelwriter/guimain.py
+++ b/novelwriter/guimain.py
@@ -40,7 +40,7 @@ from PyQt5.QtWidgets import (
from novelwriter.gui import (
GuiDocEditor, GuiDocViewDetails, GuiDocViewer, GuiItemDetails, GuiMainMenu,
- GuiMainStatus, GuiNovelTree, GuiOutline, GuiProjectView, GuiTheme,
+ GuiMainStatus, GuiNovelTree, GuiOutlineView, GuiProjectView, GuiTheme,
GuiViewsBar
)
from novelwriter.dialogs import (
@@ -111,7 +111,7 @@ class GuiMain(QMainWindow):
self.viewMeta = GuiDocViewDetails(self)
self.docViewer = GuiDocViewer(self)
self.itemDetails = GuiItemDetails(self)
- self.outlineView = GuiOutline(self)
+ self.outlineView = GuiOutlineView(self)
self.mainMenu = GuiMainMenu(self)
self.viewsBar = GuiViewsBar(self)
diff --git a/tests/test_gui/test_gui_guimain.py b/tests/test_gui/test_gui_guimain.py
index 02c97617..cf38c7ea 100644
--- a/tests/test_gui/test_gui_guimain.py
+++ b/tests/test_gui/test_gui_guimain.py
@@ -28,7 +28,7 @@ from tools import cmpFiles, buildTestProject, XML_IGNORE, writeFile
from PyQt5.QtCore import Qt
from PyQt5.QtWidgets import QMessageBox, QDialog, QInputDialog
-from novelwriter.gui import GuiDocEditor, GuiNovelTree, GuiOutline
+from novelwriter.gui import GuiDocEditor, GuiNovelTree, GuiOutlineView
from novelwriter.enum import nwItemType, nwWidget
from novelwriter.tools import GuiProjectWizard
from novelwriter.gui.projtree import GuiProjectTree
@@ -147,12 +147,12 @@ def testGuiMain_ProjectTreeItems(qtbot, monkeypatch, nwGUI, fncProj, mockRnd):
# Project Outline has focus
nwGUI.switchFocus(nwWidget.OUTLINE)
with monkeypatch.context() as mp:
- mp.setattr(GuiOutline, "treeFocus", lambda *a: True)
+ mp.setattr(GuiOutlineView, "treeFocus", lambda *a: True)
assert nwGUI.docEditor.docHandle() is None
- actItem = nwGUI.outlineView.outlineView.topLevelItem(0)
+ actItem = nwGUI.outlineView.outlineTree.topLevelItem(0)
chpItem = actItem.child(0)
selItem = chpItem.child(0)
- nwGUI.outlineView.outlineView.setCurrentItem(selItem)
+ nwGUI.outlineView.outlineTree.setCurrentItem(selItem)
nwGUI._keyPressReturn()
assert nwGUI.docEditor.docHandle() == sHandle
assert nwGUI.closeDocument() is True
diff --git a/tests/test_gui/test_gui_outline.py b/tests/test_gui/test_gui_outline.py
index c8aa893d..1038404a 100644
--- a/tests/test_gui/test_gui_outline.py
+++ b/tests/test_gui/test_gui_outline.py
@@ -46,57 +46,57 @@ def testGuiOutline_Main(qtbot, monkeypatch, nwGUI, fncDir):
nwGUI.rebuildIndex()
nwGUI._changeView(nwView.OUTLINE)
- outlineMain = nwGUI.outlineView
- outlineView = outlineMain.outlineView
- outlineData = outlineMain.outlineData
- outlineMenu = outlineMain.outlineBar.mColumns
+ outlineView = nwGUI.outlineView
+ outlineTree = outlineView.outlineTree
+ outlineData = outlineView.outlineData
+ outlineMenu = outlineView.outlineBar.mColumns
# Toggle scrollbars
nwGUI.mainConf.hideVScroll = True
nwGUI.mainConf.hideHScroll = True
- outlineMain.initOutline()
- assert outlineView.verticalScrollBarPolicy() == Qt.ScrollBarAlwaysOff
- assert outlineView.horizontalScrollBarPolicy() == Qt.ScrollBarAlwaysOff
+ outlineView.initOutline()
+ assert outlineTree.verticalScrollBarPolicy() == Qt.ScrollBarAlwaysOff
+ assert outlineTree.horizontalScrollBarPolicy() == Qt.ScrollBarAlwaysOff
assert outlineData.verticalScrollBarPolicy() == Qt.ScrollBarAlwaysOff
assert outlineData.horizontalScrollBarPolicy() == Qt.ScrollBarAlwaysOff
nwGUI.mainConf.hideVScroll = False
nwGUI.mainConf.hideHScroll = False
- outlineMain.initOutline()
- assert outlineView.verticalScrollBarPolicy() == Qt.ScrollBarAsNeeded
- assert outlineView.horizontalScrollBarPolicy() == Qt.ScrollBarAsNeeded
+ outlineView.initOutline()
+ assert outlineTree.verticalScrollBarPolicy() == Qt.ScrollBarAsNeeded
+ assert outlineTree.horizontalScrollBarPolicy() == Qt.ScrollBarAsNeeded
assert outlineData.verticalScrollBarPolicy() == Qt.ScrollBarAsNeeded
assert outlineData.horizontalScrollBarPolicy() == Qt.ScrollBarAsNeeded
# Check focus
with monkeypatch.context() as mp:
mp.setattr(QWidget, "hasFocus", lambda *a: True)
- assert outlineMain.treeFocus() is True
+ assert outlineView.treeFocus() is True
- outlineMain.setTreeFocus() # Can't check. just ensures that it doesn't error
+ outlineView.setTreeFocus() # Can't check. just ensures that it doesn't error
# Option State
# ============
pOptions = nwGUI.theProject.options
colNames = [h.name for h in nwOutline]
colItems = [h for h in nwOutline]
- colWidth = {h: outlineView.DEF_WIDTH[h] for h in nwOutline}
- colHidden = {h: outlineView.DEF_HIDDEN[h] for h in nwOutline}
+ colWidth = {h: outlineTree.DEF_WIDTH[h] for h in nwOutline}
+ colHidden = {h: outlineTree.DEF_HIDDEN[h] for h in nwOutline}
- assert outlineView.topLevelItemCount() > 0
+ assert outlineTree.topLevelItemCount() > 0
# Save header state not allowed
- outlineView._lastBuild = 0
- outlineView._saveHeaderState()
+ outlineTree._lastBuild = 0
+ outlineTree._saveHeaderState()
assert pOptions.getValue("GuiOutline", "headerOrder", []) == []
# Allow saving header state
- outlineView._lastBuild = time.time()
- outlineView._saveHeaderState()
+ outlineTree._lastBuild = time.time()
+ outlineTree._saveHeaderState()
assert pOptions.getValue("GuiOutline", "headerOrder", []) == colNames
- assert outlineView._treeOrder == colItems
- assert outlineView._colWidth == colWidth
- assert outlineView._colHidden == colHidden
+ assert outlineTree._treeOrder == colItems
+ assert outlineTree._colWidth == colWidth
+ assert outlineTree._colHidden == colHidden
# Get default values
optItems = pOptions.getValue("GuiOutline", "headerOrder", [])
@@ -105,49 +105,49 @@ def testGuiOutline_Main(qtbot, monkeypatch, nwGUI, fncDir):
# Add invalid column name
pOptions.setValue("GuiOutline", "headerOrder", optItems + ["blabla"])
- outlineView._loadHeaderState()
- assert outlineView._treeOrder == colItems
- assert outlineView._colHidden == colHidden
+ outlineTree._loadHeaderState()
+ assert outlineTree._treeOrder == colItems
+ assert outlineTree._colHidden == colHidden
# Add duplicate column name
pOptions.setValue("GuiOutline", "headerOrder", optItems + [optItems[-1]])
- outlineView._loadHeaderState()
- assert outlineView._treeOrder == colItems
- assert outlineView._colHidden == colHidden
+ outlineTree._loadHeaderState()
+ assert outlineTree._treeOrder == colItems
+ assert outlineTree._colHidden == colHidden
# Invalid column width data
pOptions.setValue("GuiOutline", "headerOrder", optItems)
pOptions.setValue("GuiOutline", "columnWidth", {"blabla": None})
- outlineView._loadHeaderState()
- assert outlineView._treeOrder == colItems
- assert outlineView._colHidden == colHidden
+ outlineTree._loadHeaderState()
+ assert outlineTree._treeOrder == colItems
+ assert outlineTree._colHidden == colHidden
# Invalid column width data
pOptions.setValue("GuiOutline", "headerOrder", optItems)
pOptions.setValue("GuiOutline", "columnWidth", optWidth)
pOptions.setValue("GuiOutline", "columnHidden", {"bloabla": None})
- outlineView._loadHeaderState()
- assert outlineView._treeOrder == colItems
- assert outlineView._colHidden == colHidden
+ outlineTree._loadHeaderState()
+ assert outlineTree._treeOrder == colItems
+ assert outlineTree._colHidden == colHidden
# Valid settings
pOptions.setValue("GuiOutline", "headerOrder", optItems)
pOptions.setValue("GuiOutline", "columnWidth", optWidth)
pOptions.setValue("GuiOutline", "columnHidden", optHidden)
- outlineView._loadHeaderState()
- assert outlineView._treeOrder == colItems
- assert outlineView._colHidden == colHidden
+ outlineTree._loadHeaderState()
+ assert outlineTree._treeOrder == colItems
+ assert outlineTree._colHidden == colHidden
# Header Menu
# ===========
# Trigger the menu entry for all hidden columns
for hItem in nwOutline:
- if outlineView.DEF_HIDDEN[hItem]:
+ if outlineTree.DEF_HIDDEN[hItem]:
outlineMenu.actionMap[hItem].activate(QAction.Trigger)
# Now no columns should be hidden
- outlineView._saveHeaderState()
+ outlineTree._saveHeaderState()
assert not any(pOptions.getValue("GuiOutline", "columnHidden", None).values())
# qtbot.stop()
@@ -169,10 +169,10 @@ def testGuiOutline_Content(qtbot, monkeypatch, nwGUI, nwLipsum):
nwGUI.rebuildIndex()
nwGUI._changeView(nwView.OUTLINE)
- outlineMain = nwGUI.outlineView
- outlineBar = outlineMain.outlineBar
- outlineView = outlineMain.outlineView
- outlineData = outlineMain.outlineData
+ outlineView = nwGUI.outlineView
+ outlineBar = outlineView.outlineBar
+ outlineTree = outlineView.outlineTree
+ outlineData = outlineView.outlineData
lipHandle = "b3643d0f92e32"
@@ -218,10 +218,10 @@ def testGuiOutline_Content(qtbot, monkeypatch, nwGUI, nwLipsum):
# =============
# First Item
- outlineView.refreshTree()
- selItem = outlineView.topLevelItem(0)
+ outlineTree.refreshTree()
+ selItem = outlineTree.topLevelItem(0)
- outlineView.setCurrentItem(selItem)
+ outlineTree.setCurrentItem(selItem)
assert outlineData.titleLabel.text() == "Title"
assert outlineData.titleValue.text() == "Lorem Ipsum"
assert outlineData.fileValue.text() == "Lorem Ipsum"
@@ -232,12 +232,12 @@ def testGuiOutline_Content(qtbot, monkeypatch, nwGUI, nwLipsum):
assert outlineData.pCValue.text() == "3"
# Scene One
- actItem = outlineView.topLevelItem(1)
+ actItem = outlineTree.topLevelItem(1)
chpItem = actItem.child(0)
selItem = chpItem.child(0)
- outlineView.setCurrentItem(selItem)
- tHandle, tLine = outlineView.getSelectedHandle()
+ outlineTree.setCurrentItem(selItem)
+ tHandle, tLine = outlineTree.getSelectedHandle()
assert tHandle == "88243afbe5ed8"
assert tLine == 0
@@ -248,17 +248,17 @@ def testGuiOutline_Content(qtbot, monkeypatch, nwGUI, nwLipsum):
# Click POV Link
assert outlineData.povKeyValue.text() == "Bod"
- outlineMain._tagClicked("Bod")
+ outlineView._tagClicked("Bod")
assert nwGUI.docViewer.docHandle() == "4c4f28287af27"
# Scene One, Section Two
- actItem = outlineView.topLevelItem(1)
+ actItem = outlineTree.topLevelItem(1)
chpItem = actItem.child(0)
scnItem = chpItem.child(0)
selItem = scnItem.child(0)
- outlineView.setCurrentItem(selItem)
- tHandle, tLine = outlineView.getSelectedHandle()
+ outlineTree.setCurrentItem(selItem)
+ tHandle, tLine = outlineTree.getSelectedHandle()
assert tHandle == "88243afbe5ed8"
assert tLine == 12
@@ -267,7 +267,7 @@ def testGuiOutline_Content(qtbot, monkeypatch, nwGUI, nwLipsum):
assert outlineData.fileValue.text() == "Scene One"
assert outlineData.itemValue.text() == "Finished"
- outlineView._treeDoubleClick(selItem, 0)
+ outlineTree._treeDoubleClick(selItem, 0)
assert nwGUI.docEditor.docHandle() == "88243afbe5ed8"
# qtbot.stop()