diff --git a/js/extensionPrefs/main.js b/js/extensionPrefs/main.js index 74292957e..4f7499703 100644 --- a/js/extensionPrefs/main.js +++ b/js/extensionPrefs/main.js @@ -8,6 +8,7 @@ const Format = imports.format; const _ = Gettext.gettext; +const Config = imports.misc.config; const ExtensionUtils = imports.misc.extensionUtils; const { loadInterfaceXML } = imports.misc.fileUtils; @@ -84,6 +85,11 @@ var ExtensionsWindow = GObject.registerClass({ this._mainBox.set_focus_vadjustment(this._scrolledWindow.vadjustment); + let action; + action = new Gio.SimpleAction({ name: 'show-about' }); + action.connect('activate', this._showAbout.bind(this)); + this.add_action(action); + this._settings = new Gio.Settings({ schema_id: 'org.gnome.shell' }); this._settings.bind('disable-user-extensions', this._killSwitch, 'active', @@ -159,6 +165,26 @@ var ExtensionsWindow = GObject.registerClass({ return true; } + _showAbout() { + let aboutDialog = new Gtk.AboutDialog({ + authors: [ + 'Florian Müllner ', + 'Jasper St. Pierre ', + 'Didier Roche ', + ], + translator_credits: _('translator-credits'), + program_name: _('Shell Extensions'), + comments: _('Manage your GNOME Extensions'), + license_type: Gtk.License.GPL_2_0, + logo_icon_name: 'org.gnome.Extensions', + version: Config.PACKAGE_VERSION, + + transient_for: this, + modal: true, + }); + aboutDialog.present(); + } + _buildErrorUI(row, exc) { let scroll = new Gtk.ScrolledWindow({ hscrollbar_policy: Gtk.PolicyType.NEVER, diff --git a/js/extensionPrefs/ui/extensions-window.ui b/js/extensionPrefs/ui/extensions-window.ui index a3068033c..29606c7ab 100644 --- a/js/extensionPrefs/ui/extensions-window.ui +++ b/js/extensionPrefs/ui/extensions-window.ui @@ -2,6 +2,18 @@ + +
+ + Help + win.show-help + + + About Extensions + win.show-about + +
+
@@ -60,6 +72,23 @@ + + + True + True + True + primary-menu + + + True + open-menu-symbolic + + + + + end + + True