From 315bdeffd7b8c7c1a1792cb91d25ff0ac17fecda Mon Sep 17 00:00:00 2001 From: matin Date: Fri, 12 Sep 2025 17:42:41 +0200 Subject: korrekte Anzeige des angr. Zeitraums --- calendar_gui.py | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) (limited to 'calendar_gui.py') diff --git a/calendar_gui.py b/calendar_gui.py index f5e015b..932d97e 100644 --- a/calendar_gui.py +++ b/calendar_gui.py @@ -10,6 +10,7 @@ from dateutil.relativedelta import relativedelta from calendar_manager import CalendarManager from date_calculator import DateCalculator from prediction_controller import PredictionController +import math DATEFORMAT = "dd.MM.yyyy" @@ -277,7 +278,7 @@ class CalendarManagerGUI(QMainWindow): self.events_table = QTableWidget() self.events_table.setFont(self.app_font) self.events_table.setColumnCount(7) # ID (hidden), Start, End, Keyword, RelevantTime, Commentary, Actions - self.events_table.setHorizontalHeaderLabels(["ID", "Anfangsdatum", "Enddatum", "Art", "Angerechneter Zeitraum", "Kommentar", "Aktionen"]) + self.events_table.setHorizontalHeaderLabels(["ID", "Anfangsdatum", "Enddatum", "Art", "Anger. Zeit", "Kommentar", "Aktionen"]) self.events_table.horizontalHeader().setSectionResizeMode(QHeaderView.Stretch) self.events_table.horizontalHeader().setFont(self.app_font) self.events_table.setColumnHidden(0, True) # Hide ID column @@ -380,20 +381,17 @@ class CalendarManagerGUI(QMainWindow): start_dt = entry.corrected_start_date end_dt = entry.corrected_end_date if end_dt < start_dt: - start_dt, end_dt = end_dt, start_dt + continue delta_days = (end_dt.date() - start_dt.date()).days + 1 # Determine if less than 3 months using relativedelta rd = relativedelta(end_dt.date(), start_dt.date()) - total_months = rd.years * 12 + rd.months - if total_months < 3: + total_months = rd.years * 12 + rd.months + 1 + if entry.keyword == "Sonstige": relevant_text = f"{delta_days} Tage" else: - # Months and remaining days - # Compute month/day split precisely - month_start = start_dt.date() - month_split = month_start + relativedelta(months=+total_months) - remaining_days = (end_dt.date() - month_split).days + 1 if end_dt.date() >= month_split else delta_days - relevant_text = f"{total_months} Monate, {max(0, remaining_days)} Tage" + if entry.keyword == "EZ 50%": + total_months = math.ceil(total_months / 2) + relevant_text = f"{total_months} Monate" self.events_table.setItem(i, 4, QTableWidgetItem(relevant_text)) # Commentary -- cgit v1.1