mirror of
https://github.com/Ultimaker/Cura.git
synced 2025-07-07 23:17:32 -06:00
WIP: Add User Agreement page and fixes
This commit is contained in:
parent
ac012e8f09
commit
14fdf68871
7 changed files with 97 additions and 25 deletions
|
@ -33,8 +33,12 @@ class WelcomePagesModel(ListModel):
|
||||||
self._pages.append({"id": "welcome",
|
self._pages.append({"id": "welcome",
|
||||||
"page_url": QUrl.fromLocalFile(Resources.getPath(CuraApplication.ResourceTypes.QmlFiles,
|
"page_url": QUrl.fromLocalFile(Resources.getPath(CuraApplication.ResourceTypes.QmlFiles,
|
||||||
os.path.join("WelcomePages", "WelcomeContent.qml"))),
|
os.path.join("WelcomePages", "WelcomeContent.qml"))),
|
||||||
}
|
})
|
||||||
)
|
self._pages.append({"id": "user_agreement",
|
||||||
|
"page_url": QUrl.fromLocalFile(Resources.getPath(CuraApplication.ResourceTypes.QmlFiles,
|
||||||
|
os.path.join("WelcomePages",
|
||||||
|
"UserAgreementContent.qml"))),
|
||||||
|
})
|
||||||
|
|
||||||
self.setItems(self._pages)
|
self.setItems(self._pages)
|
||||||
|
|
||||||
|
|
|
@ -63,6 +63,7 @@ UM.MainWindow
|
||||||
target: Cura.Actions.showOnBoarding
|
target: Cura.Actions.showOnBoarding
|
||||||
onTriggered:
|
onTriggered:
|
||||||
{
|
{
|
||||||
|
welcomeDialog.currentStep = 0
|
||||||
welcomeDialog.show()
|
welcomeDialog.show()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -27,7 +27,7 @@ Item
|
||||||
anchors.left: parent.left
|
anchors.left: parent.left
|
||||||
anchors.top: parent.top
|
anchors.top: parent.top
|
||||||
anchors.bottom: parent.bottom
|
anchors.bottom: parent.bottom
|
||||||
width: (currentStep * 1.0 / totalSteps) * background.width
|
width: (currentStep + 1) * 1.0 / totalSteps * background.width
|
||||||
color: "#3282ff"
|
color: "#3282ff"
|
||||||
radius: base.radius
|
radius: base.radius
|
||||||
}
|
}
|
||||||
|
|
|
@ -14,9 +14,9 @@ Item
|
||||||
clip: true
|
clip: true
|
||||||
|
|
||||||
property int roundCornerRadius: 4
|
property int roundCornerRadius: 4
|
||||||
property int shadowOffset: 2
|
property int shadowOffset: 1
|
||||||
property int stepBarHeight: 12
|
property int stepBarHeight: 12
|
||||||
property int contentMargins: 4
|
property int contentMargins: 1
|
||||||
|
|
||||||
property int totalSteps: 0
|
property int totalSteps: 0
|
||||||
property int currentStep: -1
|
property int currentStep: -1
|
||||||
|
@ -24,6 +24,29 @@ Item
|
||||||
property var currentItem: null
|
property var currentItem: null
|
||||||
property var model: null
|
property var model: null
|
||||||
|
|
||||||
|
signal showNextPage()
|
||||||
|
signal showPreviousPage()
|
||||||
|
signal passLastPage() // Emitted when there is no more page to show
|
||||||
|
|
||||||
|
onShowNextPage:
|
||||||
|
{
|
||||||
|
if (currentStep < totalSteps - 1)
|
||||||
|
{
|
||||||
|
currentStep++
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
passLastPage()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
onShowPreviousPage:
|
||||||
|
{
|
||||||
|
if (currentStep > 0)
|
||||||
|
{
|
||||||
|
currentStep--
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
onVisibleChanged:
|
onVisibleChanged:
|
||||||
{
|
{
|
||||||
if (visible)
|
if (visible)
|
||||||
|
@ -50,7 +73,7 @@ Item
|
||||||
{
|
{
|
||||||
id: panelBackground
|
id: panelBackground
|
||||||
anchors.fill: parent
|
anchors.fill: parent
|
||||||
anchors.margins: 10
|
anchors.margins: 2
|
||||||
color: "white" // TODO
|
color: "white" // TODO
|
||||||
radius: base.roundCornerRadius // TODO
|
radius: base.roundCornerRadius // TODO
|
||||||
}
|
}
|
||||||
|
@ -59,14 +82,14 @@ Item
|
||||||
DropShadow
|
DropShadow
|
||||||
{
|
{
|
||||||
id: shadow
|
id: shadow
|
||||||
// Don't blur the shadow
|
radius: UM.Theme.getSize("monitor_shadow_radius").width
|
||||||
radius: base.roundCornerRadius + 2
|
|
||||||
anchors.fill: parent
|
anchors.fill: parent
|
||||||
source: parent
|
source: parent
|
||||||
horizontalOffset: base.shadowOffset
|
horizontalOffset: base.shadowOffset
|
||||||
verticalOffset: base.shadowOffset
|
verticalOffset: base.shadowOffset
|
||||||
visible: true
|
visible: true
|
||||||
color: UM.Theme.getColor("action_button_shadow")
|
color: UM.Theme.getColor("monitor_shadow")
|
||||||
|
transparentBorder: true
|
||||||
// Should always be drawn behind the background.
|
// Should always be drawn behind the background.
|
||||||
z: panelBackground.z - 1
|
z: panelBackground.z - 1
|
||||||
}
|
}
|
||||||
|
@ -74,7 +97,6 @@ Item
|
||||||
StepIndicatorBar
|
StepIndicatorBar
|
||||||
{
|
{
|
||||||
id: stepIndicatorBar
|
id: stepIndicatorBar
|
||||||
//anchors.margins: 10
|
|
||||||
|
|
||||||
totalSteps: base.totalSteps
|
totalSteps: base.totalSteps
|
||||||
currentStep: base.currentStep
|
currentStep: base.currentStep
|
||||||
|
|
|
@ -4,38 +4,73 @@
|
||||||
import QtQuick 2.10
|
import QtQuick 2.10
|
||||||
import QtQuick.Controls 2.3
|
import QtQuick.Controls 2.3
|
||||||
|
|
||||||
|
import UM 1.3 as UM
|
||||||
|
import Cura 1.1 as Cura
|
||||||
|
|
||||||
Component
|
Item
|
||||||
{
|
{
|
||||||
Column
|
Column
|
||||||
{
|
{
|
||||||
spacing: 20
|
anchors.top: parent.top
|
||||||
|
anchors.left: parent.left
|
||||||
|
anchors.right: parent.right
|
||||||
|
anchors.margins: 20
|
||||||
|
|
||||||
|
UM.I18nCatalog { id: catalog; name: "cura" }
|
||||||
|
|
||||||
|
spacing: 40
|
||||||
|
|
||||||
|
// Placeholder
|
||||||
|
Label { text: " " }
|
||||||
|
|
||||||
Label
|
Label
|
||||||
{
|
{
|
||||||
id: titleLabel
|
id: titleLabel
|
||||||
anchors.horizontalCenter: parent.horizontalCenter
|
anchors.horizontalCenter: parent.horizontalCenter
|
||||||
horizontalAlignment: Text.AlignHCenter
|
horizontalAlignment: Text.AlignHCenter
|
||||||
text: "User Agreement" // TODO
|
text: catalog.i18nc("@label", "User Agreement")
|
||||||
color: "blue" // TODO
|
color: UM.Theme.getColor("primary_button")
|
||||||
//font:
|
font: UM.Theme.getFont("large_bold")
|
||||||
renderType: NativeRendering
|
renderType: NativeRendering
|
||||||
}
|
}
|
||||||
|
|
||||||
Image {
|
|
||||||
id: curaImage
|
|
||||||
anchors.horizontalCenter: parent.horizontalCenter
|
|
||||||
source: "TODO"
|
|
||||||
}
|
|
||||||
|
|
||||||
Label
|
Label
|
||||||
{
|
{
|
||||||
id: textLabel
|
width: parent.width * 2 / 3
|
||||||
|
id: disclaimerLineLabel
|
||||||
anchors.horizontalCenter: parent.horizontalCenter
|
anchors.horizontalCenter: parent.horizontalCenter
|
||||||
horizontalAlignment: Text.AlignHCenter
|
text: "<p><b>Disclaimer by Ultimaker</b></p>"
|
||||||
text: "Please fllow these steps to set up\nUltimaker Cura. This will only take a few moments."
|
+ "<p>Please read this disclaimer carefully.</p>"
|
||||||
//font:
|
+ "<p>Except when otherwise stated in writing, Ultimaker provides any Ultimaker software or third party software \"As is\" without warranty of any kind. The entire risk as to the quality and perfoemance of Ultimaker software is with you.</p>"
|
||||||
|
+ "<p>Unless required by applicable law or agreed to in writing, in no event will Ultimaker be liable to you for damages, including any general, special, incidental, or consequential damages arising out of the use or inability to use any Ultimaker software or third party software.</p>"
|
||||||
|
textFormat: Text.RichText
|
||||||
|
wrapMode: Text.WordWrap
|
||||||
|
font: UM.Theme.getFont("default")
|
||||||
renderType: NativeRendering
|
renderType: NativeRendering
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Cura.PrimaryButton
|
||||||
|
{
|
||||||
|
id: agreeButton
|
||||||
|
anchors.right: parent.right
|
||||||
|
anchors.bottom: parent.bottom
|
||||||
|
anchors.margins: 40
|
||||||
|
text: catalog.i18nc("@button", "Agree")
|
||||||
|
width: 140
|
||||||
|
fixedWidthMode: true
|
||||||
|
onClicked: base.showNextPage()
|
||||||
|
}
|
||||||
|
|
||||||
|
Cura.SecondaryButton
|
||||||
|
{
|
||||||
|
id: declineButton
|
||||||
|
anchors.left: parent.left
|
||||||
|
anchors.bottom: parent.bottom
|
||||||
|
anchors.margins: 40
|
||||||
|
text: catalog.i18nc("@button", "Decline")
|
||||||
|
width: 140
|
||||||
|
fixedWidthMode: true
|
||||||
|
onClicked: base.showNextPage()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -61,5 +61,6 @@ Column
|
||||||
text: catalog.i18nc("@button", "Get started")
|
text: catalog.i18nc("@button", "Get started")
|
||||||
width: 140
|
width: 140
|
||||||
fixedWidthMode: true
|
fixedWidthMode: true
|
||||||
|
onClicked: base.showNextPage()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -21,10 +21,19 @@ Window
|
||||||
height: 600 // TODO
|
height: 600 // TODO
|
||||||
color: "transparent"
|
color: "transparent"
|
||||||
|
|
||||||
|
property alias currentStep: stepPanel.currentStep
|
||||||
|
|
||||||
StepPanel
|
StepPanel
|
||||||
{
|
{
|
||||||
id: stepPanel
|
id: stepPanel
|
||||||
currentStep: 0
|
currentStep: 0
|
||||||
model: CuraApplication.getWelcomePagesModel()
|
model: CuraApplication.getWelcomePagesModel()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Close this dialog when there's no more page to show
|
||||||
|
Connections
|
||||||
|
{
|
||||||
|
target: stepPanel
|
||||||
|
onPassLastPage: close()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue