Как программно разместить значки папок на боковой панели Finder, если для этой папки необходимо использовать пользовательский значок? - PullRequest
5 голосов
/ 30 июня 2009

В настоящее время я работаю над проектом, и хотя я могу добавить элементы боковой панели, добавив в файл com.apple.sidebarlists.plist и перезапустив Finder, я не могу понять, как заставить значки папок появляться при назначенный пользовательский значок.

Может кто-нибудь указать мне ссылку или решение, которое заставило бы меня сделать это? Большое спасибо заранее!

Ответы [ 3 ]

7 голосов
/ 30 июня 2009

Нет поддерживаемого способа сделать это с использованием чистого какао. Вместо этого используйте API LSSharedFileList. Это поддерживаемый способ управления списками боковых панелей, и вы можете предоставить собственный значок (например, IconRef от Icon Services) при вставке элемента.

1 голос
/ 27 мая 2013

Я не знаю насчет значков, но я добавляю элементы на боковую панель с помощью оболочки EBLaunchServices, которая доступна здесь с открытым исходным кодом:

https://github.com/Eric-Bro/EBLaunchServices

Это очень удобно. Например, чтобы добавить подключенный том OSXFUSE на боковую панель, которую вы называете:

NSURL* volumeUrl = [NSURL fileURLWithPath:@"/Volumes/MyVolume"];
[EBLaunchServices addItemWithURL:volumeUrl toList:kLSSharedFileListFavoriteVolumes];
0 голосов
/ 26 августа 2009

Я был слишком упрям, чтобы не делать очевидного. Я сделал:

[[NSWokspace sharedWorkspace] setIcon:someIcon forFile:someFile options:0];

, чтобы установить значок изображения для папки. Затем я добавил com.apple.sidebarlists.plist NSUserDefaults и перезапустил Finder через Apple Events. Это заставило все это работать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...