Connect the new viewer panel and add icon for it
This commit is contained in:
@@ -3,7 +3,7 @@ novelWriter – GUI Document Viewer Panel
|
||||
=======================================
|
||||
|
||||
File History:
|
||||
Created: 2023-11-09 [2.2a1] GuiDocViewerPanel
|
||||
Created: 2023-11-14 [2.2rc1] GuiDocViewerPanel
|
||||
|
||||
This file is a part of novelWriter
|
||||
Copyright 2018–2023, Veronica Berglyd Olsen
|
||||
@@ -25,40 +25,90 @@ from __future__ import annotations
|
||||
|
||||
import logging
|
||||
|
||||
from PyQt5.QtWidgets import QVBoxLayout, QWidget
|
||||
from PyQt5.QtWidgets import QTabWidget, QVBoxLayout, QWidget
|
||||
|
||||
from novelwriter.gui.docviewer import GuiDocViewer
|
||||
from novelwriter import CONFIG
|
||||
from novelwriter.constants import nwLabels, nwLists, trConst
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
class GuiDocViewerPanel(QWidget):
|
||||
|
||||
def __init__(self, docViewer: GuiDocViewer) -> None:
|
||||
super().__init__(parent=docViewer)
|
||||
def __init__(self, parent: QWidget) -> None:
|
||||
super().__init__(parent=parent)
|
||||
|
||||
logger.debug("Create: GuiDocViewerPanel")
|
||||
|
||||
self.panelHeader = GuiDocViewerPanelHeader(self)
|
||||
self.tabBackRefs = _ViewPanelBackRefs(self)
|
||||
|
||||
self.mainTabs = QTabWidget(self)
|
||||
self.mainTabs.addTab(self.tabBackRefs, self.tr("Back References"))
|
||||
|
||||
self.kwTabs = {}
|
||||
for itemClass in nwLists.USER_CLASSES:
|
||||
self.kwTabs[itemClass] = _ViewPanelKeyWords(self)
|
||||
self.mainTabs.addTab(self.kwTabs[itemClass], trConst(nwLabels.CLASS_NAME[itemClass]))
|
||||
|
||||
# Assemble
|
||||
self.outerBox = QVBoxLayout()
|
||||
self.outerBox.addWidget(self.panelHeader)
|
||||
self.outerBox.addWidget(self.mainTabs)
|
||||
self.outerBox.setContentsMargins(0, 0, 0, 0)
|
||||
|
||||
self.setLayout(self.outerBox)
|
||||
self.updateTheme()
|
||||
|
||||
logger.debug("Ready: GuiDocViewerPanel")
|
||||
|
||||
return
|
||||
|
||||
def updateTheme(self) -> None:
|
||||
"""Update theme elements."""
|
||||
vPx = CONFIG.pxInt(4)
|
||||
lPx = CONFIG.pxInt(2)
|
||||
rPx = CONFIG.pxInt(14)
|
||||
hCol = self.palette().highlight().color()
|
||||
|
||||
styleSheet = (
|
||||
"QTabWidget QTabBar::tab {"
|
||||
f"border: 0; padding: {vPx}px {rPx}px {vPx}px {lPx}px;"
|
||||
"} "
|
||||
"QTabWidget QTabBar::tab:selected {"
|
||||
f"color: rgb({hCol.red()}, {hCol.green()}, {hCol.blue()});"
|
||||
"} "
|
||||
)
|
||||
self.mainTabs.setStyleSheet(styleSheet)
|
||||
|
||||
return
|
||||
|
||||
# END Class GuiDocViewerPanel
|
||||
|
||||
|
||||
class GuiDocViewerPanelHeader(QWidget):
|
||||
class _ViewPanelBackRefs(QWidget):
|
||||
|
||||
def __init__(self, docViewerPanel: GuiDocViewerPanel) -> None:
|
||||
super().__init__(parent=docViewerPanel)
|
||||
def __init__(self, parent: QWidget) -> None:
|
||||
super().__init__(parent=parent)
|
||||
return
|
||||
|
||||
# END Class GuiDocViewerPanelHeader
|
||||
def refreshContent(self):
|
||||
""""""
|
||||
# theRefs = SHARED.project.index.getBackReferenceList(tHandle)
|
||||
# theList = []
|
||||
# for tHandle in theRefs:
|
||||
# tItem = SHARED.project.tree[tHandle]
|
||||
# if tItem is not None:
|
||||
# theList.append("<a href='%s#%s' %s>%s</a>" % (
|
||||
# tHandle, theRefs[tHandle], self.linkStyle, tItem.itemName
|
||||
# ))
|
||||
return
|
||||
|
||||
# END Class _ViewPanelBackRefs
|
||||
|
||||
|
||||
class _ViewPanelKeyWords(QWidget):
|
||||
|
||||
def __init__(self, parent: QWidget) -> None:
|
||||
super().__init__(parent=parent)
|
||||
return
|
||||
|
||||
# END Class _ViewPanelRefs
|
||||
|
||||
Reference in New Issue
Block a user