NSSavePanel : modifier "a la volée" l'extension de fichier

cyranocyrano Membre
15:09 modifié dans API AppKit #1
bonjour,

avec une accessoryView et setNameFieldStringValue cela est trivial en 10.6, mais comment faites vous en 10.5 ?

merci de vos lumieres

Réponses

  • mpergandmpergand Membre
    15:09 modifié #2
    La solution est très tordu !

    <br />NSSavePanel* savePanel=[NSSavePanel savePanel];<br />[savePanel setDelegate:self];<br />[savePanel setExtensionHidden:NO];<br />[savePanel setCanSelectHiddenExtension:YES];<br />[savePanel setRequiredFileType:@&quot;jpg&quot;];<br />[savePanel setAllowsOtherFileTypes:NO];<br />[savePanel runModalForDirectory:nil file:@&quot;image&quot;];<br />
    


    Le nom du fichier sera "image.jpg" au lancement du panneau.

    Pour changer l'extension, il faut faire:
    [savePanel setRequiredFileType:@png];

    Mais si l'utilisateur change lui-même l'extension, celle-ci est ajoutée au nom du fichier !
    ex: image.jpg.png

    L'utilisateur a tapé jpg, mais comme la seule extension autorisée est png, jpg est donc considéré comme faisant parti du nom du fichier.

    Mais le savePanel cache l'extension et affiche "image.jpg"
    Et si l'utilisateur valide, une alerte s'affiche disant que l'extension jpg n'est pas valide  ???
    Mais si l'utilisateur décoche "Cacher l'extension", le fichier devient valide B)
    Bon, à  ce niveau de délire, moi je jette l'éponge  :D

    Le plus simple, c'est de ne pas afficher les extensions et voilà  !
  • muqaddarmuqaddar Administrateur
    15:09 modifié #3
    Attention où vous postez vos sujets... ici c'est du Mac donc => Mac OS SDK
  • cyranocyrano Membre
    15:09 modifié #4
    Attention où vous postez vos sujets... ici c&#39;est du Mac donc =&gt; Mac OS SDK
    


    ???
  • mpergandmpergand Membre
    15:09 modifié #5
    dans 1292161104:

    Attention où vous postez vos sujets... ici c'est du Mac donc => Mac OS SDK

    :p :p :p :p :p
    :p
Connectez-vous ou Inscrivez-vous pour répondre.