~jocave/checkbox/hybrid-amd-gpu-mods

« back to all changes in this revision

Viewing changes to checkbox-gui/checkbox-gui/qml/ManualInteractionDialog.qml

  • Committer: Zygmunt Krynicki
  • Date: 2015-09-17 13:32:37 UTC
  • mto: This revision was merged to the branch mainline in revision 4014.
  • Revision ID: zygmunt.krynicki@canonical.com-20150917133237-7d4mdzlgpin1na9g
checkbox-gui: remove checkbox gui entirely

This patch removes all of checkbox-gui. This was long in the making but
it's now done. We cannot maintain this codebase effectively. Keeping it
around slows us down as we are unable to make feature-parity changes
here with the same simplicity that we can make them elsewhere, most
notably in checkbox-converged.

The code has served us well but it is the time to let go and make
checkbox-converged the only application that we use across all of Ubuntu
releases and across different environments (phone, table and desktop).

Signed-off-by: Zygmunt Krynicki <zygmunt.krynicki@canonical.com>

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/*
2
 
 * This file is part of Checkbox
3
 
 *
4
 
 * Copyright 2013 Canonical Ltd.
5
 
 *
6
 
 * Authors:
7
 
 * - Julia Segal <julia.segal@cellsoftware.co.uk>
8
 
 *
9
 
 * This program is free software; you can redistribute it and/or modify
10
 
 * it under the terms of the GNU General Public License as published by
11
 
 * the Free Software Foundation; version 3.
12
 
 *
13
 
 * This program is distributed in the hope that it will be useful,
14
 
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15
 
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16
 
 * GNU General Public License for more details.
17
 
 *
18
 
 * You should have received a copy of the GNU General Public License
19
 
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
20
 
 */
21
 
 
22
 
 
23
 
import QtQuick 2.0
24
 
import Ubuntu.Components 0.1
25
 
import Ubuntu.Components.Popups 0.1
26
 
 
27
 
/* TODO - Default Yes/No/Skip based on plainbox interpretation of result
28
 
 * which the user can then change if they wish.
29
 
 */
30
 
