Add button to clear recents

This commit is contained in:
Will Sheehan 2026-04-25 00:00:29 -07:00
parent b3af8bf211
commit accf5b2ba6
3 changed files with 34 additions and 0 deletions

View file

@ -1683,6 +1683,7 @@ pub enum Command {
ContextMenu(Option<Point>, Option<window::Id>),
Delete(Vec<PathBuf>),
DropFiles(PathBuf, ClipboardPaste),
ClearRecents,
EmptyTrash,
#[cfg(feature = "desktop")]
ExecEntryAction(cosmic::desktop::DesktopEntryData, usize),
@ -1722,6 +1723,7 @@ pub enum Message {
EditLocationSubmit,
EditLocationTab,
OpenInNewTab(PathBuf),
ClearRecents,
EmptyTrash,
#[cfg(feature = "desktop")]
ExecEntryAction(Option<PathBuf>, usize),
@ -3697,6 +3699,9 @@ impl Tab {
Message::OpenInNewTab(path) => {
commands.push(Command::OpenInNewTab(path));
}
Message::ClearRecents => {
commands.push(Command::ClearRecents);
}
Message::EmptyTrash => {
commands.push(Command::EmptyTrash);
}
@ -6216,6 +6221,24 @@ impl Tab {
);
}
}
Location::Recents | Location::Search(SearchLocation::Recents, ..) => {
if let Some(items) = self.items_opt()
&& !items.is_empty()
{
tab_column = tab_column.push(
widget::layer_container(widget::row::with_children([
widget::space::horizontal().into(),
widget::button::standard(fl!("clear-recents"))
.on_press(Message::ClearRecents)
.into(),
]))
.padding([space_xxs, space_xs])
.layer(cosmic_theme::Layer::Primary)
.apply(widget::container)
.padding([0, 0, 7, 0]),
);
}
}
Location::Network(uri, _display_name, _path) if uri == "network:///" => {
tab_column = tab_column.push(
widget::layer_container(widget::row::with_children([