Commit Graph

466 Commits

Author SHA1 Message Date
Savanni D'Gerinel c075b7ed6e Just barely get the data saveable again
Starting to see some pretty serious limitations already.
2024-01-17 22:59:20 -05:00
Savanni D'Gerinel 56d0a53666 Fix how DayEdit deals with the weight field 2024-01-17 22:35:13 -05:00
Savanni D'Gerinel b00acc64a3 Set up the ActionGroup component 2024-01-17 22:13:55 -05:00
Savanni D'Gerinel 104760c754 Be able to switch into edit mode 2024-01-15 23:27:55 -05:00
Savanni D'Gerinel 1e6555ef61 Create a day detail view
DayDetail, the component, I used to use as a view. Now I'm swapping
things out so that DayDetailView handles the view itself. The DayDetail
component will still show the details of the day, but I'll create a
DayEditComponent which is dedicated to showing the edit interface for
everything in a day.

The swapping will now happen in DayDetailView, not in DayDetail or an
even deeper component.
2024-01-15 15:53:01 -05:00
Savanni D'Gerinel 2e2ff6b47e Create a Singleton component and use it to simplify the weight view 2024-01-15 13:20:23 -05:00
Savanni D'Gerinel 2d22397382 Bump the dashboard version 2024-01-09 08:10:58 -05:00
Savanni D'Gerinel 2c7666304a Fix the year in the current date view 2024-01-09 08:10:02 -05:00
Savanni D'Gerinel 0007522b26 Extract the Weight and Time Distance widgets 2024-01-01 23:58:55 -05:00
Savanni D'Gerinel b7b9b1b29f Create an EditView "component"
This is a super tiny data structure that covers an edit mode, a view
mode, and an unconfigured mode. It's mostly a container so that views
don't have to preserve everything directly.
2024-01-01 23:49:31 -05:00
Savanni D'Gerinel 2e3d5fc5a4 Clean up the parameters to TextEntry and populate the field 2024-01-01 22:57:59 -05:00
Savanni D'Gerinel a25b76d230 Create a validated text entry widget
I move the weight edit view into the validated text entry widget, and I
work on some of the unfortunate logic in the weight blur function. I've
left behind a lot of breadcrumbs for things that still need to be done.
2023-12-31 11:18:15 -05:00
Savanni D'Gerinel 9970161c30 Set up a lot of the files necessary for a desktop app 2023-12-29 13:13:22 -05:00
Savanni D'Gerinel 7bd4885b09 Save new information to the day detail view and to the historical view 2023-12-29 09:24:37 -05:00
Savanni D'Gerinel b5dcee3737 Update the historical view when a change happens in the db 2023-12-28 22:47:47 -05:00
Savanni D'Gerinel 0c3ae062c8 Save real data to the database. Load data on app start. 2023-12-28 22:46:44 -05:00
Savanni D'Gerinel f422e233a1 Record data to the database
This isn't recording real data. It's basically discarding all
information from the weight edit field. But it is creating a record.
2023-12-28 22:43:56 -05:00
Savanni D'Gerinel 7a6e902fdd Create placeholders in the historical view for days that are unpopulated. 2023-12-28 22:36:44 -05:00
Savanni D'Gerinel 6d9e2ea382 Switch to the updated emseries record type 2023-12-28 22:36:40 -05:00
Savanni D'Gerinel 04a48574d3 Develop a pattern to detect clicking outside of a focused child
Be able to respond to blur events and potentially be able to record weight.
2023-12-28 22:34:09 -05:00
Savanni D'Gerinel e13e7cf4c3 Create a widget that can show the weight view and edit modes 2023-12-28 22:31:11 -05:00
Savanni D'Gerinel 383f809191 Open and style the day detail view and add it to the navigation stack 2023-12-28 22:31:07 -05:00
Savanni D'Gerinel d269924827 Refactorings and dead code removal 2023-12-28 22:20:30 -05:00
Savanni D'Gerinel 8049859816 Clean up showing the welcome and historical screens
Swapping is now done in dedicated functions instead of a big pattern
match.

