summaryrefslogtreecommitdiffstats
path: root/src/context
diff options
context:
space:
mode:
authorJiayi Zhao <jeff.no.zhao@gmail.com>2020-09-04 15:00:56 -0400
committerJiayi Zhao <jeff.no.zhao@gmail.com>2020-09-04 15:00:56 -0400
commit7741d4d2c8798ad0bb609e97fb3bda86c5318a36 (patch)
tree0176023bbe8dfff48198ba960f64a08ee785569f /src/context
parente6e35948545bfa14d672cafae92c2c8c153ba708 (diff)
io operations now give more information
Diffstat (limited to 'src/context')
-rw-r--r--src/context/context.rs14
1 files changed, 4 insertions, 10 deletions
diff --git a/src/context/context.rs b/src/context/context.rs
index b29af77..2cf2661 100644
--- a/src/context/context.rs
+++ b/src/context/context.rs
@@ -4,7 +4,7 @@ use std::thread;
use crate::config;
use crate::context::{LocalStateContext, TabContext};
-use crate::io::{IOWorkerObserver, IOWorkerProgress, IOWorkerThread};
+use crate::io::{IOWorkerObserver, IOWorkerThread};
use crate::util::event::{Event, Events};
pub struct JoshutoContext {
@@ -89,8 +89,9 @@ impl JoshutoContext {
s.set_msg(msg);
}
}
- pub fn worker_msg(&self) -> Option<&String> {
- self.worker.as_ref().and_then(|s| s.get_msg())
+ pub fn worker_msg(&self) -> Option<&str> {
+ let worker = self.worker.as_ref()?;
+ Some(worker.get_msg())
}
pub fn start_next_job(&mut self) {
@@ -99,16 +100,9 @@ impl JoshutoContext {
if let Some(worker) = self.worker_queue.pop_front() {
let src = worker.paths[0].clone();
let dest = worker.dest.clone();
- let file_op = worker.options.kind;
let handle = thread::spawn(move || {
let (wtx, wrx) = mpsc::channel();
// start worker
- tx.send(Event::IOWorkerProgress(IOWorkerProgress {
- kind: worker.options.kind,
- index: 0,
- len: worker.paths.len(),
- processed: 0,
- }));
let worker_handle = thread::spawn(move || worker.start(wtx));
// relay worker info to event loop
while let Ok(progress) = wrx.recv() {