Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
37 commits
Select commit Hold shift + click to select a range
e6f2972
Add out type to DeserializeAll
maforget May 23, 2026
6e54e1c
Removed attribute and instead find type based on generic type
maforget May 23, 2026
59f8956
Add support for embedding ComicBook.xml in exports
maforget May 23, 2026
67c7235
Exclude unnecessary metadata in ComicBook.xml
maforget May 23, 2026
86a5183
Enabled reading of ComicBook.xml file from archives
maforget May 23, 2026
2f745de
Always enable creating ComicBook.xml on export
maforget May 23, 2026
d7741e0
Add update of ComicBook.xml
maforget May 24, 2026
fcca5f6
Streamlined usage using polymorphism
maforget May 24, 2026
6426365
Type of XML Export depends on EmbedComicBook setting
maforget May 24, 2026
09da673
Added ComicBook.xml support for NTFS stream and sidecar
maforget May 24, 2026
5ef4fbb
Changed it so ComicBook.xml is updated 1st
maforget May 24, 2026
8476f6c
Used Generics to simplify ReadInfo/LoadInfo and removed Book variants
maforget May 25, 2026
8cdab19
Update for ComicInfo/ComicBook is now done at the same time
maforget May 25, 2026
aa3964f
Removed extra unnecessary xml file being created
maforget May 25, 2026
f334876
Keep Added to the exported ComicBook.xml
maforget May 25, 2026
2fbeaf3
Add Embed Library Info checkbox to the Export Dialog
maforget May 25, 2026
aba2ab8
Added a ComicRack.ini option that disables reading from ComicBook.xml
maforget May 25, 2026
b7e3862
Added UI setting to embed Library Info in book files
maforget May 25, 2026
328b408
Enabled Custom & Catalog tabs when writing of Library Info is enabled
maforget May 25, 2026
99ec4c7
Made sure that ComicBook.Serialize does a clone
maforget May 25, 2026
7ef1a13
Merge branch 'dev' into comicbookXML
maforget May 25, 2026
63fb652
Updated french translation for new UI elements
maforget May 25, 2026
f18d1d3
Fixed DarkMode colors that were removed from the Preferences
maforget May 25, 2026
b19cd6f
rating, enable proposed & series complete are now enabled when writin…
maforget May 26, 2026
04d2446
New method that gets all the XML writable properties new in ComicBoo…
maforget May 26, 2026
11847ed
Added missing Catalog properties to the IsSameContent in ComicBook
maforget May 26, 2026
5ed5a8c
Refactor BookChangedEventArgs to also track changes to ComicBook
maforget May 28, 2026
28e6394
Add ComicBookIsDirty flag for library property changes
maforget May 28, 2026
53bfc85
Add ComicBookModifiedBookInfoMatcher for dirty state
maforget May 28, 2026
15a6afa
Enabled "Rating", "Color" and "Series Complete" in Paste Data when Up…
maforget May 28, 2026
4ca9e8b
Removed NewPages from ComicBookIsDirty tracking
maforget May 28, 2026
b33a4c7
Force Info to be a ComicInfo in WebComic
maforget May 29, 2026
4ba23b7
Removed IsDynamicSource & EnableDynamicUpdate from ComicBook.xml
maforget May 29, 2026
f468db3
Prevent setting ComicBookIsDirty for dynamic source
maforget May 29, 2026
58f902d
Asking to update on exit will take into consideration ComicBookIsDirty
maforget May 29, 2026
59226af
Merge branch 'dev' into comicbookXML
maforget May 29, 2026
09db60f
Merge branch 'dev' into comicbookXML
maforget May 30, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
113 changes: 59 additions & 54 deletions ComicRack.Engine/BookChangedEventArgs.cs
Original file line number Diff line number Diff line change
Expand Up @@ -2,58 +2,63 @@

namespace cYo.Projects.ComicRack.Engine
{
public class BookChangedEventArgs : PropertyChangedEventArgs
{
public object OldValue
{
get;
private set;
}

public object NewValue
{
get;
private set;
}

public bool IsComicInfo
{
get;
private set;
}

public int Page
{
get;
private set;
}

public BookChangedEventArgs(string propertyName, int page, bool isComicInfo)
: base(propertyName)
{
IsComicInfo = isComicInfo;
Page = page;
}

public BookChangedEventArgs(string propertyName, bool isComicInfo)
: this(propertyName, -1, isComicInfo)
{
}

public BookChangedEventArgs(string propertyName, bool isComicInfo, object oldValue, object newValue)
: this(propertyName, -1, isComicInfo)
{
OldValue = oldValue;
NewValue = newValue;
}

public BookChangedEventArgs(BookChangedEventArgs e)
: base(e.PropertyName)
{
OldValue = e.OldValue;
NewValue = e.NewValue;
IsComicInfo = e.IsComicInfo;
Page = e.Page;
}
}
public enum ComicInfoType
{
None,
ComicInfo,
ComicBook
}

public class BookChangedEventArgs : PropertyChangedEventArgs
{
public object OldValue
{
get;
private set;
}

public object NewValue
{
get;
private set;
}

private ComicInfoType ComicInfoType { get; set; }
public bool IsComicInfo => ComicInfoType == ComicInfoType.ComicInfo;
public bool IsComicBook => ComicInfoType == ComicInfoType.ComicBook;

public int Page
{
get;
private set;
}

public BookChangedEventArgs(string propertyName, int page, ComicInfoType comicInfoType)
: base(propertyName)
{
ComicInfoType = comicInfoType;
Page = page;
}

public BookChangedEventArgs(string propertyName, ComicInfoType comicInfoType)
: this(propertyName, -1, comicInfoType)
{
}

public BookChangedEventArgs(string propertyName, ComicInfoType comicInfoType, object oldValue, object newValue)
: this(propertyName, -1, comicInfoType)
{
OldValue = oldValue;
NewValue = newValue;
}

public BookChangedEventArgs(BookChangedEventArgs e)
: base(e.PropertyName)
{
OldValue = e.OldValue;
NewValue = e.NewValue;
ComicInfoType = e.ComicInfoType;
Page = e.Page;
}
}
}
Loading
Loading