Updated Sign in screen first run

CURA-8094 Cura onboarding flow
This commit is contained in:
Jelle Spijker 2021-03-23 11:20:38 +01:00
parent ccf18a7443
commit c727fe5e0c
No known key found for this signature in database
GPG key ID: 6662DC033BE6B99A
3 changed files with 119 additions and 56 deletions

View file

@ -40,7 +40,7 @@ Item
anchors.top: parent.top
anchors.horizontalCenter: parent.horizontalCenter
horizontalAlignment: Text.AlignHCenter
text: catalog.i18nc("@label", "Ultimaker Account")
text: catalog.i18nc("@label", "Sign in to the Ultimaker platform")
color: UM.Theme.getColor("primary_button")
font: UM.Theme.getFont("huge")
renderType: Text.NativeRendering
@ -63,64 +63,105 @@ Item
// the cloud contents area.
Column
{
anchors.centerIn: parent
anchors.horizontalCenter: parent.horizontalCenter
width: parent.width
height: childrenRect.height
spacing: 20 * screenScaleFactor
Image // Cloud image
// Cloud image
Image
{
id: cloudImage
anchors.horizontalCenter: parent.horizontalCenter
source: UM.Theme.getImage("first_run_ultimaker_cloud")
scale: 0.666
}
Label // A title-ish text
// Motivational icons
Row
{
id: highlightTextLabel
anchors.horizontalCenter: parent.horizontalCenter
horizontalAlignment: Text.AlignHCenter
text: catalog.i18nc("@text", "Your key to connected 3D printing")
textFormat: Text.RichText
color: UM.Theme.getColor("primary")
font: UM.Theme.getFont("medium")
renderType: Text.NativeRendering
}
id: motivationRow
width: parent.width
Label // A number of text items
{
id: textLabel
anchors.horizontalCenter: parent.horizontalCenter
text:
Column
{
// There are 3 text items, each of which is translated separately as a single piece of text.
var full_text = ""
var t = ""
id: marketplaceColumn
width: Math.round(parent.width / 3)
spacing: UM.Theme.getSize("default_margin").height
t = catalog.i18nc("@text", "- Customize your experience with more print profiles and plugins")
full_text += "<p>" + t + "</p>"
t = catalog.i18nc("@text", "- Stay flexible by syncing your setup and loading it anywhere")
full_text += "<p>" + t + "</p>"
t = catalog.i18nc("@text", "- Increase efficiency with a remote workflow on Ultimaker printers")
full_text += "<p>" + t + "</p>"
return full_text
Image
{
id: marketplaceImage
anchors.horizontalCenter: parent.horizontalCenter
source: UM.Theme.getIcon("plugin_48px")
}
Label
{
id: marketplaceTextLabel
anchors.horizontalCenter: parent.horizontalCenter
text: catalog.i18nc("@text", "Add material settings and\nplugins from the Marketplace")
horizontalAlignment: Text.AlignHCenter
color: UM.Theme.getColor("text")
font: UM.Theme.getFont("tiny")
renderType: Text.NativeRendering
}
}
Column
{
id: syncColumn
width: Math.round(parent.width / 3)
spacing: UM.Theme.getSize("default_margin").height
Image
{
id: syncImage
anchors.horizontalCenter: parent.horizontalCenter
source: UM.Theme.getIcon("spool_48px")
}
Label
{
id: syncTextLabel
anchors.horizontalCenter: parent.horizontalCenter
text: catalog.i18nc("@text", "Backup and sync your\nmaterial settings and plugins")
horizontalAlignment: Text.AlignHCenter
color: UM.Theme.getColor("text")
font: UM.Theme.getFont("tiny")
renderType: Text.NativeRendering
}
}
Column
{
id: communityColumn
width: Math.round(parent.width / 3)
spacing: UM.Theme.getSize("default_margin").height
Image
{
id: communityImage
anchors.horizontalCenter: communityColumn.horizontalCenter
source: UM.Theme.getIcon("group_48px")
}
Label
{
id: communityTextLabel
anchors.horizontalCenter: communityColumn.horizontalCenter
text: catalog.i18nc("@text", "Share ideas and get help\nfrom 48,000+ users in the\nUltimaker Community")
horizontalAlignment: Text.AlignHCenter
color: UM.Theme.getColor("text")
font: UM.Theme.getFont("tiny")
renderType: Text.NativeRendering
}
}
textFormat: Text.RichText
font: UM.Theme.getFont("medium")
color: UM.Theme.getColor("text")
renderType: Text.NativeRendering
}
// "Sign in" and "Create an account" exist inside the column
// Sign in Button
Cura.PrimaryButton
{
id: signInButton
height: createAccountButton.height
width: createAccountButton.width
anchors.margins: UM.Theme.getSize("default_margin").width
anchors.horizontalCenter: parent.horizontalCenter
text: catalog.i18nc("@button", "Sign in")
onClicked: Cura.API.account.login()
@ -135,16 +176,28 @@ Item
}
}
Cura.SecondaryButton
// Create an account link
Label
{
id: createAccountButton
id: createAccountLabel
width: parent.width
anchors.horizontalCenter: parent.horizontalCenter
text: catalog.i18nc("@button","Create account")
onClicked: Qt.openUrlExternally(CuraApplication.ultimakerCloudAccountRootUrl + "/app/create")
horizontalAlignment: Text.AlignHCenter
text:
{
var t1 = catalog.i18nc("@text", "Create a free Ultimaker acount")
var t = "<a href='https://notusedref'>" + t1 + "</a>"
return t
}
textFormat: Text.RichText
wrapMode: Text.WordWrap
font: UM.Theme.getFont("medium")
color: UM.Theme.getColor("text")
linkColor: UM.Theme.getColor("text_link")
onLinkActivated: Qt.openUrlExternally(CuraApplication.ultimakerCloudAccountRootUrl + "/app/create")
renderType: Text.NativeRendering
}
}
}
// The "Skip" button exists on the bottom right

