mirror of https://github.com/gmbrax/Pilgrim.git
				
				
				
			Merge pull request #42
Fixed the edit diary modal to accept the key "enter" and automatically the function
This commit is contained in:
		
						commit
						3bef353939
					
				|  | @ -8,6 +8,7 @@ from textual.widgets import Label, Input, Button | ||||||
| class EditDiaryModal(ModalScreen[tuple[int,str]]): | class EditDiaryModal(ModalScreen[tuple[int,str]]): | ||||||
|     BINDINGS = [ |     BINDINGS = [ | ||||||
|         Binding("escape", "cancel", "Cancel"), |         Binding("escape", "cancel", "Cancel"), | ||||||
|  |         Binding("enter", "edit_diary", "Save",priority=True), | ||||||
|     ] |     ] | ||||||
| 
 | 
 | ||||||
|     def __init__(self, diary_id: int): |     def __init__(self, diary_id: int): | ||||||
|  | @ -32,17 +33,28 @@ class EditDiaryModal(ModalScreen[tuple[int,str]]): | ||||||
| 
 | 
 | ||||||
|     def on_button_pressed(self, event: Button.Pressed) -> None: |     def on_button_pressed(self, event: Button.Pressed) -> None: | ||||||
|         if event.button.id == "save_diary_button": |         if event.button.id == "save_diary_button": | ||||||
|             new_diary_name = self.name_input.value.strip() |             self.action_edit_diary() | ||||||
|             if new_diary_name and new_diary_name != self.current_diary_name: |  | ||||||
|                 self.dismiss((self.diary_id, new_diary_name)) |  | ||||||
|             elif new_diary_name == self.current_diary_name: |  | ||||||
|                 self.notify("No changes made.", severity="warning") |  | ||||||
|                 self.dismiss(None) |  | ||||||
|             else: |  | ||||||
|                 self.notify("Diary name cannot be empty.", severity="warning") |  | ||||||
|                 self.name_input.focus() |  | ||||||
|         elif event.button.id == "cancel_button": |         elif event.button.id == "cancel_button": | ||||||
|             self.dismiss(None) |             self.dismiss(None) | ||||||
|  |     def on_key(self, event): | ||||||
|  |         if event.key == "enter": | ||||||
|  |             self.action_edit_diary() | ||||||
|  |             event.prevent_default() | ||||||
|  | 
 | ||||||
|  |     def action_edit_diary(self) -> None: | ||||||
|  |         new_diary_name = self.name_input.value.strip() | ||||||
|  |         if new_diary_name and new_diary_name != self.current_diary_name: | ||||||
|  |             self.dismiss((self.diary_id, new_diary_name)) | ||||||
|  |         elif new_diary_name == self.current_diary_name: | ||||||
|  |             self.notify("No changes made.", severity="warning") | ||||||
|  |             self.dismiss(None) | ||||||
|  |         else: | ||||||
|  |             self.notify("Diary name cannot be empty.", severity="warning") | ||||||
|  |             self.name_input.focus() | ||||||
|  | 
 | ||||||
|  |     def on_input_submitted(self, event: Input.Submitted) -> None: | ||||||
|  |         if event.input.id == "edit_diary_name_input": | ||||||
|  |             self.action_edit_diary() | ||||||
| 
 | 
 | ||||||
|     def action_cancel(self) -> None: |     def action_cancel(self) -> None: | ||||||
|         self.dismiss(None) |         self.dismiss(None) | ||||||
		Loading…
	
		Reference in New Issue