core: layout: fix some clippy warnings in get_keysym_by_name

Convert the vector reference to a slice and use the strip_prefix
function when detecting "loc " hideable keys.
This commit is contained in:
Richard Acayan 2025-03-27 22:06:52 -04:00
parent 52b48b0474
commit 863ec2938d

View file

@ -488,11 +488,11 @@ struct LayoutLoader<'a> {
}
impl<'a> LayoutLoader<'a> {
fn get_keysym_by_name(extra_keys: &Vec<String>, name: &str) -> KeyValue
fn get_keysym_by_name(extra_keys: &[String], name: &str) -> KeyValue
{
let name = if name.starts_with("loc ") {
if extra_keys.binary_search_by_key(&&name[4..], |k| k).is_ok() {
&name[4..]
let name = if let Some(n) = name.strip_prefix("loc ") {
if extra_keys.binary_search_by_key(&n, |k| k).is_ok() {
n
} else {
return KeyValue::from(Keysym::NoSymbol, "")
}
@ -531,15 +531,15 @@ impl<'a> LayoutLoader<'a> {
let key = Key::new(
x1, self.file.height, x2, self.file.height + 1.0,
Self::get_keysym_by_name(&self.extra_keys, attrs.get("key0").unwrap_or(&"")),
Self::get_keysym_by_name(&self.extra_keys, attrs.get("key1").unwrap_or(&"")),
Self::get_keysym_by_name(&self.extra_keys, attrs.get("key2").unwrap_or(&"")),
Self::get_keysym_by_name(&self.extra_keys, attrs.get("key3").unwrap_or(&"")),
Self::get_keysym_by_name(&self.extra_keys, attrs.get("key4").unwrap_or(&"")),
Self::get_keysym_by_name(&self.extra_keys, attrs.get("key5").unwrap_or(&"")),
Self::get_keysym_by_name(&self.extra_keys, attrs.get("key6").unwrap_or(&"")),
Self::get_keysym_by_name(&self.extra_keys, attrs.get("key7").unwrap_or(&"")),
Self::get_keysym_by_name(&self.extra_keys, attrs.get("key8").unwrap_or(&""))
Self::get_keysym_by_name(self.extra_keys, attrs.get("key0").unwrap_or(&"")),
Self::get_keysym_by_name(self.extra_keys, attrs.get("key1").unwrap_or(&"")),
Self::get_keysym_by_name(self.extra_keys, attrs.get("key2").unwrap_or(&"")),
Self::get_keysym_by_name(self.extra_keys, attrs.get("key3").unwrap_or(&"")),
Self::get_keysym_by_name(self.extra_keys, attrs.get("key4").unwrap_or(&"")),
Self::get_keysym_by_name(self.extra_keys, attrs.get("key5").unwrap_or(&"")),
Self::get_keysym_by_name(self.extra_keys, attrs.get("key6").unwrap_or(&"")),
Self::get_keysym_by_name(self.extra_keys, attrs.get("key7").unwrap_or(&"")),
Self::get_keysym_by_name(self.extra_keys, attrs.get("key8").unwrap_or(&""))
);
let idx = self.file.rows.len() - 1;