Tree view: can show item summary

This commit is contained in:
Olivier Keshavjee 2016-02-09 17:52:25 +01:00
parent d10fc7d4d2
commit 74319d5124
4 changed files with 148 additions and 19 deletions

View file

@ -106,9 +106,11 @@ class settingsWindow(QWidget, Ui_Settings):
(self.rdoTreeItemCount, "InfoFolder", "Count"),
(self.rdoTreeWC, "InfoFolder", "WC"),
(self.rdoTreeProgress, "InfoFolder", "Progress"),
(self.rdoTreeSummary, "InfoFolder", "Summary"),
(self.rdoTreeNothing, "InfoFolder", "Nothing"),
(self.rdoTreeTextWC, "InfoText", "WC"),
(self.rdoTreeTextProgress, "InfoText", "Progress"),
(self.rdoTreeTextSummary, "InfoText", "Summary"),
(self.rdoTreeTextNothing, "InfoText", "Nothing"),
]:
item.setChecked(settings.viewSettings["Tree"][what] == value)
@ -296,9 +298,11 @@ class settingsWindow(QWidget, Ui_Settings):
(self.rdoTreeItemCount, "InfoFolder", "Count"),
(self.rdoTreeWC, "InfoFolder", "WC"),
(self.rdoTreeProgress, "InfoFolder", "Progress"),
(self.rdoTreeSummary, "InfoFolder", "Summary"),
(self.rdoTreeNothing, "InfoFolder", "Nothing"),
(self.rdoTreeTextWC, "InfoText", "WC"),
(self.rdoTreeTextProgress, "InfoText", "Progress"),
(self.rdoTreeTextSummary, "InfoText", "Summary"),
(self.rdoTreeTextNothing, "InfoText", "Nothing"),
]:
if item.isChecked():

View file

