mirror of
https://github.com/Ultimaker/Cura.git
synced 2025-07-22 06:03:57 -06:00
Create an AvatarImage component that will show the profile image of the
user. Still WIP. Create an AccountWidget (WIP) that shows the avatar image and the dropdown menu to manage accounts. Contributes to CURA-5784.
This commit is contained in:
parent
41add97b13
commit
2ffcf03f43
7 changed files with 193 additions and 3 deletions
71
resources/qml/Skeleton/components/AccountWidget.qml
Normal file
71
resources/qml/Skeleton/components/AccountWidget.qml
Normal file
|
@ -0,0 +1,71 @@
|
|||
// 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
|
||||
|
||||
Item
|
||||
{
|
||||
id: base
|
||||
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
|
||||
}
|
||||
|
||||
MouseArea
|
||||
{
|
||||
anchors.fill: avatar
|
||||
onClicked:
|
||||
{
|
||||
// Collapse/Expand the dropdown panel
|
||||
accountManagementPanel.visible = !accountManagementPanel.visible
|
||||
}
|
||||
}
|
||||
|
||||
UM.PointingRectangle
|
||||
{
|
||||
id: accountManagementPanel
|
||||
|
||||
width: 250
|
||||
height: 250
|
||||
|
||||
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
|
||||
|
||||
Loader
|
||||
{
|
||||
id: panel
|
||||
sourceComponent: login
|
||||
}
|
||||
}
|
||||
|
||||
Component
|
||||
{
|
||||
id: login
|
||||
Label {text: "HOLA"}
|
||||
}
|
||||
}
|
42
resources/qml/Skeleton/components/AvatarImage.qml
Normal file
42
resources/qml/Skeleton/components/AvatarImage.qml
Normal file
|
@ -0,0 +1,42 @@
|
|||
// Copyright (c) 2018 Ultimaker B.V.
|
||||
import QtQuick 2.7
|
||||
import QtQuick.Controls 2.1
|
||||
import QtGraphicalEffects 1.0
|
||||
|
||||
import UM 1.4 as UM
|
||||
|
||||
Item
|
||||
{
|
||||
id: avatar
|
||||
|
||||
Image
|
||||
{
|
||||
id: profileImage
|
||||
source: UM.Theme.getImage("avatar_default")
|
||||
sourceSize: Qt.size(parent.width, parent.height)
|
||||
width: parent.width
|
||||
height: parent.height
|
||||
fillMode: Image.PreserveAspectCrop
|
||||
visible: false
|
||||
}
|
||||
|
||||
UM.RecolorImage
|
||||
{
|
||||
id: profileImageMask
|
||||
source: UM.Theme.getIcon("circle_mask")
|
||||
sourceSize: Qt.size(parent.width, parent.height)
|
||||
width: parent.width
|
||||
height: parent.height
|
||||
color: UM.Theme.getColor("topheader_background")
|
||||
visible: false
|
||||
}
|
||||
|
||||
OpacityMask
|
||||
{
|
||||
anchors.fill: profileImage
|
||||
source: profileImage
|
||||
maskSource: profileImageMask
|
||||
cached: true
|
||||
invert: false
|
||||
}
|
||||
}
|
56
resources/qml/Skeleton/components/OrientationViews.qml
Normal file
56
resources/qml/Skeleton/components/OrientationViews.qml
Normal file
|
@ -0,0 +1,56 @@
|
|||
// 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 QtQuick.Controls.Styles 1.1
|
||||
|
||||
import UM 1.4 as UM
|
||||
|
||||
// View orientation Item
|
||||
Row
|
||||
{
|
||||
id: viewOrientationControl
|
||||
|
||||
spacing: 2 * screenScaleFactor
|
||||
|
||||
// #1 3d view
|
||||
Button
|
||||
{
|
||||
iconSource: UM.Theme.getIcon("view_3d")
|
||||
style: UM.Theme.styles.small_tool_button
|
||||
onClicked:UM.Controller.rotateView("3d", 0)
|
||||
}
|
||||
|
||||
// #2 Front view
|
||||
Button
|
||||
{
|
||||
iconSource: UM.Theme.getIcon("view_front")
|
||||
style: UM.Theme.styles.small_tool_button
|
||||
onClicked: UM.Controller.rotateView("home", 0)
|
||||
}
|
||||
|
||||
// #3 Top view
|
||||
Button
|
||||
{
|
||||
iconSource: UM.Theme.getIcon("view_top")
|
||||
style: UM.Theme.styles.small_tool_button
|
||||
onClicked: UM.Controller.rotateView("y", 90)
|
||||
}
|
||||
|
||||
// #4 Left view
|
||||
Button
|
||||
{
|
||||
iconSource: UM.Theme.getIcon("view_left")
|
||||
style: UM.Theme.styles.small_tool_button
|
||||
onClicked: UM.Controller.rotateView("x", 90)
|
||||
}
|
||||
|
||||
// #5 Right view
|
||||
Button
|
||||
{
|
||||
iconSource: UM.Theme.getIcon("view_right")
|
||||
style: UM.Theme.styles.small_tool_button
|
||||
onClicked: UM.Controller.rotateView("x", -90)
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue