diff options
Diffstat (limited to 'src/context/app_context.rs')
-rw-r--r-- | src/context/app_context.rs | 16 |
1 files changed, 6 insertions, 10 deletions
diff --git a/src/context/app_context.rs b/src/context/app_context.rs index 112b63b..df6035e 100644 --- a/src/context/app_context.rs +++ b/src/context/app_context.rs @@ -1,8 +1,7 @@ -use std::collections::VecDeque; use std::sync::mpsc; use crate::config; -use crate::context::{LocalStateContext, PreviewContext, TabContext, WorkerContext}; +use crate::context::{LocalStateContext, MessageQueue, PreviewContext, TabContext, WorkerContext}; use crate::event::{AppEvent, Events}; use crate::util::search::SearchPattern; @@ -27,7 +26,7 @@ pub struct AppContext { // context related to searching search_context: Option<SearchPattern>, // message queue for displaying messages - message_queue: VecDeque<String>, + message_queue: MessageQueue, // context related to io workers worker_context: WorkerContext, // context related to previews @@ -44,7 +43,7 @@ impl AppContext { tab_context: TabContext::new(), local_state: None, search_context: None, - message_queue: VecDeque::with_capacity(4), + message_queue: MessageQueue::new(), worker_context: WorkerContext::new(event_tx), preview_context: PreviewContext::new(), config, @@ -76,14 +75,11 @@ impl AppContext { &mut self.tab_context } - pub fn message_queue_ref(&self) -> &VecDeque<String> { + pub fn message_queue_ref(&self) -> &MessageQueue { &self.message_queue } - pub fn push_msg(&mut self, msg: String) { - self.message_queue.push_back(msg); - } - pub fn pop_msg(&mut self) -> Option<String> { - self.message_queue.pop_front() + pub fn message_queue_mut(&mut self) -> &mut MessageQueue { + &mut self.message_queue } // local state related |