Mise à jour d'icônes dans le Finder
helgrind
Membre
Bonjour,
J'utilise IconFamily pour appliqué des icône personnalisées à des fichiers fraichement créés.
Mais des fois, quand j'applique une icône à un fichier, le Finder n'affiche pas la nouvelle icône et je dois recommencer plusieurs fois jusqu'à ce que ça marche.
En regardant dans la resource fork du fichier, l'icône s'y trouve bien.
Donc j'en déduis qu'il s'agit d'un problème de rafraichissement de l'icône.
J'ai essayé noteFileSystemChanged: de NSWorkspace, FNNotify et même d'envoyer un Apple Event au Finder, mais rien à faire.
L'icône du fichier reste une page blanche.
J'utilise IconFamily pour appliqué des icône personnalisées à des fichiers fraichement créés.
Mais des fois, quand j'applique une icône à un fichier, le Finder n'affiche pas la nouvelle icône et je dois recommencer plusieurs fois jusqu'à ce que ça marche.
En regardant dans la resource fork du fichier, l'icône s'y trouve bien.
Donc j'en déduis qu'il s'agit d'un problème de rafraichissement de l'icône.
J'ai essayé noteFileSystemChanged: de NSWorkspace, FNNotify et même d'envoyer un Apple Event au Finder, mais rien à faire.
L'icône du fichier reste une page blanche.
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Par exemple, parfois je dézippe un truc et le dossier obtenu paraà®t vide ; problèmes de rafraà®chissement d'icônes aussi etc.
Peut-être que ça a été amélioré dans Leopard ???
Bah je suis sur Léopard, et apparement il y toujours ces problèmes...
Bizarre, car noteFileSystemChanged: fonctionne bien pour le Finder...
Quel chemin mets-tu ?
Celui du fichier avec la nouvelle icône, ou celui de répertoire dans lequel se trouve ce fichier ?
.
Celui du répertoire parent.
Ben, justement, j'aurais plutôt mis le chemin du fichier modifié (celui pour lequel tu as mis l'icône personnalisée)...
.
Ca ne change rien malheureusement :-\\
J'ai pensé à une chose: est-ce possible que l'icône ait mal été écrite dans la resource fork du fichier?
Déjà essayé, mais ca ne marche pas quand même.
Mais bon, c'est un peu violent
fonctionne à merveille.
La nouvelle icône apparaà®t instantanément dans la fenêtre ouverte en arrière-plan du Finder.
Par contre, je ne sais pas réellement ce que fait setIcon: (l'icône customisée n'est pas sélectionnable dans l'inspecteur du Finder : on ne peut ni la copier, ni l'effacer).
Les symptômes que tu décris me font toutefois penser, en effet, à un problème de configuration de la nouvelle icône.
.
Le problème avec cette méthode c'est que c'est terriblement lent pour traité des centaines d'icônes.
Et voilà un magnifique aperçu des icônes aplliquées par NSWorkspace :P
Ca suffit pour raffraà®chir l'icône.
J'ai déjà essayé tout ça.
Je commence à croire à un problème d'écriture des ressources du fichiers.
Ce qui est bizarre c'est qu'il n'y a aucune erreur...
On est en informatique ici, pas chez les Shadoks :P
Les seuls problèmes aléatoires que je connaisse en informatique sont dû :
- À un dépassement de buffer
- À une section critique mal protégée et utilisée par 2 threads en même temps
(il y a peut-être d'autres cas, mais en général ce sont des cas très spécifiques !)
Bah ça doit faire partie des cas très spécifique
Il y a environ 10% des icônes qui ne sont pas affichées.
Toujours sur les mêmes fichiers ou ça dépend des fois ?
Ca peut très bien être dépendant soit de l'icône que tu appliques (si c'est toujours les mêmes icônes qui foirent et les mêmes icônes qui marchent)
Ca peut aussi dépendre du chemin du fichier (si c'est toujours pour le même fichier que l'application de l'icône foire, quelle que soit l'icône)
Ca peut même être une combinaison des deux.
Je pense entre autres par exemple à un problème dans le path (espaces dans le path, ou caractères accentués, etc) ou un problème de droits sur le fichier, etc.
C'est sur 10% des fichiers auquels j'applique les icônes que ça ne marche pas.
Et les icônes qui ne marche pas varie.
Je ne pense pas à un problème de permissions car les fichiers sont créés par mon prog avant d'appliquer l'icône.
Je vais poster un exemple ce soir pour vous montrer.
un dossier "icons" est créé sur le bureau où les icônes seront enregistrées.