checkBox: Work around a height-for-width problem
StBoxLayout currently does not handle height-for-width children correctly under some circumstances. As a work-around, hard-code a label height of two lines of text, which should work for most locales in the one place the widget is currently used. https://bugzilla.gnome.org/show_bug.cgi?id=672543
This commit is contained in:
parent
00400e354d
commit
bf992989c7
@ -42,6 +42,12 @@ const CheckBoxContainer = new Lang.Class({
|
|||||||
},
|
},
|
||||||
|
|
||||||
_getPreferredHeight: function(actor, forWidth, alloc) {
|
_getPreferredHeight: function(actor, forWidth, alloc) {
|
||||||
|
/* FIXME: StBoxlayout currently does not handle
|
||||||
|
height-for-width children correctly, so hard-code
|
||||||
|
two lines for the label until that problem is fixed.
|
||||||
|
|
||||||
|
https://bugzilla.gnome.org/show_bug.cgi?id=672543 */
|
||||||
|
/*
|
||||||
let [minBoxHeight, natBoxHeight] =
|
let [minBoxHeight, natBoxHeight] =
|
||||||
this._box.get_preferred_height(forWidth);
|
this._box.get_preferred_height(forWidth);
|
||||||
let [minLabelHeight, natLabelHeight] =
|
let [minLabelHeight, natLabelHeight] =
|
||||||
@ -49,6 +55,14 @@ const CheckBoxContainer = new Lang.Class({
|
|||||||
|
|
||||||
alloc.min_size = Math.max(minBoxHeight, minLabelHeight);
|
alloc.min_size = Math.max(minBoxHeight, minLabelHeight);
|
||||||
alloc.natural_size = Math.max(natBoxHeight, natLabelHeight);
|
alloc.natural_size = Math.max(natBoxHeight, natLabelHeight);
|
||||||
|
*/
|
||||||
|
let [minBoxHeight, natBoxHeight] =
|
||||||
|
this._box.get_preferred_height(-1);
|
||||||
|
let [minLabelHeight, natLabelHeight] =
|
||||||
|
this.label.get_preferred_height(-1);
|
||||||
|
|
||||||
|
alloc.min_size = Math.max(minBoxHeight, 2 * minLabelHeight);
|
||||||
|
alloc.natural_size = Math.max(natBoxHeight, 2 * natLabelHeight);
|
||||||
},
|
},
|
||||||
|
|
||||||
_allocate: function(actor, box, flags) {
|
_allocate: function(actor, box, flags) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user