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 :

"Personnalisation" d'un GtkFileChooserDialog


Sujet :

GTK+ avec C & C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Recette MOE/MOA
    Inscrit en
    Mai 2009
    Messages
    60
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Recette MOE/MOA

    Informations forums :
    Inscription : Mai 2009
    Messages : 60
    Par défaut "Personnalisation" d'un GtkFileChooserDialog
    Bonjour,

    Toujours pour mon interface, je souhaiterais savoir s'il est possible de supprimer la partie gauche du FileChooser, qui contient tous les raccourcis.
    Dans la documentation, ils parlent uniquement d'ajouter ou retirer les raccourcis "personnels", que ce soit gtk_file_chooser_remove_shortcut_folder ou gtk_file_chooser_remove_shortcut_folder_uri.
    D'ailleurs, quelle est la différence entre les deux ?
    Merci d'avance de vos pistes.

  2. #2
    Expert confirmé
    Avatar de gerald3d
    Homme Profil pro
    Conducteur de train
    Inscrit en
    Février 2008
    Messages
    2 309
    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 309
    Billets dans le blog
    5
    Par défaut
    Peut-être en utilisant seulement les GtkFileChooserWidget?

  3. #3
    Membre confirmé
    Profil pro
    Recette MOE/MOA
    Inscrit en
    Mai 2009
    Messages
    60
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Recette MOE/MOA

    Informations forums :
    Inscription : Mai 2009
    Messages : 60
    Par défaut
    Je viens de tester ce bout de code, et... Ce n'est pas plus personnalisable.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
         GtkWidget *Choix_fichier;
        GtkWidget *Conteneur;
        /*Conteneur */
        Conteneur = gtk_window_new(GTK_WINDOW_TOPLEVEL);
        /* GtkFileChooserWidget*/
        Choix_fichier = gtk_file_chooser_widget_new(GTK_FILE_CHOOSER_ACTION_OPEN);
        gtk_container_add(GTK_CONTAINER(Conteneur), GTK_WIDGET(Choix_fichier));
        gtk_widget_show_all(Conteneur);
    Dois-je donc inventer le GtkEditableFileChooser ? Ça risque d'être tendu !

  4. #4
    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
    Par défaut
    Sinon laisse la partie gauche, au moins tu présenteras à tes utilisateurs d'applis gtk+ qque chose avec quo iils sont familiers

  5. #5
    Membre confirmé
    Profil pro
    Recette MOE/MOA
    Inscrit en
    Mai 2009
    Messages
    60
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Recette MOE/MOA

    Informations forums :
    Inscription : Mai 2009
    Messages : 60
    Par défaut
    Si ça ne tenait qu'à moi, je le laisserai volontiers... Mais comme je ne travaille pas pour moi, je suis bien obligée de faire ce qu'on me demande.

  6. #6
    Membre confirmé
    Profil pro
    Recette MOE/MOA
    Inscrit en
    Mai 2009
    Messages
    60
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Recette MOE/MOA

    Informations forums :
    Inscription : Mai 2009
    Messages : 60
    Par défaut
    Il est possible, moyennant de passer par la GLib, d'extraire le nom des fichiers et de les mettre dans une fenêtre avec des GtkCheckButtons.
    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
    void LectureRepertoire(GtkWidget *Widget, gchar *Nom_Dossier)
    {
        /*Widgets nécessaires*/
        GtkWidget *Fenetre_Repertoire;
        GtkWidget *VBox;
        GtkWidget *HBox;
        GtkWidget *Bouton;
     
        /*Initialisation des différents widgets*/
        Fenetre_Repertoire = gtk_window_new(GTK_WINDOW_TOPLEVEL);
        gtk_window_set_title(GTK_WINDOW(Fenetre_Repertoire), "Sélection des morceaux");
        VBox = gtk_vbox_new(FALSE, 0);
        gtk_container_add(GTK_CONTAINER(Fenetre_Repertoire), GTK_WIDGET(VBox));
     
        GDir *Repertoire = g_dir_open(Nom_Dossier, 0, NULL);
        if (Repertoire)
        {
            const gchar *Nom_Fichier = NULL;
            printf("Contenu du dossier \"%s\" : \n", Nom_Dossier);
            while((Nom_Fichier = g_dir_read_name(Repertoire)))
                {
                    //printf("%s%s\n", Nom_Dossier, Nom_Fichier);
                    Bouton = gtk_check_button_new_with_label(Nom_Fichier);
                    gtk_box_pack_start(GTK_BOX(VBox), Bouton, FALSE, FALSE, 0);
                }
            g_dir_close(Repertoire), Repertoire = NULL;
            gtk_widget_show_all(Fenetre_Repertoire);
        }
    }
    Me reste à créer une fonction de rappel utilisant Nom_Fichier, Nom_Dossier ainsi que l'état du bouton pour sélectionner les fichiers.

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