Commit Graph

178 Commits

Author SHA1 Message Date
Léa Saviot
ccc1d51634 [ion/storage] fix use of unicode method 2019-04-12 15:16:51 +02:00
Léa Saviot
a214bbdc5a [unicode] Use unicode when dealing with chars - Part 2 2019-04-12 15:16:51 +02:00
Léa Saviot
f4cf7530f6 [unicode] Fix stop condition of CopyAndRemoveCodePoint 2019-04-12 15:16:51 +02:00
Léa Saviot
f5f172ce67 [unicode] Fix code point serialization 2019-04-12 15:16:51 +02:00
Léa Saviot
3bc9a390bf [escher/ion] Fix wrong assertions 2019-04-12 15:16:51 +02:00
Léa Saviot
646931b3b5 [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-04-12 15:16:51 +02:00
Léa Saviot
4ecb0a6815 [utf8_decoder] Fix previousCodePoint 2019-04-12 15:16:51 +02:00
Léa Saviot
5be803ac45 [unicode] Fix python area 2019-04-12 15:16:51 +02:00
Léa Saviot
784381bd33 [unicode] Use unicode when dealing with chars - Part 1 2019-04-12 15:16:51 +02:00
Léa Saviot
79dc1dc2b9 Remove compilation warnings 2019-04-12 15:16:51 +02:00
Léa Saviot
0ebfab773e [escher/ion] Factorize code for removing a code point in text field/area 2019-04-12 15:16:51 +02:00
Léa Saviot
aac78ca32a [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-04-12 15:16:51 +02:00
Léa Saviot
e6051fae42 [unicode] Methods optimized when code points are one char long 2019-04-12 15:16:51 +02:00
Léa Saviot
1048478cd2 [utf8_decoder] Better code for CharSizeOfCodePoint 2019-04-12 15:16:51 +02:00
Léa Saviot
43031928c3 Remove max/min inline from KDCoordinate header 2019-04-12 15:16:51 +02:00
Léa Saviot
b6eb663f53 [ion/kandinsky] Move unicode to ion 2019-04-12 15:16:51 +02:00
Léa Saviot
63d7155376 Remove Ion::Charset 2019-04-12 15:16:50 +02:00
Romain Goyet
87d0ccf0b2 [ion] Share the keyboard-to-event code between platforms 2019-03-08 13:59:35 +01:00
Romain Goyet
3cb4580769 [scripts] Get rid of "products" 2019-03-06 15:00:59 +01:00
Émilie Feral
66fe9baa7d [ion] Storage: clean implementation (do not re-code strlen) 2019-01-23 16:14:34 +01:00
Léa Saviot
34b22298c4 [ion/storage] Add assertion on dot in record name 2019-01-10 11:42:04 +01:00
Léa Saviot
de339c44ae [apps] Handle StorageFunction::m_color unaligned read on emscripten 2018-12-12 17:49:51 +01:00
Émilie Feral
0a9437e8dc [ion] Storage: add a method destroyAllRecords 2018-11-23 12:04:10 +01:00
Émilie Feral
34e2524a83 [ion] Storage: use strncmp instead of strcmp
When building with -fsanitize=address, strcmp is wrapped in a version
that returns only +1, -1 or 0.
2018-11-23 12:04:09 +01:00
Léa Saviot
0670057f90 [apps/graph] Destroy variable record with same name when renaming func 2018-11-23 12:04:06 +01:00
Léa Saviot
91d6955ddf [apps] The apps displays a warning when storage is full 2018-11-23 12:04:04 +01:00
Léa Saviot
9bfaed583d [apps/escher/ion] Remove Graph memoized models on storage change 2018-11-23 12:04:03 +01:00
Léa Saviot
38f3c5b16d [ion] Storage delegate gets notified of storage changes 2018-11-23 12:04:03 +01:00
Léa Saviot
34f5f0262b [ion] Return just after destroying the record, do not finish the scan 2018-11-23 12:04:03 +01:00
Léa Saviot
d869be7782 [apps/ion] Escapes cases when records/ strings are null 2018-11-23 12:04:01 +01:00
Léa Saviot
2442627e3c [apps] Remove attributes from StorageExpressionModel and derivates 2018-11-23 12:04:00 +01:00
Léa Saviot
dfe573c66e [ion/storage] Handle nullptr name when looking for a record 2018-11-23 12:04:00 +01:00
Léa Saviot
354b6e9c72 [apps] First attempt at bridging Funciton app with the shared storage 2018-11-23 12:04:00 +01:00
Léa Saviot
1830070a95 [ion] Method to destroy all records with given extension in Storage 2018-11-23 12:03:59 +01:00
Léa Saviot
5a5deedb84 [ion] Coding style of static functions in Storage 2018-11-23 12:03:59 +01:00
Léa Saviot
e619ee0f2c [ion] Fix crc32_padded inclusion 2018-11-23 12:03:59 +01:00
Léa Saviot
4465cb48f6 [poincare] Use strcmp instead of strncmp 2018-11-23 12:03:59 +01:00
Léa Saviot
58b8d2d606 [ion] Fix crc32 null termination problem 2018-11-23 12:03:59 +01:00
Léa Saviot
91774aff83 [poincare] Escape case in Storage::destroyRecord 2018-11-23 12:03:59 +01:00
Léa Saviot
f71773bb8d [ion] Fix Storage:fullNameCompliant 2018-11-23 12:03:59 +01:00
Léa Saviot
1fe6881171 [ion] Fix coputation of Record name crc32 2018-11-23 12:03:59 +01:00
Léa Saviot
868f17c1c7 [ion] Add method implementation in Storage 2018-11-23 12:03:58 +01:00
Léa Saviot
52a21198a4 [apps/ion] Use the new storage API 2018-11-23 12:03:58 +01:00
Léa Saviot
a4868c8b09 [poincare] Ion::Storage handles fullnames and basenames with extensions 2018-11-23 12:03:58 +01:00
Romain Goyet
ddf2457ce7 [ion/timing] Fix some typos 2018-11-15 16:44:06 +01:00
Romain Goyet
888d6cf7f4 [ion/timing] millis return uint64_t
Otherwise we could loop after a month or so
2018-11-15 15:20:12 +01:00
Romain Goyet
26e1aa143e [ion/timing] Use std::chrono::steady_clock 2018-11-15 15:14:49 +01:00
Romain Goyet
1b57bc39c0 [ion] Discard micros() as those aren't used for now 2018-11-15 14:12:17 +01:00
Damien Nicolet
f93bf97182 [ion] Sharing millis & micros for blackbox and simulator 2018-11-09 01:30:22 +01:00
Émilie Feral
52d32c9294 [ion] crc32: should assume little endian 2018-10-29 09:49:49 +01:00