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
Savanni D'Gerinel
0ebdcd7c2a
Add some commentary
2023-12-18 18:36:22 -05:00
Savanni D'Gerinel
baf652173c
Set up the main views for the window, as well as the redraw policy
...
Whenever we change views, we need to call the redraw function. That
function will handle dropping the old view and populating the new one.
2023-12-18 18:30:41 -05:00
Savanni D'Gerinel
c4befcc6de
Add the CSS style context to the main window
2023-12-18 11:59:56 -05:00
Savanni D'Gerinel
a7d6d82ec2
Set up an environment variable to toggle between dev and production schemas
2023-12-07 09:56:10 -05:00
Savanni D'Gerinel
f3a453d151
Set up a development gsettings schema
2023-12-07 09:45:56 -05:00
Savanni D'Gerinel
b9aa434278
Remove types that are not implemented yet
...
I've gone *years* without these types, mostly because I wasn't doing
these workouts. I can go longer.
2023-12-06 23:55:12 -05:00
Savanni D'Gerinel
83a4839b1d
Implement the timestamp function
2023-12-06 23:52:46 -05:00
Savanni D'Gerinel
0e0d67a9ac
Split Fitnesstrax into two crates
2023-12-06 23:52:33 -05:00
Savanni D'Gerinel
e5fb605816
Create a test that verifies that a series can be made for a TraxRecord
2023-12-06 23:52:33 -05:00
Savanni D'Gerinel
f9db002464
Make the series open function accept anything that can be a path reference
2023-12-06 23:52:28 -05:00
Savanni D'Gerinel
0ac9bb74a6
Set up the bare minimum of a GUI app, opening only a single window
2023-12-06 23:52:28 -05:00
Savanni D'Gerinel
f034dfcb8b
Set up the basic data structures of a new fitnesstrax app.
2023-12-06 23:52:28 -05:00
Savanni D'Gerinel
7abb33c4fe
Work out how the session filter and the handlers can function
2023-11-21 09:57:35 -05:00
Savanni D'Gerinel
581979fc54
Make some test endpoints and prototype an authentication filter
2023-11-20 23:30:10 -05:00
Savanni D'Gerinel
bf93625225
Create a placeholder for the Visions server
2023-11-20 00:03:16 -05:00
Savanni D'Gerinel
778da0b651
Start working out designs and build tools for the visions vtt
2023-11-20 00:03:16 -05:00
Savanni D'Gerinel
8b53114d0d
Have the file-service depend on the new authdb library
2023-11-19 23:55:43 -05:00
Savanni D'Gerinel
42e931d780
Move the cli app into authdb
2023-11-19 23:54:02 -05:00
Savanni D'Gerinel
532210db03
Extract the authentication DB from the file service
2023-11-19 23:43:33 -05:00
Savanni D'Gerinel
37f6334c9f
Update the gtk dependencies for all packages
...
This breaks the hex-grid application. set_source_pixbuf got removed and
I have not figured out a replacement for drawing a pixbuf to a context.
2023-11-14 10:05:56 -05:00
Savanni D'Gerinel
3310c460ba
Cleanups
2023-11-14 08:27:13 -05:00
Savanni D'Gerinel
6d14cdbe2a
Build a color test pattern.
2023-11-14 08:04:31 -05:00
Savanni D'Gerinel
c46ab1b389
Tweak the bit-banging code to get the protocol right
2023-11-13 18:21:07 -05:00
Savanni D'Gerinel
168ba6eb40
Try controlling dotstars through SPI and through bit-banging
2023-11-09 22:24:37 -05:00
Savanni D'Gerinel
7e3ee9a5b7
Set up a blink application for the raspberry pi pico
2023-11-05 15:54:33 -05:00
Savanni D'Gerinel
86a6d386d2
Set up raspberry pi cross-compile tools
2023-11-05 15:53:43 -05:00