mirror of
https://github.com/claunia/marechai.git
synced 2026-07-08 17:57:08 +00:00
Show WinWorldPC screenshot thumbnails in Uno review
This commit is contained in:
@@ -79,10 +79,24 @@ public sealed partial class WwpcScreenshotDecisionItem : ObservableObject
|
||||
public string ImageUrl { get; init; } = string.Empty;
|
||||
public string OriginalCaption { get; init; } = string.Empty;
|
||||
|
||||
public string ThumbnailUrl => AbsoluteWwpcUrl(ImageUrl);
|
||||
public string SourcePageUrl => AbsoluteWwpcUrl(SourceUrl);
|
||||
public bool HasThumbnail => !string.IsNullOrWhiteSpace(ThumbnailUrl);
|
||||
|
||||
[ObservableProperty] private bool _include;
|
||||
[ObservableProperty] private string _captionOverride = string.Empty;
|
||||
[ObservableProperty] private SoftwarePlatformDto? _platform;
|
||||
[ObservableProperty] private WwpcVersionDecisionItem? _linkedVersion;
|
||||
|
||||
private static string AbsoluteWwpcUrl(string? url)
|
||||
{
|
||||
if(string.IsNullOrWhiteSpace(url)) return string.Empty;
|
||||
if(url.StartsWith("http://", StringComparison.OrdinalIgnoreCase) ||
|
||||
url.StartsWith("https://", StringComparison.OrdinalIgnoreCase))
|
||||
return url;
|
||||
|
||||
return "https://winworldpc.com" + (url.StartsWith('/') ? url : "/" + url);
|
||||
}
|
||||
}
|
||||
|
||||
public sealed partial class WwpcGenreChipItem : ObservableObject
|
||||
|
||||
@@ -419,6 +419,30 @@
|
||||
</controls:DataGridTemplateColumn.CellTemplate>
|
||||
</controls:DataGridTemplateColumn>
|
||||
<controls:DataGridTextColumn Header="{Binding Source={StaticResource Strings}, Path=WwpcMajorReleaseColumn}" Binding="{Binding MajorRelease}" Width="*" />
|
||||
<controls:DataGridTemplateColumn Header="Thumbnail" Width="Auto">
|
||||
<controls:DataGridTemplateColumn.CellTemplate>
|
||||
<DataTemplate>
|
||||
<Grid Width="160" Height="90">
|
||||
<Border Background="{ThemeResource ControlFillColorSecondaryBrush}"
|
||||
BorderBrush="{ThemeResource DividerStrokeColorDefaultBrush}"
|
||||
BorderThickness="1"
|
||||
CornerRadius="6">
|
||||
<Image Source="{Binding ThumbnailUrl}"
|
||||
Stretch="UniformToFill"
|
||||
Visibility="{Binding HasThumbnail, Converter={StaticResource BoolToVisibilityConverter}}" />
|
||||
</Border>
|
||||
<TextBlock Text="{Binding Source={StaticResource Strings}, Path=SoftwareScreenshotsPreviewUnavailable}"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Center"
|
||||
TextAlignment="Center"
|
||||
TextWrapping="Wrap"
|
||||
Margin="8"
|
||||
Foreground="{ThemeResource SystemBaseMediumColor}"
|
||||
Visibility="{Binding HasThumbnail, Converter={StaticResource InvertBoolToVisibilityConverter}}" />
|
||||
</Grid>
|
||||
</DataTemplate>
|
||||
</controls:DataGridTemplateColumn.CellTemplate>
|
||||
</controls:DataGridTemplateColumn>
|
||||
<controls:DataGridTemplateColumn Header="{Binding Source={StaticResource Strings}, Path=CaptionLabel}" Width="2*">
|
||||
<controls:DataGridTemplateColumn.CellTemplate>
|
||||
<DataTemplate>
|
||||
|
||||
@@ -64,8 +64,8 @@ public sealed partial class AdminWwpcImportReviewPage : Page
|
||||
private async void OpenScreenshotSource_Click(object sender, RoutedEventArgs e)
|
||||
{
|
||||
if((sender as HyperlinkButton)?.CommandParameter is not WwpcScreenshotDecisionItem item) return;
|
||||
if(string.IsNullOrWhiteSpace(item.ImageUrl)) return;
|
||||
if(Uri.TryCreate(item.ImageUrl, UriKind.Absolute, out Uri? uri))
|
||||
if(string.IsNullOrWhiteSpace(item.SourcePageUrl)) return;
|
||||
if(Uri.TryCreate(item.SourcePageUrl, UriKind.Absolute, out Uri? uri))
|
||||
await Launcher.LaunchUriAsync(uri);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user