Make it possible for panels to go all the way to the edge of the
shell. This is particularly important for panels that scroll, such
as the new power panel. All other panels are changed to compensate
for the loss of external padding.
https://bugzilla.gnome.org/show_bug.cgi?id=691229
This makes loading faster, with less I/O, avoids unnecessary
code duplication (around 1k lines shaved), and ensures that
all the panels link and work appropriately.
By the same token, it will stop external panels from being
created, and loaded.
https://bugzilla.gnome.org/show_bug.cgi?id=690036
Rather than having an unusable switch (which wouldn't represent
the real state of the connection), show a spinner until the
connection is finished doing.
The only time we were looking at the powered state of the adapter
is when the killswitch state was changing. Except that we're fast enough
that bluetoothd didn't have time to power up the adapter, so its
state was unpowered, which we would set the switch to.
The switch was off, the adapter was on.
We fix that problem by tracking the powered state of the adapter
separately.
https://bugzilla.redhat.com/show_bug.cgi?id=841881
We used to destroy and recreate the custom widgets whenever any of
the properties changed. Now we make sure that the custom widgets are
only destroyed and recreated when the device selected is a different one.
This fixes NetworkManager's Bluetooth plugins getting destroyed
because the Connected property changed, as it was trying to connect to
the device.
https://bugzilla.gnome.org/show_bug.cgi?id=681456