slider: Request a size
Sliders (and level bars) currently don't request any size, so it's up to the caller (or stylesheet) to explicitly set a size big enough to fit the bar/handle. That's rather unexpected, we should request the size we need ourselves. Closes https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/7133 Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2994>
This commit is contained in:

committed by
Marge Bot

parent
a6706bd2ca
commit
99d49f787b
@ -259,6 +259,26 @@ export const BarLevel = GObject.registerClass({
|
||||
cr.$dispose();
|
||||
}
|
||||
|
||||
vfunc_get_preferred_height(_forWidth) {
|
||||
const themeNode = this.get_theme_node();
|
||||
const height = this._getPreferredHeight();
|
||||
return themeNode.adjust_preferred_height(height, height);
|
||||
}
|
||||
|
||||
vfunc_get_preferred_width(_forHeight) {
|
||||
const themeNode = this.get_theme_node();
|
||||
const width = this._getPreferredWidth();
|
||||
return themeNode.adjust_preferred_width(width, width);
|
||||
}
|
||||
|
||||
_getPreferredHeight() {
|
||||
return this._barLevelHeight + this._barLevelBorderWidth;
|
||||
}
|
||||
|
||||
_getPreferredWidth() {
|
||||
return this._overdriveSeparatorWidth + this._barLevelBorderWidth;
|
||||
}
|
||||
|
||||
_getCurrentValue() {
|
||||
return this._value;
|
||||
}
|
||||
|
Reference in New Issue
Block a user