mirror of
https://github.com/nextcloud/desktop.git
synced 2024-11-26 06:55:59 +03:00
85938ab1f1
It was only used on OS X and couldn't be used by the FinderSync extension since that one runs in a sandbox. So use the same system to load images in the legacy extension by shipping them in the extension bundle instead of the owncloud.app bundle. This is also given that the legacy extension needs padded icons while the FinderSync one needs unpadded icons.
72 lines
1.4 KiB
Objective-C
72 lines
1.4 KiB
Objective-C
/**
|
|
* Copyright (c) 2000-2012 Liferay, Inc. All rights reserved.
|
|
*
|
|
* This library is free software; you can redistribute it and/or modify it under
|
|
* the terms of the GNU Lesser General Public License as published by the Free
|
|
* Software Foundation; either version 2.1 of the License, or (at your option)
|
|
* any later version.
|
|
*
|
|
* This library is distributed in the hope that it will be useful, but WITHOUT
|
|
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
|
|
* FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
|
|
* details.
|
|
*/
|
|
|
|
#import "IconCache.h"
|
|
|
|
@implementation IconCache
|
|
|
|
static IconCache* sharedInstance = nil;
|
|
|
|
- init
|
|
{
|
|
self = [super init];
|
|
|
|
if (self)
|
|
{
|
|
_iconIdDictionary = [[NSMutableDictionary alloc] init];
|
|
_currentIconId = 0;
|
|
}
|
|
|
|
return self;
|
|
}
|
|
|
|
- (void)dealloc
|
|
{
|
|
[_iconIdDictionary release];
|
|
sharedInstance = nil;
|
|
|
|
[super dealloc];
|
|
}
|
|
|
|
+ (IconCache*)sharedInstance
|
|
{
|
|
@synchronized(self)
|
|
{
|
|
if (sharedInstance == nil)
|
|
{
|
|
sharedInstance = [[self alloc] init];
|
|
}
|
|
}
|
|
return sharedInstance;
|
|
}
|
|
|
|
- (NSImage*)getIcon:(NSNumber*)iconId
|
|
{
|
|
NSImage* image = [_iconIdDictionary objectForKey:iconId];
|
|
|
|
return image;
|
|
}
|
|
|
|
- (NSNumber*)registerIcon:(NSImage*)image
|
|
{
|
|
_currentIconId++;
|
|
|
|
NSNumber* iconId = [NSNumber numberWithInt:_currentIconId];
|
|
|
|
[_iconIdDictionary setObject:image forKey:iconId];
|
|
|
|
return iconId;
|
|
}
|
|
|
|
@end
|