Fix marketplace installed plugins/materials empty rectangle

CURA-7240
This commit is contained in:
Jaime van Kessel 2020-03-31 15:57:08 +02:00
parent d89fce6240
commit c764326c25
No known key found for this signature in database
GPG key ID: 3710727397403C91
2 changed files with 25 additions and 7 deletions

View file

@ -20,7 +20,6 @@ ScrollView
width: page.width width: page.width
spacing: UM.Theme.getSize("default_margin").height spacing: UM.Theme.getSize("default_margin").height
padding: UM.Theme.getSize("wide_margin").width padding: UM.Theme.getSize("wide_margin").width
visible: toolbox.pluginsInstalledModel.items.length > 0
height: childrenRect.height + 2 * UM.Theme.getSize("wide_margin").height height: childrenRect.height + 2 * UM.Theme.getSize("wide_margin").height
Label Label
@ -35,6 +34,7 @@ ScrollView
color: UM.Theme.getColor("text_medium") color: UM.Theme.getColor("text_medium")
font: UM.Theme.getFont("medium") font: UM.Theme.getFont("medium")
renderType: Text.NativeRendering renderType: Text.NativeRendering
visible: toolbox.pluginsInstalledModel.count > 0
} }
Rectangle Rectangle
@ -50,6 +50,7 @@ ScrollView
height: childrenRect.height + UM.Theme.getSize("default_margin").width height: childrenRect.height + UM.Theme.getSize("default_margin").width
border.color: UM.Theme.getColor("lining") border.color: UM.Theme.getColor("lining")
border.width: UM.Theme.getSize("default_lining").width border.width: UM.Theme.getSize("default_lining").width
visible: toolbox.pluginsInstalledModel.count > 0
Column Column
{ {
anchors anchors
@ -80,6 +81,7 @@ ScrollView
color: UM.Theme.getColor("text_medium") color: UM.Theme.getColor("text_medium")
font: UM.Theme.getFont("medium") font: UM.Theme.getFont("medium")
renderType: Text.NativeRendering renderType: Text.NativeRendering
visible: toolbox.materialsInstalledModel.count > 0
} }
Rectangle Rectangle
@ -95,6 +97,7 @@ ScrollView
height: childrenRect.height + UM.Theme.getSize("default_margin").width height: childrenRect.height + UM.Theme.getSize("default_margin").width
border.color: UM.Theme.getColor("lining") border.color: UM.Theme.getColor("lining")
border.width: UM.Theme.getSize("default_lining").width border.width: UM.Theme.getSize("default_lining").width
visible: toolbox.materialsInstalledModel.count > 0
Column Column
{ {
anchors anchors
@ -108,7 +111,7 @@ ScrollView
{ {
id: installedMaterialsList id: installedMaterialsList
model: toolbox.materialsInstalledModel model: toolbox.materialsInstalledModel
delegate: ToolboxInstalledTile { visible: ! model.is_bundled } delegate: ToolboxInstalledTile { }
} }
} }
} }
@ -152,8 +155,8 @@ ScrollView
Repeater Repeater
{ {
id: bundledPluginsList id: bundledPluginsList
model: toolbox.pluginsInstalledModel model: toolbox.pluginsBundledModel
delegate: ToolboxInstalledTile { visible: model.is_bundled } delegate: ToolboxInstalledTile { }
} }
} }
} }
@ -197,8 +200,8 @@ ScrollView
Repeater Repeater
{ {
id: bundledMaterialsList id: bundledMaterialsList
model: toolbox.materialsInstalledModel model: toolbox.materialsBundledModel
delegate: ToolboxInstalledTile { visible: model.is_bundled } delegate: ToolboxInstalledTile {}
} }
} }
} }

View file

@ -77,10 +77,15 @@ class Toolbox(QObject, Extension):
self._plugins_showcase_model = PackagesModel(self) self._plugins_showcase_model = PackagesModel(self)
self._plugins_available_model = PackagesModel(self) self._plugins_available_model = PackagesModel(self)
self._plugins_installed_model = PackagesModel(self) self._plugins_installed_model = PackagesModel(self)
self._plugins_installed_model.setFilter({"is_bundled": "False"})
self._plugins_bundled_model = PackagesModel(self)
self._plugins_bundled_model.setFilter({"is_bundled": "True"})
self._materials_showcase_model = AuthorsModel(self) self._materials_showcase_model = AuthorsModel(self)
self._materials_available_model = AuthorsModel(self) self._materials_available_model = AuthorsModel(self)
self._materials_installed_model = PackagesModel(self) self._materials_installed_model = PackagesModel(self)
self._materials_installed_model.setFilter({"is_bundled": "False"})
self._materials_bundled_model = PackagesModel(self)
self._materials_bundled_model.setFilter({"is_bundled": "True"})
self._materials_generic_model = PackagesModel(self) self._materials_generic_model = PackagesModel(self)
self._license_model = LicenseModel() self._license_model = LicenseModel()
@ -289,9 +294,11 @@ class Toolbox(QObject, Extension):
self._old_plugin_metadata = {k: v for k, v in self._old_plugin_metadata.items() if k in self._old_plugin_ids} self._old_plugin_metadata = {k: v for k, v in self._old_plugin_metadata.items() if k in self._old_plugin_ids}
self._plugins_installed_model.setMetadata(all_packages["plugin"] + list(self._old_plugin_metadata.values())) self._plugins_installed_model.setMetadata(all_packages["plugin"] + list(self._old_plugin_metadata.values()))
self._plugins_bundled_model.setMetadata(all_packages["plugin"] + list(self._old_plugin_metadata.values()))
self.metadataChanged.emit() self.metadataChanged.emit()
if "material" in all_packages: if "material" in all_packages:
self._materials_installed_model.setMetadata(all_packages["material"]) self._materials_installed_model.setMetadata(all_packages["material"])
self._materials_bundled_model.setMetadata(all_packages["material"])
self.metadataChanged.emit() self.metadataChanged.emit()
@pyqtSlot(str) @pyqtSlot(str)
@ -757,6 +764,10 @@ class Toolbox(QObject, Extension):
def pluginsInstalledModel(self) -> PackagesModel: def pluginsInstalledModel(self) -> PackagesModel:
return self._plugins_installed_model return self._plugins_installed_model
@pyqtProperty(QObject, constant=True)
def pluginsBundledModel(self) -> PackagesModel:
return self._plugins_bundled_model
@pyqtProperty(QObject, constant = True) @pyqtProperty(QObject, constant = True)
def materialsShowcaseModel(self) -> AuthorsModel: def materialsShowcaseModel(self) -> AuthorsModel:
return self._materials_showcase_model return self._materials_showcase_model
@ -769,6 +780,10 @@ class Toolbox(QObject, Extension):
def materialsInstalledModel(self) -> PackagesModel: def materialsInstalledModel(self) -> PackagesModel:
return self._materials_installed_model return self._materials_installed_model
@pyqtProperty(QObject, constant=True)
def materialsBundledModel(self) -> PackagesModel:
return self._materials_bundled_model
@pyqtProperty(QObject, constant = True) @pyqtProperty(QObject, constant = True)
def materialsGenericModel(self) -> PackagesModel: def materialsGenericModel(self) -> PackagesModel:
return self._materials_generic_model return self._materials_generic_model