Revision: 30001
http://sourceforge.net/p/bibdesk/svn/30001
Author: hofman
Date: 2026-02-16 15:44:07 +0000 (Mon, 16 Feb 2026)
Log Message:
-----------
combine pref pane callbacks
Modified Paths:
--------------
trunk/bibdesk/BDSKPreferenceController.m
trunk/bibdesk/BDSKPreferencePane.h
trunk/bibdesk/BDSKPreferencePane.m
trunk/bibdesk/BibPref_AutoFile.m
trunk/bibdesk/BibPref_CiteKey.m
trunk/bibdesk/BibPref_Display.m
trunk/bibdesk/BibPref_Sharing.m
Modified: trunk/bibdesk/BDSKPreferenceController.m
===================================================================
--- trunk/bibdesk/BDSKPreferenceController.m 2026-02-16 15:32:39 UTC (rev
30000)
+++ trunk/bibdesk/BDSKPreferenceController.m 2026-02-16 15:44:07 UTC (rev
30001)
@@ -204,11 +204,17 @@
if ([[self window] attachedSheet])
return NO;
BDSKPreferencePane *pane = [self selectedPane];
- return pane == nil || [pane shouldCloseWindow];
+ if (pane == nil)
+ return YES;
+ __block BOOL shouldClose = NO;
+ [pane shouldHideWithReply:^(BOOL shouldHide){
+ shouldClose = shouldHide;
+ }];
+ return shouldClose;
}
- (void)windowWillClose:(NSNotification *)notification {
- [[self selectedPane] willCloseWindow];
+ [[self selectedPane] willHide];
}
- (id)windowWillReturnFieldEditor:(NSWindow *)sender toObject:(id)anObject {
@@ -222,10 +228,10 @@
- (void)showWindow:(id)sender {
BOOL wasVisible = [[self window] isVisible];
if (wasVisible == NO)
- [[self selectedPane] willShowWindow];
+ [[self selectedPane] willShow];
[super showWindow:sender];
if (wasVisible == NO)
- [[self selectedPane] didShowWindow];
+ [[self selectedPane] didShow];
}
- (NSString *)localizedString:(NSString *)string {
@@ -354,10 +360,10 @@
NSView *oldView = oldPane ? [oldPane view] : [self iconView];
NSWindow *window = [self window];
if ((pane || [identifier isEqualToString:@""]) && view && [window
attachedSheet] == nil) {
- void (^reply)(BOOL) = ^(BOOL shouldUnselect){
- if (shouldUnselect) {
- [oldPane willUnselect];
- [pane willSelect];
+ void (^reply)(BOOL) = ^(BOOL shouldHide){
+ if (shouldHide) {
+ [oldPane willHide];
+ [pane willShow];
[window setTitle:[self localizedString:[pane title]] ?:
[self defaultWindowTitle]];
[titleField setStringValue:[window title]];
if (@available(macOS 11.0, *)) {} else {
@@ -367,8 +373,8 @@
[titleItem setMaxSize:[titleField frame].size];
}
[self changeContentView:view from:oldView display:[window
isVisible]];
- [oldPane didUnselect];
- [pane didSelect];
+ [oldPane didHide];
+ [pane didShow];
[self setSelectedPaneIdentifier:identifier];
[helpButton setHidden:(helpBookName == nil || [pane
helpAnchor] == nil) && [pane helpURL] == nil];
[revertButton setEnabled:[[pane initialValues] count] > 0];
@@ -376,7 +382,7 @@
}
};
if (oldPane)
- [oldPane shouldUnselectWithReply:reply];
+ [oldPane shouldHideWithReply:reply];
else
reply(YES);
}
Modified: trunk/bibdesk/BDSKPreferencePane.h
===================================================================
--- trunk/bibdesk/BDSKPreferencePane.h 2026-02-16 15:32:39 UTC (rev 30000)
+++ trunk/bibdesk/BDSKPreferencePane.h 2026-02-16 15:44:07 UTC (rev 30001)
@@ -70,18 +70,12 @@
- (void)defaultsDidRevert;
-- (void)willSelect;
-- (void)didSelect;
+- (void)willShow;
+- (void)didShow;
+- (void)willHide;
+- (void)didHide;
+- (void)shouldHideWithReply:(void(^)(BOOL shouldHide))reply;
-- (void)shouldUnselectWithReply:(void(^)(BOOL shouldUnselect))reply;
-- (void)willUnselect;
-- (void)didUnselect;
-
-- (void)willShowWindow;
-- (void)didShowWindow;
-- (BOOL)shouldCloseWindow;
-- (void)willCloseWindow;
-
- (void)addObserverForUserDefaultsKey:(NSString *)key;
- (void)addObserverForUserDefaultsKey:(NSString *)key dependentKey:(nullable
NSString *)dependentKey;
- (void)observeValueForUserDefaultsKey:(NSString *)key;
Modified: trunk/bibdesk/BDSKPreferencePane.m
===================================================================
--- trunk/bibdesk/BDSKPreferencePane.m 2026-02-16 15:32:39 UTC (rev 30000)
+++ trunk/bibdesk/BDSKPreferencePane.m 2026-02-16 15:44:07 UTC (rev 30001)
@@ -106,33 +106,22 @@
- (void)defaultsDidRevert {}
-- (void)willSelect {}
-- (void)didSelect {}
+- (void)willShow {}
-- (void)shouldUnselectWithReply:(void(^)(BOOL shouldUnselect))reply {
- NSWindow *window = [[self view] window];
- if ([[window firstResponder] isKindOfClass:[NSText class]] && [(NSView
*)[window firstResponder] isDescendantOf:[self view]] && NO == [window
makeFirstResponder:nil])
- reply(NO);
- else
- reply(YES);
-}
+- (void)didShow {}
-- (void)willUnselect {}
-- (void)didUnselect {}
+- (void)willHide {}
-- (void)willShowWindow {}
-- (void)didShowWindow {}
+- (void)didHide {}
-- (BOOL)shouldCloseWindow {
+- (void)shouldHideWithReply:(void(^)(BOOL shouldHide))reply {
NSWindow *window = [[self view] window];
if ([[window firstResponder] isKindOfClass:[NSText class]] && [(NSView
*)[window firstResponder] isDescendantOf:[self view]] && NO == [window
makeFirstResponder:nil])
- return NO;
+ reply(NO);
else
- return YES;
+ reply(YES);
}
-- (void)willCloseWindow {}
-
#pragma mark KVO
- (void)addObserverForUserDefaultsKey:(NSString *)key dependentKey:(NSString
*)dependentKey{
Modified: trunk/bibdesk/BibPref_AutoFile.m
===================================================================
--- trunk/bibdesk/BibPref_AutoFile.m 2026-02-16 15:32:39 UTC (rev 30000)
+++ trunk/bibdesk/BibPref_AutoFile.m 2026-02-16 15:44:07 UTC (rev 30001)
@@ -266,7 +266,7 @@
#pragma mark Unselecting pane
-- (void)shouldUnselectWithReply:(void (^)(BOOL))reply {
+- (void)shouldHideWithReply:(void (^)(BOOL))reply {
NSWindow *window = [[self view] window];
BOOL editingFormat = [formatField currentEditor] != nil;
if ([[window firstResponder] isKindOfClass:[NSText class]] && [(NSView
*)[window firstResponder] isDescendantOf:[self view]] && NO == [window
makeFirstResponder:nil]) {
@@ -305,14 +305,6 @@
}
}
-- (BOOL)shouldCloseWindow {
- __block BOOL shouldClose = NO;
- [self shouldUnselectWithReply:^(BOOL shouldUnselect) {
- shouldClose = YES;
- }];
- return shouldClose;
-}
-
#pragma mark Invalid format warning stuff
- (NSString *)formatError {
Modified: trunk/bibdesk/BibPref_CiteKey.m
===================================================================
--- trunk/bibdesk/BibPref_CiteKey.m 2026-02-16 15:32:39 UTC (rev 30000)
+++ trunk/bibdesk/BibPref_CiteKey.m 2026-02-16 15:44:07 UTC (rev 30001)
@@ -226,7 +226,7 @@
#pragma mark Unselecting pane
-- (void)shouldUnselectWithReply:(void (^)(BOOL))reply {
+- (void)shouldHideWithReply:(void (^)(BOOL))reply {
if ([formatField currentEditor] == nil || [[[self view] window]
makeFirstResponder:nil]) {
reply(YES);
@@ -263,14 +263,6 @@
}
}
-- (BOOL)shouldCloseWindow {
- __block BOOL shouldClose = NO;
- [self shouldUnselectWithReply:^(BOOL shouldUnselect) {
- shouldClose = YES;
- }];
- return shouldClose;
-}
-
#pragma mark Invalid format warning stuff
- (NSString *)formatError {
Modified: trunk/bibdesk/BibPref_Display.m
===================================================================
--- trunk/bibdesk/BibPref_Display.m 2026-02-16 15:32:39 UTC (rev 30000)
+++ trunk/bibdesk/BibPref_Display.m 2026-02-16 15:44:07 UTC (rev 30001)
@@ -139,8 +139,7 @@
[self deactivateFontWells];
}
-- (void)didSelect{
- [super didSelect];
+- (void)didShow {
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(handleWindowDidResignMain:)
name:NSWindowDidResignMainNotification
@@ -147,8 +146,7 @@
object:[[self view] window]];
}
-- (void)willUnselect{
- [super willUnselect];
+- (void)willHide {
[self deactivateFontWells];
[[NSNotificationCenter defaultCenter] removeObserver:self
name:NSWindowDidResignMainNotification
@@ -156,16 +154,6 @@
}
-- (void)didShowWindow {
- [super didShowWindow];
- [self didSelect];
-}
-
-- (void)willCloseWindow {
- [super willCloseWindow];
- [self willUnselect];
-}
-
#pragma mark KVO
- (void)observeValueForUserDefaultsKey:(NSString *)key {
Modified: trunk/bibdesk/BibPref_Sharing.m
===================================================================
--- trunk/bibdesk/BibPref_Sharing.m 2026-02-16 15:32:39 UTC (rev 30000)
+++ trunk/bibdesk/BibPref_Sharing.m 2026-02-16 15:44:07 UTC (rev 30001)
@@ -83,7 +83,7 @@
[[NSNotificationCenter defaultCenter]
postNotificationName:BDSKSharingPasswordChangedNotification object:nil];
}
-- (void)willSelect {
+- (void)willShow {
if (didDisplay == NO) {
[self willChangeValueForKey:@"password"];
didDisplay = YES;
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
_______________________________________________
Bibdesk-commit mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bibdesk-commit