mirror of
https://github.com/microsoft/PowerToys.git
synced 2026-04-07 11:46:30 +02:00
Use effective pixels for unsupported previewer (#26345)
This commit is contained in:
@@ -167,8 +167,8 @@ namespace Peek.FilePreviewer
|
||||
{
|
||||
if (Previewer != null)
|
||||
{
|
||||
var size = await Previewer.GetPreviewSizeAsync(cancellationToken);
|
||||
PreviewSizeChanged?.Invoke(this, new PreviewSizeChangedArgs(size));
|
||||
var previewSize = await Previewer.GetPreviewSizeAsync(cancellationToken);
|
||||
PreviewSizeChanged?.Invoke(this, new PreviewSizeChangedArgs(previewSize));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
15
src/modules/peek/Peek.FilePreviewer/Models/PreviewSize.cs
Normal file
15
src/modules/peek/Peek.FilePreviewer/Models/PreviewSize.cs
Normal file
@@ -0,0 +1,15 @@
|
||||
// Copyright (c) Microsoft Corporation
|
||||
// The Microsoft Corporation licenses this file to you under the MIT license.
|
||||
// See the LICENSE file in the project root for more information.
|
||||
|
||||
using Windows.Foundation;
|
||||
|
||||
namespace Peek.FilePreviewer.Models
|
||||
{
|
||||
public record PreviewSize
|
||||
{
|
||||
public Size? MonitorSize { get; init; }
|
||||
|
||||
public bool UseEffectivePixels { get; init; }
|
||||
}
|
||||
}
|
||||
@@ -8,11 +8,11 @@ namespace Peek.FilePreviewer.Models
|
||||
{
|
||||
public class PreviewSizeChangedArgs
|
||||
{
|
||||
public PreviewSizeChangedArgs(Size? windowSizeRequested)
|
||||
public PreviewSizeChangedArgs(PreviewSize previewSize)
|
||||
{
|
||||
WindowSizeRequested = windowSizeRequested;
|
||||
PreviewSize = previewSize;
|
||||
}
|
||||
|
||||
public Size? WindowSizeRequested { get; init; }
|
||||
public PreviewSize PreviewSize { get; init; }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6,6 +6,7 @@ using System;
|
||||
using System.ComponentModel;
|
||||
using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
using Peek.FilePreviewer.Models;
|
||||
using Windows.Foundation;
|
||||
|
||||
namespace Peek.FilePreviewer.Previewers
|
||||
@@ -16,7 +17,7 @@ namespace Peek.FilePreviewer.Previewers
|
||||
|
||||
public static bool IsFileTypeSupported(string fileExt) => throw new NotImplementedException();
|
||||
|
||||
public Task<Size?> GetPreviewSizeAsync(CancellationToken cancellationToken);
|
||||
public Task<PreviewSize> GetPreviewSizeAsync(CancellationToken cancellationToken);
|
||||
|
||||
Task LoadPreviewAsync(CancellationToken cancellationToken);
|
||||
|
||||
|
||||
@@ -15,6 +15,7 @@ using Peek.Common.Extensions;
|
||||
using Peek.Common.Helpers;
|
||||
using Peek.Common.Models;
|
||||
using Peek.FilePreviewer.Exceptions;
|
||||
using Peek.FilePreviewer.Models;
|
||||
using Peek.FilePreviewer.Previewers.Helpers;
|
||||
using Peek.FilePreviewer.Previewers.Interfaces;
|
||||
using Windows.Foundation;
|
||||
@@ -68,7 +69,7 @@ namespace Peek.FilePreviewer.Previewers
|
||||
GC.SuppressFinalize(this);
|
||||
}
|
||||
|
||||
public async Task<Size?> GetPreviewSizeAsync(CancellationToken cancellationToken)
|
||||
public async Task<PreviewSize> GetPreviewSizeAsync(CancellationToken cancellationToken)
|
||||
{
|
||||
cancellationToken.ThrowIfCancellationRequested();
|
||||
if (IsSvg(Item))
|
||||
@@ -88,7 +89,7 @@ namespace Peek.FilePreviewer.Previewers
|
||||
}
|
||||
}
|
||||
|
||||
return ImageSize;
|
||||
return new PreviewSize { MonitorSize = ImageSize };
|
||||
}
|
||||
|
||||
public async Task LoadPreviewAsync(CancellationToken cancellationToken)
|
||||
|
||||
@@ -13,6 +13,7 @@ using Microsoft.UI.Dispatching;
|
||||
using Peek.Common.Extensions;
|
||||
using Peek.Common.Helpers;
|
||||
using Peek.Common.Models;
|
||||
using Peek.FilePreviewer.Models;
|
||||
using Peek.FilePreviewer.Previewers.Interfaces;
|
||||
using Windows.Foundation;
|
||||
using Windows.Media.Core;
|
||||
@@ -74,10 +75,11 @@ namespace Peek.FilePreviewer.Previewers
|
||||
}
|
||||
}
|
||||
|
||||
public async Task<Size?> GetPreviewSizeAsync(CancellationToken cancellationToken)
|
||||
public async Task<PreviewSize> GetPreviewSizeAsync(CancellationToken cancellationToken)
|
||||
{
|
||||
cancellationToken.ThrowIfCancellationRequested();
|
||||
return await Task.Run(Item.GetVideoSize);
|
||||
var videoSize = await Task.Run(Item.GetVideoSize);
|
||||
return new PreviewSize { MonitorSize = videoSize };
|
||||
}
|
||||
|
||||
public async Task CopyAsync()
|
||||
|
||||
@@ -51,10 +51,11 @@ namespace Peek.FilePreviewer.Previewers
|
||||
GC.SuppressFinalize(this);
|
||||
}
|
||||
|
||||
public Task<Size?> GetPreviewSizeAsync(CancellationToken cancellationToken)
|
||||
public Task<PreviewSize> GetPreviewSizeAsync(CancellationToken cancellationToken)
|
||||
{
|
||||
Size? size = new Size(680, 500);
|
||||
return Task.FromResult(size);
|
||||
var previewSize = new PreviewSize { MonitorSize = size, UseEffectivePixels = true };
|
||||
return Task.FromResult(previewSize);
|
||||
}
|
||||
|
||||
public async Task LoadPreviewAsync(CancellationToken cancellationToken)
|
||||
|
||||
@@ -12,6 +12,7 @@ using Peek.Common.Constants;
|
||||
using Peek.Common.Extensions;
|
||||
using Peek.Common.Helpers;
|
||||
using Peek.Common.Models;
|
||||
using Peek.FilePreviewer.Models;
|
||||
using Windows.Foundation;
|
||||
|
||||
namespace Peek.FilePreviewer.Previewers
|
||||
@@ -76,10 +77,9 @@ namespace Peek.FilePreviewer.Previewers
|
||||
|
||||
private Task<bool>? DisplayInfoTask { get; set; }
|
||||
|
||||
public Task<Size?> GetPreviewSizeAsync(CancellationToken cancellationToken)
|
||||
public Task<PreviewSize> GetPreviewSizeAsync(CancellationToken cancellationToken)
|
||||
{
|
||||
Size? size = null;
|
||||
return Task.FromResult(size);
|
||||
return Task.FromResult(new PreviewSize { MonitorSize = null });
|
||||
}
|
||||
|
||||
public async Task LoadPreviewAsync(CancellationToken cancellationToken)
|
||||
|
||||
Reference in New Issue
Block a user