99 lines
2.8 KiB
Python
99 lines
2.8 KiB
Python
# -*- coding: utf-8 -*-
|
||
"""novelWriter GUI Document Details
|
||
|
||
novelWriter – GUI Document Details
|
||
====================================
|
||
Class holding the left side document details panel
|
||
|
||
File History:
|
||
Created: 2019-04-24 [0.0.1]
|
||
|
||
"""
|
||
|
||
import logging
|
||
import nw
|
||
|
||
from os import path
|
||
from PyQt5.QtGui import QFont
|
||
from PyQt5.QtWidgets import QFrame, QGridLayout, QLabel
|
||
|
||
from nw.enum import nwItemType, nwItemClass, nwItemLayout
|
||
from nw.constants import nwLabels
|
||
|
||
logger = logging.getLogger(__name__)
|
||
|
||
class GuiDocDetails(QFrame):
|
||
|
||
C_NAME = 0
|
||
C_COUNT = 1
|
||
C_FLAGS = 2
|
||
C_HANDLE = 3
|
||
|
||
def __init__(self, theParent, theProject):
|
||
QFrame.__init__(self, theParent)
|
||
|
||
logger.debug("Initialising DocDetails ...")
|
||
self.mainConf = nw.CONFIG
|
||
self.debugGUI = self.mainConf.debugGUI
|
||
self.theParent = theParent
|
||
self.theProject = theProject
|
||
|
||
self.mainBox = QGridLayout(self)
|
||
self.mainBox.setVerticalSpacing(1)
|
||
self.mainBox.setHorizontalSpacing(15)
|
||
self.setLayout(self.mainBox)
|
||
|
||
self.fntOne = QFont()
|
||
self.fntOne.setPointSize(10)
|
||
self.fntOne.setBold(True)
|
||
|
||
self.fntTwo = QFont()
|
||
self.fntTwo.setPointSize(10)
|
||
|
||
colOne = ["Name","Status","Class","Layout"]
|
||
for nRow in range(4):
|
||
lblOne = QLabel(colOne[nRow])
|
||
lblOne.setFont(self.fntOne)
|
||
self.mainBox.addWidget(lblOne,nRow,0)
|
||
|
||
self.mainBox.setColumnStretch(0,0)
|
||
self.mainBox.setColumnStretch(1,1)
|
||
|
||
logger.debug("DocDetails initialisation complete")
|
||
|
||
return
|
||
|
||
def buildViewBox(self, tHandle):
|
||
|
||
nwItem = self.theProject.getItem(tHandle)
|
||
|
||
if nwItem is None:
|
||
colTwo = [""]*4
|
||
else:
|
||
itemStatus = nwItem.itemStatus
|
||
if nwItem.itemClass == nwItemClass.NOVEL:
|
||
if itemStatus < 0 or itemStatus >= len(self.theParent.statusLabels):
|
||
statusLabel = self.theParent.statusLabels[0]
|
||
else:
|
||
statusLabel = self.theParent.statusLabels[itemStatus]
|
||
else:
|
||
if itemStatus < 0 or itemStatus >= len(self.theParent.importLabels):
|
||
statusLabel = self.theParent.importLabels[0]
|
||
else:
|
||
statusLabel = self.theParent.importLabels[itemStatus]
|
||
colTwo = [
|
||
nwItem.itemName,
|
||
statusLabel,
|
||
nwLabels.CLASS_NAME[nwItem.itemClass],
|
||
nwLabels.LAYOUT_NAME[nwItem.itemLayout],
|
||
]
|
||
|
||
for nRow in range(4):
|
||
lblTwo = QLabel(colTwo[nRow])
|
||
lblTwo.setFont(self.fntTwo)
|
||
self.mainBox.addWidget(lblTwo,nRow,1)
|
||
|
||
return
|
||
|
||
# END Class GuiDocDetails
|