appDisplay: Rename popup API to dialog

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/896
This commit is contained in:
Georges Basile Stavracas Neto 2019-12-12 16:00:01 -03:00
parent 53c12dc33e
commit 7781f973f2

View File

@ -365,19 +365,19 @@ var AllView = GObject.registerClass({
this._clickAction = new Clutter.ClickAction();
this._clickAction.connect('clicked', () => {
if (!this._currentPopup)
if (!this._currentDialog)
return;
let [x, y] = this._clickAction.get_coords();
let actor = global.stage.get_actor_at_pos(Clutter.PickMode.ALL, x, y);
if (!this._currentPopup.contains(actor))
this._currentPopup.popdown();
if (!this._currentDialog.contains(actor))
this._currentDialog.popdown();
});
this._eventBlocker.add_action(this._clickAction);
this._currentPopup = null;
this._displayingPopup = false;
this._currentPopupDestroyId = 0;
this._currentDialog = null;
this._displayingDialog = false;
this._currentDialogDestroyId = 0;
this._canScroll = true; // limiting scrolling speed
this._scrollTimeoutId = 0;
@ -397,7 +397,7 @@ var AllView = GObject.registerClass({
this.emit('space-ready');
});
this._grid.connect('space-closed', () => {
this._displayingPopup = false;
this._displayingDialog = false;
});
this._redisplayWorkId = Main.initializeDeferredWork(this, this._redisplay.bind(this));
@ -548,8 +548,8 @@ var AllView = GObject.registerClass({
};
if (animationDirection == IconGrid.AnimationDirection.OUT &&
this._displayingPopup && this._currentPopup) {
this._currentPopup.popdown();
this._displayingDialog && this._currentDialog) {
this._currentDialog.popdown();
let spaceClosedId = this._grid.connect('space-closed', () => {
this._grid.disconnect(spaceClosedId);
super.animate(animationDirection, completionFunc);
@ -564,9 +564,9 @@ var AllView = GObject.registerClass({
animateSwitch(animationDirection) {
super.animateSwitch(animationDirection);
if (this._currentPopup && this._displayingPopup &&
if (this._currentDialog && this._displayingDialog &&
animationDirection == IconGrid.AnimationDirection.OUT) {
this._currentPopup.ease({
this._currentDialog.ease({
opacity: 0,
duration: VIEWS_SWITCH_TIME,
mode: Clutter.AnimationMode.EASE_OUT_QUAD,
@ -585,10 +585,12 @@ var AllView = GObject.registerClass({
goToPage(pageNumber, animate = true) {
pageNumber = clamp(pageNumber, 0, this._grid.nPages() - 1);
if (this._grid.currentPage == pageNumber && this._displayingPopup && this._currentPopup)
if (this._grid.currentPage === pageNumber &&
this._displayingDialog &&
this._currentDialog)
return;
if (this._displayingPopup && this._currentPopup)
this._currentPopup.popdown();
if (this._displayingDialog && this._currentDialog)
this._currentDialog.popdown();
if (!this.mapped) {
this._adjustment.value = this._grid.getPageY(pageNumber);
@ -611,7 +613,7 @@ var AllView = GObject.registerClass({
openSpaceForPopup(item, side, nRows) {
this._updateIconOpacities(true);
this._displayingPopup = true;
this._displayingDialog = true;
this._grid.openExtraSpace(item, side, nRows);
}
@ -626,7 +628,7 @@ var AllView = GObject.registerClass({
}
_onScroll(actor, event) {
if (this._displayingPopup || !this._scrollView.reactive)
if (this._displayingDialog || !this._scrollView.reactive)
return Clutter.EVENT_STOP;
if (this._swipeTracker.canHandleScrollEvent(event))
@ -688,7 +690,7 @@ var AllView = GObject.registerClass({
}
_onKeyPressEvent(actor, event) {
if (this._displayingPopup)
if (this._displayingDialog)
return Clutter.EVENT_STOP;
if (event.get_key_symbol() === Clutter.KEY_Page_Up) {
@ -702,23 +704,23 @@ var AllView = GObject.registerClass({
return Clutter.EVENT_PROPAGATE;
}
addFolderPopup(popup) {
this.add_child(popup);
popup.connect('open-state-changed', (o, isOpen) => {
addFolderDialog(dialog) {
this.add_child(dialog);
dialog.connect('open-state-changed', (o, isOpen) => {
this._eventBlocker.visible = isOpen;
if (this._currentPopup) {
this._currentPopup.disconnect(this._currentPopupDestroyId);
this._currentPopupDestroyId = 0;
if (this._currentDialog) {
this._currentDialog.disconnect(this._currentDialogDestroyId);
this._currentDialogDestroyId = 0;
}
this._currentPopup = null;
this._currentDialog = null;
if (isOpen) {
this._currentPopup = popup;
this._currentPopupDestroyId = popup.connect('destroy', () => {
this._currentPopup = null;
this._currentPopupDestroyId = 0;
this._currentDialog = dialog;
this._currentDialogDestroyId = dialog.connect('destroy', () => {
this._currentDialog = null;
this._currentDialogDestroyId = 0;
this._eventBlocker.visible = false;
});
}
@ -872,7 +874,7 @@ var AllView = GObject.registerClass({
this._dragMonitor = null;
}
this._eventBlocker.visible = this._currentPopup !== null;
this._eventBlocker.visible = this._currentDialog !== null;
this._resetOvershoot();
}
@ -901,8 +903,8 @@ var AllView = GObject.registerClass({
let view = _getViewFromIcon(source);
view.removeApp(source.app);
if (this._currentPopup)
this._currentPopup.popdown();
if (this._currentDialog)
this._currentDialog.popdown();
return true;
}
@ -1538,7 +1540,7 @@ var FolderIcon = GObject.registerClass({
path });
this._delegate = this;
// whether we need to update arrow side, position etc.
this._popupInvalidated = false;
this._dialogInvalidated = false;
this.icon = new IconGrid.BaseIcon('', {
createIcon: this._createIcon.bind(this),
@ -1575,8 +1577,8 @@ var FolderIcon = GObject.registerClass({
this._spaceReadySignalId = 0;
}
if (this._popup)
this._popup.destroy();
if (this._dialog)
this._dialog.destroy();
this._removeMenuTimeout();
}
@ -1588,15 +1590,15 @@ var FolderIcon = GObject.registerClass({
vfunc_unmap() {
super.vfunc_unmap();
if (this._popup)
this._popup.popdown();
if (this._dialog)
this._dialog.popdown();
}
open() {
this._removeMenuTimeout();
this._ensurePopup();
this._ensureFolderDialog();
this.view._scrollView.vscroll.adjustment.value = 0;
this._popup.popup();
this._dialog.popup();
}
getAppIds() {
@ -1695,18 +1697,18 @@ var FolderIcon = GObject.registerClass({
return usedHeight;
}
_ensurePopup() {
if (this._popup && !this._popupInvalidated)
_ensureFolderDialog() {
if (this._dialog && !this._dialogInvalidated)
return;
if (!this._popup) {
this._popup = new AppFolderPopup(this);
this._parentView.addFolderPopup(this._popup);
this._popup.connect('open-state-changed', (popup, isOpen) => {
if (!this._dialog) {
this._dialog = new AppFolderDialog(this);
this._parentView.addFolderDialog(this._dialog);
this._dialog.connect('open-state-changed', (popup, isOpen) => {
if (!isOpen)
this.checked = false;
});
}
this._popupInvalidated = false;
this._dialogInvalidated = false;
}
_removeMenuTimeout() {
@ -1785,9 +1787,9 @@ var FolderIcon = GObject.registerClass({
adaptToSize(width, height) {
this._parentAvailableWidth = width;
this._parentAvailableHeight = height;
if (this._popup)
if (this._dialog)
this.view.adaptToSize(width, height);
this._popupInvalidated = true;
this._dialogInvalidated = true;
}
});
@ -1891,11 +1893,11 @@ var RenameFolderMenu = class RenameFolderMenu extends PopupMenu.PopupMenu {
};
Signals.addSignalMethods(RenameFolderMenu.prototype);
var AppFolderPopup = GObject.registerClass({
var AppFolderDialog = GObject.registerClass({
Signals: {
'open-state-changed': { param_types: [GObject.TYPE_BOOLEAN] },
},
}, class AppFolderPopup extends St.Widget {
}, class AppFolderDialog extends St.Widget {
_init(source) {
super._init({
layout_manager: new Clutter.BinLayout(),