App-Syndicator
view release on metacpan or search on metacpan
lib/App/Syndicator/UI.pm view on Meta::CPAN
}
method _selected_messages {
my @selected = $self->message_list->get;
unless (scalar @selected) {
@selected = ($self->message_list->get_active_value);
}
return @selected;
}
method _populate_message_list (Message_T @messages) {
$self->message_list->values(
[ map { $_->id } @messages ]
);
$self->message_list->labels(
{ map {
$_->id => $_->render_title
} @messages
}
);
$self->message_list->focus;
}
method _message_list_change {
my $msg_id = $self->message_list->get_active_value;
return unless defined $msg_id;
my $msg = eval { $self->db->lookup($msg_id) };
return unless defined $msg;
$self->_render_message($msg);
$self->message_list->focus;
}
method _update_message_count {
$self->_status_text(
$self->db->total. " messages, "
. $self->db->unread
. " unread."
);
}
method _render_message (Message_T $msg) {
my $title = $msg->published->dmy('-')
.' '.$msg->published->hms(':')
.' - '.$msg->title ;
$self->header_bar->text($title);
$self->header_bar->focus;
$self->_viewer_text($msg->body."\n\n".$msg->link);
}
method _viewer_text (Str $text){
$self->viewer->text($text);
$self->viewer->cursor_to_home;
$self->curses->layout;
}
method _status_text (Str $text?) {
$text =~ s/\n//g;
$self->status_bar->text(
"App::Syndicator | $text"
);
$self->curses->layout;
}
}
( run in 1.354 second using v1.01-cache-2.11-cpan-cdf2f3d4e48 )