void ribi::tictactoe::QtTicTacToeMenuDialog::Test() noexcept
{
  {
    static bool is_tested{false};
    if (is_tested) return;
    is_tested = true;
  }
  TicTacToeMenuDialog();
  {
    const boost::shared_ptr<Ai> player1;
    const boost::shared_ptr<Ai> player2;
    QtTicTacToeGameDialog d(player1,player2);
    assert(!d.GetVersion().empty());
  }
  #ifdef SUPPORT_RETRO_VERSION_OF_TICTACTOE_AGAIN_20150918
  {
    QtCanvas * const qtcanvas {
      new QtTicTacToeCanvas
    };
    boost::scoped_ptr<QtCanvasDialog> d {
      new QtCanvasDialog(qtcanvas)
    };
    assert(d);
  }
  const auto player1 = boost::make_shared<AiEnforceDraw>();
  const auto player2 = boost::make_shared<AiPlayRandom>();
  QtTicTacToeWidget(player1,player2);
  const TestTimer test_timer(__func__,__FILE__,1.0);
  #endif // SUPPORT_RETRO_VERSION_OF_TICTACTOE_AGAIN_20150918
}
void ribi::QtTicTacToeMenuDialog::on_button_about_clicked()
{
  About a = TicTacToeMenuDialog().GetAbout();
  a.AddLibrary("QtTicTacToeWidget version: " + QtTicTacToeWidget::GetVersion());
  QtAboutDialog d(a);
  this->ShowChild(&d);
}