ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/deliantra/server/ext/client-settings-page.ext
Revision: 1.5
Committed: Sat Oct 16 22:51:51 2010 UTC (13 years, 7 months ago) by root
Branch: MAIN
CVS Tags: rel-3_1, HEAD
Changes since 1.4: +1 -0 lines
Log Message:
*** empty log message ***

File Contents

# User Rev Content
1 root 1.4 #! perl # depends=widget
2 root 1.1
3     sub settings_page {
4     my ($ns) = @_;
5     my $pl = $ns->pl;
6    
7     my $ws = $ns->{ws_settings} = $ns->new_widgetset;
8    
9 root 1.2 cf::weaken $ws;
10    
11 root 1.1 # I hope not doing range checking is ok here...
12     $ws->template (face => (cf::face::find "res/ui/pl_settings_page"),
13     [
14     page => { },
15    
16 root 1.3 title => {
17     text => $pl->ob->is_dragon ? $pl->title : $pl->own_title,
18     can_events => !$pl->ob->is_dragon,
19     },
20 root 1.1 info => { text => $pl->{user_info} },
21     info_save => {
22     on_activate => sub {
23 root 1.3 $ws->{title}->get (text => sub {
24     return if $pl->ob->is_dragon;
25 root 1.2
26 root 1.1 $pl->statusmsg ("new title has been saved");
27     $pl->own_title ($_[0]);
28     });
29     $ws->{info}->get (text => sub {
30     $pl->statusmsg ("new character info text has been saved");
31     $pl->{user_info} = $_[0];
32     });
33     },
34     },
35    
36     applymode => { value => $pl->unapply , on_changed => sub { $pl->unapply ($_[1]) } },
37     bowmode => { value => $pl->bowtype , on_changed => sub { $pl->bowtype ($_[1]) } },
38     petmode => { value => $pl->petmode , on_changed => sub { $pl->petmode ($_[1]) } },
39     hintmode => { value => $pl->hintmode , on_changed => sub { $pl->hintmode ($_[1]) } },
40     usekeys => { value => $pl->usekeys , on_changed => sub { $pl->usekeys ($_[1]) } },
41 root 1.5 #bumpmsg => { value => $pl->bumpmsg , on_changed => sub { $pl->bumpmsg ($_[1]) } }, # not yet
42 root 1.1 ],
43     sub {
44     $ws->find ("pl_notebook")->add ($ws->{page});
45 root 1.2 },
46 root 1.1 );
47     }
48    
49     cf::player->attach (
50     on_login => sub {
51     my ($pl) = @_;
52    
53     my $ns = $pl->ns;
54     return unless $ns->{can_widget};
55    
56     settings_page $ns;
57     },
58     );
59