[gnome-shell] dbusServices/extensions: Handle parentWindow parameter
- From: Florian Müllner <fmuellner src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-shell] dbusServices/extensions: Handle parentWindow parameter
- Date: Thu, 26 Mar 2020 17:45:54 +0000 (UTC)
commit a90fcb7ddbbf4b2207b3bb46de7359ccc1377f38
Author: Florian Müllner <fmuellner gnome org>
Date: Thu Mar 5 17:19:38 2020 +0100
dbusServices/extensions: Handle parentWindow parameter
Now that the service implements the preference dialog, it's time
to support OpenExtensionPrefs()'s parentWindow parameter and make
the dialog a transient of the external window if specified.
https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1087
js/dbusServices/extensions/extensionsService.js | 13 +++++++++++--
1 file changed, 11 insertions(+), 2 deletions(-)
---
diff --git a/js/dbusServices/extensions/extensionsService.js b/js/dbusServices/extensions/extensionsService.js
index 4823738469..9d444c5510 100644
--- a/js/dbusServices/extensions/extensionsService.js
+++ b/js/dbusServices/extensions/extensionsService.js
@@ -1,7 +1,7 @@
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
/* exported ExtensionsService */
-const { Gdk, Gio, GLib, GObject, Gtk } = imports.gi;
+const { Gdk, Gio, GLib, GObject, Gtk, Shew } = imports.gi;
const ExtensionUtils = imports.misc.extensionUtils;
@@ -110,7 +110,7 @@ var ExtensionsService = class extends ServiceImplementation {
}
OpenExtensionPrefsAsync(params, invocation) {
- const [uuid, parentWindow_, options] = params;
+ const [uuid, parentWindow, options] = params;
this._proxy.GetExtensionInfoRemote(uuid, (res, error) => {
if (this._handleError(invocation, error))
@@ -120,6 +120,15 @@ var ExtensionsService = class extends ServiceImplementation {
const extension = ExtensionUtils.deserializeExtension(serialized);
const window = new ExtensionPrefsDialog(extension);
+ window.realize();
+
+ let externalWindow = null;
+
+ if (parentWindow)
+ externalWindow = Shew.ExternalWindow.new_from_handle(parentWindow);
+
+ if (externalWindow)
+ externalWindow.set_parent_of(window.window);
if (options.modal)
window.modal = options.modal.get_boolean();
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]