app-display: Expose BaseIcon params in AppWellIcon

AppWellIcon is used both in the dash and view selector. As the dash
requires manual sizing, it is not possible to set the icon size used
in the view selector in the CSS, but icons will use the default size
(unless set manually as in the dash).

Expose the params parameter of BaseIcon and enable manual resizing
only for AppWellIcons in the dash.

https://bugzilla.gnome.org/show_bug.cgi?id=639428
This commit is contained in:
Florian Müllner 2011-01-13 16:02:55 +01:00
parent 99a865fb0f
commit 38fb51a99e
2 changed files with 10 additions and 9 deletions

View File

@ -281,21 +281,21 @@ PrefsSearchProvider.prototype = {
}
};
function AppIcon(app) {
this._init(app);
function AppIcon(app, params) {
this._init(app, params);
}
AppIcon.prototype = {
__proto__: IconGrid.BaseIcon.prototype,
_init : function(app) {
_init : function(app, params) {
this.app = app;
let label = this.app.get_name();
IconGrid.BaseIcon.prototype._init.call(this,
label,
{ setSizeManually: true });
params);
},
createIcon: function(iconSize) {
@ -303,12 +303,12 @@ AppIcon.prototype = {
}
};
function AppWellIcon(app) {
this._init(app);
function AppWellIcon(app, iconParams) {
this._init(app, iconParams);
}
AppWellIcon.prototype = {
_init : function(app) {
_init : function(app, iconParams) {
this.app = app;
this.actor = new St.Clickable({ style_class: 'app-well-app',
reactive: true,
@ -316,7 +316,7 @@ AppWellIcon.prototype = {
y_fill: true });
this.actor._delegate = this;
this.icon = new AppIcon(app);
this.icon = new AppIcon(app, iconParams);
this.actor.set_child(this.icon.actor);
this.actor.connect('clicked', Lang.bind(this, this._onClicked));

View File

@ -193,7 +193,8 @@ Dash.prototype = {
},
_addApp: function(app) {
let display = new AppDisplay.AppWellIcon(app);
let display = new AppDisplay.AppWellIcon(app,
{ setSizeManually: true });
display._draggable.connect('drag-begin',
Lang.bind(this, function() {
display.actor.opacity = 50;