Merge lp:~nik90/podbird/4-add-welcome-wizard into lp:podbird

Proposed by Nekhelesh Ramananthan on 2015-03-30
Status: Merged
Merged at revision: 41
Proposed branch: lp:~nik90/podbird/4-add-welcome-wizard
Merge into: lp:podbird
Diff against target: 895 lines (+749/-8)
14 files modified
CMakeLists.txt (+2/-2)
app/CMakeLists.txt (+2/-1)
app/graphics/CMakeLists.txt (+7/-0)
app/podbird.qml (+12/-2)
app/ui/Walkthrough.qml (+169/-0)
app/welcomewizard/CMakeLists.txt (+8/-0)
app/welcomewizard/Slide1.qml (+76/-0)
app/welcomewizard/Slide2.qml (+66/-0)
app/welcomewizard/Slide3.qml (+67/-0)
app/welcomewizard/Slide4.qml (+70/-0)
app/welcomewizard/Slide5.qml (+68/-0)
app/welcomewizard/Slide6.qml (+80/-0)
app/welcomewizard/WelcomeWizard.qml (+41/-0)
po/com.mikeasoft.podbird.pot (+81/-3)
To merge this branch: bzr merge lp:~nik90/podbird/4-add-welcome-wizard
Reviewer Review Type Date Requested Status
Michael Sheldon 2015-03-30 Approve on 2015-04-15
Review via email: mp+254651@code.launchpad.net

Commit Message

Adds a beautiful welcome wizard to introduce the app to new users.

Description of the Change

Adds a beautiful welcome wizard to introduce the app to new users. I added this in light of new features being added like auto-download, auto-delete, and some upcoming features I had in mind like marking episodes as favourites etc.

The welcome wizard component that is used here was imported from the Ubuntu Component Store and was created by me. It has been used in various apps and works reliably.

Check them out https://imgur.com/sAatKkq,AuoKzto,ZI8YfDd,FZZBvPG,vRXytFR :-)

To post a comment you must log in.
Nekhelesh Ramananthan (nik90) wrote :

Please ensure that the strings shown in the welcome wizard are grammatically correct before approving this MP. Thnx!

45. By Nekhelesh Ramananthan on 2015-04-01

Added log outputs for easier debugging, commented code and also improved the sentences shown in the welcome wizard

46. By Nekhelesh Ramananthan on 2015-04-01

Removed hardcoded start button size. Also made the welcome text a bit more friendly

47. By Nekhelesh Ramananthan on 2015-04-11

Added new welcome wizard graphic assets and tweaked design according to kevin's suggestions

48. By Nekhelesh Ramananthan on 2015-04-15

Fixed small typos spotted by Alan Pope during beta testing

Michael Sheldon (michael-sheldon) wrote :

Looks really swish, I've added a few comments about the strings via inline diff comments, once those are updated this should be good to go :)

review: Needs Fixing
49. By Nekhelesh Ramananthan on 2015-04-15

Small string corrections

50. By Nekhelesh Ramananthan on 2015-04-15

Made ubuntu translators text a link

51. By Nekhelesh Ramananthan on 2015-04-15

Removed hardcoded link references in onLinkActivated signals

Michael Sheldon (michael-sheldon) wrote :

