Cura/plugins/SliceInfoPlugin/MoreInfoWindow.qml
2018-04-17 16:08:05 +02:00

159 lines
3.9 KiB
QML

// Copyright (c) 2018 Ultimaker B.V.
// Cura is released under the terms of the LGPLv3 or higher.
import QtQuick 2.7
import QtQuick.Window 2.2
import QtQuick.Controls 1.4
import QtQuick.Controls.Styles 1.4
import UM 1.3 as UM
import Cura 1.0 as Cura
UM.Dialog
{
id: baseDialog
title: catalog.i18nc("@title:window", "More information on anonymous data collection")
visible: false
minimumWidth: 500 * screenScaleFactor
minimumHeight: 400 * screenScaleFactor
width: minimumWidth
height: minimumHeight
property bool allowSendData: true // for saving the user's choice
onAccepted: manager.setSendSliceInfo(allowSendData)
onVisibilityChanged:
{
if (visible)
{
baseDialog.allowSendData = UM.Preferences.getValue("info/send_slice_info");
if (baseDialog.allowSendData)
{
allowSendButton.checked = true;
}
else
{
dontSendButton.checked = true;
}
}
}
Item
{
Connections
{
target: CuraApplication.getCuraAppSignals()
onShowMoreInfoOnAnonymousDataCollection:
{
baseDialog.show();
}
}
id: textRow
anchors
{
top: parent.top
bottom: radioButtonsRow.top
bottomMargin: UM.Theme.getSize("default_margin").height
left: parent.left
right: parent.right
}
Label
{
id: headerText
anchors
{
top: parent.top
left: parent.left
right: parent.right
}
text: catalog.i18nc("@text:window", "Cura sends anonymous data so we can improve the print quality and user experience. Below is an example of all the data we send.")
wrapMode: Text.WordWrap
}
TextArea
{
id: exampleData
anchors
{
top: headerText.bottom
topMargin: UM.Theme.getSize("default_margin").height
bottom: parent.bottom
bottomMargin: UM.Theme.getSize("default_margin").height
left: parent.left
right: parent.right
}
text: manager.getExampleData()
readOnly: true
textFormat: TextEdit.PlainText
}
}
Column
{
id: radioButtonsRow
width: parent.width
anchors.bottom: buttonRow.top
anchors.bottomMargin: UM.Theme.getSize("default_margin").height
ExclusiveGroup { id: group }
RadioButton
{
id: dontSendButton
text: catalog.i18nc("@text:window", "I don't want to send these settings")
exclusiveGroup: group
onClicked:
{
baseDialog.allowSendData = !checked;
}
}
RadioButton
{
id: allowSendButton
text: catalog.i18nc("@text:window", "Allow sending these settings to improve Cura")
exclusiveGroup: group
onClicked:
{
baseDialog.allowSendData = checked;
}
}
}
Item
{
id: buttonRow
anchors.bottom: parent.bottom
width: parent.width
anchors.bottomMargin: UM.Theme.getSize("default_margin").height
UM.I18nCatalog { id: catalog; name: "cura" }
Button
{
anchors.right: parent.right
text: catalog.i18nc("@action:button", "Ok")
onClicked: {
baseDialog.accepted()
baseDialog.hide()
}
}
Button
{
anchors.left: parent.left
text: catalog.i18nc("@action:button", "Cancel")
onClicked: {
baseDialog.rejected()
baseDialog.hide()
}
}
}
}