on xenial help sign in
Fix more wizard papercuts

- It's not possible to skip the app update page while it's checking for updates, so make it say "Please wait..." while checking - The Changelog page now indicates that the next page is loading. This prevents people from clicking "Next" multiple times and skipping the app update page.

commit99fdac3be8c3cc43377aeb7af2dc503430d139cf authorDalton Durst <me@daltondurst.com> dateMon 8 Oct 2018, 13:33 (8 years ago) parent0d99947
4 files changed+44−8
debian/changelog+10 po/unity8.pot+11−3 qml/Wizard/Pages/11-changelog.qml+21−5 qml/Wizard/Pages/76-app-update.qml+2
debian/changelog+10
@@ -1,3 +1,13 @@
1+unity8 (8.17+ubports5) xenial; urgency=medium
2+
3+ * Yet more papercuts in Wizard update interaction:
4+ * It's not possible to skip the app update page while it's checking for
5+ updates, so make it say "Please wait..." while checking
6+ * Make Changelog page indicate that the next page is loading after the next
7+ button has been clicked. This avoids skipping the app update page.
8+
9+-- Dalton Durst <dalton@ubports.com> Mon, 8 Oct 2018 13:32:13 -0500
10+
111unity8 (8.17+ubports4) xenial; urgency=medium
212
313 * Replace dependency on ubuntu-wallpapers with ubports-wallpapers
po/unity8.pot+11−3
@@ -8,7 +8,7 @@ msgid ""
88msgstr ""
99"Project-Id-Version: unity8\n"
1010"Report-Msgid-Bugs-To: \n"
11−"POT-Creation-Date: 2018-09-28 14:00-0500\n"
11+"POT-Creation-Date: 2018-10-08 13:29-0500\n"
1212"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
1313"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
1414"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -588,7 +588,7 @@ msgstr ""
588588
589589#: qml/Wizard/Pages/10-welcome.qml:175
590590#: qml/Wizard/Pages/10-welcome-update.qml:126
591−#: qml/Wizard/Pages/11-changelog.qml:70 qml/Wizard/Pages/20-keyboard.qml:152
591+#: qml/Wizard/Pages/11-changelog.qml:74 qml/Wizard/Pages/20-keyboard.qml:152
592592#: qml/Wizard/Pages/30-wifi.qml:208 qml/Wizard/Pages/50-timezone.qml:272
593593#: qml/Wizard/Pages/60-account.qml:66 qml/Wizard/Pages/70-passwd-type.qml:146
594594#: qml/Wizard/Pages/75-report-check.qml:85
@@ -610,6 +610,10 @@ msgstr ""
610610msgid "What's new"
611611msgstr ""
612612
613+#: qml/Wizard/Pages/11-changelog.qml:74
614+msgid "Loading..."
615+msgstr ""
616+
613617#: qml/Wizard/Pages/20-keyboard.qml:31
614618msgid "Select Keyboard"
615619msgstr ""
@@ -623,7 +627,7 @@ msgid "Keyboard layout"
623627msgstr ""
624628
625629#: qml/Wizard/Pages/20-keyboard.qml:152 qml/Wizard/Pages/30-wifi.qml:208
626−#: qml/Wizard/Pages/60-account.qml:66 qml/Wizard/Pages/76-app-update.qml:238
630+#: qml/Wizard/Pages/60-account.qml:66 qml/Wizard/Pages/76-app-update.qml:240
627631#: qml/Wizard/Pages/79-system-update.qml:152 qml/Wizard/Pages/sim.qml:101
628632msgid "Skip"
629633msgstr ""
@@ -716,6 +720,10 @@ msgstr ""
716720msgid "The update server is not responding."
717721msgstr ""
718722
723+#: qml/Wizard/Pages/76-app-update.qml:238
724+msgid "Please wait..."
725+msgstr ""
726+
719727#: qml/Wizard/Pages/79-system-update.qml:28
720728msgid "Update Device"
721729msgstr ""
qml/Wizard/Pages/11-changelog.qml+21−5
@@ -26,6 +26,10 @@ import ".." as LocalComponents
2626LocalComponents.Page {
2727 objectName: "changelogPage"
2828 title: i18n.tr("What's new")
29+ id: changelogPage
30+
31+ // See skipTimer below for information about this hack
32+ property bool loading: false
2933
3034 forwardButtonSourceComponent: forwardButton
3135 onlyOnUpdate: true
@@ -67,13 +71,25 @@ LocalComponents.Page {
6771 Component {
6872 id: forwardButton
6973 LocalComponents.StackButton {
70− text: i18n.tr("Next")
74+ text: loading ? i18n.tr("Loading...") : i18n.tr("Next")
7175 onClicked: {
72− if (d.validName) {
73− AccountsService.realName = d.validName;
74− }
75− pageStack.next();
76+ changelogPage.loading = true;
77+ skipTimer.restart();
7678 }
7779 }
7880 }
81+
82+ // A horrible hack to make sure the UI refreshes before actually skipping
83+ // Without this, people press the Next button multiple times and skip
84+ // multiple pages at once.
85+ Timer {
86+ id: skipTimer
87+ interval: 100
88+ repeat: false
89+ running: false
90+ onTriggered: {
91+ changelogPage.loading = false;
92+ pageStack.next();
93+ }
94+ }
7995}
qml/Wizard/Pages/76-app-update.qml+2
@@ -234,6 +234,8 @@ LocalComponents.Page {
234234 var s = UpdateManager.status;
235235 if (s === UpdateManager.StatusIdle && updatesCount === 0) {
236236 return i18n.tr("Next");
237+ } else if (s === UpdateManager.StatusCheckingClickUpdates) {
238+ return i18n.tr("Please wait...")
237239 } else {
238240 return i18n.tr("Skip");
239241 }