[gnome-shell/gnome-3-8] appDisplay: Also account for folder popup's close buttons
- From: Florian Müllner <fmuellner src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-shell/gnome-3-8] appDisplay: Also account for folder popup's close buttons
- Date: Mon, 20 May 2013 16:21:44 +0000 (UTC)
commit b18c239240e57151cd4d7d835d7062be84d49e6e
Author: Florian Müllner <fmuellner gnome org>
Date: Thu May 16 19:35:12 2013 +0200
appDisplay: Also account for folder popup's close buttons
As the close button of folder popups overlaps at the top, it ends
up being cut off if the folder is located at the very top of the
view. Fix this glitch by taking the button's overlap into account
in that case.
https://bugzilla.gnome.org/show_bug.cgi?id=694371
js/ui/appDisplay.js | 14 ++++++++------
1 files changed, 8 insertions(+), 6 deletions(-)
---
diff --git a/js/ui/appDisplay.js b/js/ui/appDisplay.js
index e46897f..0a9f3c1 100644
--- a/js/ui/appDisplay.js
+++ b/js/ui/appDisplay.js
@@ -579,9 +579,11 @@ const FolderIcon = new Lang.Class({
// Position the popup above or below the source icon
if (side == St.Side.BOTTOM) {
this._popup.actor.show();
+ let closeButtonOffset = -this._popup.closeButton.translation_y;
let y = this.actor.y - this._popup.actor.height;
- this._popup.parentOffset = y < 0 ? -y : 0;
- this._popup.actor.y = Math.max(y, 0);
+ let yWithButton = y - closeButtonOffset;
+ this._popup.parentOffset = yWithButton < 0 ? -yWithButton : 0;
+ this._popup.actor.y = Math.max(y, closeButtonOffset);
this._popup.actor.hide();
} else {
this._popup.actor.y = this.actor.y + this.actor.height;
@@ -628,11 +630,11 @@ const AppFolderPopup = new Lang.Class({
this.actor.add_actor(this._boxPointer.actor);
this._boxPointer.bin.set_child(this._view.actor);
- let closeButton = Util.makeCloseButton();
- closeButton.connect('clicked', Lang.bind(this, this.popdown));
- this.actor.add_actor(closeButton);
+ this.closeButton = Util.makeCloseButton();
+ this.closeButton.connect('clicked', Lang.bind(this, this.popdown));
+ this.actor.add_actor(this.closeButton);
- this._boxPointer.actor.bind_property('opacity', closeButton, 'opacity',
+ this._boxPointer.actor.bind_property('opacity', this.closeButton, 'opacity',
GObject.BindingFlags.SYNC_CREATE);
global.focus_manager.add_group(this.actor);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]