Commit Graph

320 Commits

Author SHA1 Message Date
Émilie Feral
059c596a80 Makefiles: avoid building all sources for each target; introduce more
modularity
2019-08-08 17:22:01 +02:00
Léa Saviot
e8be088478 [apps/escher] Factorize TxtArea and Code::EditorCtrlr's k_indentSpaces 2019-08-08 16:22:28 +02:00
Émilie Feral
7a4ee746b2 [escher] TextField: call reinitDraftBuffer after edition is complete to
avoid erasing text that is required later.

Fix bug: OK handling on function list in linear mode did not copy the
function expression into the textfield before editing
2019-07-30 11:47:42 +02:00
Léa Saviot
7b84b65502 [apps/code] Fix sandbox and input clash
The command "squares()%input()" followed by text, OK, and a backspace
event broke an assertion on the consoleStore number of lines.
2019-07-30 11:31:21 +02:00
Ruben Dashyan
eb6d697927 [apps] Make app accessors static members of App classes 2019-07-19 15:06:25 +02:00
Ruben Dashyan
44809f4b3f Substitute Escher app() by Container::activeApp() 2019-07-19 15:06:25 +02:00
Ruben Dashyan
0490e3ab81 [apps] Define InputEventHandlerDelegate::inputEventHandlerDelegateApp() directly from ::app() 2019-07-19 15:06:25 +02:00
Romain Goyet
21907fb89a [apps] Get rid of App casts 2019-07-19 15:06:25 +02:00
Romain Goyet
45875dd642 [escher] Make app() a global function
This way it can easily be reached by anyone, including non-responders.
And it can easily be overwritten in namespaced apps.
2019-07-19 15:06:25 +02:00
Ruben Dashyan
62cec10b46 [apps] Clean unnecessary AppsContainer class declarations and header inclusions 2019-07-19 15:06:25 +02:00
Ruben Dashyan
1f06819974 [apps] Remove Container * parameter from all App constructors 2019-07-19 15:06:25 +02:00
Ruben Dashyan
eb3da7f395 [apps] Substitute "app()->container()" by "AppsContainer::sharedAppsContainer()" 2019-07-19 15:06:25 +02:00
Léa Saviot
2463b6bb95 [apps/code] Update icon 2019-06-21 14:30:31 -04:00
Léa Saviot
5f549b514e [escher] Fix backspace on utf8 combining code point 2019-06-21 14:30:14 -04:00
Émilie Feral
9c2fc84cd0 [code] Fix 'use address after scope' issue
We used an array that was out of scope in PythonToolbox.
2019-06-14 15:53:45 +02:00
Ruben Dashyan
5ee130a959 [apps/code/editor_controller] Fix backspace event handling
If there are only spaces on the left of the cursor, then a backspace
should remove two spaces (or one if there is only one of it). The number
of spaces was miscomputed.
2019-06-05 18:15:48 +02:00
Ruben Dashyan
9a63be7ac6 [apps/code] Fix PythonToolbox
"kandinsky module function prefix" did insert "kandinsky.function"
instead of "kandinsky.\x11"
2019-06-05 18:15:48 +02:00
critor
ec40cdd347 Fixed german special characters
Now that special unicode characters are supported, when appropriate, replaced occurrences of the 'ae', 'oe', 'ue', and 'ss' digrams with the proper character.
2019-05-31 08:00:15 -04:00
Ruben Dashyan
f1a6067027 [apps/code/catalog.*.i18n] arctan -> atan 2019-05-27 15:51:47 +02:00
Émilie Feral
9a411874ee [code] Console: when displaying results, do not split in lines in middle
of code points. Otherwise, this triggers crashes when manipulaping the
text (removing code point for instance)
2019-05-03 15:54:22 +02:00
Léa Saviot
28133f378e [apps] Remove wrong withinTemporarySelection escape cases
Scenario:
Sequence app, add new sequence, go on its name, backspace: the cell on
the left of Add new sequence is selected, but it should not
2019-05-03 15:54:22 +02:00
Émilie Feral
2217eebaec [escher] SelectableTableView: when reloading data, we temporary deselect
the table. We warn the SelectableTableViewDelegate that the selection
change is 'within a temporary selection change' when notifying it of the
change.
2019-05-03 15:54:21 +02:00
Émilie Feral
f713551d46 [code] Get rid of unused member variable in VariableBoxController 2019-05-03 15:53:20 +02:00
Léa Saviot
4f63b16e0a [unicode] Fix portuguese literals 2019-05-03 15:53:20 +02:00
Léa Saviot
e338577793 [unicode] Clean decoder use 2019-05-03 15:53:20 +02:00
Léo Solé
e74c5f8039 [unicode] Fix Spanish literals 2019-05-03 15:53:19 +02:00
Léo Solé
3038073d3b [unicode] Add accents in french litterals 2019-05-03 15:53:19 +02:00
Léa Saviot
4c5251f04f [unicode] Use unicode when dealing with chars - Part 2 2019-05-03 15:53:19 +02:00
Léa Saviot
37d05a237f [apps] In consexpr char *, empty layouts should be inserted using /x11 2019-05-03 15:53:19 +02:00
Léa Saviot
7f4ef39d0c [text_area] Fix Text::Position use with unicode
A glyph offset is not equivalent to a code point offset since a code
point can be several glyphs long.
2019-05-03 15:53:19 +02:00
Léa Saviot
4688e9535f [apps] Calling draftTextLength should be done only if text field is editing 2019-05-03 15:53:19 +02:00
Léa Saviot
bd2ea41fbe [apps/escher] Rename cursorTextLocation as cursorLocation 2019-05-03 15:53:19 +02:00
Léa Saviot
496d346049 Remove max/min inline from KDCoordinate header 2019-05-03 15:53:19 +02:00
Léa Saviot
a7b51f92ee [apps] Remove compilation warning about unused variable 2019-05-03 15:53:19 +02:00
Léa Saviot
bbb10f1993 [ion/kandinsky] Move unicode to ion 2019-05-03 15:53:19 +02:00
Léa Saviot
5c39cab73e [escher] Fix text inputs so they use UTF8 2019-05-03 15:53:19 +02:00
Léa Saviot
65e5adafac Remove Ion::Charset 2019-05-03 15:53:19 +02:00
Romain Goyet
8308068b69 [apps/code] Add catalog entry for kandinsky.fill_rect 2019-04-26 17:44:27 +02:00
Romain Goyet
4f2c7a3763 [build] Update the i18n processing to fit the out-of-tree build 2019-03-06 15:00:59 +01:00
Romain Goyet
4f1d74f44b [build] Use an out-of-tree build 2019-03-06 15:00:59 +01:00
Ruben Dashyan
0943406263 Fix HistoryViewCell and ScrollableExactApproximateExxpressionsCell margins issue
Remove all margins from those cells.
Rather add margins to their respective subviews:
 - ScrollableExpressionView
 - ScrollableExactApproximateExpressionsView.

