mirror of https://github.com/gmbrax/Pilgrim.git
Compare commits
10 Commits
1312674186
...
7dbb89b692
| Author | SHA1 | Date |
|---|---|---|
|
|
7dbb89b692 | |
|
|
33987507ac | |
|
|
ff97929dc0 | |
|
|
5d26c5394d | |
|
|
a867744d45 | |
|
|
f174fd1d8a | |
|
|
c98a106d97 | |
|
|
417bc0d3e5 | |
|
|
fcaf17b593 | |
|
|
1e07ea49df |
|
|
@ -3,4 +3,4 @@ SQLAlchemy==2.0.41
|
|||
typing_extensions==4.14.1
|
||||
|
||||
|
||||
textual~=3.6.0
|
||||
textual~=4.0.0
|
||||
|
|
@ -8,6 +8,7 @@ from textual.widgets import Label, Input, Button
|
|||
class EditDiaryModal(ModalScreen[tuple[int,str]]):
|
||||
BINDINGS = [
|
||||
Binding("escape", "cancel", "Cancel"),
|
||||
Binding("enter", "edit_diary", "Save",priority=True),
|
||||
]
|
||||
|
||||
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:
|
||||
if event.button.id == "save_diary_button":
|
||||
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()
|
||||
self.action_edit_diary()
|
||||
elif event.button.id == "cancel_button":
|
||||
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:
|
||||
self.dismiss(None)
|
||||
|
|
@ -8,6 +8,7 @@ from textual.widgets import Label, Input, Button
|
|||
class NewDiaryModal(ModalScreen[str]):
|
||||
BINDINGS = [
|
||||
Binding("escape", "cancel", "Cancel"),
|
||||
Binding("enter", "create_diary", "Create",priority=True),
|
||||
]
|
||||
def __init__(self):
|
||||
super().__init__()
|
||||
|
|
@ -31,15 +32,23 @@ class NewDiaryModal(ModalScreen[str]):
|
|||
def on_button_pressed(self, event: Button.Pressed) -> None:
|
||||
"""Handles button clicks."""
|
||||
if event.button.id == "create_diary_button":
|
||||
diary_name = self.name_input.value.strip()
|
||||
if diary_name:
|
||||
self.dismiss(diary_name)
|
||||
else:
|
||||
self.notify("Diary name cannot be empty.", severity="warning")
|
||||
self.name_input.focus()
|
||||
self.action_create_diary()
|
||||
elif event.button.id == "cancel_button":
|
||||
self.dismiss("")
|
||||
|
||||
def action_cancel(self) -> None:
|
||||
"""Action to cancel the modal."""
|
||||
self.dismiss("")
|
||||
self.dismiss("")
|
||||
|
||||
def action_create_diary(self) -> None:
|
||||
diary_name = self.name_input.value.strip()
|
||||
if diary_name:
|
||||
self.dismiss(diary_name)
|
||||
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 == "NewDiaryModal-NameInput":
|
||||
self.action_create_diary()
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue