NSOpenPanel, restreindre à  un fichier spécifique

FabienFabien Membre
23:17 modifié dans API AppKit #1
Bonjour,

Je vous explique mon problème.

J'ouvre dans mon application un NSOpenPanel pour que l'utilisateur aille chercher une application bien spécifique afin de pouvoir en connaà®tre le chemin d'accès.

Problème, je sais restreindre un NSOpenPanel à  certaines extensions grâce à  setAllowedFileTypes, mais je veux plus que ça. Je veux restreindre à  un nom de fichier, pas seulement à  une extension.

Comment faire ?

Réponses

  • mpergandmpergand Membre
    mars 2005 modifié #2
    Essaye plutôt:

    - (NSString *)fullPathForApplication:(NSString *)appName
    Returns the full path for the application appName, or nil if appName isn't in one of the normal places.


    de NSWorkspace

    Bon, evidemment, ça ne marche que si l'application est connu du système.

    Sinon, pour NSOpenPanel, tu implémentes:


    panel:shouldShowFilename:

    - (BOOL)panel:(id)sender shouldShowFilename:(NSString *)filename
    Gives the delegate the opportunity to filter out items that it doesn't want the user to see or choose. The NSSavePanel sender sends this message to the panel's delegate for each file or directory (filename) it is about to load in the browser. The delegate returns YES if filename should be displayed, and NO if the NSSavePanel should ignore the file or directory.
  • amnesicamnesic Membre
    23:17 modifié #3
    dans 1109945030:

    Comment faire ?

    Pourquoi ne pas plutôt utiliser :
    fullPathForApp = [[NSWorkspace sharedWorkspace] fullPathForApplication:@myApp] ?
    Ton application doit être dans un dossier "Applications" par contre ...
    [Edit ] Ooops grillé par mpergand !
  • FabienFabien Membre
    23:17 modifié #4
    Ben oui, mais le but de ce NSOpenPanel est justement de permettre de localiser une application qui n'est pas à  un endroit normal  :o

    Sinon ce serait facile  :P
Connectez-vous ou Inscrivez-vous pour répondre.