@ -1,8 +1,8 @@
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'manuskript/ui/settings.ui'
# Form implementation generated from reading ui file 'manuskript/ui/settings_ui.ui'
#
# Created by: PyQt5 UI code generator 5.4.1
# Created by: PyQt5 UI code generator 5.4.2
#
# WARNING! All changes made in this file will be lost!
@ -516,6 +516,13 @@ class Ui_Settings(object):
self.rdoTreeProgress.setFont(font)
self.rdoTreeProgress.setObjectName("rdoTreeProgress")
self.verticalLayout_15.addWidget(self.rdoTreeProgress)
self.rdoTreeSummary = QtWidgets.QRadioButton(self.groupBox_8)
font = QtGui.QFont()
font.setBold(False)
font.setWeight(50)
self.rdoTreeSummary.setFont(font)
self.rdoTreeSummary.setObjectName("rdoTreeSummary")
self.verticalLayout_15.addWidget(self.rdoTreeSummary)
self.rdoTreeNothing = QtWidgets.QRadioButton(self.groupBox_8)
font = QtGui.QFont()
font.setBold(False)
@ -547,6 +554,13 @@ class Ui_Settings(object):
self.rdoTreeTextProgress.setFont(font)
self.rdoTreeTextProgress.setObjectName("rdoTreeTextProgress")
self.verticalLayout_16.addWidget(self.rdoTreeTextProgress)
self.rdoTreeTextSummary = QtWidgets.QRadioButton(self.groupBox_9)
font = QtGui.QFont()
font.setBold(False)
font.setWeight(50)
self.rdoTreeTextSummary.setFont(font)
self.rdoTreeTextSummary.setObjectName("rdoTreeTextSummary")
self.verticalLayout_16.addWidget(self.rdoTreeTextSummary)
self.rdoTreeTextNothing = QtWidgets.QRadioButton(self.groupBox_9)
font = QtGui.QFont()
font.setBold(False)
@ -1306,7 +1320,6 @@ class Ui_Settings(object):
self.layoutWidget = QtWidgets.QWidget(self.splitter)
self.layoutWidget.setObjectName("layoutWidget")
self.verticalLayout_14 = QtWidgets.QVBoxLayout(self.layoutWidget)
self.verticalLayout_14.setContentsMargins(0, 0, 0, 0)
self.verticalLayout_14.setObjectName("verticalLayout_14")
self.cmbThemeEdit = QtWidgets.QComboBox(self.layoutWidget)
self.cmbThemeEdit.setObjectName("cmbThemeEdit")
@ -1586,8 +1599,8 @@ class Ui_Settings(object):
self.horizontalLayout_8.addWidget(self.stack)
self.retranslateUi(Settings)
self.stack.setCurrentIndex(1)
self.tabViews.setCurrentIndex(3)
self.stack.setCurrentIndex(2)
self.tabViews.setCurrentIndex(0)
self.themeStack.setCurrentIndex(1)
self.themeEditStack.setCurrentIndex(0)
self.lstMenu.currentRowChanged['int'].connect(self.stack.setCurrentIndex)
@ -1628,7 +1641,7 @@ class Ui_Settings(object):
self.lblTitleGeneral_2.setText(_translate("Settings", "Revisions"))
self.label_44.setText(_translate("Settings", "Revisions are a way to keep track of modifications. For each text item, it stores any changes you make to the main text, allowing you to see and restoring previous versions."))
self.chkRevisionsKeep.setText(_translate("Settings", "Keep revisions"))
self.chkRevisionRemove.setTitle(_translate("Settings", "Smart remove"))
self.chkRevisionRemove.setTitle(_translate("Settings", "S&mart remove"))
self.label_46.setText(_translate("Settings", "Keep:"))
self.label_45.setText(_translate("Settings", "Smart remove allows you to keep only a certain number of revisions. It is strongly recommended to use it, lest you file will becomes full of thousands of insignificant changes."))
self.label_50.setText(_translate("Settings", "revisions per day for the last month"))
@ -1657,13 +1670,15 @@ class Ui_Settings(object):
self.cmbTreeBackground.setItemText(3, _translate("Settings", "Progress"))
self.cmbTreeBackground.setItemText(4, _translate("Settings", "Compile"))
self.groupBox_8.setTitle(_translate("Settings", "Folders"))
self.rdoTreeItemCount.setText(_translate("Settings", "Show item count"))
self.rdoTreeItemCount.setText(_translate("Settings", "Show ite&m count"))
self.rdoTreeWC.setText(_translate("Settings", "Show wordcount"))
self.rdoTreeProgress.setText(_translate("Settings", "Show progress"))
self.rdoTreeSummary.setText(_translate("Settings", "Show summary"))
self.rdoTreeNothing.setText(_translate("Settings", "Nothing"))
self.groupBox_9.setTitle(_translate("Settings", "Text"))
self.rdoTreeTextWC.setText(_translate("Settings", "Show wordcount"))
self.rdoTreeTextProgress.setText(_translate("Settings", "Show progress"))
self.rdoTreeTextSummary.setText(_translate("Settings", "Show summary"))
self.rdoTreeTextNothing.setText(_translate("Settings", "Nothing"))
self.tabViews.setTabText(self.tabViews.indexOf(self.tab), _translate("Settings", "Tree"))
self.groupBox_4.setTitle(_translate("Settings", "Colors"))

View file

