From a8537da6dbc663100b476f916215aee5cab96a1a Mon Sep 17 00:00:00 2001 From: wtetsu Date: Sun, 16 Aug 2020 00:40:22 +0900 Subject: [PATCH] Change PDF pattern behavior --- src/main/core/start.js | 11 ++++------- src/main/settings/defaultsettings.js | 2 +- src/options/component/AdvancedSettings.tsx | 7 ++++--- src/options/resource/en.ts | 2 +- src/options/resource/ja.ts | 2 +- src/options/types.ts | 2 +- 6 files changed, 12 insertions(+), 14 deletions(-) diff --git a/src/main/core/start.js b/src/main/core/start.js index aa745e8d..bfc5a15a 100644 --- a/src/main/core/start.js +++ b/src/main/core/start.js @@ -37,7 +37,7 @@ const processFirstLaunch = async () => { const { settings, position } = await config.loadAll(); - if (onPdfDocument(location.href, settings.pdfUrlPattern)) { + if (onPdfDocument(location.href, settings.pdfUrl)) { launchPdfViewer(settings); return; } @@ -68,13 +68,10 @@ const launchPdfViewer = (settings) => { }; const onPdfDocument = (url, pdfUrlPattern) => { - const e = document.body?.children?.[0]; - if (e?.tagName === "EMBED" && e?.type === "application/pdf") { - return true; - } - if (!pdfUrlPattern) { - return false; + const e = document.body?.children?.[0]; + const embedPdf = e?.tagName === "EMBED" && e?.type === "application/pdf"; + return embedPdf; } try { diff --git a/src/main/settings/defaultsettings.js b/src/main/settings/defaultsettings.js index 59cf1681..c1d9ab52 100644 --- a/src/main/settings/defaultsettings.js +++ b/src/main/settings/defaultsettings.js @@ -12,7 +12,7 @@ export default { initialPosition: "right", scroll: "scroll", skipPdfConfirmation: false, - pdfUrlPattern: "\\.(?:pdf|PDF)\\??[\\w-=&~]*$", + pdfUrl: "", backgroundColor: "#ffffff", headFontColor: "#000088", descFontColor: "#101010", diff --git a/src/options/component/AdvancedSettings.tsx b/src/options/component/AdvancedSettings.tsx index aa175df9..b5b756c6 100644 --- a/src/options/component/AdvancedSettings.tsx +++ b/src/options/component/AdvancedSettings.tsx @@ -19,7 +19,7 @@ type AdvancedSettingsProps = { export const AdvancedSettings: React.FC = (props) => { const lookupWithCapitalized = props.settings?.lookupWithCapitalized ?? false; const parseWordsLimit = props.settings?.parseWordsLimit ?? 8; - const pdfUrlPattern = props.settings?.pdfUrlPattern ?? ""; + const pdfUrl = props.settings?.pdfUrl ?? ""; const contentWrapperTemplate = props.settings?.contentWrapperTemplate ?? ""; const dialogTemplate = props.settings?.dialogTemplate ?? ""; const contentTemplate = props.settings?.contentTemplate ?? ""; @@ -65,9 +65,10 @@ export const AdvancedSettings: React.FC = (props) => {   update({ pdfUrlPattern: e.target.value })} + value={pdfUrl} + onChange={(e) => update({ pdfUrl: e.target.value })} style={{ width: 600 }} + placeholder="\.pdf$" />

{res.get("htmlTemplate")} diff --git a/src/options/resource/en.ts b/src/options/resource/en.ts index f7688381..cc3db425 100644 --- a/src/options/resource/en.ts +++ b/src/options/resource/en.ts @@ -88,5 +88,5 @@ export default { aboutJsonEditor: "This is JSON data which expresses the whole Mouse Dictionary's settings. Please use it for backup, sharing and so forth.", skipPdfConfirmation: "Skip PDF download confirmation", - pdfUrlPattern: "PDF URL pattern", + pdfUrlPattern: "Override PDF document judgment (regular expressions for URL)", }; diff --git a/src/options/resource/ja.ts b/src/options/resource/ja.ts index a5414eeb..f1ab371f 100644 --- a/src/options/resource/ja.ts +++ b/src/options/resource/ja.ts @@ -85,5 +85,5 @@ export default { aboutJsonEditor: "Mouse Dictionary設定全体のJSONデータです。バックアップや共有にご利用ください ※辞書データは含みません", skipPdfConfirmation: "PDFファイルのダウンロード確認を省略する", - pdfUrlPattern: "PDFドキュメントとみなすURLパターン", + pdfUrlPattern: "PDFドキュメント判定の上書き(URLに対する正規表現)", }; diff --git a/src/options/types.ts b/src/options/types.ts index 868b80c0..424e3f4a 100644 --- a/src/options/types.ts +++ b/src/options/types.ts @@ -29,7 +29,7 @@ export type MouseDictionaryAdvancedSettings = { contentWrapperTemplate: string; dialogTemplate: string; contentTemplate: string; - pdfUrlPattern: string; + pdfUrl: string; }; export type InitialPosition = "left" | "right" | "keep";