Skip to content

Commit 931a8c8

Browse files
committed
v0.5.2 - GGUF Model Support, ImageCompose view
1 parent ad7079b commit 931a8c8

22 files changed

+1448
-18
lines changed

DiffuseApp/DiffuseApp/App.xaml

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -982,6 +982,44 @@
982982
</DataTemplate>
983983

984984

985+
<DataTemplate DataType="{x:Type Common:ImageLayerHistory}">
986+
<DockPanel Margin="10,0,0,0">
987+
<TextBlock DockPanel.Dock="Top" Text="{Binding MediaType, StringFormat={}Composed {0}}" FontSize="20"/>
988+
<StackPanel>
989+
<Separator Opacity=".7"/>
990+
991+
<UniformGrid Columns="3" Margin="0,6,0,0">
992+
<StackPanel>
993+
<TextBlock Text="{Binding MediaType, StringFormat={}{0} Size}" Style="{StaticResource FieldTextBlockStyle}" />
994+
<TextBlock>
995+
<Run Text="{Binding Width}" />
996+
<Run Text="x" />
997+
<Run Text="{Binding Height}" />
998+
<Run Text="px" />
999+
</TextBlock>
1000+
</StackPanel>
1001+
</UniformGrid>
1002+
1003+
<StackPanel Margin="0,6,0,0" >
1004+
<TextBlock Text="Created" Style="{StaticResource FieldTextBlockStyle}" />
1005+
<TextBlock Text="{Binding Timestamp}" />
1006+
</StackPanel>
1007+
<UniformGrid Columns="2" Margin="0,6,0,0">
1008+
<StackPanel>
1009+
<TextBlock Text="{Binding MediaType, StringFormat={}{0} Path}" Style="{StaticResource FieldTextBlockStyle}" />
1010+
<CommonControls:HyperlinkControl Label="{Binding MediaPath, Converter={StaticResource FullPathToFileNameConverter}}" Link="{Binding MediaPath, Converter={StaticResource FullPathToFolderConverter}}" IsUnderlineEnabled="False" />
1011+
</StackPanel>
1012+
<StackPanel>
1013+
<TextBlock Text="Info Path" Style="{StaticResource FieldTextBlockStyle}" />
1014+
<CommonControls:HyperlinkControl Label="{Binding FilePath, Converter={StaticResource FullPathToFileNameConverter}}" Link="{Binding FilePath}" IsUnderlineEnabled="False" />
1015+
</StackPanel>
1016+
</UniformGrid>
1017+
</StackPanel>
1018+
</DockPanel>
1019+
</DataTemplate>
1020+
1021+
1022+
9851023
<Style x:Key="SettingsListBoxItem" TargetType="{x:Type ListBoxItem}">
9861024
<Setter Property="Padding" Value="0" />
9871025
<Setter Property="Margin" Value="0"/>
157 KB
Binary file not shown.
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
using Diffuse.Views;
2+
using System;
3+
using System.Runtime.CompilerServices;
4+
using System.Text.Json.Serialization;
5+
6+
namespace Diffuse.Common
7+
{
8+
9+
public record ImageLayerHistory : IHistoryItem
10+
{
11+
public int Version { get; init; }
12+
public string Id { get; init; }
13+
public View Source { get; init; }
14+
public MediaType MediaType { get; init; }
15+
public DateTime Timestamp { get; init; }
16+
public string Extension { get; init; }
17+
public string Model { get; init; }
18+
public int Width { get; init; }
19+
public int Height { get; init; }
20+
21+
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingDefault)]
22+
public float FrameRate { get; init; }
23+
24+
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingDefault)]
25+
public int FrameCount { get; init; }
26+
27+
[JsonIgnore]
28+
public string FilePath { get; set; }
29+
30+
[JsonIgnore]
31+
public string MediaPath { get; set; }
32+
33+
[JsonIgnore]
34+
public string ThumbPath { get; set; }
35+
36+
public virtual bool Equals(ImageLayerHistory other) => ReferenceEquals(this, other);
37+
public override int GetHashCode() => RuntimeHelpers.GetHashCode(this);
38+
}
39+
}

DiffuseApp/DiffuseApp/Controls/HistoryControl.xaml

Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -529,6 +529,86 @@
529529
</Grid>
530530
</DataTemplate>
531531