@ -51,11 +51,20 @@
<item>
<widget class="QStackedWidget" name="stack">
<property name="currentIndex">
<number>1</number>
<number>2</number>
</property>
<widget class="QWidget" name="stackedWidgetPage1">
<layout class="QVBoxLayout" name="verticalLayout_7">
<property name="margin">
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
@ -410,7 +419,16 @@ text-align:center;</string>
</widget>
<widget class="QWidget" name="page_3">
<layout class="QVBoxLayout" name="verticalLayout">
<property name="margin">
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
@ -467,7 +485,7 @@ text-align:center;</string>
</font>
</property>
<property name="title">
<string>Smart remove</string>
<string>S&amp;mart remove</string>
</property>
<property name="checkable">
<bool>true</bool>
@ -712,7 +730,16 @@ text-align:center;</string>
</widget>
<widget class="QWidget" name="stackedWidgetPage2">
<layout class="QVBoxLayout" name="verticalLayout_9">
<property name="margin">
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
@ -743,7 +770,7 @@ text-align:center;</string>
<item>
<widget class="QTabWidget" name="tabViews">
<property name="currentIndex">
<number>3</number>
<number>0</number>
</property>
<widget class="QWidget" name="tab">
<attribute name="title">
@ -953,7 +980,7 @@ text-align:center;</string>
</font>
</property>
<property name="text">
<string>Show item count</string>
<string>Show ite&amp;m count</string>
</property>
</widget>
</item>
@ -983,6 +1010,19 @@ text-align:center;</string>
</property>
</widget>
</item>
<item>
<widget class="QRadioButton" name="rdoTreeSummary">
<property name="font">
<font>
<weight>50</weight>
<bold>false</bold>
</font>
</property>
<property name="text">
<string>Show summary</string>
</property>
</widget>
</item>
<item>
<widget class="QRadioButton" name="rdoTreeNothing">
<property name="font">
@ -1040,6 +1080,19 @@ text-align:center;</string>
</property>
</widget>
</item>
<item>
<widget class="QRadioButton" name="rdoTreeTextSummary">
<property name="font">
<font>
<weight>50</weight>
<bold>false</bold>
</font>
</property>
<property name="text">
<string>Show summary</string>
</property>
</widget>
</item>
<item>
<widget class="QRadioButton" name="rdoTreeTextNothing">
<property name="font">
@ -2201,7 +2254,16 @@ text-align:center;</string>
</widget>
<widget class="QWidget" name="stackedWidgetPage3">
<layout class="QVBoxLayout" name="verticalLayout_3">
<property name="margin">
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
@ -2333,7 +2395,16 @@ text-align:center;</string>
</widget>
<widget class="QWidget" name="stackedWidgetPage4">
<layout class="QVBoxLayout" name="verticalLayout_4">
<property name="margin">
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
@ -2407,7 +2478,16 @@ text-align:center;</string>
</widget>
<widget class="QWidget" name="page">
<layout class="QVBoxLayout" name="verticalLayout_10">
<property name="margin">
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
@ -2442,7 +2522,16 @@ text-align:center;</string>
</property>
<widget class="QWidget" name="stackedWidgetPage1_3">
<layout class="QVBoxLayout" name="verticalLayout_12">
<property name="margin">
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
@ -2517,7 +2606,16 @@ text-align:center;</string>
</widget>
<widget class="QWidget" name="stackedWidgetPage2_3">
<layout class="QVBoxLayout" name="verticalLayout_13">
<property name="margin">
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>

View file

@ -104,6 +104,10 @@ class treeTitleDelegate(QStyledItemDelegate):
extraText = int(toFloat(item.data(Outline.goalPercentage.value)) * 100)
if extraText:
extraText = " ({}%)".format(extraText)
elif settings.viewSettings["Tree"]["InfoFolder"] == "Summary":
extraText = item.data(Outline.summarySentance.value)
if extraText:
extraText = " - {}".format(extraText)
if item.isText() and settings.viewSettings["Tree"]["InfoText"] != "Nothing":
if settings.viewSettings["Tree"]["InfoText"] == "WC":
@ -113,12 +117,20 @@ class treeTitleDelegate(QStyledItemDelegate):
extraText = int(toFloat(item.data(Outline.goalPercentage.value)) * 100)
if extraText:
extraText = " ({}%)".format(extraText)
elif settings.viewSettings["Tree"]["InfoText"] == "Summary":
extraText = item.data(Outline.summarySentance.value)
if extraText:
extraText = " - {}".format(extraText)
if extraText:
r = QRect(textRect)
r.setLeft(r.left() + fm.width(opt.text + " "))
painter.save()
f = painter.font()
f.setWeight(QFont.Normal)
painter.setFont(f)
painter.setPen(Qt.darkGray)
painter.drawText(r, Qt.AlignLeft | Qt.AlignBottom, extraText)
painter.restore()