diff --git a/package-lock.json b/package-lock.json index 87ba2a57..d650fa7d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "sengi", - "version": "1.2.0", + "version": "1.4.0", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 054950cf..4edbdb21 100644 --- a/package.json +++ b/package.json @@ -20,8 +20,8 @@ "test": "ng test", "test-nowatch": "ng test --watch=false", "lint": "ng lint", - "e2e": "ng e2e", - "dist": "npm run build" + "e2e": "ng e2e", + "dist": "npm run build" }, "private": true, "dependencies": { diff --git a/src/app/app.module.ts b/src/app/app.module.ts index 365672e7..64bfd416 100644 --- a/src/app/app.module.ts +++ b/src/app/app.module.ts @@ -5,8 +5,7 @@ import { HttpModule } from "@angular/http"; import { HttpClientModule } from '@angular/common/http'; import { NgModule, APP_INITIALIZER, CUSTOM_ELEMENTS_SCHEMA } from "@angular/core"; import { RouterModule, Routes } from "@angular/router"; - -// import { NgxElectronModule } from "ngx-electron"; +// import { NgxElectronModule } from 'ngx-electron'; import { NgxsModule } from '@ngxs/store'; import { NgxsStoragePluginModule } from '@ngxs/storage-plugin'; @@ -178,6 +177,7 @@ const routes: Routes = [ OwlDateTimeModule, OwlNativeDateTimeModule, OverlayModule, + // NgxElectronModule, RouterModule.forRoot(routes), NgxsModule.forRoot([ diff --git a/src/app/services/electron.service.spec.ts b/src/app/services/electron.service.spec.ts new file mode 100644 index 00000000..38fe2f0e --- /dev/null +++ b/src/app/services/electron.service.spec.ts @@ -0,0 +1,12 @@ +import { TestBed } from '@angular/core/testing'; + +import { ElectronService } from './electron.service'; + +describe('ElectronService', () => { + beforeEach(() => TestBed.configureTestingModule({})); + + it('should be created', () => { + const service: ElectronService = TestBed.get(ElectronService); + expect(service).toBeTruthy(); + }); +}); diff --git a/src/app/services/electron.service.ts b/src/app/services/electron.service.ts new file mode 100644 index 00000000..65c82c1c --- /dev/null +++ b/src/app/services/electron.service.ts @@ -0,0 +1,20 @@ +import { Injectable } from '@angular/core'; + +@Injectable({ + providedIn: 'root' +}) +export class MyElectronService { + constructor() { + } + + setLang(lang: string) { + try { + if ((window).api) { + (window).api.send("changeSpellchecker", lang); + } + } + catch (err) { + console.error(err); + } + } +} diff --git a/src/app/services/language.service.ts b/src/app/services/language.service.ts index 7b8a4db8..785a0bfe 100644 --- a/src/app/services/language.service.ts +++ b/src/app/services/language.service.ts @@ -1,6 +1,9 @@ +import { T } from '@angular/cdk/keycodes'; import { Injectable } from '@angular/core'; import { BehaviorSubject } from 'rxjs'; + import { ILanguage } from '../states/settings.state'; +import { MyElectronService } from './electron.service'; import { SettingsService } from './settings.service'; @Injectable({ @@ -10,7 +13,10 @@ export class LanguageService { configuredLanguagesChanged = new BehaviorSubject([]); selectedLanguageChanged = new BehaviorSubject(null); - constructor(private settingsService: SettingsService) { + constructor( + private settingsService: SettingsService, + private electronService: MyElectronService + ) { this.configuredLanguagesChanged.next(this.getConfiguredLanguages()); this.selectedLanguageChanged.next(this.getSelectedLanguage()); } @@ -26,6 +32,8 @@ export class LanguageService { this.settingsService.saveSettings(settings); this.selectedLanguageChanged.next(lang); + + this.electronService.setLang(lang.iso639); } getConfiguredLanguages(): ILanguage[] {