Добавление значков к значкам файлов в Finder - PullRequest
6 голосов
/ 09 августа 2009

Я работаю над небольшим домашним проектом, который добавит значок (или значок наложения) в определенный файл в зависимости от его состояния. Как бы то ни было, я чертовски погуглил, и единственная документация, которую мне удалось найти, была на сайте разработчиков Apple ( Получение и использование значков с помощью Icon Services ).

В документации предполагается, что разработчик знаком с файловыми API-интерфейсами Objective-C, чего я не знаю. Итак, мне интересно, если кто-то может дать мне несколько примеров кода для добавления значков в файл и каталог. Заранее спасибо !!

Ответы [ 4 ]

6 голосов
/ 09 августа 2009

Как насчет погружения в источники SCPlugin . Я считаю, что они делают то, что работает. Код здесь http://scplugin.tigris.org/svn/scplugin/trunk, логин с "гостем" и без пароля. Я не скажу, что это легко ...

alt text
(источник: tigris.org )

2 голосов
/ 07 мая 2012

Finder в 10.6 можно взломать с помощью SIMBL Плагин, вам просто нужно использовать метод Swizzling, чтобы переопределить метод drawWithFrame в Finder.

2 голосов
/ 09 августа 2009

Ссылка, которую вы разместили, предназначена для API Carbon (pre-MacOSX). Хотя он может работать в Углеродном искателе 10,5, Искатель в 10,6 - чистое какао, и в результате он может не поддерживать концепцию значков в этом отношении.

Вы можете добавить значки к приложению в доке с помощью NSDockTile , но вам не повезет в документах для приложений в целом. Вам нужно будет либо отслеживать документы с помощью какого-либо другого механизма, а затем использовать, скажем, плагин QuickLook для создания миниатюрного представления с любым вашим состоянием.

Если этого не сделать, вы можете написать собственное представление для документов (в которое можно добавить такую ​​информацию), а не использовать Finder.

1 голос
/ 30 июля 2013

Этот вопрос был давно, но я знаю, что люди все еще ищут, поэтому вот законченное решение для значков Finder и контекстных меню в Lion и Mountain Lion, используя метод swizzling.

Liferay Nativity предоставляет пакет сценариев, который переключит соответствующие методы Finder и клиент Java для настройки значков и контекстных меню. Он также включает эквивалентные проекты для Windows и Linux.

Проект с открытым исходным кодом под LGPL, поэтому не стесняйтесь вносить любые исправления ошибок или улучшения!

...