The AccountDetails Panel is now an actual popup

This ensures that it's always visible (previously it was ocluded by the StageMenu)

CURA-5772
This commit is contained in:
Jaime van Kessel 2018-10-15 14:07:30 +02:00
parent 62c9980438
commit f6ae19003b

View file

@ -7,62 +7,59 @@ import QtQuick.Controls 2.1
import UM 1.4 as UM
import Cura 1.1 as Cura
Item
Button
{
id: accountWidget
property var profile: Cura.API.account.userProfile
property var loggedIn: Cura.API.account.isLoggedIn
height: UM.Theme.getSize("topheader").height
width: UM.Theme.getSize("topheader").height
implicitHeight: UM.Theme.getSize("topheader").height
implicitWidth: UM.Theme.getSize("topheader").height
AvatarImage
{
id: avatar
width: Math.round(0.8 * parent.width)
height: Math.round(0.8 * parent.height)
anchors.verticalCenter: parent.verticalCenter
anchors.horizontalCenter: parent.horizontalCenter
source: loggedIn ? profile["profile_image_url"] : UM.Theme.getImage("avatar_default")
outlineColor: loggedIn ? UM.Theme.getColor("account_widget_ouline_active") : UM.Theme.getColor("account_widget_ouline_inactive")
}
MouseArea
background: Item {}
onClicked: popup.open()
Popup
{
anchors.fill: parent
onClicked: accountManagementPanel.visible = !accountManagementPanel.visible // Collapse/Expand the dropdown panel
}
id: popup
UM.PointingRectangle
{
id: accountManagementPanel
y: parent.height + UM.Theme.getSize("default_arrow").height
x: (parent.width - width)
width: panel.width
height: panel.height
anchors
{
top: parent.bottom
topMargin: UM.Theme.getSize("default_margin").height
right: parent.right
}
target: Qt.point(parent.width / 2, parent.bottom)
arrowSize: UM.Theme.getSize("default_arrow").width
visible: false
opacity: visible ? 1 : 0
Behavior on opacity { NumberAnimation { duration: 100 } }
color: UM.Theme.getColor("tool_panel_background")
borderColor: UM.Theme.getColor("lining")
borderWidth: UM.Theme.getSize("default_lining").width
// Shows the user management options or general options to create account
AccountDetails
contentItem: AccountDetails
{
id: panel
profile: Cura.API.account.userProfile
loggedIn: Cura.API.account.isLoggedIn
}
background: UM.PointingRectangle
{
opacity: visible ? 1 : 0
Behavior on opacity { NumberAnimation { duration: 100 } }
color: UM.Theme.getColor("tool_panel_background")
borderColor: UM.Theme.getColor("lining")
borderWidth: UM.Theme.getSize("default_lining").width
target: Qt.point(width - (accountWidget.width / 2), -10)
arrowSize: UM.Theme.getSize("default_arrow").width
}
}
}
}