From 5ebb1a368c658d014a37c7558a71d9bab7b4a8b0 Mon Sep 17 00:00:00 2001 From: Robert Tari Date: Mon, 1 Aug 2022 20:32:52 +0200 Subject: Hide bluetooth icon on hardware without bluetooth support fixes https://github.com/AyatanaIndicators/ayatana-indicator-bluetooth/issues/42 --- src/desktop.vala | 7 ++++++- src/profile.vala | 11 +++++++++-- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/src/desktop.vala b/src/desktop.vala index c70d49a..b7b48fd 100644 --- a/src/desktop.vala +++ b/src/desktop.vala @@ -1,6 +1,6 @@ /* * Copyright 2013 Canonical Ltd. - * Copyright 2021 Robert Tari + * Copyright 2021-2022 Robert Tari * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -80,6 +80,11 @@ class Desktop: Profile bluetooth.notify["supported"].connect (() => update_visibility()); update_visibility (); } + else + { + bluetooth.notify["supported"].connect (() => update_root_action_state()); + update_root_action_state(); + } // when devices change, rebuild our device section bluetooth.devices_changed.connect (()=> { diff --git a/src/profile.vala b/src/profile.vala index 69de0c5..4590e7c 100644 --- a/src/profile.vala +++ b/src/profile.vala @@ -1,5 +1,6 @@ /* * Copyright 2013 Canonical Ltd. + * Copyright 2022 Robert Tari * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -15,6 +16,7 @@ * * Authors: * Charles Kerr + * Robert Tari */ class Profile: Object @@ -167,8 +169,13 @@ class Profile: Object var icon = new ThemedIcon.with_default_fallbacks (icon_name); var builder = new VariantBuilder (new VariantType ("a{sv}")); builder.add ("{sv}", "visible", new Variant.boolean (visible)); - builder.add ("{sv}", "accessible-desc", new Variant.string (a11y)); - builder.add ("{sv}", "icon", icon.serialize()); + + if (bluetooth.supported && visible) + { + builder.add ("{sv}", "accessible-desc", new Variant.string (a11y)); + builder.add ("{sv}", "icon", icon.serialize()); + } + builder.add ("{sv}", "title", new Variant.string (_("Bluetooth"))); return builder.end (); -- cgit v1.2.3