Added sections to the packagelists

By providing a `section_title` with a string to the `package_data`
packages can be subdivided in sections, each with its own header.
For remote packages this will be `None` and therefore no sections are
created there.

Contributes to CURA-8558
This commit is contained in:
j.spijker@ultimaker.com 2021-11-02 14:31:12 +01:00 committed by Jelle Spijker
parent 397baebda4
commit c4c99f6657
No known key found for this signature in database
GPG key ID: 6662DC033BE6B99A
3 changed files with 33 additions and 2 deletions

View file

@ -2,7 +2,7 @@
# Cura is released under the terms of the LGPLv3 or higher.
from PyQt5.QtCore import pyqtProperty, QObject
from typing import Any, Dict
from typing import Any, Dict, Optional
from UM.i18n import i18nCatalog # To translate placeholder names if data is not present.
@ -25,6 +25,7 @@ class PackageModel(QObject):
super().__init__(parent)
self._package_id = package_data.get("package_id", "UnknownPackageId")
self._display_name = package_data.get("display_name", catalog.i18nc("@label:property", "Unknown Package"))
self._section_title = package_data.get("section_title", None)
@pyqtProperty(str, constant = True)
def packageId(self) -> str:
@ -33,3 +34,7 @@ class PackageModel(QObject):
@pyqtProperty(str, constant = True)
def displayName(self) -> str:
return self._display_name
@pyqtProperty(str, constant = True)
def sectionTitle(self) -> Optional[str]:
return self._section_title