Files
webtorrent-desktop/main/ipc.js
DC 4b890ee9f6 Show Blender Foundation videos by default
* Finishes the saved torrents feature!
* Torrents load and save correctly. Poster is autogenerated only once.
* Torrents can be paused and restarted
* Download button indicates state:
 - White means paused
 - Pulsating green means downloading
 - Solid green means finished downloading, only seeding
2016-03-07 22:15:47 -08:00

77 lines
1.9 KiB
JavaScript

module.exports = {
init: init
}
var electron = require('electron')
var debug = require('debug')('webtorrent-app:ipcMain')
var ipcMain = electron.ipcMain
var windows = require('./windows')
function init () {
ipcMain.on('addTorrentFromPaste', function (e) {
addTorrentFromPaste()
})
ipcMain.on('setBounds', function (e, bounds) {
setBounds(bounds)
})
ipcMain.on('setAspectRatio', function (e, aspectRatio, extraSize) {
setAspectRatio(aspectRatio, extraSize)
})
ipcMain.on('setBadge', function (e, text) {
setBadge(text)
})
ipcMain.on('setProgress', function (e, progress) {
setProgress(progress)
})
ipcMain.on('toggleFullScreen', function (e) {
windows.main.setFullScreen(!windows.main.isFullScreen())
})
ipcMain.on('log', function (e, message) {
console.log(message)
})
}
function addTorrentFromPaste () {
debug('addTorrentFromPaste')
var torrentIds = electron.clipboard.readText().split('\n')
torrentIds.forEach(function (torrentId) {
torrentId = torrentId.trim()
if (torrentId.length === 0) return
windows.main.send('addTorrent', torrentId)
})
}
function setBounds (bounds) {
debug('setBounds %o', bounds)
if (windows.main && !windows.main.isFullScreen() && !windows.main.isMaximized()) {
windows.main.setBounds(bounds, true)
}
}
function setAspectRatio (aspectRatio, extraSize) {
debug('setAspectRatio %o %o', aspectRatio, extraSize)
if (windows.main) {
windows.main.setAspectRatio(aspectRatio, extraSize)
}
}
// Display string in dock badging area (OS X)
function setBadge (text) {
debug('setBadge %s', text)
if (electron.app.dock) electron.app.dock.setBadge(String(text))
}
// Show progress bar. Valid range is [0, 1]. Remove when < 0; indeterminate when > 1.
function setProgress (progress) {
debug('setProgress %s', progress)
if (windows.main) {
windows.main.setProgressBar(progress)
}
}