Sound Recorder: Redesign the app to make it adaptive
Project Summary
Updating whole app to follow GNOME Human Interface Guidelines and make it adaptive so can work on small screens and larger screens.
Here is link to all my blogs during Google Summer of Code'20.
What is done
- All widgets are transferred to GObject Classes with glade UI resources.
- Reorganized code structure in recording and recording list class.
- Removed preferences dialog and moved settings to the menu button.
- Added a separate view for recording.
- Pause and cancel the recording functionality added.
- HdyApplicationWindow and HdyHeaderBar added for a new look.
- HdyClamp is added for clamping it to max-width.
- New waveform added for recording view and list row.
- HdyWindowHandle added for window dragging during the recording view.
- HdySqueezer added to the buttons to make view adaptive.
- Recording re-naming functionality added to the row.
- Delete and export recording options are added with revealer.
- ListRow waveform dragging capability added for the player to seek through along with seeking buttons.
- GstPlayer is implemented instead of traditional Gst pipelines.
- Flatpak portal (GtkFileChooserNative) implemented for recordings.
- Undo deleted recording notification added.
- Waveform and whole UI adaptable to the Adwaita-dark theme.
Here is link to all my commits
If you are interested in gjs and GTK application here some learning materials:
Tutorials: readthedocs.org, gjs.guide/tutorials
Guides: gjs.guide/guides
GJS: gjs gitlab
Most helpful -> gjs-docs