Unity 8
75-report-check.qml
1 /*
2  * Copyright (C) 2015-2016 Canonical, Ltd.
3  *
4  * This program is free software; you can redistribute it and/or modify
5  * it under the terms of the GNU General Public License as published by
6  * the Free Software Foundation; version 3.
7  *
8  * This program is distributed in the hope that it will be useful,
9  * but WITHOUT ANY WARRANTY; without even the implied warranty of
10  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11  * GNU General Public License for more details.
12  *
13  * You should have received a copy of the GNU General Public License
14  * along with this program. If not, see <http://www.gnu.org/licenses/>.
15  */
16 
17 import QtQuick 2.4
18 import Ubuntu.Components 1.3
19 import Ubuntu.Web 0.2
20 import ".." as LocalComponents
21 
22 LocalComponents.Page {
23  id: reportingPage
24  objectName: "reportingPage"
25 
26  title: webview.visible ? i18n.tr("Privacy Policy") : i18n.tr("Help Us Improve")
27  forwardButtonSourceComponent: !webview.visible ? forwardButton : null
28  customBack: true
29  customTitle: webview.visible
30 
31  skip: !diagnostics.reportCrashes // skip the page when the system is configured not to report crashes
32 
33  onBackClicked: {
34  if (webview.visible) {
35  webview.visible = false;
36  } else {
37  pageStack.prev();
38  }
39  }
40 
41  Column {
42  id: column
43  anchors {
44  fill: content
45  leftMargin: leftMargin
46  rightMargin: rightMargin
47  topMargin: customMargin
48  }
49 
50  LocalComponents.CheckableSetting {
51  anchors {
52  left: parent.left
53  right: parent.right
54  }
55 
56  id: reportCheck
57  objectName: "reportCheck"
58  showDivider: false
59  text: i18n.tr("Improve system performance by sending us crashes and error reports.") + "<br><br><a href='#'>" +
60  i18n.tr("Privacy policy") + "</a>"
61  checked: diagnostics.reportCrashes
62  visible: !webview.visible
63  onLinkActivated: {
64  webview.url = "http://www.ubuntu.com/legal/terms-and-policies/privacy-policy";
65  webview.visible = true;
66  }
67  }
68 
69  WebView {
70  id: webview
71  objectName: "webview"
72  anchors.left: parent.left
73  anchors.right: parent.right
74  anchors.leftMargin: -leftMargin
75  anchors.rightMargin: -rightMargin
76  height: parent.height
77  visible: false
78  }
79  }
80 
81  Component {
82  id: forwardButton
83  LocalComponents.StackButton {
84  text: i18n.tr("Next")
85  onClicked: {
86  diagnostics.setReportCrashes(reportCheck.checked);
87  pageStack.next();
88  }
89  }
90  }
91 }