dash: Refactor favRemoveTarget to showAppsIcon

In the new designs, we no longer need favRemoveTarget. As it shares a lot
of its functionality with the new showAppsIcon, we refactor and restyle it
accordingly.

https://bugzilla.gnome.org/show_bug.cgi?id=682109
This commit is contained in:
Joost Verdoorn 2012-08-14 16:34:14 +02:00 committed by Florian Müllner
parent 2ee6f49a93
commit 27fbe4cd83
2 changed files with 56 additions and 32 deletions

View File

@ -49,7 +49,7 @@ stage {
.window-caption, .window-caption,
.switcher-list, .switcher-list,
.app-well-app > .overview-icon, .app-well-app > .overview-icon,
.remove-favorite > .overview-icon, .show-apps > .overview-icon,
.search-result-content > .overview-icon { .search-result-content > .overview-icon {
font-size: 9pt; font-size: 9pt;
font-weight: bold; font-weight: bold;
@ -803,21 +803,12 @@ StButton.popup-menu-item:insensitive {
outline: 1px solid #aaa; outline: 1px solid #aaa;
} }
.dash-item-container > .app-well-app { .dash-item-container > StButton {
padding: 4px 8px; padding: 4px 8px;
} }
.remove-favorite-icon {
color: #a0a0a0;
}
.remove-favorite-icon:hover {
color: white;
icon-shadow: black 0px 2px 2px;
}
.app-well-app > .overview-icon, .app-well-app > .overview-icon,
.remove-favorite > .overview-icon, .show-apps > .overview-icon,
.search-result-content > .overview-icon { .search-result-content > .overview-icon {
border-radius: 4px; border-radius: 4px;
padding: 3px; padding: 3px;
@ -833,15 +824,44 @@ StButton.popup-menu-item:insensitive {
} }
.app-well-app:hover > .overview-icon, .app-well-app:hover > .overview-icon,
.remove-favorite:hover > .overview-icon, .show-apps:hover > .overview-icon,
.search-result-content:hover > .overview-icon { .search-result-content:hover > .overview-icon {
background-color: rgba(255,255,255,0.1); background-color: rgba(255,255,255,0.1);
text-shadow: black 0px 2px 2px; text-shadow: black 0px 2px 2px;
transition-duration: 100; transition-duration: 100;
color:white;
}
.show-apps {
padding: 4px 0;
}
.show-apps-icon {
color: #a0a0a0;
}
.show-apps:hover .show-apps-icon {
color: white;
}
.show-apps:checked > .overview-icon {
background-gradient-start: rgba(255, 255, 255, .05);
background-gradient-end: rgba(255, 255, 255, .15);
background-gradient-direction: vertical;
border-radius: 4px;
box-shadow: inset 0px 1px 2px 0px rgba(0, 0, 0, 1);
transition-duration: 100;
}
.show-apps:checked .show-apps-icon,
.show-apps:focus .show-apps-icon {
color: white;
transition-duration: 100;
} }
.app-well-app:focus > .overview-icon, .app-well-app:focus > .overview-icon,
.search-result-content:focus > .overview-icon, .search-result-content:focus > .overview-icon,
.show-apps:focus > .overview-icon,
.app-well-app:selected > .overview-icon, .app-well-app:selected > .overview-icon,
.search-result-content:selected > .overview-icon { .search-result-content:selected > .overview-icon {
background-color: rgba(255,255,255,0.33); background-color: rgba(255,255,255,0.33);

View File

@ -226,34 +226,39 @@ const DashItemContainer = new Lang.Class({
} }
}); });
const RemoveFavoriteIcon = new Lang.Class({ const ShowAppsIcon = new Lang.Class({
Name: 'RemoveFavoriteIcon', Name: 'ShowAppsIcon',
Extends: DashItemContainer, Extends: DashItemContainer,
_init: function() { _init: function() {
this.parent(); this.parent();
this._iconBin = new St.Bin({ style_class: 'remove-favorite' }); this._button = new St.Button({ style_class: 'show-apps',
track_hover: true,
can_focus: true,
toggle_mode: true });
this._iconActor = null; this._iconActor = null;
this.icon = new IconGrid.BaseIcon(_("Remove"), this.icon = new IconGrid.BaseIcon(_("Show Applications"),
{ setSizeManually: true, { setSizeManually: true,
showLabel: false, showLabel: false,
createIcon: Lang.bind(this, this._createIcon) }); createIcon: Lang.bind(this, this._createIcon) });
this._iconBin.set_child(this.icon.actor); this._button.add_actor(this.icon.actor);
this._iconBin._delegate = this; this._button._delegate = this;
this.setChild(this._iconBin); this.setChild(this._button);
}, },
_createIcon: function(size) { _createIcon: function(size) {
this._iconActor = new St.Icon({ icon_name: 'user-trash', this._iconActor = new St.Icon({ icon_name: 'view-grid-symbolic',
style_class: 'remove-favorite-icon', style_class: 'show-apps-icon',
track_hover: true,
icon_type: St.IconType.SYMBOLIC,
icon_size: size }); icon_size: size });
return this._iconActor; return this._iconActor;
}, },
setHover: function(hovered) { setHover: function(hovered) {
this._iconBin.set_hover(hovered); this._button.set_hover(hovered);
if (this._iconActor) if (this._iconActor)
this._iconActor.set_hover(hovered); this._iconActor.set_hover(hovered);
}, },
@ -306,7 +311,6 @@ const Dash = new Lang.Class({
this._dragPlaceholder = null; this._dragPlaceholder = null;
this._dragPlaceholderPos = -1; this._dragPlaceholderPos = -1;
this._animatingPlaceholdersCount = 0; this._animatingPlaceholdersCount = 0;
this._favRemoveTarget = null;
this._showLabelTimeoutId = 0; this._showLabelTimeoutId = 0;
this._resetHoverTimeoutId = 0; this._resetHoverTimeoutId = 0;
this._labelShowing = false; this._labelShowing = false;
@ -320,10 +324,10 @@ const Dash = new Lang.Class({
this._box._delegate = this; this._box._delegate = this;
this._container.add(this._box); this._container.add(this._box);
this._favRemoveTarget = new RemoveFavoriteIcon(); this._showAppsIcon = new ShowAppsIcon();
this._favRemoveTarget.icon.setIconSize(this.iconSize); this._showAppsIcon.icon.setIconSize(this.iconSize);
this._container.add(this._favRemoveTarget.actor); this._container.add(this._showAppsIcon.actor);
this.actor = new St.Bin({ child: this._container, this.actor = new St.Bin({ child: this._container,
y_align: St.Align.START }); y_align: St.Align.START });
@ -397,13 +401,13 @@ const Dash = new Lang.Class({
let srcIsFavorite = (id in favorites); let srcIsFavorite = (id in favorites);
let favRemoveHovered = let showAppsHovered =
this._favRemoveTarget.actor.contains(dragEvent.targetActor); this._showAppsIcon.actor.contains(dragEvent.targetActor);
if (!this._box.contains(dragEvent.targetActor) || favRemoveHovered) if (!this._box.contains(dragEvent.targetActor) || showAppsHovered)
this._clearDragPlaceholder(); this._clearDragPlaceholder();
this._favRemoveTarget.setHover(favRemoveHovered); this._showAppsIcon.setHover(showAppsHovered);
return DND.DragMotionResult.CONTINUE; return DND.DragMotionResult.CONTINUE;
}, },
@ -497,7 +501,7 @@ const Dash = new Lang.Class({
!actor._delegate.animatingOut; !actor._delegate.animatingOut;
}); });
iconChildren.push(this._favRemoveTarget.actor); iconChildren.push(this._showAppsIcon.actor);
if (this._maxHeight == -1) if (this._maxHeight == -1)
return; return;