summaryrefslogtreecommitdiffstats
path: root/src/components/utilities.rs
diff options
context:
space:
mode:
authorManos Pitsidianakis <el13635@mail.ntua.gr>2020-12-02 20:47:48 +0200
committerManos Pitsidianakis <el13635@mail.ntua.gr>2020-12-02 21:01:22 +0200
commit48e7a493a92730bedccc5dfaac8242ed49d55a0d (patch)
tree0fea8098a1e5d5ced26efca389bb3e5f56157756 /src/components/utilities.rs
parente5b0ff4fe2799339076de95227b13d9755245f5f (diff)
Add reload-config command
Closes #84 Add "reload configuration" command
Diffstat (limited to 'src/components/utilities.rs')
-rw-r--r--src/components/utilities.rs23
1 files changed, 23 insertions, 0 deletions
diff --git a/src/components/utilities.rs b/src/components/utilities.rs
index 7d869784..f1a233ed 100644
--- a/src/components/utilities.rs
+++ b/src/components/utilities.rs
@@ -442,6 +442,25 @@ impl Component for StatusBar {
}
match event {
+ UIEvent::ConfigReload { old_settings: _ } => {
+ let mut progress_spinner = ProgressSpinner::new(19, context);
+ match context.settings.terminal.progress_spinner_sequence.as_ref() {
+ Some(conf::terminal::ProgressSpinnerSequence::Integer(k)) => {
+ progress_spinner.set_kind(*k);
+ }
+ Some(conf::terminal::ProgressSpinnerSequence::Custom(ref s)) => {
+ progress_spinner.set_custom_kind(s.clone());
+ }
+ None => {}
+ }
+ if self.progress_spinner.is_active() {
+ progress_spinner.start();
+ }
+ self.progress_spinner = progress_spinner;
+ self.mouse = context.settings.terminal.use_mouse.is_true();
+ self.set_dirty(true);
+ self.container.set_dirty(true);
+ }
UIEvent::ChangeMode(m) => {
let offset = self.status.find('|').unwrap_or_else(|| self.status.len());
self.status.replace_range(
@@ -1194,6 +1213,10 @@ impl Component for Tabbed {
fn process_event(&mut self, mut event: &mut UIEvent, context: &mut Context) -> bool {
let shortcuts = &self.help_curr_views;
match &mut event {
+ UIEvent::ConfigReload { old_settings: _ } => {
+ self.theme_default = crate::conf::value(context, "theme_default");
+ self.set_dirty(true);
+ }
UIEvent::Input(Key::Alt(no)) if *no >= '1' && *no <= '9' => {
let no = *no as usize - '1' as usize;
if no < self.children.len() {