diff --git a/src/plugins/drawreport/Calendar.py b/src/plugins/drawreport/Calendar.py index 1dd7d9a76..9c4d2a3a0 100644 --- a/src/plugins/drawreport/Calendar.py +++ b/src/plugins/drawreport/Calendar.py @@ -113,7 +113,9 @@ class Calendar(Report): name = gen.lib.Name(married_name) else: name = gen.lib.Name(primary_name) - name.set_surname(maiden_name) + surname = gen.lib.Surname() + surname.set_surname(maiden_name) + name.set_surname_list([surname]) else: name = gen.lib.Name(primary_name) name.set_display_as(self.name_format) @@ -128,11 +130,11 @@ class Calendar(Report): ### The rest of these all have to deal with calendar specific things - def add_day_item(self, text, month, day): + def add_day_item(self, text, month, day, format="CAL-Text"): """ Add an item to a day. """ month_dict = self.calendar.get(month, {}) day_list = month_dict.get(day, []) - day_list.append(text) + day_list.append((format, text)) month_dict[day] = day_list self.calendar[month] = month_dict @@ -145,7 +147,7 @@ class Calendar(Report): for day in range(1, 32): holiday_names = holiday_table.get_holidays(month, day) for holiday_name in holiday_names: - self.add_day_item(holiday_name, month, day) + self.add_day_item(holiday_name, month, day, "CAL-Holiday") def write_report(self): """ The short method that runs through each month and creates a page. """ @@ -222,8 +224,9 @@ class Calendar(Report): day_col * cell_width + cell_width/2, header + week_row * cell_height) list = self.calendar.get(month, {}).get(thisday.day, []) + list.sort() # to get CAL-Holiday on bottom position = 0.0 - for p in list: + for (format, p) in list: lines = p.count("\n") + 1 # lines in the text position += (lines * spacing) current = 0 @@ -234,7 +237,7 @@ class Calendar(Report): continue font = ptext.get_font() line = string_trim(font, line, cm2pt(cell_width + 0.2)) - self.doc.draw_text("CAL-Text", line, + self.doc.draw_text(format, line, day_col * cell_width + 0.1, header + (week_row + 1) * cell_height - position + (current * spacing) - 0.1) current += 1 @@ -528,6 +531,9 @@ class CalendarOptions(MenuReportOptions): bold=1) self.make_my_style(default_style, "CAL-Text", _('Daily text display'), 9) + self.make_my_style(default_style, "CAL-Holiday", + _('Holiday text display'), 9, + bold=1, italic=1) self.make_my_style(default_style, "CAL-Daynames", _('Days of the week text'), 12, italic=1, bold=1, diff --git a/src/plugins/lib/holidays.xml.in b/src/plugins/lib/holidays.xml.in index 8d6f3af46..4b8e03192 100644 --- a/src/plugins/lib/holidays.xml.in +++ b/src/plugins/lib/holidays.xml.in @@ -16,6 +16,7 @@ + @@ -32,7 +33,6 @@ -