Skip to content

Commit 686185b

Browse files
committed
Implement revert all changes, fixes #128
1 parent 03de470 commit 686185b

File tree

3 files changed

+14
-1
lines changed

3 files changed

+14
-1
lines changed

src/main.rs

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -199,6 +199,7 @@ pub enum Action {
199199
Paste,
200200
Quit,
201201
Redo,
202+
RevertAllChanges,
202203
Save,
203204
SaveAsDialog,
204205
SelectAll,
@@ -245,6 +246,7 @@ impl Action {
245246
Self::Paste => Message::Paste,
246247
Self::Quit => Message::Quit,
247248
Self::Redo => Message::Redo,
249+
Self::RevertAllChanges => Message::RevertAllChanges,
248250
Self::Save => Message::Save(entity_opt),
249251
Self::SaveAsDialog => Message::SaveAsDialog(entity_opt),
250252
Self::SelectAll => Message::SelectAll,
@@ -367,6 +369,7 @@ pub enum Message {
367369
Quit,
368370
QuitForce,
369371
Redo,
372+
RevertAllChanges,
370373
Save(Option<segmented_button::Entity>),
371374
SaveAll,
372375
SaveAsDialog(Option<segmented_button::Entity>),
@@ -2227,6 +2230,13 @@ impl Application for App {
22272230
return self.update(Message::TabChanged(self.tab_model.active()));
22282231
}
22292232
}
2233+
Message::RevertAllChanges => {
2234+
if let Some(Tab::Editor(tab)) = self.active_tab_mut() {
2235+
tab.reload();
2236+
2237+
return self.update(Message::TabChanged(self.tab_model.active()));
2238+
}
2239+
}
22302240
Message::Save(entity_opt) => {
22312241
let mut title_opt = None;
22322242

src/menu.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -139,7 +139,7 @@ pub fn menu_bar<'a>(
139139
MenuItem::Button(fl!("save"), None, Action::Save),
140140
MenuItem::Button(fl!("save-as"), None, Action::SaveAsDialog),
141141
MenuItem::Divider,
142-
MenuItem::Button(fl!("revert-all-changes"), None, Action::Todo),
142+
MenuItem::Button(fl!("revert-all-changes"), None, Action::RevertAllChanges),
143143
MenuItem::Divider,
144144
MenuItem::Button(
145145
fl!("menu-document-statistics"),

src/tab.rs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -127,6 +127,9 @@ impl EditorTab {
127127
match editor.load_text(path, self.attrs) {
128128
Ok(()) => {
129129
log::info!("reloaded {:?}", path);
130+
131+
// Clear changed state
132+
editor.set_changed(false);
130133
}
131134
Err(err) => {
132135
log::error!("failed to reload {:?}: {}", path, err);

0 commit comments

Comments
 (0)