use crate::{
launch_entries::launch_entry_trait::LaunchId as _,
model::{desktop_item::DesktopItem, invocation::Invocation},
};
pub enum ItemUpdate {
Invocation(Invocation),
DesktopItem(DesktopItem),
}
impl ItemUpdate {
pub(crate) fn id(&self) -> String {
match self {
ItemUpdate::Invocation(invocation) => invocation.id().to_owned(),
ItemUpdate::DesktopItem(desktop_item) => desktop_item.id(),
}
}
pub(crate) fn name(&self) -> String {
match self {
ItemUpdate::Invocation(invocation) => invocation.name().to_owned(),
ItemUpdate::DesktopItem(desktop_item) => desktop_item.name().to_owned(),
}
}
pub(crate) fn path(&self) -> String {
match self {
ItemUpdate::Invocation(invocation) => invocation.item_path.clone(),
ItemUpdate::DesktopItem(desktop_item) => {
desktop_item.desktop_file_path.to_string_lossy().to_string()
} }
}
}