dash: Make the tooltip and hover effect sync up to the real insensitivity
We shouldn't display "Remove from Favorites" when dropping on the button will do nothing. https://bugzilla.gnome.org/show_bug.cgi?id=685313
This commit is contained in:
parent
52871c781a
commit
245e43ea8c
@ -262,7 +262,7 @@ const ShowAppsIcon = new Lang.Class({
|
|||||||
this.toggleButton._delegate = this;
|
this.toggleButton._delegate = this;
|
||||||
|
|
||||||
this.setChild(this.toggleButton);
|
this.setChild(this.toggleButton);
|
||||||
this.setHover(false);
|
this.setDragApp(null);
|
||||||
this.toggleButton.label_actor = this.label;
|
this.toggleButton.label_actor = this.label;
|
||||||
},
|
},
|
||||||
|
|
||||||
@ -274,12 +274,23 @@ const ShowAppsIcon = new Lang.Class({
|
|||||||
return this._iconActor;
|
return this._iconActor;
|
||||||
},
|
},
|
||||||
|
|
||||||
setHover: function(hovered) {
|
_canRemoveApp: function(app) {
|
||||||
this.toggleButton.set_hover(hovered);
|
if (app == null)
|
||||||
if (this._iconActor)
|
return false;
|
||||||
this._iconActor.set_hover(hovered);
|
|
||||||
|
|
||||||
if (hovered)
|
let id = app.get_id();
|
||||||
|
let isFavorite = AppFavorites.getAppFavorites().isFavorite(id);
|
||||||
|
return isFavorite;
|
||||||
|
},
|
||||||
|
|
||||||
|
setDragApp: function(app) {
|
||||||
|
let canRemove = this._canRemoveApp(app);
|
||||||
|
|
||||||
|
this.toggleButton.set_hover(canRemove);
|
||||||
|
if (this._iconActor)
|
||||||
|
this._iconActor.set_hover(canRemove);
|
||||||
|
|
||||||
|
if (canRemove)
|
||||||
this.setLabelText(_("Remove from Favorites"));
|
this.setLabelText(_("Remove from Favorites"));
|
||||||
else
|
else
|
||||||
this.setLabelText(_("Show Applications"));
|
this.setLabelText(_("Show Applications"));
|
||||||
@ -453,7 +464,10 @@ const Dash = new Lang.Class({
|
|||||||
if (!this._box.contains(dragEvent.targetActor) || showAppsHovered)
|
if (!this._box.contains(dragEvent.targetActor) || showAppsHovered)
|
||||||
this._clearDragPlaceholder();
|
this._clearDragPlaceholder();
|
||||||
|
|
||||||
this._showAppsIcon.setHover(showAppsHovered);
|
if (showAppsHovered)
|
||||||
|
this._showAppsIcon.setDragApp(app);
|
||||||
|
else
|
||||||
|
this._showAppsIcon.setDragApp(null);
|
||||||
|
|
||||||
return DND.DragMotionResult.CONTINUE;
|
return DND.DragMotionResult.CONTINUE;
|
||||||
},
|
},
|
||||||
|
Loading…
Reference in New Issue
Block a user