aboutsummaryrefslogtreecommitdiffstats
path: root/Source/SPFieldEditorController.m
diff options
context:
space:
mode:
authorMax <post@wickenrode.com>2015-06-19 17:18:14 +0200
committerMax <post@wickenrode.com>2015-06-29 21:54:54 +0200
commitf46198dd03614404702475a1ac99facbb389e826 (patch)
tree3961ef7b561aa30a0e4a1f8661b005027024719e /Source/SPFieldEditorController.m
parentef8557187a95ee9426d817fa54e1d4a38f6be87b (diff)
downloadsequelpro-f46198dd03614404702475a1ac99facbb389e826.tar.gz
sequelpro-f46198dd03614404702475a1ac99facbb389e826.tar.bz2
sequelpro-f46198dd03614404702475a1ac99facbb389e826.zip
Use find bar in field editor on 10.7+
This will IMHO obliberate the need for the field editor to become a main window and avoid the UI clash from #2148
Diffstat (limited to 'Source/SPFieldEditorController.m')
-rw-r--r--Source/SPFieldEditorController.m22
1 files changed, 19 insertions, 3 deletions
diff --git a/Source/SPFieldEditorController.m b/Source/SPFieldEditorController.m
index fbba1a4b..9ffe395f 100644
--- a/Source/SPFieldEditorController.m
+++ b/Source/SPFieldEditorController.m
@@ -40,6 +40,13 @@
#import <SPMySQL/SPMySQL.h>
+#if __MAC_OS_X_VERSION_MAX_ALLOWED < __MAC_10_7
+@interface NSTextView (LionPlus)
+- (void)setUsesFindBar:(BOOL)value;
+- (BOOL)usesFindBar;
+@end
+#endif
+
typedef enum {
TextSegment = 0,
ImageSegment,
@@ -93,9 +100,18 @@ typedef enum {
// Allow the user to enter cmd+return to close the edit sheet in addition to fn+return
[editSheetOkButton setKeyEquivalentModifierMask:NSCommandKeyMask];
- // Permit the field edit sheet to become main if necessary; this allows fields within the sheet to
- // support full interactivity, for example use of the NSFindPanel inside NSTextViews.
- [editSheet setIsSheetWhichCanBecomeMain:YES];
+ if([editTextView respondsToSelector:@selector(setUsesFindBar:)])
+ // 10.7+
+ // Stealing the main window from the actual main window will cause
+ // a UI bug with the tab bar and the find panel was really the only
+ // thing that had an issue with not working with sheets.
+ // The find bar works fine without hackery.
+ [editTextView setUsesFindBar:YES];
+ else {
+ // Permit the field edit sheet to become main if necessary; this allows fields within the sheet to
+ // support full interactivity, for example use of the NSFindPanel inside NSTextViews.
+ [editSheet setIsSheetWhichCanBecomeMain:YES];
+ }
allowUndo = NO;
selectionChanged = NO;