--- deliantra/Deliantra-Client/DC/MessageDistributor.pm 2008/09/19 01:23:36 1.5 +++ deliantra/Deliantra-Client/DC/MessageDistributor.pm 2012/01/04 11:23:23 1.9 @@ -1,12 +1,11 @@ package DC::MessageDistributor; -use strict; -no warnings; + +use common::sense; sub new { my $this = shift; my $class = ref($this) || $this; - my $self = { @_ }; - bless $self, $class; + my $self = bless { @_ }, $class; $self->{dockbar}->add_dock ( $self->{log} = DC::UI::ChatView->new ( @@ -24,6 +23,8 @@ ) ); + $self->{dockbar}->select_dockable ($self->{log}); + return $self } @@ -36,7 +37,7 @@ sub add_channel { my ($self, $chaninfo) = @_; - $self->{info}->{$chaninfo->{id}} = $chaninfo; + $self->{info}{$chaninfo->{id}} = $chaninfo; $self->touch_channel ($chaninfo->{id}); } @@ -62,12 +63,12 @@ my ($self, $para) = @_; my $id = $para->{type}; - if (exists $self->{info}->{$id}) { + if (exists $self->{info}{$id}) { unless (exists $self->{chatview}->{$id}) { $self->touch_channel ($id); } - my $cv = $self->{chatview}->{$id}; + my $cv = $self->{chatview}{$id}; unless ($cv) { warn "message couldn't be delivered to chatview with " @@ -86,7 +87,7 @@ sub touch_channel { my ($self, $id) = @_; - if (exists $self->{chatview}->{$id}) { + if (exists $self->{chatview}{$id}) { $self->update_chat ($id); } else { $self->init_chat ($id); @@ -95,20 +96,21 @@ sub update_chat { my ($self, $id) = @_; - $self->{chatview}->{$id}->update_info ($self->{info}->{$id}); + + $self->{chatview}{$id}->update_info ($self->{info}->{$id}); } sub init_chat { my ($self, $id) = @_; - my $chaninfo = $self->{info}->{$id}; - my $dock = $self->{chatview}->{$id} = + my $chaninfo = $self->{info}{$id}; + my $dock = $self->{chatview}{$id} = DC::UI::ChatView->new ( expand => 1, info => $chaninfo, ); $dock->connect (close_dock => sub { - delete $self->{chatview}->{$id}; + delete $self->{chatview}{$id}; 0 }); $self->{dockbar}->add_dock ($dock);