Show install, uninstall & disable buttons in packages list

This splits up the single show controls property into three seperate ones
and no longer hides installed packages from the plugin & materials list

CURA-8834
This commit is contained in:
Jaime van Kessel 2022-02-23 16:51:26 +01:00
parent 6cbcf09580
commit 095b8dc5dd
8 changed files with 28 additions and 16 deletions

View file

@ -117,9 +117,6 @@ class RemotePackageList(PackageList):
return
for package_data in response_data["data"]:
package_id = package_data["package_id"]
if package_id in self._package_manager.local_packages_ids:
continue # We should only show packages which are not already installed
try:
package = PackageModel(package_data, parent = self)
self._connectManageButtonSignals(package)

View file

@ -19,7 +19,8 @@ Packages
bannerVisible = false;
}
searchInBrowserUrl: "https://marketplace.ultimaker.com/app/cura/plugins?utm_source=cura&utm_medium=software&utm_campaign=marketplace-search-plugins-browser"
packagesManageableInListView: true
showUpdateButton: true
showInstallButton: true
showDisableButton: true
model: manager.LocalPackageList
}

View file

@ -16,7 +16,8 @@ Packages
bannerVisible = false;
}
searchInBrowserUrl: "https://marketplace.ultimaker.com/app/cura/materials?utm_source=cura&utm_medium=software&utm_campaign=marketplace-search-materials-browser"
packagesManageableInListView: false
showUpdateButton: true
showInstallButton: true
model: manager.MaterialPackageList
}

View file

@ -11,7 +11,9 @@ import Cura 1.6 as Cura
Rectangle
{
property alias packageData: packageCardHeader.packageData
property alias manageableInListView: packageCardHeader.showManageButtons
property alias showUpdateButton: packageCardHeader.showUpdateButton
property alias showDisableButton: packageCardHeader.showDisableButton
property alias showInstallButton: packageCardHeader.showInstallButton
height: childrenRect.height
color: UM.Theme.getColor("main_background")

View file

@ -12,10 +12,13 @@ import Cura 1.6 as Cura
// are combined into the reusable "PackageCardHeader" component
Item
{
default property alias contents: contentItem.children;
default property alias contents: contentItem.children
property var packageData
property bool showManageButtons: false
property bool showDisableButton: false
property bool showInstallButton: false
property bool showUpdateButton: false
width: parent.width
height: UM.Theme.getSize("card").height
@ -157,7 +160,7 @@ Item
ManageButton
{
id: enableManageButton
visible: showManageButtons && packageData.isInstalled && !packageData.isToBeInstalled && packageData.packageType != "material"
visible: showDisableButton && packageData.isInstalled && !packageData.isToBeInstalled && packageData.packageType != "material"
enabled: !packageData.busy
button_style: !packageData.isActive
@ -171,7 +174,7 @@ Item
ManageButton
{
id: installManageButton
visible: showManageButtons && (packageData.canDowngrade || !packageData.isBundled)
visible: showInstallButton && (packageData.canDowngrade || !packageData.isBundled)
enabled: !packageData.busy
busy: packageData.busy
button_style: !(packageData.isInstalled || packageData.isToBeInstalled)
@ -201,7 +204,7 @@ Item
ManageButton
{
id: updateManageButton
visible: showManageButtons && packageData.canUpdate
visible: showUpdateButton && packageData.canUpdate
enabled: !packageData.busy
busy: packageData.busy
Layout.alignment: Qt.AlignTop

View file

@ -31,7 +31,9 @@ Rectangle
PackageCardHeader
{
id: packageCardHeader
showManageButtons: true
showUpdateButton: true
showInstallButton: true
showDisableButton: true
anchors.fill: parent

View file

@ -19,7 +19,10 @@ ListView
property string bannerText
property string bannerReadMoreUrl
property var onRemoveBanner
property bool packagesManageableInListView
property bool showUpdateButton
property bool showDisableButton
property bool showInstallButton
clip: true
@ -81,7 +84,9 @@ ListView
PackageCard
{
manageableInListView: packages.packagesManageableInListView
showUpdateButton: packages.showUpdateButton
showDisableButton: packages.showDisableButton
showInstallButton: packages.showInstallButton
packageData: model.package
width: parent.width - UM.Theme.getSize("default_margin").width - UM.Theme.getSize("narrow_margin").width
color: cardMouseArea.containsMouse ? UM.Theme.getColor("action_button_hovered") : UM.Theme.getColor("main_background")

View file

@ -16,7 +16,8 @@ Packages
bannerVisible = false;
}
searchInBrowserUrl: "https://marketplace.ultimaker.com/app/cura/plugins?utm_source=cura&utm_medium=software&utm_campaign=marketplace-search-plugins-browser"
packagesManageableInListView: false
showUpdateButton: true
showInstallButton: true
model: manager.PluginPackageList
}