You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
56 lines
951 B
C++
56 lines
951 B
C++
#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;
|
|
}
|