After selecting a database, the app window will apply the configuration
by opening the database, saving the path to configuration, and switching
to the historical view.
2023-12-28 21:45:55 -05:00
Savanni D'Gerinel ac343a2af6 Switch from channel-based communication to async calls into the core 2023-12-28 19:09:12 -05:00
Savanni D'Gerinel 5cd0e822c6 Update to adwaita 1.4, and add a navigation page stack 2023-12-28 13:21:42 -05:00
Savanni D'Gerinel fe5e4ed044 Save the views as their original widgets
This allows me to directly reference functions that occur on those
widgets without losing them behind a gtk::Widget upcast or needing to
later downcast them.
2023-12-28 12:59:29 -05:00
Savanni D'Gerinel e30668ca8e Drop DateTimeTz from fitnesstrax 2023-12-28 12:51:50 -05:00
Savanni D'Gerinel 149587f0bd Bind the ID to the record instead of keeping them separate 2023-12-27 16:13:47 -05:00
Savanni D'Gerinel d2f4ec97c0 Rename UniqueId to RecordId 2023-12-26 15:39:17 -05:00
Savanni D'Gerinel c94b7db484 Stop using DateTimeTz 2023-12-26 15:37:53 -05:00
Savanni D'Gerinel 85e2494c3b Add a test application that demonstrates chrono and timezone processing 2023-12-26 13:33:18 -05:00
Savanni D'Gerinel af8f9b0244 Generate some random data and feed it into hte historical view 2023-12-24 19:13:49 -05:00
Savanni D'Gerinel 1b3ca7439d Add styling to the day summary 2023-12-24 12:00:12 -05:00
Savanni D'Gerinel 3dc8be0d26 Render a weight record 2023-12-22 18:53:29 -05:00
Savanni D'Gerinel 43cd408e2c Start elaborating upon the HistoricalView
I've created the DaySummary structure and set up a list view to go into
the historical view. One hard-coded date is visible as a placeholder to
start filling things into the day summary.
2023-12-22 17:32:45 -05:00
Savanni D'Gerinel 3a728a51b4 Extract the application loop from the main file 2023-12-22 15:17:22 -05:00
Savanni D'Gerinel f19090311b Extract all of the UI components into dedicated files 2023-12-22 15:17:22 -05:00
Savanni D'Gerinel dedcc76df0 Mild cleanups 2023-12-22 15:16:03 -05:00
Savanni D'Gerinel 6678ab9852 Documentation 2023-12-22 14:28:23 -05:00
Savanni D'Gerinel 9c200f555c Set up app invocation and response handling 2023-12-22 14:08:16 -05:00
Savanni D'Gerinel 3ca8bf64cc Set up message passing between app window and an app thread 2023-12-19 18:05:22 -05:00
Savanni D'Gerinel 87994012fa Save the database path to settings and attempt to open the database on start 2023-12-19 10:59:33 -05:00
Savanni D'Gerinel 50268ffadc Actually be able to open the database 2023-12-19 10:46:53 -05:00
Savanni D'Gerinel beedeba8dc Style the welcome screen 2023-12-19 10:10:02 -05:00
Savanni D'Gerinel db188ea75a Allow the user to create a new file 2023-12-19 00:37:51 -05:00
Savanni D'Gerinel 104ffc5782 Set up callbacks to make the save button sensitive to the file selection 2023-12-19 00:31:36 -05:00
Savanni D'Gerinel 38db3d6780 Elaborate upon and format the welcome dialog 2023-12-18 21:14:08 -05:00
Savanni D'Gerinel 0dd0a5f7cc Set up some of the content of the welcome view 2023-12-18 20:04:55 -05:00
Savanni D'Gerinel acdf9ec150 Add the window header bar 2023-12-18 19:08:32 -05:00