CURA-5537 improve styling of toolbox

This commit is contained in:
Ian Paschal 2018-07-03 15:54:20 +02:00
parent 9fa8498162
commit bc05839940
5 changed files with 75 additions and 68 deletions

View file

@ -1,7 +1,7 @@
// Copyright (c) 2018 Ultimaker B.V. // Copyright (c) 2018 Ultimaker B.V.
// Toolbox is released under the terms of the LGPLv3 or higher. // Toolbox is released under the terms of the LGPLv3 or higher.
import QtQuick 2.2 import QtQuick 2.7
import QtQuick.Controls 1.4 import QtQuick.Controls 1.4
import QtQuick.Controls.Styles 1.4 import QtQuick.Controls.Styles 1.4
import QtQuick.Layouts 1.3 import QtQuick.Layouts 1.3
@ -9,10 +9,10 @@ import UM 1.1 as UM
Column Column
{ {
height: childrenRect.height height: childrenRect.height + 2 * padding
width: parent.width width: parent.width
spacing: UM.Theme.getSize("default_margin").height spacing: UM.Theme.getSize("default_margin").height
padding: UM.Theme.getSize("wide_margin").height
Label Label
{ {
id: heading id: heading

View file

@ -15,22 +15,15 @@ ScrollView
flickableItem.flickableDirection: Flickable.VerticalFlick flickableItem.flickableDirection: Flickable.VerticalFlick
Column Column
{ {
width: parent.width - 2 * padding width: base.width
spacing: UM.Theme.getSize("default_margin").height spacing: UM.Theme.getSize("default_margin").height
padding: UM.Theme.getSize("wide_margin").height height: childrenRect.height
height: childrenRect.height + 2 * padding
ToolboxDownloadsShowcase ToolboxDownloadsShowcase
{ {
id: showcase id: showcase
width: parent.width width: parent.width
} }
Rectangle
{
color: UM.Theme.getColor("lining")
width: parent.width
height: UM.Theme.getSize("default_lining").height
}
ToolboxDownloadsGrid ToolboxDownloadsGrid
{ {

View file

@ -1,46 +1,53 @@
// Copyright (c) 2018 Ultimaker B.V. // Copyright (c) 2018 Ultimaker B.V.
// Toolbox is released under the terms of the LGPLv3 or higher. // Toolbox is released under the terms of the LGPLv3 or higher.
import QtQuick 2.2 import QtQuick 2.7
import QtQuick.Controls 1.4 import QtQuick.Controls 1.4
import QtQuick.Controls.Styles 1.4 import QtQuick.Controls.Styles 1.4
import UM 1.1 as UM import UM 1.1 as UM
Column Rectangle
{ {
color: UM.Theme.getColor("secondary")
height: childrenRect.height height: childrenRect.height
spacing: UM.Theme.getSize("toolbox_showcase_spacing").width
width: parent.width width: parent.width
Label Column
{ {
id: heading height: childrenRect.height + 2 * padding
text: catalog.i18nc("@label", "Featured") spacing: UM.Theme.getSize("toolbox_showcase_spacing").width
width: parent.width width: parent.width
color: UM.Theme.getColor("text_medium") padding: UM.Theme.getSize("wide_margin").height
font: UM.Theme.getFont("medium") Label
}
Grid
{
height: childrenRect.height
spacing: UM.Theme.getSize("wide_margin").width
columns: 3
anchors
{ {
horizontalCenter: parent.horizontalCenter id: heading
text: catalog.i18nc("@label", "Featured")
width: parent.width
color: UM.Theme.getColor("text_medium")
font: UM.Theme.getFont("medium")
} }
Repeater Grid
{ {
model: { height: childrenRect.height
if ( toolbox.viewCategory == "plugin" ) spacing: UM.Theme.getSize("wide_margin").width
{ columns: 3
return toolbox.pluginsShowcaseModel anchors
} {
if ( toolbox.viewCategory == "material" ) horizontalCenter: parent.horizontalCenter
{ }
return toolbox.materialsShowcaseModel Repeater
} {
model: {
if ( toolbox.viewCategory == "plugin" )
{
return toolbox.pluginsShowcaseModel
}
if ( toolbox.viewCategory == "material" )
{
return toolbox.materialsShowcaseModel
}
}
delegate: ToolboxDownloadsShowcaseTile {}
} }
delegate: ToolboxDownloadsShowcaseTile {}
} }
} }
} }

View file

@ -1,37 +1,31 @@
// Copyright (c) 2018 Ultimaker B.V. // Copyright (c) 2018 Ultimaker B.V.
// Toolbox is released under the terms of the LGPLv3 or higher. // Toolbox is released under the terms of the LGPLv3 or higher.
import QtQuick 2.3 import QtQuick 2.7
import QtQuick.Controls 1.4 import QtQuick.Controls 1.4
import QtQuick.Controls.Styles 1.4 import QtQuick.Controls.Styles 1.4
import QtGraphicalEffects 1.0
import UM 1.1 as UM import UM 1.1 as UM
Item Rectangle
{ {
width: UM.Theme.getSize("toolbox_thumbnail_large").width id: tileBase
height: thumbnail.height + packageName.height width: UM.Theme.getSize("toolbox_thumbnail_large").width + (2 * UM.Theme.getSize("default_lining").width)
Rectangle height: thumbnail.height + packageNameBackground.height + (2 * UM.Theme.getSize("default_lining").width)
{ border.width: UM.Theme.getSize("default_lining").width
id: highlight border.color: UM.Theme.getColor("lining")
anchors.fill: parent color: "transparent"
opacity: 0.0
color: UM.Theme.getColor("primary")
}
Rectangle Rectangle
{ {
id: thumbnail id: thumbnail
color: "white" color: "white"
width: UM.Theme.getSize("toolbox_thumbnail_large").width width: UM.Theme.getSize("toolbox_thumbnail_large").width
height: UM.Theme.getSize("toolbox_thumbnail_large").height height: UM.Theme.getSize("toolbox_thumbnail_large").height
border
{
width: UM.Theme.getSize("default_lining").width
color: UM.Theme.getColor("lining")
}
anchors anchors
{ {
top: parent.top top: parent.top
horizontalCenter: parent.horizontalCenter horizontalCenter: parent.horizontalCenter
topMargin: UM.Theme.getSize("default_lining").width
} }
Image Image
{ {
@ -43,22 +37,33 @@ Item
mipmap: true mipmap: true
} }
} }
Label Rectangle
{ {
id: packageName id: packageNameBackground
text: model.name color: UM.Theme.getColor("primary")
anchors anchors
{ {
top: thumbnail.bottom top: thumbnail.bottom
horizontalCenter: parent.horizontalCenter horizontalCenter: parent.horizontalCenter
} }
verticalAlignment: Text.AlignVCenter
horizontalAlignment: Text.AlignHCenter
height: UM.Theme.getSize("toolbox_heading_label").height height: UM.Theme.getSize("toolbox_heading_label").height
width: parent.width width: parent.width
wrapMode: Text.WordWrap Label
color: UM.Theme.getColor("text") {
font: UM.Theme.getFont("medium_bold") id: packageName
text: model.name
anchors
{
horizontalCenter: parent.horizontalCenter
}
verticalAlignment: Text.AlignVCenter
horizontalAlignment: Text.AlignHCenter
height: UM.Theme.getSize("toolbox_heading_label").height
width: parent.width
wrapMode: Text.WordWrap
color: UM.Theme.getColor("button_text")
font: UM.Theme.getFont("medium_bold")
}
} }
MouseArea MouseArea
{ {
@ -66,13 +71,15 @@ Item
hoverEnabled: true hoverEnabled: true
onEntered: onEntered:
{ {
thumbnail.border.color = UM.Theme.getColor("primary") packageName.color = UM.Theme.getColor("button_text_hover")
highlight.opacity = 0.1 packageNameBackground.color = UM.Theme.getColor("primary_hover")
tileBase.border.color = UM.Theme.getColor("primary_hover")
} }
onExited: onExited:
{ {
thumbnail.border.color = UM.Theme.getColor("lining") packageName.color = UM.Theme.getColor("button_text")
highlight.opacity = 0.0 packageNameBackground.color = UM.Theme.getColor("primary")
tileBase.border.color = UM.Theme.getColor("lining")
} }
onClicked: onClicked:
{ {

View file

@ -443,7 +443,7 @@
"toolbox_thumbnail_small": [6.0, 6.0], "toolbox_thumbnail_small": [6.0, 6.0],
"toolbox_thumbnail_medium": [8.0, 8.0], "toolbox_thumbnail_medium": [8.0, 8.0],
"toolbox_thumbnail_large": [12.0, 12.0], "toolbox_thumbnail_large": [12.0, 10.0],
"toolbox_footer": [1.0, 4.5], "toolbox_footer": [1.0, 4.5],
"toolbox_footer_button": [8.0, 2.5], "toolbox_footer_button": [8.0, 2.5],
"toolbox_showcase_spacing": [1.0, 1.0], "toolbox_showcase_spacing": [1.0, 1.0],