|
Packit |
1470ea |
const Gtk = imports.gi.Gtk;
|
|
Packit |
1470ea |
const Lang = imports.lang;
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
function ImageViewer () {
|
|
Packit |
1470ea |
this._init ();
|
|
Packit |
1470ea |
}
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
ImageViewer.prototype = {
|
|
Packit |
1470ea |
_init: function () {
|
|
Packit |
1470ea |
this.window = new Gtk.Window ({title: "Image Viewer Demo"});
|
|
Packit |
1470ea |
this.window.connect ("hide", Gtk.main_quit);
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
var main_box = new Gtk.Box ({orientation: Gtk.Orientation.VERTICAL, spacing: 0});
|
|
Packit |
1470ea |
this.window.add (main_box);
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
this.image = new Gtk.Image ();
|
|
Packit |
1470ea |
main_box.pack_start (this.image, true, true, 0);
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
var open_button = new Gtk.Button ({label: "Open a picture..."});
|
|
Packit |
1470ea |
open_button.connect ("clicked", Lang.bind (this, this._openClicked));
|
|
Packit |
1470ea |
main_box.pack_start (open_button, false, false, 0);
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
this.window.show_all ();
|
|
Packit |
1470ea |
},
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
_openClicked: function () {
|
|
Packit |
1470ea |
var chooser = new Gtk.FileChooserDialog ({title: "Select an image",
|
|
Packit |
1470ea |
action: Gtk.FileChooserAction.OPEN,
|
|
Packit |
1470ea |
transient_for: this.window,
|
|
Packit |
1470ea |
modal: true});
|
|
Packit |
1470ea |
chooser.add_button (Gtk.STOCK_CANCEL, 0);
|
|
Packit |
1470ea |
chooser.add_button (Gtk.STOCK_OPEN, 1);
|
|
Packit |
1470ea |
chooser.set_default_response (1);
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
var filter = new Gtk.FileFilter ();
|
|
Packit |
1470ea |
filter.add_pixbuf_formats ();
|
|
Packit |
1470ea |
chooser.filter = filter;
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
if (chooser.run () == 1)
|
|
Packit |
1470ea |
this.image.file = chooser.get_filename ();
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
chooser.destroy ();
|
|
Packit |
1470ea |
}
|
|
Packit |
1470ea |
}
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
Gtk.init (null, null);
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
var iv = new ImageViewer ();
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
Gtk.main ();
|