diff options
author | Mike Gabriel <mike.gabriel@das-netzwerkteam.de> | 2021-12-15 14:43:07 +0100 |
---|---|---|
committer | Mike Gabriel <mike.gabriel@das-netzwerkteam.de> | 2021-12-15 14:43:07 +0100 |
commit | aed99ec2f8f5b434e92afbb6d9e2dc0b243c7a8a (patch) | |
tree | 80e4999e6d8d684919f236acbcf8d45897f2fcab | |
parent | 2022bfc52e277437bc7fa0ab74d5a3560daa54e0 (diff) | |
parent | 706ba0db4d54b8268e7ee634b54f7fae5c2d870b (diff) | |
download | ayatana-indicator-bluetooth-aed99ec2f8f5b434e92afbb6d9e2dc0b243c7a8a.tar.gz ayatana-indicator-bluetooth-aed99ec2f8f5b434e92afbb6d9e2dc0b243c7a8a.tar.bz2 ayatana-indicator-bluetooth-aed99ec2f8f5b434e92afbb6d9e2dc0b243c7a8a.zip |
Merge branch 'tari01-pr/fix-device-section-layout'
Attributes GH PR #36: https://github.com/AyatanaIndicators/ayatana-indicator-bluetooth/pull/36
-rw-r--r-- | src/desktop.vala | 27 |
1 files changed, 23 insertions, 4 deletions
diff --git a/src/desktop.vala b/src/desktop.vala index 56b61cb..ae9b0db 100644 --- a/src/desktop.vala +++ b/src/desktop.vala @@ -60,6 +60,14 @@ class Desktop: Profile actions += create_browse_files_action (); actions += create_send_file_action (); actions += create_show_settings_action (); + + if (!AyatanaCommon.utils_is_lomiri()) + { + SimpleAction pAction = new SimpleAction ("item-enabled", VariantType.BOOLEAN); + pAction.set_enabled(false); + actions += pAction; + } + foreach (var a in actions) action_group.add_action (a); @@ -177,7 +185,9 @@ class Desktop: Profile } // only show the device if it's got actions that we can perform on it - if (submenu.get_n_items () > 0) + int nItems = submenu.get_n_items(); + + if (nItems > 0) { item = new MenuItem (device.name, null); item.set_attribute_value ("icon", device.icon.serialize()); @@ -185,13 +195,22 @@ class Desktop: Profile if (AyatanaCommon.utils_is_lomiri()) { item.set_submenu (submenu); + device_section.append_item (item); } else { - item.set_section (submenu); + item.set_detailed_action("indicator.item-enabled"); + item.set_attribute("x-ayatana-type", "s", "org.ayatana.indicator.basic"); + item.set_attribute("x-ayatana-use-markup", "b", true); + item.set_label("<b>" + device.name + "</b>"); + device_section.append_item(item); + + for (int nItem = 0; nItem < nItems; nItem++) + { + MenuItem pItem = new MenuItem.from_model(submenu, nItem); + device_section.append_item(pItem); + } } - - device_section.append_item (item); } } } |