JaM

 view release on metacpan or  search on metacpan

lib/JaM/GUI.pm  view on Meta::CPAN

				wrap_length => $self->config('wrap_line_length_show'),
			);
		}
		$mail_comp->print_child_entities (
			first_time => 1,
			widget => $mail_as_html,
			entity => $mail,
			wrap_length => $self->config('wrap_line_length_show'),
		);

		$mail_as_html->end;

		my $html2ps = $self->config('html2ps_prog');
		my $lpr     = $self->config('lpr_prog');
		my $lp      = $self->config('printer_name');

		$self->debug ("execute $html2ps | $lpr -P$lp");

		if ( not open (PRINT, "| $html2ps | $lpr -P$lp") ) {
			warn ("can't fork $html2ps | $lpr -P$lp");
			return 1;
		}
		print PRINT $mail_as_html->html;
		close PRINT or
			warn ("can't execute $html2ps | $lpr -P$lp");
	}

	1;
}

sub cb_delete_button {
	my $self = shift; $self->trace_in;
	my ($widget, $event) = @_;

	my $trash_folder_id = $self->config('trash_folder_id');

	$self->comp('subjects')->move_selected_mails (
		folder_id => $trash_folder_id
	);

	1;
}

sub cb_mark_all_read {
	my $self = shift; $self->trace_in;
	my ($widget, $event) = @_;

	my $folder_object = $self->comp('subjects')->folder_object;
	return 1 if not $folder_object;
	
	$folder_object->mark_all_read;

	$self->comp('subjects')->show,
	$self->comp('folders')->update_folder_item (
		folder_object => $folder_object
	);
	
	1;
}

sub update_folder_limit {
	my $self = shift; $self->trace_in;
	my %par = @_;
	my ($folder_object) = @par{'folder_object'};
	
	if ( not $folder_object ) {
		$self->gtk_show_all_radio->set_active (0);
		$self->gtk_show_limit_radio->set_active (0);
		$self->gtk_limit_entry->set_text("");
		return 1;
	}
	
	if ( $folder_object->show_all ) {
		$self->debug ("show all activated");
		$self->gtk_show_all_radio->set_active (1);
		$self->gtk_show_limit_radio->set_active (0);
	} else {
		$self->debug ("show all deactivated");
		$self->gtk_show_all_radio->set_active (0);
		$self->gtk_show_limit_radio->set_active (1);
	}

	$self->gtk_limit_entry->set_text ( $folder_object->show_max );
	
	1;
}

sub cb_show_all {
	my $self = shift;
	my ($show_all) = @_;
	
	my $folder_object = $self->comp('folders')->selected_folder_object;
	return 1 if not $folder_object;
	return 1 if $folder_object->show_all eq $show_all;
	
	$folder_object->show_all($show_all);
	$folder_object->save;
	
	$self->comp('subjects')->show if not $self->no_subjects_update;

	1;
}

sub cb_limit_entry_activate {
	my $self = shift;
	my ($widget, $event) = @_;

	my $folder_object = $self->comp('folders')->selected_folder_object;
	return 1 if not $folder_object;
	
	$folder_object->show_max($widget->get_text);
	$folder_object->show_all(0);
	$folder_object->save;
	$self->update_folder_limit;
	$self->comp('subjects')->show if not $self->no_subjects_update;
	$widget->set_text($folder_object->show_max);

	return 1;
}

sub about_window {



( run in 1.572 second using v1.01-cache-2.11-cpan-d06a3f9ecfd )