Cleanup in content_mapblock (#5746)
[oweals/minetest.git] / src / guiFileSelectMenu.cpp
index 54ab62df413d580f9b420b93fd200b8e05a8097c..65a07be39a1d7cd836b31a15c437c4e02fc787d0 100644 (file)
  */
 
 #include "guiFileSelectMenu.h"
-#include "util/string.h"
-#include <locale.h>
 
 GUIFileSelectMenu::GUIFileSelectMenu(gui::IGUIEnvironment* env,
-                               gui::IGUIElement* parent, s32 id, IMenuManager *menumgr,
-                               std::string title, std::string formname) :
-GUIModalMenu(env, parent, id, menumgr)
+               gui::IGUIElement* parent, s32 id, IMenuManager *menumgr,
+               const std::string &title, const std::string &formname) :
+       GUIModalMenu(env, parent, id, menumgr),
+       m_title(utf8_to_wide(title)),
+       m_accepted(false),
+       m_text_dst(NULL),
+       m_formname(formname)
 {
-       m_title = narrow_to_wide(title);
-       m_parent = parent;
-       m_formname = formname;
-       m_text_dst = 0;
-       m_accepted = false;
-       m_previous_locale = setlocale(LC_ALL,0);
 }
 
 GUIFileSelectMenu::~GUIFileSelectMenu()
 {
        removeChildren();
-       setlocale(LC_ALL,m_previous_locale.c_str());
+       setlocale(LC_NUMERIC, "C");
 }
 
 void GUIFileSelectMenu::removeChildren()
@@ -86,10 +82,10 @@ void GUIFileSelectMenu::drawMenu()
 
 void GUIFileSelectMenu::acceptInput() {
        if ((m_text_dst != 0) && (this->m_formname != "")){
-               std::map<std::string, std::string> fields;
+               StringMap fields;
 
                if (m_accepted)
-                       fields[m_formname + "_accepted"] = wide_to_narrow(m_fileOpenDialog->getFileName());
+                       fields[m_formname + "_accepted"] = wide_to_utf8(m_fileOpenDialog->getFileName());
                else
                        fields[m_formname + "_canceled"] = m_formname;
 
@@ -108,16 +104,12 @@ bool GUIFileSelectMenu::OnEvent(const SEvent& event)
                                acceptInput();
                                quitMenu();
                                return true;
-                               break;
-
                        case gui::EGET_DIRECTORY_SELECTED:
                        case gui::EGET_FILE_SELECTED:
                                m_accepted=true;
                                acceptInput();
                                quitMenu();
                                return true;
-                               break;
-
                        default:
                                //ignore this event
                                break;