60 lines
1.2 KiB
JavaScript
60 lines
1.2 KiB
JavaScript
module.exports = {
|
|
downloadFinished,
|
|
init,
|
|
setBadge
|
|
}
|
|
|
|
var electron = require('electron')
|
|
|
|
var app = electron.app
|
|
|
|
var dialog = require('./dialog')
|
|
var log = require('./log')
|
|
|
|
/**
|
|
* Add a right-click menu to the dock icon. (OS X)
|
|
*/
|
|
function init () {
|
|
if (!app.dock) return
|
|
var menu = electron.Menu.buildFromTemplate(getMenuTemplate())
|
|
app.dock.setMenu(menu)
|
|
}
|
|
|
|
/**
|
|
* Bounce the Downloads stack if `path` is inside the Downloads folder. (OS X)
|
|
*/
|
|
function downloadFinished (path) {
|
|
if (!app.dock) return
|
|
log(`downloadFinished: ${path}`)
|
|
app.dock.downloadFinished(path)
|
|
}
|
|
|
|
/**
|
|
* Display string in dock badging area. (OS X)
|
|
*/
|
|
function setBadge (text) {
|
|
if (!app.dock) return
|
|
log(`setBadge: ${text}`)
|
|
app.dock.setBadge(String(text))
|
|
}
|
|
|
|
function getMenuTemplate () {
|
|
return [
|
|
{
|
|
label: 'Create New Torrent...',
|
|
accelerator: 'CmdOrCtrl+N',
|
|
click: () => dialog.openSeedDirectory()
|
|
},
|
|
{
|
|
label: 'Open Torrent File...',
|
|
accelerator: 'CmdOrCtrl+O',
|
|
click: () => dialog.openTorrentFile()
|
|
},
|
|
{
|
|
label: 'Open Torrent Address...',
|
|
accelerator: 'CmdOrCtrl+U',
|
|
click: () => dialog.openTorrentAddress()
|
|
}
|
|
]
|
|
}
|