mirror of
https://github.com/Ultimaker/Cura.git
synced 2025-07-21 13:47:51 -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")
|
color: UM.Theme.getColor("lining")
|
||||||
width: parent.width
|
width: parent.width
|
||||||
height: Math.floor(UM.Theme.getSize("default_lining").height)
|
height: Math.floor(UM.Theme.getSize("default_lining").height)
|
||||||
anchors.bottom: parent.bottom
|
anchors.bottom: parent.top
|
||||||
|
visible: index != 0
|
||||||
}
|
}
|
||||||
Row
|
Row
|
||||||
{
|
{
|
||||||
|
@ -48,6 +49,8 @@ Item
|
||||||
{
|
{
|
||||||
text: model.name
|
text: model.name
|
||||||
width: parent.width
|
width: parent.width
|
||||||
|
maximumLineCount: 1
|
||||||
|
elide: Text.ElideRight
|
||||||
wrapMode: Text.WordWrap
|
wrapMode: Text.WordWrap
|
||||||
font: UM.Theme.getFont("large_bold")
|
font: UM.Theme.getFont("large_bold")
|
||||||
color: pluginInfo.color
|
color: pluginInfo.color
|
||||||
|
|
|
@ -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
|
||||||
|
@ -31,9 +30,9 @@ ScrollView
|
||||||
right: parent.right
|
right: parent.right
|
||||||
margins: parent.padding
|
margins: parent.padding
|
||||||
}
|
}
|
||||||
text: catalog.i18nc("@title:tab", "Plugins")
|
text: catalog.i18nc("@title:tab", "Installed plugins")
|
||||||
color: UM.Theme.getColor("text_medium")
|
color: UM.Theme.getColor("text_medium")
|
||||||
font: UM.Theme.getFont("large")
|
font: UM.Theme.getFont("medium")
|
||||||
renderType: Text.NativeRendering
|
renderType: Text.NativeRendering
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -61,11 +60,19 @@ ScrollView
|
||||||
}
|
}
|
||||||
Repeater
|
Repeater
|
||||||
{
|
{
|
||||||
id: materialList
|
id: pluginList
|
||||||
model: toolbox.pluginsInstalledModel
|
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
|
Label
|
||||||
|
@ -76,7 +83,7 @@ ScrollView
|
||||||
right: parent.right
|
right: parent.right
|
||||||
margins: parent.padding
|
margins: parent.padding
|
||||||
}
|
}
|
||||||
text: catalog.i18nc("@title:tab", "Materials")
|
text: catalog.i18nc("@title:tab", "Installed materials")
|
||||||
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
|
||||||
|
@ -106,8 +113,106 @@ ScrollView
|
||||||
}
|
}
|
||||||
Repeater
|
Repeater
|
||||||
{
|
{
|
||||||
id: pluginList
|
id: installedMaterialsList
|
||||||
model: toolbox.materialsInstalledModel
|
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 {}
|
delegate: ToolboxInstalledTile {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -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
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue