IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

GTK+ avec C & C++ Discussion :

Pouvoir obtenir le contenu d'un dossier [Sources]


Sujet :

GTK+ avec C & C++

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 40
    Par défaut Pouvoir obtenir le contenu d'un dossier
    Bonjour à tous,

    Pour m'occuper par ces belles vacances de Février je me suis mis à la tache sur un petit projet rien de bien conséquent.

    Mon problème est plus d'ordre technique qu'autre chose.

    En effet, je voudrais pouvoir obtenir le contenu d'un dossier avec un file chooser. Je sais qu'il est possible d'obtenir le nom d'un dossier (donc son contenu) en utilisant l'action : "GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER" mais cette technique à ces limites car dès que je sélectionne quelque chose je suis obliger de le traiter donc je n'ai plus accès à une arborescence car on ne peut aller au delà du premier dossier sélectionné.

    Ma question est la suivante :

    Est-il possible d'obtenir un file chooser qui permette à la fois d'obtenir des fichiers ou ,si on le souhaite par un bouton, un check box ..., obtenir le contenu d'un dossier ?

    Merci d'avance !

  2. #2
    Expert confirmé
    Avatar de gerald3d
    Homme Profil pro
    Conducteur de train
    Inscrit en
    Février 2008
    Messages
    2 308
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Conducteur de train
    Secteur : Transports

    Informations forums :
    Inscription : Février 2008
    Messages : 2 308
    Billets dans le blog
    5
    Par défaut
    Tu vas devoir il me semble modifier le GtkFileChooser avec tes mimines pour obtenir ce que tu veux. Ca n'existe pas tout fait à ma connaissance.

  3. #3
    Membre éclairé
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2006
    Messages
    287
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2006
    Messages : 287
    Par défaut
    je ne comprends pas, tu cherches à obtenir la liste des fichiers d'un répertoire lorsque l'utilisateur a sélectionné un répertoire dans ton gtk_file_chooser?

    Si c'est ça je t'invite à chercher sur le forum les topics ou "GDir" apparaît, c'est un sujet qui a déja été souvent traité, ou bien à te rendre sur la documentation de la GLib/File Utilities pour avoir plus de détails!

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 40
    Par défaut
    Merci pour vos réponse !

    Je sais comment on peut obtenir le contenu d'un dossier, là n'est pas le problème.

    Le problème est comment permettre à un utilisateur de choisir soit un fichier, soit un dossier ?

    En effet, si tu prends un file chooser où tu as définie l'action comme open, tu ne peux pas faire autre chose que sélectionné des fichiers ! Si tu sélectionnes un dossier, tu accèdes à son contenu...

    Par contre si tu mets en place un file chooser avec l'action select folder tu peux avoir le chemin du dossier que tu sélectionnes. Le problème est que tu ne peux pas, ou du moins je n'ai pas compris comment faire, accéder au contenu du dossier (avoir ses sous-dossiers). Tu cliques sur un nom de dossier et c'est fini.
    Ce que je veux c'est pouvoir à la fois avoir un choix par fichier ou par dossier.

    Je sais pas si j'ai été clair.

  5. #5
    Membre éclairé Avatar de Rniamo
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    508
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 508
    Par défaut
    en fait à mon avis soit tu modifie le widget toi même soit tu crée deux bouton un pour sélectionner un fichier, l'autre pour un dossier mais les deux en même temps n'est pas possible je pense.

  6. #6
    Membre Expert
    Homme Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 259
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 259

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 40
    Par défaut
    Après une longue absence, je reviens vous tenir au courant.

    Hier dans une recherche presque sans but je me suis rendu compte que l'on pouvait ajouter un widget quelconque dans une boîte de sélection de fichier. (fonction gtk_file_chooser_set_extra_widget)

    Grâce à cette fonction je peux changer à tout moment l'action du file chooser. Cette modification est activé suivant un check button.

    Voilà le code qui permet de créer un file chooser et de déterminer l'action active sur celui-ci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    void creer_file_selection(GtkWidget *Bouton, gpointer data)
    {    
        GtkWidget *chkDossier = NULL;	
        GtkWidget *SelectionFichier = NULL;/* Pour le FILE_CHOOSER */
     
        /* Création du file_chooser */	
     
        SelectionFichier = gtk_file_chooser_dialog_new ("Choisir une/des fichiers",
                               	  NULL,
                                      GTK_FILE_CHOOSER_ACTION_OPEN,
                                      GTK_STOCK_CANCEL,
                                      GTK_RESPONSE_CANCEL,
                                      GTK_STOCK_OPEN,
                                      GTK_RESPONSE_ACCEPT,
                                      NULL);                             							
     
        /* On crée le widget que l'on veut insérer */                  							
        chkDossier = gtk_check_button_new_with_label (UTF8("Sélectionner en mode       
                                                                                      dossier"));
        g_signal_connect(G_OBJECT(chkDossier), "toggled",   
                                    G_CALLBACK(selecDossier), SelectionFichier);
     
        gtk_file_chooser_set_extra_widget (GTK_FILE_CHOOSER(SelectionFichier),
        								   GTK_WIDGET(chkDossier));  
     
        /* Test des différents retour des boutons du file chooser */
     
        switch (gtk_dialog_run(GTK_DIALOG (SelectionFichier))) 
        {
        	/* On regarde si l'utilisateur a accepté */
     
           	case GTK_RESPONSE_ACCEPT :
           		/* On regarde le mode du file chooser pour établir le traitement à faire */
           		if(gtk_file_chooser_get_action(GTK_FILE_CHOOSER(SelectionFichier)) == GTK_FILE_CHOOSER_ACTION_OPEN)  
           			g_printf("Acceptation en mode fichier\n");  
           		else
           			g_printf("Acceptation en mode dossier\n"); 	
         }
     
         gtk_widget_destroy (SelectionFichier); 
     
         (void)Bouton;
     
    }
    Merci pour votre aide !

    Je mets donc ce sujet en résolu.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. obtenir le nom du dernier dossier dans un chemin
    Par Mitaka dans le forum Langage
    Réponses: 16
    Dernier message: 15/12/2005, 17h05
  2. ajouter le contenu d'un dossier ftp à une bdd
    Par lioudow dans le forum Requêtes
    Réponses: 2
    Dernier message: 16/11/2005, 19h46
  3. Lister le contenu d'un dossier dans une ListBox
    Par zidenne dans le forum Langage
    Réponses: 2
    Dernier message: 25/10/2005, 12h51
  4. [OmniMark 5] Copier contenu d'un dossier dans autre dossier
    Par Hoegaarden dans le forum Autres langages
    Réponses: 3
    Dernier message: 24/08/2005, 16h59
  5. afficher le contenu d'un dossier distant
    Par roots_man dans le forum ASP
    Réponses: 3
    Dernier message: 04/02/2005, 17h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo