mirror of
https://github.com/ksyasuda/SubMiner.git
synced 2026-02-28 06:22:45 -08:00
69 lines
2.3 KiB
TypeScript
69 lines
2.3 KiB
TypeScript
export function createOnWillQuitCleanupHandler(deps: {
|
|
destroyTray: () => void;
|
|
stopConfigHotReload: () => void;
|
|
restorePreviousSecondarySubVisibility: () => void;
|
|
unregisterAllGlobalShortcuts: () => void;
|
|
stopSubtitleWebsocket: () => void;
|
|
stopTexthookerService: () => void;
|
|
destroyYomitanParserWindow: () => void;
|
|
clearYomitanParserState: () => void;
|
|
stopWindowTracker: () => void;
|
|
flushMpvLog: () => void;
|
|
destroyMpvSocket: () => void;
|
|
clearReconnectTimer: () => void;
|
|
destroySubtitleTimingTracker: () => void;
|
|
destroyImmersionTracker: () => void;
|
|
destroyAnkiIntegration: () => void;
|
|
destroyAnilistSetupWindow: () => void;
|
|
clearAnilistSetupWindow: () => void;
|
|
destroyJellyfinSetupWindow: () => void;
|
|
clearJellyfinSetupWindow: () => void;
|
|
stopJellyfinRemoteSession: () => void;
|
|
stopDiscordPresenceService: () => void;
|
|
}) {
|
|
return (): void => {
|
|
deps.destroyTray();
|
|
deps.stopConfigHotReload();
|
|
deps.restorePreviousSecondarySubVisibility();
|
|
deps.unregisterAllGlobalShortcuts();
|
|
deps.stopSubtitleWebsocket();
|
|
deps.stopTexthookerService();
|
|
deps.destroyYomitanParserWindow();
|
|
deps.clearYomitanParserState();
|
|
deps.stopWindowTracker();
|
|
deps.flushMpvLog();
|
|
deps.destroyMpvSocket();
|
|
deps.clearReconnectTimer();
|
|
deps.destroySubtitleTimingTracker();
|
|
deps.destroyImmersionTracker();
|
|
deps.destroyAnkiIntegration();
|
|
deps.destroyAnilistSetupWindow();
|
|
deps.clearAnilistSetupWindow();
|
|
deps.destroyJellyfinSetupWindow();
|
|
deps.clearJellyfinSetupWindow();
|
|
deps.stopJellyfinRemoteSession();
|
|
deps.stopDiscordPresenceService();
|
|
};
|
|
}
|
|
|
|
export function createShouldRestoreWindowsOnActivateHandler(deps: {
|
|
isOverlayRuntimeInitialized: () => boolean;
|
|
getAllWindowCount: () => number;
|
|
}) {
|
|
return (): boolean => deps.isOverlayRuntimeInitialized() && deps.getAllWindowCount() === 0;
|
|
}
|
|
|
|
export function createRestoreWindowsOnActivateHandler(deps: {
|
|
createMainWindow: () => void;
|
|
createInvisibleWindow: () => void;
|
|
updateVisibleOverlayVisibility: () => void;
|
|
updateInvisibleOverlayVisibility: () => void;
|
|
}) {
|
|
return (): void => {
|
|
deps.createMainWindow();
|
|
deps.createInvisibleWindow();
|
|
deps.updateVisibleOverlayVisibility();
|
|
deps.updateInvisibleOverlayVisibility();
|
|
};
|
|
}
|