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
[email protected]
https://lists.sourceforge.net/lists/listinfo/skim-app-commit