@@ -78,12 +78,21 @@ MainView {
7878 settings.lastCheck = today
7979 }
8080
81− if (!NetworkingStatus.online || settings.maxEpisodeDownload === -1) {
82− console.log("[LOG]: Skipped autodownloading of new episodes...")
83− console.log("[LOG]: Online connectivity: " + NetworkingStatus.online)
84− console.log("[LOG]: User settings (maxEpisodeDownload): " + settings.maxEpisodeDownload)
85− } else {
86− Podcasts.autoDownloadEpisodes(settings.maxEpisodeDownload)
81+ delayStartTimer.start();
82+ }
83+
84+ Timer {
85+ id: delayStartTimer
86+ interval: 500
87+ repeat: false
88+ onTriggered: {
89+ if (!NetworkingStatus.online || podbird.settings.maxEpisodeDownload === -1) {
90+ console.log("[LOG]: Skipped autodownloading of new episodes...")
91+ console.log("[LOG]: Online connectivity: " + NetworkingStatus.online)
92+ console.log("[LOG]: User settings (maxEpisodeDownload): " + podbird.settings.maxEpisodeDownload)
93+ } else {
94+ Podcasts.autoDownloadEpisodes(podbird.settings.maxEpisodeDownload)
95+ }
8796 }
8897 }
8998
@@ -173,7 +182,12 @@ MainView {
173182 }
174183
175184 function downloadEpisode(image, title, guid, url, disableMobileDownload) {
176− var singleDownload = singleDownloadComponent.createObject(podbird, {"image": image, "title": title, "guid": guid , allowMobileDownload : !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+
190+ var singleDownload = singleDownloadComponent.createObject(podbird, {"image": image, "title": title, "guid": guid, allowMobileDownload : !disableMobileDownload })
177191 singleDownload.download(url)
178192 }
179193
@@ -184,6 +198,16 @@ MainView {
184198 property int progress: downloads.length > 0 ? downloads[0].progress : 0
185199
186200 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+
187211 onDownloadFinished: {
188212 var db = Podcasts.init();
189213 var finalLocation = fileManager.saveDownload(path);