layout: Create a group for modal dialogs

This way we can ensure that they're always stacked under the OSK.

https://bugzilla.gnome.org/show_bug.cgi?id=719451
This commit is contained in:
Rui Matos 2014-03-18 14:44:44 +01:00
parent 1b78dd662b
commit 2974b29f15
2 changed files with 5 additions and 1 deletions

View File

@ -212,6 +212,10 @@ const LayoutManager = new Lang.Class({
this.addChrome(this.trayBox); this.addChrome(this.trayBox);
this._setupTrayPressure(); this._setupTrayPressure();
this.modalDialogGroup = new St.Widget({ name: 'modalDialogGroup',
layout_manager: new Clutter.BinLayout() });
this.uiGroup.add_actor(this.modalDialogGroup);
this.keyboardBox = new St.BoxLayout({ name: 'keyboardBox', this.keyboardBox = new St.BoxLayout({ name: 'keyboardBox',
reactive: true, reactive: true,
track_hover: true }); track_hover: true });

View File

@ -56,7 +56,7 @@ const ModalDialog = new Lang.Class({
x: 0, x: 0,
y: 0, y: 0,
accessible_role: Atk.Role.DIALOG }); accessible_role: Atk.Role.DIALOG });
Main.uiGroup.add_actor(this._group); Main.layoutManager.modalDialogGroup.add_actor(this._group);
let constraint = new Clutter.BindConstraint({ source: global.stage, let constraint = new Clutter.BindConstraint({ source: global.stage,
coordinate: Clutter.BindCoordinate.ALL }); coordinate: Clutter.BindCoordinate.ALL });