mirror of
https://github.com/edu4rdshl/gnome-shell.git
synced 2026-07-17 23:24:51 +00:00
shellEntry: Add an animation when opening the menu
This commit is contained in:
parent
6a00a504d4
commit
a9b12d5d73
1 changed files with 8 additions and 7 deletions
|
|
@ -5,6 +5,7 @@ const Gtk = imports.gi.Gtk;
|
|||
const Lang = imports.lang;
|
||||
const St = imports.gi.St;
|
||||
|
||||
const BoxPointer = imports.ui.boxpointer;
|
||||
const Main = imports.ui.main;
|
||||
const Params = imports.misc.params;
|
||||
const PopupMenu = imports.ui.popupMenu;
|
||||
|
|
@ -67,7 +68,7 @@ const EntryMenu = new Lang.Class({
|
|||
}
|
||||
},
|
||||
|
||||
open: function() {
|
||||
open: function(animate) {
|
||||
this._updatePasteItem();
|
||||
this._updateCopyItem();
|
||||
if (this._passwordItem)
|
||||
|
|
@ -77,13 +78,13 @@ const EntryMenu = new Lang.Class({
|
|||
if (!this.actor.navigate_focus(null, direction, false))
|
||||
this.actor.grab_key_focus();
|
||||
|
||||
this.parent();
|
||||
this.parent(animate);
|
||||
this._entry.add_style_pseudo_class('focus');
|
||||
},
|
||||
|
||||
close: function() {
|
||||
close: function(animate) {
|
||||
this._entry.grab_key_focus();
|
||||
this.parent();
|
||||
this.parent(animate);
|
||||
},
|
||||
|
||||
_updateCopyItem: function() {
|
||||
|
|
@ -136,12 +137,12 @@ function _setMenuAlignment(entry, stageX) {
|
|||
|
||||
function _onButtonPressEvent(actor, event, entry) {
|
||||
if (entry.menu.isOpen) {
|
||||
entry.menu.close();
|
||||
entry.menu.close(BoxPointer.PopupAnimation.FULL);
|
||||
return true;
|
||||
} else if (event.get_button() == 3) {
|
||||
let [stageX, stageY] = event.get_coords();
|
||||
_setMenuAlignment(entry, stageX);
|
||||
entry.menu.open();
|
||||
entry.menu.open(BoxPointer.PopupAnimation.FULL);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
|
|
@ -151,7 +152,7 @@ function _onPopup(actor, entry) {
|
|||
let [success, textX, textY, lineHeight] = entry.clutter_text.position_to_coords(-1);
|
||||
if (success)
|
||||
entry.menu.setSourceAlignment(textX / entry.width);
|
||||
entry.menu.open();
|
||||
entry.menu.open(BoxPointer.PopupAnimation.FULL);
|
||||
};
|
||||
|
||||
function addContextMenu(entry, params) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue