mirror of
https://github.com/enso-org/enso.git
synced 2024-11-22 22:10:15 +03:00
Hide error message on execution success (#7268)
Closes #7003 Hides annoying "Execution failed" message when the execution is fixed (when we receive ExecutionComplete message) Also renamed `ExecutionFinished` notification to `ExecutionComplete`, to better reflect the new behavior. https://github.com/enso-org/enso/assets/6566674/156e19f8-3cdd-4b60-98fb-565746650343
This commit is contained in:
parent
383514ee97
commit
3273ab654d
@ -180,8 +180,8 @@ pub enum Notification {
|
||||
ConnectionLost(BackendConnection),
|
||||
/// Indicates that the project VCS status has changed.
|
||||
VcsStatusChanged(VcsStatus),
|
||||
/// Indicates that the project has finished execution.
|
||||
ExecutionFinished,
|
||||
/// Indicates that the project has finished execution sucessfully.
|
||||
ExecutionComplete,
|
||||
/// Indicates failure of the project execution.
|
||||
ExecutionFailed,
|
||||
}
|
||||
|
@ -576,7 +576,7 @@ impl Project {
|
||||
Event::Notification(Notification::ExecutionStatus(_)) => {}
|
||||
Event::Notification(Notification::ExecutionComplete { context_id }) => {
|
||||
execution_update_handler(context_id, ExecutionUpdate::Completed);
|
||||
publisher.notify(model::project::Notification::ExecutionFinished);
|
||||
publisher.notify(model::project::Notification::ExecutionComplete);
|
||||
}
|
||||
Event::Notification(Notification::ExpressionValuesComputed(_)) => {
|
||||
// the notification is superseded by `ExpressionUpdates`.
|
||||
|
@ -40,17 +40,18 @@ const OPEN_PROJECT_SPINNER_PROGRESS: f32 = 0.8;
|
||||
#[allow(unused)]
|
||||
#[derive(Debug)]
|
||||
struct Model {
|
||||
controller: controller::Project,
|
||||
module_model: model::Module,
|
||||
graph_controller: controller::ExecutedGraph,
|
||||
ide_controller: controller::Ide,
|
||||
view: view::project::View,
|
||||
status_bar: view::status_bar::View,
|
||||
graph: presenter::Graph,
|
||||
code: presenter::Code,
|
||||
searcher: RefCell<Option<Box<dyn SearcherPresenter>>>,
|
||||
available_projects: Rc<RefCell<Vec<(ImString, Uuid)>>>,
|
||||
controller: controller::Project,
|
||||
module_model: model::Module,
|
||||
graph_controller: controller::ExecutedGraph,
|
||||
ide_controller: controller::Ide,
|
||||
view: view::project::View,
|
||||
status_bar: view::status_bar::View,
|
||||
graph: presenter::Graph,
|
||||
code: presenter::Code,
|
||||
searcher: RefCell<Option<Box<dyn SearcherPresenter>>>,
|
||||
available_projects: Rc<RefCell<Vec<(ImString, Uuid)>>>,
|
||||
shortcut_transaction: RefCell<Option<Rc<model::undo_redo::Transaction>>>,
|
||||
execution_failed_process_id: Rc<Cell<Option<view::status_bar::process::Id>>>,
|
||||
}
|
||||
|
||||
impl Model {
|
||||
@ -74,6 +75,7 @@ impl Model {
|
||||
let searcher = default();
|
||||
let available_projects = default();
|
||||
let shortcut_transaction = default();
|
||||
let execution_failed_process_id = default();
|
||||
Model {
|
||||
controller,
|
||||
module_model,
|
||||
@ -86,6 +88,7 @@ impl Model {
|
||||
searcher,
|
||||
available_projects,
|
||||
shortcut_transaction,
|
||||
execution_failed_process_id,
|
||||
}
|
||||
}
|
||||
|
||||
@ -240,15 +243,20 @@ impl Model {
|
||||
self.view.graph().model.breadcrumbs.set_project_changed(changed);
|
||||
}
|
||||
|
||||
fn execution_finished(&self) {
|
||||
fn execution_complete(&self) {
|
||||
self.view.graph().frp.set_read_only(false);
|
||||
self.view.graph().frp.execution_finished.emit(());
|
||||
self.view.graph().frp.execution_complete.emit(());
|
||||
if let Some(id) = self.execution_failed_process_id.get() {
|
||||
self.status_bar.finish_process(id);
|
||||
}
|
||||
}
|
||||
|
||||
fn execution_failed(&self) {
|
||||
let message = crate::EXECUTION_FAILED_MESSAGE;
|
||||
let message = view::status_bar::event::Label::from(message);
|
||||
self.status_bar.add_event(message);
|
||||
let message = view::status_bar::process::Label::from(message);
|
||||
self.status_bar.add_process(message);
|
||||
let id = self.status_bar.last_process.value();
|
||||
self.execution_failed_process_id.set(Some(id));
|
||||
}
|
||||
|
||||
fn execution_context_interrupt(&self) {
|
||||
@ -511,8 +519,8 @@ impl Project {
|
||||
Notification::VcsStatusChanged(VcsStatus::Clean) => {
|
||||
model.set_project_changed(false);
|
||||
}
|
||||
Notification::ExecutionFinished => {
|
||||
model.execution_finished();
|
||||
Notification::ExecutionComplete => {
|
||||
model.execution_complete();
|
||||
}
|
||||
Notification::ExecutionFailed => {
|
||||
model.execution_failed();
|
||||
|
@ -36,7 +36,7 @@ pub fn init_frp(frp: &Frp, model: &Rc<GraphEditorModel>) {
|
||||
frp.set_read_only <+ selector.play_press.constant(true);
|
||||
|
||||
// === Play Button ===
|
||||
selector.reset_play_button_state <+ frp.execution_finished;
|
||||
selector.reset_play_button_state <+ frp.execution_complete;
|
||||
|
||||
// === Layout ===
|
||||
|
||||
|
@ -600,7 +600,7 @@ ensogl::define_endpoints_2! {
|
||||
set_available_execution_environments (Rc<Vec<ExecutionEnvironment>>),
|
||||
switch_to_design_execution_environment(),
|
||||
switch_to_live_execution_environment(),
|
||||
execution_finished(),
|
||||
execution_complete(),
|
||||
|
||||
|
||||
// === Debug ===
|
||||
|
Loading…
Reference in New Issue
Block a user