Fix TODOs

Fixes non UTF8 filenames by not converting to `String` for no reason.

Also removes TODO for the fill-page feature, which already exists.
This commit is contained in:
Max Dexheimer
2026-01-22 15:32:59 +01:00
parent 828db8aed3
commit 577141e201
4 changed files with 4 additions and 9 deletions
+1 -2
View File
@@ -65,7 +65,6 @@ pub fn start_rendering_loop(
Sender<RenderNotif> Sender<RenderNotif>
) { ) {
let pathbuf = path.as_ref().canonicalize().unwrap(); let pathbuf = path.as_ref().canonicalize().unwrap();
let str_path = pathbuf.into_os_string().to_string_lossy().to_string();
let (to_render_tx, from_main_rx) = unbounded(); let (to_render_tx, from_main_rx) = unbounded();
let (to_main_tx, from_render_rx) = unbounded(); let (to_main_tx, from_render_rx) = unbounded();
@@ -91,7 +90,7 @@ pub fn start_rendering_loop(
let cell_width_px = size.width / size.columns; let cell_width_px = size.width / size.columns;
std::thread::spawn(move || { std::thread::spawn(move || {
start_rendering( start_rendering(
&str_path, &pathbuf,
to_main_tx, to_main_tx,
from_main_rx, from_main_rx,
cell_height_px, cell_height_px,
+1 -4
View File
@@ -209,10 +209,6 @@ async fn inner_main() -> Result<(), WrappedErr> {
) )
.map_err(|e| WrappedErr(format!("Can't watch the provided file: {e}").into()))?; .map_err(|e| WrappedErr(format!("Can't watch the provided file: {e}").into()))?;
// TODO: Handle non-utf8 file names? Maybe by constructing a CString and passing that in to the
// mupdf stuff instead of a rust string?
let file_path = path.clone().into_os_string().to_string_lossy().to_string();
let mut window_size = window_size().map_err(|e| { let mut window_size = window_size().map_err(|e| {
WrappedErr(format!("Can't get your current terminal window size: {e}").into()) WrappedErr(format!("Can't get your current terminal window size: {e}").into())
})?; })?;
@@ -266,6 +262,7 @@ async fn inner_main() -> Result<(), WrappedErr> {
.and_then(NonZeroUsize::new) .and_then(NonZeroUsize::new)
.map_or(PrerenderLimit::All, PrerenderLimit::Limited); .map_or(PrerenderLimit::All, PrerenderLimit::Limited);
let file_path = path.clone();
std::thread::spawn(move || { std::thread::spawn(move || {
renderer::start_rendering( renderer::start_rendering(
&file_path, &file_path,
+2 -2
View File
@@ -1,4 +1,4 @@
use std::{collections::VecDeque, num::NonZeroUsize, thread::sleep, time::Duration}; use std::{collections::VecDeque, num::NonZeroUsize, path::Path, thread::sleep, time::Duration};
use flume::{Receiver, SendError, Sender, TryRecvError}; use flume::{Receiver, SendError, Sender, TryRecvError};
use mupdf::{ use mupdf::{
@@ -80,7 +80,7 @@ pub fn fill_default<T: Default>(vec: &mut Vec<T>, size: usize) {
// probably be more performant if accessed by-value instead of through a reference. Probably. // probably be more performant if accessed by-value instead of through a reference. Probably.
#[expect(clippy::needless_pass_by_value, clippy::too_many_arguments)] #[expect(clippy::needless_pass_by_value, clippy::too_many_arguments)]
pub fn start_rendering( pub fn start_rendering(
path: &str, path: &Path,
sender: Sender<Result<RenderInfo, RenderError>>, sender: Sender<Result<RenderInfo, RenderError>>,
receiver: Receiver<RenderNotif>, receiver: Receiver<RenderNotif>,
col_h: u16, col_h: u16,
-1
View File
@@ -346,7 +346,6 @@ impl Tui {
}]) }])
} }
// TODO: Make a way to fill the width of the screen with one page and scroll down to view it
#[must_use] #[must_use]
pub fn render<'s>( pub fn render<'s>(
&'s mut self, &'s mut self,