[gnome-shell] dash: Add tooltip label to show applications icon
- From: Jasper St. Pierre <jstpierre src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-shell] dash: Add tooltip label to show applications icon
- Date: Wed, 22 Aug 2012 18:55:46 +0000 (UTC)
commit 3fafe0da07acdb7f33d00fb841a4b04e89023ba0
Author: Jasper St. Pierre <jstpierre mecheye net>
Date: Wed Aug 22 06:46:28 2012 -0300
dash: Add tooltip label to show applications icon
Make the tooltip dependent on whether we are currently dragging
on hover or not.
https://bugzilla.gnome.org/show_bug.cgi?id=682445
js/ui/dash.js | 35 +++++++++++++++++++++--------------
1 files changed, 21 insertions(+), 14 deletions(-)
---
diff --git a/js/ui/dash.js b/js/ui/dash.js
index 47f6f4d..6fcd70d 100644
--- a/js/ui/dash.js
+++ b/js/ui/dash.js
@@ -250,6 +250,7 @@ const ShowAppsIcon = new Lang.Class({
this.toggleButton._delegate = this;
this.setChild(this.toggleButton);
+ this.setHover(false);
},
_createIcon: function(size) {
@@ -265,6 +266,11 @@ const ShowAppsIcon = new Lang.Class({
this.toggleButton.set_hover(hovered);
if (this._iconActor)
this._iconActor.set_hover(hovered);
+
+ if (hovered)
+ this.setLabelText(_("Remove from Favorites"));
+ else
+ this.setLabelText(_("Show Applications"));
},
// Rely on the dragged item being a favorite
@@ -330,6 +336,7 @@ const Dash = new Lang.Class({
this._showAppsIcon = new ShowAppsIcon();
this._showAppsIcon.icon.setIconSize(this.iconSize);
+ this._hookUpLabel(this._showAppsIcon);
this.showAppsButton = this._showAppsIcon.toggleButton;
@@ -428,6 +435,17 @@ const Dash = new Lang.Class({
Main.queueDeferredWork(this._workId);
},
+ _hookUpLabel: function(item) {
+ item.child.connect('notify::hover', Lang.bind(this, function() {
+ this._onHover(item);
+ }));
+
+ Main.overview.connect('hiding', Lang.bind(this, function() {
+ this._labelShowing = false;
+ item.hideLabel();
+ }));
+ },
+
_createAppItem: function(app) {
let display = new AppDisplay.AppWellIcon(app,
{ setSizeManually: true,
@@ -447,25 +465,14 @@ const Dash = new Lang.Class({
item.setLabelText(app.get_name());
// Override default AppWellIcon label_actor
display.actor.label_actor = item.label;
-
-
display.icon.setIconSize(this.iconSize);
- display.actor.connect('notify::hover',
- Lang.bind(this, function() {
- this._onHover(item, display)
- }));
-
- Main.overview.connect('hiding',
- Lang.bind(this, function() {
- this._labelShowing = false;
- item.hideLabel();
- }));
+ this._hookUpLabel(item);
return item;
},
- _onHover: function (item, display) {
- if (display.actor.get_hover() && !display.isMenuUp) {
+ _onHover: function (item) {
+ if (item.child.get_hover() && !item.child._delegate.isMenuUp) {
if (this._showLabelTimeoutId == 0) {
let timeout = this._labelShowing ? 0 : DASH_ITEM_HOVER_TIMEOUT;
this._showLabelTimeoutId = Mainloop.timeout_add(timeout,
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]