… | |
… | |
170 | $self->{window}->set_title("KGS Game $title"); |
170 | $self->{window}->set_title("KGS Game $title"); |
171 | gtk::state $self->{window}, "game::window", undef, window_size => [600, 500]; |
171 | gtk::state $self->{window}, "game::window", undef, window_size => [600, 500]; |
172 | |
172 | |
173 | $self->{window}->signal_connect(delete_event => sub { |
173 | $self->{window}->signal_connect(delete_event => sub { |
174 | $self->part; |
174 | $self->part; |
|
|
175 | $self->destroy; |
175 | 1; |
176 | 1; |
176 | }); |
177 | }); |
177 | |
178 | |
178 | $self->{window}->add($self->{hpane} = new Gtk2::HPaned); |
179 | $self->{window}->add($self->{hpane} = new Gtk2::HPaned); |
179 | gtk::state $self->{hpane}, "game::hpane", undef, position => 500; |
180 | gtk::state $self->{hpane}, "game::hpane", undef, position => 500; |
… | |
… | |
616 | } |
617 | } |
617 | |
618 | |
618 | sub event_part { |
619 | sub event_part { |
619 | my ($self) = @_; |
620 | my ($self) = @_; |
620 | $self->SUPER::event_part; |
621 | $self->SUPER::event_part; |
621 | delete $appwin::gamelist->{game}{$self->{channel}}; |
|
|
622 | $self->destroy; |
|
|
623 | } |
622 | } |
624 | |
623 | |
625 | sub event_move { |
624 | sub event_move { |
626 | my ($self, $pass) = @_; |
625 | my ($self, $pass) = @_; |
627 | sound::play 1, $pass ? "pass" : "move"; |
626 | sound::play 1, $pass ? "pass" : "move"; |
628 | } |
627 | } |
629 | |
628 | |
|
|
629 | sub event_update_game { |
|
|
630 | my ($self) = @_; |
|
|
631 | $self->SUPER::event_update_game; |
|
|
632 | warn "UPDATE GAME";#d# |
|
|
633 | } |
|
|
634 | |
|
|
635 | sub destroy { |
|
|
636 | my ($self) = @_; |
|
|
637 | $self->SUPER::destroy; |
|
|
638 | delete $appwin::gamelist->{game}{$self->{channel}}; |
|
|
639 | } |
|
|
640 | |
630 | 1; |
641 | 1; |
631 | |
642 | |