ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/deliantra/Deliantra-Client/DC/UI/MessageWindow.pm
(Generate patch)

Comparing deliantra/Deliantra-Client/DC/UI/MessageWindow.pm (file contents):
Revision 1.13 by elmex, Tue Aug 14 13:26:06 2007 UTC vs.
Revision 1.14 by elmex, Tue Aug 14 14:06:17 2007 UTC

12our %channel_info; 12our %channel_info;
13 13
14sub clr_def($) { "<span foreground=\"#777777\">$_[0]</span>" } 14sub clr_def($) { "<span foreground=\"#777777\">$_[0]</span>" }
15sub clr_act($) { "<span foreground=\"#ffffff\">$_[0]</span>" } 15sub clr_act($) { "<span foreground=\"#ffffff\">$_[0]</span>" }
16sub clr_hlt($) { "<span foreground=\"#aaaaff\">$_[0]</span>" } 16sub clr_hlt($) { "<span foreground=\"#aaaaff\">$_[0]</span>" }
17sub clr_hlt2($) { "<span foreground=\"#9999ff\">$_[0]</span>" } 17sub clr_hlt2($) { "<span foreground=\"#ff0000\">$_[0]</span>" }
18 18
19sub new { 19sub new {
20 my $class = shift; 20 my $class = shift;
21 21
22 my $self = $class->SUPER::new ( 22 my $self = $class->SUPER::new (
117 $self->add_chat ($id); 117 $self->add_chat ($id);
118 } 118 }
119} 119}
120 120
121sub highlight_channel { 121sub highlight_channel {
122 my ($self, $id) = @_; 122 my ($self, $id, $hlt_func) = @_;
123
124 $hlt_func ||= \&clr_hlt;
123 125
124 my $cv = $self->{chatviews}->{$id}; 126 my $cv = $self->{chatviews}->{$id};
125 $cv->{_channel_highlighted} = 1; 127 $cv->{_channel_highlighted} = 1;
126 my $tab = $cv->{_tab_button}; 128 my $tab = $cv->{_tab_button};
127 129
128 $tab->set_markup ( 130 $tab->set_markup (
129 clr_hlt (defined $id ? $self->{channel_info}->{$id}->{title} : "Log") 131 $hlt_func->(defined $id ? $self->{channel_info}->{$id}->{title} : "Log")
130 ); 132 );
131} 133}
132 134
133sub unhighlight_channel { 135sub unhighlight_channel {
134 my ($self, $id) = @_; 136 my ($self, $id) = @_;
192 $self->touch_channel ($id); 194 $self->touch_channel ($id);
193 195
194 if (my $cv = $self->{chatviews}->{$id}) { 196 if (my $cv = $self->{chatviews}->{$id}) {
195 197
196 if ($cv != $self->{nb}->get_current_page) { 198 if ($cv != $self->{nb}->get_current_page) {
199
200 if (($para->{color_flags} & NDI_COLOR_MASK) == NDI_RED) {
201 $self->highlight_channel ($id, \&clr_hlt2);
202 } else {
197 $self->highlight_channel ($id); 203 $self->highlight_channel ($id);
204 }
198 } 205 }
199 206
200 if ($para->{color_flags} & NDI_REPLY) { 207 if ($para->{color_flags} & NDI_REPLY) {
201 $self->{nb}->set_current_page ($cv); 208 $self->{nb}->set_current_page ($cv);
202 } 209 }
210
203 } 211 }
204 212
205 $self->{chatviews}->{$id}->message ($para); 213 $self->{chatviews}->{$id}->message ($para);
206 214
207 } else { 215 } else {

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines