Revision: 13341 http://sourceforge.net/p/skim-app/code/13341 Author: hofman Date: 2023-03-04 14:44:52 +0000 (Sat, 04 Mar 2023) Log Message: ----------- prevent field editor from stealing font panel from font wells
Modified Paths: -------------- trunk/SKPreferenceController.h trunk/SKPreferenceController.m Modified: trunk/SKPreferenceController.h =================================================================== --- trunk/SKPreferenceController.h 2023-03-03 17:11:08 UTC (rev 13340) +++ trunk/SKPreferenceController.h 2023-03-04 14:44:52 UTC (rev 13341) @@ -45,6 +45,7 @@ NSButton *resetButton; NSButton *resetAllButton; NSSegmentedControl *panesButton; + NSTextView *fieldEditor; NSArray *preferencePanes; NSViewController<SKPreferencePane> *currentPane; NSMutableArray *history; Modified: trunk/SKPreferenceController.m =================================================================== --- trunk/SKPreferenceController.m 2023-03-03 17:11:08 UTC (rev 13340) +++ trunk/SKPreferenceController.m 2023-03-04 14:44:52 UTC (rev 13341) @@ -66,6 +66,9 @@ #define INITIALUSERDEFAULTS_KEY @"InitialUserDefaults" #define RESETTABLEKEYS_KEY @"ResettableKeys" +@interface SKPreferenceFieldEditor : NSTextView +@end + @implementation SKPreferenceController @synthesize resetButton, resetAllButton; @@ -108,6 +111,7 @@ SKDESTROY(preferencePanes); SKDESTROY(resetButton); SKDESTROY(resetAllButton); + SKDESTROY(fieldEditor); SKDESTROY(history); [super dealloc]; } @@ -235,6 +239,17 @@ [[NSUserDefaultsController sharedUserDefaultsController] commitEditing]; } +- (id)windowWillReturnFieldEditor:(NSWindow *)sender toObject:(id)anObject { + if ([[currentPane nibName] isEqualToString:@"NotesPreferences"]) { + if (fieldEditor == nil) { + fieldEditor = [[SKPreferenceFieldEditor alloc] init]; + [fieldEditor setFieldEditor:YES]; + } + return fieldEditor; + } + return nil; +} + #pragma mark Actions - (void)toolbarSelectPane:(id)sender { @@ -393,3 +408,15 @@ } @end + + +@implementation SKPreferenceFieldEditor + +- (BOOL)respondsToSelector:(SEL)aSelector { + if (aSelector == @selector(changeFont:) || + aSelector == @selector(changeAttributes:)) + return NO; + return [super respondsToSelector:aSelector]; +} + +@end This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. _______________________________________________ Skim-app-commit mailing list Skim-app-commit@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/skim-app-commit