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