Revision: 15050
http://sourceforge.net/p/skim-app/code/15050
Author: hofman
Date: 2025-03-30 09:03:40 +0000 (Sun, 30 Mar 2025)
Log Message:
-----------
Update color in panel in method that may do it
Modified Paths:
--------------
trunk/SKColorSwatch.m
Modified: trunk/SKColorSwatch.m
===================================================================
--- trunk/SKColorSwatch.m 2025-03-29 22:38:53 UTC (rev 15049)
+++ trunk/SKColorSwatch.m 2025-03-30 09:03:40 UTC (rev 15050)
@@ -110,7 +110,7 @@
@property (nonatomic, readonly) CGFloat contentWidth;
@property (nonatomic) CGFloat bezelWidth;
- (NSRect)frameForItemViewAtIndex:(NSInteger)anIndex;
-- (void)setColor:(NSColor *)color atIndex:(NSInteger)i
updatePanel:(BOOL)updatePanel;
+- (void)_setColor:(NSColor *)color atIndex:(NSInteger)i;
@end
@implementation SKColorSwatch
@@ -337,7 +337,7 @@
- (void)handleColorPanelColorChanged:(NSNotification *)note {
if (selectedIndex != -1) {
NSColor *color = [[NSColorPanel sharedColorPanel] color];
- [self setColor:color atIndex:selectedIndex updatePanel:NO];
+ [self _setColor:color atIndex:selectedIndex];
}
}
@@ -589,28 +589,28 @@
}
}
-- (void)setColor:(NSColor *)color atIndex:(NSInteger)i
updatePanel:(BOOL)updatePanel {
- if (color && i >= 0 && i < (NSInteger)[itemViews count]) {
+- (void)_setColor:(NSColor *)color atIndex:(NSInteger)i {
+ if (i >= 0 && i <= (NSInteger)[itemViews count]) {
[self willChangeColors];
[[itemViews objectAtIndex:i] setColor:color];
NSAccessibilityPostNotification([itemViews objectAtIndex:i],
NSAccessibilityValueChangedNotification);
[self didChangeColors];
- if (updatePanel) {
- NSColorPanel *colorPanel = [NSColorPanel sharedColorPanel];
- NSNotificationCenter *nc = [NSNotificationCenter defaultCenter];
- [nc removeObserver:self
name:NSColorPanelColorDidChangeNotification object:colorPanel];
- [colorPanel setColor:color];
- [nc addObserver:self
selector:@selector(handleColorPanelColorChanged:)
name:NSColorPanelColorDidChangeNotification object:colorPanel];
- }
}
}
- (void)setColor:(NSColor *)color atIndex:(NSInteger)i {
- [self setColor:color atIndex:i updatePanel:selectedIndex == i];
+ [self _setColor:color atIndex:i];
+ if (i >= 0 && i < (NSInteger)[itemViews count] && selectedIndex == i) {
+ NSColorPanel *colorPanel = [NSColorPanel sharedColorPanel];
+ NSNotificationCenter *nc = [NSNotificationCenter defaultCenter];
+ [nc removeObserver:self name:NSColorPanelColorDidChangeNotification
object:colorPanel];
+ [colorPanel setColor:color];
+ [nc addObserver:self selector:@selector(handleColorPanelColorChanged:)
name:NSColorPanelColorDidChangeNotification object:colorPanel];
+ }
}
- (void)insertColor:(NSColor *)color atIndex:(NSInteger)i {
- if (color && i >= 0 && i <= (NSInteger)[itemViews count]) {
+ if (i >= 0 && i <= (NSInteger)[itemViews count]) {
[self willChangeColors];
bezelWidth = [self contentWidth];
SKColorSwatchItemView *itemView = [[SKColorSwatchItemView alloc]
initWithFrame:[self frameForCollapsedItemViewAtIndex:i]];
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
_______________________________________________
Skim-app-commit mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/skim-app-commit