Commit graph

50 commits

Author SHA1 Message Date
Blake Ridgway
b80b160af6 removed comments 2025-04-22 11:37:19 -05:00
Blake Ridgway
042143f195 added pdf_exporter settings 2025-04-22 11:37:12 -05:00
Blake Ridgway
4b025b8517 refactor: Complete overhaul of the pdf_exporter 2025-04-22 11:37:00 -05:00
blake
a849b79a98 Merge pull request 'Very Big PR' (#2) from enhancements into main
Reviewed-on: https://brew.bsd.cafe/blake/time_logix/pulls/2
2025-04-06 02:49:35 +02:00
Blake Ridgway
ba6c96eb72 build: Added build stuff, may remove later? 2025-04-05 18:20:10 -05:00
Blake Ridgway
bbc2baf88b fix: added .deb 2025-04-05 18:19:37 -05:00
Blake Ridgway
6be4a1b09e more gitignore work 2025-04-05 18:19:20 -05:00
Blake Ridgway
a75659fa30 feat: Add __init__.py files to mark directories as packages
This commit introduces `__init__.py` files to the `timelogix` and
`timelogix/ui` directories, enabling Python to recognize them as
packages.

- Added empty `__init__.py` files to `timelogix` and `timelogix/ui`.
2025-04-05 18:04:13 -05:00
Blake Ridgway
1231673385 refactor: Create main.py as entry point, implement on close
This commit creates a dedicated entry point `main.py`, instantiates
the application components, and handles the WM_DELETE_WINDOW protocol.

- Removed window creation and mainloop from previous file.
- Created a dedicated entry point with basic error handling.
- Implemented an on_closing protocol to properly close db and exit application
- Implemented the loading of database objects.
2025-04-05 18:03:52 -05:00
Blake Ridgway
2c6c55a176 refactor: Create MainWindow class for main application windows
This commit refactors the main application window into a `MainWindow`
class.  This improves code organization and facilitates unit testing
of the UI.

- Created `MainWindow` class inheriting from `ctk.CTk`.
- Moved UI elements and logic into the `MainWindow` class.
- Modified methods to use the Database and PDFExporter classes.
- Implemented load_log_entries to refresh log entries
2025-04-05 18:03:18 -05:00
Blake Ridgway
cac5f9c116 refactor: Centralize UI component creation
This commit centralizes the creation of common UI components into
`ui/components.py`, promoting code reuse and consistency.

- Created functions for creating labels, entries, buttons, combos,
  and text boxes.
- Replaced direct widget creation in MainWindow with calls to
  these functions.
2025-04-05 18:02:49 -05:00
Blake Ridgway
0df9e879d0 feat: Create PDFExporter class for invoice generation
This commit introduces a `PDFExporter` class to handle PDF invoice
generation logic.  This separates PDF creation from the main
application logic, improving modularity.

- Created PDFExporter class with methods for generating PDF invoices.
- Moved PDF generation code from MainWindow to PDFExporter.
- Added attributes for company and client information.
2025-04-05 18:02:23 -05:00
Blake Ridgway
0aeff69da8 feat: Refactor database interactions into Database class
This commit introduces a `Database` class to encapsulate all
database-related operations.  This improves code organization,
testability, and maintainability.

- Created Database class with methods for creating tables,
  loading/saving projects, log entries, and settings.
- Added error handling for database connection and operations.
- Implemented methods to load and save invoice numbers.
- Replaced direct database access with Database class methods.
2025-04-05 18:01:58 -05:00
Blake Ridgway
68ab46969a feat: added git ignore 2025-04-05 18:00:54 -05:00
Blake Ridgway
bec228f9a3 feat: Remember generated invoice number
- Added `invoice_file` attribute to store the filename where the invoice number is persisted.
- Implemented `load_invoice_number` to read the last invoice number from the file on app startup. If the file doesn't exist or contains an invalid number, it defaults to 1.
- Implemented `save_invoice_number` to persist the incremented invoice number to the file after generating a PDF.
- Modified `export_to_pdf` to increment and save the invoice number after successful PDF generation.
2025-04-04 12:18:41 -05:00
Blake Ridgway
4d8502c68d blanket block txt files 2025-04-04 12:18:17 -05:00
blake
fa3453f153 Merge pull request 'TimeLogix overhaul & enhancements' (#1) from enhancements into main
Reviewed-on: https://brew.bsd.cafe/blake/time_logix/pulls/1
2025-04-02 21:05:24 +02:00
Blake Ridgway
9b1ba84048 (docs): update to readme file 2025-04-02 14:01:03 -05:00
Blake Ridgway
702ddf3802 added customtkinter 2025-04-02 13:51:15 -05:00
Blake Ridgway
2fa75da0db remove build 2025-04-01 10:26:22 -05:00
Blake Ridgway
0bd7db4a9a more overhaul work 2025-04-01 10:26:11 -05:00
Blake Ridgway
34d7c4c9dd overhaul of timelogix app 2025-03-31 10:02:47 -05:00
Blake Ridgway
266d21b540 added time calc and pdf exports 2025-03-31 09:08:44 -05:00
Blake Ridgway
2a5c9f438d (fix): Blanket block csv's and pdf's 2025-03-20 19:47:16 -05:00
Blake Ridgway
49528323af (feat): Added simple exit button 2025-03-20 19:46:32 -05:00
Blake Ridgway
cc53fe9c41 (feat): Implemented CSV loading/export, and PDF export using reportlab.
Added work description entry, total hours calculation/display.
Implemented CSV loading/export, and PDF export using reportlab.
2025-03-20 19:37:42 -05:00
Blake Ridgway
f657bb0cd5 ci: comment out workflow to go on push 2025-03-20 19:36:16 -05:00
Blake Ridgway
a943e6efa3 add: add requirements and .gitignore 2025-03-20 19:35:42 -05:00
Blake Ridgway
52a14b53cc ci: no idea if this will even work 2025-03-20 08:19:03 -05:00
Blake Ridgway
164478bb36 here we go again with this gh cli crap 2025-03-20 08:13:05 -05:00
Blake Ridgway
37123412ae pleaseeee 2025-03-20 08:07:24 -05:00
Blake Ridgway
cfe330b350 added github cli 2025-03-20 08:02:26 -05:00
Blake Ridgway
8f5573c38e regressed back to having to manually run this...fixed... 2025-03-20 07:59:26 -05:00
Blake Ridgway
c71fe67fb8 Hopefully this fixes the release error 2025-03-20 07:57:23 -05:00
Blake Ridgway
18faf4d1e3 fix: removed unneeded permission 2025-03-20 07:54:09 -05:00
Blake Ridgway
97dee98bb9 permissions seem dumb, job should run on push to main 2025-03-20 07:42:30 -05:00
Blake Ridgway
c394cb5300 for all that is holy please work and push the releases 2025-03-20 07:36:43 -05:00
Blake Ridgway
beac3f6106 fixed to v2 of action-gh-release-upload 2025-03-20 07:28:45 -05:00
Blake Ridgway
b5e44fdaea correct download-artifact version 2025-03-20 07:25:14 -05:00
Blake Ridgway
614f553a58 trying this with a placeholder image... 2025-03-20 07:21:36 -05:00
Blake Ridgway
91f1393ad3 fix: somehow I went back a version of upload-artifact. 2025-03-20 07:18:12 -05:00
Blake Ridgway
bf0baaf9d2 fix: added publish release and removing image from the appimage 2025-03-20 07:15:00 -05:00
Blake Ridgway
920b7220c8 fix: fixed time_tracker to time_logix 2025-03-20 07:08:40 -05:00
Blake Ridgway
a347bbae4a fix: remove icon from appimage 2025-03-19 09:06:47 -05:00
Blake Ridgway
fc5960a604 fix: added FUSE lib 2025-03-19 08:10:20 -05:00
Blake Ridgway
1f35371813 fix: switching to v4 2025-03-19 08:07:08 -05:00
Blake Ridgway
57f63d2447 fix: attempting to fix upload-artifact 2025-03-19 08:05:34 -05:00
Blake Ridgway
f049f7d73f init commit of build workflow 2025-03-19 07:42:17 -05:00
blake
75b4b06dfa Added MIT License file 2025-03-19 13:30:11 +01:00
Blake Ridgway
43f13205bf first commit 2025-03-19 07:08:52 -05:00