summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJasper St. Pierre <jstpierre@mecheye.net>2012-10-15 16:38:03 -0400
committerJasper St. Pierre <jstpierre@mecheye.net>2012-11-01 12:58:12 -0400
commit555d45f06ce48bf705689673ce02bbf2fff7715a (patch)
tree8fae92dafdd523d59c4bf7bf702935a0bdf44305
parent0a8713770b8ab74865e18c82a0f9d7fa0f17e903 (diff)
downloadgnome-shell-wip/re-search.tar.gz
wip center layout garbagewip/re-search
-rw-r--r--js/ui/centerLayout.js44
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);
}
});