AccountDetails.qml 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. // Copyright (c) 2018 Ultimaker B.V.
  2. // Cura is released under the terms of the LGPLv3 or higher.
  3. import QtQuick 2.7
  4. import QtQuick.Controls 2.1
  5. import UM 1.4 as UM
  6. import Cura 1.1 as Cura
  7. Column
  8. {
  9. property var profile: null
  10. property var loggedIn: false
  11. property var profileImage: ""
  12. padding: UM.Theme.getSize("wide_margin").height
  13. spacing: UM.Theme.getSize("wide_margin").height
  14. AvatarImage
  15. {
  16. id: avatar
  17. width: UM.Theme.getSize("avatar_image").width
  18. height: UM.Theme.getSize("avatar_image").height
  19. anchors.horizontalCenter: parent.horizontalCenter
  20. source:
  21. {
  22. if(loggedIn)
  23. {
  24. if(profileImage)
  25. {
  26. return profileImage
  27. }
  28. return UM.Theme.getImage("avatar_no_user")
  29. }
  30. return UM.Theme.getImage("avatar_no_user")
  31. }
  32. outlineColor: loggedIn ? UM.Theme.getColor("account_widget_outline_active") : UM.Theme.getColor("lining")
  33. }
  34. Label
  35. {
  36. id: information
  37. anchors.horizontalCenter: parent.horizontalCenter
  38. horizontalAlignment: Text.AlignHCenter
  39. renderType: Text.NativeRendering
  40. text: loggedIn ? profile["username"] : catalog.i18nc("@label", "Please log in or create an account to\nenjoy all features of Ultimaker Cura.")
  41. font: loggedIn ? UM.Theme.getFont("large") : UM.Theme.getFont("default")
  42. color: UM.Theme.getColor("text")
  43. }
  44. Loader
  45. {
  46. id: accountOperations
  47. anchors.horizontalCenter: parent.horizontalCenter
  48. sourceComponent: loggedIn ? userOperations : generalOperations
  49. }
  50. Component
  51. {
  52. id: userOperations
  53. UserOperations { }
  54. }
  55. Component
  56. {
  57. id: generalOperations
  58. GeneralOperations { }
  59. }
  60. }