--- deliantra/Deliantra-Client/DC/Protocol.pm 2006/06/15 15:33:58 1.36 +++ deliantra/Deliantra-Client/DC/Protocol.pm 2006/06/23 20:28:20 1.40 @@ -85,8 +85,6 @@ $fh->flush; } - - sub stats_update { my ($self, $stats) = @_; @@ -162,6 +160,7 @@ delete $self->{neigh_map}; $self->{map}->clear; + delete $self->{map_widget}{magicmap}; } @@ -415,8 +414,9 @@ $text =~ s/\[b\](.*?)\[\/b\]/\1<\/b>/g; $text =~ s/\[color=(.*?)\](.*?)\[\/color\]/\2<\/span>/g; - $self->{logview}->add_paragraph ($color[$color], - join "\n", map "$time $_", split /\n/, $text); + $self->{logview}->add_paragraph ($color[$color], $_) + for map "$time $_", split /\n/, $text; + $self->{logview}->scroll_to_bottom; $self->{statusbox}->add ($text, group => $text, @@ -538,7 +538,7 @@ } else { $::FLOORBOX->add (1, $row, new CFClient::UI::Button text => "More...", - on_activate => sub { $::INV_WINDOW->toggle_visibility }, + on_activate => sub { $::INV_WINDOW->toggle_visibility; 0 }, ); last; } @@ -563,6 +563,7 @@ $::CONN->send ("apply $tag") # $::CONN->{open_container}") if $tag != 0; #if $CONN->{open_container} != 0; + 0 }, ); } @@ -764,15 +765,17 @@ $entry->set_text (""); $this->send ($text); + + 0 }, ); $vbox->add ($self->{options} = new CFClient::UI::VBox); - $self->{close_button} = new CFClient::UI::Button + $self->{bye_button} = new CFClient::UI::Button text => "Bye (close)", tooltip => "Use this button to end talking to the NPC. This also closes the dialog window.", - on_activate => sub { $this->destroy }, + on_activate => sub { $this->destroy; 0 }, ; $self->update_options; @@ -781,7 +784,7 @@ $self->{conn}->connect_ext ($self->{token} => sub { $this->feed (@_) }); $self->{conn}->send ("ext npc_dialog_begin $self->{token} $self->{dx} $self->{dy}"); - $self->{entry}->focus_in; + $self->{entry}->grab_focus; $self->{textview}->add_paragraph ([1, 1, 0, 1], "[starting conversation with $self->{title}]\n\n"); @@ -795,13 +798,14 @@ Scalar::Util::weaken $self; $self->{options}->clear; - $self->{options}->add ($self->{close_button}); + $self->{options}->add ($self->{bye_button}); for my $kw (sort keys %{ $self->{kw} }) { $self->{options}->add (new CFClient::UI::Button text => $kw, on_activate => sub { $self->send ($kw); + 0 }, ); } @@ -839,7 +843,7 @@ sub destroy { my ($self) = @_; - #Carp::cluck "debug\n";#d# #todo# enable: destroyx gets called twice because scalar keys {} is 1 + #Carp::cluck "debug\n";#d# #todo# enable: destroy gets called twice because scalar keys {} is 1 delete $self->{conn}{npc_dialog}; $self->{conn}->disconnect_ext ($self->{token});