… | |
… | |
12 | our %channel_info; |
12 | our %channel_info; |
13 | |
13 | |
14 | sub clr_def($) { "<span foreground=\"#777777\">$_[0]</span>" } |
14 | sub clr_def($) { "<span foreground=\"#777777\">$_[0]</span>" } |
15 | sub clr_act($) { "<span foreground=\"#ffffff\">$_[0]</span>" } |
15 | sub clr_act($) { "<span foreground=\"#ffffff\">$_[0]</span>" } |
16 | sub clr_hlt($) { "<span foreground=\"#aaaaff\">$_[0]</span>" } |
16 | sub clr_hlt($) { "<span foreground=\"#aaaaff\">$_[0]</span>" } |
17 | sub clr_hlt2($) { "<span foreground=\"#9999ff\">$_[0]</span>" } |
17 | sub clr_hlt2($) { "<span foreground=\"#ff0000\">$_[0]</span>" } |
18 | |
18 | |
19 | sub new { |
19 | sub 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 | |
121 | sub highlight_channel { |
121 | sub 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 | |
133 | sub unhighlight_channel { |
135 | sub 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 { |