feat: add manual date and location entry screens#402
Open
mrosseel wants to merge 9 commits intobrickbots:mainfrom
Open
feat: add manual date and location entry screens#402mrosseel wants to merge 9 commits intobrickbots:mainfrom
mrosseel wants to merge 9 commits intobrickbots:mainfrom
Conversation
Add UIDateEntry screen that automatically follows UITimeEntry, allowing users to set both time and date when GPS is unavailable. Add UILocationEntry with three-step lat/lon/alt flow for manual coordinate entry, using the same chaining pattern. Key changes: - New UIDateEntry: 3-box date entry (YYYY-MM-DD) with pre-fill - New UILocationEntry: 3-step coordinate entry (lat → lon → alt) - UITimeEntry chains to UIDateEntry on confirm - Location.make_fix() helper shared between UI and web server - Consistent navigation: Right=confirm, Left=back/cancel - Menu restructured: "Set Time/Date", location submenu with "Enter Coords" and "Saved" options Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- set_datetime() ignored manual times earlier than current time due to GPS clock-drift guard. Add force parameter to bypass the guard. - Manual time/date setting now sends "time_force" message to GPS queue. - GPS status detailed view now shows the date alongside time. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
fakeGPS sends time updates every 0.5s with datetime.now(), immediately overwriting any manually set time. Add __datetime_manual flag that blocks GPS time updates once time is manually set. Reset clears it. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Location reset should not clear manual time. Add separate "Reset Time/Date" menu item and reset_datetime GPS message. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Auto-advance and key_right were using modulo wrap, sending cursor back to box 0 after filling the last box. Now stays on last box so the user can press Right to confirm. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
TYPE_CHECKING stubs for gettext `_` already satisfy ruff's F821 check, so the blanket ignore for ui/*.py is not needed. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Rename "Saved" to "Load Location", show "No saved locations" message when list is empty instead of blank screen - Add "Save Location" menu item that prompts for name, shows "No location lock" if no GPS/manual fix is set - Use Location.make_fix() in location list load action - Menu: Enter Coords / Load Location / Save Location Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- "No saved locations" -> "No locations" for bold font fit - "Set: date time" -> "date\ntime" two-line format Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
__datetime_manualflagLocation.make_fix()static method used by both UI callbacks and web serverTest plan