diff --git a/Source/LibationWinForms/GridView/LiberateDataGridViewImageButtonColumn.cs b/Source/LibationWinForms/GridView/LiberateDataGridViewImageButtonColumn.cs index 1984587d..6e696cb8 100644 --- a/Source/LibationWinForms/GridView/LiberateDataGridViewImageButtonColumn.cs +++ b/Source/LibationWinForms/GridView/LiberateDataGridViewImageButtonColumn.cs @@ -19,18 +19,19 @@ namespace LibationWinForms.GridView private static readonly Color SERIES_BG_COLOR = Color.FromArgb(230, 255, 230); protected override void Paint(Graphics graphics, Rectangle clipBounds, Rectangle cellBounds, int rowIndex, DataGridViewElementStates elementState, object value, object formattedValue, string errorText, DataGridViewCellStyle cellStyle, DataGridViewAdvancedBorderStyle advancedBorderStyle, DataGridViewPaintParts paintParts) { - base.Paint(graphics, clipBounds, cellBounds, rowIndex, elementState, null, null, null, cellStyle, advancedBorderStyle, paintParts); - if (value is LiberateButtonStatus status) { + if (status.BookStatus is LiberatedStatus.Error) + paintParts ^= DataGridViewPaintParts.ContentBackground | DataGridViewPaintParts.ContentForeground | DataGridViewPaintParts.SelectionBackground; + if (rowIndex >= 0 && DataGridView.GetBoundItem(rowIndex) is LibraryBookEntry lbEntry && lbEntry.Parent is not null) - { DataGridView.Rows[rowIndex].DefaultCellStyle.BackColor = SERIES_BG_COLOR; - } + + base.Paint(graphics, clipBounds, cellBounds, rowIndex, elementState, null, null, null, cellStyle, advancedBorderStyle, paintParts); if (status.IsSeries) { - DrawButtonImage(graphics, status.Expanded ? Properties.Resources.minus: Properties.Resources.plus, cellBounds); + DrawButtonImage(graphics, status.Expanded ? Properties.Resources.minus : Properties.Resources.plus, cellBounds); ToolTipText = status.Expanded ? "Click to Collpase" : "Click to Expand"; } @@ -48,7 +49,7 @@ namespace LibationWinForms.GridView private static (string mouseoverText, Bitmap buttonImage) GetLiberateDisplay(LiberatedStatus liberatedStatus, LiberatedStatus? pdfStatus) { if (liberatedStatus == LiberatedStatus.Error) - return ("Book downloaded ERROR", SystemIcons.Error.ToBitmap()); + return ("Book downloaded ERROR", Properties.Resources.error); (string libState, string image_lib) = liberatedStatus switch { diff --git a/Source/LibationWinForms/Properties/Resources.Designer.cs b/Source/LibationWinForms/Properties/Resources.Designer.cs index f3e881e2..280a5d69 100644 --- a/Source/LibationWinForms/Properties/Resources.Designer.cs +++ b/Source/LibationWinForms/Properties/Resources.Designer.cs @@ -130,6 +130,16 @@ namespace LibationWinForms.Properties { } } + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap error { + get { + object obj = ResourceManager.GetObject("error", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// diff --git a/Source/LibationWinForms/Properties/Resources.resx b/Source/LibationWinForms/Properties/Resources.resx index 95b3b8a0..a78be5b3 100644 --- a/Source/LibationWinForms/Properties/Resources.resx +++ b/Source/LibationWinForms/Properties/Resources.resx @@ -139,6 +139,9 @@ ..\Resources\edit-tags-50x50.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\error.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\Resources\import_16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a diff --git a/Source/LibationWinForms/Resources/error.png b/Source/LibationWinForms/Resources/error.png new file mode 100644 index 00000000..700ce41e Binary files /dev/null and b/Source/LibationWinForms/Resources/error.png differ diff --git a/Source/LibationWinForms/Resources/liberate_green.png b/Source/LibationWinForms/Resources/liberate_green.png index b552ac62..2afee2e2 100644 Binary files a/Source/LibationWinForms/Resources/liberate_green.png and b/Source/LibationWinForms/Resources/liberate_green.png differ diff --git a/Source/LibationWinForms/Resources/liberate_green_pdf_no.png b/Source/LibationWinForms/Resources/liberate_green_pdf_no.png index bbdca3e4..a5e54e3e 100644 Binary files a/Source/LibationWinForms/Resources/liberate_green_pdf_no.png and b/Source/LibationWinForms/Resources/liberate_green_pdf_no.png differ diff --git a/Source/LibationWinForms/Resources/liberate_green_pdf_yes.png b/Source/LibationWinForms/Resources/liberate_green_pdf_yes.png index 46408927..179486da 100644 Binary files a/Source/LibationWinForms/Resources/liberate_green_pdf_yes.png and b/Source/LibationWinForms/Resources/liberate_green_pdf_yes.png differ diff --git a/Source/LibationWinForms/Resources/liberate_red.png b/Source/LibationWinForms/Resources/liberate_red.png index 8e74022c..d90bfc4d 100644 Binary files a/Source/LibationWinForms/Resources/liberate_red.png and b/Source/LibationWinForms/Resources/liberate_red.png differ diff --git a/Source/LibationWinForms/Resources/liberate_red_pdf_no.png b/Source/LibationWinForms/Resources/liberate_red_pdf_no.png index 26d019d9..a6b711fd 100644 Binary files a/Source/LibationWinForms/Resources/liberate_red_pdf_no.png and b/Source/LibationWinForms/Resources/liberate_red_pdf_no.png differ diff --git a/Source/LibationWinForms/Resources/liberate_red_pdf_yes.png b/Source/LibationWinForms/Resources/liberate_red_pdf_yes.png index f1183c5c..c7188a4f 100644 Binary files a/Source/LibationWinForms/Resources/liberate_red_pdf_yes.png and b/Source/LibationWinForms/Resources/liberate_red_pdf_yes.png differ diff --git a/Source/LibationWinForms/Resources/liberate_yellow.png b/Source/LibationWinForms/Resources/liberate_yellow.png index d2ea7791..8d53451b 100644 Binary files a/Source/LibationWinForms/Resources/liberate_yellow.png and b/Source/LibationWinForms/Resources/liberate_yellow.png differ diff --git a/Source/LibationWinForms/Resources/liberate_yellow_pdf_no.png b/Source/LibationWinForms/Resources/liberate_yellow_pdf_no.png index 1e917dea..b39b3f95 100644 Binary files a/Source/LibationWinForms/Resources/liberate_yellow_pdf_no.png and b/Source/LibationWinForms/Resources/liberate_yellow_pdf_no.png differ diff --git a/Source/LibationWinForms/Resources/liberate_yellow_pdf_yes.png b/Source/LibationWinForms/Resources/liberate_yellow_pdf_yes.png index bc19f298..e8e7ef6b 100644 Binary files a/Source/LibationWinForms/Resources/liberate_yellow_pdf_yes.png and b/Source/LibationWinForms/Resources/liberate_yellow_pdf_yes.png differ diff --git a/Source/LibationWinForms/Resources/minus.png b/Source/LibationWinForms/Resources/minus.png index bfc2cf4a..c0c5d15c 100644 Binary files a/Source/LibationWinForms/Resources/minus.png and b/Source/LibationWinForms/Resources/minus.png differ diff --git a/Source/LibationWinForms/Resources/plus.png b/Source/LibationWinForms/Resources/plus.png index 1cae3d6b..1cd1c630 100644 Binary files a/Source/LibationWinForms/Resources/plus.png and b/Source/LibationWinForms/Resources/plus.png differ