Commit Graph

861 Commits

Author SHA1 Message Date
tnixeu
21f3bd7082 prepare cmake unity build
Exclude files from unity build which currently cause compile erros because of redefinitions.
2022-12-27 12:17:46 +01:00
minacode
cad58f190f added message, changed UI 2022-12-27 12:13:52 +01:00
tgc-dk
29673892c2 Fix formatting 2022-12-26 22:18:50 +01:00
Tomas Groth
861ed3584c Put common code into DismissToBlack helper function 2022-12-26 22:18:50 +01:00
Tomas Groth
bef65bcd55 Make it possible to dismiss new notifications 2022-12-26 22:18:50 +01:00
Riku Isokoski
afea7ca0d1
Update clang-tidy configuration and fix some warnings (#1474)
Don't enable coding conventions from unrelated projects. Only enable
generic checks.
2022-12-18 18:14:36 +01:00
Riku Isokoski
bfedf47d1a Optimize SettingWatchFace 2022-12-18 16:39:34 +01:00
Riku Isokoski
99b5b49993 Optimize SettingWakeUp 2022-12-18 16:39:34 +01:00
Riku Isokoski
9c5b1437ec Optimize SettingTimeFormat 2022-12-18 16:39:34 +01:00
NeroBurner
23a68ba45a PineTimeStyle: use "" for our includes
Small fix to be consistent: use "" for our includes and <> for system
includes or packages by others.
2022-12-18 16:32:16 +01:00
cybuzuma
1062fec5f2
compiler warnings, #1035 and #notreported (#1481) 2022-12-12 22:28:39 +02:00
Elements6007
559b555d47 Fix
Co-authored-by: NeroBurner <pyro4hell@gmail.com>
2022-11-19 10:39:02 +01:00
Elements6007
80369f7e4b Clang format 2022-11-19 10:39:02 +01:00
Elements6007
e6cf685eb8 Update SettingChimes.h 2022-11-19 10:39:02 +01:00
minacode
e0969c4ed6 removed line 2022-11-19 10:37:48 +01:00
Riku Isokoski
9b2221173c Use PageIndicator in CheckboxList 2022-10-16 10:31:41 +02:00
Jean-François Milants
c9e836a02e G7710 and Infineat : close the files after having verified that they exist. 2022-10-15 16:52:55 +02:00
Jean-François Milants
eb0af22ecf Watch face settings : disable watch faces that are not available (external resources are not installed). 2022-10-11 21:36:31 +02:00
Jean-François Milants
8c7be1fbb1 CheckboxList : fix formatting. 2022-10-11 21:16:33 +02:00
Jean-François Milants
4ec49bde8a CheckBoxList : rename newValue -> value. 2022-10-11 21:16:33 +02:00
Jean-François Milants
cf8b422899 Checkbox list now receives a function pointer to call when the setting has changed. This allow to remove the dependency between CheckBoxList (UI component) with SettingController. 2022-10-11 21:16:33 +02:00
Riku Isokoski
964f065de4 Fix clang-tidy warnings 2022-10-10 17:52:36 +02:00
mashuptwice
668820ef5a Edit all occurences of "watchface" to "watch face" 2022-10-10 12:43:11 +02:00
kieranc
0f1d0bbd1d
Fix button labels (#1361) 2022-10-06 16:00:35 +03:00
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