Commit graph

646 commits

Author SHA1 Message Date
Riku Isokoski ec8a845052
Add PageIndicator widget to reduce code duplication (#1218)
* Move PageIndicator widget to its own files to reduce code duplication
* Use uint8_t in PageIndicator
2022-07-05 07:41:09 +02:00
Reinhold Gschweicher 12fad7411d Notifications: no inTransition screen, simple blackbox is enough 2022-06-28 18:50:10 +02:00
Simon Willshire 2c75e7aad8 Dismiss notifications by swiping right
Add a new interface `NotificationManager::Dismiss(id)` to delete a
notification with the specified `id`.

The animate the notification dismiss the `RightAnim` transition to a
black screen is used. After the dismiss the new message is swiped in
from below or above.

If we dismiss the oldest message (when we are at 5/5, or 3/3), then the
new message after a dismiss should appear to come from below.

Otherwise (when we are at 2/3) the new message after a dismiss should
appear to come from above.

Rework the index code to show the index of the currently viewed
notification. Instead of calculating the index relative to the oldest
`id` introduce a new interface `NotificationManager::IndexOf(id)`. This
is done because the `id` of the notifications in the buffer aren't
continuous anymore (as some messages could have been dismissed).

Rework notification ring buffer to have a beginIdx and a size
internally to make the dismissal of notifications easier.

Fixes: https://github.com/InfiniTimeOrg/InfiniTime/issues/176

Co-authored-by: Simon Willshire <me@simonwillshire.com>
Co-authored-by: Reinhold Gschweicher <pyro4hell@gmail.com>
2022-06-28 18:50:10 +02:00
Christoph Honal bab86633a0 Font generation: Fix patch binary path 2022-06-25 16:29:39 +02:00
Riku Isokoski 61c2d8dbc7 Flashlight default to max brightness and code cleanup 2022-06-19 18:24:36 +02:00
Riku Isokoski 2b2aefcf6a Fix InfiniTime compiler warnings 2022-06-19 13:41:33 +03:00
Riku Isokoski 95ff285991
Remove backup brightness feature (#1180)
This feature is not needed and is probably more likely to cause issues. It's better to just use brightnessController.Set(settingsController.GetBrightness());
2022-06-18 12:54:41 +03:00
Riku Isokoski 9b775c6a91
Automatically create screens for applist and settings (#1153)
Apps and settings are now stored in a single array (two arrays in total).
Replace magic values with appsPerScreen and entriesPerScreen.
2022-06-16 21:41:54 +02:00
Riku Isokoski 10ca036ffb
Patch hole in the letter M in jetbrains_mono_bold_20 (#1175) 2022-06-16 17:05:55 +02:00
Reinhold Gschweicher ecb3cd3e31 SettingChimes: private Option struct, use std::array for cbOption 2022-06-11 22:46:38 +03:00
Riku Isokoski d55ec42b17 Simplify SettingChimes code 2022-06-11 22:46:38 +03:00
Diego Miguel Lozano de62620de1
Remove duplicated value in fonts.json (#1179) 2022-06-11 17:00:26 +03:00
Riku Isokoski 955dda60c5 Use lambda to reduce code duplication 2022-06-06 21:28:03 +02:00
Riku Isokoski 6cfb45e280 Move event handlers to unnamed namespace 2022-06-06 21:28:03 +02:00
Riku Isokoski c6026aa617 Use static constexpr to force compile time initialization 2022-06-06 21:28:03 +02:00
Riku Isokoski 254c85246e Timer: Replace time label with Counter control hiding functionality 2022-06-06 21:28:03 +02:00
Riku Isokoski 4a40d29279 Counter: add show and hide controls functions 2022-06-06 21:28:03 +02:00
Riku Isokoski 41c461d1f6 Move linePoints to a member variable 2022-06-06 21:28:03 +02:00
Riku Isokoski 17cedd6629 Move bg color to a constexpr variable 2022-06-06 21:28:03 +02:00
Riku Isokoski 1d34e83c97 Use Counter widget in Timer 2022-06-06 21:28:03 +02:00
Riku Isokoski 9e18c23aac Lighten the large font for a more balanced look
Add Jetbrains Mono Light font
2022-06-06 21:28:03 +02:00
Riku Isokoski 12d4bc4139 Add initial counter widget 2022-06-06 21:28:03 +02:00
Riku Isokoski c2b15b1446 Move basic apps to the top of the app list 2022-06-06 20:47:34 +02:00
mabuch f95147cf0e
remove unused symbols, free a little bit of space (#1167) 2022-06-05 19:43:49 +02:00
mabuch 91a3e98276
remove unused Meter.cpp and Meter.h (#1171) 2022-06-05 19:35:33 +02:00
mabuch 8a71f2b9e0
remove unused Brightness App (#1170) 2022-06-05 19:34:37 +02:00
mabuch 8999158528
remove old unused bluetooth icons (#1172) 2022-06-05 18:50:36 +02:00
luz paz 03a510bd18 Fix various typos
Found via `codespell -q 3 -S ./src/libs -L ans,doubleclick,trough`
2022-06-05 09:31:23 +03:00
Finlay Davidson 7f45538eb5 Apply clang-format to all C++ files 2022-06-05 09:15:46 +03:00
Finlay Davidson 0ce4183640 Rename lvgl image files to .c 2022-06-05 09:15:46 +03:00
Reinhold Gschweicher 443408312a fonts: gen.py: clearify missing exe message 2022-05-16 11:59:44 +03:00
Reinhold Gschweicher db0f909b46 generalize lv-font creation
In https://github.com/InfiniTimeOrg/InfiniTime/pull/1097 new font
generation capabilites were added. Generalize the font creation to
make it possible to reuse the `displayapp/fonts/CMakeLists.txt` file
for `InfiniSim` and just add the new cmake file to the project and
link against the new `infinitime_fonts` target.

In the following a list of changes.

Allow non-global installed `lv_font_conv` executable installed with

```sh
npm install lv_font_conv@1.5.2
```

In CMake we search for `lv_font_conv` executable. Add the found
executable to the python script `generate.py`, to remove the need for
`lv_font_conv` to be in the path.

Search for `python3` executable, if CMake version 3.12 is available.
Otherwise use `python` as hard coded executable.

Instead of adding the generated fonts to `SOURCE_FILES` variable, create
a static library `infinitime_fonts`. Link this library to the
executables instead.

Use `add_custom_target()` together with `add_custom_command()` to
generate the font.c files once (like the original PR does).
2022-05-16 11:59:44 +03:00
Yehoshua Pesach Wallach 4cb07bac53 fontgen: update README.md to remove patch advanced options 2022-05-10 22:20:02 +02:00
Yehoshua Pesach Wallach a2057ebc6f fontgen: changes to allow CMake to work from other project 2022-05-10 22:20:02 +02:00
Yehoshua Pesach Wallach b6b322efdd fontgen: remove advanced (format string, process as list) from patching 2022-05-10 22:20:02 +02:00
Yehoshua Pesach Wallach f7e8caa04a fontgen: verify lv_font_conv at cmake 2022-05-10 22:20:02 +02:00
Yehoshua Pesach Wallach 4fba1ac5ce fontgen: remove double-asterisk in readme 2022-05-10 22:20:02 +02:00
Yehoshua Pesach Wallach 27e598f3fa fontgen: assume plain .patch for single string patch 2022-05-10 22:20:02 +02:00
Yehoshua Pesach Wallach 8b2e1c69f2 fotngen: check for lv_font_conv 2022-05-10 22:20:02 +02:00
Yehoshua Pesach Wallach 331de8ce8e fontgen: remove "feature" feature 2022-05-10 22:20:02 +02:00
Yehoshua Pesach Wallach 4e2b0b1f10 fontgen: remove "generating the fonts" section 2022-05-10 22:20:02 +02:00
Yehoshua Pesach Wallach d967ed7d90 fontgen: move lv_font_conv doc 2022-05-10 22:20:02 +02:00
Yehoshua Pesach Wallach ef17f2f981 fontgen: generate font .c files in build dir 2022-05-10 22:20:02 +02:00
Yehoshua Pesach Wallach 43443eda74 fontgen: generate fonts at runtime with CMake 2022-05-10 22:20:02 +02:00
Yehoshua Pesach Wallach 1c0d9ef383 fonts: update README.md to match new method 2022-05-10 22:20:02 +02:00
Yehoshua Pesach Wallach c006f05c99 fontgen: simplfy json after removed external features key 2022-05-10 22:20:02 +02:00
Yehoshua Pesach Wallach 9d3671561f fontgen: minor changes 2022-05-10 22:20:02 +02:00
Yehoshua Pesach Wallach a75912dd97 fontgen: remove .c from requested font if there 2022-05-10 22:20:02 +02:00
Yehoshua Pesach Wallach 1d4fd9c27f fontgen: simplify enabled fonts 2022-05-10 22:20:02 +02:00
Yehoshua Pesach Wallach 77645b20b2 fontgen: use patch file for jetbrains 0 fix 2022-05-10 22:20:02 +02:00