aboutsummaryrefslogtreecommitdiff
Commit message (Expand)AuthorAge
* Run updatepo.shPilzAdam2013-11-23
* Translated using Weblate (Spanish)Pablo Lezaeta2013-11-23
* Translated using Weblate (Russian)Anton Tsyganenko2013-11-23
* Translated using Weblate (Polish)Maciej Kasatkin2013-11-23
* Translated using Weblate (Czech)Jakub Vaněk2013-11-23
* Translated using Weblate (Romanian)King Artur2013-11-23
* Translated using Weblate (Czech)Jakub Vaněk2013-11-23
* Translated using Weblate (Czech)Frantisek Simorda2013-11-23
* Translated using Weblate (Spanish)Pablo Lezaeta2013-11-23
* Translated using Weblate (Czech)Heisenberg CZE2013-11-23
* Translated using Weblate (Spanish)Pablo Lezaeta2013-11-23
* Translated using Weblate (Czech)Petr Hála2013-11-23
* Translated using Weblate (Czech)Heisenberg CZE2013-11-23
* Translated using Weblate (Czech)Heisenberg CZE2013-11-23
* Translated using Weblate (Czech)Petr Hála2013-11-23
* Fix invalid escape sequence in database migration codeKahrl2013-11-23
* Prevent enabling Shaders if Direct3D is usedSfan52013-11-23
* Fix crash when pressing Enter key in formspec menuKahrl2013-11-23
* Fix usage of 'minetest' where 'engine' was intendedShadowNinja2013-11-21
* Fix possible implicit conversion of NULL to std::stringkwolekr2013-11-21
* LuaVoxelManip: Update parameter index of set_lighting()kwolekr2013-11-21
* Mapgen V6: Respect water_level settingkwolekr2013-11-21
* Fix modmanager screenshot pathBlockMen2013-11-19
* fix gettext compile issues under win32MetaDucky2013-11-18
* Fix issue #1009 (minetest.get_connected_players() returns non-existing players)kwolekr2013-11-17
* Increase liquid_loop_max to 10000 againPilzAdam2013-11-17
* Revert patch 58f036ad1 that causes object duplication (which tried to fix obj...Perttu Ahola2013-11-17
* Fix Result of processed Request was written to invalid (non existent) ResultQ...sapier2013-11-17
* Add missing RequestQueue docsapier2013-11-17
* Fix multicaller support in RequestQueuesapier2013-11-17
* Do the same for LevelDB interfacekwolekr2013-11-17
* Handle blank blocks in databasekwolekr2013-11-17
* Revert "Don't use msvc libs for mingw build"kwolekr2013-11-17
* Replace print()s with minetest.log() in builtinPilzAdam2013-11-17
* Prevent shaders from being created when disabledkwolekr2013-11-17
* Add CURL_DLL search to show up CURL_DLL in cmake gui and don't silently ignor...sapier2013-11-17
* Don't use msvc libs for mingw buildsapier2013-11-17
* Decoration: Stop DecoSimple::resolveNodeNames from complaining about no node ...kwolekr2013-11-17
* Actually fix weatherkwolekr2013-11-17
* Fix invalid listname and listsize not handled correctly in set_sizesapier2013-11-16
* fixed array limit check when reading Lua specialtiles tableMetaDucky2013-11-16
* Pass a errfunc to lua_pcall to get a tracebackShadowNinja2013-11-15
* Fix formspec background padding when clippedBlockMen2013-11-14
* Improved default settings for floatland perlin noise 1. Larger, more detailed...proller2013-11-14
* Fix compiling with 32bit MinGWSfan52013-11-12
* Fix invalid usage of temporary object in mainmenu json conversionsapier2013-11-11
* Disable localization workaround in serversapier2013-11-11
* Fix win32/msvc i18n (quite UGLY version, blame Microsoft)sapier2013-11-11
* Fix "TODO read modinfo" in modmanager to improve ui usabilitysapier2013-11-10
* Fix spaces float islands codeproller2013-11-10
(); core::list<gui::IGUIElement *> children_copy; for (gui::IGUIElement *i : children) children_copy.push_back(i); for (gui::IGUIElement *i : children_copy) i->remove(); } void GUIConfirmRegistration::regenerateGui(v2u32 screensize) { acceptInput(); removeChildren(); /* Calculate new sizes and positions */ core::rect<s32> rect(screensize.X / 2 - 600 / 2, screensize.Y / 2 - 360 / 2, screensize.X / 2 + 600 / 2, screensize.Y / 2 + 360 / 2); DesiredRect = rect; recalculateAbsolutePosition(false); v2s32 size = rect.getSize(); v2s32 topleft_client(0, 0); const wchar_t *text; /* Add stuff */ s32 ypos = 30; { std::string address = m_address; if (address.empty()) address = "localhost"; core::rect<s32> rect2(0, 0, 540, 180); rect2 += topleft_client + v2s32(30, ypos); static const std::string info_text_template = strgettext( "You are about to join the server at %1$s with the " "name \"%2$s\" for the first time. If you proceed, a " "new account using your credentials will be created " "on this server.\n" "Please retype your password and click Register and " "Join to confirm account creation or click Cancel to " "abort."); char info_text_buf[1024]; snprintf(info_text_buf, sizeof(info_text_buf), info_text_template.c_str(), address.c_str(), m_playername.c_str()); wchar_t *info_text_buf_wide = utf8_to_wide_c(info_text_buf); gui::IGUIEditBox *e = new gui::intlGUIEditBox(info_text_buf_wide, true, Environment, this, ID_message, rect2, false, true); delete[] info_text_buf_wide; e->drop(); e->setMultiLine(true); e->setWordWrap(true); e->setTextAlignment(gui::EGUIA_UPPERLEFT, gui::EGUIA_CENTER); } ypos += 210; { core::rect<s32> rect2(0, 0, 540, 30); rect2 += topleft_client + v2s32(30, ypos); gui::IGUIEditBox *e = Environment->addEditBox(m_pass_confirm.c_str(), rect2, true, this, ID_confirmPassword); e->setPasswordBox(true); } ypos += 60; { core::rect<s32> rect2(0, 0, 230, 35); rect2 = rect2 + v2s32(size.X / 2 - 220, ypos); text = wgettext("Register and Join"); Environment->addButton(rect2, this, ID_confirm, text); delete[] text; } { core::rect<s32> rect2(0, 0, 120, 35); rect2 = rect2 + v2s32(size.X / 2 + 70, ypos); text = wgettext("Cancel"); Environment->addButton(rect2, this, ID_cancel, text); delete[] text; } { core::rect<s32> rect2(0, 0, 200, 20); rect2 += topleft_client + v2s32(30, ypos - 40); text = wgettext("Passwords do not match!"); IGUIElement *e = Environment->addStaticText( text, rect2, false, true, this, ID_message); e->setVisible(false); delete[] text; } } void GUIConfirmRegistration::drawMenu() { gui::IGUISkin *skin = Environment->getSkin(); if (!skin) return; video::IVideoDriver *driver = Environment->getVideoDriver(); video::SColor bgcolor(140, 0, 0, 0); driver->draw2DRectangle(bgcolor, AbsoluteRect, &AbsoluteClippingRect); gui::IGUIElement::draw(); } void GUIConfirmRegistration::closeMenu(bool goNext) { if (goNext) { m_client->confirmRegistration(); } else { *m_aborted = true; infostream << "Connect aborted [Escape]" << std::endl; } quitMenu(); } void GUIConfirmRegistration::acceptInput() { gui::IGUIElement *e; e = getElementFromId(ID_confirmPassword); if (e) m_pass_confirm = e->getText(); } bool GUIConfirmRegistration::processInput() { std::wstring m_password_ws = narrow_to_wide(m_password); if (m_password_ws != m_pass_confirm) { gui::IGUIElement *e = getElementFromId(ID_message); if (e) e->setVisible(true); return false; } return true; } bool GUIConfirmRegistration::OnEvent(const SEvent &event) { if (event.EventType == EET_KEY_INPUT_EVENT) { if (event.KeyInput.Key == KEY_ESCAPE && event.KeyInput.PressedDown) { closeMenu(false); return true; } if (event.KeyInput.Key == KEY_RETURN && event.KeyInput.PressedDown) { acceptInput(); if (processInput()) closeMenu(true); return true; } } if (event.EventType != EET_GUI_EVENT) return Parent ? Parent->OnEvent(event) : false; if (event.GUIEvent.EventType == gui::EGET_ELEMENT_FOCUS_LOST && isVisible()) { if (!canTakeFocus(event.GUIEvent.Element)) { dstream << "GUIConfirmRegistration: Not allowing focus " "change." << std::endl; // Returning true disables focus change return true; } } else if (event.GUIEvent.EventType == gui::EGET_BUTTON_CLICKED) { switch (event.GUIEvent.Caller->getID()) { case ID_confirm: acceptInput(); if (processInput()) closeMenu(true); return true; case ID_cancel: closeMenu(false); return true; } } else if (event.GUIEvent.EventType == gui::EGET_EDITBOX_ENTER) { switch (event.GUIEvent.Caller->getID()) { case ID_confirmPassword: acceptInput(); if (processInput()) closeMenu(true); return true; } } return false; }