[xnt] Insert the right XNT char.

Change-Id: Ibc91a2ece310313fb368a68483c5a1b6fe14aad2
This commit is contained in:
Léa Saviot
2018-04-23 17:16:26 +02:00
parent fbb2df7fc8
commit 0ae7c8a723
8 changed files with 25 additions and 10 deletions

View File

@@ -12,6 +12,14 @@ ExpressionFieldDelegateApp::ExpressionFieldDelegateApp(Container * container, Sn
{
}
char ExpressionFieldDelegateApp::privateXNT(ExpressionLayoutField * expressionLayoutField) {
char xntCharFromLayout = expressionLayoutField->XNTChar();
if (xntCharFromLayout != Ion::Charset::Empty) {
return xntCharFromLayout;
}
return XNT()[0];
}
bool ExpressionFieldDelegateApp::expressionLayoutFieldShouldFinishEditing(ExpressionLayoutField * expressionLayoutField, Ion::Events::Event event) {
return event == Ion::Events::OK || event == Ion::Events::EXE;
}
@@ -44,6 +52,13 @@ bool ExpressionFieldDelegateApp::expressionLayoutFieldDidReceiveEvent(Expression
expressionLayoutField->app()->displayModalViewController(variableBoxController, 0.f, 0.f, Metric::PopUpTopMargin, Metric::PopUpLeftMargin, 0, Metric::PopUpRightMargin);
return true;
}
if (event == Ion::Events::XNT) {
if (!expressionLayoutField->isEditing()) {
expressionLayoutField->setEditing(true);
}
const char xnt[2] = {privateXNT(expressionLayoutField), 0};
return expressionLayoutField->handleEventWithText(xnt);
}
return false;
}