Added complete source code and pre-compiled application: Source Code: - app.asar (compiled Electron app) - app-extracted/ (all extracted source files) - dist/services/aiProviderService.js - dist/services/settingsService.js - dist/ipcHandlers.js - dist/aiProviderAPI.ts - dist/ai-provider-settings.html - And all other application files Build Tools: - scripts/extract-app.sh - scripts/repack-app.sh - scripts/build-deb.sh - scripts/install-deb.sh Documentation: - SOURCE_CODE.md (repository structure) - BUILD.md (build instructions) - README.md (overview) - docs/ (complete API docs) - AI_PROVIDER_SPECIFICATION.md - AI_PROVIDER_README.md - IMPLEMENTATION_SUMMARY.md Features included: - 17+ AI provider presets - One-click provider setup - Model auto-fetching - Connection testing - Modern GUI interface - Complete IPC handlers (14 new) - TypeScript API wrapper - Persistent settings Ready to build and customize!
20 lines
760 B
JavaScript
20 lines
760 B
JavaScript
"use strict";
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
exports.registerKeybindings = registerKeybindings;
|
|
const utils_1 = require("./utils");
|
|
function registerKeybindings(win, actions) {
|
|
win.webContents.on('before-input-event', (event, input) => {
|
|
if (input.type === 'keyDown') {
|
|
const isCmdOrCtrl = (0, utils_1.isMacOS)() ? input.meta : input.control;
|
|
if (isCmdOrCtrl && input.shift && input.key.toLowerCase() === 'n') {
|
|
actions.createNewWindow();
|
|
event.preventDefault();
|
|
}
|
|
if (isCmdOrCtrl && input.key.toLowerCase() === 'q') {
|
|
actions.onQuitRequested();
|
|
event.preventDefault();
|
|
}
|
|
}
|
|
});
|
|
}
|