… | |
… | |
46 | our %SDL_CB; |
46 | our %SDL_CB; |
47 | |
47 | |
48 | our $ALT_ENTER_MESSAGE; |
48 | our $ALT_ENTER_MESSAGE; |
49 | our $STATUS_LINE; |
49 | our $STATUS_LINE; |
50 | our $DEBUG_STATUS; |
50 | our $DEBUG_STATUS; |
|
|
51 | our $BUTTONBAR; |
51 | |
52 | |
52 | sub status { |
53 | sub status { |
53 | $STATUS_LINE->set_text ($_[0]); |
54 | $STATUS_LINE->set_text ($_[0]); |
54 | my ($w, $h) = $STATUS_LINE->size_request; |
55 | my ($w, $h) = $STATUS_LINE->size_request; |
55 | $STATUS_LINE->size_allocate (0, $HEIGHT - $ALT_ENTER_MESSAGE->{h} - $h, $w, $h); |
56 | $STATUS_LINE->size_allocate (0, $HEIGHT - $ALT_ENTER_MESSAGE->{h} - $h, $w, $h); |
… | |
… | |
174 | |
175 | |
175 | $hbox->add (new CFClient::UI::Button expand => 1, align => 0, text => "Save", connect_activate => sub { |
176 | $hbox->add (new CFClient::UI::Button expand => 1, align => 0, text => "Save", connect_activate => sub { |
176 | CFClient::write_cfg "$Crossfire::VARDIR/pclientrc"; |
177 | CFClient::write_cfg "$Crossfire::VARDIR/pclientrc"; |
177 | status "Configuration Saved"; |
178 | status "Configuration Saved"; |
178 | }); |
179 | }); |
179 | $CFClient::UI::TOPLEVEL->add ($dialog); |
180 | |
|
|
181 | $dialog |
180 | } |
182 | } |
181 | |
183 | |
182 | sub sdl_init { |
184 | sub sdl_init { |
183 | SDL::Init SDL_INIT_AUDIO | SDL_INIT_VIDEO | SDL_INIT_NOPARACHUTE |
185 | SDL::Init SDL_INIT_AUDIO | SDL_INIT_VIDEO | SDL_INIT_NOPARACHUTE |
184 | and die "SDL::Init failed!\n"; |
186 | and die "SDL::Init failed!\n"; |
… | |
… | |
238 | y => $HEIGHT * 49 / 50, |
240 | y => $HEIGHT * 49 / 50, |
239 | height => $HEIGHT / 50, |
241 | height => $HEIGHT / 50, |
240 | text => "Use <b>Alt-Enter</b> to toggle fullscreen mode"; |
242 | text => "Use <b>Alt-Enter</b> to toggle fullscreen mode"; |
241 | $CFClient::UI::TOPLEVEL->add ($ALT_ENTER_MESSAGE); |
243 | $CFClient::UI::TOPLEVEL->add ($ALT_ENTER_MESSAGE); |
242 | |
244 | |
243 | $MAPWIDGET = new CFClient::UI::MapWidget; |
|
|
244 | $CFClient::UI::TOPLEVEL->add ($MAPWIDGET); |
245 | $CFClient::UI::TOPLEVEL->add ($MAPWIDGET = new CFClient::UI::MapWidget); |
245 | $MAPWIDGET->focus_in; |
246 | $MAPWIDGET->focus_in; |
246 | |
247 | |
247 | config_dialog; |
248 | $CFClient::UI::TOPLEVEL->add ($BUTTONBAR = new CFClient::UI::HBox); |
|
|
249 | |
|
|
250 | $BUTTONBAR->add (my $setup = new CFClient::UI::Flopper x => 0, y => 0, text => "Setup", other => config_dialog, state => 1); |
248 | } |
251 | } |
249 | |
252 | |
250 | sub destroy_screen { |
253 | sub destroy_screen { |
251 | $CFClient::UI::TOPLEVEL->{children} = []; |
254 | $CFClient::UI::TOPLEVEL->{children} = []; |
252 | undef $SDL_ACTIVE; |
255 | undef $SDL_ACTIVE; |