diff options
author | Jasper St. Pierre <jstpierre@mecheye.net> | 2012-10-15 16:38:03 -0400 |
---|---|---|
committer | Jasper St. Pierre <jstpierre@mecheye.net> | 2012-11-01 12:58:12 -0400 |
commit | 555d45f06ce48bf705689673ce02bbf2fff7715a (patch) | |
tree | 8fae92dafdd523d59c4bf7bf702935a0bdf44305 | |
parent | 0a8713770b8ab74865e18c82a0f9d7fa0f17e903 (diff) | |
download | gnome-shell-wip/re-search.tar.gz |
wip center layout garbagewip/re-search
-rw-r--r-- | js/ui/centerLayout.js | 44 |
1 files changed, 24 insertions, 20 deletions
diff --git a/js/ui/centerLayout.js b/js/ui/centerLayout.js index eef124b89..19f64028e 100644 --- a/js/ui/centerLayout.js +++ b/js/ui/centerLayout.js @@ -50,9 +50,7 @@ const CenterLayout = new Lang.Class({ let [left, center, right] = container.get_children(); // Only support horizontal layouts for now. - let [leftMinWidth, leftNaturalWidth] = left.get_preferred_width(availWidth); let [centerMinWidth, centerNaturalWidth] = center.get_preferred_width(availWidth); - let [rightMinWidth, rightNaturalWidth] = right.get_preferred_width(availWidth); let sideWidth = (availWidth - centerNaturalWidth) / 2; @@ -60,30 +58,36 @@ const CenterLayout = new Lang.Class({ childBox.y1 = box.y1; childBox.y2 = box.y1 + availHeight; - let leftSide = Math.min(Math.floor(sideWidth), leftNaturalWidth); - if (rtl) { - childBox.x1 = availWidth - leftSide; - childBox.x2 = availWidth; - } else { - childBox.x1 = 0; - childBox.x2 = leftSide; + if (left) { + let [leftMinWidth, leftNaturalWidth] = left.get_preferred_width(availWidth); + let leftSide = Math.min(Math.floor(sideWidth), leftNaturalWidth); + if (rtl) { + childBox.x1 = availWidth - leftSide; + childBox.x2 = availWidth; + } else { + childBox.x1 = 0; + childBox.x2 = leftSide; + } + childBox.x1 += box.x1; + left.allocate(childBox, flags); } - childBox.x1 += box.x1; - left.allocate(childBox, flags); childBox.x1 = box.x1 + Math.ceil(sideWidth); childBox.x2 = childBox.x1 + centerNaturalWidth; center.allocate(childBox, flags); - let rightSide = Math.min(Math.floor(sideWidth), rightNaturalWidth); - if (rtl) { - childBox.x1 = 0; - childBox.x2 = rightSide; - } else { - childBox.x1 = availWidth - rightSide; - childBox.x2 = availWidth; + if (right) { + let [rightMinWidth, rightNaturalWidth] = right.get_preferred_width(availWidth); + let rightSide = Math.min(Math.floor(sideWidth), rightNaturalWidth); + if (rtl) { + childBox.x1 = 0; + childBox.x2 = rightSide; + } else { + childBox.x1 = availWidth - rightSide; + childBox.x2 = availWidth; + } + childBox.x1 += box.x1; + right.allocate(childBox, flags); } - childBox.x1 += box.x1; - right.allocate(childBox, flags); } }); |