git.iko.soy/maciek134/podphoenix
on main help sign in
Added settings option to disable downloads over cellular data (rev 155)
f010469Erzan Uzan
app/podbird.qml+3−2
@@ -117,6 +117,7 @@ MainView {
117 property bool showListView: true
117 property bool showListView: true
118 property int skipForward: 30
118 property int skipForward: 30
119 property int skipBack: 10
119 property int skipBack: 10
120+ property bool downloadOverWifiOnly: true
120 }
121 }
121
122
122 FileManager {
123 FileManager {
@@ -171,8 +172,8 @@ MainView {
171 }
172 }
172 }
173 }
173
174
174− function downloadEpisode(image, title, guid, url) {
175+ function downloadEpisode(image, title, guid, url, disableMobileDownload) {
175− var singleDownload = singleDownloadComponent.createObject(podbird, {"image": image, "title": title, "guid": guid})
176+ var singleDownload = singleDownloadComponent.createObject(podbird, {"image": image, "title": title, "guid": guid , allowMobileDownload : !disableMobileDownload })
176 singleDownload.download(url)
177 singleDownload.download(url)
177 }
178 }
178
179
app/podcasts.js+1−1
@@ -360,7 +360,7 @@ function autoDownloadEpisodes(maxEpisodeDownload) {
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 if (!rs2.rows.item(j).downloadedfile && !rs2.rows.item(j).listened && rs2.rows.item(j).audiourl) {
362 if (!rs2.rows.item(j).downloadedfile && !rs2.rows.item(j).listened && rs2.rows.item(j).audiourl) {
363− podbird.downloadEpisode(rs.rows.item(i).image, rs2.rows.item(j).name, rs2.rows.item(j).guid, rs2.rows.item(j).audiourl)
363+ podbird.downloadEpisode(rs.rows.item(i).image, rs2.rows.item(j).name, rs2.rows.item(j).guid, rs2.rows.item(j).audiourl, podbird.settings.downloadOverWifiOnly)
364 tx.executeSql("UPDATE Episode SET queued=1 WHERE guid = ?", [rs2.rows.item(j).guid]);
364 tx.executeSql("UPDATE Episode SET queued=1 WHERE guid = ?", [rs2.rows.item(j).guid]);
365 }
365 }
366 }
366 }
app/ui/EpisodesPage.qml+2−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 }
@@ -633,7 +633,7 @@ Page {
633 });
633 });
634 episodeModel.setProperty(model.index, "queued", 1)
634 episodeModel.setProperty(model.index, "queued", 1)
635 if (model.audiourl) {
635 if (model.audiourl) {
636− podbird.downloadEpisode(model.image, model.name, model.guid, model.audiourl)
636+ podbird.downloadEpisode(model.image, model.name, model.guid, model.audiourl, false)
637 } else {
637 } else {
638 console.log("[ERROR]: Invalid download url: " + model.audiourl)
638 console.log("[ERROR]: Invalid download url: " + model.audiourl)
639 }
639 }
app/ui/EpisodesTab.qml+2−2
@@ -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 }
@@ -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+17
@@ -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