mirror of
https://github.com/NicolasConstant/sengi
synced 2025-02-07 05:44:07 +01:00
Merge pull request #602 from NicolasConstant/topic_lang-electron-integration
Topic lang electron integration
This commit is contained in:
commit
38b052f06b
2
package-lock.json
generated
2
package-lock.json
generated
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "sengi",
|
||||
"version": "1.2.0",
|
||||
"version": "1.4.0",
|
||||
"lockfileVersion": 1,
|
||||
"requires": true,
|
||||
"dependencies": {
|
||||
|
@ -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": {
|
||||
|
@ -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([
|
||||
|
12
src/app/services/electron.service.spec.ts
Normal file
12
src/app/services/electron.service.spec.ts
Normal file
@ -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();
|
||||
});
|
||||
});
|
20
src/app/services/electron.service.ts
Normal file
20
src/app/services/electron.service.ts
Normal file
@ -0,0 +1,20 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
|
||||
@Injectable({
|
||||
providedIn: 'root'
|
||||
})
|
||||
export class MyElectronService {
|
||||
constructor() {
|
||||
}
|
||||
|
||||
setLang(lang: string) {
|
||||
try {
|
||||
if ((<any>window).api) {
|
||||
(<any>window).api.send("changeSpellchecker", lang);
|
||||
}
|
||||
}
|
||||
catch (err) {
|
||||
console.error(err);
|
||||
}
|
||||
}
|
||||
}
|
@ -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<ILanguage[]>([]);
|
||||
selectedLanguageChanged = new BehaviorSubject<ILanguage>(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[] {
|
||||
|
Loading…
x
Reference in New Issue
Block a user