This PR addresses the changes in the Libadwaita API for the upcoming SDK. There are still some pending details that we need to care about before the next release:
[x] The main window is broken. It depended a lot on the presumptions that the window would require a minimum height and width, but since that has changed, we must work it out. It wasn't that good from the beginning anyway and it required important changes if we wanted to make it adaptative in the first place, Flowtime was "adaptative" by chance, not by design.
[x] The statistics overview must be redesigned. This is a chore that has been pending for quite some time now (#17). I think there will be two paths we can take to tackle this issue:
Use Adw.PreferencesGroup to display the time period and time.
Refactor the current StatCircle implementation to allow for custom sizes. This would require modifying the measure (), size_allocate () methods. Maybe with these changes, in the future we will be able to make the circles more than something decorative, maybe by using it as a graph.
[x] Refactor SmallView: This shouldn't be very hard as I did some hacky things when implementing it, maybe instead of forcing it to center, we may just need to set the breakpoint to a size in which when it starts to hide the normal view, it shows the small one. With this, we will just need one headerbar and show/hide widgets when we don't need them instead of doing whatever I implemented.
[x] The new statistics overview using graphs should change its navigation. The current implementation puts all the statistics in a single scrollable page with all the graphs. A better navigation pattern would be moving the view to a different one, probably using Adw.NavigationView
This PR, also, ports the UI files to Blueprint. The issues with Vala seem to be resolved by now, and it is easier to work with Blueprint than with XML.
This PR addresses the changes in the Libadwaita API for the upcoming SDK. There are still some pending details that we need to care about before the next release:
Adw.PreferencesGroup
to display the time period and time.StatCircle
implementation to allow for custom sizes. This would require modifying themeasure ()
,size_allocate ()
methods. Maybe with these changes, in the future we will be able to make the circles more than something decorative, maybe by using it as a graph.SmallView
: This shouldn't be very hard as I did some hacky things when implementing it, maybe instead of forcing it to center, we may just need to set the breakpoint to a size in which when it starts to hide the normal view, it shows the small one. With this, we will just need one headerbar and show/hide widgets when we don't need them instead of doing whatever I implemented.Adw.NavigationView
This PR, also, ports the UI files to Blueprint. The issues with Vala seem to be resolved by now, and it is easier to work with Blueprint than with XML.