2009-08-09 14 views
6

Je travaille sur un petit projet à la maison qui ajouterait un badge (aka superposition d'icônes) à un fichier spécifique en fonction de son état. Quoi qu'il en soit, je l'ai fait goûter et la seule documentation que j'ai pu trouver était sur le site des développeurs d'Apple (Obtaining and Using Icons With Icon Services).Ajouter des badges aux icônes de fichiers dans le Finder

La documentation s'attend à ce que le développeur se familiarise avec les API de fichiers Objective-C, ce que je ne suis pas. Donc, je me demande si quelqu'un peut me donner quelques exemples de code pour ajouter des badges à un fichier et un répertoire. Merci d'avance!!

Répondre

2

Le lien que vous avez publié est pour l'API Carbon (pré-MacOSX). Alors qu'il pourrait fonctionner dans le chercheur de carbone de 10.5, le Finder en 10.6 est purement cacao et à la suite de ce qui pourrait ne pas soutenir le concept de badges à cet égard.

Vous pouvez ajouter des badges à une application dans le dock avec NSDockTile mais vous n'aurez pas beaucoup de chance dans les documents pour les applications dans l'ensemble. Vous devez soit surveiller les documents à l'aide d'un autre mécanisme, puis utiliser, par exemple, un plugin QuickLook pour générer une vue miniaturisée, quel que soit votre état. A défaut, vous pouvez écrire votre propre vue pour les documents (dans lesquels vous pourriez ajouter de telles informations) plutôt que d'utiliser le Finder. Que diriez-vous de plonger dans les sources de SCPlugin?

2

Le Finder peut être 10.6 bidouille avec un plugin SIMBL , il vous suffit d'utiliser la méthode de swizzling réimplémenter la méthode drawWithFrame dans le Finder.

1

Cette question existe depuis longtemps, mais je sais que les gens sont toujours à la recherche d'une solution complète pour les badges icon du Finder et les menus contextuels dans Lion et Mountain Lion en utilisant la méthode swizzling.

Liferay Nativity fournit un ensemble de scripts qui permutera les méthodes pertinentes du Finder et un client Java pour définir les icônes et les menus contextuels. Il comprend également des projets équivalents pour Windows et Linux.

Le projet est open source sous LGPL, alors n'hésitez pas à apporter des corrections de bugs ou des améliorations!

+0

Est-ce que Liferay Nativity a prévu de supporter Python? – fatuhoku

+0

Nous ne sommes pas en train de développer un client Python, mais toutes les communications se font via des sockets, donc le portage du code Java ne devrait pas être terriblement difficile. Je suis en train de discuter avec un autre développeur qui écrit du code client Python. Nous pourrions finir par ajouter son code au repo. – dejuknow

+0

Génial. Très bon à savoir. Merci, dejuknow. – fatuhoku