31 lines
856 B
JavaScript
31 lines
856 B
JavaScript
|
// SPDX-License-Identifier: Unlicense
|
||
|
|
||
|
// If text contains key, make it stand out; otherwise, append [key] to text.
|
||
|
function addShortcut(text, key) {
|
||
|
if (!key)
|
||
|
return text
|
||
|
else if (text.indexOf(key) < 0)
|
||
|
return `${text} [<b>${key}</b>]`
|
||
|
else
|
||
|
return text.replace(new RegExp('\(' + key + '\)'), '<b>$1</b>')
|
||
|
}
|
||
|
|
||
|
// Set alpha value for color.
|
||
|
function alphize(color, alpha) {
|
||
|
return Qt.hsla(color.hslHue, color.hslSaturation, color.hslLightness, alpha)
|
||
|
}
|
||
|
|
||
|
// Return the last event in list with property not greater than value.
|
||
|
function find(list, property, value) {
|
||
|
var low = 0
|
||
|
var high = list.count - 1
|
||
|
while (low <= high) {
|
||
|
var mid = Math.floor((low + high) / 2)
|
||
|
if (list.get(mid)[property] <= value)
|
||
|
low = mid + 1
|
||
|
else
|
||
|
high = mid - 1
|
||
|
}
|
||
|
return low
|
||
|
}
|