diff options
Diffstat (limited to 'calendar_gui.py')
| -rw-r--r-- | calendar_gui.py | 26 |
1 files changed, 17 insertions, 9 deletions
diff --git a/calendar_gui.py b/calendar_gui.py index 7aeb159..67ddaa2 100644 --- a/calendar_gui.py +++ b/calendar_gui.py @@ -11,12 +11,15 @@ from calendar_manager import CalendarManager from date_calculator import DateCalculator from prediction_controller import PredictionController +DATEFORMAT = "dd.MM.yyyy" + class EventDialog(QDialog): - def __init__(self, keyword_list, entry=None, parent=None): + def __init__(self, keyword_list, entry=None, parent=None, dateformat: str = DATEFORMAT): super().__init__(parent) self.keyword_list = keyword_list self.entry = entry + self.dateformat = dateformat # Set title based on mode self.setWindowTitle("Neuer Eintrag" if not entry else "Eintrag editieren") @@ -33,6 +36,7 @@ class EventDialog(QDialog): self.start_date = QDateEdit() self.start_date.setCalendarPopup(True) self.start_date.setFont(font) + self.start_date.setDisplayFormat(self.dateformat) # Set initial date based on mode if self.entry: @@ -53,6 +57,7 @@ class EventDialog(QDialog): self.end_date = QDateEdit() self.end_date.setCalendarPopup(True) self.end_date.setFont(font) + self.end_date.setDisplayFormat(self.dateformat) # Set initial date based on mode if self.entry: @@ -151,6 +156,7 @@ class CalendarManagerGUI(QMainWindow): # Get system locale for consistent date formatting self.locale = QLocale.system() + self.dateformat = DATEFORMAT # Initialize backend components self.keyword_list = ["EZ 100%", "EZ 50%", "EZ pauschal", "Sonstige"] @@ -211,6 +217,7 @@ class CalendarManagerGUI(QMainWindow): self.launch_date_edit.setFont(self.app_font) self.launch_date_edit.setCalendarPopup(True) # Enable calendar popup self.launch_date_edit.setDate(QDate.currentDate()) + self.launch_date_edit.setDisplayFormat(self.dateformat) self.launch_date_edit.dateChanged.connect(self.update_prediction) # Auto-update on change launch_date_layout.addWidget(launch_date_label) launch_date_layout.addWidget(self.launch_date_edit) @@ -237,6 +244,7 @@ class CalendarManagerGUI(QMainWindow): self.prediction_result.setFont(self.app_font) self.prediction_result.setReadOnly(True) self.prediction_result.setButtonSymbols(QDateEdit.ButtonSymbols.NoButtons) + self.prediction_result.setDisplayFormat(self.dateformat) prediction_result_layout.addWidget(prediction_result_label) prediction_result_layout.addWidget(self.prediction_result) @@ -296,7 +304,7 @@ class CalendarManagerGUI(QMainWindow): print(f"Error calculating prediction: {str(e)}") def add_event(self): - dialog = EventDialog(self.keyword_list, parent=self) + dialog = EventDialog(self.keyword_list, parent=self, dateformat=self.dateformat) if dialog.exec_(): start_date, end_date, keyword = dialog.get_data() try: @@ -309,7 +317,7 @@ class CalendarManagerGUI(QMainWindow): def modify_event(self, event_id): entry = self.calendar_manager.get_entry_by_id(event_id) if entry: - dialog = EventDialog(self.keyword_list, entry=entry, parent=self) + dialog = EventDialog(self.keyword_list, entry=entry, parent=self, dateformat=self.dateformat) if dialog.exec_(): start_date, end_date, keyword = dialog.get_data() try: @@ -346,24 +354,24 @@ class CalendarManagerGUI(QMainWindow): # Set item data self.events_table.setItem(i, 0, QTableWidgetItem(entry.id)) - # Format dates using system locale for display + # Format dates using unified display format start_date_qdate = QDate(entry.start_date.year, entry.start_date.month, entry.start_date.day) end_date_qdate = QDate(entry.end_date.year, entry.end_date.month, entry.end_date.day) - start_date_text = self.locale.toString(start_date_qdate, QLocale.ShortFormat) - end_date_text = self.locale.toString(end_date_qdate, QLocale.ShortFormat) + start_date_text = start_date_qdate.toString(self.dateformat) + end_date_text = end_date_qdate.toString(self.dateformat) self.events_table.setItem(i, 1, QTableWidgetItem(start_date_text)) self.events_table.setItem(i, 2, QTableWidgetItem(end_date_text)) self.events_table.setItem(i, 3, QTableWidgetItem(entry.keyword)) - # Corrected dates with system locale formatting + # Corrected dates with unified display format if entry.corrected_start_date: corrected_start_qdate = QDate( entry.corrected_start_date.year, entry.corrected_start_date.month, entry.corrected_start_date.day ) - corrected_start_text = self.locale.toString(corrected_start_qdate, QLocale.ShortFormat) + corrected_start_text = corrected_start_qdate.toString(self.dateformat) else: corrected_start_text = "" @@ -373,7 +381,7 @@ class CalendarManagerGUI(QMainWindow): entry.corrected_end_date.month, entry.corrected_end_date.day ) - corrected_end_text = self.locale.toString(corrected_end_qdate, QLocale.ShortFormat) + corrected_end_text = corrected_end_qdate.toString(self.dateformat) else: corrected_end_text = "" self.events_table.setItem(i, 4, QTableWidgetItem(corrected_start_text)) |
