Applications-BackupAndRestore
view release on metacpan or search on metacpan
lib/Gtk2/Ex/FileLocator/PathnameField.pm view on Meta::CPAN
return
if $event->keyval == $Gtk2::Gdk::Keysyms{KP_Enter}
and file_open( $this->get_filename );
return
if $event->keyval == $Gtk2::Gdk::Keysyms{Return}
and file_open( $this->get_filename );
$this->signal_emit( 'scroll_offset_changed', $entry->get("scroll-offset") );
return if $this->get_filename eq $entry->get_text;
$this->{cursorPosition} = $this->get('entry')->get_position;
#$this->set_filename( $entry->get_text );
my $uri = sprintf "file://%s", $entry->get_text;
$this->set_uri( -e $entry->get_text ? $uri : "" );
#Gtk2->main_iteration while Gtk2->events_pending;
#$this->signal_emit( 'scroll_offset_changed', $entry->get("scroll-offset") );
return;
}
sub _auto_complete {
my $this = shift;
printf "auto_complete %s\n", $this->get('entry')->get_text;
my $string = $this->get('entry')->get_text;
my $match = string_shell_complete($string);
if ( $string ne $match ) {
$this->get('entry')->set_text($match);
$this->get('entry')->set_position( length $match );
my $uri = sprintf "file://%s", $this->get('entry')->get_text;
$this->{cursorPosition} = -1;
$this->set_uri($uri);
$this->signal_emit( 'file_activated', $uri );
return TRUE;
}
return;
}
sub change_text {
my ($this) = @_;
printf "PF set_text %s\n", $this->get_filename;
my $filename = string_shell_unescape($this->get_filename);
$filename .= "/" if -d $filename;
$filename =~ s|/+|/|sgo;
$filename = Unicode::MapUTF8::from_utf8(
{ -string => $filename, -charset => 'ISO-8859-1' } );
$this->{filename} = $filename;
$this->get('entry')->set_text($filename);
$this->get('entry')->set_position( $this->{cursorPosition} );
# Gtk2->main_iteration while Gtk2->events_pending;
# $this->signal_emit( 'scroll_offset_changed',
# $this->get('entry')->get("scroll-offset") );
}
#sub on_move_cursor {
# my ($this) = @_;
# $this->{cursorPosition} = $this->get_position;
# Gtk2->main_iteration while Gtk2->events_pending;
# $this->signal_emit( 'scroll_offset_changed', $this->get("scroll-offset") );
# return;
#}
#sub on_event {
# my ( $this, $event ) = @_;
# return unless $event->type eq 'motion-notify' or $event->type eq 'expose';
#
# #printf "on_event %s %s\n", $event->type, $this->get("scroll-offset");
# $this->{cursorPosition} = $this->get('entry')->get_position;
# $this->signal_emit( 'scroll_offset_changed',
# $this->get('entry')->get("scroll-offset") );
# 0;
#}
1;
__END__
sub on_key_release_event {
my ($this) = @_;
$this->set_text( $this->get_text );
$this->signal_emit( 'file_activated', $this->get('entry')->get_text );
0;
}
sub on_drag_data_received {
my ( $this, $context, $x, $y, $data, $flags, $time ) = @_;
my $type = $data->type->name;
my $url = $data->data;
$url = $this->get_text unless $url =~ s|^file://||sgo;
$url =~ s/[\r\n]+.*//sgo if $type eq "text/uri-list";
$url = $this->unescape($url);
$this->set_text($url);
$this->signal_emit( 'file_activated', $this->get_text );
0;
}
sub auto_complete {
my $this = shift;
printf "auto_complete %s\n", $this->get_text;
my $original = $this->get_text;
my $string = $this->get_text;
my $substr = substr $string, 0, $this->get('cursor-position');
( run in 0.655 second using v1.01-cache-2.11-cpan-39bf76dae61 )