Compare commits

...

7 Commits

Author SHA1 Message Date
copilot-swe-agent[bot]
d91ef677f2 Address code review feedback: improve logic and remove redundant code
Co-authored-by: emako <24737061+emako@users.noreply.github.com>
2025-12-08 02:21:31 +00:00
copilot-swe-agent[bot]
9a768b2401 Add remember choice option for protected view notice
Co-authored-by: emako <24737061+emako@users.noreply.github.com>
2025-12-08 02:17:10 +00:00
copilot-swe-agent[bot]
ef17dc5dcc Initial plan 2025-12-08 02:08:39 +00:00
ema
7211c2ebdd Update PowerShell syntax colors in dark theme
Some checks failed
MSBuild / build (push) Has been cancelled
MSBuild / publish (push) Has been cancelled
Changed the color values for Keywords2 and Keywords3 in the PowerShell.xshd dark theme file to use specific hex codes instead of named colors for improved consistency and appearance.
2025-12-05 13:40:57 +08:00
ema
76dfa34928 Update NuGet package versions in project files
Some checks failed
MSBuild / build (push) Has been cancelled
MSBuild / publish (push) Has been cancelled
Upgraded several NuGet dependencies across multiple csproj files, including Microsoft.Web.WebView2, Google.Protobuf, MsgReader, bblanchon.PDFiumV8.Win32, and Lib.Harmony. This ensures compatibility with the latest features and bug fixes from upstream packages.
2025-11-26 01:07:28 +08:00
Copilot
bf7de3bd8e Add ShowInTaskbar setting to display window in taskbar (#1818) 2025-11-26 00:52:12 +08:00
Copilot
1adb7ce980 Add option to disable automatic update check at startup (#1819) 2025-11-26 00:45:15 +08:00
13 changed files with 143 additions and 21 deletions

View File

@@ -73,7 +73,7 @@
<ItemGroup>
<PackageReference Include="FreeTypeSharp" Version="3.0.1" />
<PackageReference Include="QuickLook.Typography.OpenFont" Version="1.0.1" />
<PackageReference Include="Microsoft.Web.WebView2" Version="1.0.3537.50">
<PackageReference Include="Microsoft.Web.WebView2" Version="1.0.3595.46">
<PrivateAssets>all</PrivateAssets>
</PackageReference>
</ItemGroup>

View File

@@ -61,7 +61,7 @@
</ItemGroup>
<ItemGroup>
<PackageReference Include="Microsoft.Web.WebView2" Version="1.0.3537.50">
<PackageReference Include="Microsoft.Web.WebView2" Version="1.0.3595.46">
<PrivateAssets>all</PrivateAssets>
</PackageReference>
</ItemGroup>

View File

@@ -62,10 +62,10 @@
<PackageReference Include="Magick.NET-Q8-AnyCPU" Version="14.9.1">
<PrivateAssets>all</PrivateAssets>
</PackageReference>
<PackageReference Include="Microsoft.Web.WebView2" Version="1.0.3537.50">
<PackageReference Include="Microsoft.Web.WebView2" Version="1.0.3595.46">
<PrivateAssets>all</PrivateAssets>
</PackageReference>
<PackageReference Include="Google.Protobuf" Version="3.33.0">
<PackageReference Include="Google.Protobuf" Version="3.33.1">
<PrivateAssets>all</PrivateAssets>
</PackageReference>
<PackageReference Include="System.Memory" Version="4.6.3">

View File

@@ -55,7 +55,7 @@
</PropertyGroup>
<ItemGroup>
<PackageReference Include="MsgReader" Version="6.0.5" />
<PackageReference Include="MsgReader" Version="6.0.6" />
</ItemGroup>
<ItemGroup>

View File

@@ -61,7 +61,7 @@
<ItemGroup>
<PackageReference Include="UTF.Unknown" Version="2.6.0" />
<Reference Include="WindowsBase" />
<PackageReference Include="Microsoft.Web.WebView2" Version="1.0.3537.50">
<PackageReference Include="Microsoft.Web.WebView2" Version="1.0.3595.46">
<PrivateAssets>all</PrivateAssets>
</PackageReference>
</ItemGroup>

View File

@@ -108,19 +108,32 @@ public class Plugin : IViewer
{
context.Title = $"[PROTECTED VIEW] {Path.GetFileName(path)}";
MessageBoxResult result = MessageBox.Show(
"""
Be careful - files from the Internet can contain viruses.
The Office interface prevents loading in Protected View.
// Check if user has a saved preference
var savedPreference = SettingHelper.Get<bool?>("AlwaysUnblockProtectedView", null, "QuickLook.Plugin.OfficeViewer");
Would you like OfficeViewer-Native to unblock the ZoneIdentifier of Internet?
""",
"PROTECTED VIEW",
MessageBoxButton.YesNo,
MessageBoxImage.Question
);
bool shouldUnblock;
if (result == MessageBoxResult.Yes)
if (savedPreference.HasValue)
{
// Use saved preference
shouldUnblock = savedPreference.Value;
}
else
{
// Show dialog to ask user
var dialog = new ProtectedViewDialog();
var dialogResult = dialog.ShowDialog();
shouldUnblock = dialogResult == true;
// Save preference if user checked "Remember my choice"
if (dialog.RememberChoice)
{
SettingHelper.Set("AlwaysUnblockProtectedView", shouldUnblock, "QuickLook.Plugin.OfficeViewer");
}
}
if (shouldUnblock)
{
_ = ZoneIdentifierManager.UnblockZone(path);
}

View File

@@ -0,0 +1,60 @@
<Window x:Class="QuickLook.Plugin.OfficeViewer.ProtectedViewDialog"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="PROTECTED VIEW"
Width="500"
Height="250"
WindowStartupLocation="CenterScreen"
ResizeMode="NoResize"
ShowInTaskbar="False">
<Grid Margin="20">
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<TextBlock Grid.Row="0"
TextWrapping="Wrap"
FontSize="14"
Margin="0,0,0,10">
<Run FontWeight="Bold">Be careful - files from the Internet can contain viruses.</Run>
</TextBlock>
<TextBlock Grid.Row="1"
TextWrapping="Wrap"
Margin="0,0,0,10">
The Office interface prevents loading in Protected View.
</TextBlock>
<TextBlock Grid.Row="2"
TextWrapping="Wrap"
Margin="0,0,0,20">
Would you like OfficeViewer-Native to unblock the ZoneIdentifier of Internet?
</TextBlock>
<StackPanel Grid.Row="3">
<CheckBox x:Name="RememberCheckBox"
Content="Remember my choice"
Margin="0,0,0,15" />
<StackPanel Orientation="Horizontal"
HorizontalAlignment="Right">
<Button x:Name="YesButton"
Content="Yes"
Width="80"
Height="30"
Margin="0,0,10,0"
IsDefault="True"
Click="YesButton_Click" />
<Button x:Name="NoButton"
Content="No"
Width="80"
Height="30"
IsCancel="True"
Click="NoButton_Click" />
</StackPanel>
</StackPanel>
</Grid>
</Window>

View File

@@ -0,0 +1,44 @@
// Copyright © 2017-2025 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 <http://www.gnu.org/licenses/>.
using System.Windows;
namespace QuickLook.Plugin.OfficeViewer;
public partial class ProtectedViewDialog : Window
{
public bool RememberChoice => RememberCheckBox.IsChecked ?? false;
public bool UserSelectedYes { get; private set; }
public ProtectedViewDialog()
{
InitializeComponent();
}
private void YesButton_Click(object sender, RoutedEventArgs e)
{
UserSelectedYes = true;
DialogResult = true;
Close();
}
private void NoButton_Click(object sender, RoutedEventArgs e)
{
DialogResult = false;
Close();
}
}

View File

@@ -64,7 +64,7 @@
<ItemGroup>
<PackageReference Include="PdfiumViewer.Updated" Version="2.14.5" />
<PackageReference Include="bblanchon.PDFiumV8.Win32" Version="143.0.7497" />
<PackageReference Include="bblanchon.PDFiumV8.Win32" Version="144.0.7543" />
<Reference Include="WindowsBase" />
</ItemGroup>

View File

@@ -93,7 +93,7 @@
<Key word="workflow"/>
</KeyWords>
<KeyWords name="Keywords2" color="Purple" bold="false" italic="false">
<KeyWords name="Keywords2" color="#D8A0DF" bold="false" italic="false">
<Key word="Add-Computer"/>
<Key word="Add-Content"/>
<Key word="Add-History"/>
@@ -439,7 +439,7 @@
<Key word="Write-Zip"/>
</KeyWords>
<KeyWords name="Keywords3" color="Teal" bold="false" italic="false">
<KeyWords name="Keywords3" color="#80CBC4" bold="false" italic="false">
<Key word="ac"/>
<Key word="asnp"/>
<Key word="cat"/>

View File

@@ -259,6 +259,9 @@ public partial class App : Application
private void CheckUpdate()
{
if (SettingHelper.Get("DisableAutoUpdateCheck", false))
return;
if (DateTime.Now.Ticks - SettingHelper.Get<long>("LastUpdateTicks") < TimeSpan.FromDays(30).Ticks)
return;

View File

@@ -105,7 +105,7 @@
<PackageReference Include="WPF-UI.Violeta" Version="4.0.3.6">
<PrivateAssets>all</PrivateAssets>
</PackageReference>
<PackageReference Include="Lib.Harmony" Version="2.4.1">
<PackageReference Include="Lib.Harmony" Version="2.4.2">
<PrivateAssets>all</PrivateAssets>
</PackageReference>
<PackageReference Include="UnblockZoneIdentifier" Version="1.0.0">

View File

@@ -64,6 +64,8 @@ public partial class ViewerWindow : Window
Topmost = SettingHelper.Get("Topmost", false);
buttonTop.Tag = Topmost ? "Top" : "Auto";
ShowInTaskbar = SettingHelper.Get("ShowInTaskbar", false);
buttonTop.Click += (_, _) =>
{
Topmost = !Topmost;