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