git.iko.soy/maciek134/podphoenix
on main help sign in
* Add instructions for viewing hidden actions by right clicking for desktop users
9c9fb22Nekhelesh Ramananthan
app/podbird.qml+36−11
@@ -43,7 +43,6 @@ MainView {
43 : "Ubuntu.Components.Themes.Ambiance"
43 : "Ubuntu.Components.Themes.Ambiance"
44
44
45 Component.onDestruction: {
45 Component.onDestruction: {
46− console.log("[LOG]: Download cancelled");
47 var db = Podcasts.init()
46 var db = Podcasts.init()
48 db.transaction(function (tx) {
47 db.transaction(function (tx) {
49 tx.executeSql('UPDATE Episode SET queued=0 WHERE queued=1');
48 tx.executeSql('UPDATE Episode SET queued=0 WHERE queued=1');
@@ -79,12 +78,21 @@ MainView {
79 settings.lastCheck = today
78 settings.lastCheck = today
80 }
79 }
81
80
81+ delayStartTimer.start();
82+ }
83+
84+ Timer {
85+ id: delayStartTimer
86+ interval: 500
87+ repeat: false
88+ onTriggered: {
82− if (!NetworkingStatus.online || settings.maxEpisodeDownload === -1) {
89+ if (!NetworkingStatus.online || podbird.settings.maxEpisodeDownload === -1) {
83− console.log("[LOG]: Skipped autodownloading of new episodes...")
90+ console.log("[LOG]: Skipped autodownloading of new episodes...")
84− console.log("[LOG]: Online connectivity: " + NetworkingStatus.online)
91+ console.log("[LOG]: Online connectivity: " + NetworkingStatus.online)
85− console.log("[LOG]: User settings (maxEpisodeDownload): " + settings.maxEpisodeDownload)
92+ console.log("[LOG]: User settings (maxEpisodeDownload): " + podbird.settings.maxEpisodeDownload)
86− } else {
93+ } else {
87− Podcasts.autoDownloadEpisodes(settings.maxEpisodeDownload)
94+ Podcasts.autoDownloadEpisodes(podbird.settings.maxEpisodeDownload)
95+ }
88 }
96 }
89 }
97 }
90
98
@@ -118,6 +126,7 @@ MainView {
118 property bool showListView: true
126 property bool showListView: true
119 property int skipForward: 30
127 property int skipForward: 30
120 property int skipBack: 10
128 property int skipBack: 10
129+ property bool downloadOverWifiOnly: true
121 }
130 }
122
131
123 FileManager {
132 FileManager {
@@ -167,27 +176,43 @@ MainView {
167 metadata: Metadata {
176 metadata: Metadata {
168 showInIndicator: true
177 showInIndicator: true
169 title: singleDownloadObject.title
178 title: singleDownloadObject.title
179+ custom: {"guid": singleDownloadObject.guid, "image" : singleDownloadObject.image}
170 }
180 }
171 }
181 }
172 }
182 }
173
183
174− function downloadEpisode(image, title, guid, url) {
184+ function downloadEpisode(image, title, guid, url, disableMobileDownload) {
185+ if(downloader.isDownloadInQueue(guid)) {
186+ console.log("[LOG]: Download with GUID of :"+guid+ " is already in the download queue.")
187+ return false;
188+ }
189+
175− var singleDownload = singleDownloadComponent.createObject(podbird, {"image": image, "title": title, "guid": guid})
190+ var singleDownload = singleDownloadComponent.createObject(podbird, {"image": image, "title": title, "guid": guid, allowMobileDownload : !disableMobileDownload })
176 singleDownload.download(url)
191 singleDownload.download(url)
177 }
192 }
178
193
179 DownloadManager {
194 DownloadManager {
180 id: downloader
195 id: downloader
181
196
182− property string downloadingGuid: downloads.length > 0 ? downloads[0].guid : "NULL"
197+ property string downloadingGuid: downloads.length > 0 ? downloads[0].metadata.custom.guid : "NULL"
183 property int progress: downloads.length > 0 ? downloads[0].progress : 0
198 property int progress: downloads.length > 0 ? downloads[0].progress : 0
184
199
185 cleanDownloads: true
200 cleanDownloads: true
201+
202+ function isDownloadInQueue ( guid ) {
203+ for( var i=0; i < downloads.length; i++) {
204+ if( downloads[i].metadata.custom.guid && guid === downloads[i].metadata.custom.guid) {
205+ return true ;
206+ }
207+ }
208+ return false;
209+ }
210+
186 onDownloadFinished: {
211 onDownloadFinished: {
187 var db = Podcasts.init();
212 var db = Podcasts.init();
188 var finalLocation = fileManager.saveDownload(path);
213 var finalLocation = fileManager.saveDownload(path);
189 db.transaction(function (tx) {
214 db.transaction(function (tx) {
190− tx.executeSql("UPDATE Episode SET downloadedfile=?, queued=0 WHERE guid=?", [finalLocation, download.guid]);
215+ tx.executeSql("UPDATE Episode SET downloadedfile=?, queued=0 WHERE guid=?", [finalLocation, download.metadata.custom.guid]);
191 });
216 });
192 }
217 }
193
218
app/podcasts.js+5−4
@@ -356,12 +356,13 @@ function autoDownloadEpisodes(maxEpisodeDownload) {
356 var rs = tx.executeSql("SELECT rowid, * FROM Podcast ORDER BY name ASC");
356 var rs = tx.executeSql("SELECT rowid, * FROM Podcast ORDER BY name ASC");
357 for (var i=0; i < rs.rows.length; i++) {
357 for (var i=0; i < rs.rows.length; i++) {
358 var podcast = rs.rows.item(i);
358 var podcast = rs.rows.item(i);
359− var rs2 = tx.executeSql("SELECT rowid, * FROM Episode WHERE podcast=? ORDER BY published DESC", [rs.rows.item(i).rowid]);
359+ var rs2 = tx.executeSql("SELECT rowid, * FROM Episode WHERE podcast=? ORDER BY published DESC", [podcast.rowid]);
360 var loopCount = maxEpisodeDownload > rs2.rows.length ? rs2.rows.length : maxEpisodeDownload
360 var loopCount = maxEpisodeDownload > rs2.rows.length ? rs2.rows.length : maxEpisodeDownload
361 for (var j=0; j < loopCount; j++) {
361 for (var j=0; j < loopCount; j++) {
362+ var episode = rs2.rows.item(j);
362− if (!rs2.rows.item(j).downloadedfile && !rs2.rows.item(j).listened && rs2.rows.item(j).audiourl) {
363+ if ( !episode.downloadedfile && !episode.listened && episode.audiourl && !episode.queued ) {
363− podbird.downloadEpisode(rs.rows.item(i).image, rs2.rows.item(j).name, rs2.rows.item(j).guid, rs2.rows.item(j).audiourl)
364+ podbird.downloadEpisode(podcast.image, episode.name, episode.guid, episode.audiourl, podbird.settings.downloadOverWifiOnly)
364− tx.executeSql("UPDATE Episode SET queued=1 WHERE guid = ?", [rs2.rows.item(j).guid]);
365+ tx.executeSql("UPDATE Episode SET queued=1 WHERE guid = ?", [episode.guid]);
365 }
366 }
366 }
367 }
367 }
368 }
app/ui/EpisodesPage.qml+7−2
@@ -166,7 +166,7 @@ Page {
166 episodeModel.setProperty(index, "queued", 1)
166 episodeModel.setProperty(index, "queued", 1)
167 tx.executeSql("UPDATE Episode SET queued=1 WHERE guid = ?", [episodeModel.get(index).guid]);
167 tx.executeSql("UPDATE Episode SET queued=1 WHERE guid = ?", [episodeModel.get(index).guid]);
168 if (episodeModel.get(index).audiourl) {
168 if (episodeModel.get(index).audiourl) {
169− podbird.downloadEpisode(episodeModel.get(index).image, episodeModel.get(index).name, episodeModel.get(index).guid, episodeModel.get(index).audiourl)
169+ podbird.downloadEpisode(episodeModel.get(index).image, episodeModel.get(index).name, episodeModel.get(index).guid, episodeModel.get(index).audiourl, false)
170 } else {
170 } else {
171 console.log("[ERROR]: Invalid download url: " + episodeModel.get(index).audiourl)
171 console.log("[ERROR]: Invalid download url: " + episodeModel.get(index).audiourl)
172 }
172 }
@@ -602,6 +602,7 @@ Page {
602 actions: [
602 actions: [
603 Action {
603 Action {
604 iconName: model.listened ? "view-collapse" : "select"
604 iconName: model.listened ? "view-collapse" : "select"
605+ text: model.listened ? i18n.tr("Mark as unheard") : i18n.tr("Mark as listened")
605 onTriggered: {
606 onTriggered: {
606 var db = Podcasts.init();
607 var db = Podcasts.init();
607 db.transaction(function (tx) {
608 db.transaction(function (tx) {
@@ -617,6 +618,7 @@ Page {
617 Action {
618 Action {
618 enabled: downloader.downloadingGuid !== model.guid
619 enabled: downloader.downloadingGuid !== model.guid
619 iconName: model.downloadedfile ? "delete" : (model.queued && downloader.downloadingGuid !== model.guid ? "history" : "save")
620 iconName: model.downloadedfile ? "delete" : (model.queued && downloader.downloadingGuid !== model.guid ? "history" : "save")
621+ text: model.downloadedfile ? i18n.tr("Delete downloaded file") : (model.queued && downloader.downloadingGuid !== model.guid ? i18n.tr("Queued") : i18n.tr("Download"))
620 onTriggered: {
622 onTriggered: {
621 var db = Podcasts.init();
623 var db = Podcasts.init();
622 if (model.downloadedfile) {
624 if (model.downloadedfile) {
@@ -631,7 +633,7 @@ Page {
631 });
633 });
632 episodeModel.setProperty(model.index, "queued", 1)
634 episodeModel.setProperty(model.index, "queued", 1)
633 if (model.audiourl) {
635 if (model.audiourl) {
634− podbird.downloadEpisode(model.image, model.name, model.guid, model.audiourl)
636+ podbird.downloadEpisode(model.image, model.name, model.guid, model.audiourl, false)
635 } else {
637 } else {
636 console.log("[ERROR]: Invalid download url: " + model.audiourl)
638 console.log("[ERROR]: Invalid download url: " + model.audiourl)
637 }
639 }
@@ -641,6 +643,7 @@ Page {
641
643
642 Action {
644 Action {
643 iconName: "add-to-playlist"
645 iconName: "add-to-playlist"
646+ text: i18n.tr("Add to playlist")
644 onTriggered: {
647 onTriggered: {
645 var url = model.downloadedfile ? "file://" + model.downloadedfile : model.audiourl
648 var url = model.downloadedfile ? "file://" + model.downloadedfile : model.audiourl
646 player.addEpisodeToQueue(model.guid, model.image, model.name, model.artist, url)
649 player.addEpisodeToQueue(model.guid, model.image, model.name, model.artist, url)
@@ -649,6 +652,7 @@ Page {
649
652
650 Action {
653 Action {
651 iconName: model.favourited ? "unlike" : "like"
654 iconName: model.favourited ? "unlike" : "like"
655+ text: model.favourited ? i18n.tr("Unfavourite") : i18n.tr("Favourite")
652 onTriggered: {
656 onTriggered: {
653 var db = Podcasts.init();
657 var db = Podcasts.init();
654 db.transaction(function (tx) {
658 db.transaction(function (tx) {
@@ -663,6 +667,7 @@ Page {
663
667
664 Action {
668 Action {
665 iconName: "info"
669 iconName: "info"
670+ text: i18n.tr("Show episode description")
666 onTriggered: {
671 onTriggered: {
667 var popup = PopupUtils.open(episodeDescriptionDialog, episodesPage);
672 var popup = PopupUtils.open(episodeDescriptionDialog, episodesPage);
668 popup.description = model.description
673 popup.description = model.description
app/ui/EpisodesTab.qml+4−4
@@ -183,7 +183,7 @@ Tab {
183 episodesModel.setProperty(index, "queued", 1)
183 episodesModel.setProperty(index, "queued", 1)
184 tx.executeSql("UPDATE Episode SET queued=1 WHERE guid = ?", [episodesModel.get(index).guid]);
184 tx.executeSql("UPDATE Episode SET queued=1 WHERE guid = ?", [episodesModel.get(index).guid]);
185 if (episodesModel.get(index).audiourl) {
185 if (episodesModel.get(index).audiourl) {
186− podbird.downloadEpisode(episodesModel.get(index).image, episodesModel.get(index).name, episodesModel.get(index).guid, episodesModel.get(index).audiourl)
186+ podbird.downloadEpisode(episodesModel.get(index).image, episodesModel.get(index).name, episodesModel.get(index).guid, episodesModel.get(index).audiourl, false)
187 } else {
187 } else {
188 console.log("[ERROR]: Invalid download url: " + episodesModel.get(index).audiourl)
188 console.log("[ERROR]: Invalid download url: " + episodesModel.get(index).audiourl)
189 }
189 }
@@ -468,7 +468,7 @@ Tab {
468 Image {
468 Image {
469 height: width
469 height: width
470 width: units.gu(6)
470 width: units.gu(6)
471− source: modelData.image !== undefined ? modelData.image : Qt.resolvedUrl("../graphics/podbird.png")
471+ source: modelData.metadata.custom.image !== undefined ? modelData.metadata.custom.image : Qt.resolvedUrl("../graphics/podbird.png")
472 SlotsLayout.position: SlotsLayout.Leading
472 SlotsLayout.position: SlotsLayout.Leading
473 sourceSize { width: width; height: height }
473 sourceSize { width: width; height: height }
474 }
474 }
@@ -477,7 +477,7 @@ Tab {
477 spacing: units.gu(0.5)
477 spacing: units.gu(0.5)
478
478
479 Label {
479 Label {
480− text: modelData.title
480+ text: modelData.metadata.title
481 width: parent.width
481 width: parent.width
482 elide: Text.ElideRight
482 elide: Text.ElideRight
483 }
483 }
@@ -597,7 +597,7 @@ Tab {
597 });
597 });
598 episodesModel.setProperty(model.index, "queued", 1)
598 episodesModel.setProperty(model.index, "queued", 1)
599 if (model.audiourl) {
599 if (model.audiourl) {
600− podbird.downloadEpisode(model.image, model.name, model.guid, model.audiourl)
600+ podbird.downloadEpisode(model.image, model.name, model.guid, model.audiourl, false)
601 } else {
601 } else {
602 console.log("[ERROR]: Invalid download url: " + model.audiourl)
602 console.log("[ERROR]: Invalid download url: " + model.audiourl)
603 }
603 }
app/ui/SettingsPage.qml+19−2
@@ -74,7 +74,7 @@ Page {
74 }
74 }
75
75
76 Button {
76 Button {
77− text: i18n.tr("Ok")
77+ text: i18n.tr("OK")
78 color: podbird.appTheme.positiveActionButton
78 color: podbird.appTheme.positiveActionButton
79 onClicked: {
79 onClicked: {
80 podbird.settings.skipForward = Math.round(slider.value)
80 podbird.settings.skipForward = Math.round(slider.value)
@@ -109,7 +109,7 @@ Page {
109 }
109 }
110
110
111 Button {
111 Button {
112− text: i18n.tr("Ok")
112+ text: i18n.tr("OK")
113 color: podbird.appTheme.positiveActionButton
113 color: podbird.appTheme.positiveActionButton
114 onClicked: {
114 onClicked: {
115 podbird.settings.skipBack = Math.round(slider.value)
115 podbird.settings.skipBack = Math.round(slider.value)
@@ -212,6 +212,23 @@ Page {
212 onClicked: mainStack.push(Qt.resolvedUrl("../settings/DownloadSetting.qml"))
212 onClicked: mainStack.push(Qt.resolvedUrl("../settings/DownloadSetting.qml"))
213 }
213 }
214
214
215+ ListItem {
216+ ListItemLayout {
217+ id: downloadWifiOnlyLayout
218+ title.text: i18n.tr("Only download over WiFi")
219+ title.color: podbird.appTheme.baseText
220+ summary.text: i18n.tr("Download episodes only when the device is using WiFi")
221+ summary.color: podbird.appTheme.baseSubText
222+ Switch {
223+ SlotsLayout.position: SlotsLayout.Last
224+ checked: podbird.settings.downloadOverWifiOnly
225+ onClicked: podbird.settings.downloadOverWifiOnly = checked
226+ }
227+ }
228+ divider.visible: false
229+ height: downloadWifiOnlyLayout.height
230+ }
231+
215 ListItem {
232 ListItem {
216 id: refreshArtListItem
233 id: refreshArtListItem
217
234
app/welcomewizard/Slide5.qml+1−1
@@ -61,7 +61,7 @@ Component {
61 wrapMode: Text.WordWrap
61 wrapMode: Text.WordWrap
62 horizontalAlignment: Text.AlignHCenter
62 horizontalAlignment: Text.AlignHCenter
63 linkColor: podbird.appTheme.linkText
63 linkColor: podbird.appTheme.linkText
64− text: i18n.tr("Episodes can be swiped left to reveal more actions. You can also multi-select them by long-pressing on an episode.")
64+ text: i18n.tr("Episodes can be swiped left to reveal more actions (or right click if you're using a mouse). You can also multi-select them by long-pressing on an episode.")
65 onLinkActivated: Qt.openUrlExternally(link)
65 onLinkActivated: Qt.openUrlExternally(link)
66 }
66 }
67 }
67 }
manifest.json.in+1−1
@@ -11,5 +11,5 @@
11 },
11 },
12 "version": "0.7",
12 "version": "0.7",
13 "maintainer": "Michael Sheldon <mike@mikeasoft.com>",
13 "maintainer": "Michael Sheldon <mike@mikeasoft.com>",
14− "framework": "ubuntu-sdk-15.04.3"
14+ "framework": "ubuntu-sdk-15.04.5"
15}
15}
po/com.mikeasoft.podbird.pot+60−15
@@ -55,7 +55,7 @@ msgstr ""
55
55
56#. TRANSLATORS: About as in information about the app
56#. TRANSLATORS: About as in information about the app
57#: ../app/settings/About.qml:28 ../app/settings/About.qml:46
57#: ../app/settings/About.qml:28 ../app/settings/About.qml:46
58−#: ../app/ui/SettingsPage.qml:321
58+#: ../app/ui/SettingsPage.qml:338
59msgid "About"
59msgid "About"
60msgstr ""
60msgstr ""
61
61
@@ -223,7 +223,7 @@ msgid "Episode Description"
223msgstr ""
223msgstr ""
224
224
225#: ../app/ui/EpisodesPage.qml:356 ../app/ui/EpisodesTab.qml:418
225#: ../app/ui/EpisodesPage.qml:356 ../app/ui/EpisodesTab.qml:418
226−#: ../app/ui/SearchPage.qml:179 ../app/ui/SettingsPage.qml:303
226+#: ../app/ui/SearchPage.qml:179 ../app/ui/SettingsPage.qml:320
227msgid "Close"
227msgid "Close"
228msgstr ""
228msgstr ""
229
229
@@ -247,6 +247,42 @@ msgstr ""
247msgid "Downloaded"
247msgid "Downloaded"
248msgstr ""
248msgstr ""
249
249
250+#: ../app/ui/EpisodesPage.qml:605
251+msgid "Make as unheard"
252+msgstr ""
253+
254+#: ../app/ui/EpisodesPage.qml:605
255+msgid "Mark as listened"
256+msgstr ""
257+
258+#: ../app/ui/EpisodesPage.qml:621
259+msgid "Delete downloaded file"
260+msgstr ""
261+
262+#: ../app/ui/EpisodesPage.qml:621
263+msgid "Queued"
264+msgstr ""
265+
266+#: ../app/ui/EpisodesPage.qml:621
267+msgid "Download"
268+msgstr ""
269+
270+#: ../app/ui/EpisodesPage.qml:646
271+msgid "Add to playlist"
272+msgstr ""
273+
274+#: ../app/ui/EpisodesPage.qml:655
275+msgid "Unfavourite"
276+msgstr ""
277+
278+#: ../app/ui/EpisodesPage.qml:655
279+msgid "Favourite"
280+msgstr ""
281+
282+#: ../app/ui/EpisodesPage.qml:670
283+msgid "Show episode description"
284+msgstr ""
285+
250#: ../app/ui/EpisodesTab.qml:82
286#: ../app/ui/EpisodesTab.qml:82
251msgid "Recent"
287msgid "Recent"
252msgstr ""
288msgstr ""
@@ -432,7 +468,7 @@ msgid "%1 seconds"
432msgstr ""
468msgstr ""
433
469
434#: ../app/ui/SettingsPage.qml:77 ../app/ui/SettingsPage.qml:112
470#: ../app/ui/SettingsPage.qml:77 ../app/ui/SettingsPage.qml:112
435−msgid "Ok"
471+msgid "OK"
436msgstr ""
472msgstr ""
437
473
438#. TRANSLATORS: This strings refers to the seeking of the episode playback. Users can set how far they
474#. TRANSLATORS: This strings refers to the seeking of the episode playback. Users can set how far they
@@ -476,7 +512,15 @@ msgstr ""
476msgid "Default number of new episodes to download for each podcast"
512msgid "Default number of new episodes to download for each podcast"
477msgstr ""
513msgstr ""
478
514
479−#: ../app/ui/SettingsPage.qml:223
515+#: ../app/ui/SettingsPage.qml:218
516+msgid "Only download over wifi"
517+msgstr ""
518+
519+#: ../app/ui/SettingsPage.qml:220
520+msgid "Download episodes only when the device is using WiFi"
521+msgstr ""
522+
523+#: ../app/ui/SettingsPage.qml:240
480msgid "Refresh podcast artwork"
524msgid "Refresh podcast artwork"
481msgstr ""
525msgstr ""
482
526
@@ -484,15 +528,15 @@ msgstr ""
484msgid "Update all podcasts artwork and fix missing ones"
528msgid "Update all podcasts artwork and fix missing ones"
485msgstr ""
529msgstr ""
486
530
487−#: ../app/ui/SettingsPage.qml:254
531+#: ../app/ui/SettingsPage.qml:271
488msgid "Storage Settings"
532msgid "Storage Settings"
489msgstr ""
533msgstr ""
490
534
491−#: ../app/ui/SettingsPage.qml:265
535+#: ../app/ui/SettingsPage.qml:282
492msgid "Delete orphaned files and links"
536msgid "Delete orphaned files and links"
493msgstr ""
537msgstr ""
494
538
495−#: ../app/ui/SettingsPage.qml:267
539+#: ../app/ui/SettingsPage.qml:284
496msgid "Free space by removing orphaned downloaded files and links"
540msgid "Free space by removing orphaned downloaded files and links"
497msgstr ""
541msgstr ""
498
542
@@ -504,13 +548,13 @@ msgstr ""
504msgid "No orphans found!"
548msgid "No orphans found!"
505msgstr ""
549msgstr ""
506
550
507−#: ../app/ui/SettingsPage.qml:298
551+#: ../app/ui/SettingsPage.qml:315
508msgid ""
552msgid ""
509"All orphaned files have been deleted to recover disk space. Orphaned links "
553"All orphaned files have been deleted to recover disk space. Orphaned links "
510"pointing at invalid files have also been cleaned up."
554"pointing at invalid files have also been cleaned up."
511msgstr ""
555msgstr ""
512
556
513−#: ../app/ui/SettingsPage.qml:300
557+#: ../app/ui/SettingsPage.qml:317
514msgid ""
558msgid ""
515"No orphaned files have been found to recover disk space. Podbird database is "
559"No orphaned files have been found to recover disk space. Podbird database is "
516"clean."
560"clean."
@@ -518,11 +562,11 @@ msgstr ""
518
562
519#. TRANSLATORS: Shortened form of "Miscellaneous" which is shown to denote other setting options
563#. TRANSLATORS: Shortened form of "Miscellaneous" which is shown to denote other setting options
520#. that doesn't fit into any other category.
564#. that doesn't fit into any other category.
521−#: ../app/ui/SettingsPage.qml:315
565+#: ../app/ui/SettingsPage.qml:332
522msgid "Misc."
566msgid "Misc."
523msgstr ""
567msgstr ""
524
568
525−#: ../app/ui/SettingsPage.qml:331
569+#: ../app/ui/SettingsPage.qml:348
526msgid "Report Bug"
570msgid "Report Bug"
527msgstr ""
571msgstr ""
528
572
@@ -582,8 +626,9 @@ msgstr ""
582
626
583#: ../app/welcomewizard/Slide5.qml:64
627#: ../app/welcomewizard/Slide5.qml:64
584msgid ""
628msgid ""
585−"Episodes can be swiped left to reveal more actions. You can also multi-"
629+"Episodes can be swiped left to reveal more actions (or right click if you're "
586−"select them by long-pressing on an episode."
630+"using a mouse). You can also multi-select them by long-pressing on an "
631+"episode."
587msgstr ""
632msgstr ""
588
633
589#: ../app/welcomewizard/Slide6.qml:45
634#: ../app/welcomewizard/Slide6.qml:45
@@ -610,10 +655,10 @@ msgstr ""
610msgid "Finish"
655msgid "Finish"
611msgstr ""
656msgstr ""
612
657
613−#: /home/krnekhelesh/Development/Builds/build-devel-branch-sync-4-UbuntuSDK_for_desktop_GCC_amd64_ubuntu_sdk_15_04-Default/po/Podbird.desktop.in.h:1
658+#: /home/krnekhelesh/Development/build-devel-branch-sync-5-UbuntuSDK_for_desktop_GCC_amd64_ubuntu_sdk_15_04-Default/po/Podbird.desktop.in.h:1
614msgid "The chirpiest podcast manager for Ubuntu"
659msgid "The chirpiest podcast manager for Ubuntu"
615msgstr ""
660msgstr ""
616
661
617−#: /home/krnekhelesh/Development/Builds/build-devel-branch-sync-4-UbuntuSDK_for_desktop_GCC_amd64_ubuntu_sdk_15_04-Default/po/Podbird.desktop.in.h:2
662+#: /home/krnekhelesh/Development/build-devel-branch-sync-5-UbuntuSDK_for_desktop_GCC_amd64_ubuntu_sdk_15_04-Default/po/Podbird.desktop.in.h:2
618msgid "podcast;audio;itunes;broadcast;digital;stream;podcatcher;video;vodcast;"
663msgid "podcast;audio;itunes;broadcast;digital;stream;podcatcher;video;vodcast;"
619msgstr ""
664msgstr ""