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",
|
"name": "sengi",
|
||||||
"version": "1.2.0",
|
"version": "1.4.0",
|
||||||
"lockfileVersion": 1,
|
"lockfileVersion": 1,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
@ -5,8 +5,7 @@ import { HttpModule } from "@angular/http";
|
|||||||
import { HttpClientModule } from '@angular/common/http';
|
import { HttpClientModule } from '@angular/common/http';
|
||||||
import { NgModule, APP_INITIALIZER, CUSTOM_ELEMENTS_SCHEMA } from "@angular/core";
|
import { NgModule, APP_INITIALIZER, CUSTOM_ELEMENTS_SCHEMA } from "@angular/core";
|
||||||
import { RouterModule, Routes } from "@angular/router";
|
import { RouterModule, Routes } from "@angular/router";
|
||||||
|
// import { NgxElectronModule } from 'ngx-electron';
|
||||||
// import { NgxElectronModule } from "ngx-electron";
|
|
||||||
|
|
||||||
import { NgxsModule } from '@ngxs/store';
|
import { NgxsModule } from '@ngxs/store';
|
||||||
import { NgxsStoragePluginModule } from '@ngxs/storage-plugin';
|
import { NgxsStoragePluginModule } from '@ngxs/storage-plugin';
|
||||||
@ -178,6 +177,7 @@ const routes: Routes = [
|
|||||||
OwlDateTimeModule,
|
OwlDateTimeModule,
|
||||||
OwlNativeDateTimeModule,
|
OwlNativeDateTimeModule,
|
||||||
OverlayModule,
|
OverlayModule,
|
||||||
|
// NgxElectronModule,
|
||||||
RouterModule.forRoot(routes),
|
RouterModule.forRoot(routes),
|
||||||
|
|
||||||
NgxsModule.forRoot([
|
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 { Injectable } from '@angular/core';
|
||||||
import { BehaviorSubject } from 'rxjs';
|
import { BehaviorSubject } from 'rxjs';
|
||||||
|
|
||||||
import { ILanguage } from '../states/settings.state';
|
import { ILanguage } from '../states/settings.state';
|
||||||
|
import { MyElectronService } from './electron.service';
|
||||||
import { SettingsService } from './settings.service';
|
import { SettingsService } from './settings.service';
|
||||||
|
|
||||||
@Injectable({
|
@Injectable({
|
||||||
@ -10,7 +13,10 @@ export class LanguageService {
|
|||||||
configuredLanguagesChanged = new BehaviorSubject<ILanguage[]>([]);
|
configuredLanguagesChanged = new BehaviorSubject<ILanguage[]>([]);
|
||||||
selectedLanguageChanged = new BehaviorSubject<ILanguage>(null);
|
selectedLanguageChanged = new BehaviorSubject<ILanguage>(null);
|
||||||
|
|
||||||
constructor(private settingsService: SettingsService) {
|
constructor(
|
||||||
|
private settingsService: SettingsService,
|
||||||
|
private electronService: MyElectronService
|
||||||
|
) {
|
||||||
this.configuredLanguagesChanged.next(this.getConfiguredLanguages());
|
this.configuredLanguagesChanged.next(this.getConfiguredLanguages());
|
||||||
this.selectedLanguageChanged.next(this.getSelectedLanguage());
|
this.selectedLanguageChanged.next(this.getSelectedLanguage());
|
||||||
}
|
}
|
||||||
@ -26,6 +32,8 @@ export class LanguageService {
|
|||||||
this.settingsService.saveSettings(settings);
|
this.settingsService.saveSettings(settings);
|
||||||
|
|
||||||
this.selectedLanguageChanged.next(lang);
|
this.selectedLanguageChanged.next(lang);
|
||||||
|
|
||||||
|
this.electronService.setLang(lang.iso639);
|
||||||
}
|
}
|
||||||
|
|
||||||
getConfiguredLanguages(): ILanguage[] {
|
getConfiguredLanguages(): ILanguage[] {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user