gnustep / libs-gui

The GNUstep gui library is a library of graphical user interface classes written completely in the Objective-C language; the classes are based upon Apple's Cocoa framework (which came from the OpenStep specification). *** Larger patches require copyright assignment to FSF. please file bugs here. ***
http://www.gnustep.org
GNU General Public License v3.0
279 stars 103 forks source link

highlightTableViewSelection: Always use default selection color if not set. #253

Closed qmfrederik closed 8 months ago

qmfrederik commented 8 months ago

The current implementation will attempt to assign a default value for selectionColor if backgroundColor is white. There's two issues with that:

  1. backgroundColor is likely in the NSNamedColorSpace, whereas it is being compared to [NSColor whiteColor], which is in the NSCalibratedWhiteColorSpace. That comparision will always return false.
  2. Users will probably expect the selected item to be highlighted in a different color even if the background color is not white. For example, the consider a scenario where the default background color is white, and the alternate background color is grey. It makes sense to always highlight the selected row in blue. This aligns with the behavior when highlightedTableRowBackgroundColor is defined.