summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--calendar_gui.py26
-rw-r--r--date_calculator.py4
2 files changed, 18 insertions, 12 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))
diff --git a/date_calculator.py b/date_calculator.py
index df13721..1920d30 100644
--- a/date_calculator.py
+++ b/date_calculator.py
@@ -11,9 +11,7 @@ class DateCalculator:
# print(start)
# print(launch)
truncated_start = max(start, launch)
- truncated_end = min(end, prediction)
- if truncated_start <= end and truncated_start <= prediction:
- considered_periods.append((truncated_start, truncated_end, id))
+ considered_periods.append((truncated_start, end, id))
return considered_periods
@staticmethod