DarkDialog {
31
 
    id: dialog
32
 
 
33
 
    property var testItem;
34
 
    /* Manual jobs may define a shell command as part of the test procedure.
35
 
     * When such command exists, the following property is set, enabling
36
 
     * the corresponding "Test" button. Otherwise it's greyed out.
37
 
     */
38
 
    property var showTestButton;
39
 
    property var testStatus;
40
 
 
41
 
    title: i18n.tr("Manual Test")
42
 
    text: testItem.testname//i18n.tr("Name of the Test.")
43
 
 
44
 
    ActivityIndicator {
45
 
        id: manual_interaction_activity
46
 
 
47
 
        anchors.horizontalCenter: instructions.horizontalCenter
48
 
 
49
 
        running: false
50
 
    }
51
 
 
52
 
    TextArea{
53
 
        id: instructions
54
 
        text: testItem.description
55
 
        height: units.gu(24)
56
 
        cursorVisible: false
57
 
        cursorDelegate: Item { id: emptycursor }
58
 
    }
59
 
 
60
 
    Button {
61
 
        id: manualtestbutton
62
 
        text: i18n.tr("Test")
63
 
        color: UbuntuColors.orange
64
 
        enabled: showTestButton ? true : false
65
 
        onClicked: {
66
 
            /* So the user knows this is happening, grey the buttons until
67
 
             * we get a reply.
68
 
             */
69
 
            manualtestbutton.enabled = false;
70
 
            continuebutton.enabled = false;
71
 
            yescheck.enabled = false;
72
 
            nocheck.enabled = false;
73
 
            skipcheck.enabled = false;
74
 
 
75
 
            manual_interaction_activity.running = true;
76
 
 
77
 
            // Ok, run this test. Result and comments dont matter here
78
 
            guiEngine.ResumeFromManualInteractionDialog(true,"fail","no comment")
79
 
        }
80
 
    }
81
 
 
82
 
    Row {
83
 
        spacing: units.gu(8)
84
 
        CheckBox {
85
 
            id: yescheck
86
 
            text: i18n.tr("Yes")
87
 
            checked: testStatus === 2 /* PBJobResult_Pass */ ? true : false
88
 
            onClicked: {
89
 
                if (checked){
90
 
                    nocheck.checked = !checked
91
 
                    skipcheck.checked = !checked
92
 
                }
93
 
                else
94
 
                    checked = true;
95
 
            }
96
 
            Label{
97
 
                anchors.left: yescheck.right
98
 
                anchors.verticalCenter: parent.verticalCenter
99
 
                anchors.leftMargin: units.gu(1)
100
 
                text: i18n.tr("Yes")
101
 
            }
102
 
        }
103
 
 
104
 
        CheckBox {
105
 
            id: nocheck
106
 
            text: i18n.tr("No")
107
 
            checked: testStatus === 3 /* PBJobResult_Fail */ ? true : false
108
 
            onClicked: {
109
 
                if (checked){
110
 
                    yescheck.checked = !checked
111
 
                    skipcheck.checked = !checked
112
 
                }
113
 
                else
114
 
                    checked = true;
115
 
            }
116
 
            Label{
117
 
                anchors.left: nocheck.right
118
 
                anchors.verticalCenter: parent.verticalCenter
119
 
                anchors.leftMargin: units.gu(1)
120
 
                text: i18n.tr("No")
121
 
            }
122
 
        }
123
 
 
124
 
        CheckBox {
125
 
            id: skipcheck
126
 
            text: i18n.tr("Skip")
127
 
            checked: testStatus === 1 /* PBJobResult_Skip */ ? true : false
128
 
            onClicked: {
129
 
                if (checked){
130
 
                    nocheck.checked = !checked
131
 
                    yescheck.checked = !checked
132
 
                }
133
 
                else
134
 
                    checked = true;
135
 
            }
136
 
            Label{
137
 
                anchors.left: skipcheck.right
138
 
                anchors.verticalCenter: parent.verticalCenter
139
 
                anchors.leftMargin: units.gu(1)
140
 
                text: i18n.tr("Skip")
141
 
            }
142
 
        }
143
 
    }
144
 
 
145
 
 
146
 
    Column {
147
 
        Label{
148
 
            text: i18n.tr("Comments")
149
 
        }
150
 
 
151
 
        TextArea {
152
 
            id: comments
153
 
            text: ""
154
 
        }
155
 
    }
156
 
 
157
 
 
158
 
 
159
 
 
160
 
    Button {
161
 
        id: continuebutton
162
 
        text: i18n.tr("Continue")
163
 
        color: UbuntuColors.warmGrey
164
 
        onClicked: {
165
 
            if (skipcheck.checked && comments.text === "")
166
 
            {
167
 
                PopupUtils.open(skip_warning_dialog, continuebutton);
168
 
            }
169
 
            else {
170
 
                // Ok, we can continue
171
 
 
172
 
                // Get the right outcome...
173
 
                if (yescheck.checked) {
174
 
                    // Pass
175
 
                    guiEngine.ResumeFromManualInteractionDialog(false,"pass",comments.text)
176
 
                } else if (nocheck.checked) {
177
 
                    // Fail
178
 
                    guiEngine.ResumeFromManualInteractionDialog(false,"fail",comments.text)
179
 
                } else if (skipcheck.checked) {
180
 
                    // Fail
181
 
                    guiEngine.ResumeFromManualInteractionDialog(false,"skip",comments.text)
182
 
                }
183
 
 
184
 
                PopupUtils.close(dialog)
185
 
            }
186
 
        }
187
 
    }
188
 
 
189
 
 
190
 
 
191
 
    Component {
192
 
        id: skip_warning_dialog
193
 
        WarningDialog{
194
 
            text: i18n.tr("Skipping a test requires a reason to be entered in the Comments field.  Please update that field and click 'Continue' again.");
195
 
 
196
 
            showCancel: false
197
 
            showContinue: false
198
 
            showCheckbox: false
199
 
 
200
 
            onOk: {
201
 
            }
202
 
        }
203
 
    }
204
 
 
205
 
    Connections {
206
 
        id: manual_interaction_connections
207
 
        target: guiEngine
208
 
        onUpdateManualInteractionDialog: {
209
 
            // Remove the activity indicator
210
 
            manual_interaction_activity.running = false;
211
 
 
212
 
            // Re-enable these buttons as the test has completed
213
 
            if (show_test) {
214
 
                manualtestbutton.enabled = true;
215
 
            } else {
216
 
                manualtestbutton.enabled = false;
217
 
            }
218
 
            continuebutton.enabled = true;
219
 
            yescheck.enabled = true;
220
 
            nocheck.enabled = true;
221
 
            skipcheck.enabled = true;
222
 
 
223
 
            // Outcome values refer to PBJobResult enums
224
 
            if (suggested_outcome === 2 /* PBJobResult_Pass */) {
225
 
                yescheck.checked = true;
226
 
                nocheck.checked = false;
227
 
                skipcheck.checked = false; // we didnt skip it
228
 
            } else {
229
 
                yescheck.checked = false;
230
 
                nocheck.checked = true;
231
 
                skipcheck.checked = false; // we didnt skip it
232
 
            }
233
 
        }
234
 
        onCloseManualInteractionDialog: {
235
 
            PopupUtils.close(dialog)
236
 
        }
237
 
    }
238
 
    Component.onCompleted:
239
 
    {
240
 
        instructions.focus = true
241
 
    }
242
 
}