Warning, /plasma/drkonqi/src/qml/ContextPage.qml is written in an unsupported language. File is not indexed.

0001 // SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
0002 // SPDX-FileCopyrightText: 2022 Harald Sitter <sitter@kde.org>
0003 
0004 import QtQuick 2.15
0005 import QtQuick.Layouts 1.15
0006 import QtQuick.Controls 2.15 as QQC2
0007 import org.kde.kirigami 2.19 as Kirigami
0008 
0009 import org.kde.drkonqi 1.0
0010 
0011 Kirigami.ScrollablePage {
0012     id: page
0013 
0014     title: i18nc("@title:window", "What do You Know About the Crash?")
0015 
0016     ColumnLayout {
0017         Kirigami.Heading {
0018             text: xi18nc("@info/rich", "Do you remember what you were doing prior to the crash?")
0019             level: 2
0020             wrapMode: Text.Wrap
0021             Layout.fillWidth: true
0022         }
0023 
0024         QQC2.ButtonGroup {
0025             id: rememberGroup
0026         }
0027         QQC2.RadioButton {
0028             text: i18nc("@action:button", "Yes")
0029             QQC2.ButtonGroup.group: rememberGroup
0030             onCheckedChanged: reportInterface.userRememberCrashSitutation = checked
0031         }
0032         QQC2.RadioButton {
0033             text: i18nc("@action:button", "No")
0034             QQC2.ButtonGroup.group: rememberGroup
0035             checked: true
0036         }
0037 
0038         Kirigami.Heading {
0039             text: xi18nc("@info/rich", "Does the application crash again if you repeat the same situation?")
0040             level: 2
0041             wrapMode: Text.Wrap
0042             Layout.fillWidth: true
0043         }
0044         QQC2.ComboBox {
0045             model: ReproducibilityModel{}
0046             textRole: "ROLE_String"
0047             valueRole: "ROLE_Integer"
0048             onCurrentValueChanged: reportInterface.reproducible = currentValue
0049         }
0050 
0051         Kirigami.Heading {
0052             text: xi18nc("@info/rich", "Please select which additional information you can provide:")
0053             level: 2
0054             wrapMode: Text.Wrap
0055             Layout.fillWidth: true
0056         }
0057         QQC2.CheckBox {
0058             text: xi18nc("@option:check kind of information the user can provide about the crash, %1 is the application name",
0059               "What I was doing when the application <application>%1</application> crashed",
0060               DrKonqi.appName())
0061             onCheckedChanged: reportInterface.provideActionsApplicationDesktop = checked
0062             Layout.fillWidth: true
0063         }
0064         QQC2.CheckBox {
0065             text: i18nc("@action:check", "Unusual desktop behavior I noticed")
0066             onCheckedChanged: reportInterface.provideUnusualBehavior = checked
0067             Layout.fillWidth: true
0068         }
0069         QQC2.CheckBox {
0070             text: i18nc("@action:check", "Custom settings of the application that may be related")
0071             onCheckedChanged: reportInterface.provideApplicationConfigurationDetails = checked
0072             Layout.fillWidth: true
0073         }
0074     }
0075 
0076     footer: FooterActionBar {
0077         Kirigami.PromptDialog {
0078             id: problemDialog
0079             title: i18nc("@title", "Not Sufficiently Useful")
0080             subtitle: xi18nc("@info", "<para>The information you can provide is not considered helpful enough in this case. If you can't think of any more information you can close the bug report dialog.</para>")
0081 
0082             showCloseButton: true
0083         }
0084 
0085         actions: [
0086             Kirigami.Action {
0087                 iconName: "go-next"
0088                 text: i18nc("@action:button", "Next")
0089                 onTriggered: {
0090                     if (reportInterface.isBugAwarenessPageDataUseful || DrKonqi.ignoreQuality()) {
0091                         pageStack.push("qrc:/ui/BacktracePage.qml")
0092                         return
0093                     }
0094                     problemDialog.open()
0095                 }
0096             }
0097         ]
0098     }
0099 }