Ouvrir une enquête existante depuis GTK #33
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Ticket #031 — Ouvrir une enquête existante depuis GTK
Contexte
Les tickets #029 et #030 ont permis de :
InvestigationSession;InvestigationTreeModel;Application;MainWindow.L’application ne permet cependant pas encore d’ouvrir explicitement une enquête existante.
L’ancien sélecteur automatique au démarrage a été supprimé afin de ne pas forcer l’utilisateur à choisir un dossier à chaque lancement.
Objectif
Ajouter un bouton :
Ce bouton doit permettre de sélectionner le dossier racine d’une enquête existante, puis de l’ouvrir avec le flux déjà présent :
La logique d’installation d’une session ne doit pas être dupliquée.
Travail à réaliser
1. Ajouter le bouton dans
MainWindowModifier :
Ajouter un bouton visible dans la barre d’actions :
La barre doit contenir au minimum :
Ajouter dans la structure privée :
2. Ajouter le type de callback
Dans
include/views/main_window.h, ajouter :Puis déclarer :
3. Conserver le callback dans
MainWindowAjouter dans la structure privée :
Ajouter un callback privé :
Il doit appeler le callback configuré uniquement s’il existe.
MainWindowne doit pas ouvrir elle-même la session.4. Relier le bouton à
ApplicationDans
src/core/application.c, réactiver l’utilisation de :Ajouter :
Cette fonction doit ouvrir le sélecteur avec :
5. Réutiliser
application_on_folder_selected()La fonction doit :
investigation_session_open();InvestigationProject;investigation_tree_builder_build();application_install_session().En cas d’échec :
6. Enregistrer le callback dans
application_on_activate()Après la création de
MainWindow, appeler :Le sélecteur ne doit pas être lancé automatiquement au démarrage.
Tests manuels
Ouverture valide
Ouvrir une enquête;Annulation
Ouvrir le sélecteur puis annuler.
Vérifier :
Dossier invalide
Sélectionner un dossier sans base SQLite.
Vérifier :
Remplacement
Échec pendant le remplacement
Critères d’acceptation
Ouvrir une enquêteest visible.application_install_session()est réutilisée.makeréussit.make testréussit.git diff --checkne retourne aucune erreur.Audit attendu
Résultat attendu pour la dernière commande :
Fichiers principalement concernés
Résultat attendu
À la fin du ticket, l’application doit proposer deux actions explicites :
L’utilisateur doit pouvoir créer une enquête, fermer l’application, puis la rouvrir plus tard depuis GTK.
Commit attendu