Skip to content

Commit e33e390

Browse files
committed
...
1 parent 7a0f461 commit e33e390

File tree

7 files changed

+88
-17
lines changed

7 files changed

+88
-17
lines changed

SmartImage.Lib 3/Engines/Impl/Search/TraceMoeEngine.cs

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -113,8 +113,9 @@ private async Task<IEnumerable<SearchResultItem>> ConvertResultsAsync(TraceMoeRo
113113
try {
114114
string anilistUrl = ANILIST_URL.AppendPathSegment(doc.anilist);
115115
string name = await m_anilistClient.GetTitleAsync((int) doc.anilist);
116-
result.Source = name;
117-
result.Url = new Url(anilistUrl);
116+
result.Source = name;
117+
result.Url = new Url(anilistUrl);
118+
result.Metadata = doc;
118119
}
119120
catch (Exception e) {
120121
Debug.WriteLine($"{this} :: {e.Message}", nameof(ConvertResultsAsync));
@@ -145,7 +146,7 @@ public override void Dispose()
145146
#region API Objects
146147

147148
[UsedImplicitly(ImplicitUseTargetFlags.WithMembers)]
148-
private class TraceMoeDoc : IResultConvertable
149+
public class TraceMoeDoc : IResultConvertable
149150
{
150151
public double from { get; set; }
151152

@@ -214,7 +215,7 @@ public SearchResultItem Convert(SearchResult sr)
214215
}
215216

216217
[UsedImplicitly(ImplicitUseTargetFlags.WithMembers)]
217-
private class TraceMoeRootObject
218+
public class TraceMoeRootObject
218219
{
219220
public long frameCount { get; set; }
220221

SmartImage.UI/AppComponents.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@ namespace SmartImage.UI;
1111

1212
public static class AppComponents
1313
{
14-
private const int WIDTH = 20;
15-
private const int HEIGHT = 20;
14+
public const int WIDTH = 20;
15+
public const int HEIGHT = 20;
1616

1717
static AppComponents() { }
1818

SmartImage.UI/ControlsHelper.cs

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,15 @@ public static BitmapImage ResizeBitmap(this BitmapImage originalBitmap, int newW
3737
// Create a new BitmapImage and set it as the source of the resized image
3838
var bitmapImage = new BitmapImage();
3939
bitmapImage.BeginInit();
40-
bitmapImage.UriSource = originalBitmap.UriSource;
40+
41+
if (originalBitmap.UriSource != null) {
42+
bitmapImage.UriSource = originalBitmap.UriSource;
43+
}
44+
45+
else if (originalBitmap.StreamSource != null) {
46+
bitmapImage.StreamSource = originalBitmap.StreamSource;
47+
}
48+
4149
bitmapImage.DecodePixelWidth = newWidth;
4250
bitmapImage.DecodePixelHeight = newHeight;
4351
bitmapImage.CacheOption = BitmapCacheOption.OnLoad;

SmartImage.UI/MainWindow.Handlers.cs

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,16 +5,24 @@
55
using System;
66
using System.ComponentModel;
77
using System.Diagnostics;
8+
using System.IO;
89
using System.Linq;
910
using System.Threading;
1011
using System.Windows;
1112
using System.Windows.Controls;
13+
using System.Windows.Controls.Primitives;
14+
using System.Windows.Data;
1215
using System.Windows.Input;
16+
using System.Windows.Media;
1317
using System.Windows.Threading;
18+
using Flurl;
19+
using Flurl.Http;
1420
using Kantan.Net.Utilities;
1521
using Kantan.Numeric;
1622
using Microsoft.VisualBasic.FileIO;
1723
using SmartImage.Lib;
24+
using SmartImage.Lib.Engines.Impl.Search;
25+
using SmartImage.Lib.Engines.Impl.Search.Other;
1826
using SmartImage.Lib.Engines.Impl.Upload;
1927
using FileSystem = Novus.OS.FileSystem;
2028
using KeyEventArgs = System.Windows.Input.KeyEventArgs;
@@ -259,6 +267,7 @@ private void Lv_Results_MouseRightButtonDown(object sender, MouseButtonEventArgs
259267
private void Lv_Results_SelectionChanged(object sender, SelectionChangedEventArgs e)
260268
{
261269
if (e.AddedItems.Count > 0) {
270+
262271
if (e.AddedItems[0] is ResultItem ri) {
263272
Img_Preview.Source = m_image;
264273

@@ -302,7 +311,17 @@ private void Lv_Results_KeyDown(object sender, KeyEventArgs e)
302311
Results.Remove(CurrentResultItem);
303312
Img_Preview.Source = m_image;
304313
break;
314+
case Key.C when ctrl:
315+
Application.Current.Dispatcher.InvokeAsync(() =>
316+
{
317+
var text = CurrentResultItem.Url;
318+
m_clipboard.Add(text);
319+
Clipboard.SetText(text);
320+
});
321+
break;
305322
}
323+
324+
e.Handled = true;
306325
}
307326

308327
#endregion

SmartImage.UI/MainWindow.xaml

Lines changed: 43 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
mc:Ignorable="d" Height="600" Width="1204.2" Loaded="Wnd_Main_Loaded" Closed="Wnd_Main_Closed"
1010
Closing="Wnd_Main_Closing" Title="SmartImage" Unloaded="Wnd_Main_Unloaded" Background="#FF191919">
1111
<Window.Resources>
12+
1213
<!-- Define the ContextMenu -->
1314
<ContextMenu x:Key="ItemContextMenu">
1415
<MenuItem Header="Open" Click="OpenItem_Click" IsEnabled="{Binding CanOpen}" />
@@ -155,7 +156,7 @@
155156
</ListView.View>
156157
</ListView>
157158

158-
<Border Height="150" Margin="0,10,10,0" Width="150" Background="#FFEFEFEF"
159+
<Border x:Name="Br_Preview" Height="150" Margin="0,10,10,0" Width="150" Background="#FFEFEFEF"
159160
VerticalAlignment="Top" HorizontalAlignment="Right" Grid.RowSpan="2" Panel.ZIndex="1">
160161

161162
<Image x:Name="Img_Preview" MouseLeftButtonDown="Img_Preview_MouseLeftButtonDown"
@@ -257,8 +258,47 @@
257258
<GridViewColumn Header="Status">
258259
<GridViewColumn.CellTemplate>
259260
<DataTemplate>
260-
<Image Source="{Binding StatusImage}" Width="20" Height="20" Stretch="None"
261-
ToolTip="{Binding Status}" />
261+
<Image x:Name="Img_Status" Source="{Binding StatusImage}" Width="20"
262+
Height="20" Stretch="None" ToolTip="{Binding Status}">
263+
264+
<!--<Image.RenderTransformOrigin>
265+
<Point X="0" Y="1"></Point>
266+
</Image.RenderTransformOrigin>
267+
268+
<Image.RenderTransform>
269+
<TransformGroup>
270+
<ScaleTransform ScaleX="1" ScaleY="1" CenterX="0" CenterY="1" />
271+
<TranslateTransform X="0" Y="0" />
272+
</TransformGroup>
273+
</Image.RenderTransform>
274+
275+
<Image.Triggers>
276+
<EventTrigger RoutedEvent="Image.MouseEnter">
277+
<BeginStoryboard>
278+
<Storyboard>
279+
<DoubleAnimation Storyboard.TargetName="Img_Status"
280+
Storyboard.TargetProperty="(Image.RenderTransform).(TransformGroup.Children)[0].(ScaleTransform.ScaleX)"
281+
To="2.5" Duration="0:0:0.2" />
282+
<DoubleAnimation Storyboard.TargetName="Img_Status"
283+
Storyboard.TargetProperty="(Image.RenderTransform).(TransformGroup.Children)[0].(ScaleTransform.ScaleY)"
284+
To="2.5" Duration="0:0:0.2" />
285+
</Storyboard>
286+
</BeginStoryboard>
287+
</EventTrigger>
288+
<EventTrigger RoutedEvent="Image.MouseLeave">
289+
<BeginStoryboard>
290+
<Storyboard>
291+
<DoubleAnimation Storyboard.TargetName="Img_Status"
292+
Storyboard.TargetProperty="(Image.RenderTransform).(TransformGroup.Children)[0].(ScaleTransform.ScaleX)"
293+
To="1" Duration="0:0:0.2" />
294+
<DoubleAnimation Storyboard.TargetName="Img_Status"
295+
Storyboard.TargetProperty="(Image.RenderTransform).(TransformGroup.Children)[0].(ScaleTransform.ScaleY)"
296+
To="1" Duration="0:0:0.2" />
297+
</Storyboard>
298+
</BeginStoryboard>
299+
</EventTrigger>
300+
</Image.Triggers>-->
301+
</Image>
262302

263303
</DataTemplate>
264304
</GridViewColumn.CellTemplate>

SmartImage.UI/MainWindow.xaml.cs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
using System.Linq;
1111
using System.Net.Cache;
1212
using System.Runtime.CompilerServices;
13+
using System.Text;
1314
using System.Threading;
1415
using System.Threading.Tasks;
1516
using System.Windows;
@@ -107,14 +108,13 @@ public MainWindow()
107108
Rb_UploadEngine_Catbox.IsChecked = BaseUploadEngine.Default is CatboxEngine;
108109
Rb_UploadEngine_Litterbox.IsChecked = BaseUploadEngine.Default is LitterboxEngine;
109110

111+
BindingOperations.EnableCollectionSynchronization(Queue, m_lock);
110112
BindingOperations.EnableCollectionSynchronization(Results, m_lock);
111113
RenderOptions.SetBitmapScalingMode(Img_Preview, BitmapScalingMode.HighQuality);
112114

113115
}
114116

115-
private void BackgroundDispatch(object? sender, EventArgs e)
116-
{
117-
}
117+
private void BackgroundDispatch(object? sender, EventArgs e) { }
118118

119119
#region
120120

@@ -734,6 +734,7 @@ private void Log(LogEntry l)
734734
}
735735

736736
public ObservableCollection<LogEntry> Logs { get; }
737+
737738
}
738739

739740
public class ResultModel
@@ -744,8 +745,7 @@ public class ResultModel
744745
public BitmapImage Image { get; set; }
745746
public ObservableCollection<ResultItem> Results { get; set; }
746747

747-
public async Task Init(string query)
748-
{ }
748+
public async Task Init(string query) { }
749749
}
750750

751751
public sealed class LogEntry

SmartImage.UI/ResultItem.cs

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -108,6 +108,7 @@ public UniResultItem(ResultItem ri, int? idx)
108108
Image.UriCachePolicy = new RequestCachePolicy(RequestCacheLevel.Default);
109109
Image.EndInit();
110110
Image.Freeze();
111+
// StatusImage = Image;
111112
}
112113
else {
113114
Image = null;
@@ -129,11 +130,13 @@ public string Description
129130

130131
string img;
131132

132-
if (Image != null) {
133+
if (Image != null) {
133134
img = $"({Image.Width:F}×{Image.Height:F})";
134-
}else{
135+
}
136+
else {
135137
img = "";
136138
}
139+
137140
return $"{Name} ⇉ [{Uni.FileTypes[0]}] " +
138141
$"[{bytes}] • {img}";
139142
}

0 commit comments

Comments
 (0)