Cura/resources/qml/Account/AccountWidget.qml
Diego Prado Gesto 49e96980f1 Store the dialogs in a folder called Dialogs.
Contributes to CURA-5784.
2018-10-09 17:11:01 +02:00

79 lines
No EOL
2.1 KiB
QML

// Copyright (c) 2018 Ultimaker B.V.
// Cura is released under the terms of the LGPLv3 or higher.
import QtQuick 2.2
import QtQuick.Controls 1.1
import UM 1.4 as UM
import Cura 1.1 as Cura
Item
{
id: accountWidget
property var profile: Cura.API.account.userProfile
property var loggedIn: Cura.API.account.isLoggedIn
property var logoutCallback: Cura.API.account.logout
height: UM.Theme.getSize("topheader").height
width: 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")
}
MouseArea
{
anchors.fill: parent
onClicked: accountManagementPanel.visible = !accountManagementPanel.visible // Collapse/Expand the dropdown panel
}
UM.PointingRectangle
{
id: accountManagementPanel
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
Loader
{
id: panel
sourceComponent: loggedIn ? userManagementWidget : generalManagementWidget
}
}
Component
{
id: userManagementWidget
UserManagementWidget { }
}
Component
{
id: generalManagementWidget
GeneralManagementWidget { }
}
}