mirror of https://github.com/espruino/BangleApps
promenu: don't show "..." if the string isn't truncated
parent
d1de2fa67c
commit
7c2f191fa7
|
@ -10,3 +10,4 @@
|
||||||
0.06: Fix lower bounding of numeric values
|
0.06: Fix lower bounding of numeric values
|
||||||
0.07: Fix bug with alarms app (scroller) and correctly show images
|
0.07: Fix bug with alarms app (scroller) and correctly show images
|
||||||
0.08: Fix bug with modifying menu - allows hadash to save scroll positions
|
0.08: Fix bug with modifying menu - allows hadash to save scroll positions
|
||||||
|
0.09: Don't show "..." if a string isn't truncated (i.e. scrolled)
|
||||||
|
|
|
@ -43,17 +43,21 @@ E.showMenu = function (items) {
|
||||||
.setColor(hl ? g.theme.fgH : g.theme.fg)
|
.setColor(hl ? g.theme.fgH : g.theme.fg)
|
||||||
.setFontAlign(-1, -1);
|
.setFontAlign(-1, -1);
|
||||||
var vplain = v.indexOf("\0") < 0;
|
var vplain = v.indexOf("\0") < 0;
|
||||||
var truncated = true;
|
var truncated = false;
|
||||||
if (vplain && name.length >= 17 - v.length && typeof item === "object") {
|
var drawn = false;
|
||||||
g.drawString(name.substring(nameScroll, nameScroll + 12 - v.length) + "...", x + 3.7, y + 2.7);
|
if (vplain) {
|
||||||
|
var isFunc = typeof item === "function";
|
||||||
|
var lim = isFunc ? 15 : 17 - v.length;
|
||||||
|
if (name.length >= lim) {
|
||||||
|
var len = isFunc ? 15 : 12 - v.length;
|
||||||
|
var dots = name.length - nameScroll > len ? "..." : "";
|
||||||
|
g.drawString(name.substring(nameScroll, nameScroll + len) + dots, x + 3.7, y + 2.7);
|
||||||
|
drawn = true;
|
||||||
|
truncated = true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else if (vplain && name.length >= 15) {
|
if (!drawn)
|
||||||
g.drawString(name.substring(nameScroll, nameScroll + 15) + "...", x + 3.7, y + 2.7);
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
g.drawString(name, x + 3.7, y + 2.7);
|
g.drawString(name, x + 3.7, y + 2.7);
|
||||||
truncated = false;
|
|
||||||
}
|
|
||||||
var xo = x2;
|
var xo = x2;
|
||||||
if (selectEdit && idx === selected) {
|
if (selectEdit && idx === selected) {
|
||||||
xo -= 24 + 1;
|
xo -= 24 + 1;
|
||||||
|
|
|
@ -64,15 +64,27 @@ E.showMenu = (items?: Menu): MenuInstance => {
|
||||||
.setFontAlign(-1, -1);
|
.setFontAlign(-1, -1);
|
||||||
|
|
||||||
const vplain = v.indexOf("\0") < 0;
|
const vplain = v.indexOf("\0") < 0;
|
||||||
let truncated = true;
|
let truncated = false;
|
||||||
if(vplain && name.length >= 17 - v.length && typeof item === "object"){
|
let drawn = false;
|
||||||
g.drawString(name.substring(nameScroll, nameScroll + 12 - v.length) + "...", x + 3.7, y + 2.7);
|
if(vplain){
|
||||||
}else if(vplain && name.length >= 15){
|
const isFunc = typeof item === "function";
|
||||||
g.drawString(name.substring(nameScroll, nameScroll + 15) + "...", x + 3.7, y + 2.7);
|
const lim = isFunc ? 15 : 17 - v.length;
|
||||||
}else{
|
|
||||||
g.drawString(name, x + 3.7, y + 2.7);
|
if(name.length >= lim){
|
||||||
truncated = false;
|
const len = isFunc ? 15 : 12 - v.length;
|
||||||
|
const dots = name.length - nameScroll > len ? "..." : "";
|
||||||
|
|
||||||
|
g.drawString(
|
||||||
|
name.substring(nameScroll, nameScroll + len) + dots,
|
||||||
|
x + 3.7,
|
||||||
|
y + 2.7
|
||||||
|
);
|
||||||
|
drawn = true;
|
||||||
|
truncated = true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
if(!drawn)
|
||||||
|
g.drawString(name, x + 3.7, y + 2.7);
|
||||||
|
|
||||||
let xo = x2;
|
let xo = x2;
|
||||||
if (selectEdit && idx === selected) {
|
if (selectEdit && idx === selected) {
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"id": "promenu",
|
"id": "promenu",
|
||||||
"name": "Pro Menu",
|
"name": "Pro Menu",
|
||||||
"version": "0.08",
|
"version": "0.09",
|
||||||
"description": "Replace the built in menu function. Supports Bangle.js 1 and Bangle.js 2.",
|
"description": "Replace the built in menu function. Supports Bangle.js 1 and Bangle.js 2.",
|
||||||
"icon": "icon.png",
|
"icon": "icon.png",
|
||||||
"type": "bootloader",
|
"type": "bootloader",
|
||||||
|
|
Loading…
Reference in New Issue