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.23 by root, Sun Sep 2 05:18:34 2007 UTC vs.
Revision 1.24 by elmex, Sun Sep 9 17:47:00 2007 UTC

92 scale => 0.3, 92 scale => 0.3,
93 ) 93 )
94 ); 94 );
95 $b->connect (activate => sub { 95 $b->connect (activate => sub {
96 my $b = shift; 96 my $b = shift;
97 97 $self->close_chatview ($cv);
98 my @chld = $nb->pages;
99 my $cur = pop @chld;
100 while (@chld && $cur != $cv) {
101 $cur = pop @chld;
102 }
103 $cur = pop @chld;
104 $nb->remove ($cv);
105 $nb->set_current_page ($cur);
106
107 delete $chatviews->{$id};
108 0 98 0
109 }); 99 });
110 100
111 my $preadd = $nb->get_current_page; 101 my $preadd = $nb->get_current_page;
112 $nb->add ($cv); 102 $nb->add ($cv);
113 $nb->set_current_page ($preadd); 103 $nb->set_current_page ($preadd);
114} 104}
115 105
106sub close_chatview {
107 my ($self, $cv) = @_;
108 return unless defined $cv->{_chat_id};
109
110 my $chatviews = $self->{chatviews};
111 my $nb = $self->{nb};
112 my @chld = $nb->pages;
113 my $cur = pop @chld;
114 while (@chld && $cur != $cv) {
115 $cur = pop @chld;
116 }
117 $cur = pop @chld;
118 $nb->remove ($cv);
119 $nb->set_current_page ($cur);
120
121 delete $chatviews->{$cv->{_chat_id}};
122}
123
116sub touch_channel { 124sub touch_channel {
117 my ($self, $id) = @_; 125 my ($self, $id) = @_;
118 126
119 if (not exists $self->{chatviews}->{$id}) { 127 if (not exists $self->{chatviews}->{$id}) {
120 $self->add_chat ($id); 128 $self->add_chat ($id);
144 $_->{_active} = 0; 152 $_->{_active} = 0;
145 } 153 }
146 $page->{_active} = 1; 154 $page->{_active} = 1;
147 155
148 $self->update_tabs; 156 $self->update_tabs;
157}
158
159sub close_current_tab {
160 my ($self) = @_;
161 $self->close_chatview ($self->{nb}->get_current_page);
149} 162}
150 163
151sub update_tabs { 164sub update_tabs {
152 my ($self) = @_; 165 my ($self) = @_;
153 166

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines