From 471f4352696ae4c8f6b85f033b04afc8ba43ea08 Mon Sep 17 00:00:00 2001 From: Daniel Redd Jones Date: Mon, 29 May 2023 16:44:05 -0500 Subject: [PATCH 1/2] Added basic ncurses functionality --- src/main.rs | 4 ++-- src/ncurses_module.rs | 6 +++++- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/main.rs b/src/main.rs index 1ed2a5a..868ddb0 100644 --- a/src/main.rs +++ b/src/main.rs @@ -25,7 +25,6 @@ fn main() { else { let args: Vec = env::args().collect(); let filename = &args[1]; - ncurses_module::main(); epub_func(filename); } } @@ -33,7 +32,7 @@ fn main() { //parses epub files fn epub_func(epub_file: &str){ - + let doc = EpubDoc::new(&epub_file); assert!(doc.is_ok()); let mut doc = doc.unwrap(); @@ -48,6 +47,7 @@ fn epub_func(epub_file: &str){ let str_content = content.unwrap(); let page = html_module::main(str_content); println!("{}", page); + ncurses_module::main(page); let input_size = std::io::stdin().read_line(&mut next_or_last); let input_size_len = input_size.unwrap() - 1; diff --git a/src/ncurses_module.rs b/src/ncurses_module.rs index 6879789..a45ced7 100644 --- a/src/ncurses_module.rs +++ b/src/ncurses_module.rs @@ -9,8 +9,12 @@ Last edited: 5/20/23 use ncurses; +use ncurses::{initscr, WINDOW}; -pub fn main() { +pub fn main(text: String) { + + initscr(); + ncurses::addstr(&*text); println!("If you can read this, you are in the ncurses_module"); } \ No newline at end of file From 13d6b85165af8ef465448666d169a20f12e9e9f9 Mon Sep 17 00:00:00 2001 From: Daniel Redd Jones Date: Mon, 29 May 2023 17:41:05 -0500 Subject: [PATCH 2/2] Updated epub library to latest version --- Cargo.toml | 2 +- src/html_module.rs | 2 +- src/main.rs | 5 ++--- src/ncurses_module.rs | 6 ++++-- 4 files changed, 8 insertions(+), 7 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 2fbd135..1ff7641 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -6,6 +6,6 @@ edition = "2021" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] -epub = "1.2.2" +epub = "2.0.0" ncurses = "5.101.0" soup = "0.5.1" diff --git a/src/html_module.rs b/src/html_module.rs index e80b9b5..859e0f5 100644 --- a/src/html_module.rs +++ b/src/html_module.rs @@ -15,7 +15,7 @@ Last edited: 5/20/23 */ use soup::{Soup}; -pub fn main(content: String) -> String { +pub fn main(content: &str) -> String { let str_content = content; let soup = Soup::new(&str_content); let page = soup.text(); diff --git a/src/main.rs b/src/main.rs index 868ddb0..ad89a2c 100644 --- a/src/main.rs +++ b/src/main.rs @@ -41,12 +41,11 @@ fn epub_func(epub_file: &str){ let is_reading = true; while is_reading == true { let mut next_or_last = String::new(); - doc.set_current_page(page_num).expect("end of book"); + doc.set_current_page(page_num); let content = doc.get_current_str(); let str_content = content.unwrap(); - let page = html_module::main(str_content); - println!("{}", page); + let page = html_module::main(&str_content.0); ncurses_module::main(page); let input_size = std::io::stdin().read_line(&mut next_or_last); diff --git a/src/ncurses_module.rs b/src/ncurses_module.rs index a45ced7..cde91d4 100644 --- a/src/ncurses_module.rs +++ b/src/ncurses_module.rs @@ -11,10 +11,12 @@ Last edited: 5/20/23 use ncurses; use ncurses::{initscr, WINDOW}; -pub fn main(text: String) { - +pub fn main(mut text: String) { + ncurses::clear(); initscr(); ncurses::addstr(&*text); + + ncurses::refresh(); println!("If you can read this, you are in the ncurses_module"); } \ No newline at end of file