#include "helper.h"
#include "define.h"

#ifndef _WIN32
const QMap<QString, QString> Helper::m_numMap{
    {"+", "1"},
    {"ě", "2"},
    {"š", "3"},
    {"č", "4"},
    {"ř", "5"},
    {"ž", "6"},
    {"ý", "7"},
    {"á", "8"},
    {"í", "9"},
    {"é", "0"}
};
#endif

Helper::Helper()
{
}

QString Helper::replaceByNumbers(const QString &str)
{
    QString ret;

#ifdef _WIN32
    QMap<QString, QString> m_numMap;
    m_numMap["+"] = "1";
    m_numMap["ě"] = "2";
    m_numMap["š"] = "3";
    m_numMap["č"] = "4";
    m_numMap["ř"] = "5";
    m_numMap["ž"] = "6";
    m_numMap["ý"] = "7";
    m_numMap["á"] = "8";
    m_numMap["í"] = "9";
    m_numMap["é"] = "0";
#endif

    std::for_each(ALL(str), [&](QChar c){
        QString replaced = m_numMap[c];

        if (replaced.isEmpty())
        {
            ret.append(c);
        }
        else
        {
            ret.append(replaced);
        }
    });

    return ret;
}