View file

@ -1,12 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="200px" height="135px" viewBox="0 0 200 135" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: Sketch 52.6 (67491) - http://www.bohemiancoding.com/sketch -->
<title>Group-cloud</title>
<desc>Created with Sketch.</desc>
<g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<path d="M184.645934,101.269713 C184.402632,95.7100464 182.987439,90.4490704 180.637153,85.7196609 L184.851695,85.7196609 C187.817797,85.7196609 190.254237,83.3353195 190.254237,80.4326431 L190.36017,80.4326431 L190.36017,16.262763 C190.36017,15.1224259 189.40678,14.2930898 188.347457,14.2930898 L149.933791,14.2930898 L149.933791,63.9459005 C148.198887,63.7202321 146.428947,63.6037711 144.631348,63.6037711 C142.750807,63.6037711 140.900537,63.7312272 139.088982,63.9778345 L139.088982,14.2930898 L138.930084,14.2930898 L138.930084,11.4224041 C138.588831,10.5826557 137.742066,10.0297833 136.824681,10.0297833 L63.0561437,10.0297833 C61.7452327,10.0297833 60.7918428,11.0794119 60.7918428,12.2456657 L60.7918428,84.4367811 C60.7918428,87.7022917 63.5328385,90.3846758 66.8697029,90.3846758 L106.674877,90.3846758 C105.315869,94.3430337 104.579138,98.5831707 104.579138,102.99253 C104.579138,104.646987 104.68286,106.27762 104.884257,107.878484 L65.082097,107.878484 C63.771186,107.995109 62.460275,108.461611 61.5068852,109.277988 L60.7918428,109.977741 C60.0768004,111.143995 58.6467157,111.377246 57.216631,111.377246 L50.7812497,111.377246 C50.4237285,111.377246 50.0662073,111.027369 50.0662073,110.677493 L50.0662073,101.269713 L13.3474575,101.269713 C12.1822033,101.373379 11.0169491,101.788048 10.1694914,102.513717 L9.53389824,103.135719 C8.89830503,104.172389 7.62711862,104.379723 6.35593214,104.379723 L0.635593219,104.379723 C0.317796608,104.379723 -6.39488462e-14,104.068722 -6.39488462e-14,103.757721 C-6.39488462e-14,5.68872783 0.317796608,5.3777268 0.635593219,5.3777268 L50.0662073,5.3777268 L50.0662073,0.699752327 C50.0662073,0.349876165 50.4237285,-1.63424829e-13 50.7812497,-1.63424829e-13 C149.57627,-1.63424829e-13 149.933791,0.349876165 149.933791,0.699752327 L149.933791,5.3777268 L199.364407,5.3777268 C199.682204,5.3777268 200,5.68872783 200,5.99972886 L200,103.757721 C200,104.068722 199.682204,104.379723 199.364407,104.379723 L193.644068,104.379723 C192.478814,104.276056 191.313559,103.861388 190.466102,103.135719 L189.830509,102.513717 C189.194915,101.477046 187.923729,101.269713 186.652543,101.269713 L184.645934,101.269713 Z M50.0662073,14.2930898 L11.5466101,14.2930898 C10.3813559,14.2930898 9.53389824,15.2260929 9.53389824,16.262763 L9.53389824,80.4326431 C9.53389824,83.3353195 11.9703389,85.7196609 14.9364406,85.7196609 L50.0662073,85.7196609 L50.0662073,14.2930898 Z" fill="#08073F" fill-rule="nonzero"></path>
<g transform="translate(112.574850, 70.658683)" fill="#3282FF">
<path d="M32.3080573,64.1243454 C14.46481,64.1243454 1.42108547e-14,49.7696217 1.42108547e-14,32.0621727 C1.42108547e-14,14.3547237 14.46481,-4.26325641e-14 32.3080573,-4.26325641e-14 C50.1513046,-4.26325641e-14 64.6161146,14.3547237 64.6161146,32.0621727 C64.6161146,49.7696217 50.1513046,64.1243454 32.3080573,64.1243454 Z M46.2852901,26.9720257 C45.8876525,23.478071 42.9053703,20.8062233 39.3266316,20.8062233 C38.3325376,20.8062233 37.5372623,21.0117501 36.741987,21.4228035 C34.9526177,18.5454291 31.7715167,16.6956884 28.3915969,16.6956884 C22.8246701,16.6956884 18.4506561,21.2172768 18.4506561,26.9720257 C18.4506561,26.9720257 18.4506561,26.9720257 18.4506561,27.1775525 C15.0707363,27.588606 12.4860917,30.6715072 12.4860917,34.165462 C12.4860917,38.0704701 15.6671927,41.3588981 19.4447502,41.3588981 C22.4270324,41.3588981 41.7124574,41.3588981 45.2911961,41.3588981 C49.0687535,41.3588981 52.2498546,38.0704701 52.2498546,34.165462 C52.2498546,30.4659805 49.66521,27.588606 46.2852901,26.9720257 Z"></path>
</g>
</g>
</svg>
<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 325.48 197.18">
<defs>
<style>.cls-1,.cls-4{fill:#f3f8fe;}.cls-1,.cls-5{stroke:#061884;}.cls-1,.cls-6{stroke-miterlimit:10;}.cls-1,.cls-5,.cls-6,.cls-7{stroke-width:2px;}.cls-2,.cls-5{fill:#fff;}.cls-3{fill:#061884;}.cls-5,.cls-7{stroke-linecap:round;stroke-linejoin:round;}.cls-6,.cls-7{fill:none;stroke:#2c3278;}.cls-8{fill:#292f79;fill-rule:evenodd;}</style>
</defs>
<path class="cls-1" d="M47.68,9.26H277.81a6.1,6.1,0,0,1,6.1,6.1V172.48a0,0,0,0,1,0,0H41.57a0,0,0,0,1,0,0V15.36A6.1,6.1,0,0,1,47.68,9.26Z"/>
<path class="cls-2" d="M50.88,173.48a1,1,0,0,1-1-1V19.57a2,2,0,0,1,2-2H272.61a3,3,0,0,1,3,3V172.48a1,1,0,0,1-1,1Z"/>
<path class="cls-3" d="M272.61,18.57a2,2,0,0,1,2,2V172.48H50.88V19.57a1,1,0,0,1,1-1H272.61m0-2H51.88a3,3,0,0,0-3,3V172.48a2,2,0,0,0,2,2H274.61a2,2,0,0,0,2-2V20.57a4,4,0,0,0-4-4Z"/>
<path class="cls-4" d="M272.61,20.57V170.48H52.88V20.57H272.61m0-2H51.88a1,1,0,0,0-1,1V172.48H274.61V20.57a2,2,0,0,0-2-2Z"/>
<line class="cls-5" x1="14.64" y1="187.91" x2="310.85" y2="187.91"/>
<path class="cls-4" d="M35.34,187.91a15.49,15.49,0,0,1-15.48-15.48,1,1,0,0,1,1-1H304.63a1,1,0,0,1,1,1,15.5,15.5,0,0,1-15.49,15.48Z"/>
<path class="cls-3" d="M304.63,172.43h0a14.48,14.48,0,0,1-14.49,14.48H35.34a14.48,14.48,0,0,1-14.48-14.48H304.63m0-2H20.86a2,2,0,0,0-2,2,16.49,16.49,0,0,0,16.48,16.48h254.8a16.5,16.5,0,0,0,16.49-16.48,2,2,0,0,0-2-2Z"/>
<path class="cls-3" d="M185.24,172.43h-45v.6a4.4,4.4,0,0,0,4.4,4.4h36.21a4.4,4.4,0,0,0,4.39-4.4Z"/>
<polygon class="cls-6" points="180.22 140.51 117.36 140.51 117.36 77.7 144.3 50.78 207.16 50.78 207.16 113.59 180.22 140.51"/>
<path class="cls-7" d="M175.73,73.21H162.26a22.44,22.44,0,1,0,0,44.87h13.47"/>
<circle class="cls-2" cx="207.16" cy="50.75" r="31"/>
<path class="cls-8" d="M206.73,28.14a22.39,22.39,0,1,0,22.43,22.39A22.4,22.4,0,0,0,206.73,28.14Zm-14,36.94a17.94,17.94,0,0,1,27.91,0A20.12,20.12,0,0,1,192.77,65.08Zm4.43-18.47a9.53,9.53,0,1,1,9.53,9.51A9.53,9.53,0,0,1,197.2,46.61Zm25,16.8a20.18,20.18,0,0,0-9.87-6.48,11.79,11.79,0,1,0-11.21,0,20.13,20.13,0,0,0-9.87,6.48,20.14,20.14,0,1,1,30.95,0Z"/>
</svg>

Before

Width:  |  Height:  |  Size: 3.9 KiB

After

Width:  |  Height:  |  Size: 2.2 KiB

Before After
Before After

View file

@ -128,6 +128,11 @@
"italic": true,
"family": "Noto Sans"
},
"tiny": {
"size": 0.85,
"weight": 40,
"family": "Noto Sans"
},
"small": {
"size": 0.7,
"weight": 40,