From d555be0a642d11eb73d6c4faa857ec24af66e85a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20M=C3=BCllner?= Date: Sat, 23 Jul 2022 17:13:22 +0200 Subject: [PATCH] status/powerProfiles: Add image to menu items We want the icons when we move to quick settings: https://gitlab.gnome.org/Teams/Design/os-mockups/-/raw/master/system-status/quick-settings/quick-toggles-mvp.png Part-of: --- js/ui/status/powerProfiles.js | 33 ++++++++++++++++++++------------- 1 file changed, 20 insertions(+), 13 deletions(-) diff --git a/js/ui/status/powerProfiles.js b/js/ui/status/powerProfiles.js index 681054859..00e4e42e7 100644 --- a/js/ui/status/powerProfiles.js +++ b/js/ui/status/powerProfiles.js @@ -15,15 +15,21 @@ const OBJECT_PATH = '/net/hadess/PowerProfiles'; const PowerProfilesIface = loadInterfaceXML('net.hadess.PowerProfiles'); const PowerProfilesProxy = Gio.DBusProxy.makeProxyWrapper(PowerProfilesIface); -const PROFILE_LABELS = { - 'performance': C_('Power profile', 'Performance'), - 'balanced': C_('Power profile', 'Balanced'), - 'power-saver': C_('Power profile', 'Power Saver'), -}; -const PROFILE_ICONS = { - 'performance': 'power-profile-performance-symbolic', - 'balanced': 'power-profile-balanced-symbolic', - 'power-saver': 'power-profile-power-saver-symbolic', +const PROFILE_PARAMS = { + 'performance': { + label: C_('Power profile', 'Performance'), + iconName: 'power-profile-performance-symbolic', + }, + + 'balanced': { + label: C_('Power profile', 'Balanced'), + iconName: 'power-profile-balanced-symbolic', + }, + + 'power-saver': { + label: C_('Power profile', 'Power Saver'), + iconName: 'power-profile-power-saver-symbolic', + }, }; var Indicator = GObject.registerClass( @@ -77,11 +83,11 @@ class Indicator extends PanelMenu.SystemIndicator { .map(p => p.Profile.unpack()) .reverse(); for (const profile of profiles) { - const label = PROFILE_LABELS[profile]; + const {label, iconName} = PROFILE_PARAMS[profile]; if (!label) continue; - const item = new PopupMenu.PopupMenuItem(label); + const item = new PopupMenu.PopupImageMenuItem(label, iconName); item.connect('activate', () => (this._proxy.ActiveProfile = profile)); this._profileItems.set(profile, item); @@ -101,7 +107,8 @@ class Indicator extends PanelMenu.SystemIndicator { : PopupMenu.Ornament.NONE); } - this._item.label.text = PROFILE_LABELS[this._proxy.ActiveProfile]; - this._item.icon.icon_name = PROFILE_ICONS[this._proxy.ActiveProfile]; + const {label, iconName} = PROFILE_PARAMS[this._proxy.ActiveProfile]; + this._item.label.text = label; + this._item.icon.icon_name = iconName; } });