summaryrefslogtreecommitdiffstats
path: root/src/context/app_context.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/context/app_context.rs')
-rw-r--r--src/context/app_context.rs16
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