Leopard change mes icônes (le vilain)
Chacha
Membre
Salut,
NSWorkspace a une méthode bien pratique depuis 10.4 permettant d'attribuer une icône particulière aux fichiers que l'on crée : -setIcon:forFile:options:
Je l'utilise dans un de mes logiciels (LaTeXiT) pour que le pdf généré (une équation le plus souvent) n'ait pas comme icône un aperçu du contenu complet (sinon on ne voit rien tellement c'est petit) mais plutôt un extrait de l'équation (plus gros, donc plus discriminant à l'oe“il).
Cela marchait très bien avec Tiger, mais voilà que Leopard n'en fait qu'à sa tête ! Il ignore superbement mon icône dans le Finder... sauf en mode QuickLook ...
Et si je compresse le fichier, puis le décompresse, alors là c'est bon, il reprend mon icône.
Je vais faire un rapport de bugs, car il n'est pas normal d'avoir deux comportements différents. Mais auriez-vous une idée pour contourner ce problème du premier coup ?
+
Chacha
NSWorkspace a une méthode bien pratique depuis 10.4 permettant d'attribuer une icône particulière aux fichiers que l'on crée : -setIcon:forFile:options:
Je l'utilise dans un de mes logiciels (LaTeXiT) pour que le pdf généré (une équation le plus souvent) n'ait pas comme icône un aperçu du contenu complet (sinon on ne voit rien tellement c'est petit) mais plutôt un extrait de l'équation (plus gros, donc plus discriminant à l'oe“il).
Cela marchait très bien avec Tiger, mais voilà que Leopard n'en fait qu'à sa tête ! Il ignore superbement mon icône dans le Finder... sauf en mode QuickLook ...
Et si je compresse le fichier, puis le décompresse, alors là c'est bon, il reprend mon icône.
Je vais faire un rapport de bugs, car il n'est pas normal d'avoir deux comportements différents. Mais auriez-vous une idée pour contourner ce problème du premier coup ?
+
Chacha
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Je sais que souvent pour des petits trucs comme ça (modification du Info.plist d'un bundle, ou du fichier .icns du bundle, etc) il faut forcer le refresh du Finder pour que ce dernier prenne en compte la modification.
La manière la plus simple pour le faire "à la main" est de déplacer l'application (ou le document ou le bundle, ...) à un autre endroit (quitte à la remettre dans le dossier d'origine ensuite). Le fait que tu obtiennes l'icône après avoir zippé puis dézippé ton fichier me fait penser aussi à cette piste.
Par contre, par code (en Cocoa), il me semble qu'il y a une méthode (ça doit pas être NSFileManager mais pas loin) pour demander de forcer la mise à jour de l'élément dans le Finder, qu'il prenne en compte les modifications... reste plus qu'à la retrouver
Oui, méthode de NSWorkspace aussi : "- (void)noteFileSystemChanged:(NSString *)path"
Mais il me semble que "setIcon" le fait déjà automatiquement ???
Pourquoi je pense jamais à NSWorkspace, moi ? :P
Merci des tuyaux ! Pendant ce temps, Apple me dit , donc ils sont au courant.
Je crois que je ne vais pas me casser la nénette à contourner le bug alors... ça devrait se réparer tout seul
En tous cas -noteFileSystemChanged n'a pas changé grand chose, mais c'était une bonne idée.
Peut-être qu'il faudrait que je crée le fichier ailleurs, temporairement, pour le déplacer ensuite au bon endroit.
+
Chacha