Changeset 811ad93
- Timestamp:
- Apr 30, 2008, 1:29:45 PM (15 years ago)
- Branches:
- master, barnowl_perlaim, debian, release-1.4, release-1.5, release-1.6, release-1.7, release-1.8, release-1.9
- Children:
- f094fc4, 61abb18
- Parents:
- 2650a10
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
perlwrap.pm
r2650a10 r811ad93 774 774 { 775 775 my $self = shift; 776 my $m = shift; 776 my $m = shift; 777 my $fmt; 777 778 778 779 if ( $m->is_loginout) { 779 return$self->format_login($m);780 $fmt = $self->format_login($m); 780 781 } elsif($m->is_ping && $m->is_personal) { 781 return$self->format_ping($m);782 $fmt = $self->format_ping($m); 782 783 } elsif($m->is_admin) { 783 return$self->format_admin($m);784 $fmt = $self->format_admin($m); 784 785 } else { 785 return $self->format_chat($m); 786 } 786 $fmt = $self->format_chat($m); 787 } 788 $fmt = BarnOwl::Style::boldify($fmt) if $self->should_bold($m); 789 return $fmt; 790 } 791 792 sub should_bold { 793 my $self = shift; 794 my $m = shift; 795 return $m->is_personal && $m->direction eq "in"; 787 796 } 788 797 … … 821 830 my $self = shift; 822 831 my $m = shift; 823 return "\@bold(OWL ADMIN)\n" . indentBody($m);832 return "\@bold(OWL ADMIN)\n" . $self->indent_body($m); 824 833 } 825 834 826 835 sub format_chat($) { 836 my $self = shift; 837 my $m = shift; 838 my $header = $self->chat_header($m); 839 return $header . "\n". $self->indent_body($m); 840 } 841 842 sub chat_header { 827 843 my $self = shift; 828 844 my $m = shift; … … 846 862 } 847 863 $header .= " " . time_hhmm($m); 864 $header .= $self->format_sender($m); 865 return $header; 866 } 867 868 sub format_sender { 869 my $self = shift; 870 my $m = shift; 848 871 my $sender = $m->long_sender; 849 872 $sender =~ s/\n.*$//s; 850 $header .= " " x (4 - ((length $header) % 4)); 851 $header .= "(" . $sender . '@color[default]' . ")"; 852 my $message = $header . "\n". indentBody($m); 853 if($m->is_personal && $m->direction eq "in") { 854 $message = BarnOwl::Style::boldify($message); 855 } 856 return $message; 857 } 858 859 sub indentBody($) 873 return " (" . $sender . '@color[default]' . ")"; 874 } 875 876 sub indent_body($) 860 877 { 878 my $self = shift; 861 879 my $m = shift; 862 880 … … 874 892 875 893 package BarnOwl::Style::Basic; 876 877 894 our @ISA=qw(BarnOwl::Style::Default); 878 895 … … 882 899 883 900 package BarnOwl::Style::OneLine; 884 # ###############################################################################885 # Branching point for various formatting functions in this style. 886 ################################################################################ 901 # Inherit format_message to dispatch 902 our @ISA = qw(BarnOwl::Style::Default); 903 887 904 use constant BASE_FORMAT => '%s %-13.13s %-11.11s %-12.12s '; 888 sub format_message($) {889 my $self = shift;890 my $m = shift;891 892 if ( $m->is_loginout ) {893 return $self->format_login($m);894 }895 elsif ( $m->is_ping) {896 return $self->format_ping($m);897 }898 elsif ( $m->is_admin || $m->is_loopback) {899 return $self->format_local($m);900 }901 else {902 return $self->format_chat($m);903 }904 }905 905 906 906 sub description {"Formats for one-line-per-message"} … … 948 948 if ($m->is_personal) { 949 949 $line= sprintf(BASE_FORMAT, 950 951 952 953 954 955 950 $dirsym, 951 $m->type, 952 '', 953 ($dir eq 'out' 954 ? $m->pretty_recipient 955 : $m->pretty_sender)); 956 956 } 957 957 else { 958 958 $line = sprintf(BASE_FORMAT, 959 960 961 962 963 964 959 $dirsym, 960 $m->context, 961 $m->subcontext, 962 ($dir eq 'out' 963 ? $m->pretty_recipient 964 : $m->pretty_sender)); 965 965 } 966 966 … … 968 968 $body =~ tr/\n/ /; 969 969 $line .= $body; 970 $line = BarnOwl::Style::boldify($line) if ($m->is_personal && lc($m->direction) eq 'in');971 970 return $line; 972 971 } 973 972 974 # Format locally generatedmessages975 sub format_ local($)973 # Format owl admin messages 974 sub format_admin($) 976 975 { 977 976 my $self = shift; 978 977 my $m = shift; 979 my $type = uc($m->{type}); 980 my $line = sprintf(BASE_FORMAT, '<', $type, '', ''); 978 my $line = sprintf(BASE_FORMAT, '<', 'ADMIN', '', ''); 981 979 my $body = $m->{body}; 982 980 $body =~ tr/\n/ /;
Note: See TracChangeset
for help on using the changeset viewer.