Commit graph

837 commits

Author SHA1 Message Date
kieranc a0089e4fd0
Fix steps style button label (#1358) 2022-10-06 08:24:03 +03:00
Jean-François Milants 738c012a73 Merge branch 'pts-options' of github.com:kieranc/InfiniTime into kieranc-pts-options
# Conflicts:
#	src/components/settings/Settings.h
2022-10-02 18:30:41 +02:00
Jean-François Milants c9b1fb8244 Brightness management in DisplayApp : do not allow the brightness level OFF when loading app and going to running mode. Such issue could occur in case of inconsistent or corrupted settings. 2022-10-02 18:04:09 +02:00
Jean-François Milants 8f5df5385c Fix typo in Clock.cpp. 2022-10-01 21:11:58 +02:00
Jean-François Milants f9f8d7eead Merge branch 'ITCactus-watchface-casio-digital-G7710' into develop 2022-10-01 21:11:05 +02:00
Jean-François Milants d6b4ef38f6 Infineat & G7710 : always close files when they are not needed anymore. 2022-10-01 21:03:28 +02:00
Jean-François Milants 9bf43c380e Fix typo in Clock.cpp. 2022-10-01 19:49:41 +02:00
Jean-François Milants d3363baf69 Do not save settings in CheckboxList. This will be done by the caller. 2022-09-28 21:45:52 +02:00
Jean-François Milants 26af507e16 G7710 : free fonts in dtor(). 2022-09-28 21:09:00 +02:00
minacode 79728730d7 fix typo 2022-09-28 20:53:02 +02:00
Jean-François Milants fbe964ff44 Merge branch 'watchface-casio-digital-G7710' of github.com:ITCactus/InfiniTime into ITCactus-watchface-casio-digital-G7710
# Conflicts:
#	src/components/settings/Settings.h
#	src/displayapp/screens/CheckboxList.cpp
#	src/displayapp/screens/CheckboxList.h
#	src/displayapp/screens/Clock.cpp
#	src/displayapp/screens/Clock.h
#	src/displayapp/screens/settings/SettingWatchFace.cpp
2022-09-27 21:59:22 +02:00
JF 63932810d2
Merge pull request #1024 from dmlls/infineat-pr
Infineat Watchface + support for external resources.
2022-09-27 21:27:36 +02:00
Jean-François Milants 58586d0ad1 Fix formatting in CheckBoxList.cpp. 2022-09-27 21:10:01 +02:00
Jean-François Milants 2400110900 CheckBoxList : remove unused constant MAXLISTITEMS (replaced by MaxItems). 2022-09-27 21:04:40 +02:00
Jean-François Milants 56f315b94a A few minors changes following the code review : rename fs -> filesystem, use std::array instead of raw array,... 2022-09-27 18:06:15 +02:00
Akseli b546facaf1 Update src/displayapp/screens/WatchFacePineTimeStyle.cpp
Co-authored-by: NeroBurner <pyro4hell@gmail.com>
2022-09-17 21:32:43 +02:00
Akseli 90278b54d1 Update src/displayapp/Colors.cpp
Co-authored-by: NeroBurner <pyro4hell@gmail.com>
2022-09-17 21:32:43 +02:00
Akseli Lahtinen 8c35c3c3d4 add pink color 2022-09-17 21:32:43 +02:00
Riku Isokoski b9224c1ace Disable value_str
value_str is a way to add text on a button without a separate label.
This saves having an extra label object, but uses more memory and is
removed in LVGL8
2022-09-17 21:27:32 +02:00
Riku Isokoski bf90e07a28 Improve status icon visibility 2022-09-17 21:26:51 +02:00
Riku Isokoski c853681d75
Reduce duplication in Twos (#1274) 2022-09-11 20:57:49 +02:00
Jean-François Milants 58bb0e77db Fix formatting 2022-09-11 20:18:01 +02:00
Jean-François Milants 0cd1d6f8cf Fix recovery firmware : add FS in parameters of DisplayAppRecovery ctor. 2022-09-11 18:21:29 +02:00
Jean-François Milants 4cf73fc169 Infineat : Add support for external resources, and read the images and fonts from the ilesystem 2022-09-11 16:22:28 +02:00
Jean-François Milants ada2c09581 Merge branch 'develop' into infineat-external-resources
# Conflicts:
#	src/displayapp/screens/Symbols.h
#	src/displayapp/screens/settings/SettingWatchFace.cpp
#	src/displayapp/screens/settings/SettingWatchFace.h
2022-09-11 14:59:49 +02:00
Kieran Cawthray 4fe834efda Cleanup 2022-09-06 12:58:46 +02:00
Kieran Cawthray fbc9f63308 Relabel button 2022-09-06 12:07:58 +02:00
Kieran Cawthray b49fddd555 Implement persistent settings 2022-09-06 11:37:12 +02:00
Kieran Cawthray 2933405158 Merge remote-tracking branch 'upstream/develop' into pts-options 2022-09-05 22:03:56 +02:00
Riku Isokoski 69563ed031
Add sleep mode which disables notifications, touch- and motion wakeup (#1261) 2022-08-21 14:52:38 +03:00
Riku Isokoski 62c4ff9c2d
Determine the number of digits from the max value. (#1271) 2022-08-21 14:52:14 +03:00
Riku Isokoski c2b6a8de3e
Fix markdown format with autoformatter (#1284) 2022-08-21 14:50:09 +03:00
Kieran Cawthray 593ca2028d Add half gauge/seconds option 2022-08-16 23:38:07 +02:00
Riku Isokoski ef6ed5d26e
Improve checkbox visibility (#1266) 2022-08-16 08:29:26 +03:00
Riku Isokoski 78fc1682da
Centralize most color definitions (#1258) 2022-08-16 08:21:23 +03:00
Riku Isokoski eb487c71be Use Counter in SettingsSetDate 2022-08-10 08:37:52 +03:00
Riku Isokoski 3eebe02448 Add support for months and variable digit count to Counter 2022-08-10 08:37:52 +03:00
Riku Isokoski 8e72cf380f
Notification swap text colors for visibility and reduce duplication (#1252) 2022-08-08 18:01:40 +03:00
ialokim a7c86786c3
Apply suggestions from code review
Co-authored-by: NeroBurner <pyro4hell@gmail.com>
2022-08-07 20:40:45 +02:00
ialokim 97140652d6
PTS: add seconds display 2022-08-07 18:43:22 +02:00
Kieran Cawthray a0ba80882c Initial mockup 2022-08-05 00:33:24 +02:00
Aidan Epstein e13172384b Wrap PineTimeStyle step counter
This changes the PineTimeStyle step counter gauge continues counting
with wraparound after you achieve your step goal.
2022-08-04 22:52:45 +02:00
Riku Isokoski b768829c63 More timeout options and improved checkbox alignment 2022-08-02 22:53:10 +02:00
Riku Isokoski 67e0cad573 Simplified stopwatch lap buffer
Overriding the earlier laps doesn't seem like a good idea.
2022-08-02 22:51:59 +02:00
Riku Isokoski 1467324c50 Bring back separate info button, move color to a variable. 2022-08-02 22:51:04 +02:00
Riku Isokoski 7a6ede112e Remove clockType variable by checking for nullptr instead.
Saves a few bytes
2022-08-02 22:51:04 +02:00
Riku Isokoski 97048121b0 Use Counter widget in Alarm 2022-08-02 22:51:04 +02:00
Riku Isokoski 9f851f6321 Automatic alignment with containers 2022-08-02 22:49:12 +02:00
Riku Isokoski 28a528761f Remove leftover change 2022-08-02 22:49:12 +02:00
Riku Isokoski edba1d9ccf Add status icons widget 2022-08-02 22:49:12 +02:00
Riku Isokoski 80c1a5a0a4
Theme cleanup (#1256)
Remove unnecessary comments, styles, colors, overrides. Fix arc colors
2022-07-31 08:19:20 +03:00
Zach DeCook 4450c58216
Date formats: Use ISO 8601 (#1040)
* System Info: Use YYYY-MM-DD

The date format with the slashes has different meaning in different regions

* Terminal Watchface: Use dashes as date separator

Using the popular ISO 8601 format instead

Co-authored-by: Riku Isokoski <riksu9000@gmail.com>
2022-07-25 09:26:09 +03:00
Riku Isokoski d6165e72b7
Replace icomoon system font with material design icons (#1228) 2022-07-21 22:56:34 +03:00
Riku Isokoski 9ee1160578
Reset timer by long pressing on the button (#1214)
* Reset timer by long pressing on the button

* Consider press_lost as released

Otherwise the bar would keep increasing if the finger slid off the
button
2022-07-21 22:53:36 +03:00
Riku Isokoski 411f2d19e1 Use Counter widget in SettingSetTime plus optimizations 2022-07-21 22:23:15 +03:00
Riku Isokoski df6557dd31 Extend Counter functionality
Custom fonts, twelve hour mode and Value changed callback.
2022-07-21 22:23:15 +03:00
Riku Isokoski 0f4233003e
Limit backlight when flashlight is off (#1212) 2022-07-21 22:22:14 +03:00
Riku Isokoski cea81fea9c
Always restore brightness on app switch (#1213) 2022-07-21 22:16:55 +03:00
Christoph Honal 463355281a Display target build variant in system info screen 2022-07-07 11:23:05 +02:00
Riku Isokoski 9b92861753
Twos code cleanup (#1220) 2022-07-06 11:29:23 +03:00
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
ITCactus 50b98798b9 cleanup after migration to the font-generator 2022-06-30 16:19:51 +02:00
Autoformatter b4f4e2f3fe Apply clang-format to Clock.cpp 2022-06-30 15:15:32 +02:00
ITCactus cfaafc1fe2 fix for week number and days till the end of the year
+ formating (clang)
2022-06-30 15:15:32 +02:00
ITCactus e7c0b2c5c2 fix memory leak + refactoring 2022-06-30 15:15:32 +02:00
ITCactus 917e46c684 post rebase fixes 2022-06-30 15:15:32 +02:00
ITCactus 319dfd23e7 [new watchface] watchface inspired by G7710, with day of year and week number info 2022-06-30 15:14:23 +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 18cff286c7 Make notification color white when side cover off 2022-06-11 16:57:24 +02:00
Diego Miguel 2ad51e6a98 Fix date alignment 2022-06-11 16:57:24 +02:00
Diego Miguel 4e9fe3f36d Simplify code 2022-06-11 16:57:24 +02:00
Diego Miguel 20b31fdbe5 Show battery indicator when side cover hidden 2022-06-11 16:57:24 +02:00
Diego Miguel 603af7c372 Better alignment of the date label 2022-06-11 16:57:24 +02:00
Diego Miguel cb2131ec2c Implement charging battery animation 2022-06-11 16:57:24 +02:00
Diego Miguel b5bf6c51a4 Implement battery indicator 2022-06-11 16:57:24 +02:00
Diego Miguel 9122547657 Make Pine64 logo darker 2022-06-11 16:57:24 +02:00
Diego Miguel f6f6f9507f Use existing fonts in Infineat watchface 2022-06-11 16:57:24 +02:00
Diego Miguel a4c3558ed7 Fix bleIcon in Infineat watchface after upstream rebase 2022-06-11 16:57:24 +02:00
Diego Miguel dd0d2a4102 Make Pine64 logo background transparent 2022-06-11 16:57:24 +02:00
Diego Miguel 8942791f57 All ready for PR 2022-06-11 16:57:21 +02:00
Diego Miguel a3bfbb5e08 Implement SettingWatchFace list 2022-06-11 16:56:35 +02:00
Diego Miguel b561e7f3d0 Implement CheckboxList screen 2022-06-11 16:56:35 +02:00
Diego Miguel f9d2b78c8d Small color adjustments 2022-06-11 16:56:35 +02:00
Diego Miguel fcdf6dea4d Change Pine64 logo to grayscale 2022-06-11 16:56:35 +02:00
Diego Miguel 6eb5b99aa6 Fix aligment of time labels 2022-06-11 16:56:35 +02:00
Diego Miguel f1f7fb7f49 Add whitespace char to Teko font 2022-06-11 16:56:35 +02:00
Diego Miguel a890f8568a Fixes in side cover toggling 2022-06-11 16:56:35 +02:00
Diego Miguel be16ef0d56 Update BLE controller in Infineat watchface 2022-06-11 16:56:35 +02:00
Diego Miguel 8f54332e5d Fix typo 2022-06-11 16:56:35 +02:00
Diego Miguel da2cf8e913 Add 'Bebas Neue' and 'Teko' fonts 2022-06-11 16:56:35 +02:00
Diego Miguel a89fca7f86 Add 'circle' symbol & Pine64 logo 2022-06-11 16:56:35 +02:00
Diego Miguel 17d37d5ca5 Add Infineat watchface to settings 2022-06-11 16:56:35 +02:00
Diego Miguel ae705f23a5 Implement watchface Infineat 2022-06-11 16:56:35 +02: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
Yehoshua Pesach Wallach 451d755e3d fontgen: removed ability of removing .c ext 2022-05-10 22:20:02 +02:00
Yehoshua Pesach Wallach 9535c1e651 fontgen: move features into fonts
Also, removed feature existance cheking (since it now depends on a font,
so may end up being inside (only) a font not being used currently -
which is an allowed usage)
2022-05-10 22:20:02 +02:00
Yehoshua Pesach Wallach ac0dc5ff47 fontgen: added missing requested font check 2022-05-10 22:20:02 +02:00
Yehoshua Pesach Wallach 875b9c4bc5 fontgen: Added ability to choose fonts with .c 2022-05-10 22:20:02 +02:00
Yehoshua Pesach Wallach 3005fe8710 Added FontAwesome5-Solid+Brands+Regular.woff to git 2022-05-10 22:20:02 +02:00
Yehoshua Pesach Wallach 4116baf72e Added font auto-generate script 2022-05-10 22:20:02 +02:00
Riku Isokoski beddfc346d Disable clip_corner, because it is slow. 2022-05-08 13:21:46 +02:00
Riku Isokoski 2b9418c7f8 Fix dropdown graphical issues.
The scrollbar would go out of bounds if DROPDOWN_PART_LIST had uneven
padding. Also enable clip_corner feature to stop the selected item from
overflowing.
2022-05-08 13:21:46 +02:00
Riku Isokoski 8160748733 Force full screen refresh with a rounder function
When the screen switches, the full screen needs to be refreshed for the
hardware scrolling to work. This was enforced with backgroundLabels, but
is simpler to do with a rounder function.
2022-05-08 13:21:27 +02:00