Change icon for filtered items in build settings dialog
This commit is contained in:
@@ -21,7 +21,7 @@ backward = typ_chevron-left.svg
|
||||
bookmark = typ_bookmark.svg
|
||||
browse = typ_folder-open.svg
|
||||
build_excluded = typ_cancel.svg
|
||||
build_filtered = typ_filter.svg
|
||||
build_filtered = typ_arrow-forward.svg
|
||||
build_included = typ_pin.svg
|
||||
bullet-off = typ_media-record-outline.svg
|
||||
bullet-on = typ_media-record.svg
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="24" height="24" version="1.2" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="m13.25 3.5625c-0.32 0-0.64 0.12125-0.88375 0.365-0.24375 0.245-0.36625 0.565-0.36625 0.885v3.1988c-5.625 0.6225-10 5.3862-10 11.176v1.25c2.8062-4.2788 6.5625-4.9 10-4.9862v3.1112c0 0.31875 0.1225 0.64 0.36625 0.88375s0.56375 0.36625 0.88375 0.36625 0.64-0.1225 0.88375-0.36625l7.8662-7.7588-7.8662-7.76c-0.24375-0.24375-0.56375-0.365-0.88375-0.365z" fill="#9c9" stroke-width="1.25"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 538 B |
@@ -1,4 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="24" height="24" version="1" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="m20.694 2h-17.387c-1.3661 0-1.7387 0.85714-0.74516 2l5.2161 6c0.99354 1.1429 1.7387 3.2857 1.7387 4.8571v7.1429l4.9677-2.8571v-5c0-1.1429 0.74516-3 1.7387-4.1429l5.2161-6c0.99354-1.1429 0.62096-2-0.74516-2z" fill="#f99157" stroke-width="1.332"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 398 B |
@@ -21,7 +21,7 @@ backward = typ_chevron-left.svg
|
||||
bookmark = typ_bookmark.svg
|
||||
browse = typ_folder-open.svg
|
||||
build_excluded = typ_cancel.svg
|
||||
build_filtered = typ_filter.svg
|
||||
build_filtered = typ_arrow-forward.svg
|
||||
build_included = typ_pin.svg
|
||||
bullet-off = typ_media-record-outline.svg
|
||||
bullet-on = typ_media-record.svg
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="24" height="24" version="1.2" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="m13.25 3.5625c-0.32 0-0.64 0.12125-0.88375 0.365-0.24375 0.245-0.36625 0.565-0.36625 0.885v3.1988c-5.625 0.6225-10 5.3862-10 11.176v1.25c2.8062-4.2788 6.5625-4.9 10-4.9862v3.1112c0 0.31875 0.1225 0.64 0.36625 0.88375s0.56375 0.36625 0.88375 0.36625 0.64-0.1225 0.88375-0.36625l7.8662-7.7588-7.8662-7.76c-0.24375-0.24375-0.56375-0.365-0.88375-0.365z" fill="#718c00" stroke-width="1.25"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 541 B |
@@ -1,4 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="24" height="24" version="1" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="m20.694 2h-17.387c-1.3661 0-1.7387 0.85714-0.74516 2l5.2161 6c0.99354 1.1429 1.7387 3.2857 1.7387 4.8571v7.1429l4.9677-2.8571v-5c0-1.1429 0.74516-3 1.7387-4.1429l5.2161-6c0.99354-1.1429 0.62096-2-0.74516-2z" fill="#f5871f" stroke-width="1.332"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 398 B |
@@ -106,7 +106,7 @@ class GuiBuildSettings(QDialog):
|
||||
self.optSideBar.setLabelColor(self.mainTheme.helpText)
|
||||
|
||||
self.optSideBar.addLabel(self.tr("Options"))
|
||||
self.optSideBar.addButton(self.tr("Filters"), self.OPT_FILTERS)
|
||||
self.optSideBar.addButton(self.tr("Selection"), self.OPT_FILTERS)
|
||||
self.optSideBar.addButton(self.tr("Headings"), self.OPT_HEADINGS)
|
||||
self.optSideBar.addButton(self.tr("Content"), self.OPT_CONTENT)
|
||||
self.optSideBar.addButton(self.tr("Format"), self.OPT_FORMAT)
|
||||
@@ -301,16 +301,19 @@ class _FilterTab(QWidget):
|
||||
self.mainTheme = buildMain.mainGui.mainTheme
|
||||
self.theProject = buildMain.mainGui.theProject
|
||||
|
||||
self._treeMap = {}
|
||||
self._treeMap: dict[str, QTreeWidgetItem] = {}
|
||||
self._build = build
|
||||
|
||||
self._statusFlags = {
|
||||
self.F_NONE: ("", QIcon()),
|
||||
self.F_FILTERED: (self.tr("Filtered"), self.mainTheme.getIcon("build_filtered")),
|
||||
self.F_INCLUDED: (self.tr("Included"), self.mainTheme.getIcon("build_included")),
|
||||
self.F_EXCLUDED: (self.tr("Excluded"), self.mainTheme.getIcon("build_excluded")),
|
||||
self._statusFlags: dict[int, QIcon] = {
|
||||
self.F_NONE: QIcon(),
|
||||
self.F_FILTERED: self.mainTheme.getIcon("build_filtered"),
|
||||
self.F_INCLUDED: self.mainTheme.getIcon("build_included"),
|
||||
self.F_EXCLUDED: self.mainTheme.getIcon("build_excluded"),
|
||||
}
|
||||
|
||||
self._trIncluded = self.tr("Included in manuscript")
|
||||
self._trExcluded = self.tr("Excluded from manuscript")
|
||||
|
||||
# Project Tree
|
||||
# ============
|
||||
|
||||
@@ -341,25 +344,25 @@ class _FilterTab(QWidget):
|
||||
# Filters
|
||||
# =======
|
||||
|
||||
self.filteredButton = QToolButton(self)
|
||||
self.filteredButton.setToolTip(self._statusFlags[self.F_FILTERED][0])
|
||||
self.filteredButton.setIcon(self._statusFlags[self.F_FILTERED][1])
|
||||
self.filteredButton.clicked.connect(lambda: self._setSelectedMode(self.F_FILTERED))
|
||||
self.resetButton = QToolButton(self)
|
||||
self.resetButton.setToolTip(self.tr("Reset to default"))
|
||||
self.resetButton.setIcon(self.mainTheme.getIcon("revert"))
|
||||
self.resetButton.clicked.connect(lambda: self._setSelectedMode(self.F_FILTERED))
|
||||
|
||||
self.includedButton = QToolButton(self)
|
||||
self.includedButton.setToolTip(self._statusFlags[self.F_INCLUDED][0])
|
||||
self.includedButton.setIcon(self._statusFlags[self.F_INCLUDED][1])
|
||||
self.includedButton.setToolTip(self.tr("Always included"))
|
||||
self.includedButton.setIcon(self._statusFlags[self.F_INCLUDED])
|
||||
self.includedButton.clicked.connect(lambda: self._setSelectedMode(self.F_INCLUDED))
|
||||
|
||||
self.excludedButton = QToolButton(self)
|
||||
self.excludedButton.setToolTip(self._statusFlags[self.F_EXCLUDED][0])
|
||||
self.excludedButton.setIcon(self._statusFlags[self.F_EXCLUDED][1])
|
||||
self.excludedButton.setToolTip(self.tr("Always excluded"))
|
||||
self.excludedButton.setIcon(self._statusFlags[self.F_EXCLUDED])
|
||||
self.excludedButton.clicked.connect(lambda: self._setSelectedMode(self.F_EXCLUDED))
|
||||
|
||||
self.modeBox = QHBoxLayout()
|
||||
self.modeBox.addWidget(QLabel(self.tr("Mark selection as")))
|
||||
self.modeBox.addStretch(1)
|
||||
self.modeBox.addWidget(self.filteredButton)
|
||||
self.modeBox.addWidget(self.resetButton)
|
||||
self.modeBox.addWidget(self.includedButton)
|
||||
self.modeBox.addWidget(self.excludedButton)
|
||||
|
||||
@@ -549,13 +552,16 @@ class _FilterTab(QWidget):
|
||||
for tHandle, item in self._treeMap.items():
|
||||
allow, mode = filtered.get(tHandle, (False, FilterMode.UNKNOWN))
|
||||
if mode == FilterMode.INCLUDED:
|
||||
item.setIcon(self.C_STATUS, self._statusFlags[self.F_INCLUDED][1])
|
||||
item.setIcon(self.C_STATUS, self._statusFlags[self.F_INCLUDED])
|
||||
item.setToolTip(self.C_STATUS, self._trIncluded)
|
||||
elif mode == FilterMode.EXCLUDED:
|
||||
item.setIcon(self.C_STATUS, self._statusFlags[self.F_EXCLUDED][1])
|
||||
item.setIcon(self.C_STATUS, self._statusFlags[self.F_EXCLUDED])
|
||||
item.setToolTip(self.C_STATUS, self._trExcluded)
|
||||
elif mode == FilterMode.FILTERED and allow:
|
||||
item.setIcon(self.C_STATUS, self._statusFlags[self.F_FILTERED][1])
|
||||
item.setIcon(self.C_STATUS, self._statusFlags[self.F_FILTERED])
|
||||
item.setToolTip(self.C_STATUS, self._trIncluded)
|
||||
else:
|
||||
item.setIcon(self.C_STATUS, self._statusFlags[self.F_NONE][1])
|
||||
item.setIcon(self.C_STATUS, self._statusFlags[self.F_NONE])
|
||||
return
|
||||
|
||||
# END Class _FilterTab
|
||||
|
||||
@@ -266,7 +266,7 @@ def testBuildSettings_Filter(qtbot: QtBot, nwGUI: GuiMain, projPath: Path, mockR
|
||||
filterTab._treeMap[C.hSceneDoc].setSelected(True)
|
||||
filterTab._treeMap[hPlotDoc].setSelected(True)
|
||||
filterTab._treeMap[hCharDoc].setSelected(True)
|
||||
filterTab.filteredButton.click()
|
||||
filterTab.resetButton.click()
|
||||
assert build.buildItemFilter(nwGUI.theProject) == {
|
||||
C.hNovelRoot: (False, FilterMode.SKIPPED),
|
||||
C.hTitlePage: (True, FilterMode.FILTERED),
|
||||
|
||||
Reference in New Issue
Block a user