diff --git a/Pixiview/Illust/RelatedIllustsPage.xaml b/Pixiview/Illust/RelatedIllustsPage.xaml
index 4653544..5b26c52 100644
--- a/Pixiview/Illust/RelatedIllustsPage.xaml
+++ b/Pixiview/Illust/RelatedIllustsPage.xaml
@@ -7,6 +7,10 @@
x:Class="Pixiview.Illust.RelatedIllustsPage"
Title="{r:Text RelatedIllusts}"
BackgroundColor="{DynamicResource WindowColor}">
+
+
+
diff --git a/Pixiview/Illust/RelatedIllustsPage.xaml.cs b/Pixiview/Illust/RelatedIllustsPage.xaml.cs
index 151c299..84c4da0 100644
--- a/Pixiview/Illust/RelatedIllustsPage.xaml.cs
+++ b/Pixiview/Illust/RelatedIllustsPage.xaml.cs
@@ -1,4 +1,5 @@
-using System.Collections.Generic;
+using System;
+using System.Collections.Generic;
using System.Linq;
using Pixiview.UI;
using Pixiview.Utils;
@@ -88,5 +89,17 @@ namespace Pixiview.Illust
var y = e.ScrollY;
OnScrolled(y);
}
+
+ private void Refresh_Clicked(object sender, EventArgs e)
+ {
+ if (IsLoading)
+ {
+ return;
+ }
+ startIndex = -1;
+ nextIndex = 0;
+ illustIds = null;
+ StartLoad(true);
+ }
}
}
diff --git a/Pixiview/Illust/ViewIllustPage.xaml.cs b/Pixiview/Illust/ViewIllustPage.xaml.cs
index 0d31c46..2c26f64 100644
--- a/Pixiview/Illust/ViewIllustPage.xaml.cs
+++ b/Pixiview/Illust/ViewIllustPage.xaml.cs
@@ -41,20 +41,6 @@ namespace Pixiview.Illust
var items = page.Illusts;
var length = items.Length;
page.PagePositionText = $"{index + 1}/{length}";
-
- var item = items[index];
- if (!item.Loading && item.Image == null)
- {
- Task.Run(() => page.DoLoadImage(index));
- }
- if (index < length - 1)
- {
- item = items[index + 1];
- if (!item.Loading && item.Image == null)
- {
- Task.Run(() => page.DoLoadImage(index + 1));
- }
- }
}
private static void OnCurrentAnimeFramePropertyChanged(BindableObject obj, object old, object @new)
@@ -117,6 +103,7 @@ namespace Pixiview.Illust
public IllustItem IllustItem { get; private set; }
public bool IsPageVisible { get; private set; }
+ private readonly ParallelOptions parallelOptions = new ParallelOptions { MaxDegreeOfParallelism = Configs.MaxThreads };
private readonly bool saveFavorites;
private readonly ImageSource fontIconLove;
private readonly ImageSource fontIconNotLove;
@@ -363,17 +350,18 @@ namespace Pixiview.Illust
}
}
- DoLoadImage(0, true);
- var image = items[0].Image;
- if (image != null)
- {
- illustItem.Image = image;
- }
+ var isAnime = illustItem.IllustType == IllustType.Anime;
+ IsAnimateSliderVisible = isAnime;
+
+ Task.Run(() => DoLoadImage(0, true));
if (items.Length > 1)
{
- DoLoadImage(1);
+ Parallel.For(1, items.Length, parallelOptions, i =>
+ {
+ DoLoadImage(i);
+ });
}
- else if (illustItem.IllustType == IllustType.Anime)
+ else if (isAnime)
{
// anime
ugoiraData = Stores.LoadIllustUgoiraData(illustItem.Id);
@@ -381,7 +369,6 @@ namespace Pixiview.Illust
{
var length = ugoiraData.body.frames.Length;
MaximumFrame = length > 0 ? length : 1;
- IsAnimateSliderVisible = true;
}
}
}
@@ -409,6 +396,10 @@ namespace Pixiview.Illust
if (image != null)
{
item.Image = image;
+ if(index == 0)
+ {
+ IllustItem.Image = image;
+ }
}
item.Loading = false;
}
diff --git a/Pixiview/UI/StyleDefinition.cs b/Pixiview/UI/StyleDefinition.cs
index 1c50a4d..07c1cc9 100644
--- a/Pixiview/UI/StyleDefinition.cs
+++ b/Pixiview/UI/StyleDefinition.cs
@@ -37,7 +37,7 @@ namespace Pixiview.UI
public const string IconSparkles = "\uf890";
public const string IconOrder = "\uf88f";
public const string IconLayer = "\uf302";
- public const string IconRefresh = "\uf2f1";
+ public const string IconRefresh = "\uf2f9";
public const string IconLove = "\uf004";
public const string IconOption = "\uf013";
public const string IconFavorite = "\uf02e";
diff --git a/Pixiview/Utils/HttpUtility.cs b/Pixiview/Utils/HttpUtility.cs
index f22e1ec..3040a5b 100644
--- a/Pixiview/Utils/HttpUtility.cs
+++ b/Pixiview/Utils/HttpUtility.cs
@@ -132,7 +132,6 @@ namespace Pixiview.Utils
Directory.CreateDirectory(directory);
}
var file = Path.Combine(directory, Path.GetFileName(url));
- App.DebugPrint($"download, url: {url}");
var response = Download(url, headers =>
{
headers.Referrer = new Uri(Configs.Referer);