Add reload and force reconntect options to app menu

This commit is contained in:
Nick Denry 2019-04-28 02:04:31 +03:00
parent 68b5ad7dcf
commit f611bd1272
4 changed files with 42 additions and 14 deletions

View File

@ -6,8 +6,8 @@ const {app, BrowserWindow, shell} = require('electron')
let mainWindow
// Require other app modules
const trayService = require(__dirname+'/js/tray-service')
const menuService = require(__dirname+'/js/menu-service')
const trayService = require(__dirname+'/modules/tray-service')
const menuService = require(__dirname+'/modules/menu-service')
function initApp() {
createWindow()
@ -33,7 +33,7 @@ function createWindow () {
menuService.createMenu()
// Open the DevTools.
// mainWindow.webContents.openDevTools()
mainWindow.webContents.openDevTools()
// Emitted when the window is closed.
mainWindow.on('closed', function () {

View File

@ -2,7 +2,7 @@
* Module for Menu functions.
*/
const {app, Menu} = require('electron')
const {app, Menu, BrowserWindow} = require('electron')
let menuService = {}
@ -12,6 +12,25 @@ menuService.createMenu = () => {
const application = {
label: 'Chimeverse',
submenu: [
{
label: 'Reconnect',
accelerator: 'CmdOrCtrl+R',
click: () => {
let activeWindow = BrowserWindow.getFocusedWindow()
activeWindow.reload()
}
},
{
label: 'Force logout',
accelerator: 'CmdOrCtrl+D',
click: () => {
let activeWindow = BrowserWindow.getFocusedWindow()
activeWindow.webContents.send('force-logout-event');
}
},
{
type: 'separator',
},
{
label: 'Quit',
accelerator: 'Command+Q',
@ -35,9 +54,7 @@ menuService.createMenu = () => {
accelerator: 'Shift+CmdOrCtrl+Z',
role: 'redo',
},
{
type: 'separator',
},
{
label: 'Cut',
accelerator: 'CmdOrCtrl+X',

View File

@ -106,6 +106,16 @@ angApp.factory('ChimeVerseService', ($rootScope, SettingsServise, SystemService)
}
}
chimeverseService.logout = () => {
let credentials = SettingsServise.getCredentials()
credentials.then((result) => {
let remove = chimeverseService.settings.removeCredentials(result.login)
remove.then(() => {
chimeverseService.system.reloadWindow()
})
})
}
chimeverseService.addChimeVersePluign = () => {
converse.plugins.add('chimeVerse', {
initialize: (event) => {
@ -118,13 +128,7 @@ angApp.factory('ChimeVerseService', ($rootScope, SettingsServise, SystemService)
$rootScope.$broadcast('ChimeVerseService:connected')
})
_converse.api.listen.on('logout', () => {
let credentials = SettingsServise.getCredentials()
credentials.then((result) => {
let remove = chimeverseService.settings.removeCredentials(result.login)
remove.then(() => {
chimeverseService.system.reloadWindow()
})
})
chimeverseService.logout()
})
_converse.api.listen.on('messageAdded', (data) => {
chimeverseService._notifyMessage(data)
@ -161,9 +165,16 @@ angApp.factory('ChimeVerseService', ($rootScope, SettingsServise, SystemService)
angApp.controller('AppController', function ($scope, $rootScope, ChimeVerseService) {
const { ipcRenderer } = require('electron');
$scope.showLoginForm = false
$scope.connectSpinner = true
ipcRenderer.on('force-logout-event', () => {
ChimeVerseService.logout()
ipcRenderer.getCurrentWindow().reload()
})
$rootScope.$on('ChimeVerseService:connected', function () {
$scope.connectSpinner = false
$scope.$apply()