Browse Source

remove redundant menu in macOS

pull/58/head
MaysWind 6 years ago
parent
commit
d0f2604de0
  1. 3
      app/langs/zh_Hans.txt
  2. 3
      app/langs/zh_Hant.txt
  3. 3
      app/scripts/config/defaultLanguage.js
  4. 11
      app/scripts/services/ariaNgNativeElectronService.js
  5. 7
      main/main.js
  6. 62
      main/menu.js

3
app/langs/zh_Hans.txt

@ -260,6 +260,9 @@ Runtime Environment=运行环境
Reload AriaNg Native=重新加载 AriaNg Native
Create New Task=创建新任务
[menu]
Quit=退出 AriaNg Native
[tray]
ShowAriaNgNative=显示 AriaNg Native (&S)
Exit=退出 (&X)

3
app/langs/zh_Hant.txt

@ -260,6 +260,9 @@ Runtime Environment=運行環境
Reload AriaNg Native=重新載入 AriaNg Native
Create New Task=建立新工作
[menu]
Quit=退出 AriaNg Native
[tray]
ShowAriaNgNative=顯示 AriaNg Native (&S)
Exit=退出 (&X)

3
app/scripts/config/defaultLanguage.js

@ -264,6 +264,9 @@
'Runtime Environment': 'Runtime Environment',
'Reload AriaNg Native': 'Reload AriaNg Native',
'Create New Task': 'Create New Task',
'menu': {
'Quit': 'Quit AriaNg Native',
},
'tray': {
'ShowAriaNgNative': '&Show AriaNg Native',
'Exit': 'E&xit',

11
app/scripts/services/ariaNgNativeElectronService.js

@ -10,6 +10,7 @@
};
var ipcRenderer = electron.ipcRenderer || {};
var shell = electron.shell || {};
var menu = remote.require('./menu') || {};
var tray = remote.require('./tray') || {};
var localfs = remote.require('./localfs') || {};
@ -80,6 +81,7 @@
return !!getSetting('useCustomAppTitle');
},
setMainWindowLanguage: function () {
this.setApplicationMenu();
this.setTrayMenu();
},
isLocalFSExists: function (fullpath) {
@ -128,6 +130,15 @@
sendNewDropTextMessageToMainProcess: function (message) {
sendMessageToMainProcess('new-drop-text', message);
},
setApplicationMenu: function () {
if (menu.setApplicationMenu) {
menu.setApplicationMenu({
labels: {
Quit: ariaNgLocalizationService.getLocalizedText('menu.Quit')
}
});
}
},
setTrayMenu: function () {
if (tray.setContextMenu) {
tray.setContextMenu({

7
main/main.js

@ -9,6 +9,7 @@ const config = require('./config');
const core = require('./core');
const cmd = require('./cmd');
const ipc = require('./ipc');
const menu = require('./menu');
const tray = require('./tray');
const app = electron.app;
@ -57,7 +58,9 @@ if (os.platform() === 'darwin') {
});
app.on('activate', () => {
core.mainWindow.show();
if (core.mainWindow) {
core.mainWindow.show();
}
});
}
@ -154,7 +157,7 @@ app.on('ready', () => {
});
}
core.mainWindow.setMenu(null);
menu.init();
tray.init();
if (ipc.isContainsSupportedFileArg(filePathInCommandLine)) {

62
main/menu.js

@ -0,0 +1,62 @@
'use strict';
const os = require('os');
const electron = require('electron');
const core = require('./core');
const app = electron.app;
const Menu = electron.Menu;
let init = function () {
if (!core.mainWindow) {
return;
}
if (os.platform() === 'darwin') {
let menu = Menu.buildFromTemplate([
{
label: app.getName(),
submenu: [
{
label: 'Quit AriaNg Native',
role: 'quit',
click: function () {
core.isConfirmExit = true;
app.quit();
}
}
]
}
]);
Menu.setApplicationMenu(menu);
} else {
core.mainWindow.setMenu(null);
}
}
let setApplicationMenu = function (context) {
if (core.mainWindow && os.platform() === 'darwin') {
let menu = Menu.buildFromTemplate([
{
label: app.getName(),
submenu: [
{
label: context.labels.Quit,
role: 'quit',
click: function () {
core.isConfirmExit = true;
app.quit();
}
}
]
}
]);
Menu.setApplicationMenu(menu);
}
};
module.exports = {
init: init,
setApplicationMenu: setApplicationMenu
};
Loading…
Cancel
Save