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

Comparing deliantra/Deliantra-Client/DC.pm (file contents):
Revision 1.90 by root, Mon Jun 5 22:07:42 2006 UTC vs.
Revision 1.95 by root, Sun Jul 2 13:57:57 2006 UTC

25 25
26use Carp (); 26use Carp ();
27use AnyEvent (); 27use AnyEvent ();
28use BerkeleyDB; 28use BerkeleyDB;
29use Pod::POM (); 29use Pod::POM ();
30use Scalar::Util ();
30use Storable (); # finally 31use Storable (); # finally
31 32
32package CFClient::PodToPango; 33package CFClient::PodToPango;
33 34
34use base Pod::POM::View::Text; 35use base Pod::POM::View::Text;
51} 52}
52 53
53sub view_item { 54sub view_item {
54 ("\t" x ($indent / 4)) 55 ("\t" x ($indent / 4))
55 . $_[1]->title->present ($_[0]) 56 . $_[1]->title->present ($_[0])
56 . "\n" 57 . "\n\n"
57 . $_[1]->content->present ($_[0]) 58 . $_[1]->content->present ($_[0])
58} 59}
59 60
60sub view_verbatim { 61sub view_verbatim {
61 (join "", 62 (join "",
291 $cb->($last_enter_count); 292 $cb->($last_enter_count);
292 $w->hide; 293 $w->hide;
293 $w = undef; 294 $w = undef;
294 } 295 }
295 ); 296 );
296 $entry->focus_in; 297 $entry->grab_focus;
297 $w->show; 298 $w->show;
298 299
299} 300}
300 301
301sub update_widgets { 302sub update_widgets {
302 my ($self) = @_; 303 my ($self) = @_;
304
305 # necessary to avoid cyclic references
306 Scalar::Util::weaken $self;
303 307
304 my $button_cb = sub { 308 my $button_cb = sub {
305 my (undef, $ev, $x, $y) = @_; 309 my (undef, $ev, $x, $y) = @_;
306 310
307 my $targ = $::CONN->{player}{tag}; 311 my $targ = $::CONN->{player}{tag};
452sub open_binding_dialog { 456sub open_binding_dialog {
453 my ($cb) = @_; 457 my ($cb) = @_;
454 458
455 my $w = new CFClient::UI::FancyFrame 459 my $w = new CFClient::UI::FancyFrame
456 title => "Bind Action", 460 title => "Bind Action",
457 x => "center", 461 x => "center",
458 y => "center"; 462 y => "center",
463 z => 1000,
464 has_close_button => 1;
459 465
460 $w->add (my $vb = new CFClient::UI::VBox); 466 $w->add (my $vb = new CFClient::UI::VBox);
461 $vb->add (new CFClient::UI::Label 467 $vb->add (new CFClient::UI::Label
462 text => "Press a modifier (CTRL, ALT and/or SHIFT) and a key." 468 text => "Press a modifier (CTRL, ALT and/or SHIFT) and a key."
463 ."You can only bind 0-9 and F1-F15 without modifiers." 469 . "You can only bind 0-9 and F1-F15 without modifiers."
464 ); 470 );
465 $vb->add (my $entry = new CFClient::UI::Entry 471 $vb->add (my $entry = new CFClient::UI::Entry
466 text => "", 472 text => "",
467 on_key_down => sub { 473 on_key_down => sub {
468 my ($entry, $ev) = @_; 474 my ($entry, $ev) = @_;
484 ." directly without modifier! It would damage the completer handling." 490 ." directly without modifier! It would damage the completer handling."
485 ); 491 );
486 return; 492 return;
487 } 493 }
488 494
489 $entry->focus_out; 495 $entry->grab_focus;
490 496
491 $cb->($mod, $sym); 497 $cb->($mod, $sym);
492 498
493 $w->destroy 499 $w->destroy
494 }); 500 });
495 501
496 $entry->focus_in; 502 $entry->grab_focus;
497 $w->show; 503 $w->show;
498} 504}
499 505
500sub keycombo_to_name { 506sub keycombo_to_name {
501 my ($mod, $sym) = @_; 507 my ($mod, $sym) = @_;

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines