Save.pm (gscan2pdf-2.13.1.tar.xz) | : | Save.pm (gscan2pdf-2.13.2.tar.xz) | ||
---|---|---|---|---|
skipping to change at line 19 | skipping to change at line 19 | |||
use Gscan2pdf::Document; | use Gscan2pdf::Document; | |||
use Gscan2pdf::EntryCompletion; | use Gscan2pdf::EntryCompletion; | |||
use Gscan2pdf::Translation '__'; # easier to extract strings with xgettext | use Gscan2pdf::Translation '__'; # easier to extract strings with xgettext | |||
use Date::Calc qw(Today Today_and_Now Add_Delta_DHMS); | use Date::Calc qw(Today Today_and_Now Add_Delta_DHMS); | |||
no if $] >= 5.018, warnings => 'experimental::smartmatch'; | no if $] >= 5.018, warnings => 'experimental::smartmatch'; | |||
use Encode; | use Encode; | |||
use Readonly; | use Readonly; | |||
Readonly my $ENTRY_WIDTH_DATE => 10; | Readonly my $ENTRY_WIDTH_DATE => 10; | |||
Readonly my $ENTRY_WIDTH_DATETIME => 19; | Readonly my $ENTRY_WIDTH_DATETIME => 19; | |||
our $VERSION = '2.13.1'; | our $VERSION = '2.13.2'; | |||
my $EMPTY = q{}; | my $EMPTY = q{}; | |||
my $DATE_FORMAT = '%04d-%02d-%02d'; | my $DATE_FORMAT = '%04d-%02d-%02d'; | |||
my $DATETIME_FORMAT = '%04d-%02d-%02d %02d:%02d:%02d'; | my $DATETIME_FORMAT = '%04d-%02d-%02d %02d:%02d:%02d'; | |||
my ( $_100_PERCENT, $MAX_DPI ); | my ( $_100_PERCENT, $MAX_DPI ); | |||
# need to register this with Glib before we can use it below | # need to register this with Glib before we can use it below | |||
BEGIN { | BEGIN { | |||
use Readonly; | use Readonly; | |||
Readonly $_100_PERCENT => 100; | Readonly $_100_PERCENT => 100; | |||
Readonly $MAX_DPI => 2400; | Readonly $MAX_DPI => 2400; | |||
skipping to change at line 250 | skipping to change at line 250 | |||
$self->{$name} = $self->{"meta-$key-widget"}->get_text; | $self->{$name} = $self->{"meta-$key-widget"}->get_text; | |||
if ( $key eq 'datetime' ) { | if ( $key eq 'datetime' ) { | |||
if ( $self->{'meta-now-widget'}->get_active ) { | if ( $self->{'meta-now-widget'}->get_active ) { | |||
$self->{$name} = [ Today_and_Now() ]; | $self->{$name} = [ Today_and_Now() ]; | |||
} | } | |||
elsif ( defined $self->{$name} | elsif ( defined $self->{$name} | |||
and $self->{$name} ne $EMPTY ) | and $self->{$name} ne $EMPTY ) | |||
{ | { | |||
$self->{$name} = [ | $self->{$name} = [ | |||
Gscan2pdf::Document::text_to_datetime( | Gscan2pdf::Document::text_to_datetime( | |||
$self->{$name} | $self->{$name}, Today() | |||
) | ) | |||
]; | ]; | |||
} | } | |||
} | } | |||
elsif ( $self->{$name} ne $EMPTY ) { | elsif ( $self->{$name} ne $EMPTY ) { | |||
$self->{"meta-$key-widget"} | $self->{"meta-$key-widget"} | |||
->add_to_suggestions( [ $self->{$name} ] ); | ->add_to_suggestions( [ $self->{$name} ] ); | |||
} | } | |||
} | } | |||
} | } | |||
skipping to change at line 358 | skipping to change at line 358 | |||
->set_text( $self->datetime2string( @{$datetime} ) ); | ->set_text( $self->datetime2string( @{$datetime} ) ); | |||
} | } | |||
$self->{'meta-datetime-widget'}->set_activates_default(TRUE); | $self->{'meta-datetime-widget'}->set_activates_default(TRUE); | |||
$self->{'meta-datetime-widget'}->set_tooltip_text( __('Year-Month-Day') ); | $self->{'meta-datetime-widget'}->set_tooltip_text( __('Year-Month-Day') ); | |||
$self->{'meta-datetime-widget'}->set_alignment(1.); # Right justify | $self->{'meta-datetime-widget'}->set_alignment(1.); # Right justify | |||
$self->{'meta-datetime-widget'} | $self->{'meta-datetime-widget'} | |||
->signal_connect( 'insert-text' => \&insert_text_handler, $self ); | ->signal_connect( 'insert-text' => \&insert_text_handler, $self ); | |||
$self->{'meta-datetime-widget'}->signal_connect( | $self->{'meta-datetime-widget'}->signal_connect( | |||
'focus-out-event' => sub { | 'focus-out-event' => sub { | |||
my $text = $self->{'meta-datetime-widget'}->get_text; | my $text = $self->{'meta-datetime-widget'}->get_text; | |||
if ( defined $text and $text ne $EMPTY ) { | if ( defined $text ) { | |||
$self->{'meta-datetime-widget'}->set_text( | $self->{'meta-datetime-widget'}->set_text( | |||
$self->datetime2string( | $self->datetime2string( | |||
Gscan2pdf::Document::text_to_datetime($text) | Gscan2pdf::Document::text_to_datetime($text), Today() | |||
) | ) | |||
); | ); | |||
} | } | |||
return FALSE; | return FALSE; | |||
} | } | |||
); | ); | |||
my $button = Gtk3::Button->new; | my $button = Gtk3::Button->new; | |||
$button->set_image( Gtk3::Image->new_from_stock( 'gtk-edit', 'button' ) ); | $button->set_image( Gtk3::Image->new_from_stock( 'gtk-edit', 'button' ) ); | |||
$button->signal_connect( | $button->signal_connect( | |||
clicked => sub { | clicked => sub { | |||
skipping to change at line 384 | skipping to change at line 384 | |||
title => __('Select Date'), | title => __('Select Date'), | |||
); | ); | |||
my $vbox_date = $window_date->get_content_area; | my $vbox_date = $window_date->get_content_area; | |||
$window_date->set_resizable(FALSE); | $window_date->set_resizable(FALSE); | |||
my $calendar = Gtk3::Calendar->new; | my $calendar = Gtk3::Calendar->new; | |||
# Editing the entry and clicking the edit button bypasses the | # Editing the entry and clicking the edit button bypasses the | |||
# focus-out-event, so update the date now | # focus-out-event, so update the date now | |||
my ( $year, $month, $day, $hour, $min, $sec ) = | my ( $year, $month, $day, $hour, $min, $sec ) = | |||
Gscan2pdf::Document::text_to_datetime( | Gscan2pdf::Document::text_to_datetime( | |||
$self->{'meta-datetime-widget'}->get_text ); | $self->{'meta-datetime-widget'}->get_text, Today() ); | |||
$calendar->select_day($day); | $calendar->select_day($day); | |||
$calendar->select_month( $month - 1, $year ); | $calendar->select_month( $month - 1, $year ); | |||
my $calendar_s; | my $calendar_s; | |||
$calendar_s = $calendar->signal_connect( | $calendar_s = $calendar->signal_connect( | |||
day_selected => sub { | day_selected => sub { | |||
( $year, $month, $day ) = $calendar->get_date; | ( $year, $month, $day ) = $calendar->get_date; | |||
$month += 1; | $month += 1; | |||
$self->{'meta-datetime-widget'}->set_text( | $self->{'meta-datetime-widget'}->set_text( | |||
$self->datetime2string( | $self->datetime2string( | |||
skipping to change at line 507 | skipping to change at line 507 | |||
) | ) | |||
) | ) | |||
and $string =~ /^[+\-]+$/smx | and $string =~ /^[+\-]+$/smx | |||
) | ) | |||
{ | { | |||
my $offset = 1; | my $offset = 1; | |||
if ( $string eq q{-} ) { $offset = -$offset } | if ( $string eq q{-} ) { $offset = -$offset } | |||
$widget->set_text( | $widget->set_text( | |||
$self->datetime2string( | $self->datetime2string( | |||
Add_Delta_DHMS( | Add_Delta_DHMS( | |||
Gscan2pdf::Document::text_to_datetime($text), | Gscan2pdf::Document::text_to_datetime( $text, Today() ), | |||
$offset, 0, 0, 0 | $offset, 0, 0, 0 | |||
) | ) | |||
) | ) | |||
); | ); | |||
} | } | |||
# only allow integers and - | # only allow integers and - | |||
elsif ( | elsif ( | |||
( not $self->get('include-time') and $string =~ /^[\d\-]+$/smx ) | ( not $self->get('include-time') and $string =~ /^[\d\-]+$/smx ) | |||
or | or | |||
skipping to change at line 805 | skipping to change at line 805 | |||
# Compression options | # Compression options | |||
my @compression = ( | my @compression = ( | |||
[ | [ | |||
'auto', __('Automatic'), | 'auto', __('Automatic'), | |||
__('Let gscan2pdf which type of compression to use.') | __('Let gscan2pdf which type of compression to use.') | |||
], | ], | |||
[ | [ | |||
'lzw', __('LZW'), | 'lzw', __('LZW'), | |||
__('Compress output with Lempel-Ziv & Welch encoding.') | __('Compress output with Lempel-Ziv & Welch encoding.') | |||
], | ], | |||
[ 'g3', __('G3'), __('Compress output with CCITT Group 3 encoding.') ], | [ 'g3', __('G3'), __('Compress output with CCITT Group 3 encoding.') ], | |||
[ 'g4', __('G4'), __('Compress output with CCITT Group 4 encoding.') ], | [ 'g4', __('G4'), __('Compress output with CCITT Group 4 encoding.') ], | |||
[ 'png', __('Flate'), __('Compress output with flate encoding.') ], | [ 'png', __('Flate'), __('Compress output with flate encoding.') ], | |||
[ 'jpg', __('JPEG'), __('Compress output with JPEG (DCT) encoding.') ], | [ 'jpg', __('JPEG'), __('Compress output with JPEG (DCT) encoding.') ], | |||
[ 'none', __('None'), __('Use no compression algorithm on output.') ], | [ 'none', __('None'), __('Use no compression algorithm on output.') ], | |||
); | ); | |||
# Compression ComboBox | # Compression ComboBox | |||
my $hbox = Gtk3::HBox->new; | my $hbox = Gtk3::HBox->new; | |||
$vboxp->pack_start( $hbox, TRUE, TRUE, 0 ); | $vboxp->pack_start( $hbox, TRUE, TRUE, 0 ); | |||
$label = Gtk3::Label->new( __('Compression') ); | $label = Gtk3::Label->new( __('Compression') ); | |||
$hbox->pack_start( $label, FALSE, FALSE, 0 ); | $hbox->pack_start( $label, FALSE, FALSE, 0 ); | |||
End of changes. 7 change blocks. | ||||
8 lines changed or deleted | 8 lines changed or added |