… | |
… | |
17 | $self->listen ($self->{conn}); |
17 | $self->listen ($self->{conn}); |
18 | |
18 | |
19 | $self->send (notify_add => name => $self->{name}) |
19 | $self->send (notify_add => name => $self->{name}) |
20 | unless (lc $self->{name}) eq (lc $self->{app}{name}); |
20 | unless (lc $self->{name}) eq (lc $self->{app}{name}); |
21 | |
21 | |
22 | gtk::state $self, "user::window", undef, window_size => [400, 300]; |
22 | gtk::state $self, "user::window", undef, window_size => [500, 500]; |
23 | |
23 | |
24 | $self->event_name; |
24 | $self->event_name; |
25 | |
25 | |
26 | $self->signal_connect (destroy => sub { %{$_[0]} = () }); |
26 | $self->signal_connect (destroy => sub { %{$_[0]} = () }); |
27 | $self->signal_connect (delete_event => sub { $self->destroy; 1 }); |
27 | $self->signal_connect (delete_event => sub { $self->destroy; 1 }); |
… | |
… | |
72 | } |
72 | } |
73 | |
73 | |
74 | sub draw_info { |
74 | sub draw_info { |
75 | my ($self, $inlay) = @_; |
75 | my ($self, $inlay) = @_; |
76 | return unless defined $self->{userinfo}; |
76 | return unless defined $self->{userinfo}; |
77 | $inlay->append_text("\n<leader>Realname:</leader> $self->{userinfo}{realname}"); |
77 | $inlay->append_text( |
78 | $inlay->append_text("\n<leader>Email:</leader> $self->{userinfo}{email}"); |
78 | "<infoblock>" |
79 | my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime($_->{userinfo}{regdate}); |
79 | ."\n<leader>Realname:</leader> " . (util::toxml $self->{userinfo}{realname}) |
80 | $inlay->append_text (sprintf ("\n<leader>Registered:</leader> %02d.%02d.%02d %02d:%02d", $mday, $mon + 1, $year + 1900, $hour, $min)); |
80 | ."\n<leader>Email:</leader> " . (util::toxml $self->{userinfo}{email}) |
81 | ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime($self->{userinfo}{lastlogin}); |
81 | ."\n<leader>Flags:</leader> " . (util::toxml $self->{userinfo}{user}->flags_string) |
82 | $inlay->append_text (sprintf ("\n<leader>Last Login:</leader> %02d.%02d.%02d %02d:%02d", $mday, $mon + 1, $year + 1900, $hour, $min)); |
82 | ."\n<leader>Rank:</leader> " . (util::toxml $self->{userinfo}{user}->rank_string) |
83 | $inlay->append_text ("\n<leader>Comment:</leader>\n$self->{userinfo}{info}"); |
83 | ."\n<leader>Registered:</leader> " . (util::toxml util::date_string($_->{userinfo}{regdate})) |
84 | $inlay->append_text ("\n<leader>Picture:</leader>\n"); |
84 | ."\n<leader>Last Login:</leader> " . (util::toxml util::date_string($_->{userinfo}{lastlogin})) |
|
|
85 | ."\n<leader>Comment:</leader>\n" . (util::toxml $self->{userinfo}{info}) |
|
|
86 | ."\n<leader>Picture:</leader></infoblock>\n"); |
85 | if ($self->{userinfo}{user}->has_pic) { |
87 | if ($self->{userinfo}{user}->has_pic) { |
86 | $self->{app}->userpic ($self->{name}, sub { |
88 | $self->{app}->userpic ($self->{name}, sub { |
87 | if ($_[0]) { |
89 | if ($_[0]) { |
88 | $inlay->append_widget(gtk::image_from_data $_[0]); |
90 | $inlay->append_widget(gtk::image_from_data $_[0]); |
89 | } |
91 | } |
… | |
… | |
109 | } |
111 | } |
110 | |
112 | |
111 | sub event_game_record { |
113 | sub event_game_record { |
112 | my ($self) = @_; |
114 | my ($self) = @_; |
113 | |
115 | |
114 | use POSIX (); |
|
|
115 | |
|
|
116 | for (@{$self->{game_record}}) { |
116 | for (@{$self->{game_record}}) { |
117 | push @{$self->{record_list}->{data}}, |
117 | push @{$self->{record_list}->{data}}, |
118 | [ |
118 | [ |
119 | (POSIX::strftime "%Y-%m-%d %H:%M", localtime $_->{timestamp}), |
119 | util::date_string $_->{timestamp}, |
120 | $_->{black}{name}, |
120 | $_->{black}->as_string, |
121 | $_->{white}{name}, |
121 | $_->{white}->as_string, |
122 | $_->size, # sprintf ("%dx%d", $_->size, $_->size), # when sorting is fixed |
122 | $_->size, |
123 | (sprintf "%.1d", $_->handicap), |
123 | (sprintf "%.1d", $_->handicap), |
124 | $_->komi, |
124 | $_->komi, |
125 | $_->score_string, |
125 | $_->score_string, |
126 | ]; |
126 | ]; |
127 | } |
127 | } |