mirror of https://github.com/gmbrax/Pilgrim.git
Compare commits
13 Commits
417bc0d3e5
...
3bef353939
| Author | SHA1 | Date |
|---|---|---|
|
|
3bef353939 | |
|
|
a80ecc24f5 | |
|
|
7f193d0fbb | |
|
|
7dfeec20f1 | |
|
|
d1545ad2e2 | |
|
|
5d26c5394d | |
|
|
a867744d45 | |
|
|
d2e69ae770 | |
|
|
f174fd1d8a | |
|
|
c98a106d97 | |
|
|
1312674186 | |
|
|
fcaf17b593 | |
|
|
1e07ea49df |
|
|
@ -3,4 +3,4 @@ SQLAlchemy==2.0.41
|
||||||
typing_extensions==4.14.1
|
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]]):
|
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,6 +33,15 @@ 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":
|
||||||
|
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()
|
new_diary_name = self.name_input.value.strip()
|
||||||
if new_diary_name and new_diary_name != self.current_diary_name:
|
if new_diary_name and new_diary_name != self.current_diary_name:
|
||||||
self.dismiss((self.diary_id, new_diary_name))
|
self.dismiss((self.diary_id, new_diary_name))
|
||||||
|
|
@ -41,8 +51,10 @@ class EditDiaryModal(ModalScreen[tuple[int,str]]):
|
||||||
else:
|
else:
|
||||||
self.notify("Diary name cannot be empty.", severity="warning")
|
self.notify("Diary name cannot be empty.", severity="warning")
|
||||||
self.name_input.focus()
|
self.name_input.focus()
|
||||||
elif event.button.id == "cancel_button":
|
|
||||||
self.dismiss(None)
|
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)
|
||||||
|
|
@ -8,6 +8,7 @@ from textual.widgets import Label, Input, Button
|
||||||
class NewDiaryModal(ModalScreen[str]):
|
class NewDiaryModal(ModalScreen[str]):
|
||||||
BINDINGS = [
|
BINDINGS = [
|
||||||
Binding("escape", "cancel", "Cancel"),
|
Binding("escape", "cancel", "Cancel"),
|
||||||
|
Binding("enter", "create_diary", "Create",priority=True),
|
||||||
]
|
]
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
super().__init__()
|
super().__init__()
|
||||||
|
|
@ -31,15 +32,23 @@ class NewDiaryModal(ModalScreen[str]):
|
||||||
def on_button_pressed(self, event: Button.Pressed) -> None:
|
def on_button_pressed(self, event: Button.Pressed) -> None:
|
||||||
"""Handles button clicks."""
|
"""Handles button clicks."""
|
||||||
if event.button.id == "create_diary_button":
|
if event.button.id == "create_diary_button":
|
||||||
diary_name = self.name_input.value.strip()
|
self.action_create_diary()
|
||||||
if diary_name:
|
|
||||||
self.dismiss(diary_name)
|
|
||||||
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("")
|
self.dismiss("")
|
||||||
|
|
||||||
def action_cancel(self) -> None:
|
def action_cancel(self) -> None:
|
||||||
"""Action to cancel the modal."""
|
"""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