Ask
view release on metacpan or search on metacpan
lib/Ask/Gtk.pm view on Meta::CPAN
use 5.008008;
use strict;
use warnings;
package Ask::Gtk;
our $AUTHORITY = 'cpan:TOBYINK';
our $VERSION = '0.015';
use Moo;
use Gtk2 -init;
use Path::Tiny 'path';
use namespace::autoclean;
with 'Ask::API';
sub is_usable {
my ( $self ) = @_;
return !!$ENV{'DISPLAY'};
}
sub info {
my ( $self, %o ) = @_;
$o{messagedialog_type} ||= 'info';
$o{messagedialog_buttons} ||= 'ok';
my $msg = Gtk2::MessageDialog->new(
undef,
[qw/ modal destroy-with-parent /],
$o{messagedialog_type},
$o{messagedialog_buttons},
exists $o{title} ? $o{title} : $o{text},
);
$msg->set_property( 'secondary-text', $o{text} ) if exists $o{title};
return $msg->run;
} #/ sub info
sub warning {
my ( $self, %o ) = @_;
$self->info(
messagedialog_type => 'warning', messagedialog_buttons => 'close',
%o
);
}
sub error {
my ( $self, %o ) = @_;
$self->info(
messagedialog_type => 'error', messagedialog_buttons => 'close',
%o
);
}
sub question {
my ( $self, %o ) = @_;
'yes' eq $self->info(
messagedialog_type => 'question',
messagedialog_buttons => 'yes-no',
%o,
);
}
sub entry {
my ( $self, %o ) = @_;
my $return;
my $dialog = Gtk2::Dialog->new(
( $o{title} || 'Message' ),
undef,
( run in 2.139 seconds using v1.01-cache-2.11-cpan-f56aa216473 )