diff --git a/crates/notedeck/src/app.rs b/crates/notedeck/src/app.rs index 8cc79b57..0270fed0 100644 --- a/crates/notedeck/src/app.rs +++ b/crates/notedeck/src/app.rs @@ -1,7 +1,7 @@ use crate::persist::{AppSizeHandler, ZoomHandler}; use crate::{ - Accounts, AppContext, Args, DataPath, DataPathType, Directory, FileKeyStorage, KeyStorageType, - MediaCache, NoteCache, RelayDebugView, ThemeHandler, UnknownIds, + Accounts, AppContext, Args, DataPath, DataPathType, Directory, FileKeyStorage, Images, + KeyStorageType, NoteCache, RelayDebugView, ThemeHandler, UnknownIds, }; use egui::ThemePreference; use enostr::RelayPool; @@ -19,7 +19,7 @@ pub trait App { /// Main notedeck app framework pub struct Notedeck { ndb: Ndb, - img_cache: MediaCache, + img_cache: Images, unknown_ids: UnknownIds, pool: RelayPool, note_cache: NoteCache, @@ -129,9 +129,7 @@ impl Notedeck { let _ = std::fs::create_dir_all(&dbpath_str); - let img_cache_dir = path - .path(DataPathType::Cache) - .join(MediaCache::rel_dir(crate::imgcache::MediaCacheType::Image)); + let img_cache_dir = path.path(DataPathType::Cache); let _ = std::fs::create_dir_all(img_cache_dir.clone()); let map_size = if cfg!(target_os = "windows") { @@ -186,7 +184,7 @@ impl Notedeck { } } - let img_cache = MediaCache::new(img_cache_dir); + let img_cache = Images::new(img_cache_dir); let note_cache = NoteCache::default(); let unknown_ids = UnknownIds::default(); let zoom = ZoomHandler::new(&path); diff --git a/crates/notedeck/src/context.rs b/crates/notedeck/src/context.rs index 5cf2b7a9..76204d25 100644 --- a/crates/notedeck/src/context.rs +++ b/crates/notedeck/src/context.rs @@ -1,4 +1,4 @@ -use crate::{Accounts, Args, DataPath, MediaCache, NoteCache, ThemeHandler, UnknownIds}; +use crate::{Accounts, Args, DataPath, Images, NoteCache, ThemeHandler, UnknownIds}; use enostr::RelayPool; use nostrdb::Ndb; @@ -7,7 +7,7 @@ use nostrdb::Ndb; pub struct AppContext<'a> { pub ndb: &'a mut Ndb, - pub img_cache: &'a mut MediaCache, + pub img_cache: &'a mut Images, pub unknown_ids: &'a mut UnknownIds, pub pool: &'a mut RelayPool, pub note_cache: &'a mut NoteCache, diff --git a/crates/notedeck/src/imgcache.rs b/crates/notedeck/src/imgcache.rs index 42ceaa85..86d789a5 100644 --- a/crates/notedeck/src/imgcache.rs +++ b/crates/notedeck/src/imgcache.rs @@ -149,7 +149,6 @@ pub fn get_texture(textured_image: &TexturedImage) -> &TextureHandle { } } -#[allow(dead_code)] pub struct Images { pub static_imgs: MediaCache, pub gifs: MediaCache, @@ -158,7 +157,6 @@ pub struct Images { } impl Images { - #[allow(dead_code)] /// path to directory to place [`MediaCache`]s pub fn new(path: path::PathBuf) -> Self { Self { @@ -169,7 +167,6 @@ impl Images { } } - #[allow(dead_code)] pub fn migrate_v0(&self) -> Result<()> { self.static_imgs.migrate_v0()?; self.gifs.migrate_v0() diff --git a/crates/notedeck/src/lib.rs b/crates/notedeck/src/lib.rs index 6efc86a0..741437ca 100644 --- a/crates/notedeck/src/lib.rs +++ b/crates/notedeck/src/lib.rs @@ -31,7 +31,9 @@ pub use context::AppContext; pub use error::{Error, FilterError}; pub use filter::{FilterState, FilterStates, UnifiedSubscription}; pub use fonts::NamedFontFamily; -pub use imgcache::{get_texture, GifState, GifStateMap, MediaCache, MediaCacheType, TexturedImage}; +pub use imgcache::{ + get_texture, GifState, GifStateMap, Images, MediaCache, MediaCacheType, TexturedImage, +}; pub use muted::{MuteFun, Muted}; pub use note::{NoteRef, RootIdError, RootNoteId, RootNoteIdBuf}; pub use notecache::{CachedNote, NoteCache}; diff --git a/crates/notedeck/src/urls.rs b/crates/notedeck/src/urls.rs index 0705aa43..21dce4d3 100644 --- a/crates/notedeck/src/urls.rs +++ b/crates/notedeck/src/urls.rs @@ -93,7 +93,7 @@ fn read_from_disk(path: PathBuf) -> Promise> { match result { Ok(data) => sender.send(Some(data)), Err(e) => { - tracing::error!("problem deserializing UrlCache: {e}"); + tracing::error!("problem deserializing UrlMimes: {e}"); sender.send(None) } } @@ -116,13 +116,13 @@ fn save_to_disk(path: PathBuf, cache: Arc>) { Ok(()) } else { Err(Error::Generic( - "Could not read UrlCache behind RwLock".to_owned(), + "Could not read UrlMimes behind RwLock".to_owned(), )) } })(); if let Err(e) = result { - tracing::error!("Failed to save UrlCache: {}", e); + tracing::error!("Failed to save UrlMimes: {}", e); } }); } @@ -144,7 +144,7 @@ fn ehttp_get_mime_type(url: &str, sender: poll_promise::Sender) { } Err(err) => { sender.send(MimeResult::Err(HttpError::HttpFailure)); - tracing::error!("failed ehttp for UrlCache: {err}"); + tracing::error!("failed ehttp for UrlMimes: {err}"); } }, ); diff --git a/crates/notedeck_columns/src/accounts/mod.rs b/crates/notedeck_columns/src/accounts/mod.rs index 6f6205cb..f98803d2 100644 --- a/crates/notedeck_columns/src/accounts/mod.rs +++ b/crates/notedeck_columns/src/accounts/mod.rs @@ -2,7 +2,7 @@ use enostr::FullKeypair; use nostrdb::Ndb; use notedeck::{ - Accounts, AccountsAction, AddAccountAction, MediaCache, SingleUnkIdAction, SwitchAccountAction, + Accounts, AccountsAction, AddAccountAction, Images, SingleUnkIdAction, SwitchAccountAction, }; use crate::app::get_active_columns_mut; @@ -27,7 +27,7 @@ pub fn render_accounts_route( ui: &mut egui::Ui, ndb: &Ndb, col: usize, - img_cache: &mut MediaCache, + img_cache: &mut Images, accounts: &mut Accounts, decks: &mut DecksCache, login_state: &mut AcquireKeyState, diff --git a/crates/notedeck_columns/src/app.rs b/crates/notedeck_columns/src/app.rs index c624aeda..e521da67 100644 --- a/crates/notedeck_columns/src/app.rs +++ b/crates/notedeck_columns/src/app.rs @@ -13,7 +13,7 @@ use crate::{ Result, }; -use notedeck::{Accounts, AppContext, DataPath, DataPathType, FilterState, MediaCache, UnknownIds}; +use notedeck::{Accounts, AppContext, DataPath, DataPathType, FilterState, UnknownIds}; use enostr::{ClientMessage, Keypair, PoolRelay, Pubkey, RelayEvent, RelayMessage, RelayPool}; use uuid::Uuid; @@ -464,9 +464,7 @@ impl Damus { let decks_cache = DecksCache::default(); let path = DataPath::new(&data_path); - let imgcache_dir = path - .path(DataPathType::Cache) - .join(MediaCache::rel_dir(notedeck::MediaCacheType::Image)); + let imgcache_dir = path.path(DataPathType::Cache); let _ = std::fs::create_dir_all(imgcache_dir.clone()); let debug = true; diff --git a/crates/notedeck_columns/src/timeline/route.rs b/crates/notedeck_columns/src/timeline/route.rs index 81f990ae..ea506b91 100644 --- a/crates/notedeck_columns/src/timeline/route.rs +++ b/crates/notedeck_columns/src/timeline/route.rs @@ -7,12 +7,12 @@ use crate::{ use enostr::Pubkey; use nostrdb::Ndb; -use notedeck::{Accounts, MediaCache, MuteFun, NoteCache, UnknownIds}; +use notedeck::{Accounts, Images, MuteFun, NoteCache, UnknownIds}; #[allow(clippy::too_many_arguments)] pub fn render_timeline_route( ndb: &Ndb, - img_cache: &mut MediaCache, + img_cache: &mut Images, unknown_ids: &mut UnknownIds, note_cache: &mut NoteCache, timeline_cache: &mut TimelineCache, @@ -102,7 +102,7 @@ pub fn render_profile_route( accounts: &Accounts, ndb: &Ndb, timeline_cache: &mut TimelineCache, - img_cache: &mut MediaCache, + img_cache: &mut Images, note_cache: &mut NoteCache, unknown_ids: &mut UnknownIds, col: usize, diff --git a/crates/notedeck_columns/src/ui/accounts.rs b/crates/notedeck_columns/src/ui/accounts.rs index 051cfc88..5133982d 100644 --- a/crates/notedeck_columns/src/ui/accounts.rs +++ b/crates/notedeck_columns/src/ui/accounts.rs @@ -3,14 +3,14 @@ use egui::{ Align, Button, Frame, Image, InnerResponse, Layout, RichText, ScrollArea, Ui, UiBuilder, Vec2, }; use nostrdb::{Ndb, Transaction}; -use notedeck::{Accounts, MediaCache}; +use notedeck::{Accounts, Images}; use super::profile::preview::SimpleProfilePreview; pub struct AccountsView<'a> { ndb: &'a Ndb, accounts: &'a Accounts, - img_cache: &'a mut MediaCache, + img_cache: &'a mut Images, } #[derive(Clone, Debug)] @@ -27,7 +27,7 @@ enum ProfilePreviewAction { } impl<'a> AccountsView<'a> { - pub fn new(ndb: &'a Ndb, accounts: &'a Accounts, img_cache: &'a mut MediaCache) -> Self { + pub fn new(ndb: &'a Ndb, accounts: &'a Accounts, img_cache: &'a mut Images) -> Self { AccountsView { ndb, accounts, @@ -54,7 +54,7 @@ impl<'a> AccountsView<'a> { ui: &mut Ui, accounts: &Accounts, ndb: &Ndb, - img_cache: &mut MediaCache, + img_cache: &mut Images, ) -> Option { let mut return_op: Option = None; ui.allocate_ui_with_layout( diff --git a/crates/notedeck_columns/src/ui/add_column.rs b/crates/notedeck_columns/src/ui/add_column.rs index 32a98dd6..2cce5662 100644 --- a/crates/notedeck_columns/src/ui/add_column.rs +++ b/crates/notedeck_columns/src/ui/add_column.rs @@ -17,7 +17,7 @@ use crate::{ Damus, }; -use notedeck::{AppContext, MediaCache, NotedeckTextStyle, UserAccount}; +use notedeck::{AppContext, Images, NotedeckTextStyle, UserAccount}; use tokenator::{ParseError, TokenParser, TokenSerializable, TokenWriter}; use super::{anim::AnimationHelper, padding, ProfilePreview}; @@ -163,7 +163,7 @@ impl AddColumnOption { pub struct AddColumnView<'a> { key_state_map: &'a mut HashMap, ndb: &'a Ndb, - img_cache: &'a mut MediaCache, + img_cache: &'a mut Images, cur_account: Option<&'a UserAccount>, } @@ -171,7 +171,7 @@ impl<'a> AddColumnView<'a> { pub fn new( key_state_map: &'a mut HashMap, ndb: &'a Ndb, - img_cache: &'a mut MediaCache, + img_cache: &'a mut Images, cur_account: Option<&'a UserAccount>, ) -> Self { Self { diff --git a/crates/notedeck_columns/src/ui/column/header.rs b/crates/notedeck_columns/src/ui/column/header.rs index 3713d0c9..564853ab 100644 --- a/crates/notedeck_columns/src/ui/column/header.rs +++ b/crates/notedeck_columns/src/ui/column/header.rs @@ -16,11 +16,11 @@ use egui::Margin; use egui::{RichText, Stroke, UiBuilder}; use enostr::Pubkey; use nostrdb::{Ndb, Transaction}; -use notedeck::{MediaCache, NotedeckTextStyle}; +use notedeck::{Images, NotedeckTextStyle}; pub struct NavTitle<'a> { ndb: &'a Ndb, - img_cache: &'a mut MediaCache, + img_cache: &'a mut Images, columns: &'a Columns, routes: &'a [Route], col_id: usize, @@ -29,7 +29,7 @@ pub struct NavTitle<'a> { impl<'a> NavTitle<'a> { pub fn new( ndb: &'a Ndb, - img_cache: &'a mut MediaCache, + img_cache: &'a mut Images, columns: &'a Columns, routes: &'a [Route], col_id: usize, diff --git a/crates/notedeck_columns/src/ui/images.rs b/crates/notedeck_columns/src/ui/images.rs index 7731804e..0954a8ab 100644 --- a/crates/notedeck_columns/src/ui/images.rs +++ b/crates/notedeck_columns/src/ui/images.rs @@ -1,4 +1,4 @@ -use notedeck::{Images, MediaCache, MediaCacheType, TexturedImage}; +use notedeck::{Images, MediaCache, TexturedImage}; use crate::images::ImageType; @@ -9,15 +9,11 @@ pub fn render_images( images: &mut Images, url: &str, img_type: ImageType, - cache_type: MediaCacheType, show_waiting: impl FnOnce(&mut egui::Ui), show_error: impl FnOnce(&mut egui::Ui, String), show_success: impl FnOnce(&mut egui::Ui, &str, &mut TexturedImage), ) -> egui::Response { - let cache = match cache_type.clone() { - MediaCacheType::Image => &mut images.static_imgs, - MediaCacheType::Gif => &mut images.gifs, - }; + let cache = &mut images.static_imgs; render_media_cache( ui, diff --git a/crates/notedeck_columns/src/ui/mention.rs b/crates/notedeck_columns/src/ui/mention.rs index 6ad00e42..1177bf5e 100644 --- a/crates/notedeck_columns/src/ui/mention.rs +++ b/crates/notedeck_columns/src/ui/mention.rs @@ -3,11 +3,11 @@ use crate::{actionbar::NoteAction, profile::get_display_name, timeline::Timeline use egui::Sense; use enostr::Pubkey; use nostrdb::{Ndb, Transaction}; -use notedeck::MediaCache; +use notedeck::Images; pub struct Mention<'a> { ndb: &'a Ndb, - img_cache: &'a mut MediaCache, + img_cache: &'a mut Images, txn: &'a Transaction, pk: &'a [u8; 32], selectable: bool, @@ -17,7 +17,7 @@ pub struct Mention<'a> { impl<'a> Mention<'a> { pub fn new( ndb: &'a Ndb, - img_cache: &'a mut MediaCache, + img_cache: &'a mut Images, txn: &'a Transaction, pk: &'a [u8; 32], ) -> Self { @@ -62,9 +62,10 @@ impl egui::Widget for Mention<'_> { } } +#[allow(clippy::too_many_arguments)] fn mention_ui( ndb: &Ndb, - img_cache: &mut MediaCache, + img_cache: &mut Images, txn: &Transaction, pk: &[u8; 32], ui: &mut egui::Ui, diff --git a/crates/notedeck_columns/src/ui/note/contents.rs b/crates/notedeck_columns/src/ui/note/contents.rs index 7361c2b8..26ffd5c2 100644 --- a/crates/notedeck_columns/src/ui/note/contents.rs +++ b/crates/notedeck_columns/src/ui/note/contents.rs @@ -1,6 +1,6 @@ +use crate::ui::images::render_images; use crate::ui::{ self, - images::render_media_cache, note::{NoteOptions, NoteResponse}, }; use crate::{actionbar::NoteAction, images::ImageType, timeline::TimelineKind}; @@ -8,11 +8,11 @@ use egui::{Color32, Hyperlink, Image, RichText}; use nostrdb::{BlockType, Mention, Ndb, Note, NoteKey, Transaction}; use tracing::warn; -use notedeck::{MediaCache, NoteCache}; +use notedeck::{Images, NoteCache}; pub struct NoteContents<'a> { ndb: &'a Ndb, - img_cache: &'a mut MediaCache, + img_cache: &'a mut Images, note_cache: &'a mut NoteCache, txn: &'a Transaction, note: &'a Note<'a>, @@ -22,9 +22,10 @@ pub struct NoteContents<'a> { } impl<'a> NoteContents<'a> { + #[allow(clippy::too_many_arguments)] pub fn new( ndb: &'a Ndb, - img_cache: &'a mut MediaCache, + img_cache: &'a mut Images, note_cache: &'a mut NoteCache, txn: &'a Transaction, note: &'a Note, @@ -72,7 +73,7 @@ pub fn render_note_preview( ui: &mut egui::Ui, ndb: &Ndb, note_cache: &mut NoteCache, - img_cache: &mut MediaCache, + img_cache: &mut Images, txn: &Transaction, id: &[u8; 32], parent: NoteKey, @@ -134,7 +135,7 @@ fn is_image_link(url: &str) -> bool { fn render_note_contents( ui: &mut egui::Ui, ndb: &Ndb, - img_cache: &mut MediaCache, + img_cache: &mut Images, note_cache: &mut NoteCache, txn: &Transaction, note: &Note, @@ -279,7 +280,7 @@ fn rot13(input: &str) -> String { fn image_carousel( ui: &mut egui::Ui, - img_cache: &mut MediaCache, + img_cache: &mut Images, images: Vec, carousel_id: egui::Id, ) { @@ -295,7 +296,7 @@ fn image_carousel( .show(ui, |ui| { ui.horizontal(|ui| { for image in images { - render_media_cache( + render_images( ui, img_cache, &image, diff --git a/crates/notedeck_columns/src/ui/note/mod.rs b/crates/notedeck_columns/src/ui/note/mod.rs index 46103864..71e92bb5 100644 --- a/crates/notedeck_columns/src/ui/note/mod.rs +++ b/crates/notedeck_columns/src/ui/note/mod.rs @@ -25,14 +25,14 @@ use egui::emath::{pos2, Vec2}; use egui::{Id, Label, Pos2, Rect, Response, RichText, Sense}; use enostr::{NoteId, Pubkey}; use nostrdb::{Ndb, Note, NoteKey, Transaction}; -use notedeck::{CachedNote, MediaCache, NoteCache, NotedeckTextStyle}; +use notedeck::{CachedNote, Images, NoteCache, NotedeckTextStyle}; use super::profile::preview::one_line_display_name_widget; pub struct NoteView<'a> { ndb: &'a Ndb, note_cache: &'a mut NoteCache, - img_cache: &'a mut MediaCache, + img_cache: &'a mut Images, parent: Option, note: &'a nostrdb::Note<'a>, flags: NoteOptions, @@ -74,7 +74,7 @@ impl<'a> NoteView<'a> { pub fn new( ndb: &'a Ndb, note_cache: &'a mut NoteCache, - img_cache: &'a mut MediaCache, + img_cache: &'a mut Images, note: &'a nostrdb::Note<'a>, mut flags: NoteOptions, ) -> Self { diff --git a/crates/notedeck_columns/src/ui/note/post.rs b/crates/notedeck_columns/src/ui/note/post.rs index ca84dc55..88303ffb 100644 --- a/crates/notedeck_columns/src/ui/note/post.rs +++ b/crates/notedeck_columns/src/ui/note/post.rs @@ -2,7 +2,7 @@ use crate::draft::{Draft, Drafts, MentionHint}; use crate::media_upload::{nostrbuild_nip96_upload, MediaPath}; use crate::post::{downcast_post_buffer, MentionType, NewPost}; use crate::profile::get_display_name; -use crate::ui::images::render_media_cache; +use crate::ui::images::render_images; use crate::ui::search_results::SearchResultsView; use crate::ui::{self, note::NoteOptions, Preview, PreviewConfig}; use crate::Result; @@ -13,7 +13,7 @@ use egui::{vec2, Frame, Layout, Margin, Pos2, ScrollArea, Sense, TextBuffer}; use enostr::{FilledKeypair, FullKeypair, NoteId, Pubkey, RelayPool}; use nostrdb::{Ndb, Transaction}; -use notedeck::{get_texture, MediaCache, NoteCache}; +use notedeck::{get_texture, Images, NoteCache}; use tracing::error; use super::contents::render_note_preview; @@ -22,7 +22,7 @@ pub struct PostView<'a> { ndb: &'a Ndb, draft: &'a mut Draft, post_type: PostType, - img_cache: &'a mut MediaCache, + img_cache: &'a mut Images, note_cache: &'a mut NoteCache, poster: FilledKeypair<'a>, id_source: Option, @@ -88,7 +88,7 @@ impl<'a> PostView<'a> { ndb: &'a Ndb, draft: &'a mut Draft, post_type: PostType, - img_cache: &'a mut MediaCache, + img_cache: &'a mut Images, note_cache: &'a mut NoteCache, poster: FilledKeypair<'a>, inner_rect: egui::Rect, @@ -384,7 +384,8 @@ impl<'a> PostView<'a> { } else { (300, 300) }; - render_media_cache( + + render_images( ui, self.img_cache, &media.url, @@ -393,7 +394,7 @@ impl<'a> PostView<'a> { ui.spinner(); }, |_, e| { - self.draft.upload_errors.push(e.clone()); + self.draft.upload_errors.push(e.to_string()); error!("{e}"); }, |ui, _, renderable_media| { diff --git a/crates/notedeck_columns/src/ui/note/quote_repost.rs b/crates/notedeck_columns/src/ui/note/quote_repost.rs index 22f98c5e..9bf8a877 100644 --- a/crates/notedeck_columns/src/ui/note/quote_repost.rs +++ b/crates/notedeck_columns/src/ui/note/quote_repost.rs @@ -1,6 +1,6 @@ use enostr::{FilledKeypair, NoteId}; use nostrdb::Ndb; -use notedeck::{MediaCache, NoteCache}; +use notedeck::{Images, NoteCache}; use crate::{ draft::Draft, @@ -13,7 +13,7 @@ pub struct QuoteRepostView<'a> { ndb: &'a Ndb, poster: FilledKeypair<'a>, note_cache: &'a mut NoteCache, - img_cache: &'a mut MediaCache, + img_cache: &'a mut Images, draft: &'a mut Draft, quoting_note: &'a nostrdb::Note<'a>, id_source: Option, @@ -27,7 +27,7 @@ impl<'a> QuoteRepostView<'a> { ndb: &'a Ndb, poster: FilledKeypair<'a>, note_cache: &'a mut NoteCache, - img_cache: &'a mut MediaCache, + img_cache: &'a mut Images, draft: &'a mut Draft, quoting_note: &'a nostrdb::Note<'a>, inner_rect: egui::Rect, diff --git a/crates/notedeck_columns/src/ui/note/reply.rs b/crates/notedeck_columns/src/ui/note/reply.rs index 6aa5a627..d8a1eb9e 100644 --- a/crates/notedeck_columns/src/ui/note/reply.rs +++ b/crates/notedeck_columns/src/ui/note/reply.rs @@ -4,13 +4,13 @@ use crate::ui::note::{NoteOptions, PostResponse, PostType}; use enostr::{FilledKeypair, NoteId}; use nostrdb::Ndb; -use notedeck::{MediaCache, NoteCache}; +use notedeck::{Images, NoteCache}; pub struct PostReplyView<'a> { ndb: &'a Ndb, poster: FilledKeypair<'a>, note_cache: &'a mut NoteCache, - img_cache: &'a mut MediaCache, + img_cache: &'a mut Images, draft: &'a mut Draft, note: &'a nostrdb::Note<'a>, id_source: Option, @@ -25,7 +25,7 @@ impl<'a> PostReplyView<'a> { poster: FilledKeypair<'a>, draft: &'a mut Draft, note_cache: &'a mut NoteCache, - img_cache: &'a mut MediaCache, + img_cache: &'a mut Images, note: &'a nostrdb::Note<'a>, inner_rect: egui::Rect, note_options: NoteOptions, diff --git a/crates/notedeck_columns/src/ui/note/reply_description.rs b/crates/notedeck_columns/src/ui/note/reply_description.rs index 2d280358..372b8332 100644 --- a/crates/notedeck_columns/src/ui/note/reply_description.rs +++ b/crates/notedeck_columns/src/ui/note/reply_description.rs @@ -4,7 +4,7 @@ use crate::{ }; use egui::{Label, RichText, Sense}; use nostrdb::{Ndb, Note, NoteReply, Transaction}; -use notedeck::{MediaCache, NoteCache}; +use notedeck::{Images, NoteCache}; #[must_use = "Please handle the resulting note action"] pub fn reply_desc( @@ -12,7 +12,7 @@ pub fn reply_desc( txn: &Transaction, note_reply: &NoteReply, ndb: &Ndb, - img_cache: &mut MediaCache, + img_cache: &mut Images, note_cache: &mut NoteCache, note_options: NoteOptions, ) -> Option { @@ -29,7 +29,7 @@ pub fn reply_desc( // note link renderer helper let note_link = |ui: &mut egui::Ui, note_cache: &mut NoteCache, - img_cache: &mut MediaCache, + img_cache: &mut Images, text: &str, note: &Note<'_>| { let r = ui.add( diff --git a/crates/notedeck_columns/src/ui/profile/edit.rs b/crates/notedeck_columns/src/ui/profile/edit.rs index b6300f7e..33c57149 100644 --- a/crates/notedeck_columns/src/ui/profile/edit.rs +++ b/crates/notedeck_columns/src/ui/profile/edit.rs @@ -1,7 +1,7 @@ use core::f32; use egui::{vec2, Button, Layout, Margin, RichText, Rounding, ScrollArea, TextEdit}; -use notedeck::{MediaCache, NotedeckTextStyle}; +use notedeck::{Images, NotedeckTextStyle}; use crate::{colors, profile_state::ProfileState}; @@ -9,11 +9,11 @@ use super::{banner, unwrap_profile_url, ProfilePic}; pub struct EditProfileView<'a> { state: &'a mut ProfileState, - img_cache: &'a mut MediaCache, + img_cache: &'a mut Images, } impl<'a> EditProfileView<'a> { - pub fn new(state: &'a mut ProfileState, img_cache: &'a mut MediaCache) -> Self { + pub fn new(state: &'a mut ProfileState, img_cache: &'a mut Images) -> Self { Self { state, img_cache } } diff --git a/crates/notedeck_columns/src/ui/profile/mod.rs b/crates/notedeck_columns/src/ui/profile/mod.rs index 1d429216..258ab7ff 100644 --- a/crates/notedeck_columns/src/ui/profile/mod.rs +++ b/crates/notedeck_columns/src/ui/profile/mod.rs @@ -23,7 +23,7 @@ use crate::{ NostrName, }; -use notedeck::{Accounts, MediaCache, MuteFun, NoteCache, NotedeckTextStyle, UnknownIds}; +use notedeck::{Accounts, Images, MuteFun, NoteCache, NotedeckTextStyle, UnknownIds}; pub struct ProfileView<'a> { pubkey: &'a Pubkey, @@ -33,7 +33,7 @@ pub struct ProfileView<'a> { note_options: NoteOptions, ndb: &'a Ndb, note_cache: &'a mut NoteCache, - img_cache: &'a mut MediaCache, + img_cache: &'a mut Images, unknown_ids: &'a mut UnknownIds, is_muted: &'a MuteFun, } @@ -52,7 +52,7 @@ impl<'a> ProfileView<'a> { timeline_cache: &'a mut TimelineCache, ndb: &'a Ndb, note_cache: &'a mut NoteCache, - img_cache: &'a mut MediaCache, + img_cache: &'a mut Images, unknown_ids: &'a mut UnknownIds, is_muted: &'a MuteFun, note_options: NoteOptions, diff --git a/crates/notedeck_columns/src/ui/profile/picture.rs b/crates/notedeck_columns/src/ui/profile/picture.rs index b6abbbaf..72c8e822 100644 --- a/crates/notedeck_columns/src/ui/profile/picture.rs +++ b/crates/notedeck_columns/src/ui/profile/picture.rs @@ -1,14 +1,14 @@ use crate::images::ImageType; -use crate::ui::images::render_media_cache; +use crate::ui::images::render_images; use crate::ui::{Preview, PreviewConfig}; use egui::{vec2, Sense, Stroke, TextureHandle}; use nostrdb::{Ndb, Transaction}; use tracing::info; -use notedeck::{AppContext, MediaCache}; +use notedeck::{AppContext, Images}; pub struct ProfilePic<'cache, 'url> { - cache: &'cache mut MediaCache, + cache: &'cache mut Images, url: &'url str, size: f32, border: Option, @@ -21,7 +21,7 @@ impl egui::Widget for ProfilePic<'_, '_> { } impl<'cache, 'url> ProfilePic<'cache, 'url> { - pub fn new(cache: &'cache mut MediaCache, url: &'url str) -> Self { + pub fn new(cache: &'cache mut Images, url: &'url str) -> Self { let size = Self::default_size(); ProfilePic { cache, @@ -36,7 +36,7 @@ impl<'cache, 'url> ProfilePic<'cache, 'url> { } pub fn from_profile( - cache: &'cache mut MediaCache, + cache: &'cache mut Images, profile: &nostrdb::ProfileRecord<'url>, ) -> Option { profile @@ -81,7 +81,7 @@ impl<'cache, 'url> ProfilePic<'cache, 'url> { fn render_pfp( ui: &mut egui::Ui, - img_cache: &mut MediaCache, + img_cache: &mut Images, url: &str, ui_size: f32, border: Option, @@ -92,7 +92,7 @@ fn render_pfp( // We will want to downsample these so it's not blurry on hi res displays let img_size = 128u32; - render_media_cache( + render_images( ui, img_cache, url, diff --git a/crates/notedeck_columns/src/ui/profile/preview.rs b/crates/notedeck_columns/src/ui/profile/preview.rs index 8cdbc2b8..50aaca29 100644 --- a/crates/notedeck_columns/src/ui/profile/preview.rs +++ b/crates/notedeck_columns/src/ui/profile/preview.rs @@ -4,18 +4,18 @@ use egui::{Frame, Label, RichText, Widget}; use egui_extras::Size; use nostrdb::ProfileRecord; -use notedeck::{MediaCache, NotedeckTextStyle, UserAccount}; +use notedeck::{Images, NotedeckTextStyle, UserAccount}; use super::{about_section_widget, banner, display_name_widget, get_display_name, get_profile_url}; pub struct ProfilePreview<'a, 'cache> { profile: &'a ProfileRecord<'a>, - cache: &'cache mut MediaCache, + cache: &'cache mut Images, banner_height: Size, } impl<'a, 'cache> ProfilePreview<'a, 'cache> { - pub fn new(profile: &'a ProfileRecord<'a>, cache: &'cache mut MediaCache) -> Self { + pub fn new(profile: &'a ProfileRecord<'a>, cache: &'cache mut Images) -> Self { let banner_height = Size::exact(80.0); ProfilePreview { profile, @@ -69,14 +69,14 @@ impl egui::Widget for ProfilePreview<'_, '_> { pub struct SimpleProfilePreview<'a, 'cache> { profile: Option<&'a ProfileRecord<'a>>, - cache: &'cache mut MediaCache, + cache: &'cache mut Images, is_nsec: bool, } impl<'a, 'cache> SimpleProfilePreview<'a, 'cache> { pub fn new( profile: Option<&'a ProfileRecord<'a>>, - cache: &'cache mut MediaCache, + cache: &'cache mut Images, is_nsec: bool, ) -> Self { SimpleProfilePreview { diff --git a/crates/notedeck_columns/src/ui/search_results.rs b/crates/notedeck_columns/src/ui/search_results.rs index ef64b218..4592a1f9 100644 --- a/crates/notedeck_columns/src/ui/search_results.rs +++ b/crates/notedeck_columns/src/ui/search_results.rs @@ -1,6 +1,6 @@ use egui::{vec2, FontId, Pos2, Rect, ScrollArea, Vec2b}; use nostrdb::{Ndb, ProfileRecord, Transaction}; -use notedeck::{fonts::get_font_size, MediaCache, NotedeckTextStyle}; +use notedeck::{fonts::get_font_size, Images, NotedeckTextStyle}; use tracing::error; use crate::{ @@ -13,13 +13,13 @@ use super::{profile::get_profile_url, ProfilePic}; pub struct SearchResultsView<'a> { ndb: &'a Ndb, txn: &'a Transaction, - img_cache: &'a mut MediaCache, + img_cache: &'a mut Images, results: &'a Vec<&'a [u8; 32]>, } impl<'a> SearchResultsView<'a> { pub fn new( - img_cache: &'a mut MediaCache, + img_cache: &'a mut Images, ndb: &'a Ndb, txn: &'a Transaction, results: &'a Vec<&'a [u8; 32]>, @@ -84,7 +84,7 @@ impl<'a> SearchResultsView<'a> { fn user_result<'a>( profile: &'a ProfileRecord<'_>, - cache: &'a mut MediaCache, + cache: &'a mut Images, index: usize, width: f32, ) -> impl egui::Widget + 'a { diff --git a/crates/notedeck_columns/src/ui/side_panel.rs b/crates/notedeck_columns/src/ui/side_panel.rs index 7682d344..429c6b45 100644 --- a/crates/notedeck_columns/src/ui/side_panel.rs +++ b/crates/notedeck_columns/src/ui/side_panel.rs @@ -15,7 +15,7 @@ use crate::{ support::Support, }; -use notedeck::{Accounts, MediaCache, NotedeckTextStyle, ThemeHandler, UserAccount}; +use notedeck::{Accounts, Images, NotedeckTextStyle, ThemeHandler, UserAccount}; use super::{ anim::{AnimationHelper, ICON_EXPANSION_MULTIPLE}, @@ -29,7 +29,7 @@ static ICON_WIDTH: f32 = 40.0; pub struct DesktopSidePanel<'a> { ndb: &'a nostrdb::Ndb, - img_cache: &'a mut MediaCache, + img_cache: &'a mut Images, selected_account: Option<&'a UserAccount>, decks_cache: &'a DecksCache, } @@ -70,7 +70,7 @@ impl SidePanelResponse { impl<'a> DesktopSidePanel<'a> { pub fn new( ndb: &'a nostrdb::Ndb, - img_cache: &'a mut MediaCache, + img_cache: &'a mut Images, selected_account: Option<&'a UserAccount>, decks_cache: &'a DecksCache, ) -> Self { diff --git a/crates/notedeck_columns/src/ui/thread.rs b/crates/notedeck_columns/src/ui/thread.rs index 16f357fe..67ae5b07 100644 --- a/crates/notedeck_columns/src/ui/thread.rs +++ b/crates/notedeck_columns/src/ui/thread.rs @@ -5,7 +5,7 @@ use crate::{ }; use nostrdb::{Ndb, Transaction}; -use notedeck::{MediaCache, MuteFun, NoteCache, RootNoteId, UnknownIds}; +use notedeck::{Images, MuteFun, NoteCache, RootNoteId, UnknownIds}; use tracing::error; use super::timeline::TimelineTabView; @@ -15,7 +15,7 @@ pub struct ThreadView<'a> { ndb: &'a Ndb, note_cache: &'a mut NoteCache, unknown_ids: &'a mut UnknownIds, - img_cache: &'a mut MediaCache, + img_cache: &'a mut Images, selected_note_id: &'a [u8; 32], note_options: NoteOptions, id_source: egui::Id, @@ -29,7 +29,7 @@ impl<'a> ThreadView<'a> { ndb: &'a Ndb, note_cache: &'a mut NoteCache, unknown_ids: &'a mut UnknownIds, - img_cache: &'a mut MediaCache, + img_cache: &'a mut Images, selected_note_id: &'a [u8; 32], note_options: NoteOptions, is_muted: &'a MuteFun, diff --git a/crates/notedeck_columns/src/ui/timeline.rs b/crates/notedeck_columns/src/ui/timeline.rs index 880883d3..1ebf10b5 100644 --- a/crates/notedeck_columns/src/ui/timeline.rs +++ b/crates/notedeck_columns/src/ui/timeline.rs @@ -12,7 +12,7 @@ use egui::{vec2, Direction, Layout, Pos2, Stroke}; use egui_tabs::TabColor; use nostrdb::{Ndb, Transaction}; use notedeck::note::root_note_id_from_selected_id; -use notedeck::{MediaCache, MuteFun, NoteCache}; +use notedeck::{Images, MuteFun, NoteCache}; use tracing::{error, warn}; use super::anim::{AnimationHelper, ICON_EXPANSION_MULTIPLE}; @@ -22,19 +22,20 @@ pub struct TimelineView<'a> { timeline_cache: &'a mut TimelineCache, ndb: &'a Ndb, note_cache: &'a mut NoteCache, - img_cache: &'a mut MediaCache, + img_cache: &'a mut Images, note_options: NoteOptions, reverse: bool, is_muted: &'a MuteFun, } impl<'a> TimelineView<'a> { + #[allow(clippy::too_many_arguments)] pub fn new( timeline_id: &'a TimelineKind, timeline_cache: &'a mut TimelineCache, ndb: &'a Ndb, note_cache: &'a mut NoteCache, - img_cache: &'a mut MediaCache, + img_cache: &'a mut Images, note_options: NoteOptions, is_muted: &'a MuteFun, ) -> TimelineView<'a> { @@ -78,7 +79,7 @@ fn timeline_ui( timeline_id: &TimelineKind, timeline_cache: &mut TimelineCache, note_cache: &mut NoteCache, - img_cache: &mut MediaCache, + img_cache: &mut Images, reversed: bool, note_options: NoteOptions, is_muted: &MuteFun, @@ -321,7 +322,7 @@ pub struct TimelineTabView<'a> { txn: &'a Transaction, ndb: &'a Ndb, note_cache: &'a mut NoteCache, - img_cache: &'a mut MediaCache, + img_cache: &'a mut Images, is_muted: &'a MuteFun, } @@ -334,7 +335,7 @@ impl<'a> TimelineTabView<'a> { txn: &'a Transaction, ndb: &'a Ndb, note_cache: &'a mut NoteCache, - img_cache: &'a mut MediaCache, + img_cache: &'a mut Images, is_muted: &'a MuteFun, ) -> Self { Self {