aboutsummaryrefslogtreecommitdiff
path: root/Liquid Glass Bezel/BBObjectCell.m
diff options
context:
space:
mode:
Diffstat (limited to 'Liquid Glass Bezel/BBObjectCell.m')
-rw-r--r--Liquid Glass Bezel/BBObjectCell.m45
1 files changed, 39 insertions, 6 deletions
diff --git a/Liquid Glass Bezel/BBObjectCell.m b/Liquid Glass Bezel/BBObjectCell.m
index 7bf1b3c..a060598 100644
--- a/Liquid Glass Bezel/BBObjectCell.m
+++ b/Liquid Glass Bezel/BBObjectCell.m
@@ -14,13 +14,20 @@
NSColor *strokeColor = [NSColor clearColor];
if (isFirstResponder) {
- fillColor = [NSColor selectedTextBackgroundColor];
+ // Use QSAppearance1A (accent color) from UserDefaults instead of selectedTextBackgroundColor
+ fillColor = [[NSUserDefaults standardUserDefaults] colorForKey:@"QSAppearance1A"];
+ if (!fillColor) {
+ // Fallback to system color if preference not set
+ fillColor = [NSColor selectedTextBackgroundColor];
+ }
} else {
fillColor = [NSColor clearColor];
}
if (dropTarget) {
- fillColor = [NSColor controlAccentColor];
+ // Use QSAppearance1A (accent color) from UserDefaults instead of controlAccentColor
+ NSColor *userAccentColor = [[NSUserDefaults standardUserDefaults] colorForKey:@"QSAppearance1A"];
+ fillColor = userAccentColor ? userAccentColor : [NSColor controlAccentColor];
}
[fillColor setFill];
@@ -68,7 +75,16 @@
}
BOOL useAlternateColor = [controlView isKindOfClass:[NSTableView class]] && [(NSTableView *)controlView isRowSelected:[(NSTableView *)controlView rowAtPoint:cellFrame.origin]];
- NSColor *mainColor = (textColor ? textColor : (useAlternateColor ? [NSColor alternateSelectedControlTextColor] : [NSColor controlTextColor]));
+ NSColor *mainColor;
+
+ BOOL shouldApplyTint = [[NSUserDefaults standardUserDefaults] boolForKey:@"QSLiquidGlassBezelApplyTint"];
+ NSColor *userTextColor = shouldApplyTint ? [[NSUserDefaults standardUserDefaults] colorForKey:@"QSAppearance1T"] : [NSColor textColor];
+ if (userTextColor) {
+ mainColor = userTextColor;
+ } else {
+ // Fallback to system colors if QSAppearance1T preference not set
+ mainColor = useAlternateColor ? [NSColor alternateSelectedControlTextColor] : [NSColor controlTextColor];
+ }
NSColor *fadedColor = [mainColor colorWithAlphaComponent:0.50];
NSRect textDrawRect = [self titleRectForBounds:cellFrame];
@@ -149,7 +165,12 @@
CGContextSetBlendMode(context, kCGBlendModeNormal);
[find drawInRect:findImageRect fromRect:rectFromSize([find size]) operation:NSCompositingOperationSourceOver fraction:1];
CGContextSetBlendMode(context, kCGBlendModeSourceIn);
- CGContextSetFillColorWithColor(context, [[NSColor textColor] CGColor]);
+ // Use QSAppearance1T (text color) from UserDefaults if tinting is enabled, otherwise use textColor
+ BOOL shouldApplyTint = [[NSUserDefaults standardUserDefaults] boolForKey:@"QSLiquidGlassBezelApplyTint"];
+ NSColor *userTextColor = shouldApplyTint ? [[NSUserDefaults standardUserDefaults] colorForKey:@"QSAppearance1T"] : [NSColor textColor];
+ NSColor *iconTextColor;
+ iconTextColor = userTextColor ? userTextColor : [NSColor textColor];
+ CGContextSetFillColorWithColor(context, [iconTextColor CGColor]);
CGContextFillRect(context, findImageRect);
CGContextEndTransparencyLayer(context);
@@ -169,7 +190,10 @@
}
else if ([[image name] isEqualToString: @"Object"]) {
iconName = @"cube.transparent";
- iconConfig = [NSImageSymbolConfiguration configurationWithHierarchicalColor:[NSColor controlAccentColor]];
+ // Use QSAppearance1A (accent color) from UserDefaults instead of controlAccentColor
+ NSColor *userAccentColor = [[NSUserDefaults standardUserDefaults] colorForKey:@"QSAppearance1A"];
+ NSColor *iconAccentColor = userAccentColor ? userAccentColor : [NSColor controlAccentColor];
+ iconConfig = [NSImageSymbolConfiguration configurationWithHierarchicalColor:iconAccentColor];
}
else if ([[image name] isEqualToString: @"ContactAddress"]) {
iconName = @"mappin.circle";
@@ -195,7 +219,16 @@
NSImage *newIcon = [NSImage imageWithSystemSymbolName:iconName accessibilityDescription:[image name]];
if (iconConfig == nil) {
- NSArray *colors = [NSArray arrayWithObjects:[NSColor textColor], [NSColor controlAccentColor], nil];
+ // Use QSAppearance1T (text color) and QSAppearance1A (accent color) from UserDefaults
+ BOOL shouldApplyTint = [[NSUserDefaults standardUserDefaults] boolForKey:@"QSLiquidGlassBezelApplyTint"];
+
+ NSColor *userTextColor = shouldApplyTint ? [[NSUserDefaults standardUserDefaults] colorForKey:@"QSAppearance1T"] : [NSColor textColor];
+ NSColor *userAccentColor = [[NSUserDefaults standardUserDefaults] colorForKey:@"QSAppearance1A"];
+
+ NSColor *iconTextColor = userTextColor ? userTextColor : [NSColor textColor];
+ NSColor *iconAccentColor = userAccentColor ? userAccentColor : [NSColor controlAccentColor];
+
+ NSArray *colors = [NSArray arrayWithObjects:iconTextColor, iconAccentColor, nil];
iconConfig = [NSImageSymbolConfiguration configurationWithPaletteColors:colors];
}