mirror of
https://github.com/Ultimaker/Cura.git
synced 2025-07-21 05:37:50 -06:00
Merge branch 'split_bundled_unbundled_option_2' of github.com:Ultimaker/Cura
This commit is contained in:
commit
8ba71fde44
3 changed files with 132 additions and 9 deletions
|
@ -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
|
||||
|
|
|
@ -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 {}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue