NotifyPropertyChanged series on update
This commit is contained in:
parent
440550ded9
commit
718d21f6cb
@ -15,7 +15,7 @@ namespace LibationWinForms
|
|||||||
T Parent { get; }
|
T Parent { get; }
|
||||||
}
|
}
|
||||||
|
|
||||||
public class LiberateStatus : IComparable
|
public class LiberateButtonStatus : IComparable
|
||||||
{
|
{
|
||||||
public LiberatedStatus BookStatus;
|
public LiberatedStatus BookStatus;
|
||||||
public LiberatedStatus? PdfStatus;
|
public LiberatedStatus? PdfStatus;
|
||||||
@ -24,7 +24,7 @@ namespace LibationWinForms
|
|||||||
|
|
||||||
public int CompareTo(object obj)
|
public int CompareTo(object obj)
|
||||||
{
|
{
|
||||||
if (obj is not LiberateStatus second) return -1;
|
if (obj is not LiberateButtonStatus second) return -1;
|
||||||
|
|
||||||
if (IsSeries && !second.IsSeries) return -1;
|
if (IsSeries && !second.IsSeries) return -1;
|
||||||
else if (!IsSeries && second.IsSeries) return 1;
|
else if (!IsSeries && second.IsSeries) return 1;
|
||||||
@ -69,7 +69,7 @@ namespace LibationWinForms
|
|||||||
public abstract string Misc { get; protected set; }
|
public abstract string Misc { get; protected set; }
|
||||||
public abstract string Description { get; protected set; }
|
public abstract string Description { get; protected set; }
|
||||||
public abstract string DisplayTags { get; }
|
public abstract string DisplayTags { get; }
|
||||||
public abstract LiberateStatus Liberate { get; }
|
public abstract LiberateButtonStatus Liberate { get; }
|
||||||
public abstract object GetMemberValue(string memberName);
|
public abstract object GetMemberValue(string memberName);
|
||||||
#endregion
|
#endregion
|
||||||
public IComparer GetMemberComparer(Type memberType) => _memberTypeComparers[memberType];
|
public IComparer GetMemberComparer(Type memberType) => _memberTypeComparers[memberType];
|
||||||
@ -105,7 +105,7 @@ namespace LibationWinForms
|
|||||||
{ typeof(float), new ObjectComparer<float>() },
|
{ typeof(float), new ObjectComparer<float>() },
|
||||||
{ typeof(bool), new ObjectComparer<bool>() },
|
{ typeof(bool), new ObjectComparer<bool>() },
|
||||||
{ typeof(DateTime), new ObjectComparer<DateTime>() },
|
{ typeof(DateTime), new ObjectComparer<DateTime>() },
|
||||||
{ typeof(LiberateStatus), new ObjectComparer<LiberateStatus>() },
|
{ typeof(LiberateButtonStatus), new ObjectComparer<LiberateButtonStatus>() },
|
||||||
};
|
};
|
||||||
|
|
||||||
~GridEntry()
|
~GridEntry()
|
||||||
|
|||||||
@ -20,7 +20,7 @@ namespace LibationWinForms
|
|||||||
{
|
{
|
||||||
base.Paint(graphics, clipBounds, cellBounds, rowIndex, elementState, null, null, null, cellStyle, advancedBorderStyle, paintParts);
|
base.Paint(graphics, clipBounds, cellBounds, rowIndex, elementState, null, null, null, cellStyle, advancedBorderStyle, paintParts);
|
||||||
|
|
||||||
if (value is LiberateStatus status)
|
if (value is LiberateButtonStatus status)
|
||||||
{
|
{
|
||||||
if (status.IsSeries)
|
if (status.IsSeries)
|
||||||
{
|
{
|
||||||
|
|||||||
@ -53,7 +53,7 @@ namespace LibationWinForms
|
|||||||
public override string DisplayTags => string.Join("\r\n", Book.UserDefinedItem.TagsEnumerated);
|
public override string DisplayTags => string.Join("\r\n", Book.UserDefinedItem.TagsEnumerated);
|
||||||
|
|
||||||
// these 2 values being in 1 field is the trick behind getting the liberated+pdf 'stoplight' icon to draw. See: LiberateDataGridViewImageButtonCell.Paint
|
// these 2 values being in 1 field is the trick behind getting the liberated+pdf 'stoplight' icon to draw. See: LiberateDataGridViewImageButtonCell.Paint
|
||||||
public override LiberateStatus Liberate
|
public override LiberateButtonStatus Liberate
|
||||||
{
|
{
|
||||||
get
|
get
|
||||||
{
|
{
|
||||||
@ -64,7 +64,7 @@ namespace LibationWinForms
|
|||||||
_pdfStatus = LibraryCommands.Pdf_Status(LibraryBook.Book);
|
_pdfStatus = LibraryCommands.Pdf_Status(LibraryBook.Book);
|
||||||
lastStatusUpdate = DateTime.Now;
|
lastStatusUpdate = DateTime.Now;
|
||||||
}
|
}
|
||||||
return new LiberateStatus { BookStatus = _bookStatus, PdfStatus = _pdfStatus, IsSeries = false };
|
return new LiberateButtonStatus { BookStatus = _bookStatus, PdfStatus = _pdfStatus, IsSeries = false };
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
|
|||||||
@ -149,6 +149,8 @@ namespace LibationWinForms.grid
|
|||||||
//Add episode beneath the parent
|
//Add episode beneath the parent
|
||||||
int seriesIndex = bindingList.IndexOf(series);
|
int seriesIndex = bindingList.IndexOf(series);
|
||||||
bindingList.Insert(seriesIndex + 1, lb);
|
bindingList.Insert(seriesIndex + 1, lb);
|
||||||
|
|
||||||
|
series.NotifyPropertyChanged();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
//Add the new product
|
//Add the new product
|
||||||
@ -178,7 +180,9 @@ namespace LibationWinForms.grid
|
|||||||
|
|
||||||
foreach (var removed in removedBooks.Where(b => b.Parent is not null))
|
foreach (var removed in removedBooks.Where(b => b.Parent is not null))
|
||||||
{
|
{
|
||||||
((SeriesEntry)removed.Parent).Children.Remove(removed);
|
var series = removed.Parent as SeriesEntry;
|
||||||
|
series.Children.Remove(removed);
|
||||||
|
series.NotifyPropertyChanged();
|
||||||
}
|
}
|
||||||
|
|
||||||
//Remove series that have no children
|
//Remove series that have no children
|
||||||
|
|||||||
@ -1,12 +1,8 @@
|
|||||||
using DataLayer;
|
using DataLayer;
|
||||||
using Dinah.Core;
|
using Dinah.Core;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections;
|
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Drawing;
|
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Text;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
|
|
||||||
namespace LibationWinForms
|
namespace LibationWinForms
|
||||||
{
|
{
|
||||||
@ -51,13 +47,13 @@ namespace LibationWinForms
|
|||||||
public override string Description { get; protected set; } = string.Empty;
|
public override string Description { get; protected set; } = string.Empty;
|
||||||
public override string DisplayTags { get; } = string.Empty;
|
public override string DisplayTags { get; } = string.Empty;
|
||||||
|
|
||||||
public override LiberateStatus Liberate => _liberate;
|
public override LiberateButtonStatus Liberate => _liberate;
|
||||||
|
|
||||||
protected override Book Book => SeriesBook.Book;
|
protected override Book Book => SeriesBook.Book;
|
||||||
|
|
||||||
private SeriesBook SeriesBook { get; set; }
|
private SeriesBook SeriesBook { get; set; }
|
||||||
|
|
||||||
private LiberateStatus _liberate = new LiberateStatus { IsSeries = true };
|
private LiberateButtonStatus _liberate = new LiberateButtonStatus { IsSeries = true };
|
||||||
|
|
||||||
public void setSeriesBook(SeriesBook seriesBook)
|
public void setSeriesBook(SeriesBook seriesBook)
|
||||||
{
|
{
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user