… | |
… | |
35 | (File::Spec->splitpath ($_[1]))[2], |
35 | (File::Spec->splitpath ($_[1]))[2], |
36 | -s $_[1]; |
36 | -s $_[1]; |
37 | $info->set_label ($label); |
37 | $info->set_label ($label); |
38 | $viewer->load_image ($_[1]); |
38 | $viewer->load_image ($_[1]); |
39 | }); |
39 | }); |
40 | $s->signal_connect (chdir => sub { |
|
|
41 | my ($self, $dir) = @_; |
|
|
42 | |
|
|
43 | my $path = Cwd::abs_path $dir; |
|
|
44 | |
|
|
45 | $self->realize; |
|
|
46 | $self->window->property_change ( |
|
|
47 | Gtk2::Gdk::Atom->intern ("_X_CWD", 0), |
|
|
48 | Gtk2::Gdk::Atom->intern ("UTF8_STRING", 0), |
|
|
49 | Gtk2::Gdk::CHARS, 'replace', |
|
|
50 | Encode::encode_utf8 $path, |
|
|
51 | ); |
|
|
52 | }); |
|
|
53 | |
40 | |
54 | Gtk2::CV::Plugin->call (new_schnauzer => $s); |
41 | Gtk2::CV::Plugin->call (new_schnauzer => $s); |
55 | |
42 | |
56 | $s; |
43 | $s; |
57 | } |
44 | } |
… | |
… | |
125 | $mainwin->signal_connect (delete_event => sub { $mainwin->hide; 1; }); |
112 | $mainwin->signal_connect (delete_event => sub { $mainwin->hide; 1; }); |
126 | |
113 | |
127 | $vbox->add ($schnauzer); |
114 | $vbox->add ($schnauzer); |
128 | $vbox->pack_end (my $frame = new Gtk2::Frame, 0, 0, 0); |
115 | $vbox->pack_end (my $frame = new Gtk2::Frame, 0, 0, 0); |
129 | $frame->add (my $hbox = new Gtk2::HBox 0, 0); |
116 | $frame->add (my $hbox = new Gtk2::HBox 0, 0); |
130 | $hbox->pack_start ((new Gtk2::Label "Info"), 0, 0, 0); |
117 | $hbox->pack_start ((new Gtk2::Label "Info: "), 0, 0, 0); |
131 | $hbox->pack_start (($info = new Gtk2::Label), 1, 1, 0); |
118 | $hbox->pack_end (my $labelwindow = new Gtk2::EventBox, 1, 1, 0); |
132 | $info->set (wrap => 1); |
119 | $labelwindow->add ($info = new Gtk2::Label); |
|
|
120 | $labelwindow->signal_connect_after (size_request => sub { $_[1]->width (0); 0 }); |
|
|
121 | $info->set (selectable => 1, xalign => 0, justify => "left"); |
133 | |
122 | |
134 | $schnauzer->set_geometry_hints; |
123 | $schnauzer->set_geometry_hints; |
135 | } |
124 | } |
136 | |
125 | |
137 | if (@ARGV) { |
126 | if (@ARGV) { |
138 | $schnauzer->set_paths ([map Glib::filename_to_unicode $_, @ARGV]); |
127 | $schnauzer->set_paths ([map Glib::filename_to_unicode $_, @ARGV]); |
139 | $schnauzer->show_all; |
128 | $schnauzer->show_all; |
|
|
129 | $viewer->show_all; |
140 | $schnauzer->handle_key ($Gtk2::Gdk::Keysyms{space}, []); |
130 | $schnauzer->handle_key ($Gtk2::Gdk::Keysyms{space}, []); |
141 | } else { |
131 | } else { |
142 | $schnauzer->set_dir (File::Spec->curdir); |
132 | $schnauzer->set_dir (File::Spec->curdir); |
143 | $mainwin->show_all; |
133 | $mainwin->show_all; |
144 | $viewer->show_all; |
134 | $viewer->show_all; |