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", "name": "sengi",
"version": "1.2.0", "version": "1.4.0",
"lockfileVersion": 1, "lockfileVersion": 1,
"requires": true, "requires": true,
"dependencies": { "dependencies": {

View File

@ -20,8 +20,8 @@
"test": "ng test", "test": "ng test",
"test-nowatch": "ng test --watch=false", "test-nowatch": "ng test --watch=false",
"lint": "ng lint", "lint": "ng lint",
"e2e": "ng e2e", "e2e": "ng e2e",
"dist": "npm run build" "dist": "npm run build"
}, },
"private": true, "private": true,
"dependencies": { "dependencies": {

View File

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

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