Merge branch 'split_bundled_unbundled_option_2' of github.com:Ultimaker/Cura

This commit is contained in:
Jaime van Kessel 2020-04-02 14:34:17 +02:00
commit 8ba71fde44
No known key found for this signature in database
GPG key ID: 3710727397403C91
3 changed files with 132 additions and 9 deletions

View file

@ -17,7 +17,8 @@ Item
color: UM.Theme.getColor("lining")
width: parent.width
height: Math.floor(UM.Theme.getSize("default_lining").height)
anchors.bottom: parent.bottom
anchors.bottom: parent.top
visible: index != 0
}
Row
{
@ -48,6 +49,8 @@ Item
{
text: model.name
width: parent.width
maximumLineCount: 1
elide: Text.ElideRight
wrapMode: Text.WordWrap
font: UM.Theme.getFont("large_bold")
color: pluginInfo.color

View file

@ -20,7 +20,6 @@ ScrollView
width: page.width
spacing: UM.Theme.getSize("default_margin").height
padding: UM.Theme.getSize("wide_margin").width
visible: toolbox.pluginsInstalledModel.items.length > 0
height: childrenRect.height + 2 * UM.Theme.getSize("wide_margin").height
Label
@ -31,9 +30,9 @@ ScrollView
right: parent.right
margins: parent.padding
}
text: catalog.i18nc("@title:tab", "Plugins")
text: catalog.i18nc("@title:tab", "Installed plugins")
color: UM.Theme.getColor("text_medium")
font: UM.Theme.getFont("large")
font: UM.Theme.getFont("medium")
renderType: Text.NativeRendering
}
@ -61,11 +60,19 @@ ScrollView
}
Repeater
{
id: materialList
id: pluginList
model: toolbox.pluginsInstalledModel
delegate: ToolboxInstalledTile {}
delegate: ToolboxInstalledTile { }
}
}
Label
{
visible: toolbox.pluginsInstalledModel.count < 1
padding: UM.Theme.getSize("default_margin").width
text: catalog.i18nc("@info", "No plugin has been installed.")
font: UM.Theme.getFont("medium")
renderType: Text.NativeRendering
}
}
Label
@ -76,7 +83,7 @@ ScrollView
right: parent.right
margins: parent.padding
}
text: catalog.i18nc("@title:tab", "Materials")
text: catalog.i18nc("@title:tab", "Installed materials")
color: UM.Theme.getColor("text_medium")
font: UM.Theme.getFont("medium")
renderType: Text.NativeRendering
@ -106,8 +113,106 @@ ScrollView
}
Repeater
{
id: pluginList
id: installedMaterialsList
model: toolbox.materialsInstalledModel
delegate: ToolboxInstalledTile { }
}
}
Label
{
visible: toolbox.materialsInstalledModel.count < 1
padding: UM.Theme.getSize("default_margin").width
text: catalog.i18nc("@info", "No material has been installed.")
font: UM.Theme.getFont("medium")
renderType: Text.NativeRendering
}
}
Label
{
anchors
{
left: parent.left
right: parent.right
margins: parent.padding
}
text: catalog.i18nc("@title:tab", "Bundled plugins")
color: UM.Theme.getColor("text_medium")
font: UM.Theme.getFont("medium")
renderType: Text.NativeRendering
}
Rectangle
{
anchors
{
left: parent.left
right: parent.right
margins: parent.padding
}
id: bundledPlugins
color: "transparent"
height: childrenRect.height + UM.Theme.getSize("default_margin").width
border.color: UM.Theme.getColor("lining")
border.width: UM.Theme.getSize("default_lining").width
Column
{
anchors
{
top: parent.top
right: parent.right
left: parent.left
margins: UM.Theme.getSize("default_margin").width
}
Repeater
{
id: bundledPluginsList
model: toolbox.pluginsBundledModel
delegate: ToolboxInstalledTile { }
}
}
}
Label
{
anchors
{
left: parent.left
right: parent.right
margins: parent.padding
}
text: catalog.i18nc("@title:tab", "Bundled materials")
color: UM.Theme.getColor("text_medium")
font: UM.Theme.getFont("medium")
renderType: Text.NativeRendering
}
Rectangle
{
anchors
{
left: parent.left
right: parent.right
margins: parent.padding
}
id: bundledMaterials
color: "transparent"
height: childrenRect.height + UM.Theme.getSize("default_margin").width
border.color: UM.Theme.getColor("lining")
border.width: UM.Theme.getSize("default_lining").width
Column
{
anchors
{
top: parent.top
right: parent.right
left: parent.left
margins: UM.Theme.getSize("default_margin").width
}
Repeater
{
id: bundledMaterialsList
model: toolbox.materialsBundledModel
delegate: ToolboxInstalledTile {}
}
}

View file

@ -77,10 +77,15 @@ class Toolbox(QObject, Extension):
self._plugins_showcase_model = PackagesModel(self)
self._plugins_available_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_available_model = AuthorsModel(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._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._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()
if "material" in all_packages:
self._materials_installed_model.setMetadata(all_packages["material"])
self._materials_bundled_model.setMetadata(all_packages["material"])
self.metadataChanged.emit()
@pyqtSlot(str)
@ -757,6 +764,10 @@ class Toolbox(QObject, Extension):
def pluginsInstalledModel(self) -> PackagesModel:
return self._plugins_installed_model
@pyqtProperty(QObject, constant = True)
def pluginsBundledModel(self) -> PackagesModel:
return self._plugins_bundled_model
@pyqtProperty(QObject, constant = True)
def materialsShowcaseModel(self) -> AuthorsModel:
return self._materials_showcase_model
@ -769,6 +780,10 @@ class Toolbox(QObject, Extension):
def materialsInstalledModel(self) -> PackagesModel:
return self._materials_installed_model
@pyqtProperty(QObject, constant = True)
def materialsBundledModel(self) -> PackagesModel:
return self._materials_bundled_model
@pyqtProperty(QObject, constant = True)
def materialsGenericModel(self) -> PackagesModel:
return self._materials_generic_model