Add Ctrl+n shortcut to switch tab
This also shows the main window. Close #51
This commit is contained in:
parent
e2d7d18804
commit
8f936c1725
|
@ -54,6 +54,9 @@ var MainPage = React.createClass({
|
||||||
loginQueue: loginQueue
|
loginQueue: loginQueue
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
ipcRenderer.on('switch-tab', (event, key) => {
|
||||||
|
this.handleSelect(key);
|
||||||
|
});
|
||||||
|
|
||||||
var focusListener = function() {
|
var focusListener = function() {
|
||||||
var webview = document.getElementById('mattermostView' + thisObj.state.key);
|
var webview = document.getElementById('mattermostView' + thisObj.state.key);
|
||||||
|
@ -69,8 +72,9 @@ var MainPage = React.createClass({
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
handleSelect: function(key) {
|
handleSelect: function(key) {
|
||||||
|
const newKey = key % this.props.teams.length;
|
||||||
this.setState({
|
this.setState({
|
||||||
key: key
|
key: newKey
|
||||||
});
|
});
|
||||||
this.handleOnTeamFocused(key);
|
this.handleOnTeamFocused(key);
|
||||||
},
|
},
|
||||||
|
|
|
@ -274,7 +274,7 @@ app.on('ready', function() {
|
||||||
saveWindowState(bounds_info_path, mainWindow);
|
saveWindowState(bounds_info_path, mainWindow);
|
||||||
});
|
});
|
||||||
|
|
||||||
var app_menu = appMenu.createMenu(mainWindow);
|
var app_menu = appMenu.createMenu(mainWindow, config);
|
||||||
Menu.setApplicationMenu(app_menu);
|
Menu.setApplicationMenu(app_menu);
|
||||||
|
|
||||||
// Emitted when the window is closed.
|
// Emitted when the window is closed.
|
||||||
|
|
|
@ -3,7 +3,8 @@
|
||||||
const electron = require('electron');
|
const electron = require('electron');
|
||||||
const Menu = electron.Menu;
|
const Menu = electron.Menu;
|
||||||
|
|
||||||
var createTemplate = function(mainWindow) {
|
var createTemplate = function(mainWindow, config) {
|
||||||
|
console.log(config);
|
||||||
var app_name = electron.app.getName();
|
var app_name = electron.app.getName();
|
||||||
var first_menu_name = (process.platform === 'darwin') ? app_name : 'File';
|
var first_menu_name = (process.platform === 'darwin') ? app_name : 'File';
|
||||||
var template = [];
|
var template = [];
|
||||||
|
@ -153,13 +154,24 @@ var createTemplate = function(mainWindow) {
|
||||||
focusedWindow.close();
|
focusedWindow.close();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}]
|
}, {
|
||||||
|
type: 'separator'
|
||||||
|
}, ...config.teams.slice(0, 9).map((team, i) => {
|
||||||
|
return {
|
||||||
|
label: team.name,
|
||||||
|
accelerator: `CmdOrCtrl+${i + 1}`,
|
||||||
|
click: (item, focusedWindow) => {
|
||||||
|
mainWindow.show(); // for OS X
|
||||||
|
mainWindow.webContents.send('switch-tab', i);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
})]
|
||||||
});
|
});
|
||||||
return template;
|
return template;
|
||||||
};
|
};
|
||||||
|
|
||||||
var createMenu = function(mainWindow) {
|
var createMenu = function(mainWindow, config) {
|
||||||
return Menu.buildFromTemplate(createTemplate(mainWindow));
|
return Menu.buildFromTemplate(createTemplate(mainWindow, config));
|
||||||
};
|
};
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
|
|
Loading…
Reference in a new issue