removed comments
This commit is contained in:
		
							parent
							
								
									042143f195
								
							
						
					
					
						commit
						b80b160af6
					
				
					 2 changed files with 11 additions and 23 deletions
				
			
		|  | @ -1,4 +1,3 @@ | ||||||
| # timelogix/ui/components.py |  | ||||||
| import customtkinter as ctk | import customtkinter as ctk | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -1,4 +1,3 @@ | ||||||
| # timelogix/ui/main_window.py |  | ||||||
| import customtkinter as ctk | import customtkinter as ctk | ||||||
| import tkinter as tk | import tkinter as tk | ||||||
| from tkinter import ttk | from tkinter import ttk | ||||||
|  | @ -15,21 +14,17 @@ class MainWindow(ctk.CTk): | ||||||
|         self.pdf_exporter = pdf_exporter |         self.pdf_exporter = pdf_exporter | ||||||
|         self.title("TimeLogix") |         self.title("TimeLogix") | ||||||
| 
 | 
 | ||||||
|         # Theme Configuration |         ctk.set_appearance_mode("Dark") | ||||||
|         ctk.set_appearance_mode("Dark")  # Or "Light", "System" |  | ||||||
|         ctk.set_default_color_theme("blue") |         ctk.set_default_color_theme("blue") | ||||||
| 
 | 
 | ||||||
|         # Styling |  | ||||||
|         self.font_family = "Segoe UI" |         self.font_family = "Segoe UI" | ||||||
|         self.font_size = 12 |         self.font_size = 12 | ||||||
| 
 | 
 | ||||||
|         # App Data |  | ||||||
|         self.is_running = False |         self.is_running = False | ||||||
|         self.start_time = None |         self.start_time = None | ||||||
|         self.elapsed_time = 0 |         self.elapsed_time = 0 | ||||||
|         self.timer_id = None |         self.timer_id = None | ||||||
| 
 | 
 | ||||||
|         # Load settings from the database |  | ||||||
|         settings = self.db.load_settings() |         settings = self.db.load_settings() | ||||||
|         if settings: |         if settings: | ||||||
|             self.company_name = settings["company_name"] |             self.company_name = settings["company_name"] | ||||||
|  | @ -39,7 +34,6 @@ class MainWindow(ctk.CTk): | ||||||
|             self.hourly_rate = settings["hourly_rate"] |             self.hourly_rate = settings["hourly_rate"] | ||||||
|             self.invoice_number = settings["invoice_number"] |             self.invoice_number = settings["invoice_number"] | ||||||
|         else: |         else: | ||||||
|             # Provide default values if settings are not found |  | ||||||
|             self.company_name = "Your Company Name" |             self.company_name = "Your Company Name" | ||||||
|             self.company_address = "123 Main St, Anytown, USA" |             self.company_address = "123 Main St, Anytown, USA" | ||||||
|             self.client_name = "Client Name" |             self.client_name = "Client Name" | ||||||
|  | @ -48,7 +42,6 @@ class MainWindow(ctk.CTk): | ||||||
|             self.invoice_number = 1 |             self.invoice_number = 1 | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|         # UI Components |  | ||||||
|         self.scrollable_frame = ctk.CTkScrollableFrame(self, width=450, height=600) |         self.scrollable_frame = ctk.CTkScrollableFrame(self, width=450, height=600) | ||||||
|         self.scrollable_frame.pack(fill="both", expand=True, padx=10, pady=10) |         self.scrollable_frame.pack(fill="both", expand=True, padx=10, pady=10) | ||||||
| 
 | 
 | ||||||
|  | @ -96,42 +89,41 @@ class MainWindow(ctk.CTk): | ||||||
|         self.total_time_label = create_label(self.scrollable_frame, "Total Time: 00:00:00", self.font_family, self.font_size) |         self.total_time_label = create_label(self.scrollable_frame, "Total Time: 00:00:00", self.font_family, self.font_size) | ||||||
|         self.total_time_label.pack(pady=(5, 15)) |         self.total_time_label.pack(pady=(5, 15)) | ||||||
| 
 | 
 | ||||||
