Compare commits

...

2 commits

Author SHA1 Message Date
535a380616
Ensure time log reports have an extension
Some checks failed
CI / test (push) Failing after 5m0s
Lint / test (push) Successful in 31s
Trivy / test (push) Successful in 22s
2025-12-01 10:27:44 +11:00
4d3593e960
0.5.5 2025-12-01 10:22:48 +11:00
3 changed files with 6 additions and 1 deletions

View file

@ -3,6 +3,7 @@
* Add + button to time log widget in side bar to have a simplified log entry dialog (without summary or report option) * Add + button to time log widget in side bar to have a simplified log entry dialog (without summary or report option)
* Allow click-and-drag mouse select on lines with checkbox, to capture the checkbox as well as the text. * Allow click-and-drag mouse select on lines with checkbox, to capture the checkbox as well as the text.
* Allow changing the date when logging time (rather than having to go to that date before clicking on adding time log/opening time log manager) * Allow changing the date when logging time (rather than having to go to that date before clicking on adding time log/opening time log manager)
* Ensure time log reports have an extension
# 0.5.4 # 0.5.4

View file

@ -1076,6 +1076,8 @@ class TimeReportDialog(QDialog):
) )
if not filename: if not filename:
return return
if not filename.endswith(".csv"):
filename = f"{filename}.csv"
try: try:
with open(filename, "w", newline="", encoding="utf-8") as f: with open(filename, "w", newline="", encoding="utf-8") as f:
@ -1124,6 +1126,8 @@ class TimeReportDialog(QDialog):
) )
if not filename: if not filename:
return return
if not filename.endswith(".pdf"):
filename = f"{filename}.pdf"
# ---------- Build chart image (hours per period) ---------- # ---------- Build chart image (hours per period) ----------
per_period_minutes: dict[str, int] = defaultdict(int) per_period_minutes: dict[str, int] = defaultdict(int)

View file

@ -1,6 +1,6 @@
[tool.poetry] [tool.poetry]
name = "bouquin" name = "bouquin"
version = "0.5.4" version = "0.5.5"
description = "Bouquin is a simple, opinionated notebook application written in Python, PyQt and SQLCipher." description = "Bouquin is a simple, opinionated notebook application written in Python, PyQt and SQLCipher."
authors = ["Miguel Jacq <mig@mig5.net>"] authors = ["Miguel Jacq <mig@mig5.net>"]
readme = "README.md" readme = "README.md"