*/
#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()
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;
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;