Commit Graph

3030 Commits

Author SHA1 Message Date
Léa Saviot
5df9e0af71 Use correct unicode symbols 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
47e9be2574 [apps] Fix SumGraphController use of CodePointString 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
9e06b23bbb [escher/ion] Standard methods in UTF8Helper used in text_area
String manipulations need to be done using an UTF8 decoder, but some
manipulations can be optimized if the code points we manipulate are only
one char long. These optimizations are done inside UTF8Helper methods.
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
6765de4598 [apps/regression] Add X bar and Y bar 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
6b6d3d7fe2 [tests] Fix unicode for tests 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
7a1fd68626 [poincare/utf8_decoder] nextCodePointPointer is now stringPosition 2019-05-03 15:53:19 +02:00
Léa Saviot
41afa92f10 [unicode] Use the UTF8Decoder to scan const char * 2019-05-03 15:53:19 +02:00
Léa Saviot
65e5adafac Remove Ion::Charset 2019-05-03 15:53:19 +02:00
Léa Saviot
f576e31ff1 [apps/poincare] Replace CharLayouts with CodePointLayouts 2019-05-03 15:53:19 +02:00
Léa Saviot
e57995712b [kandinsky/font] Fix rebase on master 2019-05-03 15:53:19 +02:00
Romain Goyet
bf0d947939 [i18n] Encode strings as NFKD-normalized UTF-8 strings 2019-05-03 15:53:19 +02:00
Léa Saviot
e7d2c61cec [apps/regression] Increase the iterations limit to compute a regression
The exponential regression on the following data now works:
1 120000
3 130000
6 150000
8 160000
2019-04-29 17:24:53 +02:00
Romain Goyet
8308068b69 [apps/code] Add catalog entry for kandinsky.fill_rect 2019-04-26 17:44:27 +02:00
Léa Saviot
52ae2a2643 [apps/calc] approximateOutput handles unparsable m_approximateOutputText
This fixes a crash when computing:
[[1, 0, -1, 0][0, 1, 1, 0][0, 2, 0, 1][1, 0, 0, 1]]^(-1)
2019-04-12 15:16:05 +02:00
Émilie Feral
e40e626eec [graph] Values tab: select the right cell of the values table when
displaying/undisplaying the derivative column
2019-03-12 16:21:30 +01:00
Émilie Feral
9eb672bb5f [apps/shared] Fix
ExpressionFieldDelegateApp::layoutFieldDidReceiveEvent

Layouts have two potential serializations. For example,
HorizontalLayout(CharLayout(2), CharLayout(a)) can be serialized as:
"2a" and "2*a". In layoutFieldDidReceiveEvent, we want to check that the
longest serialisation is bounded by maxBufferSize. (We could have used
Layout::serializeParsedExpression but we don't to avoid parsing the
expression twice)
2019-03-11 13:20:08 +01:00
Romain Goyet
d7975cfa7f [scripts] Make sure apps have all their prerequisites 2019-03-06 15:00:59 +01:00
Romain Goyet
6e3ce5d295 [scripts] Make sure to build i18n.h 2019-03-06 15:00:59 +01:00
Romain Goyet
219fdcbdc6 [scripts] Correctly build the test runner 2019-03-06 15:00:59 +01:00
Romain Goyet
0c83253d2e [scripts] Use BUILD_DIR instead of build_dir 2019-03-06 15:00:59 +01:00
Romain Goyet
ef3f5b877c [apps] Delete the long-dead PicView app 2019-03-06 15:00:59 +01:00
Romain Goyet
bd6339f9dc [make] Rename OUTPUT_DIRECTORY to build_dir 2019-03-06 15:00:59 +01: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
Émilie Feral
24c9617a89 [poincare] Templatize TreeHandle Builders 2019-02-21 11:29:35 +01:00
Émilie Feral
7b5f3c570d [poincare] Change the way Expression are built 2019-02-21 11:29:35 +01:00
Émilie Feral
ac6f23684d [poincare] Clean Expression and Layout builders
Before: Opposite(Opposite(Rational(1))) misleadingly created the
expression "-1"; now, Opposite::Builder(Opposite::Builder(Rational(1)))
creates "--1"
2019-02-21 11:29:35 +01:00
Ruben Dashyan
3d254b9ef1 [apps/shared/scrollable_exact_approximate_expressions_cell] Fix background 2019-02-18 16:49:58 +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
571967088e [escher/scroll_view] Uniformize scroll bars frame across Epsilon 2019-02-18 16:49:58 +01:00
Ruben Dashyan
98e00404b8 [apps/calculation] Enable arrow scrolling indicators and add horizontal margin 2019-02-18 16:49:58 +01:00
Ruben Dashyan
da0d42ca3b [apps/calculation/history_view_cell] Fix background colors
Set m_inputView's m_expressionView's background color
2019-02-18 16:49:58 +01:00
Ruben Dashyan
7a977f5689 [apps/calculation] Remove redundancy
In HistoryController::willDisplayCellForIndex, both setCalculation and
reloadCell end up calling ScrollableExpressionView::layoutSubviews.
Indeed, setCalculation calls setLayout over m_inputView, which in turn
calls layoutSubviews. It is logical to remove the first occurence.
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
0e0b49acce [apps/calculation] Remove HistoryViewCell horizontal margins 2019-02-18 16:49:58 +01:00
Ruben Dashyan
fd654d1c79 [escher/scroll_view] Remove setColorsBackground
Introduced in commit 37da7b95a to avoid screen tearing.
Not necessary anymore since commit 0e9092d2e.
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
Ruben Dashyan
eb17334050 [escher/scroll_view] New Arrow/BarDecorator inherit from Decorator 2019-02-18 16:49:58 +01:00
Ruben Dashyan
1e958717fb [escher/scroll_view] Rename m_indicatorThickness to m_barsFrameBreadth 2019-02-18 16:49:58 +01:00
Ruben Dashyan
c02d44988b [escher/scroll_view] New ScrollView::Decorator class
Containing the members specific to indicators
2019-02-18 16:49:58 +01:00
Ruben Dashyan
9a46f42a97 [apps/shared] Fix indentation 2019-02-18 16:49:58 +01:00
Ruben Dashyan
8029aab060 [apps/calculation] Remove unecessary namespace 2019-02-18 16:49:58 +01:00