Implement revert all changes, fixes #128
This commit is contained in:
parent
03de470425
commit
686185b0f1
3 changed files with 14 additions and 1 deletions
10
src/main.rs
10
src/main.rs
|
|
@ -199,6 +199,7 @@ pub enum Action {
|
||||||
Paste,
|
Paste,
|
||||||
Quit,
|
Quit,
|
||||||
Redo,
|
Redo,
|
||||||
|
RevertAllChanges,
|
||||||
Save,
|
Save,
|
||||||
SaveAsDialog,
|
SaveAsDialog,
|
||||||
SelectAll,
|
SelectAll,
|
||||||
|
|
@ -245,6 +246,7 @@ impl Action {
|
||||||
Self::Paste => Message::Paste,
|
Self::Paste => Message::Paste,
|
||||||
Self::Quit => Message::Quit,
|
Self::Quit => Message::Quit,
|
||||||
Self::Redo => Message::Redo,
|
Self::Redo => Message::Redo,
|
||||||
|
Self::RevertAllChanges => Message::RevertAllChanges,
|
||||||
Self::Save => Message::Save(entity_opt),
|
Self::Save => Message::Save(entity_opt),
|
||||||
Self::SaveAsDialog => Message::SaveAsDialog(entity_opt),
|
Self::SaveAsDialog => Message::SaveAsDialog(entity_opt),
|
||||||
Self::SelectAll => Message::SelectAll,
|
Self::SelectAll => Message::SelectAll,
|
||||||
|
|
@ -367,6 +369,7 @@ pub enum Message {
|
||||||
Quit,
|
Quit,
|
||||||
QuitForce,
|
QuitForce,
|
||||||
Redo,
|
Redo,
|
||||||
|
RevertAllChanges,
|
||||||
Save(Option<segmented_button::Entity>),
|
Save(Option<segmented_button::Entity>),
|
||||||
SaveAll,
|
SaveAll,
|
||||||
SaveAsDialog(Option<segmented_button::Entity>),
|
SaveAsDialog(Option<segmented_button::Entity>),
|
||||||
|
|
@ -2227,6 +2230,13 @@ impl Application for App {
|
||||||
return self.update(Message::TabChanged(self.tab_model.active()));
|
return self.update(Message::TabChanged(self.tab_model.active()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Message::RevertAllChanges => {
|
||||||
|
if let Some(Tab::Editor(tab)) = self.active_tab_mut() {
|
||||||
|
tab.reload();
|
||||||
|
|
||||||
|
return self.update(Message::TabChanged(self.tab_model.active()));
|
||||||
|
}
|
||||||
|
}
|
||||||
Message::Save(entity_opt) => {
|
Message::Save(entity_opt) => {
|
||||||
let mut title_opt = None;
|
let mut title_opt = None;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -139,7 +139,7 @@ pub fn menu_bar<'a>(
|
||||||
MenuItem::Button(fl!("save"), None, Action::Save),
|
MenuItem::Button(fl!("save"), None, Action::Save),
|
||||||
MenuItem::Button(fl!("save-as"), None, Action::SaveAsDialog),
|
MenuItem::Button(fl!("save-as"), None, Action::SaveAsDialog),
|
||||||
MenuItem::Divider,
|
MenuItem::Divider,
|
||||||
MenuItem::Button(fl!("revert-all-changes"), None, Action::Todo),
|
MenuItem::Button(fl!("revert-all-changes"), None, Action::RevertAllChanges),
|
||||||
MenuItem::Divider,
|
MenuItem::Divider,
|
||||||
MenuItem::Button(
|
MenuItem::Button(
|
||||||
fl!("menu-document-statistics"),
|
fl!("menu-document-statistics"),
|
||||||
|
|
|
||||||
|
|
@ -127,6 +127,9 @@ impl EditorTab {
|
||||||
match editor.load_text(path, self.attrs) {
|
match editor.load_text(path, self.attrs) {
|
||||||
Ok(()) => {
|
Ok(()) => {
|
||||||
log::info!("reloaded {:?}", path);
|
log::info!("reloaded {:?}", path);
|
||||||
|
|
||||||
|
// Clear changed state
|
||||||
|
editor.set_changed(false);
|
||||||
}
|
}
|
||||||
Err(err) => {
|
Err(err) => {
|
||||||
log::error!("failed to reload {:?}: {}", path, err);
|
log::error!("failed to reload {:?}: {}", path, err);
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue