From b82b553b9e095ba909f8fb1cdee01193f52cb825 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marco=20Trevisan=20=28Trevi=C3=B1o=29?= Date: Tue, 28 May 2019 23:22:37 +0200 Subject: [PATCH] extensionPrefs: Inherit from Gtk.Application Extension preferences Application class is just a container for a GtkApplication so instead of using composition we can inherit from the base GObject class. Also replace signal connections with vfunc's. https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/631 --- js/extensionPrefs/main.js | 35 +++++++++++++++++------------------ 1 file changed, 17 insertions(+), 18 deletions(-) diff --git a/js/extensionPrefs/main.js b/js/extensionPrefs/main.js index f0e604a27..d82dde426 100644 --- a/js/extensionPrefs/main.js +++ b/js/extensionPrefs/main.js @@ -17,18 +17,16 @@ function stripPrefix(string, prefix) { return string; } -var Application = class { - constructor() { +var Application = GObject.registerClass({ + GTypeName: 'ExtensionPrefs_Application' +}, class Application extends Gtk.Application { + _init() { GLib.set_prgname('gnome-shell-extension-prefs'); - this.application = new Gtk.Application({ + super._init({ application_id: 'org.gnome.shell.ExtensionPrefs', flags: Gio.ApplicationFlags.HANDLES_COMMAND_LINE }); - this.application.connect('activate', this._onActivate.bind(this)); - this.application.connect('command-line', this._onCommandLine.bind(this)); - this.application.connect('startup', this._onStartup.bind(this)); - this._extensionPrefsModules = {}; this._startupUuid = null; @@ -84,7 +82,7 @@ var Application = class { visible: true })); if (this._skipMainWindow) { - this.application.add_window(dialog); + this.add_window(dialog); if (this._window) this._window.destroy(); this._window = dialog; @@ -213,8 +211,8 @@ var Application = class { return scroll; } - _buildUI(app) { - this._window = new Gtk.ApplicationWindow({ application: app, + _buildUI() { + this._window = new Gtk.ApplicationWindow({ application: this, window_position: Gtk.WindowPosition.CENTER }); this._window.set_default_size(800, 500); @@ -302,17 +300,19 @@ var Application = class { this._loaded = true; } - _onActivate() { + vfunc_activate() { this._window.present(); } - _onStartup(app) { - this._buildUI(app); + vfunc_startup() { + super.vfunc_startup(); + + this._buildUI(); this._scanExtensions(); } - _onCommandLine(app, commandLine) { - app.activate(); + vfunc_command_line(commandLine) { + this.activate(); let args = commandLine.get_arguments(); if (args.length) { @@ -332,7 +332,7 @@ var Application = class { } return 0; } -}; +}); var Expander = GObject.registerClass({ Properties: { @@ -638,6 +638,5 @@ function main(argv) { Gettext.bindtextdomain(Config.GETTEXT_PACKAGE, Config.LOCALEDIR); Gettext.textdomain(Config.GETTEXT_PACKAGE); - let app = new Application(); - app.application.run(argv); + new Application().run(argv); }