downloading placeholder

This commit is contained in:
Tsanie Lily 2020-05-10 20:41:20 +08:00
parent c271063390
commit 8b891cc692
6 changed files with 17 additions and 13 deletions

View File

@ -38,7 +38,6 @@
<WarningLevel>4</WarningLevel> <WarningLevel>4</WarningLevel>
<CodesignKey>iPhone Developer</CodesignKey> <CodesignKey>iPhone Developer</CodesignKey>
<MtouchUseLlvm>true</MtouchUseLlvm> <MtouchUseLlvm>true</MtouchUseLlvm>
<MtouchFloat32>true</MtouchFloat32>
<CodesignEntitlements>Entitlements.plist</CodesignEntitlements> <CodesignEntitlements>Entitlements.plist</CodesignEntitlements>
<MtouchLink>SdkOnly</MtouchLink> <MtouchLink>SdkOnly</MtouchLink>
<MtouchArch>ARM64</MtouchArch> <MtouchArch>ARM64</MtouchArch>

View File

@ -168,5 +168,6 @@
<BundleResource Include="Resources\fa-regular-400.ttf" /> <BundleResource Include="Resources\fa-regular-400.ttf" />
<BundleResource Include="Resources\fa-solid-900.ttf" /> <BundleResource Include="Resources\fa-solid-900.ttf" />
<BundleResource Include="Resources\userprofile.jpg" /> <BundleResource Include="Resources\userprofile.jpg" />
<BundleResource Include="Resources\download.png" />
</ItemGroup> </ItemGroup>
</Project> </Project>

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

View File

@ -49,7 +49,7 @@ namespace Pixiview.Illust
public void Reload(bool force = false) public void Reload(bool force = false)
{ {
loaded = false; lastUpdated = default;
StartLoad(force); StartLoad(force);
} }

View File

@ -50,12 +50,12 @@ namespace Pixiview.Illust
#endregion #endregion
protected static bool NeedUpdate { get; private set; } = true; protected static DateTime LastUpdated { get; private set; } = DateTime.Now;
public IllustCollection IllustCollection { get; set; } public IllustCollection IllustCollection { get; set; }
protected virtual bool IsFavoriteVisible => true; protected virtual bool IsFavoriteVisible => true;
protected bool loaded; protected DateTime lastUpdated;
private T illustData; private T illustData;
private readonly ParallelOptions parallelOptions = new ParallelOptions { MaxDegreeOfParallelism = Configs.MaxThreads }; private readonly ParallelOptions parallelOptions = new ParallelOptions { MaxDegreeOfParallelism = Configs.MaxThreads };
@ -77,7 +77,7 @@ namespace Pixiview.Illust
public override void OnUnload() public override void OnUnload()
{ {
Illusts = IllustCollection.Empty; Illusts = IllustCollection.Empty;
loaded = false; lastUpdated = default;
} }
protected override void OnAppearing() protected override void OnAppearing()
@ -85,10 +85,8 @@ namespace Pixiview.Illust
base.OnAppearing(); base.OnAppearing();
Connectivity.ConnectivityChanged += Connectivity_ConnectivityChanged; Connectivity.ConnectivityChanged += Connectivity_ConnectivityChanged;
if (NeedUpdate || !loaded) if (lastUpdated != LastUpdated)
{ {
NeedUpdate = false;
loaded = false;
StartLoad(); StartLoad();
} }
else if (IsFavoriteVisible) else if (IsFavoriteVisible)
@ -111,7 +109,7 @@ namespace Pixiview.Illust
{ {
if (e.NetworkAccess == NetworkAccess.Internet) if (e.NetworkAccess == NetworkAccess.Internet)
{ {
if (!loaded) if (lastUpdated != LastUpdated)
{ {
StartLoad(true); StartLoad(true);
} }
@ -149,9 +147,9 @@ namespace Pixiview.Illust
protected void StartLoad(bool force = false) protected void StartLoad(bool force = false)
{ {
if (force || !loaded) if (force || lastUpdated != LastUpdated)
{ {
loaded = true; lastUpdated = LastUpdated;
IsLoading = true; IsLoading = true;
Task.Run(() => DoLoadIllusts(force)); Task.Run(() => DoLoadIllusts(force));
} }
@ -166,7 +164,7 @@ namespace Pixiview.Illust
// image // image
var image = new RoundImage var image = new RoundImage
{ {
BackgroundColor = Color.LightGray, BackgroundColor = StyleDefinition.ColorDownloadBackground,
CornerRadius = 10, CornerRadius = 10,
CornerMasks = CornerMask.Top, CornerMasks = CornerMask.Top,
HorizontalOptions = LayoutOptions.Fill, HorizontalOptions = LayoutOptions.Fill,
@ -351,7 +349,7 @@ namespace Pixiview.Illust
} }
if (force && IsFavoriteVisible) if (force && IsFavoriteVisible)
{ {
NeedUpdate = true; LastUpdated = DateTime.Now;
} }
var data = DoGetIllustList(illustData, commandIllustImageTapped).Where(i => i != null); var data = DoGetIllustList(illustData, commandIllustImageTapped).Where(i => i != null);
@ -362,6 +360,10 @@ namespace Pixiview.Illust
var favorites = Stores.Favorites; var favorites = Stores.Favorites;
foreach (var item in collection) foreach (var item in collection)
{ {
if (item.Image == null)
{
item.Image = StyleDefinition.DownloadBackground;
}
item.IsFavorite = favorites.Any(i => i.Id == item.Id); item.IsFavorite = favorites.Any(i => i.Id == item.Id);
} }
} }

View File

@ -17,6 +17,8 @@ namespace Pixiview.UI
public static readonly Color ColorLightShadow = Color.FromRgba(0, 0, 0, 0x20); 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 ColorDeepShadow = Color.FromRgba(0, 0, 0, 0x50);
public static readonly Color ColorRedBackground = Color.FromRgb(0xfd, 0x43, 0x63); 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 FontSizeMicro = Device.GetNamedSize(NamedSize.Micro, typeof(Label));
public static readonly double FontSizeSmall = Device.GetNamedSize(NamedSize.Small, typeof(Label)); public static readonly double FontSizeSmall = Device.GetNamedSize(NamedSize.Small, typeof(Label));