532+
533+
<!--ImageLayerHistory-->
534+
<DataTemplate DataType="{x:Type Common:ImageLayerHistory}">
535+
<Grid x:Name="Root" Background="Transparent" >
536+
<DockPanel Height="134" Width="100" >
537+
<Grid DockPanel.Dock="Top">
538+
<CommonControls:TransparentImageElement
539+
Height="100"
540+
Stretch="Uniform"
541+
DecodePixelHeight="100"
542+
UriSource="{Binding ThumbPath, Converter={StaticResource StringToUriConverter}}" />
543+
544+
<UniformGrid Columns="2" Height="24" VerticalAlignment="Bottom" Visibility="{Binding IsMouseOver, ElementName=Root, Converter={StaticResource BooleanToHiddenConverter}}" Background="#8F000000">
545+
<Button
546+
Style="{StaticResource TransparentButton}"
547+
Command="{Binding PreviewItemCommand, RelativeSource={RelativeSource AncestorType=Controls:HistoryControl}}"
548+
CommandParameter="{Binding}">
549+
<CommonControls:FontAwesome Icon="f08e" IconStyle="Solid" Size="16" Color="{StaticResource InfoColour}" />
550+
</Button>
551+
<Button
552+
Style="{StaticResource TransparentButton}"
553+
Command="{Binding RemoveItemCommand, RelativeSource={RelativeSource AncestorType=Controls:HistoryControl}}"
554+
CommandParameter="{Binding}">
555+
<CommonControls:FontAwesome Icon="e2b4" IconStyle="Solid" Size="16" Color="{StaticResource DangerColour}" />
556+
</Button>
557+
</UniformGrid>
558+
</Grid>
559+
<StackPanel Margin="0,3,0,0">
560+
<TextBlock TextAlignment="Center" LineHeight="14" LineStackingStrategy="BlockLineHeight">
561+
<Run Text="{Binding Width}" />
562+
<Run Text="x" />
563+
<Run Text="{Binding Height}" />
564+
<LineBreak/>
565+
<Run Text="{Binding Source}" />
566+
</TextBlock>
567+
</StackPanel>
568+
</DockPanel>
569+
570+
571+
<!-- Popup card -->
572+
<Popup x:Name="CardPopup" Style="{StaticResource HistoryPopup}">
573+
<Border Background="#01000000">
574+
<Border Style="{StaticResource HistoryContainer}" >
575+
<StackPanel Margin="6,4,6,6">
576+
<TextBlock Text="{Binding Source}" />
577+
<TextBlock Text="{Binding Width, StringFormat={}Width: {0}}" />
578+
<TextBlock Text="{Binding Height, StringFormat={}Height: {0}}" />
579+
<TextBlock Text="{Binding MediaPath}" />
580+
</StackPanel>
581+
</Border>
582+
</Border>
583+
</Popup>
584+
585+
586+
<!-- Hover triggers -->
587+
<Grid.Triggers>
588+
<EventTrigger RoutedEvent="MouseEnter">
589+
<BeginStoryboard>
590+
<Storyboard>
591+
<BooleanAnimationUsingKeyFrames Storyboard.TargetName="CardPopup" Storyboard.TargetProperty="IsOpen">
592+
<DiscreteBooleanKeyFrame KeyTime="0:0:0" Value="True"/>
593+
</BooleanAnimationUsingKeyFrames>
594+
</Storyboard>
595+
</BeginStoryboard>
596+
</EventTrigger>
597+
<EventTrigger RoutedEvent="MouseLeave">
598+
<BeginStoryboard>
599+
<Storyboard>
600+
<BooleanAnimationUsingKeyFrames Storyboard.TargetName="CardPopup" Storyboard.TargetProperty="IsOpen">
601+
<DiscreteBooleanKeyFrame KeyTime="0:0:0" Value="False"/>
602+
</BooleanAnimationUsingKeyFrames>
603+
</Storyboard>
604+
</BeginStoryboard>
605+
</EventTrigger>
606+
</Grid.Triggers>
607+
608+
</Grid>
609+
</DataTemplate>
610+
611+
532612
</CommonControls:BaseControl.Resources>
533613

534614
<Grid DataContext="{Binding RelativeSource={RelativeSource AncestorType={x:Type local:HistoryControl}}}">
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
<CommonControls:BaseControl x:Class="Diffuse.Controls.LayerControl"
2+
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
3+
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
4+
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
5+
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
6+
xmlns:local="clr-namespace:Diffuse.Controls"
7+
xmlns:Behaviors="clr-namespace:TensorStack.WPF.Behaviors;assembly=TensorStack.WPF"
8+
xmlns:CommonControls="clr-namespace:TensorStack.WPF.Controls;assembly=TensorStack.WPF"
9+
xmlns:CommonConverters="clr-namespace:TensorStack.WPF.Converters;assembly=TensorStack.WPF"
10+
AllowDrop="True" Focusable="True" >
11+
<Grid DataContext="{Binding RelativeSource={RelativeSource AncestorType={x:Type local:LayerControl}}}" Background="{StaticResource CheckerBrush}" ClipToBounds="True" >
12+
<Viewbox Margin="4">
13+
<Grid>
14+
<Canvas x:Name="Surface" Width="{Binding FrameWidth}" Height="{Binding FrameHeight}"/>
15+
<Border BorderBrush="Black" BorderThickness="1" >
16+
<Rectangle Width="{Binding FrameWidth}" Height="{Binding FrameHeight}" IsHitTestVisible="False" />
17+
</Border>
18+
</Grid>
19+
</Viewbox>
20+
</Grid>
21+
</CommonControls:BaseControl>

0 commit comments

Comments
 (0)