Return 'yes', 'no', 'cancel' as appropriate. Tkinter messagebox.askyesnocancel converts these tk responses to True, False, None. Convert back, as now expected elsewhere.
(self)
| 180 | return True |
| 181 | |
| 182 | def maybesave(self): |
| 183 | """Return 'yes', 'no', 'cancel' as appropriate. |
| 184 | |
| 185 | Tkinter messagebox.askyesnocancel converts these tk responses |
| 186 | to True, False, None. Convert back, as now expected elsewhere. |
| 187 | """ |
| 188 | if self.get_saved(): |
| 189 | return "yes" |
| 190 | message = ("Do you want to save " |
| 191 | f"{self.filename or 'this untitled document'}" |
| 192 | " before closing?") |
| 193 | confirm = messagebox.askyesnocancel( |
| 194 | title="Save On Close", |
| 195 | message=message, |
| 196 | default=messagebox.YES, |
| 197 | parent=self.text) |
| 198 | if confirm: |
| 199 | self.save(None) |
| 200 | reply = "yes" if self.get_saved() else "cancel" |
| 201 | else: reply = "cancel" if confirm is None else "no" |
| 202 | self.text.focus_set() |
| 203 | return reply |
| 204 | |
| 205 | def save(self, event): |
| 206 | if not self.filename: |