From b95e70a8c4074b6b68a95e6394904fa93553ec60 Mon Sep 17 00:00:00 2001 From: Jordan Petridis Date: Sun, 13 May 2018 00:06:35 +0300 Subject: [PATCH] import_dialog: Only show xml files in the FileChooser. --- hammond-gtk/src/headerbar.rs | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/hammond-gtk/src/headerbar.rs b/hammond-gtk/src/headerbar.rs index 7e442da..334c198 100644 --- a/hammond-gtk/src/headerbar.rs +++ b/hammond-gtk/src/headerbar.rs @@ -231,7 +231,7 @@ fn on_url_change( fn on_import_clicked(window: >k::Window, sender: &Sender) { use glib::translate::ToGlib; - use gtk::{FileChooserAction, FileChooserDialog, ResponseType}; + use gtk::{FileChooserAction, FileChooserDialog, FileFilter, ResponseType}; // let dialog = FileChooserDialog::new(title, Some(&window), FileChooserAction::Open); // TODO: It might be better to use a FileChooserNative widget. @@ -246,6 +246,13 @@ fn on_import_clicked(window: >k::Window, sender: &Sender) { ], ); + // Set a filter to show only xml files + let filter = FileFilter::new(); + FileFilterExt::set_name(&filter, Some("OPML file")); + filter.add_mime_type("application/xml"); + filter.add_mime_type("text/xml"); + dialog.add_filter(&filter); + dialog.connect_response(clone!(sender => move |dialog, resp| { debug!("Dialong Response {}", resp); if resp == ResponseType::Accept.to_glib() {