[ease] [editor] Add image file filters to all image dialogs.
- From: Nate Stedman <natesm src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [ease] [editor] Add image file filters to all image dialogs.
- Date: Mon, 9 Aug 2010 01:02:50 +0000 (UTC)
commit 7674a9bbd1403f1512e053b10f96b0f20dea9321
Author: Nate Stedman <natesm gmail com>
Date: Sun Aug 8 21:02:30 2010 -0400
[editor] Add image file filters to all image dialogs.
ease-core/ease-background-widget.vala | 71 ++++++++++++++++++++------------
ease/ease-editor-window.vala | 14 ++++++-
2 files changed, 57 insertions(+), 28 deletions(-)
---
diff --git a/ease-core/ease-background-widget.vala b/ease-core/ease-background-widget.vala
index 90a1b85..472fb90 100644
--- a/ease-core/ease-background-widget.vala
+++ b/ease-core/ease-background-widget.vala
@@ -158,6 +158,17 @@ public class Ease.BackgroundWidget : Gtk.Alignment
}
} while (image_fill.model.iter_next(ref itr));
+ // add a filter for image files to the bg image box
+ var filter = new Gtk.FileFilter();
+ filter.add_pixbuf_formats();
+ filter.set_name(_("Images"));
+ bg_image.add_filter(filter);
+
+ // add a filter for all files to the bg image box
+ filter = new Gtk.FileFilter();
+ filter.set_name(_("All Files"));
+ filter.add_pattern("*");
+ bg_image.add_filter(filter);
// connect signals
builder.connect_signals(this);
@@ -194,34 +205,40 @@ public class Ease.BackgroundWidget : Gtk.Alignment
// ease doesn't provide a default for images, so one must be requested
if (type == BackgroundType.IMAGE && background.image.filename == null)
{
- var dialog = new Gtk.FileChooserDialog(BG_DIALOG_TITLE,
- widget_window(this),
- Gtk.FileChooserAction.OPEN,
- "gtk-cancel",
- Gtk.ResponseType.CANCEL,
- "gtk-open",
- Gtk.ResponseType.ACCEPT);
- switch (dialog.run())
+ var filename = Dialog.open_ext(BG_DIALOG_TITLE,
+ widget_window(this),
+ (dialog) => {
+ // add a filter for image files
+ var filter = new Gtk.FileFilter();
+ filter.add_pixbuf_formats();
+ filter.set_name(_("Images"));
+ dialog.add_filter(filter);
+
+ // add a filter for all files
+ filter = new Gtk.FileFilter();
+ filter.set_name(_("All Files"));
+ filter.add_pattern("*");
+ dialog.add_filter(filter);
+ });
+
+ if (filename != null)
+ {
+ try
+ {
+ background.image.source = filename;
+ var image = document.add_media_file(filename);
+ background.image.filename = image;
+ }
+ catch (GLib.Error e)
+ {
+ critical("Error adding background image: %s",
+ e.message);
+ }
+ }
+ else
{
- case Gtk.ResponseType.ACCEPT:
- try
- {
- var fname = dialog.get_filename();
- background.image.source = fname;
- var i = document.add_media_file(fname);
- background.image.filename = i;
- }
- catch (GLib.Error e)
- {
- critical("Error adding background image: %s",
- e.message);
- }
- dialog.destroy();
- break;
- case Gtk.ResponseType.CANCEL:
- action.apply();
- dialog.destroy();
- return;
+ action.apply();
+ return;
}
}
diff --git a/ease/ease-editor-window.vala b/ease/ease-editor-window.vala
index 7b7faed..ffd3faa 100644
--- a/ease/ease-editor-window.vala
+++ b/ease/ease-editor-window.vala
@@ -415,7 +415,19 @@ internal class Ease.EditorWindow : Gtk.Window
[CCode (instance_pos = -1)]
internal void insert_image(Gtk.Widget sender)
{
- var filename = Dialog.open(_("Insert Image"), this);
+ var filename = Dialog.open_ext(_("Insert Image"), this, (dialog) => {
+ // add a filter for image files
+ var filter = new Gtk.FileFilter();
+ filter.add_pixbuf_formats();
+ filter.set_name(_("Images"));
+ dialog.add_filter(filter);
+
+ // add a filter for all files
+ filter = new Gtk.FileFilter();
+ filter.set_name(_("All Files"));
+ filter.add_pattern("*");
+ dialog.add_filter(filter);
+ });
if (filename != null)
{
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]