Use ipcRenderer through window to mock ipc method
This commit is contained in:
parent
d18f8859f9
commit
456890af85
|
@ -1,8 +1,10 @@
|
|||
import { createLocalVue } from '@vue/test-utils'
|
||||
import Vuex from 'vuex'
|
||||
import { ipcMain } from '~/spec/mock/electron'
|
||||
import { ipcMain, ipcRenderer } from '~/spec/mock/electron'
|
||||
import Account, { AccountState } from '@/store/Preferences/Account'
|
||||
import { LocalAccount } from '~/src/types/localAccount'
|
||||
import { MyWindow } from '~/src/types/global'
|
||||
;(window as MyWindow).ipcRenderer = ipcRenderer
|
||||
|
||||
const account: LocalAccount = {
|
||||
_id: 'sample',
|
||||
|
|
|
@ -7,7 +7,9 @@ import TimeFormat from '~/src/constants/timeFormat'
|
|||
import { LightTheme, DarkTheme } from '~/src/constants/themeColor'
|
||||
import DefaultFonts from '@/utils/fonts'
|
||||
import Appearance, { AppearanceState } from '@/store/Preferences/Appearance'
|
||||
import { ipcMain } from '~/spec/mock/electron'
|
||||
import { ipcMain, ipcRenderer } from '~/spec/mock/electron'
|
||||
import { MyWindow } from '~/src/types/global'
|
||||
;(window as MyWindow).ipcRenderer = ipcRenderer
|
||||
|
||||
const state = (): AppearanceState => {
|
||||
return {
|
||||
|
|
|
@ -1,7 +1,9 @@
|
|||
import { createLocalVue } from '@vue/test-utils'
|
||||
import Vuex from 'vuex'
|
||||
import { ipcMain } from '~/spec/mock/electron'
|
||||
import { ipcMain, ipcRenderer } from '~/spec/mock/electron'
|
||||
import General, { GeneralState } from '@/store/Preferences/General'
|
||||
import { MyWindow } from '~/src/types/global'
|
||||
;(window as MyWindow).ipcRenderer = ipcRenderer
|
||||
|
||||
const state = (): GeneralState => {
|
||||
return {
|
||||
|
|
|
@ -1,8 +1,10 @@
|
|||
import { createLocalVue } from '@vue/test-utils'
|
||||
import Vuex from 'vuex'
|
||||
import { ipcMain } from '~/spec/mock/electron'
|
||||
import { ipcMain, ipcRenderer } from '~/spec/mock/electron'
|
||||
import Language, { LanguageState } from '@/store/Preferences/Language'
|
||||
import DefaultLanguage from '~/src/constants/language'
|
||||
import { MyWindow } from '~/src/types/global'
|
||||
;(window as MyWindow).ipcRenderer = ipcRenderer
|
||||
|
||||
const state = (): LanguageState => {
|
||||
return {
|
||||
|
|
|
@ -1,7 +1,9 @@
|
|||
import { createLocalVue } from '@vue/test-utils'
|
||||
import Vuex from 'vuex'
|
||||
import { ipcMain } from '~/spec/mock/electron'
|
||||
import { ipcMain, ipcRenderer } from '~/spec/mock/electron'
|
||||
import Notification, { NotificationState } from '@/store/Preferences/Notification'
|
||||
import { MyWindow } from '~/src/types/global'
|
||||
;(window as MyWindow).ipcRenderer = ipcRenderer
|
||||
|
||||
const state = (): NotificationState => {
|
||||
return {
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
const electron = require('electron')
|
||||
const path = require('path')
|
||||
const mod = require('module')
|
||||
|
||||
global.ipcRenderer = electron.ipcRenderer
|
||||
global.shell = electron.shell
|
||||
global.clipboard = electron.clipboard
|
||||
|
|
|
@ -1,7 +1,9 @@
|
|||
import { ipcRenderer } from 'electron'
|
||||
import { Module, MutationTree, ActionTree } from 'vuex'
|
||||
import { LocalAccount } from '~/src/types/localAccount'
|
||||
import { RootState } from '@/store'
|
||||
import { MyWindow } from '~/src/types/global'
|
||||
|
||||
const win = window as MyWindow
|
||||
|
||||
export type AccountState = {
|
||||
accounts: Array<LocalAccount>
|
||||
|
@ -30,13 +32,13 @@ const mutations: MutationTree<AccountState> = {
|
|||
const actions: ActionTree<AccountState, RootState> = {
|
||||
loadAccounts: ({ commit }): Promise<Array<LocalAccount>> => {
|
||||
return new Promise((resolve, reject) => {
|
||||
ipcRenderer.send('list-accounts', 'list')
|
||||
ipcRenderer.once('error-list-accounts', (_, err: Error) => {
|
||||
ipcRenderer.removeAllListeners('response-list-accounts')
|
||||
win.ipcRenderer.send('list-accounts', 'list')
|
||||
win.ipcRenderer.once('error-list-accounts', (_, err: Error) => {
|
||||
win.ipcRenderer.removeAllListeners('response-list-accounts')
|
||||
reject(err)
|
||||
})
|
||||
ipcRenderer.once('response-list-accounts', (_, accounts: Array<LocalAccount>) => {
|
||||
ipcRenderer.removeAllListeners('error-list-accounts')
|
||||
win.ipcRenderer.once('response-list-accounts', (_, accounts: Array<LocalAccount>) => {
|
||||
win.ipcRenderer.removeAllListeners('error-list-accounts')
|
||||
commit(MUTATION_TYPES.UPDATE_ACCOUNTS, accounts)
|
||||
resolve(accounts)
|
||||
})
|
||||
|
@ -44,52 +46,52 @@ const actions: ActionTree<AccountState, RootState> = {
|
|||
},
|
||||
removeAccount: (_, account: LocalAccount) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
ipcRenderer.send('remove-account', account._id)
|
||||
ipcRenderer.once('error-remove-account', (_, err: Error) => {
|
||||
ipcRenderer.removeAllListeners('response-remove-account')
|
||||
win.ipcRenderer.send('remove-account', account._id)
|
||||
win.ipcRenderer.once('error-remove-account', (_, err: Error) => {
|
||||
win.ipcRenderer.removeAllListeners('response-remove-account')
|
||||
reject(err)
|
||||
})
|
||||
ipcRenderer.once('response-remove-account', (_, _id: string) => {
|
||||
ipcRenderer.removeAllListeners('error-remove-account')
|
||||
win.ipcRenderer.once('response-remove-account', (_, _id: string) => {
|
||||
win.ipcRenderer.removeAllListeners('error-remove-account')
|
||||
resolve()
|
||||
})
|
||||
})
|
||||
},
|
||||
forwardAccount: (_, account: LocalAccount) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
ipcRenderer.send('forward-account', account)
|
||||
ipcRenderer.once('error-forward-account', (_, err: Error) => {
|
||||
ipcRenderer.removeAllListeners('response-forward-account')
|
||||
win.ipcRenderer.send('forward-account', account)
|
||||
win.ipcRenderer.once('error-forward-account', (_, err: Error) => {
|
||||
win.ipcRenderer.removeAllListeners('response-forward-account')
|
||||
reject(err)
|
||||
})
|
||||
ipcRenderer.once('response-forward-account', () => {
|
||||
ipcRenderer.removeAllListeners('error-forward-account')
|
||||
win.ipcRenderer.once('response-forward-account', () => {
|
||||
win.ipcRenderer.removeAllListeners('error-forward-account')
|
||||
resolve()
|
||||
})
|
||||
})
|
||||
},
|
||||
backwardAccount: (_, account: LocalAccount) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
ipcRenderer.send('backward-account', account)
|
||||
ipcRenderer.once('error-backward-account', (_, err: Error) => {
|
||||
ipcRenderer.removeAllListeners('response-forward-account')
|
||||
win.ipcRenderer.send('backward-account', account)
|
||||
win.ipcRenderer.once('error-backward-account', (_, err: Error) => {
|
||||
win.ipcRenderer.removeAllListeners('response-forward-account')
|
||||
reject(err)
|
||||
})
|
||||
ipcRenderer.once('response-backward-account', () => {
|
||||
ipcRenderer.removeAllListeners('error-backward-account')
|
||||
win.ipcRenderer.once('response-backward-account', () => {
|
||||
win.ipcRenderer.removeAllListeners('error-backward-account')
|
||||
resolve()
|
||||
})
|
||||
})
|
||||
},
|
||||
removeAllAccounts: () => {
|
||||
return new Promise((resolve, reject) => {
|
||||
ipcRenderer.send('remove-all-accounts')
|
||||
ipcRenderer.once('error-remove-all-accounts', (_, err: Error) => {
|
||||
ipcRenderer.removeAllListeners('response-remove-all-accounts')
|
||||
win.ipcRenderer.send('remove-all-accounts')
|
||||
win.ipcRenderer.once('error-remove-all-accounts', (_, err: Error) => {
|
||||
win.ipcRenderer.removeAllListeners('response-remove-all-accounts')
|
||||
reject(err)
|
||||
})
|
||||
ipcRenderer.once('response-remove-all-accounts', () => {
|
||||
ipcRenderer.removeAllListeners('error-remove-all-accounts')
|
||||
win.ipcRenderer.once('response-remove-all-accounts', () => {
|
||||
win.ipcRenderer.removeAllListeners('error-remove-all-accounts')
|
||||
resolve()
|
||||
})
|
||||
})
|
||||
|
|
|
@ -1,4 +1,3 @@
|
|||
import { ipcRenderer } from 'electron'
|
||||
import DisplayStyle from '~/src/constants/displayStyle'
|
||||
import Theme from '~/src/constants/theme'
|
||||
import TimeFormat from '~/src/constants/timeFormat'
|
||||
|
@ -8,6 +7,9 @@ import { Module, MutationTree, ActionTree } from 'vuex'
|
|||
import { RootState } from '@/store'
|
||||
import { Appearance } from '~/src/types/appearance'
|
||||
import { BaseConfig } from '~/src/types/preference'
|
||||
import { MyWindow } from '~/src/types/global'
|
||||
|
||||
const win = window as MyWindow
|
||||
|
||||
export type AppearanceState = {
|
||||
appearance: Appearance
|
||||
|
@ -44,30 +46,30 @@ const mutations: MutationTree<AppearanceState> = {
|
|||
const actions: ActionTree<AppearanceState, RootState> = {
|
||||
loadAppearance: ({ commit }) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
ipcRenderer.once('error-get-preferences', (_, err: Error) => {
|
||||
ipcRenderer.removeAllListeners('response-get-preferences')
|
||||
win.ipcRenderer.once('error-get-preferences', (_, err: Error) => {
|
||||
win.ipcRenderer.removeAllListeners('response-get-preferences')
|
||||
reject(err)
|
||||
})
|
||||
ipcRenderer.once('response-get-preferences', (_, conf: BaseConfig) => {
|
||||
ipcRenderer.removeAllListeners('error-get-preferences')
|
||||
win.ipcRenderer.once('response-get-preferences', (_, conf: BaseConfig) => {
|
||||
win.ipcRenderer.removeAllListeners('error-get-preferences')
|
||||
commit(MUTATION_TYPES.UPDATE_APPEARANCE, conf.appearance)
|
||||
resolve(conf)
|
||||
})
|
||||
ipcRenderer.send('get-preferences')
|
||||
win.ipcRenderer.send('get-preferences')
|
||||
})
|
||||
},
|
||||
loadFonts: ({ commit }) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
ipcRenderer.once('error-list-fonts', (_, err: Error) => {
|
||||
ipcRenderer.removeAllListeners('response-list-fonts')
|
||||
win.ipcRenderer.once('error-list-fonts', (_, err: Error) => {
|
||||
win.ipcRenderer.removeAllListeners('response-list-fonts')
|
||||
reject(err)
|
||||
})
|
||||
ipcRenderer.once('response-list-fonts', (_, fonts: Array<string>) => {
|
||||
ipcRenderer.removeAllListeners('error-list-fonts')
|
||||
win.ipcRenderer.once('response-list-fonts', (_, fonts: Array<string>) => {
|
||||
win.ipcRenderer.removeAllListeners('error-list-fonts')
|
||||
commit(MUTATION_TYPES.UPDATE_FONTS, [DefaultFonts[0]].concat(fonts))
|
||||
resolve(fonts)
|
||||
})
|
||||
ipcRenderer.send('list-fonts')
|
||||
win.ipcRenderer.send('list-fonts')
|
||||
})
|
||||
},
|
||||
updateTheme: ({ dispatch, commit, state }, themeKey: string) => {
|
||||
|
@ -78,17 +80,17 @@ const actions: ActionTree<AppearanceState, RootState> = {
|
|||
appearance: newAppearance
|
||||
}
|
||||
return new Promise((resolve, reject) => {
|
||||
ipcRenderer.once('error-update-preferences', (_, err: Error) => {
|
||||
ipcRenderer.removeAllListeners('response-update-preferences')
|
||||
win.ipcRenderer.once('error-update-preferences', (_, err: Error) => {
|
||||
win.ipcRenderer.removeAllListeners('response-update-preferences')
|
||||
reject(err)
|
||||
})
|
||||
ipcRenderer.once('response-update-preferences', (_, conf: BaseConfig) => {
|
||||
ipcRenderer.removeAllListeners('error-update-preferences')
|
||||
win.ipcRenderer.once('response-update-preferences', (_, conf: BaseConfig) => {
|
||||
win.ipcRenderer.removeAllListeners('error-update-preferences')
|
||||
commit(MUTATION_TYPES.UPDATE_APPEARANCE, conf.appearance)
|
||||
dispatch('App/loadPreferences', null, { root: true })
|
||||
resolve(conf.appearance)
|
||||
})
|
||||
ipcRenderer.send('update-preferences', config)
|
||||
win.ipcRenderer.send('update-preferences', config)
|
||||
})
|
||||
},
|
||||
updateFontSize: ({ dispatch, commit, state }, fontSize: number) => {
|
||||
|
@ -99,17 +101,17 @@ const actions: ActionTree<AppearanceState, RootState> = {
|
|||
appearance: newAppearance
|
||||
}
|
||||
return new Promise((resolve, reject) => {
|
||||
ipcRenderer.once('error-update-preferences', (_, err: Error) => {
|
||||
ipcRenderer.removeAllListeners('response-update-preferences')
|
||||
win.ipcRenderer.once('error-update-preferences', (_, err: Error) => {
|
||||
win.ipcRenderer.removeAllListeners('response-update-preferences')
|
||||
reject(err)
|
||||
})
|
||||
ipcRenderer.once('response-update-preferences', (_, conf: BaseConfig) => {
|
||||
ipcRenderer.removeAllListeners('error-update-preferences')
|
||||
win.ipcRenderer.once('response-update-preferences', (_, conf: BaseConfig) => {
|
||||
win.ipcRenderer.removeAllListeners('error-update-preferences')
|
||||
commit(MUTATION_TYPES.UPDATE_APPEARANCE, conf.appearance)
|
||||
dispatch('App/loadPreferences', null, { root: true })
|
||||
resolve(conf.appearance)
|
||||
})
|
||||
ipcRenderer.send('update-preferences', config)
|
||||
win.ipcRenderer.send('update-preferences', config)
|
||||
})
|
||||
},
|
||||
updateDisplayNameStyle: ({ dispatch, commit, state }, value: number) => {
|
||||
|
@ -120,17 +122,17 @@ const actions: ActionTree<AppearanceState, RootState> = {
|
|||
appearance: newAppearance
|
||||
}
|
||||
return new Promise((resolve, reject) => {
|
||||
ipcRenderer.once('error-update-preferences', (_, err: Error) => {
|
||||
ipcRenderer.removeAllListeners('response-update-preferences')
|
||||
win.ipcRenderer.once('error-update-preferences', (_, err: Error) => {
|
||||
win.ipcRenderer.removeAllListeners('response-update-preferences')
|
||||
reject(err)
|
||||
})
|
||||
ipcRenderer.once('response-update-preferences', (_, conf: BaseConfig) => {
|
||||
ipcRenderer.removeAllListeners('error-update-preferences')
|
||||
win.ipcRenderer.once('response-update-preferences', (_, conf: BaseConfig) => {
|
||||
win.ipcRenderer.removeAllListeners('error-update-preferences')
|
||||
dispatch('App/loadPreferences', null, { root: true })
|
||||
commit(MUTATION_TYPES.UPDATE_APPEARANCE, conf.appearance)
|
||||
resolve(conf.appearance)
|
||||
})
|
||||
ipcRenderer.send('update-preferences', config)
|
||||
win.ipcRenderer.send('update-preferences', config)
|
||||
})
|
||||
},
|
||||
updateTimeFormat: ({ dispatch, commit, state }, value: number) => {
|
||||
|
@ -141,17 +143,17 @@ const actions: ActionTree<AppearanceState, RootState> = {
|
|||
appearance: newAppearance
|
||||
}
|
||||
return new Promise((resolve, reject) => {
|
||||
ipcRenderer.once('error-update-preferences', (_, err: Error) => {
|
||||
ipcRenderer.removeAllListeners('response-update-preferences')
|
||||
win.ipcRenderer.once('error-update-preferences', (_, err: Error) => {
|
||||
win.ipcRenderer.removeAllListeners('response-update-preferences')
|
||||
reject(err)
|
||||
})
|
||||
ipcRenderer.once('response-update-preferences', (_, conf: BaseConfig) => {
|
||||
ipcRenderer.removeAllListeners('error-update-preferences')
|
||||
win.ipcRenderer.once('response-update-preferences', (_, conf: BaseConfig) => {
|
||||
win.ipcRenderer.removeAllListeners('error-update-preferences')
|
||||
dispatch('App/loadPreferences', null, { root: true })
|
||||
commit(MUTATION_TYPES.UPDATE_APPEARANCE, conf.appearance)
|
||||
resolve(conf.appearance)
|
||||
})
|
||||
ipcRenderer.send('update-preferences', config)
|
||||
win.ipcRenderer.send('update-preferences', config)
|
||||
})
|
||||
},
|
||||
updateCustomThemeColor: ({ dispatch, state, commit }, value: object) => {
|
||||
|
@ -163,17 +165,17 @@ const actions: ActionTree<AppearanceState, RootState> = {
|
|||
appearance: newAppearance
|
||||
}
|
||||
return new Promise((resolve, reject) => {
|
||||
ipcRenderer.once('error-update-preferences', (_, err: Error) => {
|
||||
ipcRenderer.removeAllListeners('response-update-preferences')
|
||||
win.ipcRenderer.once('error-update-preferences', (_, err: Error) => {
|
||||
win.ipcRenderer.removeAllListeners('response-update-preferences')
|
||||
reject(err)
|
||||
})
|
||||
ipcRenderer.once('response-update-preferences', (_, conf: BaseConfig) => {
|
||||
ipcRenderer.removeAllListeners('error-update-preferences')
|
||||
win.ipcRenderer.once('response-update-preferences', (_, conf: BaseConfig) => {
|
||||
win.ipcRenderer.removeAllListeners('error-update-preferences')
|
||||
commit(MUTATION_TYPES.UPDATE_APPEARANCE, conf.appearance)
|
||||
dispatch('App/loadPreferences', null, { root: true })
|
||||
resolve(conf.appearance)
|
||||
})
|
||||
ipcRenderer.send('update-preferences', config)
|
||||
win.ipcRenderer.send('update-preferences', config)
|
||||
})
|
||||
},
|
||||
updateFont: ({ dispatch, state, commit }, value: string) => {
|
||||
|
@ -184,17 +186,17 @@ const actions: ActionTree<AppearanceState, RootState> = {
|
|||
appearance: newAppearance
|
||||
}
|
||||
return new Promise((resolve, reject) => {
|
||||
ipcRenderer.once('error-update-preferences', (_, err: Error) => {
|
||||
ipcRenderer.removeAllListeners('response-update-preferences')
|
||||
win.ipcRenderer.once('error-update-preferences', (_, err: Error) => {
|
||||
win.ipcRenderer.removeAllListeners('response-update-preferences')
|
||||
reject(err)
|
||||
})
|
||||
ipcRenderer.once('response-update-preferences', (_, conf: BaseConfig) => {
|
||||
ipcRenderer.removeAllListeners('error-update-preferences')
|
||||
win.ipcRenderer.once('response-update-preferences', (_, conf: BaseConfig) => {
|
||||
win.ipcRenderer.removeAllListeners('error-update-preferences')
|
||||
commit(MUTATION_TYPES.UPDATE_APPEARANCE, conf.appearance)
|
||||
dispatch('App/loadPreferences', null, { root: true })
|
||||
resolve(conf.appearance)
|
||||
})
|
||||
ipcRenderer.send('update-preferences', config)
|
||||
win.ipcRenderer.send('update-preferences', config)
|
||||
})
|
||||
},
|
||||
updateTootPadding: ({ dispatch, state, commit }, value: number) => {
|
||||
|
@ -205,17 +207,17 @@ const actions: ActionTree<AppearanceState, RootState> = {
|
|||
appearance: newAppearance
|
||||
}
|
||||
return new Promise((resolve, reject) => {
|
||||
ipcRenderer.once('error-update-preferences', (_, err: Error) => {
|
||||
ipcRenderer.removeAllListeners('response-update-preferences')
|
||||
win.ipcRenderer.once('error-update-preferences', (_, err: Error) => {
|
||||
win.ipcRenderer.removeAllListeners('response-update-preferences')
|
||||
reject(err)
|
||||
})
|
||||
ipcRenderer.once('response-update-preferences', (_, conf: BaseConfig) => {
|
||||
ipcRenderer.removeAllListeners('error-update-preferences')
|
||||
win.ipcRenderer.once('response-update-preferences', (_, conf: BaseConfig) => {
|
||||
win.ipcRenderer.removeAllListeners('error-update-preferences')
|
||||
commit(MUTATION_TYPES.UPDATE_APPEARANCE, conf.appearance)
|
||||
dispatch('App/loadPreferences', null, { root: true })
|
||||
resolve(conf.appearance)
|
||||
})
|
||||
ipcRenderer.send('update-preferences', config)
|
||||
win.ipcRenderer.send('update-preferences', config)
|
||||
})
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,4 +1,3 @@
|
|||
import { ipcRenderer } from 'electron'
|
||||
import { Module, MutationTree, ActionTree, GetterTree } from 'vuex'
|
||||
import { RootState } from '@/store'
|
||||
import { Sound } from '~/src/types/sound'
|
||||
|
@ -49,14 +48,14 @@ const actions: ActionTree<GeneralState, RootState> = {
|
|||
loadGeneral: ({ commit }) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
commit(MUTATION_TYPES.CHANGE_LOADING, true)
|
||||
ipcRenderer.send('get-preferences')
|
||||
ipcRenderer.once('error-get-preferences', (_, err: Error) => {
|
||||
ipcRenderer.removeAllListeners('response-get-preferences')
|
||||
win.ipcRenderer.send('get-preferences')
|
||||
win.ipcRenderer.once('error-get-preferences', (_, err: Error) => {
|
||||
win.ipcRenderer.removeAllListeners('response-get-preferences')
|
||||
commit(MUTATION_TYPES.CHANGE_LOADING, false)
|
||||
reject(err)
|
||||
})
|
||||
ipcRenderer.once('response-get-preferences', (_, conf: BaseConfig) => {
|
||||
ipcRenderer.removeAllListeners('error-get-preferences')
|
||||
win.ipcRenderer.once('response-get-preferences', (_, conf: BaseConfig) => {
|
||||
win.ipcRenderer.removeAllListeners('error-get-preferences')
|
||||
commit(MUTATION_TYPES.UPDATE_GENERAL, conf.general as General)
|
||||
commit(MUTATION_TYPES.CHANGE_LOADING, false)
|
||||
resolve(conf)
|
||||
|
@ -73,14 +72,14 @@ const actions: ActionTree<GeneralState, RootState> = {
|
|||
general: newGeneral
|
||||
}
|
||||
return new Promise((resolve, reject) => {
|
||||
ipcRenderer.send('update-preferences', config)
|
||||
ipcRenderer.once('error-update-preferences', (_, err: Error) => {
|
||||
ipcRenderer.removeAllListeners('response-update-preferences')
|
||||
win.ipcRenderer.send('update-preferences', config)
|
||||
win.ipcRenderer.once('error-update-preferences', (_, err: Error) => {
|
||||
win.ipcRenderer.removeAllListeners('response-update-preferences')
|
||||
commit(MUTATION_TYPES.CHANGE_LOADING, false)
|
||||
reject(err)
|
||||
})
|
||||
ipcRenderer.once('response-update-preferences', (_, conf: BaseConfig) => {
|
||||
ipcRenderer.removeAllListeners('error-update-preferences')
|
||||
win.ipcRenderer.once('response-update-preferences', (_, conf: BaseConfig) => {
|
||||
win.ipcRenderer.removeAllListeners('error-update-preferences')
|
||||
commit(MUTATION_TYPES.UPDATE_GENERAL, conf.general as General)
|
||||
commit(MUTATION_TYPES.CHANGE_LOADING, false)
|
||||
resolve(conf)
|
||||
|
@ -97,19 +96,19 @@ const actions: ActionTree<GeneralState, RootState> = {
|
|||
general: newGeneral
|
||||
}
|
||||
return new Promise((resolve, reject) => {
|
||||
ipcRenderer.once('error-update-preferences', (_, err: Error) => {
|
||||
ipcRenderer.removeAllListeners('response-update-preferences')
|
||||
win.ipcRenderer.once('error-update-preferences', (_, err: Error) => {
|
||||
win.ipcRenderer.removeAllListeners('response-update-preferences')
|
||||
commit(MUTATION_TYPES.CHANGE_LOADING, false)
|
||||
reject(err)
|
||||
})
|
||||
ipcRenderer.once('response-update-preferences', (_, conf: BaseConfig) => {
|
||||
ipcRenderer.removeAllListeners('error-update-preferences')
|
||||
win.ipcRenderer.once('response-update-preferences', (_, conf: BaseConfig) => {
|
||||
win.ipcRenderer.removeAllListeners('error-update-preferences')
|
||||
commit(MUTATION_TYPES.UPDATE_GENERAL, conf.general as General)
|
||||
commit(MUTATION_TYPES.CHANGE_LOADING, false)
|
||||
dispatch('App/loadPreferences', null, { root: true })
|
||||
resolve(conf)
|
||||
})
|
||||
ipcRenderer.send('update-preferences', config)
|
||||
win.ipcRenderer.send('update-preferences', config)
|
||||
})
|
||||
},
|
||||
updateOther: ({ commit, state, dispatch }, other: {}) => {
|
||||
|
@ -122,22 +121,22 @@ const actions: ActionTree<GeneralState, RootState> = {
|
|||
general: newGeneral
|
||||
}
|
||||
return new Promise((resolve, reject) => {
|
||||
ipcRenderer.once('response-change-auto-launch', () => {
|
||||
ipcRenderer.once('error-update-preferences', (_, err: Error) => {
|
||||
ipcRenderer.removeAllListeners('response-update-preferences')
|
||||
win.ipcRenderer.once('response-change-auto-launch', () => {
|
||||
win.ipcRenderer.once('error-update-preferences', (_, err: Error) => {
|
||||
win.ipcRenderer.removeAllListeners('response-update-preferences')
|
||||
commit(MUTATION_TYPES.CHANGE_LOADING, false)
|
||||
reject(err)
|
||||
})
|
||||
ipcRenderer.once('response-update-preferences', (_, conf: BaseConfig) => {
|
||||
ipcRenderer.removeAllListeners('error-update-preferences')
|
||||
win.ipcRenderer.once('response-update-preferences', (_, conf: BaseConfig) => {
|
||||
win.ipcRenderer.removeAllListeners('error-update-preferences')
|
||||
commit(MUTATION_TYPES.UPDATE_GENERAL, conf.general as General)
|
||||
commit(MUTATION_TYPES.CHANGE_LOADING, false)
|
||||
dispatch('App/loadPreferences', null, { root: true })
|
||||
resolve(conf)
|
||||
})
|
||||
ipcRenderer.send('update-preferences', config)
|
||||
win.ipcRenderer.send('update-preferences', config)
|
||||
})
|
||||
ipcRenderer.send('change-auto-launch', newOther.launch)
|
||||
win.ipcRenderer.send('change-auto-launch', newOther.launch)
|
||||
})
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,9 +1,11 @@
|
|||
import { ipcRenderer } from 'electron'
|
||||
import Language from '~/src/constants/language'
|
||||
import { Module, MutationTree, ActionTree } from 'vuex'
|
||||
import { RootState } from '@/store'
|
||||
import { Language as LanguageSet } from '~/src/types/language'
|
||||
import { BaseConfig } from '~/src/types/preference'
|
||||
import { MyWindow } from '~/src/types/global'
|
||||
|
||||
const win = window as MyWindow
|
||||
|
||||
export type LanguageState = {
|
||||
language: LanguageSet
|
||||
|
@ -32,13 +34,13 @@ const mutations: MutationTree<LanguageState> = {
|
|||
const actions: ActionTree<LanguageState, RootState> = {
|
||||
loadLanguage: ({ commit }) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
ipcRenderer.send('get-preferences')
|
||||
ipcRenderer.once('error-get-preferences', (_, err: Error) => {
|
||||
ipcRenderer.removeAllListeners('response-get-preferences')
|
||||
win.ipcRenderer.send('get-preferences')
|
||||
win.ipcRenderer.once('error-get-preferences', (_, err: Error) => {
|
||||
win.ipcRenderer.removeAllListeners('response-get-preferences')
|
||||
reject(err)
|
||||
})
|
||||
ipcRenderer.once('response-get-preferences', (_, conf: BaseConfig) => {
|
||||
ipcRenderer.removeAllListeners('error-get-preferences')
|
||||
win.ipcRenderer.once('response-get-preferences', (_, conf: BaseConfig) => {
|
||||
win.ipcRenderer.removeAllListeners('error-get-preferences')
|
||||
commit(MUTATION_TYPES.UPDATE_LANGUAGE, conf.language as LanguageSet)
|
||||
resolve(conf)
|
||||
})
|
||||
|
@ -46,15 +48,15 @@ const actions: ActionTree<LanguageState, RootState> = {
|
|||
},
|
||||
changeLanguage: ({ commit }, key: string) => {
|
||||
return new Promise(resolve => {
|
||||
ipcRenderer.send('change-language', key)
|
||||
ipcRenderer.once('response-change-language', (_, value: string) => {
|
||||
win.ipcRenderer.send('change-language', key)
|
||||
win.ipcRenderer.once('response-change-language', (_, value: string) => {
|
||||
commit(MUTATION_TYPES.CHANGE_LANGUAGE, value)
|
||||
resolve(value)
|
||||
})
|
||||
})
|
||||
},
|
||||
relaunch: () => {
|
||||
ipcRenderer.send('relaunch')
|
||||
win.ipcRenderer.send('relaunch')
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1,8 +1,10 @@
|
|||
import { ipcRenderer } from 'electron'
|
||||
import { Module, MutationTree, ActionTree, GetterTree } from 'vuex'
|
||||
import { RootState } from '@/store'
|
||||
import { BaseConfig } from '~/src/types/preference'
|
||||
import { Proxy, ProxySource, ProxyProtocol, ManualProxy } from '~/src/types/proxy'
|
||||
import { MyWindow } from '~/src/types/global'
|
||||
|
||||
const win = window as MyWindow
|
||||
|
||||
export type NetworkState = {
|
||||
source: ProxySource
|
||||
|
@ -92,13 +94,13 @@ const mutations: MutationTree<NetworkState> = {
|
|||
const actions: ActionTree<NetworkState, RootState> = {
|
||||
loadProxy: ({ commit }) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
ipcRenderer.send('get-preferences')
|
||||
ipcRenderer.once('error-get-preferences', (_, err: Error) => {
|
||||
ipcRenderer.removeAllListeners('response-get-preferences')
|
||||
win.ipcRenderer.send('get-preferences')
|
||||
win.ipcRenderer.once('error-get-preferences', (_, err: Error) => {
|
||||
win.ipcRenderer.removeAllListeners('response-get-preferences')
|
||||
reject(err)
|
||||
})
|
||||
ipcRenderer.once('response-get-preferences', (_, conf: BaseConfig) => {
|
||||
ipcRenderer.removeAllListeners('error-get-preferences')
|
||||
win.ipcRenderer.once('response-get-preferences', (_, conf: BaseConfig) => {
|
||||
win.ipcRenderer.removeAllListeners('error-get-preferences')
|
||||
commit(MUTATION_TYPES.UPDATE_PROXY, conf.proxy as Proxy)
|
||||
resolve(conf)
|
||||
})
|
||||
|
@ -127,13 +129,13 @@ const actions: ActionTree<NetworkState, RootState> = {
|
|||
source: state.source,
|
||||
manualProxyConfig: state.proxy
|
||||
}
|
||||
ipcRenderer.once('response-update-proxy-config', async () => {
|
||||
win.ipcRenderer.once('response-update-proxy-config', async () => {
|
||||
dispatch('App/loadProxy', {}, { root: true })
|
||||
// Originally we have to restart all streamings after user change proxy configuration.
|
||||
// But streamings are restart after close preferences.
|
||||
// So we don't have to restart streaming here.
|
||||
})
|
||||
ipcRenderer.send('update-proxy-config', proxy)
|
||||
win.ipcRenderer.send('update-proxy-config', proxy)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1,8 +1,10 @@
|
|||
import { ipcRenderer } from 'electron'
|
||||
import { Module, MutationTree, ActionTree } from 'vuex'
|
||||
import { RootState } from '@/store'
|
||||
import { Notify } from '~/src/types/notify'
|
||||
import { BaseConfig, Notification } from '~/src/types/preference'
|
||||
import { MyWindow } from '~/src/types/global'
|
||||
|
||||
const win = window as MyWindow
|
||||
|
||||
export type NotificationState = {
|
||||
notification: Notification
|
||||
|
@ -32,13 +34,13 @@ const mutations: MutationTree<NotificationState> = {
|
|||
const actions: ActionTree<NotificationState, RootState> = {
|
||||
loadNotification: ({ commit }) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
ipcRenderer.send('get-preferences')
|
||||
ipcRenderer.once('error-get-preferences', (_, err: Error) => {
|
||||
ipcRenderer.removeAllListeners('response-get-preferences')
|
||||
win.ipcRenderer.send('get-preferences')
|
||||
win.ipcRenderer.once('error-get-preferences', (_, err: Error) => {
|
||||
win.ipcRenderer.removeAllListeners('response-get-preferences')
|
||||
reject(err)
|
||||
})
|
||||
ipcRenderer.once('response-get-preferences', (_, conf: BaseConfig) => {
|
||||
ipcRenderer.removeAllListeners('error-get-preferences')
|
||||
win.ipcRenderer.once('response-get-preferences', (_, conf: BaseConfig) => {
|
||||
win.ipcRenderer.removeAllListeners('error-get-preferences')
|
||||
commit(MUTATION_TYPES.UPDATE_NOTIFICATION, conf.notification)
|
||||
resolve(conf)
|
||||
})
|
||||
|
@ -53,8 +55,8 @@ const actions: ActionTree<NotificationState, RootState> = {
|
|||
notification: newNotification
|
||||
}
|
||||
return new Promise(resolve => {
|
||||
ipcRenderer.send('update-preferences', config)
|
||||
ipcRenderer.once('response-update-preferences', (_, conf: BaseConfig) => {
|
||||
win.ipcRenderer.send('update-preferences', config)
|
||||
win.ipcRenderer.once('response-update-preferences', (_, conf: BaseConfig) => {
|
||||
commit(MUTATION_TYPES.UPDATE_NOTIFICATION, conf.notification)
|
||||
dispatch('App/loadPreferences', null, { root: true })
|
||||
resolve(conf.notification)
|
||||
|
|
Loading…
Reference in New Issue