From 8b891cc692ad31a6f6376532ad2e3a29850b7c0e Mon Sep 17 00:00:00 2001 From: Tsanie Lily <tsorgy@gmail.com> Date: Sun, 10 May 2020 20:41:20 +0800 Subject: [PATCH] downloading placeholder --- .../Pixiview.iOS.OpenExtension.csproj | 1 - Pixiview.iOS/Pixiview.iOS.csproj | 1 + Pixiview.iOS/Resources/download.png | Bin 0 -> 1911 bytes Pixiview/Illust/FavoritesPage.xaml.cs | 2 +- Pixiview/Illust/IllustCollectionPage.cs | 24 ++++++++++-------- Pixiview/UI/StyleDefinition.cs | 2 ++ 6 files changed, 17 insertions(+), 13 deletions(-) create mode 100644 Pixiview.iOS/Resources/download.png diff --git a/Pixiview.iOS.OpenExtension/Pixiview.iOS.OpenExtension.csproj b/Pixiview.iOS.OpenExtension/Pixiview.iOS.OpenExtension.csproj index 532e219..ac6ae78 100644 --- a/Pixiview.iOS.OpenExtension/Pixiview.iOS.OpenExtension.csproj +++ b/Pixiview.iOS.OpenExtension/Pixiview.iOS.OpenExtension.csproj @@ -38,7 +38,6 @@ <WarningLevel>4</WarningLevel> <CodesignKey>iPhone Developer</CodesignKey> <MtouchUseLlvm>true</MtouchUseLlvm> - <MtouchFloat32>true</MtouchFloat32> <CodesignEntitlements>Entitlements.plist</CodesignEntitlements> <MtouchLink>SdkOnly</MtouchLink> <MtouchArch>ARM64</MtouchArch> diff --git a/Pixiview.iOS/Pixiview.iOS.csproj b/Pixiview.iOS/Pixiview.iOS.csproj index d6b1fef..f93cef6 100644 --- a/Pixiview.iOS/Pixiview.iOS.csproj +++ b/Pixiview.iOS/Pixiview.iOS.csproj @@ -168,5 +168,6 @@ <BundleResource Include="Resources\fa-regular-400.ttf" /> <BundleResource Include="Resources\fa-solid-900.ttf" /> <BundleResource Include="Resources\userprofile.jpg" /> + <BundleResource Include="Resources\download.png" /> </ItemGroup> </Project> \ No newline at end of file diff --git a/Pixiview.iOS/Resources/download.png b/Pixiview.iOS/Resources/download.png new file mode 100644 index 0000000000000000000000000000000000000000..2349fbd42411428bf10576ddbc0fdecb91897fa6 GIT binary patch literal 1911 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 Rw30270w^Tfrxp=@<NxcNue|^O literal 0 HcmV?d00001 diff --git a/Pixiview/Illust/FavoritesPage.xaml.cs b/Pixiview/Illust/FavoritesPage.xaml.cs index 7103dc5..2dd45f4 100644 --- a/Pixiview/Illust/FavoritesPage.xaml.cs +++ b/Pixiview/Illust/FavoritesPage.xaml.cs @@ -49,7 +49,7 @@ namespace Pixiview.Illust public void Reload(bool force = false) { - loaded = false; + lastUpdated = default; StartLoad(force); } diff --git a/Pixiview/Illust/IllustCollectionPage.cs b/Pixiview/Illust/IllustCollectionPage.cs index f8e9237..c97c974 100644 --- a/Pixiview/Illust/IllustCollectionPage.cs +++ b/Pixiview/Illust/IllustCollectionPage.cs @@ -50,12 +50,12 @@ namespace Pixiview.Illust #endregion - protected static bool NeedUpdate { get; private set; } = true; + protected static DateTime LastUpdated { get; private set; } = DateTime.Now; public IllustCollection IllustCollection { get; set; } protected virtual bool IsFavoriteVisible => true; - protected bool loaded; + protected DateTime lastUpdated; private T illustData; private readonly ParallelOptions parallelOptions = new ParallelOptions { MaxDegreeOfParallelism = Configs.MaxThreads }; @@ -77,7 +77,7 @@ namespace Pixiview.Illust public override void OnUnload() { Illusts = IllustCollection.Empty; - loaded = false; + lastUpdated = default; } protected override void OnAppearing() @@ -85,10 +85,8 @@ namespace Pixiview.Illust base.OnAppearing(); Connectivity.ConnectivityChanged += Connectivity_ConnectivityChanged; - if (NeedUpdate || !loaded) + if (lastUpdated != LastUpdated) { - NeedUpdate = false; - loaded = false; StartLoad(); } else if (IsFavoriteVisible) @@ -111,7 +109,7 @@ namespace Pixiview.Illust { if (e.NetworkAccess == NetworkAccess.Internet) { - if (!loaded) + if (lastUpdated != LastUpdated) { StartLoad(true); } @@ -149,9 +147,9 @@ namespace Pixiview.Illust protected void StartLoad(bool force = false) { - if (force || !loaded) + if (force || lastUpdated != LastUpdated) { - loaded = true; + lastUpdated = LastUpdated; IsLoading = true; Task.Run(() => DoLoadIllusts(force)); } @@ -166,7 +164,7 @@ namespace Pixiview.Illust // image var image = new RoundImage { - BackgroundColor = Color.LightGray, + BackgroundColor = StyleDefinition.ColorDownloadBackground, CornerRadius = 10, CornerMasks = CornerMask.Top, HorizontalOptions = LayoutOptions.Fill, @@ -351,7 +349,7 @@ namespace Pixiview.Illust } if (force && IsFavoriteVisible) { - NeedUpdate = true; + LastUpdated = DateTime.Now; } var data = DoGetIllustList(illustData, commandIllustImageTapped).Where(i => i != null); @@ -362,6 +360,10 @@ namespace Pixiview.Illust var favorites = Stores.Favorites; foreach (var item in collection) { + if (item.Image == null) + { + item.Image = StyleDefinition.DownloadBackground; + } item.IsFavorite = favorites.Any(i => i.Id == item.Id); } } diff --git a/Pixiview/UI/StyleDefinition.cs b/Pixiview/UI/StyleDefinition.cs index 2cef140..07c9644 100644 --- a/Pixiview/UI/StyleDefinition.cs +++ b/Pixiview/UI/StyleDefinition.cs @@ -17,6 +17,8 @@ namespace Pixiview.UI public static readonly Color ColorLightShadow = Color.FromRgba(0, 0, 0, 0x20); public static readonly Color ColorDeepShadow = Color.FromRgba(0, 0, 0, 0x50); public static readonly Color ColorRedBackground = Color.FromRgb(0xfd, 0x43, 0x63); + public static readonly Color ColorDownloadBackground = Color.FromRgb(0xd7, 0xd9, 0xe0); + public static readonly ImageSource DownloadBackground = ImageSource.FromFile("download.png"); public static readonly double FontSizeMicro = Device.GetNamedSize(NamedSize.Micro, typeof(Label)); public static readonly double FontSizeSmall = Device.GetNamedSize(NamedSize.Small, typeof(Label));