remove history items limit

This commit is contained in:
yggverse 2025-01-12 22:42:22 +02:00
parent cd9e786640
commit 846c488480
4 changed files with 7 additions and 14 deletions

View File

@ -9,10 +9,6 @@ use std::rc::Rc;
// Config options
const LABEL_MAX_LENGTH: usize = 32;
const RECENT_BOOKMARKS: usize = 50;
const RECENTLY_CLOSED: usize = 50;
const RECENT_REQUESTS: usize = 50;
pub struct Menu {
pub menu_button: MenuButton,
}
@ -195,7 +191,7 @@ impl Menu {
move |_| {
// Bookmarks
main_bookmarks.remove_all();
for request in profile.bookmark.memory.recent(RECENT_BOOKMARKS) {
for request in profile.bookmark.memory.recent() {
let menu_item = gio::MenuItem::new(Some(&label(&request, LABEL_MAX_LENGTH)), None);
menu_item.set_action_and_target_value(Some(&format!(
"{}.{}",
@ -212,7 +208,7 @@ impl Menu {
// Recently closed history
main_history_tab.remove_all();
for item in profile.history.memory.tab.recent(RECENTLY_CLOSED) {
for item in profile.history.memory.tab.recent() {
let item_request = item.page.navigation.request.widget.entry.text(); // @TODO restore entire `Item`
let menu_item = gio::MenuItem::new(Some(&label(&item_request, LABEL_MAX_LENGTH)), None);
menu_item.set_action_and_target_value(Some(&format!(
@ -226,7 +222,7 @@ impl Menu {
// Recently visited history
main_history_request.remove_all();
for request in profile.history.memory.request.recent(RECENT_REQUESTS) {
for request in profile.history.memory.request.recent() {
let menu_item = gio::MenuItem::new(Some(&label(&request, LABEL_MAX_LENGTH)), None);
menu_item.set_action_and_target_value(Some(&format!(
"{}.{}",

View File

@ -63,14 +63,13 @@ impl Memory {
}
/// Get recent requests vector sorted by `ID` DESC
pub fn recent(&self, limit: usize) -> Vec<String> {
pub fn recent(&self) -> Vec<String> {
let mut recent: Vec<String> = Vec::new();
for (request, _) in self
.index
.borrow()
.iter()
.sorted_by(|a, b| Ord::cmp(&b.1, &a.1))
.take(limit)
{
recent.push(request.to_string())
}

View File

@ -39,14 +39,13 @@ impl Request {
/// Get recent requests vector
/// * sorted by `unix_timestamp` DESC
pub fn recent(&self, limit: usize) -> Vec<GString> {
pub fn recent(&self) -> Vec<GString> {
let mut recent: Vec<GString> = Vec::new();
for (request, _) in self
.index
.borrow()
.iter()
.sorted_by(|a, b| Ord::cmp(&b.1.unix_timestamp, &a.1.unix_timestamp))
.take(limit)
{
recent.push(request.clone())
}

View File

@ -39,15 +39,14 @@ impl Tab {
});
}
/// Get recent `Item` vector sorted by time DESC
pub fn recent(&self, limit: usize) -> Vec<Rc<Item>> {
/// Get recent `Item` vector sorted by `unix_timestamp` DESC
pub fn recent(&self) -> Vec<Rc<Item>> {
let mut recent: Vec<Rc<Item>> = Vec::new();
for record in self
.index
.borrow()
.iter()
.sorted_by(|a, b| Ord::cmp(&b.unix_timestamp, &a.unix_timestamp))
.take(limit)
{
recent.push(record.item.clone())
}