CURA-5035 Simplify selection

This commit is contained in:
Ian Paschal 2018-04-24 15:34:05 +02:00
parent dc0dcac199
commit f2301eec31
6 changed files with 11 additions and 21 deletions

View file

@ -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
{

View file

@ -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

View file

@ -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
}

View file

@ -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
}

View file

@ -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"

View file

@ -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