As a notable consequence, the distance in HistoryViewCell between its
subviews becomes 10 instead of 5.

In passing, replace
 - Metric::HistoryHorizontalMargin = 10
 - ScrollableExactApproximateExpressionsView::k_digitHorizontalMargin = 10
 - HistoryViewCell::k_digitVerticalMargin = 5
 - ScrollableExactApproximateExpressionsCell::k_margin = 5
by
 - Metric::CommonSmallMargin = 5
 - Metric::CommonLargeMargin = 10.
2019-02-18 16:49:58 +01:00
Ruben Dashyan
08e8bf0eeb [escher] Implement ScrollView::minimalSizeForOptimalDisplay including margins
Remove from derived classes:
 - apps/calculation/scrollable_expression_view
 - apps/code/consol_line_cell
 - apps/shared/scrollable_exact_approximate_expressions_view
 - escher/layout_field
 - escher/table_view
 - escher/text_field
2019-02-18 16:49:58 +01:00
Ruben Dashyan
faae55eb51 [escher/scroll_view] Replace setShowsIndicators by setDecoratorType 2019-02-18 16:49:58 +01:00
Léa Saviot
a021af46fe [apps/code] Hide the sandbox between script importations 2019-02-06 11:45:03 +01:00
Léa Saviot
4a8c0a6bd0 [apps/code] Do not change the responders in autoImportScript if sandbox
This fixes the following scenario: create a script that draws at
importation (for instance, add "squares()" at the end of squares.py) and
execute this script. The sandbox is displayed but events are handled by
the underneath text field, thus leading to the display of the variable
box and other bugs.
2019-02-06 11:45:03 +01:00
Léa Saviot
0a5290d5a6 [apps/code] Fix MenuController::willExitResponderChain
It called textFieldDidAbortEditing, which called setFirstResponder,
which could clash with another setFirstResponder higher in the call
tree.

Scenario: build with an update popup, create a new script, edit its name
with an unvalid name and press the Power key while editing. When
powering on the device again, the first responder is not the popup even
though it is displayed, and pressing OK does not dismiss it.
2019-01-21 14:23:50 +01:00
Léa Saviot
1b78f03219 [apps/code] Comment the non support for upper cases in script names 2019-01-21 13:39:59 +01:00
Léa Saviot
f392ca8063 [apps/code] More details in NonCompliantName warning 2019-01-21 13:39:59 +01:00
Léa Saviot
1994e716bf [i18n] Change Message name 2019-01-21 13:39:59 +01:00
Léa Saviot
282feac8a1 [apps/code] Do not allow script names starting with a number. 2019-01-21 13:39:59 +01:00