J'ai quelques questions concernant la validation du menu Services. J'aimerais activer différents services fournis par mon application en fonction de la sélection d'un fichier ou d'un dossier dans le Finder.
J'ai défini NSFilenamesPboardType comme type d'envoi pour les services. J'ai examiné la méthode - (id)validRequestorForSendType:(NSString *)sendType returnType:(NSString *)returnType mais mon problème est que la validation semble être basée sur le type d'envoi et de retour. Dans mon cas, le type de tableau de collage du fichier et du dossier sélectionné est le même et je ne peux pas déterminer si l'élément sélectionné dans le Finder est un fichier ou un dossier pendant le processus de validation (c'est avant que le service réel soit invoqué, c'est-à-dire lorsque le menu des services est affiché à l'utilisateur) ?
Ma question est donc de savoir s'il existe un moyen d'obtenir des informations sur l'élément sélectionné dans le Finder et de valider les différents menus de services offerts par mon application en fonction de certaines informations concernant l'élément plutôt que de la validation de base des types d'envoi et de retour ?
Je ne parviens pas à trouver de moyen de le faire, mais le service "Actions de dossier" dans Snow Leopard est activé uniquement pour les dossiers, donc cela est possible. J'ai fait un /System/Library/CoreServices/pbs -dump_pboard et il utilise également un NSFilenamePBoardType mais parvient à s'activer uniquement pour les dossiers.
Merci d'avance pour toute aide.