all main modules have init() function
This commit is contained in:
@@ -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 () {
|
||||
|
||||
@@ -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.
|
||||
|
||||
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 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
|
||||
}
|
||||
|
||||
@@ -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'))
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user