This commit is contained in:
Michael Bucari-Tovo 2022-05-23 22:24:45 -06:00
parent 632b432b7c
commit 43a4d0d1d7
9 changed files with 50 additions and 58 deletions

View File

@ -1,7 +1,5 @@
using System; using System;
using System.ComponentModel;
using System.Drawing; using System.Drawing;
using System.Linq;
using System.Runtime.InteropServices; using System.Runtime.InteropServices;
using System.Windows.Forms; using System.Windows.Forms;

View File

@ -86,7 +86,7 @@ namespace LibationWinForms.GridView
internal static class GridEntryExtensions internal static class GridEntryExtensions
{ {
#nullable enable #nullable enable
public static IEnumerable<SeriesEntry> Series(this IEnumerable<GridEntry> gridEntries) public static IEnumerable<SeriesEntry> Series(this IEnumerable<GridEntry> gridEntries)
=> gridEntries.Where(i => i is SeriesEntry).Cast<SeriesEntry>(); => gridEntries.Where(i => i is SeriesEntry).Cast<SeriesEntry>();
public static IEnumerable<LibraryBookEntry> LibraryBooks(this IEnumerable<GridEntry> gridEntries) public static IEnumerable<LibraryBookEntry> LibraryBooks(this IEnumerable<GridEntry> gridEntries)

View File

@ -1,6 +1,4 @@
using FileLiberator; using System;
using LibationFileManager;
using System;
using System.Drawing; using System.Drawing;
using System.IO; using System.IO;
using System.Windows.Forms; using System.Windows.Forms;

View File

@ -1,8 +1,7 @@
using System; using DataLayer;
using System;
using System.Drawing; using System.Drawing;
using System.Windows.Forms; using System.Windows.Forms;
using System.Linq;
using DataLayer;
namespace LibationWinForms.GridView namespace LibationWinForms.GridView
{ {

View File

@ -1,10 +1,10 @@
using System; using ApplicationServices;
using DataLayer;
using Dinah.Core;
using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.ComponentModel; using System.ComponentModel;
using System.Linq; using System.Linq;
using ApplicationServices;
using DataLayer;
using Dinah.Core;
namespace LibationWinForms.GridView namespace LibationWinForms.GridView
{ {

View File

@ -1,14 +1,14 @@
using System; using ApplicationServices;
using DataLayer;
using FileLiberator;
using LibationFileManager;
using LibationWinForms.Dialogs;
using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Drawing; using System.Drawing;
using System.Linq; using System.Linq;
using System.Threading.Tasks; using System.Threading.Tasks;
using System.Windows.Forms; using System.Windows.Forms;
using ApplicationServices;
using DataLayer;
using FileLiberator;
using LibationFileManager;
using LibationWinForms.Dialogs;
namespace LibationWinForms.GridView namespace LibationWinForms.GridView
{ {

View File

@ -46,17 +46,15 @@ namespace LibationWinForms.GridView
private void DataGridView_CellContentClick(object sender, DataGridViewCellEventArgs e) private void DataGridView_CellContentClick(object sender, DataGridViewCellEventArgs e)
{ {
// handle grid button click: https://stackoverflow.com/a/13687844 // handle grid button click: https://stackoverflow.com/a/13687844
if ( e.RowIndex < 0) if (e.RowIndex < 0)
return; return;
var column = gridEntryDataGridView.Columns[e.ColumnIndex];
var entry = getGridEntry(e.RowIndex); var entry = getGridEntry(e.RowIndex);
if (entry is LibraryBookEntry lbEntry) if (entry is LibraryBookEntry lbEntry)
{ {
if (e.ColumnIndex == liberateGVColumn.Index) if (e.ColumnIndex == liberateGVColumn.Index)
LiberateClicked?.Invoke(lbEntry); LiberateClicked?.Invoke(lbEntry);
else if (e.ColumnIndex == tagAndDetailsGVColumn.Index && entry is LibraryBookEntry) else if (e.ColumnIndex == tagAndDetailsGVColumn.Index)
DetailsClicked?.Invoke(lbEntry); DetailsClicked?.Invoke(lbEntry);
else if (e.ColumnIndex == descriptionGVColumn.Index) else if (e.ColumnIndex == descriptionGVColumn.Index)
DescriptionClicked?.Invoke(lbEntry, gridEntryDataGridView.GetCellDisplayRectangle(e.ColumnIndex, e.RowIndex, false)); DescriptionClicked?.Invoke(lbEntry, gridEntryDataGridView.GetCellDisplayRectangle(e.ColumnIndex, e.RowIndex, false));

View File

@ -57,7 +57,7 @@ namespace LibationWinForms.GridView
public SeriesEntry(SeriesBook seriesBook, IEnumerable<LibraryBook> children) public SeriesEntry(SeriesBook seriesBook, IEnumerable<LibraryBook> children)
{ {
Children = children.Select(c=>new LibraryBookEntry(c) { Parent = this }).ToList(); Children = children.Select(c => new LibraryBookEntry(c) { Parent = this }).ToList();
SetSeriesBook(seriesBook); SetSeriesBook(seriesBook);
} }
public SeriesEntry(SeriesBook seriesBook, LibraryBook child) public SeriesEntry(SeriesBook seriesBook, LibraryBook child)
@ -96,9 +96,9 @@ namespace LibationWinForms.GridView
{ {
{ nameof(Title), () => Book.SeriesSortable() }, { nameof(Title), () => Book.SeriesSortable() },
{ nameof(Series), () => Book.SeriesSortable() }, { nameof(Series), () => Book.SeriesSortable() },
{ nameof(Length), () => Children.Sum(c=>c.LibraryBook.Book.LengthInMinutes) }, { nameof(Length), () => Children.Sum(c => c.LibraryBook.Book.LengthInMinutes) },
{ nameof(MyRating), () => Children.Average(c=>c.LibraryBook.Book.UserDefinedItem.Rating.FirstScore()) }, { nameof(MyRating), () => Children.Average(c => c.LibraryBook.Book.UserDefinedItem.Rating.FirstScore()) },
{ nameof(PurchaseDate), () => Children.Min(c=>c.LibraryBook.DateAdded) }, { nameof(PurchaseDate), () => Children.Min(c => c.LibraryBook.DateAdded) },
{ nameof(ProductRating), () => Children.Average(c => c.LibraryBook.Book.Rating.FirstScore()) }, { nameof(ProductRating), () => Children.Average(c => c.LibraryBook.Book.Rating.FirstScore()) },
{ nameof(Authors), () => string.Empty }, { nameof(Authors), () => string.Empty },
{ nameof(Narrators), () => string.Empty }, { nameof(Narrators), () => string.Empty },

View File

@ -1,5 +1,4 @@
using System; using System.ComponentModel;
using System.ComponentModel;
using System.Threading; using System.Threading;
using System.Windows.Forms; using System.Windows.Forms;