aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Source/CMTextView.m6
-rw-r--r--Source/SPNarrowDownCompletion.h3
-rw-r--r--Source/SPNarrowDownCompletion.m28
3 files changed, 28 insertions, 9 deletions
diff --git a/Source/CMTextView.m b/Source/CMTextView.m
index b21b65ee..2cdf2808 100644
--- a/Source/CMTextView.m
+++ b/Source/CMTextView.m
@@ -697,7 +697,8 @@ NSInteger alphabeticSort(id string1, id string2, void *reverse)
withTableName:tableName
selectedDb:currentDb
caretMovedLeft:caretMovedLeft
- autoComplete:autoCompleteMode];
+ autoComplete:autoCompleteMode
+ oneColumn:isDictMode];
//Get the NSPoint of the first character of the current word
NSRange glyphRange = [[self layoutManager] glyphRangeForCharacterRange:NSMakeRange(completionRange.location,1) actualCharacterRange:NULL];
@@ -1130,7 +1131,8 @@ NSInteger alphabeticSort(id string1, id string2, void *reverse)
withTableName:@""
selectedDb:@""
caretMovedLeft:NO
- autoComplete:NO];
+ autoComplete:NO
+ oneColumn:YES];
//Get the NSPoint of the first character of the current word
NSRange glyphRange = [[self layoutManager] glyphRangeForCharacterRange:NSMakeRange(r2.location,1) actualCharacterRange:NULL];
diff --git a/Source/SPNarrowDownCompletion.h b/Source/SPNarrowDownCompletion.h
index 743f7cc5..0cc17c12 100644
--- a/Source/SPNarrowDownCompletion.h
+++ b/Source/SPNarrowDownCompletion.h
@@ -50,6 +50,7 @@
BOOL cursorMovedLeft;
BOOL commaInsertionMode;
BOOL autoCompletionMode;
+ BOOL oneColumnMode;
NSInteger backtickMode;
NSFont *tableFont;
NSRange theCharRange;
@@ -72,7 +73,7 @@
charRange:(NSRange)initRange parseRange:(NSRange)parseRange inView:(id)aView
dictMode:(BOOL)mode dbMode:(BOOL)theDbMode tabTriggerMode:(BOOL)tabTriggerMode fuzzySearch:(BOOL)fuzzySearch
backtickMode:(NSInteger)theBackTickMode withDbName:(NSString*)dbName withTableName:(NSString*)tableName
- selectedDb:(NSString*)selectedDb caretMovedLeft:(BOOL)caretMovedLeft autoComplete:(BOOL)autoComplete;
+ selectedDb:(NSString*)selectedDb caretMovedLeft:(BOOL)caretMovedLeft autoComplete:(BOOL)autoComplete oneColumn:(BOOL)oneColumn;
- (void)setCaretPos:(NSPoint)aPos;
- (void)insert_text:(NSString* )aString;
- (void)insertCommonPrefix;
diff --git a/Source/SPNarrowDownCompletion.m b/Source/SPNarrowDownCompletion.m
index 9f539d67..ea6752f6 100644
--- a/Source/SPNarrowDownCompletion.m
+++ b/Source/SPNarrowDownCompletion.m
@@ -139,7 +139,7 @@
charRange:(NSRange)initRange parseRange:(NSRange)parseRange inView:(id)aView
dictMode:(BOOL)mode dbMode:(BOOL)theDbMode tabTriggerMode:(BOOL)tabTriggerMode fuzzySearch:(BOOL)fuzzySearch
backtickMode:(NSInteger)theBackTickMode withDbName:(NSString*)dbName withTableName:(NSString*)tableName
- selectedDb:(NSString*)selectedDb caretMovedLeft:(BOOL)caretMovedLeft autoComplete:(BOOL)autoComplete
+ selectedDb:(NSString*)selectedDb caretMovedLeft:(BOOL)caretMovedLeft autoComplete:(BOOL)autoComplete oneColumn:(BOOL)oneColumn
{
if(self = [self init])
{
@@ -149,6 +149,7 @@
[mutablePrefix appendString:aUserString];
autoCompletionMode = autoComplete;
+ oneColumnMode = oneColumn;
fuzzyMode = fuzzySearch;
if(fuzzyMode)
@@ -177,8 +178,25 @@
suggestions = [someSuggestions retain];
- [[theTableView tableColumnWithIdentifier:@"image"] setWidth:((dictMode) ? 0 : 20)];
- [[theTableView tableColumnWithIdentifier:@"name"] setWidth:((dictMode) ? 440 : 180)];
+ if(dictMode || oneColumnMode) {
+ [[theTableView tableColumnWithIdentifier:@"image"] setWidth:0];
+ if(!dictMode) {
+ NSUInteger maxLength = 0;
+ for(id w in someSuggestions) {
+ NSUInteger len = [[w objectForKey:@"display"] length];
+ if(len>maxLength) maxLength = len;
+ }
+ NSMutableString *dummy = [NSMutableString string];
+ for(NSUInteger i=0; i<maxLength; i++)
+ [dummy appendString:@" "];
+
+ CGFloat w = NSSizeToCGSize([dummy sizeWithAttributes:[NSDictionary dictionaryWithObject:tableFont forKey:NSFontAttributeName]]).width + 26.0f;
+ maxWindowWidth = (w>maxWindowWidth) ? maxWindowWidth : w;
+ } else {
+ maxWindowWidth = 220;
+ }
+ [[theTableView tableColumnWithIdentifier:@"name"] setWidth:maxWindowWidth];
+ }
currentDb = selectedDb;
@@ -344,8 +362,6 @@
if(dictMode) {
return @"";
} else {
- // [[aTableColumn dataCell] setTextColor:([aTableView selectedRow] == rowIndex)?[NSColor whiteColor]:[NSColor darkGrayColor]];
- // return ([[filtered objectAtIndex:rowIndex] objectForKey:@"path"]) ? [[filtered objectAtIndex:rowIndex] objectForKey:@"path"] : @"";
if([[filtered objectAtIndex:rowIndex] objectForKey:@"path"]) {
NSPopUpButtonCell *b = [[NSPopUpButtonCell new] autorelease];
[b setPullsDown:NO];
@@ -542,7 +558,7 @@
else if(t == NSKeyDown)
{
NSUInteger flags = [event modifierFlags];
- unichar key = [[event characters] length] == 1 ? [[event characters] characterAtIndex:0] : 0;
+ unichar key = [[event characters] length] == 1 ? [[event characters] characterAtIndex:0] : 0;
// Check if user pressed ⌥ to allow composing of accented characters.
// e.g. for US keyboard "⌥u a" to insert ä