Lagrange [release]
Widget: Flag for allowing horizontal overflow
[1mdiff --git a/src/ui/util.c b/src/ui/util.c[m
[1mindex 60618181..41b8f65c 100644[m
[1m--- a/src/ui/util.c[m
[1m+++ b/src/ui/util.c[m
[36m@@ -1837,8 +1837,9 @@[m [mstatic iWidget *appendTwoColumnPage_(iWidget *tabs, const char *title, int short[m
}[m
[m
static void makeTwoColumnHeading_(const char *title, iWidget *headings, iWidget *values) {[m
[31m- addChild_Widget(headings,[m
[31m- iClob(makeHeading_Widget(format_CStr(uiHeading_ColorEscape "%s", title))));[m
[32m+[m[32m addChildFlags_Widget(headings,[m
[32m+[m[32m iClob(makeHeading_Widget(format_CStr(uiHeading_ColorEscape "%s", title))),[m
[32m+[m[32m ignoreForParentWidth_WidgetFlag);[m
addChild_Widget(values, iClob(makeHeading_Widget("")));[m
}[m
[m
[36m@@ -1984,9 +1985,6 @@[m [miWidget *makePreferences_Widget(void) {[m
setId_Widget(addChild_Widget(values, iClob(new_InputWidget(8))), "prefs.uiscale");[m
addChild_Widget(headings, iClob(makeHeading_Widget("${prefs.retainwindow}")));[m
addChild_Widget(values, iClob(makeToggle_Widget("prefs.retainwindow")));[m
[31m- makeTwoColumnHeading_("${heading.prefs.widelayout}", headings, values);[m
[31m- addChild_Widget(headings, iClob(makeHeading_Widget("${prefs.sideicon}")));[m
[31m- addChild_Widget(values, iClob(makeToggle_Widget("prefs.sideicon")));[m
}[m
/* Colors. */ {[m
appendTwoColumnPage_(tabs, "${heading.prefs.colors}", '3', &headings, &values);[m
[36m@@ -2063,6 +2061,9 @@[m [miWidget *makePreferences_Widget(void) {[m
addChildFlags_Widget(values, iClob(quote), arrangeHorizontal_WidgetFlag | arrangeSize_WidgetFlag);[m
addChild_Widget(headings, iClob(makeHeading_Widget("${prefs.biglede}")));[m
addChild_Widget(values, iClob(makeToggle_Widget("prefs.biglede")));[m
[32m+[m[32m makeTwoColumnHeading_("${heading.prefs.widelayout}", headings, values);[m
[32m+[m[32m addChild_Widget(headings, iClob(makeHeading_Widget("${prefs.sideicon}")));[m
[32m+[m[32m addChild_Widget(values, iClob(makeToggle_Widget("prefs.sideicon")));[m
}[m
/* Network. */ {[m
appendTwoColumnPage_(tabs, "${heading.prefs.network}", '5', &headings, &values);[m
[1mdiff --git a/src/ui/widget.c b/src/ui/widget.c[m
[1mindex e19a9482..91f6c12d 100644[m
[1m--- a/src/ui/widget.c[m
[1m+++ b/src/ui/widget.c[m
[36m@@ -519,11 +519,15 @@[m [mvoid arrange_Widget(iWidget *d) {[m
if (isCollapsed_Widget_(child)) {[m
continue;[m
}[m
[32m+[m[32m iRect childRect = child->rect;[m
[32m+[m[32m if (child->flags & ignoreForParentWidth_WidgetFlag) {[m
[32m+[m[32m childRect.size.x = 0;[m
[32m+[m[32m }[m
if (isEmpty_Rect(bounds)) {[m
[31m- bounds = child->rect;[m
[32m+[m[32m bounds = childRect;[m
}[m
else {[m
[31m- bounds = union_Rect(bounds, child->rect);[m
[32m+[m[32m bounds = union_Rect(bounds, childRect);[m
}[m
}[m
adjustEdges_Rect(&bounds, -d->padding[1], d->padding[2], d->padding[3], -d->padding[0]);[m
[1mdiff --git a/src/ui/widget.h b/src/ui/widget.h[m
[1mindex ad7ce168..bde13272 100644[m
[1m--- a/src/ui/widget.h[m
[1m+++ b/src/ui/widget.h[m
[36m@@ -112,6 +112,7 @@[m [menum iWidgetFlag {[m
#define safePadding_WidgetFlag iBit64(56) /* padded using safe area insets */[m
#define moveToParentBottomEdge_WidgetFlag iBit64(57)[m
#define parentCannotResizeHeight_WidgetFlag iBit64(58)[m
[32m+[m[32m#define ignoreForParentWidth_WidgetFlag iBit64(59)[m
[m
enum iWidgetAddPos {[m
back_WidgetAddPos,[m