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 )