… | |
… | |
18 | $w->add (my $s = new Gtk2::CV::Schnauzer); |
18 | $w->add (my $s = new Gtk2::CV::Schnauzer); |
19 | |
19 | |
20 | $s->signal_connect (activate => sub { $viewer->load_image ($_[1]) }); |
20 | $s->signal_connect (activate => sub { $viewer->load_image ($_[1]) }); |
21 | $s->signal_connect_after (key_press_event => \&std_keys); |
21 | $s->signal_connect_after (key_press_event => \&std_keys); |
22 | |
22 | |
23 | $s->set_dir ("."); |
|
|
24 | |
|
|
25 | $s; |
23 | $s; |
26 | } |
24 | } |
27 | |
25 | |
28 | $schnauzer = new_schnauzer; |
26 | $schnauzer = new_schnauzer; |
29 | |
27 | |
… | |
… | |
36 | my $ctrl = grep $_ eq "control-mask", @$state; |
34 | my $ctrl = grep $_ eq "control-mask", @$state; |
37 | |
35 | |
38 | if ($key == $Gtk2::Gdk::Keysyms{q}) { |
36 | if ($key == $Gtk2::Gdk::Keysyms{q}) { |
39 | main_quit Gtk2; |
37 | main_quit Gtk2; |
40 | } elsif ($ctrl && $key == $Gtk2::Gdk::Keysyms{v}) { |
38 | } elsif ($ctrl && $key == $Gtk2::Gdk::Keysyms{v}) { |
|
|
39 | my $s = new_schnauzer; |
|
|
40 | $s->set_dir ("."); |
41 | new_schnauzer->get_toplevel->show_all; |
41 | $s->get_toplevel->show_all |
42 | } else { |
42 | } else { |
43 | $mainwin->show_all; |
43 | #$mainwin->show_all; |
44 | $schnauzer->handle_key ($key, $state); |
44 | $schnauzer->handle_key ($key, $state); |
45 | } |
45 | } |
46 | |
46 | |
47 | 1; |
47 | 1; |
48 | } |
48 | } |
… | |
… | |
59 | ? $mainwin->hide |
59 | ? $mainwin->hide |
60 | : $mainwin->show_all; |
60 | : $mainwin->show_all; |
61 | }); |
61 | }); |
62 | |
62 | |
63 | if (@ARGV) { |
63 | if (@ARGV) { |
64 | $viewer->load_image ($ARGV[0]); |
|
|
65 | |
|
|
66 | if (@ARGV > 1) { |
|
|
67 | $schnauzer->set_paths (\@ARGV); |
64 | $schnauzer->set_paths (\@ARGV); |
68 | } |
65 | $schnauzer->handle_key ($Gtk2::Gdk::Keysyms{space}, []); |
|
|
66 | } else { |
|
|
67 | $schnauzer->set_dir ("."); |
|
|
68 | $mainwin->show_all; |
69 | } |
69 | } |
70 | |
70 | |
71 | $viewer->show_all; |
71 | $viewer->show_all; |
72 | |
72 | |
73 | main Gtk2; |
73 | main Gtk2; |