More icons

This commit is contained in:
Veronica K. B. Olsen
2020-06-09 23:24:07 +02:00
parent 1bd5b16def
commit 4a69948aa8
22 changed files with 486 additions and 248 deletions
-164
View File
@@ -1,164 +0,0 @@
# -*- coding: utf-8 -*-
"""novelWriter GUI DocView Details
novelWriter GUI DocView Details
===================================
Class holding the document view details panel
File History:
Created: 2019-10-31 [0.3.2]
This file is a part of novelWriter
Copyright 2020, Veronica Berglyd Olsen
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.
"""
import logging
import nw
from PyQt5.QtCore import Qt, QSize
from PyQt5.QtWidgets import (
QWidget, QLabel, QScrollArea, QFrame, QToolButton, QCheckBox, QGridLayout, QHBoxLayout
)
logger = logging.getLogger(__name__)
class GuiDocViewDetails(QScrollArea):
def __init__(self, theParent):
QScrollArea.__init__(self, theParent)
logger.debug("Initialising DocViewDetails ...")
self.mainConf = nw.CONFIG
self.theParent = theParent
self.theProject = theParent.theProject
self.theTheme = theParent.theTheme
self.currHandle = None
# x4 = self.mainConf.pxInt(4)
# x80 = self.mainConf.pxInt(80)
# iPx = self.theTheme.textIconSize
# self.outerBox = QGridLayout(self)
# self.outerBox.setContentsMargins(0, 0, 0, 0)
# self.outerBox.setHorizontalSpacing(0)
# self.outerBox.setVerticalSpacing(x4)
# self.refLabel = QLabel("Referenced By", self)
# self.showHide = QToolButton()
# self.showHide.setStyleSheet("QToolButton { border: none; }")
# self.showHide.setToolButtonStyle(Qt.ToolButtonIconOnly)
# self.showHide.setArrowType(Qt.DownArrow)
# self.showHide.setCheckable(True)
# self.showHide.setIconSize(QSize(iPx, iPx))
# self.showHide.toggled.connect(self._doShowHide)
# self.isSticky = QCheckBox("Sticky")
# self.isSticky.setChecked(False)
# self.isSticky.toggled.connect(self._doSticky)
self.refList = QLabel("None")
self.refList.setWordWrap(True)
self.refList.setAlignment(Qt.AlignTop)
self.refList.setScaledContents(True)
self.refList.linkActivated.connect(self._linkClicked)
# self.scrollBox = QScrollArea()
# self.scrollBox.setHorizontalScrollBarPolicy(Qt.ScrollBarAlwaysOff)
# self.scrollBox.setFrameStyle(QFrame.NoFrame)
# self.scrollBox.setWidgetResizable(True)
# self.scrollBox.setFixedHeight(x80)
# self.scrollBox.setWidget(self.refList)
# self.outerBox.addWidget(self.showHide, 0, 0)
# self.outerBox.addWidget(self.refLabel, 0, 1)
# self.outerBox.addWidget(self.isSticky, 0, 2)
# self.outerBox.addWidget(self.scrollBox, 1, 1, 1, 2)
# self.outerBox.setColumnStretch(1, 1)
# Assemble
self.outerWidget = QWidget()
self.outerBox = QHBoxLayout()
self.outerBox.addWidget(self.refList, 1)
self.outerWidget.setLayout(self.outerBox)
self.setWidget(self.outerWidget)
self.setHorizontalScrollBarPolicy(Qt.ScrollBarAsNeeded)
self.setVerticalScrollBarPolicy(Qt.ScrollBarAsNeeded)
self.setWidgetResizable(True)
self.setMinimumHeight(self.mainConf.pxInt(50))
logger.debug("DocViewDetails initialisation complete")
return
def refreshReferences(self, tHandle):
"""Update the current list of document references from the
project index.
"""
self.currHandle = tHandle
if self.theParent.docViewer.stickyRef:
return
theRefs = self.theParent.theIndex.getBackReferenceList(tHandle)
theList = []
for tHandle in theRefs:
tItem = self.theProject.projTree[tHandle]
if tItem is not None:
for n in range(10):
theList.append("<a href='#head_%s:%s'>%s</a>" % (
tHandle, theRefs[tHandle], tItem.itemName
))
self.refList.setText(", ".join(theList))
self.refList.adjustSize()
return
##
# Internal Functions
##
def _linkClicked(self, theLink):
"""Capture the link-click and forward it to the document viewer
class for handling.
"""
logger.verbose("Clicked link: '%s'" % theLink)
if len(theLink) == 27:
tHandle = theLink[6:19]
self.theParent.viewDocument(tHandle, theLink)
return
# def _doShowHide(self, chState):
# """Toggle the expand/collapse of the panel.
# """
# self.scrollBox.setVisible(chState)
# self.mainConf.setShowRefPanel(chState)
# if chState:
# self.showHide.setArrowType(Qt.DownArrow)
# else:
# self.showHide.setArrowType(Qt.RightArrow)
# return
# def _doSticky(self, chState):
# """Toggle the sticky feature of the references.
# """
# if not chState and self.currHandle is not None:
# self.refreshReferences(self.currHandle)
# return
# END Class GuiDocViewDetails