Compare commits

...

10 Commits

Author SHA1 Message Date
Gustavo Henrique Miranda 7dbb89b692
Merge pull request #40 from gmbrax/fix/add-enter-binding-edit-diary
Fix/add enter binding edit diary
2025-07-14 16:11:29 -03:00
Gustavo Henrique Miranda 33987507ac
Merge pull request #41 from gmbrax/fix/add-enter-binding-on-create-diary
Fix/add enter binding on create diary
2025-07-14 16:11:17 -03:00
Gustavo Henrique Miranda ff97929dc0
Merge pull request #39 from gmbrax/dependabot/pip/textual-approx-eq-4.0.0
Dependabot/pip/textual approx eq 4.0.0
2025-07-14 16:02:45 -03:00
Gustavo Henrique Miranda 5d26c5394d
Merge branch 'development' into dependabot/pip/textual-approx-eq-4.0.0 2025-07-14 16:02:35 -03:00
dependabot[bot] a867744d45
Update textual requirement from ~=3.3.0 to ~=4.0.0
---
updated-dependencies:
- dependency-name: textual
  dependency-version: 4.0.0
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-14 18:29:28 +00:00
Gustavo Henrique Santos Souza de Miranda f174fd1d8a Fixed the edit diary modal to accept the key "enter" and automatically the function 2025-07-14 02:23:29 -03:00
Gustavo Henrique Santos Souza de Miranda c98a106d97 Fixed the new diary modal to accept the key "enter" and automatically the function 2025-07-14 02:06:25 -03:00
Gustavo Henrique Miranda 417bc0d3e5
Merge pull request #36
Fixed the bindings to properly work and changed some bindings to avoid conflicts with the system
2025-07-14 00:46:23 -03:00
Gustavo Henrique Miranda fcaf17b593
Update README.md 2025-07-08 19:01:26 -03:00
Gustavo Henrique Miranda 1e07ea49df
Update README.md 2025-07-08 19:01:11 -03:00
3 changed files with 38 additions and 17 deletions

View File

@ -3,4 +3,4 @@ SQLAlchemy==2.0.41
typing_extensions==4.14.1
textual~=3.6.0
textual~=4.0.0

View File

@ -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)

View File

@ -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()