mirror of
https://github.com/Ultimaker/Cura.git
synced 2025-07-07 23:17:32 -06:00
CURA-5035 Simplify selection
This commit is contained in:
parent
dc0dcac199
commit
f2301eec31
6 changed files with 11 additions and 21 deletions
|
@ -9,7 +9,7 @@ import UM 1.1 as UM
|
|||
Item
|
||||
{
|
||||
id: base
|
||||
property var details: toolbox.authorsModel.items[0]
|
||||
property var details: toolbox.viewSelection
|
||||
anchors.fill: parent
|
||||
ToolboxBackColumn
|
||||
{
|
||||
|
|
|
@ -9,7 +9,7 @@ import UM 1.1 as UM
|
|||
Item
|
||||
{
|
||||
id: base
|
||||
property var details: toolbox.packagesModel.items[0]
|
||||
property var details: toolbox.viewSelection
|
||||
anchors.fill: parent
|
||||
width: parent.width
|
||||
ToolboxBackColumn
|
||||
|
|
|
@ -88,22 +88,15 @@ Item
|
|||
}
|
||||
onClicked:
|
||||
{
|
||||
toolbox.viewSelection = model
|
||||
switch(toolbox.viewCategory)
|
||||
{
|
||||
case "material":
|
||||
console.log("OKAY FILTER BY AUTHOR", model.name)
|
||||
toolbox.viewSelection = model.name
|
||||
toolbox.viewPage = "author"
|
||||
console.log(toolbox)
|
||||
var name = model.name
|
||||
toolbox.filterModelByProp("authors", "name", name)
|
||||
toolbox.filterModelByProp("packages", "author_name", name)
|
||||
console.log(toolbox)
|
||||
toolbox.filterModelByProp("packages", "author_name", model.name)
|
||||
break
|
||||
default:
|
||||
toolbox.viewSelection = model.id
|
||||
toolbox.viewPage = "detail"
|
||||
toolbox.filterModelByProp("authors", "name", model.author_name)
|
||||
toolbox.filterModelByProp("packages", "id", model.id)
|
||||
break
|
||||
}
|
||||
|
|
|
@ -64,18 +64,15 @@ Item
|
|||
anchors.fill: parent
|
||||
onClicked:
|
||||
{
|
||||
toolbox.viewSelection = model
|
||||
switch(toolbox.viewCategory)
|
||||
{
|
||||
case "material":
|
||||
toolbox.viewSelection = model.name
|
||||
toolbox.viewPage = "author"
|
||||
toolbox.filterModelByProp("authors", "name", model.name)
|
||||
toolbox.filterModelByProp("packages", "author_name", model.name)
|
||||
break
|
||||
default:
|
||||
toolbox.viewSelection = model.id
|
||||
toolbox.viewPage = "detail"
|
||||
toolbox.filterModelByProp("authors", "name", model.author_name)
|
||||
toolbox.filterModelByProp("packages", "id", model.id)
|
||||
break
|
||||
}
|
||||
|
|
|
@ -28,7 +28,6 @@ Item
|
|||
onClicked:
|
||||
{
|
||||
toolbox.filterModelByProp("packages", "type", "plugin")
|
||||
toolbox.filterModelByProp("authors", "type", "plugin")
|
||||
toolbox.viewCategory = "plugin"
|
||||
toolbox.viewPage = "overview"
|
||||
}
|
||||
|
@ -39,7 +38,6 @@ Item
|
|||
active: toolbox.viewCategory == "material"
|
||||
onClicked:
|
||||
{
|
||||
toolbox.filterModelByProp("packages", "type", "material")
|
||||
toolbox.filterModelByProp("authors", "type", "material")
|
||||
toolbox.viewCategory = "material"
|
||||
toolbox.viewPage = "overview"
|
||||
|
|
|
@ -122,7 +122,7 @@ class Toolbox(QObject, Extension):
|
|||
# View selection defines what is currently selected and should be
|
||||
# used in filtering. This could be an author name (if _view_page is set
|
||||
# to "author" or a plugin name if it is set to "detail").
|
||||
self._view_selection = ""
|
||||
self._view_selection = None
|
||||
|
||||
# Active package refers to which package is currently being downloaded,
|
||||
# installed, or otherwise modified.
|
||||
|
@ -553,11 +553,13 @@ class Toolbox(QObject, Extension):
|
|||
def viewPage(self) -> str:
|
||||
return self._view_page
|
||||
|
||||
def setViewSelection(self, selection: str = ""):
|
||||
def setViewSelection(self, selection: dict):
|
||||
selection.setParent(self)
|
||||
self._view_selection = selection
|
||||
self.viewChanged.emit()
|
||||
@pyqtProperty(str, fset = setViewSelection, notify = viewChanged)
|
||||
def viewSelection(self) -> str:
|
||||
@pyqtProperty(QObject, fset = setViewSelection, notify = viewChanged)
|
||||
def viewSelection(self) -> dict:
|
||||
print(dir(self._view_selection))
|
||||
return self._view_selection
|
||||
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue