From 7cd1685d68c6ab1aaf544e868a0e8af6dfe92bfd Mon Sep 17 00:00:00 2001 From: onefang Date: Tue, 2 Jul 2019 01:44:02 +1000 Subject: Show valid menu items in the scrolly text, coz some might be too long to show in the buttons. --- 1chatter.lsl | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) (limited to '1chatter.lsl') diff --git a/1chatter.lsl b/1chatter.lsl index 90b5cdb..9e38390 100644 --- a/1chatter.lsl +++ b/1chatter.lsl @@ -719,6 +719,20 @@ lastMenu(key id, string r) if ("" != r) removeMenu(r); } +dumpMenuUsers(list menus) +{ + integer l = llGetListLength(menus); + integer i; + for (i = 0; i < l; i += uSTRIDE) + { + s( + llList2String(menus, i + uKEY) + "~" + + llList2String(menus, i + uTIME) + "~" + + llList2String(menus, i + uCURRENT) + ); + } +} + dumpMenus(list menus) { integer l = llGetListLength(menus); @@ -764,7 +778,7 @@ showMenu(key id) string version = getSetting(fr + "VERSION"); list entries = llParseStringKeepNulls(llList2String(Menus, m + mENTRIES), ["|"], []); list cmds = llParseStringKeepNulls(llList2String(Menus, m + mCMDS), ["|"], []); - string title = llList2String(Menus, m + mTITLE); + string title = llList2String(Menus, m + mTITLE) + "\n\n--------\n"; if (access(id, menu + " menu", fr, llList2Integer(Menus, m + mAUTH), TRUE)) { @@ -776,6 +790,7 @@ showMenu(key id) for (; n < l; ++n) { string button = llGetSubString(llList2String(entries, n), 0, 23); + title += button + "\n"; entries = llListReplaceList(entries, [button], n, n); } n = l; @@ -802,8 +817,10 @@ showMenu(key id) t = upsideDown(last + button); else if (!access(id, t, fr, llList2Integer(Menus, o + mAUTH), FALSE)) t = enclosed(button + last); + else title += t + "\n"; entries = llListReplaceList(entries, [t], n, n); } + else title += t + "\n"; } else if (("☐" == first) || ("▣" == first) || ("○" == first) || ("◉" == first)) { @@ -815,6 +832,7 @@ showMenu(key id) t = upsideDown(button + " " + llGetSubString(t, 0, 0)); else if (!access(id, t, fr, llList2Integer(Settings, o + sAUTH), FALSE)) t = enclosed(t); + else title += t + "\n"; entries = llListReplaceList(entries, [t], n, n); } else @@ -836,6 +854,7 @@ showMenu(key id) t = upsideDown(t); else if (!access(id, c, frr, llList2Integer(Commands, o + cAUTH), FALSE)) t = enclosed(t); + else title += t + "\n"; entries = llListReplaceList(entries, [t], n, n); } } -- cgit v1.1