title_start: i32,
title_end: i32,
+ modified: bool,
+
#[bind("note_type")]
pub note_type: UiInteger,
extract_title: false,
title_start: -1,
title_end: -1,
+ modified: false,
note_type: Default::default(),
text: Default::default(),
self.save_note();
}
- pub fn save_note(&self) {
+ pub fn save_note(&mut self) {
+ if !self.modified {
+ return;
+ }
+
let Some(doc) = self.doc.get_doc() else {
return;
};
}
});
});
+
+ self.modified = false;
}
/// Event before the text is changed: detect if the change affects the title
#[action]
pub fn note_text_changed(&mut self, event: &ActionEvent) {
+ if event.set {
+ // this event was triggered by UiText.set
+ return;
+ }
+ self.modified = true;
if !event.set && self.extract_title {
self.update_title(self.text.get().as_str(), true);
}