Fixed barcode scanner issue on Windows with czech keyboard.
parent
b8ed333c3a
commit
b69637165d
@ -0,0 +1,39 @@
|
|||||||
|
#include "helper.h"
|
||||||
|
#include "define.h"
|
||||||
|
|
||||||
|
const QMap<QString, QString> Helper::m_numMap{
|
||||||
|
{"+", "1"},
|
||||||
|
{"ě", "2"},
|
||||||
|
{"š", "3"},
|
||||||
|
{"č", "4"},
|
||||||
|
{"ř", "5"},
|
||||||
|
{"ž", "6"},
|
||||||
|
{"ý", "7"},
|
||||||
|
{"á", "8"},
|
||||||
|
{"í", "9"},
|
||||||
|
{"é", "0"}
|
||||||
|
};
|
||||||
|
|
||||||
|
Helper::Helper()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
QString Helper::replaceByNumbers(const QString &str)
|
||||||
|
{
|
||||||
|
QString ret;
|
||||||
|
|
||||||
|
std::for_each(ALL(str), [&](QChar c){
|
||||||
|
QString replaced = m_numMap[c];
|
||||||
|
|
||||||
|
if (replaced.isEmpty())
|
||||||
|
{
|
||||||
|
ret.append(c);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
ret.append(replaced);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
return ret;
|
||||||
|
}
|
@ -0,0 +1,18 @@
|
|||||||
|
#ifndef HELPER_H
|
||||||
|
#define HELPER_H
|
||||||
|
|
||||||
|
#include <QString>
|
||||||
|
#include <QMap>
|
||||||
|
|
||||||
|
class Helper
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
Helper();
|
||||||
|
|
||||||
|
static QString replaceByNumbers(const QString &str);
|
||||||
|
|
||||||
|
private:
|
||||||
|
static const QMap<QString, QString> m_numMap;
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // HELPER_H
|
Loading…
Reference in New Issue