Fixed a few issues with loading and saving of outline settings, and fixed zen mode
This commit is contained in:
+33
-13
@@ -21,7 +21,7 @@ from PyQt5.QtWidgets import (
|
||||
QWidget, QVBoxLayout, QTreeWidget, QTreeWidgetItem
|
||||
)
|
||||
|
||||
from nw.constants import nwItemLayout, nwKeyWords, nwLabels, nwFiles
|
||||
from nw.constants import nwKeyWords, nwLabels
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
@@ -76,9 +76,7 @@ class GuiProjectOutline(QWidget):
|
||||
self.theIndex = self.theParent.theIndex
|
||||
self.optState = self.theProject.optState
|
||||
|
||||
self.showWords = True
|
||||
self.showSynopsis = True
|
||||
self.showFilePath = False
|
||||
self.firstView = True
|
||||
|
||||
self.outerBox = QVBoxLayout()
|
||||
self.mainTree = QTreeWidget()
|
||||
@@ -103,7 +101,35 @@ class GuiProjectOutline(QWidget):
|
||||
|
||||
return
|
||||
|
||||
def saveHeaderState(self):
|
||||
def refreshTree(self):
|
||||
"""Called whenever the Outline tab is activated and controls
|
||||
what data to load, and if necessary, force a rebuild of the
|
||||
tree.
|
||||
"""
|
||||
|
||||
if self.firstView:
|
||||
self._loadHeaderState()
|
||||
self._populateTree()
|
||||
|
||||
self.firstView = False
|
||||
|
||||
return
|
||||
|
||||
def closeOutline(self):
|
||||
"""Called before a project is closed.
|
||||
"""
|
||||
|
||||
self._saveHeaderState()
|
||||
self.mainTree.clear()
|
||||
self.firstView = True
|
||||
|
||||
return
|
||||
|
||||
##
|
||||
# Internal Functions
|
||||
##
|
||||
|
||||
def _saveHeaderState(self):
|
||||
|
||||
colW = []
|
||||
for iCol in range(self.mainTree.columnCount()):
|
||||
@@ -114,7 +140,7 @@ class GuiProjectOutline(QWidget):
|
||||
self.optState.saveSettings()
|
||||
return
|
||||
|
||||
def loadHeaderState(self):
|
||||
def _loadHeaderState(self):
|
||||
|
||||
treeCols = self.optState.getValue("GuiProjectOutline", "headState", {})
|
||||
|
||||
@@ -133,9 +159,7 @@ class GuiProjectOutline(QWidget):
|
||||
|
||||
return
|
||||
|
||||
def populateTree(self):
|
||||
|
||||
self.loadHeaderState()
|
||||
def _populateTree(self):
|
||||
|
||||
theLabels = []
|
||||
for i, n in enumerate(self.treeCols["order"]):
|
||||
@@ -213,10 +237,6 @@ class GuiProjectOutline(QWidget):
|
||||
|
||||
return
|
||||
|
||||
##
|
||||
# Internal Functions
|
||||
##
|
||||
|
||||
def _createTreeItem(self, tHandle, sTitle):
|
||||
|
||||
nwItem = self.theProject.getItem(tHandle)
|
||||
|
||||
+7
-2
@@ -307,6 +307,7 @@ class GuiMain(QMainWindow):
|
||||
|
||||
if saveOK:
|
||||
self.closeDocument()
|
||||
self.projView.closeOutline()
|
||||
self.theProject.closeProject()
|
||||
self.theIndex.clearIndex()
|
||||
self.clearGUI()
|
||||
@@ -329,6 +330,9 @@ class GuiMain(QMainWindow):
|
||||
if not self.closeProject():
|
||||
return False
|
||||
|
||||
# Switch main tab to editor view
|
||||
self.tabWidget.setCurrentWidget(self.splitView)
|
||||
|
||||
# Try to open the project
|
||||
if not self.theProject.openProject(projFile):
|
||||
if self.theProject.lockedBy is not None:
|
||||
@@ -773,7 +777,6 @@ class GuiMain(QMainWindow):
|
||||
|
||||
logger.info("Exiting %s" % nw.__package__)
|
||||
if self.hasProject:
|
||||
self.projView.saveHeaderState()
|
||||
self.closeProject(True)
|
||||
|
||||
self.mainConf.setTreeColWidths(self.treeView.getColumnSizes())
|
||||
@@ -824,6 +827,7 @@ class GuiMain(QMainWindow):
|
||||
self.isZenMode = not self.isZenMode
|
||||
if self.isZenMode:
|
||||
logger.debug("Activating Zen mode")
|
||||
self.tabWidget.setCurrentWidget(self.splitView)
|
||||
else:
|
||||
logger.debug("Deactivating Zen mode")
|
||||
|
||||
@@ -831,6 +835,7 @@ class GuiMain(QMainWindow):
|
||||
self.treePane.setVisible(isVisible)
|
||||
self.statusBar.setVisible(isVisible)
|
||||
self.mainMenu.setVisible(isVisible)
|
||||
self.tabWidget.tabBar().setVisible(isVisible)
|
||||
|
||||
if self.viewPane.isVisible():
|
||||
self.viewPane.setVisible(False)
|
||||
@@ -995,7 +1000,7 @@ class GuiMain(QMainWindow):
|
||||
elif tabIndex == self.idxTabProj:
|
||||
logger.verbose("Project outline tab activated")
|
||||
if self.hasProject:
|
||||
self.projView.populateTree()
|
||||
self.projView.refreshTree()
|
||||
return
|
||||
|
||||
# END Class GuiMain
|
||||
|
||||
Reference in New Issue
Block a user