|         # Settings UI |  | ||||||
|         self.company_name_label = create_label(self.scrollable_frame, "Company Name:", self.font_family, self.font_size) |         self.company_name_label = create_label(self.scrollable_frame, "Company Name:", self.font_family, self.font_size) | ||||||
|         self.company_name_label.pack(pady=(10, 2)) |         self.company_name_label.pack(pady=(10, 2)) | ||||||
|         self.company_name_entry = create_entry(self.scrollable_frame, width=250) |         self.company_name_entry = create_entry(self.scrollable_frame, width=250) | ||||||
|         self.company_name_entry.pack(pady=(2, 10)) |         self.company_name_entry.pack(pady=(2, 10)) | ||||||
|         self.company_name_entry.insert(0, self.company_name)  # Initial value |         self.company_name_entry.insert(0, self.company_name) | ||||||
| 
 | 
 | ||||||
|         self.company_address_label = create_label(self.scrollable_frame, "Company Address:", self.font_family, self.font_size) |         self.company_address_label = create_label(self.scrollable_frame, "Company Address:", self.font_family, self.font_size) | ||||||
|         self.company_address_label.pack(pady=(10, 2)) |         self.company_address_label.pack(pady=(10, 2)) | ||||||
|         self.company_address_entry = create_entry(self.scrollable_frame, width=250) |         self.company_address_entry = create_entry(self.scrollable_frame, width=250) | ||||||
|         self.company_address_entry.pack(pady=(2, 10)) |         self.company_address_entry.pack(pady=(2, 10)) | ||||||
|         self.company_address_entry.insert(0, self.company_address)  # Initial value |         self.company_address_entry.insert(0, self.company_address)\ | ||||||
| 
 | 
 | ||||||
|         self.client_name_label = create_label(self.scrollable_frame, "Client Name:", self.font_family, self.font_size) |         self.client_name_label = create_label(self.scrollable_frame, "Client Name:", self.font_family, self.font_size) | ||||||
|         self.client_name_label.pack(pady=(10, 2)) |         self.client_name_label.pack(pady=(10, 2)) | ||||||
|         self.client_name_entry = create_entry(self.scrollable_frame, width=250) |         self.client_name_entry = create_entry(self.scrollable_frame, width=250) | ||||||
|         self.client_name_entry.pack(pady=(2, 10)) |         self.client_name_entry.pack(pady=(2, 10)) | ||||||
|         self.client_name_entry.insert(0, self.client_name)  # Initial value |         self.client_name_entry.insert(0, self.client_name) | ||||||
| 
 | 
 | ||||||
|         self.client_address_label = create_label(self.scrollable_frame, "Client Address:", self.font_family, self.font_size) |         self.client_address_label = create_label(self.scrollable_frame, "Client Address:", self.font_family, self.font_size) | ||||||
|         self.client_address_label.pack(pady=(10, 2)) |         self.client_address_label.pack(pady=(10, 2)) | ||||||
|         self.client_address_entry = create_entry(self.scrollable_frame, width=250) |         self.client_address_entry = create_entry(self.scrollable_frame, width=250) | ||||||
|         self.client_address_entry.pack(pady=(2, 10)) |         self.client_address_entry.pack(pady=(2, 10)) | ||||||
|         self.client_address_entry.insert(0, self.client_address)  # Initial value |         self.client_address_entry.insert(0, self.client_address) | ||||||
| 
 | 
 | ||||||
|         self.hourly_rate_label = create_label(self.scrollable_frame, "Hourly Rate:", self.font_family, self.font_size) |         self.hourly_rate_label = create_label(self.scrollable_frame, "Hourly Rate:", self.font_family, self.font_size) | ||||||
|         self.hourly_rate_label.pack(pady=(10, 2)) |         self.hourly_rate_label.pack(pady=(10, 2)) | ||||||
|         self.hourly_rate_entry = create_entry(self.scrollable_frame, width=100) |         self.hourly_rate_entry = create_entry(self.scrollable_frame, width=100) | ||||||
|         self.hourly_rate_entry.pack(pady=(2, 10)) |         self.hourly_rate_entry.pack(pady=(2, 10)) | ||||||
|         self.hourly_rate_entry.insert(0, str(self.hourly_rate))  # Initial value |         self.hourly_rate_entry.insert(0, str(self.hourly_rate)) | ||||||
| 
 | 
 | ||||||
