-
-
Notifications
You must be signed in to change notification settings - Fork 944
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Calendar app #923
base: main
Are you sure you want to change the base?
Calendar app #923
Conversation
Hi @thnikk this looks like a great little app. We're you going to add navigation to go forward and back months? |
Thank you @SteveAmor for the tip, that's exactly what I needed. Days from inactive months are now grayed out and I've added navigation between months with up and down swipe gestures. |
Could you add week numbers? I’m a teacher an we use week numbers instead of dates. In that week etc. maybe add a extra row that displays the week number. The first row should display the week number |
Pretty much what I was looking for! But week numbers would be nice :) |
Thanks, a great app! However, I would like to ask for several improvements:
|
I would avoid using colors to denote weekends. If, in the long run, this is going to show calendar events as well, calendars use color labels to denote different categories of events. Agree on inverted fg/bg for today. |
Weekend kinda also has a very specific and constant location in a calendar as well 😛 |
Maybe there can be a setting to let the weeks start on mondays. |
1+2) That's a good point that I didn't consider. I picked red because I thought it stuck out well, but I would like for it to stick out for everyone. I don't thing green provides as good of contrast, but an inverted background looks fine.
Week numbers could be included, but I'm not sure it's worth shrinking the calendar for. I think this may also make more sense in a week overview. |
Does this work on pinetime if so I'm getting one |
I looked in the LVGL sources. Definitely, it is not supposed to be changed at runtime. Alas! |
Given that population wise Monday is the more common date to start the week with in the world, and it's the international standard in ISO 8601, I would recommend making the compile default first day of the week Monday and not Sunday, or you could offer two binaries for the different settings I suppose. |
I guess, it's not a critical problem if the first day of a week is Monday or Sunday. Are there any other issues blocking inclusion of the calendar into the main branch? |
Just the position, It's currently accessed with a left swipe from the main clock screen. It could make it a normal app if that works better, I just put it to the right of the clock for convenience. |
I think it should be made a normal app. Putting something on the right side of the watchface would be a significant design decision. |
I would love to see this calendar app included in InfiniTIme. If you could make it a normal app that would be great |
Alright, it's now a normal app on a new app screen with an appropriate icon. I also changed the swipe directions from up and down to left and right so down swiping to close works as expected. |
Would it be better to remove the statusbar altogether? There's not much else to do with the vertical space but enlarge or center the widget, but none of the other apps have one. |
Any update on this? |
I would like to ask about it too: could anyone please write what is the state of this app? |
@@ -435,6 +436,9 @@ void DisplayApp::LoadApp(Apps app, DisplayApp::FullRefreshDirections direction) | |||
case Apps::Twos: | |||
currentScreen = std::make_unique<Screens::Twos>(this); | |||
break; | |||
case Apps::Calendar: | |||
currentScreen = std::make_unique<Screens::Calendar>(this, batteryController,dateTimeController); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
currentScreen = std::make_unique<Screens::Calendar>(this, batteryController,dateTimeController); | |
currentScreen = std::make_unique<Screens::Calendar>(this, batteryController, dateTimeController); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I am willing to help with this one, if anyone can tell what is left to do. Are there any known issues?
not a full list, just a few things that stick out for me:
|
This add 4kb to the final firmware. |
} | ||
lv_calendar_set_showed_date(calendar, ¤t); | ||
return true; | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Let's also utilize SwipeUP/SwipeDown to switch to next/prev year.
Btw, a rebase is needed. And I've just done that so you call pull from:
https://github.com/Boteium/InfiniTime/tree/rebase_calendar
@Boteium 's branch fell out of date and was failing to build with the most recent 1.14 release, so I merged it with the most recent commit (ecf2f56) and updated the code so the build could succeed. As you'll see in the commit message I also commented out the calendar swipe up and down feature in I'm sure this isn't the best way to share the updated code in this PR, but I didn't want to open a new PR and clutter the repo... so I'll just give the link to my branch: https://github.com/JustScott/InfiniTime/tree/merge_calendar_upstream. Also, I've only tested the pinetime-mcuboot-app version on my sealed pinetime. It works perfectly so i suspect the other versions will work as well. |
@JustScott at this point, maybe open another PR isn't a bad idea after all. |
You can use git reset, git rebase and git push --force to update this pull request without having to make a new one. |
Its owned by @thnikk, so they'll have to take my changes and update the pull request (I think that's how it works) if they want to. Otherwise I think how it is right now works fine as anyone who wants to use this app can just merge from my branch. (mostly unrelated to this pull request) I've started to see that upstream Infinitime is less about adding new apps, and more about creating a very stable and minimal starting point for people to add their own apps, so odds are this may never get merged into the main branch, and that's fine, we just have to keep the app PRs we care about up to date. (sorry for the random epiphany, but it would've helped me to see this when I first got my pinetime) |
Ah, didn't see that you aren't the one who made the PR :p. In that case it would be a good idea to open a new PR. Now that we are able to decide which apps to include at compile-time, we're going to be a lot more happy to merge apps, and then not have them enabled by default. |
This is a basic app using lvgl's calendar widget to show the current month with the day highlighted:
There are currently 2 issues:
I'd also like to mention that I put this to the right of the clock, so it's accessible with a left swipe. I think this makes sense for the PineTimeStyle watch face, as the calendar is on the right side of the screen, but may make less sense in other situations. This is my first PR and I didn't want to submit it without fixing any outstanding issues, but debugging is very time consuming for me as I don't have a dev kit, so any help would be greatly appreciated.