App-PLab
view release on metacpan - search on metacpan
view release on metacpan or search on metacpan
lib/App/PLab/ImageApp.pm view on Meta::CPAN
$w-> {keyMappings} = { map { $_ => Prima::AbstractMenu-> translate_shortcut( eval($i-> {$_})); }
grep { m/^Key_/ } keys %$i };
$i->{"Color_$_"} = eval( $i->{"Color_$_"}) for keys %$colors;
my @rc = split ' ', $i->{WindowRect};
my @ac = $::application-> rect;
$ac[3] -= $::application-> get_system_value( sv::YMenu) * 3 + $::application-> get_system_value( sv::YTitleBar);
$rc[0] = 0 if $rc[0] >= $ac[2];
$rc[1] = 0 if $rc[1] >= $ac[3];
$rc[3] = $ac[3] if $rc[3] >= $ac[3];
$w-> rect(@rc);
$w-> {cypherMask} = ( lc $w->{ini}->{SerType} eq 'long') ? 3 : 2;
-d $w-> {ini}-> {path} or $w-> {ini}-> {path} = '.';
$w-> {ini}-> {path} = eval {&Cwd::abs_path($w-> {ini}-> {path})};
$w-> {ini}-> {path} = '.' if $@;
$w-> {ini}-> {path} = '' unless -d $w-> {ini}-> {path};
$w-> maximize if $i->{MaxState};
$w-> insert( Popup =>
auto => 0,
selected => 0,
name => 'LoadSeriesPopup',
items => [['' => '']],
);
$::application-> showHint( $w-> {ini}-> {showHint});
$w-> winmenu_updatemappings;
}
sub on_destroy
{
my ($w,$i) = ($_[0],$_[0]->{ini});
$i->{MaxState} = $w-> windowState == ws::Maximized;
$w-> windowState(ws::Normal) if $i->{MaxState};
my @rc = $w-> rect;
$i->{WindowRect} = "@rc";
$i->{SerType} = ( $w->{cypherMask} == 2) ? 'Short' : 'Long';
$i-> {$_} = Prima::KeySelector::shortcut( $w-> {keyMappings}->{$_})
for keys %{$w->{keyMappings}};
my $optColors = $w-> opt_colors;
$i-> {"Color_$_"} = $w-> ini_makecolor( $i-> {"Color_$_"}) for keys %$optColors;
$::application-> close;
}
sub on_close
{
my ($w,$i) = ($_[0],$_[0]->{ini});
$w-> clear_event unless $w-> win_closefile;
}
sub win_inidefaults
{
my $w = $_[0];
my @rc = $w-> rect;
return (
path => '.',
WindowRect => "@rc",
MaxState => 0,
SerType => 'Short',
extSaveDir => '',
silentExtDir => 0,
dirTimeout => 120,
statusDelay => 5,
showHint => 1,
);
}
sub win_extname
{
my ($w, $extname) = @_;
my $ext = $w-> {dataExt};
$extname =~ /([^\\\/]*)$/;
$extname = $1;
if ( $extname =~ /\.[^.]*$/) {
$extname =~ s/\.[^.]*$/\.$ext/
} else {
$extname .= ".$ext";
}
my $extsave = length($w-> {ini}-> {extSaveDir}) ? $w-> {ini}-> {extSaveDir} : $w-> {ini}-> {path};
return "$extsave/$extname";
}
sub win_extwarn
{
my $w = $_[0];
return unless length $w->{ini}->{extSaveDir};
return if $w->{ini}->{silentExtDir};
my $ret = Prima::MsgBox::message_box( $::application-> name, ".".$w-> {dataExt}." save path is ".
$w->{ini}->{extSaveDir}.".\nDo you want to set it to the current directory, as default?",
mb::YesNo | mb::Abort | mb::Warning, {
buttons => { mb::Abort, { text => 'Ne~ver' }},
});
if ( $ret == mb::Yes) {
$w->{ini}->{extSaveDir} = '';
$w-> win_extpathchanged;
} elsif ( $ret == mb::Abort) {
Prima::MsgBox::message("You will be never asked again, until you manually re-set the save path to the default", mb::Information);
$w->{ini}->{silentExtDir} = 1;
}
}
sub win_extpathchanged
{
}
sub win_newframe
{
$_[0]-> modified( 0);
}
sub win_saveframe
{
return 1;
}
sub win_closeframe
{
}
sub win_framechanged
view all matches for this distributionview release on metacpan - search on metacpan
( run in 0.466 second using v1.00-cache-2.02-grep-82fe00e-cpan-2c419f77a38b )