Excellent, approved!

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'CMakeLists.txt'
2--- CMakeLists.txt 2015-01-04 10:20:41 +0000
3+++ CMakeLists.txt 2015-04-15 21:44:15 +0000
4@@ -28,7 +28,7 @@
5 set(APP_ID "com.mikeasoft.podbird")
6 set(PODBIRD_DIR "share/qml/podbird")
7 set(MAIN_QML "podbird.qml")
8-set(ICON "graphics/podbird.png")
9+set(ICON "podbird.png")
10
11 # Set install paths
12 set(CMAKE_INSTALL_PREFIX /)
13@@ -49,7 +49,7 @@
14 install(FILES ${CMAKE_CURRENT_BINARY_DIR}/manifest.json
15 DESTINATION ${CMAKE_INSTALL_PREFIX})
16
17-install(DIRECTORY "app/graphics" DESTINATION ${DATA_DIR})
18+install(FILES "podbird.png" DESTINATION ${DATA_DIR})
19 install(FILES "Podbird.apparmor" DESTINATION ${DATA_DIR})
20
21 add_subdirectory(app)
22
23=== modified file 'app/CMakeLists.txt'
24--- app/CMakeLists.txt 2015-03-03 22:44:29 +0000
25+++ app/CMakeLists.txt 2015-04-15 21:44:15 +0000
26@@ -11,4 +11,5 @@
27
28 add_subdirectory(ui)
29 add_subdirectory(themes)
30-
31+add_subdirectory(welcomewizard)
32+add_subdirectory(graphics)
33
34=== added file 'app/graphics/CMakeLists.txt'
35--- app/graphics/CMakeLists.txt 1970-01-01 00:00:00 +0000
36+++ app/graphics/CMakeLists.txt 2015-04-15 21:44:15 +0000
37@@ -0,0 +1,7 @@
38+file(GLOB GRAPHIC_FILES *.png *.jpg)
39+
40+# Make the files visible in the qtcreator tree
41+add_custom_target(podbird_GRAPHICFiles ALL SOURCES ${GRAPHIC_FILES})
42+
43+install(FILES ${GRAPHIC_FILES} DESTINATION ${PODBIRD_DIR}/graphics)
44+
45
46=== added file 'app/graphics/discover.png'
47Binary files app/graphics/discover.png 1970-01-01 00:00:00 +0000 and app/graphics/discover.png 2015-04-15 21:44:15 +0000 differ
48=== added file 'app/graphics/gift.png'
49Binary files app/graphics/gift.png 1970-01-01 00:00:00 +0000 and app/graphics/gift.png 2015-04-15 21:44:15 +0000 differ
50=== added file 'app/graphics/language.png'
51Binary files app/graphics/language.png 1970-01-01 00:00:00 +0000 and app/graphics/language.png 2015-04-15 21:44:15 +0000 differ
52=== modified file 'app/graphics/podbird.png'
53Binary files app/graphics/podbird.png 2015-01-04 10:20:41 +0000 and app/graphics/podbird.png 2015-04-15 21:44:15 +0000 differ
54=== added file 'app/graphics/smart.png'
55Binary files app/graphics/smart.png 1970-01-01 00:00:00 +0000 and app/graphics/smart.png 2015-04-15 21:44:15 +0000 differ
56=== added file 'app/graphics/support.png'
57Binary files app/graphics/support.png 1970-01-01 00:00:00 +0000 and app/graphics/support.png 2015-04-15 21:44:15 +0000 differ
58=== modified file 'app/podbird.qml'
59--- app/podbird.qml 2015-03-27 15:38:43 +0000
60+++ app/podbird.qml 2015-04-15 21:44:15 +0000
61@@ -41,7 +41,7 @@
62 backgroundColor: theme.background
63
64 Component.onDestruction: {
65- console.log("Download cancelled");
66+ console.log("[LOG]: Download cancelled");
67 downloader.cancel();
68 }
69
70@@ -73,6 +73,7 @@
71 property string themeName: "Light.qml"
72 property int retentionDays: -1
73 property var lastCheck: new Date()
74+ property bool firstRun: true
75 }
76
77 FileManager {
78@@ -139,7 +140,16 @@
79
80 PageStack {
81 id: mainStack
82- Component.onCompleted: push(tabs)
83+ Component.onCompleted: {
84+ // Show the welcome wizard only when running the app for the first time
85+ if (settings.firstRun) {
86+ console.log("[LOG]: Detecting first time run by user. Starting welcome wizard.")
87+ push(Qt.resolvedUrl("welcomewizard/WelcomeWizard.qml"))
88+ } else {
89+ push(tabs)
90+ }
91+ }
92+
93 Tabs {
94 id: tabs
95
96
97=== added file 'app/ui/Walkthrough.qml'
98--- app/ui/Walkthrough.qml 1970-01-01 00:00:00 +0000
99+++ app/ui/Walkthrough.qml 2015-04-15 21:44:15 +0000
100@@ -0,0 +1,169 @@
101+/*
102+ * Copyright 2015 Nekhelesh Ramananthan (UCS)
103+ *
104+ * This file is part of Podbird.
105+ *
106+ * Podbird is free software; you can redistribute it and/or modify
107+ * it under the terms of the GNU General Public License as published by
108+ * the Free Software Foundation; version 3.
109+ *
110+ * Podbird is distributed in the hope that it will be useful,
111+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
112+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
113+ * GNU General Public License for more details.
114+ *
115+ * You should have received a copy of the GNU General Public License
116+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
117+ */
118+
119+import QtQuick 2.3
120+import Ubuntu.Components 1.1
121+import Ubuntu.Components.ListItems 1.0 as ListItem
122+
123+Page {
124+ id: walkthrough
125+
126+ // Property to set the app name used in the walkthrough
127+ property string appName
128+
129+ // Property to check if this is the first run or not
130+ property bool isFirstRun: true
131+
132+ // Property to store the slides shown in the walkthrough (Each slide is a component defined in a separate file for simplicity)
133+ property list<Component> model
134+
135+ // Property to set the color of bottom cirle to indicate the user's progress
136+ property color completeColor: "green"
137+
138+ // Property to set the color of the bottom circle to indicate the slide still left to cover
139+ property color inCompleteColor: "lightgrey"
140+
141+ // Property to set the color of the skip welcome wizard text
142+ property color skipTextColor: "grey"
143+
144+ // Property to signal walkthrough completion
145+ signal finished
146+
147+ // ListView to show the slides
148+ ListView {
149+ id: listView
150+ anchors {
151+ left: parent.left
152+ right: parent.right
153+ top: skipLabel.bottom
154+ bottom: slideIndicator.top
155+ }
156+
157+ model: walkthrough.model
158+ snapMode: ListView.SnapOneItem
159+ orientation: Qt.Horizontal
160+ highlightMoveDuration: UbuntuAnimation.FastDuration
161+ highlightRangeMode: ListView.StrictlyEnforceRange
162+ highlightFollowsCurrentItem: true
163+
164+ delegate: Item {
165+ width: listView.width
166+ height: listView.height
167+ clip: true
168+
169+ Loader {
170+ anchors {
171+ fill: parent
172+ margins: units.gu(2)
173+ }
174+
175+ sourceComponent: modelData
176+ }
177+ }
178+ }
179+
180+ // Label to skip the walkthrough. Only visible on the first slide
181+ Label {
182+ id: skipLabel
183+
184+ color: skipTextColor
185+ fontSize: "small"
186+ wrapMode: Text.WordWrap
187+ text: i18n.tr("Skip")
188+ horizontalAlignment: Text.AlignRight
189+
190+ anchors {
191+ top: parent.top
192+ left: parent.left
193+ right: parent.right
194+ margins: units.gu(2)
195+ }
196+
197+ MouseArea {
198+ anchors.fill: parent
199+ onClicked: walkthrough.finished()
200+ }
201+ }
202+
203+ // Indicator element to represent the current slide of the walkthrough
204+ Row {
205+ id: slideIndicator
206+ height: units.gu(6)
207+ spacing: units.gu(2)
208+ anchors {
209+ bottom: parent.bottom
210+ horizontalCenter: parent.horizontalCenter
211+ }
212+
213+ Repeater {
214+ model: walkthrough.model.length
215+ delegate: Rectangle {
216+ height: width
217+ radius: width/2
218+ width: units.gu(2)
219+ antialiasing: true
220+ border.width: listView.currentIndex == index ? units.gu(0.2) : units.gu(0)
221+ border.color: completeColor
222+ anchors.verticalCenter: parent.verticalCenter
223+ color: listView.currentIndex == index ? "White"
224+ : listView.currentIndex >= index ? completeColor
225+ : inCompleteColor
226+ Behavior on color {
227+ ColorAnimation {
228+ duration: UbuntuAnimation.FastDuration
229+ }
230+ }
231+ }
232+ }
233+ }
234+
235+ ActionButton {
236+ id: rightchevron
237+
238+ width: units.gu(6)
239+ height: units.gu(6)
240+
241+ anchors {
242+ bottom: parent.bottom
243+ right: parent.right
244+ }
245+
246+ iconName: "chevron"
247+ visible: enabled
248+ enabled: listView.currentIndex !== listView.count-1
249+ onClicked: listView.currentIndex++
250+ }
251+
252+ ActionButton {
253+ id: leftchevron
254+
255+ width: units.gu(6)
256+ height: units.gu(6)
257+
258+ anchors {
259+ bottom: parent.bottom
260+ left: parent.left
261+ }
262+
263+ iconName: "chevron"
264+ rotation: 180
265+ visible: enabled
266+ enabled: listView.currentIndex !== 0
267+ onClicked: listView.currentIndex--
268+ }
269+}
270
271=== added directory 'app/welcomewizard'
272=== added file 'app/welcomewizard/CMakeLists.txt'
273--- app/welcomewizard/CMakeLists.txt 1970-01-01 00:00:00 +0000
274+++ app/welcomewizard/CMakeLists.txt 2015-04-15 21:44:15 +0000
275@@ -0,0 +1,8 @@
276+file(GLOB WELCOMEWIZARD_QML_JS_FILES *.qml *.js)
277+
278+# Make the files visible in the qtcreator tree
279+add_custom_target(podbird_welcomewizard_QMlFiles ALL SOURCES ${WELCOMEWIZARD_QML_JS_FILES})
280+
281+install(FILES ${WELCOMEWIZARD_QML_JS_FILES} DESTINATION ${PODBIRD_DIR}/welcomewizard)
282+
283+
284
285=== added file 'app/welcomewizard/Slide1.qml'
286--- app/welcomewizard/Slide1.qml 1970-01-01 00:00:00 +0000
287+++ app/welcomewizard/Slide1.qml 2015-04-15 21:44:15 +0000
288@@ -0,0 +1,76 @@
289+/*
290+ * Copyright 2015 Podbird Team
291+ *
292+ * This file is part of Podbird.
293+ *
294+ * Podbird is free software; you can redistribute it and/or modify
295+ * it under the terms of the GNU General Public License as published by
296+ * the Free Software Foundation; version 3.
297+ *
298+ * Podbird is distributed in the hope that it will be useful,
299+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
300+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
301+ * GNU General Public License for more details.
302+ *
303+ * You should have received a copy of the GNU General Public License
304+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
305+ */
306+
307+import QtQuick 2.3
308+import Ubuntu.Components 1.1
309+
310+// Slide 1
311+Component {
312+ id: slide1
313+ Item {
314+ id: slide1Container
315+
316+ Image {
317+ anchors {
318+ top: parent.top
319+ bottom: introductionText.top
320+ bottomMargin: units.gu(6)
321+ horizontalCenter: parent.horizontalCenter
322+ }
323+ source: Qt.resolvedUrl("../graphics/podbird.png")
324+ fillMode: Image.PreserveAspectFit
325+ antialiasing: true
326+ }
327+
328+ Label {
329+ id: introductionText
330+ text: i18n.tr("Welcome to Podbird")
331+ fontSize: "x-large"
332+ height: contentHeight
333+ anchors.centerIn: parent
334+ }
335+
336+ Label {
337+ id: bodyText
338+ text: i18n.tr("Enjoy your favourite shows with Podbird, the chirpiest podcast \
339+manager for Ubuntu.\n\nChirp Chirp...")
340+ anchors.left: parent.left
341+ anchors.right: parent.right
342+ anchors.margins: units.gu(1)
343+ anchors.top: introductionText.bottom
344+ anchors.topMargin: units.gu(4)
345+ anchors.bottom: swipeText.top
346+ wrapMode: Text.WordWrap
347+ horizontalAlignment: Text.AlignHCenter
348+ }
349+
350+ Label {
351+ id: swipeText
352+ anchors.left: parent.left
353+ anchors.right: parent.right
354+ anchors.margins: units.gu(1)
355+ anchors.bottom: parent.bottom
356+ color: "grey"
357+ fontSize: "small"
358+ wrapMode: Text.WordWrap
359+ horizontalAlignment: Text.AlignHCenter
360+ text: i18n.tr("Swipe to move between pages")
361+
362+ }
363+ }
364+}
365
366=== added file 'app/welcomewizard/Slide2.qml'
367--- app/welcomewizard/Slide2.qml 1970-01-01 00:00:00 +0000
368+++ app/welcomewizard/Slide2.qml 2015-04-15 21:44:15 +0000
369@@ -0,0 +1,66 @@
370+/*
371+ * Copyright 2015 Podbird Team
372+ *
373+ * This file is part of Podbird.
374+ *
375+ * Podbird is free software; you can redistribute it and/or modify
376+ * it under the terms of the GNU General Public License as published by
377+ * the Free Software Foundation; version 3.
378+ *
379+ * Podbird is distributed in the hope that it will be useful,
380+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
381+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
382+ * GNU General Public License for more details.
383+ *
384+ * You should have received a copy of the GNU General Public License
385+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
386+ */
387+
388+import QtQuick 2.3
389+import Ubuntu.Components 1.1
390+
391+// Slide 2
392+Component {
393+ id: slide2
394+ Item {
395+ id: slide1Container
396+
397+ Image {
398+ anchors {
399+ top: parent.top
400+ bottom: introductionText.top
401+ bottomMargin: units.gu(6)
402+ horizontalCenter: parent.horizontalCenter
403+ }
404+ fillMode: Image.PreserveAspectFit
405+ source: Qt.resolvedUrl("../graphics/discover.png")
406+ }
407+
408+ Label {
409+ id: introductionText
410+ anchors.centerIn: parent
411+ elide: Text.ElideRight
412+ fontSize: "x-large"
413+ maximumLineCount: 2
414+ text: i18n.tr("Discover New Podcasts")
415+ horizontalAlignment: Text.AlignHCenter
416+ width: parent.width
417+ wrapMode: Text.WordWrap
418+ }
419+
420+ Label {
421+ id: finalMessage
422+ anchors {
423+ top: introductionText.bottom
424+ bottom: parent.bottom
425+ left: parent.left
426+ right: parent.right
427+ margins: units.gu(1)
428+ topMargin: units.gu(4)
429+ }
430+ horizontalAlignment: Text.AlignHCenter
431+ text: i18n.tr("Podbird uses the iTunesĀ® database to provide access to a huge collection of podcasts. You can also add podcasts by their URL.")
432+ wrapMode: Text.WordWrap
433+ }
434+ }
435+}
436
437=== added file 'app/welcomewizard/Slide3.qml'
438--- app/welcomewizard/Slide3.qml 1970-01-01 00:00:00 +0000
439+++ app/welcomewizard/Slide3.qml 2015-04-15 21:44:15 +0000
440@@ -0,0 +1,67 @@
441+/*
442+ * Copyright 2015 Podbird Team
443+ *
444+ * This file is part of Podbird.
445+ *
446+ * Podbird is free software; you can redistribute it and/or modify
447+ * it under the terms of the GNU General Public License as published by
448+ * the Free Software Foundation; version 3.
449+ *
450+ * Podbird is distributed in the hope that it will be useful,
451+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
452+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
453+ * GNU General Public License for more details.
454+ *
455+ * You should have received a copy of the GNU General Public License
456+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
457+ */
458+
459+import QtQuick 2.3
460+import Ubuntu.Components 1.1
461+
462+// Slide 3
463+Component {
464+ id: slide3
465+ Item {
466+ id: slide1Container
467+
468+ Image {
469+ anchors {
470+ top: parent.top
471+ bottom: introductionText.top
472+ bottomMargin: units.gu(6)
473+ horizontalCenter: parent.horizontalCenter
474+ }
475+ fillMode: Image.PreserveAspectFit
476+ source: Qt.resolvedUrl("../graphics/smart.png")
477+ }
478+
479+ Label {
480+ id: introductionText
481+ anchors.centerIn: parent
482+ elide: Text.ElideRight
483+ fontSize: "x-large"
484+ maximumLineCount: 2
485+ text: i18n.tr("Smart Settings")
486+ horizontalAlignment: Text.AlignHCenter
487+ width: parent.width
488+ wrapMode: Text.WordWrap
489+ }
490+
491+ Label {
492+ id: finalMessage
493+ anchors {
494+ top: introductionText.bottom
495+ bottom: parent.bottom
496+ left: parent.left
497+ right: parent.right
498+ margins: units.gu(1)
499+ topMargin: units.gu(4)
500+ }
501+ horizontalAlignment: Text.AlignHCenter
502+ text: i18n.tr("Podbird can optionally download new episodes and clean up old episodes automatically, this \
503+can be enabled from the settings page.")
504+ wrapMode: Text.WordWrap
505+ }
506+ }
507+}
508
509=== added file 'app/welcomewizard/Slide4.qml'
510--- app/welcomewizard/Slide4.qml 1970-01-01 00:00:00 +0000
511+++ app/welcomewizard/Slide4.qml 2015-04-15 21:44:15 +0000
512@@ -0,0 +1,70 @@
513+/*
514+ * Copyright 2015 Podbird Team
515+ *
516+ * This file is part of Podbird.
517+ *
518+ * Podbird is free software; you can redistribute it and/or modify
519+ * it under the terms of the GNU General Public License as published by
520+ * the Free Software Foundation; version 3.
521+ *
522+ * Podbird is distributed in the hope that it will be useful,
523+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
524+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
525+ * GNU General Public License for more details.
526+ *
527+ * You should have received a copy of the GNU General Public License
528+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
529+ */
530+
531+import QtQuick 2.3
532+import Ubuntu.Components 1.1
533+
534+// Slide 4
535+Component {
536+ id: slide4
537+ Item {
538+ id: slide1Container
539+
540+ Image {
541+ anchors {
542+ top: parent.top
543+ bottom: introductionText.top
544+ bottomMargin: units.gu(6)
545+ horizontalCenter: parent.horizontalCenter
546+ }
547+ fillMode: Image.PreserveAspectFit
548+ source: Qt.resolvedUrl("../graphics/language.png")
549+ }
550+
551+ Label {
552+ id: introductionText
553+ anchors.centerIn: parent
554+ elide: Text.ElideRight
555+ fontSize: "x-large"
556+ maximumLineCount: 2
557+ // TRANSLATORS: This text should be in a language different from the language set by the user.
558+ // For instance, if the app was in english, then it is appropriate to set this string as
559+ // Hallo or Bonjour etc to symbolize the internationalization feature in podbird.
560+ text: i18n.tr("Hallo! Bonjour!")
561+ horizontalAlignment: Text.AlignHCenter
562+ width: parent.width
563+ wrapMode: Text.WordWrap
564+ }
565+
566+ Label {
567+ id: finalMessage
568+ anchors {
569+ top: introductionText.bottom
570+ bottom: parent.bottom
571+ left: parent.left
572+ right: parent.right
573+ margins: units.gu(1)
574+ topMargin: units.gu(4)
575+ }
576+ wrapMode: Text.WordWrap
577+ horizontalAlignment: Text.AlignHCenter
578+ text: i18n.tr("Podbird is available in over 15 languages and is translated by the %1 community").arg("<a href=\"http://community.ubuntu.com/contribute/translations\">Ubuntu Translators</a>")
579+ onLinkActivated: Qt.openUrlExternally(link)
580+ }
581+ }
582+}
583
584=== added file 'app/welcomewizard/Slide5.qml'
585--- app/welcomewizard/Slide5.qml 1970-01-01 00:00:00 +0000
586+++ app/welcomewizard/Slide5.qml 2015-04-15 21:44:15 +0000
587@@ -0,0 +1,68 @@
588+/*
589+ * Copyright 2015 Podbird Team
590+ *
591+ * This file is part of Podbird.
592+ *
593+ * Podbird is free software; you can redistribute it and/or modify
594+ * it under the terms of the GNU General Public License as published by
595+ * the Free Software Foundation; version 3.
596+ *
597+ * Podbird is distributed in the hope that it will be useful,
598+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
599+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
600+ * GNU General Public License for more details.
601+ *
602+ * You should have received a copy of the GNU General Public License
603+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
604+ */
605+
606+import QtQuick 2.3
607+import Ubuntu.Components 1.1
608+
609+// Slide 5
610+Component {
611+ id: slide5
612+ Item {
613+ id: slide1Container
614+
615+ Image {
616+ anchors {
617+ top: parent.top
618+ bottom: introductionText.top
619+ bottomMargin: units.gu(6)
620+ horizontalCenter: parent.horizontalCenter
621+ }
622+ fillMode: Image.PreserveAspectFit
623+ source: Qt.resolvedUrl("../graphics/support.png")
624+ }
625+
626+ Label {
627+ id: introductionText
628+ anchors.centerIn: parent
629+ elide: Text.ElideRight
630+ fontSize: "x-large"
631+ maximumLineCount: 2
632+ text: i18n.tr("Support")
633+ horizontalAlignment: Text.AlignHCenter
634+ width: parent.width
635+ wrapMode: Text.WordWrap
636+ }
637+
638+ Label {
639+ id: finalMessage
640+ anchors {
641+ top: introductionText.bottom
642+ bottom: parent.bottom
643+ left: parent.left
644+ right: parent.right
645+ margins: units.gu(1)
646+ topMargin: units.gu(4)
647+ }
648+ wrapMode: Text.WordWrap
649+ horizontalAlignment: Text.AlignHCenter
650+ // TRANSLATORS: The %1 points to a url defined in html format <a href=\link\>Link</a>.
651+ text: i18n.tr("If you find any bugs or have any feature requests, let us know on our project page at %1").arg("<a href=\"https://launchpad.net/podbird\">launchpad.net</a>")
652+ onLinkActivated: Qt.openUrlExternally(link)
653+ }
654+ }
655+}
656
657=== added file 'app/welcomewizard/Slide6.qml'
658--- app/welcomewizard/Slide6.qml 1970-01-01 00:00:00 +0000
659+++ app/welcomewizard/Slide6.qml 2015-04-15 21:44:15 +0000
660@@ -0,0 +1,80 @@
661+/*
662+ * Copyright 2015 Podbird Team
663+ *
664+ * This file is part of Podbird.
665+ *
666+ * Podbird is free software; you can redistribute it and/or modify
667+ * it under the terms of the GNU General Public License as published by
668+ * the Free Software Foundation; version 3.
669+ *
670+ * Podbird is distributed in the hope that it will be useful,
671+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
672+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
673+ * GNU General Public License for more details.
674+ *
675+ * You should have received a copy of the GNU General Public License
676+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
677+ */
678+
679+import QtQuick 2.3
680+import Ubuntu.Components 1.1
681+
682+// Slide 6
683+Component {
684+ id: slide6
685+ Item {
686+ id: slide1Container
687+
688+ Image {
689+ anchors {
690+ top: parent.top
691+ bottom: introductionText.top
692+ bottomMargin: units.gu(6)
693+ horizontalCenter: parent.horizontalCenter
694+ }
695+ fillMode: Image.PreserveAspectFit
696+ source: Qt.resolvedUrl("../graphics/gift.png")
697+ }
698+
699+ Label {
700+ id: introductionText
701+ anchors.centerIn: parent
702+ elide: Text.ElideRight
703+ fontSize: "x-large"
704+ maximumLineCount: 2
705+ text: i18n.tr("Enjoy")
706+ horizontalAlignment: Text.AlignHCenter
707+ width: parent.width
708+ wrapMode: Text.WordWrap
709+ }
710+
711+ Label {
712+ id: finalMessage
713+ anchors {
714+ top: introductionText.bottom
715+ bottom: continueButton.top
716+ left: parent.left
717+ right: parent.right
718+ margins: units.gu(1)
719+ topMargin: units.gu(4)
720+ }
721+ horizontalAlignment: Text.AlignHCenter
722+ text: i18n.tr("We hope you enjoy using Podbird!")
723+ wrapMode: Text.WordWrap
724+ }
725+
726+ Button {
727+ id: continueButton
728+ anchors {
729+ bottom: parent.bottom
730+ bottomMargin: units.gu(3)
731+ horizontalCenter: parent.horizontalCenter
732+ }
733+ height: units.gu(6)
734+ width: parent.width/1.3
735+ color: UbuntuColors.green
736+ text: i18n.tr("Finish")
737+ onClicked: finished()
738+ }
739+ }
740+}
741
742=== added file 'app/welcomewizard/WelcomeWizard.qml'
743--- app/welcomewizard/WelcomeWizard.qml 1970-01-01 00:00:00 +0000
744+++ app/welcomewizard/WelcomeWizard.qml 2015-04-15 21:44:15 +0000
745@@ -0,0 +1,41 @@
746+/*
747+ * Copyright 2015 Podbird Team
748+ *
749+ * This file is part of Podbird.
750+ *
751+ * Podbird is free software; you can redistribute it and/or modify
752+ * it under the terms of the GNU General Public License as published by
753+ * the Free Software Foundation; version 3.
754+ *
755+ * Podbird is distributed in the hope that it will be useful,
756+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
757+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
758+ * GNU General Public License for more details.
759+ *
760+ * You should have received a copy of the GNU General Public License
761+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
762+ */
763+
764+import QtQuick 2.3
765+import Ubuntu.Components 1.1
766+import "../ui"
767+
768+// Initial Walkthrough tutorial
769+Walkthrough {
770+ id: walkthrough
771+ appName: "Podbird"
772+ onFinished: {
773+ console.log("[LOG]: Welcome tour complete")
774+ settings.firstRun = false
775+ mainStack.pop()
776+ mainStack.push(tabs)
777+ }
778+ model: [
779+ Slide1{},
780+ Slide2{},
781+ Slide3{},
782+ Slide4{},
783+ Slide5{},
784+ Slide6{}
785+ ]
786+}
787
788=== modified file 'po/com.mikeasoft.podbird.pot'
789--- po/com.mikeasoft.podbird.pot 2015-03-29 16:40:52 +0000
790+++ po/com.mikeasoft.podbird.pot 2015-04-15 21:44:15 +0000
791@@ -8,13 +8,13 @@
792 msgstr ""
793 "Project-Id-Version: \n"
794 "Report-Msgid-Bugs-To: \n"
795-"POT-Creation-Date: 2015-03-29 16:48+0100\n"
796+"POT-Creation-Date: 2015-04-15 23:42+0200\n"
797 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
798 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
799 "Language-Team: LANGUAGE <LL@li.org>\n"
800 "Language: \n"
801 "MIME-Version: 1.0\n"
802-"Content-Type: text/plain; charset=CHARSET\n"
803+"Content-Type: text/plain; charset=UTF-8\n"
804 "Content-Transfer-Encoding: 8bit\n"
805 "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
806
807@@ -209,6 +209,84 @@
808 msgid "%1 days"
809 msgstr ""
810
811-#: /home/mike/src/build-podbird-Ubuntu_Device_GCC_armhf_ubuntu_sdk_14_10_utopic-Default/po/Podbird.desktop.in.h:1
812+#: ../app/ui/Walkthrough.qml:87
813+msgid "Skip"
814+msgstr ""
815+
816+#: ../app/welcomewizard/Slide1.qml:42
817+msgid "Welcome to Podbird"
818+msgstr ""
819+
820+#: ../app/welcomewizard/Slide1.qml:50
821+msgid ""
822+"Enjoy your favourite shows with Podbird, the chirpiest podcast manager for "
823+"Ubuntu.\n"
824+"\n"
825+"Chirp Chirp..."
826+msgstr ""
827+
828+#: ../app/welcomewizard/Slide1.qml:72
829+msgid "Swipe to move between pages"
830+msgstr ""
831+
832+#: ../app/welcomewizard/Slide2.qml:45
833+msgid "Discover New Podcasts"
834+msgstr ""
835+
836+#: ../app/welcomewizard/Slide2.qml:62
837+msgid ""
838+"Podbird uses the iTunesĀ® database to provide access to a huge collection of "
839+"podcasts. You can also add podcasts by their URL."
840+msgstr ""
841+
842+#: ../app/welcomewizard/Slide3.qml:45
843+msgid "Smart Settings"
844+msgstr ""
845+
846+#: ../app/welcomewizard/Slide3.qml:62
847+msgid ""
848+"Podbird can optionally download new episodes and clean up old episodes "
849+"automatically, this can be enabled from the settings page."
850+msgstr ""
851+
852+#. TRANSLATORS: This text should be in a language different from the language set by the user.
853+#. For instance, if the app was in english, then it is appropriate to set this string as
854+#. Hallo or Bonjour etc to symbolize the internationalization feature in podbird.
855+#: ../app/welcomewizard/Slide4.qml:48
856+msgid "Hallo! Bonjour!"
857+msgstr ""
858+
859+#: ../app/welcomewizard/Slide4.qml:67
860+#, qt-format
861+msgid ""
862+"Podbird is available in over 15 languages and is translated by the %1 "
863+"community"
864+msgstr ""
865+
866+#: ../app/welcomewizard/Slide5.qml:45
867+msgid "Support"
868+msgstr ""
869+
870+#. TRANSLATORS: The %1 points to a url defined in html format <a href=\link\>Link</a>.
871+#: ../app/welcomewizard/Slide5.qml:65
872+#, qt-format
873+msgid ""
874+"If you find any bugs or have any feature requests, let us know on our "
875+"project page at %1"
876+msgstr ""
877+
878+#: ../app/welcomewizard/Slide6.qml:45
879+msgid "Enjoy"
880+msgstr ""
881+
882+#: ../app/welcomewizard/Slide6.qml:62
883+msgid "We hope you enjoy using Podbird!"
884+msgstr ""
885+
886+#: ../app/welcomewizard/Slide6.qml:76
887+msgid "Finish"
888+msgstr ""
889+
890+#: /home/krnekhelesh/Documents/Ubuntu-Projects/MP-Reviews/builddir/build-add-welcome-wizard-UbuntuSDK_for_armhf_GCC_ubuntu_sdk_14_10_utopic-Default/po/Podbird.desktop.in.h:1
891 msgid "Podbird"
892 msgstr ""
893
894=== added file 'podbird.png'
895Binary files podbird.png 1970-01-01 00:00:00 +0000 and podbird.png 2015-04-15 21:44:15 +0000 differ

Subscribers

People subscribed via source and target branches