dash: account for scale factor to determine icon size
https://bugzilla.gnome.org/show_bug.cgi?id=705410
This commit is contained in:
parent
f543161234
commit
e92d204d42
@ -381,6 +381,8 @@ const DashActor = new Lang.Class({
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
const baseIconSizes = [ 16, 22, 24, 32, 48, 64 ];
|
||||||
|
|
||||||
const Dash = new Lang.Class({
|
const Dash = new Lang.Class({
|
||||||
Name: 'Dash',
|
Name: 'Dash',
|
||||||
|
|
||||||
@ -632,25 +634,24 @@ const Dash = new Lang.Class({
|
|||||||
let minHeight, natHeight;
|
let minHeight, natHeight;
|
||||||
|
|
||||||
// Enforce the current icon size during the size request
|
// Enforce the current icon size during the size request
|
||||||
let [currentWidth, currentHeight] = firstIcon.icon.get_size();
|
firstIcon.setIconSize(this.iconSize);
|
||||||
|
|
||||||
firstIcon.icon.set_size(this.iconSize, this.iconSize);
|
|
||||||
[minHeight, natHeight] = firstButton.get_preferred_height(-1);
|
[minHeight, natHeight] = firstButton.get_preferred_height(-1);
|
||||||
|
|
||||||
firstIcon.icon.set_size(currentWidth, currentHeight);
|
let scaleFactor = St.ThemeContext.get_for_stage(global.stage).scale_factor;
|
||||||
|
let iconSizes = baseIconSizes.map(function(s) {
|
||||||
|
return s * scaleFactor;
|
||||||
|
});
|
||||||
|
|
||||||
// Subtract icon padding and box spacing from the available height
|
// Subtract icon padding and box spacing from the available height
|
||||||
availHeight -= iconChildren.length * (natHeight - this.iconSize) +
|
availHeight -= iconChildren.length * (natHeight - this.iconSize * scaleFactor) +
|
||||||
(iconChildren.length - 1) * spacing;
|
(iconChildren.length - 1) * spacing;
|
||||||
|
|
||||||
let availSize = availHeight / iconChildren.length;
|
let availSize = availHeight / iconChildren.length;
|
||||||
|
|
||||||
let iconSizes = [ 16, 22, 24, 32, 48, 64 ];
|
let newIconSize = baseIconSizes[0];
|
||||||
|
|
||||||
let newIconSize = 16;
|
|
||||||
for (let i = 0; i < iconSizes.length; i++) {
|
for (let i = 0; i < iconSizes.length; i++) {
|
||||||
if (iconSizes[i] < availSize)
|
if (iconSizes[i] < availSize)
|
||||||
newIconSize = iconSizes[i];
|
newIconSize = baseIconSizes[i];
|
||||||
}
|
}
|
||||||
|
|
||||||
if (newIconSize == this.iconSize)
|
if (newIconSize == this.iconSize)
|
||||||
|
Loading…
Reference in New Issue
Block a user