Gtk2-CV
view release on metacpan or search on metacpan
<property name="top_attach">5</property>
<property name="bottom_attach">6</property>
<property name="x_options">GTK_FILL</property>
<property name="y_options"></property>
</packing>
</child>
<child>
<widget class="GtkHBox" id="hbox4">
<property name="visible">True</property>
<child>
<widget class="GtkOptionMenu" id="dest_type">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="response_id">0</property>
<child>
<widget class="GtkMenu" id="menu2">
<child>
<widget class="GtkMenuItem" id="dest_perl">
<property name="visible">True</property>
<property name="label" translatable="yes">Perl</property>
<property name="use_underline">True</property>
<signal name="activate" handler="on_dest_activate" last_modification_time="Tue, 11 Nov 2003 23:23:42 GMT"/>
</widget>
</child>
<child>
<widget class="GtkMenuItem" id="dest_file">
<property name="visible">True</property>
<property name="label" translatable="yes">File</property>
<property name="use_underline">True</property>
<signal name="activate" handler="on_dest_activate" last_modification_time="Tue, 11 Nov 2003 23:23:42 GMT"/>
</widget>
</child>
<child>
<widget class="GtkMenuItem" id="dest_pipe">
<property name="visible">True</property>
<property name="label" translatable="yes">Pipe</property>
<property name="use_underline">True</property>
<signal name="activate" handler="on_dest_activate" last_modification_time="Tue, 11 Nov 2003 23:23:42 GMT"/>
</widget>
</child>
</widget>
</child>
</widget>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
<property name="top_attach">3</property>
<property name="bottom_attach">4</property>
<property name="x_options"></property>
<property name="y_options"></property>
</packing>
</child>
<child>
<widget class="GtkOptionMenu" id="papersize">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="response_id">0</property>
</widget>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
<property name="x_options">GTK_FILL</property>
<property name="y_options"></property>
</packing>
eg/plugin-skeleton view on Meta::CPAN
} else {
return 0;
}
1
});
$schnauzer->signal_connect (popup => sub {
my ($self, $menu, $cursor, $event) = @_;
$menu->append (my $item = new Gtk2::MenuItem "select me");
$item->signal_connect (activate => sub { warn "activated menu\n" });
});
}
1
lib/Gtk2/CV/Plugin/MetaCluster.pm view on Meta::CPAN
}
sub new_schnauzer {
my ($self, $schnauzer) = @_;
my $metacluster;
$schnauzer->signal_connect (popup => sub {
my ($self, $menu, $cursor, $event) = @_;
$menu->append (my $i_up = new Gtk2::MenuItem "Imagesize clustering...");
$i_up->signal_connect (activate => sub {
($metacluster = Gtk2::CV::Plugin::MetaCluster->new)->start ($self, \&imgsize);
});
$menu->append (my $i_up = new Gtk2::MenuItem "Filetime clustering...");
$i_up->signal_connect (activate => sub {
($metacluster = Gtk2::CV::Plugin::MetaCluster->new)->start ($self, \&mtime);
});
$menu->append (my $i_up = new Gtk2::MenuItem "Filesize clustering...");
$i_up->signal_connect (activate => sub {
($metacluster = Gtk2::CV::Plugin::MetaCluster->new)->start ($self, \&size);
});
$menu->append (my $i_up = new Gtk2::MenuItem "Link count clustering...");
$i_up->signal_connect (activate => sub {
($metacluster = Gtk2::CV::Plugin::MetaCluster->new)->start ($self, \&nlink);
});
if ($::CUSTOM_CLUSTERING) {
$menu->append (my $i_up = new Gtk2::MenuItem "Custom clustering...");
$i_up->signal_connect (activate => sub {
($metacluster = Gtk2::CV::Plugin::MetaCluster->new)->start ($self, \&custom);
});
}
});
$schnauzer->signal_connect (key_press_event => sub {
my ($self, $event) = @_;
my $key = $event->keyval;
my $state = $event->state;
lib/Gtk2/CV/Plugin/NameCluster.pm view on Meta::CPAN
}
sub new_schnauzer {
my ($self, $schnauzer) = @_;
my $namecluster;
$schnauzer->signal_connect (popup => sub {
my ($self, $menu, $cursor, $event) = @_;
$menu->append (my $i_up = new Gtk2::MenuItem "Filename clustering...");
$i_up->signal_connect (activate => sub {
$namecluster = Gtk2::CV::Plugin::NameCluster->new;
$namecluster->start ($self, 0);
});
$menu->append (my $i_up = new Gtk2::MenuItem "Subdir view...");
$i_up->signal_connect (activate => sub {
$namecluster = Gtk2::CV::Plugin::NameCluster->new;
$namecluster->start ($self, 1);
});
});
$schnauzer->signal_connect (key_press_event => sub {
my ($self, $event) = @_;
my $key = $event->keyval;
lib/Gtk2/CV/Plugin/PatRenamer.pm view on Meta::CPAN
1
});
$schnauzer->signal_connect (popup => sub {
my ($self, $menu, $cursor, $event) = @_;
2 <= scalar keys %{ $schnauzer->{sel} }
or return;
$menu->append (my $item = new Gtk2::MenuItem "Pattern Rename...");
$item->signal_connect (activate => sub {
new_renamer $schnauzer;
});
});
}
1
lib/Gtk2/CV/Plugin/RCluster.pm view on Meta::CPAN
$schnauzer->entry_changed;
$schnauzer->invalidate_all;
}
sub new_schnauzer {
my ($self, $schnauzer) = @_;
$schnauzer->signal_connect (popup => sub {
my ($self, $menu, $cursor, $event) = @_;
$menu->append (my $i_up = new Gtk2::MenuItem "Image clustering (GNU-R)...");
$i_up->signal_connect (activate => sub {
histsort_selected $schnauzer;
});
});
}
=head1 AUTHORS
Robin Redeker, Marc Lehmann
lib/Gtk2/CV/PrintDialog.pm view on Meta::CPAN
sub new {
my $class = shift;
my $self = bless { @_ }, $class;
$self->{dialog} = my $d = new Gtk2::GladeXML Gtk2::CV::find_rcfile "cv.glade", "PrintDialog";
#$d->signal_connect_all ...
$d->get_widget ("destination")->set (text => $ENV{CV_PRINT_DESTINATION} || "| lpr");
my $menu = new Gtk2::Menu;
for (Gtk2::CV::PostScript->papersizes) {
my ($code, $name, $w, $h) = @$_;
$menu->append (my $item = new Gtk2::MenuItem $name);
$item->set_name ($code);
}
$menu->show_all;
$d->get_widget ("papersize")->set_menu ($menu);
$d->get_widget ("papersize")->set_history (0);
$d->get_widget ("PrintDialog")->signal_connect (close => sub {
$_[0]->destroy;
});
lib/Gtk2/CV/Schnauzer.pm view on Meta::CPAN
use Gtk2;
use Gtk2::Pango;
use Gtk2::Gdk::Keysyms;
use Gtk2::CV;
use Glib::Object::Subclass
Gtk2::VBox::,
signals => {
activate => { flags => [qw/run-first/], return_type => undef, param_types => [Glib::Scalar::] },
popup => { flags => [qw/run-first/], return_type => undef, param_types => [Gtk2::Menu::, Glib::Scalar::, Gtk2::Gdk::Event::] },
popup_selected => { flags => [qw/run-first/], return_type => undef, param_types => [Gtk2::Menu::, Glib::Scalar::] },
selection_changed => { flags => [qw/run-first/], return_type => undef, param_types => [Glib::Scalar::] },
chpaths => { flags => [qw/run-first/], return_type => undef, param_types => [] },
chdir => { flags => [qw/run-first/], return_type => undef, param_types => [Glib::Scalar::] },
};
use List::Util qw(min max);
use File::Spec;
use File::Copy;
use File::Temp ();
lib/Gtk2/CV/Schnauzer.pm view on Meta::CPAN
$self->signal_emit (selection_changed => $self->{sel});
}
sub emit_popup {
my ($self, $event, $cursor) = @_;
my $idx = $self->cursor_valid ? $self->{cursor} : $cursor;
my $entry = $self->{entry}[$idx];
my $menu = new Gtk2::Menu;
if (exists $self->{dir}) {
$menu->append (my $i_up = new Gtk2::MenuItem "Parent (^)");
$i_up->signal_connect (activate => sub {
$self->updir;
});
}
my @sel = keys %{$self->{sel}};
@sel = $cursor if !@sel && defined $cursor;
if (@sel) {
$menu->append (my $item = new Gtk2::MenuItem "Do");
$item->set_submenu (my $sel = new Gtk2::Menu);
$sel->append (my $item = new Gtk2::MenuItem @sel . " file(s)");
$item->set_sensitive (0);
$sel->append (my $item = new Gtk2::MenuItem "Generate Thumbnails (Ctrl-G)");
$item->signal_connect (activate => sub { $self->generate_thumbnails (@sel) });
$sel->append (my $item = new Gtk2::MenuItem "Update Thumbnails (Ctrl-U)");
$item->signal_connect (activate => sub { $self->update_thumbnails (@sel) });
$sel->append (my $item = new Gtk2::MenuItem "Remove Thumbnails");
$item->signal_connect (activate => sub { $self->unlink_thumbnails (@sel) });
$sel->append (my $item = new Gtk2::MenuItem "Delete");
$item->set_submenu (my $del = new Gtk2::Menu);
$del->append (my $item = new Gtk2::MenuItem "Physically (Ctrl-D)");
$item->signal_connect (activate => sub { $self->unlink (0, @sel) });
$del->append (my $item = new Gtk2::MenuItem "Physically & Recursive (Ctrl-Shift-D)");
$item->signal_connect (activate => sub { $self->unlink (1, @sel) });
$sel->append (my $item = new Gtk2::MenuItem "Rotate");
$item->set_submenu (my $rotate = new Gtk2::Menu);
$rotate->append (my $item = new Gtk2::MenuItem "90 clockwise");
$item->signal_connect (activate => sub { $self->rotate (90, @sel) });
$rotate->append (my $item = new Gtk2::MenuItem "90 counter-clockwise");
$item->signal_connect (activate => sub { $self->rotate (270, @sel) });
$rotate->append (my $item = new Gtk2::MenuItem "180");
$item->signal_connect (activate => sub { $self->rotate (180, @sel) });
$rotate->append (my $item = new Gtk2::MenuItem "automatic (exif orientation tag)");
$item->signal_connect (activate => sub { $self->rotate ("auto", @sel) });
$self->signal_emit (popup_selected => $menu, \@sel);
}
{
$menu->append (my $item = new Gtk2::MenuItem "Select");
$item->set_submenu (my $sel = new Gtk2::Menu);
$sel->append (my $item = new Gtk2::MenuItem "By Adjacent Name");
$item->set_submenu (my $by_pfx = new Gtk2::Menu);
my $name = $entry->[E_FILE];
my %cnt;
$cnt{Gtk2::CV::common_prefix_length $name, $self->{entry}[$_][1]}++
for (max 0, $idx - FAST_RANGE) .. min ($idx + FAST_RANGE, $#{$self->{entry}});
my $sum = 0;
for my $len (reverse 1 .. -2 + length $entry->[E_FILE]) {
my $cnt = $cnt{$len}
or next;
$sum += $cnt;
my $pfx = substr $entry->[E_FILE], 0, $len;
my $label = "$pfx*\t($sum)";
$label =~ s/_/__/g;
$by_pfx->append (my $item = new Gtk2::MenuItem $label);
$item->signal_connect (activate => sub {
delete $self->{sel};
for ((max 0, $idx - FAST_RANGE) .. min ($idx + FAST_RANGE, $#{$self->{entry}})) {
next unless $len <= Gtk2::CV::common_prefix_length $name, $self->{entry}[$_][1];
$self->{sel}{$_} = $self->{entry}[$_];
}
$self->invalidate_all;
});
}
$sel->append (my $item = new Gtk2::MenuItem "By Adjacent Dir (Alt-A)");
$item->signal_connect (activate => sub { $self->selection_adjacent_dir });
$sel->append (my $item = new Gtk2::MenuItem "Unselect Thumbnailed (Ctrl -)");
$item->signal_connect (activate => sub { $self->selection_remove_thumbnailed });
$sel->append (my $item = new Gtk2::MenuItem "Keep only Thumbnailed (Ctrl +)");
$item->signal_connect (activate => sub { $self->selection_keep_only_thumbnailed });
}
$self->signal_emit (popup => $menu, $cursor, $event);
$_->show_all for $menu->get_children;
$menu->popup (undef, undef, undef, undef, $event->button, $event->time);
}
sub emit_activate {
my ($self, $cursor) = @_;
( run in 0.889 second using v1.01-cache-2.11-cpan-49f99fa48dc )