summaryrefslogtreecommitdiffstats
path: root/src/context.rs
blob: 35b9da083a688274a7ad884bc37d144e8ed5c1ca (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
use crate::commands::FileOperationThread;
use crate::config;
use crate::tab::JoshutoTab;

pub struct JoshutoContext {
    pub exit: bool,
    pub curr_tab_index: usize,
    pub tabs: Vec<JoshutoTab>,
    pub threads: Vec<FileOperationThread<u64, fs_extra::TransitProcess>>,

    pub config_t: config::JoshutoConfig,
}

impl JoshutoContext {
    pub fn new(config_t: config::JoshutoConfig) -> Self {
        JoshutoContext {
            exit: false,
            curr_tab_index: 0,
            tabs: Vec::new(),
            threads: Vec::new(),

            config_t,
        }
    }
    pub fn curr_tab_ref(&self) -> &JoshutoTab {
        &self.tabs[self.curr_tab_index]
    }
    pub fn curr_tab_mut(&mut self) -> &mut JoshutoTab {
        &mut self.tabs[self.curr_tab_index]
    }
}