mirror of
git://projects.qi-hardware.com/gmenu2x.git
synced 2024-11-26 05:12:49 +02:00
Made ASFont::utf8Code() a function in inputdialog.cpp instead
The implementation doesn't make sense to me, but that's something for another day; at least it is together with the code that calls it now.
This commit is contained in:
parent
a9b5d8bd19
commit
0046fa9e19
@ -27,11 +27,6 @@ public:
|
|||||||
return getTextWidth(text.c_str());
|
return getTextWidth(text.c_str());
|
||||||
}
|
}
|
||||||
|
|
||||||
bool utf8Code(unsigned char c)
|
|
||||||
{
|
|
||||||
return (c>=194 && c<=198) || c==208 || c==209;
|
|
||||||
}
|
|
||||||
|
|
||||||
int getHeight()
|
int getHeight()
|
||||||
{
|
{
|
||||||
return fontheight;
|
return fontheight;
|
||||||
|
@ -34,6 +34,11 @@ using namespace std;
|
|||||||
#define KEY_HEIGHT 20
|
#define KEY_HEIGHT 20
|
||||||
#define KB_TOP 90
|
#define KB_TOP 90
|
||||||
|
|
||||||
|
static bool utf8Code(unsigned char c)
|
||||||
|
{
|
||||||
|
return (c>=194 && c<=198) || c==208 || c==209;
|
||||||
|
}
|
||||||
|
|
||||||
InputDialog::InputDialog(GMenu2X *gmenu2x, InputManager &inputMgr_,
|
InputDialog::InputDialog(GMenu2X *gmenu2x, InputManager &inputMgr_,
|
||||||
Touchscreen &ts_, const string &text,
|
Touchscreen &ts_, const string &text,
|
||||||
const string &startvalue, const string &title, const string &icon)
|
const string &startvalue, const string &title, const string &icon)
|
||||||
@ -121,7 +126,7 @@ void InputDialog::setKeyboard(int kb) {
|
|||||||
this->kb = &(keyboard[kb]);
|
this->kb = &(keyboard[kb]);
|
||||||
kbLength = this->kb->at(0).length();
|
kbLength = this->kb->at(0).length();
|
||||||
for (int x = 0, l = kbLength; x < l; x++) {
|
for (int x = 0, l = kbLength; x < l; x++) {
|
||||||
if (gmenu2x->font->utf8Code(this->kb->at(0)[x])) {
|
if (utf8Code(this->kb->at(0)[x])) {
|
||||||
kbLength--;
|
kbLength--;
|
||||||
x++;
|
x++;
|
||||||
}
|
}
|
||||||
@ -221,7 +226,7 @@ bool InputDialog::exec() {
|
|||||||
void InputDialog::backspace() {
|
void InputDialog::backspace() {
|
||||||
// Check for UTF8 characters.
|
// Check for UTF8 characters.
|
||||||
input = input.substr(0, input.length()
|
input = input.substr(0, input.length()
|
||||||
- (gmenu2x->font->utf8Code(input[input.length() - 2]) ? 2 : 1));
|
- (utf8Code(input[input.length() - 2]) ? 2 : 1));
|
||||||
}
|
}
|
||||||
|
|
||||||
void InputDialog::space() {
|
void InputDialog::space() {
|
||||||
@ -237,7 +242,7 @@ void InputDialog::confirm() {
|
|||||||
} else {
|
} else {
|
||||||
int xc = 0;
|
int xc = 0;
|
||||||
for (uint x = 0; x < kb->at(selRow).length(); x++) {
|
for (uint x = 0; x < kb->at(selRow).length(); x++) {
|
||||||
bool utf8 = gmenu2x->font->utf8Code(kb->at(selRow)[x]);
|
bool utf8 = utf8Code(kb->at(selRow)[x]);
|
||||||
if (xc == selCol) input += kb->at(selRow).substr(x, utf8 ? 2 : 1);
|
if (xc == selCol) input += kb->at(selRow).substr(x, utf8 ? 2 : 1);
|
||||||
if (utf8) x++;
|
if (utf8) x++;
|
||||||
xc++;
|
xc++;
|
||||||
@ -281,7 +286,7 @@ void InputDialog::drawVirtualKeyboard() {
|
|||||||
for (uint x=0, xc=0; x<line.length(); x++) {
|
for (uint x=0, xc=0; x<line.length(); x++) {
|
||||||
string charX;
|
string charX;
|
||||||
//utf8 characters
|
//utf8 characters
|
||||||
if (gmenu2x->font->utf8Code(line[x])) {
|
if (utf8Code(line[x])) {
|
||||||
charX = line.substr(x,2);
|
charX = line.substr(x,2);
|
||||||
x++;
|
x++;
|
||||||
} else
|
} else
|
||||||
|
Loading…
Reference in New Issue
Block a user