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

Comparing deliantra/Deliantra-Client/DC/Main.pm (file contents):
Revision 1.3 by root, Thu Dec 29 07:13:44 2011 UTC vs.
Revision 1.6 by root, Sat Dec 31 04:23:42 2011 UTC

41 # nop at compiletime 41 # nop at compiletime
42} 42}
43 43
44BEGIN { 44BEGIN {
45 $SIG{__DIE__} = sub { 45 $SIG{__DIE__} = sub {
46 return if $^S; 46 return if $^S; # quick reject
47
48 # return if there are any eval contexts in the csall stack
49 for my $i (0..999) {
50 my ($sub, $is_require) = (caller $i)[3, 7]
51 or last;
52 return if $sub eq "(eval)" && !$is_require;
53 }
54
47 crash "CRASH/DIE: $_[0]" => 1; 55 crash "CRASH/DIE: $_[0]" => 1;
48 DC::fatal Carp::longmess "$_[0]"; 56 DC::fatal Carp::longmess "$_[0]";
49 } 57 }
50} 58}
51 59
134our $PL_NOTEBOOK; 142our $PL_NOTEBOOK;
135our $PL_WINDOW; 143our $PL_WINDOW;
136 144
137our $MUSIC_PLAYING_WIDGET; 145our $MUSIC_PLAYING_WIDGET;
138our $LICENSE_WIDGET; 146our $LICENSE_WIDGET;
147our $DOWNLOADS_WIDGET;
139 148
140our $PICKUP_PAGE; 149our $PICKUP_PAGE;
141our $INVENTORY_PAGE; 150our $INVENTORY_PAGE;
142our $STATS_PAGE; 151our $STATS_PAGE;
143our $SKILL_PAGE; 152our $SKILL_PAGE;
1842 1851
1843 $table->add_at (0, $row , new DC::UI::Label align => 1, text => "Data Directory"); 1852 $table->add_at (0, $row , new DC::UI::Label align => 1, text => "Data Directory");
1844 $table->add_at (1, $row++, new DC::UI::Label align => 0, text => $Deliantra::VARDIR, tooltip => ""); 1853 $table->add_at (1, $row++, new DC::UI::Label align => 0, text => $Deliantra::VARDIR, tooltip => "");
1845 $table->add_at (0, $row , new DC::UI::Label align => 1, text => "Database Directory"); 1854 $table->add_at (0, $row , new DC::UI::Label align => 1, text => "Database Directory");
1846 $table->add_at (1, $row++, new DC::UI::Label align => 0, text => $DC::DB::DBDIR, tooltip => ""); 1855 $table->add_at (1, $row++, new DC::UI::Label align => 0, text => $DC::DB::DBDIR, tooltip => "");
1856 $table->add_at (0, $row , new DC::UI::Label align => 1, text => "Urlader (Prebuilt)");
1857 $table->add_at (1, $row++, new DC::UI::Label align => 0, text => $ENV{URLADER_VERSION}, tooltip => "");
1847 $table->add_at (0, $row , new DC::UI::Label align => 1, text => "Branch (Prebuilt)"); 1858 $table->add_at (0, $row , new DC::UI::Label align => 1, text => "Branch (Prebuilt)");
1848 $table->add_at (1, $row++, new DC::UI::Label align => 0, text => $::EXE_ID, tooltip => ""); 1859 $table->add_at (1, $row++, new DC::UI::Label align => 0, text => $ENV{URLADER_EXE_ID}, tooltip => "");
1849 $table->add_at (0, $row , new DC::UI::Label align => 1, text => "Version (Prebuilt)"); 1860 $table->add_at (0, $row , new DC::UI::Label align => 1, text => "Version (Prebuilt)");
1850 $table->add_at (1, $row++, new DC::UI::Label align => 0, text => $::EXE_VER, tooltip => ""); 1861 $table->add_at (1, $row++, new DC::UI::Label align => 0, text => $ENV{URLADER_EXE_VER}, tooltip => "");
1851 $table->add_at (0, $row , new DC::UI::Label align => 1, text => "Update (Prebuilt)");
1852 $table->add_at (1, $row++, new DC::UI::Label align => 0, text => $::UPDPAR, tooltip => "");
1853 } 1862 }
1854 1863
1855 $vbox 1864 $vbox
1856} 1865}
1857 1866
2031 2040
2032sub media_window { 2041sub media_window {
2033 my $vb = new DC::UI::VBox; 2042 my $vb = new DC::UI::VBox;
2034 2043
2035 $vb->add (new DC::UI::FancyFrame 2044 $vb->add (new DC::UI::FancyFrame
2036 label => "Currently playing music", 2045 label => "Current background music",
2037 child => new DC::UI::ScrolledWindow scroll_x => 1, scroll_y => 0, 2046 child => new DC::UI::ScrolledWindow scroll_x => 1, scroll_y => 0,
2038 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),
2039 ); 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 });
2040 2083
2041 $vb->add (new DC::UI::FancyFrame 2084 $vb->add (new DC::UI::FancyFrame
2042 label => "Other media used in this session", 2085 label => "Other media used in this session",
2043 expand => 1, 2086 expand => 1,
2044 child => ($LICENSE_WIDGET = new DC::UI::TextScroller 2087 child => ($LICENSE_WIDGET = new DC::UI::TextScroller
2045 expand => 1, fontsize => 0.8, padding_x => 4, padding_y => 4), 2088 expand => 1, fontsize => 0.8, padding_x => 4, padding_y => 4),
2046 ); 2089 );
2047 2090
2048 $vb 2091 $vb
2049} 2092}
2050 2093
2840 } 2883 }
2841 } 2884 }
2842 } 2885 }
2843 2886
2844 # fontconfig doesn't support relative paths anymore, so use abs_path and keep fingers crossed 2887 # fontconfig doesn't support relative paths anymore, so use abs_path and keep fingers crossed
2888 # these are ignored under windows, for some reason, and thus set in the loader
2845 $ENV{FONTCONFIG_FILE} = "fonts.conf"; 2889 $ENV{FONTCONFIG_FILE} = "fonts.conf";
2846 $ENV{FONTCONFIG_PATH} = Cwd::abs_path DC::find_rcfile "fonts"; 2890 $ENV{FONTCONFIG_PATH} = Cwd::abs_path DC::find_rcfile "fonts";
2847 $ENV{FONTCONFIG_DIR} = $ENV{FONTCONFIG_PATH}; 2891 $ENV{FONTCONFIG_DIR} = $ENV{FONTCONFIG_PATH}; # helps with older versions
2848 2892
2849 { 2893 {
2850 my @fonts = map DC::find_rcfile "fonts/$_", qw( 2894 my @fonts = map DC::find_rcfile "fonts/$_", qw(
2851 DejaVuSans.ttf 2895 DejaVuSans.ttf
2852 DejaVuSansMono.ttf 2896 DejaVuSansMono.ttf

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines