diff options
Diffstat (limited to 'src/client/mainwindow.cc')
-rw-r--r-- | src/client/mainwindow.cc | 23 |
1 files changed, 16 insertions, 7 deletions
diff --git a/src/client/mainwindow.cc b/src/client/mainwindow.cc index 607e503..8e7b2af 100644 --- a/src/client/mainwindow.cc +++ b/src/client/mainwindow.cc @@ -79,6 +79,9 @@ void MainWindow::resize() // resize game window mainwindow_gamewindow->set_size(size()); + + // resize mainmenu window + mainwindow_mainmenu->set_size(size()); } void MainWindow::clear() @@ -114,14 +117,20 @@ void MainWindow::draw() } else { mainwindow_clockwidget->set_mode(ClockInfoWidget::Clock24Hours); } - - // FIXME - either draw one of the menus or draw the playerview - if (ui::root()->active() || !core::game()->interactive() || !core::localcontrol() || (core::localplayer()->view() && !core::localplayer()->view()->menus().size())) { - if (mainwindow_gamewindow->visible()) - mainwindow_gamewindow->hide(); - } else { - if (!mainwindow_gamewindow->visible()) + + if (!mainwindow_mainmenu->visible()) { + + if (!core::game()->interactive() || !core::localcontrol()) { + mainwindow_mainmenu->show(); + + } else if (mainwindow_gamewindow->hidden()) { mainwindow_gamewindow->show(); + } + + } else { + if (mainwindow_gamewindow->visible()) { + mainwindow_gamewindow->hide(); + } } } |