void EditorSectorsMenu::delete_sector() { Level* level = Editor::current()->get_level(); auto dialog = std::make_unique<Dialog>(); // Do not delete sector when there would be no left. if (level->get_sector_count() < 2) { // do not allow to delete the sector dialog->set_text(_("Each level must have at least one sector.")); dialog->clear_buttons(); dialog->add_cancel_button(_("Cancel")); } else { // confirmation dialog dialog->set_text(_("Do you really want to delete this sector?")); dialog->clear_buttons(); dialog->add_cancel_button(_("Cancel")); dialog->add_button(_("Delete sector"), [] { MenuManager::instance().clear_menu_stack(); Editor::current()->delete_current_sector(); }); } MenuManager::instance().set_dialog(std::move(dialog)); }
void AddonMenu::toggle_addon(const Addon& addon) { if(addon.is_enabled()) { m_addon_manager.disable_addon(addon.get_id()); } else { m_addon_manager.enable_addon(addon.get_id()); } if(addon.get_type() == Addon::LANGUAGEPACK) { auto dialog = std::make_unique<Dialog>(); dialog->set_text(_("Please restart SuperTux\nfor these changes to take effect.")); dialog->add_cancel_button(_("OK")); MenuManager::instance().set_dialog(std::move(dialog)); } }