Add novel tree highlight of rows of current document
This commit is contained in:
@@ -10,7 +10,7 @@ licenseurl = https://creativecommons.org/licenses/by-sa/4.0/
|
|||||||
window = 54, 54, 54
|
window = 54, 54, 54
|
||||||
windowtext = 174, 174, 174
|
windowtext = 174, 174, 174
|
||||||
base = 62, 62, 62
|
base = 62, 62, 62
|
||||||
alternatebase = 67, 67, 67
|
alternatebase = 78, 78, 78
|
||||||
text = 174, 174, 174
|
text = 174, 174, 174
|
||||||
tooltipbase = 255, 255, 192
|
tooltipbase = 255, 255, 192
|
||||||
tooltiptext = 21, 21, 13
|
tooltiptext = 21, 21, 13
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ licenseurl = https://github.com/altercation/solarized/blob/master/LICENSE
|
|||||||
window = 0, 43, 54
|
window = 0, 43, 54
|
||||||
windowtext = 253, 246, 227
|
windowtext = 253, 246, 227
|
||||||
base = 7, 54, 66
|
base = 7, 54, 66
|
||||||
alternatebase = 67, 67, 67
|
alternatebase = 0, 43, 54
|
||||||
text = 253, 246, 227
|
text = 253, 246, 227
|
||||||
tooltipbase = 133, 153, 0
|
tooltipbase = 133, 153, 0
|
||||||
tooltiptext = 0, 43, 54
|
tooltiptext = 0, 43, 54
|
||||||
|
|||||||
@@ -84,6 +84,7 @@ class GuiNovelView(QWidget):
|
|||||||
# Function Mappings
|
# Function Mappings
|
||||||
self.updateWordCounts = self.novelTree.updateWordCounts
|
self.updateWordCounts = self.novelTree.updateWordCounts
|
||||||
self.getSelectedHandle = self.novelTree.getSelectedHandle
|
self.getSelectedHandle = self.novelTree.getSelectedHandle
|
||||||
|
self.setActiveHandle = self.novelTree.setActiveHandle
|
||||||
|
|
||||||
return
|
return
|
||||||
|
|
||||||
@@ -505,6 +506,23 @@ class GuiNovelTree(QTreeWidget):
|
|||||||
self.refreshTree(rootHandle=self.theProject.lastNovel, overRide=True)
|
self.refreshTree(rootHandle=self.theProject.lastNovel, overRide=True)
|
||||||
return
|
return
|
||||||
|
|
||||||
|
def setActiveHandle(self, tHandle):
|
||||||
|
"""Highlight the rows associated with a given handle.
|
||||||
|
"""
|
||||||
|
for i in range(self.topLevelItemCount()):
|
||||||
|
tItem = self.topLevelItem(i)
|
||||||
|
if tItem.data(self.C_TITLE, self.D_HANDLE) == tHandle:
|
||||||
|
tItem.setBackground(self.C_TITLE, self.palette().alternateBase())
|
||||||
|
tItem.setBackground(self.C_WORDS, self.palette().alternateBase())
|
||||||
|
tItem.setBackground(self.C_EXTRA, self.palette().alternateBase())
|
||||||
|
tItem.setBackground(self.C_MORE, self.palette().alternateBase())
|
||||||
|
else:
|
||||||
|
tItem.setBackground(self.C_TITLE, self.palette().base())
|
||||||
|
tItem.setBackground(self.C_WORDS, self.palette().base())
|
||||||
|
tItem.setBackground(self.C_EXTRA, self.palette().base())
|
||||||
|
tItem.setBackground(self.C_MORE, self.palette().base())
|
||||||
|
return
|
||||||
|
|
||||||
##
|
##
|
||||||
# Events
|
# Events
|
||||||
##
|
##
|
||||||
@@ -534,6 +552,13 @@ class GuiNovelTree(QTreeWidget):
|
|||||||
|
|
||||||
return
|
return
|
||||||
|
|
||||||
|
def focusOutEvent(self, theEvent):
|
||||||
|
"""Clear the selection when the tree no longer has focus.
|
||||||
|
"""
|
||||||
|
QTreeWidget.focusOutEvent(self, theEvent)
|
||||||
|
self.clearSelection()
|
||||||
|
return
|
||||||
|
|
||||||
##
|
##
|
||||||
# Private Slots
|
# Private Slots
|
||||||
##
|
##
|
||||||
@@ -596,14 +621,14 @@ class GuiNovelTree(QTreeWidget):
|
|||||||
newItem.setFont(self.C_TITLE, self._hFonts[iLevel])
|
newItem.setFont(self.C_TITLE, self._hFonts[iLevel])
|
||||||
newItem.setText(self.C_WORDS, f"{novIdx.wordCount:n}")
|
newItem.setText(self.C_WORDS, f"{novIdx.wordCount:n}")
|
||||||
newItem.setTextAlignment(self.C_WORDS, Qt.AlignRight)
|
newItem.setTextAlignment(self.C_WORDS, Qt.AlignRight)
|
||||||
|
newItem.setData(self.C_MORE, Qt.DecorationRole, self._pMore)
|
||||||
|
|
||||||
|
# Custom column
|
||||||
lastText, toolTip = self._getLastColumnText(tHandle, sTitle)
|
lastText, toolTip = self._getLastColumnText(tHandle, sTitle)
|
||||||
newItem.setText(self.C_EXTRA, lastText)
|
newItem.setText(self.C_EXTRA, lastText)
|
||||||
if lastText:
|
if lastText:
|
||||||
newItem.setToolTip(self.C_EXTRA, toolTip)
|
newItem.setToolTip(self.C_EXTRA, toolTip)
|
||||||
|
|
||||||
newItem.setData(self.C_MORE, Qt.DecorationRole, self._pMore)
|
|
||||||
|
|
||||||
self._treeMap[tKey] = newItem
|
self._treeMap[tKey] = newItem
|
||||||
self.addTopLevelItem(newItem)
|
self.addTopLevelItem(newItem)
|
||||||
|
|
||||||
|
|||||||
@@ -573,6 +573,7 @@ class GuiMain(QMainWindow):
|
|||||||
if self.docEditor.docChanged():
|
if self.docEditor.docChanged():
|
||||||
self.saveDocument()
|
self.saveDocument()
|
||||||
self.docEditor.clearEditor()
|
self.docEditor.clearEditor()
|
||||||
|
self.novelView.setActiveHandle(None)
|
||||||
|
|
||||||
return True
|
return True
|
||||||
|
|
||||||
@@ -594,6 +595,7 @@ class GuiMain(QMainWindow):
|
|||||||
self.docEditor.setFocus()
|
self.docEditor.setFocus()
|
||||||
self.theProject.setLastEdited(tHandle)
|
self.theProject.setLastEdited(tHandle)
|
||||||
self.projView.setSelectedHandle(tHandle, doScroll=doScroll)
|
self.projView.setSelectedHandle(tHandle, doScroll=doScroll)
|
||||||
|
self.novelView.setActiveHandle(tHandle)
|
||||||
else:
|
else:
|
||||||
return False
|
return False
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user