(&mut self, jobs: &mut JobQueue, state: &AppStateRef)
| 143 | |
| 144 | impl DiffViewState { |
| 145 | pub fn pre_update(&mut self, jobs: &mut JobQueue, state: &AppStateRef) { |
| 146 | jobs.results.retain_mut(|result| match result { |
| 147 | JobResult::ObjDiff(result) => { |
| 148 | self.build = take(result); |
| 149 | |
| 150 | // Clear reload flag so that we don't reload the view immediately |
| 151 | if let Ok(mut state) = state.write() { |
| 152 | state.queue_reload = false; |
| 153 | } |
| 154 | |
| 155 | // TODO: where should this go? |
| 156 | if let Some(result) = self.post_build_nav.take() { |
| 157 | self.current_view = result.view; |
| 158 | self.symbol_state.left_symbol = result.left_symbol; |
| 159 | self.symbol_state.right_symbol = result.right_symbol; |
| 160 | // Clear the mapping filter so it's not saved between mapping different symbols. |
| 161 | self.mapping_search = "".to_string(); |
| 162 | self.mapping_search_regex = None; |
| 163 | } |
| 164 | |
| 165 | false |
| 166 | } |
| 167 | JobResult::CreateScratch(result) => { |
| 168 | self.scratch = take(result); |
| 169 | false |
| 170 | } |
| 171 | _ => true, |
| 172 | }); |
| 173 | self.build_running = jobs.is_running(Job::ObjDiff); |
| 174 | self.scratch_running = jobs.is_running(Job::CreateScratch); |
| 175 | |
| 176 | self.symbol_state.disable_reverse_fn_order = false; |
| 177 | if let Ok(state) = state.read() { |
| 178 | if let Some(obj_config) = &state.config.selected_obj { |
| 179 | if let Some(value) = obj_config.reverse_fn_order { |
| 180 | self.symbol_state.reverse_fn_order = value; |
| 181 | self.symbol_state.disable_reverse_fn_order = true; |
| 182 | } |
| 183 | self.source_path_available = obj_config.source_path.is_some(); |
| 184 | } else { |
| 185 | self.source_path_available = false; |
| 186 | } |
| 187 | self.scratch_available = is_create_scratch_available(&state.config); |
| 188 | self.object_name = |
| 189 | state.config.selected_obj.as_ref().map(|o| o.name.clone()).unwrap_or_default(); |
| 190 | } |
| 191 | } |
| 192 | |
| 193 | pub fn post_update( |
| 194 | &mut self, |
nothing calls this directly
no test coverage detected