|         self.update_settings_button = create_button(self.scrollable_frame, "Update Settings", self.update_settings) |         self.update_settings_button = create_button(self.scrollable_frame, "Update Settings", self.update_settings) | ||||||
|         self.update_settings_button.pack(pady=(15, 20)) |         self.update_settings_button.pack(pady=(15, 20)) | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|         self.load_log_entries()  # Load log entries after UI is set up |         self.load_log_entries() | ||||||
| 
 | 
 | ||||||
|     def toggle_timer(self): |     def toggle_timer(self): | ||||||
|         if self.is_running: |         if self.is_running: | ||||||
|  | @ -169,7 +161,6 @@ class MainWindow(ctk.CTk): | ||||||
|         duration = self.elapsed_time |         duration = self.elapsed_time | ||||||
|         start_time_str = end_time - datetime.timedelta(seconds=duration) |         start_time_str = end_time - datetime.timedelta(seconds=duration) | ||||||
| 
 | 
 | ||||||
|         # Get project ID from the database |  | ||||||
|         project_id = self.db.get_project_id(project) |         project_id = self.db.get_project_id(project) | ||||||
|         if not project_id: |         if not project_id: | ||||||
|             print("Project not found in the database.") |             print("Project not found in the database.") | ||||||
|  | @ -183,7 +174,7 @@ class MainWindow(ctk.CTk): | ||||||
|             duration, |             duration, | ||||||
|         ) |         ) | ||||||
| 
 | 
 | ||||||
|         self.load_log_entries()  # Refresh log entries |         self.load_log_entries() | ||||||
|         self.elapsed_time = 0 |         self.elapsed_time = 0 | ||||||
|         self.time_label.configure(text="00:00:00") |         self.time_label.configure(text="00:00:00") | ||||||
| 
 | 
 | ||||||
|  | @ -233,7 +224,6 @@ class MainWindow(ctk.CTk): | ||||||
|             company_name, company_address, client_name, client_address, hourly_rate |             company_name, company_address, client_name, client_address, hourly_rate | ||||||
|         ) |         ) | ||||||
| 
 | 
 | ||||||
|         # Update local settings |  | ||||||
|         self.company_name = company_name |         self.company_name = company_name | ||||||
|         self.company_address = company_address |         self.company_address = company_address | ||||||
|         self.client_name = client_name |         self.client_name = client_name | ||||||
|  | @ -254,7 +244,6 @@ class MainWindow(ctk.CTk): | ||||||
| 
 | 
 | ||||||
|     def export_to_pdf(self): |     def export_to_pdf(self): | ||||||
|         try: |         try: | ||||||
|             # Load settings and increment invoice number |  | ||||||
|             settings = self.db.load_settings() |             settings = self.db.load_settings() | ||||||
|             if settings: |             if settings: | ||||||
|                 self.company_name = settings["company_name"] |                 self.company_name = settings["company_name"] | ||||||
|  | @ -271,9 +260,9 @@ class MainWindow(ctk.CTk): | ||||||
|             self.pdf_exporter.hourly_rate = self.hourly_rate |             self.pdf_exporter.hourly_rate = self.hourly_rate | ||||||
|             self.pdf_exporter.invoice_number = self.invoice_number |             self.pdf_exporter.invoice_number = self.invoice_number | ||||||
| 
 | 
 | ||||||
|             self.pdf_exporter.export_to_pdf(self.log_entries) |             filename = f"invoice_{self.invoice_number}.pdf" | ||||||
|  |             self.pdf_exporter.export_to_pdf(self.log_entries, filename) | ||||||
| 
 | 
 | ||||||
|             # Increment and save the invoice number |  | ||||||
|             self.invoice_number += 1 |             self.invoice_number += 1 | ||||||
|             self.db.save_invoice_number(self.invoice_number) |             self.db.save_invoice_number(self.invoice_number) | ||||||
|             self.db.conn.commit() |             self.db.conn.commit() | ||||||
|  | @ -290,6 +279,6 @@ class MainWindow(ctk.CTk): | ||||||
|         self.total_time_label.configure(text=f"Total Time: {time_str}") |         self.total_time_label.configure(text=f"Total Time: {time_str}") | ||||||
| 
 | 
 | ||||||
|     def exit_app(self): |     def exit_app(self): | ||||||
|         self.destroy()  # Correctly destroy the main window and all children |         self.destroy() | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Blake Ridgway
						Blake Ridgway