Show AbsentFromLastScan book status in grid
This commit is contained in:
parent
f6dcc0db1d
commit
3ebd4ce243
17 changed files with 61 additions and 23 deletions
|
|
@ -8,9 +8,10 @@ namespace LibationAvalonia.ViewModels
|
|||
{
|
||||
public class LiberateButtonStatus : ViewModelBase, IComparable
|
||||
{
|
||||
public LiberateButtonStatus(bool isSeries)
|
||||
public LiberateButtonStatus(bool isSeries, bool isAbsent)
|
||||
{
|
||||
IsSeries = isSeries;
|
||||
IsAbsent = isAbsent;
|
||||
}
|
||||
public LiberatedStatus BookStatus { get; set; }
|
||||
public LiberatedStatus? PdfStatus { get; set; }
|
||||
|
|
@ -26,7 +27,10 @@ namespace LibationAvalonia.ViewModels
|
|||
this.RaisePropertyChanged(nameof(ToolTip));
|
||||
}
|
||||
}
|
||||
private bool IsSeries { get; }
|
||||
|
||||
private bool IsAbsent { get; }
|
||||
public bool IsSeries { get; }
|
||||
public bool IsUnavailable => !IsSeries & IsAbsent & (BookStatus is not LiberatedStatus.Liberated || PdfStatus is not null and not LiberatedStatus.Liberated);
|
||||
public Bitmap Image => GetLiberateIcon();
|
||||
public string ToolTip => GetTooltip();
|
||||
|
||||
|
|
@ -40,6 +44,8 @@ namespace LibationAvalonia.ViewModels
|
|||
if (IsSeries && !second.IsSeries) return -1;
|
||||
else if (!IsSeries && second.IsSeries) return 1;
|
||||
else if (IsSeries && second.IsSeries) return 0;
|
||||
else if (IsUnavailable && !second.IsUnavailable) return 1;
|
||||
else if (!IsUnavailable && second.IsUnavailable) return -1;
|
||||
else if (BookStatus == LiberatedStatus.Liberated && second.BookStatus != LiberatedStatus.Liberated) return -1;
|
||||
else if (BookStatus != LiberatedStatus.Liberated && second.BookStatus == LiberatedStatus.Liberated) return 1;
|
||||
else return BookStatus.CompareTo(second.BookStatus);
|
||||
|
|
@ -72,11 +78,15 @@ namespace LibationAvalonia.ViewModels
|
|||
|
||||
return GetFromResources($"liberate_{image_lib}{image_pdf}");
|
||||
}
|
||||
|
||||
private string GetTooltip()
|
||||
{
|
||||
if (IsSeries)
|
||||
return Expanded ? "Click to Collpase" : "Click to Expand";
|
||||
|
||||
if (IsUnavailable)
|
||||
return "This book cannot be downloaded\nbecause it wasn't found during\nthe most recent library scan";
|
||||
|
||||
if (BookStatus == LiberatedStatus.Error)
|
||||
return "Book downloaded ERROR";
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue