- Move some common code into lib.rs
- Create trait
ConvertUnitsto swap imperial and metric values - Move action handling into module
- Move keybindings into module
- Make keybindings configurable
- Depend on libadwaita
- Subclass Application from AdwApplication
- Subclass Window from AdwWindow
- Use adwaita AboutWindow
- Create Application::settings object and store application state
- Update to
gtk4-rsversion0.4 - Orient left handed output with bass strings on top (via
fretboard-layoutcrate) - Update
clapto 3.0 release branch
- Preferences dialog updated around external application
- The external application now remains consistent the next time the dialog is opened
- Spinbutton fields now change precision to track better against Metric vs Imperial units
- Update
fretboard_layoutcrate with cleaned up backend code - Less file IO due to keeping the Config data in a static Mutex
- Where appropriate, the spinbox adjustments now display 2 digits for Metric and 3 digits when using Imperial units
This is the second major release of gfret, bringing a major code cleanup and reorganization and several new features. The big news is that the interface has been ported to Gtk+ version 4. This necessitated a number of changes to match syntax as well as some rethinking of the basic assumptions around which the interface had previously been built.
The fretboard-layout crate which serves as the backend to gfret has seen significant improvements as well. The logic which handled anything color related has been moved into a new crate called rgba-simple. Two new abilities have been added, the ability to output right or left handed output, and the ability to output Imperial measurements as well as Metric.
- Port interface to
Gtk4- Port
.gladefiles to new.uiinterface definitions - Dialogs moved into a separate module
- Preferences dialog significantly cleaned up with more consistent padding and spacing between elements
- Dialogs all now use a
headerbar - Main window changed to a
headerbarand the application menu moved into it - Menu ported to new menu definition framework
- Menu entries and keyboard shortcuts now use the
gtk::SimpleActionconstruct
- Port
- Enable left handed output
- Gui changed from a simple
checkboxenabling the multiscale output to acombobox. - When
Monoscaleis selected, allMultiscalerelated controls are completely hidden rather than just greyed out. - Internally, the
Specsstruct represents whether the neck is Mono or Multi scaled using theVariantenum, which has an attached scale length andHandednessenum whenMultiscaleis selected.
- Gui changed from a simple
- Enable switching between
ImperialorMetricunits- The
Configstruct has a new fieldunitswhich is represented by an enumUnits - All widget values and ranges are adjusted by a factor of 20.4 when switching between units
- The
- Revamped
Preferencesdialog- Consistent padding and spacing
- Controls which are no longer valid in the current context are completely hidden from the user rather than just being greyed out as before
- New
Aboutdialog - New application icon with fretboard and dividers