Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement a new Bluetooth indicator #459

Merged
merged 81 commits into from
Jan 27, 2024

Commits on Jan 27, 2024

  1. Implement the private portion of the Bluetooth API

    (I hope... The organization is a mess.)
    
    Signed-off-by: Evan Maddock <[email protected]>
    EbonJaeger authored and JoshStrobl committed Jan 27, 2024
    Configuration menu
    Copy the full SHA
    ba0d60b View commit details
    Browse the repository at this point in the history
  2. Add the public-facing Bluetooth API

    Signed-off-by: Evan Maddock <[email protected]>
    EbonJaeger authored and JoshStrobl committed Jan 27, 2024
    Configuration menu
    Copy the full SHA
    29f9614 View commit details
    Browse the repository at this point in the history
  3. Fix last TODO item

    Signed-off-by: Evan Maddock <[email protected]>
    EbonJaeger authored and JoshStrobl committed Jan 27, 2024
    Configuration menu
    Copy the full SHA
    891dea9 View commit details
    Browse the repository at this point in the history
  4. Fix warnings

    Signed-off-by: Evan Maddock <[email protected]>
    EbonJaeger authored and JoshStrobl committed Jan 27, 2024
    Configuration menu
    Copy the full SHA
    820d716 View commit details
    Browse the repository at this point in the history
  5. WIP: Redo Bluetooth indicator and popover

    Signed-off-by: Evan Maddock <[email protected]>
    EbonJaeger authored and JoshStrobl committed Jan 27, 2024
    Configuration menu
    Copy the full SHA
    5f7d4d1 View commit details
    Browse the repository at this point in the history
  6. Fix Bluetooth setup

    Signed-off-by: Evan Maddock <[email protected]>
    EbonJaeger authored and JoshStrobl committed Jan 27, 2024
    Configuration menu
    Copy the full SHA
    672501a View commit details
    Browse the repository at this point in the history
  7. Greatly simplify the BluetoothClient API

    At this time, I have no idea how to integrate the UPower aspect with the Bluetooth devices. Moreover, I can't test if it's working even if I did, because none of my Bluetooth devices trigger the UPower signals.
    
    Signed-off-by: Evan Maddock <[email protected]>
    EbonJaeger authored and JoshStrobl committed Jan 27, 2024
    Configuration menu
    Copy the full SHA
    c4f9d82 View commit details
    Browse the repository at this point in the history
  8. Follow Vala naming conventions

    It'll automagically figure it out for DBus.
    
    Signed-off-by: Evan Maddock <[email protected]>
    EbonJaeger authored and JoshStrobl committed Jan 27, 2024
    Configuration menu
    Copy the full SHA
    588dbab View commit details
    Browse the repository at this point in the history
  9. Add new Bluetooth popover layout

    Signed-off-by: Evan Maddock <[email protected]>
    EbonJaeger authored and JoshStrobl committed Jan 27, 2024
    Configuration menu
    Copy the full SHA
    72b4082 View commit details
    Browse the repository at this point in the history
  10. Add widgets for Bluetooth devices

    Signed-off-by: Evan Maddock <[email protected]>
    EbonJaeger authored and JoshStrobl committed Jan 27, 2024
    Configuration menu
    Copy the full SHA
    ae5f353 View commit details
    Browse the repository at this point in the history
  11. Pack popover header like the new network popover header

    Signed-off-by: Evan Maddock <[email protected]>
    EbonJaeger authored and JoshStrobl committed Jan 27, 2024
    Configuration menu
    Copy the full SHA
    1d0a8fe View commit details
    Browse the repository at this point in the history
  12. Remove device wrapper class

    Signed-off-by: Evan Maddock <[email protected]>
    EbonJaeger authored and JoshStrobl committed Jan 27, 2024
    Configuration menu
    Copy the full SHA
    a098229 View commit details
    Browse the repository at this point in the history
  13. Make sure connection button is clickable if the device is now paired

    Signed-off-by: Evan Maddock <[email protected]>
    EbonJaeger authored and JoshStrobl committed Jan 27, 2024
    Configuration menu
    Copy the full SHA
    64ec428 View commit details
    Browse the repository at this point in the history
  14. Implement pairing and forgetting Bluetooth devices

    Signed-off-by: Evan Maddock <[email protected]>
    EbonJaeger authored and JoshStrobl committed Jan 27, 2024
    Configuration menu
    Copy the full SHA
    91fe9cd View commit details
    Browse the repository at this point in the history
  15. Set a filter for Bluetooth discovery so we only get actual discoverab…

    …le devices
    
    Signed-off-by: Evan Maddock <[email protected]>
    EbonJaeger authored and JoshStrobl committed Jan 27, 2024
    Configuration menu
    Copy the full SHA
    669b4b8 View commit details
    Browse the repository at this point in the history
  16. Start/stop discovery on all adapters instead of the first one found

    Signed-off-by: Evan Maddock <[email protected]>
    EbonJaeger authored and JoshStrobl committed Jan 27, 2024
    Configuration menu
    Copy the full SHA
    f2d74e6 View commit details
    Browse the repository at this point in the history
  17. Ensure that the correct height is given to the listbox

    Signed-off-by: Evan Maddock <[email protected]>
    EbonJaeger authored and JoshStrobl committed Jan 27, 2024
    Configuration menu
    Copy the full SHA
    fb3da60 View commit details
    Browse the repository at this point in the history
  18. Remove the Meson option for Bluetooth

    The reason for the option's addition no longer applies; the new Bluetooth indicator uses Bluez directly instead of gnome-bluetooth.
    
    Signed-off-by: Evan Maddock <[email protected]>
    EbonJaeger authored and JoshStrobl committed Jan 27, 2024
    Configuration menu
    Copy the full SHA
    f71bace View commit details
    Browse the repository at this point in the history
  19. Use better wording for pairing button

    Signed-off-by: Evan Maddock <[email protected]>
    EbonJaeger authored and JoshStrobl committed Jan 27, 2024
    Configuration menu
    Copy the full SHA
    b3322ea View commit details
    Browse the repository at this point in the history
  20. Reset revealer state when DBus operations are successful

    Signed-off-by: Evan Maddock <[email protected]>
    EbonJaeger authored and JoshStrobl committed Jan 27, 2024
    Configuration menu
    Copy the full SHA
    9427cfb View commit details
    Browse the repository at this point in the history
  21. Always set adapters to be discovering

    While not ideal, I suspect this is the only way to reliably pair devices.
    
    Signed-off-by: Evan Maddock <[email protected]>
    EbonJaeger authored and JoshStrobl committed Jan 27, 2024
    Configuration menu
    Copy the full SHA
    e314ff1 View commit details
    Browse the repository at this point in the history
  22. Forget about Bluetooth pairing; leave it to the Settings

    Signed-off-by: Evan Maddock <[email protected]>
    EbonJaeger authored and JoshStrobl committed Jan 27, 2024
    Configuration menu
    Copy the full SHA
    ab12231 View commit details
    Browse the repository at this point in the history
  23. Remove forget device button because dialogs from the panel are Bad TM

    Signed-off-by: Evan Maddock <[email protected]>
    EbonJaeger authored and JoshStrobl committed Jan 27, 2024
    Configuration menu
    Copy the full SHA
    4501673 View commit details
    Browse the repository at this point in the history
  24. Make Bluetooth row widget subclass ListBoxRow

    Signed-off-by: Evan Maddock <[email protected]>
    EbonJaeger authored and JoshStrobl committed Jan 27, 2024
    Configuration menu
    Copy the full SHA
    f5fcd91 View commit details
    Browse the repository at this point in the history
  25. Add slightly more spacing around separators

    Signed-off-by: Evan Maddock <[email protected]>
    EbonJaeger authored and JoshStrobl committed Jan 27, 2024
    Configuration menu
    Copy the full SHA
    7f107a8 View commit details
    Browse the repository at this point in the history
  26. Minor style enhancements

    Signed-off-by: Evan Maddock <[email protected]>
    EbonJaeger authored and JoshStrobl committed Jan 27, 2024
    Configuration menu
    Copy the full SHA
    b3a0704 View commit details
    Browse the repository at this point in the history
  27. Filter out unpaired Bluetooth devices

    Signed-off-by: Evan Maddock <[email protected]>
    EbonJaeger authored and JoshStrobl committed Jan 27, 2024
    Configuration menu
    Copy the full SHA
    df858fa View commit details
    Browse the repository at this point in the history
  28. Rename row widget to be shorter and add consistent style classes

    Signed-off-by: Evan Maddock <[email protected]>
    EbonJaeger authored and JoshStrobl committed Jan 27, 2024
    Configuration menu
    Copy the full SHA
    fa24672 View commit details
    Browse the repository at this point in the history
  29. Add an expander indicator to Bluetooth device rows

    Signed-off-by: Evan Maddock <[email protected]>
    EbonJaeger authored and JoshStrobl committed Jan 27, 2024
    Configuration menu
    Copy the full SHA
    c48641b View commit details
    Browse the repository at this point in the history
  30. Show connected devices, paired or not

    Signed-off-by: Evan Maddock <[email protected]>
    EbonJaeger authored and JoshStrobl committed Jan 27, 2024
    Configuration menu
    Copy the full SHA
    7d01de3 View commit details
    Browse the repository at this point in the history
  31. Implement power display for Bluetooth devices

    Signed-off-by: Evan Maddock <[email protected]>
    EbonJaeger authored and JoshStrobl committed Jan 27, 2024
    Configuration menu
    Copy the full SHA
    c6dfedc View commit details
    Browse the repository at this point in the history
  32. Use correct icon name for generic bluetooth items

    At least so far as there is a correct icon...
    
    Signed-off-by: Evan Maddock <[email protected]>
    EbonJaeger authored and JoshStrobl committed Jan 27, 2024
    Configuration menu
    Copy the full SHA
    6b3af29 View commit details
    Browse the repository at this point in the history
  33. Add styling to Bluetooth applet

    Signed-off-by: Evan Maddock <[email protected]>
    EbonJaeger authored and JoshStrobl committed Jan 27, 2024
    Configuration menu
    Copy the full SHA
    6c6f1fb View commit details
    Browse the repository at this point in the history
  34. Redesign of Bluetooth device rows

    Signed-off-by: Evan Maddock <[email protected]>
    EbonJaeger authored and JoshStrobl committed Jan 27, 2024
    Configuration menu
    Copy the full SHA
    d79ac2d View commit details
    Browse the repository at this point in the history
  35. Update the name of a Bluetooth device if it changes

    Signed-off-by: Evan Maddock <[email protected]>
    EbonJaeger authored and JoshStrobl committed Jan 27, 2024
    Configuration menu
    Copy the full SHA
    90911d9 View commit details
    Browse the repository at this point in the history
  36. Add a placeholder widget if there are no Bluetooth devices

    Signed-off-by: Evan Maddock <[email protected]>
    EbonJaeger authored and JoshStrobl committed Jan 27, 2024
    Configuration menu
    Copy the full SHA
    b63b435 View commit details
    Browse the repository at this point in the history
  37. Make setting a new UPower device more robust

    Signed-off-by: Evan Maddock <[email protected]>
    EbonJaeger authored and JoshStrobl committed Jan 27, 2024
    Configuration menu
    Copy the full SHA
    408168e View commit details
    Browse the repository at this point in the history
  38. Updating the battery state when the UPower device is null closes the …

    …revealer
    
    We want to do this, so put it above the null check.
    
    Signed-off-by: Evan Maddock <[email protected]>
    EbonJaeger authored and JoshStrobl committed Jan 27, 2024
    Configuration menu
    Copy the full SHA
    9ea5e6c View commit details
    Browse the repository at this point in the history
  39. Don't rely on theme to pad revealer

    Signed-off-by: Evan Maddock <[email protected]>
    EbonJaeger authored and JoshStrobl committed Jan 27, 2024
    Configuration menu
    Copy the full SHA
    07cd3af View commit details
    Browse the repository at this point in the history
  40. Refine dis/connection code flow

    Signed-off-by: Evan Maddock <[email protected]>
    EbonJaeger authored and JoshStrobl committed Jan 27, 2024
    Configuration menu
    Copy the full SHA
    9a422a2 View commit details
    Browse the repository at this point in the history
  41. Configuration menu
    Copy the full SHA
    ac0dded View commit details
    Browse the repository at this point in the history
  42. Remove extra separator in Bluetooth popover

    Signed-off-by: Evan Maddock <[email protected]>
    EbonJaeger authored and JoshStrobl committed Jan 27, 2024
    Configuration menu
    Copy the full SHA
    2dbadbd View commit details
    Browse the repository at this point in the history
  43. Format style change

    Signed-off-by: Evan Maddock <[email protected]>
    EbonJaeger authored and JoshStrobl committed Jan 27, 2024
    Configuration menu
    Copy the full SHA
    869564d View commit details
    Browse the repository at this point in the history
  44. Ensure that state hinging on connection status is always updated

    Signed-off-by: Evan Maddock <[email protected]>
    EbonJaeger authored and JoshStrobl committed Jan 27, 2024
    Configuration menu
    Copy the full SHA
    cb4bb9a View commit details
    Browse the repository at this point in the history
  45. Make things less embiggened

    Signed-off-by: Evan Maddock <[email protected]>
    EbonJaeger authored and JoshStrobl committed Jan 27, 2024
    Configuration menu
    Copy the full SHA
    467ec47 View commit details
    Browse the repository at this point in the history
  46. Refine battery display for new device row layout

    Signed-off-by: Evan Maddock <[email protected]>
    EbonJaeger authored and JoshStrobl committed Jan 27, 2024
    Configuration menu
    Copy the full SHA
    e821bb9 View commit details
    Browse the repository at this point in the history
  47. Update the tray icon when Bluetooth is enabled or disabled

    Signed-off-by: Evan Maddock <[email protected]>
    EbonJaeger authored and JoshStrobl committed Jan 27, 2024
    Configuration menu
    Copy the full SHA
    22e0097 View commit details
    Browse the repository at this point in the history
  48. bluetooth-indicator: Invalidate the device filter whenever we invalid…

    …ate the sorting
    
    Signed-off-by: Evan Maddock <[email protected]>
    EbonJaeger authored and JoshStrobl committed Jan 27, 2024
    Configuration menu
    Copy the full SHA
    b1a4ee8 View commit details
    Browse the repository at this point in the history
  49. Configuration menu
    Copy the full SHA
    c9ab2a7 View commit details
    Browse the repository at this point in the history
  50. bluetooth-indicator: Use an icon button for the disconnect button

    Also fixes some spacing issues when not using built-in theme.
    
    Signed-off-by: Evan Maddock <[email protected]>
    EbonJaeger authored and JoshStrobl committed Jan 27, 2024
    Configuration menu
    Copy the full SHA
    8bfae77 View commit details
    Browse the repository at this point in the history
  51. [WIP] bluetooth-indicator: Implement support for file sending

    Signed-off-by: Evan Maddock <[email protected]>
    EbonJaeger authored and JoshStrobl committed Jan 27, 2024
    Configuration menu
    Copy the full SHA
    b1baa1a View commit details
    Browse the repository at this point in the history
  52. bluetooth-indicator: Use rfkill to enable/disable Bluetooth

    Yes, the DBus interface for it is provided by Gnome Settings Daemon, but that's always going to be present anyways and this makes life way simpler.
    
    Signed-off-by: Evan Maddock <[email protected]>
    EbonJaeger authored and JoshStrobl committed Jan 27, 2024
    Configuration menu
    Copy the full SHA
    f249729 View commit details
    Browse the repository at this point in the history
  53. bluetooth-indicator: Use label attributes to achieve consistent styli…

    …ng across all themes
    
    Signed-off-by: Evan Maddock <[email protected]>
    EbonJaeger authored and JoshStrobl committed Jan 27, 2024
    Configuration menu
    Copy the full SHA
    b175a06 View commit details
    Browse the repository at this point in the history
  54. build: Reintroduce option to compile without Bluetooth

    Signed-off-by: Evan Maddock <[email protected]>
    EbonJaeger authored and JoshStrobl committed Jan 27, 2024
    Configuration menu
    Copy the full SHA
    4b08e87 View commit details
    Browse the repository at this point in the history
  55. WIP - sendto implementation

    Signed-off-by: Evan Maddock <[email protected]>
    EbonJaeger authored and JoshStrobl committed Jan 27, 2024
    Configuration menu
    Copy the full SHA
    f92036e View commit details
    Browse the repository at this point in the history
  56. [WIP] bluetooth: Implement bluetooth sendto functionality

    Signed-off-by: Evan Maddock <[email protected]>
    EbonJaeger authored and JoshStrobl committed Jan 27, 2024
    Configuration menu
    Copy the full SHA
    e58bd4b View commit details
    Browse the repository at this point in the history
  57. sendto: Fix command line arguments

    Signed-off-by: Evan Maddock <[email protected]>
    EbonJaeger authored and JoshStrobl committed Jan 27, 2024
    Configuration menu
    Copy the full SHA
    3a20022 View commit details
    Browse the repository at this point in the history
  58. sendto: Better description for files arg

    Signed-off-by: Evan Maddock <[email protected]>
    EbonJaeger authored and JoshStrobl committed Jan 27, 2024
    Configuration menu
    Copy the full SHA
    28819c0 View commit details
    Browse the repository at this point in the history
  59. sendto: Remember to remove comment

    Signed-off-by: Evan Maddock <[email protected]>
    EbonJaeger authored and JoshStrobl committed Jan 27, 2024
    Configuration menu
    Copy the full SHA
    6d71f89 View commit details
    Browse the repository at this point in the history
  60. sendto: Properly exit if the file picker or scan dialog is closed

    Signed-off-by: Evan Maddock <[email protected]>
    EbonJaeger authored and JoshStrobl committed Jan 27, 2024
    Configuration menu
    Copy the full SHA
    92de442 View commit details
    Browse the repository at this point in the history
  61. bluetooth-indicator: Hook up file send button in the header

    Signed-off-by: Evan Maddock <[email protected]>
    EbonJaeger authored and JoshStrobl committed Jan 27, 2024
    Configuration menu
    Copy the full SHA
    9f73a8d View commit details
    Browse the repository at this point in the history
  62. sendto: Implement file receiving, which manages to break everything

    Signed-off-by: Evan Maddock <[email protected]>
    EbonJaeger authored and JoshStrobl committed Jan 27, 2024
    Configuration menu
    Copy the full SHA
    2788220 View commit details
    Browse the repository at this point in the history
  63. bluetooth/sendto: Fix issues with no transfer dialog windows being shown

    Also fixes saving received files to the Downloads folder.
    
    Signed-off-by: Evan Maddock <[email protected]>
    EbonJaeger authored and JoshStrobl committed Jan 27, 2024
    Configuration menu
    Copy the full SHA
    1f51606 View commit details
    Browse the repository at this point in the history
  64. sendto: Correct attribution in file headers

    Signed-off-by: Evan Maddock <[email protected]>
    EbonJaeger authored and JoshStrobl committed Jan 27, 2024
    Configuration menu
    Copy the full SHA
    c65652d View commit details
    Browse the repository at this point in the history
  65. sendto: Add spacing in dialogs

    Signed-off-by: Evan Maddock <[email protected]>
    EbonJaeger authored and JoshStrobl committed Jan 27, 2024
    Configuration menu
    Copy the full SHA
    181545e View commit details
    Browse the repository at this point in the history
  66. sendto: Cancel the transfer on cancel/reject

    This means that the sending device will no longer still send the file, even if the transfer was rejected.
    
    Signed-off-by: Evan Maddock <[email protected]>
    EbonJaeger authored and JoshStrobl committed Jan 27, 2024
    Configuration menu
    Copy the full SHA
    0aef339 View commit details
    Browse the repository at this point in the history
  67. bluetooth-indicator: Use symbolic icons for the tray item

    Signed-off-by: Evan Maddock <[email protected]>
    EbonJaeger authored and JoshStrobl committed Jan 27, 2024
    Configuration menu
    Copy the full SHA
    8f0a34a View commit details
    Browse the repository at this point in the history
  68. sendto: Filter devices in the device chooser by connected state

    Signed-off-by: Evan Maddock <[email protected]>
    EbonJaeger authored and JoshStrobl committed Jan 27, 2024
    Configuration menu
    Copy the full SHA
    419cae4 View commit details
    Browse the repository at this point in the history
  69. sendto: Let's actually use the grid we're creating for the header

    Signed-off-by: Evan Maddock <[email protected]>
    EbonJaeger authored and JoshStrobl committed Jan 27, 2024
    Configuration menu
    Copy the full SHA
    54cddb8 View commit details
    Browse the repository at this point in the history
  70. sendto: Somehow these files were using spaces instead of tabs

    Signed-off-by: Evan Maddock <[email protected]>
    EbonJaeger authored and JoshStrobl committed Jan 27, 2024
    Configuration menu
    Copy the full SHA
    7c40c6e View commit details
    Browse the repository at this point in the history
  71. sendto: Add titles and margins to send and receive dialogs

    Signed-off-by: Evan Maddock <[email protected]>
    EbonJaeger authored and JoshStrobl committed Jan 27, 2024
    Configuration menu
    Copy the full SHA
    b9a67b5 View commit details
    Browse the repository at this point in the history
  72. sendto: Cleanup

    Signed-off-by: Evan Maddock <[email protected]>
    EbonJaeger authored and JoshStrobl committed Jan 27, 2024
    Configuration menu
    Copy the full SHA
    d022e6b View commit details
    Browse the repository at this point in the history
  73. sendto: Use the correct property when looking for changes

    Signed-off-by: Evan Maddock <[email protected]>
    EbonJaeger authored and JoshStrobl committed Jan 27, 2024
    Configuration menu
    Copy the full SHA
    c3a682d View commit details
    Browse the repository at this point in the history
  74. sendto: Refactor format_time function

    Signed-off-by: Evan Maddock <[email protected]>
    EbonJaeger authored and JoshStrobl committed Jan 27, 2024
    Configuration menu
    Copy the full SHA
    05e95d2 View commit details
    Browse the repository at this point in the history
  75. Apply suggestions from code review

    Co-authored-by: Joshua Strobl <[email protected]>
    EbonJaeger and JoshStrobl committed Jan 27, 2024
    Configuration menu
    Copy the full SHA
    1a55093 View commit details
    Browse the repository at this point in the history
  76. sendto: Add new base dialog class

    Both the send and receive dialogs are almost the same, the main difference being in the background implementation and wording of strings. This causes some duplicated logic, especially around the formatting of times remaining.
    
    This adds a new base class that both dialogs can derive from while still having their own implementations for doing the work, leading to less duplicated code.
    
    Signed-off-by: Evan Maddock <[email protected]>
    EbonJaeger authored and JoshStrobl committed Jan 27, 2024
    Configuration menu
    Copy the full SHA
    bac7e64 View commit details
    Browse the repository at this point in the history
  77. bluetooth-indicator: Address feedback from fossfreedom

    Signed-off-by: Evan Maddock <[email protected]>
    EbonJaeger authored and JoshStrobl committed Jan 27, 2024
    Configuration menu
    Copy the full SHA
    81a2bfc View commit details
    Browse the repository at this point in the history
  78. Configuration menu
    Copy the full SHA
    32cd3ab View commit details
    Browse the repository at this point in the history
  79. bluetooth-indicator: Fix button relief and device class checks

    Signed-off-by: Evan Maddock <[email protected]>
    EbonJaeger authored and JoshStrobl committed Jan 27, 2024
    Configuration menu
    Copy the full SHA
    4a16257 View commit details
    Browse the repository at this point in the history
  80. Configuration menu
    Copy the full SHA
    1a46306 View commit details
    Browse the repository at this point in the history
  81. bluetooth-indicator: Remove debugging message

    Signed-off-by: Evan Maddock <[email protected]>
    EbonJaeger authored and JoshStrobl committed Jan 27, 2024
    Configuration menu
    Copy the full SHA
    891839e View commit details
    Browse the repository at this point in the history