[glom] ImageGlom: Allow the user to choose any file.



commit 174c0dda5ecfb31d3950ac9648b8be82e5bb7aba
Author: Murray Cumming <murrayc murrayc com>
Date:   Tue Jul 12 14:34:23 2011 +0200

    ImageGlom: Allow the user to choose any file.
    
    * glom/utility_widgets/imageglom.cc: However, we are still restricted to
    what GdkPixbuf can load.

 ChangeLog                         |    7 +++++++
 glom/utility_widgets/imageglom.cc |   12 ++++++++----
 2 files changed, 15 insertions(+), 4 deletions(-)
---
diff --git a/ChangeLog b/ChangeLog
index 8552388..6f2939f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,12 @@
 2011-07-12  Murray Cumming  <murrayc murrayc com>
 
+	ImageGlom: Allow the user to choose any file.
+
+	* glom/utility_widgets/imageglom.cc: However, we are still restricted to 
+	what GdkPixbuf can load.
+
+2011-07-12  Murray Cumming  <murrayc murrayc com>
+
 	ImageGlom: Do not transform to PNG output when saving.
 
 	* glom/utility_widgets/dialog_image_save_progress.[h|cc]: Replace set_pixbuf() 
diff --git a/glom/utility_widgets/imageglom.cc b/glom/utility_widgets/imageglom.cc
index 552dbc9..ecada37 100644
--- a/glom/utility_widgets/imageglom.cc
+++ b/glom/utility_widgets/imageglom.cc
@@ -394,14 +394,18 @@ void ImageGlom::open_with(const Glib::RefPtr<Gio::AppInfo>& app_info)
 }
 
 
-static Glib::RefPtr<Gtk::FileFilter> get_file_filter_images()
+static void set_file_filter_images(Gtk::FileChooser& file_chooser)
 {
   //Get image formats only:
   Glib::RefPtr<Gtk::FileFilter> filter = Gtk::FileFilter::create();
   filter->set_name(_("Images"));
   filter->add_pixbuf_formats();
+  file_chooser.add_filter(filter);
   
-  return filter;
+  filter = Gtk::FileFilter::create();
+  filter->set_name(_("All Files"));
+  filter->add_pattern("*");
+  file_chooser.add_filter(filter);
 }
 
 void ImageGlom::on_menupopup_activate_save_file()
@@ -412,7 +416,7 @@ void ImageGlom::on_menupopup_activate_save_file()
   if(pApp)
     dialog.set_transient_for(*pApp);
           
-  dialog.add_filter( get_file_filter_images() );
+  set_file_filter_images(dialog);
 
   dialog.add_button(Gtk::Stock::CANCEL, Gtk::RESPONSE_CANCEL);
   dialog.add_button(Gtk::Stock::SAVE, Gtk::RESPONSE_OK);
@@ -466,7 +470,7 @@ void ImageGlom::on_menupopup_activate_select_file()
   if(pApp)
     dialog.set_transient_for(*pApp);
           
-  dialog.add_filter( get_file_filter_images() );
+  set_file_filter_images(dialog);
 
   dialog.add_button(Gtk::Stock::CANCEL, Gtk::RESPONSE_CANCEL);
   dialog.add_button(_("Select"), Gtk::RESPONSE_OK);



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]