Merge pull request #602 from NicolasConstant/topic_lang-electron-integration

Topic lang electron integration
This commit is contained in:
Nicolas Constant 2023-08-05 18:13:07 -04:00 committed by GitHub
commit 38b052f06b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 46 additions and 6 deletions

2
package-lock.json generated
View File

@ -1,6 +1,6 @@
{
"name": "sengi",
"version": "1.2.0",
"version": "1.4.0",
"lockfileVersion": 1,
"requires": true,
"dependencies": {

View File

@ -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": {

View File

@ -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([

View 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();
});
});

View 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);
}
}
}

View File

@ -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[] {