From 65191d83b40dd8a10f4833d8e189bdb0e0fa10f2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20M=C3=BCllner?= Date: Wed, 29 May 2019 08:45:47 +0000 Subject: [PATCH] drive-menu: Adjust to GObject-ification of menu items https://gitlab.gnome.org/GNOME/gnome-shell-extensions/merge_requests/67 --- extensions/drive-menu/extension.js | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/extensions/drive-menu/extension.js b/extensions/drive-menu/extension.js index b759254e..41e30a39 100644 --- a/extensions/drive-menu/extension.js +++ b/extensions/drive-menu/extension.js @@ -12,29 +12,32 @@ const ShellMountOperation = imports.ui.shellMountOperation; const ExtensionUtils = imports.misc.extensionUtils; +var MountMenuItem = GObject.registerClass( class MountMenuItem extends PopupMenu.PopupBaseMenuItem { - constructor(mount) { - super(); + _init(mount) { + super._init(); this.label = new St.Label({ text: mount.get_name() }); - this.actor.add(this.label, { expand: true }); - this.actor.label_actor = this.label; + this.add(this.label, { expand: true }); + this.label_actor = this.label; this.mount = mount; + this.connect('destroy', this._onDestroy.bind(this)); + let ejectIcon = new St.Icon({ icon_name: 'media-eject-symbolic', style_class: 'popup-menu-icon' }); let ejectButton = new St.Button({ child: ejectIcon }); ejectButton.connect('clicked', this._eject.bind(this)); - this.actor.add(ejectButton); + this.add(ejectButton); this._changedId = mount.connect('changed', this._syncVisibility.bind(this)); this._syncVisibility(); } - destroy() { + _onDestroy() { if (this._changedId) { this.mount.disconnect(this._changedId); this._changedId = 0; @@ -61,7 +64,7 @@ class MountMenuItem extends PopupMenu.PopupBaseMenuItem { } _syncVisibility() { - this.actor.visible = this._isInteresting(); + this.visible = this._isInteresting(); } _eject() { @@ -108,7 +111,7 @@ class MountMenuItem extends PopupMenu.PopupBaseMenuItem { super.activate(event); } -} +}); let DriveMenu = GObject.registerClass( class DriveMenu extends PanelMenu.Button {