Demande pour sauver avant de quitter

frolfrol Membre
08:11 modifié dans API AppKit #1
Bonjour
Je fais une petite application de type "document-based" et j'ai un petit problème au moment de quitter ou de fermer le document il ne me demande pas si je veux le sauver.

Comment puis-je changer ça

Merci d'avance pour votre aide

Frol

Réponses

  • CéroceCéroce Membre, Modérateur
    08:11 modifié #2
    Il faut que tu gères l'Undo.

    Tu peux remarquer que ton document n'est pour l'instant jamais considéré comme modifié: le bouton de fermeture rouge de la fenêtre n'est jamais rempli.
  • frolfrol Membre
    08:11 modifié #3
    ok je regarde par la un grand merci
  • mpergandmpergand Membre
    08:11 modifié #4
    Basiquement, il suffit d'ajouter:

    -(BOOL) isDocumentEdited<br />{<br />	return YES;<br />}
    


  • Philippe49Philippe49 Membre
    08:11 modifié #5
    Et pour une gestion personnalisée au niveau général, les méthodes applicationShouldTerminate: et applicationWillTerminate :

    @implementation AppDelegate

    - (NSApplicationTerminateReply)applicationShouldTerminate:(NSApplication *)sender {
    NSInteger returnCode=NSRunAlertPanel(@Application will quit,@Do you want to see the documents, @YES,@NO,nil);
    // do what you want to do
    return NSTerminateNow;
    }

  • schlumschlum Membre
    08:11 modifié #6
    dans 1232439726:

    Il faut que tu gères l'Undo.

    Tu peux remarquer que ton document n'est pour l'instant jamais considéré comme modifié: le bouton de fermeture rouge de la fenêtre n'est jamais rempli.


    Pas besoin de gérer l'undo... Il suffit d'utiliser :
    "- (void)updateChangeCount:(NSDocumentChangeType)changeType"

    [theDoc updateChangeCount:NSChangeDone];
    
  • CéroceCéroce Membre, Modérateur
    08:11 modifié #7
    Au temps pour moi... il n'est pas obligatoire de gérer l'Undo.

    Mais ça reste quand même la solution normale: s'il n'y a pas d'action à  annuler, alors le document n'est pas édité et il n'y a pas lieu de demander à  enregistrer.
  • frolfrol Membre
    08:11 modifié #8
    merci beaucoup
    j'ai pris la solution la plus simple

    -(BOOL) isDocumentEdited<br />{<br />	return YES;<br />}
    


    mais promis quand je serai un peu a l'aise je gérerai l'undo
  • AntilogAntilog Membre
    08:11 modifié #9
    Attention!

    En faisant ainsi, tu auras systèmatiquement une demande de sauvegarde, même si ton document n'a pas été modifié (et même si c'est un nouveau document vierge!)

    Tu devrais au moins conditionner la réponse à  une action utilisateur modifiant le document, IMHO.
Connectez-vous ou Inscrivez-vous pour répondre.