… | |
… | |
142 | our $PL_NOTEBOOK; |
142 | our $PL_NOTEBOOK; |
143 | our $PL_WINDOW; |
143 | our $PL_WINDOW; |
144 | |
144 | |
145 | our $MUSIC_PLAYING_WIDGET; |
145 | our $MUSIC_PLAYING_WIDGET; |
146 | our $LICENSE_WIDGET; |
146 | our $LICENSE_WIDGET; |
|
|
147 | our $DOWNLOADS_WIDGET; |
147 | |
148 | |
148 | our $PICKUP_PAGE; |
149 | our $PICKUP_PAGE; |
149 | our $INVENTORY_PAGE; |
150 | our $INVENTORY_PAGE; |
150 | our $STATS_PAGE; |
151 | our $STATS_PAGE; |
151 | our $SKILL_PAGE; |
152 | our $SKILL_PAGE; |
… | |
… | |
2039 | |
2040 | |
2040 | sub media_window { |
2041 | sub media_window { |
2041 | my $vb = new DC::UI::VBox; |
2042 | my $vb = new DC::UI::VBox; |
2042 | |
2043 | |
2043 | $vb->add (new DC::UI::FancyFrame |
2044 | $vb->add (new DC::UI::FancyFrame |
2044 | label => "Currently playing music", |
2045 | label => "Current background music", |
2045 | child => new DC::UI::ScrolledWindow scroll_x => 1, scroll_y => 0, |
2046 | child => new DC::UI::ScrolledWindow scroll_x => 1, scroll_y => 0, |
2046 | child => ($MUSIC_PLAYING_WIDGET = new DC::UI::Label ellipsise => 0, fontsize => 0.8), |
2047 | child => ($MUSIC_PLAYING_WIDGET = new DC::UI::Label ellipsise => 0, fontsize => 0.8), |
2047 | ); |
2048 | ); |
|
|
2049 | |
|
|
2050 | $vb->add (new DC::UI::FancyFrame |
|
|
2051 | label => "Current downloads", |
|
|
2052 | child => ($DOWNLOADS_WIDGET = new DC::UI::Table |
|
|
2053 | expand => 1, fontsize => 0.8, padding_x => 4, padding_y => 4), |
|
|
2054 | ); |
|
|
2055 | |
|
|
2056 | $DOWNLOADS_WIDGET->connect (visibility_change => sub { |
|
|
2057 | my ($self) = @_; |
|
|
2058 | |
|
|
2059 | delete $self->{updater}; |
|
|
2060 | return unless $_[1]; |
|
|
2061 | |
|
|
2062 | $self->{updater} = AE::timer 0, 1, sub { |
|
|
2063 | $self->clear; |
|
|
2064 | |
|
|
2065 | return unless $CONN; |
|
|
2066 | |
|
|
2067 | my @nums = sort { $b <=> $a } keys %{ $CONN->{ix_recv_buf} }; |
|
|
2068 | |
|
|
2069 | $self->add_at (0, 0, new DC::UI::Label align => 1, text => "Face"); |
|
|
2070 | $self->add_at (1, 0, new DC::UI::Label align => 0, text => "Octets/Total"); |
|
|
2071 | |
|
|
2072 | for my $row (0 .. $#nums) { |
|
|
2073 | my $num = $nums[$row]; |
|
|
2074 | |
|
|
2075 | my $total = length $CONN->{ix_recv_buf}{$num}; |
|
|
2076 | my $got = $total - $CONN->{ix_recv_ofs}{$num}; |
|
|
2077 | |
|
|
2078 | $self->add_at (0, $row + 1, new DC::UI::Label align => 1, text => $num, tooltip => ""); |
|
|
2079 | $self->add_at (1, $row + 1, new DC::UI::Label align => 0, text => "$got/$total", tooltip => ""); |
|
|
2080 | } |
|
|
2081 | }; |
|
|
2082 | }); |
2048 | |
2083 | |
2049 | $vb->add (new DC::UI::FancyFrame |
2084 | $vb->add (new DC::UI::FancyFrame |
2050 | label => "Other media used in this session", |
2085 | label => "Other media used in this session", |
2051 | expand => 1, |
2086 | expand => 1, |
2052 | child => ($LICENSE_WIDGET = new DC::UI::TextScroller |
2087 | child => ($LICENSE_WIDGET = new DC::UI::TextScroller |
2053 | expand => 1, fontsize => 0.8, padding_x => 4, padding_y => 4), |
2088 | expand => 1, fontsize => 0.8, padding_x => 4, padding_y => 4), |
2054 | ); |
2089 | ); |
2055 | |
2090 | |
2056 | $vb |
2091 | $vb |
2057 | } |
2092 | } |
2058 | |
2093 | |