From f611bd12721bf84389016c6bb99a7a8cff700f7c Mon Sep 17 00:00:00 2001 From: Nick Denry Date: Sun, 28 Apr 2019 02:04:31 +0300 Subject: [PATCH] Add reload and force reconntect options to app menu --- main.js | 6 +++--- {js => modules}/menu-service.js | 25 +++++++++++++++++++++---- {js => modules}/tray-service.js | 0 renderer.js | 25 ++++++++++++++++++------- 4 files changed, 42 insertions(+), 14 deletions(-) rename {js => modules}/menu-service.js (69%) rename {js => modules}/tray-service.js (100%) diff --git a/main.js b/main.js index 83ca652..490d151 100644 --- a/main.js +++ b/main.js @@ -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 () { diff --git a/js/menu-service.js b/modules/menu-service.js similarity index 69% rename from js/menu-service.js rename to modules/menu-service.js index fd88afd..473a824 100644 --- a/js/menu-service.js +++ b/modules/menu-service.js @@ -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', diff --git a/js/tray-service.js b/modules/tray-service.js similarity index 100% rename from js/tray-service.js rename to modules/tray-service.js diff --git a/renderer.js b/renderer.js index 94282f0..d65547f 100644 --- a/renderer.js +++ b/renderer.js @@ -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()