=> a897b1c458694269d16c882d0affdd99c393b95c
[1mdiff --git a/src/ui/mobile.c b/src/ui/mobile.c[m [1mindex 5acc0c88..e697d1af 100644[m [1m--- a/src/ui/mobile.c[m [1m+++ b/src/ui/mobile.c[m [36m@@ -573,25 +573,36 @@[m [mvoid makePanelItem_Mobile(iWidget *panel, const iMenuItem *item) {[m else if (equal_Command(spec, "radio") || equal_Command(spec, "buttons")) {[m const iBool isRadio = equal_Command(spec, "radio");[m const iBool isHorizontal = argLabel_Command(spec, "horizontal");[m [32m+[m[32m const int rowLen = argLabel_Command(spec, "rowlen");[m addChild_Widget(panel, iClob(makePadding_Widget(lineHeight_Text(labelFont_()))));[m iLabelWidget *head = makeHeading_Widget(label);[m setAllCaps_LabelWidget(head, iTrue);[m setRemoveTrailingColon_LabelWidget(head, iTrue);[m addChild_Widget(panel, iClob(head));[m widget = new_Widget();[m [32m+[m[32m iWidget *subDiv = widget;[m setBackgroundColor_Widget(widget, uiBackgroundSidebar_ColorId);[m const int hPad = (isHorizontal ? 0 : 1);[m setPadding_Widget(widget, hPad * gap_UI, 2 * gap_UI, hPad * gap_UI, 2 * gap_UI);[m setFlags_Widget(widget,[m borderTop_WidgetFlag |[m borderBottom_WidgetFlag |[m [31m- (isHorizontal ? arrangeHorizontal_WidgetFlag : arrangeVertical_WidgetFlag) |[m [32m+[m[32m (isHorizontal && !rowLen ? arrangeHorizontal_WidgetFlag : arrangeVertical_WidgetFlag) |[m arrangeHeight_WidgetFlag |[m resizeToParentWidth_WidgetFlag |[m resizeWidthOfChildren_WidgetFlag,[m iTrue);[m [32m+[m[32m if (rowLen) {[m [32m+[m[32m subDiv = new_Widget();[m [32m+[m[32m addChildFlags_Widget(widget, iClob(subDiv),[m [32m+[m[32m arrangeHorizontal_WidgetFlag |[m [32m+[m[32m arrangeHeight_WidgetFlag |[m [32m+[m[32m resizeToParentWidth_WidgetFlag |[m [32m+[m[32m resizeWidthOfChildren_WidgetFlag);[m [32m+[m[32m }[m setId_Widget(widget, id);[m iBool isFirst = iTrue;[m [32m+[m[32m int numCols = 0;[m for (const iMenuItem *radioItem = item->data; radioItem->label; radioItem++) {[m if (!isHorizontal && !isFirst) {[m /* The separator is padded from the left so we need two. */[m [36m@@ -606,7 +617,7 @@[m [mvoid makePanelItem_Mobile(iWidget *panel, const iMenuItem *item) {[m }[m isFirst = iFalse;[m const char * radId = cstr_Command(radioItem->label, "id");[m [31m- int64_t flags = noBackground_WidgetFlag | frameless_WidgetFlag;[m [32m+[m[32m int64_t flags = noBackground_WidgetFlag| frameless_WidgetFlag;[m if (!isHorizontal) {[m flags |= alignLeft_WidgetFlag;[m }[m [36m@@ -632,7 +643,16 @@[m [mvoid makePanelItem_Mobile(iWidget *panel, const iMenuItem *item) {[m setPadding_Widget(as_Widget(button), gap_UI, 1 * gap_UI, 0, 1 * gap_UI);[m updateSize_LabelWidget(button);[m setPadding_Widget(widget, 0, 0, 0, 0);[m [31m- addChildFlags_Widget(widget, iClob(button), flags);[m [32m+[m[32m addChildFlags_Widget(subDiv, iClob(button), flags);[m [32m+[m[32m if (rowLen && ++numCols == rowLen) {[m [32m+[m[32m numCols = 0;[m [32m+[m[32m subDiv = new_Widget();[m [32m+[m[32m addChildFlags_Widget(widget, iClob(subDiv),[m [32m+[m[32m arrangeHorizontal_WidgetFlag |[m [32m+[m[32m arrangeHeight_WidgetFlag |[m [32m+[m[32m resizeToParentWidth_WidgetFlag |[m [32m+[m[32m resizeWidthOfChildren_WidgetFlag);[m [32m+[m[32m }[m }[m }[m else if (equal_Command(spec, "input")) {[m [1mdiff --git a/src/ui/util.c b/src/ui/util.c[m [1mindex 5716c193..6803a108 100644[m [1m--- a/src/ui/util.c[m [1m+++ b/src/ui/util.c[m [36m@@ -2543,7 +2543,7 @@[m [miWidget *makePreferences_Widget(void) {[m { "toggle id:prefs.ostheme" },[m #endif[m { "radio id:prefs.theme", 0, 0, (const void *) themeItems },[m [31m- { "radio id:prefs.accent", 0, 0, (const void *) accentItems },[m [32m+[m[32m { "radio horizontal:1 rowlen:3 id:prefs.accent", 0, 0, (const void *) accentItems },[m { "heading id:heading.prefs.pagecontent" },[m { "dropdown id:prefs.doctheme.dark", 0, 0, (const void *) docThemes[0] },[m { "dropdown id:prefs.doctheme.light", 0, 0, (const void *) docThemes[1] },[m
text/gemini; charset=utf-8
This content has been proxied by September (ba2dc).