diff --git a/apps/shared.de.i18n b/apps/shared.de.i18n index 2284c2fb9..966e09887 100644 --- a/apps/shared.de.i18n +++ b/apps/shared.de.i18n @@ -52,7 +52,7 @@ StandardDeviation = "Standardabweichung" Step = "Schrittwert" StorageMemoryFull1 = "Der Speicher ist voll. Löschen Sie" StorageMemoryFull2 = "von Daten und versuchen Sie es erneut." -StoreExpressionNotAcceptedAsFunction = "Eine Funktion darf kein 'store' enthalten" +StoreExpressionNotAllowed = "'store' ist verboten" SyntaxError = "Syntaxfehler" ToZoom = "Zoom: " Trigonometric = "Trigonometrisch" diff --git a/apps/shared.en.i18n b/apps/shared.en.i18n index 7b9d86b8e..6241559b9 100644 --- a/apps/shared.en.i18n +++ b/apps/shared.en.i18n @@ -48,7 +48,7 @@ RoundAbscissa = "Integer" Sci = "sci/" SquareSum = "Sum of squares" StandardDeviation = "Standard deviation" -StoreExpressionNotAcceptedAsFunction = "A function cannot have a 'store'" +StoreExpressionNotAllowed = "'store' is not allowed" StatTab = "Stats" Step = "Step" StorageMemoryFull1 = "The memory is full." diff --git a/apps/shared.es.i18n b/apps/shared.es.i18n index cc954c903..1df98bb2b 100644 --- a/apps/shared.es.i18n +++ b/apps/shared.es.i18n @@ -52,7 +52,7 @@ StatTab = "Medidas" Step = "Incremento" StorageMemoryFull1 = "La memoria esta llena." StorageMemoryFull2 = "Borre datos e intente de nuevo." -StoreExpressionNotAcceptedAsFunction = "Una funcion no puede incluir 'store'" +StoreExpressionNotAllowed = "'store' no está permitido" SyntaxError = "Error sintactico" ToZoom = "Zoom : " Trigonometric = "Trigonometrico" diff --git a/apps/shared.fr.i18n b/apps/shared.fr.i18n index 26328e33d..3dc06fca8 100644 --- a/apps/shared.fr.i18n +++ b/apps/shared.fr.i18n @@ -52,7 +52,7 @@ StatTab = "Stats" Step = "Pas" StorageMemoryFull1 = "La mémoire est pleine." StorageMemoryFull2 = "Effacez des données et réessayez." -StoreExpressionNotAcceptedAsFunction = "Une fonction ne peut pas contenir 'store'" +StoreExpressionNotAllowed = "'store' n'est pas autorisé" SyntaxError = "Attention a la syntaxe" ToZoom = "Zoomer : " Trigonometric = "Trigonometrique" diff --git a/apps/shared.pt.i18n b/apps/shared.pt.i18n index 22a57a1de..3bb1c3cb5 100644 --- a/apps/shared.pt.i18n +++ b/apps/shared.pt.i18n @@ -52,7 +52,7 @@ StatTab = "Estat" Step = "Passo" StorageMemoryFull1 = "A memoria esta chéia." StorageMemoryFull2 = "Apage dados e tente novamente." -StoreExpressionNotAcceptedAsFunction = "Uma função não pode conter 'store'" +StoreExpressionNotAllowed = "'store' não está permitido" SyntaxError = "Erro de sintaxe" ToZoom = "Zoom : " Trigonometric = "Trigonometrico" diff --git a/apps/shared/storage_function_app.cpp b/apps/shared/storage_function_app.cpp index fc9a6c269..f8ec0e8a5 100644 --- a/apps/shared/storage_function_app.cpp +++ b/apps/shared/storage_function_app.cpp @@ -38,18 +38,4 @@ void StorageFunctionApp::willBecomeInactive() { ::App::willBecomeInactive(); } - -bool StorageFunctionApp::isAcceptableExpression(const Expression exp, Responder * responder) { - if (TextFieldDelegateApp::isAcceptableExpression(exp, responder)) { - assert(!exp.isUninitialized()); - if (exp.type() == ExpressionNode::Type::Store) { - // We do not want to allow a function to be "3->a" or "5->f(x)" - responder->app()->displayWarning(I18n::Message::StoreExpressionNotAcceptedAsFunction); - return false; - } - return true; - } - return false; -} - } diff --git a/apps/shared/storage_function_app.h b/apps/shared/storage_function_app.h index 7b062e3d1..a0357a77b 100644 --- a/apps/shared/storage_function_app.h +++ b/apps/shared/storage_function_app.h @@ -39,7 +39,6 @@ protected: StorageFunctionApp(Container * container, Snapshot * snapshot, ViewController * rootViewController) : ExpressionFieldDelegateApp(container, snapshot, rootViewController) {} - bool isAcceptableExpression(const Poincare::Expression expression, Responder * responder) override; }; } diff --git a/apps/shared/text_field_delegate_app.cpp b/apps/shared/text_field_delegate_app.cpp index 3272220e1..7a2ba0a74 100644 --- a/apps/shared/text_field_delegate_app.cpp +++ b/apps/shared/text_field_delegate_app.cpp @@ -64,6 +64,11 @@ bool TextFieldDelegateApp::isAcceptableExpression(const Expression exp, Responde responder->app()->displayWarning(I18n::Message::SyntaxError); return false; } + if (exp.type() == ExpressionNode::Type::Store) { + // Most textfields do not allow Store "3->a" or "5->f(x)" + responder->app()->displayWarning(I18n::Message::StoreExpressionNotAllowed); + return false; + } return true; }