[gnome-shell/gbsneto/icon-grid-dnd-fixes: 17/19] appDisplay: Allow passing callback to AppFolderDialog.popdown()
- From: Georges Basile Stavracas Neto <gbsneto src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-shell/gbsneto/icon-grid-dnd-fixes: 17/19] appDisplay: Allow passing callback to AppFolderDialog.popdown()
- Date: Fri, 2 Oct 2020 16:31:18 +0000 (UTC)
commit ade15ed8fd4e1aee7cc5cef22a55591dd315d4d2
Author: Georges Basile Stavracas Neto <georges stavracas gmail com>
Date: Thu Sep 24 16:31:00 2020 -0300
appDisplay: Allow passing callback to AppFolderDialog.popdown()
Next commit will allow removing icons from the folder, and we want to
do that effectively after the dialog pops down.
Add an optional callback to AppFolderDialog.popdown().
https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1447
js/ui/appDisplay.js | 16 +++++++++++++++-
1 file changed, 15 insertions(+), 1 deletion(-)
---
diff --git a/js/ui/appDisplay.js b/js/ui/appDisplay.js
index fa2782d81e..43bab2db98 100644
--- a/js/ui/appDisplay.js
+++ b/js/ui/appDisplay.js
@@ -2093,6 +2093,8 @@ var AppFolderDialog = GObject.registerClass({
this._sourceMappedId = 0;
this._popdownTimeoutId = 0;
this._needsZoomAndFade = false;
+
+ this._popdownCallbacks = [];
}
_addFolderNameEntry() {
@@ -2297,6 +2299,9 @@ var AppFolderDialog = GObject.registerClass({
opacity: 255,
});
this.hide();
+
+ this._popdownCallbacks.forEach(func => func());
+ this._popdownCallbacks = [];
},
});
@@ -2477,7 +2482,16 @@ var AppFolderDialog = GObject.registerClass({
this.emit('open-state-changed', true);
}
- popdown() {
+ popdown(callback) {
+ // Either call the callback right away, or wait for the zoom out
+ // animation to finish
+ if (callback) {
+ if (this.visible)
+ this._popdownCallbacks.push(callback);
+ else
+ callback();
+ }
+
if (!this._isOpen)
return;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]