2016-06-21 18 views
0

Kann mir jemand sagen, welche Art von Signal für FileChooserButton ich verwenden muss, um Dateipfad zu erhalten, indem Sie auf die Datei in FileChooserDialog klicken, die von FileChooserButton heraufgebracht wurde? Ich habe beide file_set und file_activated Signale verwendet, aber nichts ist passiert.FileChooserButton Gtk

Ich habe ein Beispiel aus Vala Sprache Dokumentation verwendet. Und ich bin mir nicht sicher, ob es Open/Cancel-Buttons in diesem Dialog geben sollte (siehe Screenshot unten)? Hier

ist der Code, dass ich verwendet habe:

Gtk.FileChooserButton file_chooser = new Gtk.FileChooserButton(
     "Select a file", 
     Gtk.FileChooserAction.OPEN); 
file_chooser.set_show_hidden(true); 
file_chooser.set_local_only(false); 
file_chooser.set_current_folder("/home"); 

Gtk.FileFilter filter = new Gtk.FileFilter(); 
filter.add_mime_type("application/x-shellscript"); 

file_chooser.set_filter(filter); 
file_chooser.file_set.connect(() => { 
    string uri = file_chooser.get_uri(); 
    stdout.printf("Uri: %s", uri); 
}); 

Screenshot

Vielen Dank im Voraus!

+0

Fehlendes "\ n" in Ihrem printf, denke ich – jku

+0

'Datei-Set' ist für wenn der Benutzer auf Öffnen klickt, um eine Datei auszuwählen und so die Datei ändert, die das GtkFileChooserButton darstellt. 'file-activated' ist, wenn der Benutzer auf eine Datei in einem GtkFileChooserWidget doppelklickt; Ich gehe davon aus, dass GtkFileChooserDialog und GtkFileChooserButton beide auf Öffnen klicken. [Ich vermute, Sie wollen 'Auswahl geändert '?] (Https://developer.gnome.org/gtk3/stable/GtkFileChooser.html#GtkFileChooser-selection-changed) Das heißt, vorausgesetzt, dass ich Ihre Frage richtig gelesen habe und dass Sie benachrichtigt werden möchten, wenn auf ein Element in der Liste geklickt wird. Habe ich? – andlabs

Antwort

0

Gelöst es! Das Problem war in fehlenden Tasten Ok\Cancel, dies geschieht nur in Elementary OS, glaube ich.

Befehl: gsettings set org.gnome.settings-daemon.plugins.xsettings overrides "{'Gtk/DialogsUseHeader':<0>}" war es Arbeit! Danke für die Antworten.

+0

Einen Fehler mit den elementaren Autoren ablegen? Vorausgesetzt, Sie verwenden die neueste Version von allem ... – andlabs

+0

@andlabs ja, ich habe einen Fehler eingereicht. Und ich aktualisiere es jeden Tag – Tony