ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/CV/bin/cv
Revision: 1.8
Committed: Mon Nov 3 16:44:19 2003 UTC (20 years, 8 months ago) by root
Branch: MAIN
Changes since 1.7: +8 -96 lines
Log Message:
*** empty log message ***

File Contents

# Content
1 #!/opt/bin/perl
2
3 use Gtk2 -init;
4 use Gtk2::Gdk::Keysyms;
5
6 use Gtk2::CV::ImageWindow;
7 use Gtk2::CV::Schnauzer;
8
9 my $viewer;
10
11 sub new_schnauzer {
12 my $w = new Gtk2::Window;
13 $w->add (my $s = new Gtk2::CV::Schnauzer);
14
15 $s->signal_connect (activate => sub { $viewer->load_image ($_[1]) });
16 $s->signal_connect (key_press_event => \&std_keys);
17
18 $s->set_dir (".");
19 $w->show_all;
20
21 $s;
22 }
23
24 sub std_keys {
25 my $key = $_[1]->keyval;
26
27 my $ctrl = grep $_ eq "control-mask", @{$_[1]->state};
28
29 if ($key == $Gtk2::Gdk::Keysyms{q}) {
30 main_quit Gtk2;
31 } elsif ($ctrl && $key == $Gtk2::Gdk::Keysyms{v}) {
32 new_schnauzer;
33 } else {
34 return 0;
35 }
36
37 1;
38 }
39
40 $viewer = new Gtk2::CV::ImageWindow;
41 $viewer->signal_connect (key_press_event => \&std_keys);
42 $viewer->signal_connect (delete_event => sub { main_quit Gtk2 });
43
44 if (@ARGV) {
45 $viewer->load_image ($ARGV[0]);
46
47 if (@ARGV > 1) {
48 new_schnauzer->set_files (\@ARGV);
49 }
50 }
51
52 $viewer->show_all;
53
54 main Gtk2;
55
56