diff --git a/plugins/Marketplace/LocalPackageList.py b/plugins/Marketplace/LocalPackageList.py index f71c5e4f06..44eaac9a0d 100644 --- a/plugins/Marketplace/LocalPackageList.py +++ b/plugins/Marketplace/LocalPackageList.py @@ -5,6 +5,7 @@ from PyQt5.QtCore import pyqtSlot, Qt from typing import TYPE_CHECKING from UM.i18n import i18nCatalog +from UM.Logger import Logger from cura.CuraApplication import CuraApplication @@ -23,6 +24,7 @@ class LocalPackageList(PackageList): def __init__(self, parent: "QObject" = None) -> None: super().__init__(parent) self._application = CuraApplication.getInstance() + self._has_footer = False @pyqtSlot() def updatePackages(self) -> None: diff --git a/plugins/Marketplace/PackageList.py b/plugins/Marketplace/PackageList.py index 00532313f0..de07e5e2fb 100644 --- a/plugins/Marketplace/PackageList.py +++ b/plugins/Marketplace/PackageList.py @@ -22,6 +22,7 @@ class PackageList(ListModel): self.addRoleName(self.PackageRole, "package") self._is_loading = False self._has_more = False + self._has_footer = True @pyqtSlot() def updatePackages(self) -> None: @@ -85,3 +86,7 @@ class PackageList(ListModel): :return: An error message, if any, or an empty string if everything went okay. """ return self._error_message + + @pyqtProperty(bool, constant = True) + def hasFooter(self) -> bool: + return self._has_footer diff --git a/plugins/Marketplace/resources/qml/Packages.qml b/plugins/Marketplace/resources/qml/Packages.qml index e5414e3f67..8ab241e784 100644 --- a/plugins/Marketplace/resources/qml/Packages.qml +++ b/plugins/Marketplace/resources/qml/Packages.qml @@ -71,7 +71,8 @@ ScrollView footer: Item { width: parent.width - height: UM.Theme.getSize("card").height + packagesListview.spacing + height: model.hasFooter || packages.model.errorMessage != "" ? UM.Theme.getSize("card").height + packagesListview.spacing : 0 + visible: model.hasFooter || packages.model.errorMessage != "" Button { id: loadMoreButton