diff --git a/QuickLook.Plugin/QuickLook.Plugin.ChmViewer/Plugin.cs b/QuickLook.Plugin/QuickLook.Plugin.ChmViewer/Plugin.cs new file mode 100644 index 0000000..a8d958b --- /dev/null +++ b/QuickLook.Plugin/QuickLook.Plugin.ChmViewer/Plugin.cs @@ -0,0 +1,57 @@ +// Copyright © 2017-2026 QL-Win Contributors +// +// This file is part of QuickLook program. +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . + +using QuickLook.Common.Plugin; +using System; +using System.IO; +using System.Windows; + +namespace QuickLook.Plugin.ChmViewer; + +public sealed class Plugin : IViewer +{ + public int Priority => 0; + + public void Init() + { + } + + public bool CanHandle(string path) + { + return false; +#pragma warning disable CS0162 // Unreachable code detected + return !Directory.Exists(path) + && Path.GetExtension(path).Equals(".chm", StringComparison.OrdinalIgnoreCase); +#pragma warning restore CS0162 // Unreachable code detected + } + + public void Prepare(string path, ContextObject context) + { + context.Title = Path.GetFileName(path); + context.IsBlocked = true; + context.PreferredSize = new Size { Width = 800, Height = 600 }; + } + + public void View(string path, ContextObject context) + { + context.IsBusy = false; + } + + public void Cleanup() + { + } +} diff --git a/QuickLook.Plugin/QuickLook.Plugin.ChmViewer/QuickLook.Plugin.ChmViewer.csproj b/QuickLook.Plugin/QuickLook.Plugin.ChmViewer/QuickLook.Plugin.ChmViewer.csproj new file mode 100644 index 0000000..4d6aa2f --- /dev/null +++ b/QuickLook.Plugin/QuickLook.Plugin.ChmViewer/QuickLook.Plugin.ChmViewer.csproj @@ -0,0 +1,81 @@ + + + + Library + net462 + QuickLook.Plugin.ChmViewer + QuickLook.Plugin.ChmViewer + 512 + false + true + latest + false + false + false + MinimumRecommendedRules.ruleset + {C6E87A2A-8BC0-4D15-B7CA-8A061B79B8D5} + AnyCPU + AnyCPU;x64;ARM64 + + + + true + full + false + ..\..\Build\Debug\QuickLook.Plugin\QuickLook.Plugin.ChmViewer\ + DEBUG;TRACE + prompt + + + + true + full + false + ..\..\Build\Debug\QuickLook.Plugin\QuickLook.Plugin.ChmViewer\ + DEBUG;TRACE + prompt + + + + pdbonly + true + ..\..\Build\Release\QuickLook.Plugin\QuickLook.Plugin.ChmViewer\ + TRACE + prompt + + + + pdbonly + true + ..\..\Build\Release\QuickLook.Plugin\QuickLook.Plugin.ChmViewer\ + TRACE + prompt + + + + true + full + ..\..\Build\Debug\QuickLook.Plugin\QuickLook.Plugin.ChmViewer\ + DEBUG;TRACE + x86 + prompt + + + + ..\..\Build\Release\QuickLook.Plugin\QuickLook.Plugin.ChmViewer\ + TRACE + true + pdbonly + x86 + prompt + + + + + {85FDD6BA-871D-46C8-BD64-F6BB0CB5EA95} + QuickLook.Common + False + + + + diff --git a/QuickLook.slnx b/QuickLook.slnx index 1235350..ee2665e 100644 --- a/QuickLook.slnx +++ b/QuickLook.slnx @@ -60,6 +60,10 @@ + + + + @@ -119,6 +123,7 @@ +