all main modules have init() function
This commit is contained in:
@@ -8,15 +8,20 @@ var shortcuts = require('./shortcuts')
|
|||||||
|
|
||||||
var app = electron.app
|
var app = electron.app
|
||||||
|
|
||||||
|
app.isQuitting = false
|
||||||
app.startTime = startTime
|
app.startTime = startTime
|
||||||
|
|
||||||
|
app.on('ready', function () {
|
||||||
|
menu.init()
|
||||||
|
windows.createMainWindow(menu)
|
||||||
|
shortcuts.init(menu, windows)
|
||||||
|
})
|
||||||
|
|
||||||
app.on('open-file', onOpen)
|
app.on('open-file', onOpen)
|
||||||
app.on('open-url', onOpen)
|
app.on('open-url', onOpen)
|
||||||
|
|
||||||
app.on('ready', function () {
|
app.on('before-quit', function () {
|
||||||
electron.Menu.setApplicationMenu(menu.appMenu)
|
app.isQuitting = true
|
||||||
windows.createMainWindow(menu)
|
|
||||||
shortcuts.init(menu, windows)
|
|
||||||
})
|
})
|
||||||
|
|
||||||
app.on('activate', function () {
|
app.on('activate', function () {
|
||||||
|
|||||||
@@ -4,10 +4,12 @@ module.exports = {
|
|||||||
|
|
||||||
var debug = require('debug')('webtorrent-app:ipcMain')
|
var debug = require('debug')('webtorrent-app:ipcMain')
|
||||||
var electron = require('electron')
|
var electron = require('electron')
|
||||||
var ipcMain = electron.ipcMain
|
|
||||||
var menu = require('./menu')
|
var menu = require('./menu')
|
||||||
var windows = require('./windows')
|
var windows = require('./windows')
|
||||||
|
|
||||||
|
var app = electron.app
|
||||||
|
var ipcMain = electron.ipcMain
|
||||||
|
|
||||||
function init () {
|
function init () {
|
||||||
ipcMain.on('showOpenTorrentFile', function (e) {
|
ipcMain.on('showOpenTorrentFile', function (e) {
|
||||||
menu.showOpenTorrentFile()
|
menu.showOpenTorrentFile()
|
||||||
@@ -59,7 +61,7 @@ function setAspectRatio (aspectRatio, extraSize) {
|
|||||||
// Display string in dock badging area (OS X)
|
// Display string in dock badging area (OS X)
|
||||||
function setBadge (text) {
|
function setBadge (text) {
|
||||||
debug('setBadge %s', text)
|
debug('setBadge %s', text)
|
||||||
if (electron.app.dock) electron.app.dock.setBadge(String(text))
|
if (app.dock) app.dock.setBadge(String(text))
|
||||||
}
|
}
|
||||||
|
|
||||||
// Show progress bar. Valid range is [0, 1]. Remove when < 0; indeterminate when > 1.
|
// Show progress bar. Valid range is [0, 1]. Remove when < 0; indeterminate when > 1.
|
||||||
|
|||||||
25
main/menu.js
25
main/menu.js
@@ -1,9 +1,23 @@
|
|||||||
|
module.exports = {
|
||||||
|
init: init,
|
||||||
|
onToggleFullScreen: onToggleFullScreen,
|
||||||
|
onWindowHide: onWindowHide,
|
||||||
|
onWindowShow: onWindowShow,
|
||||||
|
showOpenTorrentFile: showOpenTorrentFile,
|
||||||
|
toggleFullScreen: toggleFullScreen
|
||||||
|
}
|
||||||
|
|
||||||
var config = require('../config')
|
var config = require('../config')
|
||||||
var debug = require('debug')('webtorrent-app:menu')
|
var debug = require('debug')('webtorrent-app:menu')
|
||||||
var electron = require('electron')
|
var electron = require('electron')
|
||||||
var windows = require('./windows')
|
var windows = require('./windows')
|
||||||
|
|
||||||
var app = electron.app
|
var app = electron.app
|
||||||
|
var appMenu
|
||||||
|
function init () {
|
||||||
|
appMenu = electron.Menu.buildFromTemplate(getAppMenuTemplate())
|
||||||
|
electron.Menu.setApplicationMenu(appMenu)
|
||||||
|
}
|
||||||
|
|
||||||
function toggleFullScreen (flag) {
|
function toggleFullScreen (flag) {
|
||||||
debug('toggleFullScreen %s', flag)
|
debug('toggleFullScreen %s', flag)
|
||||||
@@ -100,7 +114,7 @@ function showOpenTorrentAddress () {
|
|||||||
windows.main.send('showOpenTorrentAddress')
|
windows.main.send('showOpenTorrentAddress')
|
||||||
}
|
}
|
||||||
|
|
||||||
function getMenuTemplate () {
|
function getAppMenuTemplate () {
|
||||||
var template = [
|
var template = [
|
||||||
{
|
{
|
||||||
label: 'File',
|
label: 'File',
|
||||||
@@ -300,13 +314,4 @@ function getMenuTemplate () {
|
|||||||
return template
|
return template
|
||||||
}
|
}
|
||||||
|
|
||||||
var appMenu = electron.Menu.buildFromTemplate(getMenuTemplate())
|
|
||||||
|
|
||||||
module.exports = {
|
|
||||||
appMenu: appMenu,
|
|
||||||
onToggleFullScreen: onToggleFullScreen,
|
|
||||||
onWindowHide: onWindowHide,
|
|
||||||
onWindowShow: onWindowShow,
|
|
||||||
toggleFullScreen: toggleFullScreen,
|
|
||||||
showOpenTorrentFile: showOpenTorrentFile
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,9 +3,10 @@ module.exports = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
var electron = require('electron')
|
var electron = require('electron')
|
||||||
var globalShortcut = electron.globalShortcut
|
|
||||||
var localShortcut = require('electron-localshortcut')
|
var localShortcut = require('electron-localshortcut')
|
||||||
|
|
||||||
|
var globalShortcut = electron.globalShortcut
|
||||||
|
|
||||||
function init (menu, windows) {
|
function init (menu, windows) {
|
||||||
// Special "media key" for play/pause, available on some keyboards
|
// Special "media key" for play/pause, available on some keyboards
|
||||||
globalShortcut.register('MediaPlayPause', () => windows.main.send('dispatch', 'playPause'))
|
globalShortcut.register('MediaPlayPause', () => windows.main.send('dispatch', 'playPause'))
|
||||||
|
|||||||
@@ -9,12 +9,6 @@ var electron = require('electron')
|
|||||||
|
|
||||||
var app = electron.app
|
var app = electron.app
|
||||||
|
|
||||||
var isQuitting = false
|
|
||||||
|
|
||||||
app.on('before-quit', function () {
|
|
||||||
isQuitting = true
|
|
||||||
})
|
|
||||||
|
|
||||||
function createMainWindow (menu) {
|
function createMainWindow (menu) {
|
||||||
var win = windows.main = new electron.BrowserWindow({
|
var win = windows.main = new electron.BrowserWindow({
|
||||||
autoHideMenuBar: true, // Hide top menu bar unless Alt key is pressed (Windows, Linux)
|
autoHideMenuBar: true, // Hide top menu bar unless Alt key is pressed (Windows, Linux)
|
||||||
@@ -46,7 +40,7 @@ function createMainWindow (menu) {
|
|||||||
win.on('leave-full-screen', () => menu.onToggleFullScreen(false))
|
win.on('leave-full-screen', () => menu.onToggleFullScreen(false))
|
||||||
|
|
||||||
win.on('close', function (e) {
|
win.on('close', function (e) {
|
||||||
if (process.platform === 'darwin' && !isQuitting) {
|
if (process.platform === 'darwin' && !app.isQuitting) {
|
||||||
e.preventDefault()
|
e.preventDefault()
|
||||||
// sendSync() ensures that video will pause before window is hidden, at which point
|
// sendSync() ensures that video will pause before window is hidden, at which point
|
||||||
// the update() loop (which uses requestAnimationFrame) ceases to run
|
// the update() loop (which uses requestAnimationFrame) ceases to run
|
||||||
|
|||||||
Reference in New Issue
Block a user