all main modules have init() function

This commit is contained in:
Feross Aboukhadijeh
2016-03-09 15:15:04 -08:00
parent e7d837e813
commit 713c87729a
5 changed files with 31 additions and 24 deletions

View File

@@ -8,15 +8,20 @@ var shortcuts = require('./shortcuts')
var app = electron.app
app.isQuitting = false
app.startTime = startTime
app.on('ready', function () {
menu.init()
windows.createMainWindow(menu)
shortcuts.init(menu, windows)
})
app.on('open-file', onOpen)
app.on('open-url', onOpen)
app.on('ready', function () {
electron.Menu.setApplicationMenu(menu.appMenu)
windows.createMainWindow(menu)
shortcuts.init(menu, windows)
app.on('before-quit', function () {
app.isQuitting = true
})
app.on('activate', function () {

View File

@@ -4,10 +4,12 @@ module.exports = {
var debug = require('debug')('webtorrent-app:ipcMain')
var electron = require('electron')
var ipcMain = electron.ipcMain
var menu = require('./menu')
var windows = require('./windows')
var app = electron.app
var ipcMain = electron.ipcMain
function init () {
ipcMain.on('showOpenTorrentFile', function (e) {
menu.showOpenTorrentFile()
@@ -59,7 +61,7 @@ function 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))
if (app.dock) app.dock.setBadge(String(text))
}
// Show progress bar. Valid range is [0, 1]. Remove when < 0; indeterminate when > 1.

View File

@@ -1,9 +1,23 @@
module.exports = {
init: init,
onToggleFullScreen: onToggleFullScreen,
onWindowHide: onWindowHide,
onWindowShow: onWindowShow,
showOpenTorrentFile: showOpenTorrentFile,
toggleFullScreen: toggleFullScreen
}
var config = require('../config')
var debug = require('debug')('webtorrent-app:menu')
var electron = require('electron')
var windows = require('./windows')
var app = electron.app
var appMenu
function init () {
appMenu = electron.Menu.buildFromTemplate(getAppMenuTemplate())
electron.Menu.setApplicationMenu(appMenu)
}
function toggleFullScreen (flag) {
debug('toggleFullScreen %s', flag)
@@ -100,7 +114,7 @@ function showOpenTorrentAddress () {
windows.main.send('showOpenTorrentAddress')
}
function getMenuTemplate () {
function getAppMenuTemplate () {
var template = [
{
label: 'File',
@@ -300,13 +314,4 @@ function getMenuTemplate () {
return template
}
var appMenu = electron.Menu.buildFromTemplate(getMenuTemplate())
module.exports = {
appMenu: appMenu,
onToggleFullScreen: onToggleFullScreen,
onWindowHide: onWindowHide,
onWindowShow: onWindowShow,
toggleFullScreen: toggleFullScreen,
showOpenTorrentFile: showOpenTorrentFile
}

View File

@@ -3,9 +3,10 @@ module.exports = {
}
var electron = require('electron')
var globalShortcut = electron.globalShortcut
var localShortcut = require('electron-localshortcut')
var globalShortcut = electron.globalShortcut
function init (menu, windows) {
// Special "media key" for play/pause, available on some keyboards
globalShortcut.register('MediaPlayPause', () => windows.main.send('dispatch', 'playPause'))

View File

@@ -9,12 +9,6 @@ var electron = require('electron')
var app = electron.app
var isQuitting = false
app.on('before-quit', function () {
isQuitting = true
})
function createMainWindow (menu) {
var win = windows.main = new electron.BrowserWindow({
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('close', function (e) {
if (process.platform === 'darwin' && !isQuitting) {
if (process.platform === 'darwin' && !app.isQuitting) {
e.preventDefault()
// sendSync() ensures that video will pause before window is hidden, at which point
// the update() loop (which uses requestAnimationFrame) ceases to run