mirror of
https://github.com/textmate/textmate.git
synced 2026-04-28 03:00:34 -04:00
Refactoring of file pop-up menu: Use NSDesktopDirectory and NSURL APIs
This commit is contained in:
@@ -72,21 +72,26 @@
|
||||
NSMenu* menu = [fileBrowserPathPopUp menu];
|
||||
[menu removeAllItems];
|
||||
|
||||
NSURL* url = [NSURL fileURLWithPath:NSHomeDirectory()];
|
||||
NSArray<NSURL*>* const defaultURLs = @[
|
||||
[NSFileManager.defaultManager URLForDirectory:NSDesktopDirectory inDomain:NSUserDomainMask appropriateForURL:nil create:NO error:nil],
|
||||
NSFileManager.defaultManager.homeDirectoryForCurrentUser,
|
||||
[NSURL fileURLWithPath:@"/" isDirectory:YES],
|
||||
];
|
||||
|
||||
NSURL* url = defaultURLs[1];
|
||||
if(NSString* urlString = [[NSUserDefaults standardUserDefaults] stringForKey:kUserDefaultsInitialFileBrowserURLKey])
|
||||
url = [NSURL URLWithString:urlString];
|
||||
|
||||
NSArray* defaultPathList = @[ [NSHomeDirectory() stringByAppendingPathComponent:@"Desktop"], NSHomeDirectory(), @"/" ];
|
||||
if(![defaultPathList containsObject:[url path]])
|
||||
if(![defaultURLs containsObject:url])
|
||||
{
|
||||
[menu addItem:[self menuItemForURL:url]];
|
||||
[menu addItem:[NSMenuItem separatorItem]];
|
||||
}
|
||||
|
||||
for(NSString* path in defaultPathList)
|
||||
for(NSURL* defaultURL in defaultURLs)
|
||||
{
|
||||
[menu addItem:[self menuItemForURL:[NSURL fileURLWithPath:path]]];
|
||||
if([path isEqualToString:[url path]])
|
||||
[menu addItem:[self menuItemForURL:defaultURL]];
|
||||
if([defaultURL isEqual:url])
|
||||
[fileBrowserPathPopUp selectItemAtIndex:[menu numberOfItems]-1];
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user